Fragment 合理的最大IPv6头大小

Fragment 合理的最大IPv6头大小,fragment,ipv6,mtu,Fragment,Ipv6,Mtu,IPv6要求最小MTU为1280。其中,IPv6标头至少需要40个字节。IPv6扩展头可以使用的字节数没有定义的限制。正常UDP使用的合理最大值是多少?我看到有人建议,片段头至少有8个字节,还有什么可能出现?IPv6头大小固定为40个字节,以提高处理效率,而不是最小40个字节,也不是像IPv4那样的可变大小。IPv6数据包中可以有任意数量的可选扩展头,但这些扩展头由发送方控制,因此在需要对UDP段进行分段之前,计算UDP段的大小应该很容易 碎片标头固定为8字节。路径上的路由器不能像IPv4那样分

IPv6要求最小MTU为1280。其中,IPv6标头至少需要40个字节。IPv6扩展头可以使用的字节数没有定义的限制。正常UDP使用的合理最大值是多少?我看到有人建议,片段头至少有8个字节,还有什么可能出现?

IPv6头大小固定为40个字节,以提高处理效率,而不是最小40个字节,也不是像IPv4那样的可变大小。IPv6数据包中可以有任意数量的可选扩展头,但这些扩展头由发送方控制,因此在需要对UDP段进行分段之前,计算UDP段的大小应该很容易

碎片标头固定为8字节。路径上的路由器不能像IPv4那样分割IPv6数据包;发送方必须在将上层数据报封装到IPv6数据包之前对其进行预分段,因为路径中大于最小MTU的数据包将被丢弃。这就是使用分段标头的时候,因此,如果UDP段足够小,则永远不会使用分段标头,否则将使用8字节作为分段标头


您应该查看不同类型的扩展标题,看看是否可以使用其中的任何一种。Wikipedia上有一个漏洞。

我没有这样的印象,即发送方可以从TCP out UDP流控制头,并且它们将由实现自行决定应用。我不确定我是否理解您的评论。“TCP输出UDP流”是什么意思?TCP和UDP是独立的第4层协议。由发送方对包含TCP、UDP或任何其他类型数据报的IPv6数据包进行分段。路径中的路由器将丢弃对下一个MTU来说太大的任何数据包,并应发送回ICMPv6错误,从而使发送方可以选择对第4层数据报进行分段。或者,发送方可以提前使用MTU路径发现来确定第4层数据报是分段的。TCP还是UDP。我的意思是,当发送方控制正在使用的扩展时,应用程序级别的用户不会手动在其UDP/TCP数据包上设置IPv6头。那么,当通过IPv6发送时,UDP/TCP实现可能代表用户设置哪些扩展头?您是否查看了可选扩展头列表?当然,如果您使用IPSEC,将使用封装的安全负载头。这取决于发送方,也取决于编程人员的决定。IP数据包的有效负载大小减小(在需要分段之前导致第4层段的大小减小)很可能是由路径上某个位置的受限MTU引起的,而不是由几个扩展头引起的。好消息是,由于UDP(fire and forget,best effort,unreliable protocol)的性质,正确使用UDP将数据段限制为几十(最多几百)字节,并且数据段永远不应该被分割。事先检查路径MTU对于TCP来说是一个很好的实践,因为它通常用于较大的有效负载。