当主机 A 第一次向另一个主机 B 发送 NS 请求时,主机 B 以 NA 回答。
在主机 A 的邻居缓存中,主机 B 的状态条目从未完成变为可访问,当 NA 返回时。
但是远程主机 B 会发生什么?
RFC4861 描述:
节点发送邻居请求以请求目标节点的链路层地址,同时也向目标提供它们自己的链路层地址。
所以这意味着主机 B 应该利用这种情况并在他的缓存中为主机 A 创建一个新条目。
但是这个条目的状态是什么?
该标准描述:
收到其他邻居发现消息,例如路由器广告和邻居广告,请求标志设置为零,不得将其视为可达性确认。收到未经请求的消息仅确认从发送者到接收节点的单向路径。相反,邻居不可达检测要求节点从其角度而不是邻居的角度跟踪到邻居的前向路径的可达性。请注意,收到请求的广告表明路径正在双向工作。请求必须已到达邻居,提示它生成广告。同样,收到广告表明从发送者到接收者的路径正在运行。然而,后一个事实只有接收者知道;广告的发送者无法直接知道它发送的广告实际上到达了邻居。从邻居不可达检测的角度来看,只有前向路径的可达性是感兴趣的。
那么,在我们的例子中,主机 A 不应该被声明为主机 B 的 REACHABLE 吗?
可能是它被宣布为 STALE 吗?
如果您还可以提供某种源文档以及您的解释,将不胜感激。:)
谢谢!