引入
如何协调总线上各主机的工作,尽量避免产生碰撞,是一个必须要解决的重要问题。
早期的共享式以太网使用:载波监听多址接入/碰撞检测 CSMA/CD来解决这个问题。
CSMA/CD概念解释及举例
概念解释:
举例说明:
多址接入:多个主机连接在一个总线上,它们都有可能发送帧。
假设主机C要发送帧,它先载波监听,检测到总线空闲96比特时间后,就可以发送帧了。
假设在主机C使用总线发送帧的过程中,主机B也要发送帧,于是它就进行载波监听:发现总线忙,于是就持续监听,判断总线是否空闲96比特时间。当发现空闲了96比特时间的时候,B就可以发送帧,且一边发送一遍进行碰撞检测,若没有碰撞,则可以把B剩余的帧发送完。
假设在主机B发送帧的过程中,主机C也要发送帧(这时总线刚好空闲了96比特时间),此时就会产生碰撞。 在产生碰撞的时刻,主机B和C都在边发送边碰撞检测,C会比B更早检测到碰撞。于是C就停止发送,退避一段随机时间后,重新再发送之前所发送的帧。当B检测到碰撞后,也停止发送,退避一段随机时间后,重新再发送之前所发送的帧。
争用期
最小帧长
假设主机A要发送帧给D,而此帧很短,则在主机A发送完帧后就不再进行碰撞检测。
假设主机C离A比较远,在A发送完帧后它还是检测到总线空闲96比特时间(尽管总线并不空闲),此时C想发送帧,就会产生碰撞。
C能检测到碰撞,而A不能,所以不会重发,且D会收到有差错的帧,于是D将其丢弃,则此次发送失败了(D没有收到A的完整的帧)。
因此,以太网的帧长不能太短。
注意:争用期时间2 tao x 数据传输速率 = 最小帧长
最大帧长
帧太长会导致其他主机没法使用总线,且接收方可能会由于缓冲区满而溢出。所以也要有最大帧长。
截断二进制指数退避算法
信道利用率
若无碰撞、且总线一旦空闲就有主机开始发送帧,则不存在多个争用期的时间。
帧发送流程图
帧接收流程图
本节小结
相关习题
例1:
解:
B。
例2:
解:
D。
1个tao其实就是信号在介质中从头到尾走一次的时间,2个tao就是往返时间(争用期)。
例3:
解:
如果它们不是同时发送,那么对于先发送的主机,其所经历的时间不是最短的。
最短:10-5s
最长:主机甲发送的信号快要送到乙了,乙突然要发送。
2x10-5