3. CAPWAP Binding for IEEE 802.11

¢ CAPWAP协议本身并不包括任何指定的无线技术。它依靠绑定协议来扩展对特定无线技术的支持。

¢ RFC5416就是用来扩展CAPWAP对IEEE 802.11网络的支持。其中定义了控制消息字段,新的控制消息,消息元素。

¢ 注意,这个协议仅支持IEEE 802.11-2007规范,并不支持IEEE 802.11-2007 standard中定义的ad hoc网络模式(即点到点模式,也就是IBSS),也不适用于four-address格式的数据帧(这种数据帧一般用于网桥,在IEEE 802.11-2007标准中没有指定这种用法)。协议并不支持IEEE 802.11n。

一些术语:

Basic Service Set (BSS):基础服务集合(中控型基本服务集)。指由被控制的STA及其控制结构组成的无线网络。

Independent Basic Service Set(IBSS):独立基础服务集,也称为特别网络,它是由一系列彼此相互连接的,没有基础架构的站点组成的一个 802.11 网络,是专为点对点连接。IBSS模式没有无线基础设施骨干,但至少需要2台STA。

3.1 绑定标识符

根据RFC5415中4.3章节对CAPWAP头部的描述,其中的WBID字段标识了所绑定的无线技术。针对802.11,该字段取值为1。

3.2 功能划分

由于CAPWAP是与协议无关的,因此当绑定802.11时,就需要将802.11所要求实现的功能进行划分,即将802.11所提供的功能按照提供者(AC还是WTP)来划分,以明晰各自需要实现的功能。简而言之,就是AC和WTP需要各自实现哪些802.11中的功能。

3.2.1 Split MAC

¢ Split MAC

在IEEE802.11中,AC与WTP在split MAC中的分工如下:

由此可知,在split MAC中,分布和集成服务都在AC来完成,因此所有的用户数据都在WTP和AC之间以隧道传送。但是,所有实时的IEEE802.11服务,包括Beacon和Probe响应帧,都在WTP被处理。

关联请求等和802.1x的EAP协议和RNSA密钥管理功能也都在AC上完成。这表明了Authentication, Authorization, 和Accounting (AAA)也都在AC上完成。

IEEE802.11的控制模块都在AC上完成,实时调度和队列功能都在WTP上完成。注意,这个并不代表AC不能提供额外的策略和调度功能

使用802.1X终端用户认证和Advanced Encryption Standard-Counter模式与CBC-MAC 协议 (AES-CCMP)加密。

'( - )'代表帧是在WTP上处理。

处理过程如下:

WTP生成一个IEEE 802.11 Beacon帧,其中包括Robust Security Network Information Element (RSNIE),即支持802.1X和AES-CCMP。

WTP处理Probe请求,回应对应的Probe响应。WTP可以选择是否转发这个请求给AC。

WTP转发IEEEE 802.11认证和关联帧给AC。

一旦关联成功,AC发送一个Station Configuration Request给WTP。

如果WTP提供加密解密服务,一旦客户端完成IEEE802.11密钥交换,AC发送另一个 Station Configuration Request。

WTP转发所有接收到的IEEE 802.11管理帧给WTP。

所有的IEEE 802.11 station数据帧在WTP和AC之间以隧道传送。

注意:当802.11的加解密是在WTP完成时,WTP必须将发送给AC的数据帧进行解析,并且保证帧格式和未受保护的802.11帧格式一致。对于AC发送给WTP的数据帧,AC必须将帧中的保护字段置为0,以保证WTP能够对帧进行正确处理。当802.11的加解密是在AC完成时,WTP不应该对发送给AC的数据帧进行解析。

3.2.2 Local MAC

¢ Local MAC

在IEEE802.11中,AC与WTP在local MAC中的分工如下:

在local MAC模式,集成服务在WTP上完成,分布服务可以在WTP或者AC上完成。如果位于AC,station生成的报文并不被用原来的格式转发给AC,而是被封装成802.3的帧形式。

IEEE 802.1X [IEEE.802-1X.2004], EAP, and IEEE RSNA Key Management [IEEE.802-11.2007]功能都处于AC。因此,WTP必须转发所有的IEEE 802.1X, EAP, and RSNA Key Management报文给AC,并且转发AC的响应给station。

使用AES-CCMP用于加密:

WTP产生IEEE 802.11 Beacon报文

WTP处理Probe Request,并回答一个Probe Response

WTP转发IEEE 802.11 Authentication和Association给AC。

一旦关联成功,AC发送一个Station Configuration Request给WTP。

WTP转发所有的EEE 802.1X and IEEE 802.11 key exchange报文给AC。

WTP转发所有的IEEE 802.11 Management Action报文给AC。

WTP也可以使用802.3报文格式或者802.11报文格式把客户端数据报文用隧道发送给AC。

3.3 STA漫游

Once a client has successfully associated with the network in a

secure fashion, it is likely to attempt to roam to another WTP.

Figure 6 shows an example of a currently associated station moving

from its "Old WTP" to a "New WTP". The figure is valid for multiple

different security policies, including IEEE 802.1X and Wireless

Protected Access (WPA) or Wireless Protected Access 2 (WPA2) [WPA].

如果一个已经成功连接到WTP的STA想要移动到新的WTP,称这种行为为“漫游”。

3.4 Group Key Refresh

由于BSS的Group Key (GTK)需要间隔刷新。在Split MAC的情况下,AC需要复制所有的广播报文,更新key的索引,让报文以当前和新的GTK的方式重复发送,来保证BSS上所有的station都能收到广播包。在Local MAC的时候,这个过程由WTP来完成。

Basic Service Set(BSS): A set of stations controlled by a single coordination function.

AC用IEEE 802.11 Configuration Request作为信号,表明需要更新GTK。然后,AC开始对每个station更新GTK。在这个过程中,AC(split MAC)或者WTP(Local MAC)必须复制广播报文,用新的和当前的GTK加密。当AC完成GTK更新,AC传输一个IEEE 802.11 Configuration Request带有新的GTK。

3.5 CAPWAP Data Channel QoS Behavior

CAPWAP IEEE 802.11 binding规范提供了WTP对IEEE802.11数据报文的QOS支持。

3.5.1 IEEE 802.11 Data Frames

当WTP上创建WLAN的时候,会使用一个默认的QOS服务策略,使得WTP对每个关联的station使用默认的QOS值。

AC可以通过发送Update Station QoS message修改这个QOS策略。

除了默认的策略,IEEE 802.11协议也允许每个station要求自己有特别的QOS策略,具体是通过TSPEC信息元素来实现。

WTP使用Differentiated Services Code Point (DSCP)或者802.1p来实现QOS机制,但是这两种方式并不是不能共存的,AC可以要求WTP不使用,使用其中的任何一种,或者两种同时使用。

802.11 WTP Quality of Service message的Tagging Policy字段用来标示选择何种QOS策略,如下所示:

0 1 2 3 4 5 6 7

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

|Rsvd |P|Q|D|O|I|

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

P表示WTP使用的是802.1p机制来实现QOS,D表示WTP使用的是DSCP机制来实现QOS,其余三个字段的意思请参考RFC 5416的2.6.1.1章节和2.6.1.2章节。

DSCP

DSCP差分服务代码点(Differentiated Services Code Point),IETF于1998年12月发布了Diff-Serv(Differentiated Service)的QoS分类标准. 它在每个数据包IP头部的服务类别TOS标识字节中,利用已使用的6比特和未使用的2比特字节,通过编码值来区分优先级.

DSCP 是“IP 优先”和“服务类型”字段的组合。为了利用只支持“IP 优先”的旧路由器,会使用 DSCP 值,因为 DSCP 值与“IP 优先”字段兼容。

每一个DSCP编码值都被映射到一个已定义的PHB(Per-Hop-Behavior)标识码。

通过键入DSCP值,电话、Windows客户和服务器等终端设备也可对流量进行标识。

IEEE 802.1P

IEEE 802.1P:有关流量优先级的 LAN 第二层 QoS/CoS 协议

IEEE 802.1p:LAN Layer 2 QoS/CoS Protocol for Traffic Prioritization

IEEE 802.1P 规范使得第二层交换机能够提供流量优先级和动态组播过滤服务。优先级规范工作在媒体访问控制(MAC)帧层(OSI 参考模型第二层)。802.1P 标准也提供了组播流量过滤功能,以确保该流量不超出第二层交换网络范围。

802.1P 协议头包括一个3位优先级字段,该字段支持将数据包分组为各种流量种类。IEEE 极力推荐网络管理员实施这些流量种类,但它并不要求强制使用。流量种类也可以定义为第二层服务质量(QoS)或服务类(CoS),并且在网络适配器和交换机上实现,而不需要任何预留设置。802.1P 流量被简单分类并发送至目的地,而没有带宽预留机制。

802.1P 是 IEEE 802.1Q (VLAN 标签技术)标准的扩充协议,它们协同工作。IEEE 802.1Q 标准定义了为以太网 MAC 帧添加的标签。VLAN 标签有两部分:VLAN ID (12比特)和优先级(3比特)。 IEEE 802.1Q VLAN 标准中没有定义和使用优先级字段,而 802.1P 中则定义了该字段。

802.1P 中定义的优先级有8种。尽管网络管理员必须决定实际的映射情况,但 IEEE 仍作了大量建议。最高优先级为7,应用于关键性网络流量,如路由选择信息协议(RIP)和开放最短路径优先(OSPF)协议的路由表更新。优先级6和5主要用于延迟敏感(delay-sensitive)应用程序,如交互式视频和语音。优先级4到1主要用于受控负载(controlled-load)应用程序,如流式多媒体(streaming multimedia)和关键性业务流量(business-critical traffic) - 例如,SAP 数据 - 以及 "loss eligible" 流量。优先级0是缺省值,并在没有设置其它优先级值的情况下自动启用。

3.6 Run State Operation

Run状态是AC和WTP的正常状态。

当WTP收到一个WLAN Configuration Request message,它必须回应一个WLAN Configuration Response message,并且继续停留在run状态;

当AC发送一个WLAN Configuration Request message或者从WTP收到该消息的应答,它也必须继续停留在run状态。

PS:WLAN Configuration Request message和WLAN Configuration Response message的作用和格式,请参考3.7章节。

3.7 IEEE 802.11 Specific CAPWAP Control Messages

该章节定义了一些CAPWAP的控制消息,这些消息仅仅适用于802.11绑定时。

IEEE 802.11 WLAN Configuration Request

¢ 由AC发送给WTP,用于改变WTP上提供的服务。这个报文可以用于创建,升级或者删除WTP上的WLAN。

¢ 该消息可能由手动的管理配置导致(比如,删除一个WLAN),也可能是自动在WTP上创建一个WLAN。如果是后者,那么这个报文将会在AC收到CAPWAP Configuration Update Response(参考[RFC5415] 8.5章节)后发送。

¢ 收到这个控制报文之后,WTP将会作出要求的修改,然后发送一个IEEE 802.11 WLAN Configuration Response。

¢ WTP可能提供多个WLAN,因此,每个WLAN用一个数字索引来定义。例如,一个支持16个SSID的WTP,可以接受16个IEEE 802.11 WLAN Configuration Request来创建一个WLAN。

¢ 索引是WLAN的基本标识符,AC可能尝试来做到它管理的所有WTP上相同的WLAN用相同的索引号来定义。AC如果不支持这种方法的话,必须使用其他的方法来维持一个WLAN-Identifier-to-SSID映射表。

IEEE 802.11 WLAN Configuration Response

由WTP发送给AC,用于响应IEEE 802.11 WLAN Configuration Request,告诉请求的配置是否成功,或者发生了错误。

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(五)

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

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

    2.5.6.25 Image Data to Reset WTP下载image后重启,重新设置DTLS连接 ¢  WTP: ü   当image的下载完成,或者ImageDataStartTimer定 ...

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

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

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

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

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

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

随机推荐

  1. OS X中app store正在下载的文件在哪里

    很多朋友遇到过app下载一半卡死的情况,点击停止和继续又会无限期等待中. 其实可以将还未下完的app删除来再次尝试下. 打开终端,输入以下命令: open $(getconf DARWIN_USER_ ...

  2. Java进阶(五十二)利用LOG4J生成服务日志

    Java进阶(五十二)利用LOG4J生成服务日志 前言 由于论文写作需求,需要进行流程挖掘.前提是需要有真实的事件日志数据.真实的事件日志数据可以用来发现.监控和提升业务流程. 为了获得真实的事件日志 ...

  3. 使用Multiplayer Networking做一个简单的多人游戏例子-3/3(Unity3D开发之二十七)

    使用Multiplayer Networking做一个简单的多人游戏例子-1/3 使用Multiplayer Networking做一个简单的多人游戏例子-2/3 使用Multiplayer Netw ...

  4. tomcat中的线程问题

    看这篇文章之前,请先阅读: how tomcat works 读书笔记 十一 StandWrapper 上 地址如下: http://blog.csdn.net/dlf123321/article/d ...

  5. LeetCode之“字符串”:ZigZag Conversion

    题目链接 题目要求: The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of ...

  6. javascript随机一个1-9的数字

    window.onload=function(){        var oTxt=document.getElementById('txt');        for(i=1;i<=200;i ...

  7. java设计原则---开闭原则

    开闭原则:指的是一个软件实体应对对扩展开发,对修改关闭(Software entities should be open for extension, but closed for modificat ...

  8. Bash的一些零星笔记

    1.变量带入操作符 在脚本中,使用变量前做检查是很重要的.通过代入操作符,可以实现这方面的功能.比如当变量未赋值时为变量赋默认值,以及更多内容: ${parameter:-默认为空}:当paramet ...

  9. 使用HttpClient进行https连接(一)

    一.生成密钥库和证书 1.生成服务器证书库 keytool -validity 365 -genkey -v -alias uyun -keyalg RSA -keystore /opt/UEM/ke ...

  10. Gradle初探

    (一):创建一个Gradle项目 1. 环境准备 1.1. 先上Gradle官网下载最新版的程序,地址:https://gradle.org/gradle-download/. 1.2. 配置环境变量 ...