第一届全国高校软件定义网络(SDN)创新应用开发大赛

缓存服务器  时间:2021-01-05  阅读:()

基于SDN的园区级多媒体流量优化参赛队:F.
B.
(张健男、丁健、胡文博、汪硕、李将旭)目录1应用的简介和摘要.
12应用场景介绍12.
1场景1:实时直播视频22.
2场景2:网页点播视频33方案特色和创新.
44应用具体设计论述.
44.
1背景.
44.
2研究问题74.
3解决方案84.
3.
1实时业务流量84.
3.
2非实时业务流量.
104.
4系统架构125应用实现过程135.
1模块设计135.
1.
1依赖模块.
135.
1.
2实时业务处理模块.
145.
1.
3非实时业务处理模块.
175.
2实验设计225.
2.
1拓扑搭建.
225.
2.
2实验流程.
235.
2.
3实验结果.
2511应用的简介和摘要互联网出现于上个世纪七十年代,至今已经发展成为生活中不可缺少的基础设施.
然而随着网络规模的爆炸性增长,互联网的发展面临越来越多的挑战,其中多媒体流量冗余是最为突出的问题之一,人们浏览静态网页、点播视频或者收看网络直播的时候,相同的内容在网络中重复传输,冗余流量消耗大量带宽资源,极大地影响了用户体验.
利用SDN集中管控的优势,可以灵活调度多媒体流量的传输,从而降低网络中的冗余流量.
本项目基于SDN/OpenFlow研究多媒体流量优化机制,设计了一套基于Floodlight控制器的园区级网络资源管理系统,试图解决多媒体流量传输时的冗余流量问题.
本项目研究内容如下:提出一套基于OpenFlow实现的园区级多媒体流量优化方案,该方案分两个服务模块分别对多媒体流量中的实时流量和非实时流量进行处理:1实时流量服务模块处理直播视频等实时业务流量,利用组播技术减少相同内容的重复传输,并根据业务需求以及网络负载状态,动态规划组播路径,消减冗余流量,节约网络带宽资源,从而提高用户体验.
2非实时流量服务模块处理浏览网页、点播视频等非实时业务流量,通过在控制器中定义不同的缓存使用规则和策略,实现服务质量可定义,为用户提供定制化服务.
本项目利用Floodlight控制器和OpenvSwitch交换机模拟校园网络环境,通过实验验证多媒体流量优化方案.
实验结果表明实时流量的冗余传输明显减少,网络效率大大增加,非实时流量的出口带宽消耗明显降低,从而证明本方案在传输过程中有效降低了多媒体的冗余流量.
2应用场景介绍本方案的动机来源于校园网用户访问多媒体时产生的诸多问题,因此本方案的主要应用场景是校园网等园区网络.
对多媒体访问时,可能产生两种流量,一种是实时流量,例如,IPTV视频直播.
一种是非实时流量,例如,网页视频点播.
我们的方案针对这两种多媒体流量进行优化、减少流量冗余,下面将针对两种多媒体流量分别介绍典型的应用场景.
22.
1场景1:实时直播视频现在越来越多的用户选择通过互联网的方式观看各种重大赛事直播,如世界杯期间,很多用户通过IPTV或者CNTV等收看世界杯实况直播,如果采用传统的点对点传输,会造成源服务器出口出流量过大.
针对这种应用场景,我们的方案试图构建基于SDN的直播视频流方案来有效缓解视频源出口处的压力,改善用户体验.
图1直播视频流如上图所示,基于SDN的视频直播模块根据不同的直播视频内容来动态构建不同的组播树,如图中的蓝色、红色、绿色部分分别对应不同的用户加入了各自的直播组来收看视频.
SDN控制器能够掌控每个直播组都有哪些用户,从而动态调整图中的组播树.
当用户加入直播组的时候,能够迅速收集到用户的加入请求,然后根据可灵活定义的组播树算法,及时调整底层交换机的转发策略,从而保证用户能够正常收看节目.
当用户离开直播组,停止收看时,能够及时发现用户的离开请求,从而关闭对相应端口的转发,节约链路的带宽.
32.
2场景2:网页点播视频当用户在诸如优酷等视频网站上看热点新闻节目或者热播电视剧的时候,由于观看用户数量很多,而每个用户都需要从远端视频网站的服务器上下载视频,所以网络中会产生大量的重复传输的视频流量.
另外,不同用户可能会有不同的优先级.
如果能在局域网内部署灵活可定义的缓存服务则可以在很大程度上缓解出口网关处的压力,减少出口流量,同时给不同优先级用户提供不同的点播体验.
我们的方案针对这种应用场景试图在园区网内建立一种基于SDN的缓存策略来灵活定义并管理缓存资源,从而减小冗余传输的多媒体流量.
图2网页点播视频流以校园网举例,如图2所示,作为校园网的管理者,首先要保障的是办公、科研区域的访问速度,其次是学生宿舍楼.
基于SDN的视频点播策略可以让管理员根据预定义规则指定办公楼使用高优先级的链路与缓存(如图中红色部分),宿舍楼使用低优先级的链路与缓存(如图中蓝色部分).
此外,还可以根据用户4访问的不同资源来定义使用的缓存资源,例如可以为访问观看学习视频的用户提供单独的缓存资源(如图中绿色部分),对其他一些娱乐资源不提供缓存服务(如图中灰色部分),从而使用户获得更好的体验.
基于SDN的点播视频流量策略不仅能为用户提供点播视频的加速,而且管理灵活,可以做到每个楼、每个交换机、每个端口的控制.
如同一接入交换机上的不同用户可以通过指定使用不同的缓存而带来不同的点播视频体验.
3方案特色和创新本方案主要使用SDN技术对多媒体流量进行了冗余优化,考虑到多媒体流量根据特征可以分为实时流量和非实时流量,因此我们在这两个方面分别做出了创新优化,具体如下:1.
提出了灵活敏捷、易配置的组播树方案来优化实时流量:相比传统互联网中部署复杂、不灵活的组播树方案,本文提出的基于SDN的组播方案可快速感知用户/链路负载状况,并基于感知信息敏捷地对组播树及其策略进行调整.
另外,传统组播技术难以配置维护多个组播树,集中式的组播树策略调整大大简化了对网络节点的配置,具有更好的可扩展性.
2.
设计了缓存能力可定义的方案来优化非实时流量:针对用户对网络服务质量的不同需求,本文提出了基于SDN的可以灵活定义网络缓存策略的方案,此方案可以方便地运行管理员指定的缓存规则,从而为用户提供差异化的缓存能力.
4应用具体设计论述4.
1背景校园网中的网络流量具有非常明显的"潮汐效应".
白天课业期间,网络较为空闲,出口带宽充裕;晚间时段,网络用户增多,出口流量暴涨,无法继续提供高质量的网络服务,如出现打开网页速度慢、点播视频节目出现卡顿等网络阻塞现象.
另外,在一些重大体育赛事期间,如世界杯、奥运会、NBA总决赛,通过校内IPTV服务收看直播的用户数目急剧增加,造成内部带宽消耗严重,甚至造成部分链路堵塞,不仅直播质量无法保障也影响其他网络业务的正常使用.

5由此可以看出,如何在校园网中对上网高峰时期的多媒体流量进行优化是一个比较突出的问题.
这里的多媒体流量包括1收看IPTV直播等实时流量,2浏览网页、点播视频时产生的非实时流量.
如果能够有效地解决多媒体流量冗余传输的问题,就能给用户提供更好的上网体验.
为了解决这个问题,从实时流量角度来看,组播传输中组播数据包在组播源和组播组成员之间实现一对多的网络传输方式.
当多个接收者请求接收发送者发送的组播数据包时,需要在路由器或者交换机等转发设备进行数据包的复制,然后发送给不同的组播用户.
组播传输模式能在一定程度上能够节省带宽,降低组播中心网络负载压力、减少出现网络阻塞和发送延时的可能性.
图3单播组播对比如图3所示,通过组播技术,源站只需要传输一份流量就可以发送给所有的用户终端了,从而可以有效的减少网络中的冗余流量.
从非实时流量角度来看,本方案从用户获取内容的角度分析,用户的大部分访问都是当时的热点内容,如:浏览热点新闻、收看热播的电视剧、或者收看在线直播节目.
传统网络提供端到端服务,即使同一地区的不同用户请求同一内容,也会把相同的内容反复传输到同一地区的用户,这就造成了流量冗余现象.
流量冗余表现最突出的就是视频业务流,一方面视频业务消耗较多的带宽资源,另一方面视频流量对传输时延要求较高.
所以如果能够解决视频业务的冗余传输可以有效改善现有的网络体验.
在现有网络中解决流量冗余的主要手段是各种缓存技术,包括正向代理、反向代理、透明缓存等.
举例来说,CDN系统使用的反向代理技术的基本思路是:用户请求资源时,通过DNS返回代理服务器地址,代理服务器将所请求资源回传或经由平台获得内容提供商原始资源.
6图4CDN反向代理如图4示,用户首先通过DNS查询目的网站的IP地址,而DNS服务器返回代理服务器的IP地址,从而用户发送请求给反向代理服务器,然后反向代理服务器再代理访问网站A、B、C.
透明缓存技术使用的基本技术思路是:在园区网内或者网关节点部署缓存服务器,通过配置网关路由或者用户手工配置等方法,把所有的用户上网流量都发送给透明缓存服务器,然后透明缓存服务器代理用户请求资源.
7图5透明缓存如图5所示,用户通过手工配置的方式,所有的上网流量都会先发送给透明缓存服务器,然后透明缓存服务器再通过网关代理用户去请求A、B、C等网站的资源.
4.
2研究问题虽然使用传统的组播技术可以有效地解决实时业务流量冗余问题,利用CDN技术可以优化非实时业务流量,但是它们也存在一些缺陷:IP组播体系结构可扩展性差.
路由器需要维护每个组播组的状态信息,随着网络中并发的组播组数量增加,网络中大量的组播信息记录需要路由器巨大的存储和处理开销.
组播组成员的动态变化要求网络必须动态维护路由状态,更增加了组播路由器的处理开销,并且转发组播数据包需要更长的处理时间.

组播数据流的计费方式难以确定,网络运营商之间的利益取向不同.
当前的组播模式没有支持组播的付费体系,要想在当前的服务模式和协议体系结构下普遍化和商业化,IP组播会遇到很多困难.
透明缓存或者反向代理等方式造成了网络流量的不透明,内容提供商无法把握运行状态,难以根据流量制定策略.
8透明缓存或反向代理因为无法获取全局网络拓扑、感知网络状态信息,并且缺乏控制路由的手段与能力、QoS保障,从而难以为用户提供差异化的网络服务.
4.
3解决方案利用SDN集中管控的特性,控制器能够获得全网拓扑以及实现流量优化控制,从而有效地补充了组播技术和CDN技术的不足,提升内容分发能力、改善用户体验.
因此,本方案基于OpenFlow协议并结合组播和CDN缓存技术针对多媒体服务中实时业务和非实时业务两类流量分别进行处理,从而达到优化全网多媒体流量传输的目的.
4.
3.
1实时业务流量1.
概述由于直播等实时业务流量都是动态、时延敏感的,这部分流量是在保证实时性的前提下进行缓存,因此可以利用组播的方法解决实时业务流量的冗余问题.

图6实时业务流量处理基于SDN的实时业务流量组播技术可以对不同的节目选择不同质量的链路9进行访问,如图6中节目B的优先级低,节目A的优先级比较高,此时就可以为节目A选择时延较低的链路,节目B选择延迟相对高的链路进行转发.
此外还可以对组播树进行优化,当有新的用户请求观看直播时,能够动态调整组播树的拓扑,尽量减少需要调整的网络节点数目,使整体用户的体验最好.
2.
设计方案通过OpenFlow信令控制实时业务流量的流向,处理过程如下图所示:图7实时业务流量处理信令过程用户请求收看直播时,用户向网络中发送IGMP:join命令来加入视频的组播组.
1.
由于交换机没有匹配的流表项,join命令通过Packet-in上交给控制器.
2.
控制器收到join命令,将终端加入组播组,并且动态地计算组播树和要修改的路由信息,并通过Flowmod消息配置流表项.
.
3.
当流表项生效后,从节目源来的实时直播流量就依据组播树进行转发.
4.
用户停止收看节目时,用户发送leave消息.
105.
由于交换机没有匹配的流表项,leave命令通过Packet-in上交给控制器.
6.
控制器将用户从组播组中移除,并通过Flowmod消息配置流表项,中断组播源到该用户流量的转发.
4.
3.
2非实时业务流量1.
概述由于非实时业务流量是可以被缓存的,所以结合缓存技术,利用代理服务器对内容进行缓存,从而减少网络出口的冗余流量.
图8非实时流量处理方案如图8所示,基于SDN的非实时业务流量处理可以在网内部署多个缓存来提供服务.
控制器可以根据目的网站、链路状态、接入端口、接入交换机、用户级别等细粒度的参数来选择使用的缓存结点,从而为更好的对静态内容进行缓存,为用户提供更好的体验.
2.
设计方案通过OpenFlow信令来完成非实时业务流量的处理,处理过程如图9所示:当用户通过HTTP请求访问网页或点播等非实时资源时,首先请求获得网关的MAC地址,然后向网关发送TCP数据包.
1.
当数据包到达交换机后,没有匹配的流表项,则请求数据包通过Packet-in11上交给控制器.
2.
控制器收到Packet-in消息后,按照设定的缓存规则确定对应的缓存地址,并且下发Flowmod消息添加流表项,通过该流表项将请求数据包重定向至缓存节点.
3.
缓存节点收到请求后,查看所请求资源是否已缓存:若已缓存,则将内容直接返回给用户;若无缓存内容,需要先从源站获取内容,然后将其缓存并返回给用户.
4.
缓存节点发送返回数据包给用户,源IP和源MAC地址均为缓存节点的地址.
5.
交换机没有匹配的流表项,所以将返回数据包通过Packet-in上交给控制器.
6.
当控制器收到Packet-in后下发Flowmod消息添加流表项,修改数据包的源IP和MAC地址为原始请求的目的IP和MAC地址.
7.
交换机将修改后的返回数据包发送给用户,这样从用户端的角度看访问网络的流程没有改变,整个处理过程对用户是透明的.
图9非实时流处理信令处理流程本方案基于OpenFlow协议,根据管理员的定义和配置,可以按照当前网络状态,选择一个满足要求的缓存节点给用户使用.
通过这种方法不仅节约了出口12带宽,消除了网络中的非实时业务冗余流量,而且减少了特定链路阻塞的可能,改善了用户的体验.
4.
4系统架构前端Web管理界面和后端SDN控制器功能模块是本方案的主要组成部分.
管理员可以通过前端Web页面查看全局拓扑、交换机状态、转发路径等信息,并可以配置缓存及其规则.
后端控制器主要基于Floodlight控制器开发,控制器版本为V_0.
9版本,南向接口基于OpenFlow1.
0协议.
本方案对实时业务流量和非实时业务流量采用不同的处理方法,在Floodlight内分由两个不同模块来实现,这两个模块通过RestAPI提供查询和配置功能.
图10系统架构如图10所示,管理员首先登陆Web管理界面,在界面中可以看到网络的全局拓扑和流量信息,然后管理员根据用户的需求,1在Web管理界面上配置需要提供优化的流量类型或者用户信息;2配置完成以后,Web服务器根据管理员的配置信息,通过RestAPI命令下发控制指令到SDN控制器;3SDN控制器通过实时/非实时业务功能模块的处理,将控制指令转换为OpenFlow信令并下发给底层的交换设备.
这样管理员可以通过Web管理界面管理域内的网络.
135应用实现过程5.
1模块设计5.
1.
1依赖模块本方案使用Floodlight控制器,它是由BigSwitchNetwork公司主导的基于Java语言开发的SDN控制器,旨在为企业提供SDN应用解决方案,其代码都通过了专业化测试,具有丰富的功能集以及较高的性能和可靠性.
Floodlight使用模块化架构开发,模块加载系统定义了模块的基础实现接口IFloodlight.
在功能上,Floodlight由控制器模块和应用模块组成,控制器模块实现了核心的网络服务并为应用程序提供接口,应用模块根据不同的目的实现不同的方案.
主要包括:1)控制器模块:FloodlightProvider(Dev)DeviceManagerImpl(Dev)LinkDiscoveryManager(Dev)TopologyService(Dev)RestApiServer(Dev)ThreadPool(Dev)MemoryStorageSource(Dev)FlowCache(APIonly)PacketStreamer2)应用模块:VirtualNetworkFilterForwardingFirewallPortDownReconciliation表1对各个模块进行了简要的介绍:表1Floodlight各模块简介Floodlight模块简介表模块简介FloodlightProviderFloodlightProvider提供了两组重要的功能.
它负责控制器与交换机之间的链接,并且把OpenFlow消息转化为其它模块可14以监听的事件.
第二个功能是决定OpenFlow消息事件监听模块的顺序,事件处理模块可以让消息转发给下一个处理模块或者停止处理.
DeviceManagerImpl维护OpenFlow网络中的设备信息.
LinkDiscoveryManager发现和维护OpenFlow网络中的链路状态.
TopologyService拓扑服务为控制器维护拓扑信息,也负责计算网络转发路径.
RestApiServerRestApiServer通过HTTP协议提供RESTAPI.
ThreadPool该模块包装了java中的ScheduledExecutorService,它可以在指定的时间运行一个线程,也可以用来周期性的执行一个线程.
MemoryStorageSourceMemoryStorageSource是一个在内存中的NoSQL存储,在数据改变时发出通知.
PacketStreamer该模块是一个数据包流服务,使用此项服务可以让任何交换机、控制器和它的观察者之间有选择的交换数据.
它由两个接口组成:①一个基于REST的接口,该接口定义了它所感兴趣的Openflow消息的特征,称之为过滤器;②一个基于Thrift的数据包过滤器VirtualNetworkFilter(QuantumPlugin)VirtualNetworkFilter模块是一个基于二层的简单虚拟化网络,可以使用它在一个二层的域中建立多个逻辑的二层网络,该模块可以独立使用也可以结合OpenStack使用.
ForwardingForwarding在两个设备之间转发数据包,IDeviceService会把发送设备和接收设备分类.
Firewall防火墙应用程序实现了一个floodlight模块,该模块通过检测Packet-In消息使用流表项在OpenFlow交换机上实现ACL策略.
ACL是一系列允许或者拒绝接入交换机上的流量的条件.
每个数据流中的第一个数据包都会触发一个packet-in事件.
防火墙模块按照规则优先级排序,并按照Openflow1.
0标准中规定的OFMatch和Packet-In中的头字段进行匹配.
优先级最高的匹配将决定处理流的动作(允许/拒绝),也可以使用OFMatch中定义的通配符.
如图表所示本方案主要使用FloodlightProvider、DeviceManagerImpl、TopologyService、RestApiServer、MemoryStorageSource等模块来帮助我们实现本方案的主要功能.
5.
1.
2实时业务处理模块151.
数据结构本模块需要处理并维护组播组的信息,需要组播信息表来记录组播组的信息.
当终端加入组播组的时候更新组播信息表,添加终端信息.
当终端离开组播组的时候,更新组播信息表,并删除终端信息.
表2组播信息表组播信息表字段含义组播组IP主键,组播组对应的组播IP地址终端IP集合记录本组播组中的所有终端的IP地址同时还需记录每个组播组的组播树的情况,所以需要转发信息表来记录每个组播树的情况,方便对组播树进行修改,动态的调整组播树.
表3转发信息表转发信息表字段含义组播IP主键,记录了终端所加入的组播组交换机信息集合记录了所以转发路径上的交换机,其中记录了DPID,流量入端口,出端口集合信息根据上述的转发信息表,控制器可以生成具体的流表项下发到交换机当中,完成实时业务流量的转发.
2.
处理流程如图11所示,本模块首先提取出数据包中的信息,然后判断数据包的类型.
若为终端加入组播组的消息,则执行相应的流程从新动态计算组播树,并更新流表项.
若为终端离开组播组的消息,则执行相应的流程,把终端信息从组播地址映射表中删除,然后更新流表项.
16图11实时流处理模块流程图3.
函数说明IMuticastService定义了实时业务处理模块对外提供的接口函数,如下:publicinterfaceIMuticastServiceextendsIFloodlightService{ConcurrentHashMap>>>getLinks();}IGMPProcess实现了IMuticastService接口publicclassIGMPProcessimplementsIFloodlightModule,IOFMessageListener,IMuticastService在IGMPProcess中receive负责执行对Packet-in消息的处理.
publicnet.
floodlightcontroller.
core.
IListener.
Commandreceive(IOFSwitchsw,OFMessagemsg,FloodlightContextcntx)在receive中processIgmp完成对终端消息的处理,processSource完成对源服务器流量的处理.
定义如下privatevoidprocessIgmp(IOFSwitchsw,OFPacketInpi,FloodlightContextcntx,IPv4ipv4)17privatevoidprocessSource(IOFSwitchsw,OFPacketInpi,FloodlightContextcntx,IPv4ipv4)在processIgmp中调用writeRoute函数用来完成具体的组播树计算和下发流表的任务,定义如下:privatevoidwriteRoute(intmuticastAddress,FloodlightContextcntx)4.
RestAPIRESTAPIURI方法URI参数数据数据说明说明/wm/muticast/links/jsonGet无无无返回所有组播组的组播树信息5.
1.
3非实时业务处理模块1.
数据结构本模块定义一张规则匹配表来记录用户定义的匹配规则,从而根据用户定义的规则来判断流量对应的缓存.
规则匹配表各字段含义如下:表4规则匹配表规则匹配表字段含义Dpid交换机DPIDIn_port交换机接收端口Dl_src源MAC地址Dl_dst目的MAC地址Dl_type链路类型Nw_src_prefix源IP地址掩码长度Nw_srcmaskbits源IP地址Nw_dstPrefix目的IP地址掩码长度Nw_dst_maskbits目的IP地址Nw_proto网络层协议Tp_src传输层源端口Tp_dst传输层目的端口18ProxyIP缓存IP地址当发现有数据包匹配用户所定义的规则后,需要修改数据包的源地址或者目的地址,所以需要转发信息表来记录原始数据包的信息.
转发信息表如下.

Puaex:香港vds,wtt套餐,G口带宽不限流量;可解流媒体,限量补货

puaex怎么样?puaex是一家去年成立的国人商家,本站也分享过几次,他家主要销售香港商宽的套餐,给的全部为G口带宽,而且是不限流量的,目前有WTT和HKBN两种线路的方面,虽然商家的价格比较贵,但是每次补一些货,就会被抢空,之前一直都是断货的状态,目前商家进行了补货,有需要这种类型机器的朋友可以入手。点击进入:puaex商家官方网站Puaex香港vds套餐:全部为KVM虚拟架构,G口的带宽,可...

ProfitServer$34.56/年,5折限时促销/可选西班牙vps、荷兰vps、德国vps/不限制流量/支持自定义ISO

ProfitServer怎么样?ProfitServer好不好。ProfitServer是一家成立于2003的主机商家,是ITC控股的一个部门,主要经营的产品域名、SSL证书、虚拟主机、VPS和独立服务器,机房有俄罗斯、新加坡、荷兰、美国、保加利亚,VPS采用的是KVM虚拟架构,硬盘采用纯SSD,而且最大的优势是不限制流量,大公司运营,机器比较稳定,数据中心众多。此次ProfitServer正在对...

HostKvm(4.25美)香港和俄罗斯高防机房云服务器

HostKvm 商家我们算是比较熟悉的国内商家,商家主要还是提供以亚洲数据中心,以及直连海外线路的服务商。这次商家有新增香港和俄罗斯两个机房的高防服务器方案。默认提供30GB防御,且目前半价优惠至4.25美元起步,其他方案的VPS主机还是正常的八折优惠。我们看看优惠活动。香港和俄罗斯半价优惠:2021fall,限购100台。通用优惠码:2021 ,八折优惠全部VPS。我们看看具体的套餐。1、香港高...

缓存服务器为你推荐
代理主机主机做成代理服务器,其他局域网内的电脑必须通过我的这个网络出去域名购买如何购买域名?香港虚拟空间香港虚拟主机空间哪家最好asp虚拟空间怎样在一个虚拟空间里放上一个ASP和一个PHP的网站网站空间商网站空间商的选择??北京网站空间什么样的网站空间好国内最好的虚拟主机国内虚拟主机哪家的好?虚拟主机管理系统虚拟主机管理系统那一家好?万网虚拟主机万网虚拟、专享、独享主机有什么区别?双线虚拟主机G型双线虚拟主机是什么意思
抗投诉vps主机 域名解析服务器 美国独立服务器 linkcloud 主机合租 qingyun 193邮箱 200g硬盘 已备案删除域名 nerds 流量计费 重庆双线服务器托管 智能dns解析 湖南idc 空间服务器 googlevoice htaccess 免费的加速器 cdn加速技术 comodo 更多