IPv6可以分片吗?

    IPv6并没有完全放弃分片机制,只是说它用一种完全不同的机制来实现分片。

    熟悉IPv4的肯定知道IP分片这个特性,它在某种意义上让应用程序忘记了数据包还有大小这个属性,也就是说,应用程序可以发送小于IP头规定的最长65535字节的任意大小的数据包。

    IPv4严格采纳分层模型,让路径MTU这种事做到对应用程序完全透明而无感知。如果路径MTU太小不足以让大数据报文通过,那么分片这种机制便开始起作用。

    而IPv6网络的分片和实现,网络只管转发,分片这种端到端功能自然需要卸载到通信双方终端主机!IPv6禁止中间节点设备对IP报文进行分片。分片只能在端到端进行!

    IPv6禁止了中间设备分片,卸载了一些信息处理流程。最终目的是让IPv6报头成为固定的长度,且内部字段对齐,便于高效预取或者直接通过固定硬件处理,从而达到提高处理性能的目的。

    既然在路由器等转发设备上去掉分片机制这么好,那么为什么在端主机还允许分片,直接全部禁止了不更好吗?

    我们知道,应用层对于数据报文的解释,它代表了一个数据报呢,还是说代表一个流。如果是代表一个流,那么一切OK,只要持续发送数据流字节即可,网络情况好了就一次多发几个字节,网络情况不好了就少发几个甚至发1个字节,都无所谓。但是对于用户数据报,比如UDP报文这种,就不行了。

    UDP报文是严格按照报文长度发送和接收的,应用程序之间定义了一个2000字节的应用层协议,那么一个报文就必须是2000字节长,不能说你IPv6为了转发效率而不让人家发长报文吧。

    因此,IPv6不能完全放弃分片机制,只是说它用一种完全不同的机制来实现分片:

1.分片和重组只能在端主机进行。

2.分片信息不在IPv6协议标准头里,而单独设计一个扩展头存放。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZrZrZr.l

您的打赏是我的鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值