在 OSPF DBD 数据包中,即使在广播网络类型中也是作为单播数据包发送的,对吗?
这里的问题是,OSPF 路由器如何知道 LAN 中邻居的接口地址?
它已经交换的唯一信息是 HELLO 数据包,它具有邻居的路由器 ID 以及 DR 和 BDR 的接口地址。也是局域网的子网掩码。
在 OSPF DBD 数据包中,即使在广播网络类型中也是作为单播数据包发送的,对吗?
这里的问题是,OSPF 路由器如何知道 LAN 中邻居的接口地址?
它已经交换的唯一信息是 HELLO 数据包,它具有邻居的路由器 ID 以及 DR 和 BDR 的接口地址。也是局域网的子网掩码。
来自https://www.ietf.org/rfc/rfc2328.txt:(搜索“Hello Protocol”和“Receiving Hello Packets”)
Hello 协议负责建立和维护邻居关系。它还确保邻居之间的通信是双向的。Hello 数据包会定期从所有路由器接口发送出去。 当路由器看到自己列在邻居的 Hello 数据包中时,表示双向通信。
和
如果接收接口连接到广播、点对多点或 NBMA 网络,则源由Hello 的 IP 标头中的IP 源地址标识。
和
如果找不到匹配的邻居结构(即,这是第一次检测到邻居),则创建一个。新创建的邻居的初始状态设置为 Down。
接收 hello 的路由器接收来自单播 ip 地址的数据包。这允许路由器为相邻路由器的接口地址进行 arp,并将其用于 DBD 数据包。