调整路径最大传输单元的方法及装置的制作方法

文档序号:7664996阅读:223来源:国知局

专利名称::调整路径最大传输单元的方法及装置的制作方法
技术领域
:本发明涉及网际协议版本6(IPv6)技术,尤其涉及一种调整路径最大传输单元(PMTU,PathMaximalTransmitUnit)的方法及装置。
背景技术
:IPv6是网络层协议的第二代标准协议,是网际协议版本4(IPv4)的升级版本,它很好地解决了IPv4地址匮乏的问题。为提高数据转发效率,IPv6不支持中间节点对数据报文进行分片操作,较长报文的分片只能在源节点进行,即源节点通过PMTU发现机制获得源节点到目的节点的PMTU值,然后利用此PMTU值来确定其发送的数据报文长度。其中,源节点到目的节点的PMTU值是指源节点到目的节点转发路径上的最小最大传输单元(MTU,MaximalTransmitUnit)值。目前,PMTU发现机制的实现原理为源节点首先将自身出口链路的MTU值作为PMTU值,并根据该PMTU值向目的节点发送数据报文;如果沿途有中间节点发现该报文长度大于自身出口链路的MTU,该中间节点则丟弃收到的报文,并向源节点返回一个携带自身MTU值的包太长(PacketTooBig)消息;源节点收到后,修改PMTU值为PacketTooBig消息中的MTU值,并将数据报文长度减小为修改后的PMTU值,重新发送报文,直到目的节点接收到数据报文为止。通过上述发现过程,源节点可以确定其与目的节点之间能够传输的最大数据报文的PMTU值,当源节点再向此目的节点发送数据报文时,就使用该PMTU值,以有效利用网络资源,获得最佳吞吐量。下面结合图1对PMTU发现过程进行举例说明。图1中,主机l、路由器l、路由器2出口链3各的MTU分别为1500、1400、1500字节,当主机1要向主机2发送数据时,主机1首先以自身MTU值1500作为PMTU值,向主机2发送长度为1500的报文;该报文到达路由器l后,路由器l发现该报文长度1500大于自身MTU值1400,故丢弃该报文,并向主机1返回携带自身PMTU值1400的PacketTooBig消息;主机1收到PacketTooBig消息后,修改PMTU值为1400,并重新向主机2发送长度为1400的报文,由于修改后的报文长度1400没有超过路由器1和路由器2的MTU值,因此该报文可以正确到达目的主机2。此后,主机1向主机2发送数据报文时,均以1400字节作为PMTU值。在实际组网环境中,随着网络环境的变化,各个节点的MTU值随时都可能发生改变,但是,在现有的PMTU发现机制中,源节点不能及时感知到转发路径上各个中间节点MTU值的变化,无法及时调整自身的PMTU值。只有等到饱和时间到,源节点主动发起PMTU探测时,源节点才能感知到PMTU的变化。这种缺陷将带来以下不良后果一、当中间节点的MTU变小时,如果源节点仍以原来发现的PMTU值发送报文,那么将会因报文过长而产生大量的丢包现象;二、当中间节点的MTU变大时,如果源节点仍以原来发现的PMTU值发送报文,那么网络资源将得不到有效利用,从而造成网络吞吐量和链路性能的降低。
发明内容有鉴于此,本发明的主要目的在于提供一种调整PMTU的方法及装置,使得源节点能够及时根据中间节点的MTU值变化调整PMTU值。同时,本发明还提供了一种MTU改变通知方法及装置,使源节点可以及时获知中间节点的MTU值变化。为达到上述目的,本发明提供的技术方案如下一种MTU改变通知方法,包4舌在PMTU发现过程中,中间节点记录源节点标识;中间节点检测到自身MTU值发生改变后,向记录的源节点标识对应的源节点发送携带自身MTU值改变信息的通知报文。该方法进一步包括中间节点为记录的源节点标识设置老化时间,老化时间到达后,删除该记录的源节点标识。所述源节点标识为源节点IP地址。所述中间节点进一步将改变后的MTU值携带在所述通知报文中发送给所述源节点。所述通知报文采用网间控制报文协议ICMP4艮文格式。所述中间节点向源节点发送通知报文之后进一步包括源节点收到所述通知报文后,发起PMTU探测,根据探测结果更新PMTU值。一种调整路径最大传输单元PMTU的方法,包括源节点收到中间节点发来的携带中间节点最大传输单元MTU值改变信息的通知报文后,发起PMTU探测,根据探测结果更新PMTU值。该方法进一步包括设置时间阈值和报文阈值,源节点判断在设置的时间阈值内收到的通知报文数是否超过设置的报文阈值,如果超过,则丢弃判断出超过报文阈值时间之后所收到的通知报文,不发起PMTU探测。一种MTU改变通知装置,该装置与中间节点相连或者设置在中间节点中,该装置还包括信息记录单元和通知发送单元,其中,信息记录单元,用于记录所述中间节点所在通信链路的源节点标识;通知发送单元,用于在所述中间节点的MTU值发生改变时,从信息记录单元中获取源节点标识,并将该中间节点MTU值改变信息发送给所述源节点标识对应的源节点。所述信息记录单元进一步用于为记录的源节点标识设置老化时间,并在老化时间到达后删除该记录的源节点标识。一种调整PMTU的装置,包括PMTU探测单元和PMTU更新单元,其中,PMTU探测单元,用于在收到携带MTU值改变信息的通知报文后,发起PMTU探测,并将探测结果发送给PMTU更新单元;PMTU更新单元,用于根据收到的探测结果更新PMTU值。所述PMTU探测单元进一步用于设置时间阈值和报文阈值,并判断在设置的时间阈值内收到的通知报文数是否超过设置的报文阈值,如果超过,则丢弃判断出超过报文阔值时间之后所收到的通知报文,不发起PMTU探测。由此可见,在本发明所提供的技术方案中,当中间节点的MTU值发生变化时,发生变化的中间节点会主动将自身MTU值改变的信息通知源节点,源节点收到通知后,主动发起PMTU探测,并根据探测结果更新PMTU值,>W而适应了实际网络环境变化的需求,能够减少因中间节点MTU值变小而产生的丢包现象,在中间节点MTU值变大时也可以及时作出相应调整,提高网络资源的利用率,提升网络吞吐量及链路性能。,图1为现有技术中的PMTU发现示意图。图2为本发明实施例中调整PMTU的方法流程图。图3为本发明实施例中的MTU改变通知装置结构示意图。图4为本发明实施例中调整PMTU的装置结构示意图。具体实施方式为了解决现有技术中的问题,本发明的基本思想是MTU值发生改变的中间节点向源节点发送通知报文,通知源节点自身MTU值发生了改变;源节点收到中间节点发来的通知报文后,发起PMTU探测,并根据探测结果更新PMTU值。为使本发明的目的、技术方案及优点更加清楚明白,下面参照附图并举实施例,对本发明作进一步详细il明。参见图2所示,本发明提供的调整PMTU的方法主要包括以下步骤步骤201:在源节点发起的PMTU发现过程中,源节点与目的节点之间的中间节点记录源节点标识。比如,中间节点收到源节点发来的报文后,读取报文中携带的源IP地址,并将该源IP地址作为源节点标识记录下来。步骤202:当所述中间节点检测到自身的MTU值发生了改变时,该中间节点查看自身记录的源节点标识信息,并向记录的源节点标识所对应的源节点发送通知报文,通知源节点该中间节点的MTU发生了变化。这里,所述中间节点可以将变化后的MTU值携带在通知报文中发送给源节点。步骤203:源节点收到中间节点发来的通知报文后,主动发起PMTU探测,并根据探测结果更新自身记录的PMTU值。其中,所述通知报文可采用网间控制报文协议(ICMP,InternetControlMessagesProtocol)报文格式。比如,在ICMP中增加一个新的用来表示通知报文的报文类型,源节点接收到该类型的ICMP报文后,便可获知中间节点的MTU值发生了变化。为便于理解,下面仍以图l所示组网环境为例,对本发明提供的PMTU发现方法进行详细阐述。如图1所示,在PMTU发现过程中,路由器1收到主机1发来的长度为1500的数据报文后,向主机1返回携带自身PMTU值的PacketTooBig消息,并且,通过读取报文获取主机1的IP地址并记录下来。另外,为了防止记录的主机信息长期占用存储资源,路由器1可视具体情况为记录的主^/M言息设置一个对应的老化时间,当老化时间到达后,删除与该老化时间对应的主才几信息。比如,如果主机1的IP地址为2001::10:0:1:1,则路由器l可以在自身记录表1所示的PMTU发现表项。<table>tableseeoriginaldocumentpage8</column></row><table>表1当路由器1发现自身的MTU值发生了改变时,首先查看自身记录的PMTU发现表项,并向该表项中记录的主4几地址所对应的主机1发送通知才艮文,通知主机1路由器1的MTU发生了改变,并将改变后的路由器1的MTU值携带在通知报文中发送给主机1。主机1收到路由器1发来的通知报文后,主动发起PMTU探测,并根据探测结果及时更新PMTU值。其中,所述PMTU探测过程为现有技术,这里不再详述。另外,如果路由器1收到了来自多个不同源主机的报文,则路由器1可以建立如表2所示的PMTU发现表项,记录所述各个不同源主机的IP地址,并分别设置老化时间。主才几;也址老化时间2001::10:0:1:12s2001::10:0:1:21.5s2001::10:0:1:33s表2当路由器1的MTU值发生了改变时,路由器1首先查看自身记录的PMTU发现表项,然后向该表项中记录的各个主机地址所对应的源主才几发送通知报文,通知各个源主机自身MTU值发生了改变,收到通知报文的各个源主机主动发起PMTU探测,并根据探测结果及时更新自身记录的PMTU值。另外,为了防止源节点收到大量的通知报文,不停地修改PMTU,导致网络资源和源节点资源的浪费,这里可以预先设定一个时间阈值(如5分钟)和一个报文阈值(如10个)。源节点判断在设置的时间阈值内收到的通知报文数是否超过设置的报文阈值,如果超过,则根据判断出超过报文阈值时间之前收到的通知报文调整PMTU值,并丢弃判断出超过报文阈值时间到的4个通知报文调整PMTU值;如果源节点在5分钟内收到16个通知报文,则源节点只根据前10个通知报文进行PMTU修改,对于后6个通知报文,则直接做丢弃处理,不再进行PMTU修改。相应地,本发明还提供了一种MTU改变通知装置,该装置与中间节点相连或者设置在中间节点中,其结构参见图3所示,主要包括信息记录单元和通知发送单元,其中,信息记录单元,用于记录所述中间节点所在通信链路的源节点标识;通知发送单元,用于在所述中间节点的MTU值发生改变时,从信息记录单元中获取源节点标识,并将该中间节点MTU值改变信息发送给所述源节点标识对应的源节点。所述信息记录单元,还可进一步用于为记录的源节点标识设置老化时间,并在老化时间到达后删除该记录的源节点标识。另外,本发明还提供了一种调整PMTU的装置,其结构参见图4所示,包括PMTU4果测单元和PMTU更新单元,其中,PMTU探测单元,用于在收到携带MTU值改变信息的通知报文后,发起PMTU探测,并将探测结果发送给PMTU更新单元;PMTU更新单元,用于根据收到的探测结果更新PMTU值。所述PMTU探测单元,还可进一步用于设置时间阈值和报文阈值,并判断在设置的时间阈值内收到的通知报文数是否超过设置的报文阈值,如果超过,则丢弃判断出超过报文阈值时间之后所收到的通知报文,不发起PMTU探测。图4所示调整PMTU的装置可以设置在本文所述的源节点中。以上所述对本发明的目的、技术方案和有益效果进行了进一步的详细说明,所应理解的是,以上所述并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。权利要求1、一种MTU改变通知方法,其特征在于,该方法包括在PMTU发现过程中,中间节点记录源节点标识;中间节点检测到自身MTU值发生改变后,向记录的源节点标识对应的源节点发送携带自身MTU值改变信息的通知报文。2、根据权利要求1所述的方法,其特征在于,该方法进一步包括中间节点为记录的源节点标识设置老化时间,老化时间到达后,删除该记录的源节点标识。3、根据权利要求1或2所述的方法,其特征在于,所述源节点标识为源节点IPi也址。4、根据权利要求1所述的方法,其特征在于,所述中间节点进一步将改变后的MTU值携带在所述通知报文中发送给所述源节点。5、根据权利要求1或4所述的方法,其特征在于,所述通知报文采用网间控制报文协议ICMP报文格式。6、根据权利要求1所述的方法,其特征在于,所述中间节点向源节点发送通知报文之后进一步包括源节点收到所述通知报文后,发起PMTU探测,根据探测结果更新PMTU值。7、一种调整路径最大传输单元PMTU的方法,其特征在于,该方法包括源节点收到中间节点发来的携带中间节点最大传输单元MTU值改变信息的通知报文后,发起PMTU探测,根据探测结果更新PMTU值。8、根据权利要求7所述的方法,其特征在于,该方法进一步包括设置时间阈值和报文阈值,源节点判断在设置的时间阈值内收到的通知报文数是否超过设置的报文阈值,如果超过,则丢弃判断出超过报文阈值时间之后所收到的通知报文,不发起PMTU探测。9、一种MTU改变通知装置,其特征在于,该装置与中间节点相连或者设置在中间节点中,该装置还包括信息记录单元和通知发送单元,其中,信息记录单元,用于记录所述中间节点所在通信链路的源节点标识;通知发送单元,用于在所述中间节点的MTU值发生改变时,/人信息记录单元中获取源节点标识,并将该中间节点MTU值改变信息发送给所述源节点标识对应的源节点。10、根据权利要求9所述的装置,其特征在于,所述信息记录单元进一步用于为记录的源节点标识设置老化时间,并在老化时间到达后删除该记录的源节点标识。11、一种调整PMTU的装置,其特征在于,包括PMTU探测单元和PMTU更新单元,其中,PMTU探测单元,用于在收到携带MTU值改变信息的通知报文后,发起PMTU探测,并将探测结果发送给PMTU更新单元;PMTU更新单元,用于根据收到的探测结果更新PMTU值。12、根据权利要求11所述的装置,其特征在于,所述PMTU探测单元进一步用于设置时间阈值和报文阈值,并判断在设置的时间阈值内收到的通知报文数是否超过设置的报文阈值,如果超过,则丢弃判断出超过报文阈值时间之后所收到的通知报文,不发起PMTU探测。全文摘要本发明提供了一种调整路径最大传输单元(PMTU)的方法,该方法包括MTU值发生改变的中间节点向源节点发送通知报文;源节点收到所述通知报文后,发起PMTU探测,并根据探测结果更新PMTU值。另外,本发明还提供了一种MTU改变通知方法、一种MTU改变通知装置以及一种调整PMTU的装置。利用本发明所提供的技术方案,源节点能够根据中间节点的MTU值变化及时调整PMTU值,减少丢包现象的发生,提高网络资源的利用率,提升网络吞吐量及链路性能。文档编号H04L12/56GK101150520SQ20071017680公开日2008年3月26日申请日期2007年11月2日优先权日2007年11月2日发明者余剑声,迪周,沈志祥申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1