为什么 IPv6 接口需要有链路本地地址?
为什么 IPv6 需要链路本地地址,即使 DHCPv6 或其他分配可路由 IPv6 地址的方法可用?
你有一个先有鸡还是先有蛋的问题。DHCPv6 要求主机具有链路本地地址才能获得全局或其他地址。来自RFC 8415,IPv6 的动态主机配置协议 (DHCPv6):
IPv6 的两个优点是需要支持多播,并且节点可以在初始化期间创建链路本地地址。这些功能的可用性意味着客户端可以使用其链路本地地址和众所周知的多播地址来发现其链路上的 DHCP 服务器或中继代理并与之通信。
-和-
DHCPv6 可以合理使用的每个 IPv6 接口都有一个本地链路地址。
-和-
客户端和服务器使用 UDP 交换 DHCP 消息(参见 [ RFC768 ] 和BCP 145 [ RFC8085 ])。客户端使用链路本地地址或通过其他机制确定的地址来发送和接收 DHCP 消息。
RFC 中还有其他参考资料。
DHCPv6 与 IPv4 的 DHCP 非常不同。例如,IPv4 DHCP 将为您提供默认网关,但 DHCPv6 不会。对于 IPv6,路由器发出 RA(路由器广告),告诉主机是否使用 DHCPv6,以及其他信息,例如链路上网络的网关(网关是路由器的链路本地地址,而不是全局地址)。
IPv6 服务通常与 IPv4 服务不同,您通常无法直接将 IPv6 与 IPv4 进行比较;它需要一种新的知识产权思维方式。IETF 从 IPv4 中吸取了教训(这是一项脱离实验室的政府/学术实验),它删除了不能正常工作的东西,改变了一些东西以更好地工作,并添加了 IPv4 缺乏的东西。例如,许多人认为 NDP 只是 ARP 的替代品,但它远不止于此。请参阅RFC 4861,IP 版本 6 (IPv6) 的邻居发现中描述的 NDP 与 IPv4 服务的比较:
3.1 . 与 IPv4 的比较
IPv6 邻居发现协议对应于 IPv4 协议地址解析协议 [ ARP ]、ICMP 路由器发现 [ RDISC ] 和 ICMP 重定向 [ ICMPv4 ] 的组合。在 IPv4 中,没有普遍认可的邻居不可达检测协议或机制,尽管主机要求文档 [ HR-CL ] 确实指定了一些可能的死网关检测算法(邻居不可达检测解决的问题的一个子集)。
Neighbor Discovery 协议提供了对 IPv4 协议集的大量改进:
路由器发现是基本协议集的一部分;主机不需要“窥探”路由协议。
Router Advertisements 携带链路层地址;解析路由器的链路层地址不需要额外的数据包交换。
路由器通告携带链路前缀;不需要有单独的机制来配置“网络掩码”。
路由器通告启用地址自动配置。
路由器可以通告主机在链路上使用的 MTU,确保所有节点在缺乏明确定义的 MTU 的链路上使用相同的 MTU 值。
地址解析多播“传播”超过 1600 万 (2^24) 个多播地址,大大减少了目标以外节点上与地址解析相关的中断。此外,非 IPv6 机器根本不应该被中断。
重定向包含新的第一跳的链路层地址;接收重定向时不需要单独的地址解析。
多个前缀可以与同一个链接相关联。默认情况下,主机从 Router Advertisements 中学习所有链接前缀。但是,路由器可以配置为从路由器通告中省略部分或全部前缀。在这种情况下,主机假定目的地是离线的并将流量发送到路由器。然后,路由器可以根据需要发出重定向。
与 IPv4 不同,IPv6 重定向的接收者假定新的下一跳是在线的。在 IPv4 中,主机会忽略重定向,根据链接的网络掩码指定一个不在链接上的下一跳。IPv6 重定向机制类似于 [SH-MEDIA] 中指定的 XRedirect 工具。预计它对非广播和共享媒体链接很有用,在这些链接中,节点不希望或不可能知道链接上目的地的所有前缀。
邻居不可达检测是基础的一部分,它显着提高了在存在故障路由器、部分故障或分区链路或更改其链路层地址的节点的情况下数据包传递的稳健性。例如,移动节点可以在不因过时的 ARP 缓存而丢失任何连接的情况下脱离链路。
与 ARP 不同,邻居发现检测半链路故障(使用邻居不可达检测)并避免向没有双向连接的邻居发送流量。
与 IPv4 路由器发现不同,路由器通告消息不包含首选项字段。不需要preference字段来处理不同“稳定性”的路由器;邻居不可达检测将检测死路由器并切换到工作路由器。
使用链路本地地址来唯一标识路由器(用于路由器广告和重定向消息)使得主机可以在站点重新编号以使用新的全局前缀的情况下维护路由器关联。
通过将 Hop Limit 设置为 255,Neighbor Discovery 不受意外或有意发送 ND 消息的离线发送者的影响。在 IPv4 中,离线发送者可以发送 ICMP 重定向和路由器通告消息。
将地址解析放在 ICMP 层使协议比 ARP 更独立于媒体,并且可以适当地使用通用 IP 层身份验证和安全机制。