3.2 地址类型
IPv4有单播地址、广播地址和多播地址,IPv6则不使用广播地址,而代之以多播地址。这对网络来说是一个好消息,因为广播对大多数网络来说都是一个需要解决的问题。RFC 1546引入了一种新型地址——任播地址,虽然任播地址在IPv4中也有使用,但是IPv6将在一个更大的范围内使用该类地址。
3.2.1 单播、多播和任播地址
IPv6地址分为以下三类。
单播(Unicast)地址
单播地址可以唯一地标识IPv6节点的接口,发送到单播地址的数据包会被传送给该地址所标识的接口。
多播(Multicast)地址
多播地址可以标识一组IPv6接口,发送给多播地址的数据包会被传送给多播组的全部成员。
任播(Anycast)地址
任播地址被分配给多个接口(通常位于多个节点上),发送给任播地址的数据包仅被传送给其中的一个接口,通常是最近的一个接口。
3.2.2 通用规则
与IPv4一样,IPv6地址也被分配给接口,而不像OSI将地址分配给节点,因而一个节点的每个接口都至少需要一个单播地址。单个接口也可以被分配多个任意类型的IPv6地址(单播、多播和任播),因而一个节点可以由其任一个接口的地址进行标识。此外,出于负载共享的目的,还可以将单个单播地址分配给多个接口,不过在这样做之前,必须首先确认硬件和软件是否支持该功能。
提示
对于IPv6来说,地址中任何字段的全0和全1都是合法值。
IPv6支持不同范围(scope)的地址,包括全局范围和非全局(如链路本地)范围。从操作上来看,IPv4通过使用私有地址空间中的IP地址或管理范围的多播地址,引入了非全局范围的地址。而IPv6在设计之初就将地址范围纳入基本体系之中。每个IPv6地址(未指定地址除外)都有一个特定范围,该范围是一定的拓扑跨度。其中的IPv6地址可以用作某个接口或某组接口的唯一标识符。地址的范围作为地址的一部分进行编码。本章将在后面的“多播地址”一节进行地址范围的描述,相关内容可以参考RFC 4007“IPv6 Scoped Address Architecture”。