表项快速收敛方法及依该表项实现报文快速转发方法

文档序号:7961647阅读:231来源:国知局
专利名称:表项快速收敛方法及依该表项实现报文快速转发方法
技术领域
本发明涉及数据通信领域,尤其涉及数据通信领域的一种表项快速收敛的方法以及使用该快速收敛的表项实现数据报文快速转发的方法。
背景技术
网络传输中,有的时候为了增强网络设备的转发效率,转发设备是不允许对报文进行分片的,报文的大小只能由报文的源端设备决定,也就是只有报文的发送源端对报文有分片的能力。中间设备转发报文时,如果该待转发的报文的长度超过该中间设备发送接口的MTU(Maximux transmission unit,最大传输单元)值,该待发送报文将会被丢弃。同时,转发设备会给源端设备回复ICMP(Internet Control Message Protocol,因特网控制消息协议)包超大报文,在ICMP包中包含有该转发设备发送接口的MTU值。源端设备接收到来自转发设备的ICMP包超大报文时,就会改变发送报文的大小,重新发送。这样在源端设备和目的端设备进行通信前,就需要逐跳探测网络传输允许的MTU值,即学习PMTU(Path Maximux transmission unit,路径最大传输单元)值。
如图1所示,源端设备1发送接口的MTU值为3000,转发设备2发送接口的MTU值为2000,转发设备3发送接口的MTU值为1500。假设源端设备1发送的第一片报文的长度为3000,当转发设备2转发该报文时,发现该报文的长度超过了其自身的MTU值,则丢弃该报文并回复ICMP超大报文给源端设备1,携带其自身的MTU值2000。源端设备1接收到该超大报文后,就会重新对需传送的报文进行分片并且修改自身的PMTU表项,根据转发设备2反馈的其发送接口MTU值2000,源端设备1将报文分片成每片长度为2000,并将目的IP地址对应的PMTU值改为2000。源端设备1重新开始发送报文,这次转发设备2成功的将报文发送到了转发设备3,由于转发设备3发送接口的MTU值为1500,所以该长度为2000的报文又被丢弃了,同时给源端设备1回复ICMP包超长报文,携带自身的MTU值1500。源端设备1重新分片,将每片的长度分为1500,接着重新发送。同时修改自身的PMTU值,将该目的IP地址对应的PMTU值改为1500。这次转发设备2和转发设备3都成功的将报文转发出去了,目的端设备4接收到了报文。源端设备上保存了到该目的IP地址的PMTU值,即随着第一片报文的发送完成,源端设备也完成了该路径上PMTU的学习。
从图1的网络的转发流程来看,源端设备经过两次修改才可以和目的地址设备成功通信。由于图1中的转发设备只有两个,若有更多个,并且如果越靠近目的地址设备的转发设备的MTU值越小,则报文转发的时间将更长,同时源端设备要经过更多次PMTU表项的修改才能完成从源端到目的端PMTU的学习。我们可以看出,整个报文的发送过程,长度不断的被修改,增加了发送时间。另外PMTU表项整个学习的速度缓慢,即收敛速度缓慢,给系统带来了额外的开销。另外,如果源端为分布式设备,不断的修改PMTU表项将使板间通信不断,给系统带来额外的开销。

发明内容
有鉴于此,本发明的主要目的在于提供一种使得PMTU表项快速收敛的方法。
本发明的另一目的在于提供一种基于PMTU表项的数据转发的方法。
为达到上述目的,本发明的技术方案是这样实现的源端设备根据自身发送接口的MTU值建立到目的端设备的PMTU表项并根据该MTU值确定数据报文的长度发送数据报文,转发设备接收数据报文,若数据报文的长度大于转发设备发送接口的MTU值,则查找该转发设备保存的对应目的端设备的PMTU表项并向源端设备发送查找结果,源端设备根据该查找结果修改对应的PMTU表项。
该查找结果包括查找到对应的PMTU表项返回的该PMTU表项中对应的值或者没有查找到对应的PMTU表项返回的该转发设备发送接口的MTU值。
源端设备发送一数据报文,转发设备接收该数据报文并根据其发送接口的MTU值决定是否继续发送数据报文,如果待发送数据报文的长度小于或等于该发送接口的MTU值则继续发送该数据报文,否则查看该转发设备是否保存有到目的设备的PMTU表项,如果有则将该PMTU表项信息发送到源端设备,源端设备根据该PMTU表项信息改变数据报文的大小重新进行数据报文的发送。如果没有该PMTU表项信息,则将该转发设备发送接口的MTU值发送到源端设备,源端设备根据该MTU值改变数据报文的大小重新进行数据报文的发送。
优选的,在未获转发设备发送来的PMTU信息或MTU信息时,源端设备发送数据报文的长度是基于其自身发送接口MTU值的大小。
优选的,源端设备在发送数据报文的同时建立到达目的设备的PMTU表项。
源端设备在未获转发设备发送来的PMTU信息或MTU值时,其建立的到达目的设备的PMTU表项中MTU值为其发送接口的MTU值。
源端设备在接收到转发设备发送来的PMTU信息或者MTU值时,修改到达对应目的设备的PMTU表项。


图1为数据报文转发组网图;图2为本发明数据报文转发流程图。
具体实施例方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
图2为本发明数据报文转发流程图。
第一步源端设备发送数据报文。源端设备在发送数据报文时,将根据自己发送接口的MTU值来决定数据报文的大小,将数据报文进行分片后进行发送,并且建立基于源端设备发送接口MTU值的PMTU表项。
第二步转发设备接收数据报文,并判断该数据报文的长度是否小于或等于其发送接口的MTU值。如果小于或等于该MTU值,则将该数据报文发送到下一设备;如果大于该MTU值,则丢弃该报文并查看该转发设备是否保存有到目的设备的PMTU表项。如果有则将相关的PMTU信息传输到源端设备。否则将该转发设备发送接口的MTU信息传输到源端设备。
PMTU表包含三项参数目的设备的IP地址,到达该目的设备的MTU值,以及生存时间。如果源端设备发送的数据报文对应的目的设备的IP地址在该转发设备的PMTU表中,则直接将该MTU值反馈给源端设备。如果该转发设备保存的PMTU表中没有目的设备IP地址,则将该转发设备发送接口的MTU值发送给源端设备。如果该转发设备没有保存有PMTU表,则直接反馈该转发设备的MTU值。
第三步源端设备根据反馈的PMTU信息或者MTU值后改变报文的大小重新进行数据报文的发送,并修改自己的PMTU表内容。
源端设备接收到转发设备发送来的PMTU信息或MTU值后,对所需发送的数据进行重新分片处理,修改每片的大小然后再进行发送,同时还要对最初建立的PMTU表项进行修改,将到达目的设备的MTU值改为由转发设备反馈的PMTU信息或MTU值。
以上所述仅为本发明的过程及方法实施例,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的?;し段е?。
权利要求
1.一种表项快速收敛的方法,其特征在于源端设备根据自身发送接口的MTU值建立到目的端设备的PMTU表项并根据该MTU值确定数据报文的长度发送数据报文,转发设备接收数据报文,若数据报文的长度大于转发设备发送接口的MTU值,则查找该转发设备保存的对应目的端设备的PMTU表项并向源端设备发送查找结果,源端设备根据该查找结果修改对应的PMTU表项。
2.如权利要求1所述的表项快速收敛的方法,其特征在于所述查找结果包括查找到对应的PMTU表项返回的该PMTU表项中对应的值或者没有查找到对应的PMTU表项返回的该转发设备发送接口的MTU值。
3.一种如权利要求1的表项实现数据报文快速转发的方法,其特征在于源端设备发送一数据报文,转发设备接收该数据报文并根据其发送接口的MTU值决定是否继续发送数据报文,如果待发送数据报文的长度小于或等于该发送接口的MTU值则继续发送该数据报文,否则查看该转发设备是否保存有到目的设备的PMTU表项,如果有则将该PMTU表项信息发送到源端设备,源端设备根据该PMTU表项信息改变数据报文的大小重新进行数据报文的发送。
4.如权利要求3所述的数据报文快速转发的方法,其特征在于如果没有该PMTU表项信息,则将该转发设备发送接口的MTU值发送到源端设备,源端设备根据该MTU值改变数据报文的大小重新进行数据报文的发送。
5.如权利要求3所述的数据报文传输方法,其特征在于在未获转发设备发送来的PMTU信息或MTU信息时,源端设备发送数据报文的长度是基于其自身发送接口MTU值的大小。
6.如权利要求3所述的数据报文传输方法,其特征在于源端设备在发送数据报文的同时建立到达目的设备的PMTU表项。
7.如权利要求6所述的数据报文传输方法,其特征在于源端设备在未获转发设备发送来的PMTU信息或MTU值时,其建立的到达目的设备的PMTU表项中MTU值为其发送接口的MTU值。
8.如权利要求7所述的数据报文传输方法,其特征在于源端设备在接收到转发设备发送来的PMTU信息或者MTU值时,修改到达对应目的设备的PMTU表项。
全文摘要
本发明公开了一种表项快速收敛的方法,源端设备根据自身发送接口的MTU值建立到目的端设备的PMTU表项并根据该MTU值确定数据报文的长度发送数据报文,转发设备接收数据报文,若数据报文的长度大于转发设备发送接口的MTU值,则查找该转发设备保存的对应目的端设备的PMTU表项并向源端设备发送查找结果,源端设备根据该查找结果修改对应的PMTU表项,并依据该表项值重新分割数据报文的长度进行转发。通过在传输数据报文的过程中反馈传输设备保存的相关PMTU表项达到了快速建立PMTU表项并快速转发数据报文的特点。
文档编号H04L12/54GK1852221SQ20061008320
公开日2006年10月25日 申请日期2006年5月30日 优先权日2006年5月30日
发明者崔晓会 申请人:杭州华为三康技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1
imtoken助记词怎么填-imtoken钱包没有收益-imtoken矿工费太贵了-im钱包官网:token.im