我听说以太网数据包的最小帧大小取决于发生冲突所需的时间。它必须足够大,以便如果发生冲突,可以在传输完成之前检测到。
但是,请考虑这种情况:如果数据包的传输即将完成,当发送方即将发送最后一个字节时,另一端发生了冲突。冲突会被检测到吗?将以太网数据包加长似乎没有任何区别。
答案1
首先,这个问题可能仅仅具有历史意义,因为较新的以太网标准是全双工的并且使用交换机而不是集线器,所以不会发生冲突。
CSMA、CD 网络(载波侦听多路访问、冲突检测)中的最坏情况是,两个节点在网络允许的最大距离处同时开始发送小帧。它们都听到安静的介质并开始发送自己的帧。帧大小需要足够长,以便发送帧所需的时间比传播到另一端的时间更长。这样,两个节点都会听到对方的传输,并检测到冲突。
答案2
最小帧长度不仅仅是在最大宽度的网络上发生碰撞所需的时间,它还加其他传输主机注意到碰撞所需的时间,加碰撞通知(“堵塞”信号)发出所需的时间后退在第一个主机完成其最小长度传输并离开介质之前,跨最大宽度网络传输。这可确保第一个主机在收到拥塞信号时仍在使用介质,因此它知道自己已发生冲突并可采取正确措施。
在您的示例中,如果传输几乎完成,那么第二台机器那时就会听到帧的开头,因此它会意识到介质不空闲并且不会开始传输。