CSMA/CD 协议

产生背景

用于解决早期的总线型网络中,经常出现两个或多个端同时发送信号导致信号失效的问题.

基本内容

多点接入:就是说明这是总线型网络 (我也不知道这条有什么卵用)
载波监听:监听是否有信号过来,如果有就等待,等没有信号过来了再发.如果当前端口正在发送信号并且还监听到有信号过来,就立即终止当前信号的发送(只能监听到是否有信号传播到该端口.在信道中的信号的传播无法监听到.否则就没有下面的故事了)
碰撞检测:检测信号是否与其他信号发生碰撞.具体检测方法就是看这个信号的峰峰值(电压变化幅度)是否超过了一定限度
重发:如果一个端检测到了碰撞,会停止发送正在发的信号.转而按某种规则(下面讲到)等待随机一段时间后再重新发送信号.并且你检测到碰撞的那个信号(别的端口发给这个端口的)会被丢弃.

\(\tau :总线上的单程的端到端的传播时延记为\)\(\tau\)
\(\sigma :\)

\(争用期:以太网的端到端之间的往返时间2 \tau称为争用期.与两端的长度,以及信号传播速率有关.\)

其他问题

1.为什么有最短帧长这个东西?发送的帧比最短帧长短会怎么样? 最短帧长怎么算?
答:一个端在信道中发送给另一个端信号,只有他当前正在发包的时候检测到碰撞才会重发.如果你这个端的帧太短了,提前发完了.如果这个帧后面遇到碰撞的话这个端是检测不到的(重发机制只有在正在发送包的时候才会触发,发完了包那个包就不管了.后面你虽然检测到其他端给你发来了一个受碰撞的包,但是你现在没有发送包,所以不会触发重发机制.这其实挺合理的,毕竟碰撞又不一定是你造成的,可能你发的那个包成功抵达了,但是那个端口发给你的包被其他端口给撞了.),就不会重发了.(上面提到一个端口接收到有碰撞的信号会直接丢弃,因为用不了.你要是再不重发,那可不行).理解了前面的话,那最短帧长自然好算了.只要你保证你发完包之前,能接收到其他端发来的碰撞过的信号就可以了.为了让帧一定不出问题,所以考虑最晚的遭遇碰撞的时间(也就是头部刚刚到达端口之前遭遇碰撞),这个时间就是一个 \(\tau\) ,然后由对面的站点发送过来的碰撞信号传送过来需要一个 \(\tau\) ,那么最短帧长就是\(2\tau \times v (v是数据率)\)
2.
posted @ 2022-10-07 18:16  LZH_03  阅读(82)  评论(0编辑  收藏  举报