数据通信网络中发现路径最大传输单元的网络系统和方法

文档序号:7594365阅读:211来源:国知局
专利名称:数据通信网络中发现路径最大传输单元的网络系统和方法
技术领域
本发明涉及一种用于在数据通信网络中发现路径最大传输单元(MTU)的系统和方法,更特别地,本发明涉及一种用于发现路径MTU的系统和方法,其中,将路径MTU存储在诸如绑定更新(BU)消息的信号消息或通用数据报文的头部中,并且为每一报文传输路径都更新路径MTU。
背景技术
为了将报文发送到目的地节点,源节点利用比源节点的最大传输单元(以后称为‘MTU’)小的尺寸来执行报文的分段,使其成为分段的报文,并且基于IPv6(英特网协议版本6)的地址系统来将该分段的报文发送到目的地节点。此时,仅仅在源节点处可以执行报文分段,而路径上的所有其它节点不能执行如此的报文分段。这是因为如果包括路由器的中间节点被迫将具有比它们自己的MTU大的尺寸的已接收报文分段成具有MTU尺寸的报文并且发送所分段的报文,则可能将较重的负载施加到中间节点上。因此,在中间节点处最初就阻止了报文分段。
在这种上下文中,已经接收到报文的中间或目的地节点将所接收的报文的尺寸和它自己的MTU相比较。如果MTU小于报文尺寸,则中间或目的地节点将英特网控制消息协议(ICMP)错误消息发送到源节点,以便源节点减小它自己的MTU。如果路径由包括源、目的地和中间节点的5个终端组成,则ICMP错误消息可以最大被产生多达4次。每次产生消息时,源节点应该重新调整它自己的MTU,并且重新发送报文。
图1是说明用于在源和目的地节点100和140之间发送报文的路径的视图。图1中所示的数据通信网络由源节点100、中间节点或路由器110、120和130、和目的地节点140组成。
源节点100产生报文并且通过所述路径发送报文。当接收到ICMP错误消息时,源节点减小它自己的MTU并且重新发送已调整大小的报文。
中间节点或路由器110、120和130中的每一个都将所接收的报文和它自己的MTU相比较。如果所接收的报文大于MTU,则节点或路由器产生ICMP错误消息,并且将其发送源节点100。目的地节点140查阅(refer to)由源节点100所产生的报文的消费者(consumer)。
这里,在节点之间的连接链路的MTU被称为链路MTU。由在源节点100和目的地节点140之间的几个链路组成的路径的MTU被称为路径MTU。这里,路径MTU具有在源节点100和目的地节点140之间的链路MTU之中的最小值。换句话说,路径MTU表示在没有对报文进行分段的情况下能够从源节点100发送到目的地节点140的报文的最大尺寸。
此时,在IPV6的地址系统下,所有的节点100、110、120、130和140需要能够接收和发送至少1,280个字节的报文,并且在路径上的除了源节点100之外的所有其它节点没有被授权来对报文进行分段。
图2和3是说明在相关的技术中将报文从源节点发送到目的地节点的方法的图。具体地说,图2说明了发送具有最小MTU尺寸的报文的方法,而图3说明了通过使用ICMP错误消息来确定路径MTU和发送报文的方法。
如图2中所示,作为源节点的第一节点200产生报文,然后基于最小报文单元(即1,280字节)来对报文进行分段,并将所分段的报文发送到作为目的地节点的第三节点220。换句话说,路径上的节点200、210和220中的每一个都最大发送具有多达1,280个字节尺寸的报文(S230)。在这种情况中,在第一节点200中可以省略用于发现路径MTU的处理。
如图3中所示,第一节点300的MTU是2,500个字节时,以及在第一和第二节点300和310之间的和在第二和第三节点310和320之间的链路MTU分别是2,000个和1,500个字节,作为为源节点的第一节点300根据它自己的MTU(即,2,500字节)来产生报文,并且将报文发送到第二节点310(S330)。此时,第二节点310将所接收的报文(即,2,500字节)的链路MTU和第二节点310的链路MTU(即,2,000字节)相比较。如果所接收的报文大于链路MTU,则该第二节点丢弃报文并且将ICMP错误消息(错误代码=报文太大,可接受的MTU尺寸=2,000)发送到第一节点300,以便能重新调整路径MTU的尺寸(S340)。
已经接收到ICMP错误消息的第一节点300基于在ICMP错误消息中包含的路径MTU信息来将报文的尺寸减小到2,000字节,并且将已减小尺寸的报文发送到第二节点310(S350)。此时,由于所接收的报文的尺寸(即,2,000字节)等于第二节点的链路MTU,所以第二节点310将所接收的报文转发到第三节点320(S350)。由于所接收的报文的链路MTU大于第三节点320的链路MTU(即,1,500字节),所以第三节点320丢弃所接收的报文并且将ICMP错误消息(错误代码=报文太大,可接受的MTU尺寸=1,500)发送到第一节点300(S360)。
已经接收到ICMP错误消息的第一节点300再次将报文的尺寸减小到1,500字节,并且将已减小尺寸的报文重新发送到第三节点320(S370)。此时,由于所接收的报文的尺寸小于第二节点的链路MTU,所以第二节点310在没有产生错误消息的情况下将所接收的报文发送到第三节点320,以及第三节点320从第二节点接收报文。图3中所示的发送报文的方法是基于IPv6的地址系统的。
由于作为源节点的第一节点200适于发送具有能够由所有其它的节点发送的最小MTU(在这种情况中为1,280字节)的报文,所以能容易地实现图2中所说明的方法并且不会产生ICMP错误消息(报文太大)。但是,由于不能最大地利用路径的有效处理速率(即,带宽)并且以受限的方式来发送报文,所以路径上的吞吐量变得恶化了。
另外,在图3中所说明的方法中,作为源节点的第一节点300根据它自己的MTU将报文发送到接收节点,并且接收节点将所接收的报文的尺寸和它自己的链路MTU相比较。如果报文尺寸大于接收节点的链路MTU,则接收节点将ICMP错误消息(错误代码=报文太大,可接受的MTU尺寸=1,500)发送到第一节点300。重复进行这个处理,直到来自第一节点300的报文达到作为目的地节点的第三节点340为止。
图3中所说明的路径MTU确定方法提出了一个问题,该问题为因为由于发送节点从中间节点或路由器接收重定向消息(redirect message)、某些节点的故障、或移动通信网络中的越区切换(handoff)(即,呼叫转移)的发生而每次改变路由路径时,应该执行新的路径MTU确定处理,所以需要大量的网络资源。

发明内容
本发明着手解决传统的数据通信网络所提出的上述问题。本发明的一个方面是提供一种用于发现路径MTU的有效的网络装置、系统和方法,其中当源节点移到外部链路时,仅仅利用最小流量(traffic)就确定路径MTU以及基于所确定的路径MTU来发送报文。
本发明的另一个方面是当由于路由路径中的变化等而应该确定新的路径MTU时,通过使路径MTU选项头部被包括在信号消息或第一数据报文中来确定合适的路径MTU,从而大大地减少要发送的ICMP错误消息的次数和响应于ICMP错误消息要重新发送的数据报文,因此在发送和重新发送处理期间最小化了网络和系统上的负载。
而且,本发明的另一个方面是通过允许用户通过外部接口预先设置用于发现路径MTU的路径MTU检测方法或允许用户使用系统的缺省值来使得能进行适合于环境的路径MTU的检测。
与本发明的一个示例性方面相一致,提供了一种用于在数据通信网络中发现路径MTU的网络装置,该网络装置包括MTU比较单元,用于检测在源节点和目的地节点之间的路由路径上传送的预定报文中所记录的路径MTU,并且将所检测到的路径MTU和存储在MTU比较单元中的内部MTU进行比较;以及事件处理单元,用于如果所检测到的路径MTU大于内部MTU,则将记录在预定的报文中的路径MTU更新为内部MTU。
带有其中记录了路径MTU的预定报文的扩展头部可以包括类型域,用于表示是否检测到新的路径MTU;以及路径MTU存储域,用于当检测到新的路径MTU时,将新的路径MTU存储在其中,从而更新在该路径MTU存储域中的路径MTU。
另外,与本发明的另一个示例性方面相一致,提供了一种用于在数据通信网络中发现路径MTU的系统,该系统包括源节点,用于发送预定的报文,以便发现在路由路径上的路径MTU;目的地节点,用于接收预定的报文,检测在预定的报文中记录的路径MTU,将所检测到的路径MTU存储在其中,以及将对预定的报文作出的响应发送到源节点;以及位于源节点和目的地节点之间的路由路径上的多个中间节点,用于转发预定的报文。
在所述系统中,每一个中间节点可以包括MTU比较单元,用于检测在源节点和目的地节点之间的路由路径上转发的预定的报文中所记录的路径MTU,并且将所检测到的路径MTU和存储在MTU比较单元中的内部MTU进行比较;以及事件处理单元,用于如果所检测到的路径MTU大于内部MTU,则将记录在预定报文中的路径MTU更新为内部MTU。
在所述系统中,带有其中记录了路径MTU的预定报文的扩展头部可以包括类型域,用于表示是否检测到新的路径MTU;以及路径MTU存储域,用于当检测到新的路径MTU时,将新的路径MTU存储在其中,从而更新在该路径MTU存储域中的路径MTU。
而且,与本发明的另一个方面相一致,提供了一种用于在数据通信网络中发现路径MTU的方法,该方法包括如下步骤第一步骤,用于检测在源节点和目的地节点之间的路由路径上传送的预定报文中所记录的路径MTU,并且将所检测到的路径MTU和存储在MTU比较单元中的内部MTU进行比较;以及第二步骤,用于如果所检测到的路径MTU大于内部MTU,则将记录在预定报文中的路径MTU更新为内部MTU。
在所述方法中,带有其中记录了路径MTU的预定报文的扩展头部可以包括类型域,用于表示是否检测到新的路径MTU;以及路径MTU存储域,用于当检测到新的路径MTU时,将新的路径MTU存储在其中,从而更新在该路径MTU存储域中的路径MTU。
再者,与本发明的又一个方面相一致,提供了一种用于在数据通信网络中发现路径MTU的方法,该方法包括如下步骤第一步骤,用于由源节点发送预定的报文,以便发现在源节点和目的地节点之间的路由路径上的路径MTU;第二步骤,用于由位于源节点和目的地节点之间的路由路径上的多个中间节点来更新在预定的报文中所记录的路径MTU并且将预定的报文转发到目的地节点;以及第三步骤,用于由已经接收预定的报文的目的地节点来检测在预定的报文中记录的路径MTU,将所检测到的路径MTU存储在其中,以及将对预定的报文作出的响应发送到源节点。
所述第二步骤可以包括如下步骤检测在源节点和目的地节点之间的路由路径上传送的预定报文中所记录的新的路径MTU,并且将所检测到的新的路径MTU和存储在中间单元之一中的内部MTU进行比较;以及如果所检测到的新的路径MTU大于内部MTU,则将记录在所述预定报文中的路径MTU更新为内部MTU。
在所述方法中,带有其中记录了路径MTU的预定报文的扩展头部可以包括类型域,用于表示是否检测到新的路径MTU;以及路径MTU存储域,用于当检测到新的路径MTU时,将该新的路径MTU存储在其中,从而更新在该路径MTU存储域中的路径MTU。


从下列结合附图给出的示范性实施例的描述中,本发明的上述和其它方面和特征将变得明显,其中图1是说明用于在源节点和目的地节点之间发送报文的路径的视图;图2是说明用于发送具有最小MTU尺寸的报文的方法的视图;图3是说明用于通过使用ICMP错误消息来确定路径MTU和发送报文的方法的视图;图4是说明当由于移动节点的运动而改变路由路径时路径MTU的确定的视图;图5a至5c是显示与本发明的一个示范性实施例相一致的、用于在数据通信网络中发现路径MTU的系统的配置的视图;图6a和6b显示与本发明的一个示范性实施例相一致的在路由路径上传送的用来发现路径MTU的预定的报文的扩展头部的格式;图7说明与本发明的一个示范性实施例相一致的、当由于主机的移动而改变路由路径时通过使用信号消息来检测路径MTU的方法;图8是说明与本发明的一个示范性实施例相一致的、通过使用信号消息来确定在移动节点和对应的节点之间的路径MTU的方法的的视图;以及图9是说明与本发明的一个示范性实施例相一致的、通过使用数据报文来确定在移动节点和对应的节点之间的路径MTU的方法的的视图。
具体实施例方式
其后,将参照附图详细地描述本发明的示范性实施例,以便本发明所属的本领域技术人员能够较容易地实现本发明。
图4是说明当由于移动节点的运动而改变路由路径时路径MTU的确定的视图,将基于图4来描述图5a至9中所说明的本发明的示范性实施例。
图4中所示的数据通信网络包括其中之一将作为源节点或目的地节点的移动节点400和500、其中之一将作为源节点或目的地节点的对应节点560和580、将作为中间节点的第一至第五路由器430、510、530、550和570、以及本地代理410。
移动节点(MN)400和500查阅(refer to)用于改变它们的网络连接位置的主机。对应节点(CN)560和580查阅(refer to)与移动节点400和500进行通信的主机。这里,移动节点和对应节点中的每一个在报文发送和接收处理期间都可能为源节点或目的地节点。
本地链路420是其中定义了移动节点400的子网前缀的链路,以及标准IP路由机制(routing mechanism)转发报文,该报文将定向到移动节点的本地地址、定向到移动节点的本地链路。外部链路520查阅(refer to)除了本地链路420之外的任意链路。第一至第五路由器430、510、530、550和570是用于通过使用相同的传输协议来互联独立的网络的设备。也就是说,路由器对网络层进行互联。
本地代理410查阅(refer to)在移动节点400的本地链路420上的路由器,其中移动节点400登记移动节点的当前关心地址(care-of address)(以后,称为‘COA’)。当从本地链路420分离移动节点400时,本地代理410截获在本地链路420上的将要定向到移动节点400的本地地址的报文,对所截获的报文进行封装,然后利用隧道效应将报文传送到移动节点的已登记的COA。利用移动节点400、本地代理410、本地链路420和路由器430来构成第一子域440。
另外,如果移动节点400从第一子域440中分离出来并且然后出现在第二子域540中,则利用移动节点500、起外部链路520的代理作用的外部代理或第二路由器510、以及作为用于提供到第二子域540的互联网连接的功能的网关的第三路由器530来构成第二子域540。
此外,存在第一对应节点560,该第一对应节点560经由英特网和第四路由器550以及通过第五路由器570连接到英特网的第二对应节点580与移动节点进行通信。
如图4中所示,如果由于移动节点的运动而改变路由路径,则应该确定新的路径MTU来代替现有的路径MTU。也就是说,如果移动节点400脱离本地链路420并且然后移动进外部链路520中,则到第一对应节点560的路由路径从由移动节点400、本地代理410、第一路由器430、第四路由器550和第一对应节点560组成的路径改变到由移动节点500、第二路由器510、第三路由器530、第一路由器430、第四路由器550和第一对应节点560组成的路径上。同样响应于路由路径的变化来重新更新路径MTU。因此,每次当移动节点400移动进外部链路520中时,需要新的路径MTU确定处理。
图5a至5c是显示与本发明的一个示范性实施例相一致的、用于在数据通信网络中发现路径MTU的系统的配置的视图。
图5a是显示源节点或目的地节点的配置的视图。源或目的地节点635包括用户接口600、用户环境管理单元605、路径MTU初始化单元610、第三路径MTU确定单元615、第三路径MTU存储单元620和第三事件处理单元625。
如图5a中所示,用户环境管理单元605从用户(即,用户接口600)接收输入,配置和存储路径MTU发现系统的环境,诸如路径MTU发现方法的选择。
路径MTU初始化单元610根据来自用户环境管理单元605的系统信息来初始化路径MTU发现系统。例如,路径MTU初始化单元610起如下作用初始化路径MTU高速缓冲器;利用通过在路由路径上发送预定的报文检测路径MTU,来选择路径MTU发现方法;以及初始化能够被发送的最大报文尺寸(其缺省值为1,280字节)和为了发现路径MTU而叠代执行路径MTU发现处理的周期。
第三路径MTU确定单元615确定是否需要任何路径MTU发现。第三路径MTU确定单元615将路径MTU的初始值(即,“NULL”)记录在预定的报文中,其中所述预定的报文是根据设置在用户环境管理单元605中的用来发现路径MTU的路径MTU发现方法而被发送在路由路径上的。按照示例的方法,在与本发明的示范性实施例相一致的路径MTU发现方法中使用的预定的报文可以是信号消息或数据报文。信号消息可以包括绑定更新(以后称为‘BU’)消息。将路径MTU设置在信号消息和数据报文的扩展头部中。
第三事件处理单元625从外部接收或向外部发送事件630。事件630指的是输入进源节点或目的地节点的或从源节点或目的地节点输出的所有信号。在本发明的示范性实施例中,事件630可以包括路由器请求(solicitation)消息、路由器广告消息、BU消息、绑定确认(以后称为‘BA’)消息、数据报文、ICMP错误消息等。
事件630也可以是在其上记录了路径MTU的预定报文。因此,当第三事件处理单元625从第三路径MTU确定单元615接收用来通知用于发现路径MTU的需要的信号时,第三事件处理单元625将其上记录了路径MTU的初始值的预定的报文发送到外部。
当第三事件处理单元625接收其上记录了在源节点和目的地节点之间的路径MTU的预定的报文时,第三事件处理单元625检测来自所述预定的报文的路径MTU。将所检测到的路径MTU转发到第三路径MTU确定单元615。第三路径MTU确定单元615根据所检测到的路径MTU的尺寸来执行报文的分段。第三路径MTU存储单元620将所检测到的路径MTU存储在其中和存储在预定的报文的扩展头部中。
图5b是显示在中间节点之中的路由器的配置的视图。如图5b中所示,路由器650包括第一MTU比较单元640和第一事件处理单元645。
事件630(即,用于发现路径MTU的预定的报文)从外部输入进第一MTU比较单元640中。第一MTU比较单元640检测记录在预定的报文上的路径MTU,并且将其和第一MTU比较单元的链路MTU进行比较。如果路径MTU大于链路MTU,则第一MTU比较单元指令第一事件处理单元645来更新路径MTU。
第一事件处理单元645更新已经被记录在预定的报文上的路径MTU,以便包含它自己的链路MTU。第一事件处理单元645也将已更新的报文转发到路由路径上的任何其它的中间节点上。
图5c是显示在中间节点之中的本地代理的配置的视图。如图5c中所示,本地代理680包括第二MTU比较单元655、第二事件处理单元660、第二路径MTU确定单元665和第二路径MTU存储单元670。
事件630(即,用于发现路径MTU的预定报文)从外部输入进第二MTU比较单元655中。第二MTU比较单元655检测记录在预定报文上的路径MTU,并且将其和第二MTU比较单元的链路MTU或预定的节点间隔的路径MTU进行比较。第二MTU比较单元655将比较结果转发到第二事件处理单元660。
如果记录在预定的报文上的路径MTU大于第二事件处理单元660的链路MTU或预定的节点间隔的路径MTU,则第二事件处理单元660指令第二路径MTU确定单元665来更新路径MTU。
第二路径MTU确定单元665更新记录在预定的报文上的路径MTU,以便包含第二路径MTU确定单元的链路MTU或预定的节点间隔的路径MTU。将更新的路径MTU存储在第二路径MTU存储单元670中。
第二路径MTU确定单元665也指令第一事件处理单元645来将预定的报文转发到路由路径上的其它中间节点处。或者,第二路径MTU确定单元665指令第一事件处理单元645来将响应发送到预定的报文。预定的报文可以是信号消息或数据报文。例如,信号消息可以包括BU消息。因此,对预定的报文的响应可以包括BA消息或ICMP错误消息。
图6a和6b显示与本发明的一个示范性实施例相一致的在路由路径上传送的用来发现路径MTU的预定报文的扩展头部的格式。本发明不限于IPv6。
如图6a和6b中所示,扩展头部包括下一头部域1510或1610、扩展头部长度域1520或1620、类型域1530或1630、有效载荷长度域1540或1640、以及路径MTU存储域1550或1650。
图6a是显示在对MTU进行更新来发现路径MTU的情况中的扩展头部的格式的视图。图6b是显示当已经发现路径MTU时的扩展头部的格式的视图。下一头部域1510或1610表示后续头部的类型。扩展头部长度域1520或1620定义扩展头部的字节的数量。有效载荷长度域1540或1640定义有效载荷的长度。
类型域1530或1630表示路径MTU发现系统是否正在检测路径MTU或是否已经发现源节点和目的地节点的最终路径MTU。如图6a中所示,当路径MTU发现系统正在检测路径MTU时,类型域1530是0。如图6b中所示,当路径MTU发现系统已经发现源节点和目的地节点的最终路径MTU时,类型域1630是1。
路径MTU存储域1550或1650是用于将所检测到的路径MTU存储在其中的域。如图6a中所示,当路径MTU发现系统正在检测路径MTU时,路径MTU存储域1550包含关于在源节点和目的地节点之间的路由路径的所检测到的路径MTU。如图6b中所示,当路径MTU发现系统已经发现源节点和目的地节点的最终路径MTU时,路径MTU存储域1650包含关于在源节点和目的地节点之间的路由路径的最终路径MTU。
图7至9说明在与本发明的示范性实施例相一致的数据通信网络中确定路径MTU的方法。将基于图4的数据通信网络来描述图7至9。
图7说明与本发明的一个示范性实施例相一致的、当由于移动节点或主机的移动而改变路由路径时通过使用信号消息来检测路径MTU的方法。信号消息包括BU消息。
如图4中所示,当出现在本地链路420上的移动节点400移动到外部链路520中时,移动节点500将路由器请求(solicitation)消息发送到第二路由器510以及从第二路由器510接收路由器告示(advertisement)消息(S1100,S1110)。移动节点从这种处理中识别出它已经移动了。
在识别到移动之后,移动节点500通过地址自动配置来获取关心地址(COA),并且通过使用BU消息将COA通知给彼此之间进行通信的本地代理410和第一对应节点560。
在这种情况中,移动节点500将路径MTU的初始值(“NULL”)记录在信号消息中并且发送作为结果的信号消息(S1120)。在信号消息的扩展头部上记录了路径MTU。
已经接收到路径MTU的初始值(“NULL”)的第二路由器510确认路径MTU具有初始值(“NULL”),并且通过将第二路由器的链路MTU(2,000字节)存储在路径MTU存储域上来更新路径MTU。第二路由器也将BU消息转发到第三路由器510(S1130)。
由于已接收的消息的路径MTU(2,000字节)大于第三路由器的链路MTU(1,300字节),所以第三路由器530更新路径MTU存储域,以便包含第三路由器它自己的链路MTU(1,300字节)。第三路由器530也将BU消息转发到第一路由器430(S1140)。在这种情况中,由于已接收的BU消息的路径MTU(1,300字节)小于第一路由器的链路MTU(1,400字节),所以第一路由器430将BU消息转发到本地代理410(S1140)。
由于已接收的BU消息的路径MTU(1,300字节)小于本地代理410的链路MTU(1,800字节),所以本地代理410将记录在BU消息的路径MTU存储域上的路径MTU(即,在移动节点500和本地代理410之间的最终路径MTU)(以后称为‘PMTUmh’)存储在其中。
本地代理410也将作为对BU消息作出响应的BA消息发送到移动节点500。利用该BA消息,移动节点500检测记录在BA消息上的PMTUmh(1,300字节)并同时保留绑定信息(S1150)。移动节点500将通过BA消息已经转发的PMTUmh(1,300字节)存储在其中。
本地代理410通过在通信中将BU消息转发到第一对应节点560处来利用上述的路径MTU发现方法发现在移动节点500和第一对应节点560之间的路径MTU。在这种情况中,第一对应节点560将作为对BU消息作出响应的BA消息发送到移动节点500。响应于该BA消息,移动节点500保持绑定信息和发现路径MTU。
图8是说明与本发明的一个示范性实施例相一致的、当由于移动节点或主机的移动而改变路由路径时通过使用信号消息来确定在移动节点或主机和对应的节点之间的路径MTU的方法的视图。
图8说明通过使用信号消息来确定在彼此之间没有进行通信的移动节点500和第二对应节点580之间的路径MTU的方法。
首先,如图8中所说明的,保持在移动节点500和本地代理410之间的路径MTU和绑定信息。没有与移动节点500进行通信的第二对应节点580没有识别到移动节点500的新的COA和路径MTU。因此,第二对应节点580经由本地代理410将具有现有的路径MTU(1,500字节)的第一数据报文转发到移动节点500(S1200)。由于第一数据报文的尺寸(1,500字节)不大于第二对应节点580、第五路由器570和第一路由器430的链路MTU,所以通过第五路由器570和第一路由器430将第一数据报文发送到本地代理410。
此时,本地代理410将所接收的第一数据报文的尺寸(1,500字节)和存储在该本地代理中的在移动节点500和本地代理410之间的最终路径MTU的尺寸(即,PMTUmh(1,300字节))进行比较。这里,由于所接收的第一数据报文的尺寸大于PMTUmh,所以本地代理410将ICMP错误消息(报文太大,MTU=1,300)发送到第二对应节点580(S1210)。
第二对应节点580执行报文的分段,并且重新发送具有1,300字节的路径MTU的第一数据报文(S1220)。第一数据报文的尺寸(1,300字节)不大于第二对应节点580、第五路由器570和第一路由器430的链路MTU,经由第五路由器570和第一路由器430将第一数据报文发送到本地代理410。
此时,本地代理410将接收到的第一数据报文的尺寸(1,300字节)和存储在其中的最终路径MTU(即,PMTUmh)的尺寸(1,300字节)进行比较。由于它们是相同的,该第一数据报文经由第一路由器430、第三路由器530和第二路由器510(S1230)而到达移动节点500处。
当完成如此的处理时,在移动节点500和第二对应节点580之间执行绑定更新处理,如图7中所示(S1240-S1270)。由于该绑定更新处理和在图7中所说明的相同,这里将省略绑定更新处理的描述。但是,与图7中说明的方法相反,由于从第一路由器430所接收的BU消息(1,300字节)的路径MTU小于本地代理的链路MTU(1,800字节),所以在图8中所说明的方法中,本地代理410将BU消息转发到第二对应节点580(S1260)。
第一路由器430、第五路由器570和第二对应节点580分别进行路径MTU更新处理,并且第二对应节点580存储记录在接收到的BU消息中的路径MTU(即,在移动和对应节点之间的最终路径MTU;以后称为“PMTUme”)。
第二对应节点580也将作为对BU消息的响应的BA消息发送到移动节点500。利用该BA消息,移动节点500检测在BA消息中记录的PMTUme(1,300字节)并同时保持绑定信息(S1150)。当完成绑定更新处理时,在移动节点500和第二对应节点580之间的最终路径MTU变成1,300字节。
图9是说明与本发明的一个示范性实施例相一致的、当由于移动节点或主机的移动而改变路由路径时通过使用数据报文来确定在移动节点或主机和对应节点之间的路径MTU的方法的的视图。在图7中说明的本发明的示范性实施例中,通过使用信号消息来检测路径MTU,但是在图9中说明的本发明的示范性实施例中,则通过使用第一数据报文来检测路径MTU。
如图4中所示,如果出现在本地链路420上的移动节点400移动到外部链路520中,移动节点500将路由器请求(solicitation)消息发送到第二路由器510以及从第二路由器510接收路由器广播消息(S1300,S1310)。移动节点从这种处理中识别出它已经移动了。
在识别到移动之后,移动节点500通过地址自动配置来获取COA。通过使用BU消息,移动节点500将COA通知给和该移动节点进行通信的本地代理410和第一对应节点560两者(S1320,S1330)。
另外,响应于BU消息,本地代理410和第一对应节点500将BA消息发送到移动节点500,并且保持绑定信息(S1320,S1330)。当移动节点500完成和本地代理410以及第一对应节点560这两者的绑定处理时,移动节点500、本地代理410和第一对应节点560能够彼此之间传送数据报文。
在这种情况中,当第一对应节点560将第一数据报文发送到移动节点500时,第一对应节点560将第一数据报文中的路径MTU存储域初始化到“NULL”,对最大报文的长度(以后称为“Lm”)进行限制,然后发送第一数据报文(S1340)。这里,在本发明的实施例中,该Lm指的是在没有报文分组的情况下能够在路径上发送的最大数据报文的长度。Lm的缺省值为1,280字节并且考虑到隧道效应头部而可以被设置到小于1,280字节的值上。
已经接收到第一数据报文的第四路由器550更新第一数据报文的路径MTU存储域(“NULL”),以便包含它自己的链路MTU(1,600字节)。
第四路由器550也将第一数据报文转发到第一路由器430。当第一数据报文(路径MTU=1,600字节,报文尺寸=Lm)顺序地通过第四路由器550、第一路由器430、本地代理410和第一路由器430时,第一数据报文的路径MTU(1,600字节)小于在相关的节点之间的链路MTU中的每一个(1,700、1,800和1,800字节)。因此,在没有被更新的情况下,接收到的数据报文的路径MTU被转发到后续的节点上(S1350)。
另外,由于第一数据报文的路径MTU(1,600字节)大于已经接收到第一数据报文的第三路由器530的链路MTU(1,400字节),所以第三路由器530更新路径MTU存储域,以便包含它自己的链路MTU(1,400字节),然后将该第一数据报文转发到第二路由器510(S1360)。
再者,由于第一数据报文的路径MTU(1,400字节)大于已经接收到该第一数据报文的第二路由器510的链路MTU(1,300字节),所以第二路由器更新路径MTU存储域,以便包含该第二路由器的它自己的链路MTU(1,300字节),然后将该第一数据报文转发到移动节点500(S1370)。
由于第一数据报文的路径MTU(1,300字节)小于移动节点500的链路MTU((2,000字节),所以将接收该第一数据报文的移动节点500接受该第一数据报文。移动节点500也将在第一数据报文中记录的路径MTU(在移动和对应节点之间的最终路径MTU;PMTUmc)存储在其中。
另外,移动节点500将第一数据报文的响应消息发送到第一对应节点560,以便转发最终路径MTU(1,300字节)(S1380)。第一对应节点560将通过响应消息转发的最终路径MTU(1,300字节)存储在其中。
上面所描述的与本发明的示范性实施例相一致的、用于在通信网络中发现路径MTU的装置、系统和方法可以被应用到有线网络和无线网络上。
本发明建议一种根据用户环境设置通过使用信号消息或第一数据报文来确定在源和目的地节点之间的路径MTU的方法和系统。
利用用于与本发明相一致的在数据通信网络中发现路径MTU的系统和方法,能减少占用外部网络的时间,从而在外部网络没有显著地受影响的情况下来有效地使用外部网络。因此,可能最小化在路径MTU确定处理中所涉及的ICMP错误消息(报文太大)的产生和重新发送的消息。这样就导致传输路径上的网络负载的显著减少和报文重新发送中的每一个节点上的负载的最小化。
而且,通过允许用户通过外部接口来预先设置用于发现路径MTU的路径MTU检测方法或允许用户使用系统的缺省值,就能检测适合于通信条件的路径MTU。
虽然已经结合示范性实施例详细地描述了本发明,但是本发明不限于此,并且在本发明的范围和技术精神之内,本领域的技术人员能作出各种改变和变更。
本申请要求以下优先权 在韩国知识产权局中的韩国专利申请序列号No.10-2003-0054477,申请日2003年08月06日,这里引用其公开内容作为参考。
权利要求
1.一种用于在数据通信网络中发现路径最大传输单元(MTU)的网络装置,包括MTU比较器,用于检测在源节点和目的地节点之间的路由路径上传送的预定报文上所记录的路径MTU,并且将所检测到的路径MTU和存储在MTU比较器中的内部MTU进行比较;以及事件处理器,用于如果所检测到的路径MTU大于内部MTU,则更新在预定报文上所记录的路径MTU,以包含内部MTU。
2.根据权利要求1所述的装置,其中,带有其上记录了路径MTU的预定报文的扩展头部包括类型域,用于表示是否检测到新的路径MTU;以及路径MTU存储域,用于当检测到新的路径MTU时,将新的路径MTU存储在其中,从而更新在该路径MTU存储域中的路径MTU。
3.根据权利要求1所述的装置,其中所述内部MTU包括链路MTU。
4.根据权利要求3所述的装置,其中所述预定报文包括信号消息。
5.根据权利要求3所述的装置,其中所述预定报文包括数据报文。
6.根据权利要求1所述的装置,其中所述内部MTU包括路径MTU。
7.根据权利要求6所述的装置,其中所述预定报文包括信号消息。
8.根据权利要求6所述的装置,其中所述预定报文包括数据报文。
9.一种用于在数据通信网络中发现路径最大传输单元(MTU)的系统,该系统包括源节点,用于发送预定的报文,以便发现在路由路径上的路径MTU;目的地节点,用于接收预定的报文,检测在预定的报文中记录的路径MTU,将所检测到的路径MTU存储在其中,以及将对预定的报文作出的响应发送到源节点;以及位于源节点和目的地节点之间的路由路径上的至少一个中间节点,用于转发预定的报文。
10.根据权利要求9所述的系统,其中所述至少一个中间节点包括MTU比较器,用于检测在源节点和目的地节点之间的路由路径上转发的预定的报文中所记录的路径MTU,并且将所检测到的路径MTU和存储在该MTU比较器中的内部MTU进行比较;以及事件处理器,用于如果所检测到的路径MTU大于内部MTU,则将记录在预定报文中的路径MTU更新以包含该内部MTU。
11.根据权利要求9所述的系统,其中,带有其中记录了路径MTU的预定报文的扩展头部包括类型域,用于表示是否检测到新的路径MTU;以及路径MTU存储域,用于当检测到新的路径MTU时,将新的路径MTU存储在其中,从而更新在该路径MTU存储域中的路径MTU。
12.一种用于在数据通信网络中发现路径最大传输单元(MTU)的方法,包括检测在源节点和目的地节点之间的路由路径上传送的预定报文中所记录的路径MTU,并且将所检测到的路径MTU和存储在MTU比较器中的内部MTU进行比较;以及如果所检测到的路径MTU大于内部MTU,则更新记录在预定报文中的路径MTU以包含所述内部MTU。
13.根据权利要求12所述的方法,其中,带有其中记录了路径MTU的预定报文的扩展头部包括类型域,用于表示是否检测到新的路径MTU;以及路径MTU存储域,用于当检测到新的路径MTU时,将新的路径MTU存储在其中,从而更新在该路径MTU存储域中的路径MTU。
14.根据权利要求12所述的方法,其中所述内部MTU包括链路MTU。
15.根据权利要求14所述的方法,其中所述预定报文包括信号消息。
16.根据权利要求14所述的方法,其中所述预定报文包括数据报文。
17.根据权利要求12所述的方法,其中所述内部MTU包括路径MTU。
18.根据权利要求17所述的方法,其中所述预定报文包括信号消息。
19.根据权利要求17所述的方法,其中所述预定报文包括数据报文。
20.一种用于在数据通信网络中发现路径最大传输单元(MTU)的方法,包括由源节点发送预定的报文,以便发现在源节点和目的地节点之间的路由路径上的路径MTU;由位于源节点和目的地节点之间的路由路径上的至少一个中间节点来更新在预定的报文中所记录的路径MTU并且将预定的报文转发到目的地节点;以及由已经接收预定的报文的目的地节点来检测在预定的报文中所记录的路径MTU,将所检测到的路径MTU存储在其中,以及将对预定的报文作出的响应发送到源节点。
21.根据权利要求20所述的方法,其中,由位于源节点和目的地节点之间的路由路径上的所述至少一个中间节点来更新在预定的报文中所记录的路径MTU并且将预定的报文转发到目的地节点,包括检测在源节点和目的地节点之间的路由路径上传送的预定报文中所记录的新的路径MTU,并且将所检测到的新的路径MTU和存储在所述至少一个中间节点中的内部MTU进行比较;以及如果所检测到的新的路径MTU大于内部MTU,则将记录在所述预定的报文上的路径MTU更新为内部MTU。
22.根据权利要求20所述的方法,其中,带有其中记录了路径MTU的预定报文的扩展头部包括类型域,用于表示是否检测到新的路径MTU;以及路径MTU存储域,用于当检测到新的路径MTU时,将该新的路径MTU存储在其中,从而更新在该路径MTU存储域中的路径MTU。
全文摘要
一种用于在数据通信网络中发现路径MTU的装置、系统和方法,其中将路径MTU选项头部包括在信号消息或第一数据报文中,并且因此能确定适合于路由路径的MTU。一种用于在数据通信网络中发现路径MTU最大传输单元(MTU)的网络装置,包括MTU比较单元MTU比较器,用于检测在源节点和目的地节点之间的路由路径上传送的预定报文上所记录的路径MTU,并且将所检测到的路径MTU和存储在MTU比较单元MTU比较器中的内部MTU进行比较;以及事件处理单元事件处理器,用于如果所检测到的路径MTU大于内部MTU,则更新在预定报文上记录的路径MTU,以便包含内部MTU。
文档编号H04L12/56GK1581849SQ200410056269
公开日2005年2月16日 申请日期2004年8月6日 优先权日2003年8月6日
发明者郑云在, 文炳人, 拉杰什·帕萨卡 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1