无线基础《三》CAPWAP

AP管理

当大量部署AP(Access Point,接入点)时,AP升级软件、射频参数的配置和调整等管理工作将给用户带来高昂的管理成本。为解决这一问题,WLAN采用AC+Fit AP架构,即通过AC(Access Controller,接入控制器)对AP进行集 中控制和管理,所有的配置都保存在AC上并由AC下发,AP上不需要任何配置。

capwap隧道

AP和AC间采用CAPWAP(Controlling and Provisioning of Wireless Access Point,无线接入点控制与供应)隧道进行信。CAPWAP隧道为AP和AC之间的通信提供了通用的封装和传输机制,使用UDP协议作为传输协议,并支持IPv4和IPv6协议。AC通过CAPWAP协议与AP建立控制隧道和数据隧道,AC通过控制隧道对AP进行管理和监控,通过数据隧道转发客户端的数据报文。
capwap隧道:分为控制隧道和数据隧道
    控制隧道:AP的控制/ 版本下发/ 配置下发  和 数据隧道,是AP和AC之间交互;
    数据隧道:无线用户上网的数据,通过这个隧道传输,无线用户和AC之间的交互;

capwap工作过程

1: AP获取AC地址
AP零配置启动后,会自动创建VLAN-interface 1,并在该接口上默认开启DHCP客户端、DHCPv6客户端和DNS客户端功能,完成上述操作后,AP将使用获取的AC地址发现AC并建立CAPWAP隧道。
     静态配置:通过预配置为AP手工指定AC的IP地址。
     DHCP选项:通过DHCP服务器返回的Option 138或Option 43选项获取AC的IPv4地址,或Option 52选项获取AC的IPv6地址,通过三个选项获取AC地址的优先级为Option 138 > Option 43 > Option 52。
    DNS:AP通过DHCP服务器获取AC的域名后缀及DNS server的IP地址,再将从自身获取的主机名与域名后缀形成AC的完整域名进行DNS解析,获取AC地址。
    广播:AP通过向IPv4广播地址255.255.255.255发送Discovery request广播报文来发现、选择AC并建立隧道。
    IPv4组播:AP通过向IPv4组播地址224.0.1.140发送Discovery request组播报文来发现、选择AC并建立隧道。
    IPv6组播:AP通过向IPv6组播地址FF0E::18C发送Discovery request组播报文来发现、选择AC并建立隧道。
    AP依次使用静态配置、DHCPv4选项、广播/IPv4组播、IPv4 DNS、IPv6组播、DHCPv6选项、IPv6 DNS获取的AC地址进行发现AC并建立隧道过程,若某一种方式成功建立CAPWAP隧道,则停止发现AC的过程。
2:建立capwap隧道 (控制隧道)AP获取地址>AP发现AC> AP请求加入>AP自动升级>AP配置下发>AP配置确认>CAPWAP完成
AP发现AC并建立CAPWAP隧道过程如下:

(1) AP向AC地址发送Discovery request报文。
(2) AC收到Discovery request报文后,根据本地策略和报文内容决定是否对AP进行回复Discovery response报文,Discovery response报文中会携带优先级值、AC上是否存在该AP的信息和AC上的负载信息等。AC判断是否回复Discovery response报文的详细步骤如下:
a.AC检查收到的Discovery request报文是否为单播报文,如果是单播报文则直接进行下一步。如果是广播或组播报文,将检查单播发现策略功能是否处于开启状态,如果处于开启状态,AC不回复Discovery response报文;如果处于关闭状态,再进行下一步检查。
b.AC根据Discovery request报文中携带的AP型号信息检查自身是否存在手工AP,如果存在手工AP,则向AP回复Discovery response报文,并在报文中携带存在手工AP的标记、优先级值和负载情况;如果不存在手工AP,再进行下一步检查。
c.AC检查自动AP功能的开启状态,如果自动AP功能处于开启状态,AC向AP回复Discovery response报文,并在报文中携带自动AP功能处于开启状态的标记、优先级值和负载情况;如果自动AP功能处于关闭状态,则不回复Discovery response报文。
(3)AP收到各个AC的Discovery response报文后,根据报文中携带的内容,选择最优AC。最优AC的选择优先级为:
a.选择存在手工AP的AC,如果没有AC存在手工AP,则选择开启了自动AP功能的AC。如果有多个AC上存在手工AP或多个AC开启了自动AP功能,再进行下一步判断。
b.选择AP连接AC优先级最高的AC。优先级相同,选择负载最轻的AC。负载相同,选择回复时间最快的AC。
(4) AP向选择的最优AC发送Join request报文。(加入之前先建立DTLS的加密数据包传输层安全性协议,是基于TLS协议架构上提出的扩展,用于保证UDP连接的传输安全。)
(5)AC根据报文内容,检查是否为该AP提供服务,并回复Join response报文。
(6)AP若收到Result Code为失败的Join response报文,则不建立隧道;若AP收到Result Code为成功的Join response报文。
(7)AP自动升级版本  image data(image request  image response) , AC下发版本,AP升级完成之后重启,再去执行前面三步骤(AP获取地址/发现 /加入)
(8)AP配置下发过程(configuration),AP去请求配置  AC把配置下发给AP;AP去执行配置(config status request  /response)
(9)AP去执行配置完成后,AP告诉AC配置执行完成,data check;(change  state event request  /response)
(10)完成了capwap控制隧道,AP 状态为run ,发送心跳报文keep-alive 控制隧道建立完成, 数据隧道通过echo request  /response 每隔30S 保活通道   ;可以转发数据
3:数据转发:本地转发和集中转发
集中转发封装格式 (用户报名,到达AC  ,AC解开封装,进行目标地址路由转发),数据到AC,有AC统一转发
数据封装格式:  AC地址<<AP地址<<5247<<10001<<目标<<源地址<< vlan<<用户VLAN 

本地转发:不经过隧道直接转发,直接通过交换机转发
数据封装格式:目标地址<<源地址<<vlan