OSPF从入门到精通系列(20)—DD报文

NetWork 1466℃

DD报文用于描述LSDB,该报文中携带的是LSDB中LSA的头部数据(非完整的LSA内容)。在OSPF路由器邻接关系的建立过程中,互为邻居的路由器之间会交互DD报文。

在两台路由器开始使用DD报文描述自己的LSDB之前,双方需要协商主/从(Master/Slave)。Master/Slave的协商也是通过交互DD报文来完成的(Router-ID更大的路由器成为Master路由器),但是这种DD报文中并不包含任何LSA的头部信息,可以理解为空的DD报文。

Master/Slave确定后,双方就开始使用DD报文描述各自的LSDB,在这种DD报文中包含着LSDB里的LSA的头部。路由器可以使用多个DD报文来描述LSDB,为了确保DD报文传输的有序和可靠,“DD序列号(DD Sequence Number)”字段就是关键。在OSPF路由器双方交互DD报文的过程中,Master路由器发送DD报文给对端,对端的Slave路由器在发送自己的DD报文时需在该报文的“DD序列号”字段中使用前者的序列号,也就是Master路由器主导整个LSDB描述过程。这个过程会一直持续,直到LSDB描述完。

DD报文的格式

OSPF报文头部(24byte)
接口最大传输单元(16bit) 可选项(8bit) 0 0 0 0 0 I M M S
DD序列号(32bit)
LSA的头部
……
  • 报文格式接口最大传输单元(Interface Maximum Transmission Unit):接口的MTU。以华为AR200路由器为例,缺省时接口发送的DD报文中,无论该接口实际的MTU值是多少,该字段的值都为0
  • 可选项(Options):路由器支持的OSPF可选项。
  • I位(Initial Bit):也即初始化位,当该DD报文用于协商Master/Slave路由器时,该比特位被置1,Master/Slave选举完成后,该比特位被置0。
  • M位(Morebit):该比特位如果设置为1,则表示后续还有更多的DD报文;如果被设置为0,则表示这是最后一个DD报文。
  • MS位(Master Bit):Master路由器在自己发送的DD报文中将该比特位设置为,Slave路由器则将其设置为0。
  • DD序列号(DD Sequence Number):DD报文的序列号,在DD报文交互的过程中,DD序列号被逐次加1,用于确保DD报文传输的有序和可靠性。值得注意的是,DD序列号必须是由Master路由器来决定的,而Slave路由器只能使用Master路由器发送的DD序列号来发送自己的DD报文。
  • LSA头部(LSA Header):当路由器使用DD报文来描述自己的LSDB时,LSA的头部信息被包含在此处。一个DD报文可能包含一条或多条LSA的头。

转载请注明:零五宝典 » OSPF从入门到精通系列(20)—DD报文