数据传输效率问题
长度100字节的应用层数据交给运输层传输,需加上20字节的TCP首部,再交给网络层传送,需加上20字节的IP首部,最后交给数据链路层的以太网传送,需加上首部和尾部共18字节。求数据的传输效率。
若应用层数据为1000字节呢?
数
据
的
传
输
效
率
=
发
送
的
应
用
层
的
数
据
发
送
的
总
数
据
数据的传输效率 = \frac{发送的应用层的数据}{发送的总数据}
数据的传输效率=发送的总数据发送的应用层的数据
发 送 的 总 数 据 即 应 用 数 据 加 上 各 种 首 部 和 尾 部 的 额 外 开 销 。 发送的总数据即应用数据加上各种首部和尾部的额外开销。 发送的总数据即应用数据加上各种首部和尾部的额外开销。
数据传输效率分别为63.29%和94.52%。
传输单元越大,数据传输效率越高,但不是越高越好。大包的丢包率高,占用链路时间长影响其他主机的通信。
最终标准以太网帧选择一个折中的长度:1518字节。对应IP的packet就是1500字节。这就是最大传输单元MTU的由来。
如果IP层有数据包要传输,且包长超过MTU,那么IP层就要对数据包进行分片(fragmentation)操作,使每一片的长度都小于或等于MTU。
除了MTU,还有一个对应的值,MRU最大接收单元。
一般情况下MTU=MRU。
参考文章: