计算机网络 CSMA/CD载波监听多点接入/碰撞检测协议

本文深入解析了以太网协议中的CSMA/CD(载波监听多路访问/冲突检测)机制,通过会议发言的比喻,阐述了如何在网络中避免数据碰撞。在0~2t时间内检测无冲突即可确保数据传输的正确性,以太网规定最小帧大小为64字节,以保证传输的效率和准确性。
摘要由CSDN通过智能技术生成

网线上有计算机发送数据时,网线的传输资源就被占用了。但是这个跟计算机内部总线被占用不同,总线的占用有cpu做调节,所以不会争抢,但是网线是没有cpu来调节的,所以连接在网线上的各个主机必须要遵循一个协议,来避免网线的抢占。
用一个形象的比喻这个协议就是,开会发言。会议上的人都保持一个谦逊的态度,每当发言的时候,听到别人也发言了,那么就马上停止发言,等一会,再发言。
这个CSMA/CD就是这样一个协议,每台主机都检测着网线是否被占用,一旦检测到别的主机的信号,就意识到这个网线被别的主机占用了,就立即放弃发送信号。
其中有几个要点:
首先我们要明白,计算机信息传输是有时间的,就跟人讲话一样,即使声音传播相当快,也会有时间的影响。(我想到了网上视频会议,当把会议网络延迟达到一个惊人的高时,应该就很好体会这个协议的意义了吧。)
假设数据传输时间,即一个比特脉冲从主机A发送出来,再到达B的所用的时间为t。那么如果主机A发送了一个比特,经过t后到达B。
如果0-t的时间里,没有别的主机发送比特,那么就没什么问题,所有主机在了t时刻接受到了主机A的比特,就会根据协议,谦让的不再发送消息。
但是如果有发送过比特,那么两个脉冲就会撞在一起,结果的话,脉冲的信息就是乱的,不可用了。
脉冲撞在了一起,主机需要做的事情是重新发送。但是什么时候重新发送呢,会根据协议规定的之后的一个随机时间再重新发送。
但是碰撞发生的情况下,主机B在0-t(A的第一个比特发出 ~ 到达)的任何时间都有可能发送比特,比特传输了p的时间,那么主机A在p ~ t+p(B在A发第一个比特时就发了第一个比特的情况下这个比特到达的时刻 ~ B在A发第一个比特到达前发送了一个比特的情况下这个比特到达的时刻)的时间里都可能感受到这个B发送的比特。
或许主机A在p ~ t+p这个时间段内已经完成了消息的所有比特的传输,总共花了k的时间,然后这个主机B发送的比特才到来。这个时候主机A就蒙了,这个主机B的比特,是t+k (主机A最后一个比特到达主机b)之后(这之后B发的比特是没有跟A碰撞)发出来的,还是之前(发生碰撞)发出来的。所以我们一定要保证,这个没碰撞的比特最早到达A的时间是t+k+p,在之前到达的比特一定是和A发生了碰撞的,之后到达的就不是碰撞的了。那么实际上主机A在0~t+k+p的时间里没有检测到有主机B的信号,就是不会发生碰撞的了。
但是协议做的比较简单,因为大多数时候,t和p是相等的,主机B在t ~ t+k这段时间里也不可能发比特,所以我们只要检测0 ~ 2t的时间有没有主机B发来的比特就可以了。
然而为了更加方便一些,我们不如直接将每一帧做的需要发送2t以上的时间的大小,那么一旦收到的大小只需要2t以下的时间发送的帧,不就直接可以判错了嘛。而大小在以上的就一定正确,极大的节省了判断难度,也不用等待到2t的时间,来检测是否发生碰撞。
所以以太网协议干脆规定,最小帧为64字节,最大端到端的时延小于25.6us。这样就保证了最小帧大小必然大于等于两倍时延所能发送的大小了。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值