实时视频分发以其高带宽需求和较低的抖动容忍度推动了一点对多点的多协议标签交换(MPLS)技术的发展。同时,这个技术还能够使其它需要高可扩展性和高可靠性的数据业务受益。
一点对多点的MPLS把多点协议的效率结合在了一起,例如,把PIM(协议独立组播)和DVMRP(距离矢量组播路由协议)等协议与MPLS的可靠性和服务质量结合在一起。
视频通常是从一个源头向大量的目的地发送。例如,体育比赛的广播需要把相同的数据流同时发送给美国的每一个有线电视公司的有线电视系统终端设备。这个数据流的带宽最高可达到每秒300MB,需要在没有丢失数据和没有抖动的情况下传输出去。过去,一直使用ATM(异步传输模式)或者SONET(同步光纤网络)设备来满足这些需求。与这些老技术相比,IP网络提供了灵活性和成本相对较低的好处,但是,在一点对多点的MPLS协议开发出来之前,IP网络还不能满足视频发布的需求。
MPLS改善了传统的IP数据包发送的效率。使用MPLS技术,每一个数据流都被分配一个具体的标签交换路经。一个标签将识别组成这个数据流的每一个数据包。这个路径中的路由器使用这个标签识别正确的标签交换路径,并把数据包发送给这个标签交换路径。MPLS的标签很短,能够用来制作标签交换路径的列表,比使用以子网掩码计算下一个跳点的完整的IP地址作索引效率要高得多。
MPLS的流量工程特性使得网络管理员可以为一个标签交换路径指定服务质量。例如,一个传输视频的标签交换路径的创建只需要包括链接和能够满足可用带宽需求和可以预料的延迟的需求的路由器。沿着这条路径的路由器在创建标签交换路径的时候保留这个带宽。后退路径与标签交换路径同时创建,这样,如果一个链接中断或者一台路由器失败,通信流能够很快重新得到路由。
MPLS原来是为了支持标签交换路径从一个网络接入点延伸到一个目的地而开发的。使用MPLS进行视频发布将需要创建从一个接入点到每一个目的地的单独的标签交换路径。数据源必须要把每一个数据包单独发送给每一个目的地,极大地增加了在数据源的工作量和在网络接入点的路由器的工作量。
在传统的IP网络上的多点协议消除了分别向每个目的地发送数据的需求,但是,不能为MPLS提供服务质量的保证。当数据包传送到一台路由器的时候,要计算出数据包的下一个跳点。在可用带宽范围内要保证在那个时候将有一台下一跳路由器是不可能的。
增加一点对多点的MPLS协议保留了流量工程的好处,同时减少了数据源的工作量和在网络接入点的路由器的工作量。单个标签交换路径是采用同样的流量工程技术从网络接入点开始一个接一个地创建的以便确保服务质量同点对点的标签交换路径相同。然后,在标签交换路径创建之后,它将与原来创建的标签交换路径结合在一起创建一个一点到多点的标签交换路径。
结果产生的一点到多点标签交换路径将沿着一个共同的路径到达一个点,然后从那个点分别发往不同的目的地。例如,最初创建的标签交换路径从网络入口的路由器A传送到路由器B、路由器C、然后传送到连接到第一个数据目的地的网络出口的路由器D。第二个标签交换路径从路由器A传送到路由器B、C,再传送到连接第二个目的地的出口的路由器E。这种一点对多点的标签交换路径将在路由器C分开。路由器A和路由器B每个数据包仅传送一次。路由器C是惟一一台需要传送两次这个数据包的路由器。第三个标签交换路径也许需要在路由器B分开。在这种情况下,路由器B必须要传送两次数据包。但是,没有一台路由器需要做全部的工作。沿着公共路径一直走到必须分开的点能够把重新发送数据的需求减少到最低限度。
一点对多点的标签交换路径不是固定的。通过增加另一个标签交换路径,可以随时增加额外的目的地。同样,也可以随时删除目的地。
虽然一点对多点的MPLS是按照视频的思路开发的,但是,它支持各种应用。MPLS流量工程没有指定一套固定的质量参数。每一个链接分配一个32位的相关数据。配置这个网络的管理员确定每一个字节的数据的含义。这个含义也许是带宽数量,或者是一个延迟的值,或者是一个货币的数值。每一个标签交换路径也可以使用一个32位的相关的字节进行设置,并且仅在拥有相匹配的相关的字节的链路上路由。这就为网络管理员提供了一种非常自由的方法,以便迫使标签交换路径符合任何一套要求的规定。
把多播协议的效率与MPLS中的流量工程设施结合在一起有希望使IP网络原来不支持的应用成为可能。IETF中的MPLS工作组即将完成一点对多点的MPLS标准的制定。