一、OSPF报文详解
1)OSPF报文头部
(1)OSPF报文采用IP头封装,IP头中对应的上层协议号为89
(2)关键字段包括:
- version(IPV4对应的为V2,IPV6对应的为V3)
- TYPE(五种OSPF报文类型)
- length(包含OSPF头部在内的总长度)
- Router ID(AS内的唯一标识,不只是域内唯一)
- AREA ID
- checksum(校验和)
- Auth type(认证模式三种:不认证;明文密码认证(simple);加密认证(MD5))
- Authentication(认证所需的信息)
(3)OSPF共有五类报文:hello、DD、LSU、LSR、LSAck
2)hello报文
(1)作用
- 邻居发现:通过hello报文可以发现邻居
- 邻居关系建立:根据报文内的信息,建立邻居关系,DR/BDR选举
- 邻居关系保持:周期发送hello报文,保持邻居关系
(2)PAYLOAD关键字段信息
- Network Mask:发送报文的端口的掩码
- hello interval:发送hello报文的周期,默认为10s
- Routerdeadinterval:hello报文失效时间(邻居失效时间),默认为40s
- DR/BDR信息:包括DR/BDR的接口地址,设备上线时,该两个字段为空
- router priority:进行DR/BDR选举时的优先级,默认为1,为0时不参与选举
- Neighbor:邻居的router ID
- options:
E(是否支持外部路由)
MC(是否支持组播转发)
N/P(是否为NAAS区域)
(3)工作机制
- 没有建立邻居关系前,第一个发送的hello报文,neighbor字段为空
- 收到hello报文后,会对报文的相关参数进行匹配(除了掩码还有什么?),匹配上的话,就将对方Rtr ID添加到neighbor字段,然后返回hello报文
- 在以太网中,OSPF和hello报文默认通过组播方式发送,组播地址为224.0.0.5
- DR/BDR的默认组播地址为224.0.0.6
- 不支持组播的网络,hello报文通过单播方式发送
(4)DR/BDR选举
- DR/BDR的信息及优先级通过hello报文传递
- 仅当网络内的设备同时初始化或DR/BDR设备故障时,才会触发选举
- 新接入MA网络的设备,会沿用网络已有的DR/BDR配置,不管自身优先级多高,都不会触发选举
- 选举过程:先比较DR优先级,DR优先级一致,再比较Rtr ID大小,大者优先
3)DD报文
(1)作用
- LSDB表的摘要,包含了LSA header信息(LS ID\LS TYPE\ADV Rtr等)
- 域内的所有OSPF设备的LSDB表保持一致
(2)PAYLOAD关键字段信息
- interface MTU:发出DD报文端口的最大数据传输单元
- options:与hello报文一致
- DD序号