capwap学习笔记05大全Word文件下载.docx

上传人:b****5 文档编号:19223403 上传时间:2023-01-04 格式:DOCX 页数:40 大小:455.23KB
下载 相关 举报
capwap学习笔记05大全Word文件下载.docx_第1页
第1页 / 共40页
capwap学习笔记05大全Word文件下载.docx_第2页
第2页 / 共40页
capwap学习笔记05大全Word文件下载.docx_第3页
第3页 / 共40页
capwap学习笔记05大全Word文件下载.docx_第4页
第4页 / 共40页
capwap学习笔记05大全Word文件下载.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

capwap学习笔记05大全Word文件下载.docx

《capwap学习笔记05大全Word文件下载.docx》由会员分享,可在线阅读,更多相关《capwap学习笔记05大全Word文件下载.docx(40页珍藏版)》请在冰豆网上搜索。

capwap学习笔记05大全Word文件下载.docx

瘦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.2CAPWAP的起源

既然瘦AP不能单独工作,必须和AC配合使用,那么两者之间总要有一种协议可以让它们能够进行互联和沟通吧。

因此,思科老大哥整了一个LWAPP协议,而这个协议正是CAPWAP协议的前身!

但是请大家注意,LWAPP这个东西是人家思科的私有的,其他厂商是不能直接使用,否则就要吃官司……,于是,其他厂商就按照自己的想法也整了一个协议,这样一来就乱了,你整个协议我也整个协议,如果瘦AP和AC都是一样厂商自然没问题,如果要是不易厂商的,就没法通信了……

于是乎,IETF为了解决隧道协议不兼容问题造成的A厂家的AP和B厂家的AC无法进行互通,在2005年成立了CAPWAP工作组以标准化AP和AC间的隧道协议。

2初识CAPWAP

2.1CAPWAP简介

说了半天CAPWAP,连全称都还没说,汗……

CAPWAP——ControlAndProvisioningofWirelessAccessPointsProtocolSpecification。

其由两个部分组成:

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,WirelessLocalAreaNetwork),针对家庭和企业中的局域网而设计,应用范围一般局限在一个建筑物或一个小建筑物群(如学校、小区等)。

IEEE802.15定义的其实是无线个人网络(WPAN,WirelessPersonalAreaNetwork),主要用于个人电子设备与PC的自动互联,这类设备包括手机、MP3播放器、便携媒体播放器、数码相机、掌上电脑等等。

IEEE802.16是一种广带无线接入技术(BroadbandWirelessAccess,BWA),主要用于远距离、高速度的通讯环境,定义的是城域网络(MAN,MetropolitanAreaNetwork),性能可媲美Cable电缆、DSL、T1专线等传统的有线技术。

IEEE802.16包含802.16和802.16a两项子协议,前者的作用距离为2公里,传输速率在30Mbps至130Mbps之间,而802.16a的传输距离可达到50公里,速率也能达到75Mbps—看得出,在上述各种无线通讯技术中,还没有哪项技术可以在有效范围和性能标准上都盖过IEEE802.16a。

IEEE802.20与802.16在特性上有些类似,都具有传输距离远、速度快的特点。

不过802.20是一项移动广带接入技术(MobileBroadbandWirelessAccess,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.3CAPWAP的模式

CAPWAP协议支持两种模式的操作:

SplitMAC和LocalMAC。

SplitMAC:

在splitMAC模式下,所有二层的无线数据和管理帧都会被CAPWAP协议封装,然后在AC和WTP之间交换。

如下图中所示,从一个Station收到的无线帧,会被直接封装,然后转发给AC。

LocalMAC:

本地转发模式允许数据帧可以用本地桥或者使用802.3的帧形式用隧道转发。

在这种情况下,二层无线管理帧在WTP本地已经处理,然后转发给AC。

下图显示了本地转发模式,Station传送的无线帧被封装成802.3数据帧,然后转发给AC。

2.4CAPWAP的负载类型

CAPWAP协议传输层运输两种类型的负载:

数据消息

封装转发无线帧

控制消息

管理WTP和AC之间交换的管理消息

CAPWAP数据和控制报文基于不同的UDP端口发送,且可以被分段,因此数据和控制报文可以超过MTU长度。

2.5CAPWAP会话创建过程

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报文将会被重新组成原来的封装报文。

2.5.1AC发现机制

WTP使用AC发现机制来得知哪些AC是可用的,决定最佳的AC来建立CAPWAP连接。

WTP的发现过程是可选的。

如果在WTP上静态配置了AC,那么WTP并不需要完成AC的发现过程。

WTP首先发送一个DiscoveryRequestmessage给受限的广播地址,或者CAPWAP的多播地址(224.0.1.140),或者是预配置的AC的单播地址。

在IPV6网络中,由于广播并不存在,因此使用"

AllACsmulticastaddress"

(FF0X:

0:

0:

18C)来代替。

当接收到DiscoveryRequestmessage消息,AC发送一个单播DiscoveryResponsemessage给WTP。

WTP可以通过DiscoveryResponsemessage中所带的AC优先级,支持的CAPWAPbinding来选择与哪个AC建立会话。

除了上面的发现机制,WTP还可以使用DNS或者DHCP来发现AC。

2.5.2DTLS握手

WTP首先发送一个ClientHello消息来发起握手,说明它支持的密码算法列表、压缩方法及最高协议版本和其他一些需要的消息。

AC回复一个HelloVerifyReuqest消息,client必须重传添加了cookie的ClientHello。

server然后验证cookie,如果有效的话才开始进行握手。

AC回应一个ServerHello消息,包含服务器选择的连接参数,源自客户端初期所提供的ClientHello,确定了这次通信所需要的算法,然后发过去自己的证书(里面包含了身份和自己的公钥)。

Client在收到这个消息后会生成一个秘密消息,用SSL服务器的公钥加密后传过去,SSL服务器端用自己的私钥解密后,会话密钥协商成功,双方可以用同一份会话密钥来通信了。

2.5.3DTLS认证和授权

DTLS支持终端认证方式为:

证书(certificate)和预共享密钥(pre-sharedkey)。

CAPWAP认证中使用证书支持的算法是

TLS_RSA_WITH_AES_128_CBC_SHA[RFC5246](MUSTSUPPORT)

TLS_DHE_RSA_WITH_AES_128_CBC_SHA[RFC5246](SHOULDSUPPORT)

TLS_RSA_WITH_AES_256_CBC_SHA[RFC5246](MAYSUPPORT)

TLS_DHE_RSA_WITH_AES_256_CBC_SHA[RFC5246]](MAYSUPPORT)

在RFC4279中定义了多种预共享密钥的认证方式,CAPWAP中主要关心下面两种:

Pre-SharedKey(PSK)keyexchangealgorithm

DHE_PSKkeyexchangealgorithm

同样,CAPWAP定义了预共享密钥支持的算法

TLS_PSK_WITH_AES_128_CBC_SHA[RFC5246](MUSTSUPPORT)

TLS_DHE_PSK_WITH_AES_128_CBC_SHA[RFC5246](MUSTSUPPORT)

TLS_PSK_WITH_AES_256_CBC_SHA[RFC5246]](MAYSUPPORT)

TLS_DHE_PSK_WITH_AES_256_CBC_SHA[RFC5246]](MAYSUPPORT)

2.5.4CAPWAP状态机

CAPWAP状态机,是被AC和WTP同时使用的。

对于每个定义的状态,只有特定的消息才被允许收发。

因为WTP只会和单个AC通讯,因此只会有一个CAPWAP的状态机。

而AC与WTP有很大差别,因为AC同时和许多WTP通讯。

DTLS和CAPWAP的状态机由命令和通告的API接口联系起来。

DTLS状态机的变迁由CAPWAP状态机的命令触发。

CAPWAP状态机的变迁由DTLS状态机的通告触发

CAPWAP状态机:

2.5.4.1CAPWAPtoDTLSCommands

DTLSStart

开启DTLS会话的建立

DTLSListen

监听DTLS会话请求

DTLSAccept

允许DTLS会话建立

DTLSAbortSession

导致正在进行中的DTLS会话的中断

DTLSShutdown

关闭DTLS会话

DTLSMtuUpdate

改变DTLS模块的MTU设定大小。

默认大小为1468字节

2.5.4.2DTLStoCAPWAPNotifications

DTLSPeerAuthorize

DTLS会话建立过程中,通知CAPWAP模块来认证会话。

DTLSEstablished

通知CAPWAP模块DTLS会话已经成功建立

DTLSEstablishFail

DTLS会话建立失败

DTLSAuthenticateFail

DTLS会话建立过程由于认证失败而终止。

DTLSAborted

通知CAPWAP模块它要求的DTLS会话建立过程已经终

DTLSReassemblyFailure

通知CAPWAP模块DTLS分片组装失败

DTLSDecapFailure

通知CAPWAP模块发生了一个解码错误

DTLSPeerDisconnect

通知CAPWAP模块DTLS会话已经关闭

2.5.5AC线程

AC使用了三个“线程”(thread)的概念。

监听线程:

通过DTLSlisten命令,AC监听线程处理DTLS会话建立请求。

创建的时候,监听线程开启DTLSSetup状态。

当状态机进入Authorize状态,且DTLS会话生效之后,监听线程创建一个指定的WTP指定会话服务线程和状态空间。

发现线程:

AC的发现线程负责接收和响应发现请求消息。

服务线程:

AC的服务进程处理每个WTP的状态和每个WTP连接的线程。

这个线程在认证后被监听线程创建。

一旦创建,服务线程会继承监听线程的一份状态机空间的拷贝。

当与WTP之间的通讯完成后,服务线程关闭,所有的资源都会被释放。

注意,在这里使用了线程这个术语,但是并不代表实现者就必须使用线程。

这只是一个实现AC状态机的可用的方法

2.5.6CAPWAP状态机详解

2.5.6.1StarttoIdle

这个状态变迁发生在设备初始化完成。

WTP:

开启CAPWAP状态机。

AC:

2.5.6.2IdletoDiscovery

这个状态变迁发生是为了支持CAPWAP发现进程。

WTP:

WTP进入发现状态是为了优先去传输第一个DiscoveryRequestmessage。

在进入这个状态之前,WTP设置发现DiscoveryIntervaltimer,将DiscoveryCountcounter为0.同时清理以前的发现过程中可能会从AC收到的所有信息。

AC:

由发现线程执行,且发生在收到一个发现请求报文的时候。

此时,AC需要给这个报文响应一个DiscoveryResponsemessage。

2.5.6.3DiscoverytoDiscovery

在这个发现状态,WTP决定连接哪个AC。

WTP:

这个状态变迁发生在发现DiscoveryIntervaltimer触发的时候。

对于这个事件的每次变迁,DiscoveryCountcounter会递增。

一旦WTP发送了DiscoveryRequestmessage,WTP重启DiscoveryIntervaltimer。

对于AC来说,这个状态变迁是无效的。

2.5.6.4DiscoverytoIdle

当发现过程完毕的时候,AC的发现线程将会触发这个变迁。

对于WTP来说,这个状态变迁是无效的。

这个状态变迁由AC发现线程执行,当发现线程传输了一个给DiscoveryRequest回送了一个DiscoveryResponse的时候,就会触发这个过程。

2.5.6.5DiscoverytoSulking

当WTP发现AC失败的时候会触发这个状态变迁。

发生在DiscoveryIntervaltimer超时的时候。

且此时DiscoveryCount变量等于MaxDiscoveries。

在进入这个状态之前,WTP必须开启SilentIntervaltimer。

当在Sulking状态的时候,所有收到的CAPWAP协议报文都会被忽略。

AC:

2.5.6.6SulkingtoIdle

这个状态变迁发生在WTP需要重新启动发现过程的时候。

当SilentIntervaltimer触发,WTP进入到这个状态。

FailedDTLSSessionCount,DiscoveryCount和FailedDTLSAuthFailCount计数器被清零。

对于AC来说,这是一个无效的状态变迁。

2.5.6.7SulkingtoSulking

sulking状态提供安静时段,最小化DOS攻击的危险。

在sulking状态收到的所有来自AC得报文都会被忽略。

对于AC来说,这是一个无效的状态变迁

2.5.6.8IdletoDTLSSetup

这个状态变迁发生在跟对端建立安全的DTLS会话的时候。

WTP通过调用DTLSStart命令来初始化这个状态变迁,开始与选定AC进行DTLS会话,且开启WaitDTLStimer。

此时,忽略了发现过程,假设WTP有本地配置的AC。

从start状态进入Idle状态,监听线程自动变迁至DTLSSetup状态,调用DTLSListen命令,并且开启WaitDTLStimer。

2.5.6.9DiscoverytoDTLSSetup

WTP调用DTLSStart命令来初始化这个变迁,开始与指定AC建立DTLS会话。

AC:

2.5.6.10DTLSSetuptoIdle

当DTLS连接失败的时候发生这个状态变迁。

此时WTP接收到DTLSEstablishFail通知,并且FailedDTLSSessionCount或者FailedDTLSAuthFailCountcounter没有达到MaxFailedDTLSSessionRetry值。

这个错误通知终止了DTLS会话的建立。

当接收到这个通知,FailedDTLSSessionCount计时器会递增。

这个状态变迁也会发生在WaitDTLStimer超时的情况下。

2.5.6.11DTLSSetuptoSulking

当重复尝试建立DTLS连接失败的时候,会发生此状态变迁。

当FailedDTLSSessionCount或者FailedDTLSAuthFailCount到达最大值MaxFailedDTLSSessionRetry的时候,WTP进入此状态变迁。

进入这个状态,WTP必须开启SilentInterval定时器,且所有接收到的CAPWAP和DTLS协议报文将会被忽略。

2.5.6.12DTLSSetuptoDTLSSetup

当DTLS会话建立失败的时候会发生这个状态变迁。

WTP:

对于WTP来说,这是一个无效的状态变迁

当接收到一个来自DTLS的DTLSEstablishFail通知,AC监听线程初始化这个状态变迁。

当收到这个通告,FailedDTLSSessionCount会递增,监听线程然后调用DTLSListen命令。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 制度规范

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1