一种基于软件定义网络SDN的流媒体传输路径选取系统的制作方法

文档序号:13882493阅读:870来源:国知局
一种基于软件定义网络SDN的流媒体传输路径选取系统的制作方法

本发明涉及软件定义网络领域,尤其涉及一种软件定义网络领域中的流媒体传输路径选取系统。



背景技术:

随着视频直播平台的兴起和视频分辨率的提升,人们对流媒体的传输质量提出了更高的要求,希望获得清晰无损的画面,但是流媒体是一种极易受到网络状态影响的数据类型,网络有损耗的情况下,极易产生丢包,给视频的解码带来了困难,导致解码得到的视频质量较差,出现大量丢帧、马赛克现象,使得观看体验较差。

传统的网络结构中,各个网络交换设备自组织地进行传输路径的规划,对网络缺乏宏观的控制,对于网络环境的感知缺乏有效手段,对网络资源的利用效率极低,而固化的结构使得网络升级困难。

软件定义网络(softwaredefinednetwork,sdn)是一种新型的网络创新架构,是网络虚拟化的一种实现方式,诞生于美国geni项目资助的斯坦福大学cleanslate课题,其核心思想在于将网络设备的控制面与数据面分离,从而更加方便地管理网络流量,特点在于仅仅使用较少的资源即可与原有网络进行结合。

软件定义网络和流媒体传输的结合,可以满足流媒体传输中对链路损耗的要求,同时,控制器的集中化,使得网络整体开销变小,节约了资源,降低了成本,而针对流媒体传输的网络控制策略可以使得流媒体的整体传输效果和观看效果提高一个层次。



技术实现要素:

针对流媒体传输过程中容易产生丢包而导致流媒体质量下降的现象,本发明设计了一种基于sdn的流媒体传输路径选取系统。本发明将sdn软件定义网络平台与流媒体传输中的数据包传输相结合,设计了一种基于sdn的流媒体传输路径选取系统,该系统在软件定义网络平台之上,针对流媒体传输易丢包的特点,通过采用有效的链路感知和链路选取,进行最佳传输路径的选取,从而在现有的网络结构中,提高流媒体传输的效率,提高流媒体传输的感知质量。

为了实现上述目的,本发明采用如下技术方案:

一种基于软件定义网络sdn的流媒体传输路径选取系统,该传输系统包括流媒体服务器、流媒体客户端、openflow交换机层、sdn控制层,其特征在于:

所述流媒体服务器包括硬件编码板、视频串流软件,将实时视频或本地视频文件编码之后在网络中进行传输;

所述流媒体客户端基于windows操作系统,接收网络中流媒体服务器发送的流媒体数据流,对流媒体数据流进行解码之后显示播放;

所述openflow交换机层包括在编译openwrt系统的过程中添加openflow协议支持的硬件交换机、mininet平台中使用的openvswitch虚拟交换机;

所述sdn控制层使用的是ryu控制器框架,ryu控制器负责网络感知、最佳路径计算和openflow流表下发;

所述系统建立在sdn平台上,在sdn平台中,通过对openflow流表的下发与接收,获取到网络链路的拓扑结构和链路损耗,比较器检查链路结构之后,将链路损耗结合网络拓扑结构交由权值叠加器进行结合,进行最佳路径计算之后,将计算得到的最佳路径的流表下发给各个openflow交换机或miininet中的虚拟交换机,进行流媒体数据的转发,并抽象出api以备进一步开发。

特别地,sdn平台中openflow流表的下发与接收,采用的是ryu控制器中的openflow协议部分,支持openflow1.0到openflow1.3版本,可以通过openflow协议获取到网络的状态。

特别地,获取到的网络拓扑结构可能为链型或网型,若为链型结构,则路径唯一,直接进行流表下发,若为网型结构,则需要进行最佳路径的计算。

特别地,链路损耗与拓扑结构结合之后,最佳路径的计算采用dijkstra最佳路径计算方法,计算得到的最佳路径进行排序,选择最优的路径进行流表下发。

特别地,ryu控制器框架中的api提供,可以用于进一步的开发,针对流媒体的传输提出具有复杂策略的传输方法。

openflow、openwrt、mininet、openvswitch、ryu是sdn(softwaredefinednetwork,软件定义网络)专业领域中的惯用表达,分别代表南向接口的交互协议、一种用于路由器上的linux系统发行版、一种网络环境仿真平台、一种虚拟交换机、一种sdn中常用的控制器框架。

本发明的有益效果:

1系统设计了一种基于sdn的流媒体传输路径选取方法,提高对网络资源的利用效率。

2系统采用sdn转发的方式,集中化的控制器保证了足够的计算资源,能对网络状态进行实时感知与计算。

3本系统将流媒体传输与软件定义网络sdn相结合,控制器集中化,使得硬件成本大幅度降低

4利用sdn网络,流媒体传输的路径选取有更好的灵活性和宏观性,提高了系统的稳健性和可用性。

附图说明

图1是本发明基于sdn平台的流媒体传输路径选取系统的整体结构图;

图2是本发明基于sdn平台的流媒体传输路径选取系统的整体流程图;

具体实施方式

为了能够更清楚地描述本发明的技术内容,下面结合附图对本发明作进一步说明。

本发明设计了一种基于sdn的流媒体传输路径选取系统。本发明将sdn软件定义网络平台与流媒体传输中的数据包传输相结合,设计了一种基于sdn的流媒体传输路径选取系统,该系统在软件定义网络平台之上,针对流媒体传输易丢包的特点,通过采用有效的链路感知和链路选取,进行最佳传输路径的选取,从而在现有的网络结构中,提高流媒体传输的效率,提高流媒体传输的感知质量。

图1给出了本发明所述系统的整体架构,整个系统共分为三个部分,流媒体终端层、openflow交换机层、sdn控制层。各层的具体功能为:

(1)流媒体终端层位于系统的底端,包括流媒体服务器和流媒体客户端,流媒体服务器负责将视频进行编码之后发送到网络中,流媒体客户端负责接收网络中的流媒体数据,进行解码后播放。

(2)openflow交换机层包括硬件支持openflow协议的交换机和路由器、支持openflow协议的虚拟交换机openvswitch。

(3)sdn控制层是本系统的核心控制层,对流媒体数据进行有规划的传输,采用的控制器框架是ryu控制器框架,ryu控制器通过对openflow交换机下发openflow流表,对网络中的流媒体传输路径进行规划。sdn控制器中,接收到的openflow流表用于计算链路损耗,感知链路结构并交由比较器比较链路结构类型,感知到的链路拓扑结构和计算得到的链路损耗交由权值叠加器进行结合,交给路径计算模块,计算最佳传输路径,最后将计算得到的结果通过openflow流表下发的形式下发给各个openflow交换机,进行网络交换行为的控制。

本发明所述的一种基于sdn的流媒体传输路径选取系统的主要流程图如图2所示。具体步骤为:

(1)sdn环境初始化,将需要的mininet环境和各openflow设备进行初始化。

(2)控制器事件注册,将控制器中需要用的比较器、权值叠加、路径计算、openflow下发与接收等事件进行注册。

(3)控制器启动,等待数据到达。

(4)下发openflow协议,将openflow协议发送到各个openflow交换机中。

(5)接收openflow协议,从各个openflow交换机接收openflow协议。

(6)获取设备端口数据,包括交换机节点及链路中的各种状态。

(7)计算链路损耗,根据获取到的端口数据,计算每个链路的链路损耗。

(8)拓扑感知,感知网络结构为链型还是网型。

(9)链路结构比较,如果为链型网络结构,则直接进行流表下发,如果为网型结构,则跳转到(10)。

(10)权值叠加,将获取到的链路损耗和拓扑结构进行结合。

(11)dijkstra计算,采用经典的最佳路径计算方法dijkstra算法进行最佳路径的计算。

(12)流表下发,根据最佳路径的计算结果,将控制openflow交换机行为的openflow流表下发到各个openflow交换机。

(13)数据转发,根据流表,进行流媒体数据的转发,采用的是最佳路径。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明保护范围以内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1