1.1 IP 组播概述 当信息(包括数据、语音和视频)传送的目的地是网络中的少数用户时,可以采用多种传送方式。可以采用单播(Unicast)方式,为每个用户单独建立一条数据传送通路;或者采用广播(Broadcast)方式,把信息传送给网络中的所有用户,使用这种方式时,不管用户是否需要,他们都会接收到广播来的信息。例如,在一个网络上有 200 个用户需要接收相同的信息时,传统的解决方案是用单播方式把这一信息分别发送 200 次,以便确保需要数据的用户能够得到所需的数据;或者采用广播的方式,在整个网络范围内传送数据,需要这些数据的用户可直接在网络上获取。这两种方式都浪费了大量宝贵的带宽资源,而且广播方式也不利于信息的安全和保密。 IP 组播技术的出现及时解决了这个问题。组播源仅发送一次信息,组播路由协议为组播数据包建立树型路由,被传递的信息在尽可能远的分叉路口才开始复制和分发(参见图 1-1),因此,信息能够被准确高效地传送到每个需要它的用户。 ServerUnicastServerMulticastReceiv erReceiv erReceiv erReceiv erReceiv erReceiv er 图1-1 单播与组播传送消息的对比 需要注意的是,组播源不一定属于组播组,它向组播组发送数据,自己不一定是接收者。可以同时有多个源向一个组播组发送报文。 网络中可能有不支持组播的路由器,组播路由器可以使用隧道方式将组播包封装在单播 IP 包中传送给相邻的组播路由器,相邻的组播路由器再将单播 IP 头剥掉,然后继续进行组播传输。从而避免对网络的结构进行较大的改动。 组播的优势主要在于: 提高效率:降低网络流量,减轻服务器和 CPU 负荷; 优化性能:减少冗余流量; 分布式应用:使多点应用成为可能。 1.2 组播地址 1.2.1 IP 组播地址 组播报文的目的地址使用D 类IP 地址,范围是224.0.0.0 到239.255.255.255。D 类地址不能出现在IP 报文的源IP 地址字段。 单播数据传输过程中,一个数据包传输的路径是从源地址路由到目的地址,利用“逐跳”(hop-by-hop)的原理在IP 网络中传输。然而在IP组播环境中,数据包的目的地址不是一个,而是一组,形成组地址。所有的信息接收者都加入到一个组内,并且一旦加入之后,流向组地址的数据立即开始向接收者传输,组中的所有成员都能接收到数据包。组播组中的成员是动态的,主机可以在任何时刻加入和离开组播组。 组播组可以是永久的也可以是临时的。组播组地址中,有一部分...