中山大学:流媒体入IPv6

流媒体应用与IPv6校园网

  对于校园网而言,流媒体有着用户数量庞大、互联网出口链路集中且带宽有限的特点,这些特点对互联网流媒体应用的使用带来了限制。这些限制体现在:由于流媒体码率的提高增加了单用户的带宽消耗,当大量用户同时连接到互联网时容易导致校园网的出口拥塞。

  为缓解上述问题,宜在校园网内部构建流媒体应用,这可充分利用校内网高速互连的特点,不仅推动校园网流媒体应用的发展,还将多数用户引导到使用校内流媒体应用(尤其是在大型比赛、晚会直播时),从而减轻了校园网的互联网出口压力,保证了用户体验。

  目前,中山大学校园网已实现全网IPv4/IPv6双栈支持,覆盖四个校区,总用户数达到4.6万以上,内部实现了10000Mb网络互连,这为建设大规模的流媒体应用提供网络和用户基础。

流媒体的建设

  设计思路

  校园网流媒体应用的实现方式既可以采取C/S方式,也可以采取P2P方式,其中C/S方式在实现上较为简单,而且技术上能较好地兼容IPv6协议;而P2P方式虽然也是IPv4流媒体应用的主流方式,但迄今还没有基于IPv6的成熟技术方案。综合考虑,中大依然选择C/S方式作为校园网流媒体应用的实现方式。

  流媒体应用首先要有流媒体源,源的提供可以使用不同的方法。以中大的校园网络电视应用为例,它不考虑校园网络区域的划分,是由单套设备提供流媒体源。显然,单套设备会成为整个流媒体应用中的瓶颈和故障点,因此需要在架构上进行优化,以提高应用系统的可靠性和稳定性。

  首先进行层次划分,增加中间层次以实现源提供设备和用户之间的隔离,避免用户直接访问源提供设备,以减轻其压力,保证其稳定可靠。此中间层次是以服务器群的方式实现,它结合用户区域分布的特点,采取分布式的架构。

  大规模校园网流媒体应用还有带宽消耗的问题需要解决,尤其是对于高清视频应用,其带宽消耗成为无法忽视的问题。以1.5Mb/s码率的网络电视应用为例,普通一台流媒体服务器可以提供1000Mb/s的用户带宽,那么单台服务器最多也只能承受600左右的用户同时连接,但是实际的并发用户数是远远超过600人的,特别是在进行大型体育赛事或节目转播的时候,网络电视用户数将会有级数级的增长。以“2010南非世界杯”为例,最高并发用户达1万人以上,显然采用常规的单播方式是很难支撑这么大的用户需求的。

  技术路线

  中大的校园网网络电视提供电视节目的实时转播,电视节目的信号源来自数字电视信号,在服务的提供上采用了传统的C/S方式。C/S方式的流媒体推送包括了两种方案,一种是单播方式,这种方式需要在客户端和流媒体服务器之间建立点对点的连接来传输流媒体数据,如HTTP、TCP、MMS方式等;另一种是组播方式,可以实现一点对多点的流媒体传输,客户端不需要通过TCP连接来从服务器获取数据,而是通过网络设备对流媒体数据进行复制和转发来获取,可以大大减轻校园网核心网和流媒体服务器的压力。

  单播方式的流媒体应用会消耗大量的网络带宽,特别是实施高清流媒体应用的时。因此需要采用更为合适的组播方式,组播方式通过组播路由器将流媒体数据复制并转发到作为组成员的客户端。对于流媒体服务器只需要提供一份数据即可,而核心网也只需要传递一份数据,从而解决其由于单播方式引起的带宽消耗问题。

  IPv6组播技术体系结构涉及到网络的各个层面:MAC地址层、IP层、应用层,需要在核心和汇聚层设备((路由器、三层交换机)、接入层交换机、组播源服务器和接收者主机各个层次配置相应的组播协议。这些协议包括主机-路由器之间的维持组成员关系协议、抑制组播报文在数据链路层广播的第二层组播协议、路由器-路由器之间的组播路由协议等。

  总体架构

  中大在构建基于IPv6的流媒体应用的总体架构时,结合了分层结构、分布式结构和组播技术,如图1所示,流媒体源服务器通过TCP连接向4台在各校区部署的组播服务器推送流媒体数据,组播服务器分别为其所属区域的终端用户提供流媒体服务。

  而在组播网络设计上,中大采取了双“RP路由器”的设计方案,通过冗余备份来提高可靠性,如图2所示。在PIMv6-SM网络启动后,主BSR收集网络内的RP信息,然后将RP信息集发布到整个PIMv6-SM网络。所有三层设备都在收集BSR消息,从中获取合适的组播组到RP的映射。RP在一个组播网络中可以存在多个,并且可以基于组播地址范围进行转发分工。不同组映射到不同RP可以实行RP负载分担。

图1 基于组播技术的IPv6流媒体应用的总体架构

图 2 IPv6组播网络设计

实施过程

  实施过程分为三个步骤,包括了组播协议的部署、流媒体采集编码和流媒体发布。

  组播协议的部署

  中大选择校园网的各校区园区网的骨干交换机作为RP节点,以保证RP节点的性能。流媒体数据从组播服务器到达接收客户端,经过了RP路由器、楼栋汇聚层交换机和用户接入层交换机,这些网络设备都需要进行相关的组播配置。在中山大学校园网中,使用RG-8606作为RP路由器,使用RG-5750/3760等作为楼栋汇聚层交换机,使用RG-2600/2100系列等作为用户接入层交换机。根据中大的实践,这些设备均可通过系统版本升级的方式来实现对IPv6组播的良好支持。

  为控制非法组播流量,中大将每个校区园区网配置成一个PIMv6域,指定校区的主骨干和备份骨干交换机分别为候选RP路由器和候选BSR路由器;在PIMv6域中的相关三层设备开启组播路由协议,在这些设备的相关接口配置PIMv6 SM协议,同时自动开启MLDv1协议;在二层交换机上启用MLDv1 Snooping。这样,就可在RP映射的组播组地址时限定组播源范围,不允许下游设备擅自接入组播源,规定用户只能加入规定的组播组等。另外,在接入层交换机上组播流量不宜控制过紧,其必须满足实际使用组播带宽的需求。

  流媒体采集编码

  流媒体的采集编码是由源提供服务器实现的。网络电视的视频源是来自数字电视机顶盒,其输出的模拟信号需要通过视音频采集卡将其转换为数字视频流,才能在IP网络中传输。视音频采集卡可以分为软编码卡和硬编码卡,软编码卡只对信号进行采集,然后由CPU承担视音频编码的工作,对服务器的性能有较高的要求;而硬编码卡则可以在采集信号的同时进行编码压缩,对CPU负荷较轻,服务器的性能要求不会很高。在Windows环境下,可以采用软编码卡结合Windows Media Encoder来进行视音频的采集和编码。中大在部署过程中采用的就是这种方案,Windows Media Encoder是一款功能强大,使用简单的视音频编码器,可以实现实时流媒体推送。

  在部署过程中,中大将视频编码码率提高为1500kbps时即可达到标清的视频画质;同时将音频编码码率设置为32kbps,并将流媒体数据包限制在1500字节以内,避免了由于数据包的长度超出以太网的MTU而导致的分片。中大在部署初期发现,流媒体最大数据包默认值为16000字节,在网络传输时任何一个分片丢失都会造成16KB的数据丢失,这样对用户观看效果产生严重影响,画面会出现明显的停顿和不连续现象。于是,将最大数据包大小设置为1377字节,这样就数据包分片的现象不再发生,而且即便单个数据包的丢失也只会造成1377字节的丢失,对用户观看效果的影响明显降低。

  流媒体发布

  电视信号经过采集和编码之后往流媒体服务器推送,也就是组播服务器。组播服务器是直接面向用户的,一个方面需要从采集编码服务器获取流媒体数据,另一方面以组播的方式向用户推送。中大在部署改该服务器时使用了Windows Media Service,它通过创建广播发布点来提供流媒体服务,并采用组播的方式复制多份相同的流媒体数据分发给不同网段的客户端。

  针对校园网大规模流媒体应用,中大采用了基于IPv6组播的技术方案、分布式的应用架构,并在构建平台时选择了Windows。校园网络电视业务的实际部署验证了其可行性,“2010南非世界杯”的网上直播更是充分检验了应用系统的稳定性和可靠性。

  流媒体应用不仅包括视频直播,还包括视频点播,视频会议等。虽然应用场合千差万别,但是组播等核心技术都有着其不可获缺的用武之地。中大接下来将以校园网IPv6网络电视业务建设为契机,进一步推动IPv6流媒体应用的发展。另外,虽然目前IPv6环境下的P2P流媒体应用尚无成熟方案,但这也是需要进行探讨和研究的一个重要方向。

  (作者单位为中山大学信息与网络中心)

文章来源:《中国教育网络》杂志2010年8月刊

原创文章,作者:中国IPv6网,如若转载,请注明出处:https://www.ipv6s.com/basis/application/20100811472.html

(0)
中国IPv6网的头像中国IPv6网
上一篇 2010年8月10日
下一篇 2010年8月12日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注