总线局域网使用的协议
[^96 比特时间]: 发送 96 比特所耗费的时间,也成为帧间最小间隔。其作用是接收方可以检测出一个帧的结束,同时也使得所有其他站点都能有机会平等竟争信道并发送帧。
1、案例
多个主机连接到一根总线上,各主机随机发送帧。
-
假设主机
C
要发送帧。他首先进行载波监听,检测到总线空闲 96 96 96 比特时间后,就可以发送帧了。 -
假设在主机
C
使用总线发送帧的过程中,主机B
也要发送帧,主机B
进行载波监听,发现总线忙,于是持续监测总线,一旦发现总线空闲 96 96 96 比特时间,则立即发送帧。- 主机
B
边发送帧还要边检测碰撞,只要没检测到碰撞,则可继续发送帧的剩余部分
- 主机
-
假设在主机
B
使用总线发送帧的过程中,主机C
也要发送帧,主机C
进行载波监听,发现总线空闲 96 96 96 比特时间后立即发送帧,这必然会产生碰撞 -
在检测碰撞的时刻,主机
B
和主机C
都在发送帧边检测碰撞,但都检测不到碰撞
- 碰撞信号沿总线传播,主机
C
会比主机B
更早检测到碰撞并停止发送。退避一段随机时间后,重新再发送之前所发送的帧
- 当主机
B
检测到碰撞后,立即停止发送。退避一段随机时间后,重新再发送之前所发送的帧
2、争用期(碰撞窗口)
传播时延: 51.2 u s / 2 51.2us/2 51.2us/2 (争用期 / 2)
总线长度 = ( 2 × 1 0 8 m / s ) × 51.2 u s / 2 = 5120 m = (2 \times 10^8 m/s) \times 51.2 us/2 = 5120m =(2×108m/s)×51.2us/2=5120m
碰撞之后还要将碰撞信号传输回两个主机
3、最小帧长
假设主机 A
给主机 D
发送很短的帧,边发送边检测碰撞。主机 A
很快就将该帧发送完毕了,之后就不再针对该帧检测碰撞。
之后,再该帧的传输过程中,主机 C
也要发送帧。主机 C
检测到总线空闲 96
比特时间后就立即发送帧。
- 尽管总线实际上并不空闲(因为主机
C
在96
比特时间内没有检测到信号),这必然会产生碰撞
主机 D
最中会收到主机 A
发送的、并遭遇碰撞的帧,主机 D
会将该帧丢弃
对于主机 A
而言,它并不知道已发送完毕的该帧遭遇了碰撞,不会重发该帧
- 因为只有一个站点在发送数据时候才会检测碰撞,若发送的数据太小,则发送的时间也就很短
最 小 帧 长 = 争 用 期 × 数 据 传 输 速 率 最小帧长 = 争用期 \times 数据传输速率 最小帧长=争用期×数据传输速率
4、最大帧长
5、截断二进制指数退避
退避时间:检测到碰撞后要等待一段时间才能发送数据,这段时间就是退避时间
6、信道利用率
T 0 T_0 T0:发送时延
τ \tau τ :一个单程端到端的传播时延
7、帧发送流程图
8、帧接收流程图
帧太短:说明小于 512
比特,则认为遭遇了碰撞,因为帧的最短长度为 512
比特(64
字节)
9、习题
l = 800 比 特 l = 800比特 l=800比特
碰撞之后还要将碰撞信号传输回两个主机