OSPF报文格式
OSPF报文可靠性机制:
- 由于OSPF协议时通过IP承载的,而IP协议时不可靠协议,所以OSPF需要自己的可靠机制来保证报文交互的可靠性
- 在OSPF中有两种确认报文:1,显式确认报文(LSack)2,隐式确认报文(Hello/DBD/LSU)
OSPF 报文头部:
报文格式重要字段 | 长度(字节) | 作用 |
---|---|---|
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 | 区域id |
checksum | 16 | 除认证字段的校验和 |
autype | 16 | 认证字段:0为不认证,1为简单明文,2为MD5 |
authentication | 64 | 验证信息:0没有,1为明文密码,2为key id |
Hello报文:
报文格式重要字段 | 长度(字节) | 作用 |
---|---|---|
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报文:
报文格式重要字段 | 长度(字节) | 作用 |
---|---|---|
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的新旧:
- LS Sequence Number
- 序列号越大代表越新,
- LS checksum
- 序列号相同,校验值越大代表越新
- LS Age
- 校验值相同,比较age,如果老化时间为3600,则选择该LSA,如果老化时间相差15min以内,说明相同,可以任意选择,如果老化时间大约15min,则选择老化时间小的。
- LS Sequence Number
不同类型LSA中Link State id字段的作用:
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位:
- V(Virtual link): 置1标识本地配置了vlink,为0标识不存在。
- E(ASBR):置1标识本地是ASBR,为0不是ASBR。
- B(ABR):置1标识本地是ABR,为0不是ABR。