IPv4 最大数据报大小

网络工程 ip ipv4 协议理论
2021-07-28 23:55:19

IPv4 数据报由两部分组成:报头长度和有效载荷。最大报头大小为 60 字节,最小为 20 字节。数据的最大大小可以是 65515 字节。那么为什么数据报的最大大小是 65535 字节呢?不应该是 60 字节(最大标题大小)+ 65515(最大数据大小)吗?

1个回答

IPv4 数据包的最大大小为 65,535,因为总长度字段是一个 16 位无符号整数,可能有 65,536 个值(从 0 到 65,535)。

仅当标头为 20 时,最大负载为 65,515。如果标头为 60,则必须从中减去 40,因为总数据包大小不能超过 65,535。


IPv6 的做法有所不同,它使用 16 位有效载荷长度字段,这意味着有效载荷而非数据包的最大大小为 65,535。甚至还有一个通过扩展标头的 Jumbogram 选项,允许有效载荷长度为 32 位无符号整数,为您提供高达 4,294,967,295 的有效载荷。


在现实世界中,您不会接近 IPv4 或 IPv6 的最大数据包大小,因为 MTU 不会接近该数字。您可能能够创建一个非常大的 IP 数据包并将其分段为多个较小的数据包,但即使其中一个分段丢失也会导致重组失败并丢失整个数据包。