capwap协议重点分析

 

一、     CAPWAP概述

 

CAPWAP由两个部分组成:CAPWAP协议和无线BINDING协议。

 

(1)CAPWAP协议是一个通用的隧道协议,完成AP发现AC等基本协议功能,和具体的无线接入技术无关。即AP自动发现AC,AC对AP进行安全认证,AP从AC获取软件映像,AP从AC获得初始和动态配置等。此外,系统可以支持本地数据转发和集中数据转发。瘦AP架构让AC具有了对整个WLAN网络的完整视图,为无线漫游、无线资源管理等业务功能的实现提供了基础如图1.1所示。

 

(2)BINDING协议是提供具体和某个无线接入技术相关的配置管理功能。可以这么解释,前者规定了各个阶段需要干什么事,后者就是具体到在各种接入方式下应该怎么完成这些事。目前工作组只提供了802.11的binding协议(RFC5416,2009年4月发布),以支持802.11网络的配置管理功能。OpenCapwap也实现了这个协议。

 

                       

 

图1.1 瘦AP架构图

 

二、     CAPWAP状态机分析(重点1)

 

AC与WTP通过CAPWAP状态机来建立隧道,CAPWAP状态机如示意图2.1所示,由图上可知,整个CAPWAP隧道建立的状态有:Idle, Discovery, Sulking, DTLS Setup, Authorize, DTLS Connect, DTLS Teardown, Join, Configure, Image Data, Data Check, Run, Reset。其中 DTLS是CAPWAP报文传输安全机制,保障了网络通信的安全。

 

CAPWAP状态机是被AC与WTP同时使用的,WTP系统中只有一个CAPWAP状态机,AC端有多个状态机。对于每个定义的状态,只有特定消息被允许发送和接受,每一个状态变迁都有AC与WTP的相关动作,详见RFC5415。CAPWAP状态机的最终目标是进入到RUN状态,进行实际的数据传输,而之前的过程都是AP发现AC,AP与AC建立CAPWAP隧道的过程。

 

 

 

图2.1 CAPWAP状态机流程图

 

其中AC和AP建立控制链路的过程如图2.2所示,包含了几个主要的状态:

 

1、 Discovery状态

 

该状态是一个WTP发现可关联AC的过程,在前期WTP可以通过1)读取静态配置文件中AC IP列表2)通过DNS域名解析3)DHCP返回AC IP列表4)广播等方式发送Discovery request,查找当前可关联的AC,当AC收到Discovery request,会发送Discovery response作为响应。

 

 

 

图2.2  AP发现AC的流程图

 

2、 Join状态

 

该状态是AC与WTP建立控制通道的交互过程,并在此交互过程中,AC检查WTP当前版本,如果WTP的版本无法与AC要求的相匹配,WTP和AC会进入Image Data状态做固件升级,来更新WTP版本;如果WTP版本符合要求,则进入configuration状态

 

3、 Image Data状态

 

Image Data状态是AC对WTP升级的过程,以便WTP的版本可正常关联AC

 

4、 Configuration状态

 

该状态用于做WTP的现有配置和AC设定配置的匹配检查,WTP发送configuration request到AC,里面包含现有WTP配置,当WTP当前配置与AC要求不符实,AC会通过configuration response通知WTP,WTP根据response内容对自身配置做重新设置。

 

5、 Run状态

 

当WTP进入Run状态,说明WTP与AC的控制和数据通道建立已成功,用户可根据需要,对指定的WTP做配置设置,如创建WLAN、Channel设置、Txpower设置等等,并可实时监控WTP的运行状态。

 

三、     CAPWAP报文格式(重点2

 

1、CAPWAP报文

 

CAPWAP报文分为控制和数据两种消息,除了控制消息的Discovery Request和Discovery Response消息外其余的大部分消息均用DTLS进行加密封装。

 

CAPWAP的控制报文格式如下:

 

+-------------------------------------------+

 

| IP  | UDP | CAPWAP | Control | Message    |

 

| Hdr | Hdr | Header | Header  | Element(s) |

 

+-------------------------------------------+

 

图3.1 CAPWAP控制报文帧格式一(Discovery Request/Response)

 

+------------------------------------------------------------------+

 

    | IP  | UDP | CAPWAP   | DTLS | CAPWAP | Control| Message   | DTLS |

 

    | Hdr | Hdr | DTLS Hdr | Hdr  | Header | Header | Element(s)| Trlr |

 

    +------------------------------------------------------------------+

 

                           \---------- 认证---------------------/

 

                                  \------------- 加密------------------/

 

图3.2 CAPWAP控制报文帧格式二(经DTLS 安全加密处理的)

 

CAPWAP的数据报文格式如下:(CAPWAP协议对数据报文的DTLS加密是可选的。)

 

+-------------------------------+

 

| IP  | UDP | CAPWAP | Wireless |

 

| Hdr | Hdr | Header | Payload  |

 

+-------------------------------+

 

图3.3 CAPWAP数据明文帧格式

 

+--------------------------------------------------------+

 

       | IP  | UDP |  CAPWAP  | DTLS | CAPWAP | Wireless | DTLS |

 

       | Hdr | Hdr | DTLS Hdr | Hdr  | Header| Payload  | Trlr |

 

       +--------------------------------------------------------+

 

                              \------ 认证---------------/

 

                                     \------- 加密--------------/

 

图3.4 CAPWAP加密数据报文帧格式

 

2CAPWAP 协议头分析

 

CAPWAP 协议的所有报文都包含 CAPWAP 首部,在控制信道收到则是控制报文,在数据信道收到则是数据报文,其帧格式见下:

 

具体字段的含义请参加文档说明。

 

 

 

图3.5  CAPWAP Header格式

 

四、     总结

 

理解CAPWAP状态机的状态跳转过程,弄清了具体的CAPWAP报文格式,就知道它发生什么数据,状态机从一种状态跳到另一种状态,这样就基本弄清了整个CAPWAP协议基本框架。当然CAPWAP协议还有很多细节去分析,但是在理解了CAPWAP协议基本框架后,再结合OpenCapwap源代码和网络抓包,分析细节是比较容易的了。希望本文档能对你有所帮助。


 

转载于:https://www.cnblogs.com/seacode/p/3175379.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
摘要 本规范定义无线AP控制和配置(Control And Provisioning of Wireless Access Points, CAPWAP)协议,满足在RFC4564中由CAPWAP Working Group定义的目标。CAPWAP协议在设计上颇具灵活性,这使其能够用于各种无线技术。本文档介绍基础CAPWAP协议,而独立的绑定扩展使其可与其他无线技术一起使用。 目录 第1章 序言 1-1 目标 1-2 本文档中的约定 1-3 特约作者 1-4 术语 第2章 协议综述 2-1 无线绑定定义 2-2 CAPWAP会话建立综述 2-3 CAPWAP状态机定义 2-3-1 CAPWAP协议状态转换 2-3-2 CAPWAP/DTLS接口 2-4 在CAPWAP协议中使用DTLS 2-4-1 DTLS握手处理流程 2-4-2 DTLS会话建立 2-4-3 DTLS错误处理 2-4-4 DTLS端点认证和授权 第3章 CAPWAP传送 3-1 UDP传送 3-2 UDP-Lite传送 3-3 AC发现 3-4 分段/重组 3-5 MTU发现 第4章 CAPWAP分组格式 4-1 CAPWAP前导 4-2 CAPWAP DTLS首部 4-3 CAPWAP首部 4-4 CAPWAP数据消息 4-4-1 CAPWAP数据通道保持激活 4-4-2 数据净荷 4-4-3 建立DTLS数据通道 4-5 CAPWAP控制消息 4-5-1 控制消息格式 4-5-2 服务质量 4-5-3 重传 4-6 CAPWAP协议消息要素 4-6-1 AC描述符 4-6-2 AC IPv4列表 4-6-3 AC IPv6列表 4-6-4 AC名称 4-6-5 带优先权的AC名称 4-6-6 AC时间戳 4-6-7 添加MAC ACL条目 4-6-8 添加站 4-6-9 CAPWAP控制IPv4地址 4-6-10 CAPWAP控制IPv6地址 4-6-11 CAPWAP本地IPv4地址 4-6-12 CAPWAP本地IPv6地址 4-6-13 CAPWAP计时器 4-6-14 CAPWAP传输协议 4-6-15 数据传输数据 4-6-16 数据传输模式 4-6-17 解密错误报告 4-6-18 解密错误报告周期 4-6-19 删除MAC ACL条目 4-6-20 删除站 4-6-21 发现类型 4-6-22 重复的IPv4地址 4-6-23 重复的IPv6地址 4-6-24 空闲超时 4-6-25 ECN支持 4-6-26 映像数据 4-6-27 映像标识符 4-6-28 映像信息 4-6-29 启动下载 4-6-30 位置数据 4-6-31 最大消息长度 4-6-32 MTU发现填充 4-6-33 无线电设备管理状态 4-6-34 无线电设备运行状态 4-6-35 结果代码 4-6-36 返回的消息要素 4-6-37 会话ID 4-6-38 统计量计时器 4-6-39 特定供应商净荷 4-6-40 WTP 主板(Board)数据 4-6-41 WTP描述符 4-6-42 WTP回退 4-6-43 WTP帧隧道模式 4-6-44 WTP MAC类型 4-6-45 WTP名称 4-6-46 WTP无线电设备统计量 4-6-47 WTP重启统计量 4-6-48 WTP静态IP地址信息 4-7 CAPWAP协议计时器 4-7-1 ChangeStatePendingTimer 4-7-2 DataChannelKeepAlive 4-7-3 DataChannelDeadInterval 4-7-4 DataCheckTimer 4-7-5 DiscoveryInterval 4-7-6 DTLSSessionDelete 4-7-7 EchoInterval 4-7-8 IdleTimeout 4-7-9 ImageDataStartTimer 4-7-10 MaxDiscoveryInterval 4-7-11 ReportInterval 4-7-12 RetransmitInterval 4-7-13 SilentInterval 4-7-14 StatisticsTimer 4-7-15 WaitDTLS 4-7-16 WaitJoin 4-8 CAPWAP协议变量 4-8-1 AdminState 4-8-2 DiscoveryCount 4-8-3 FailedDTLSAuthFailCount 4-8-4 FailedDTLSSessionCount 4-8-5 MaxDiscoveries 4-8-6 MaxFailedDTLSSessionRetry 4-8-7 MaxRetransmit 4-8-8 RetransmitCount 4-8-9 WTPFallBack 4-9 WTP保存的变量 4-9-1 AdminRebootCount 4-9-2 FrameEncapType 4-9-3 LastRebootReason 4-9-4 MacType 4-9-5 PreferredACs 4-9-6 RebootCount 4-9-7 Static IP Address 4-9-8 WTPLinkFailureCount 4-9-9 WTPLocation 4-9-1 . WTPName 第5章 CAPWAP发现操作 5-1 发现请求消息 5-2 发现响应消息 5-3 主发现请求消息 5-4 主发现响应消息 第6章 CAPWAP加入操作 6-1 加入请求 6-2 加入响应 第7章 控制通道管理 7-1 回显请求 7-2 回显响应 第8章 WTP配置管理 8-1 配置一致性 8-1-1 配置灵活性 8-2 配置状态请求 8-3 配置状态响应 8-4 配置更新请求 8-5 配置更新响应 8-6 改变状态事件请求 8-7 改变状态事件响应 8-8 清除配置请求 8-9 清除配置响应 第9章 设备管理操作 9-1 固件管理 9-1-1 映像数据请求 9-1-2 映像数据响应 9-2 复位请求 9-3 复位响应 9-4 WTP事件请求 9-5 WTP事件响应 9-6 数据传送 9-6-1 数据传送请求 9-6-2 数据传送响应 第10章 站点会话管理 10-1 站点配置请求 10-2 站点配置响应 第11章 NAT考虑 第12章 安全考虑 12-1 CAPWAP安全 12-1-1 转换受保护数据为不受保护数据 12-1-2 转换不受保护数据为受保护数据(插入) 12-1-3 删除受保护记录 12-1-4 插入不受保护记录 12-1-5 应用MD5 12-1-6 CAPWAP分段 12-2 会话ID安全 12-3 发现或DTLS设置攻击 12-4 伴随DTLS会话的干扰 12-5 CAPWAP预配置 12-6 在CAPWAP中使用预共享密钥 12-7 在CAPWAP中使用证书 12-8 在CN字段中使用MAC地址 12-9 AAA安全 12-10 WTP固件 第13章 运行考虑 第14章 传输考虑 第15章 IANA考虑 15-1 IPv4多播地址 15-2 IPv6多播地址 15-3 UDP端口 15-4 CAPWAP消息类型 15-5 CAPWAP首部标记 15-6 CAPWAP控制消息标记 15-7 CAPWAP消息要素类型 15-8 CAPWAP无线绑定标识符 15-9 AC安全类型 15-10 AC DTLS策略 15-11 AC信息类型 15-12 CAPWAP传输协议类型 15-13 数据传送类型 15-14 数据传送模式 15-15 发现类型 15-16 ECN支持 15-17 无线电设备管理状态 15-18 无线电设备运行状态 15-19 无线电设备故障原因 15-20 结果代码 15-21 返回的消息要素原因 15-22 WTP主板数据类型 15-23 WTP描述符类型 15-24 WTP回退模式 15-25 WTP帧隧道模式 15-26 WTP MAC类型 15-27 WTP无线电设备统计量故障类型 15-28 WTP重启统计量故障类型 第16章 致谢 第17章 参考文献 17-1 标准类参考文献 17-2 信息类参考文献 编辑通讯录
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值