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(三)(下)的更多相关文章

  1. capwap学习笔记——初识capwap(一)(转)

    初识CAPWAP 2.1 CAPWAP简介 CAPWAP——Control And Provisioning of Wireless Access Points Protocol Specificat ...

  2. capwap学习笔记——初识capwap(一)

    2 初识CAPWAP 2.1 CAPWAP简介 说了半天CAPWAP,连全称都还没说,汗-- CAPWAP--Control And Provisioning of Wireless Access P ...

  3. capwap学习笔记——初识capwap(四)(转)

    2.5.7 CAPWAP传输机制 WTP和AC之间使用标准的UDP客户端/服务器模式来建立通讯. CAPWAP协议支持UDP和UDP-Lite [RFC3828]. ¢ 在IPv4上,CAPWAP控制 ...

  4. capwap学习笔记——初识capwap(四)

    2.5.7 CAPWAP传输机制 WTP和AC之间使用标准的UDP客户端/服务器模式来建立通讯. CAPWAP协议支持UDP和UDP-Lite [RFC3828]. ¢ 在IPv4上,CAPWAP控制 ...

  5. capwap学习笔记——初识capwap(三)(转)

    2.5.6 CAPWAP状态机详解 2.5.6.1 Start to Idle 这个状态变迁发生在设备初始化完成. ¢  WTP: 开启CAPWAP状态机. ¢  AC:  开启CAPWAP状态机. ...

  6. capwap学习笔记——初识capwap(三)

    2.5.6 CAPWAP状态机详解 2.5.6.1 Start to Idle 这个状态变迁发生在设备初始化完成. ¢  WTP: 开启CAPWAP状态机.     ¢  AC:  开启CAPWAP状 ...

  7. capwap学习笔记——初识capwap(五)(转)

    3. CAPWAP Binding for IEEE 802.11 ¢ CAPWAP协议本身并不包括任何指定的无线技术.它依靠绑定协议来扩展对特定无线技术的支持. ¢ RFC5416就是用来扩展CAP ...

  8. capwap学习笔记——初识capwap(五)

    3. CAPWAP Binding for IEEE 802.11 ¢ CAPWAP协议本身并不包括任何指定的无线技术.它依靠绑定协议来扩展对特定无线技术的支持. ¢ RFC5416就是用来扩展CAP ...

  9. capwap学习笔记——初识capwap(二)(转)

    2.5.1 AC发现机制 WTP使用AC发现机制来得知哪些AC是可用的,决定最佳的AC来建立CAPWAP连接. WTP的发现过程是可选的.如果在WTP上静态配置了AC,那么WTP并不需要完成AC的发现 ...

随机推荐

  1. 在eclipse中配置android ndk的自动编译环境builders

    无论linux还是mac在jni目录中直接运行  ndk-build 就可以生成 lib目录及所需要的 so文件: windows 装上lnx模拟器也是一样: 每次修改完 c++代码, 都要运行一下 ...

  2. Android免Root无侵入AOP框架Dexposed

    Dexposed框架是阿里巴巴无线事业部近期开源的一款在Android平台下的免Root无侵入运行期AOP框架,该框架基于AOP思想,支持经典的AOP使用场景,可应用于日志记录,性能统计,安全控制,事 ...

  3. EM实现

    以下是实验设计 设计一个一维的数据,14个数据,7个成一组,一个高斯分布,整体数据隐含了2个高斯分布. 系统最初给出第一个数属于z0的概率0.9,最后一个数属于在z1的概率0.9,其余数据不可判定. ...

  4. android ViewPager+Fragment之懒加载

    说说写这篇博客的背景吧,前两天去面试,问到一个问题说的是:比如我们首页,是有3个fragment构成的,并且要是实现作用可以滑,那么这个最好的选择就是ViewPager+fragment了,但是我们知 ...

  5. Erlang Rebar 使用指南之四:依赖管理

    Erlang Rebar 使用指南之四:依赖管理 全文目录: https://github.com/rebar/rebar/wiki 本章链接: https://github.com/rebar/re ...

  6. mybatis配置开发

    以mysql为例: 一.需要的架包:mybatis.jar和mysql-connector-java.jar 二.一般会有两类配置文件:数据库配置文件和要执行的sql语句 数据库配置文件(配置文件中有 ...

  7. Android+struts2+json方式模拟手机登录功能

    涉及到的知识点: 1.Struts2框架的搭建(包括Struts2的jSON插件) 2.Android前台访问Web采用HttpClient方式. 3.Android采用JSON的解析. 服务端主要包 ...

  8. 对于CocoaPods的简单理解,实践安装使用过程和常见问题

    (本文是自己通过其他文章进行的自我编辑和简单修改,请大家凑活看看) 一.什么是CocoaPods CocoaPods是iOS项目的依赖管理工具,该项目源码在Github上管理.开发iOS项目不可避免地 ...

  9. AI之微信跳一跳

    需要环境:1,Python3.6 2,android手机 3,ADB驱动,下载地址https://adb.clockworkmod.com/ 步骤: 配置Python3,ADB安装目录到环境变量pat ...

  10. 什么才是java的基础知识?

    近日里,很多人邀请我回答各种j2ee开发的初级问题,我无一都强调java初学者要先扎实自己的基础知识,那什么才是java的基础知识?又怎么样才算掌握了java的基础知识呢?这个问题还真值得仔细思考. ...