【2022争霸赛*干货满满】CAPWAP基础原理
  

如沐清风 83377人觉得有帮助

{{ttag.title}}
本帖最后由 如沐清风 于 2022-10-16 17:24 编辑

CAPWAP隧道介绍
CAPWAP背景:
     传统的WLAN体系结构已经无法满足大规模组网的需求,因此,IETF成立的CAPWAP(Control And Provisioning of Wireless Access Points 无线接入点的控制和配置协议)工作组,研究打过没WLAN的解决方案。以实现各个厂家控制器与AP间的互通。
34213634bc929058d6.png
CAPWAP的起源:
34885634bc93beceea.png
CAPWAP工作组对以上四种通信协议进行评测后,最终采用LWAPP协议作为基础进行扩展,使用DTLS安全技术,加入其他三种协议的有用特性,制定了CAPWAP协议。
CAPWAP介绍:
     CAPWAP(无线接入点控制和配置协议),用于无线终端接入点(AP)和无线网络控制器(AC)之间的通信交互,实现AC对其所关联的AP集中管理和控制。
该协议包含的主要内容有:
1、AP对AC的自动发现及AP和AC的状态机运行、维护。
2、AC对AP进行管理,业务配置下发。
3、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报文格式:
19584634bc950742f2.png
1、CAPWAP是基于UDP端口的应用层协议。
2、CAPWAP协议传输层运输两种类型的负载:
     数据消息,封装转发无线帧 。
     控制消息,管理AP和AC之间交换的管理消息 。
3、CAPWAP数据和控制报文基于不同的UDP端口发送:
     控制报文端口为UDP端口5246。
     数据报文端口为UDP端口5247。
瘦AP发现AC:
瘦AP发现AC的流程:
99990634bc967c1096.png
图:瘦AP发现AC的流程
AP上电后,当存在预配置的AC IP列表时,则AP直接启动预配置静态发现流程并与指定的AC连接。
如果未配置AC IP列表,则启动AP动态发现AC机制,执行DHCP/DNS/广播发现流程后与AC连接。
瘦AP发现AC的过程:
6665634bc9777d29b.png
                                          图:瘦AP发现AC的过程
1、AP启动以后会通过DHCP获取IP地址、DNS server、域名。
2、AP发出L2广播的发现请求报文试图联系一个AC。
3、如果长时间(30秒)没有响应,AP会启动L3发现。AP会从DHCP Server通过Option43获得AC的IP,或者通过Option15获得AC的域名,AP向该IP地址(域名)发送发现请求。
4、接收到发现请求报文的AC会检查该AP是否有接入本机的权限,如果有则回应发现响应。
5、AC和AP间建立CAPWAP隧道。
CAPWAP隧道建立:
57768634bc9848f856.png
                                                             图:CAPWAP隧道建立的总体过程
  • CAPWAP隧道建立过程有:
  • Discovery阶段
  • DTLS协商阶段(可选)
  • Join阶段
  • Image data阶段(可选)
  • configure
  • Data check阶段
  • Run(Data)阶段
  • Run(Control)阶段



CAPWAP隧道建立-DHCP:
11323634bc995e991b.png
                                                                    图:DHCP的四步交互
DHCP的四步交互:
1、在没有预配置AC IP列表时,则启动AP动态AC发现机制。通过DHCP获取IP地址,并通过DHCP协议中的option返回AC地址列表。
2、首先是AP发送discover广播报文,请求DHCP server响应,在DHCP服务器侦听到discover报文后,它会从没有租约的地址范围中,选择最前面的空置IP,连同其他TCP/IP设定,响应AP一个DHCP offer报文,该报文中会包含一个租约期限的信息。
3、由于DHCP offer报文既可以是单播报文,也可以是广播报文,当AP端收到多台DHCP Server的响应时,只会挑选其中一个offer(通常是最先抵达的那个),然后向网络中发送一个DHCP request广播报文,告诉所有的offer,并重新发送4、4、4、DHCP,DHCP server它将指定接收哪一台服务器提供的IP地址,同时,AP也会向网络发送一个ARP封包,查询网络上面有没有其他机器使用该IP地址,如果发现该IP已被占用,AP会发送出一个DHCP Decline封包给DHCP服务器,拒绝接收其DHCP discover 报文。
5、当DHCP Server接收到AP的request报文之后,会向AP发送一个DHCP Ack响应,该报文中携带的信息包括了AP的IP地址,租约期限,网关信息,以及DNS server IP等,以此确定租约的正式生效,就此完成DHCP的四步交互工作。
CAPWAP隧道建立-Discovery:
30624634bc9a239fd3.png
                                                                  图:AC发现机制
AC发现机制:
1、AP使用AC发现机制来获知哪些AC是可用的,决定与最佳AC来建立CAPWAP的连接。(当然,AP的发现过程是可选的,如果在AP上已经静态配置了AC,那么就不需要完成AC的发现过程。)
2、AP启动CAPWAP协议的发现机制,以单播或广播的形式发送发现请求报文试图关联AC,AC收到AP的discovery request以后,会发送一个单播discover response 给AP,AP可以通过discover response中所带的AC优先级或者AC上当前AP的个数等,确定与哪个AC建立会话。
CAPWAP隧道建立-DTLS(可选):
4726634bc9ae2cfa5.png
                                                                     图;DTLS握手
DTLS握手:
1、AP根据此IP地址与AC协商,AP接收到响应消息后开始与AC建立CAPWAP隧道,这个阶段可以选择CAPWAP隧道是否采用DTLS加密传输UDP报文。
2、DTLS: Datagram Transport Layer Security(数据报传输层安全协议)
CAPWAP隧道建立-join:
248634bc9b8c0aa8.png
                                                                      图:Join过程
Join:
在完成DTLS握手后,AC与AP开始建立控制通道,在建立控制的交互过程中,AC回应的Join response报文中会携带用户配置的升级版本号,握手报文间隔/超时时间,控制报文优先级等信息。AC会检查AP的当前版本,如果AP的版本无法与AC要求的相匹配时,AP和AC会进入Image Data状态做固件升级,以此来更新AP的版本,如果AP的版本符合要求,则进入configuration状态。
CAPWAP隧道建立-image date(可选):
46905634bc9c31f78e.png
                                                                     图:image date
image data:
1、AP根据协商参数判断当前版本是否是最新版本,如果不是最新版本,则AP将在CAPWAP隧道上开始更新软件版本。
2、AP在软件版本更新完成后重新启动,重复进行AC发现、建立CAPWAP隧道、加入过程。
CAPWAP隧道建立-configure:
27726634bc9cd77e71.png
                                                                    图:Configure过程
Configuration:
进入Configuration状态后是为了做AP的现有配置和AC设定配置的匹配检查,AP发送configuration request到AC,该信息中包含了现有AP的配置,当AP的当前配置与AC要求不符合时,AC会通过configuration response通知AP。
CAPWAP隧道建立-date check:
61603634bc9d7eed87.png
                                                                     图: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):
7978634bc9e3d93f3.png
                                                                   图;Run数据过程
Run:
AP发送keepalive到AC,AC收到keepalive后表示数据隧道建立,AC回应keepalive,AP进入“normal”状态,开始正常工作。
CAPWAP隧道维护-run(control):
23122634bc9edea9c2.png
                                                                  图:run(控制)过程
管理隧道维护:
  • AP进入run状态后,同时发送echo request报文给AC,宣布建立好CAPWAP管理隧道并启动echo发送定时器和隧道检测超时定时以检测管理隧道时候异常。
  • 当AC收到echo request报文后,同样进入run状态,并回应echo response报文给AP,启动隧道超时定时器。
  • 到AP收到echo response报文后,会重设检验隧道超时的定时器。



76572634bc01836d48.png
5434634bc051390f8.png
10530634bc0ca00457.png
20172634bc12ee1873.png
32932634bc35882b5f.png
37523634bc3878f00b.png
87323634bc3dd0affd.png
37226634bc4ad211b5.png
1928634bc4c0dcca3.png
49958634bc4d31b392.png

打赏鼓励作者,期待更多好文!

打赏
47人已打赏

339015 发表于 2022-10-17 23:39
  
感谢楼主分享,文章分享了WLAN领域的CAPWAP隧道技术,技术背景、原理与数据流分析 等都进行了详细介绍,图文并茂,期待更多优秀的分享
沧海 发表于 2022-10-16 19:04
  
   感谢楼主分享,学习一下
新手751436 发表于 2022-10-19 16:35
  
感谢楼主分享,了解了协议的细节
山西6666 发表于 2022-10-19 16:37
  

有助于学习!!!!!!!!
山东_朱文鑫 发表于 2022-10-19 20:45
  
有助于学习!!!!!!!!!!!!
新手626351 发表于 2022-10-19 21:03
  

有助于学习!!!!!!!!!
tianjt 发表于 2022-10-20 07:52
  
每天学习一点,每天进步一点。
头像被屏蔽
小高菜奈 发表于 2022-10-20 09:07
  
提示: 作者被禁止或删除 内容自动屏蔽
她丶ta 发表于 2022-10-20 10:28
  
感谢分享,有助学习!!!
发表新帖
热门标签
全部标签>
每日一问
技术盲盒
每周精选
技术笔记
干货满满
技术咨询
新版本体验
信服课堂视频
标准化排查
产品连连看
安装部署配置
功能体验
自助服务平台操作指引
秒懂零信任
GIF动图学习
2023技术争霸赛专题
通用技术
社区帮助指南
技术晨报
安全攻防
每日一记
玩转零信任
天逸直播
华北区交付直播
深信服技术支持平台
畅聊IT
答题自测
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
上网策略
测试报告
日志审计
问题分析处理
流量管理
运维工具
云计算知识
用户认证
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
答题榜单公布
纪元平台
卧龙计划
华北区拉练
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV

本版版主

12
185
6

发帖

粉丝

关注

本版达人

LoveTec...

本周分享达人

新手24116...

本周提问达人