IP组播技术实现了IP网络中点到多点的高效数据传送,能够有效地节约网络带宽、降低网络负载。但是,在组播网络设计时仍应十分小心,以免引起网络性能恶化或由于不恰当地使用IP组播应用而过分地消耗网络带宽,使网络发生故障。另外,随着Internet迅猛发展,其网络规模越来越庞大,结构越来越复杂,仅仅依靠端到端的拥塞控制是不够的,网络必须参与资源的控制工作。目前IP组播拥塞控制策略是在路由器中采用包调度算法结合缓存管理技术,由此而产生了几种IP处理的方法。本文主要从IP组播流量管理和拥塞控制两方面进行了一些探讨。



传统的IP通信是在一个源IP主机和一个目标IP主机之间(单播)或者一个源IP主机和网络中所有的IP主机之间(广播)进行的。现在要将信息发送给网络中的多个而非所有IP主机,如果采用传统的IP通信技术就有两种方法可以选择:要么采用广播方式,要么由源IP主机分别向网络中的多个目标IP主机单播发送IP包。广播方式不仅会将信息发送给不需要的IP主机而浪费带宽,也可能由于路由回环引起一场严重的广播风暴。单播方式由于IP包的重复发送而白白浪费掉大量带宽,同时也增加了服务器的负载。可见,传统的IP通信技术不能有效地解决单点发送多点接收的问题。而IP组播却很好地解决了这个问题。
组播是指信源将信息发向所有网络节点的某个确定子集的点到多点的通信形式。IP组播是指在IP网络中数据包以尽力传送的形式发送到所有网络节点的某个确定子集,这个子集称为组播组。IP组播的基本思想是源IP主机只发送一份数据,一个或多个接收者可接收相同数据的拷贝。即允许源IP主机向网上所有IP主机的一部分(子集)发送IP分组,只有该子集内的主机(目标主机)可以接收该分组,而网络中其它IP主机不能收到该分组。这种逻辑上的子集(目标主机)就是组播组,用D类IP地址(224.0.0.0~239.255.255.255)来标识。
IP组播技术有效地解决了单点发送多点接收、多点发送多点接收的问题,实现了IP网络中点到多点的高效数据传送。能够有效地节约网络带宽、降低网络负载。IP组播技术在实时数据传送、网络电视、多媒体会议、数据拷贝、游戏和仿真等诸多方面都得到了广泛的应用。
一、流量管理
带宽控制是网络设计的一个基本问题,也是进行网络设计时要考虑的第一个问题,对组播网络也是如此。
随着网络技术的发展,多媒体应用的日益普及,对网络提出的带宽要求也是越来越高。在许多情况下,由于不正确的配置会造成带宽的大量浪费。虽然IP组播的使用是节省网络带宽的一个非常有效的方法,但是,在组播网络设计时仍应十分小心,以免引起网络性能恶化或由于不恰当地使用IP组播应用而过分地消耗网络带宽,使网络发生故障。
下面讨论两种可以防止在组播网络上消耗过多带宽的技术。这两种方法是相辅相成的,它们可以被一起使用,以提供更好的组播流量管理。
1、速率限制
速率限制的主要实现方法是通过在特定接口上限制输入或输出组播信息流的带宽。这是一种具有相当强制性的方法。
(1)接口速率限制
一般来说,网络工程师并不知道网络中哪一个发送源将向组播组发送组播信息,因此速率限制的最普遍的应用是对一个接口上发送的所有组播信息设置一个绝对上限值。这个绝对上限值叫速率限制汇总。当使用这种形式的速率限制时,每当某个接口上发送组播信息时,就要将该接口上发送的所有组播信息流的速率汇总和上述的速率限制汇总相比较。如果信息流的速率汇总超过了速率限制汇总,则路由器就必须开始丢弃组播信息包,直到达到规定的速率为止。
输入接口的配置与出接口的配置相同,路由器只需在接口上设置一个它可接收的最大速率。如果全部接收到的组播信息的速率汇总超过了设置的最大速率值,则路由器开始丢弃在输入接口上的组播信息,直到输入的组播数据流的速率达到规定的速率为止。
(2)对单独组播流的速率限制
有时以接口为基础的速率限制汇总并不能满足对网络带宽限制的要求,因为这种技术只设置了在一个接口上允许传送或是接收的组播信息速率的上限值。在某些情况下,需要对每个单独的组播信息流规定一个最大速率。这可以通过对组播转发表中的某一个组播转发项设置一个速率限制来实现这种对各个单独组播流的速率限制。
当路由器发送和接收组播信息流时,将该组播信息流与相应的组播转发项上设置的速率限制值进行比较。如果组播信息流的速率小于配置的速率限制,则将正常转发和接收组播信息包;否则就丢弃该组播信息包。
2、区域划分
除速率限制外,另一种控制带宽的有效方法是使用区域划分和IP组播边界。其基本思想是将组播信息速率的限制进行层次划分。层次结构中的每一个等级定义了一个组播地址的范围,在该地址范围内发送的组播信息速率可达到该等级所规定的最大速率。例如,表4.1给出了一个简单的三层结构,它被用来将组播信息速率划分成三个区域,每个区域有一个对应的速率限制上限。
使用这种区域结构就可以阻止高速组播信息传输出准备处理该速率的组播信息的区域,比如阻止高速组播信息离开校园网以免在广域网上传输。这就使得带宽高的网络可以处理高速率的组播信息流,而且将该信息流仅仅限制在该区域内,而不会被扩散至低带宽的网络中去。
表1 简单的三层区域结构
组范围 速率(Kbit/s)
239.255.0.0/16 >256
239.193.0.0/16 <=256
224.0.1.0~238.255.255.255 <=128

二、拥塞控制
IP组播拥塞控制问题的重要性,随着IP组播日益广泛的应用需求而变得越来越迫切。TCP基于窗口的端到端的拥塞控制对于Internet的稳定性起到了关键性作用,但是随着Internet迅猛发展,其网络规模越来越庞大,结构越来越复杂,仅仅依靠端到端的拥塞控制是不够的,网络必须参与资源的控制工作。
目前IP组播拥塞控制策略是在路由器中采用包调度算法结合缓存管理技术,由此而产生了几种IP处理的方法,如下所述:
1、先进先出
先进先出(FIFO)提供了基本的存储转发功能,也是目前Internet使用最广泛的一种方式,它在网络拥塞时存储分组,在拥塞解除时按分组到达顺序转发分组。它采用默认的排队方法,因此不需要配置。其缺点是不提供QoS功能,对突发数据流在传输时间要求严格时,应用程序会引起过多的延迟,并对突发性的、存在包丢失的连接公平性较差,对上层的TCP快速恢复的效率也较低。
2、优先级排队算法
优先级排队(PQ:Priority Queuing)算法是在禁止其它流量的前提下,授权一种类型的流量通过。使用优先级排队算法给路由接口上传输的数据分配优先级,当有空闲路由时,路由就来回扫描所有队列,将高优先队级列数据发出;只有当高优先级队列空了以后,才能为低优先级服务;如果优先级队列满,则扔掉数据包,路由器不处理。优先级排队算法适用于网络链路不断阻塞的情况。
优先级排队算法的带宽分配独立于数据包大小。因此它在没有牺牲统计利用的情况下提供另外的公平性,与端到端的拥塞控制机制可以较好地协同,它的缺点在于实现起来很复杂,需要每个数据流的排队处理、流状态统计、数据包的分类以及包调度的额外开销等。
3、定制排队
定制排队是为允许具有不同最低带宽和延迟要求的应用程序共享网络而设计的。定制排队为不同的协议分配不同的队列空间,并以循环方式处理队列;为特定的协议分配较大的队列空间可以提高其优先级。定制排队比优先级更为公平。
定制排队可以保证每一个特定的通信类型得到固定部分的可用带宽,同时在链路紧张的情况下,避免数据包企图占用超出预分配量限制的可能。
4、加权公平排队
加权公平排队(WFQ:Weighted Fair Queuing)用于减少延迟变化,为数据流提供可预测的吞吐量和响应时间。目标是为轻载网络用户和重载网络用户提供公平一致的服务,保证低权值的响应时间与高权值的响应时间一致。
加权公平排队是一种基于数据流的排队算法,它能识别交互式应用的数据流,并将应用的数据流调度到队列前部,以减少响应时间。WFQ与定制排队和优先级排队不同,能自动适应不断变化的网络通信环境,几乎不需要人工配置。
5、随机先期检测
前面介绍的排队机制是基本的拥塞控制策略,尽管这些技术对控制拥塞是必需的,但它们对避免拥塞现象的发生都显得无能为力。
随机先期检测(RED:Random Early Detection)监视网上各点的通信负载,如果拥塞增多,就随机丢弃一些分组;当源分布点检测到通信丢失,便降低传输速率。它可以在各连接之间获得较好的公平性,对突发业务适应性较强。
6、加权随机先期检测
加权随机先期检测(WRED:Weighted Random Early Detection)是将随机先期检测与优先级排队结合起来,这种结合为高优先级分组提供了优先通信处理能力。当某个接口开始出现拥塞时,它有选择地丢弃较低优先级的通信,而不是简单地随机丢弃分组。
总之,在传统TCP拥塞控制中,结合IP层拥塞控制算法,将是完善Internet拥塞控制最有效的途径,但其发展还有待进一步研究。

三、使用IP组播传输视频的一个实例
我们使用如下方案:利用软件和服务器,在整个IP宽带网上叠加一个处理媒体流的叠加网,由叠加网实现点到多点组播、媒体流路由和多点注入等功能。即计算机配合专用软件组成服务器,实现实时控制。当然,传输方法的实现要能与目前的网络设施相兼容。
以上方案实施过程中,计算机(服务器)时刻监控着系统,达到尽可能好的广播质量和高效率,绝不会发生如“广播风暴”等危险。
根据以上要求我们设计了如下系统,它由四部分组成:视频发送、视频转发、视频接收、视频控制。
1、视频发送?
视频发送为预制视频或者称为实时视频,它可以是独立的计算机,也可以与第一级“视频转发”单元共用一台计算机。具体地说,我们先将视频按MPEG-1编码技术进行实时视频压缩,此格式的数码率为1.5 Mbit/s,图像采用SIF格式(352×288),每秒30帧,2路立体声伴音。然后我们将压缩后的信号送到视频转发端。信号从视频发送连接到视频转发是点到点的传输(此单元属于IPv4的通信方式)。
2、视频转发
视频转发主要是将从视频发送端发送来的视频信号,通过IP网络转发给视频接收端或下一级的视频转发端。它是IP组播传输视频信号的核心,视频信号用IP组播方式转发,即对一组特定IP地址(同一类请求的用户)进行数据传送。视频转发,由转发计算机(服务器)完成。?
3、视频接收
视频接收是用户的多媒体终端。要求用户的多媒体终端设备必须能支持IP组播。
4、视频控制
其主要功能是对转发站点进行控制,用来建立和管理转发站点上的IP组播数据组的传输。控制系统要能最大限度地满足完成指向需求用户的数据发送,同时密切注意视频传输的质量。具体地说就是要尽可能多地为同类请求用户发送数据,但要在允许的带宽范围之内。这个带宽是通过计算机实时控制的,计算机实时控制系统随时监控视频传输的质量,自动调整带宽;同时对网络其他各项参数也实现实时监控。
此方案的关键技术是合理的视频转发,寻求最大的效率,又有满意的传输质量。此方案的实现,得益于计算机的实时控制技术。我们用此方法在100M Ethernet LAN网络实现实时网络IP组播视频传输的试播,传输MPEG-1视频信号(每个视频流带宽1.5 Mbps),视频信号传输效果良好,证明以上方案是可行的。