快速漫游简介

1.漫游的发生

无线STA的基本动作:

  1. STA(配置无线网络接口的计算机设备)接入BSS(基本服务集)。
  2. STA在BSS之间漫游。小规模提到的漫游一般指的是二层漫游,不同AP之间处于一个VLAN。而三层漫游为了确保用户的IP地址发生不变,需要在漫游域内的AP之间建立隧道进行报文转发。

STA接入现有的BSS需要经历下面三个阶段:

  1. 扫描:STA通过扫描获取BSS信息(包括支持速率,BSS使用的安全策略,QOS等)。主要的实现手段包括STA主动广播的Probe帧来获取BSS信息的主动扫描模式和STA通过AP主动广播的Beacon帧的被动侦听模式。
  2. 安全认证:安全认证提供了无线局域网的控制接入能力。这个过程就是IEE802.11提出的认证(Authentication)过程。认证算法有Open和Shared两种。Open认证只需要简单交互3帧。Shared方式交互四帧。四帧的交互需要完成对预共享的解密钥匙的一致性判断,建立经过加密的安全通信。
  3. 关联:关联用于建立STA和无线AP之间的映射关系。分布式系统将改映射关系分发给扩展服务中的所有AP。在关联的过程中,无线工作站与AP之间要根据信号的强弱协商速率。

STA在BSS之间的漫游。

STA从一个BSS移动到另一个BSS需要重关联。
重关联Reassociation是指当STA从一个扩展服务区中的一个BSS移动到另一个BSS时,与新的AP关联的整个过程,重关联有5个步骤。

  1. STA向新的AP发送重关联请求帧。
  2. 新AP处理重关联请求帧。成功时新AP会回复Status Code0 和AID(关联号,关联成功时由AP分配给STA),如果失败新AP只会回复Status code,并最终终止重关联过程。
  3. 新AP与旧AP协商重关联过程,协商内容在IAPP协议中有定义。
  4. 旧AP将为这个STA缓存的帧发送到新的AP上。
  5. 新的AP开始为这个STA处理帧。
    无线漫游
    快速漫游则需要避免重新认证授权及密钥协商过程,减少延时并保持设备IP地址保持不变以避免Socket连接断开。下图为hostpd中的一次wpa四次握手认证过程。
    四次协商

2.无线局域网漫游技术

下面简要介绍3种无线局域网的漫游技术。内容包括IAPP协议,IEEE802.11i提出的预认证技术,IACTP协议和IEEE802.11r协议。

  1. IAPP协议(IEEE802.11f标准):协议规定了由STA、多个AP、DS(分布式服务)、AC以及RADIUS服务器组成的系统来实现STA在同一个ESS下不同AP之间的切换功能。虽然IEEE802.11是物理层和MAC层的规范,但是IAPP协议却是工作在IP层的,所以支持IAPP协议的AP应该向RADIUS服务器进行注册,AP与RADIUS之间的交互信息包括AP的BSSID(MAC地址)到IP地址之间的映射,而RADIUS发送秘钥保证AP之间的安全通信。当STA需要切换的时候,原有的Ap的BSSID与IP地址(STA的IP地址)之间的映射关系失效,所以每次的切换AP都要与RADIUS有所交互,所以切换的延时比较长。
  2. 预认证技术:为了减少漫游的时间,IEEE802.11i提出了预认证技术。预认证技术的核心思想是利用当前的AP作为通信隧道,STA与目标AP进行认证,然后缓存协商好的主秘钥PMK,当用户移动到哪个AP只需要进行秘钥协商便可以节省认证的时间。过程包括:1.STA与当前的AP进行设备认证关联。2.关联之后STA进行802.1X用户认证。3.此时客户端和当前的AP进行802.11i秘钥协商,对单播和组播报文应用加密。4.如果STA决定发生漫游,它便发起预认证(提前完成了802.11x认证)。5.当STA决定要切换到目标的AP进行关联的时候,他在关联的过程中将PMK提供给目标AP.6.目标AP核对PMK信息之后,直接发起秘钥协商。802.11i实质上只是将802.11x安全扩展认证的时间,步骤,提供到了已经认证过的链路上。但是第一次接入时间不变,并没有对二层切换做更多优化。
  3. IEEE802.11r协议:标准被称为快速及基本服务设置转换(Fast Basic Service Set Transition).协议中定义了新的秘钥管理方式和快速切换机制,同时增加了一些信息,使得STA与目标AP能在较短的时间内建立安全连接并完成Qos资源分配,因此能保证两个接入点之间的迁移时间少于50毫秒。

3.Openwrt之802.11r

在Openwrt的无线安全配置中,可以启用802.11r实现STA在不同AP之间的快速漫游,具体的配置方式可以参见80211r配置说明.
当再次连接是发现如下的log,则发生了快速漫游:
WPA: FT authentication already completed - do not start 4-way handshake 实测Socket连接并无断开,直播在快速漫游过程中并无卡顿。