我理解其中一个原因是由于衰减的影响,碰撞检测机制在 2500 米(1.5 英里)以外无效。段无法感知超过该距离的信号。因此,它们可能不知道大型网络远端的计算机正在传输数据。如果多台计算机同时将数据传输到网络上,则会发生数据碰撞,从而损坏数据。我遗漏了什么?您能否清楚地解释一下这个概念,可以举个例子吗?
谢谢!
答案1
我认为您在这里混淆了两个不同的问题。
对于双绞线和同轴电缆以太网,单个段的长度受信号完整性的限制。此限制与 CSMA/CD 无关。
冲突域的总大小(以及半双工光纤系统的各个段长度)受到时间问题的限制。
对于正确的 CSMA/CD,重要的是冲突要么在任何地方都“可见”,要么在任何地方都“不可见”。如果接收方将其视为冲突,但发送方不认为如此,则会出现丢失的帧。如果发送方将其视为冲突,但接收方成功接收,则会出现重复的帧。
为了确保每个人都看到碰撞,最小数据包长度必须大于从碰撞域一端到另一端的传播延迟的两倍。
最后请注意,全双工以太网根本不可能发生冲突,因此不需要或使用 CSMA/CD。这允许全双工光纤以太网链路在非常长的距离内运行。
谢谢..您能否详细说明一下这句话——“为了确保每个人都能看到碰撞,最小数据包长度必须大于从碰撞域一端到另一端的传播延迟的两倍”?
考虑位于网络两端的两台主机 A 和 B。
A 开始发送数据包。数据开始通过网络向 B 移动。
就在 A 的第一个数据到达之前,B 也开始传输。B 很快就检测到了冲突。
Bs 的传输开始通过网络向 A 移动(可能但不一定是乱码形式)。
如果当 B 的传输到达时 A 仍在传输,那么每个人都会看到冲突。但是,如果 A 已停止传输,那么就它而言,它已成功发送了数据。为了避免这种情况,最小允许数据包的传输时间必须是冲突域之间延迟的两倍以上(包括设备内部延迟)。
如何解释一下长度大于延迟的具体含义?
从技术上讲,我可能应该说“数据包传输时间”。当然,对于固定传输速率,传输时间和数据包长度(包括任何报头/尾部)有直接关系。