DD报文用于描述LSDB,该报文中携带的是LSDB中LSA的头部数据(也就是并非完整的LSA内容,仅仅是头部数据)。在OSPF路由器邻接关系的建立过程中,互为邻居的路由器之间会交互DD报文。在两台路由器之间开始使用DD报文描述自己的LSDB之前,双方需要协商主/从。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描述过程。假设Master路由器发送一个DD序列号为1111的DD报文,则Slave路由器在收到这个DD报文后开始发送自己的DD报文,而且DD序列号使用1111,而它在准备再次发送DD报文之前,必须先收到Master路由器发送的下一个DD报文(DD序列号为1112)。这个过程会一直持续,直到LSDB描述完。
接口最大传输单元:接口的MTU。以华为AR2200路由器为例,缺省时接口发送的DD报文中,无论该接口实际的MTU值是多少,该字段的值都为0。
可选项:路由器支持的OSPF可选项。
I位:也即初始化位,当该DD报文用于协商Master/Slave路由器时,该比特位被置1,Master/Slave选举完成后,该比特位被置0。
M位:该比特位如果被置为1,则表示后续还有更多的DD报文;如果被设置为0,则表示这是最后一个DD报文。
MS位:Master路由器在自己发送的DD报文中将该比特位设置为1,Slave路由器则将其设置为0。
DD序列号:DD报文的序列号,在DD报文交互的过程中,DD序列号被逐次加1,用于确保DD报文传输的有序性和可靠性。值得注意的是,DD序列号必须是由Master路由器来决定的,而Slave路由器只能使用Master路由器发送的DD序列号来发送自己的DD报文。
LSA头部:当路由器使用的DD报文来描述自己的LSDB时,LSA的头部信息被包含在此处。一个DD报文可能包含着一条或者多条LSA的头部。