暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

CSMA/CD协议【23】

花间剑指编程 2020-10-03
1400

CSMA/CD协议的简介

重点篇

CSMA/CD:(carrier sense multiple access with collision detection),即载波监听多点接入/碰撞检测。

CS:载波监听/侦听,每一个站在发送数据之前以及发送数据时都要检测一下总线上是否有其它计算机在发送数据。

MA多点接入,表示很多计算机以多点接入的方式连接在一根总线上。

CD:碰撞检测(冲突检测),"边发送边监听",适配器边发送数据边检测信道上信号电压的情况,来判断自己在发送数据时其它站是否也在发送数据。

1. 为什么先监听后发数据还是会发生冲突呢?
答:因为电磁波在总线上总是以有限的速率传播的,加上传输数据的信道可能很长(出现传播时延),因而会发生冲突。


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

1. A站正在向B站发数据,B站也想向A站发数据。但由于信道太长,A站发的数据还在信道上,B站还没接收A的数据,B站检测到信道是空闲的,这时B站就向A站发数据,A-->B A<--B,这时碰撞(冲突)就出现了。
2. 单程端到端传播时延:τ,读作"涛"。即数据从A站端到B站端的所花的时间。

3. 最迟多久才能知道自己发送的数据没和别站碰撞?
做多是两倍的总线端到端的传播时延(2τ)
2τ也是 总线的端到端往返传播时延
2τ也叫做 争用期/冲突窗口/碰撞窗口
4. 启示:
只要经过2τ的时间还没有检测到碰撞,就能肯定这次发送不会发生碰撞。


如何确定碰撞后的重传时机?

重传时间随意的话,还是会发生碰撞。

这部分慢慢琢磨,这是重点

  • 使用截断二进制指数规避算法

例题:在以太网的二进制回退算法中,在11次碰撞之后,站点会在 0~?之间选择一个随机数。

先思考一下~

# 解:11次碰撞,k不再增大,k=10, ? 等于2的10次幂减去1,即?等于1023


最小帧长问题

现象:A站发了一个很短的数据帧,但发生碰撞,不过帧在发送完毕后才能检测到发生碰撞,没法停止发送。因为发完了帧。

处理方式:令

也就是:

小结



文章转载自花间剑指编程,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论