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. dp和px,那些不得不吐槽的故事——Android平台图片文字元素单位浅析 (转)

    一个优秀的手机软件,不仅要有精巧的功能,流畅的速度,让人赏心悦目的UI也往往是用户选择的重要理由.作为移动产品的PM,也需要了解一些在UI设计中的基本知识. 1. px和pt,一对好伙伴 在视觉设计中 ...

  2. Mui --- app与服务器之间的交互原理、mui ajax使用

    1.APP与服务器之间的交互原理 app端(客户端)与服务端的交互其实理解起来和容易,客户端想服务器端发送请求,服务器端进行数据运算后返回最终结果.结果可以是多种格式: 1.text 文本格式 2.x ...

  3. RabbitMQ高级指南:从配置、使用到高可用集群搭建

    本文大纲: 1. RabbitMQ简介 2. RabbitMQ安装与配置 3. C# 如何使用RabbitMQ 4. 几种Exchange模式 5. RPC 远程过程调用 6. RabbitMQ高可用 ...

  4. 自己动手实现一个MVVM库

    我们知道的,常见的数据绑定的实现方法 1.数据劫持(vue):通过Object.defineProperty() 去劫持数据每个属性对应的getter和setter2.脏值检测(angular):通过 ...

  5. 对一个前端使用AngularJS后端使用ASP.NET Web API项目的理解(4)

    chsakell分享了一个前端使用AngularJS,后端使用ASP.NET Web API的项目. 源码: https://github.com/chsakell/spa-webapi-angula ...

  6. Javascript:原型模式类继承

    原型模式 每个函数(准确说不是类.对象)都有一个prototype属性,这个属性是一个指针,指向一个对象. 使用原型对象的好处是可以让所有对象实例共享它包含的属性和方法.   1.原型对象 (1)当创 ...

  7. Android 之窗口小部件高级篇--App Widget 之 RemoteViews

    Android 之窗口小部件高级篇--App Widget 之 RemoteViews 在之前的一篇博文(Android 之窗口小部件详解--App Widget)中,已经介绍了App Widget的 ...

  8. GCD实现多线程 实践

    GCD中弹窗的正确写法 - (void)viewDidLoad { //…… if (![self isStartLoading]) [self startLoading:nil]; //loadin ...

  9. Xcode 统计项目代码行数及常用快捷键

    1.统计Xcode项目代码行数 1   打开终端. 2  用ls和cd进到你项目的路径. 3   输入下面的指令: grep -r "\n" classes | wc -l (cl ...

  10. .NET:分布式事务

    背景 分布式事务使用起来比较方便,不过也是有成本的,因此如果可以不用就尽量不用,比如:采用saga.如果采用了分布式事务的话,就需要对分布式事务相关的几个概念有所了解. 分布式事务 相关角色: 事务发 ...