数据包如何在不合并的情况下传输?

网络工程 转变 以太网 协议理论 第一层 传输协议
2021-07-19 20:59:16

我对网络很感兴趣已经有一段时间了,我一直在想这个问题。我一直在用完整的二进制来考虑这个问题,这意味着数据包的 0 如何不受 1 的干扰?例如,如果以某种方式同时发送两个数据包,如果一个包是(当然不是这么短)101101,另一个是011010,它们如何不合并?它现在如何变成 111111 并且把一切都搞砸了?这也带来了如何使用数据包头的验证,因为我也很困惑。是否仅基于发送这些数据包的即时性,并且几乎不可能同时发送多个数据包?我希望这不会太令人困惑,但如果有人能对此进行广泛的解释,我会很高兴。谢谢

1个回答

您正在描述一个称为碰撞的问题。有不同的网络媒体和协议会发生冲突,并且协议必须有一种方法来检测何时发生冲突。你的问题实在是太宽泛了,无法详细说明,这些会因媒体和协议而异,但我会给你一些信息。

最初的以太网位于共享介质(同轴电缆)上,其中多个主机可以同时发送,并且使用 CSMA/CD(使用冲突检测的多路访问载波侦听)。主机需要在发送之前侦听介质以查看它是否空闲,但这并不能保证不会发生冲突,因为信号穿过介质需要有限的时间。以太网主机将检测到冲突并发送干扰信号,后退随机时间,并尝试重新发送。(交换以太网消除了所有实际目的的冲突。)

Wi-Fi 也使用共享介质,因此容易发生冲突,它使用 CSMA/CA(使用冲突避免的多路访问载波侦听),但这并不意味着它可以完全避免冲突。