CSMA / CD以太网中的冲突


4

我对CSMA / CD以太网中的冲突感到困惑。卡纸信号何时发送?为什么发送堵塞信号?如果两个同时进行的数据包传输相互干扰,则两个传输节点可以知道电压过大,因此可以结束传输,然后传输32位拥塞信号,但是为什么呢?有人可以按时间顺序逐个写入所有事件吗?


2
是否需要“功课”标签?
2011年

Answers:


11

首先,请注意,现代交换式以太网LAN不再是CSMA / CD。CSMA / CD是一项技术,适用于使用集线器而非交换机的10mbit / sec和100mbit / sec以太网。老实说,周围几乎没有100BASE-TX集线器。那时每个人都去了交换机。千兆以太网(1000BASE-T)规范要求使用交换机。没有GigE集线器。

在现代交换以太网中,您不再有共享介质。当您插入交换机时,“冲突域”仅在您和交换机端口之间。而且,如果您处于全双工模式(对于交换机几乎总是如此),那么根本就不会发生冲突。如果您没有碰撞,则永远不会检测到碰撞,因此您将永远没有理由传输堵塞信号。

因此,在集线器时代(以及共享电缆,如Thinnet / cheapernet / 10BASE-2同轴电缆和thicknet 10BASE-5),这是它的工作方式:

想象一下,您有一个大型10BASE-T LAN,其中有许多集线器,并且电缆的最大长度使LAN上任何两个设备之间最多有4个转发器(集线器)的“转发器规则”最大化。由于集线器之间的信号传播延迟,从主机A传输的信号到达网络上最远的主机(主机B)可能需要IEEE规格最大232位时间。

现在想象一下主机A开始发送一个帧,并且很幸运,主机B在网络另一端(距离232位时间)在主机A开始发送后仅231位时间开始发送帧。由于网络上的传播延迟,当主机B发送其前同步码的第一位时,主机B不知道主机A已经传输了231位数据。现在,主机B将在主机B的传输的第一个32位中检测到该冲突,这可能比主机A检测到的冲突要早232至264位时间。如果主机B恰好在传输的第一位上检测到它,并且在检测到该冲突时就停止了传输,则它可能没有停留在介质上足够长的时间,主机A也无法检测到它并意识到发生了冲突(您可以' t确保接收方将在冲突的第一位检测到冲突)。这将意味着主机A将不知道执行正确的冲突处理过程。因此,主机B不仅发送停止信号,还发送Jam信号,以使其停留在介质上足够长的时间,以确保主机A意识到发生了冲突。

这也是以太网帧的最小长度为64字节的原因。这样可以保证主机A停留在介质上的时间足够长,从而可以在网络的另一端检测到冲突,并且主机B的Jam信号可以一直通过网络返回,因此主机当Jam信号通过时,A仍在介质上,因此它可以意识到有人与其传输发生冲突。


全双工连接中不需要csma / cd吗?如果是,那为什么呢?同意使用两条备用电缆进行发送和接收,因此如果设备同时发送和接收,则不会发生冲突。但是,如果设备同时从两个来源接收数据怎么办?那会有碰撞吧?
阿什温

2
@Ashwin交换机必须缓冲它同时接收的两个帧之一(在两个单独的端口上,因此不会发生冲突),然后将一个帧先发送到目标主机。
Spiff 2012年

这是否意味着在全双工交换式以太网中,以太网帧不再需要至少为64个字节?其次,如果千兆位以太网是全双工的,那么千兆位以太网甚至没有最小帧大小吗?

1
@GeorgeRobinson IEEE并未删除64字节的最小帧大小要求,尽管它在交换式以太网上的作用不如在旧的基于半双工集线器的网络上。
Spiff 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.