IPv6多播地址基础知识

IPV6多播地址识别多个接口。使用适当的多播路由拓扑,将向多播地址发送的数据包发送给该地址识别的所有接口。

IPV6多播地址有 1111 1111 的格式前缀 (FP)。IPV6 地址很容易区分为多播地址,因为它总是以 FF 开始。多播地址不能被用作源地址。

除了 FP 以外,多播地址还包括其他结构,以便标识它们的标志、作用域和多播组,如下图所示。

多播地址中的字段如下所示:

标志

“标志”字段表示在IPV6多播地址上设置的标志。该字段的大小为 4 位。从 RFC 2373 起,定义的唯一标志是 Transient (T) 标志。T 标志使用“标志”字段的低位比特。当设置为 0 时,T 标志表示该多播地址是由 Internet 号码指派机构 (IANA) 永久指派的(著名)多播地址。当设置为 1 时,T 标志表示该多播地址是瞬态(非永久指派)多播地址。

范围

作用域字段表示进行多播通讯的 IPV6 网络的作用域。该字段的大小为 4 位。除了多播路由协议提供的信息之外,路由器使用多播作用域来确定是否可以转发多播通讯。

以下作用域在 RFC 2373 中定义:

作用域字段值 范围

1 节点本地

2 链路本地

5 站点本地

8 组织本地

E 全局

例如,使用多播地址 FF02::2 的通讯具有链路本地作用域。IPV6 路由器永远不会将此通讯转发到本地链路以外。

组ID

“组ID”字段标识多播组,并且在作用域中是唯一的。该字段的大小为 112 位。永久指派的组 ID 独立于作用域。瞬态组 ID 仅与特定的作用域有关。从 FF01::到 FF0F::的多播地址是保留的已知地址。

为了识别用于节点本地和链路本地作用域的所有节点,定义下列多播地址:

FF01::1(节点本地作用域所有节点地址)

FF02::1(链路本地作用域所有节点地址)

为了识别用于节点本地、链路本地和站点本地作用域的所有路由器,定义下列多播地址:

FF01::2(节点本地作用域所有路由器地址)

FF02::2(链路本地作用域所有路由器地址)

FF05::2(站点本地作用域所有路由器地址)

在“组ID”中使用 112 位,就可能有 2 的 112 次方个组ID。但是,因为 IPV6多播地址被映射到以太网多播 MAC 地址,所以 RFC 2373 建议从 IPV6多播地址的低位 32 位指派“组 ID”,并将剩余的原始组 ID 位设置为 0。通过在组 ID 中只使用低位 32 位,每个组 ID 映射到唯一的以太网多播 MAC 地址。

请求节点地址

请求节点地址有利于在地址解析过程中实现有效的网络节点查询。在 IPv4 中,ARP 请求帧被发送到 MAC 层次的广播,扰乱了网络段上的所有节点,包括不运行 IPv4 的节点。IPV6 使用“邻居请求”消息执行地址解析。但是,没有使用本地链路作用域所有节点地址作为“邻居请求”消息目标,因为这样可能扰乱本地链路上的所有 IPV6 节点,而是使用请求节点多播地址。请求节点多播地址由前缀 FF02::1:FF00:0/104 和被解析的 IPV6 地址的最后 24 位地址组成。

例如,对于使用 FE80::2AA:FF:FE28:9C5A 链路本地 IPV6 地址的节点,相应的请求节点地址是 FF02::1:FF28:9C5A。要将 FE80::2AA:FF:FE28:9C5A 地址解析为它的链路层地址,节点将发送“邻居请求”消息给 FF02::1:FF28:9C5A 请求节点地址。使用 FE80::2AA:FF:FE28:9C5A 地址的节点,将侦听请求节点地址的多播通讯,因为对应于某一物理网络适配器的接口,已经和网络适配器一起注册了相应的多播地址。

使用请求节点多播地址的结果是,地址解析(通常发生在链路上)不需要使用扰乱所有网络节点的机制。事实上,在地址解析过程中很少有节点被扰乱。在实践中,因为以太网 MAC 地址、IPV6 接口 ID 和请求节点地址之间的关系,所以请求节点地址扮演伪单播地址的角色,以便实现非常有效的地址解析。

来源:ZDNET网络频道


微信扫描分享本文到朋友圈
扫码关注5G通信官方公众号,免费领取以下5G精品资料

本周热点本月热点

 

  最热通信招聘

  最新招聘信息

最新技术文章

最新论坛贴子