CAPWAP协议介绍
前言
在瘦AP+AC结构下,AP不能单独工作,需要与AC配合使用,因此AP和AC间需要有配套的通信协议可以让它们进行互联。
- 最早,思科制定了首个AP-AC之间的隧道通信协议—轻型接入点协议(LWAPP).
- 接着,IEFE(互联网工程任务组)为了解决各厂商AP-AC间隧道协议的不兼容问题,在2005年成立了无线接入点与配置协议(CAPWAP)。
- CAPWAP所参考的协议:
一、CAPWAP协议简介
1.协议主要内容
- AP对AC的自动发现及AP&AC的状态机运行、维护。
- AC对AP进行管理,业务配置下发。
- STA数据封装CAPWAP隧道进行转发。
2.数据转发类型
1. 集中转发
也叫直接转发,AC只对AP进行管理,业务数据都是由本地直接转发。即AP管理流封装在CAPWAP隧道中,到达AC终止;AP业务流不加CAPWAP封装,而直接由AP发送到交换设备进行直接转发。
2. 本地转发
也叫隧道转发。业务数据报文由AP统一封装后到达AC实现转发,AC不但进行对AP管理,AP的一切流量都需要通过AC去转发。即AP管理流与数据流都封装在CAPWAP隧道中到达AC。
3.基本报文格式
CAPWAP是基于用户数据报协议UDP端口的应用层协议,可承载两类数据消息,分别为数据消息和控制消息。其数据报文端口为UDP端口5247,控制报文端口为UDP端口5246.
控制消息报文中除“发现请求”及“发现响应”是明文传输以外,其他的强制使用DTLS保护,而数据消息报文可选择是否使用 DTLS。两种报文格式如图。
对应的数据报文和控制报文格式如图:
二、CAPWAP状态机
1.引入库
三、CAPWAP隧道建立过程
1.DHCP过程
- 首先AP发送discover广播报文,请求DHCP server相应,DHCP server 侦听到discover报文后,会响应一个offer报文,该报文会携带TCP/IP的信息以及租约期限的信息。
- AP受到DHCP server的offer报文后,注意,可能会受到多个offer,一般会用最先到达的,然后会向网络中发送DHCP request广播报文,告诉所有的offer,并重新发送DHCP,DHCP server将制定从哪一台服务提供的IP地址。同时AP还会发送一个免费ARP去验证地址有没有被使用过。
- 到DHCP 受到DHCP request报文后,会向AP恢复一个DHCP ACK响应,该报文包含了AP的IP地址,租约,网管,DNS等等。
2.Discovery发现机制
如果AP以单播的形式发送“发送请求”报文试图关联AP,AC收到请求后,会发送一个单播discover response给AP,AP通过discover response中所带的AC优先级等信息,确定与哪个AC进行建立会话。
3.DTLS
与AC建立连接后,AP根据此IP地址与AC 协商,AP接收到响应消息后开始与AC建立CAPWAP隧道,这个阶段可以选择CAPWAP隧道是否采用DTLS加密传输UDP报文。
4.join
完成DTLS握手后,开始建立控制隧道,在建立控制的交互过程中,AC回应的join response报文中会协议用户配置的升级版本号,握手报文间隔/超时时间,控制报文优先级等信息。AC会检查版本,如果版本不匹配,会自动升级,如果匹配,会进入configuration状态。
5.Image Data
AP根据协商参数判断当前版本是否是最新版本,如果不是最新版本,则AP将在CAPWAP隧道上开始更新软件。AP更新后会重启,重启后会对AC重新发现,建立隧道,加入过程等。
6.configure
进入 Configure状态后是为了做AP的现有配置和AC设定配置的匹配检查,AP发送configuration request到 AC,该信息中包含了现有AP的配置,当AP的当前配置与AC要求不符合时,AC会通过configuration response通知AP。
7.Data Check
当完成configure后,AP会发送change state event reques报文,其中包含了radio,result,code等信息。当AC收到后,开始回应。Data check完成后,隧道建立已经完成,进入run状态。
8.Run(数据)
AP发送keepalive报文到AC,AC收到keepalive后表示数据隧道建立,AC回应keepalive报文,AP进入normal开始正常工作。
8.Run(控制)
AP进入Run状态后,同时发送echo request 报文给AC,宣布建立好CAPWAP管理隧道并启动echo发送定时器和隧道检测超时定时器以检测管理隧道时的异常。
当AC收到echo request报文后,同样进入Run状态,并回应echo response报文给AP,启动隧道超时定时器。
到AP收到echo response报文后,会重设检验隧道超时的定时器。