WIFI基础入门--802.11--MAC基础--2
WIFI基础入门--802.11--MAC基础--2
- 1.故障排查工具
- 2.优化无线网络
- 3.关键点
- 4.面临挑战
- 4.1 射频链路质量
- 5.隐藏节点
- 6.访问模式与时机
- 6.1 DCF(分布式协调功能)
- 6.2 PCF(点协调功能)
- 6.3 HCF(混合协调功能)
- 7.载波监听功能
- 8.帧间间隔
- 8.1 基本时隙(Slot Time)
- 8.2 短帧间间隔(Short interframe space简称SIFS)
- 8.3 PCF帧间间隔(PCF interframe space简称PIFS)
- 8.4 DCF帧间间隔(DCF interframe space简称DIFS)
- 8.5 扩展帧间间隔(Extended interframe space简称EIFS)
- 9.DCF基于竞争的访问
- 10.DCF与错误恢复
- 11.DCF的退避算法
- 12.帧的分段与重组
- 13.帧格式
- 13.1 Frame Control字段
- 13.1.1 Protocol字段
- 13.1.2 Type与Subtype字段
- 13.1.3 To DS与From DS位
- 13.1.4 More Fragments位
- 13.1.5 Retry位
- 13.1.6 Power Management位
- 13.1.7 More Data位
- 13.1.8 Protected Frame位
- 13.1.9 Order位
- 13.2 Duration/ID字段
- 13.3 Address字段
- 13.4 目的地地址
- 13.5 来源地地址
- 13.6 接收端地址
- 13.7 发送端地址
- 13.8 顺序控制(Sequence Control)字段
- 13.9 帧主体
- 13.10 帧校验序列(FCS)
- 14.对上层协议的封装
- 15.基于竞争的数据服务
- 16.广播与组播数据或管理帧
- 17.单播帧
- 17.1 基本的肯定确认(最后的一个片段)
- 17.2 帧分段
- 17.3 RTS/CTS
- 18.省电程序(Powersaving Sequence)
- 18.1 立即响应
- 18.2 延迟响应
- 19.支持多种速率
- 19.1 选速与降速
- 20.帧的处理与桥接
- 20.1 无线媒介至有线媒介(802.11至Ethernet)
- 20.2 有线媒介至无线媒介(Ethernet至802.11)
- 21.服务质量扩展功能
1.故障排查工具
封包监听软件(packet sniffer),如omnipeek,wireshark,需要了解各种封包的含义,方能正确诠释网络的行为,完全发挥封包监听软件的功能。
2.优化无线网络
调整无线网络离不开规范说明说所列举的种种参数以及底层无线电技术的种种行为。要理解网络的种种行为以及可以优化到什么程度,需要对这些参数有所认识并知道无线电波在你的使用环境中如何传播,大部分的驱动程序都会为这些参数提供调整过的默认值。
3.关键点
MAC位于物理层之上,控制数据的传输。它负责核心成帧操作(core framing operation)以及与有线骨干网络之间的交互。不同的物理层可以提供不同的传输速度,不过物理层之间必须彼此互用。802.11成功的将Ethernet类型的网络应用到无线链路之上。和Ethernet一样,802.11采用载波监听多路访问(carrier sense multiple access简称CSMA)机制来控制对传输媒介的访问。不过,冲突(collisions)会浪费宝贵的传输资源,因此802.11转而使用冲突避免(CSMA/CA)机制,而非使用Ethernet所实行的冲突检测(CSMA/CD)机制。
4.面临挑战
无线网络环境与传统有线网络环境的差异性为网络协议设计人员带来了种种挑战。
4.1 射频链路质量
在有线的Ethernet中,假设对方必然会收到所传送的帧是合理的。无线链路(radio link)则不然,会受到噪声干扰,多径衰落所造成的布线死区等原因导致帧无法正常发送。
和其他链路协议不同,802.11采用肯定确认(positive acknowledgment)机制。所有传送出去的帧都必须得到响应,只要任何一个环节失败,该帧即被视为已经丢失。原子操作意指不可分割的单一事务单元(single transactional unit)。若没有完成所有步骤,则整个操作就被视为失败。数据帧的传送者必须收到响应,否则认为该帧即被视为已经遗失,予以重传。
无线链路的质量也会影响网络操作的速度。信号质量较佳,就可以用较高的速度来传送数据。信号质量通常随着距离的拉长而有所减损,即802.11工作站的数据传输速度取决于它和接入点之间的相对位置。工作站必须具备某种机制,可以判断何时该变更数据传输速率以适应环境的改变。此外,网络中所有工作站必须能够以不同的速度进行数据的传输。
5.隐藏节点
在Ethernet网络中,工作站是通过接收传输信号来行使CSMA/CD的载波监听功能。物理的媒介线路中包含了信号,而且会传输至各网络节点。无线网络的界限比较模糊,有时候并不是每个节点都可以跟其他节点直接通信的。
节点之间可能只是因为距离过远,无法收到对方的无线电波,两个节点互为隐藏节点。
在无线网络中,由隐藏节点所导致的冲突问题相当难以检测,因为无线收发器(wireless transceiver)通常只有半双工(half-duplex)工作模式,即无法同时收发数据。为了防止冲突发生,802.11允许工作站使用Request to Send(请求发送,简称RTS)及Clear to Send(清除发送,简称CTS)信号来清空传送区域。由于RTS与CTS帧均会延长帧交易过程,因此RTS帧,CTS帧,数据帧以及最后的响应帧均被视为相同原子操作的一部分。
RTS帧本身带有两个目的:预约无线链路的使用权与要求接收到这一帧的其他工作站保持沉默。一旦收到RTS帧,接收端会以CTS帧应答。和RTS帧一样,CTS帧也会令附近的工作站保持沉默。等到RTS/CTS完成交换过程,即可传送之前待传的帧,而无需担心来自其他隐藏节点的干扰。
6.访问模式与时机
无线媒介的访问是由协调功能(coordination function)控制。
6.1 DCF(分布式协调功能)
DCF是标准CSMA/CA访问机制的基础。和Ethernet一样,在传送数据之前,它会先检查无线链路是否处于清空状态。为了避免冲突的发生,当某个传送者占据信道时,工作站会随机为每个帧选定一段退避(backoff)时间。在某个情况之下,DCF可利用CTS/RTS清空技术进一步减小发生冲突的可能性。
6.2 PCF(点协调功能)
点协调功能提供的是无竞争服务,称为点协调者(point coordinator)的特殊工作站可以确保不必通过竞争即可使用媒介。点协调者位于接入点,因此只有基础结构型网络才会使用PCF。为了赋予比标准竞争式服务还高的优先级,PCF允许工作站经过一段较短时间间隔后即可传送帧。
6.3 HCF(混合协调功能)
有些应用需要比尽力传递(best-effort delivery)更高一级的服务质量,却又不需要用到PCF那么严格的时机控制。HCF允许工作站维护多组服务队列,针对需要更高服务质量的应用提供更多的无线媒介访问机会。
7.载波监听功能
载波监听(carrier sensing)主要用来判断媒介是否处于可用状态。802.11具备两种载波监听功能:物理载波监听(physical carrier-sensing)与虚拟载波监听(virtual carrier-sensing)。只要其中有一个监听功能显示媒介处于忙碌状态,MAC就会将此状况汇报给较高层的协议。
物理载波监听功能是由物理层所提供,取决于所使用的媒介与调制方式。
虚拟载波监听是由网络分配矢量(Network Allocation Vector简称NAV)所提供。利用NAV可保证工作站的原子操作不被中断。
8.帧间间隔
因为802.11MAC内置了避免冲突的功能,所以工作站会延迟媒介的访问,直到媒介再度闲置。不同的帧间间隔会为不同类型的传输产生不同的优先次序。其后的决策逻辑十分简单:当媒介闲置下来时,高优先级的数据所等待的时间较短。因此,如有任何高优先级的数据待传,在优先级较低的帧试图访问媒介之前,优先级较高的数据早就将媒介占为己用了。为了维持不同数据传输率的互用性,帧间间隔的时间值都是固定的,与传输率无关。不过,不同的物理层可以指定不同的帧间间隔时间。
8.1 基本时隙(Slot Time)
PIFS 等于SIFS 加1 个基本时隙,DIFS 等于SIFS 加2 个基本时隙,而EIFS 比其他4个时隙都要长很多, 只有在收到的数据包出现错误时才会使用。
8.2 短帧间间隔(Short interframe space简称SIFS)
SIFS用于高优先级的传输场合,例如RTS/CTS以及肯定确认帧。经过一段SIFS(时间),即可进行高优先级的传输。一旦高优先级传输开始,媒介即处于忙碌状态,因此相较于必须等待较长时间才能传输的帧,SIFS消失后即可进行传输的帧的优先级较高。
8.3 PCF帧间间隔(PCF interframe space简称PIFS)
PIFS主要被PCF使用在无竞争操作中,有时被误称为优先级帧间间隔。在无竞争时期,有数据待传的工作站可以等待PIFS后再加以传送,其优先级高于任何竞争式传输。
8.4 DCF帧间间隔(DCF interframe space简称DIFS)
DIFS是竞争式服务中最短的媒介闲置时间。如果媒介闲置时间长于DIFS,则工作站可以立即对媒介进行访问。
8.5 扩展帧间间隔(Extended interframe space简称EIFS)
只有在帧传输出现错误时才会用到EIFS。
9.DCF基于竞争的访问
大部分的传输操作均会采用DCF(分布式协调功能),它提供了类似Ethernet的基于竞争的服务。DCF允许多个独立的工作站彼此交互。试图传送任何数据之前,工作站必须查看媒介是否处于闲置状态。若它处于忙碌状态,工作站必须延迟访问并利用指数退避算法来避免发生冲突。
在使用DCF的传输中将会运用到两项基本规则:
(1)如果媒介闲置时间长于DIFS,即可立即进行传输。载波监听同时可以物理与虚拟两种方式进行。
a.如果之前的帧接收无误,则媒介必须至少空出一段DIFS。
b.如果之前的帧传输出现错误,则媒介必须至少空出一段EIFS。
(2)如果媒介处于忙碌状态,则工作站必须等候至信道再度闲置,802.11称之为访问延迟。一旦访问延迟,工作站会等待媒介闲置一段DIFS,同时准备指数退避过程。
10.DCF与错误恢复
错误检测与更正(error detection and correction)是由开始原子帧交换过程的工作站来担任。一旦检测到错误,该工作站必须负责重新发送。错误检测必须由发送端负责。有时候,发送端可以根据肯定确认来推论帧是否丢失。只要帧重新发送,重试计数器就会累加。和大部分其他的网络协议一样,802.11是通过重传机制来提供可靠性。数据传送是通过原子操作,而且整个过程必须完成才算传送成功。当工作站传送帧时,必须得到接收端的确认,否则传送便被视为失败。若传送失败,则与该帧(或帧片段)相应的重试计数器便会累加。如果达到重传限制,该帧随即被丢弃并将此状况告知上层协议。
11.DCF的退避算法
当帧传送完成且经过一段DIFS,工作站便会试图传送之前拥堵的数据。DIFS之后紧接的一段时间称为竞争窗口(contention window)或退避窗口(backoff window)。此窗口可进一步分割为时隙。时隙长度因媒介而异,速度较高的物理层会使用较短的时隙。工作站会随机挑选某个时隙,等候该时隙到来以便访问媒介。所有时隙的选择机会均等。当多个工作站试图同时传送数据时,挑选第一个时隙的工作站可以优先传送。根据802.11标准,所有这些时隙编号不应有差异。
12.帧的分段与重组
来自较上层的封包以及较大型的管理帧必须经过分段,无线信道才有办法加以传送。当干扰存在时,分段封包也有助于提升可靠性。利用帧的分段,无线局域网工作站可让干扰只影响较小的帧片段而非较大的帧。通过降低可能被干扰的数据量,帧分段可以提高整体的有效吞吐量。
当上层封包的大小超过网络管理人员所设定的分段阀值(fragmentation threshold)时,就会进行帧的分段。每个帧分段(fragment)都有相同的帧序号(frame sequence number)以及一个递增的帧片段编号(fragment number)以便于重组。帧控制信息(frame control information)用来指示是否还有其他帧片段待收。构成整个帧的所有帧片段通常会在所谓的片段突发期传送。
13.帧格式
802.11MAC帧并未包含Ethernet帧的某些典型功能,其中最显著的是type/length字段以及preamble(前导码)。preamble属于物理层,而封装细节(如type与length)则出现在802.11帧所携带的标头(header)中。字段的传送顺序由左至右,最高有效位将会最后出现。
Frame Control | Duration | addr1 | add2 | Frame body |
---|---|---|---|---|
2字节 | 2字节 | 6字节 | 6字节 | 0-2312 |
13.1 Frame Control字段
所有帧的开头均是长为两个字节的Frame Control(帧控制)字段,包括以下子字段:
13.1.1 Protocol字段
Protocol(协议版本)字段由两位(b0,b1)构成,用以显示该帧所使用的MAC版本。目前,802.11MAC只有一个版本,它的协议编号为0。
13.1.2 Type与Subtype字段
Type(类型)与Subtype(子类型)字段用来指定使用的帧类型。Frame control字段的第三位(b2,b3)是Type字段,第五位(b4,b5,b6,b7)是Subtype字段。
Type与Subtype字段的值与名称:
Subtype的值 | Subtype的名称 |
---|---|
Management frame | Type=00 |
0000 | Association request(关联请求) |
0001 | Association response(关联响应) |
0010 | Reassociation request(重新关联请求) |
0011 | Reassociation response(重新关联响应) |
0100 | Probe request(探测请求) |
0101 | Probe response(探测响应) |
1000 | Beacon(信标) |
1001 | ATIM(通知传输指示消息) |
1010 | Disassociation(取消关联) |
1011 | Authentication(身份验证) |
1100 | Deauthentication(解除身份验证) |
Control frame | Type=01 |
1010 | Power Save-Poll(省电-轮询) |
1011 | RTS(请求发送) |
1100 | CTS(清除发送) |
1101 | ACK(确认) |
1110 | CF-End(无竞争周期结束) |
1111 | CF-End(无竞争周期结束)+CF-ACK(无竞争周期确认) |
Data frame | Type=10 |
0000 | Data(数据) |
0001 | Data+CF-ACK |
0010 | Data+CF-Poll |
0011 | Data+CF-ACK+CF-Poll |
0100 | Null data(无数据,未传送数据) |
0101 | CF-ACK(未传送数据) |
0110 | CF-Poll(未传送数据) |
0111 | Data+CF-ACK+CF-Poll |
1000 | Qos Data |
1001 | Qos Data+CF-ACK |
1010 | Qos Data+CF-Poll |
1011 | Qos Data+CF-ACK+CF-Poll |
1100 | Qos Null(未传送数据) |
1101 | Qos CF-ACK(未传送数据) |
1110 | Qos CF-Poll(未传送数据) |
1111 | Qos CF-ACK+CF-Poll(未传送数据) |
13.1.3 To DS与From DS位
这两个位用来指示帧的目的地是否为分布式系统。在基础结构型网络里,每个帧都会设定其中一个DS位。具体意义如下:
意义 | To DS=0 | To DS=1 |
---|---|---|
From DS=0 | 所有管理与控制帧,IBSS里的数据帧(非基础结构型数据帧) | 基础结构型网络里无线工作站所传送的数据帧 |
From DS=1 | 基础结构型网络里无线工作站所收到的数据帧 | 无线桥接器上的数据帧 |
13.1.4 More Fragments位
此位的功能类似IP的"more fragments"位。若较上层的封包经过MAC分段处理,除了最后一个片段,其他片段均会将此位设定为1。
13.1.5 Retry位
有时候可能需要重传帧,任何重传的帧会将此位设定为1以协助接收端剔除重复的帧。
13.1.6 Power Management位
为了延长电池的使用时间,通常可以关闭网络接口以节省电力。此位用来指出发送端在完成当前的原子帧交换之后是否进入省电模式。
13.1.7 More Data位
为了服务处于省电模式中的工作站,接入点会将这些从分布式系统接收来的帧加以缓存。接入点如果设定此位,即代表至少有一个帧待传给休眠中的工作站。
13.1.8 Protected Frame位
相对于固定式网络,无线传送本质上就比较容易被拦截。如果帧受到链路层安全协议的保护,则此位会被设定为1,而且该帧会略有不同。
13.1.9 Order位
帧与帧片段可依次传送,不过发送端与接收端的MAC必须付出额外的代价。一旦进行严格依次传送,则此位会被设定为1。
13.2 Duration/ID字段
Duration/ID字段紧跟在Frame Control字段之后。此字段有许多功能。
(1)设定NAV
当第15个位被设定为0时,Duration/ID字段会被用来设定NAV。此数值代表当前所进行的传送预计使用媒介多少微秒。工作站必须监视所收到的任何帧头并据此更新NAV。任何超出预计使用媒介时间的数值均会更新NAV,同时阻止其他工作站访问媒介。
(2)无竞争周期所传送的帧
(3)PS-Poll帧
13.3 Address字段
一个802.11帧最多可以包含4个地址字段。这些地址字段均经过编号,因为随着帧类型的不同,这些字段的作用也有所差异。基本上Address1代表接收端,Address2代表发送端,Address3字段被接收端用来过滤地址。举例来说,在基础结构型网络里,第三个地址字段会被接收端用来判断该帧是否属于其所关联的网络。
802.11所使用的寻址模式依然遵循其他IEEE 802网络所使用的格式,包括Ethernet,地址本身的长度有48位。如果传送给实际媒介的第一位为0,则该地址代表单一工作站(单播)。如果第一位为1,则该地址代表一组实体工作站,称为组播地址。如果所有位均为1,该帧为广播,因此会传送给所有连接至无线媒介的工作站。
这些长为48位的地址有各种不同的用途:
13.4 目的地地址
代表最后的接收端,即负责将帧交付上层协议处理的工作站。
13.5 来源地地址
代表传送的来源。
13.6 接收端地址
代表负责处理该帧的无线工作站。如果是无线工作站,接收端地址即为目的地地址。如果帧的目的地是与接入点相连的Ethernet节点,接收端即为接入点的无线接口,而目的地地址可能是接至Ethernet的一部路由器。
13.7 发送端地址
代表将帧传送至无线媒介的无线接口。发送端地址通常只用于无线连接。
要用多少地址字段取决于帧类型,大部分的数据帧会用到3个字段:来源,目的地以及BSSID。数据帧中,地址字段的编号与排列方式取决于帧的传送路径。
13.8 顺序控制(Sequence Control)字段
此字段的长度为16位,用来重组帧片段以及丢弃重复帧。它是由4位的片段编号(fragment number)字段以及12位的顺序编号(sequence number)字段组成。控制帧未使用顺序编号,因此并无Sequence Control字段。
当上层帧交付给MAC传送时,会被赋予一个顺序编号。此字段的作用相当于已传帧的计数器取4096的模数。此计数器从0起算,MAC每处理一个上层封包它就会累加1。如果上层封包被分段处理,则所有帧片段都会具有相同的顺序编号。如果是重传帧,则顺序编号不会有任何改变。帧片段之间的差异在于片段编号。第一个片段的编号为0,其后每个片段的编号依序累加1。重传的片段编号会保持原始的顺序编号以协助重组。
13.9 帧主体
帧主体(frame body)也称为数据字段(Data field),负责在工作站之间传递上层有线载荷(payload)。在最初制定的规范中,802.11帧最多可以传送2304个字节的有效载荷。802.2 LLC标头具有8个字节,最多可以传送2296个字节的网络协议有效载荷。防止分段必须在协议层加以处理。在IP网络中,Path MTU Discovery(路径最大传输单元寻找,RFC 1191),可阻止大于1500个字节的帧的传送。
802.11与其他链路层技术不同之处表现在两个显著的方面。首先,在802.11帧中并无任何上层协议的标记(tag)可供区别。上层协议是以额外标头的type字段加以标记,同时以之作为802.11有效载荷的开始。其次,802.11通常不会将帧填补至最小长度。802.11所使用的帧并不大,随着芯片与电子技术的发展,目前没有填补的必要。
13.10 帧校验序列(FCS)
和Ethernet一样,802.11帧也是以帧校验序列(frame check sequence简称FCS)结束。FCS通常被视为循环冗余校验(cyclic redundancy check简称CRC)码,因为底层的数学运算相同。FCS让工作站能够检查所收到的帧的完整性。
当帧送至无线接口时会先计算FCS,然后再经RF或IR链路传送出去。接收端随后会为收到的帧计算FCS,然后与记录在帧中的FCS进行比较。如果两者相符,则该帧极有可能在传送过程中未受损。
在Ehernet上,如果帧的FCS有误即随即予丢弃,否则就传递给上层协议处理。在802.11网络上,通过完整性校验的帧还需要接收端送出确认。例如,接收正确数据的帧必须得到肯定确认,否则就必须重传。对于未能通过FCS校验的帧,802.11并未提供否定确认机制,在重传之前,工作站必须等候确认逾时。
14.对上层协议的封装
和所有其他的802链路层(link layer)一样,802.11可以传送各种不同的网络层协议(network-layer protocol)。和Ethernet不同的是,802.11是以802.2的逻辑链路控制(logical-link control简称LLC)封装来携带上层协议。
传送时,用来封装LLC数据的方式有两种,一种是RFC 1042所描述的方式,另一种则是802.1H所规范的方式。Ethernet帧具有MAC标头(由来源与目的MAC地址组成),类型代码(type code),嵌套封包(embedded packet)以及帧检查(frame check)等字段。
15.基于竞争的数据服务
单播数据必须得到确认以确保数据传送无误。虽然整个数据的交换过程包含两个帧,但数据交换本身只是单一操作。只要一方失误,整个操作就必须重新来过。802.11定义了两组截然不同的原子交换过程。第一种为DCF,用于基于竞争的服务,第二种为PCF,用于无竞争服务。无竞争服务所使用的的帧交换方式不仅错综复杂,而且难以理解。
DCF使用的帧交换方式在802.11MAC中占有决定性的地位。根据DCF的规定,所有的产品都必须提供尽力传递的功能。为了实现基于竞争的MAC,处于工作状态的工作站必须处理每个帧的MAC标头。整个帧交换过程从某个工作站在DIFS之后取得闲置媒介的使用权时开始。
16.广播与组播数据或管理帧
广播与组播帧的交换过程最为简单,因为这些帧无需响应。这两种帧也可以视为组帧,因为其接收对象不限于单一工作站。成帧与寻址在802.11中较为复杂,适用此规则的帧的类型如下所示:
(1)广播数据帧会在Address1字段中填入广播地址
(2)组播数据帧会在Address1字段中填入组播地址
(3)广播管理帧会在Address1字段中填入广播地址
组播帧无法分段,也无需得到确认。整个原子交换过程只牵涉到一个帧,根据基于竞争的访问控制规则加以传送。传送结束后,所有工作站必须等待一段DIFS,然后在竞争窗口倒数随机产生的延迟时间。
17.单播帧
在802.11标准中,针对个别工作站所传送的帧称为直接数据。本书使用较通俗的词,称之为单播。单播帧必须得到确认以确保可靠性,也意味着可借助各种机制来改善传送效率。本书所描述的交换过程适用于任何单播帧,因此也适用于管理帧与数据帧。实际上,这些操作通常只用于数据帧。
17.1 基本的肯定确认(最后的一个片段)
两个工作站之间的传送可靠性建立在简单的肯定确认上。单播数据帧必须得到肯定确认,否则该帧即会被认定为已经遗失。单一帧及其确认是最基本的例子。
17.2 帧分段
包括IP在内,一些较上层的网络协议或多或少都会用到帧分段。在网络层进行分段的缺点是接收端必须重组;如果帧在传送过程中遗失,整个封包必须重传。在链路层(link layer)使用分段机制可以提升速度,即以较小的MTU在跳跃点间传送数据。此外,802.11可以利用帧分段来避免干扰。无线电波干扰通常会以瞬间且高能量的突波形式出现,而且经常与AC电源线同步。将帧加以分段可保护大部分帧不会被损坏。
帧分段是由MAC的分段阀值参数控制。任何超过分段阀值的帧都会被分段,分段方式因具体实现而已。调高分段阀值意味着帧的传送负担较小,不过帧遗失与损坏的成本较高,因为将会有较多的数据必须丢弃或重传。调低分段阀值意味着传送负担较重,不过在面临较恶劣的环境时,这种做法可以提供较好的稳定性。
17.3 RTS/CTS
为保证媒介使用权以及数据传送不被中断,工作站可使用RTS/CTS的交换方式。RTS/CTS交换的做法和帧分段没有什么两样,只是RTS帧并未携带任何数据。RTS中的NAV可让CTS完成操作,而CTS则可用来为数据帧保留媒介使用权。RTS/CTS可用在所有的帧交换,非帧交换或介于两者之间。和帧分段一样,RTS/CTS是由驱动程序中的阀值来控制的。超过该阀值的帧由RTS/CTS先行清空媒介,而较小的帧则被直接传送。实际上,RTS/CTS交换通常与帧分段并行。虽然经过分段,帧分段还是有一定的长度,因此可受惠于RTS/CTS过程所确保的媒介独家使用权,免于隐藏点的竞争。
18.省电程序(Powersaving Sequence)
在RF系统中,放大器是最耗电的组件,它负责将送出的信号放大并将收到的信号放大至可处理的水平。802.11工作站可以关闭无线电波收发器并且定期进入休眠状态,以维持最长的电池使用时间。在休眠期间,接入点会为每个处于休眠状态的工作站缓存单播帧。若有缓存帧,接入点会由后续的Beacon帧告知工作站。从省电状态苏醒的工作站可以使用PS-POLL帧取得这些缓存帧。
接收到PS-Poll帧的接入点可以立即采取响应,也可以等到环境许可,比较空闲时再予以响应。
18.1 立即响应
接入点可以对PS-Poll(省电-轮询)帧立即作出响应。经过一段SIFS接入点即可传送帧。PS-Poll帧的Duration/ID字段中包含了Association ID(关联标识符),因此接入点可以判断哪些帧是为该工作站所缓存。
18.2 延迟响应
除了立即响应,接入点可以先回复一个简单响应,这种称为延迟响应(deferred response),因为接入点虽然响应了访问缓存帧的请求,但并未立即采取实际的发送行动。使用延迟响应的优点之一在于接入点方面的软件较易实现,因为确认信息可以通过芯片组固件立即传送,至于数据则可以先予以缓存,然后依正常流程传送。
19.支持多种速率
能够以不同速度操作的网络技术必须具备一种机制,可以协商出一种收发端彼此均可接受的数据传送速度。速度协商对于工作站而言尤其方便。工作站可以经常变换速度,以适应无线电波环境的快速变动。当工作站间的距离改变时,速度也会随之变动。工作站必须能够适应随时变动的环境,必要时更改传送速率。和一些其他协议功能一样,802.11标准并未规范该如何选择传送速率。标准正式提出一般原则:
1.每个工作站均持有一份操作速率列表,其中记录工作站与所连接BSS均支持的所有速率。高于操作速率集的传送速率是不允许用来传送帧的。
2.每个BSS必须负责维护一组基本速率,即打算加入此BSS的工作站所必须支持的速率列表。任何传送至组接收地址的帧必须以基本速率传送,以确保所有工作站均可正确解读。
3.用来开始帧交换的控制帧,如RTS/CTS,必须以基本速率集中的一种速率来进行传送。此规则可以确保必须以CTS响应RTS帧的工作站能够以相同速率操作。
4.发送给特定工作站的帧会在Address1字段记载单播目的地地址。单播帧可以使用目的端支持的任一速率传送。
5.ACK或CTS之类的确认帧必须以基本速率集所包含的速率传送,但不能快于这次传送所使用的初始帧。
19.1 选速与降速
802.11接口均支持某种降速机制,可以适应不同网络环境调降所使用的数据率。速率选择主要决定一张网卡该在何时提高速率以提高链路质量。
最常被用来判断何时应该变速的算法,其实是通过一些不是那么严谨的信号质量测量。信号质量可以直接就信噪比加以测量,或者间接观察有多少帧需要重传。直接测量信噪比可以针对最近一个帧的瞬间信号质量,或者最近一段时间所收到的一定数量的帧取平均数。
至于间接量测,则是监测瞬间或平均遗失多少帧,然后予以适度补偿。采用间接测量的算法简单来讲就是:如果帧已经遗失且帧重试计数器已经用尽,那就降速至下一档,然后重试一遍,反复进行以上步骤直到帧送出。
20.帧的处理与桥接
无线接入点的核心其实就是桥接器,负责在无线与有线媒介之间转换帧。虽然802.11并未限制非得使用何种有线媒介技术,但放弃Ethernet不用的接入点还真没见过。大多数接入点在设计上就是扮演802.11与Ethernet之间的桥梁。
20.1 无线媒介至有线媒介(802.11至Ethernet)
当接入点的无线接口接收到准备传送至有线网络的帧时,接入点必须在两种媒介之间桥接帧(bridge frame),需要进行一系列操作:
(1)当接入点接收到一个帧时,首先会检测该帧基本的完整性。接下来,接入点会针对所使用的物理层,查看物理层标头,然后验证802.11帧上的帧校验码(FCS)。
(2)验证帧接收无误后,接入点就会继续查看是否应该进一步处理该帧:
a.传送至接入点的帧会将接入点的MAC地址(即BSSID)作为802.11 MAC标头的Address1字段。不匹配该接入点的BSSID的帧应予以丢弃
b.802.11 MAC接着检测且移除重复的帧。产生重复帧的原因很多,不过最常见的情况是802.11确认在传送过程中遗失或损坏。为了简化上层协议的操作,因此由802.11 MAC负责剔除重复的帧。
(3)一旦接入点判断出需要进一步处理该帧,就必须予以解密,因为该帧受到链路层安全算法的保护。
(4)成功解密后,接入点即查看该帧是否为帧片段是否需要进一步重组。完整性保护针对的是重组后的完整帧,而不是个别的帧片段。
(5)如果经过步骤2a的BSSID校验,判断接入点必须桥接该帧,较复杂的802.11 MAC标头会被转换成比较简单的Ethernet MAC标头。
a.记录在802.11 MAC标头的Address 3字段里的目的地址会被复制到Ethernet的目的地地址
b.记录在802.11 MAC标头的Address 2字段里的来源地址会被复制到Ethernet的来源地址。
c.在802.11 Data字段里的SNAP标头将(Type字段里的)类型代码复制到Ethernet帧里的Type字段中。如果该Ethernet帧也适用SNAP,就复制整个SNAP标头。
d.顺序信息主要供帧片段重组之用,不过当帧被桥接之后即予以丢弃。
e.如果有标准的服务质量处理过程,即在此进行无线接口与有线接口的Qos映射。不过到目前为止,用来表示服务质量的形式,通常就是在有线帧中使用802.1p优先级位或者其他的控制形式。
6.重新计算FCS(帧校验码)。
7.将产生的新帧交付给Ethernet接口传送。
20.2 有线媒介至无线媒介(Ethernet至802.11)
将帧从接入点有线端桥接至无线媒介的过程刚好相反:
1.验证Ethernet FCS后,接入点首先会查看是否需要进一步处理所接收到的帧,即查看该帧的目的地地址是否属于当前与接入点有关联的工作站。
2.将SNAP标头附加与Ethernet帧的数据之前。上层封包以SNAP标头进行封装,而其Type字段从Ethernet帧里的类型代码复制而来。如果该Ethernet帧也适用SNAP,则复制整个SNAP标头。
3.对帧的传送进行调度。802.11包含复杂的省电操作,将帧置于传送队列之前,接入点可能会将帧缓存到缓冲区。
4.一旦帧被置于队列待传,就会被赋予一个顺序编号,如有必要,所产生的数据可以用完整性校验值加以保护。如果帧需要分段,则会根据事先设定好的分段阀值进行分段。分段帧时,Sequence Control字段中的片段编号也会被赋值。
5.如果帧需要保护,则对帧的主体加密。
6.802.11 MAC标头根据Ethernet MAC标头产生
a.将Ethernet的目的地地址复制到802.11 MAC标头的Address 1字段
b.将BSSID置于Address 2字段以作为无线媒介上帧的发送者
c.将帧的来源地址复制到MAC标头的Address 3字段中
d.将其他字段填入802.11 MAC标头。也就是把预计传送时间填入Duration字段,并把适当的标记填入Frame Control字段
7.重新计算FCS(帧校验码)。
8.将产生的帧交付给802.11接口发送。
21.服务质量扩展功能
服务质量扩展功能会影响帧的传送顺序,但并不会改变帧通过802.11 MAC的基本路径。802.11e服务质量扩展功能并非只用单一传送队列,而是上述有线至无线桥接过程中采用多组传送队列。这些步骤会根据优先次序进行帧处理,而优先级次序取决于帧的内容以及配置设定中预先指定的优先级分级规则。
WIFI基础入门–802.11–成帧细节(数据帧)–3
温馨提示:
以上文章描述如有不清晰之处,欢迎在评论区评论,如有时间,会第一时间回复,谢谢!
WIFI基础入门--802.11--MAC基础--2相关推荐
- 802.11 MAC 基础
1. MAC所面临的挑战 射频链路品质 802.11采用肯定确认机制.所有传送出去的帧都必须得到响应,只要有任何一个环节失败,该帧即被视为漏失. -------原子操作 隐藏节点的问题 无线收发器通常 ...
- WIFI基础入门--802.11--跳频物理层(FH/FHSS)--11
WIFI基础入门--802.11--跳频物理层FH/FHSS--11 1.跳频传输 2.信道分布 3.跳频序列 4.加入跳频网络 5.ISM发射量规定与最大吞吐量 6.干扰效应 7.高斯频移键控(GF ...
- WIFI基础入门--802.11--成帧细节(管理帧)--5
WIFI基础入门--802.11--成帧细节--管理帧--5 1.概述 2.管理帧的结构 2.1 计算持续时间 2.2 帧主体 3.固定字段 3.1 Authentication Algorithm ...
- WIFI基础入门--802.11--TKIP/CCMP/RSN--8
WIFI基础入门--802.11--TKIP/CCMP/RSN--8 1.临时密钥完整性协议(TKIP) 1.1 TKIP与WEP的差异 1.2 密钥层次结构与自动密钥管理 1.3 每帧生成密钥 1. ...
- WIFI基础入门--802.11--直接序列物理层(DSSS)--12
WIFI基础入门--802.11--直接序列物理层DSSS--12 1.直接序列传输 2.编码方式 3.无线电频谱 3.1 信道能量的分布 3.2 邻道抑制与信道隔离 3.3 最大吞吐量(理论值) 3 ...
- WIFI基础入门--802.11--用户身份验证--7
WIFI基础入门--802.11--用户身份验证--7 1.优势 2.可扩展身份验证协议(EAP) 2.1 EAP的封包格式 2.1.1 Code(类型代码) 2.1.2 Identifier(标识符 ...
- WIFI基础入门--802.11--管理操作--9
WIFI基础入门--802.11--管理操作--9 1.管理结构 2.扫描 2.1 被动扫描 2.2 主动扫描 2.3 扫描报告 3.加入网络 4.隐藏式SSID 5.身份验证 5.1 身份验证 5. ...
- WIFI基础入门--802.11k--无线局域网络频谱测量
WIFI基础入门--802.11k--无线局域网络频谱测量 1.介绍 2.定义 3.缩写和首字母缩写 4.无线局域网无线电测量(Wireless LAN Radio Measurements) 4.1 ...
- WIFI基础入门--802.11--高速直接序列物理层(HR/DSSS)--13
WIFI基础入门--802.11--高速直接序列物理层HR/DSSS--13 1.概述 2.PLCP成帧与扰频 3.PMD 3.1 以1.0Mbps或2.0Mbps进行传输 3.2 以CCK进行5.5 ...
最新文章
- Redis 高可用特性之 “持久化” 详解
- MySQL常用数据类型小结
- 如何让页面动起来?支付宝2020新春红包前端3D技术揭秘
- C#中使用SendMessage进行进程通信,可发送字符串,结构体(不能发送类类型)。
- C++primer 第 3 章 字符串、向量和数组 3 . 5 数组
- 怎么样升级成为鸿蒙系统,手机升级成为鸿蒙系统第一手体验怎么样?-电脑自学网...
- 项目启动会ppt_项目经理实战篇-项目启动会
- python修改pip源脚本_修改python的pip源为国内源
- jQuery右键菜单ContextMenu使用笔记
- php获取当前页面链接_php怎么获取当前完整url地址
- idea中配置代码模板
- IAR Fatal error
- Laravel开发的一元交友盲盒源码存取小纸条盲盒交友匹配交友趣味交友同城交友流量
- 360浏览器如何调试html,360js是什么?360浏览器如何调试js?
- 大O表示法初学者指南
- 位于0/nut文件里的'Calculated'边界条件是什么意思?【翻译】
- 『Backup』不用JTAG修好你的Lumia死砖?绝对行!
- 基于Matlab的倍相buck降压电路仿真
- Speedpdf在线转换教你如何XPS转PDF格式
- 工行开放平台接口签名详解
热门文章
- 白杨SEO:企业如何做微信营销推广?微信营销技巧有哪些?
- YY直播洗号产业链如何运作?戳进来看看!
- MOSFET 和 IGBT 栅极驱动器电路的基本原理学习笔记(二)栅极驱动参考
- 安卓平台- 中国游戏榜
- 小学计算机教海探航论文名字,教海探航获奖论文题目参考.doc
- Linux系统文件夹作用粗略解析
- xlite(eyebeam)contact带的rinstance参数
- fydeos的linux文件夹打不开,FydeOS与其它操作系统多启动配置指南
- 第4课:Scratchjr运动指令
- 电脑装的是office2013,右键新建却是2007,或者右键新建菜单中没有excel2013问题解决办法。