1. OSPF的背景
由于RIP在大型网络中收敛速度慢,度量值不科学,可扩展性差等问题。提出了OPSF协议来弥补RIP协议的诸多不足
1.1. RIP协议的特性
1.2. 如何解决
2. OSPF工作过程
2.1. 邻居的建立
2.2. 同步链路状态数据库
2.3. 使用SPF算法计算最优路由
3. OSPF工作原理
3.1. Router ID
3.1.1. Router ID概念
用于唯一标识一台OSPF路由器,格式和IPv4地址格式一样
3.1.2. Router ID的选举规则
1. 选择手工配置的Router ID
2. 没有手工配置Router ID,选择Loopback接口中最大的IP地址
3. 没有配置Loopback接口,选择链路接口中最大的IP地址
(Router ID的选举不能被抢占)
3.2. 邻居的发现和建立(Hello报文)
3.2.1. Hello报文的作用
发现邻居:自动发现邻居的路由器
邻居建立:通过Hello报文进行参数的协商,建立邻居关系
邻居保持:通过Keeplive机制,检测邻居运行状态
3.2.2. 邻居建立的过程
1. 路由器启动OSPF后都会发送hello报文进行邻居的查找。此时Hello报文中Router ID为自己的,neighbor为空,此时双方邻居状态都为Down
2. 当RB收到一个Hello包,有对方的Router ID且neighbor为空,此时就会将自己的邻居状态变为Init。同时回送一个Hello包,Router ID为自己(2.2.2.2),neighbor为对方的Router ID(1.1.1.1)
同理R1也是一样
3. 此时R1收到R2发来的Hello报文(带有Router ID和neighbor)就会将自己的邻居变为2-Way
4. 当双方的邻居状态都为2-Way时,邻居关系建立完成了
Hello包的发送使用组播地址(244.0.0.5)
224.0.0.5 代表所有OSPF路由器
224.0.0.6 代表OPSF的DR\BDR
3.3. 报文的类型及作用
3.3.1. OPSF协议的报文头部
3.3.2. OSPF报文类型
3.3.3. OPSF报文的功能需求
3.4. LSDB同步过程
1. 邻居在ExStart状态时,通过DD报文进行主从选举(不含链路状态的信息)
此时报文包含了Seq、Init、More、Master
Init:表示初始报文
More:后续还有其他报文
Master:表示自己为主路由器(开始都认为自己是主路由器)
第一次发送时Init、More、Master全部置位,双方比较Router ID,Router ID大的为主路由器,此后在LAS的交互中,使用R2的序号
2. 在完成主从协商之后,就可以开始数据库的交互了,此时双方为Exchange状态
此时由从路由器发送DD报文(携带LSA信息),使用主路由器的Seq,并将自己的Master置为0,Init此时也置0。(More=0代表DD报文发送完毕)
3. 完成数据库的交互之后,OPSF路由器会对自己没有的LSA发出请求
通过LSR(请求报文),路由器会请求自己需要的LSA的具体信息
4. 收到LSR的路由器会发送对方需要的LSA
通过LSU(更新报文),路由器会发送对方需要的LSA的具体信息
在第三、四步的时候,邻居状态为Loading
5. 双方完成LSA的更新后,此时变为邻接关系,状态Full
OSPF邻居状态机
3.5. 链路状态信息(LSA)
3.5.1. 链路状态信息的内容(LSA)
链路的类型
P2P网络:仅两台路由器互联;支持广播、组播
广播型网络:两台或两天以上的路由器通过共享介质相连;支持广播组播
NBMA网络:两台或两台以上的路由器通过VC相连(帧中继);不支持广播、组播(需要手动指定邻居)
P2MP网络:多个P2P的集合;支持广播、组播
接口IP地址及掩码
链路上所连接的邻居路由器
链路的开销
OPSF接口开销的计算:Cost=参考带宽值/实际带宽
更改OSPF开销的方式
1. 直接在接口下配置
2. 修改参考带宽(所有路由器都需要修改,以确保选路一致性)
OPSF总开销的计算
3.5.2. 链路状态信息(LSA)头部
LS age:表示LSA的存活时间,越大越旧,越小越新
LS type:LSA的种类
Link State ID:LSA描述的内容(LSA的种类和不同,Link State ID的取值和含义也不同)
Advertisting Router:LSA是由谁产生的
LS Sequnece number:也表示LSA的新旧,越大越新,越小越旧
LS checksum:也代表LSA的新旧,越大越新
Length:长度
比较LSA新旧的时候,先LS Sequnece number、LS checksum、LS age依次比较,如果都比较不出来表示为同一个LSA
3.6. DR和BDR的选举及作用
3.6.1. MA网络中的问题
在这种网络中,会有n×(n-1)/2个邻接关系,管理复杂
重复的LSA泛洪,造成资源的浪费
3.6.2. DR和BDR的作用
减少邻接关系
降低OSPF协议流量
BDR是DR的备份
3.6.3. DR和BDR选举
选举规则:DR和BDR的选举是基于端口的
接口的DR优先级越大越优先
接口的DR优先级相同时,Router ID越大越优先
(DR/BDR的选举不能被抢占)
3.6.4. 邻居和邻接关系