802.11 标准中的 MAC 层 1. CSMA/CA 协议 无线局域网却不能简单地搬用 CSMA/CD 协议。这里主要有两个原因。 即使我们能够实现碰撞检测的功能,并且当我们在发送数据时检测到信道是空闲的,在接收端仍然有可能发生碰撞。
无线局域网的特殊问题 这种未能检测出媒体上已存在的信号的问题 叫做隐蔽站问题(hidden station problem) A 的作用范围 C 的作用范围 A B C D 当 A 和 C 检测不到无线信号时,都以为 B 是空闲的, 因而都向 B 发送数据,结果发生碰撞。
无线局域网的特殊问题 ? 其实 B 向 A 发送数据并不影响 C 向 D 发送数据 这就是暴露站问题(exposed station problem) C 的作用范围 B 的作用范围 ? A B C D B 向 A 发送数据,而 C 又想和 D 通信。 C 检测到媒体上有信号,于是就不敢向 D 发送数据。
CSMA/CA 协议 无线局域网不能使用 CSMA/CD,而只能使用改进的 CSMA 协议。 改进的办法是将 CSMA 增加一个碰撞避免(Collision Avoidance)功能。 802.11 就使用 CSMA/CA 协议。而在使用 CSMA/CA 的同时还增加使用确认机制。 下面先介绍 802.11 的 MAC 层。
802.11 的 MAC 层 MAC 层通过协调功能来确定在基本服务集 BSS 中 的移动站在什么时间能发送数据或接收数据。 无争用服务 点协调功能 PCF (Point Coordination Function) 争用服务 MAC 层 分布协调功能 DCF (Distributed Coordination Function) (CSMA/CA) 2.4 GHz FHSS 1 Mb/s 2 Mb/s DSSS IR 5 GHz OFDM 6, 9, 12, 18, 24, 36, 48, 54 Mb/s 5.5 Mb/s 11 Mb/s 物理层 IEEE 802.11 802.11a 802.11b
802.11 的 MAC 层在物理层之上包括两个子层 无争用服务 点协调功能 PCF (Point Coordination Function) 争用服务 MAC 层 分布协调功能 DCF (Distributed Coordination Function) (CSMA/CA) 2.4 GHz FHSS 1 Mb/s 2 Mb/s DSSS IR 5 GHz OFDM 6, 9, 12, 18, 24, 36, 48, 54 Mb/s 5.5 Mb/s 11 Mb/s 物理层 IEEE 802.11 802.11a 802.11b
DCF 子层在每一个结点使用 CSMA 机制的分布式接入算法,让各个站通过争用信道来获取发送权。因此 DCF 向上提供争用服务。 无争用服务 点协调功能 PCF (Point Coordination Function) 争用服务 MAC 层 分布协调功能 DCF (Distributed Coordination Function) (CSMA/CA) 2.4 GHz FHSS 1 Mb/s 2 Mb/s DSSS IR 5 GHz OFDM 6, 9, 12, 18, 24, 36, 48, 54 Mb/s 5.5 Mb/s 11 Mb/s 物理层 IEEE 802.11 802.11a 802.11b
PCF 子层使用集中控制的接入算法将发送数据权 轮流交给各个站从而避免了碰撞的产生 无争用服务 点协调功能 PCF (Point Coordination Function) 争用服务 MAC 层 分布协调功能 DCF (Distributed Coordination Function) (CSMA/CA) 2.4 GHz FHSS 1 Mb/s 2 Mb/s DSSS IR 5 GHz OFDM 6, 9, 12, 18, 24, 36, 48, 54 Mb/s 5.5 Mb/s 11 Mb/s 物理层 IEEE 802.11 802.11a 802.11b
帧间间隔 IFS 所有的站在完成发送后,必须再等待一段很短的时间(继续监听)才能发送下一帧。这段时间的通称是帧间间隔 IFS (InterFrame Space)。 帧间间隔长度取决于该站欲发送的帧的类型。高优先级帧需要等待的时间较短,因此可优先获得发送权,但低优先级帧就必须等待较长的时间。 若低优先级帧还没来得及发送而其他站的高优先级帧已发送到媒体,则媒体变为忙态因而低优先级帧就只能再推迟发送了。这样就减少了发生碰撞的机会。
SIFS,即短(Short)帧间间隔,长度为 28 s,是最短的帧间间隔,用来分隔开属于一次对话的各帧。一个站应当能够在这段时间内从发送方式切换到接收方式。 三种帧间间隔 使用 SIFS 的帧类型有:ACK 帧、CTS 帧、由过长的 MAC 帧分片后的数据帧,以及所有回答 AP 探询的帧和在 PCF 方式中接入点 AP 发送出的任何帧。 DIFS PIFS SIFS 媒体空闲 发送第 1 帧 时间 源站 SIFS 有帧要发送 ACK 时间 目的站 DIFS PIFS 争用窗口 SIFS NAV(媒体忙) 发送下一 帧 时间 其他站 推迟接入 等待重试时间 有帧要发送
PIFS,即点协调功能帧间间隔(比 SIFS 长),是为了在开始使用 PCF 方式时(在 PCF 方式下使用,没有争用)优先获得接入到媒体中。PIFS 的长度是 SIFS 加一个时隙(slot)长度(其长度为 50 s),即78 s。 三种帧间间隔 时隙的长度是这样确定的:在一个基本服务集 BSS 内当某个站在一个时隙开始时接入到媒体时,那么在下一个时隙开始时,其他站就都能检测出信道已转变为忙态。 DIFS PIFS SIFS 媒体空闲 发送第 1 帧 时间 源站 SIFS 有帧要发送 ACK 时间 目的站 DIFS PIFS 争用窗口 SIFS NAV(媒体忙) 发送下一 帧 时间 其他站 推迟接入 等待重试时间 有帧要发送
三种帧间间隔 DIFS,即分布协调功能帧间间隔(最长的 IFS),在 DCF 方式中用来发送数据帧和管理帧。DIFS 的长度比 PIFS 再增加一个时隙长度,因此 DIFS 的长度为 128 s。 DIFS PIFS SIFS 媒体空闲 发送第 1 帧 时间 源站 SIFS 有帧要发送 ACK 时间 目的站 DIFS PIFS 争用窗口 SIFS NAV(媒体忙) 发送下一 帧 时间 其他站 推迟接入 等待重试时间 有帧要发送
CSMA/CA 协议的原理 欲发送数据的站先检测信道。在 802.11 标准中规定了在物理层的空中接口进行物理层的载波监听。 通过收到的相对信号强度是否超过一定的门限数值就可判定是否有其他的移动站在信道上发送数据。 当源站发送它的第一个 MAC 帧时,若检测到信道空闲,则在等待一段时间 DIFS 后就可发送。
为什么信道空闲还要再等待 这是考虑到可能有其他的站有高优先级的帧要发送。 如有,就要让高优先级帧先发送。
假定没有高优先级帧要发送 源站发送了自己的数据帧。 目的站若正确收到此帧,则经过时间间隔 SIFS 后,向源站发送确认帧 ACK。
虚拟载波监听 虚拟载波监听(Virtual Carrier Sense)的机制是让源站将它要占用信道的时间(包括目的站发回确认帧所需的时间)通知给所有其他站,以便使其他所有站在这一段时间都停止发送数据。 这样就大大减少了碰撞的机会。 “虚拟载波监听”是表示其他站并没有监听信道,而是由于其他站收到了“源站的通知”才不发送数据。
虚拟载波监听的效果 这种效果好像是其他站都监听了信道。 所谓“源站的通知”就是源站在其 MAC 帧首部中的第二个字段“持续时间”中填入了在本帧结束后还要占用信道多少时间(以微秒为单位),包括目的站发送确认帧所需的时间。
网络分配向量 当一个站检测到正在信道中传送的 MAC 帧首部的“持续时间”字段时,就调整自己的网络分配向量 NAV (Network Allocation Vector)。 NAV 指出了必须经过多少时间才能完成数据帧的这次传输,才能使信道转入到空闲状态。
争用窗口 信道从忙态变为空闲时,任何一个站要发送数据帧时,不仅都必须等待一个 DIFS 的间隔,而且还要进入争用窗口,并计算随机退避时间以便再次重新试图接入到信道。 在信道从忙态转为空闲时,各站就要执行退避算法。这样做就减少了发生碰撞的概率。 802.11 使用二进制指数退避算法。
二进制指数退避算法 第 i 次退避就在 22 + i 个时隙中随机地选择一个。 第 1 次退避是在 8 个时隙(而不是 2 个)中随机选择一个。 第 2 次退避是在 16 个时隙(而不是 4 个)中随机选择一个。
使用退避算法 仅在下面的情况下才不使用退避算法:检测到信道是空闲的,并且这个数据帧是要发送的第一个数据帧。 除此以外的所有情况,都必须使用退避算法。即: 在发送第一个帧之前检测到信道处于忙态。 在每一次的重传后。 在每一次的成功发送后。
2. 对信道进行预约 802.11 允许要发送数据的站对信道进行预约。 源站 A 在发送数据帧之前先发送一个短的控制帧, 叫做请求发送 RTS (Request To Send),它包括 源地址、目的地址和这次通信(包括相应的确认帧) 所需的持续时间。 2. 对信道进行预约 802.11 允许要发送数据的站对信道进行预约。 B 的作用范围 A 的作用范围 RTS C A B D E
2. 对信道进行预约 802.11 允许要发送数据的站对信道进行预约。 A 收到 CTS 帧后就可发送其数据帧。 若媒体空闲,则目的站 B 就发送一个响应控制帧, 叫做允许发送 CTS (Clear To Send),它包括这次 通信所需的持续时间(从 RTS 帧中将此持续时间 复制到 CTS 帧中)。 2. 对信道进行预约 A 收到 CTS 帧后就可发送其数据帧。 802.11 允许要发送数据的站对信道进行预约。 B 的作用范围 A 的作用范围 CTS CTS C A B D E
RTS 和 CTS 帧以及数据帧和ACK 帧的传输时间关系 DIFS RTS 数据 时间 源站 SIFS SIFS SIFS CTS ACK 时间 目的站 DIFS 争用窗口 NAV(RTS) 时间 其他站 NAV(CTS) NAV(数据) 推迟接入