Skip to main content

5. Packet Size Issues (数据包大小问题)

IPv6 要求互联网中的每条链路都具有 1280 个八位字节或更大的 MTU. 这被称为 IPv6 最小链路 MTU. 在任何无法以一个片段传送 1280 个八位字节数据包的链路上, 必须 (MUST) 在 IPv6 之下的层提供链路特定的分片和重新组装.

具有可配置 MTU 的链路 (例如 PPP 链路 [RFC1661]) 必须 (MUST) 配置为至少具有 1280 个八位字节的 MTU; 建议 (RECOMMENDED) 将它们配置为 1500 个八位字节或更大的 MTU, 以适应可能的封装 (即隧道传输) 而不会导致 IPv6 层分片.

从节点直接连接到的每条链路, 节点必须 (MUST) 能够接受与该链路的 MTU 一样大的数据包.

强烈建议 (STRONGLY RECOMMENDED) IPv6 节点实现路径 MTU 发现 [RFC8201], 以便发现并利用大于 1280 个八位字节的路径 MTU. 但是, 最小的 IPv6 实现 (例如在引导 ROM 中) 可以简单地限制自己发送不大于 1280 个八位字节的数据包, 并省略路径 MTU 发现的实现.

为了发送大于路径 MTU 的数据包, 节点可以使用 IPv6 分片头部在源处分片数据包并在目标处重新组装. 但是, 不鼓励 (DISCOURAGED) 在任何能够调整其数据包以适应测量的路径 MTU (即降至 1280 个八位字节) 的应用程序中使用此类分片.

节点必须 (MUST) 能够接受重新组装后大小为 1500 个八位字节的分片数据包. 允许 (PERMITTED) 节点接受重新组装为超过 1500 个八位字节的分片数据包. 依赖 IPv6 分片来发送大于路径 MTU 的数据包的上层协议或应用程序不应该 (SHOULD NOT) 发送大于 1500 个八位字节的数据包, 除非它确信目标能够重新组装该更大大小的数据包.