网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

CSMA/CD中的碰撞检测

更新时间:2026年03月27日   作者:spoto   标签(Tag):

CSMA/CD(载波感知多路访问/碰撞检测)是一种媒体访问控制方法。在早期的以太网技术和局域网中,当采用共享总线拓扑结构时,每个节点(计算机)都通过同轴电缆进行连接,因此CSMA/CD方法被广泛地使用。

碰撞

注意:如今,以太网采用全双工传输方式,其网络拓扑结构有两种:星形拓扑(通过交换机或路由器进行连接)以及点对点拓扑(直接连接)。因此,CSMA/CD技术已经不再被使用,不过,这些拓扑结构仍然可以被支持。

CSMA/CD的工作原理是什么?

步骤1:请检查发送方是否准备好传输数据包了。

步骤2:

  • 请检查传输连接是否处于空闲状态。
  • 发送方需要持续检查传输链路/媒介是否处于空闲状态。
  • 为此,它持续感知来自其他节点的传输信号。
  • 发送方在连接上发送一些虚拟数据。如果它没有收到任何冲突信号,那就意味着当前连接处于空闲状态。
  • 如果它检测到载体是空闲的,且不存在碰撞情况,那么就会发送数据。否则,它将不会发送任何数据。

步骤3:

  • 传输数据,并检查是否存在冲突情况。
  • 发送方通过链接来传输其数据。
  • CSMA/CD并不采用“确认”机制。它通过检测冲突信号来判断传输是否成功。
  • 在传输过程中,如果节点接收到碰撞信号,那么传输就会停止。
  • 然后,该站点会在连接上发送一个干扰信号,并等待一段时间后再次发送该帧数据。
  • 经过一段时间之后,它再次尝试传输数据,并重复上述过程。

步骤4:如果传输过程中没有检测到任何碰撞,那么发送方就会完成其帧的传输,同时重置相关的计数器。

一个车站如何知道自己的数据是否会发生冲突呢?

发生了碰撞

请考虑上述情况。这里有两个车站,分别命名为A站和B站。

  • 传播时间:T_p = 1小时信号从A点传输到B点需要1小时的时间。
  • 在 t=0 时刻,A 发送了数据。经过 30 分钟后,发生了碰撞。
  • 在碰撞发生之后,会生成一个碰撞信号,并将其发送给A站和B站,以便让这两个站点了解发生了碰撞的情况。
  • 由于碰撞发生在中途,因此,碰撞信号也需要30分钟才能到达A和B点。
  • 因此,t=1小时A和B都收到了碰撞信号。该碰撞信号被该链路上的所有站点所接收。

如何确保,真正与我们的站点发生冲突的,是来自其他站点的数据呢?

为此,需要计算传输时间(T)。t> 传播时间(T)p[粗略的估计] 这是因为,在从我们的站点传输出最后一位数据之前,我们至少希望确保其中一些数据已经到达了目的地。这样就能保证连接不会处于繁忙状态,也不会发生冲突。

发生了碰撞

在时间t=0时,A发送了它的数据。此时的时间为50分59秒。随后发生了碰撞。

  • 这次碰撞发生在数据到达B点之前。现在,碰撞信号再次需要50到59分钟才能到达A点。
  • 因此,A大约在2小时后才会收到碰撞信息,也就是在……之后。2 * T_p
  • 因此,为了确保更严格的约束条件,必须完全检测到这种碰撞现象。T_t > 2 * T_p.
  • 这是系统能够检测到是否发生了数据碰撞的最大时间。

那么,要传输的数据包的最小长度应该是多少呢?

传输时间 = Tt = 数据包的长度 / 链路的带宽。将上述公式代入后,可以得到:数据包的长度 / 链路的带宽 >= 2 * T。p

数据包的长度 >= 2 * Tp * 链路的带宽

注意:在那些数据包并不那么长的情况下,填充功能就派上用场了。我们可以在数据末尾添加额外的字符,以满足上述条件。

CSMA/CD的特点

  • 载波感知:在传输数据之前,设备会先监听网络状态,以确认传输介质是否空闲。如果传输介质被占用,那么设备会等待介质变得空闲之后再进行数据传输。
  • 多路访问:在CSMA/CD网络中,多个设备共享同一传输介质。每个设备都有平等的访问机会来使用该介质,只要介质处于空闲状态,任何设备都可以发送数据。
  • 碰撞检测:如果有两个或更多的设备同时发送数据,就会发生冲突。当某个设备检测到冲突时,它会立即停止发送数据,并发送一个“干扰信号”,以通知网络中的其他设备该发生了冲突。之后,这些设备会等待一段随机的时间,然后再尝试发送数据,从而降低再次发生冲突的可能性。
  • 后退算法:在CSMA/CD协议中,采用了一种“退避算法”来决定设备在发生碰撞后何时可以重新发送数据。该算法在设备重新发送数据之前会先设置一个随机延迟时间,以此来降低再次发生碰撞的可能性。
  • 最小框架尺寸:CSMA/CD协议要求帧的最小尺寸,这样所有设备都有足够的时间来检测传输过程中是否发生了冲突。如果帧的长度过短,那么某个设备可能无法检测到冲突,从而继续发送数据,最终导致网络中的数据损坏。

CSMA/CD的局限性

  • 可扩展性有限:CSMA/CD在可扩展性方面存在局限性,因此可能不适合那些拥有大量设备的庞大网络。
  • 易受碰撞的影响:虽然CSMA/CD能够检测冲突,但它无法阻止冲突的发生。冲突可能会导致数据损坏、重新传输的延迟以及网络性能下降等问题。
  • 带宽的无效利用:CSMA/CD采用随机分配方式。后退算法这可能会导致网络资源的低效使用。带宽如果某个设备持续遭遇碰撞的话。
  • 对安全攻击的脆弱性:CSMA/CD并不提供任何安全功能,因此该协议容易受到诸如数据包嗅探等安全攻击的威胁。欺骗行为.
              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料