CSMA 协议中的“监听”是什么意思?

网络工程 以太网
2022-02-27 07:12:14

我目前正在研究 CSMA 协议,我很难理解众所周知的定义中“听”的含义:

CSMA 基于“先感知后传输”或“先听后言”的原则。

例如:考虑站 A、B。假设电缆空闲。所以,A 开始传输(真的是说只有传输完成后才开始传播?)

现在,B 想要传输一些帧。B 如何知道 A 正在传输?A在开始传输之前向其他站发送了一些东西吗?

3个回答

如果站 A需要传输,它会在尝试之前尝试检测来自另一个节点的载波信号的存在。如果没有载波,则它开始传输并且该传输开始传播。

这意味着当第一个比特到达媒体的最远点时,A站仍在传输。

假设 B 站需要传输,它检测到媒体中的载波,然后等待正在进行的传输结束,然后再发起自己的传输。

每种媒体(空气、同轴电缆、UTP、光纤等)的传播延迟都不相同。这就是为什么每个媒体都有距离限制确保每当一个电台需要使用媒体时,其他每个电台都知道它的状态。

超过建议的距离限制将导致后期碰撞:一种发生超出允许范围的碰撞类型。它将降低通信链路的吞吐量,因为数据错误将向上层传递。

在以太网段(冲突域)中,所有站都连接到公共介质或电缆。在最初的以太网实施中,它是一条穿过建筑物的物理同轴电缆——每个站都连接到这条电缆。所以当 A 发射时,B 和其他所有人都可以测量电信号并检测到 A 正在发射。因为它是一根电缆,所以信号以接近光速(约 0.6c)传播。

真的是说只有在完成传输时才开始传播吗?

不,信号一开始传输就开始传播,但传播需要时间。

现在,B 想要传输一些帧。B 如何知道 A 正在传输?

B 中的接收器将处于活动状态,并将检测来自 A 的信号。

不幸的是,对于纯 CSMA,A 开始传输但 B 不知道有一个时间窗口。如果 B 在此窗口期间开始传输,则您有冲突。

以太网通过使用冲突检测(因此是 CSMA/CD)来解决这个问题。如果检测到冲突,则两个发射器都会在重试之前退回一段随机时间。通过以下措施确保可靠地检测碰撞。

  • 设置最小数据包大小,从而设置最小传输时间。
  • 设置冲突域的最大大小,从而设置最大传播延迟。

Wifi 使用不同的技术,因为直接碰撞检测在无线环境中是不可行的。