今天学计网802.11的时候想起了这个问题,很疑惑为什么基于MACA改进的CSMA/CA协议反而不能解决暴露站问题了。仔细翻了半小时课本,终于明白了。由于看到CSDN大部分博客讲的都是CSMA/CA和CSMA/CD的区别,也看到有人和我一样对CSMA/CA和MACA的区别感到困惑,我就简单记录一下吧。

目录

  • 1. 隐蔽站和暴露站。
    • 隐蔽站
    • 暴露站
  • 2. MACA
    • 工作过程
      • 接收方和发送方
      • 其他站
  • 3. CSMA/CA
    • 工作过程
      • 接收方和发送方
      • 其他站
  • 4. 区别
    • 为什么CSMA/CA不能解决暴露站问题
    • 为什么CSMA/CA中需要对RTS做出反应(安静)
  • 5. 资料来源

1. 隐蔽站和暴露站。

这两个问题根源是无线局域网不适用载波监听的方式。

隐蔽站


B在C的范围内,C正在向B发送数据,A监听到信道为空,也向B发送数据,这时B接收到的数据产生了冲突。

暴露站


A和C都在B的信号范围内,B正在与A通信,C本可以向D发送数据1 ,但监听到信道忙,所以误认为不能向D发送数据,此时信道被浪费。

2. MACA

802.11的前身。

工作过程

接收方和发送方

  1. 发送方发送一个RTS帧给接收方,从而发起发送请求。RTS帧包含发送方要发送的数据帧的长度。
  2. 接收方接收到RTS帧,如果判断此时信道可以传输,则向发送方发送一个CTS帧进行确认。CTS同样包含发送方要发送的数据帧的长度。
  3. 接收方接收到CTS帧,开始发送数据。

其他站

  • 如果接收到接收方发出的CTS帧,则表示他们离接收站点很近,需要根据后续数据帧长度保持一段时间的安静,不发送数据。

3. CSMA/CA

工作过程

接收方和发送方

  1. 发送方发送一个RTS帧给接收方,从而发起发送请求。RTS帧包含整个通讯过程2需要的时间NAV,
  2. 接收方接收到RTS帧,如果判断此时信道可以传输,则向发送方发送一个CTS帧进行确认。CTS同样包含发送方要发送的数据帧的长度。
  3. 接收方接收到CTS帧,开始发送数据。
  4. 接收方接收完数据帧后,向发送方返回一个ACK帧确认。

其他站

  • 无论是接收到RTS还是CTS帧,都根据其中的NAV字段安静一段时间。

4. 区别

为什么CSMA/CA不能解决暴露站问题

  • 两个协议都可以解决隐蔽站问题,解决这个问题的关键在于离接收方近的站3 要保持安静。这个通过CTS就可以实现,只要接收到CTS的站保持安静就可以了。
  • 而解决暴露站问题的关键在于,离发送方近的站点不需要保持安静,也就是说不需要对RTS做出任何反应,就像MACA所做的这样。而CSMA/CA中接收到RTS帧的站点也需要保持安静,这就导致了暴露站问题。
  • 那么就到了下一个问题,为什么CSMA/CA要这样做呢,不是自讨苦吃吗。

为什么CSMA/CA中需要对RTS做出反应(安静)

  • 最关键的区别在于,MACA是一个不可靠的协议,他只管发送,不管发送出去的东西有没有被正确接收。而CSMA/CA增加了一个ACK帧进行确认,时可靠的通讯协议。而在NAV这段时间里面,发送方同样有可能接受数据->ACK帧。为了保证发送方能无冲突接收到ACK,所有离发送方近的站点同样需要保持安静。所以所有站点无论是接收到RTS还是CTS都需要保持安静一段时间。这也导致CSMA/CA的效率比较低。

5. 资料来源

  1. 所有图片均来自北京邮电大学王晓茹老师《计算机网络》课程的课件。

  1. B和A通信时,只占用A和B两个信道范围重叠的部分。 ↩︎

  2. 从发送方发送数据帧开始,到发送方接收ACK帧。 ↩︎

  3. 即接收方在自己信号范围内的站,这些站发送数据时会对接收方产生干扰。 ↩︎

MACA协议和CSMA/CA协议的区别相关推荐

  1. CSMA/CD协议和CSMA/CA协议有什么具体的区别?

    csma/ca全称是带冲突避免的载波侦听多址接入协议,主要用于wlan无线局域网:csma/cd全称是带冲突检测的载波侦听多址接入协议,两者最重要的区别就在于csma/cd是发生冲突后及时检测,而cs ...

  2. CSMA/CD协议和CSMA/CA协议有什么具体的区别

    csma/ca全称是带冲突避免的载波侦听多址接入协议,主要用于wlan无线局域网:csma/cd全称是带冲突检测的载波侦听多址接入协议,两者最重要的区别就在于csma/cd是发生冲突后及时检测,而cs ...

  3. 【csma/ca协议和csma/cd协议的matlab仿真详解】

    首先你的熟悉csma/ca协议,csma/cd协议: csma/ca协议: 点击打开链接 csma/cd协议: 点击打开链接 这个课题有几个难点部分: 1.就是需要考虑各种情况,并对每一种情况都必须做 ...

  4. OPC协议和TCP/IP协议的区别和联系是什么

    OPC(OLE for Process Control)技术是指为了给工业控制系统应用程序之间的通信建立一个接口标准,在工业控制设备与控制软件之间建立统一的数据存取规范.它给工业控制领域提供了一种标准 ...

  5. CSMA、CSMA/CD与CSMA/CA协议

    载波监听多路访问(CSMA)协议 若每个站点在发送数据之前都先侦听一下公用信道,如果信道空闲后再发送,则就会大大降低冲突的可能性,从而提高信道的利用率 . CS:载波侦听/监听,每一个站在发送数据之前 ...

  6. 3.5.5 CSMA/CA 协议

    3.5.5 CSMA/CA 协议

  7. 基于CSMA -CA协议的无线星型网络的应用案例介绍

    1.CSMA/CA特点 在无线网络通信中,一种被称为CSMA/CA的协议解决了上诉数据冲突问题,CSMA(Carrier Sense Multiple Access),中文为冲突避免的载波侦听多路访问 ...

  8. 王道考研 计算机网络12 点对点链路 广播式链路 介质访问控制MAC 动态分配信道 ALOHA协议 CSMA CSMA/CD CSMA/CA协议

    传输数据使用的两种链路 广播式链路: 传输的信息会传到所有的主机上 介质访问控制 动态分配信道-ALOHA协议 1.纯ALOHA协议: 2.时隙ALOHA协议 总结: 动态分配信道-CSMA协议 ca ...

  9. 计算机网络(十五)-数据链路层-CSMA/CA协议

    一.CSMA/CA协议 载波监听多点接入/碰撞避免CSMA/CA 主要在无线局域网中使用. 1.1 工作原理 发送数据前,先检测信道是否空闲. 空闲则发出RTS,RTS包括发送端的地址.接收端的地址. ...

最新文章

  1. 凡人学习Linux之路
  2. BZOJ 2142 礼物(拓展Lucas,中国剩余定理)【BZOJ修复工程】
  3. echart的关系图高亮_echarts鼠标覆盖高亮显示节点及关系名称详解
  4. react native 报错:cannot read property 'length' of undefined
  5. python画海绵宝宝_一步一步教你画章鱼哥怎么画好看?教你学画海绵宝宝的章鱼哥简笔画!...
  6. 查看CentOS版本方法
  7. 计算机网络 | 应用层 :HTTP协议详解
  8. Marketing Cloud demo环境和API使用方法说明
  9. P2495-[SDOI2011]消耗战【虚树,dp】
  10. 6用NetBeans进行JSP开发
  11. 你真的知道一个HTML及资源是如何load的吗(了解各个部分是何时下载和执行的)
  12. 有赞vant_vue+有赞vant的商品规格sku记录-小程序
  13. Eclipse用法和技巧十一:分栏显示
  14. ClickHouse最简单的安装方法
  15. Can‘t find third_party/gtest. Run git submodule update --init, or disable with CMake -DBUILD_TEST
  16. 图说: 量子物理学的主要内容
  17. 来自Java程序员的Python新手入门小结
  18. 梯度是什么?图像梯度又怎么理解?
  19. 杰普实训(前端)第一天知识点总结
  20. 收编娘内幕整合版(高质量PDF版)

热门文章

  1. 都说找工作难, 你真的好好准备了吗?
  2. 一个模型击溃12种AI造假,各种GAN与Deepfake都阵亡 | 伯克利Adobe新研究
  3. 以太坊客户端Ethereum Wallet与Geth区别简介
  4. Linux硬盘优势,linux vs linux的优势
  5. 李笑来在 GitHub 上开源了一本电子书
  6. 多线程与高并发(六) 单机压测工具JMH,Disruptor原理解析
  7. 编译器构造c语言描述pdf,关于编译器构造:为什么每次都要在C中指定数据类型?...
  8. 我国的“五岳”是哪五座山,分别在哪个省。
  9. 台式机和便携机属于传统的小型计算机,用途和价格来分类,台式机和便携机均属于传统的小型计算机...
  10. 10个超酷的手机应用程序