如果不考虑应用程序处理或深度数据包检查,不分片的数据包是否都以相同的速度通过网络?
例如,如果有一个 MTU 为 9000(在所有设备上)的网络,发送 100 字节数据包而不是 5000 字节数据包有区别吗?
如果不考虑应用程序处理或深度数据包检查,不分片的数据包是否都以相同的速度通过网络?
例如,如果有一个 MTU 为 9000(在所有设备上)的网络,发送 100 字节数据包而不是 5000 字节数据包有区别吗?
我不完全确定你的意思。
链接将具有带宽。让我们假设 10 Mbps 以太网。以太网有一些开销:七个八位字节同步、一个八位字节的帧起始定界符、一个 14 个八位字节的帧头和一个四个八位字节的帧校验序列。帧之间还有一个 12 个八位字节的数据包间间隙。
当您的 100 个八位字节数据包被封装在一个以太网帧中时,它最终会成为一个 126 个八位字节的帧。在 10 Mbps 时,126/10,000,000=0.0000126完全传输需要几秒钟。您的 5000 个八位字节数据包是一个 5026 个八位字节的帧,需要5026/10,000,000=0.0005026几秒钟才能完全传输。
显然,传输 5000 个八位字节的数据包比在以太网上传输 100 个八位字节的数据包所需的时间长近 40 倍。位以相同的速率传输,但您有 50 倍于较大数据包中的位数。
所有这些都假设一切都在同一个 LAN 上。
请注意,较小数据包的开销百分比要大得多,因此如果您传输大量数据,由于帧上的开销量,较小的数据包将比较大的数据包花费更长的时间。这没有考虑包头本身的开销,也没有考虑传输层数据报的开销。
单独地,较大的数据包需要更多的时间来传输,但总的来说,较大的数据包可以更快地发送数据,因为较大的数据包的开销百分比较小。