4.2 多路随机访问协议


4.2.1 ALOHA


一个帧成功发送的条件

纯ALOHA的效率分析

纯ALOHA的效率分析

2. 时隙ALOHA

分槽ALOHA的效率分析

4.2.2 载波监听多路访问协议 Carrier sense protocol





载波监听多点接入/碰撞检测CSMA/CD



电磁波在总线上的 有限传播速率的影响
-
当某个站监听到总线是空闲时,也可能总线并非真正是空闲的。
-
A 向 B 发出的信息,要经过一定的时间后才能传送到 B。
-
B 若在 A 发送的信息到达 B 之前发送自己的帧(因为这时 B 的载波监听检测不到 A 所发送的信息),则必然要在某个时间和 A 发送的帧发生碰撞。
-
碰撞的结果是两个帧都变得无用。

重要特性
- 使用 CSMA/CD 协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信)。
- 每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。
- 这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率。
争用期
- 最先发送数据帧的站,在发送数据帧后至多经过时间 2 (两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。
- 以太网的端到端往返时延 2 称为争用期,或碰撞窗口。
- 经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。
4.2.3 无冲突协议(Collision-Free Protocols)
- 基本位图协议(A Bit-Map Protocol)
- 工作原理
- 共享信道上有N个站,竞争周期分为N个时槽,如果一个站有帧发送,则在对应的时槽内发送比特1;
- N个时槽之后,每个站都知道哪个站要发送帧,这时按站序号发送。
- 工作原理

- 象这样在实际发送信息前先广播发送请求的协议称为预留协议(reservation protocol)
- 效率
- 轻负载下,效率为 d / (N + d),数据帧由d个时间单位组成;
- 重负载下,效率为 d / (d + 1)。
- 缺点
- 与站序号有关的不平等性,序号大的站得到的服务好;
- 每个站都有 1 比特的开销。
二进制倒计数法 (Binary Countdown)

4.2.4有限竞争协议(Limited-Contention Protocols)
- 占用信道的策略
- 竞争方法
- 例,CSMA;
- 轻负载下,发送延迟小;重负载下,信道效率低
- 无冲突方法
- 例,基本位图法;
- 轻负载下,发送延迟大;重负载下,信道效率高
- 有限竞争方法
- 结合以上两种方法,轻负载下使用竞争,重负载下使用无冲突方法。
- 减少竞争的站的数目可以增加获取信道的概率
- 基本思路:将站分组,组内竞争;
- 问题:如何分组?
- 竞争方法

4.2.6 无线局域网协议
- 无线局域网产生背景
- 笔记本电脑的普及促进了无线局域网的发展
- portable ≠ mobile
- 要做到真正的移动,需要使用无线信号进行通信
一个基本服务集 BSS 包括一个基站和若干个移动站, 所有的站在本 BSS 以内都可以直接通信, 但在和本 BSS 以外的站通信时都要通过本 BSS 的基站。
- 有固定基础设施的无线局域网

基本服务集中的基站叫做接入点 AP (Access Point) ,其作用和网桥相似。
一个基本服务集可以是孤立的,也可通过接入点 AP 连接到一个主干分配系统 DS (Distribution System), 然后再接入到另一个基本服务集,构成扩展的服务集ESS (Extended Service Set)。
ESS 还可通过叫做门桥(portal)为无线用户提供到非 802.11 无线局域网(例如,到有线连接的因特网)的接入。门桥的作用就相当于一个网桥。
移动站 A 从某一个基本服务集漫游到另一个基本服务集,而仍然可保持与另一个移动站 B 进行通信。
无固定基础设施的无线局域网 自组网络(ad hoc network)
- 无固定基础设施的无线局域网 自组网络(ad hoc network)

这种未能检测出媒体上已存在的信号的问题叫做隐蔽站问题(hidden station problem)

当 A 和 C 检测不到无线信号时,都以为 B 是空闲的, 因而都向 B 发送数据,结果发生碰撞。
其实 B 向 A 发送数据并不影响 C 向 D 发送数据 这就是暴露站问题(exposed station problem)

B 向 A 发送数据,而 C 又想和 D 通信。C 检测到媒体上有信号,于是就不敢向 D 发送数据。
传统的CSMA协议不适合于无线局域网,需要特殊的MAC子层协议
- CSMA在有线局域网中:“如鱼得水”
- 在电缆上,信号传播给所有站点
- CSMA只判断本发送站点周围是否有活跃发送站点
- 冲突被发送站点发现
- 某一时刻,信道上只能有一个有效数据帧
- CSMA在无线局域网:“井底之蛙”
- 在开始传输之前,一个站真正希望知道的是在接收方的周围是否有活动情况。
- CSMA只是告诉:在你检测载波的站的周围是否有活动发生。
- 对于一个基于短距离无线电波的系统而言,多个传输过程可以同时发生,只要他们有不同的目标方,并且这些目标方相互间都在对方的范围之外。
无线局域网协议
- MACA(Multiple Access with Collision Avoidance)
- 是IEEE 802.11无线局域网标准的基础
- 基本思想:发送站点刺激接收站点发送应答短帧,从而使得接收站点周围的站点监听到该帧,并在一定时间内避免发送数据
源站 A 在发送数据帧之前先发送一个短的控制帧, 叫做请求发送 RTS (Request To Send),它包括源地址、目的地址和这次通信(包括相应的确认帧)所需的持续时间。
- 允许要发送数据的站对信道进行预约。

若媒体空闲,则目的站 B 就发送一个响应控制帧,叫做允许发送 CTS (Clear To Send),它包括这次通信所需的持续时间(从 RTS 帧中将此持续时间复制到 CTS 帧中)。
A 收到 CTS 帧后就可发送其数据帧。

无线局域网协议
- MACAW
- 对MACA协议做了改进,提高了性能
- 主要改进
- 对每个成功传输的数据帧,都要产生确认帧
- 增加了(发送站点的)载波监听
- 发生冲突后,针对每个数据流(相同源和目的地址)执行后退算法,而不是针对每个站点
- 发生拥塞时,站点间交互信息
802.11 的 MAC 层

802.11 的 MAC 层在物理层之上包括两个子层


帧间间隔 IFS
- 所有的站在完成发送后,必须再等待一段很短的时间(继续监听)才能发送下一帧。这段时间的通称是帧间间隔 IFS (InterFrame Space)。
- 帧间间隔长度取决于该站欲发送的帧的类型。高优先级帧需要等待的时间较短,因此可优先获得发送权,但低优先级帧就必须等待较长的时间。
- 若低优先级帧还没来得及发送而其他站的高优先级帧已发送到媒体,则媒体变为忙态因而低优先级帧就只能再推迟发送了。这样就减少了发生碰撞的机会。



CSMA/CA 协议的原理
- 欲发送数据的站先检测信道。在 802.11 标准中规定了在物理层的空中接口进行物理层的载波监听。
- 通过收到的相对信号强度是否超过一定的门限数值就可判定是否有其他的移动站在信道上发送数据。
- 当源站发送它的第一个 MAC 帧时,若检测到信道空闲,则在等待一段时间 DIFS 后就可发送。
为什么信道空闲还要再等待
- 这是考虑到可能有其他的站有高优先级的帧要发送。
- 如有,就要让高优先级帧先发送。
假定没有高优先级帧要发送
- 源站发送了自己的数据帧。
- 目的站若正确收到此帧,则经过时间间隔 SIFS 后,向源站发送确认帧 ACK。
- 若源站在规定时间内没有收到确认帧 ACK(由重传计时器控制这段时间),就必须重传此帧,直到收到确认为止,或者经过若干次的重传失败后放弃发送。
虚拟载波监听
- 虚拟载波监听(Virtual Carrier Sense)的机制是让源站将它要占用信道的时间(包括目的站发回确认帧所需的时间)通知给所有其他站,以便使其他所有站在这一段时间都停止发送数据。
- 这样就大大减少了碰撞的机会。
- “虚拟载波监听”是表示其他站并没有监听信道,而是由于其他站收到了“源站的通知”才不发送数据。
虚拟载波监听的效果
- 这种效果好像是其他站都监听了信道。
- 所谓“源站的通知”就是源站在其 MAC 帧首部中的第二个字段“持续时间”中填入了在本帧结束后还要占用信道多少时间(以微秒为单位),包括目的站发送确认帧所需的时间。
网络分配向量
- 当一个站检测到正在信道中传送的 MAC 帧首部的“持续时间”字段时,就调整自己的网络分配向量 NAV (Network Allocation Vector)。
- NAV 指出了必须经过多少时间才能完成数据帧的这次传输,才能使信道转入到空闲状态。
争用窗口
- 信道从忙态变为空闲时,任何一个站要发送数据帧时,不仅都必须等待一个 DIFS 的间隔,而且还要进入争用窗口,并计算随机退避时间以便再次重新试图接入到信道。
- 在信道从忙态转为空闲时,各站就要执行退避算法。这样做就减少了发生碰撞的概率。
- 802.11 使用二进制指数退避算法。
二进制指数退避算法
- 第 i 次退避就在 22 + i 个时隙中随机地选择一个。
- 第 1 次退避是在 8 个时隙(而不是 2 个)中随机选择一个。
- 第 2 次退避是在 16 个时隙(而不是 4 个)中随机选择一个。
使用退避算法
- 仅在下面的情况下才不使用退避算法:检测到信道是空闲的,并且这个数据帧是要发送的第一个数据帧。
- 除此以外的所有情况,都必须使用退避算法。即:
- 在发送第一个帧之前检测到信道处于忙态。
- 在每一次的重传后。
- 在每一次的成功发送后。


RTS 和 CTS 帧以及数据帧和ACK 帧的传输时间关系

小结
- 关键问题:在MAC子层,如何解决多个站点争用共享信道?
- 信道分配方式:静态(FDM、WDM、TDM),动态
- 多路访问协议
- ALOHA:纯ALOHA、分槽ALOHA,(冲突危险区)
- CSMA:1-坚持型CSMA、非坚持型CSMA、 p-坚持型CSMA(分槽协议)
- CSMA/CD
- 无冲突协议、有限竞争协议
- 无线局域网协议


