我是靠谱客的博主 俊逸可乐,最近开发中收集的这篇文章主要介绍CSMACD协议与CSMACA协议CSMA/CD协议CSMA/CA协议对比,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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就可以进行下一个数据帧的发送,若没有则一直重传至规定重发次数为止(采用二进制指数退避算法来确定随机的推迟时间)。

对比

在这里插入图片描述

最后

以上就是俊逸可乐为你收集整理的CSMACD协议与CSMACA协议CSMA/CD协议CSMA/CA协议对比的全部内容,希望文章能够帮你解决CSMACD协议与CSMACA协议CSMA/CD协议CSMA/CA协议对比所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部