一种探测路径最大传输单元的方法

文档序号:7621663阅读:197来源:国知局
专利名称:一种探测路径最大传输单元的方法
技术领域
本发明涉及网络通讯技术领域,具体涉及一种探测路径最大传输单元的方法。
背景技术
随着Internet的迅猛发展,IPv4(Internet Protocol Version 4,网络协议版本4)的地址匮乏问题日益严重,于是IPv6(Internet Protocol Version 6,网络协议版本6)越来越引起人们的关注,从而成为了新的热点。
IPv6是网络层协议的第二代标准协议,也被称为IPng(IP Next Generation,IP下一代),它是IETF(Internet工程任务组)设计的一套规范,是IPv4的升级版本。IPv6中IP地址的长度从32位升为128位,有效解决了IPv4地址匮乏的问题。
IPv6除了提供巨大的地址空间外,还在很多方面进行了改进,其中一项改进为为提高路由器的数据转发效率,IPv6不支持中间节点对数据报文的分段处理,大数据报文的分段只能在源节点进行,即源节点通过RFC1981中的PMTU(Path Maximum Transmission Unit,路径最大传输单元)发现机制获得源节点到目标节点的PMTU值,源节点利用此PMTU值来确定其发送的数据报文长度,从而,避免了中间节点因为数据报文长度超过其MTU值而丢弃数据报文的现象,提高了数据转发效率。
目前,PMTU发现机制的实现原理为源节点将自己出口链路的MTU值作为PMTU值,并根据PMTU值向目的节点发送数据报文,如果中间路由器在转发此数据报文时,发现该数据报文的长度大于其出接口链路的MTU值时,该中间路由器给源节点返回一个ICMP Packet Too Big(Internet Control MessageProtocol,Internet控制消息协议的数据包太长)的错误消息,该错误消息中带有该中间路由器出口链路的MTU值。源节点接收到该错误消息后,修改PMTU值为错误消息中的MTU值,并将数据报文长度减小为修改后的PMTU值,重新发送数据报文,直到目的节点接收到数据报文。
通过上述过程,源节点确定了其与该目的节点之间能够传输的最大数据报文的PMTU值,当源节点再需要向此目的节点发送数据报文时,就使用此PMTU值,以便有效地利用网络资源,得到最佳的吞吐量。
下面结合附图1对PMTU发现机制的实现方法进行说明。
图1中,设定源节点和目的节点均为PC终端,源PC和目的PC之间设置有3个路由器,即路由器1、路由器2、路由器3,且源PC的MTU值为1500字节,路由器1出接口链路的MTU值为1500字节,路由器2出接口链路的MTU值为1350字节,路由器3出接口链路的MTU值为1400字节。
源PC将自己的MTU值1500字节作为PMTU值,向目的PC发送长度为1500字节的数据报文,该数据报文在到达路由器2进行转发时,由于路由器2发现该数据报文的长度1500字节大于其出接口链路的MTU值1350字节,于是,路由器2向源PC发回一个ICMP Packet Too big错误消息,该错误消息中承载有路由器2的MTU值1350字节。
源PC收到此ICMP Packet Too big错误消息后,修改PMTU值为错误消息中的MTU值1350字节,将数据报文长度缩小为1350字节,并再次向目的PC重新发送数据报文,由于此时的数据报文长度为1350字节,不大于中间各路由器的MTU值,因此,该数据报文可以正确到达目的PC。
此后,源PC再需要向目的PC发送数据报文时,都以1350字节作为PMTU值。
当源PC与目的PC之间路由器的MTU值为递减的情况时,则源PC需要反复多次发送数据报文才能够得到正确的PMTU值,具体过程如附图2所示。
图2中,设定源节点和目的节点均为PC终端,源PC和目的PC之间设置有3个路由器,即路由器1、路由器2、路由器3,且源PC的MTU值为1500字节,路由器1出接口链路的MTU值为1500字节,路由器2出接口链路的MTU值为1400字节,路由器3出接口链路的MTU值为1350字节。
源PC将自己的MTU值1500字节作为PMTU值,向目的PC发送长度为1500字节的数据报文,该数据报文在到达路由器2进行转发时,由于路由器2发现该数据报文的长度1500字节大于其出接口链路的MTU值1400字节,于是,路由器2向源PC发回一个ICMP Packet Too big错误消息,该错误消息中承载有路由器2的MTU值1400字节。
源PC收到此ICMP Packet Too big错误消息后,修改PMTU值为错误消息中的MTU值1400字节,将数据报文长度缩小为1400字节,并再次向目的PC重新发送数据报文,该数据报文在到达路由器3进行转发时,由于路由器3发现该数据报文的长度1400字节大于其出接口链路的MTU值1350字节,于是,路由器3向源PC发回一个ICMP Packet Too big错误消息,该错误消息中承载有路由器3的MTU值1350字节。
源PC收到此ICMP Packet Too big错误消息后,再次修改PMTU值为错误消息中的MTU值1350字节,将数据报文长度缩小为1350字节,并第三次向目的PC重新发送数据报文,由于此时该数据报文长度为1350字节,不大于中间各路由器的MTU值,因此,该数据报文可以正确到达目的PC。
此后,源PC再需要向目的PC发报文时,都以1350字节作为PMTU值。
从上面的描述可以看出,目前,PMTU发现机制的实现方法主要存在如下三个问题问题一、当数据报文的长度大于路由器出接口链路的MTU值时,路由器会将实际的数据报文丢弃,从而影响实时语音、视频等多媒体流的质量。这些多媒体流由于涉及实时解码,所以,对报文的到达时间有严格的限制,丢包和重传都可能对最终的媒体流的效果有一定的影响。
问题二、安全性问题。当网络设备需要自身生成报文并发送时,是非常消耗网络设备处理器资源的。恶意用户通过发送大量的比网络设备的MTU大的报文,而且,在发现网络设备回答报文大、要求减小报文大小重新发送的消息时,恶意用户可以采取不减小报文、重复发送大报文,并结合其他欺骗手段一起攻击该网络设备,使得网络设备不得不处理大量的这种ICMP应答报文,从而,大量消耗网络设备资源,影响网络设备正常的转发工作。
问题三、当源PC与目的PC之间的各路由器或部分路由器的MTU值存在递减的情况时,目前的PMTU发现机制需要源节点多次反复发送数据报文才能得到正确的PMTU值,使PMTU发现机制的探测效率低。

发明内容
本发明的目的在于,提供一种探测路径最大传输单元的方法,使源节点能够在发送一次数据报文后,准确获知其与目的节点之间链路的路径最大传输单元,以实现提高探测路径最大传输单元效率,提高网络安全性,提高实时多媒体效果,完善IPv6探测PMTU机制的目的。
为达到上述目的,本发明提供的一种探测路径最大传输单元的方法,包括a、强制源节点到目的节点链路中的各中间节点均需要对源节点向目的节点发送的探测路径最大传输单元的数据报文进行处理;b、所述各中间节点接收到所述数据报文后,均将其对应传输路径的最大传输单元信息反映在所述数据报文中;c、所述目的节点接收到所述数据报文后,将该数据报文承载的最大传输单元信息发送至所述源节点;d、所述源节点根据其接收的最大传输单元信息确定其与目的节点链路的路径最大传输单元。
所述步骤a中探测路径最大传输单元的数据报文为设置有IPv6逐跳选项头的数据报文。
所述IPv6逐跳选项头中选项数据为最大传输单元初始值,且所述IPv6逐跳选项头的选项类型的高位的前两比特位为00,高位的第3比特位为1。
所述最大传输单元初始值为源节点向目的节点发出此报文的出接口链路上的最大传输单元。
所述步骤a具体包括源节点在确定需要向目的节点发送数据报文、且确定需要探测源节点与该目的节点之间的路径最大传输单元时,判断所述需要发送的数据报文的长度与需要增加的IPv6逐跳选项头的长度之和与预定字节的大小;如果所述之和超过预定字节,根据预定字节对该数据报文进行分片处理,并在第一个分片数据报文中设置IPv6逐跳选项头,并发送;如果所述之和不超过预定字节,则直接在该数据报文中设置IPv6逐跳选项头,并发送。
所述预定字节为1280字节。
所述步骤a中源节点确定需要探测源节点与该目的节点之间的路径最大传输单元的步骤具体包括源节点第一次向所述目的节点发送数据报文时,确定需要探测源节点与该目的节点之间的路径最大传输单元;或源节点未接收到所述目的节点发送的该源节点与目的节点之间的最大传输单元信息、且源节点需要向所述目的节点发送数据报文时,确定需要探测源节点与该目的节点之间的路径最大传输单元;或设置预定时间间隔;在预定时间间隔超时后,源节点需要向所述目的节点发送数据报文时,确定需要探测源节点与该目的节点之间的路径最大传输单元。
所述步骤b具体包括源节点到目的节点链路中的各中间节点确定其接收的探测路径最大传输单元的数据报文对应的出接口链路及该出接口链路的最大传输单元;所述各中间节点判断其出接口链路的最大传输单元和数据报文中承载的最大传输单元的大小;如果出接口链路的最大传输单元不小于数据报文中承载的最大传输单元,中间节点不修改数据报文的IPv6逐跳选项头中承载的最大传输单元,并继续发送该数据报文;如果出接口链路的最大传输单元小于数据报文中承载的最大传输单元,中间节点将数据报文的IPv6逐跳选项头中承载的最大传输单元修改为其出接口链路的最大传输单元,并继续发送该数据报文。
所述步骤c具体包括目的节点将其接收的探测路径最大传输单元的数据报文中的源地址和目的地址对换,将IPv6逐跳选项头的选项类型的高位的前3比特位修改为000,并删除该数据报文中的净荷数据后,发送。
所述方法还包括源节点根据其确定的路径最大传输单元与所述目的节点进行数据报文传输。
通过上述技术方案的描述可知,本发明通过使源节点和目的节点之间链路的各中间节点均将其各自的MTU反映在探测PMTU的数据报文中,使源节点能够在发送一次数据报文后,准确获知其与目的节点之间链路的路径最大传输单元,避免了从源节点到目的节点的各中间节点的MTU值呈递减状态时,源节点需要多次发送数据报文,才能够准确获知其与目的节点之间链路的PMTU的现象,使本发明在快速准确的确定PMTU的同时,保证了网络的最佳吞吐量;本发明通过充分利用IPv6中的逐跳选项头,各中间节点将其MTU与选项数据中的MTU进行比较,使本发明的方法易于实现;通过借用源节点实际需要发送的正常数据报文来构造的PMTU探测报文,使本发明能够在正常的数据报文传输过程中实现PMTU探测,降低了PMTU探测过程对正常数据报文传输的影响;本发明中的网络中各中间节点不需要生成并发送ICMP应答报文,有效避免了恶意用户的网络攻击;本发明避免了网络中各节点丢弃报文并重传报文的现象,使实时多媒体报文的到达时间能够得到有效保证;从而通过本发明提供的技术方案实现了提高探测PMTU效率,提高网络安全性,提高实时多媒体效果,完善IPv6的探测PMTU机制的目的。


图1是现有技术的探测PMTU的方法示意图一;图2是现有技术的探测PMTU的方法示意图二;图3是本发明的探测PMTU数据报文的报文格式示意图;图4是本发明的探测PMTU数据报文的回应报文的报文格式示意图;图5是本发明的探测PMTU的方法示意图。
具体实施例方式
如果源节点仅通过发送一次数据报文,就能够获得其与目的节点之间的各中间节点中的最大传输单元的最小值,则能够在尽可能少发送数据报文的情况下,快速准确的确定其与目的节点链路中路径最大传输单元,从而,能够有效提高PMTU发现机制的探测效率。
因此,本发明的核心是强制源节点到目的节点链路中的各中间节点均需要对源节点向目的节点发送的探测路径最大传输单元的数据报文进行处理,所述各中间节点接收到所述数据报文后,均将其最大传输单元信息反映在所述数据报文中,所述目的节点接收到所述数据报文后,将该数据报文承载的最大传输单元信息发送至所述源节点,所述源节点根据其接收的最大传输单元信息确定其与目的节点链路的路径最大传输单元。
下面基于本发明的核心思想对本发明提供的技术方案做进一步的描述。
源节点在向目的节点发送正常的数据报文时,如果确定对于此目的节点还没有进行过PMTU探测,则需要向此目的节点发送一个探测PMTU的数据报文。探测PMTU的数据报文可充分利用源节点实际需要发送的上述正常数据报文来构造。
探测PMTU的数据报文的结构如附图3所示。
图3中加黑部分为本发明提出的、在源节点需要发送的正常数据报文前面附加的IPv6逐跳选项头(Hop-by-Hop Options Header)。IPv6选项头的选项类型(option-type)的高位的前两比特为00,表示当网络设备不识别此选项时跳过此选项的处理,继续处理后续的报文头,这样,有效保证了此数据报文能够被正常转发;高位的第3比特位为1,表示从源节点到目的节点的中间路径上的各中间节点可以更改选项数据。本发明对选项类型中的其它比特位没有限制,如本发明可以将IPv6选项头的选项类型设置为37,即二进制的00100101。
在源节点发送该正常的数据报文时,数据报文中的选项数据为MTU初始值,MTU初始值可以设置为源节点与目的节点间链路的第一跳的MTU值,即源节点向目的节点发出此数据报文的出接口链路上的最大传输单元。此探测PMTU的数据报文中承载的净荷数据Data是源节点真正要发送的正常数据报文的内容。
设置了IPv6选项头的数据报文成为探测PMTU的数据报文。
本发明需要保证该探测PMTU的IPv6数据报文的大小不超过IPv6协议所规定的IPv6链路的最小MTU值即1280字节,整个IPv6报文长度不大于1280就不会在链路上被丢弃,即中间各路由器不会针对此探测PMTU的数据报文产生ICMPtoo big报文,从而,使该探测PMTU的数据报文能够正常到达目的节点。
如果源节点需要发送的数据报文的长度与IPv6选项头的长度之和超过1280字节,可由源节点以1280字节为MTU,进行数据报文分片的处理,分片后的第一片数据报文前要附加上述IPv6逐跳选项头。这个第一片数据报文成为探测PMTU的数据报文。数据报文分片后,每个分片报文的长度都不应超过1280字节。
源节点与目的节点间链路中的各中间节点接收到该探测PMTU的数据报文后,由于该数据报文带有IPv6逐跳选项头,所以,各中间节点需要对此数据报文进行处理。
中间节点对该探测PMTU的数据报文的具体处理方法为确定该数据报文的目的地址对应的出接口链路上的MTU值,并将该MTU值与数据报文选项数据中的MTU值进行比较,如果中间节点出接口链路上的MTU值小于该数据报文选项数据中的MTU值,则首先将数据报文选项数据中的MTU值替换为该中间节点出接口链路上的MTU值,然后,根据该数据报文目的地址对应的出接口链路将该数据报文发送出去;如果中间节点出接口链路上的MTU值不小于该数据报文选项数据中的MTU值,则不对该数据报文选项数据中的MTU值进行替换修改,直接根据该数据报文目的地址对应的出接口链路将该数据报文发送出去即可。
源节点与目的节点间链路中的各中间节点在接收到探测PMTU的数据报文时,均根据上述的描述进行处理,直到该探测PMTU的数据报文到达目的节点。
目的节点接收到探测PMTU的数据报文时,该数据报文逐跳选项头中的选项数据已经是该数据报文所经过的链路上的各中间节点的MTU的最小值了,即逐跳选项头中的选项数据是源节点到目的节点间链路的PMTU值。目的节点在处理此数据报文中的净荷数据Data的同时,需要生成探测PMTU数据报文的回应报文,并向源节点发送该回应报文。
回应报文的报文结构如附图4所示。图4中加黑的部分为本发明提出的、目的节点发送的回应报文的IPv6逐跳选项头。
目的节点构造该回应报文的方法为将目的节点接收的探测PMTU数据报文的源地址与目的地址相互调换,并将IPv6逐跳选项头中的选项类型中的高位的前3比特设置为000,表示目的节点到源节点的路径上的各中间节点不可以更改此选项数据。本发明对回应报文的选项类型的其它比特位的取值没有限制,如将回应报文的选项类型设置为5。目的节点在去掉探测PMTU数据报文中的净荷数据Data后,向源节点发送该回应报文。
源节点在接收到探测PMTU数据报文的回应报文后,从该回应报文的逐跳选项头的选项数据中获取MTU值,该MTU值即为源节点到目的节点链路中的PMTU值。
这样,源节点在根据该PMTU值向上述目的节点发送数据报文时,就不会出现因数据报文的长度超过某个中间节点的MTU而被丢弃的情况了。
当源节点未接收到该目的节点返回的探测PMTU数据报文的回应报文、且该源节点还有需要向该目的节点发送的数据报文时,源节点可以采用上述发送探测PMTU数据报文的方法继续发送数据报文,从而,源节点会陆续接收到多个目的节点返回的探测PMTU数据报文的回应报文,这样,源节点每次在向该目的节点发送数据报文时,可以将最新接收到的探测PMTU数据报文的回应报文的逐跳选项头的选项数据中的MTU值作为源节点到目的节点链路中的PMTU值,然后,根据该PMTU值向目的节点发送数据报文。
由于从源节点到目的节点间的路径可能会发生变化,使路径上的PMTU值可能会发生变化,因此,本发明可以对每个目的地址设置一个老化时间,并对老化时间进行计时,在老化时间超时后,如果源节点再需要向对应的目的地址发送数据报文时,需要再次使用上述实施例中描述的探测PMTU的方法重新获取源节点与目的节点间的PMTU值。对老化时间开始计时的时间可以为源节点接收到目的节点返回的回应报文的时间,也可以为源节点发送PMTU探测报文的时间等。
本发明中的中间节点包括路由设备,如路由器等。
下面结合附图5对本发明的提供的探测PMTU的方法进行说明。
在图5中,设定源节点和目的节点均为PC终端,源PC和目的PC之间设置有3个路由器,即路由器1、路由器2、路由器3,且源PC的MTU值为1500字节,路由器1出接口链路的MTU值为1500字节,路由器2出接口链路的MTU值为1400字节,路由器3出接口链路的MTU值为1350字节。
在源PC需要向目的PC发送数据报文时,如果源PC确定其与目的PC之间还没有探测PMTU、或者源PC虽然发出过探测PMTU的数据报文,但还没有接收到目的PC返回的探测PMTU的数据报文的回应报文、或者源PC虽然探测过并从回应报文中得到了PMTU值,但是,老化时间已超时,则源PC需要构造探测PMTU的数据报文,即在其需要发送的数据报文头部设置IPv6逐跳选项头。
当然,如果源PC需要发送的数据报文的长度与IPv6逐跳选项头的长度之和超过预定字节即1280字节时,还需要根据1280字节对其需要发送的数据报文进行分片处理,以保证在源PC与目的PC之间传输的每一个数据报文的长度都不超过1280字节。
探测PMTU的数据报文的IPv6逐跳选项头选项类型可设置为37,选项数据为源节点的MTU值1500字节。该数据报文的目的地址为目的PC的地址,源地址为源PC的地址。源PC发送该探测PMTU的数据报文。
该数据报文在到达路由器1时,由于该数据报文带有IPv6逐跳选项头,所以,路由器1必须对此数据报文进行处理,路由器1发现其出接口链路的MTU值1500字节不小于该数据报文选项数据的长度1500字节,于是,直接根据该数据报文目的地址对应的出接口链路将该数据报文发送出去。
该数据报文在到达路由器2时,由于该数据报文带有IPv6逐跳选项头,所以,路由器2必须对此数据报文进行处理,路由器2发现其出接口链路的MTU值1400字节小于该数据报文选项数据的长度1500字节,于是,先将数据报文选项数据中的MTU值1500替换为其出接口链路上的MTU值1400,然后,再根据该数据报文目的地址对应的出接口链路将该数据报文发送出去。
该数据报文在到达路由器3时,由于该数据报文带有IPv6逐跳选项头,所以,路由器3必须对此数据报文进行处理,路由器3发现其出接口链路的MTU值1350字节小于该数据报文选项数据的长度1400字节,于是,先将数据报文选项数据中的MTU值1400字节替换为其出接口链路上的MTU值1350字节,然后,再根据该数据报文目的地址对应的出接口链路将该数据报文发送出去。
该数据报文在到达目的PC时,目的PC在处理该数据报文中的净荷数据的同时,将该数据报文的源地址与目的地址互相调换,将选项类型设置为5,并去掉探测PMTU数据报文中的净荷数据,生成探测PMTU数据报文的回应报文,并发送该回应报文。
该回应报文经过路由器3、路由器2、路由器1传输至源PC,由于回应报文的选项类型设置为5,所以,路由器3、路由器2、路由器1均不对该回应报文的选项数据中承载的MTU值进行修改。
源PC从该回应报文的选项数据中获取MTU值1350字节,确定其与目的PC的PMTU为1350字节,此后,源PC再需要向目的PC发送数据报文时,都根据该PMTU值1350字节进行数据报文传输。
通过上述描述可知,本发明中的源节点能够在发送一次数据报文后,准确获知其与目的节点之间链路的路径最大传输单元,避免了从源节点到目的节点的各中间节点的MTU值呈递减状态时,源节点需要多次发送数据报文,才能够准确获知其与目的节点之间链路的PMTU的现象,使本发明在快速准确的确定PMTU的同时,保证了网络的最佳吞吐量。
本发明通过充分利用IPv6中的逐跳选项头,各中间节点将其MTU与选项数据中的MTU进行比较,使本发明的方法易于实现。
本发明网络中各中间节点不需要生成并发送ICMP应答报文,有效避免了恶意用户的网络攻击。
本发明避免了网络中各节点丢弃报文并重传报文的现象,使实时多媒体报文的到达时间能够得到有效保证。
本发明通过借用源节点实际需要发送的正常数据报文来构造PMTU探测报文,使本发明能够在正常的数据报文传输过程中实现PMTU探测,降低了PMTU探测过程对正常数据报文传输的影响。
从上述描述可知,本发明提高了探测PMTU效率,提高了网络安全性,提高了实时多媒体效果,完善了IPv6的探测PMTU机制。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,本发明的申请文件的权利要求包括这些变形和变化。
权利要求
1.一种探测路径最大传输单元的方法,其特征在于,包括a、强制源节点到目的节点链路中的各中间节点均需要对源节点向目的节点发送的探测路径最大传输单元的数据报文进行处理;b、所述各中间节点接收到所述数据报文后,均将其对应传输路径的最大传输单元信息反映在所述数据报文中;c、所述目的节点接收到所述数据报文后,将该数据报文承载的最大传输单元信息发送至所述源节点;d、所述源节点根据其接收的最大传输单元信息确定其与目的节点链路的路径最大传输单元。
2.如权利要求1所述的一种探测路径最大传输单元的方法,其特征在于,所述步骤a中探测路径最大传输单元的数据报文为设置有IPv6逐跳选项头的数据报文。
3.如权利要求2所述的一种探测路径最大传输单元的方法,其特征在于,所述IPv6逐跳选项头中选项数据为最大传输单元初始值,且所述IPv6逐跳选项头的选项类型的高位的前两比特位为00,高位的第3比特位为1。
4.如权利要求3所述的一种探测路径最大传输单元的方法,其特征在于,所述最大传输单元初始值为源节点向目的节点发出此报文的出接口链路上的最大传输单元。
5.如权利要求4所述的一种探测路径最大传输单元的方法,其特征在于,所述步骤a具体包括源节点在确定需要向目的节点发送数据报文、且确定需要探测源节点与该目的节点之间的路径最大传输单元时,判断所述需要发送的数据报文的长度与需要增加的IPv6逐跳选项头的长度之和与预定字节的大小;如果所述之和超过预定字节,根据预定字节对该数据报文进行分片处理,并在第一个分片数据报文中设置IPv6逐跳选项头,并发送;如果所述之和不超过预定字节,则直接在该数据报文中设置IPv6逐跳选项头,并发送。
6.如权利要求5所述的一种探测路径最大传输单元的方法,其特征在于,所述预定字节为1280字节。
7.如权利要求5所述的一种探测路径最大传输单元的方法,其特征在于,所述步骤a中源节点确定需要探测源节点与该目的节点之间的路径最大传输单元的步骤具体包括源节点第一次向所述目的节点发送数据报文时,确定需要探测源节点与该目的节点之间的路径最大传输单元;或源节点未接收到所述目的节点发送的该源节点与目的节点之间的最大传输单元信息、且源节点需要向所述目的节点发送数据报文时,确定需要探测源节点与该目的节点之间的路径最大传输单元;或设置预定时间间隔;在预定时间间隔超时后,源节点需要向所述目的节点发送数据报文时,确定需要探测源节点与该目的节点之间的路径最大传输单元。
8.如权利要求1至7中任一权利要求所述的一种探测路径最大传输单元的方法,其特征在于,所述步骤b具体包括源节点到目的节点链路中的各中间节点确定其接收的探测路径最大传输单元的数据报文对应的出接口链路及该出接口链路的最大传输单元;所述各中间节点判断其出接口链路的最大传输单元和数据报文中承载的最大传输单元的大小;如果出接口链路的最大传输单元不小于数据报文中承载的最大传输单元,中间节点不修改数据报文的IPv6逐跳选项头中承载的最大传输单元,并继续发送该数据报文;如果出接口链路的最大传输单元小于数据报文中承载的最大传输单元,中间节点将数据报文的IPv6逐跳选项头中承载的最大传输单元修改为其出接口链路的最大传输单元,并继续发送该数据报文。
9.如权利要求2至7中任一权利要求所述的一种探测路径最大传输单元的方法,其特征在于,所述步骤c具体包括目的节点将其接收的探测路径最大传输单元的数据报文中的源地址和目的地址对换,将IPv6逐跳选项头的选项类型的高位的前3比特位修改为000,并删除该数据报文中的净荷数据后,发送。
10.如权利要求1至7中任一权利要求所述的一种探测路径最大传输单元的方法,其特征在于,所述方法还包括源节点根据其确定的路径最大传输单元与所述目的节点进行数据报文传输。
全文摘要
本发明的探测路径最大传输单元的方法的核心为强制源节点到目的节点链路中的各中间节点均需要对源节点向目的节点发送的探测路径最大传输单元的数据报文进行处理,各中间节点接收到该数据报文后,均将其对应传输路径的最大传输单元信息反映在该数据报文中,目的节点接收到该数据报文后,将该数据报文承载的最大传输单元信息发送至源节点,源节点根据其接收的最大传输单元信息确定其与目的节点链路的路径最大传输单元。本发明能够快速准确的确定PMTU,而且保证了网络的最佳吞吐量,避免了恶意用户对网络设备的攻击,避免了丢包和重传现象;从而实现了提高探测PMTU效率,提高网络安全性,保证实时多媒体的效果,完善IPv6的探测PMTU机制的目的。
文档编号H04L12/56GK1909503SQ20051008908
公开日2007年2月7日 申请日期2005年8月5日 优先权日2005年8月5日
发明者肖斌, 陈洪飞, 梁铷 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1