当前课程知识点:计算机网络 > 第四章 网络层 > 4.6 IP多播 > IP多播
现在多播已成为因特网的一个热门课题
这是由于许多的应用
需要由一个源点发送到许多个终点
即一对多的通信
比如 实时信息的交付
软件更新 交互式会议等
随着因特网的用户数目的急剧增加
以及多媒体通信的开展
更多的业务需要多播来支持
与单播相比 多播可大大节约网络资源
如图 视频服务器用单播方式
向90个主机传送同样的视频节目
为此 需要发送90个单播
即同一个视频分组要发送90个副本
造成大量的重复通信量
收看视频节目的主机数更多时
情况则更加严重
我们再来看看采用多播方式的情形
如图 视频服务器采用多播方式向
属于同一个多播组的90个成员传送节目
这时 视频服务器只需要
把视频分组当作多播数据报来发送
并且只需发送一次
路由器R1在转发分组时
需要把收到的分组复制成3个副本
分别向R2 R3和R4各转发一个副本
当分组到达目的局域网时
由于局域网具有硬件多播功能
因此不需要复制分组
在局域网上的多播组成员
都能收到这个视频分组
当加入多播组的主机数很大时
采用多播方式
可明显减轻网络中各种资源的消耗
因特网网络层进行的多播
就叫做IP多播
IP多播所传送的分组
需要使用多播 IP地址
多播数据报的目的地址
写入的是多播组的标识符
然后设法让加入到多播组的主机的IP地址
与多播组的标识符关联起来
多播组的标识符
就是IP地址中的D类地址
多播地址只适用于目的地址
而不能用于源地址
永久组地址由
因特网号码指派管理局 IANA 负责指派
224.0.1.0至238.255.255.255
是全球范围都可使用的多播地址
多播组的成员是动态变化的
可以动态的加入和离开
现在大部分主机都是
通过局域网接入到因特网的
在因特网上进行多播的最后阶段
要把多播数据报在局域网上
利用硬件多播交付到多播组的所有成员
由于局域网支持硬件多播
只要把IP多播的地址
映射成局域网的硬件多播地址
将 IP多播数据报
封装在局域网的硬件MAC帧中
则可以很方便地利用硬件多播
来实现局域网中的IP多播
因特网号码指派管理局 IANA
将地址块 01-00-5E-00-00-00
到 01-00-5E-7F-FF-FF
分配作为多播地址
不难看出 该地址块只有23位是可变的
D 类 IP 地址前4位为类别位1110
可供分配的有 28 位
在这 28 位中的前 5 位
不能用来构成以太网硬件地址
我们只需将IP多播地址的低23位
映射到以太网地址的低23位
即可实现IP多播地址
到局域网的硬件多播地址的转换
D类地址映射为
以太网多播地址的过程很简单
如图 D类地址的0到3位是类别位1110,
接着的第4到8位共5位不使用
后面的23位对应填入到
多播地址中后23位
就构成了48位的以太网多播地址
多播IP地址与
以太网硬件地址的映射关系不是唯一的
请看例1
将224.128.64.32转换为硬件多播地址
首先将IP地址
224.128.64.32转换成二进制数
然后将后23位填入
以太网多播地址的后23位中
则得到了48位的以太网地址
即01-00-5E-00-40-20
再看例2
将224.0.64.32转换为硬件多播地址
首先将 IP地址
224.0.64.32转换成二进制数
可以看到转换后的后23位
跟上例完全一样
所以转换后的硬件多播地址
也跟上例完全一样
也是 01-00-5E-00-40-20
多播IP地址与
以太网硬件地址的映射关系不是唯一的
收到多播数据报的主机
要在IP层利用软件过滤
IP多播比IP单播复杂
IP多播需要两种协议
第一种是网际组管理协议IGMP
使路由器知道多播组成员的信息
第二种是多播路由选择协议
其作用是使连接在局域网上的多播路由器
和因特网上的其他多播路由器协同工作
以便把多播数据用最小的代价
传送给所有的组成员
网际组管理协议IGMP
使多播路由器知道多播组成员信息
如图是因特网上传送多播数据报的例子
图中有4台主机参与了多播组
226.15.37.123
显然多播数据报应该传送到
路由器R1 R2和R3
而不应当传送到路由器R4
但这些路由器又如何知道多播组成员信息呢
这就需要IGMP协议
IGMP有3种类型的报文
成员报告报文
离开组报文和成员查询报文
与ICMP类似
IGMP报文也是封装在
一个IP数据报中传输的
其IP协议字段为2
多播路由器会维护一个多播组列表
当一个主机要加入某个多播组时
会向本网络中的路由器
发送一个IGMP成员报告报文
其中包含要加入的多播组地址
这样多播路由器的多播组列表中
就会维护其所在局域网中
有主机加入的所有多播组的地址
当主机要退出一个多播组时
可主动发送一个离开组报文
多播路由器收到离开组报文后
立即向该组发送一个
特殊的 IGMP成员查询报文
若仍然没有收到该组的成员报告
才将该组从多播组列表中删除
还可采用成员查询报文监视成员的变化
多播路由器会周期性地发送一个成员查询报文
在本网络上的所有参加多播的主机
和路由器都会接收该报文
收到该报文的任意多播组的成员
将会发送一个成员报告报文作为应答
为了减少不必要的重复应答
采用一种延迟响应策略
收到成员查询的主机
并不是立即响应
而是等待一段随机时间
发现没有其他成员响应时才响应
如果多播路由器长时间
没有收到某个多播组的成员报告报文
则认为本网络中没有该多播组成员
将该组从维护的多播组列表中删除
请注意
IGMP 并非在因特网范围内
对所有多播组成员进行管理的协议
IGMP 不知道 IP 多播组包含的成员数
也不知道这些成员都分布在哪些网络上
IGMP 协议是让连接在本地局域网上的
多播路由器知道本局域网上
是否有主机(严格讲 是主机上的某个进程)
参加或退出了某个多播组
多播路由选择协议
比单播路由选择协议复杂得多
它需要针对不同的多播组
动态的适应多播组成员的变化
这时网络拓扑并未发生变化
多播路由协议的基本任务是
在多播路由器之间
为每个多播组建立一个连接源
和所有拥有该组成员的路由器的多播转发树
不仅仅根据多播数据报中的目的地址
还要考虑这个多播数据报
从什么地方来和要到什么地方去
还有一种情形是
某个主机并没有参加任何多播组
但它却可向任何多播组发送多播数据报
另外 多播数据报会经过许多网络
但经过的这些网络中
也不一定非要有多播组成员
-1.1 计算机网络的发展历程及其在信息时代中的作用
-1.2 互联网的组成
--互联网的组成
-1.3 电路交换和分组交换
-1.4 计算机网络的性能
--计算机网络的性能
-1.5 计算机网络体系结构和层次划分
-第一章
-2.1 数据通信系统模型
--数据通信系统模型
-2.2 导向型传输媒体
--导向型传输媒体
-2.3 光导纤维
--光导纤维
-2.4 非导向型传输媒体
--非导向型传输媒体
-2.5 信道的极限容量
--信道的极限容量
-2.6 信道复用技术
--信道复用技术
-2.7 ADSL
--ADSL
-第二章
-3.1 数据链路层的三个基本问题
-3.2 CSMA/CD协议
-3.3 虚拟局域网
--虚拟局域网
-3.4 扩展的以太网
--扩展的以太网
-3.5 高速以太网
--高速以太网
-第三章
-4.1 分类的IP地址-划分子网
-4.2 无分类编址-构造超网
-4.3 ICMP协议
--ICMP协议
-4.4 路由器结构
--路由器结构
-4.5 RIP协议
--RIP协议
-4.6 IP多播
--IP多播
-第四章
-5.1 用户数据报协议UDP
-5.2 TCP报文段首部格式
-5.3 可靠传输工作原理
--可靠传输工作原理
-5.4 字节为单位的滑动窗口实现
-第五章
-6.1 网络应用层
--网络应用层
-6.2 DNS
--DNS
-6.3 FTP
--FTP
-6.4 HTTP
--HTTP
-6.5 P2P
--P2P
-6.6 计算机网络面临的安全性威胁
-6.7 防火墙
--防火墙
--第六章
-7.1 交换机基本配置
--交换机基本配置
-7.2 路由器基本配置
--路由器基本配置
-7.3 交换机端口隔离
--交换机端口隔离
-7.4 跨交换机实现相同VLAN通信
-7.5 动态路由
--动态路由
-7.6 静态路由
--静态路由