摘要:IP组播技术要求发送端和接收端以及收发两端之间的网络设施都必需具备IP组播功能,使用路由协议建立从源端到所有希望接收多媒体课件的接收端之间的多目标树,实现一点到多点的通信。
关键词:IP组播,组播分布树,组播地址
中图分类号:TP1 文献标识码:A 文章编号:(2005)01-00-59-02
IP组播技术在远程教育中的应用
李 莉
多媒体远程教学发展中的一个非常棘手的瓶颈问题是有限的带宽和巨大的通信容量之间的矛盾。即使采用很好的压缩技术,扩大存储容量、增加通信干线的传输率等办法,在网络上传输多媒体数据所需要的带宽仍然很大。利用IP组播技术(IP multicast)传输多媒体课件,不仅可以节省宝贵的网络资源(主要是带宽)和服务器资源,而且可以保证服务质量。IP组播技术在远程教学中将会并且正在起着越来越重要的作用。
一、IP组播技术的概念
信息包在网络上的传输的方法是IP寻址方法,每个信息包都是用一个唯一的IP地址,一次只给一个节点(即主机)传送,这种方法称为单目标传送(unicast)。如果使用单目标广播服务把相同内容的信息传输给N个目标站点,就必须要传输N次。
使用这种方法有下列缺点不仅浪费链路带宽,而且加重服务机的负担。一个比较好的方法是把消息一次性地同时传输给N个目标站点,如图1所示,这就叫做IP组播(multicasting)。IP组播(也称多址广播或多播)技术,是一种允许一台或多台主机(组播源)发送单一数据包到多台主机(一次的,同时的)的TCP/IP网络技术。组播作为一点对多点的通信,是节省网络带宽的有效方法之一。在多媒体远程教学中,当需要将一个节点的信号传送到多个节点时,无论是采用重复点对点通信方式,还是采用广播方式,都会严重浪费网络带宽,只有组播才是最好的选择。组播能使一个或多个组播源只把数据包发送给特定的组播组,而只有加入该组播组的主机才能接收到数据包。
图1 IP组播
研究表明,要满足多目标广播的要求,只需在IP协议中增加支持组播的路径安排 (multicast routing)功能就可以。IP组播路由协议(IP Multicast routing protocol)比较好地满足了在IP网络上实现组播的功能。
二、IP组播所需要的环境
为支持IP组标广播,发送端和接收端以及收发两端之间的网络设施都必需具备IP组播功能,包括中间的路由器。对本地的IP组播,主机节点所需要的环境是:
(1) TCP/IP协议堆中可支持IP多目标广播;
(2) 软件支持网际主机组管理协议(Internet Group Management Protocol,IGMP),这样就可以申请参加IP组播组(multicast group)和接收多目标广播;
(3) 要有IP组播应用软件,例如电视会议软件。
在LAN网络上运行或者评估多目标广播,只需要以上的环境就满足。在这个环境下,不需要路由器来为主机的适配器创建或者加入多目标广播组就可以与其他主机共享多目标广播数据。
在WAN网络上运行或者评估多目标广播,还需要在接收两端之间的所有路由器都具备IP组广播的功能。
三、IP组播分布树
网络将使用路由协议建立从源端到所有希望接收多媒体课件的接收端之间的多目标树,图2说明这种树的结构。网络建立组播树的过程如下:
(1) 广播源把数据或者广播通知发送给所有路由器;
(2) 不想参加组播的终端逆向发送一个删除消息;
(3) 删除没有成员的分支和不在最短路径树上的分支;
(4) 在广播源生成最短路径树;
(5) 使用联结和删除功能改变成员之间的关系。
现在至少有三种多目标广播路由协议:
(1) 距离向量组播路由协议(Distance Vector Multicast Routing Protocol,DVMRP)。
(2) 组播开放最短路径优先协议(Multicast Open Shortest Path First,MOSPF)。
(3) 独立组播(Protocol Independent Multicasting,PIM)。
四、IP组播的地址和主机组的管理
1、IP组播地址
IP组播通信必须依赖与IP组播地址。在Ipv4中使用D类IP地址(Class D Internet Protocol addresses),它的最高4位为1110就是用来指定组播主机组群(multicast host groups)的地址。在网际协议地址(IP地址)的“点十进制”记法中,主机组的地址范围从224.0.0.0到239.255.255.255。主机组的地址划分为两种类型,一种称为永久性地址,另一种称为暂时性地址。地址的分配由因特网号码分配局(Internet Assigned Numbers Authority,IANA)掌握。244.0.0.0到244.0.0.255是为路由协议和其他用途保留的地址。其他的地址和地址范围用于应用软件,例如,244.0.13.000到244.0.13.255用于网络新闻(Net News),这些保留的IP多目标广播地址列在RFC 1700中。广播发布或者叫做会话发布协议(Session Announcement Protocol)和会话说明协议(Session Description Protocol)—— RFC 2327草案描述了如何创建和检测MBone的会话地址/端口的分配。
使用同一个IP组播地址接收组播数据包的所有主机构成了一个主机组,也称为组播组(host group)。一个主机组的成员是随时变动的,一台主机可以随时加入或者退出主机组,主机组成员的数目和所在的地理位置也不受限制,一台主机也可以属于几个主机组。此外,不属于某一个组播组的主机也可以向该主机组发送数据包。
发送给主机组所有成员的数据包称为IP组播数据包(IP Multicast Datagram),这种数据包与单目标广播IP数据包相同。要发送IP组播数据包时,发送端指定一个代表主机组的目标地址,使用与发送单目标数据包一样的操作“Send IP”来发送多目标广播数据包。
与发送IP组播数据包比较,接收IP组播数据包要复杂得多,尤其是在WAN上。为了接收数据包,用户主机上的应用软件需要在组播主机组中申请成员资格。申请成员资格要与LAN上的路由器通信,如果需要的话还要与发送端和接收端之间的中间路由器进行通信。有了成员资格之后,接收端主机上的网络接口卡就可开始筛选具体的LAN网络硬件(数据链路层)的地址,这个地址是与新的组播组地址相关联的。WAN路由器把请求的组播数据包递送到LAN路由器,LAN路由器把接收端的主机地址转换成相关的硬件地址,然后使用这个地址创建消息(例如,以太网帧)。正在注意这些地址的接收主机的网络接口卡和网络驱动程序就把组播消息传输给TCP/IP协议堆,由协议堆把组播消息变成用户应用程序的输入。
2、网际主机组管理协议
如果LAN上组播组的成员要接收来自远距离广播源的广播,组播信息包就必需要通过路由器转发到LAN网上。组播路由器通过使用网际主机组管理协议(Internet Group Management Protocol,IGMP)来查明直接附加到子网的主机组成员是否存在,它发送一个IGMP查询消息以获得主机组成员的情况。IGMP的详细内容可参看RFC 1112和RFC 2236。
网际主机组管理协议IGMP在IP上的执行过程与网际控制消息协议(Internet Control Messages Protocol,ICMP)的执行过程类似。IGMP消息封装在IP数据包(IP datagram)中,而数据包有两种类型:主机成员查询(Host Membership Query)数据包和主机成员报告(Host Membership Report)数据包,它们具有相同的如下固定格式。
为了确定在局域网上的任何一台主机是否属于组播组,每个子网上的路由器要周期性地向LAN上的所有终端主机发送一个主机成员查询(Host Membership Query)信息,要求它们汇报主机组群成员的情况。这个查询被送到所有主机组(网络地址=224.0.0.1),而每台主机都回送一个主机成员报告(Host Membership Report)信息,如图3所示,这样就可确定子网上的主机是否加入组播组,从而确定是否要把组播数据包送到这个子网。
3、接收端如何参与组播
组播会话消息经常通过因特网广告通知接收端。广告使用应用层的广播会话说明协议(Session Description Protocol,SDP)来发布。这个协议发送广告的地址是224.2.2.2,UDP端口号是4000,这是一个特殊的组播会话。发送的广告内容包括组播的名称、组播时间(active times)、媒体的类型(声音、电视、白板等等)和组播地址。任何有兴趣了解组播的主机都可以参加这个特殊的组播会话和接收这种广告。可用一台主机运行用户代理来收集广告并把广告摘要用图形方式向用户显示。第一个这样的用户代理叫做会话目录(Session Directory,SD),是由LBL(Lawrence Berkeley Laboratories )的Van Jacobson开发的,它除了显示公告之外,也启动多目标应用程序和为任何一个新的组播会话选择一个地址。
当源端开始一个新的组播时,SD就从多目标地址空间中随机地选择一个组播地址。参加组播的主机需要做两件事:①要立即给最近的路由器发送一个消息,告诉它参加组播,发送这个消息是使用应用层的一个叫做网际主机组管理协议IGMP。②要设置IP进程去接收IP数据包,因为它在IP目标地址域中含有会话的组播地址,当接收端组播会话时,类似的进程也要设置。
五、结束语
在多媒体课件的传输过程中,运用IP组播技术,有效地解决了单点发送多点接收、多点发送多点接收的问题,实现了IP网络中点到多点的高效数据传送。能够有效地节约网络带宽、降低网络负载,提高多媒体远程教育的质量。
参考文献:
[1]岩延、郭江涛.组播路由协议设计及应用[M].人民邮电出版社,2002.10.
[2][美] BEAU WILLIAMSON,顾金星等译.IP组播网络设计开发[M].电子工业出版社,2000.6.
[3]http://www.sea168.net.
