一、为什么会有OSPF协议?
① OSPF是什么?
② 相比手动配置静态路由,动态路由协议优势
③ 传统的动态路由协议
④ 提高网络的可靠性和性能
二、OSPF的单区域简述
2.1 OSPF的原理
2.2 OSPF的特点
2.3 OSPF的区域
2.4 OSPF的路由状态
2.5 DR、BDR和DRother
2.5.1 Router- id
2.5.2 DR、BDR的选举规则
2.5.3 注意
2.6 OSPF的三张表
2.7 OSPF的五种数据包类型
2.8 OSPF的七种状态
三、配置
3.1 实验拓扑
3.2 路由器配置
3.2.1查看邻居表
3.2.2 查看拓扑表
3.2.3 查看路由表
3.3 测试
一、为什么会有OSPF协议?
① OSPF是什么?
Open Shortest Path First开放式最短路径优先
通过拓扑图的LSA进行Dijkstra算法计算,选择最优路由
② 相比手动配置静态路由,动态路由协议优势
比如当网段较多时候,PCA要pingPCB,需要经过五台路由器,一次就需要配十条以上的静态路由,而且还会弄混。
所以就推荐用动态路由协议,它是自动去学习每台路由器的不同信息,剩下了我们很多时间
③ 传统的动态路由协议
传统的动态路由协议有,如RIP(路由信息协议)和IGRP(内部网关路由协议)等,它们在大型网络中会出现路由环路、路由抖动、路由表过大等问题,从而影响网络的可靠性和性能。
④ 提高网络的可靠性和性能
OSPF协议通过链路状态路由协议的方式,能知道整个网络拓扑
相比较距离尺量协议(RIP),可以在网络中快速计算最短路径,并且支持多路径选择,从而提高网络的可靠性和性能
OSPF协议还支持分层设计和区域划分,可以帮助网络管理员更好地管理大型网络
二、OSPF的单区域简述
2.1 OSPF的原理
先发送Hello包,交换各自的Router-id,建立邻居关系
然后在确定主从,交换DBD包,建立邻接关系,开始交换LSA
把自己所有的LSA存在LSDB中,再进行Dijkstra算法计算,计算出一条最短路径。
2.2 OSPF的特点
可支持区域划分
基于IP协议号 : 89
具有快速收敛、路由更新
作为一种无类路由协议,可支持VLSM和IPv4、IPv6
组播地址 :①224.0.0.5 ②224.0.0.6(DR 和 BDR专属)
2.3 OSPF的区域
骨干区域(区域0):骨干区域只能有一个,必须与非骨干区域相连接,必须连续相连
非骨干区域(不是区域0):这个也必须与骨干区域相连接,就是连续区域的意思。那如果是不连续区域(可以用虚拟链路,或者管道进行连接),里面通常连接终端设备
2.4 OSPF的路由状态
DR(Designated Router)指定路由器,OSPF协议启动时进行的开始选举
BDR(Backup Designated Router)备份指定路由器,也是在OSPF协议启动时进行的开始选举
DRother :除去DR和BDR的设备
IR:所有接口都在同一个区域内
BR:有一个接口在区域0内
ABR:区域边界路由器,连接骨干和非骨干的路由器
ASBR :自治系统区域边界路由器,连接OSPF区域和非OSPF区域的路由器
2.5 DR、BDR和DRother
DR和BDR负责维护OSPF数据库
并向网络上的其他路由器(DRother)分发路由信息
DR和BDR的选举规则:先比较优先级,后比较Router - id
为什么要有DR和BDR呢?
DR和BDR只接收同网段的路由信息LSA
然后DRother就是不相互发送LSA,而是只接受DR和BDR发来的LSA信息
如果有5台路由器在同一个网段内
没有DR和BDR的话,每一台路由器至少要产生和接收8条LSA,一共就是40条,极大降低了网络的稳定性和性能
有了DR和BDR后,可以分担网络中所有路由器的任务,减轻每个路由器的工作压力。
每台DRother,只需要产生而接收3条LSA就OK了,极大的提高网络的稳定性、性能和可靠性,还可以简化网络管理
2.5.1 Router- id
Router-id :唯一标识一台路由器
选举规则
①手动选择
②选择最大loopback(环回口)地址
③如果没有loopback环回口,则选择最大的物理地址为Router-id
2.5.2 DR、BDR的选举规则
首先比较优先级,但默认都为1,优先级越大越好
当优先级为0,则失去选举资格,直接当DRother
若优先级默认一样,则再比较Router - id,越大越优
选举顺序是从BDR → DR,而不是直接DR
DR和BDR是非抢占机制,若要再次指定谁为DR,则需要重启OSPF进程
2.5.3 注意
在同一个网段内进行DR和BDR的选举
当确定好后DR, 而要再次选择谁是DR的话,则需要重新启动OSPF的进程
DR、BDR、DRother说的都是接口的概念,采用物理接口来标识路由的状态信息
在串行网络中,并不存在DR和BDR的选举,这个是存在于广播网络及NBMA
OSPF协议启动后,在40s内没有新设备接入就会开始选举,若想按照自己的想法来配置DR和BDR,建议可以先配置优先级
2.6 OSPF的三张表
邻居表
存放了与本地路由器直接相连的邻居路由器的信息
里面包括邻居路由器的ID、IP地址、接口类型等。
拓扑表
存放了整个网络的拓扑结构信息(LSA),包括所有路由器和链路的状态信息。
LSA里面包含路由器或网络中的链路状态信息,包括链路的ID、类型、状态、带宽、延迟、可靠性等信息。
路由表
OSPF中的路由表中存放了路由器计算出的最优路径信息及直连路由信息
包括目的网络的IP地址、下一跳路由器的IP地址、出接口、路径的度量值等信息。
路由表中的信息是根据拓扑表中的信息计算出来的,通过Dijkstra算法计算出最短路径,并且及时更新路由信息。
2.7 OSPF的五种数据包类型
Hello :用于邻居路由器之间发现和建立邻居关系的一种协议包
里面含有本地路由的路由ID、下一个Hello包的时间间隔、路由状态、网络类型等。
DBD(DD):用来建立主、从关系的一种关系包
里面存有LSA的摘要(就是不完整LSA信息)
LSR :向对方请求本地数据库所缺少的LSA完整信息
LSU :根据对方发给我的LSA完整信息,进行本地数据库的更新
LSACK :向对方回应我已经接受到你的LSA并且更新完毕
2.8 OSPF的七种状态
Down :刚开启OSPF协议,还没有收到Hello包的时候
Init :收到Hello包,但Hello报文里面没有活跃的邻居字段
2 - way :收到Hello包,该Hello报文里有活跃的邻居字段
进行DR和BDR的选举,以及建立邻居关系
Exstart :使用空DBD进行“主”、“从”关系的选举,RID大的为主
Exchange :交互DBD、LSR、LSU、LSACK
Loading :加载数据库,进行SPF算法
Full :完全邻接状态,在这个状态下是可以交换LSA的
为什么要在exstart状态下,选举“主,从”关系
在交换DD包时,需要保证双方的LSDB(Link State Database)是一致的
如果双方一起发各自的DD包,会导致数据出现冲突
所以,“主”是负责专门发送DD消息,而**“从”就是来接受并回复**