当前位置: 首页 > 网络技术 > 网络基础 > 正文

IPv6 PMTUD路径发现机制和工作原理

时间:2014-10-19

PMTUD是IPv6的一个工作机制。

其主要的目的就是,当网络源发送数据报文到目的的时候,避免分段,也可以称为分片。

源节点可以使用发现整个路径上面最大的MTU与目的节点通讯。

我们都知道,分段实际上是有害的,对主机的cpu利用率,对路由器的cpu利用率都是一个挑战。

如果再有一些高人利用这些微妙的东西做一个小软件进行一些改动做一个攻击软件,呵呵,那么很容易就导致网络瘫痪。

而且分片对设备的转发能力的性能也要求偏高。

这也是现在一些客户需要巨帧的需求所在。像我遇到的客户在测试的时候就一定需要我们某一个路由器必须支持至少9000bytes的巨帧,不能分片。后来了解到,客户这条链路是要用于高清HD组播视频流的。对于我们来说,每个高清数据流的网络流量大概是每秒4M多字节的带宽需求,客户对于这条组播链路要使用大概5-10个组播组,如果是10个也就是大概50M的整机转发流量的需求。这个时候再加上分片,cpu利用率就可想而知了。

URL:http://www.bianceng.cn/Network/basis/201410/45992.htm

所以对我们来说也是相当有必要的。(当然这段是说的IPv4,但是原理和ipv6一样,如果硬件支持,最好不要分片)

在RFC2460里面,也强烈建议IPv6节点实现IPv6 PMTUD以避免分段.

好了,下面来说一下原理。

IPv6 PMTUD使用ICMPv6的类型2,既数据包超长错误消息。

利用这个包来进行探测做大的MTU值给源网络设备。

可以看看这里,类型2:数据包报文过大,这个类型2就是专门为PMTUD来设计的。

或者可以说,PMTUD的实现原理就是通过ICMPv6的类型2报文来实现的。