漫游在基于CAPWAP 的WLAN 中的实施*
2021-02-22刘文林喻金科丁雪非
刘文林,喻金科,丁雪非,何 英
(南昌航空大学 现代教育技术与信息中心,江西 南昌330063)
1 概述
随着移动应用的普及,人们的上网习惯发生了很大的变化,手机上网成为了主流。以我们学校为例,学生宿舍同时开通了有线的以太网和无线的WIFI,但WIFI 的流量大大超出以太网的流量。学校的学生宿舍规划在几个统一的片区内,在片区内相邻宿舍楼的间距不到20米,相邻楼之间的WIFI 覆盖范围相互重合,可以连成为一个大的覆盖整个片区的WLAN。
在开始部署WLAN 的时候,并没有考虑用户WLAN内漫游的问题,并且限制每栋宿舍楼的用户只能登录本宿舍楼的WLAN。这样当用户离开自己宿舍楼的WLAN覆盖范围,即使处于附近宿舍楼的WLAN 覆盖范围,用户也无法使用WIFI 了。随着移动应用的普及,学生对无法在WLAN 片区内漫游的限制,意见越来越大。为满足学生的要求,我们首先选择了一个最小的片区(包含6 栋宿舍楼),实验性地开通了WLAN 漫游服务。
2 WLAN 拓扑结构
图1 片区WLAN 拓扑结构图
WLAN 采用流行的Fit AP(瘦AP)+AC(Access Controller,访问控制器)的集中式WLAN 架构。这种架构的优点是可以通过AC 对Fit AP 进行统一配置和管理,大大降低整个WLAN 的配置和管理强度。图1 是片区的网络拓扑结构图。宿舍楼的每层安装若干AP,AP 通过超5类线上联到具备供电功能的PoE 交换机(位于宿舍楼弱电间内)。片区内所有PoE 交换机通过光纤再上联到一台AC 上(位于学校网络中心)。AC 连接到网络中心的核心交换机上,接入校园网。每个片区内的Fit AP 通过一台AC 统一管理,都是华为的产品。
规范Fit AP 和AC 之间的交互行为的协议为无线接入点控制与规范CAPWAP(Control And Provisioning of Wireless Access Points)[1]。CAPWAP 有两大功能:自动配置和隧道转发。
自动配置是指AP 在上线的过程中可以自动发现AC 并从AC 上下载配置信息自动配置。这类似于DHCP客户机通过DHCP 协议自动配置IP 地址等参数。通过自动配置功能,网络管理员只需集中在AC 上实施有关网络的相关配置,比如有关漫游的配置,就可以将配置下发到下游AP 上,从而应用到整个WLAN 上。这大大方便对AP 的集中管理和维护。本文所涉及WLAN 配置均在AC上完成。
隧道转发是指连接到AP 上的用户设备,又称工作站(Station,简写为STA),可以和AC 建立一个加密的安全隧道,所有出口流量经由隧道发送到AC,然后通过AC集中转发。这虽然会增加AC 的负荷,但可以大大提高通信的安全性。所以,学校的WLAN 都启用了隧道转发。
3 三层漫游的实施
对于华为的产品,默认配置下,WLAN 的漫游服务是开启的,之所以漫游被禁止是认证策略的问题。WLAN 覆盖范围内的工作站无需密码即可连接到附近的Fit AP上,但在上网之前必须通过一个认证网页(Web Portal)进行认证,认证通过才能上网。这也就是目前流行的Web Portal 认证方式。每栋楼的网络都规划为一个独立的VLAN(Virtual LAN,虚拟局域网)[3],我们将用户和他们所在楼的VLAN 进行了绑定。这样一来,用户只能在他所住的楼内上网,结果就是限制了WLAN 内的漫游。如果取消用户和VLAN 的绑定,那么漫游服务就能正常运作了。
我们选择了一个假期进行实验,取消绑定限制,并进行了小规模的测试。测试的方式是这样的:测试者手持手机在片区内一边散步,一边访问网页、在线点播视频/音乐、打微信电话等。在这个过程中,测试者记录是否有卡顿、掉线等异常情况。其中打微信电话是最能测试漫游服务质量的一项测试,因为打网络电话时要求实时地保持在线连接,这意味这电话两端设备的IP 地址在漫游中需一直保持不变。另外,在漫游的过程中,手机可能会切换到不同的AP 上。切换可能导致短暂的通讯中断,这也是在测试过程中需要注意观察的。经测试,使用微信电话的过程中有时会出现卡顿,但一般不会导致通话中断,总的来说通话过程比较流畅。至于无需实时保持在线连接的应用,比如浏览普通网页,基本上感觉不到卡顿。
我们也进行了简单的定量测试。测试方法和前面的定性测试类似,差别是在测试者手机上运行ping,ping AC 的管理地址1000 次,统计网络传输延迟和丢包率。每次记下平均传输延迟和丢包率,共测试5 次。我们发现在切换AP 时,会有几个数据包传输延迟变大,从不足5ms增加到10ms 甚至更大,偶尔会出现掉包。这都可能导致最终的平均传输延迟和丢包率变大。表1 是测试结果。可以看出5 次测试的结果有所波动,但平均传输延迟均未超过10ms 这是相当不错的。丢包率也没有超过6‰。无论是现在的移动操作系统和移动APP 对网络状况不佳都有响应的应对和优化措施,测试结果是相当令人满意的。由于测试是在WLAN 轻负荷下进行,测试结果仅供参考。
表1 三层漫游延迟和丢包率测试数据
测试结果表明,漫游服务已经成功开启,而且质量也不错,于是我们实验性的开通了WLAN 漫游服务。但真正大规模试运行后不久整个片区的WLAN 出现了卡顿、掉线甚至无法上线的情况。我们登录到AC 上检查CPU占用率,发现CPU 占用率几乎到了100%。通过ping 测试到的网络传输延迟和掉包率急剧增大。在排除网络攻击、广播风暴等可能的诱因后,确定是三层漫游服务巨大的三层处理开销导致的。最初没有开通漫游服务的一个原因就是厂家的工程师建议不要开通,因为我们购买的AC并非高端型号,大规模开通三层漫游服务力不从心。
4 二层漫游的实施
按照是否跨越IP 子网,WLAN 漫游分为三层漫游和二层漫游。二层漫游发生于同一个IP 子网内,而三层漫游跨越两个不同的IP 子网。在常规的三层漫游的过程中,漫游者的家乡代理需借助IP 隧道维持和漫游者的联系,以便为漫游者中转数据。IP 隧道的建立和维护,过程复杂、开销巨大(详细机制请参考[2])。而二层漫游开销不需要三层漫游的代理机制,依靠二层固有的MAC 地址表刷新机制即可实现,不涉及三层协议变动,可以说基本没有额外开销。于是,我们决定统一实施二层漫游。
首先,我们禁止了三层漫游,方法是在AC 上运行命令layer3-roam disable。其次,如果将片区内的所有AP规划到一个VLAN 内,那么在片区内漫游就仅限二层漫游了。为方便起见,片区内有线的以太网还是保持原有的VLAN 划分,单独为所有AP 创建了一个新的VLAN。
通过划分多个VLAN 可以将一个大的物理网络划分为多个逻辑上的子网,可以实现一定程度的隔离,比如隔离广播风暴、网络攻击。如果将大量设备集中到单个VLAN 内,就无法有效隔离广播风暴或者某些网络攻击,对网络平稳运行形成严重威胁。为解决这个问题,我们采用了一种细粒度的隔离技术——端口隔离[4]。
端口隔离是一种轻量级的端口级的隔离技术,划入同一端口隔离组的端口之间的相互通信被阻止,或者说相互隔离。端口隔离能保证同一个隔离组内的用户即使是在同一个VLAN 内也无法相互通信。因此,即使我们将WLAN 用户都划入了同一个VLAN 内,仍然可以有效地实现有效的隔离。片区内的AP 向上连接到可网管以太网PoE 交换机,通过它们再连接到AC。我们在这些PoE交换机上进行配置,将连接AP 的端口加入同一个端口隔离组,这样一来,这些AP 就无法相互通信了。这有效地将WLAN 以AP 为单位实现了隔离,比VLAN 的隔离效果更强。当然,这可能有些副作用。比如原先在同一VLAN 内的用户可以通过“网上邻居”之类的局域网应用共享文件,但实施端口隔离之后,VLAN 可能被分割为若干小的隔离域,一些用户之间就无法共享文件了。不过在学生宿舍内这类应用很少用到,而且连到同一AP 的用户,比如同一寝室内用户仍然可以相互通信,共享文件的。因此,这些副作用基本上不影响学生的上网体验。配置端口隔离组的步骤如下:
(1)执行system-view,进入系统视图。
(2)执行port-isolate mode all,配置端口隔离模式,隔离所有报文(二层和三层)。
(3)执行interface interface-type interface-number,进入以太网接口视图。
(4)执行port-isolate enable [group group-id],使能端口隔离功能,将端口加入对应隔离组。
要注意的是:PoE 交换机的上联口,即连接到AC 的端口要单独设置一个隔离组,连接AP 的端口另外设置一个隔离组。这保证来自AP 的出口流量能通过上联口转发出去。
片区内AP 还支持一种“AP 隔离”的功能,可以集中在AC 上配置并下发到AP 上。这是一种“无线版本”的端口隔离技术,某个AP 开启这个功能之后,连接到这个AP 上的用户就被禁止相互通信了,或者说相互隔离了。不过因为有学生反映开启AP 隔离之后,类似“手机快传”的一些流行的手机应用在寝室内就无法使用了,所以我们最终没有启用这个功能。
5 测试结果和结论
我们选择了片区学生上网的高峰时间(晚上9 点左右,活跃在线人数达1500 左右)进行了定性和定量测试,以反映WLAN 实际运行效果。测试方法同和三层漫游的测试一样。定性测试为发现有明显的卡顿、掉线,结果令人满意,就不赘述了。表2 是定量测试结果。延迟和丢包率有些偏高,但都在可接受的范围。由于WLAN 信号不稳定的特性,定量测试结果仅供参考。
表2 二层漫游延迟和丢包率测试数据
开通漫游是项系统工程,我们对各个宿舍楼一层的AP 实施了信号增强,替换了一些信号不佳的AP。在AC上实施了信号调优策略,动态调整AP 的信道占用,以减少信道冲突。实施二层漫游+端口隔离后至今有两个学期,实验WLAN 运行稳定,AC 的CPU 占用率并无明显增加,网络故障率对比开通前没有明显变化。学生对漫游服务开通反应良好,这证明二层漫游+端口隔离的策略是行之有效的。一方面,开通二层漫游在性能上可以承受的;另一方面端口隔离替代VLAN 隔离也是行之有效的。