BGP协议基础

OSPF报文格式

OSPF报文可靠性机制:

  • 由于OSPF协议是通过IP承载的,而IP协议是不可靠协议,所以OSPF需要自己的可靠机制来保证报文交互的可靠性
  • 在OSPF中有两种确认报文:1,显式确认报文(LSack)2,隐式确认报文(DBD)

OSPF 报文头部:

img

报文格式重要字段 长度(字节) 描述
Version 8 版本
Type 8 OSPF报文类型:1为Hello,2为DD,3为LSR,4为LSU,5为LSACK
Packet length 16 OSPF报文总长度
Router-id 32 发送该报文的R-ID
Area-id 32 发送该报文的Area-ID
Checksum 16 除认证字段的校验和
Autype 16 认证类型:0为不认证,1为简单明文,2为MD5
Authentication 64 验证信息:0没有,1为明文密码,2为key id

Hello报文:

img

报文格式重要字段 长度(字节) 作用
network 32 发送hello报文的接口所在的子网掩码
Hellointerval 16 hello时间
Options 8 标识发送此报文的OSPF路由器所支持的可选功能。
Rtr Pri 8 DR优先级
RouterDeadlnterval 32 dead时间
Designated Router 32 DR接口ip地址
Backup Designated Router 32 BDR的接口ip地址
Neighbor 32 所有邻居的R-ID
  • 通过查看Hello报文option字段中E的置位,判断该区域是否支持外部LSA(LSA),可以判断该区域是否为stub区域。

OPTIONS字段:

这里写图片描述

Option可选字段出现在每一个Hello数据包、DD和每个LSA中的。

Option字段允许路由器和其他路由器进行一些可选性能的通信。

DD报文:

img

报文格式重要字段 长度(字节) 作用
Interface MTU 16 不分片的情况下,此接口最大可发出的ip报文长度
Options 16 标识发送此报文的OSPF路由器所支持的可选功能。
I 位 1 当置位为1时,表明这是第一个DD报文,否则不置位
M 位 1 置位为1的时候表明DD报文中还有LSA头要传递,否则不置位
M/S 位 1 置位为1表示自己为master,否则不置位
DD Sequence Number 32 序列号,主从双方利用序列号来保证报文传输的可靠性和完整性
LSA headers - 本LSDB的LSA头

LSA 格式:

这里写图片描述

报文格式重要字段 长度(比特) 作用
LS Age 16 LSA的生存时间
Options 16 标识发送此报文的OSPF路由器所支持的可选功能。
LS type 8 LSA类型
Link state ID 32 链路状态ID,每一个LSA都有不同的描述
Advertising router 32 产生该LSA的R-ID
LS Sequence Number 32 LSA序列号,越大代表该LSA越新,每产生一条,seq+1
LS checksum 16 用于校验LSA的内容及用来确定该LSA是否最新。
Lenght 16 LSA的总长度
  • 路由器如何识别两个LSA是同一个:
    • LSA类型
    • link start id
    • Advertising router
    • 以上参数唯一标识一条LSA.
  • 路由器怎么判断LSA的新旧:
    1. LS Sequence Number
      • 序列号越大代表越新,
    2. LS checksum
      • 序列号相同,校验值越大代表越新
    3. LS Age
      • 校验值相同,比较age,如果老化时间为3600,则选择该LSA,(老化时间为3600s,是为了删除该LSA
      • 如果老化时间大约15min,则选择老化时间小的。
      • 如果老化时间相差15min以内,说明该LSA相同,则选择老化时间大的。
LSA类型 Link State id 的作用
Router-LSA 生成这条LSA路由器的R-ID
Network-LSA 所描述网络上DR接口的IP地址
Network-summary-LSA 所描述的目的网段信息
ABR Network-summary-LSA 所描述ASBR路由器的R-ID
AS-External LSA 所描述的AS外部网段信息

Router-LSA中有三个flag位:

  1. V(Virtual link): 置1标识本地配置了vlink,为0标识不存在。
  2. E(ASBR):置1标识本地是ASBR,为0不是ASBR。
  3. B(ABR):置1标识本地是ABR,为0不是ABR。
posted @ 2020-07-05 22:50  皓先生  阅读(426)  评论(0编辑  收藏  举报