Skip to content

IPv6 - 地址模式

寻址模式 (Addressing modes) 定义了 IP 数据包如何送达其目的地。IPv6 支持三种主要的寻址模式:单播 (Unicast)、多播 (Multicast) 和任意播 (Anycast)。

单播 (Unicast) 是一种一对一的通信方法。一个 IPv6 单播地址唯一标识一个支持 IPv6 的设备上的单个接口 (interface)。发送到单播地址的数据包只会送达该地址所标识的接口。

例如,当您浏览网站时,您的计算机(客户端 client)会向 Web 服务器的单播 IP 地址发送单播数据包 (packet),服务器也会向您的计算机的单播 IP 地址发送单播数据包。这是互联网上最常见的通信形式。

图解:单个源主机 (source host) 直接向单个特定目的主机 (destination host) 发送数据包。

多播 (Multicast) 是一种一对多的通信方法。一个 IPv6 多播地址标识一组接口,这些接口可能位于不同的设备上。发送到多播地址的数据包会被送达所有加入了该多播组 (group) 的接口。

对接收特定组的多播流量感兴趣的主机必须使用多播侦听发现协议 (Multicast Listener Discovery, MLD) 等协议订阅该组。IPv6 多播的使用示例包括向多个订阅者传输流媒体视频,或分发路由协议 (routing protocol) 更新(例如,OSPFv3 使用 FF02::5 和 FF02::6)。

常见的链路本地 (link-local) 多播地址包括:

  • FF02::1: 所有节点地址 (All-nodes address)(本地链路上所有 IPv6 设备)。
  • FF02::2: 所有路由器地址 (All-routers address)(本地链路上所有 IPv6 路由器)。

图解:单个源主机发送一个数据包,然后网络 (network) 将其送达属于目标多播组的多个特定目的主机。

任意播 (Anycast) 是一种一对最近(在路由术语中)的通信方法。一个 IPv6 任意播地址被分配给多个接口,这些接口通常位于不同的设备上。发送到任意播地址的数据包会被网络路由到这些接口中的一个——由路由协议确定的 ‘最近’ 或 ‘最佳’ 的一个。

任意播常用于 DNS 根服务器或内容分发网络 (CDN) 等服务。全球多台服务器可以共享同一个任意播 IP 地址。当用户尝试访问该服务时,其请求会被路由到拓扑上离他们最近的服务器,从而提高响应时间 (response time) 并提供负载均衡 (load distribution) 和冗余 (redundancy)。

例如,如果多台 DNS 服务器(例如,位于纽约、伦敦和东京)配置了相同的任意播 IPv6 地址,欧洲的用户尝试解析域名 (domain name) 时,其 DNS 查询 (query) 很可能会被路由到伦敦的服务器,因为从他们的位置来看,那里的路由开销 (routing cost) 最低。

图解:单个源主机向一个任意播地址发送一个数据包。然后网络将该数据包路由到共享此相同任意播地址的几台服务器中 ‘最近’ 的一台。