一、组播的起源和应用
随着Internet的不断发展,电子商务,网络会议、视频点播、远程教学等服务大量兴起,这些服务大多符合点到多点的模式,特别适合于IP组播的应用。一个发送者需要同时向多个接收者发送完全相同的信息时,如果采用单播方式,则网络需要传输大量的报文,路由器性能和低速WAN链路都会成为瓶颈。若采用广播的方式,虽然源端只发送一份数据,但目标网段内的每个主机都会收到报文,并且由于路由器隔离广播,需要使用定向广播才能到达远端主机。相比之下,组播可以让源主机只向单个组播地址发送一份数据包,接收者侦听该组播地址接收数据包,从而解决了非目的主机处理非期望数据包的负担。与广播包不同,组播路由器能够转发组播包。
二、组播网络模型分为两种类型,分别为ASM和SSM
- ASM:
Any-Source Multicast,任意源组播,主要包含PIM-DM和PIM-SM两种模式。
ASM模型仅针对组地址提供组播分发。一个组播组地址作为一个网络服务的集合,任何源发布到该组地址的数据得到同样的服务。接收者主机加入组播组以后可以接收到任意源发送到该组的数据。
为了提高安全性,可以在路由器上配置针对组播源的过滤策略,允许或禁止来自某些组播源的报文通过。最终从接收者角度看,数据是经过筛选的。
ASM模型要求组地址必须整个组播网络中唯一。“唯一”指的是同一时刻一个ASM地址只能被一种组播应用使用。如果有两种不同的应用程序使用了同一个ASM组地址发送数据,他们的接收者会同时收到来自两个源的数据。这样一方面会导致网络流量拥塞,另一方面也会给接收者主机造成困扰。
- SSM:
Source-Specific Multicast,特定源组播,SSM模型借助PIM-SM的部分技术和IGMPv3来实现的,无需维护RP、无需构建RPT、无需注册组播源,可以直接在源于组成员之间建立SPT。
SSM的特点是网络用户能够预先知道组播源的具***置。因此用户在加入组播组时,可以明确指定从哪些源接收信息。
SSM模型针对特定源和组的绑定数据流提供服务,接收者主机在加入组播组时,可以指定只接收哪些源的数据。加入组播组以后,主机只会收到指定源发送到该组的数据。
SSM模型对组地址不再要求全网唯一,只需要每个组播源保持唯一。这里的“唯一”指的是同一个源上不同的组播应用必须使用不同的SSM地址来区分。不同的源之间可以使用相同的组地址,因为SSM模型中针对每一个(源,组)信息都会生成表项。这样一方面节省了组播组地址,另一方面也不会造成网络拥塞。
三、组播路由协议
组播路由协议是一种运行在组播路由器之间,用于发现和维护组播路由信息并确定组播数据流转发路径的一种网络协议,其作用就如ospf,bgp在网络设备中的作用相似,不同之处在于该协议确定的转发路径是用于转发目标地址是D类的组播数据,常用的组播路由协议有CGMP、IGMP、PIM、DVMRP、MOSPF、CBT、MSDP、MVPN等,其中PIM协议又有许多的种类,如PIM-DM、PIM SM,PIM-SSM,PIM for IPv6等等
PIM是目前所有厂商都支持的一类组播路由协议。
通常在最后一跳网段,接收者和组播路由器间使用IGMP组播协议。而在中间组播路由器间则运行组播路由协议,如PIM路由协议,由其创建组播转发表。