capwap学习笔记——初识capwap(三)(下)
2.5.6.25 Image Data to Reset
WTP下载image后重启,重新设置DTLS连接
¢ WTP:
ü 当image的下载完成,或者ImageDataStartTimer定时器超时,WTP进入reset状态。
ü 接收到一个来自AC的Image Data Response message消息的时候转入这个状态。
¢ AC:
当image传输成功完成,或者在传输过程中发生了一个错误的时候,AC进入reset状态。
2.5.6.26 Image Data to DTLS Teardown
当firmware下载过程由于DTLS错误而终止时发生
¢ WTP:
ü 接收到下面任一DTLS通告:DTLSAborted,DTLSReassemblyFailure,或者DTLSPeerDisconnect的时候
ü 收到频繁的DTLSDecapFailure通告的时候关闭DTLS会话。
此时WTP开启DTLSSessionDelete计时器。
¢ AC:
ü 当AC接收到下面任一DTLS通告:DTLSAborted,DTLSReassemblyFailure,或者DTLSPeerDisconnect的时候
ü 收到频繁的DTLSDecapFailure通告的时候关闭DTLS会话。
此时AC开启DTLSSessionDelete计时器。
2.5.6.27 Configure to Data Check
当WTP与AC确认配置信息的时候
¢ WTP:
从AC接收到一个成功的Configuration Status Response message的时候,WTP转入Data Check状态。此时WTP发送一个Change State Event Request message。
¢ AC:
当AC接收到来自WTP的Change State Event Request message时发生。然后,AC回应一个Change State Event Response message。此时, AC必须开启DataCheckTimer定时器,关闭ChangeStatePendingTimer定时器。
2.5.6.28 Data Check to DTLS Teardown
当WTP没有完成Data Check 交互的时候。
¢ WTP:
ü 当CAPWAP重传定时器超时,WTP仍没有接收到Change State Event Response message。
ü 当RetransmitCount达到MaxRetransmit的时候。
此时,WTP开启DTLSSessionDelete定时器。
¢ AC:
当DataCheckTimer定时器超时的时候进入这个状态。
此时,AC开启DTLSSessionDelete定时器。
2.5.6.29 Data Check to Run
当控制和数据通道建立的时候
¢ WTP:
条件:当接收到来自AC的成功Change State Event Response message。
动作:WTP初始化一个数据通道,这个数据通道可选择是否由DTLS加密。开启DataChannelKeepAlive定时器,发送一个Data Channel Keep-Alive报文。然后,WTP开启EchoInterval定时器和DataChannelDeadInterval定时器。
¢ AC:
条件:当AC接收到Data Channel Keep-Alive报文,报文中的session Id与WTP在Join Request中设定的一致。
动作:AC关闭DataCheckTimer定时器。注意,如果AC要求数据通道要加密,那么将会建立一个数据通道的DTLS会话。在接收到Data Channel Keep-Alive报文之前,AC就会发送一个自己的Data Channel Keep-Alive报文。
2.5.6.30 Run to DTLS Teardown
当DTLS发生错误的时候
¢ WTP:
条件:
ü 接收到下面任何一个DTLS通告:DTLSAborted,DTLSReassemblyFailure, 或者DTLSPeerDisconnect。
ü 接收到频繁的DTLSDecapFailure通告。
ü RetransmitCount达到MaxRetransmit值。
动作:
开启DTLSSessionDelete定时器。
AC:
条件:
ü 接收到下面任何一个DTLS通告:DTLSAborted,DTLSReassemblyFailure, 或者DTLSPeerDisconnect。
ü 接收到频繁的DTLSDecapFailure通告。
ü RetransmitCount达到MaxRetransmit值。
ü EchoInterval定时器触发。
动作:
开启DTLSSessionDelete定时器。
2.5.6.31 Run to Run
CAPWAP的常态。
¢ WTP:
这是WTP常态。在这个状态中,WTP每次发送一个请求给AC的时候,都会设置EchoInterval定时器。
在这个状态中可以发生下面的事件:
ü Configuration Update:WTP接收到一个Configuration Update Request message。此时,WTP必须回应一个Configuration Update Response。
ü Change State Event:WTP接收到一个Change State Event Response,或者WTP需要初始化一个Change State Event Request。
ü Echo Request:WTP发送一个Echo Request或者接受到对应的Echo Response。 Clear Config Request:WTP接收到一个Configuration Request,必须产生一个对应的Clear Configuration Response。
ü WTP Event:WTP发送一个WTP Event Request,用于发送一些消息给AC。然后,WTP接收到来自AC的WTP Event Response。
ü Data Transfer:WTP发送一个Data Transfer Request或者Data Transfer Response给AC。
ü Station Configuration Request:WTP接收到一个Station Configuration Request,需要回应一个Station Configuration Response
¢ AC:
这是AC常态。在这个状态中,AC每次发送一个请求给WTP的时候,都会设置EchoInterval定时器。
ü Configuration Update:AC发送一个Configuration Update Request message给WTP用以更新WTP的配置。然后接收到来自WTP的Configuration Update Response。
ü Change State Event:AC接收到一个Change State Event Request,需要回应一个Change State Event Response。
ü Echo Request:AC接收到一个Echo Response需要回应一个对应的Echo Request。
ü Clear Config Request:AC发送一个Configuration Request给WTP来清理WTP的配置,然后接收到来自WTP的Clear Configuration Response。
ü WTP Event:AC接收到一个来自WTP的WTP Event Request,需要回应一个对应的WTP Event Response。
ü Data Transfer:AC发送Data Transfer Request或者Data Transfer Response。AC接收到Data Transfer Request或者Data Transfer Response。
ü Station Configuration Request:AC发送Station Configuration Request或者接收到Station Configuration Response
2.5.6.32 Run to Reset
当AC或者WTP关闭连接的时候发生。可以有正常操作导致,也可能由错误导致。
¢ WTP:
WTP接收到来自AC的Reset Request
¢ AC:
AC发送一个Reset Request给WTP。
2.5.6.33 Reset to DTLS Teardown
CAPWAP reset关闭DTLS会话。
¢ WTP:
条件:WTP发送Reset Response。
动作:WTP不调用DTLSShutdown命令,开启DTLSSessionDelete定时器。
¢ AC:
条件:当AC接收到Reset Response。
动作:初始化DTLSShutdown命令,开启DTLSSessionDelete定时器。
2.5.6.34 DTLS Teardown to Idle
DTLS会话关闭
¢ WTP:
WTP成功清理控制层DTLS会话所关联的所有资源,或者DTLSSessionDelete定时器超时。如果存在数据层DTLS会话,那么也需要关闭,被释放所有资源。为这个状态机设置的所有定时器都要被重置。
¢ AC:
对AC来说是无效状态。
2.5.6.35 DTLS Teardown to Sulking
重复尝试建立DTLS连接失败
¢ WTP:
条件:当FailedDTLSSessionCount或者FailedDTLSAuthFailCount计时器达到MaxFailedDTLSSessionRetry值
动作:开启SilentInterval定时器,在Sulking状态,所有接收到的CAPWAP和DTLS协议报文都必须忽略
¢ AC:
对AC来说是无效状态。
2.5.6.36 DTLS Teardown to Dead
DTLS会话被关闭
¢ WTP:
对WTP来说是无效状态
¢ AC:
AC成功清理控制层DTLS会话所关联的所有资源,或者DTLSSessionDelete定时器超时。如果存在数据层DTLS会话,那么也需要关闭,被释放所有资源。为这个状态机设置的所有定时器都要被重置。
capwap学习笔记——初识capwap(三)(下)的更多相关文章
- capwap学习笔记——初识capwap(一)(转)
初识CAPWAP 2.1 CAPWAP简介 CAPWAP——Control And Provisioning of Wireless Access Points Protocol Specificat ...
- capwap学习笔记——初识capwap(一)
2 初识CAPWAP 2.1 CAPWAP简介 说了半天CAPWAP,连全称都还没说,汗-- CAPWAP--Control And Provisioning of Wireless Access P ...
- capwap学习笔记——初识capwap(四)(转)
2.5.7 CAPWAP传输机制 WTP和AC之间使用标准的UDP客户端/服务器模式来建立通讯. CAPWAP协议支持UDP和UDP-Lite [RFC3828]. ¢ 在IPv4上,CAPWAP控制 ...
- capwap学习笔记——初识capwap(四)
2.5.7 CAPWAP传输机制 WTP和AC之间使用标准的UDP客户端/服务器模式来建立通讯. CAPWAP协议支持UDP和UDP-Lite [RFC3828]. ¢ 在IPv4上,CAPWAP控制 ...
- capwap学习笔记——初识capwap(三)(转)
2.5.6 CAPWAP状态机详解 2.5.6.1 Start to Idle 这个状态变迁发生在设备初始化完成. ¢ WTP: 开启CAPWAP状态机. ¢ AC: 开启CAPWAP状态机. ...
- capwap学习笔记——初识capwap(三)
2.5.6 CAPWAP状态机详解 2.5.6.1 Start to Idle 这个状态变迁发生在设备初始化完成. ¢ WTP: 开启CAPWAP状态机. ¢ AC: 开启CAPWAP状 ...
- capwap学习笔记——初识capwap(五)(转)
3. CAPWAP Binding for IEEE 802.11 ¢ CAPWAP协议本身并不包括任何指定的无线技术.它依靠绑定协议来扩展对特定无线技术的支持. ¢ RFC5416就是用来扩展CAP ...
- capwap学习笔记——初识capwap(五)
3. CAPWAP Binding for IEEE 802.11 ¢ CAPWAP协议本身并不包括任何指定的无线技术.它依靠绑定协议来扩展对特定无线技术的支持. ¢ RFC5416就是用来扩展CAP ...
- capwap学习笔记——初识capwap(二)(转)
2.5.1 AC发现机制 WTP使用AC发现机制来得知哪些AC是可用的,决定最佳的AC来建立CAPWAP连接. WTP的发现过程是可选的.如果在WTP上静态配置了AC,那么WTP并不需要完成AC的发现 ...
随机推荐
- 《java入门第一季》之面向对象面试题
1:方法重写和方法重载的区别?方法重载能改变返回值类型吗? 方法重写: 在子类中,出现和父类中一模一样的方法声明的现象. 方法重载: 同一个类中,出现的方法名相同,参数列表不同的现象. 方法重载能改变 ...
- Erlang Rebar 使用指南之二:制作发布版本
Erlang Rebar 使用指南之二:制作发布版本 全文目录: https://github.com/rebar/rebar/wiki 本章位置: https://github.com/rebar/ ...
- 为macbook双系统的windows装驱动
网上有很多装双系统教程,这里就不再累赘,但是自己发现装完后驱动怎么装并没有交代清楚. 研究后发现,在作为驱动盘的U盘里,BootCamp文件夹下有个setup.exe 运行此程序便进行驱动的安装.
- Testbench(转)
本来还打算自己写下对Testbench的理解,后来发现百度百科名片解释得很好,所以就直接转了. 原文百度百科链接:http://baike.baidu.com/link?url=dxzsOAs32IE ...
- Android ROM开发(一)——Windows下Cygwin和Android_Kitchen厨房的安装
Android ROM开发(一)--Windows下Cygwin和Android_Kitchen厨房的安装 很久没有碰到ROM开发了,在很久很久以前也是从ROM起步的,无奈还是一脚踏上了Android ...
- 【Android 应用开发】BluetoothServerSocket详解
一. BluetoorhServerSocket简介 1. 继承关系 public final class BluetoothServerSocket extends Object implement ...
- studio grandle渠道打包
1. Mainfest 文件中添加一个键值对,这里的value 我定义为 "UMENG_CHANNEL_VALUE"(当然实际应用中可以根据自己的需要命名),后面打包的时候会对这 ...
- 二叉树的建立以及遍历的多种实现(python版)
二叉树是很重要的数据结构,在面试还是日常开发中都是很重要的角色. 首先是建立树的过程,对比C或是C++的实现来讲,其涉及到了较为复杂的指针操作,但是在面向对象的语言中,就不需要考虑指针, 内存等.首先 ...
- java finalize方法总结、GC执行finalize的过程
注:本文的目的并不是鼓励使用finalize方法,而是大致理清其作用.问题以及GC执行finalize的过程. 1. finalize的作用 finalize()是Object的protected方法 ...
- log4j日志的配置
在项目开发中,记录错误日志方便调试.便于发现系统运行过程中的错误.便于后期分析, 在java中,记录日志有很多种方式,比如说log4j log4j需要导入的包: commons-loggin.jar ...