接入点内部协议及其在接入点上的实现


1 引言
IEEE 802.11协议制定了无线局域网MAC层和物理层的规范及其基本结构 , 但并没有对无线局域网的构建做出规定 。这给接入点AP和由其组成的分布式系统在功能设计留出了很大的自由空间 , 但同时也给无线站点STA的移动带来了问题 , 使STA不能自由地在不同厂商生产的AP间移动 。为了解决这个问题 , IEEE工作组制定了802.11f协议 , 具体阐述了接入点内部协议IAPP(Inter-Access Point Protocol) , IAPP协议旨在向用户提供AP间的移动功能 , 以满足用户对移动性日益增长的需求 。
IAPP协议只是解决了用户移动而带来的链路层通信的问题 , 要想保证移动用户IP层通信的畅通 , 需要使用移动IP或DHCP技术 。将 IAPP协议功能和这些技术结合起来 , 可以向用户提供一个完整的移动性解决方案 。
2 IEEE 802.11f协议简介
在无线局域网中 , 站点STA的移动行为可能会产生如下几个问题:
1) 旧AP(STA上次接入的AP)会认为自己与STA还有连接 , 当接收到STA的报文时 , 它仍会在本地BSS内发送该报文 。这会导致无线资源的浪费和AP资源的占用 。因此新的AP(接收 STA重连接请求报文的AP)需要将STA的切换情况通知旧AP , 让它释放掉与STA的单边连接 。
2) STA在旧AP上进行MAC层认证或其他认证(比如 802.1x认证)时 , 将会在旧AP上留下相应的用户信息 , 当 STA切换到新AP时 , 假如还要进行耗时的认证过程 , 将导致切换效率不高 。因此 , 当STA发生AP切换时 , 新AP需要从旧AP上获得STA的用户信息 , 然后重建STA的工作环境 , 以对STA进行正确的治理 。
3) 由于STA在切换时只是向新AP提供旧AP的MAC地址(即旧BSSID) , 要与旧AP通信 , 新AP还需要知道旧AP 的IP地址等信息 , 所以要求新AP能够根据旧AP的BSSID查询到它的IP地址 。
4) 在与AP连接的有线网络中可能存在诸如网桥、交换机等二层转发设备 。当STA从网桥的一个端口连接的子网段移动到另一个端口的子网段时 , 假如网桥的转发表不能得到更新 , 将导致其他网络节点发送给STA的报文不能被正确送达STA现在所处的位置 , 造成STA的报文丢失 。因此需要新AP在处理STA的重连接请求时通知这些二层设备更新转发表 。
为了解决上述问题 , 需要使用IEEE 802.11f协议中推荐的接入点内部协议IAPP 。IAPP协议是IEEE 802.11工作组制订的用于AP间互通的协议.它的主要功能是便于扩展服务集ESS的创建和维护 , 支持802.11移动站点在AP间的移动 , 保证每个移动站点在确定时刻与AP间只有一个连接关系 。包含有IAPP的AP协议结构如下图所示:
 
图1 包含IAPP的AP协议结构
在上图中 , 阴影部分表示模块间没有连接关系 。APME(AP management entity)是AP中的治理实体 , 它负责治理和协调AP中的各个协议功能模块和与AP连接的802.11站点治理实体SME(Station management entity) , 并通过服务访问点IAPP SAP调用IAPP服务 。IAPP是AP上支持STA移动的主要协议模块 , 同时它又支持了一个RADIUS客户端 。当AP初始化加入一个ESS , 或AP的802.11 MAC层向APME指示有 STA切换到本AP时 , APME使用IAPP服务原语 , 调用IAPP协议模块发送RADIUS报文与RADIUS服务器交互 , 或广播基于TCP/IP或UDP/IP的IAPP报文来与DS域中的其它AP通信完成IAPP操作 。
RADIUS协议是IAPP模块进行安全正确操作所必需的 。非凡是当给定了其它AP的BSSID后 , IAPP应能够通过查询RADIUS服务器 , 找出ESS中的其它AP的IP地址 , 并获得相关安全信息以保护特定IAPP数据包的内容 。网络中的设备除了802.11 AP可能用到IAPP协议操作外 , 二层网络设备如网桥和交换机等 , 也会受到IAPP协议操作的影响 。

推荐阅读