因为没有单独定义的DD请求和DD应答,而只有DD报文,所以使用poll-response方式,来构造DD包交互的确认重传机制。
在ExStart状态,选举出Master、协商出最初的DD包的sequence number。然后Master每次发送的DD包的sequence number 递增,Slave针对Master的每个DD包回复具有相同sequence number的DD包,表示应答的同时也描述了自己的LSDB。如果Master发送了序号为n的DD,也收到slave回复的序号为n的DD报文,则说明序号为n的DD双向交互成功。如果没有收到slave回复的序号为n的DD报文,可能是master发送的DD报文丢失了,也可能是slave回复的DD报文丢失了,不管是哪种情况,Master重传序号为n的那个DD。
如果Master的LSDB先描述完,则Master继续发送空DD报文(M比特为0),来获取slave的LSDB。
如果Slave的LSDB先描述完,则Slave回应空DD报文(M比特为0),表示收到了Master的DD报文。
当Master和Slave的LSDB都描述完之后,他们发送的都是空的DD报文(M比特为0),这个时候LSDB交互过程就结束了。
DD报文里的标志位:
I-bit:The Init bit. When set to 1, this packet is the first in the sequence of Database Description Packets.
M-bit:The More bit. When set to 1, it indicates that more Database Description Packets are to follow.
MS-bit:The Master/Slave bit. When set to 1, it indicates that the router is the master during the Database Exchange process. Otherwise, the router is the slave.