摘 要: 以Spines覆盖网络通用平台为基础,对流媒体数据多流并行传输的相关问题进行了研究。简要介绍了Spines网络,根据流媒体实时并行传输的要求,对Spines网络中的相关协议进行了改进,并引入了具有QoS保证的覆盖网络多路路由策略、DHT技术及LEACH协议。
关键词: Spines覆盖网络;流媒体;并行传输;QoS多路路由;DHT;LEACH协议
随着互联网技术的不断发展,流媒体技术(Streaming Media)日益成熟并普及。如今,流媒体技术被广泛用于视频点播、视频直播和实时视频会议等实时服务领域,为网络的发展注入了新的活力。但流媒体用户的急剧增加及其种类繁多的应用形式,给现有的网络资源也带来了极大的负担。同时,通用覆盖网络概念的提出,使覆盖网络不再仅针对一项特定的应用。根据服务要求,利用通用覆盖网络提供的一项或几项性能保证,并以此为基础进行平台扩展,可适应特定的某项应用。Spines是目前较常用的一种通用覆盖网络平台,可支持有较高QoS要求的实时流媒体服务。因此,本文选择在Spines覆盖网络上对流媒体的多流并行传输进行研究。
1 Spines覆盖网络[1]
Spines是一种源代码公开的通用覆盖网络,由约翰-霍普金斯大学的分布式网络实验室开发,常被用于覆盖网络协议的测试和开发。
1.1 Spines软件结构
Spines覆盖网络的每一个Spines节点由Spines覆盖网络的一个覆盖节点与一个Spines的Daemon软件构成。它的结构分为用户层和覆盖网络节点层两个功能层层次,在每项应用中具体表现为:会话层、覆盖网络节点层和覆盖链路层,如图1所示。
会话层是覆盖网络上的应用程序接口,Spines会话层为用户应用提供了应用程序接口。用户通过连接到Daemon进行会话建立,如果需要与其他的用户进行端到端的可靠通信,Daemon就会初始化端到端的会话模块,并由TCP提供可靠连接。当用户要求进行尽力而为的通信时,数据利用UDP传输,而控制信息仍通过TCP来传输。因此,Spines可利用会话模块管理两个终端应用之间数据的输入输出次序、端到端拥塞控制和流拥塞控制,以降低丢包率,提供端到端的可靠通信。
覆盖网络节点层则主要用于链路资源和网络拓扑的管理,实现应用层数据的路由转发。每个覆盖节点负责保证与邻居节点的连接,各邻居节点间通过不可靠Hell包,定期互相发送Ping消息来检测彼此间的连接情况。Hello协议为Spines相邻Daemon之间提供了创建、销毁、检测虚拟链路和测量链路的延时特性。同时,覆盖节点则需通过虚拟链路前向传输数据包或是传送信息给其自己的客户。而Spines虚拟链路上的每一个数据前向转发器(Data-Forworder)都会解析消息头,然后把它传向下一个链路或传给Daemon接口。为了实现不同的前向数据传输机制,Data-Forworder允许可靠会话和尽力而为会话。
而覆盖链路层是建立在IP网络基础上,通过UDP连接,可实现尽力而为数据链路、可靠数据链路、实时数据链路和控制链路四种虚拟链路。节点之间通过虚拟链路建立连接和发送数据。由于Data Forworder支持实时链路、可靠链路或不可靠链路之间的任意结合使用,用户可根据具体的应用需求,选择更合适的链路传输数据。
1.2 Spines主要协议
(1)逐跳传输协议
Spines采用了逐跳传输协议,通过逐跳传输的方式实现逐跳的拥塞控制和丢包恢复,为Spines覆盖链路提供数据的可靠传输。由于使用存储转发的方式,特别在网络状况较差的情况下,当发生丢包时无需从发送端重传便能实现丢包恢复,较好地改进了传输性能。因此,可通过覆盖网络节点检测丢包,并执行重发,与端到端传输相比,具有较小的传输时延,减少了覆盖路由的开销,提高了链路的吞吐量。
(2)实时恢复协议
Spines的实时恢复协议则进一步改善了实时传输的时延、丢包率和吞吐量等性能,可以支持对QoS有较高要求的实时多媒体业务,如VoIP、视频会议等。
(3)Spines多播
Spines结合IP多播的优点,实现了覆盖多播。Spines多播支持同时有多个发送者和多个接收者的多播服务,并支持多个多播组。它使用D类的IP地址来定义一个多播组,当发送数据到某个多播组时,代表多播组地址作为目的地址。
(4)Hello协议
Hello协议实现的功能主要有:通过类似TCP连接的“三次握手”机制,建立、拆除、检测Spines覆盖网络中邻居节点之间的连接;通过频率性的发送Hello包,测量邻居节点间链路的往返时间;根据Hello包所携带的丢包信息,计算链路的丢包率;使用Hello协议来更新路由代价。
(5)State Flood协议
State Flood协议可实现Spines网络拓扑及多播信息的更新,采用“洪泛”的方式来向整个网络传播拓扑结构信息(Link State)和多播组信息(Grou Pstate)。
1.3 Spines优缺点分析
(1)Spines优点
Spines的主要协议使其可以支持有较高QoS要求的实时流媒体业务,如VoIP和实时视频会议等。因此可将其作为通用覆盖网络平台,研究用于流媒体服务的覆盖网络性能、QoS路由及多流并行技术等。Spines与流媒体技术、QoS路由、多流并行传输技术结合,可提供质量更好的实时流媒体服务。
(2)Spines缺点
由于每个Daemon连接不同数量的应用,且每个应用从Daemon中获取务的要求也不同,引起Spines的负载不均衡问题。而Daemon之间采用的“洪泛”服务查询机制,当Daemon较多时,会产生网络拥塞问题。且当某一Daemon因故退出网络时,在它之间获取服务的应用所需要的服务并不能被其他Daemon发现,使Spines网络不能支持网络拓扑结构动态变化的问题。
目前要在Internet上传输流媒体数据,首先必须解决的三个最重要的问题包括:网络带宽的供不应求问题、流媒体数据的实时传输问题及多媒体数据流的强突发性问题。针对这些问题,结合Spines覆盖网络的优缺点,下面分别介绍基于Spines覆盖网络的流媒体多路路由方案及其改进方案。
2 基于Spines覆盖网络的流媒体多路路由方案
多路路由能有效利用物理网络资源,寻找源与目的端之间的多条路径,使数据遵循一定的策略在网络中传输。所以基于流媒体服务的覆盖网络采用多路路由方案可以整合不同网络信道上的剩余带宽,使流媒体数据在网络中传输的质量最大化,并提供比单路径路由更高的速率来传输数据,同时保证网络性能的稳定。近年来,国内外对覆盖网络及流媒体多路路由的研究逐渐向多元性、复杂性方向发展。
2.1 覆盖网络及流媒体多路由研究现状
参考文献[2]提出了利用多路径代替单路径的方法提高覆盖网络QoS性能;参考文献[3]提出了提高覆盖网络多路径路由吞吐量的方法;参考文献[4]分析了多路径路由的多路径相关性,提出了提高网络QoS应注意的几个问题,并以网络SNR(Signal to Noise Ratio)为例提出了优化方法;参考文献[5]提出了如何使用多网络路径,利用合成带宽寻找最好的路径,从而提高媒体流可靠性的方法。而目前,对流媒体多路路由算法的研究主要有:MDC[6-7]、FGS[8]、MIRO[9]和一种新的覆盖网络视频流多路选择方案[10]等,但这些方案都没有综合考虑多路路由时路径之间的相关性问题。
2.2 基于Spines覆盖网络的流媒体多路路由
Spines覆盖网络能稳定地提供较好的流媒体服务,但是其灵活性和动态性较差,无法满足网络拓扑结构的动态变化。Spines中任一节点加入、退出或是失效都可能会引起整个网络的瘫痪,网络的可扩展性也较差。这也将无法满足日益增加的流媒体用户需求。相比之下,同样具有自组织结构的P2P网络则具有很高的耐攻击性和容错性。由于采用自组织的方式,P2P网络可支持节点的动态加入和离开,且一般的P2P架构在出现节点失效时能够自动调整拓扑结构,保持其连通性。
而分布式哈希表(DHT)路由算法是P2P的核心技术,可高效合理地实现网络资源的索引及管理。在Spines网络的覆盖节点层中引入DHT技术,可提供一个具有高扩展性的节点命名、路由发现和更新机制。它通过为每一个实体指定唯一的标识,并通过路由表来确定本节点的邻节点,再向其邻节点传递消息。依此逐一通过多个节点的逐跳传输后到达目标节点,实现任意两节点间的通信。因此,在Spines覆盖网络中引入P2P核心技术DHT可实现一种完全自组织的分布式覆盖网络。
同时,为了合理地利用剩余带宽资源,解决网络资源贫乏的问题,在自组织的Spines覆盖网络中引入多路并行方案,可从源节点同时并行传输流媒体数据的多条数据流到目的节点,实现具有一定QoS保证的实时流媒体服务。
3 基于Spines覆盖网络的流媒体多路路由改进方案
随着分布式技术的发展,人们将更多的注意力投向分布式网络的可靠性及可用性。对分布式数据的管理问题成为分布计算领域的又一热点。本文引入了LEACH(Low Energy Adaptive Clustering Hierarchy)[11]协议,利用聚类首领机制有效抗击恶意攻击,增强网络的抗毁性,从而提高网络的可靠性。
3.1 LEACH协议
LEACH是MIT的Chandrakasan等人为无线传感器网络设计的低功耗自适应聚类路由算法。相比一般的平面多跳路由协议和静态聚类算法,LEACH可以将网络生命周期延长15%。LEACH定义了“轮(Round)”的概念,一轮由初始化和稳定工作两个阶段组成。它主要通过随机机制选择聚类首领,平均分担中继通信业务来实现。为了避免额外的处理开销,稳定工作状态一般持续的时间相对较长。聚类首领选择机制为:在初始化阶段,将传感器节点生成0~1之间的随机数,若大于阈值T(n),则选该节点为聚类首领。T(n)的定义如下:
其中,p为节点中成为聚类首领的百分数,r是当前的轮数,G是在过去的1/p轮没有被选择为聚类首领的节点的集合。
当聚类首领被选定,它们便主动向所有节点广播这一消息。依据接收信号的强度,节点选择它所要加入的组,并告知相应的聚类首领。
在稳定工作阶段,节点持续采集监测数据,传给聚类首领,进行必要的融合处理之后,发送到Sink节点。因此,这是一种减小通信业务量的合理工作模式。在持续一段时间后,整个网络进入下一轮工作周期,重新选择聚类首领。由于节点是根据信号的强弱来加入相应的组,所以当恶意攻击者采用Hello Flood大功率进行广播时,大量的节点都想加入到该组中。接着恶意节点采用诸如选择重发、修改数据包等其他的攻击方法,来达到攻击的目的。但采用这种聚类首领的产生机制,节点可以通过Svbil攻击增加自己被选择为首领的机会,从而抵制恶意攻击。
3.2 基于Spines覆盖网络的流媒体多流并行传输
基于LEACH协议的原理,通过周期性的选择聚类首领,将集中的数据访问合理地分布到不同的节点和网络路径上,利用不同的聚类首领平衡网络的负载,从而有效地解决热点问题,提高系统性能。
根据以上分析,提出了基于Spines覆盖网络平台的流媒体端对端的多流并行实时传输方案,以改进流媒体服务系统并行传输的QoS,如图2所示。
图2中,以现有Internet设施为基础,在应用层的主机上运行Spines节点软件,构建Spines覆盖网络,通过覆盖网络的协调工作,实现了具有一定QoS保证的流媒体实时应用。其中结合了DHT技术、LEACH协议及QoS多路路由方案等。
本文以Spines覆盖网络为基础网络平台,对流媒体实时并行传输的QoS多路路由进行了研究。一方面,引入DHT技术,有效提高了Spines覆盖网络的可扩展性;另一方面,引入LEACH协议的聚类首领机制,有效提高了网络的可靠性和可用性。但Spines的实时传输要求逐跳的时延不能太大,否则就难以发挥逐跳传输的优势。这里就有一个参数折衷的问题。同时节点的加入、离开造成链路性能的动态变化,覆盖网络QoS多路路由算法对可用带宽的测量也是一个问题。随着宽带网络及3G网络的普及,对基于覆盖网络的流媒体传输的QoS问题的研究也越来越重要。
参考文献
[1] The Spines Overlay Network. http:// www. spines. Org. com.[2010-12-01].
[2] Pi Renjie, Song Junde. Multi-path transmission based on overlay network[C]. Proceedings of the 18th International Conference on AINA, IEEE, 2004.
[3] MARK B L, Zhang Shidong. A multipath flow routing approach for increasing throughput in the Internet[C]. IEEE Pacific Rim Conference on Communications, Computers and Signal Processing, PacRim 2007,2007:21-24.
[4] MAURO A D, SCHONFELD D, CASETTI C. A peer-to-peer overlay network for real time video communication using multiple paths[C]. IEEE International Conference on Multimedia and Expo, 2006:921-924.
[5] JURCA D, PETROVIC S, FROSSARD P. Media aware routing in large scale networks with overlay[C]. IEEE International Conference on Multiniedia and Expo, 2005.
[6] APOSTOLOPOULOS J G. Reliable video communication over lossy packet networks using multiple state encoding and path diversity[C]. Video Communication and Image Processing. VCIP’01, 2001.
[7] Lin Shuna, Wang Yao, Mao Shiwen. Video transport over ad hoc networks using multiple paths[C]. IEEE International Symposium on Circuits and Systems, 2002.
[8] Zhou Jian, Shao Huairoug, Chia Shen, et al. Multi-path transport of FGS video[C]. Proceeding of Packet Video Work shop, 2003.
[9] Xu Wen, REXFORD J. MIRO: multi-path interdomain routing[C]. Proceedings of the 2006 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications, SIGCOMM’06, New York, USA, 2006.
[10] Ma Zheng, Shao Huairong, Shen Chia. A new multi-path selection scheme for video streaming on overlay networks[C]. Proceeding of IEEE International Conference on Communication, 2004.
[11] HEINZELMAN W, CHANDRAKASAN A, BALAKRISHNAN H. Energy-efficient communication protocols for wireless microsensor networks[C]. Proceedings of Hawaaian International Conference on Systems Science, January, 2000.