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