18、无线局域网(介质访问控制子层)

1、802.11体系结构和协议栈

  • 无线局域网的主要标准是802.11,802.11网络使用模式有两种。最普遍使用的是把客户端连接到另一个网络(内网或者Internet),如图a,在有架构模式下,每个客户端与一个接入点(AP)关联,该接入点又与其他网络连接,几个接入点可通过一个称为分布式系统的有线网络连接在一起,形成一个扩展的802.11网络,客户端可以通过它们的接入点向其他客户端发送帧。另一种模式,如图b,是一种自组织网络,一组相关联的计算机组成一个网络,互相之间可以发送帧。
    18、无线局域网(介质访问控制子层)_第1张图片
  • 图中给出了802.11协议栈的组成部分,客户端和AP的协议栈相同。物理层对应于OSI的物理层,但所有802协议的数据链路层分为两个或多个子层。在802.11中,介质访问控制子层(MAC)子层决定如何分配信道,也就是谁可以发送信息。逻辑链路控制子层的工作是隐藏802系列协议之间的差异,使它们在网络层看来并无差别。自802.11在1997年首次出现后,在物理层已经添加了几种传输技术:最初采用的两种技术是电视遥控器方式的红外和2.4GHz频段的跳频方式,现在都已经消失。第三个技术:在2.4GHz频段的1或2Mbps直接序列扩频被扩展为运行速率高达11Mbps,并且很快一炮走红,它们就是所谓的802.11b。18、无线局域网(介质访问控制子层)_第2张图片
  • 基于正交频分复用编码方案的新传输技术分别在1999年和2003年被引入进来。首先是802.11a,它使用了5GHz这个不同的频段;而802.11g坚守在2.4GHz,并保持兼容性。两者都提供高达54Mbps的数据率。802.11n标准有4根天线和更宽的信道,速率达600Mbps。

2、802.11物理层

  • 所有的802.11技术都使用短程无线电传输信号,通常在2.4GHz或5GHz频段,这两个频段属于ISM,这些频段的最大优点是无需许可证,任何人只要愿意遵守一些限定都可以免费使用,这些限定包括发射器的辐射功率不超过1瓦(对于无线局域网来说50毫瓦已经很高了)。不幸的是,这一事实也被车库门制造商、无绳电话、微波炉以及其他无数设备制造商获知,所有这些设备都与笔记本电脑竞争相同的频谱。相比5GHz频带,2.4GHz频段已经非常拥挤,因此对某些程序而言5GHz频段更好,即使由于它由于较高的频率而传输范围很小。
  • 所有的传输方法都定义了多个速率,设计多速率的主要想法是根据当前的条件采用不同的速度。如果无线信号弱就使用较低速率,否则使用较高速率,这种调速方法就是速率自适应。由于速率变化范围可多达10倍,甚至更多,因此一个优秀的速率自适应算法对网络的良好性能至关重要;当然,因为它不需要网络节点之间的互操作,因此标准没有规定如何自适应调整速率。
  • 802.11b传输方法是一种扩展频谱的方法,支持1、2、5.5和11Mbps速率,但实际上运行速率几乎总是在11Mbps。它类似于CDMA系统,但只有一个扩频码被所有用户共享。扩展频谱是为了满足FCC(美国联邦通信委员会)的要求,即把信号能量扩展到ISM频谱。802.11b使用的扩展序列时一个巴克序列,除非序列完全一致,否则自相关性很低,这个属性允许接收器锁定一个传输的开始。若以1Mbps的速度发送,则使用巴克序列和BPSK(二进制相移键控)调制技术每11个码片发送1个比特,码片传输速率为11M码片每秒;若要以2Mbps的速率发送,则使用巴克序列和QPSK(正交相移键控)调制技术,每11个码片发送2个比特。再高速率就不同了,这些速率使用一种称为补码键控(CCK)技术来编码,而不是巴克序列。5.5Mbps速率每8个码片发送4个比特,11Mbps速率每8个码片发送8个比特。
  • 802.11a在5GHz的ISM频段支持的速率可高达54Mbps。虽然802.11a小组先成立,但802.11b标准先获得批准,并且其产品投放市场的时机也远远领先于802.11a产品,这里的部分原因在于5GHz频段操作上的困难。因为OFDM(正交频分复用)使用频谱更有效率,并且能抵抗多径等无线信号的衰减,因此802.11a方案基于OFDM。比特在52个并行的子载波上发送,48个子载波携带数据和4个子载波用于同步控制。每个符号持续4微秒,可发送1、2、4或6个比特。比特首先采用二进制卷积码进行纠错编码,因此只有1/2、2/3或3/4比特没有冗余。采用不同的组合,802.11可以运行在8个不同的速率上,从6~54Mbps不等。这些速率明显大于802.11b的速率,但802.11b的覆盖范围大约为802.11a的7倍多。
  • 2002年FCC要求所有无线通信设备在美国ISM频带的操作必须使用扩频,802.11g在此背景诞生,它复制了802.11a的OFDM调制方法,但工作在2.4GHzISM频段,与802.11工作在同一频段。它提供了与802.11a相同的速率(6~54Mbps),与附近的802.11b设备兼容。常见的无线局域网产品在单一的网卡上同时支持802.11a/b/g。
  • 802.11n在2009年获得批准,其目标是去掉所有无限开销后吞吐量至少达到100Mbps。为了达到目标,委员会将信道加宽一倍,从20MHz扩大到40MHz,并且允许同时发送一组帧来降低成帧的开销;802.11n在同一时间可以使用4根天线发送4个信息流,这些信息流虽然会在接收端互相干扰,但可以通过使用多入多出通信技术把它们分离开来。多天线的使用带来了速度上的极大提升,但没有带来更大的覆盖范围和更高的可靠性。

3、802.11MAC子层协议

  • 802.11MAC子层协议与以太网有很大的不同,这种本质上的差异性来自于无线通信的两大因素:首先,无线电几乎总是半双工的,这意味着它们不能在一个频率上传输的同时侦听该频率上的突发噪声。接收的信号很容易变得比发射信号弱上一百万倍,因此它无法在同一时间侦听的这么微弱的信号。
  • 802.11采用带有冲突避免的CSMA(CSMA/CA)协议避免冲突。该协议类似于以太网的CSMA/CD,在发送前侦听信道和检测到冲突后指数后退。需要发送帧的站必须以随机后退开始(除非它最近没有用过信道,并且信道空闲),而且它不等待冲突的发生。在OFDM物理层情况下,后退选择的时间槽范围在0~15之间,该站将等待,直到信道处于闲置状态。具体做法是:通过侦听确定在一个很短的时间内(这段时间成为DIFS)没有信号,然后倒计数空闲时间槽,当有帧发送时暂停该计数器,当计数器递减到0,该站就发送自己的帧。如果发送成功,目标站就发送一个短确认。如果没有收到确认,发送方将加倍后退选择的时间槽数,再试图重新发送。如此反复,就像以太网那样以指数后退,知道成功发送帧或达到重传的最大次数。
  • 图中给出了一个例子。A站首先发送一帧,当A发送时,B站和C站准备就绪发送。它们看到信道正忙,便等待它变成空闲。不久,A收到一个确认,信道进入空闲状态。不是两个站都发送一帧从而产生冲突,而是B站和C站都执行后退算法。C选择了一个较短的时间,从而优先获得发送权。B站侦听到C在使用信道时暂停自己的倒计时,并且在C站收到确认后立即恢复计时。一旦B完成了后退,立即发送自己的帧。18、无线局域网(介质访问控制子层)_第3张图片
  • 和以太网相比,有两个主要区别:首先,早期后退有助于避免冲突。冲突避免在无线传输中非常重要,即使只发生一个冲突,因为整个帧都传输了出去,因此冲突的代价非常昂贵。其次,利用确认来推断是否发生过冲突,因为冲突无法被检测出来。这种操作模式称为分布式协调功能,因为每个站都独立行事,没有任何一种中央控制机制,标准还包括一个可选操作模式,称为点协调功能(PCF)。在这种模式下,AP控制自己覆盖范围内的一切活动,就像蜂窝通信中的基站一样。然而,实际使用中很少用到PCF,因为通常没有办法阻止临近网络中的站发送竞争流量。第二个问题在于不同站的传输范围可能有所不同。图a说明了隐藏终端问题,因为不是所有站都在彼此的无线电广播范围内,因此蜂窝中一部分正在进行的传输无法被同一蜂窝中的其他地方收到:C站正在给B站发送,如果A侦听信道,它将听不到任何东西,因而错误认为它可以开始给B站传输了,这将导致冲突。图b说明了暴露终端问题:B想要给C发送,所以它去侦听信道,当B听到信道上有帧在传送,它便错误地认为可能无法发送到C,即使事实上A或许在给D站发送,这将浪费一次传输机会。
    18、无线局域网(介质访问控制子层)_第4张图片
  • 为了解决上述问题,802.11定义信道侦听包括物理侦听和虚拟侦听两部分。物理侦听只是简单地检查介质,看是否存在有效的信号;有了虚拟侦听,每个站可以保留一个信道何时要用的逻辑记录,这是通过跟踪网络分配向量(NAV)获得的。每个帧携带一个NAV字段,说明这个帧所属的一系列数据将传输多长时间。无意中侦听这个帧的站就知道物理自己是否能够侦听到物理信号,由NAV所指出的时间段信道一定是繁忙的。例如一个数据帧的NAV给出了发送一个确认所需的时间,所有听到该数据帧的站将在发送确认期间推迟发送,而不管它们是否能听到确认的发送。
  • 可选的RTS/CTS机制使用NAV来防止隐藏终端在同一时间发送。该机制如图所示:A想给B发送,C是A范围内的一个站(也有可能在B的范围内)。D在B的范围内,但不在A的范围内。18、无线局域网(介质访问控制子层)_第5张图片
  • 该协议开始于当A决定向B发送数据时。A首先给B发送一个RTS帧,请求对方允许自己发送一个帧给它。如果B接收到这个请求,它就以CTS帧作为应答,表明信息被清除可以发送。一旦收到CTS,A就发送数据帧,并启动一个ACK计时器。当正确的数据帧到达后,B用一个ACK回复A,完成此次交流。如果A的ACK计时器超时前,ACK帧没有返回,则可视为发生了一次冲突,经过一次后退整个协议开始重新运行。现在从C和D的角度看这次数据交流。C在A的范围内,因此它可能会收到RTS帧。如果收到了,它就意识到有人要发送数据。从RTS请求帧提供的信息,可以估算出数据序列将需要多长时间,包括最后的ACK。因此,它采取了有利于所有人的做法,停止传输任何东西,直到此次传输完成。它通过更新自己的NAV记录表明信道正忙。D无法听到RTS,但它可以听到CTS,所以它也更新自己的NAV(NAV是不传输的,它们只是由内部使用,提醒自己保持一段时间的安静)。
  • 尽管RTS/CTS在理论上听起来不错,但在实际中很少使用。原因如下:首先,它对短帧(替代RTS发送更有效)或AP(按照定义,大家都能彼此听到)一点好处都没有。对于其他情况,该机制只会降低操作速度。802.11中的RTS/CTS与MACA有些不同,因为每个站都能听到RTS或CTS,因而在此期间保持沉默以便ACK无冲突通过;正因为如此,它无法解决暴露终端的问题,正如MACA一样,只对隐藏终端有好处。大多数情况下隐藏终端很少,而且不管什么原因,CSMA/CA通过后退发送失败的站来缓解隐藏终端问题,使得传输更可能获得成功。
  • 带有物理侦听和虚拟侦听的CDMA/CA是802.11协议的核心。然而,与之相关的几个其他机制也被开发出来。首先探讨可靠性,无线网络相比有线网络环境嘈杂,并且不可靠,这是因为相当大一部分要受到来自其他种类设备的干扰,如微波炉等这些也使用无需许可ISM频段的家用设备。使用确认和重传只能起到很少一点作用,因为当真得以成功传输的概率很小时,再确认和重传的帮助也不大。
  • 增加传输成功概率所用的策略是降低传输速率。在一个给定的信噪比环境下,速度放慢可以使用更健壮的调制解调技术,帧就越有可能被正确接收。另一种改善帧成功传输的策略是发送短帧:如果任何一位出错的概率为p,那么一个n位长的帧完全被正确接收的概率为(1-p)n。例如,对于p=10-4,一个完整以太网帧(12144位)被正确接收的概率小于30%,但是,如果帧只有三分之一长(4048位),那么三分之二都将被正确接收。短帧可以通过降低来自网络层消息的最大尺寸加以实现;而且802.11允许把帧拆成更小的单元——段(fragment),每个段都有自己独立的校检和。标准没有固定段的大小,但可以把它作为一个可以由AP调整的参数。这些段独立编号,使用停-等式协议对其进行确认。一旦获得信道,可以突发多个段,这些段一个接着一个发送,两个段之间是确认(或许还需要重传)直到整个帧被成功发送或达到最大允许的发送时间。NAV机制保证了其他站保持沉默直接到下一个确认。但另一种机制允许突发多个段,并且发送期间不会有其他站发送(下文)。
  • 第二个需要讨论的是节省电源。对移动无线设备来说,电池的寿命始终是个问题。节能的基本机制建立在信标帧基础上。信标帧由AP定期广播(例如,每100毫秒发一个)。该帧向客户通告AP的存在,同时传递一些系统参数,比如AP标识、时间(下一帧多久再来)和安全设置。客户端可以在它发送到AP的帧中设置一个电源管理位,告诉AP自己进入省电模式:在这种模式下,客户端可以打个盹,AP将缓存所有发送给该客户的流量,客户端在每次信标帧来时苏醒过来,并检查作为信标帧一部分的流量图,这张图告诉客户是否有为它缓存的流量;如果有,则客户给AP发送一个poll消息,示意AP将缓冲流量发送过来,在接收了缓冲流量后,客户可以继续打盹,直到下一个信标帧。另一个省电机制称为自动省电交付。在2005年添加到802.11。在此模式下,AP依然为休眠的客户缓冲帧,但只在客户端发送帧到AP后才将其缓存的帧发送到客户。自动省电交付对于诸如在两个方向上都有频繁流量的VoIP等应用运作良好。例如,一个VoIP无线手机可能会使用该机制每20毫秒发送和接收帧,这个频度远远大于信标帧的100毫秒间隔,而在这之间客户端可以休眠。
  • 第三个要讨论的是服务质量。当VoIP流量与对等流量竞争时,VoIP通信将受到影响。尽管VoIP流量所需的带宽较低,但在和高带宽的对等流量竞争中还是有可能被延迟,这些延迟极有可能降低语音通话质量。802.11用了一个机制来提供这种服务质量,机制是作为一组扩展于2005年被引入的,标准命名为802.11e。它扩展了CSMA/CA,并且仔细定义帧之间的各种时间间隔。一帧发送后,需要保持一段特定时间的空闲以便检查信道不在被用,然后任何站才可以发送帧,这里的关键在于为不同类型的帧确定不同的时间间隔。5个时间间隔如图。常规的数据帧之间的间隔称为DCF帧间隔(DIFS),任何帧都可以在介质空闲DIFS后尝试抓取信道发送一个新帧,采用通常的竞争规则,如果发生冲突或许还需要使用二进制指数后退。最短的间隔是短帧间间隔(SIFS):它允许一次对话的各方具有优先抓住信道的机会。例子包括让接收方发送ACK,诸如RTS和CTS的其他控制帧序列,或者让发送方突发一系列段,发送方只需等待SIFS即可发送下一段,这样做是为了阻止一次数据交流中间被其他站横插一帧。18、无线局域网(介质访问控制子层)_第6张图片
  • 两个仲裁帧间空间(AIFS)间隔显示了两个不同优先级的例子。短的时间间隔AIFS1小于DIFS,但比SIFS长。它被用来把语音或其他高优先级流量移动到行头。AP等待一段较短的时间间隔,然后发送语音流量,这样语音流量得以在常规流量之前发送出去。较长的时间间隔AIFS4比DIFS还大,用它来发送可以延迟到常规流量之后发送的背景流量。AP在发送这种流量之前将等待较长的时间间隔,以便给常规流量优先发送的机会。完善的服务质量机制定义了四种不同的优先级别,分别具有不同的后退参数和不同的空闲参数。最后一个时间间隔是扩展帧间间隔(EIFS),仅用于一个站刚刚收到坏帧或未知帧后报告问题。设置这个间隔的想法是因为接收方可能不知道该怎么处理,所以应该等待一段时间,以免干扰到两站之间正在进行的对话。
  • 服务质量扩展的深入部分是TXOP或传输机会概念。原始CSMA/CA机制允许站一次发送一帧。这种设计很好,直到速率的范围很大。用802.11a/g,一个站可能以6Mbps发送,另一站可能以54Mbps发送。它们每个获得发送一帧的机会,6Mbps站所需要的时间(忽略固定间接费用)是54Mbps站所需要时间的九倍。这一速率上的差距产生了不幸的副作用,它把快速发送方给拖累了,使得它在与慢速发送方竞争时速度大致降到慢速发送方的程度。例如,再次忽略固定开销,当单独以6Mbps和54Mbps速率发送时,发送方将获得自己的速率;当它们一起发送时,两者都将达到6Mbps和54Mbps的平均水平,这对快速发送方而言是个僵硬的惩罚。这个问题就是所谓的速率异常。有了传输机会,每个站得到等量的通话时间,而不是相同数量的帧。以较高速率发送的站在它们的通话时间将获得更高的吞吐量,在我们的例子中,当一个6Mbps和54Mbps的发送方一起发送时,现在它们两个将分别得到3Mbps和27Mbps的吞吐量。

4、802.11帧结构

  • 802.11帧结构定义了三种不同类型的帧:数据帧、控制帧和管理帧。每一种帧都有一个头,包含了与MAC子层相关的各种字段。除此之外,还有一些头被物理层使用,这些头绝大多数被用来处理传输所涉及的调制技术。数据帧的格式如图:首先是帧控制字段,它有11个子字段,第一个子字段是协议版本,正是有了这个字段,将来可以在同一个蜂窝内同时运行协议的不同版本;接下来是类型字段(比如数据帧、控制帧或管理帧)和子类型(比如RTS或CTS);去往DS或来自DS标志位分别表明该帧是发送到或者来自于与AP连接的网络,该网络称为分布式系统;更多段标志位意味着后面还有更多段;重传标志位意味着这是以前发送的某一帧的重传;电源管理标志位指明发送方进入节能模式;更多数据标志位表明发送方还有更多的帧需要发送给接收方;受保护的标志位指明该帧的帧体已经被加密;顺序标志位告诉接收方高层希望严格按照顺序来处理帧序列。18、无线局域网(介质访问控制子层)_第7张图片
  • 数据帧的第二个字段为持续时间字段,它通告本帧和其确认帧将会占用信道多长时间,按微秒计时,该字段会出现在所有帧中,包括控制帧,其他站用该字段来管理各自的NAV机制。地址字段,发往AP或从AP接收的帧都具有3个地址,这些地址都是标准的IEEE 802格式。第一个地址是接收方地址,第二个地址是发送方地址,当帧在一个客户端和网络中的另一点传输时,AP只是一个简单的中继点,另一点是一个远程客户端或Internet接入点,第三个地址即是另一点的地址。序号字段是帧的编号,可用于重复帧的检测。序号字段可用16位,其中4位标识了段,12位标识了帧,每发出去一帧该数字递增。数据字段包含了有效载荷,其长度可以达到2312个字节;有效载荷前面部分字节的格式称为逻辑链路控制(层),这个层是个黏胶层,标识了有效载荷应该递交给哪个高层协议处理(比如IP)。最后是帧校检序列字段,即前述的32位CRC。
  • 管理帧的格式与数据帧格式相同其数据部分的格式因子类型的不同而变(比如,信标帧中的参数),控制帧要短一些,它也有帧控制、持续时间和校检序列字段,但只有一个地址,且没有数据部分,大多数关键信息都转换成Subtype字段了(比如ACK、RTS和CTS)。

5、服务

  • 802.11标准定义了服务,客户端、接入点和连接它们的网络必须是一个符合标准的无线局域网。这些服务可以分为几个组。
  • 关联服务被移动站用来把自己连接到AP上。典型情况下,当一个移动站进入到某个AP的无线局域网覆盖范围之内时,就会用到这种服务。移动站抵达AP覆盖范围后,通过AP发送的信标帧获知AP的标识符和能力,或者直接询问AP获得有关信息。AP能力包括所支持的数据率、安全考虑、节能能力、支持的服务质量等。移动站向AP发出一个与之关联的请求,AP可能会接收,也可能拒绝。
  • 重新关联服务允许站改变它的首选AP,这项服务对于那些从一个AP移动到另一个AP的移动站来说有用,就像蜂窝网络中的切换一样。如果这项服务使用正确,则不会有数据丢失(但是如同以太网一样,802.11也只是一种尽力而为服务)。不管是移动站,还是AP都有可能会解除关联。一个站在离开本地或者关闭之前,应该先使用这项服务。AP在停下来进行维护之前也可能会用到这项服务。
  • 站在通过AP发送帧之前必须认证,处理方式有多种,具体取决于选择的安全模式。如果802.11网络是开放(open)的,那么任何人都可以使用 它。否则必须以凭据进行身份验证。推荐的认证模式称为WiFi保护接入2(WPA2),它实现了由802.11i标准定义的安全性(简单WPA只是一个过渡模式,它实现了802.11i的一个子集)。有了WPA2,AP可以直接和认证服务器联系,以便确认是否允许某个站接入网络,该认证服务器拥有一个用户名和密码数据库。另外一个安全机制是可以配置的预共享密钥,站与AP之间通过“质询-回应”方式来回交换多个帧,使站自我证明具有安全凭据,这种交换发生在关联之后。 WPA之前使用的模式称为有线等效保密(WEP),对于这种模式,预共享密钥的身份验证发生在关联之前。因为设计上的缺陷使得WRP很容易妥协,WEP被人攻破的第一个实际演示2002年,现在破解WEP密码的软件可自由获得。
  • 一旦帧到达AP,分发服务决定了如何路由帧。如果帧的目的地对于AP来说是本地的,则该帧将被AP发送到空中;否则它们必须通过有线网络来转发。如果一帧需要发往 802.11局域网以外,或者从802.11局域网外面接收帧,可使用集成服务来处理这里的任何协议转换。
  • 数据传送服务可让站采用在本章所述的协议来发送和接收数据,由于802.11基于以太网的模型,以太网传输不能保证100%可靠,在802.11上传输同样不能保证任何可靠性,上层必须处理检测和纠正事宜。
    无线是一种广播信号。若对通过无线局域网发送的信息要求保密,则必须对其进行加密。这个目标通过隐私服务实现,该服务管理加密和解密的细节。WPA2加密算法基于高级加密标准(AES),加密所使用的的密钥在认证过程中确定。
  • 为了处理不同优先级业务,还有一个QOS流量调度服务。它使用前述的协议:给予语音和视频流量比尽力而为和背景流量更高的优待。相伴的还有一个服务为高层提供计时器同步,这可让站协调它们的行动,这对于流媒体处理或许有用。
  • 最后还有两个服务帮助站帮助管理它们的频谱使用。发射功率控制服务为站提供了发射功率必须满足监管限制的信息,因为这种限制在不同地区有不同规定。动态频率选择服务为站提供了避免在5GHz频段发送所需要的信息,因为这个频段恰好被附近的雷达在用。
    (802.11标准并不止本文所述这些,5GWiFi标准即802.11ac早已出现,有兴趣自行搜索相关资料,这里不再赘述)

你可能感兴趣的:(计算机网络(Andrew,David著\严,潘译))