NDP 使用 ICMPv6 运行,尽管 ICMPv6 消息封装在 IPv6 数据报的有效载荷字段中,但 ICMPv6 和 ICMP 通常被视为网络层协议。至少,在维基百科上,它们是网络层协议。
所以我认为 NDP 因此也是网络层协议。但是维基百科上直接说是链路层协议:
邻居发现协议 (NDP, ND)[1] 是互联网协议套件中的一个协议,与互联网协议版本 6 (IPv6) 一起使用。它运行在 Internet 模型 (RFC 1122) 的链路层,负责收集 Internet 通信所需的各种信息,包括本地连接的配置以及用于与更远距离的系统通信的域名服务器和网关。[ https://en.wikipedia.org/wiki/Neighbor_Discovery_Protocol ]
所以我的假设是 NDP 被认为是一种链路层协议,因为 NDP 使用的 ICMPv6 消息(邻居请求、路由器广告、重定向等)永远不会离开本地网络——就像 ARP 消息永远不会离开本地网络一样。我对吗?
感谢您的关注。
更新 1:
好吧,我意识到对我来说最有趣的一点是——NDP ICMPv6 消息永远不会离开本地网络的边界是否正确?
更新 2:
尽管看起来没有什么可以阻止我将邻居请求发送到 Internet 上的任何主机。ICMPv6 是可路由的。所以我可以选择任何目标 IPv6,包括我的网络之外的目标。