WiFi接入点(Access Point, AP)被广泛部署在学校、商场和机场等公共场所, 满足用户随时随地的使用需求. 然而, 管理大规模的WiFi网络仍是一个亟待解决的难题, 设备间的差异性造成难以在无线局域网中提供集中的接入管理. 同时, 由于各种新服务、新应用的推动, 使得传统无线局域网中的网络资源利用率低及接入点负载不均衡的问题目益严重. 因此, 本文引入SDN思想, 将协议无关转发(POF)技术应用到无线局域网中, 提出一种深度可编程无线局域网架构, 实现集中接入管理. 同时, 综合考虑信号强度(RSSI)、实时网络流量等因素, 提出一种基于多路径TCP (MultiPath TCP, MPTCP)的无线AP接入管理机制, 充分利用各AP的带宽资源, 避免在拥塞的路径上继续传输数据, 从而均衡底层AP负载.
WiFi Access Points (AP) are widely deployed in public places such as schools, shopping malls, and airports to meet the network access demands of users at any time from any location. However, managing a large-scale WiFi network is still a difficult problem to be solved, and the diversity of devices makes it difficult to provide centralized access management in WLAN. Meanwhile, due to the promotion of various new network services and applications, the problem of low utilization of network resources in traditional WLAN and unbalanced load of access points is becoming more serious. In this study, we adopt the idea of Software-Defined Network (SDN) and apply the Protocol Oblivious Forwarding (POF) technology in the WLAN network. We propose a deep programmable WLAN architecture to realize centralized access management. Moreover, considering the factors such as Received Signal Strength Indicator (RSSI) and real-time network traffic, we design a wireless AP access management mechanism based on MultiPath TCP (MPTCP). It can make full use of the bandwidth resources of each AP, avoid the continuous transmission of data on the congested path, and hence achieve the balance of work loads of substrate APs.
目前, WiFi作为重要的无线接入方式, 其以便利、无处不在等特点为终端设备的网络访问提供了极大的便利, 在人们的生活和工作中占据着举足轻重的地位. 然而, 不同生产厂商研制的AP设备在协议标准、操作系统、使用方式等方面都存在很大的差异, 考虑到终端设备的多样性和用户的移动性, 无线局域网中集中接入管理仍是一个亟待解决的难题.
同时, 随着移动互联网的发展, 无线数据业务的应用呈现指数增长, 尤其是社交网络、媒体共享和智能终端等应用的快速发展, 使得WiFi也面临着性能瓶颈. 由于WiFi技术的局限性, 特别是终端用户需求的多样化, 使得很难灵活动态的满足终端客观需求, 特别是相邻AP信号覆盖的区域可能存在重叠, 位于信号重叠区域的用户仅依靠RSSI作为选择AP的衡量标准, 会导致某些AP负载过大, 而有些AP长时间处于空闲状态, 使得网络中的负载分布不均衡造成网络资源的浪费[
软件定义网络[
近年来, 将SDN技术与无线局域网技术相结合取得了可观的研究成果. 如OpenRadio[
因此, 将SDN技术应用到无线接入点中, 使得AP设备具有可编程性将极大地促进网络服务革新, 对于用户的接入和迁移过程的研究具有创新意义. 本文引入POF技术, 实现终端设备的集中接入管理, 同时结合多路径TCP (MPTCP)[
在WiFi网络中, 不同的终端应用具有多样化的QoS需求, 每个终端可能同时运行一些具有不同服务需求的应用程序, 不同的应用需要的网络资源也不尽相同(如带宽资源), 这会造成AP之间负载不平衡; 同时, 无线网络带宽通常具有局限性和不稳定性. 鉴于以上问题, 本文通过引入基于MPTCP的无线AP接入管理机制, 实现多个AP同时为终端设备服务, 在满足终端设备对高带宽的需求, 提高整个网络的资源利用率的同时, 还能平衡拥塞, 避免因AP负载过重导致的通信中断或效率低下等问题.
本文采用基于MPTCP的AP接入管理机制, 实现细粒度的多路径传输, 提高网络资源的利用率. 如
基于POF的可编程无线局域网架构
该架构分为基于POF的控制平面和数据平面, 控制平面包含统一接入管理、多路径传输、VAP管理、用户认证和用户自定义等多个模块; 数据平面由多个兼容POF的无线AP(POF-AP)组成. POF-AP根据流表规划将数据帧和管理帧分别交给不同的流水线处理, 所有的管理帧都交由位于控制平面的控制器统一处理.
1) 集中式控制器: 控制器统一处理探测、认证和关联等所有的管理帧, 并负责POF-AP中流表的生成独配置, 消除了不同设备间的差异性.
2) VAP: 引入VAP概念是为了简化网络功能的实现, VAP是与终端用户相关联的逻辑AP. 当终端用户和终端设备VAP的分配; 此外, 通过将OpenWrt[
3) POF-AP: 兼容POF技术的AP, 利用POF技术对无线数据帧进行处理, 并以二元组{offset, length}的形式描述协议字段, 其中offset表示协议字段到数据字段的偏移量, length表示协议字段的长度. 所以, 处理数据帧时, 只需提取相应的协议字段, 不需要预知关于协议格式的任何信息, 然后根据流表匹配并执行相应的操作, 从而实现协议无感知转发.
FIS (Protocol-oblivious Instruction Set)作为POF协议无关报文处理指令集, 包含编辑操作和数据转发两种操作. 在指令执行阶段, 编辑操作实现协议头部的添加和删除, 数据转发实现数据包的发送和流表间的跳转.
4) 多路径传输: 在该网络架构中利用MPTCP对数据进行分流, 使得不同的子流通过不同的路径(即不同的AP)传输, 实现终端用户同时连接多个AP, 平衡无线设备间的负载, 避免网络拥塞.
基于上文提出的可编程无线局域网架构, 在设备接入AP时, 所有的管理帧都由集中式管理器统一处理, 该管理器和所有与之相连的无线AP一起构成可编程无线局域网, 在该无线局域网覆盖的范围内, 被认证的用户可以享受随时随地的网路服务. 具有接入管理功能的控制器和具有转发功能的无线POF-AP协同工作, 完成终端设备的接入操作.
在控制器的管理下, 终端设备接入时具体的交互过程如
1) 控制器周期性的向终端设备发送无线信号, 统计与之相连的每个AP上承载的虚拟VAP, 通过查找数据库获取与VAP相关联的终端用户, 用其对信标帧中的单播地址进行填充, 经由物理AP发向终端.
终端设备接入过程
2) 由于终端用户和VAP之间是一对一的映射关系, 并且VAP间是相互隐蔽的, 所以采用终端用户发送探测请求帧的方式主动寻找网络. 通过上述方式, 所有在终端设备通信范围内的AP都会收到该探测请求帧, 并上报给控制器. 控制器对首次接入的终端用户进行身份验证, 同时为终端设备构造并初始化VAP, 并构建包含虚拟网络名称、认证方式、传输速率等信息的探测响应帧. 根据AP接入选择算法, 控制器为终端用户选取一组AP进行后续的交互.
3) 选取AP后, 终端设备的认证请求帧和关联请求帧会依次发出, 并由选取的AP上报给控制器, 控制器生成响应帧反馈给终端用户.
4) 在加密认证过程中, 基于四次握手原则进行密钥信息交互, 控制器和终端设备进行加密方式的协商. 如接入的虚拟网络不需要加密, 则直接跳过该操作; 如采用WPA2方法加密, 则双方需安装GTK和PTK.
5) 接着, 控制器将IP获取请求发给无线局域网的DHCP服务器, 终端接入设备获得IP地址. 至此, 终端设备完成接入过程. 随后控制器将之前为终端设备构造的VAP配置到物理AP上, 同时, 所有与终端设备有关的流表也会随之下发, 接下来终端设备和网络之间的所有数据传输将通过AP完成.
然而, 在传统的终端设备接入过程中, 只存在终端设备和AP之间的信息交互, 不采用集中式控制, 不存在AP与控制器之间的交互过程; 与传统无线网络不同, 本研究中设备接入必须在控制器的参与下完成, AP与控制器之间存在多次信息交互过程, 这会造成接入耗时增加. 针对该问题, 做出以下优化:
在优化前, 接入过程中探测、认证、关联和转发配置每步都需要上报控制器, 相比较传统的接入过程, 该方案中AP与控制器之间的多次的信息交互造成接入时延较长. 为了进一步优化该问题, 这里提出一种改进的接入方案, 如
终端设备接入过程改进
当终端用户接入AP时, 按照传统的接入方式仅依靠RSSI来衡量AP的性能, 并不能保证AP间的负载均衡. 如在由多个AP覆盖的区域按照RSSI值选择AP接入, 会导致某些AP因接入较多的用户而导致拥塞, 而其他AP却长时间处于空闲状态. 另外, 有学者提出依靠终端接入量来衡量AP负载, 但是这也并不能有效的反应AP的真实负载, 如某个AP接入了大量通信量极低的用户, 此时AP的负载并不重; 相反, 当AP接入的终端数量并不多, 但是通信量很大时, AP的负载反而会比较重.
如何有效的衡量AP实时的负载状况, 使得新加入的终端能够择优选择AP接入, 使得AP间负载尽可能均衡, 避免拥塞状况, 提高整个网络系统的性能. 由于终端设备的移动性和无线信道的不稳定性, 使得网络流量波动较大, 所以在考虑AP实时负载时, 不仅要考虑RSSI, 还要从网络实时流量的角度综合考虑.
1) RSSI
RSSI作为影响AP性能的重要指标之一, 与终端设备接收距离的关系如下:
其中,
2) AP吞吐量
该研究中AP和终端设备之间是多对多的映射关系,
而对于AP中的每个子流
在802.11DCF架构中, AP成功发送MAC数据帧的时间
其中,
其中,
并且, 数据的丢包率
其中,
丢包率
因此, AP子流S的吞吐量
假设, AP中每个子流的吞吐量都能达到饱和状态, 这时AP的吞吐量将达到理论上的峰值
3) 负载比
从AP的角度考虑, 在AP接入选择时, 不仅要根据实际网络状况考虑AP理论的吞吐量峰值
基于MPTCP协议, 终端设备可以同时接入多个AP, 通过在通信中使用多条链路, 将数据流分发到多条路径上进行传输, MPTCP可以实现网络带宽利用率的提高和网络拥塞的平衡.
MPTCP在一条TCP连接中建立多条子流, 当一条子流按照三次握手的方式建立起来后, 可以按照同样的方式建立其他子流, 这些子流都绑定于MPTCP会话连接. 子流可以通过两种方式构建, 一种是当IP相同时, 利用不同的端口号建立子流; 另一种是利用多个网络接口, 即不同IP建立多个子流. 文中利用第一种方式建立子流, 每个子流与一个特定AP建立连接. 根据负载比
1) 根据RSSI值, 选择大于阀值
通常RSSI值在0~–50 dbm时, 信道的传输质量较佳, 为了获得较好的数据传输效率和用户体验, 本文设定阀值
2) 然后, 通过计数的方式获取AP的实时吞吐量
3) 最后, 根据负载比对候选集
即
因此, 基于MPTCP, 提出AP接入选择算法, 算法1描述了整个接入选择过程.
算法1. AP接入选择算法
1) 当终端设备接入APs时, 通过探测响应帧获取AP的SSID、RSSI等信息, 同时更新控制器中相应的信息;
2) 根据得到的RSSI值, 选取RSSI值高于阀值
3) 根据吞吐量峰值
4) 选取负载比
5) 更新控制器中AP相应的RSSI值和吞吐量等信息;
6) 当集合
7) 重复5)、6), 直到负载均衡.
在实验室内, 搭建基于POF的可编程无线局域网, 并通过测试对其进行性能评估. 该实验平台所使用的硬件设备和参数如
硬件实验平台参数
设备 | 型号与配置 |
AP | Netgear R6100 openwrt15.05
|
服务器 | CPU: Intel Xeon E5 RAM: 64 G
|
终端设备 | Iphone A1586
|
实验网络拓扑
通过设置不同的试验条件, 对文中搭建的可编程无线局域网的性能进行评估, 下文章节给出了实验结果, 并对结果进行了分析.
1) AP限流对终端设备带宽的影响
为了验证上文提出的集中接入策略的可行性, 在实验中采用笔记本接入测试, 不同于传统的仅接入一个AP; 按照上述支持MPTCP的集中接入策略, 实验中选取3个POF-AP与笔记本相关联. 同时, 利用shell脚本, 采用tc和iptables命令实现AP的限流, 从而模拟现实网络中AP带宽资源的不稳定性.
实验中通过编程方式实现在第31.5 s–46.5 s间将接入的AP1的带宽限制在1 Kbps,
AP限流后终端带宽速率对比
2) AP限流对其他AP带宽的影响
上小节是从终端用户的角度分析集中接入策略的可行性, 接下来从AP的角度进行分析. 为了体现一般性, 实验中部署两个POF-AP(AP1和AP2)和十个终端设备, 每个终端具有两个子流分别与上述两个AP相关联, 即20个子流均匀分布在两个AP上.
如
AP限流后各AP间的带宽速率对比
3) 控制平面性能测试
采用笔记本接入AP1测试, 编写shell脚本, 比较OpenWrt自带WiFi和支持MPTCP的WiFi情况下的接入时间. 共测得40组数据, 将每10组求平均, 得到4组数据如
终端接入测试(ms)
OpenWrt自带WiFi | 支持MPTCP的WiFi | 优化后的WiFi |
2654 | 5908 | 4026 |
2642 | 4028 | 3963 |
2651 | 4181 | 3896 |
2649 | 5564 | 3947 |
由于本研究引入软件定义的思路对物理AP虚拟化, 采用集中式管理方式实现终端设备的接入, 所以仅考虑接入时的延迟确实比传统的接入方式耗时一些. 但是, 相比较该架构带来的优势, 这些延时代价完全在可接受范围; 因为该架构不仅可以很好的做到AP设备之间的负载平衡, 避免网络拥塞; 同时, 该架构未来还可以拓展到用户移动的环境下, 如果在终端用户移动的情况下, 终端用户可能从AP1覆盖的范围移动AP2的覆盖范围, 这时, 如果是传统的WiFi环境, 终端就需要先与AP1断开关联, 再接入AP2, 不仅要重新接入而且终端的服务也会被迫断开; 但是如果利用该架构就可以实现无缝切换, 不需要重新接入, 因为该架构中终端是与VAP绑定的, 无论终端如何移动, 与之关联的VAP并不变, 底层只需要VAP在物理AP之间迁移, 而VAP是以流表的形式存在, 相比较传统的接入方式, 流表的迁移更便捷、更容易实现, 从而实现终端用户无感知的AP切换, 这也是未来会进一步研究的方向.
接下来进行多终端接入的仿真测试, 由AP不间断上报不同的probe_request报文来模拟设备的接入请求, 测试不同负载情况下控制面的CPU占用率, 固定
接入AP的总是为5, 调整每个AP上报的probe_request数目, 即模拟的主机个数. 由
控制平面CPU占用率
综上分析各实验结果可知, 本文提出的支持MPTCP的集中接入策略在一定层度上能提升网络的吞吐量, 提高网络资源的利用率; 同时, 能充分利用各AP的带宽资源, 避免在拥塞的路径上继续传输数据, 从而达到平衡拥塞和均衡AP间负载的目的, 保证终端用户的服务质量. 然而, 除了上述优势之外, 该集中接入策略也存在一些不足, 该策略会造成接入耗时的延长, 随着终端数和子流的增加, 控制平面CPU的占用率也会有一定层度的提高.
本文引入POF技术, 提出一种深度可编程WLAN架构, 该架构实现终端设备的集中接入管理. 同时, 提出一种基于MPTCP的无线AP接入管理机制, 相对于传统的仅仅按照信号强度RSSI来选择APs接入, 该机制从信道相对空闲的APs中选取接入点, 对整个网络资源的利用率进行调优, 解决了因AP负载过重造成的连接中断、效率低下等问题, 保证了终端用户的服务质量.
然而, 实验环境也仅仅是在实验室很小的局域网内进行, 同时也未考虑终端用户的移动性. 所以, 未来的工作就是将文中提到的AP接入管理机制应用到更大范围的网络, 同时考虑终端用户移动的情况.
et al. SDN based inter-technology load balancing leveraged by flow admission control. Proceedings of 2013 IEEE SDN for Future Networks and Services. Trento, Italy. 2013. 1–5.]]>
李云, 周亚峰, 曹傧. 基于软件定义网络的WLAN架构及负载均衡切换. 重庆邮电大学学报(自然科学版), 2016, 28(5): 613–619.
Kreutz D, Ramos FMV, Verissimo PE, et al. Software-defined networking: A comprehensive survey. Proceedings of the IEEE, 2015, 103(1): 14–76.
Zhang CK, Cui Y, Tang HY, et al. State-of-the-art survey on software-defined networking (SDN). Journal of Software, 2015, 26(1): 62–81. (本条文献为中文文献, 请核对)
Wang XD, Tian Y, Zhao M, et al. PNPL: Simplifying programming for protocol-oblivious SDN networks. Computer Networks, 2018, 147: 64–80.
谈小冬, 邹山, 郭浩然, 等. 面向协议无感知转发技术的SDN试验床. 计算机系统应用, 2016, 25(4): 237–241.
et al. FlowWatcher: Adaptive flow counting for source routing over protocol independent SDN networks. Proceedings of the 8th International Conference on Electronics Information and Emergency Communication. Beijing, China. 2018. 237–242.]]>
et al. Unified POF programming for diversified SDN data plane devices. Proceedings of the 11th International Conference on Networking and Services. Rome, Italy. 2015. 92–97.]]>
et al. POFOX: Towards controlling the protocol oblivious forwarding network. In: Park JJJH, Yi GM, Jeong YS,
et al. Openradio: A programmable wireless dataplane. Proceedings of the 1st Workshop on Hot Topics in Software Defined Networks. Helsinki, Finland. 2012. 109–114.]]>
et al. Programmatic orchestration of wifi networks. Proceedings of 2014 USENIX conference on USENIX Annual Technical Conference. Philadelphia, PA, USA. 2014. 347–358.]]>
Sequeira L, de la Cruz JL, Ruiz-Mas J, et al. Building an SDN enterprise WLAN based on virtual APs. IEEE Communications Letters, 2017, 21(2): 374–377.
et al. TCP extensions for multipath operation with multiple addresses. RFC 6824, IETF, 2013.]]>
et al. Design and Implementation of a novel SDN-based architecture for Wi-Fi networks. Proceedings of the 19th International Conference on Parallel and Distributed Computing: Applications and Technologies. Jeju Island, South Korea. 2018. 41–49.]]>