• CSMACD协议与CSMACA协议


    CSMA/CD协议

    全称:载波监听多点接入/碰撞检测CSMA/CD(carrier sense multiple access with collision detection)
    CS:载波侦听/监听,每一个站在发送数据之前要检测一下总线是否有其他计算机在发送数据。
    MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。(总线型网络
    CD:碰撞检测(冲突检测),“边发送边监听”,适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。(半双工网络
    那么,先听后发为什么还会冲突?
    因为电磁波在总线上总是以有限的速率传播的。

    传播时延对载波监听的影响

    在这里插入图片描述

    确定碰撞后的重传时机

    截断二进制指数规避算法
    1.确定基本退避(推迟)时间为争用期2r。
    2.定义参数k,它等于重传次数,但k不超过10,即k=min[重传次数,10]。当重传次数不超过10时,k等于重传次数;当重传次数大于10时,k就不再增大而一直等于10。
    3.从离散的整数集合[0, 1, 2的k次方 - 1]中随机取出一个数t,重传所需要退避的时间就是t倍的基本退避时间,即2tr。
    4.当重传达16次仍不能成功时,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧并向高层报告出错。
    例:
    在这里插入图片描述注:若连续多次发生冲突,就表明可能有较多的站参与争用信道。使用此算法可使重传需要推迟的平均时间随重传次数的增大而增大,因而减小发生碰撞的概率,有利于整个系统的稳定。

    最小帧长问题

    A站发了一个很短的帧,但发生了碰撞,不过帧在发送完毕后才检测到发生碰撞,没法停止发送,因为发完了。。
    在这里插入图片描述

    CSMA/CA协议

    全称:载波监听多点接入/碰撞避免CSMA/CA(carrier sense multiple access with collision avoidance)
    在这里插入图片描述

    工作原理

    发送数据前,先检测信道是否空闲。
    空闲则发出RTS(request to send),RTS包括发射端的地址、接收端的地址、下一份数据将持续发送的时间等信息;信道忙则等待。
    接收端收到RTS后,将响应CTS(clear to send)。
    发送端收到CTS后,开始发送数据帧(同时预约信道:发送方告知其他站点自己要传多久数据)。
    接收端收到数据帧后,将用CRC来检验数据是否正确,正确响应ACK帧。
    发送方收到ACK就可以进行下一个数据帧的发送,若没有则一直重传至规定重发次数为止(采用二进制指数退避算法来确定随机的推迟时间)。

    对比

    在这里插入图片描述

  • 相关阅读:
    docker安装在linux下的docker安装操作步骤完整版
    MySQL的数据库有关操作
    MaxCompute(ODPS)实现笛卡尔积
    小程序如何搭建在服务器上
    [Linux]----文件操作(重定向+缓冲区)
    华为OD机试真题【寻找最大价值的矿堆】
    Sentinel整合Gateway控制台不显示API管理 问题解决
    代码随想录算法训练营Day 46 || 139.单词拆分、多重背包
    【Python实战】-- 按条件提取所有目录下所有Excel文件指定行数据
    蓝桥杯单片机第九届省赛题详细讲解(彩灯控制器)
  • 原文地址:https://blog.csdn.net/weixin_51711289/article/details/127588683