CSMA/CD协议

运维 · 2021-09-25

一。工作条件

  • 以太网IEEE802.3总线拓扑结构网络半双工网络
  • 工作信道:数据链路层的广播信道
  • 工作方式:无连接,信道空闲检测机制碰撞冲突检测机制
  • 曼彻斯特编码

二。CSMA持续与非持续侦听

非持续式

当检测到信道有人正在使用时,数据链路层将会在一个随机时间之后对该信道的使用情况再次检测,在实际使用中,在等待再次检测这段时间中,信道上没有数据进行传输,这段时间是浪费的。

持续式

当侦听到介质忙时,数据链路层会持续侦听,一旦发现空闲立即发送。如果发生冲突则等待一个随机分布的时间再次发送。

这种模式的好处就是提高了信道的利用率。

持续式存在的冲突

1.如果两个介质同时侦听到空闲并发包,会产生冲突。

2.发包会产生延迟从而产生冲突。

解决方法:P持续,每当检测到信道空闲时,有数据链路层决定以P的概率发包,以1-p的概率延迟一段时间发送,等于说用少量时间换取稳定。

三。CSMA/CD协议特点(步骤)

  • 对介质进行侦听,如果介质空闲,那就进行发包操作。如果监测到介质忙,那么进行持续侦听,检测到空闲就发布。
  • 如果发生冲突,等待一个随机分布的时间再次重复步骤一。
  • 并且发送一个简短的加强广播信号告知所有设备发生了冲突。
  • CSMA/CD协议也要求数据链路层发送数据的同也接收自己的信号,已检测是否发生冲突。

四。碰撞检测

该特点只保证在发送帧的时候不会出错就OK了,如果帧发出成功,该帧再次出错,则不归数据链路层控制,应由更高层的协议来控制。由于信息在信道传播上有传播时延,1KM的电缆传输时延大概时5us,所以在A站点向B站点发送数据时会有延迟。当数据帧在5us中传输时,B站点检测到信道空闲,于是B站点也开始发送数据。A、B两个站点发送的数据就会碰撞从而发生强烈的失真现象。如果不加以控制则该帧就会丢失,就不满足在发送帧的时候不会出错。所以要有碰撞检测。

五。帧结构

帧结构

帧结构

六。冲突检测要求

要求1:时隙宽度 = 最大冲突检测时间(冲突窗口)

保证一个时隙内检测到最远的冲突

要求2:发送有效帧时间 >=最大冲突检测时间(冲突窗口)

防止帧太短而检测不到发送已失败

Theme Jasmine by Kent Liao