
🛸CSMA/CD协议
共享总线以太网具有天然的广播特性,即使总线上某个站点给另一个站点发送单播帧,表示帧的信号也会沿着总线传播到总线上的其他各站点。
当某个站点在总线上发送帧时,总线资源会被该站点独占。此时,如果总线上的其他站点也要在总线上发送帧,就会产生信号碰撞
。
当两个或多个站点同时使用总线发送帧时,就会产生信号碰撞。
为了解决各站点争用总线的问题,共享总线以太网使用了一种专用协议CSMA/CD,它是载波监听多址接入/碰撞检测(Carrier Sense Multiple Access Collision Detection)的英文缩写词。
🔎多址接入MA
即多个站点连接到一根总线上,各主机随机发送帧
🔎载波监听CS 碰撞检测CD
假设站点C要发送帧,它首先进行载波监听,在检测到总线空闲96比特时间后,就可以发送帧了
表示帧的信号会沿着总线传播。假设在站点C使用总线发送帧的过程中,站点B也要发送帧,站点B进行载波监听,发现总线忙,于是持续检测总线,一旦发现总线空闲96比特时间,则立即发送帧
边发送帧还要边检测碰撞,这就是 碰撞检测
只要没检测到碰撞,就可以继续发送帧的剩余部分
假设站点B发送帧的过程中,站点C也要发送帧,站点C进行载波监听,检测到总线空闲,但是实际上总线并不空闲,这是因为站点B发送的信号还没有传播到站点C。站点C检测到总线空闲96比特时间后,就立即发送帧,这必然会产生碰撞。
在产生碰撞的时刻,站点B和C都在边发送帧边检测碰撞,但都检测不到碰撞,碰撞信号沿着总线进行传播。
由于产生碰撞的位置离站点C较近,因此,站点C比B更早检测到碰撞并停止发送帧。
退避一段时间后,重新从载波监听开始,以便重发之前遭遇到碰撞的帧。
当站点B检测到碰撞后,立即停止发送,退避一段随机时间后,重新从载波监听开始,以便重发之前遭遇到碰撞的帧
🥚强化碰撞
发送帧的站点一旦检测到碰撞,除了立即停止发送帧外,还要再继续发送32比特或48比特的人为干扰信号(Jamming Signal),以便有足够多的碰撞信号使所有站点都能检测出碰撞。
🗒️注意
- 载波监听检测到总线空闲,但
总线并不一定空闲
。 - 使用CSMA/CD协议的共享总线以太网上的各站点,只是尽量避免碰撞并在出现碰撞时做出退避后重发的处理,但
不能完全避免碰撞
。 - 在使用CSMA/CD协议时,由于正在发送帧的站点必须“边发送帧边检测碰撞”,因此站点不可能同时进行发送和接收,也就是不可能进行全双工通信,而
只能进行半双工通信
(双向交替通信)。