IPv6 相邻节点搜索协议的功能与下列 IPv4 协议的组合相对应: 地址解析协议 (Address Resolution Protocol, ARP)、Internet 控制消息协议 (Internet Control Message Protocol, ICMP)、路由器搜索和 ICMP 重定向。IPv4 对于相邻节点不可访问性检测没有公认的协议或机制。但是,主机要求确实为停用网关检测指定了一些可能的算法。停用网关检测所解决的问题是相邻节点不可访问性检测所能解决的问题的一部分。
以下是对相邻节点搜索协议和一组相关 IPv4 协议进行的比较。
路由器搜索是基础 IPv6 协议集的一部分。IPv6 主机无需针对路由协议执行 snoop 即可查找路由器。IPv4 使用 ARP、ICMP 路由器搜索和 ICMP 重定向来搜索路由器。
路由器通告功能允许自动配置地址。在 IPv4 中未实现自动配置过程。
相邻节点搜索允许 IPv6 路由器通告主机要在链路上使用的 MTU。因此,在缺乏完善定义的 MTU 的链路上,所有的节点都使用相同的 MTU 值。同一个网络上的 IPv4 主机可能具有不同的 MTU。
与 IPv4 广播地址不同的是,IPv6 地址解析多点传送分布到 40 亿 (2^32) 个多点传送地址上,这会大大减少目标以外的节点上与地址解析有关的中断。而且,非 IPv6 机器根本就不应当中断。
多个站点前缀可以与同一个 IPv6 网络相关联。缺省情况下,主机可以从路由器通告中获知所有的本地站点前缀。但是,可以将路由器配置为忽略来自路由器通告的部分或全部前缀。在这种情况下,主机会假定目标位于远程网络上。因此,主机会向路由器发送通信。路由器随后可以根据需要发出重定向命令。
与 IPv4 不同的是,IPv6 重定向消息的接收者假定下一个新跃点位于本地网络上。在 IPv4 中,主机根据网络掩码会忽略那些指定下一个跃点不在本地网络上的重定向消息。IPv6 重定向机制与 IPv4 中的 Xredirect 功能相似。重定向机制在非广播链路和共享介质链路上非常有用。在这些网络上,节点不应当检查本地链路目标的所有前缀。
IPv6 相邻节点不可访问性检测改进了在路由器存在故障时的包传送能力。此功能改进了包在部分故障链路或分区链路上的传送能力,还改进了包在可更改其链路本地地址的节点上的传送能力。例如,移动节点可移出本地网络,而不会因存在过时的 ARP 高速缓存而失去任何连通性。IPv4 没有与相邻节点不可访问性检测相对应的方法。
与 ARP 不同的是,相邻节点搜索功能使用相邻节点不可访问性检测机制来检测半链路故障。相邻节点搜索功能可避免在没有双向连通性的情况下向相邻节点发送通信。
IPv6 主机使用链路本地地址来唯一标识路由器,从而可以维护路由器关联。对于路由器通告和重定向消息,这种路由器标识功能是必需的。如果站点使用新的全局前缀,主机需要维护路由器关联。IPv4 没有与路由器标识功能相对应的方法。
因为相邻节点搜索消息在接收时的跃点限制为 255,所以,相邻节点搜索协议不会受到来自链路外节点的欺骗攻击。与之相反,IPv4 链路外节点可以发送 ICMP 重定向消息。IPv4 链路外节点还可以发送路由器通告消息。
将地址解析放在 ICMP 层,使得相邻节点搜索比 ARP 更加独立于介质。因此可以使用标准的 IP 验证和安全机制。