CAPWAP

CAPWAP介绍:
CAPWAP(无线接入点控制和配置协议),用于无线终端接入点(AP)和无线网络控制器(AC)之间的通信交互,实现AC对其所关联的AP集中管理和控制。

该协议包含的主要内容有:

AP对AC的自动发现及AP和AC的状态机运行、维护。
AC对AP进行管理,业务配置下发。
STA数据封装CAPWAP隧道进行转发。
CAPWAP模式:
CAPWAP协议支持两种操作模式:SPlit MAC和Local MAC。

Split MAC模式:

在Split MAC模式下,所有二层的无线数据和管理帧都被CAPWAP协议封装,在AC和AP之间交互。
从STA收到的无线帧,直接封装,转发给AC。
在split MAC模式下,无线报文不经过报文转换,直接到达AC。
Local MAC模式:

本地转发模式允许数据帧可以用本地桥或者使用802.3的帧形式用隧道转发。二层无线管理帧在AP本地处理,然后再转发给AC。

STA传送的无线帧在AP被封装成802.3数据帧。

CAPWAP报文格式:


CAPWAP是基于UDP端口的应用层协议。

CAPWAP协议传输层运输两种类型的负载:

数据消息,封装转发无线帧 。

控制消息,管理AP和AC之间交换的管理消息 。

CAPWAP数据和控制报文基于不同的UDP端口发送:

控制报文端口为UDP端口5246。

数据报文端口为UDP端口5247。

瘦AP发现AC:
瘦AP发现AC的流程:

图:瘦AP发现AC的流程
AP上电后,当存在预配置的AC IP列表时,则AP直接启动预配置静态发现流程并与指定的AC连接。

如果未配置AC IP列表,则启动AP动态发现AC机制,执行DHCP/DNS/广播发现流程后与AC连接。

瘦AP发现AC的过程:

图:瘦AP发现AC的过程
AP启动以后会通过DHCP获取IP地址、DNS server、域名。
AP发出L2广播的发现请求报文试图联系一个AC。
如果长时间(30秒)没有响应,AP会启动L3发现。AP会从DHCP Server通过Option43获得AC的IP,或者通过Option15获得AC的域名,AP向该IP地址(域名)发送发现请求。
接收到发现请求报文的AC会检查该AP是否有接入本机的权限,如果有则回应发现响应。
AC和AP间建立CAPWAP隧道。
CAPWAP隧道建立:
 
图:CAPWAP隧道建立的总体过程
CAPWAP隧道建立过程有:

Discovery阶段
DTLS协商阶段(可选)
Join阶段
Image data阶段(可选)
configure
Data check阶段
Run(Data)阶段
Run(Control)阶段
CAPWAP隧道建立-DHCP:


图:DHCP的四步交互
DHCP的四步交互:

在没有预配置AC IP列表时,则启动AP动态AC发现机制。通过DHCP获取IP地址,并通过DHCP协议中的option返回AC地址列表。
首先是AP发送discover广播报文,请求DHCP server响应,在DHCP服务器侦听到discover报文后,它会从没有租约的地址范围中,选择最前面的空置IP,连同其他TCP/IP设定,响应AP一个DHCP offer报文,该报文中会包含一个租约期限的信息。
由于DHCP offer报文既可以是单播报文,也可以是广播报文,当AP端收到多台DHCP Server的响应时,只会挑选其中一个offer(通常是最先抵达的那个),然后向网络中发送一个DHCP request广播报文,告诉所有的offer,并重新发送DHCP,DHCP server它将指定接收哪一台服务器提供的IP地址,同时,AP也会向网络发送一个ARP封包,查询网络上面有没有其他机器使用该IP地址,如果发现该IP已被占用,AP会发送出一个DHCP Decline封包给DHCP服务器,拒绝接收其DHCP discover 报文。
当DHCP Server接收到AP的request报文之后,会向AP发送一个DHCP Ack响应,该报文中携带的信息包括了AP的IP地址,租约期限,网关信息,以及DNS server IP等,以此确定租约的正式生效,就此完成DHCP的四步交互工作。
CAPWAP隧道建立-Discovery:


图:AC发现机制
AC发现机制:

AP使用AC发现机制来获知哪些AC是可用的,决定与最佳AC来建立CAPWAP的连接。(当然,AP的发现过程是可选的,如果在AP上已经静态配置了AC,那么就不需要完成AC的发现过程。)
AP启动CAPWAP协议的发现机制,以单播或广播的形式发送发现请求报文试图关联AC,AC收到AP的discovery request以后,会发送一个单播discover response 给AP,AP可以通过discover response中所带的AC优先级或者AC上当前AP的个数等,确定与哪个AC建立会话。
CAPWAP隧道建立-DTLS(可选):


图;DTLS握手
DTLS握手:

AP根据此IP地址与AC协商,AP接收到响应消息后开始与AC建立CAPWAP隧道,这个阶段可以选择CAPWAP隧道是否采用DTLS加密传输UDP报文。
DTLS: Datagram Transport Layer Security(数据报传输层安全协议)
CAPWAP隧道建立-join:


图:Join过程
Join:

在完成DTLS握手后,AC与AP开始建立控制通道,在建立控制的交互过程中,AC回应的Join response报文中会携带用户配置的升级版本号,握手报文间隔/超时时间,控制报文优先级等信息。AC会检查AP的当前版本,如果AP的版本无法与AC要求的相匹配时,AP和AC会进入Image Data状态做固件升级,以此来更新AP的版本,如果AP的版本符合要求,则进入configuration状态。
CAPWAP隧道建立-image date(可选):


图:image date
image data:

AP根据协商参数判断当前版本是否是最新版本,如果不是最新版本,则AP将在CAPWAP隧道上开始更新软件版本。
AP在软件版本更新完成后重新启动,重复进行AC发现、建立CAPWAP隧道、加入过程。
CAPWAP隧道建立-configure:


图:Configure过程
Configuration:

进入Configuration状态后是为了做AP的现有配置和AC设定配置的匹配检查,AP发送configuration request到AC,该信息中包含了现有AP的配置,当AP的当前配置与AC要求不符合时,AC会通过configuration response通知AP。
CAPWAP隧道建立-date check:


图:date check过程
Data Check :

当完成configuration后,AP发送change state event request信息,其中包含了radio,result,code等信息,当AC接收到change state event request后,开始回应change state event response 。
至此完成data check 后,已经完成管理隧道建立的过程,开始进入run状态。

CAPWAP隧道维护-run(date):


图;Run数据过程
Run:

AP发送keepalive到AC,AC收到keepalive后表示数据隧道建立,AC回应keepalive,AP进入“normal”状态,开始正常工作。
CAPWAP隧道维护-run(control):


图:run(控制)过程
管理隧道维护:

AP进入run状态后,同时发送echo request报文给AC,宣布建立好CAPWAP管理隧道并启动echo发送定时器和隧道检测超时定时以检测管理隧道时候异常。
当AC收到echo request报文后,同样进入run状态,并回应echo response报文给AP,启动隧道超时定时器。
到AP收到echo response报文后,会重设检验隧道超时的定时器。
--------------------- 
作者:曹世宏的博客 
来源:CSDN 
原文:https://blog.csdn.net/qq_38265137/article/details/80370608 
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值