曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 4089|回复: 0
打印 上一主题 下一主题

IPv6 Multicast 地址 (多点广播地址)

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34395
跳转到指定楼层
楼主
发表于 2013-8-10 10:08:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
IPv6 multicast 地址与 IPv4 一样是用来代表一组网络接口,也就是多个节点可加入到同一 multicast 组,它们都可通过共同的 multicast 地址来监听 multicast 请求。一个节点也可以加入多个 multicast 组,也就是它可以同时通过多个 multicast 地址来监听 multicast 流量,下图是 multicast 地址结构:


其中,最高位 8 位固定为 1111 1111,也就是十六进制的 FF 。

Flags 目前有以下两值:

1. 0000 :表示它是由 IANA 组织 ( Internet Assigned Numbers Authority )固定分配给 well-known multicast 地址的地址。

2. 0001 :表示它尚未被 IANA 固定分配使用,是一个临时 multicast 地址。

scope 用来表示 multicast 地址可发送的范围,当路由器收到 multicast 地址的数据包时,它可以根据 socpe 来决定是否要路由此数据包。Scope 最常见的值为 1 (表示 node-local scope。node-local : 发送给节点自己),2 ( 表示 link-local scope ) 和 5 ( 表示 site-local )。举例来说,如果路由器收到一个要发送到 FF02::2 的数据包时,由于数据包的范围为 link-local,因此路由器并不会将此数据包发送到超出此本地链接(local link)以外的链接。

Goup ID 用来代表此组的唯一组 ID,它占用 112 位,不过 RFC 3513 建议只使用最低的 32 位,其余的填 0.

从 FF01:: 到 FF0F:: 是保留的 well-known multicast 地址,例如:
FF01::1 ( node-local scope all-nodes multicast address )
FF02::1 ( link-local scope all-nodes multicast address )
FF01::2 ( node-local scope all-routers multicast address )
FF02::2 ( link-local scope all-routers multicast address )
FF05::2 ( site-local scope all-routers multicast address )

solicited-node multicast 地址
在 IPv4 中是利用 ARP request 来进行 IP 地址解析工作(解析物理层地址,以 Ethernet 网络来说就是 MAC 地址),由于它是 MAC-level 的广播数据包,因此会干扰到网段内的所有节点。在 IPv6 中通过发出 Neighbor Solicitation 信息来进行 IP 地址解析工作,而且为了减少对链接内所有节点的干扰,因此信息目的地不是采用 link-local scope all-nodes multicast 地址,而是 solicited-node multicast 地址,此地址是从网络接口的 unicast 地址转换而来,如下图所示:


其前缀为 FF02::1:FF00:0/104 ,最后的 24 位是获取自 unicast 地址的 Interface ID 的最右 24 位。

注意,IPv6 不再使用广播地址,所有原先在 IPv4 中使用广播地址的方式,在 IPv6 中都改用 multicast 地址。

例如某台主机的网络接口的 link-local IPv6 地址为 FE80::10DF:D9F4:DE2D:369B,由于其最右边 24 位为 2D:369B,故其 solicited-node multicast 地址为 FF02::1:FF2D:369B,该主机会注册并拥有此地址,并通过此地址来监听 IP 地址解析请求。

Anycast 地址 (任意点广播地址)
Anycast 地址可被分配给多个网络接口(通常位于不同的节点上),发送到 anycast 地址的数据包,并不是被发送到拥有此 anycast 地址的所有节点,而只会发送到其中一个节点,它是距离最近的节点(指路由距离)。

Anycast 地址目前只能够用在数据包的目的地址上,而且只能分配给路由器来使用。Anycast 地址是来自 unicast 地址,因此它的表示法与 unicast 没有差别,且它的发送范围与所使用的 unicast 地址一样。

在 Anycast 地址中有一个提前定义好的地址:subnet-Router anycast 地址,它是路由器必须支持的地址,发送给 subnet-router anycast 的数据包,会被发送到该子网中的一个路由器上。subnet-router 地址的格式如下图所示:


其中的 subnet prefix 表示网络接口所在的链接 (link, 也可以说是子网),其长度视不同的 unicast 地址有所不同,后面剩下的位都是 0 。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2025-5-4 19:32 , Processed in 0.083820 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表