基于SDN的无线局域网QoS保障机制
2016-01-24陈品殿王竞豪
陈品殿++王竞豪
摘要:随着移动互联网的发展,无线移动流量呈指数级增长,尤其是高清视频的出现,对网络负载和网络带宽带来了极大的挑战。无线局域网,尤其是WIFI技术的快速发展满足了这一需求,但是WIFI也存在一定的性能瓶颈,如何利用有限的资源为多个用户提供更好的接入体验成为一个研究热点。同时,SDN技术已经吸引了越来越多网络研究人员的关注。因此,本文引入SDN思想,将OpenFlow技术应用到无线局域网中,使无线接入点具有可编程性,最终提出了一种在可编程接入点上实现用户QoS保障的机制,核心在于提出了虚拟分片和两级虚拟分片等关键技术,同时基于Pox控制器开发实现了QoS保障应用,最终通过实验验证了方案的可行性,在有限的资源下保证了用户的接入体验。
关键词:计算机网络;软件定义网络;WiFi;虚拟分片;QoS
中图分类号:TN929.5
文献标识码:A
DOI:10.3969/j .issn.1003-6970.2015.12.022
本文著录格式:陈品殿,王竞豪.基于SDN的无线局域网QoS保障机制[J].软件,2015,36(12):93-97
0 引言
随着互联网技术的发展,传统网络的通信设计已经无法白适应地满足人们对带宽的需求,而且容易产生网络拥塞、延迟增加,从而导致了网络瓶颈的出现。尤其是移动互联网的不断升温,无线数据业务的使用实现了快速的增长。社交网络、媒体共享和智能终端的创新型应用也促使数据流量成倍增长。这些服务对网络带宽和QoS提出了较高的要求。
WiFi的出现为用户随时随地接入网络提供了方便的入口,但是由于目前的WiFi技术的限制,带宽还是没有办法满足所有用户的需求,导致当有大量入户接入一个接入点的时候会出现用户的服务质量很差的情况。产生这样的问题主要有两个原因,一个是物理资源不足,也就是WIFI的带宽有瓶颈限制,另一个因素则是没有合理的利用有限的带宽资源,也就是策略问题。因此,在无线接入网中研究如何使用有限资源为用户提供更好的QoS成为一个很有价值的研究点。
由IEEE组织制定的802.11标准体系是当前最为广泛使用的WLAN技术,但是就802.11协议本身来说并不直接对QoS具有支持,这已经成为802.11网络不能被QoS要求高的多媒体无线应用(如VOIP,DTV)所接受的主要原因。
SDN技术的出现,为解决TCP/IP网络的诸多问题提供了新的方法。0penFlow的思想是将传统网络的控制平面与转发平面分离,转发平面包括0penFlow交换机等转发设备,只负责数据包的转发,通过集中式的网络控制器Controller来控制管理,控制平面与转发平面之间采用0penFlow协议。每个0penFlow交换机的处理单元由流表(F10wTable)构成,每个流表包含多个流流表项,这些表项指明了转发规则,转发规则一般是由Contr011er下发至0penFlow交换机,数据包会根据相应的流表项转发数据包。
因此,如果能将SDN技术引入到无线局域网中,通过将业务在无线接入点侧进行保证,既节省了传输带宽,同时又提高了用户的接人体验。因此本文提出了一种基于SDN的无线局域网QoS保障机制,应用于基于SDN的WiFi接入网络中。通过使无线接入点支持0penFlow引入SDN思想,并设计业务识别模块,QoS策略动态调整模。其中,提出了关键技术虚拟分片技术和两级虚拟分片技术。最终,本方案结合了SDN的灵活性和Qos的动态性实现了0penFlow无线路由器对用户QoS保障的支持,实现了在有限资源条件下的用户QoS动态保证。
1 相关技术
1.1 0pennow技术
0peIlFlow的概念在2008年由斯坦福研究人员提出,并逐渐推广SDN的概念。基于0penFlow的SDN技术推出之后,2009年被MIT评为十大前沿技术。0penFlow作为SDN的原型实现方式,代表了SDN控制与转发平面分离架构的实现。从严格意义上来讲,0penFlow指的是SDN控制平面与转发平面之间多种协议标准之一,经过多年的研究和推广,目前成为使用最广泛的SDN南向接口。0penFlow的关键组件包括0penFlow交换机和控制器。
0penFlow交换机负责数据转发功能,其主要技术细节由三个重要部分组成:流表、安全通道和0penFlow协议。其中,流表的设计是关键技术,每个0penFlow交换机的处理单元由流表(flow table)构成,每个流表由许多流表项组成,流表项则代表转发规则。流表项主要由匹配字段(match fields)、计数器(counters)和操作(instructions)等三部分组成:进入交换机的数据包通过查询流表来取得对应的操作,匹配字段的结构包含很多匹配项,涵盖了链路层、网络层和传输层大部分标识,随着OpenFlow规范的不断更新,更多的协议和匹配字段也逐渐扩展到OpenFlow标准当中;计数器用来对数据流的基本数据进行统计;操作则表明了与该流表项匹配的数据包应该执行的下一步操作。
控制器是整个架构的核心,SDN控制层对底层无线网络资源进行全局抽象,应用通过控制器提供的开放接口进行编程,最终实现可编程网络以灵活操控网络流量。因此,控制层的开放程度决定了为上层应用提供的网络资源丰富性及使用的灵活性。目前支持OpenFlow的控制器已经得到了开发,如NOX、POX、Floodligt、Ryu、OpenDaylight等,都已经有了较为广泛的应用。其中POX是经典的OpenFlow控制器,由python语言实现,提供了一套可编程的接口,实现控制组件的开发。本文中业务识别模块,QoS动态调整模块均以POX作为控制器软件。
1.2 Qos技术
在因特网中,QoS所评估的就是网络投递分组的能力。由于网络提供的服务是多样的,因此对QoS的评估可以基于不同方面。通常所说的QoS,是对分组投递过程中对延迟、延迟抖动、丢包率等核心需求提供支持的服务能力的评估。
但是用户已不再满足于能够简单地将报文送达目的地,而是还希望在投递过程中得到更好的服务,诸如支持为用户提供专用带宽、减少报文的丢失率、管理和避免网络拥塞、调控网络的流量、设置报文的优先级。
目前主要的研究方法设计:(l)流分类:依据一定的匹配规则识别出对象。流分类是有区别地实施服务的前提。(2)流量监管:对进入路由器的特定流量的规格进行监管。当流量超出规格时,可以采取限制或惩罚措施,以保护运营商的商业利益和网络资源不受损害。(3)流量整形:一种主动调整流的输出速率的流控措施,通常是为了使流量适配下游路由器可供给的网络资源,避免不必要的报文丢弃和拥塞。(4)队列管理:网络拥塞时必须采取的解决资源竞争的措施。通常是将报文放入队列中缓存,并采取某种调度算法安排报文的转发次序。(5)拥塞避免:过度的拥塞会对网络资源造成损害。拥塞避免监督网络资源的使用情况,当发现拥塞有加剧的趋势时采取主动丢弃报文的策略,通过调整流量来解除网络的过载。
基于对以上两种技术的分析,本文将SDN与OpenFlow技术引入无线局域网中实现动态QoS,从而提出了基于SDN的无线局域网QoS保障机制。
2 方案介绍
通过对当前无线局域网内Qos保障技术进行调研,本文提出了自己的保障方案(见图1)。本方案采用了SDN技术和虚拟分片技术进行结合,在SDN网络环境下,通过对无线接入点的负载情况进行动态监测,然后结合用户的QOs需求动态调整策略,保证了在带宽资源有限的情况下高优先级的业务的Qos,从而提高了用户的接人体验。
其中,方案中硬件部分的无线路由器均是支持OpenFlow的无线路由器,我们使用Tp-Iink 4310重新刷新系统OpenWrt,然后在此基础上安装了OpenVSwitch来实现一个支持OpenFlow的无线路由器。
软件部分,选用开源的控制器POX作为基础平台,然后将我们研究的核心功能部署在POX控制器,设计了一套无线局域网QoS保障机制,其中我们提出了关键技术:虚拟分片技术和两级虚拟分片技术。技术细节见下节。
3 虚拟分片技术
无线接入点自身带有很多的网络资源,比如带宽,频谱等,如何将这些网络资源进行抽象,并进行虚拟切片成为本文的研究关键点。虚拟分片技术主要解决在多个用户共享同一物理资源时,对资源进行隔离分片,供控制器调度,在用户的角度看来是整个物理设备都在为其一人提供服务,保证用户的接人体验,同时保证资源更加灵活且高效的被利用。
因此我们提出了虚拟分片技术和无线虚拟分片技术,具体细节见下:
3.1 虚拟分片原理流程
在获取了当前物理接入点所提供的物理网络资源后,首先将物理资源进行抽象,从而屏蔽底层物理特性,然后在控制层的角度看来,这些资源不是固定单一的,可以将这些资源进行分配的,于是在控制层,可以将这些资源进行虚拟的分片,每个片占有一定的网络资源,各个分片的所占有的网络资源是不固定的,需要根据控制层提供的策略来实现。
无线接入点虚拟分片技术的实现流程由四个部分组成:监听模块,决策模块,执行模块,分流模块。其实现流程见图2.
监听模块:主要负责两个工作:(1)负责监测当前网络设备的资源现状,即定时获取当前网络设备的物理资源,包括:已分配带宽,未使用带宽,当前的流量信息等,获取的时间间隔可以灵活设置,然后将获取的数据记录到控制器中的资源状态表中;(2)负责监听是否有新的用户请求,并将新的用户请求记录到用户请求表,包括:用户的名称,请求资源种类,请求资源数量等。
决策模块:主要负责两个工作:(1)判断是否需要进行决策,通过接受监听模块的消息,然后读取用户请求表查看是否需要进行决策,如果需要则进行下一个工作,否而放弃;(2)读控制器内记录的网络资源状态表获取当前的网络资源分配情况,包括:当前网络资源使用量,网络资源剩余量等,然后读用户状态表获取请求分片用户的资源需求,通过对剩余资源和需求资源的对比,分析出是否能够进行分片,如果能,则生成成功消息触发执行模块;不能则放弃用户请求,生成失败消息触发执行模块。
执行模块:解析决策模块发来的消息,根据决策模块的结果确定是否进行分片。通过查询用户请求表获取用户请求参数,包括:资源种类,资源数量等,生成分片的执行策略下发给转发设备;然后转发设备收到执行模块下发的策略,通过队列的设置将对端口进行分片,每个分片会自动生成一个分片号,用于将用户业务与分片进行匹配。即生成一个slice绑定到端口上,对slice设定参数,例如带宽,这样就成功的将端口资源进行了虚拟分片。同时,会记录分片与用户之间的关联到控制器的用户分片关联表中,用于分流的查询。
分流模块:控制器收到一个数据流时,会将数据流交给分流模块,分流模块对数据流进行分析,确定其所属的用户类型,然后查询用户分片关联表,匹配数据流所归属的分片,如果匹配成功,则在生成转发规则时标记数据流所属的分片号,以便在转发设备中进行分片匹配,将数据流发到对应的虚拟分片上;如果匹配失败,则将数据流发到默认的端口进行转发。
3.2 虚拟分片用例实现
针对接入用户存在不同等级的情况,将接入点资源进行第一级虚拟分片划分,虚拟分片的数量由接入点配置决定。各虚拟分片配置划分数据传输的优先级,设定QoS策略,包括最大速率、最小速率等。各虚拟分片拥有自己的tag标签,分片之间相互区别。匹配用户等级的方法有两种:一种根据IP地址字段来区分不同位置的用户以对应不同的等级;一种是在用户终端处对业务流进行等级标记处理,这需要终端侧与网络侧协商规则。在本方案中采用第一种方式。不同用户的混合业务流到达接入点后按照虚拟分片的flow table中的流规则进行匹配,将不同等级用户的数据流匹配至不同的虚拟分片中,数据流经过分片时写入相应的tag,由该接入点和其后相连的接入网络可以根据此tag来匹配转发规则。Tag的设定规则由接入网控制器决定。
对于这些虚拟出来的分片,可以分配给不同的用户进行使用,这样就实现了对无线AP的资源共享,同时满足不同用户的不同需求,实现了用户资源的按需分配。例如:对于同一个无线AP端口,其拥有的物理资源是固定的,如带宽,而用户的是有等级之分的,如:经理,组长,员工。各类用户的数据流经过接入点时会匹配至不同的分片,经过不同分片的业务流具有不同的tag,每个分片对应不同用户等级的需求,业务流由tag区分后,接入点出口处指定不同的actions,优先传送高级用户数据流,最终满足了用户的需求。无线AP的虚拟分片示意图,如图3。
在单级虚拟分片的基础上,进行第二级虚拟分片,分片匹配依据为业务类型,接入点处针对不同的业务类型区别对待,下发传输策略,对不同的业务流设定不同传输优先级和QoS,每个虚拟分片具有优先级区分和独立QoS划分。通过利用OpenFlow技术分析四层协议号及端口号区分业务类型,更精确的业务匹配根据分析数据包特定字段进行。第二级虚拟分片同样具有各自的tag标签。业务流经过第一级分片之后的标签成为一级tag,业务流经过一级分片处理后进入二级分片,按照业务类型不同匹配至不同的虚拟分片,经过二级虚拟分片后写入第二级tag标签,在接入点出口根据两级tag标签制定不同的actions。业务流经过两级处理,接入点按照预定资源分配,对不同等级用户和不同类型业务流进行区分传送。在接入网的接入网关处,接入网控制器可根据两级tag标签匹配既定策略进行流量卸载。
4 仿真及结果分析
在上述关键技术的基础上,我们根据图一的Qos保障场景图搭建了实验仿真环境,一个视频服务器是视频源,三个实验终端分别为WIFI终端2,WIFI终端3,WIFI终端4。其中WIFI终端2和WIFI终端4负责视频播放,WIFI终端3负责产生干扰流量。一个服务器作为控制器。于此同时,我们开发了一套网络管理系统来显示当前的网络的拓扑,连路状态以及分片情况等。
然后从画面清晰度和资源隔离性两个方面进行了方案的验证,实验效果图如下:
4.1 画面清晰度实验对比
在仿真环境中,使用两个WIFI终端同时连接到接入点上,同时使用未开启虚拟分片控制器,从视频源处播放视频,此时WIFI终端2和WIFI终端4都能流畅播放视频,实验效果图见图4。
当我们使用视频源向其中WIFI终端3打背景流量时,同时使用未开启虚拟分片的控制器进行控制,此时,WIFI终端2和WIFI终端4均不能流畅播放视频,均出现花屏卡顿现象,实验效果图见图5:
重启控制器,同时将我们设计的无线局域网Qos保障模块打开,此时控制器对所有经过无线路由器的流量进行识别,识别出优先级较高的业务,实验中WIFI终端4的优先级较高,同时结合Qos保障模块中Qos策略调整,给WIFI4分配对应的分片,保证其业务能够稳定传输,不受其他业务的干扰。保障后的效果见图6
4.2 资源隔离性对比
在未开启QoS保障功能时,WIFI2和WIFI4的业务流量都通过虚拟分片1进行传输,导致他们之间的资源没有进行隔离;当有背景流量产生的时候,会导致两个终端均无法流畅播放,这时候会产生资源的竞争。
但是当开启QoS保障功能后,WIFI4的流量会自动调整到虚拟分片2上去,这样在背景流量增加的情况下,虚拟分片2的资源得到有效的隔离,不会和WIFI4去竞争资源,从而接人体验也得到了提升。
资源隔离对比图见图7.
5 结论
通过对当前网络状态的调研以及当前QoS研究水平的分析,总结当前在无线局域网内存在资源利用问题,深入研究了SDN技术和OpenFlow技术,提出了基于SDN的无线局域网QoS保障机制。本文充分利用了SDN的灵活性以及OpenFlow的可编程性,针对SDN网络扩展了POX控制器的应用程序,提出了虚拟分片和两级虚拟分片的关键技术,同时定义了一套动态QoS调整的流程,并且利用Openflow技术实现了虚拟分片技术,保证了用户QoS的动态性。最后通过方针实验进行验证分析,可以看出,于SDN的无线局域网QoS保障机制对虚拟分片技术进行很好的验证,同时,对资源进行了隔离,保证了用户的业务QoS,实现了QoS的动态调整。