总体介绍
OSPF(Open Shortest Path First)是一种流行的路由协议,在大型企业网络以及互联网上广泛应用。它是一个链路状态路由协议,使用Dijkstra算法计算最短路径。OSPF还具有其他的优秀特点,如快速收敛、按需路由、多路径选择等。在OSPF中,协议报文是OSPF路由器之间交换信息的手段。本文将介绍OSPF协议报文的类型和作用。
OSPF协议报文类型
1. Hello报文
hello报文是OSPF最简单的报文类型。它的作用是寻找相邻路由器,以便建立邻居关系。Hello报文包含了发送者的OSPF路由器ID、所在的区域、已经选定的DR和BDR(如果这个路由器不是DR或BDR,则将值设置为0.0.0.0)。Hello报文还包含发送者的优先级和Hello计时器的间隔。
2. DD(Database Description)报文
DD报文中包含了两个OSPF路由器之间的LSDB信息。在LSDB中,记录了被分配到该区域的所有路由表项以及这些路由表项相关的链路参数。DD报文是用来协调各方的LSDB内容。当一个OSPF路由器向另一个OSPF路由器发送DD报文时,DD报文中包含两个重要字段:LSA头部和LSA召回列表。LSA头描述了LSA的主体部分,召回列表列出了连接LSA的路由器ID列表。为了确定两个OSPF路由器的LSDB内容是否相同,DD报文还设置了一个序列号字段。
3. LS(Link State)请求报文
一旦两个OSPF路由器在DD过程中确定了他们管理的LSDB内容的内容是否相同,接下来就是逐个交换LSDB条目的过程。LS请求报文是在这个过程中的第一个环节。LS请求报文中包含两个重要字段:LSA头和匹配字段。LSA头部与DD报文中的相同。匹配字段包含了网络号,以及网络号对应的LS类型,并请求接收方发送带有这些网络号的完整LS信息。
4. LS(Link State)更新报文
在LS请求报文的基础上,接收方按要求提供了完整的LS信息后,发送LS更新报文。LS更新报文中包含了LSDB主体信息(以LSA的形式)。每个LSA包含了发现、计算或删除最短路径所需的链路状态信息。
5. LS(Link State)ACK报文
LS ACK报文是一个用来确认接收LS报文成功的确认报文。当一台OSPF路由器接收了LS更新报文之后,将对其进行解析并将所有LS信息包含于其本地的LSDB中。为了向发送方证明它收到并已处理LS报文,接收方必须发送LS ACK报文。ACK报文中包含了发送方所发送的每个LSA的LSA头字段。
OSPF协议报文的作用
在OSPF协议中,协议报文是多个OSPF路由器之间传播路由和链路状态信息的方式,也是路由器了解网络拓扑信息的关键途径。
1. 建立和维护邻居关系
OSPF路由器通过交换Hello报文建立邻居关系。当一个路由器收到一个Hello报文时,它将检查报文中是否包含DR和BDR的ID,如果没有,那么就会放弃与该路由器建立邻居关系。另外,OSPF还通过Hello计时器来监控邻居关系的状态,以确保及时发现邻居故障。
2. 传播路由状态信息
在OSPF协议中,链路状态就是路由器与网络之间的关系。LSDB记录着发现它们的各种链路状态。当一个LS以某些方式更改时,它将会触发LS更新报文的传输-从而使网络中的其他OSPF路由器了解到链路状态发生了变化。
3. 保证网络的可恢复性
OSPF协议提供了快速收敛的能力。一旦网络中某个部分发生故障,邻居关系会迅速失效,并通过重新计算最短路径较快地修复本地路由表的内容。OSPF协议还使用DR/BDR选举来减少LSA的传输,从而保证网络的可恢复性。
扫码咨询 领取资料