802.11无线局域网组网方式与移动性分析
【摘要】本文讨论了802.11标准定义的无线局域网的两种组网结构IBSS和ESS的工作原理,分析了它们的多地址帧结构在组网中的功能和作用,讨论了MAC协议对无线站点的移动性支持方面的不足,以及在组建多跳无线网时需要进一步解决的问题。
【关键词】WLAN AP IBSS ESS BSSID SSID
802.11无线局域网组网方式与移动性分析
Mao Yuming, Duan Jingshan, Yang Ning
(School of Communication and Information Engineering,University of Electronic Science and Technology of China,Chengdu 610054)
【Abstract】This paper describes the architecture and the operation of the IBSS and ESS adopted by IEEE 802.11 Standard, analyses the effect and the function of the multi-addresses frame structure to be used in networking, then discusses the insufficiency of the mobility of the MAC protocol and the future resolution should be adopted in multi-hop wireless network.
【Keywords】AP DS IBSS ESS BSSID SSID
1. 引言
无线互联网用户站点的自由移动始终是无线
网络追寻的目标之一。本文主要讨论802.11标准规定的两种组网方式和站点的操作过程,分析802.11的MAC子层协议对无线站点移动性的支持技术。通过本文的描述、讨论和分析,希望能对802.11标准的组网结构、工作过程,特别是对无线站点移动的支持方面勾画出比较清晰的“图样”,对于采用802.11标准搭建无线通信平台的无线多跳
网络的研究将有所帮助,有所借鉴。
2. IEEE 802.11标准简介
和其他的IEEE 802.x标准一样,802.11标准着重定义物理层和介质访问控制(MAC)子层。标准制定的物理层规范有三种:2.4GHz频段的跳频扩频、2.4GHz频段的直接序列扩频和红外线。它们都具有1Mpbs和2Mbps的数据传输速率,并都服从同一个MAC层规范。近年来802.11标准又扩展出802.11b、802.11a、802.11g等系列,这些扩展标准采用不同的物理层技术,使通信速率提高到11Mbps、22Mbps至54Mbps,但它们对于MAC层协议没有重大改变。因此不论使用哪种物理层规范,符合IEEE 802.11标准的无线局域网在组网结构、站点工作过程等方面都是相同的。
IEEE 802.11标准(以下简称标准)定义了两种组网结构:独立基本服务组IBSS(Individual Basic Service Set)和扩展服务组ESS。独立基本服务组是一种对等
网络形式,所有站点在
网络中通信的地位是平等的,也称为Ad Hoc组网形式。扩展服务组由多个基本服务组(BSS)构成,每个BSS都有一个无线访问点AP(Access Point)提供通信服务,类似于以太网中的集线器(HUB),因此又被称为基础设施(infrastructure)
网络,简称为ESS
网络(Extended Service Set)。不同BSS通过AP之间的分布系统DS(Distribution System)互连,站点可以在多个BSS之间移动。
图 1 IEEE802.11的两种组网方式
标准在介质访问方式方面定义了两种技术:分布式协调功能DCF(Distributed Coordination Function)和点协调功能PCF(Point Coordination Function)。DCF是一种竞争式共享信道技术,PCF则是以协调点轮询的方式共享信道。IBSS中的站点必须以DCF方式访问信道,而ESS中的站点可以以DCF方式或在AP的协调下以PCF方式访问信道。不同的介质访问方式对本文重点讨论的站点工作过程和移动支持没有重大影响。
IEEE802.11的帧格式与以太网的帧格式相似,上层协议可以把WLAN当做以太网来使用。而在无线信道上传送时,在以太网帧格式基础上进行了扩展,以适应无线信道工作方式。IBSS和ESS的帧扩展方式不一样,它们之间不能通信。
除了组网结构和介质访问方式外,标准还针对认证、保密、关联和管理等方面制定了规范,其中管理、关联和帧格式对于组网和站点的工作过程将产生较大影响。
802.11标准规定一个IBSS内的站点间的通信通过无线信道直接实现,不能直接通信时使可以经由其他站点中继(多跳Ad Hoc组网),但标准没有定义中继站点的行为,认为该行为不属于MAC子层功能的范围,应该由
网络层来解决。因此,802.11标准定义的IBSS结构的
网络只能组成一个单跳的Ad Hoc网。所有站点应该全部处于相互的无线覆盖范围,才能保证站点通过无线信道直接通信。
BSSID
在IBSS结构中,每个IBSS
网络用一个BSSID来标识,每个站点属于一个IBSS,不同IBSS的站点之间不能相互通信。在帧格式中,将常规的两地址结构扩展成了三地址结构,BSSID作为第三个地址填写在MAC帧头中,如图 2所示。
无线环境中不可能像有线信道那样不同的
网络单元间具有明显的界限,必须依靠帧中的BSSID来区分不同IBSS的站点,这是一种从逻辑上区分不同基本
网络单元的方法。站点只接收具有相同BSSID的MAC帧,拒绝所有其它的MAC帧。所以,在组建多跳无线
网络时,需要将所有站点的BSSID设置为同一个值,否则当站点中继数据时,将会因为BSSID不同而拒绝中继。
BSSID的生成
当站点初始化后没有扫描到可以加入的
网络时,站点将独自生成一个BSSID,并等待其它站点的加入。
BSSID的同步
标准提供了站点之间自动协商BSSID的过程,即BSSID的同步(Synchronization)。该过程一般发生在站点初始化或移动后准备加入一个新的IBSS中时。IBSS中的站点定期发送类型为Beacon的管理帧,其中包含一个SSID字段,内容为0~32字节的字符串。SSID可以看作是用户或
网络管理员为
网络取的名字,站点只能加入同名的
网络。站点收到同名
网络的Beacon帧,就将Beacon帧的BSSID(见上图)作为自己的BSSID,这个同步过程也称为被动扫描过程。站点也可以主动询问
网络的BSSID:站点主动发出具有SSID信息的Probe Request类型的管理帧;收到Probe Request帧并具有相同SSID的站点响应一个Probe Response帧,先前的站点可以从响应的Probe Response帧中提取BSSID。
多跳环境下BSSID的同步
在多跳移动环境下BSSID的同步变得有些复杂。在大部分实现中,站点生成的BSSID就是该站点的MAC地址,而一般情况下管理员是不能更改BSSID的,只能通过设置站点的SSID来区分不同的IBSS,各站点需要利用SSID通过被动扫描或主动询问的方式同步BSSID。如果站点之间形成链式拓扑,则BSSID的同步过程也有一个链式反应过程,如图 3。
图 3中IBSS的创建者①生成了BSSID,它的相邻站点②首先获得这个BSSID,然后②通过发送Beacon帧让自己的相邻站点③得到BSSID,这个过程逐渐扩散到远处。站点距离BSSID创建者太远时,有可能等不到BSSID传递过来,就决定自己创建一个BSSID,此时一个IBSS的
网络中将有两个BSSID。此外,当两个原本不相连的同名IBSS移动到可以相连时,或者原本相连的站点移动脱离
网络后创建了自己的BSSID,随后又移动回来时,都有可能在多跳环境中形成两个不同的BSSID。在一个IBSS中,相邻的具有不同BSSID的站点通过Beacon帧中的时戳和自己的TSF(Timing Synchronization Function)定时器来更新BSSID,然后利用Beacon帧逐步扩散,如图 4。
更新BSSID的延时是不确定的。每个Beacon间隔内(一般为0.1秒)信道上会出现一个Beacon帧,但Beacon帧由IBSS内的站点竞争发送,竞争机制与CSMA/CA协议很类似。可能有些站点在连续多个Beacon间隔内都无法发送Beacon帧,BSSID的更新也就随之滞后了。
假设平均每个站点能收听3个站点,理想状态下,各站点轮流发送Beacon帧,单个站点发送Beacon帧的间隔为:
3×0.1=0.3s=300ms
一条具有4跳的拓扑链,最后一个站点更新BSSID的延时可能为:
0.3×4=1.2s
在这段时间里,由于BSSID不一致,MAC层丢弃了需要中继的数据帧。
可以看出,初始化过程和站点的移动都可能造成BSSID的不一致,需要较长的时间过程才能达到BSSID的同步,在此期间,IBSS
网络上的通信是不正常的。
同信道中继与帧地址格式
在BSSID协商一致的IBSS多跳
网络环境中,802.11标准没有提供对中继功能的支持。如果需在MAC子层进行中继,只能在一些非常特殊环境下可以实现,无法在一般环境下实现中继,更无法提供对移动的支持。中继功能只能在MAC子层之上来实现。
MAC子层无法实现中继的原因是MAC的帧格式适用于固定
网络而不适用于拓扑结构动态变化中的
网络,如Ad Hoc多跳
网络情况。
图 6(a)所示,让B固定为A和C之间的数据提供中继是可行的,但若存在移动时就无法工作了,例如B和C互换位置,就无法工作了。
如果站点有一点点移动发生,形成图 6(b)的情况,那么,B站再提供中继就是没有必要的。除非A和C站仍坚持采用B的中继来通信。
如果是图 6(c)情况,
网络就会瘫痪。B在为A-C中继的同时,也会收到D为A-C中继的帧,并继续中继,D也一样。形成B-D间的中继循环。
只要在
网络上有移动存在,MAC层就无法确定如何中继(本文中称这个现象为“模糊中继”,即中继行为无法确定)。因此,要实现中继,就需要B能够“知道”A、C之间是否可以直接通信,对于这种非本地链路的认知显然应该是
网络层的路由协议来维护。目前大多数多跳无线
网络的实现中都采用阻断链路层中继,在
网络层由路由方法来实现中继。每个节点其实就是一个路由器,在
网络层完成
网络拓扑结构的感知、选路和中继功能。
因此,802.11标准定义的IBSS组网方式,提供的只是Ad Hoc组网的基础通信手段,只能组成单跳的Ad Hoc网,多跳Ad Hoc
网络、对站点的移动性支持,仅靠802.11是无法实现的。
4. ESS结构与工作原理
图 7 ESS结构
ESS
网络中,每个BSS内设置了一个无线访问点AP(Access Point),站点之间不直接通信,而是通过AP的中继来实现,即使它们在相互的无线覆盖范围内。这是ESS与IBSS的基本差别,同时在帧格式上也与IBSS不同,因而IBSS和ESS的站点在无线信道上不能互通。
在一个ESS
网络中可以有多个BSS存在, AP在分布式系统DS支持下,实现不同BSS站点间的通信,并支持站点从一个BSS移动到另一个BSS中。ESS可以组成多个覆盖区域的较大型的无线局域网系统。分布式系统需要的是一种与ESS本身无关的
网络环境,一般为以太网或其他有线
网络来支撑。
ESS
网络中的站点只需和AP保持直接的通信关系。因此,802.11标准所保证的在一个AP下移动范围是AP的覆盖半径(R)。
ESS
网络中站点间的通信关系、工作过程、帧格式等与IBSS环境不同,增加了关联(Association)和重新关联(Reassociation)过程以支持站点在不同AP下的移动。
BSSID的同步和关联过程
ESS
网络依靠
网络名(SSID)和BSSID来组织。SSID是ESS
网络的“名字”,不同
网络名字不相同。而BSSID用于标识ESS
网络中不同的无线接入点,使站点在移动时能够感知无线接入点是否发生变化的重要信息。BSSID通常是各个AP的MAC地址。AP定期发送Beacon帧,其中包含
网络名和BSSID。需要加入
网络的站点监测到Beacon帧中的SSID和自己预设的
网络名相同,就可以加入这个BSS。当站点收听到多个AP的Beacon帧时,将选择其中的一个加入。加入过程由站点主动发起,发出Association Request管理帧启动关联过程,该帧中指明了希望加入的BSS的BSSID,相应的AP应答Association Response管理帧。站点到AP之间的通信关系随即建立起来。
ESS
网络能够组建多跳无线
网络,并且不要求全网BSSID同步。
越区切换
当站点从一个AP下移动到另一个AP下时,通过检测两个AP的信号强度,决定是否切换AP关联的切换(越区切换,hand-off)。如果新AP的SSID与站点不符,站点不会进行越区切换。发生越区切换时,站点向新的AP发出Reassociation Request管理帧,如果收到AP的Reassociation Response管理帧,则认为越区切换成功,并获得新的BSSID,可以在新AP的中继下与其它站点通信。
AP在收到Reassociation Request管理帧时,除了发送应答以外,还应通知AP之间的分布式系统发生了重新关联,这样原来的AP放弃与移动站点的关联关系,改由通过DS中继。遗憾的是802.11没有规范AP之间重新关联的动作,因此不同厂商的AP产品之间不能有效沟通重新关联信息,造成站点在不同厂商的AP产品之间不能有效的越区切换。(802.11f扩展协议正在着手制定相关规范)
AP中继与帧地址格式
AP要在无线站点和分布式系统之间提供数据帧的链路层中继,同样会存在模糊中继问题,因此ESS
网络阻断了站点之间的直接通信关系,同一个BSS内的站点不管它们如何接近,它们之间的数据都要通过AP中继。AP的中继算法是:如果目的地址在本地关联,就将该帧从原路(AP与无线用户站点之间的信道)发送出去,否则将该帧转发到DS所在的信道上。
为适应ESS通信方式,对MAC帧结构作了如图 8所示的扩展,地址扩展到了四地址结构。在源站A与目的站B通信时,应该指明通过某个AP进行中继,因此需要第三个地址;再经AP到AP的中继时,还需要指明下一个AP,故而设置了第四个地址。
需要指出的是,无线环境下发出的MAC帧可能会被多个站点接收到,因此需要在MAC帧中明确指明接收方地址,尽管接收方不一定就是目的方,这一点与有线
网络有很大的差异。
802.11标准在MAC帧格式中定义了4个地址字段:
前两个地址字段是接收者地址和发送者地址,第三和第四个地址字段在不同情况下有不同的解释。
802.11 空中接口
IBSS和ESS的无线信道有4种空中接口形式,分别为对等站点间的接口A、用户到AP的接口B、AP到用户的接口C和AP-AP间接口D,如图 9所示。
接口A是双向对称接口,用于IBSS
网络中对等站点间通信; AP和用户站点间的空中接口是非对称的,用B、C分别表示下行和上行接口。接口D是AP到AP的双向对称接口。地址格式上,接口A、B、C三种使用三地址结构,接口D比较特殊,使用了4地址结构。地址结构和各地址域的含义如表 1所示。
|
接口 |
Address 1 |
Address 2 |
Address 3 |
Address 4 |
|
A |
DA |
SA |
BSSID |
N/A |
|
B |
DA |
BSSID |
SA |
N/A |
|
C |
BSSID |
SA |
DA |
N/A |
|
D |
RA |
TA |
DA |
SA |
其中:
SA表示源地址(Source Address);DA表示目的地址(Destination Address);
TA表示发送者地址(Transmitter Address);RA表示接收者地址(Receiver Address)。
N/A表示该地址字段不在帧中出现。
接口A的BSSID固定在第三个地址域上,作为站点识别
网络的依据。
接口B和C中BSSID,作为标识发出或接收MAC帧AP,会出现在第1或第2个地址域上。
接口D中前两个地址都是AP的地址(两个不同的BSSID),后两个地址才是MAC帧的始发站地址和最终目的地址。RA为下一跳AP地址,TA为当前发送方AP地址,DA和SA为帧的最终目的地址和始发源站地址。当多个AP之间采用无线信道形成DS时,必须采用四地址格式。与IBSS
网络相似,AP到AP之间采用无线通信时仍然会遇到无线路由问题,在MAC层内无法解决。而采用以太网方式通信时,则不需要四地址格式,直接采用两地址方式(DA,SA)的标准以太网帧格式。
ESS
网络最大的优点是用户站点的移动性。ESS
网络是一个由多个AP组成的多无线覆盖区域的无线
网络环境,通过切换关联的AP,获得新的AP的BSSID,通信可以利用新的AP来进行,从而实现了在多个AP的覆盖范围内移动和通信。
ESS
网络中对各个BSS工作的信道没有限制,既可以使用相同信道,也可以各不相同,站点的切换都能正常进行。BSS工作信道的配置会影响站点发生切换的时机,从而影响到用户在移动中的通信是流畅的还是有间断的。
当ESS
网络中所有的BSS在同一信道工作时,用户站点可以接收到多个AP的Beacon帧,直接可以判断是否应该进行切换,能够实现快速流畅的切换,切换的时间约为100ms。如果BSS的信道不同时,只有在用户站点移动出了AP的无线覆盖范围,通信中断来,用户站点才会启动切换动作。而此时,站点要扫描所有可能的工作信道,找出合适的AP,开始新的关联请求。这种信道配置方式会使用户的切换过程变得很长,约为几秒到几十秒。
所有BSS工作在同一个信道上,切换的速度快,代价是使BSS间出现干扰,降低信道效率。而BSS工作在不同信道上,切换的速度慢,但可以提高每个BSS的效率。不同的应用场合,可以根据需要选择信道的配置方式。
DS是ESS
网络的一个重要环节。用户站点发生越区切换时,需要由DS实现在AP之间转发MAC帧,为切换的用户站点提供跨AP的通信。但是,在802.11标准中,没有涉及到DS的内容。一种简单的方法是将所有的AP连接在一个以太网上,借助于以太网的通信实现了简单的DS。这是目前所有的ESS
网络采用的无线移动
网络方案,而且需要同一厂商的、支持越区切换的AP才能实现。
必须指出,ESS
网络的无线多跳环境必须至少保证有一台AP能够正常工作,没有AP的情况下,站点之间无法通信。
5. 结论
IEEE 802.11标准实现了无线局域网站点之间的单跳通信,可以提供在有线连接多个AP下,无线用户站点的较大范围移动。IEEE 802.11标准不是为无线多跳环境设计的,在利用该标准组建无线多跳
网络时,应该清楚地了解标准的能力和局限。采用IBSS结构组网,BSSID的同步可能造成麻烦和更大的延时,其帧结构中简单的地址信息也不能帮助完成同信道中继。采用ESS结构组网,BSSID由AP负责同步,整个ESS不需同步到一个BSSID上,减少了因移动而带来同步上的困难。AP通过多地址结构,实现了借助于DS的移动和越区切换。
需要指出的是,802.11标准只涉及了物理层和MAC子层,通信、中继、移动和切换等都是在MAC实现的,因而具有较大的局限性。如果在
网络层上(如使用IP协议)对AP在寻址路由等功能作进一步扩充,使AP成为无线IP路由器,可以在组建多跳无线环境时不对无线用户站点产生任何影响,实现平滑升级,这是Ad Hoc方式无法实现的。