1. 多播地址 2. IPv6多播地址结构 2.1 4位标记: 0, R, P, T 2.2 4位标记的可能组合列表 2.3 4位范围: 限定多播地址复盖的范围 2.4 多播数据包的转发范围图 2.5 可变范围多播地址ff0x~~~ 3. IPv4多播地址 3.1 IPv4多播地址块 3.2 与作用域多播地址一起使用的相对地址 4. 由IANA分配 (预定义IPv6多播地址) 5. IPv6 恳求节点多播地址 5.1 IPv6 恳求节点多播地址结构 5.2 多播以太网MAC地址 5.3 3种关联地址对应关系 5.4 多台IPv6设备共用相同的IPv6 恳求节点多播地址 5.5 众所周知的IPv6 多播地址与以太网 MAC 地址之间的对应关系 6. 更多预设的MAC地址 6.1 特殊的前⼋位字节位 6.2 IANA OUI 下的 MAC 地址分配 6.3 ⽤于 PPP 的CF系列MAC 7. 多播侦听者发现功能 8. ICMP,MLD,IGMP定义 9. 查看本机多播相关信息的命令
推荐8年前出版的 IPv6 科普书籍: IPv6技术精要 [美] Rick Graziani 著
- 第一版英文2012年出版, 夏俊杰 翻译版 2013年出版
- 第二版英文2017年出版, 孙馀强 王涛译 2020年出版
下文是本书的学习笔记, 及扩展整理.
距离第二版最初出版已过去8年, 书中提及的一些rfc已经废弃,被更新的文档取代.
这也是该书最好的一点, 几乎所有重点概念都会注明关联的rfc文档编号. 方便查阅.
1. 多播地址
多播机制为一对多, 单播机制为一对一。
- 多播寻址可用于链路层(2层),例如以太网多播,
- 也可用于互联网层(3层),例如 IPv4 或 IPv6 多播。
IPv6多播前缀 ff00::/8 等价于 IPv4 多播前缀224.0.0.0/4
发往多播群的IP多播数据包的源地址必须为单播 IP地址。
多播 IP地址只能作为IP 数据包的目的地址,不能作为源地址。
当流量接收主机仅限于子网内的部分设备时,多播机制要优于广播机制。 IP 多播数据包很有可能会被以太网交换机和网卡(NIC)过滤掉。 让交换机过滤多播帧,可通过以下方法来实现:
- IPv4 多播IGMP (Internet 组管理协议)(Internet Group Management Protocol)
- IPv6 多播 MLD (多播侦听者发现)监听(Multicast Listener Discovery)
RFC 4007 IPv6 Scoped Address Architecture 规定了各种范围的IPv6 地址的特征、用途以及(相关 IPv6 多播数据包的)预期行为。
2. IPv6多播地址结构
IPv6多播地址由以下4部分组成
1. (8位 前缀) ff00::/8, 即固定的 ff 开头
2. (4位 标记) 标记: 0, R, P, T
3. (4位 范围) 限定多播地址复盖的范围
4. (112位 群ID)
2.1 4位标记: 0, R, P, T
4位标记: | 预留 0 | 聚合 R 位 | 前缀 P 位 | 瞬时 T 位 |
0值表示: | 预留位 | 未嵌入聚合点 | 不带前缀信息 | 由IANA分配 (预定义多播地址) |
1值表示: | 预留位 | 嵌入聚合点 | 基于网路前缀的地址 | 由多播应用程序(动态)分配的地址 |
2.2 4位标记的可能组合列表
4位标记 | Hex | 説明 | ||
0000 | 0 | 未嵌入聚合点 | 不带前缀信息 | 由IANA分配 (预定义多播地址) |
0001 | 1 | 未嵌入聚合点 | 不带前缀信息 | 由多播应用程序(动态)分配的地址 |
0010 | 2 | 未嵌入聚合点 | 基于网路前缀的地址 | 由IANA分配 (预定义多播地址) |
0011 | 3 | 未嵌入聚合点 | 基于网路前缀的地址 | 由多播应用程序(动态)分配的地址 |
0100 | 4 | 嵌入聚合点 | 不带前缀信息 | 由IANA分配 (预定义多播地址) |
0101 | 5 | 嵌入聚合点 | 不带前缀信息 | 由多播应用程序(动态)分配的地址 |
0110 | 6 | 嵌入聚合点 | 基于网路前缀的地址 | 由IANA分配 (预定义多播地址) |
0111 | 7 | 嵌入聚合点 | 基于网路前缀的地址 | 由多播应用程序(动态)分配的地址 |
2.3 4位范围: 限定多播地址复盖的范围
范围字段 | 4位范围 Scope | 描述 |
0 | 预留 Reserved | |
1 | 本地接口 Interface | 在当前节点内环回;这是单播环回地址的多播等效地址。 |
2 | 本地链路 Link-Local | 链路本地范围跨越与相应单播范围相同的拓扑区域。不得路由转发 |
3 | 本地领域 Realm-Local | 领域本地范围定义为大于链接本地范围,由网络拓扑自动确定, 且不得大于以下范围。 基于单播前缀范围 |
4 | 本地管理 Admin-Local | 管理本地范围是必须进行管理配置的最小范围, 即不能从物理连接或其他非多播相关配置中自动派生出来。 |
5 | 本地站点 Site-Local | 站点本地范围旨在跨越属于某个组织的单个站点。 |
6-7 | 未分配 Unassigned | |
7 | 汇聚点标记 | |
8 | 本地组织 Organization | 组织本地范围旨在涵盖属于单个组织的所有站点。 包含通过VPN通过广域网连接到异地的站点 |
9-D | 未分配 Unassigned | |
E | 公网范围 Global | 全球范围涵盖互联网上所有可到达的节点——它是无限制的。 |
F | 预留 Reserved |
2.4 多播数据包的转发范围图
IPv6技术精要(第二版)(Page:155)图 7-3 IPv6 多播数据包的转发范围
接口 – 链路 – 站点 – 单位 – 公网

范围为本地链路的IPv6 多播地址一般都是恳求节点多播地址或众所周知的多播地址,会以邻居发现协议消息或路由协议消息的目的地址示人。这部分是普通用户最长接触(无感接触)的多播地址. 每天都会用到, 但却感觉不到他的存在.
2.5 可变范围多播地址ff0x~~~
Variable Scope Multicast Addresses
These permanently assigned multicast addresses are valid over all scope ranges.
This is shown by an "X" in the scope field of the address that means any legal scope value.
这些永久分配的多播地址在所有范围范围内均有效。
地址范围字段中的“X”表示任何合法的范围值。
As defined in [RFC4291], IPv6 multicast addresses which are only different in scope represent different groups.
Nodes must join each group individually.
根据 [RFC4291] 的定义,仅范围不同的 IPv6 多播地址代表不同的组。
节点必须单独加入每个组。
部分可变范围对照表
Node Address(es) | Link Address(es) | Site Address(es) | variable scope | Description |
ff01::c | ff05::c | ff0x::c | SSDP | |
ff01::fb | ff02::fb | ff05::fb | ff0x::fb | mDNSv6 |
ff01::fc-ff01::fd | ff02::fc-ff02::fd | ff05::fc-ff05::fd | ||
ff01::100-ff01::177 | ff02::100-ff02::177 | ff05::100-ff05::177 | ||
ff01::181-ff01::184 | ff02::181-ff02::184 | ff05::181-ff05::184 | ff0x::181-ff0x::184 | PTP |
ff01::18c | ff02::18c | ff05::18c | ff0x::18c | CAPWAP |
ff01::201-ff01::202 | ff02::201-ff02::202 | ff05::201-ff05::202 | ||
ff01::204-ff01::206 | ff02::204-ff02::206 | ff05::204-ff05::206 | ||
ff01::2c0-ff01::2ff | ff02::2c0-ff02::2ff | ff05::2c0-ff05::2ff | ff0x::2c0-ff0x::2ff | Garmin Marine |
ff01::300 | ff02::300 | ff05::300 | ff0x::300 | Mbus |
ff01::400-ff01::4ff | ff02::400-ff02::4ff | ff05::400-ff05::4ff | ||
ff01::3486 | ff02::3486 | ff05::3486 | ff0x::3486 | IFSF Heartbeat |
ff01::bac0 | ff02::bac0 | ff05::bac0 | ff0x::bac0 | BACnet |
ff01::1:1000/118 | ff02::1:1000/118 | ff05::1:1000/118 | ff0x::1:1000/118 | SLPv2 |
ff01::2:0-ff01::4:ffff | ff02::2:0-ff02::4:ffff | ff05::2:0-ff05::4:ffff | ||
ff01::b:0-ff01::b:ffff | ff02::b:0-ff02::b:ffff | ff05::b:0-ff05::b:ffff | ff0x::b:0-ff0x::b:ffff | Bitcoin |
ff01:0:0:0:0:db8::/96 | ff02:0:0:0:0:db8::/96 | ff05:0:0:0:0:db8::/96 | ff0x:0:0:0:0:db8::/96 | 文档地址 |
3. IPv4多播地址
本地网络控制块 (224.0.0.0 - 224.0.0.255 (224.0.0/24)) 部分内容整合到後面的IPv6多播對照表中.
3.1 IPv4多播地址块
IPv4的D类地址范围, 244.0.0.0/4 (224.0.0.0~239.255.255.255)
地址范围被划分为多个块,每个块分配有特定的用途或行为。
IP 多播地址范围 | 描述 | 可路由 | C/ | *數 | 地址數量 | ||
224.0.0.0 | 到 | 224.0.0.255 | 本地子网 (由IANA分配) | 不 | 24 | 1 | 254 |
224.0.1.0 | 到 | 224.0.1.255 | 互联网络控制 (由IANA分配) | 是的 | 24 | 1 | 254 |
224.0.2.0 | 到 | 224.0.255.255 | AD-HOC块1 应用程序 | 是的 | 65024 | ||
224.1.0.0 | 到 | 224.1.255.255 | 保留 | 16 | 1 | 65534 | |
224.2.0.0 | 到 | 224.2.255.255 | SDP/SAP块 (已棄用) 私人會話 | 是的 | 16 | 1 | 65534 |
224.3.0.0 | 到 | 224.4.255.255 | AD-HOC块2 应用程序 | 是的 | 16 | 2 | 131068 |
224.5.0.0 | 到 | 224.255.255.255 | 保留 | 16 | 251 | 16449034 | |
225.0.0.0 | 到 | 231.255.255.255 | 保留 | 8 | 7 | 117440498 | |
232.0.0.0 | 到 | 232.255.255.255 | 特定源组播 | 是的 | 8 | 1 | 16777214 |
233.0.0.0 | 到 | 233.251.255.255 | GLOP 寻址 | 是的 | 16515072 | ||
233.252.0.0 | 到 | 233.255.255.255 | AD-HOC块3 应用程序 | 是的 | 14 | 1 | 262142 |
234.0.0.0 | 到 | 234.255.255.255 | 基于单播前缀 | 是的 | 8 | 1 | 16777214 |
235.0.0.0 | 到 | 238.255.255.255 | 保留 | 8 | 4 | 67108856 | |
239.0.0.0 | 到 | 239.255.255.255 | 行政范围 | 是的 | 8 | 1 | 16777214 |
3.2 与作用域多播地址一起使用的相对地址
Relative Addresses used with Scoped Multicast Addresses
(*) It is only appropriate to use these values in explicitlyconfigured experiments; they MUST NOT be shipped as defaults in implementations.
See [RFC3692] for details.
(*) 这些值仅适用于明确配置的实验;它们不得在实现中(现实中)作为默认值提供。
详情请参阅 [RFC3692] 分配有用的实验和测试数字
这些地址在域名服务 (Domain Name Service) 的 MCAST.NET 和 224.IN-ADDR.ARPA 下列出。
请注意,在以太网或 IEEE 802 网络上使用时,IP 多播地址的低 23 位将放置在以太网或 IEEE 802 网络多播地址 1.0.94.0.0.0 的低 23 位中。 (即多播MAC地址前三段: 01-00-5E)
请参阅“IANA 以太网地址块”部分。
Address(es) | Description | References |
0 | SAP Session Announcement Protocol 会话公告 | |
1 | MADCAP Protocol 多播地址动态客户端分配协议 | [RFC2730] |
2 | SLPv2 Discovery 服务位置协议 | |
3 | MZAP | |
4 | Multicast Discovery of DNS Services | |
5 | SSDP 简单服务发现协议 | [UPnP_Forum] |
6 | DHCP v4 | |
7 | AAP | |
8 | MBUS 用于本地协调的消息总线 | [RFC3259] |
9 | UPnP 通用即插即用 论坛 | [UPnP_Forum] |
10 | MCAST-TEST-NET-2 文档 | [RFC6676] |
11-252 | Unassigned 未分配 | |
253 | Reserved 保留 | |
254 | RFC3692-style Experiment (*) 实验 | [RFC4727] |
255 | Unassigned 未分配 |
4. 由IANA分配 (预定义IPv6多播地址)
RFC 2375 “IPv6 Multicast Address Assignments”记载了最初分配的IPv6 永久多播地 址。 IPv6 多播地址列表由 IANA 维护,详见 IANA 的IPv6 多播地址空间注册表。
以下是部分主要内容, 整理出的对照表, 方便查阅.
Scope | IPv6 Multicast | 以太网多播MAC | IPv4 Multicast | Description | Reference |
Local | ff01::1 | 01-00-5e-00-00-01 | 224.0.0.1 | All Nodes Address 所有节点地址 (范围内广播) |
[RFC4291] 寻址体系结构 |
Link | ff02::1 | 33-33-ff-00-00-01 | |||
Local | ff01::2 | 224.0.0.2 | All Routers Address 所有路由器地址 |
||
Link | ff02::2 | 33-33-ff-00-00-02 | |||
Site | ff05::2 | ||||
Local | ff01::fb | 01-00-5e-00-00-fb | 224.0.0.251 | mDNSv6 多播DNSv6 (UDP:5353) mDNS 常用于未部署本地 DNS 服务器的小型网络 |
[RFC6762] 多播DNS |
Link | ff02::fb | 33-33-ff-00-00-fb | |||
Site | ff05::fb | ||||
Link | ff02::3 | 224.0.0.3 | Unassigned 未分配 | ||
Link | ff02::4 | 224.0.0.4 | DVMRP Routers (Distance Vector Multicast Routing Protocol) 距离矢量多播路由协议 |
[RFC1075] | |
Link | ff02::5 | 33-33-ff-00-00-05 | 224.0.0.5 | OSPFIGP (开放最短路径优先 内部网关协议) | [RFC2328] OSPFv2 |
Link | ff02::6 | 33-33-ff-00-00-06 | 224.0.0.6 | OSPFIGP Designated Routers 指定路由器 | |
Link | ff02::7 | 224.0.0.7 | ST Routers 流传输 路由器 (Stream) | [RFC1190] [RFC1819] |
|
Link | ff02::8 | 224.0.0.8 | ST Hosts 流传输 主机 | ||
Link | ff02::9 | 33-33-ff-00-00-09 | 224.0.0.9 | RIP Routers (路由信息协议) 路由器 | [RFC2080] |
Link | ff02::a | 33-33-ff-00-00-0a | 224.0.0.10 | EIGRP Routers 思科增强型内部网关路由协议 | [RFC7868] |
Link | ff02::b | 224.0.0.11 | Mobile-Agents 移动代理 | ||
Link | ff02::c (ff0x::c) | 239.255.255.250 | SSDP (Simple Service Discovery Protocol) | [UpnP_Forum] | |
Link | ff02::d | 224.0.0.13 | All PIM Routers 所有 (协议无关多播) 路由器 | ||
Link | ff02::e | 224.0.0.14 | RSVP-ENCAPSULATION (资源预留协议) 封装 | ||
Link | ff02::f (ff0x::130) | UpnP 通用即插即用 (Universal Plug and Play) | [UPnP_Forum] | ||
Link | ff02::10 | All-BBF-Access-Nodes (Broadband Forum) 所有 (宽带论坛 系列协议) 接入节点 |
[RFC6788] | ||
Link | ff02::11 | All-Homenet-Nodes 所有 家庭网络 节点 | [RFC7788] | ||
Link | ff02::12 | 224.0.0.18 | VRRP 虚拟路由器冗馀协议 Virtual Router Redundancy Protocol |
[RFC9568] (VRRP)v3 |
|
Link | ff02::13 | 224.0.0.119 | ALL_GRASP_NEIGHBORS 邻居 GeneRic Autonomic Signaling Protocol |
[RFC8990] 通用自主信号 |
|
Link | ff02::14 | 224.0.0.122 | Network Virtualization Overlay (NVO) BUM Traffic 网络虚拟化复盖 (NVO) BUM 流量 EVPN Broadcast, Unknown Unicast, or Multicast (BUM) |
[RFC9624] | |
Link | ff02::16 - |
33-33-ff-00-00-16 01-00-5e-00-00-16 |
- 224.0.0.22 |
All MLDv2-capable routers (Multicast Listener Discovery) 类似 IPv4 的 (IGMPv3)互联网组管理协议 |
[RFC9777] (MLDv2) |
Link | ff02::1a | 224.0.0.69 | all-RPL-nodes 低功耗有损路由 Routing Protocol for low - power and Lossy Networks |
[RFC6550] | |
Link | ff02::6a | 224.0.0.106 | All-Snoopers 所有监听器 多播路由器发现 | [RFC4286] | |
Link | ff02::6b | 224.0.0.107 | PTP-pdelay (Precision Time Protocol )精确时间协议 延迟 | ||
Link | ff02::6c | 224.0.0.108 | Saratoga | ||
Link | ff02::6d | 224.0.0.109 | LL-MANET-Routers 链路本地-移动自组网 路由器 (MANET) mobile mesh network 或 mobile ad hoc network |
[RFC5498] | |
Link | ff02::6e | 224.0.0.110 | IGRS (Intelligent Grouping & Resource Sharing) 信息设备智能互联与资源共享协议 简称[闪联]标准 |
||
Link | ff02::6f | 224.0.23.63 | iADT Discovery | ||
Link | ff02::1:1 | Link Name 链路名称 | |||
Link | ff02::1:2 | 224.0.0.12 | All_DHCP_Relay_Agents_and_Servers 所有 DHCP 中继代理和服务器 客户端侦听UDP546. 服务器侦听UDP547. |
[RFC8415] (DHCPv6) |
|
Link | ff02::1:3 | 01-00-5e-00-00-fc | 224.0.0.252 | Link-local Multicast Name Resolution LLMNR可在本地链路上用DNS数据包的格式来执行IP名称解析. |
[RFC4795] (LLMNR) |
Link | ff02::1:4 | 224.0.0.36 | DTCP Announcement 公告 (有待确认) 数字传输内容保护? | ||
Link | ff02::1:5 | afore_vdp | |||
Link | ff02::1:6 | 224.0.0.111 | Babel (避免环路的距离矢量路由协议) | [RFC8966] | |
Link | ff02::1:7 | 224.0.0.117 | DLEP Discovery (Dynamic Link Exchange Protocol) | [RFC8175] | |
Link | ff02::1:ff00:0/104 | Solicited-Node Address 请求节点地址 | [RFC4291] | ||
Link | ff02::2:ff00:0/104 | Node Information Queries 节点信息查询 | [RFC4620] | ||
Site | ff05::1:3 | 224.0.1.141 | All_DHCP_Servers (动态主机配置协议) | [RFC8415] | |
Site | ff05::1:4 | Deprecated (2003-03-12) 已弃用 | |||
Site | ff05::1:5 | 224.0.1.186 | SL-MANET-ROUTERS 站点本地-移动自组网 路由器 mobile mesh network 或 mobile ad hoc network |
[RFC6621] |
ff02::fb为IPv6 mDNS (多播DNS)地址。
mDNS 是一种零配置服务,用来将主机名称解析为 IP地址。
mDNS 常用于未部署本地 DNS 服务器的小型网络。
RFC 6762 MulticastDNS
ff02::1:3 为本地网段内的所有 LLMNR(本地链路多播名称解析,Link-Local Multicast Name Resolution)主机地址。
LLMNR 可在本地链路上用 DNS 数据包的格式来执行IP 名称解析。
RFC 4795 Link-Local Multicast Name Resolution
5. IPv6 恳求节点多播地址
ff02::1:ff00:0/104 (Solicited-Node Address) 恳求(或翻译为请求)节点多播地址
IPv6 设备会为接口的每个IPv6 公网单播地址、本地唯一地址以及本地链路地址,自动创建并分配一个IPv6 恳求节点多播地址。
前缀 ff02::1:ff00:0/104 加 对应IPv6单播地址的后24位.
目的地址为IP 多播地址的第3层(多播)数据包在第2层以太网内传播时, 会被封装为目的 MAC 地址为多播地址的以太网(多播)帧 (IP多播地址与多播 MAC 地址之间有一种特殊的对应关系)。
这样就有了以下3种地址: 后面会详述3者的关系.
IPv6 单播地址 > 恳求节点多播地址 > 以太网多播 MAC 地址
5.1 IPv6 恳求节点多播地址结构
恳求节点多播地址属于多播地址, 所以前16位和所有多播地址定义一致.
- 1. [ff] (8位 prefix 前缀) ff00::/8, 即固定的 ff 开头
- 2. [0] (4位 flag 标记) 标记: 0, R, P, T
- 3. [2] (4位 Scope 范围) 限定多播地址复盖的范围
后面的112位群ID分为如下几个部分
- 4. [::] (79位 zeroes) 这里填充79位0
- 5. [1:ff] (9位 one) 这里填充9位1
以上共104位固定为恳求节点多播前缀: ff02::1:ff00:0/104
- 6. (24位 unicast) 这里是对应单播地址的后24位
由以上6部分组成128位的IPv6恳求节点多播地址
5.2 多播以太网MAC地址
IANA Considerations and IETF Protocol and Documentation Usage for IEEE 802 Parameters
(RFC 9542 IEEE 802 参数的 IANA 注意事项以及 IETF 协议和文档使用) 规定:
预留以33-33 打头的以太网 MAC 地址(33-33-xx-xx-xxxx),将其作为封装 IPv6 多播数据包的以太网多播帧的目的 MAC 地址。
前缀 33-33 加 对应 IPv6肯求节点多播地址 的后32位 组成48位的 [以太网多播MAC地址]
按照[RFC2464](IPv6 数据包在以太网上的传输)中的规定⽤于 IPv6 多播。
多播 MAC 地址属于⾏政分配的 SLAP (IEEE 802 结构化本地地址规划)
5.3 3种关联地址对应关系
IPv6 单播地址 > 恳求节点多播地址 > 以太网多播 MAC 地址
- 只要启用IPv6, 就会自动生成或获取到IPv6单播地址;
- 只要有了单播地址, 又会自动生成恳请节点多播地址;
- (固定前缀 ff02::1:ff00:0/104 加上 对应的IPv6单播地址 后24位)
- 只要有了恳请节点多播地址, 还会自动生成对应的多播MAC地址.
- (固定前缀 33-33- 加上 对应的IPv6恳请节点多播地址 后32位)
3种关联地址对应关系图
IPv6 单播地址 > 恳求节点多播地址 > 以太网多播 MAC 地址

5.4 多台IPv6设备共用相同的IPv6 恳求节点多播地址
由于多个IPv6单播地址的后24位有可能相同, 生成的恳求节点多播地址就相同.
因此可能会出现多台设备监听同一个IPv6 恳求节点多播地址的情况,但这并不会引发任何问题。
在目的地址为 IPv6恳求节点多播地址的高层协议消息(如ICMPv6 邻居恳求消息)中,一般都会包含一个名为“目标 IPv6 地址”的字段。
收到这种高层协议消息时,只有既定的目标 IPv6 设备会做进一步处理,因为其网卡的IPv6 单播地址与消息中的“目标 IPv6 地址”字段值匹配。
其他的IPv6 设备则会被丢弃,因为其网卡的IPv6 单播地址与消息中的“目标 IPv6 地址”字段值不匹配,即便其也监听同一个IPv6 恳求节点多播地址。
5.5 众所周知的IPv6 多播地址与以太网 MAC 地址之间的对应关系
众所周知的IPv6多播地址也有对应的以太网多播MAC地址, 对应关系整理在前面表格里.
4. 由IANA分配 (预定义IPv6多播地址)
在以太网内用多播机制而不是广播机制传递数据(IPv6 数据包)的主要优点是, IPv6 主机的以太网 NIC 可根据目的多播 MAC 地址,来确定是否将以太网多播帧“体内”的数据转交给高层协议处理。
6. 更多预设的MAC地址
- 33-33 开头的多播MAC地址 用于IPv6.
- 01-00-5E 为前缀则构成IPv4的多播 MAC 地址.
除了這些多播用途, 还有如下这些预设的MAC地址.
6.1 特殊的前⼋位字节位
6 个⼋位字节的 48 位 MAC 的第⼀个⼋位字节的底部(最低有效)四位具有特殊 含义如图1所⽰,下⾯分别称为 M、X、Y 和 Z 位。
M bit: 此位通常称为“组”或“多播”位。
- [0] 如果为零,则表示 MAC 地址为单播。
- [1] 如果为一,则表示地址为组播(多播或广播)。
此含义与 X、Y 和 Z 位的值无关。
X bit: 此位也称为“通用/本地”位(以前称为“本地/全局”位)。
- [0] 如果该位为零,则表示 MAC 地址为全局地址,由 IEEE 分配前缀的所有者控制。
- [1] 如果该位为 1,并且 IEEE 802 结构化本地地址规划 (SLAP) 有效,则 MAC 地址的性质可由 Y 位和 Z 位选择性地确定,如下所述。
以前,如果该位为 1,则表示 MAC 地址被视为“本地”地址,由本地网络运营商分配和控制。
Y&Z : 如果 X 位为零,则这两个位没有特殊含义。
如果 X 位为 1,且 IEEE 802 结构化本地地址规划 (SLAP) 有效, 则这两个位将原本统一的“本地”MAC 地址空间划分为四个象限,如下所示,下文将进一步说明:
0 1 2 3 | 4 | 5 | 6 | 7 | 0 1 2 3 | 4 5 6 7 | 0 1 2 3 | 4 5 6 7 | ||
Quadrant | 象限 | . . . . | Z | Y | X | M | . . . . | . . . . | . . . . | . . . . |
Administratively Assigned | 行政分配 | 0 | 0 | 1 | ||||||
Extended Local | 扩展本地 | 0 | 1 | 1 | ||||||
Reserved | 保留 | 1 | 0 | 1 | ||||||
Standard Assigned | 标准分配 | 1 | 1 | 1 | ||||||
EUI-48 单播标识符 | 00-00-5E | 0000 | 0 | 0 | 0 | 0 | 0000 | 0000 | 0101 | 1110 |
IPv4多播MAC | 01-00-5E | 0000 | 0 | 0 | 0 | 1 | 0000 | 0000 | 0101 | 1110 |
IPv6多播MAC | 33-33 | 0011 | 0 | 0 | 1 | 1 | 0011 | 0011 | ||
用于PPP的CF多播前缀 | CF- | 1100 | 1 | 1 | 1 | 1 | ||||
0 1 2 3 | 4 | 5 | 6 | 7 | 0 1 2 3 | 4 5 6 7 | 0 1 2 3 | 4 5 6 7 |
6.2 IANA OUI 下的 MAC 地址分配
- 以 00-00-5E 为前缀构成单播 MAC 地址,
- 以 01-00-5E 为前缀构成多播 MAC 地址,
- 以 02-00-5E 为前缀构成单播改进型 EUI-64 地址,
- 以 03-00-5E 为前缀构成多播改进型 EUI-64 地址。
摘錄 6.4. 以太网本地网络模块的扩展
通过将 IP 地址的低 23 位放入以太网多播地址 01-00-5E-00-00-00(十六进制)的低 23 位中,即可将 IP 主机组地址映射到以太网多播地址。
由于 IP 主机组地址有 28 个有效位,因此多个主机组地址可能映射到同一个以太网多播地址。
为 IPv4 多播分配 2^23 个地址范围:
01-00-5E-00-00-00 ⾄ 01-00-5E-7F-FF-FF
6.3 ⽤于 PPP 的CF系列MAC
声明从 CF-00-00 到 CF-FF-FF 的 3 个⼋位字节值为
IANA 可分配给软件供应商⽤于 PPP 的“OUI” [RFC1661]
PPP Vendor Specific OUI Options
PPP 供应商扩展 [RFC2153] 使用 IEEE 标准 OUI(组织唯一标识符)来指示供应商特定的功能。
有关联系 IEEE 的详细信息,请参阅 [RFC1700]。
希望将其 IEEE 802 OUI 用于 PPP 供应商扩展的供应商应向 IANA 注册其 OUI。
不需要 IEEE 分配的 OUI 的供应商可以向 IANA 申请“CF0000”范围之外的 PPP 特定 OUI,该范围的“本地分配”位和“广播/多播”位均设置为 1。
有关详细信息,请参阅 [RFC2153]。
The CFxxxx Series
[RFC2153] 描述了一种在没有分配合适的常规 OUI 时使用“伪 OUI”实现特定目的的方法。
这些注册表位于 PPP 参数 IANA 网页上。CF 系列注册表已被 [RFC5342] 关闭。
(SLAP)IEEE 802 结构化本地地址规划, (LLDP) 链路层发现协议.
请参阅:[IANA registry ppp-numbers]。
7. 多播侦听者发现功能
IPv6 路由器要借助多播侦听者发现(MLD)功能,来发现特定子网内的IPv6 多播客 户端(多播侦听设备)。
在IPv4 网络环境中,IPv4 多播路由器会借助 Internet 群管理协议(IGMP),来管理 多播(接收设备)群。
MLD 定义于RFC 2710 “Multicast Listener Discovery for IPv6"。
MLDv2 定义于RFC 3810 “Multicast Listener Discovery Version 2 (MLDv2) for IPv6”
MLDv1 支持ASM (Any Source Multicast) 模型,
而MLDv2 可以直接支持SSM (Source-Specific Multicast) 模型。
MLD 消息与所有其他的IPv4 和IPv6数据包一样,其源地址也必须是单播地址。
8. ICMP,MLD,IGMP定义
ICMPv6 是Internet Control Message Protocol Version 6 的缩写, 是一种控制和诊断协议,用于在IPv6 网络中进行管理和诊断。
MLD (Multicast Listener Discovery) 则是ICMPv6 的一个子协议, 负责在IPv6 网络中建立、维护组播组成员关系。
IGMP(Internet Group Management Protocol)是IPv4 网络中的组播协议,
MLD 可以理解为IGMP 的IPv6 版本。他们的功能和工作原理是相同的,只是报文格式不同。
MLDv1 对应IGMPv2,MLDv2 对应IGMPv3。
IGMP 用于IPv4组播,而ICMPv6 除了用于IPv6组播, 还增加了网络诊断和错误报告。
9. 查看本机多播相关信息的命令
Windows 查看本機加入多播群, 包含 的 ff 開頭的IPv6, 224 開頭的IPv4
> netsh interface ipv6 show joins
> netsh interface ipv4 show joins
Windows 查看邻居缓存, 包含IPv6 ff 與 3333; IPv4 224 與 01005e
> netsh interface ipv6 show neighbors
> netsh interface ipv4 show neighbors
Linux及MacOS 系统 显示 加入的多播设备群
$ netstat -g
$ ip -6 maddr show
Linux 查看邻居缓存
$ ip -6 neigh show
MacOS 查看邻居缓存
$ ndp -a
sztom
osoft@qq.com
CC-BY-NC-SA