当前位置: 首页 > news >正文

CSMA/CA(载波侦听多路访问/冲突避免)

CSMA/CA的全称是载波侦听多路访问/冲突避免。它是Wi-Fi(IEEE 802.11标准)所使用的媒体访问控制协议。你可以把它理解为无线网络中,所有设备为了“公平、有序”地使用共享的无线信道而必须遵守的一套“交通规则”。

它的核心思想是:先听后说,避免冲突


为什么需要CA(冲突避免),而不是CD(冲突检测)?

这是理解CSMA/CA的关键。在有线以太网中,使用的是CSMA/CD

  • 有线网络:设备可以一边发送数据,一边侦听线路上是否有其他信号(冲突)。一旦检测到冲突,就立即停止发送,等待一个随机时间后重试。这就像在一个安静的房间里,你说话时能立刻听到是否有人同时也在说话。
  • 无线网络
    1. 无法边听边说:同一个Wi-Fi设备的天线很难在发送强信号的同时,去侦听微弱的其他信号(这被称为“远近问题”)。
    2. 隐藏节点问题:设备A和设备C可能都在设备B的通信范围内,但它们彼此之间却“听不到”对方。如果A和C同时向B发送数据,就会在B处发生冲突,而A和C自己却不知道。

由于无线环境存在这些天然缺陷,无法可靠地“检测”冲突,所以Wi-Fi的策略转变为尽最大努力“避免”冲突。这就是CA的由来。


CSMA/CA 的工作流程(简化版)

当一个设备(比如你的手机)想要发送数据时,它会遵循以下步骤:

1. 载波侦听

  • 物理侦听:设备用无线电天线检查信道是否空闲(是否有其他Wi-Fi信号)。
  • 虚拟侦听:通过一种叫做NAV的机制。每个数据帧中都包含一个“持续时间”字段,告诉其他设备:“我要占用信道这么久”。其他设备听到后,会把自己的NAV计时器设为这个值,在计时器归零前,即使物理上信道空闲,它们也认为信道是“忙”的。这就像预约了会议室的使用时段。

2. 等待DIFS

  • 如果信道从“忙”变为“空闲”,设备不会立即发送,而是先等待一个固定的时间间隔,称为DIFS。这给高优先级的帧(如ACK确认帧)一个优先发送的机会。

3. 随机退避

  • 这是CA的精髓所在,用于解决“多个设备同时等待DIFS结束”可能引发的冲突。
  • 在DIFS结束后,设备会启动一个退避计时器。计时器的值是一个在竞争窗口内随机选择的时隙数。
  • 只要信道保持空闲,计时器就会逐时隙递减。
  • 如果信道变忙,计时器会暂停,直到信道再次空闲并度过一个DIFS后,才继续递减。
  • 谁的计时器最先减到零,谁就获得发送权
  • 如果发生发送失败(没收到ACK),竞争窗口会加倍,然后重新选择随机值,这降低了再次冲突的概率,称为“二进制指数退避”。

4. 发送与确认

  • 获得发送权的设备开始传输数据帧。
  • 接收方成功收到帧后,会等待一个很短的SIFS间隔,然后回复一个ACK确认帧。
  • 发送方收到ACK,才算本次传输成功。如果没收到ACK,则认为发生了冲突或错误,将进入重传流程。

一个生动的比喻:会议室讨论

想象一个没有主持人的会议室(共享无线信道),大家(无线设备)想发言(发送数据):

  1. 先听:你想说话时,先听听有没有人在说(载波侦听)。
  2. 等安静:如果刚才有人在说,等他说完后,你不马上开口,而是礼貌地等一小会儿(DIFS),看看有没有更重要的人(比如主席)要插话。
  3. 抽号等待:在等待结束后,你和所有也想发言的人,每个人心里默默随机抽一个数字(随机退避值)。数字最小的人可以先发言。
  4. 准备发言:大家从大数往小数默念,念到你抽到的数字时,如果还没人开口,你就开始发言(发送数据)。如果有人在你念到数字前开口了,你就暂停计数,等他讲完再继续(信道忙则暂停计时器)。
  5. 确认听懂:你讲完后,必须等待听众的点头确认(ACK),你才知道他们听清楚了。如果没看到点头,你可能需要稍后重说一遍。

可选的增强机制:RTS/CTS

为了解决严重的“隐藏节点问题”,CSMA/CA还有一个可选握手协议:RTS/CTS

  • 发送方在发送正式数据前,先广播一个很短小的RTS帧。
  • 接收方收到RTS后,回复一个CTS帧。
  • 这个RTS/CTS交换过程也包含了NAV信息,能通知发送方和接收方周围的所有设备:“我们两个要通话了,请保持安静预定的一段时间”。
  • 这样,即使隐藏的节点听不到发送方,也能听到接收方发出的CTS,从而避免冲突。这就像在开会前大声说:“我和小王要讨论一下,大概需要5分钟”。

总结

CSMA/CA(载波侦听多路访问/冲突避免)机制是Wi-Fi设备访问共享无线信道的**基础规则和核心机制。设备在发送数据前必须先监听信道是否空闲。它用一套复杂的“礼貌守则”和“随机排队”机制,取代了有线网络中简单的“冲突后重试”机制,从而克服了无线介质固有的挑战。

RTS/CTS是建立在CSMA/CA之上,用于解决特定问题(主要是隐藏节点)的一个可选增强协议。

核心区别对比表

特性CSMA/CA (载波侦听多路访问/冲突避免)RTS/CTS (请求发送/清除发送)
工作原理1.物理载波侦听:检测信道是否有射频信号。
2.虚拟载波侦听:检查NAV计时器。
3.随机退避:如果信道忙,则等待一个随机时间再试。
4.ACK确认:接收方必须为每个单播数据帧回复ACK。
1. 发送方在发送实际数据前,先发送一个短RTS帧。
2. 接收方回复一个短CTS帧。
3.RTS/CTS帧中都包含“传输所需总时间”,用于设置其他站点的NAV。
作用层面作用于单个数据帧的发送过程。每一次发送(即使是RTS帧本身)都必须遵循CSMA/CA流程。作用于一次完整的数据传输会话。它在CSMA/CA流程之后、长数据帧发送之前插入,为该长帧“开辟绿色通道”。
启用方式始终启用,无法关闭。是Wi-Fi协议的基石。可选启用,通过设置“RTS阈值”来控制。只有数据帧大小超过该阈值时,才会触发RTS/CTS流程
  1. CSMA/CA冲突避让:类似于红绿灯🚥的交通规则,所有WiFi帧都需要遵守。
  2. 在发送报文前先等待DIFS,等待结束后启动一个随机退避计时器NAV,如果信道忙,NAV计时器会暂停。
  3. 接收方收到帧后,会等待SIFS间隔才回复ACK了。
  4. 如果开启RTS/CTS,会改变NAV计时器。

问题一:为什么在发送前都要等待DIFS/SIFS,不能直接启动随机退避吗?

1. DIFS 的作用:区分“新对话”和“对话中的确认”

  • SIFS是协议中最短的间隔。高优先级的帧(如ACK、CTS,以及分片数据包的后续帧)在SIFS结束后就可以立即发送。
  • DIFS比SIFS长。它用于想发起新传输的普通数据帧。
  • 这样设计的结果是:当一个数据帧发送完毕,信道空闲后,接收方只需要等待SIFS就可以抢在任何人之前发送ACK。而其他想发送新数据的设备,必须等待更长的DIFS。这就保证了ACK永远拥有最高优先级,不会被新的数据帧冲撞。
  • 如果取消DIFS,直接退避:想象一下,数据帧刚发完,发送方和一堆竞争设备同时开始随机退避。那么ACK帧(也需要参与退避)很可能无法立即发送,导致发送方误以为冲突或丢失而重传,极大降低效率。
  • SIFS的时长被设计得足够短(通常为10μs或16μs),确保在这些序列中,除了预期的下一帧发送者,其他任何设备都没有机会获得信道(因为它们还在等待DIFS或退避中)。

简单比喻:
把无线信道比作一个对所有人开放的演讲台。

  • SIFS就像当前演讲者和他的对话伙伴之间的极短停顿,只允许他们快速问答(“你明白了吗?”“明白了!”)。
  • DIFS则像是当前对话完全结束后,留给想发起全新话题的人的一个礼貌等待时间。在这个等待时间之后,所有想发言的人再进行“抽号”(随机退避)来决定谁先讲。
  • 如果没有DIFS这个“礼貌等待时间”,在老话题刚结束的瞬间,想提问的人(发ACK)和想讲新话题的人就会混在一起“抽号”,导致提问经常被耽搁,整个对话效率低下。

问题二:如果开启RTS/CTS,NAV计时器在已有的随机时间上增加?
  • 收到RTS或CTS的任何设备,无论它之前正在做什么(包括正在退避),都会立刻用新收到的“持续时间”值覆盖自己当前的NAV
  • 这个NAV值是一个绝对的时间长度,而不是在原有随机退避值上的增加。
  • 对于正在退避的设备,它的退避计时器会在NAV期间被暂停。等NAV结束且信道物理空闲后,再经过一个DIFS,才会继续递减之前暂停的退避计时器。
  1. 都是信道空闲时的等待时间,SIFS的时长足够短(通常为10μs或16μs),DIFS是为了让使用SIFS间隔的ACK等报文优先发送。
  2. RTS/CTS的NAV定时器,会覆盖让所有帧等待某个具体时间,完成后重新开始等待DIFS.
http://www.jsqmd.com/news/720030/

相关文章:

  • 2026年沙特阿拉伯金属与钢铁加工展 Metal Steel Saudi - 中国组团单位- 新天国际会展 - 新天国际会展
  • 仅4B规模参数,性能媲美671B单智能体,无问芯穹与清华大学联合推出WideSeek-R1多智能体系统
  • 从物理约束到AI加速:NVIDIA PhysicsNeMo如何重塑科学计算范式
  • 从SIM900到Cat.1:手把手教你将老旧2G物联网项目平滑迁移到4G网络(附代码对比)
  • Windows Defender Remover:专业级系统安全组件管理终极指南
  • 2026最新香港专线哪家好?拆解物流服务商的6个硬核能力维度 - 奔跑123
  • 【PHP AI代码安全校验黄金法则】:20年安全专家亲授3层动态校验架构与实时拦截方案
  • 江宁靠谱橱柜定制品牌排行 实测对比选对不踩坑 - 奔跑123
  • 别再死记硬背算法了!用Visualgo可视化网站,5分钟搞懂冒泡排序到快速排序
  • 交大ASI-EVOLVE框架神了!AI设计AI,超越人类 SOTA 近三倍
  • 2026智慧工厂室内定位推荐:UWB高精度人员资产追踪方案 - 品牌2025
  • 通勤不晒黑的防晒来了,晒不黑绝绝子,这个夏天白到发光 - 全网最美
  • OpCore-Simplify:智能黑苹果EFI配置实战指南
  • SpringBoot整合Ehcache避坑指南:从xml配置到内存溢出,这些细节你注意了吗?
  • 【2026 算法级生存指南】知网大模型探针实录:哪些降重软件可以同时降低查重率和AIGC疑似率?
  • 2026年嘉兴六大黄金变现服务机构深度测评 - 福正美黄金回收
  • 月饼机排名:企业选购选型关键策略深度解析
  • 三足鼎立:Go、Java 与 Rust 如何选型?一篇看懂后端开发语言的终极抉择
  • 2025届最火的十大AI论文工具横评
  • 2026年国内AI模型平台GEO服务商排行榜:权威测评与选择指南 - 一搜百应
  • 2026深圳/广州地区平板、笔记本、相机、手机回收平台选择指南 - 深度智识库
  • 江宁靠谱衣柜定制品牌排行 实测选购参考指南 - 奔跑123
  • 江苏无机环保地坪与固化研磨工艺:工装地面新方向 - 新闻观察者
  • Flutter 纯色矩形
  • 别再为arm_sin_f32报错发愁了!STM32F103C8T6在CLion里调用DSP库的完整CMake配置流程
  • 智能设计工具赋能内容创作:告别传统制图模式实现高效创作
  • 5分钟快速上手B站成分检测器:评论区智能标注的终极解决方案
  • 2026 LOGO设计公司推荐排行 上市公司/头部企业优选榜 - 极欧测评
  • 2026年全国沥青筑路设备厂家推荐:德州霖垚、山东源头工厂对比与官方联系指南 - 企业名录优选推荐
  • 全球十大无纸记录仪品牌排行榜速览! - 仪表人小余