APP下载

基于OpenFlow网络的流媒体传输QoS研究与设计

2015-10-15陶智勇

电视技术 2015年3期
关键词:表项数据包路由

陶智勇,高 潮

(1.武汉邮电科学研究院,湖北 武汉 430074;2.光纤通信技术和网络国家重点实验室,湖北 武汉 430074)

基于OpenFlow网络的流媒体传输QoS研究与设计

陶智勇1,2,高 潮1,2

(1.武汉邮电科学研究院,湖北 武汉 430074;2.光纤通信技术和网络国家重点实验室,湖北 武汉 430074)

OpenFlow是软件定义网络(Software Definded Network,SDN)的产物,是一种新型的网络结构,且发展十分迅速。但OpenFlow网络的QoS功能仍待优化,针对于OpenFlow网络中流媒体传输QoS的不足,在现有网络QoS模式基础上提出了OpenQoS,它应用于OpenFlow网络的控制器上,采用动态路由的方式,使得流媒体在网络端到端传输时,能够根据网络状况,动态改变路由路径,进而提高网络QoS。最后,通过一个小的拓扑网络对本研究进行了试验验证。

OpenFlow;OpenQoS;动态路由

随着互联网的快速发展,网络上的业务量越来越庞大,且越来越复杂。于是,一种新的网络模型——软件定义网络(Software Definded Network,SDN)被提出,OpenFlow就是SDN的代表,它将传统路由转发模式中的设备控制与数据转发分开进行,集中管理,并且采用了基于流表的转发模式[1]。因此传统的QoS也需要进行改变,而OpenQoS就是在传统QoS的基础上设计提出的,它应用于OpenFlow网络中端到端的流媒体传输。

1 OpenFlow技术

OpenFlow是一种SDN网络,它起源于斯坦福大学的CleanSlate计划(一个致力于重新设计互联网的项目),同时也是GENI计划的一个子项目。它提出了OpenFlow的控制转发分离架构,将控制逻辑从网络设备中引出来,研究者可以通过一组定义明确的接口对网络设备进行任意编程,从而实现新型的网络协议、拓扑架构,而无需改动网络设备本身。

OpenFlow网络是有OpenFlow交换机(OpenFlow Switch)和控制服务器(Controller)来共同实现网络中报文的转发过程,这一设计一改现有网络中有交换机和路由器控制的转发过程,从而实现了路由控制和数据转发的分离。控制服务器则是通过OpenFlow协议来控制OpenFlow交换机中的流表,从而实现控制数据的转发,流表则是由很多个流表项组成,每个流表项就对应着一个转发规则。流表项由头域、计数器和操作3部分组成,其中头域是流表项的标识,计数器是用来计数流表项的统计数据,操作则标明了与该流表项匹配的数据包应该执行的操作。那么当数据包进入OpenFlow交换机时,就会查询流表来获得转发的目的端口,从而进行数据转发[2],OpenFlow网络的系统结构如图1所示。

图1 OpenFlow网络结构

2 OpenQoS控制器的设计

2.1 QoS网络结构

QoS是网络的一种安全机制,用来解决网络延迟和阻塞等性能的一种技术。目前的QoS结构可以主要分为两大服务类型,即IntServ(综合服务模型)和DiffServ(区分服务模型)。但是对于如何提升网络中流媒体的QoS,目前仍没有一种结构得到广泛应用。

IntServ通过预留资源技术,能够提供端到端有效的QoS。但是,它必须从发送端到接收端之间所有路由器都支持RSVP和许可控制协议,同时每个路由器还得花费大量资源来更新和维护数据库,因此IntServ模型对现有的路由改造十分复杂。

DiffServ则是通过将进入网络的数据包进行标记,划分为不同的类别,使不同类别的数据包获得不同的QoS服务级别。因此边缘路由器需要具有对数据包的分类功能,核心路由器则需要具有根据优先级进行数据包转发的功能[3],它不像IntServ和DiffServ只需要改变网络的边缘部分。

针对于以上两种QoS模型的不足,提出了OpenQoS,主要针对端到端的流媒体传输QoS。OpenQoS采用动态路由路径传输流媒体数据,而其他的数据依然保持它们的路径。这种结构主要的优势是能够减小数据丢包率和延迟。对于OpenQoS和现有QoS结构的具体比较见表1。

表1 QoS结构的比较

2.2 OpenQoS网络结构的设计

OpenQoS是标准OpenFlow控制器的扩展,它可以提供流媒体传输的QoS。在标准控制器的基础上添加了很多接口和模块功能,主要的接口设计有转发接口、控制接口、服务接口。控制器同样也添加了一些管理功能模块,主要有协议管理、路由管理、数据流管理、路由计算、呼叫准入、流量监管等[4],结构图如图2所示。

图2 OpenQoS控制器的设计(截图)

转发接口是通过一个安全通道和OpenFlow协议来为控制器提供网络状态信息,并负责转发控制器对网络的指令,它是控制器和当前网络的桥梁。当网络规模很大时,单个控制器结构则不能很好地处理,随着OpenFlow节点数的增多,多控制器是必须的。该接口允许控制器分享必要信息,从而共同管理整个网络。服务接口则是为运营商提供的,它可以提供一个开放、安全的接口,可以重新定义数据流分区,甚至可以重新定义与这些分区相关的路由规则。控制器的管理功能模块则是共同帮助控制器检测整个网络状态,实现路由器动态分配路径,从而达到QoS的目的。

2.3 OpenQoS管理系统的实现

在OpenFlow网络中,底层交换机会根据控制器提供的流表进行数据的转发。而OpenQoS主要是针对于流媒体端到端的传输,因此首先需要对流媒体的数据包进行标记分类。由于较低层的数据包相比四层数据包,解析起来比较容易。因此在OpenQoS中选择了MPLS作为流分类的方法,去区分流媒体数据包和普通数据包。MPLS是介于数据链路层和网络层之间,因此它可以将IP地址映射为简单而具有固定长度的标签,从而可以用于不同数据包的转发和交换。

OpenQoS提出了动态路由去解决最短路径问题,它主要应用于标准的OpenFlow控制器上。在此采用了Floodlight控制器,Floodlight是用Java语言写的一个稳定的开源控制器,可以很容易在上面添加一些功能模块[5]。OpenQoS在控制器上加了许多接口和模块功能,其中起重要作用的模块有路由管理和路由计算模块。

路由管理模块在OpenQoS控制器中发挥着重要作用,它负责实时监测网络状态信息,例如速率、可用带宽、丢包率等。每一个链路可以分为两种情况:拥塞和正常。事实上,带宽的利用率超过70%的时候,就可以认为是拥塞状态。OpenQoS控制器将会每间隔1 s发送FEATURE_REQUEST请求给转换端口,然后转换端口回复一个FEATURE_REPLY信息,并返回给控制器必要的网络数据。通过反馈的数据,控制器可以知道链路的拥塞状况。假如检测到链路出现拥堵,则路由计算模块将会根据现有的网络状态,计算出最短路径,并为此路径上的交换机重新定义流表。路由管理模块就会发送一个信号给转发模块,现有的路由线路则会被取消,然后控制器就会为流媒体数据流重新定义一个新的路由转发路径,从而可以将链路动态调整到最优状态[6]。

3 OpenQoS系统测试

为了验证OpenQoS在流媒体传输中的整体功能,于是搭建了一个简单的实验拓扑环境,如图3所示。

然后找出一段视频进行测试,用ffmpeg视频解码软件,使视频像素为1 280×720,帧速率为1 000f/s(帧/秒),时长为40s,编码为H.264模式,码速率为9 00kbit/s的视频流。

图3 OpenFlow测试拓扑网络

然后将此视频放在192.168.110.100的服务器上,而192.168.110.101作为客户端进行接收,在服务器和客户端PC上都采用了VLC流媒体播放软件进行收发。服务器上VLC采用RTP/UDP模式进行发送,一个采用5004端口进行发送,另一个视频流采用5005端口发送。通过5004端口发送的视频则采用了OpenQoS控制器,而5005端口则没有QoS功能。

在客户端收到两份视频后,用ffmpeg进行解码,并计算出两个视频的峰值信噪比(PSNR),比较的结果如图4所示。

图4 PSNR比较结果

根据图4,很容易看出有OpenQoS的视频流,当视频流出现下降时,即网络出现堵塞时,能够在1 s内迅速恢复过来,而没有QoS的视频流则会恢复得比较慢。通过这个对比,可以得出OpenQoS在端到端的视频传输中,能减小延迟、丢包率等,提高视频的传输指令,从而提高流媒体传输的QoS。

4 小结

OpenFlow是一种新型网络结构,OpenQoS则是应用与这种网络结构上的QoS,主要是通过动态路由配置,完成端到端的流媒体传输。通过实验可以得出,OpenQoS能够保证流媒体的视频无缝传输,同时也能够减小其他数据的延迟、丢包率等不利影响。

[1]何国锋.OpenFlow在下一代数据中心网络的应用研究[J].互联网天地,2013,3(3):71-74.

[2]PFAFF B,HELLER B,PETTIT J,et al.The OpenFlow switch specification[EB/OL].[2013-04-30].http://www.openflow.org/documents/openflow-spec-v1.1.0.pdf.

[3]吴慧,陈秋红,刘国辉.OpenFlow网络基于DiffServ模型的QoS管理机制的实现[J].电视技术,2014,38(5):113-115.

[4]王海涛,宋丽华.IP网络的QoS通用框架及其体系结构[J].电视技术,2002,26(9):29-32.

[5]冯靖君.基于OpenFlow网络的QoS集中管理系统的研究与实现[D].北京:北京邮电大学,2012.

[6]孙梦.IPV6下基于OpenFlow技术的QoS管理系统的设计[D].大连:大连理工大学,2011.

陶智勇(1973— ),教授,博士,中国通信学会高级会员,主要研究方向为网络通信;

高 潮(1988— ),硕士生,主要研究方向为网络通信。

责任编辑:许 盈

Research and Design of Streaming Media Transmission Based on OpenFlow Network

TAO Zhiyong1,2,GAO Chao1,2

(1.WuhanResearchInstituteofPostsandTelecommunications,Wuhan430074,China; 2.SKLofOCTN,Wuhan430074,China)

OpenFlow is SDN(Software Definded Network) product, is a new network architecture, and developed rapidly.But the QoS fuction of OpenFlow Network also need to be optimized.For the lack of streaming media transmission in OpenFlow network, it proposeS OpenQoS on the existing network model.It is applied on the OpenFlow network controller,using dynamic routing approach, making streaming media transmission end to end in network,could according to network conditions, changing routing paths, so can achieving the purpose of the network QoS.Finally, the research is verfided through the design of a small topology experimental.

OpenFlow;openQoS;dynamic routing

【本文献信息】陶智勇,高潮.基于OpenFlow网络的流媒体传输QoS研究与设计[J].电视技术,2015,39(3).

TN915

A

10.16280/j.videoe.2015.03.033

2014-07-02

猜你喜欢

表项数据包路由
一种改进的TCAM路由表项管理算法及实现
二维隐蔽时间信道构建的研究*
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
基于ARMA模型预测的交换机流表更新算法
铁路数据网路由汇聚引发的路由迭代问题研究
一种基于虚拟分扇的簇间多跳路由算法
SmartSniff
探究路由与环路的问题
SDN数据中心网络基于流表项转换的流表调度优化
基于预期延迟值的扩散转发路由算法