首页 > 代码库 > capwap学习笔记——初识capwap(五)

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

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中的分工如下:

clip_image002

由此可知,在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)加密。

clip_image004

‘( - )‘代表帧是在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中的分工如下:

clip_image006

在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用于加密:

clip_image008

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,称这种行为为“漫游”。

clip_image010

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.

clip_image012

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,告诉请求的配置是否成功,或者发生了错误。