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

[ 计算机网络 | 第三章 ] 数据链路层 06 无线局域网

802.11 无线局域网当线缆消失之后在前面的章节我们见证了以太网从共享式到交换式再到VLAN逻辑隔离的完整演进。这些技术都依赖同一个前提有一根物理线缆连接着设备。但是现实中不是这样。我们用手机刷视频、用电脑打CSGO——这些设备根本没有插网线。它们通过无线电波在空中传输数据。当线缆消失数据链路层面对的是一个新的环境。新矛盾无线信道更不可靠冲突更难检测无线信道和有线信道的本质区别对比维度有线以太网无线局域网传输介质双绞线/光纤信号被约束在线缆内无线电波信号在开放空间中扩散干扰来源主要是电磁干扰相对可控微波炉、蓝牙、墙壁反射、其他WiFi设备信号衰减随距离线性衰减可预测受障碍物影响极大一面墙就能让信号减半通信范围线缆多长信号就到多远开放空间信号覆盖范围不规则冲突检测设备能同时发和收可以边发边听设备发送时听不到其他设备的信号最后一个区别是关键。它直接决定了无线局域网不能使用CSMA/CD。为什么无线中不能做冲突检测在有线以太网中设备可以“边发边听”——发送信号的同时监测线缆上是否有其他信号叠加。这是因为线缆上的信号强度相对一致发送方和接收方的信号在线缆中相遇后电压会叠加发送方能够检测到这种变化。但在无线环境中情况完全不同1. 信号强度差异巨大。设备A发出的信号在A自己的天线处强度极高。而远处设备B的信号到达A时已经衰减得非常微弱。A在发送时自己发出的强信号会完全淹没B传来的弱信号——A根本“听不到”B也在发送。比喻你在广场上大声喊话。你喊的时候自己的声音在你的耳朵里是最响的。远处有人同时喊他的声音传到你这里已经很微弱了被你自己的喊声完全盖住。你根本不知道有人在和你同时喊——这就是无线通信中的“冲突检测失败”。2. 隐藏终端问题。即使两个设备都能检测到基站的信号它们之间可能互相检测不到。设备A和设备B之间有障碍物或者距离太远它们互相“隐身”。3. 暴露终端问题。设备A正在向基站发送数据设备B检测到A在发送就以为信道忙。但实际上B想发送数据的目标是设备C而C在另一个方向B的发送根本不会干扰A。B白白等待了。核心矛盾“无线信道的物理特性导致冲突检测不可靠” vs “仍然需要多台设备共享同一个无线频段”既然冲突无法可靠检测那就换一个思路——不要等冲突发生了再去补救而是想办法让冲突尽量不发生。这就是CSMA/CA的诞生背景。CSMA/CA避免冲突而非检测冲突CSMA/CA 和 CSMA/CD 的核心区别对比维度CSMA/CD有线以太网CSMA/CA无线局域网全称Carrier Sense Multiple Access withCollision DetectionCarrier Sense Multiple Access withCollision Avoidance核心策略先监听发送时检测冲突冲突后退避先监听随机等待预约信道确认收到冲突处理发生了再处理反应式尽量减少发生概率主动式为什么不同有线信道可以边发边听无线信道发送时听不到别人CSMA/CA 的核心思想我不确定会不会冲突所以我要主动地、谨慎地避免冲突——即使这会牺牲一些效率。CSMA/CA 的工作流程几个关键机制机制作用说明DIFS帧间间隔保证高优先级帧先发数据帧必须等待DIFS控制帧如ACK只需等待更短的SIFS随机退避避免多个等待的设备同时开始发送即使信道空闲也必须随机等一段时间再发RTS/CTS预约信道解决隐藏终端问题发送方和接收方通过短帧握手“通知”周围设备信道即将被占用ACK确认确认数据正确收到无线信道出错率高每次发送都必须确认随机退避比喻有线以太网的CSMA/CD像一群人围着圆桌讨论——大家都在听谁想说话先说如果同时开口就互相谦让。无线局域网的CSMA/CA像一个人在空旷的广场上喊话——喊之前先听一下监听听到了别人声音就等一等退避喊完后一定要对方回一句“听到了”ACK如果对方没回就再喊一遍重传。为什么CSMA/CA比CSMA/CD更“保守”因为无线信道的出错代价更高。有线线缆上信号被约束在物理介质内外部干扰相对可控。但在开放空间中无线电波受墙壁反射、微波炉干扰、其他WiFi信号竞争——误码率远高于有线。保守的设计等同于每次发送都要确认ACK增加了开销即使信道空闲也要随机退避增加了延迟RTS/CTS预约机制占用了额外带宽但这是值得的。在一个不可靠的无线信道上主动避免冲突比被动检测冲突更高效。802.11的MAC帧格式无线局域网的帧格式比有线以太网更复杂这是因为它需要处理更多的控制信息。802.11 MAC帧的一般格式各字段说明字段长度说明Frame Control2字节帧类型数据/控制/管理、协议版本、更多分片标记等Duration/ID2字节预约信道的持续时间告诉其他设备“我要用多久”Addr16字节接收端MAC地址即时的接收方Addr26字节发送端MAC地址即时的发送方Addr36字节取决于帧类型通常是最终目的地或源地址Seq Control2字节帧序列号用于去重和重组Addr46字节仅在无线分布式系统WDS中使用即无线网桥场景Frame Body0-2312字节数据载荷FCS4字节CRC校验码为什么有四个地址字段这是802.11帧和有线以太网帧最关键的区别之一。在有线以太网中帧只有两个地址源MAC和目的MAC因为帧只能在同一条线缆上传输发送方和接收方直接相连。在无线局域网中情况更复杂。考虑一个典型的WiFi通信场景手机A ←→ 无线路由器 ←→ 互联网上的服务器B当手机A向服务器B发送数据时Addr1接收端无线路由器的MAC地址即时的接收方Addr2发送端手机A的MAC地址即时的发送方Addr3最终目的地服务器B的MAC地址经过路由器NAT转换后的目的地址当无线路由器向手机A转发数据时Addr1接收端手机A的MAC地址Addr2发送端无线路由器的MAC地址Addr3原始源服务器B的MAC地址三个地址分别表示谁在收即时接收方、谁在发即时发送方、最终是谁的或最初是谁的。这种设计解决了“经过一个中间设备路由器中转时如何保留原始发送方和最终接收方地址”的问题。Addr4只在无线分布式系统WDS中使用——当两个无线路由器通过无线桥接时需要四个地址来标识即时收发双方加上最终收发双方。与有线以太网的关键差异对比维度有线以太网802.3无线局域网802.11传输介质双绞线/光纤信号被约束无线电波开放空间扩散介质访问控制CSMA/CD先听后发冲突退避CSMA/CA先听后等预约信道确认重传地址字段2个源MAC、目的MAC3个或4个即时收发 最终收发ACK确认不需要有线信道可靠必须确认每次发送后等待ACKRTS/CTS无有可选解决隐藏终端问题帧间间隔IFG帧间间隔96个比特时间DIFS、SIFS等多级间隔保证优先级冲突检测边发边听检测电压异常无法检测因为信号强度差异和隐藏终端最小帧长64字节保证冲突检测无此限制因为不做冲突检测最大帧长1518字节2312字节允许更大帧减少开销可靠性机制出错丢帧交给TCP重传链路层重传发送方没收到ACK就自动重试 小结无线局域网面对的根本困境是——物理信道更不可靠、冲突无法可靠检测。CSMA/CA因此选择了和CSMA/CD完全不同的道路用随机退避、信道预约、ACK确认这“三件套”来主动避免冲突而不是被动检测冲突。802.11的帧格式也因此比以太网更复杂——四个地址字段适应了无线通信中“有中间设备中转”的场景序列号字段支持了链路层的重传和去重。 数据链路层到此全部结束。回顾这一整章的旅程我们走过了很多场景点对点直连→ PPP协议解决两台机器的帧传输问题共享介质争用→ CSMA/CD解决多台机器共享一根线时的冲突问题交换式精准转发→ 交换机自学习每个端口独享带宽冲突消失逻辑隔离广播域→ VLAN在一个物理网络里用标签切分出多个虚拟子网无线信道的新挑战→ CSMA/CA用避免代替检测用确认对抗不可靠这条演进之路的核心驱动力是什么从冲突域的缩小集线器→交换机到广播域的缩小交换机→VLAN再到信道类型的切换有线→无线——每一次场景变化都暴露出上一层技术的局限性催生出新的解决方案。数据链路层的所有协议都是在回答同一个问题在给定的物理环境下如何在相邻节点之间可靠地、高效地传输帧而每一个场景给出了不同的答案构成了我们现在看到的这个丰富的协议家族。祝你有开心的一天
http://www.gsyq.cn/news/1413705.html

相关文章:

  • 跨平台局域网通信的技术突围:Qt框架下的飞秋Mac版深度解析
  • 从零入门电路设计:创客必备的电子语法与实践指南
  • 如何快速解锁加密音乐:Unlock-Music完整使用指南
  • 温州元点智创GEO联系方式 合作电话 官方网站 官网地址 - 元点智创
  • DownKyi高效解决方案:5步掌握B站视频批量下载的核心技能
  • Windows Cleaner终极指南:3步彻底解决C盘空间不足问题
  • LLM推理优化实战
  • 不止于安装:用RouterOS+VMware打造你的全能家庭网络实验平台
  • 创业团队如何借助Taotoken以可控成本快速验证AI产品创意
  • 2026西安账务整理:告别企业乱账隐患,本土靠谱财税机构认准长安德勤财税 - 小柏云
  • 3D打印与CAD设计:为关节炎患者打造个性化厨房辅助用具
  • Gemini客单价翻倍实操手册:如何用产品分层+场景化报价+价值锚定三步法抢占溢价权?
  • Jupyter Notebook 效率翻倍:这10个Nbextensions插件,数据分析师和Python新手都该装上
  • 深入Power PMAC EtherCAT PDO映射:从自动生成代码到手动精准控制电机
  • 用示波器抓CAN波形,手把手教你从CAN_H信号反推125K波特率数据帧(STM32F103+TJA1051实例)
  • 告别硬编码!在SAP ABAP里用动态Open SQL和指针实现灵活查询(避坑指南)
  • 【面试】面试中最容易被忽略的能力,是领导力
  • UE4高级会话管理插件:如何实现跨平台多人游戏联机功能?
  • AI驱动的自主测试智能体:告别脚本维护,实现测试范式革新
  • 百度文库免费下载工具:3分钟搞定付费文档的终极方案
  • 独立开发者如何利用 Taotoken 控制成本并追踪账单明细
  • 2026年全国店铺位置地图标注代理服务商排行盘点:地图标注定位服务厂家直销/地图标注定位服务电话/优选推荐 - 优质品牌商家
  • 运维排查实录:一次线上服务异常的Wireshark流量分析全记录
  • AI应用成本优化实战:三层缓存与智能路由架构设计
  • 魔兽争霸3终极增强指南:WarcraftHelper插件一站式解决方案
  • GEO优化效果评级:哪类内容最容易被AI引用?(附评分表) - 冠一文化
  • 从春晚机器人进化看AI风口:普通人如何抓住低门槛高薪的AI大模型训练师机会?
  • 2026年国内主流碳源厂家实测排行:推荐天津市碧波源科技发展有限公司 - 奔跑123
  • 注册表惹的祸?Win10系统文件属性面板‘缩水’的完整修复指南(附NSudo提权技巧)
  • SpringBoot自动配置类顺序控制:@AutoConfigureBefore/After实战避坑指南