我认为最小的是64字节。 为什么这个最低要求?
做一些快速阅读,似乎与CSMA / CD的碰撞检测部分有关。 如果在旧的广播媒体上帧频太小,那么一些碰撞就不能被察觉。 继续我今天的汽车类比的主题,同样的原因,我们不允许在高速公路上使用自行车 – 这对他们来说是不安全的。
除了mfinni(绝对正确)的答案之外,设置最小帧大小允许您花费多个接收周期来validation帧的校验和。 在Ye Olde Days中,人们可以很容易地想象一个芯片,每个周期处理一个比特,但需要很多个周期来计算与接收通路平行的专用通路上的校验和。 接收很多短消息可能会导致这个校验和逻辑由于在其中触发多个同时操作而变得乱码。 丢弃低于特定大小阈值的任何内容都可以以简单的方式避免此问题。
以太网被devise为在共享介质上工作(以太网!)。 发送者能够感知到他们正在驱动以太的信号何时与以太网上的信号不同。
不幸的是,所有媒体都有传播延迟(不幸的是,即使光线以有限的速度传播)。
假设你发送一个很短的帧。 为了检测接收机是否在接收到帧的同时发送正确的数据,您必须等待发送的信号到达您,因此您必须等待/听两次媒体的传播延迟,然后才能知道是否有在接收端碰撞。
现在,在这段时间里,不要只是聆听(发出沉默),而应该在这段时间内发送一些有用的信息。
因此,标准将最小帧大小设置为可以在TWICE中发送的共享介质中的最差情况传播延迟的数据量。
所以,如果你不满意,因为大型的框架感觉你的小信息是“未优化的”,那么想想这个小包里多余的空间是寻找别的东西发送的机会,否则就不得不发送零。
当然,在本地networking标准中还有很多处理碰撞和传播延迟的方法,但是这不是以太网,我想我们都可以同意以太网非常好。
为了CSMA / CD正常工作,你需要一致的碰撞检测。
如果接收者看到一个冲突,而发送者没有,那么数据包就会丢失。 同样,如果发送者看到冲突,但接收者不知道发送者重传之后,你会得到一个重复的数据包。 两者都不可取。
由于数据以有限的速度传播,因此需要最小的数据包大小以确保发生碰撞时发生的事情无处不在。 在CSMA / CD出现故障之前,您可以将networking的最小数据包大小设置的更大和/或更快。
至于为什么64字节我不确定,但我预计这只是一个“当时似乎是正确的”整数,因为它们的运行速度,预期的以太网规模和预期的规模更高级别的数据包。
最小数据包长度为64字节不是任意数字。 在一个10Base5物理层(“脂肪以太网”同轴电缆,原始指定的物理层之一,允许的电缆最长的一个)中,导致最小包长度(以微秒为单位),这是最大长度的往返时间的两倍电缆长2500米,由5个500米的段和4个中继器组成。 这是为了确保从电缆两端传输的数据包能够在电缆中的每个点完全碰撞,以便在所有节点中进行可靠的碰撞检测。
琐事: