capwap学习笔记-基础知识.docx_第1页
capwap学习笔记-基础知识.docx_第2页
capwap学习笔记-基础知识.docx_第3页
capwap学习笔记-基础知识.docx_第4页
capwap学习笔记-基础知识.docx_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

capwap学习笔记capwap的前世今生公司要做AP和AC,从今天开始学习capwap。1 capwap的前世今生1.1胖AP、瘦AP、AC传统的WLAN网络都是为企业或家庭内少量移动用户的接入而组建的。因此,只需要一个无线路由器就可以搞定了,就好像现在家用的无线路由器就是胖AP。胖AP将WLAN的物理层、用户数据加密、用户认证、QoS、网络管理、漫游技术以及其他应用层的功能集于一身,功能全,结构复杂。随着无线网络的发展,现在需要部署无线设备的地方越来越多,胖AP的弊端也随之显现出来:WLAN建网时需要对成百上千的AP进行逐一配置:网管IP地址、SSID和加密认证方式等无线业务参数、信道和发射功率等射频参数、ACL和QOS等服务策略,很容易因误配置而造成配置不一致。为了管理AP,需要维护大量AP的IP地址和设备的映射关系,每新增加一批AP设备都需要进行地址关系维护。接入AP的边缘网络需要更改VLAN、ACL等配置以适应无线用户的接入,为了能够支持用户的无缝漫游,需要在边缘网络上配置所有无线用户可能使用的VLAN和ACL。察看网络运行状况和用户统计时需要逐一登录到AP设备才能完成察看。在线更改服务策略和安全策略设定时也需要逐一登录到AP设备才能完成设定。升级AP软件无法自动完成,维护人员需要手动逐一对设备进行软件升级,费时费力AP设备的丢失意味着网络配置的丢失,在发现设备丢失前,网络存在入侵隐患,在发现设备丢失后又需要全网重配置。在这种情况下,瘦AP+AC的组网方式应用而生。其中无线控制器负责无线网络的接入控制,转发和统计、AP的配置监控、漫游管理、AP的网管代理、安全控制;瘦AP负责802.11报文的加解密、802.11的PHY功能、接受无线控制器的管理、RF空口的统计等简单功能。其组网图如下所示:通过无线控制器(AC)来管理多个AP,AP和AC间采用隧道协议进行通讯,无线接入报文的处理在AP和AC间分担实现。瘦AP+AC的组网方式的优点如下:瘦AP的配置保存在无线控制器中,瘦AP启动时会自动从无线控制器下载合适的设备配置信息瘦AP需要能够自动获取IP地址,同时瘦AP需要能够自动发现可接入的无线控制器,并对无线控制器和瘦AP之间的网络拓扑不敏感无线控制器支持瘦AP的配置代理和查询代理,能够将用户对瘦AP的配置顺利传达到指定的瘦AP设备,同时可以实时察看瘦AP的状态和统计信息无线控制器保存瘦AP的最新软件,并负责瘦AP软件的自动更新为了更加清晰的了解胖AP和瘦AP+AC的特点,简单罗列一下。胖AP的主要特点:胖AP是与瘦AP相对来讲的,胖AP将WLAN的物理层、用户数据加密、用户认证、QoS、网络管理、漫游技术以及其他应用层的功能集于一身。胖AP无线网络解决方案可由由胖AP直接在有线网的基础上构成。胖AP设备结构复杂,且难于集中管理。瘦AP的主要特点:瘦AP是相对胖AP来讲的,它是一个只有加密、射频功能的AP,功能单一,不能独立工作。整个瘦AP无线网络解决方案由无线控制器和瘦AP在有线网的基础上构成。瘦AP上“零配置”,所有配置都集中到无线交换机上。这也促成了瘦AP解决方案更加便于集中管理,并由此具有三层漫游、基于用户下发权限等胖AP不具备的功能。简而言之,如果是小规模使用,胖AP是最好的,如果是要大规模部署,瘦AP+AC是明智之选。1.2 CAPWAP的起源既然瘦AP不能单独工作,必须和AC配合使用,那么两者之间总要有一种协议可以让它们能够进行互联和沟通吧。因此,思科老大哥整了一个LWAPP协议,而这个协议正是CAPWAP协议的前身!但是请大家注意,LWAPP这个东西是人家思科的私有的,其他厂商是不能直接使用,否则就要吃官司,于是,其他厂商就按照自己的想法也整了一个协议,这样一来就乱了,你整个协议我也整个协议,如果瘦AP和AC都是一样厂商自然没问题,如果要是不易厂商的,就没法通信了于是乎,IETF为了解决隧道协议不兼容问题造成的A厂家的AP和B厂家的AC无法进行互通,在2005年成立了CAPWAP工作组以标准化AP和AC间的隧道协议。capwap学习笔记初识capwap(一)2初识CAPWAP2.1 CAPWAP简介说了半天CAPWAP,连全称都还没说,汗CAPWAPControl And Provisioning of Wireless Access Points Protocol Specification。其由两个部分组成:CAPWAP协议和无线BINDING协议。前者是一个通用的隧道协议,完成AP发现AC等基本协议功能,和具体的无线接入技术无关。后者是提供具体和某个无线接入技术相关的配置管理功能。这么说吧,前者规定了各个阶段需要干什么事,后者就是具体到在各种接入方式下应该怎么完成这些事。CAPWAP协议在2009年4月的RFC5415中发布,无线BINGDING协议目前只出台了接入方式为802.11的RFC,也是2009年4月发布的,RFC编号为5416。PS:漂移一下,顺带提一下802.11、802.15、802.16、802.20等无线接入方式的区别。*目前,IEEE802旗下的无线网络协议一共有802.11、802.15、802.16和802.20等四大种类,这四大类协议中又包含各种不同性能的子协议,显得很混乱的样子IEEE802.11体系定义的是无线局域网标准(WLAN,Wireless Local Area Network),针对家庭和企业中的局域网而设计,应用范围一般局限在一个建筑物或一个小建筑物群(如学校、小区等)。IEEE802.15定义的其实是无线个人网络(WPAN,Wireless Personal Area Network),主要用于个人电子设备与PC的自动互联,这类设备包括手机、MP3播放器、便携媒体播放器、数码相机、掌上电脑等等。IEEE802.16是一种广带无线接入技术(Broadband Wireless Access,BWA),主要用于远距离、高速度的通讯环境,定义的是城域网络(MAN,Metropolitan Area Network),性能可媲美Cable电缆、DSL、T1专线等传统的有线技术。IEEE802.16包含802.16和802.16a两项子协议,前者的作用距离为2公里,传输速率在30Mbps至130Mbps之间,而802.16a的传输距离可达到50公里,速率也能达到75Mbps看得出,在上述各种无线通讯技术中,还没有哪项技术可以在有效范围和性能标准上都盖过IEEE802.16a。IEEE802.20与802.16在特性上有些类似,都具有传输距离远、速度快的特点。不过802.20是一项移动广带接入技术(Mobile Broadband Wireless Access,MBWR),他更侧重于设备的可移动性,例如在高速行驶的火车、汽车上都能实现数据通讯(802.16无法做到这一点)。*CAPWAP协议的主要功能:AP自动发现AC,AC对AP进行安全认证,AP从AC获取软件映像,AP从AC获得初始和动态配置等。此外,系统可以支持本地数据转发和集中数据转发。瘦AP架构让AC具有了对整个WLAN网络的完整视图,为无线漫游、无线资源管理等业务功能的实现提供了基础。2.2一些名词无线控制器(AC):网络实体,在网络架构的数据层,控制层,管理层或者联合起来提供WTP到网络的访问服务。CAPWAP控制信道:一个双向信道,由AC的IP地址,WTP的IP地址,AC控制端口,WTP控制端口,传输层协议(UDP或者UDP-Lite)定义,在这之上可以收发CAPWAP的控制报文。CAPWAP数据信道:一个双向信道,由AC的IP地址,WTP的IP地址,AC数据端口,WTP数据端口,传输层协议(UDP或者UDP-Lite)定义,在这之上可以收发CAPWAP的数据报文。STATION:一个包含无线接口的设备无线终端WTP:物理或者网络实体,包含一个射频天线和无线物理层可以传输和接收STA在无线存取网络的数据。2.3 CAPWAP的模式CAPWAP协议支持两种模式的操作:Split MAC和Local MAC。Split MAC:在split MAC模式下,所有二层的无线数据和管理帧都会被CAPWAP协议封装,然后在AC和WTP之间交换。如下图中所示,从一个Station收到的无线帧,会被直接封装,然后转发给AC。Local MAC:本地转发模式允许数据帧可以用本地桥或者使用802.3的帧形式用隧道转发。在这种情况下,二层无线管理帧在WTP本地已经处理,然后转发给AC。下图显示了本地转发模式,Station传送的无线帧被封装成802.3数据帧,然后转发给AC。2.4 CAPWAP的负载类型CAPWAP协议传输层运输两种类型的负载:数据消息封装转发无线帧控制消息管理WTP和AC之间交换的管理消息CAPWAP数据和控制报文基于不同的UDP端口发送,且可以被分段,因此数据和控制报文可以超过MTU长度。2.5 CAPWAP会话创建过程CAPWAP协议从发现阶段开始。WTPs发送一个发现请求消息,任何接收到这个请求的AC将会回应一个发现响应报文。接收到发现响应报文,WTP选择一个AC来建立一个基于DTLS的安全会话。为了建立DTLS安全连接,WTP将需要一个预先提供的数据,将在后面说明。CAPWAP协议报文将会被分段成网络支持的最大长度。一旦WTP和AC完成了DTLS会话建立,两者之间会交换配置,来在版本信息上达成一致。在这个交换过程之间,WTP可能会接收到规定设置,然后会开启这些设置。当WTP和AC之间完成版本和设置的交换,并且WTP已经开启,CAPWAP协议将被使用来封装AC和WTP之间发送的无线数据帧。如果用户数据或者协议控制数据长度超过WTP和AC之间的MTU会导致CAPWAP协议将L2层帧分片。被分片的CAPWAP报文将会被重新组成原来的封装报文。capwap学习笔记初识capwap(二)2.5.1 AC发现机制WTP使用AC发现机制来得知哪些AC是可用的,决定最佳的AC来建立CAPWAP连接。WTP的发现过程是可选的。如果在WTP上静态配置了AC,那么WTP并不需要完成AC的发现过程。WTP首先发送一个Discovery Request message给受限的广播地址,或者CAPWAP的多播地址(224.0.1.140),或者是预配置的AC的单播地址。在IPV6网络中,由于广播并不存在,因此使用All ACs multicast address (FF0X:0:0:0:0: 0:0:18C)来代替。当接收到Discovery Request message消息,AC发送一个单播Discovery Response message给WTP。WTP可以通过Discovery Response message中所带的AC优先级,支持的CAPWAP binding来选择与哪个AC建立会话。除了上面的发现机制,WTP还可以使用DNS或者DHCP来发现AC。2.5.2 DTLS握手WTP首先发送一个ClientHello消息来发起握手,说明它支持的密码算法列表、压缩方法及最高协议版本和其他一些需要的消息。AC回复一个HelloVerifyReuqest消息,client必须重传添加了cookie的ClientHello。server然后验证cookie,如果有效的话才开始进行握手。AC回应一个ServerHello消息,包含服务器选择的连接参数,源自客户端初期所提供的ClientHello,确定了这次通信所需要的算法,然后发过去自己的证书(里面包含了身份和自己的公钥)。Client在收到这个消息后会生成一个秘密消息,用SSL服务器的公钥加密后传过去,SSL服务器端用自己的私钥解密后,会话密钥协商成功,双方可以用同一份会话密钥来通信了。2.5.3 DTLS认证和授权DTLS支持终端认证方式为:证书(certificate)和预共享密钥(pre-shared key)。CAPWAP认证中使用证书支持的算法是TLS_RSA_WITH_AES_128_CBC_SHA RFC5246(MUST SUPPORT)TLS_DHE_RSA_WITH_AES_128_CBC_SHA RFC5246(SHOULD SUPPORT)TLS_RSA_WITH_AES_256_CBC_SHA RFC5246(MAY SUPPORT)TLS_DHE_RSA_WITH_AES_256_CBC_SHA RFC5246 (MAY SUPPORT)在RFC4279中定义了多种预共享密钥的认证方式,CAPWAP中主要关心下面两种:Pre-Shared Key (PSK) key exchange algorithmDHE_PSK key exchange algorithm同样,CAPWAP定义了预共享密钥支持的算法TLS_PSK_WITH_AES_128_CBC_SHA RFC5246(MUST SUPPORT)TLS_DHE_PSK_WITH_AES_128_CBC_SHA RFC5246(MUST SUPPORT)TLS_PSK_WITH_AES_256_CBC_SHA RFC5246 (MAY SUPPORT)TLS_DHE_PSK_WITH_AES_256_CBC_SHA RFC5246 (MAY SUPPORT)2.5.4 CAPWAP状态机CAPWAP状态机,是被AC和WTP同时使用的。对于每个定义的状态,只有特定的消息才被允许收发。因为WTP只会和单个AC通讯,因此只会有一个CAPWAP的状态机。而AC与WTP有很大差别,因为AC同时和许多WTP通讯。DTLS和CAPWAP的状态机由命令和通告的API接口联系起来。DTLS状态机的变迁由CAPWAP状态机的命令触发。CAPWAP状态机的变迁由DTLS状态机的通告触发CAPWAP状态机:2.5.4.1 CAPWAP to DTLS CommandsDTLSStart开启DTLS会话的建立DTLSListen监听DTLS会话请求DTLSAccept允许DTLS会话建立DTLSAbortSession导致正在进行中的DTLS会话的中断DTLSShutdown关闭DTLS会话DTLSMtuUpdate改变DTLS模块的MTU设定大小。默认大小为1468字节2.5.4.2 DTLS to CAPWAP NotificationsDTLSPeerAuthorizeDTLS会话建立过程中,通知CAPWAP模块来认证会话。DTLSEstablished通知CAPWAP模块DTLS会话已经成功建立DTLSEstablishFailDTLS会话建立失败DTLSAuthenticateFailDTLS会话建立过程由于认证失败而终止。DTLSAborted通知CAPWAP模块它要求的DTLS会话建立过程已经终DTLSReassemblyFailure通知CAPWAP模块DTLS分片组装失败DTLSDecapFailure通知CAPWAP模块发生了一个解码错误DTLSPeerDisconnect通知CAPWAP模块DTLS会话已经关闭2.5.5 AC线程AC使用了三个“线程”(thread)的概念。监听线程:通过DTLSlisten命令,AC监听线程处理DTLS会话建立请求。创建的时候,监听线程开启DTLS Setup状态。当状态机进入Authorize状态,且DTLS会话生效之后,监听线程创建一个指定的WTP指定会话服务线程和状态空间。发现线程:AC的发现线程负责接收和响应发现请求消息。服务线程:AC的服务进程处理每个WTP的状态和每个WTP连接的线程。这个线程在认证后被监听线程创建。一旦创建,服务线程会继承监听线程的一份状态机空间的拷贝。当与WTP之间的通讯完成后,服务线程关闭,所有的资源都会被释放。注意,在这里使用了线程这个术语,但是并不代表实现者就必须使用线程。这只是一个实现AC状态机的可用的方法。capwap学习笔记初识capwap(三)2.5.6 CAPWAP状态机详解2.5.6.1 Start to Idle这个状态变迁发生在设备初始化完成。WTP:开启CAPWAP状态机。AC:开启CAPWAP状态机。2.5.6.2 Idle to Discovery这个状态变迁发生是为了支持CAPWAP发现进程。WTP:WTP进入发现状态是为了优先去传输第一个Discovery Request message。在进入这个状态之前,WTP设置发现DiscoveryInterval timer,将DiscoveryCount counter为0.同时清理以前的发现过程中可能会从AC收到的所有信息。AC:由发现线程执行,且发生在收到一个发现请求报文的时候。此时,AC需要给这个报文响应一个Discovery Response message。2.5.6.3 Discovery to Discovery在这个发现状态,WTP决定连接哪个AC。WTP:这个状态变迁发生在发现DiscoveryInterval timer触发的时候。对于这个事件的每次变迁,DiscoveryCount counter会递增。一旦WTP发送了Discovery Request message,WTP重启DiscoveryInterval timer。AC:对于AC来说,这个状态变迁是无效的。2.5.6.4 Discovery to Idle当发现过程完毕的时候,AC的发现线程将会触发这个变迁。WTP:对于WTP来说,这个状态变迁是无效的。AC:这个状态变迁由AC发现线程执行,当发现线程传输了一个给Discovery Request回送了一个Discovery Response的时候,就会触发这个过程。2.5.6.5 Discovery to Sulking当WTP发现AC失败的时候会触发这个状态变迁。WTP:发生在DiscoveryInterval timer超时的时候。且此时DiscoveryCount变量等于MaxDiscoveries。在进入这个状态之前,WTP必须开启SilentInterval timer。当在Sulking状态的时候,所有收到的CAPWAP协议报文都会被忽略。AC:对于AC来说,这个状态变迁是无效的。2.5.6.6 Sulking to Idle这个状态变迁发生在WTP需要重新启动发现过程的时候。WTP:当SilentInterval timer触发,WTP进入到这个状态。FailedDTLSSessionCount, DiscoveryCount和FailedDTLSAuthFailCount计数器被清零。AC:对于AC来说,这是一个无效的状态变迁。2.5.6.7 Sulking to Sulkingsulking状态提供安静时段,最小化DOS攻击的危险。WTP:在sulking状态收到的所有来自AC得报文都会被忽略。AC:对于AC来说,这是一个无效的状态变迁2.5.6.8 Idle to DTLS Setup这个状态变迁发生在跟对端建立安全的DTLS会话的时候。WTP:WTP通过调用DTLSStart命令来初始化这个状态变迁,开始与选定AC进行DTLS会话,且开启WaitDTLS timer。此时,忽略了发现过程,假设WTP有本地配置的AC。AC:从start状态进入Idle状态,监听线程自动变迁至DTLS Setup状态,调用DTLSListen命令,并且开启WaitDTLS timer。2.5.6.9 Discovery to DTLS SetupWTP:WTP调用DTLSStart命令来初始化这个变迁,开始与指定AC建立DTLS会话。AC:对于AC来说,这是一个无效的状态变迁。2.5.6.10 DTLS Setup to Idle当DTLS连接失败的时候发生这个状态变迁。WTP:此时WTP接收到DTLSEstablishFail通知,并且FailedDTLSSessionCount或者FailedDTLSAuthFailCount counter没有达到MaxFailedDTLSSessionRetry值。这个错误通知终止了DTLS会话的建立。当接收到这个通知,FailedDTLSSessionCount计时器会递增。这个状态变迁也会发生在WaitDTLS timer超时的情况下。AC:对于AC来说,这是一个无效的状态变迁。2.5.6.11 DTLS Setup to Sulking当重复尝试建立DTLS连接失败的时候,会发生此状态变迁。WTP:当FailedDTLSSessionCount或者FailedDTLSAuthFailCount到达最大值MaxFailedDTLSSessionRetry的时候,WTP进入此状态变迁。进入这个状态,WTP必须开启SilentInterval定时器,且所有接收到的CAPWAP和DTLS协议报文将会被忽略。AC:对于AC来说,这是一个无效的状态变迁。2.5.6.12DTLS Setup to DTLS Setup当DTLS会话建立失败的时候会发生这个状态变迁。WTP:对于WTP来说,这是一个无效的状态变迁AC:当接收到一个来自DTLS的DTLSEstablishFail通知,AC监听线程初始化这个状态变迁。当收到这个通告,FailedDTLSSession Count会递增,监听线程然后调用DTLSListen命令。2.5.6.13 DTLS Setup to Authorize这个状态变迁发生在当一个正在建立DTLS会话需要认证才能继续进行的时候。WTP:当WTP接收到DTLSPeerAuthorize通告的时候,开始这个状态变迁。在进入这个状态之前,WTP对AC的证书执行一个认证检查。AC:当DTLS模块初始化DTLSPeerAuthorize通告的时候,AC监听线程处理这个状态变迁。监听线程fork一个服务线程和一个状态机内容的拷贝,然后,服务线程会对WTP证书执行认证。2.5.6.14 Authorize to DTLS Setup当监听线程对新进入的会话开始监听的时候,发生这个状态变迁。WTP:对于WTP来说,这是个无效的状态变迁AC:当AC监听线程创建WTP内容空间和服务线程后,发生这个状态变迁。监听线程然后调用DTLSListen命令。2.5.6.15 Authorize to DTLS Connect当通知DTLS栈会话将要建立的时候发生这个状态变迁。WTP:当AC证书被WTP认证成功的时候,会发生这个状态变迁。调用DTLSAccept命令来完成。AC:当WTP证书成功通过AC认证的时候发生这个状态变迁。调用DTLSAccept来完成。2.5.6.16 DTLS Connect to DTLS Teardown当DTLS会话建立失败的时候发生。WTP:当WTP接收到一个DTLSAborted或者DTLSAuthenticateFail通告,告知这个DTLS会话建立不成功的时候,发生这个状态变迁。当因为DTLSAuthenticateFail通告发生的状态变迁,FailedDTLSAuthFailCount会增加,否则,FailedDTLSSessionCount计数器增加。这个状态变迁也在WaitDTLS定时器超时的时候发生,此时WTP开启DTLSSessionDelete定时器。AC:当WTP接收到一个DTLSAborted或者DTLSAuthenticateFail通告,告知这个DTLS会话建立不成功,此时FailedDTLSAuthFailCount和FailedDTLSSessionCount不等于MaxFailedDTLSSessionRetry的时候,发生这个状态变迁。这个状态变迁也在WaitDTLS定时器超时的时候发生。2.5.6.17 DTLS Connect to Join当会话成功建立的时候发生。WTP:当WTP接收到一个DTLSEstablished通告,表明这个DTLS会话成功建立的时候,发生这个状态变迁。当接收到这个通告FailedDTLSSessionCount计时器被设置为0.WTP进入join状态,传输Join Request给AC。WTP停止WaitDTLS定时器。AC:当AC接收到DTLSEstablished通告,表明这个DTLS会话成功建立的时候,发生这个状态变迁。当接收到这个通告,FailedDTLSSessionCount计时器被设置为0.AC停止WaitDTLS定时器,开启WaitJoin定时器。2.5.6.18 Join to DTLS Teardown当Join过程失败的时候发生。WTP:当WTP接收到一个带有错误代码消息单元的Join响应消息,或者在Join响应中由AC提供的Image与WTP现在运行的版本不一样,且WTP的non-volatile memory中有这个请求的版本号.这个导致WTP初始化DTLSShutdown命令。当WTP接收到下面任何一个通告的时候,也会发生这个过程:DTLSAborted,DTLSReassemblyFailure, or DTLSPeerDisconnect.WTP开启DTLSSessionDelete定时器。AC:发生在WaitJoin超时或者AC传送了一个带有错误码的Join Response的时候。AC初始化DTLSShutdown命令。当AC收到下面任何一个DTLS通告的时候,也会发生这个过程:DTLSAborted, DTLSReassemblyFailure,DTLSPeerDisconnect。此时,AC开启DTLSSessionDelete定时器。2.5.6.19 Join to Image DataWTP和AC下载可执行的firmware时使用这个状态变迁。WTP:当WTP收到了一个成功的Join Response message,告知它当前运行的版本与要求的不一样的时候,发生这个状态变迁。且此时,WTP的non-volatile storage中也没有要求的image版本。WTP初始化EchoInterval计时器。AC:当AC发送一个Join Response给WTP之后,从WTP接受到一个Image Data Request报文,发生这个状态变迁。AC停止WaitJoin定时器,发送一个Image Data Response message给WTP。2.5.6.20 Join to ConfigureWTP和AC使用这个状态变迁来交换配置信息。WTP:当WTP收到了一个successful Join Response message,且此时当前运行的版本与要求的一致。WTP发送一个Configuration Status Request message给AC,消息中包含了当前配置信息。AC:当从WTP接收到Configuration Status Request message,且消息中包含指定消息元素需要覆盖WTP的配置。AC停止WaitJoin定时器,发送Configuration Status Response message,并且开启ChangeStatePendingTimer定时器。2.5.6.21 Configure to Reset这个状态变迁被用来重启连接。这个可能被配置阶段发生的错误导致,或者是WTP决定它有需要来重启让新的配置生效。CAPWAP Reset命令用来告诉对端它将会初始化一个DTLSteardown。WTP:WTP接收到Configuration Status Response message告诉它有错误发生或者觉得有需要重新让新配置生效的时候,WTP进入reset状态。AC:AC接收到一个来自WTP的Change State Event message,当这个消息包含了因为AC的策略而不允许WTP提供服务的错误的时候,AC变迁到reset状态。这个状态变迁也会在ChangeStatePendingTimer定时器超时的时候发生。2.5.6.22 Authorize to DTLS Teardown这个状态变迁为了通知DTLS会话将要终止。WTP:当WTP认证失败的时候,发生这个状态变迁。WTP然后调用DTLSAbortSession命令终止这个DTLS会话。这个状态变迁也会发生在WaitDTLS定时器超时的情况下。WTP开启DTLSSessionDelete定时器。AC:这个状态变迁发生在AC认证失败的时候。AC调用DTLSAbortSession命令终止DTLS会话。这个状态变迁也会发生在WaitDTLS定时器超时的时候。AC开启DTLSSessionDelete定时器。2.5.6.23 Configure to DTLS Teardown这个变迁发生在因为DTLS错误导致的配置过程终止的时候。WTP:当接收到下列任一DTLS通告:DTLSAborted,DTLSReassemblyFailure,或者DTLSPeerDisconnect,WTP进入这个状态。如果它接收到频繁的DTLSDecapFailure通告,WTP也有可能会终止DTLS会话。此时,WTP开启DTLSSessionDelete定时器。AC:当接收到下列任一DTLS通告:DTLSAborted,DTLSReassemblyFailure,或者DTLSPeerDisconnect,AC进入这个状态。如果它接收到频繁的DTLSDecapFailure通告,WTP也有可能会终止DTLS会话。AC开启DTLSSessionDelete定时器。2.5.6.24 Image Data to Image Dataimage数据状态在WTP和AC在firmware下载阶段的时候使用。WTP:当WTP接收到一个表明AC有更多数据要发送的Image Data Response message的时候,WTP进入Image Data state。WTP接收到频繁的Image Data Requests,此时,它将会重新设置ImageDataStartTimer的时间来保证它接收到下一个来自AC的Image Data Request。WTP的EchoInterval超时的时候,这会导致WTP传输一个Echo Request message,并且重新设置它的EchoInterval定时器。WTP接收到一个来自AC的Echo Response。AC:当AC在Image数据状态下接收到来自WTP的Image Data Response message。当AC接收到一个来自WTP的Echo Request。这个会导致AC用一个Echo Response来进行响应,然后重新设置EchoInterval定时器。2.5.6.25 Image Data to ResetWTP下载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.28Data 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.29Data 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 RunCAPWAP的常态。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 ResponseAC:这是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的配置,然后接收到来自WT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论