OSPF

您所在的位置:网站首页 邻居发现协议五种报文及功能 OSPF

OSPF

2024-07-06 06:28| 来源: 网络整理| 查看: 265

在理解OSPF各种报文之前,需先清楚OSPF协议,通过下面图例帮助理解(口诀:5种报文、3个阶段、3张表)

OSPF协商过程1OSPF协商过程1

(Notice:OSPF报文头部24字节)

1、3个阶段

邻居发现阶段:     直连路由器形成邻居关系,在broadcast和NBMA中还要选举DR/BDR

11

路由发现阶段:       同一个区域内所有路由器LSDB同步

22

路由选择阶段:     LSDB同步后,进行路由计算,最佳路由信息进路由表。

33

2、3张表

邻居表(neighbor table):       OSPF用邻居机制来发现和维持路由的存在,邻居表存储了双向通信的OSPF路由器列表。

44

拓扑表  LSDB:       OSPF用LSA(link state Advertisement 链路状态通告)来描述网络拓扑信息, LSA存储在LSDB中。

55

全局路由表       路由器的全局路由表,用于数据包转发;OSPF把计算出来的路由,安装到全局路由表。

66

3、5种报文(Notice:每种报文都包括24字节的OSPF报文头部)

(1)Hello:建立和维护OSPF邻居关系。

8899

OSPF报文头部分解介绍:

Version(8bit):OSPF报文的版本,最新版本是版本2

Message Type(8bit):报文的类型;1是Hello,2是DBD,3是LSR,4是LSU,5是LSAck

Packet Length(16bit):整个OSPF报文的长度(24字节头部+各类报文的长度)

Source OSPF Router(32bit):路由器的RID

Area ID(32bit):区域ID

Packet Checksum(16bit):整个报文的校验

Auth Type(16bit):认证类型;0表示没有认证,1表示简单的口令认证,2表示MD5认证

Auth Data(64bit):认证字段

Hello报文分解介绍:

Network Mask(32bit):网络掩码;如果这个掩码与接收该报文接口的掩码不一致,那么该报文将被丢弃,无法建立邻居关系

Hello Interval(16bit):发送Hello报文的间隔时间,默认为10s,广播或NMBA默认为30s,如果与接收该报文接口的Hello Interval时间不一致,同样无法建立邻居关系

Options(8bit):可选项;DC位表示是否具有支持按需电路上的OSPF能力,1支持,0不支持;NP位表示对NSSA的支持,1为NSSA区域,0为普通区域;MC位表示对IP组播的支持,E位表示对外部路由的支持能力,1支持,0不支持(Stub区域为0)

Router Priority(8bit):路由器优先级;用作DR与BDR的选举,默认为1,当为0时,说明不具备选举能力

Router Dead Interval(32bit):宣告邻居无效之前需要等待的时间,通常为4倍的Hello Interval,默认为40s,广播或NMBA默认为120s,如果双方不一致,无法建立邻居关系

Designated Router(32bit):网络中指定路由器的接口的IP地址(Notice:并不是指定路由器的RID,而且并不一定是最后选举出来的DR,如果不存在,则被置为0.0.0.0)

Backup Designated Router(32bit):网络中备用指定路由器的接口的IP地址,(Notice:并不是备用指定路由器的RID,而且并不一定是最后选举出来的BDR,如果不存在,则被置为0.0.0.0)

Active Neighbor:有效的邻居列表

(2)DBD:链路状态数据库描述信息(描述LSDB中LSA头部列表),OSPF邻居第一次建立时才交换DBD,LSR。

11

(Notice:选举Master/Slave的报文不包含LSA头部)

77

DBD报文分解介绍:

MTU(16bit):在不分段的情况下,始发接口可接收的最大IP包大小。当报文在虚链路上传递时,这个字段是0x0000

Options(8bit):可选项。在Hello报文中已做过介绍

DB Description(8bit):前5位总是被置0,I位为1时,表示是第一个报文,为0时,表示不是第一个报文;M位为1时,表示不是最后一个报文,为0时表示是最后一个报文;MS 为1时,表示为主路由器,为0时表示为从路由器。口诀:初始情况下,器由器发送的是I、M、MS都为1的报文,表示这是第一个报文,不是最后一报文,且认为自己是主路由器。

DD Sequence(32bit):DD报文序列号,由主路由器进行确定,后续报文依次增加。

(LSA头部在以后文章中介绍)

(3)LSR:链路状态请求。向OSPF邻居请求特定的LSA。

3311

(Notice:Link-State Advertisement Type、Link-State ID、Advertising Router三个参数唯一确定的是一个LSA,而不是唯一确定一条路由。request报文请求的是LSA,并不是某条特定的路由,比如LSA-1,我们会发现,对于在路由器上network通告的路由,对端路由器只会发送一个request请求报文,来请求对端network所有通告的路由。)

Link-State Advertisement Type(32bit):链路状态类型号,主要有LSA-1(路由链路通告),LSA-2(网络链路通告),LSA-3(ABR汇总链路通告),LSA-4(ASBR汇总链路通告),LSA-5(自治系统扩展路由通告),LSA-7(非完全端区NSSA扩展)

Link-State ID(32bit):链路状态ID,每种类型的LSA定义各不相同

Advertising Router(32bit):始发LSA通行路由器的RID

22

(4)LSU:链路状态更新(包含一条或多条LSA)。

4466

Number Of LSAs:LSA的数量,一个更新报文可以携带多个LSA

(Notice:下面就是具体的LSA,将在以后的文章中介绍)

(5)LSAck:对LSU中的LSA进行确认。

5588


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3