组播协议允许将一台主机发送的数据通过网络
路由器和交换机复制到多个加入此组播的主机,是一种一对多的通讯方式。
内容简介
组播协议与广泛使用的单播协议的不同之处在于,一个主机用单播协议向n个主机发送相同的数据时,发送主机需要分别向n个主机发送,共发送n次。一个主机用组播协议向n个主机发送相同的数据时,只要发送1次,其数据由网络中的路由器和交换机逐级进行复制并发送给各个接收方,这样既节省服务器资源也节省网络主干的带宽资源。
与广播协议相比,只有组播接收方向路由器发出请求后,
网络路由器才复制一份数据给接收方,从而节省接收方的带宽。而广播方式无论接收方是否需要,网络设备都将所有广播信息向所有设备发送,从而大量占据接收方的接入带宽。
组播历史
在1980年代初
斯坦福大学的一位博士生叫Steve Deering,在为其导师David Cheriton工作,设计一种叫做Vsystem的分布式操作系统。此操作系统允许一台计算机使用MAC层组播向在本地Ethernet段的一组其他计算机传递信息。
随着工作的扩展组播必须跨越路由器,所以必须将组播扩展到
OSI模型的第三层,此历史重任落到了Steve Deering身上,他总结了组播路由的通信协议基础,并最终在1991年12月发表的博士论文中进行了详细的阐述。
优势
组播协议的优势在于当需要将大量相同的数据传输到不通主机时:
1.能节省发送数据的主机的系统资源和带宽;
2.组播是有选择地复制给又要求的主机;
3.组播可以穿越公网广泛传播,而广播则只能在局域网或专门的广播网内部传播;
4. 组播能节省网络主干的带宽。
缺点
与单播协议相比,组播没有补包机制,因为组播采用的是UDP的传输方式,并且不是针对一个接受者,所以无法有针对的进行补包。所以直接组播协议传输的数据是不可靠的。
组成
组播协议主要包括组管理协议(IGMP)和组播路由协议(密集模式协议(如DVMRP,PIM-DM)、稀疏模式协议(如PIM-SM,CBT) 和链路状态协议(MOSPF))。
* 组管理协议IGMP
主机使用IGMP通知子网组播路由器,希望加入组播组;路由器使用IGMP查询本地子网中是否有属于某个组播组的主机。
* 加入组播组
当某个主机加入某一个组播组时,它通过“成员资格报告”消息通知它所在的IP子网的组播路由器,同时将自己的IP模块做相应的准备, 以便开始接收来自该组播组传来的数据。如果这台主机是它所在的IP子网中第一台加入该组播组的主机, 通过路由信息的交换,组播路由器加入组播分布树。
* 退出组播组
在IGMP v1中,当主机离开某一个组播组时,它将自行退出。组播路由器定时(如120秒) 使用“成员资格查询” 消息向IP子网中的所有主机的组地址(224.0.0.1)查询,如果某一组播组在IP子网中已经没有任何成员, 那么组播路由器在确认这一事件后, 将不再在子网中转发该组播组的数据。与此同时,通过路由信息交换, 从特定的组播组分布树中删除相应的组播路由器。 这种不通知任何人而悄悄离开的方法, 使得组播路由器知道IP子网中已经没有任何成员的事件延时了一段时间,所以在IGMP v2.0中,当每一个主机离开某一个组播组时, 需要通知子网组播路由器,组播路由器立即向IP子网中的所有组播组询问,从而减少了
系统处理停止组播的延时。
* 组播路由协议
要想在一个实际网络中实现组播数据包的转发,必须在各个互连设备上运行可互操作的组播路由协议。 组播路由协议可分为三类:密集模式协议(如DVMRP,PIM-DM)、稀疏模式协议(如PIM-SM,CBT) 和链路状态协议(MOSPF),下面分别介绍各个协议的工作原理。
* 距离向量组播路由协议(Distance Vector Multicast Routing Protocol:DVMRP)
DVMRP由
单播路由协议RIP扩展而来,两者都使用距离向量算法得到网络的拓扑信息,不同之处在于RIP根据路由表前向转发数据, 而DVMRP则是基于RPF。为了使新加入的组播成员能及时收到组播数据,DVMPR采用定时发送数据包给所有的LAN的方法, 然而这种方法导致大量路由控制数据包的扩散,这部分开销限制了网络规模的扩大。另一方面,DVMRP使用跳数作为计量尺度, 其上限为32跳,这对网络规模也是一个限制。提出了分层DVMRP,即对组播网络划分区域, 在区域内的组播可以按照任何协议进行,而对于跨区域的组播则由
边界路由器在DVMRP协议下进行,这样可大大减少路由开销。
* 开放式组播最短路径优先协议(Multicast Open Shortest Path First:MOSPF)