OSPF协议是常见、最重要的协议之一,必须充分的理解掌握,本文是对前文的总结和补充,后文也会继续描述OSPF协议。本次没有配置案例,下期补充。
一、OSPF的三张表
1. 邻居表:记录邻居状态和关系;
2. 拓扑表:链路状态数据库;
3. 路由表:记录由SPF算法计算的路由。
二、OSPF路由器类型
1. 区域内路由器(IR):所有接口都在同一区域;
2. 骨干路由器(BR):有接口在骨干区域;
3. 区域边界路由器(ABR):连接骨干区域和非骨干区域;
4. 自治系统边界路由器(ASBR):连接外部自治系统,并引入外部路由
路由器类型示图:
三、OSPF网络类型
1. 定义
对于不同的二层链路类型的网段,OSPF会生成不同的网络类型;不同的网络类型,DR/BDR选举,LSA细节,协议报文发送形式等会有所不同。
2. 类型
2.1 Broadcast
广播网络,以太网默认的网络类型;
组播发送协议报文:224.0.0.5 所有运行OSPF的接口会监听,224.0.0.6 所有DR/BDR的接口会监听;
需要选举DR/BDR;
hello-time 10秒,dead-time 40秒
2.2 NBMA
非广播多点可达,帧中继默认的网络类型;
单播发送协议报文,需要手动指定邻居;
需要选举DR/BDR;
hello-time 30秒,dead-time 120秒
2.3 P2MP
点到多点网络,由其他网络类型手动更改;
模拟组播发送协议报文,可以自动发现邻居;
不选举DR/BDR;
hello-time 30秒,dead-time 120秒
2.4 P2P
点到点网络,PPP默认的网络类型;
组播发送协议报文;
不选举DR/BDR;
hello-time 10秒,dead-time 40秒
说明:可以通过将默认网络类型改成P2P,加快ospf收敛速度
查看ospf网络类型命令:dis ospf interface g 0/1
修改ospf网络类型命令:ospf network-type ?
四、OSPF邻接建立过程
1. Down:关闭状态(稳定状态)
2. Init:单方发现状态,收到了对方的hello报文,但没有收到对方的hello确认报文
3. Attempt:只会出现NBMA网络中(已淘汰,不需要考虑),发出了Hellow包,但未收到对方的Hellow包
4. 2-way:邻居状态(稳定状态),邻居双方互相发现,并确认了DR/BDR角色,当选举完毕,就算出现一台更高优先级的路由器,也不会替换成为新的DR/BDR,需要原DR/BDR失效,或者重置OSPF进程才会成为新的DR/BDR
2-way的前提:
说明:非常重要
(1)Router-id无冲突:修改Router-id需要重置OSPF进程使生效
(2)掩码长度一致;
(3)区域id一致;
(4)验证密码一致;
(5)hello-time一致;
(6)dead-time一致;
5. Exstart:交换开始状态,发送第一个DD报文,不传送LSDB摘要,仅用于确定LSA传递的主从;DD报文置位符:I Init位,置位则表示此报文是第一个DD报文 M more位,置位则表示还有后续DD报文 MS master位,置位则表示本端为主
6. Exchange:交换状态,发送后续DD报文,用于通告LSDB摘要
7. Loading:读取状态,进行LSA的请求、加入和确认
8. Full:邻接状态(稳定状态),两端LSDB同步
Full的前提
说明:非常重要
(1)两端网络类型一致,否则邻居状态FULL,但无法学习路由
(2)两端MTU一致,否则邻居状态卡在Exstart、Exchange
五、LSDB更新
更新流程
1. 收到LSA更新,在本地LSDB中查询此LSA,未查到则加入LSDB
2. 查到此LSA,则把收到的LSA和本地LSA进行序列号对比
3. 如本地LSA序列号大,则丢弃更新,否则加入LSDB
说明:LSA越大,说明越新
广播网络中的更新
只由DR发起更新
六、OSPF开销计算
参考带宽
计算开销的基准带宽值,默认参考带宽是100M
建议把网络中最高的链路带宽设置为参考带宽
计算方法
链路带宽大于等于参考带宽 cost=1
链路带宽小于参考带宽 cost=参考带宽/链路带宽(Mb)
说明:余数取整加1(cost值都是整数)
七、常用命令
(1)[h3c]router id 'router-id'
配置全局Router-id,对所有协议生效,协议内指定Router-id的优先级更高
(2)[h3c]display ospf interface
查看OSPF接口信息,网络类型通过此命令查看
(3)[h3c]display ospf routing
查看OSPF路由信息,可以查看路由所属区域和发布者
(4)[h3c]display ospf statistics error
查看OSPF报错信息
说明:ospf排除神器
(5)[h3c]display ospf lsdb
查看本地LSDB汇总信息
(6)[h3c-GigabitEthernet0/0]ospf network-type 'broadcast/nmba/p2mp/p2p'
配置接口网络类型
(7)[h3c-GigabitEthernet0/0]ospf timer hello 'seconds'
配置接口HELLO时间
(8)[h3c-GigabitEthernet0/0]ospf timer dead 'seconds'
配置接口DEAD时间
(9)[h3c-ospf-1]Bandwidth-reference 'value'
配置参考带宽
(10)[h3c-ospf-1]default-route-advertise
将已经存在的默认路由引入到OSPF
(11)[h3c-ospf-1]default-route-advertise always
自动产生一条默认路由LSA下发到OSPF