IP组播:组播地址、IGMP、组播路由。
4.6 IP组播
4.6.1 组播的概念
IP组播是一种高效的网络通信技术,支持一对多或多对多的数据传输模式,通过向特定组播地址发送单个数据报,即可将信息同时送达多个目标接收者。
组播的优势:
- 避免单播模式下为每个接收者单独发送数据带来的资源浪费。
- 显著降低网络带宽消耗,提升传输效率(适用于视频直播、在线会议、软件更新分发等场景)。
组播组:
- 每个组播组由一个特殊的IP地址标识(D类地址,范围224.0.0.0~239.255.255.255)。
- 源主机将数据报的目标地址设置为组播组地址,路由器依据该地址将数据报副本定向投递给组内所有成员。
组播的实现机制:
- IGMP协议:主机通过IGMP与本地路由器交互,声明加入或离开组播组。
- 局域网内:利用链路层的硬件多播功能(如以太网多播MAC地址与IP组播地址的映射)直接投递数据帧。
- 广域网中:依赖组播路由器运行特定协议(如PIM)构建组播转发树,动态计算最优传输路径。
注意:组播仅支持UDP协议,因其“尽最大努力交付”的特性与组播的非可靠传输需求相契合。TCP面向连接且要求可靠传输,仅适用于一对一通信场景。
4.6.2 IP组播地址
1. IP组播地址范围
- D类IP地址前四位为
1110,范围:224.0.0.0 ~ 239.255.255.255。 - 组播地址只能作为目的地址,不能作为源地址。
- 对组播数据报不产生ICMP差错报文(如ping组播地址不会收到响应)。
- IP数据报首部中协议字段值为2,表明使用IGMP协议。
2. 以太网组播MAC地址
- 以太网MAC地址第1字节的最低位为1时表示组播地址。
- IANA分配的以太网组播地址范围:
01-00-5E-00-00-00~01-00-5E-7F-FF-FF。 - 该范围只有23位可用作组播,与D类IP地址中的23位有一一对应关系(D类IP地址有28位可用,前5位不参与映射)。
IP组播地址到MAC地址的映射:
- 将IP组播地址的低23位直接复制到以太网组播MAC地址的低23位。
- 以太网组播MAC地址的高25位固定为
01-00-5E,第24位固定为0。
1 | IP组播地址: 1110 xxxx xxxxxxxx xxxxxxxx xxxxxxxx |
3. IGMP协议
- 因特网组管理协议,用于让本地组播路由器知道本局域网上主机加入或退出组播组的情况。
- IGMP报文封装在IP数据报中传输,是IP协议的一个组成部分。
IGMP工作两阶段:
- 加入组播组:主机向组播地址发送IGMP报文声明加入,本地组播路由器记录并将信息转发给其他组播路由器。
- 动态维护:本地组播路由器周期性探询局域网上的主机,确认组成员是否仍活跃。若多次探询无响应,则认为该组已无成员,不再转发其成员关系。
4. 组播路由选择协议
- 目的:找出以源主机为根节点的组播转发树,确保数据报无环路、无重复地转发给所有组成员。
- 不同组播组对应不同的组播转发树;同一组播组对不同源点也可能有不同的转发树。
- 常见协议:PIM(协议无关组播)等。
习题
IGMP协议的主要功能是(B. 管理主机与路由器之间的组播组成员关系)
组播路由器在转发组播数据时,依据的是(**B. 目的IP地址 (组播地址)**)
IPv4组播地址的地址范围是(B. 224.0.0.0 ~ 239.255.255.255)
关于组播MAC地址的描述,正确的是(A. 组播MAC地址范围为 01-00-5E-00-00-00 ~ 01-00-5E-7F-FF-FF)
IPv4组播IP地址224.1.1.1对应的组播MAC地址是(A. 01-00-5E-01-01-01)
- 224.1.1.1的二进制:11100000.00000001.00000001.00000001
- 取低23位:0000001.00000001.00000001
- 拼接MAC前缀01-00-5E + 第24位0 + 低23位 → 01-00-5E-01-01-01
笔记结束