
核心答案是的CSMA/CA碰撞避免在现在的Wi-Fi通信中依然被广泛使用是Wi-Fi协议的基础。它并没有像有线以太网的CSMA/CD那样被淘汰。不标准的Wi-Fi802.11协议目前不支持真正的“全双工”通信。它本质上是“半双工”的。 第一部分为什么CSMA/CA“阴魂不散”还记得我们之前聊过的CSMA/CD有线以太网的碰撞检测吗它像一群人在封闭的房间里大声说话一旦听到有人和你说一样的话马上闭嘴然后随机等待。为什么无线的Wi-Fi不能用这套流程1.1 物理的诅咒信号“自己听不到自己”在无线世界里你的设备手机、笔记本像是一个对讲机。问题1隐蔽终端还记得那个场景吗A和C都离B很近但A和C离得很远。A在说话C完全听不到以为自己可以说话。结果B被A和C的信号同时攻击数据包彻底毁了。这是CSMA/CD无法解决的“硬伤”。问题2无法检测在以太网中网卡一边发送数据一边还能“监听”总线上有没有别人在说话。因为发送和监听是同时进行的可以通过比较电压变化来判断碰撞。但在无线中这是不可能的因为你的发送信号强度比如100毫瓦比远方设备传来的微弱信号比如0.1毫瓦要强1000倍当你的天线在全力发射时它被自己的信号“闪瞎”了根本听不到任何其他的回音。所以CSMA/CD在无线上根本执行不了。1.2 CSMA/CA的“进化版本”CAAvoidance避免既然无法“检测”碰撞那就只能“避免”碰撞。CSMA/CA的核心思想是与其撞了再重来不如排队再发言。它的流程生动版“先听”和有线一样先监听信道。“随机退避”即使信道空闲也不能马上发必须等待一个随机的微小时间。这个随机时间让所有想说话的人都随机散开避免了“大家一起抢”的场面。“低调确认”如果经过等待信道依然空闲你就发送数据。“请回复”接收端收到数据后必须立刻回复一个ACK确认消息。如果你没收到ACK就默认数据发生了碰撞被淹没或干扰于是等待更长时间重试。1.3 现代的Wi-Fi如802.11ax/Wi-Fi 6还在用吗还在用它是一个基础的安全网。但是现代Wi-FiWi-Fi 6引入了更先进的机制来减少对CSMA/CA的依赖但绝不抛弃它。OFDMA正交频分多址把无线信道切成无数个“小格子”子载波。以前只有一个人能占满整个教室说话。现在教室里放了一排桌子每个人都可以在一个小桌子资源单元RU上小声说话。这大大减少了“撞车”的概率。上行MU-MIMO让多个设备可以同时向路由器发送数据但只要它们在不同的“空间流”上。但是CSMA/CA依然是Wi-Fi的“守门员”。如果OFDMA或MU-MIMO分配机制出问题或者有老旧设备或者环境充满了干扰CSMA/CA会立刻介入确保通信不会崩溃。结论CSMA/CA不会消失它是Wi-Fi的“底层规则”。它就像交通法规里的“红灯停、绿灯行”无论科技怎么发展红灯时你必须停。 第二部分Wi-Fi为什么不能“全双工”同时说说听听这个问题非常深刻直接关系到无线通信的本质。2.1 全双工与半双工的定义全双工 (Full-Duplex)你能同时说同时听。就像打电话一个通道A说B听B说A听但可以通过数字处理实现。现代以太网交换机可以实现全双工因为发送和接收的电信号用不同的线。半双工 (Half-Duplex)你只能说或者只能听不能同时做。就像对讲机你按下去才能说松开才能听。2.2 为什么标准Wi-Fi是半双工的原因是物理信道是共享的。想象一个普通的Wi-Fi路由器。它只有一个无线频段例如5GHz在这个频段上它只能用一个天线或一组天线阵列来发射信号。当它发射信号时这个强大的信号会淹没从手机那边传来的微弱信号。打个比方你在一个黑暗的房间里手里拿着一个手电筒你的发射天线和一台夜视仪你的接收天线。你想和房间另一端的同伴说话。你打开手电筒发送信号你的眼睛被手电筒强光照得几乎睁不开你根本看不见同伴用夜视仪发出的信号。如果你关掉手电筒停止发送你才能用夜视仪清晰地接收到同伴的信号。这就是无线通信的基本物理制约发射信号会严重干扰接收信号。2.3 有办法绕过吗——早期方案802.11ac/ax为了提升效率Wi-Fi协议设计了一种“半双工”的变体叫做“时分双工” (TDD, Time-Division Duplex)。TDD的神奇之处它让同一根天线在极短的时间内微秒级快速切换角色。0-1微秒路由器发送数据给手机路由器在说手机在听。1-2微秒路由器切换成接收模式手机回复确认帧给路由器手机在说路由器在听。2-3微秒路由器再次发送数据…这个过程快得让你感觉像是在全双工因为肉眼和软件都感觉不到切换。但它本质上仍然是半双工。2.4 未来的曙光真正的无线全双工最近几年学术界和产业界如华为、高通正在研究真正的无线全双工技术。原理通过极其复杂的自干扰消除技术 (SIC, Self-Interference Cancellation)。简单说就是路由器的接收电路在收到自己发射的信号时通过数学运算提前“减去”这个已知的强干扰信号从而“滤出”那极其微弱的手机信号。想象你用一只手电筒照自己的眼睛自干扰同时你的大脑信号处理器能够把你的视网膜结构数字化然后“减去”光晕最终看清远处暗处的东西。当前状态这项技术已经在实验室内实现例如一个Wi-Fi热点可以同时和你通话以及与你朋友通话不需要轮流。但在真正的商用Wi-Fi802.11标准中尚未普及。标准的后续版本802.11be/Wi-Fi 7的核心依然是提升并发效率而不是真正的全双工。 第三部分逻辑严密的对比与总结为了让你彻底清晰地理解这一切我为你绘制了这张对比表特性CSMA/CD (有线以太网)CSMA/CA (无线Wi-Fi)工作模式碰撞检测(Detect)碰撞避免(Avoid)物理基础发送时可以同时监听信道发送时无法监听自干扰核心行为直接发送 - 检测到碰撞 - 停止 - 等待重发先监听 - 随机退避 - 确认信道空闲 - 发送 - 等待ACK关键缺陷在高负载下效率急剧下降即使空闲也要随机等待导致延迟增加当前使用基本淘汰 (交换机替代)依然广泛应用(所有Wi-Fi设备)特性有线全双工无线(标准Wi-Fi)半双工实现方式物理隔离 (用不同线对)时间隔离 (TDD) 或 空间隔离 (MU-MIMO)本质同时发送与接收轮流发送与接收优势零冲突全速运行避开了自干扰难题劣势需要专用信道 (线缆)在单用户场景下效率只有有线的一半未来无限可能性真正的无线全双工 (SIC) 正在突破 第四部分现实案例——你在家打游戏时的“真实体验”场景你在家里使用一台Wi-Fi 6路由器半双工模式同时你的电脑在玩《英雄联盟》需要低延迟的实时上行数据。你的手机在自动下载一个大的系统更新包消耗下行带宽。流程路由器正在全力给手机传送大包下行。你的游戏此时你按下了“闪现”键你的电脑需要立刻发送一个很小的数据包给服务器上行。“半双工”的尴尬因为路由器正在忙着给手机发数据你的电脑无法“同时发送”。它必须“等待”。CSMA/CA你的电脑会监听信道发现路由器正在使用于是它启动CSMA/CA机制随机退避一段时间。路由器发送完路由器发送完当前的数据包后释放了信道并监听等待ACK。你的电脑抢到信道在退避窗口结束后你的电脑抢到了信道成功发送了那个小小的游戏数据包。路由器发回复路由器收到你的包后会先回复给一个ACK然后继续给手机发更新包。结局你感觉游戏有大约1-2毫秒的额外延迟因为你的上行数据包必须“排队”等待路由器的下行传输完成。这就是半双工的代价。如何改善启用MU-MIMO如果路由器和你的手机、电脑都支持它们可以使用不同的天线波束方向在某种程度上“并发”发送但代价是需要复杂的数学处理。使用有线连接插上网线你的电脑就进入了全双工的天堂再也不用等别人了。 总结与展望CSMA/CA还活着吗死不了。它是Wi-Fi物理限制下的基石未来的Wi-Fi 7、8依然会保留它作为安全网。Wi-Fi是全双工吗不是。它是先天半双工的因为“无线电波是共享介质无法同时发和收”。目前通过TDD技术模拟全双工体验。未来的Wi-Fi呢有望成为真正的全双工。通过自干扰消除技术SIC无线设备理论上可以同时发收。一旦商用Wi-Fi的吞吐量和延迟将迎来革命性的提升。希望这个从物理到协议的深度拆解能让你彻底理解了Wi-Fi为何“跑不过”有线以及那个神奇的CSMA/CA背后的故事。