目前,集中控制型WLAN网络(AC+FIT AP架构)得到了越来越广泛的应用,逐渐替代了原来的FAT AP的应用模式。相信集中控制型WLAN网络的基本运行和相关的协议,大家都已经有了较深的认识。
但是在实际的应用过程中,FIT AP和AC往往运行在一个原有的有线网络中,它们中间横跨了很多的固有网络,如路由器、交换机、专线等等;而且这些中间设备的特性众多,往往由于这些特性影响了FIT AP和AC之间的正常通信,而造成FIT AP无法成功和AC建立连接,导致用户直接感知WLAN出现故障。
例如,在电信的网络中经常碰到中间设备表项维护问题,造成FIT AP设备重启(网络断电或者AP设备升级)后再也无法成功注册AC。某电信运营商在一次升级过程中出现了200多台FIT AP无法注册成功问题。后经过分析和调试发现:中间某友商的设备上面的MAC地址表项学习错误,并且没有即使老化,最终造成大部分的FIT AP无法成功注册。通过删除友商设备上的原有表项,让其重新学习,才使得所有的FIT AP恢复正常。
因此,为了更好的分析解决此类问题,特此以H3C FIT AP工作过程为例,简要的介绍一下FIT AP的基本注册过程和运行时的工作状态。
对于集中控制器WLAN网络的工作原理,这里先进行一个简单的概述:无线控制器AC是一个控制中枢,完成整个WLAN的配置和管理;而FIT AP为一个零配置的设备,在启动后必须通过一种方式尝试和一台控制器AC建立连接,之后从AC上获取对应的配置信息后才开始正常工作。FIT AP的三种注册方式的工作流程如下:
n AP通过二层网络连接时的注册流程
n AP通过三层网络连接时的注册流程_Option43方式
n AP通过三层网络连接时的注册流程_DNS方式
上面的流程介绍了FIT AP向AC进行注册的基本过程,也是理解本文的主要基础,相关的详细细节可以参考CAPWAP协议。
在成功注册到AC之前,FIT AP是一个零配置、无管理的设备,为了能够成功注册到AC上面,FIT AP必须按照自己既定的规则不断的进行尝试。通过对各个友商设备的对比分析发现,各厂商设备基本上都采用CAPWAP协议定义的集中规则,只是在具体的实现和运行顺序上稍有不同。
各厂商FIT AP根据支持特性与架构的多少,其注册流程会有一定的差别,例如H3C的FIT AP注册过程中主要支持以下特性:
n IPV4的广播发现注册(仅使用二层组网)
n IPv4的DNS发现注册
n IPv4的DHCP Option 43发现注册
n IPv6的广播发现注册
n IPv6的单播发现注册
H3C的FIT AP会依次按照上面的顺序尝试寻找AC进行注册。只要发现AC,FIT AP就会尝试进行注册,如果注册成功则开始正常提供服务,如果不能注册成功,则会继续进行注册操作。
本节主要介绍FIT AP的工作过程,为了方便理解,我们将分成三个部分进行介绍:1、FIT AP在没有版本情况下的工作过程;2、FIT AP版本启动后的工作过程;3、FIT AP注册成功后的工作情况。
为了更好的突出集中型WLAN网络的优势,FIT AP的在没有版本的情况下(例如版本文件异常丢失),也可以按照上面描述的注册过程自动进行操作,发现AC并成功注册,最终从AC上自动下载版本文件保存后重新启动,之后就可以进入正常的FIT AP的版本运行状态。
而在实际的应用过程中,这种情况并不多见,特别是随着AP版本对于文件系统的保护增强,版本丢失的现象已经非常罕见,所以下面只进行了关键点的简要介绍。
下面主要描述一下AP在没有版本文件的情况下, Bootrom的工作过程:
Step 1:FIT AP启动进入Bootrom后,查找版本文件(APP)进行启动,如果有APP则直接启动APP,否则进入Bootrom的自动发现和注册AC过程;这个过程大约10s;
Step 2:FIT AP的Bootrom进入DHCP获取IP地址过程,通常有下面的调试信息出现“Trying to get the IP address from the DHCP server”;
n 这个过程Bootrom会不断的发送DHCP disovery报文尝试获取地址(部分FIT AP设备可能在尝试一段时间后重新启动进入Step 1后循环处理);
n 只有DHCP动态获取地址后,则会进入下面的AP发现和注册AC的过程。
n 如果不能顺利获取地址,这个过程会遵循标准的DHCP协议,间隔大约每10秒多钟就会发送一个DHCP discovery报文。
Step 3:FIT AP成功获取到地址以后,马上就会尝试寻找AC并且向AC进行注册,并且下载对应版本;
n 如果Bootrom通过以上三种注册方式都无法发现合法的AC,Bootrom会尝试总共两次,之后FIT AP会自动重新启动,再次从Step 1开始;
n 上面的这个过程大约持续两分钟左右;
n 如果能够成功注册到AC,则FIT AP会和AC进行注册报文交互,之后进行版本文件的下载,整个过程报文的个数与APP版本大小相关。
Step 4:当成功下载完版本之后,设备再次启动后,由于Bootrom的APP版本已经存在,所以不再进行上面的过程,而直接进入APP启动。
Step 1的具体信息如下:
****************************************************************************
* *
* H3C WA2200 BootWare, Version 2.09 *
* *
****************************************************************************
Copyright (c) 2004-2010 Hangzhou H3C Technologies Co., Ltd.
Compiled Date : Apr 21 2010
CPU Type : PPC 405EP
CPU L1 Cache : 32KB
CPU Clock Speed : 266MHz
Memory Type : SDRAM
Memory Size : 64MB
Memory Speed : 133MHz
BootWare Size : 512KB
Flash Size : 8MB
PCB Version : Ver.B
BootWare Validating...
Press Ctrl+B to enter extended boot menu...
Starting to get the main application file--flash:/wa2200_fit.bin!
The main application file does not exist--flash:/wa2200_fit.bin!
Booting App fails!
Step 2的具体信息如下:
Trying to get the IP address from the DHCP server......
DHCP server's IP address is 192.168.3.111
Client's assigned address is 192.168.3.1
DNS domain name got from DHCP server is
DNS server's IP address is 0.0.0.0
Default Gateway's IP address is 0.0.0.0
This client's subnet mask is 255.255.255.0
The length of option 43 is: 0
Step 3的具体信息如下:
Change State : Idle to Broadcast Discovery
Change State : Broadcast Discovery to Join
Change State : Join to JoinAck
Change State : JoinCfm to Image Download...............................
[State : ImageLoad] Image download successful
[State : Idle] Reset request, rebooting the AP
Step 4的具体信息如下:
Rebooting......
System is starting...
Booting Normal Extend BootWare...
The Extend BootWare is self-decompressing...................Done!
****************************************************************************
* *
* H3C WA2200 BootWare, Version 2.09 *
* *
****************************************************************************
Copyright (c) 2004-2010 Hangzhou H3C Technologies Co., Ltd.
Compiled Date : Apr 21 2010
CPU Type : PPC 405EP
CPU L1 Cache : 32KB
CPU Clock Speed : 266MHz
Memory Type : SDRAM
Memory Size : 64MB
Memory Speed : 133MHz
BootWare Size : 512KB
Flash Size : 8MB
PCB Version : Ver.B
BootWare Validating...
Press Ctrl+B to enter extended boot menu...
Starting to get the main application file--flash:/wa2200_fit.bin!...........
................
The main application file is self-decompressing.............................
............................................................................
............................................................................
............................................................................
............................................................................
............................................................................
.................................................Done!
System application is starting...
Startup configuration file does not exist.
User interface con0 is available.
Press ENTER to get started.
当FIT AP正常启动以后,首先需要完成DHCP client的设置,之后进入尝试发现并注册到AC的过程。这个发现和注册过程将遵循当前FIT AP支持的注册方式一次进行,大体顺序为:IPv4的DHCP Option 43发现注册、IPv4的DNS发现注册、IPV4的广播发现注册、IPv6的广播发现注册、IPv6的单播发现注册。
特别说明,当完成DHCP client的配置之后,DHCP client将会按照DHCP协议标准不断的尝试获取地址,直到获取地址成功或者FIT AP设备主动重启。
1. 只要VLAN-interface处于up状态(也就是FIT AP上行接口处于连接状态),LWAPP就会完成相关的配置,DHCP client就会因此而启动;
2. 如果无法成功获取到地址,则FIT AP会定期的进行DHCP动态获取地址尝试。通常每间隔60秒会进行一次尝试,一个完整的尝试大约总共需要发送5个DHCP disovery报文,也就是相当于大约12秒中会有一个报文发送;
下面介绍一下FIT AP发现和注册到AC的过程:
n 当FIT AP成功启动以后,FIT AP就会进入到发现和注册过程,整个过程顺序进入上面的5种发现和注册情况,如果任何一个过程能够成功注册到AC,则发现和注册过程宣告结束,而FIT AP进入运行状态,开始提供WLAN服务了;
n 如果FIT AP的IPv4没有成功获取地址,所有的IPv4的发现和注册过程都不会发送报文,因为三层没有建立成功;当进入到IPv6的发现注册过程后,每一个周期FIT AP会发送4-6个IPv6的AC discovery报文;
n 如果FIT AP已经成功通过DHCP client获取了IPv4地址之后,并且通过DHCP的Option 43获取了AC列表,则FIT AP才会进行DHCP Option 43的注册过程,否则在“IPv4的DHCP Option 43发现注册”过程中不会发送任何的Discovery报文(因为FIT AP没有通过Option43获取AC信息);
n 只要进入注册过程IPv4的广播发现和IPv6的发现过程肯定会发送FIT AP寻找AC的Disovery报文;
n 通常情况下一个周期大约90-120秒左右,在这个一个周期中至少会发送16个广播的Discovery报文,如果支持Option 43或者DNS方式,还会有更多的报文存在;
n 在注册过程中为了保证设备的三层通信,ARP报文早已经完成了相应的交互;
n 当一个FIT AP成功通过上面的过程发现AC之后,还会经过Join、Config配置过程最终才能成功在AC上注册,而这个过程通常在秒级的时间内就可以完成了。
通常提到FIT AP注册成功就是指的FIT AP成功发现一个合理的AC,并且按照上面的过程成功注册到AC,状态成为Run状态,在这个状态FIT AP就可以正常工作,提供WLAN接入服务,无线客户端可以通过这个FIT AP接入到无线网络中。下面主要介绍一下在FIT AP注册成功后,FIT AP和AC之间的报文情况。
在此需要强调一点:FIT AP和AC之间的控制报文都是交互式的,也就是当FIT AP向AC发送一个报文,通常AC会有一个对应的Response报文;同样当AC向FIT AP发送一个报文,通常FIT AP也会有一个对应的Response报文。
下面给出了主要的控制报文情况:
n 默认情况下FIT AP每10秒会向AC发送一个Echo request握手报文,AC收到Echo request报文后会向FIT AP发送一个Echo response报文;
n FIT AP大约每60秒会向AC发送一些WTP Event Request报文,AC会对每一个Event Request报文回应一个Response报文,具体的报文数量会根据AP的用户数、Radio接口数量以及启用的特性不同而有所变化,通常有6-10个左右的报文;
对于数据报文比较清楚,FIT AP会将所有从无线客户端接收到的数据报文通过FIT AP和AC之间的数据隧道发送给AC,同样AC会将所有需要发送给无线客户端的数据报文通过FIT AP和AC之间的数据隧道发送给FIT AP。也就是,无线客户端和FIT AP建立连接后,只要该无线客户端有数据流量发送,则FIT AP和AC之间就会有数据发送。
下面特别强调一下H3C FIT AP和AC之间的Echo机制(保活机制),可以作为一种“强大的网络探测功能”,如果出现了AP掉线,可能中间的网络质量不是很稳定。
当前H3C的集中控制器WLAN网络中,FIT AP和AC之间设计了非常智能的网络检测功能。例如设定一个FIT AP的Echo interval为10秒(默认),相当于设置FIT AP和AC之间的网络检测周期为10秒。FIT AP会每间隔10秒发送一个Echo request报文,无线控制器AC接收到Echo request报文会回应一个Echo response报文。
如果FIT AP在前两个周期中没有收到Echo response回应报文,也就是前两个Echo request报文没有确切的回应报文,则FIT AP在最后一个周期中会采用“智能动态调整机制”,在这个周期内动态的调整发送4-5多个Echo request报文。
总体来说,也就是在3个周期内,FIT AP会发送6-7个Echo request报文进行网络探测,而只有在3个周期内没有接收到任何一个Echo response确认报文,FIT AP才会认为网络已经无法到达AC控制器或者AC控制器已经不存在而断开链路。对于AC来说,如果在这3个周期内没有接收到任何一个来自于FIT AP 发送的Echo request报文,AC就会认为网络已经无法到达FIT AP或者FIT AP已经不存在,从而断开链路连接。
在集中控制型WLAN网络中,如果比较频繁地出现AC和FIT AP之间的握手超时,往往可以说明中间的有线网络可能存在某些方面的限制,导致WLAN网络的频繁震荡。