专利名称:移动自组织网络中发现路径最大传输单元的系统和方法
技术领域:
与本发明相一致的系统和方法可操作用来发现移动自组织(ad hoc)网络中的路径最大传输单元(maximum transfer unit,MTU),更具体地说,适用于在移动自组织网络中发现MTU的系统和方法,其中MTU发现于发送节点和传输节点间。
背景技术:
Ad hoc网络是无线移动主机的集合,以在没有任何集中管理和标准支持设备的帮助下形成临时的网络。Ad hoc网络没有装备任何固定的控制设备来提供到骨干网主机或其它移动主机的连接。在ad hoc网中,每个移动主机都作为路由器将数据包从一个主机向前传送到另一个主机。
如图1所示,在ad hoc网中,由于多种具备无线通信功能的终端彼此连接,各个终端都有不同的MTU值,即能被每个终端传输或接收的数据包大小的最大值。
如上述,由于ad hoc网中每个终端都有不同的MTU值,因此为利用发现的路径MTU来传输数据包,有必要发现路径MTU,其用于表明对数据包不分割而能够在发送节点和接收节点间传输的数据包大小的最大值,每个节点都是出现在网络中的终端,可能是笔记本计算机或个人数字助理(personal digital assistant,PDA)等设备。
在下文中,参照图2至图4,描述了相关技术中一种在ad hoc网络中发现路径MTU的方法。
首先,假定在ad hoc网络中存在A、B、C、D四个节点。MTU定义为能被每个节点发送或接收的数据包大小的最大值。按图2所示节点A、B、C和D的MTU值分别为6、5、4和7。
在此假定条件下,如果节点A要传输数据包到节点D,如图2所示,节点A为了按通过路由表确定的传输路径把数据包传输到节点D,且由于节点A的MTU值是上面提到的6,节点A首先将大小为6的数据包传送到邻接的节点B。但是,由于节点B的MTU值为5,节点B不能接收和处理从节点A传输来的数据包。
因此,为通知节点A节点B由于传输的数据包大小太大而不能接收和处理此数据包,节点B将MTU数值5增加到ICMPv6(Internet Control MessageProtocol version 6,Internet信报控制协议版本6)消息中的数据包大小通报消息(在此情况时,“数据包太大”消息),并将结果消息转发回节点A。
根据接收到的从节点B来的消息中的MTU值,节点A认识到为了不分割数据包而将数据包发送到接收节点D,路径MTU值应减小到5。
与作为范例的实施例相一致,节点A减小数据包的大小到5并将减小的数据包重新发送到节点B。节点B然后依次发送数据包到下个节点C,如图3所示。但是,由于节点C的MTU值为4,节点C不能接收和处理从节点B传输来的数据包。
因此,为通知节点A,即发送节点,节点C因为数据包太大,不能接收和处理数据包,节点C通过节点B向节点A发送包含有MTU值为4的数据包大小通报消息。
根据通过节点B从节点C接收到的消息中包含的MTU值,节点A认识到为了不分割数据包而将数据包发送到接收节点D,路径MTU值应减小到4。
其后,节点A减小数据包的大小为4,并重发减小的数据包到节点B,依次发送数据包通过节点C到达节点D,如图4所示。
由以上所述,当数据包在相关技术中的ad hoc网络中从发送节点传输到接收节点时,如果每个在传输路径中的节点接收的数据包其大小超过该节点能传输或接收的数据包大小的最大值,该节点利用ICMPv6消息中的数据包大小通报消息,来通知发送节点收到的数据包太大而不能处理。
然后,发送节点,其向接收节点发送数据包并收到从中间节点发送的数据包大小通报消息,改变其路径MTU值为包含在数据包大小通报消息中的MTU值,并基于改变的路径MTU值重发数据包。发送节点应不断重复此过程直到发送节点能够将数据包无分割的发送到接收节点。
因此存在着问题,因为数据传输到接收节点被延迟直到发送节点确认正确的路径MTU,并且重新传输数据包大小通报消息和数据增加了无线资源的损耗,结果造成网络性能的恶化。
发明内容
本发明处理上面所提到的问题。本发明的一个方面是提供了在ad hoc网中发现路径MTU的系统和方法,其中发送节点和接收节点间的路径MTU能从通过交换增加了MTU信息的问候消息建立的MTU表中发现。
与本发明的一个方面相一致,提供了发现ad hoc网中的路径MTU的系统,包括了路径MTU-确定单元,以从MTU表中析取传输路径中出现的节点的MTU值,并确定析取的MTU值中的一个为路径MTU值,而MTU表是利用问候消息由出现在网络中的节点的MTU值建立起来的。
在作为范例的实施例中,该系统进一步包括MTU表-管理单元,以基于周期性收到的问候消息中包含的节点的地址和MTU值更新MTU表,及问候消息-传输单元,用于在每个问候消息中插入MTU表中储存的节点的地址和MTU值,并周期性的传输合成的问候消息。
与本发明另一方面相一致,在ad hoc网中发现路径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是展示在相关技术中的ad hoc网的结构的图;图2至4是解释在ad hoc网中发现路径MTU的传统方法的图;图5是方块图,展示了与本发明的实施例相一致的,用于在ad hoc网中发现路径MTU值的系统的结构;图6是展示应用于本发明的MTU表的结构的图;图7是展示应用于本发明的问候消息的结构的图;图8至11是流程图,用来说明与本发明另一作为范例的实施例相一致的、用于在ad hoc网中发现路径MTU值的方法;并且图12和13是解释与本发明作为范例的实施例相一致的,用于在ad hoc网中发现路径MTU的方法的图。
具体实施例方式
在下文中,与本发明作为范例的实施例相一致的,用于在ad hoc网中发现路径MTU的系统和方法,参照附图被详细描述。
图5是方块图,展示了与本发明的实施例相一致的系统结构图,其用于在ad hoc网中发现路径MTU值。系统包括传输单元10,问候消息-生成单元20,接收单元30,MTU表-管理单元40,MTU表60和路径MTU-确定单元50。
传输单元10处理要传输的数据并将其传输到相应节点。
问候消息-生成单元20将储存在MTU表60中的节点的地址和MTU值插入到周期性生成的问候消息中,并将合成的问候消息通过传输单元10传输到网络的相邻节点。
接收单元30接收网络中的节点传输来的数据。
MTU表-管理单元40包括包含在问候消息中的节点地址和MTU值,该消息同储存在MTU表60中的节点地址及MTU值,通过接收单元30被收到。如果通过比较确定存在任何需要增加或改变的节点地址和MTU值,MTU图表-管理单元40基于包含在所接收的问候消息中的节点的地址和MTU值更新MTU表60。
如果有数据要传输,路径MTU-确定单元50根据更新的MTU表60,析取位于通过路由表(未展示)确定的传输路径上的节点的MTU值,并确定所析取的MTU值中最小的MTU值为路径MTU值。
将MTU表60提供给每个网络中的节点,并按一一对应的关系,储存出现在网络中的节点的地址和MTU值(能被节点传输和接收的数据包大小的最大值),如图6所示。
节点的MTU表60可以选择性地包括节点的地址和MTU值。然而在本发明的此实施例中,假定MTU表60未包含本表从属的节点的地址和MTU值。
图7是展示应用于本发明的问候消息结构的图。
问候消息在通讯网络的相邻节点间周期性交换。每个节点周期性生成问候消息并传输给相邻节点以通知该节点连接在通讯网络中。
为实现与本发明的实施例相一致的上面提到的利用问候消息在ad hoc网中发现路径MTU的方法,应用于本发明的问候消息包括消息类型字段(a),消息长度字段(b),发送节点字段(c)和节点字段(d),如图7所示。
在此结构中,表明有关的消息是问候消息的信息储存在问候消息的消息类型字段(a)中,该有关的消息的长度的信息储存在消息长度字段(b)。
传送问候消息的节点的地址和MTU值记录在问候消息的发送节点字段(c)。
同时,网络中的节点的地址和MTU值记录在问候消息的节点字段(d)。
图8至11是流程图,说明与本发明的实施例一致的在ad hoc网中发现路径MTU值的方法。
如图8所示,在ad hoc网中发现路径MTU的方法包括MTU表更新步骤,即基于周期性的被各节点接收的问候消息中包含的地址和MTU值更新MTU表(S100);问候消息传输步骤,即周期性的生成和传输包含储存在MTU表中的节点的地址和MTU值的问候消息(S200);和路径MTU确定步骤,即从MTU表中析取位于数据包传输的传输路径上的节点的MTU值,并确定析取的MTU值的一个为路径MTU(300)。
在上述MTU表更新步骤S100中,如图9所示,如果问候消息从每个相邻节点收到(S110),传输问候消息的节点及在网络中的节点的地址和MTU值在所收到的问候消息的内容被分析后被析取出(S120)。
然后,将在步骤S120中析取的节点的地址和MTU值与接收到问候消息的节点的MTU表中记录的节点的地址和MTU值相互比较(S130),并且确定是否有节点的地址和MTU值要增加或改变(S140)。
如果是,MTU表基于步骤S120中析取的节点的地址和MTU值进行更新(S150)。
例如,假定在接收节点B的MTU表中,节点A的MTU值为6,节点C的MTU值为4,如果接收节点B从发送节点C接收到问候消息,而在消息中节点C的MTU为4,并且节点A、B和D的MTU值分别为5、5和7,接收节点B增加节点D的地址和MTU值到自己的MTU表中,并改变节点A的MTU值为5以使其与包含在接收到的问候消息内的值相同。
更进一步,如图10所示,在问候消息传输步骤S200中,要发送问候消息的节点记录自身的地址和MTU值到要发送的问候消息内的发送节点字段(c)(S210),然后基于MTU表记录网络的其它节点的地址和MTU值到问候消息的节点字段40。
随后,通过步骤S210和S220将生成的问候消息发送到外围节点(S230)。
如图11所示,在路径MTU确定步骤S300中,确定是否有要传输的数据存在(S310)。如果有要传输的数据,发送节点基于路由表确定从发送节点到接收节点的传输路径(S320)。
然后,将位于由步骤S320所确定的传输路径内的节点的MTU值从MTU表中析取出来(S330)。
然后检查析取出来的MTU值中的最小MTU值(S340),并且被查出的MTU值被确定为从发送节点到接收节点的路径MTU值(S350)。
在路径MTU值这样确定之后,发送节点基于确定的路径MTU值传输数据包。
在下文中,参照图12和13,描述了与本发明的作为范例的实施例相一致的在ad hoc网中发现路径MTU的方法。
如图12所示,假定ad hoc网中有六个节点A、B、C、D、E和F,MTU值分别为6、7、8、5、5和4。
在此假定下,如果各节点的通过问候消息传输步骤S200所生成的问候消息在节点间相互交换,网络中出现的节点B、C、D、E和F的地址和MTU值按一一对应的关系记录在节点A的MTU表中,如图13所示。
其后,如果有任何数据要从节点A传输到节点F,节点A首先基于路由表确定到节点F的传输路径。
例如,如果基于路由表传输路径确定为A-B-C-E-F,节点A从自己的MTU表中,析取出现在传输路径中的节点A、B、C、E和F的MTU值为6、7、8、5和4。
然后,析取的MTU值6、7、8、5和4的最小值,比如4,被确定为路径MTU值。
随后,发送节点A基于确定为4的路径MTU值改变数据包的大小为4,然后通过中间节点B、C和E将改变的数据包传输到节点F。
与上述本发明的用于在ad hoc网中发现路径MTU的系统和方法相一致,在发送节点传输数据包之前,出现在传输路径上的节点的MTU值从MTU表中析取,表是通过周期性的在网络中的节点间交换问候消息建立的,并且析取出的MTU值的最小值确定为路径MTU。因此这是个优点,因为路径MTU能被发现而无需优先于传输数据包的额外无线资源损耗。
如同上面所讨论的,由于路径MTU发现优先于数据包传输,并且数据报的传输要基于发现的路径MTU,由于现有技术里的数据报-大小通报消息,不会使数据包重新传输。因此这是个优点,因为网络性能能够被改进。
虽然对本发明连同作为范例的用图说明的实施例进行了说明,不偏离由附加的权利要求所定义的本发明的精神和范围,各种修改和改变都对本领域技术人员是显而易见的。因此,各种对本发明的实施例的改变都属于本发明的范围。
权利要求
1.一种在ad hoc网中发现路径最大传输单元的系统,包括路径MTU-确定单元,其可操作用于从MTU表析取出现在传输路径中的节点的MTU值,该表是利用问候消息由出现在网络中的节点的MTU值建立起来的,并确定析取出的MTU值中的一个作为路径MTU值。
2.如权利要求1所述的系统,其中每个问候消息包括消息类型字段,用于记录消息的类型的信息;消息长度字段,用于记录消息长度的信息;和节点字段,用于记录网络中出现的节点的地址和MTU值。
3.如权利要求2所述的系统,其中节点字段包括发送节点字段以在其上记录传输问候消息的节点的地址和MTU值。
4.如权利要求2所述的系统,其中网络中出现的节点的地址和MTU值储存在MTU表中。
5.如权利要求1所述的系统,进一步包括MTU表-管理单元,其可操作用于基于周期性收到的问候消息中包含的节点的地址和MTU值更新MTU表;并且问候消息-传输单元,其可操作用于将MTU表储存的节点的地址和MTU值插入到每个问候消息中,并周期性的传输合成的问候消息。
6.一种在ad hoc网中发现路径MTU的方法,包括通过从MTU表中析取传输路径中出现节点的MTU值确定MTU路径,该表是利用问候消息由出现在网络中的节点的MTU值建立起来的,并确定析取的MTU值的一个为路径MTU值。
7.如权利要求6所述的方法,其中每个问候消息包括消息类型字段,用于记录消息类型的信息;消息长度字段,用于记录消息长度的信息;和节点字段,用于记录网络中出现节点的地址和MTU值。
8.如权利要求7所述的方法,其中节点字段包括发送节点字段,记录传输问候消息的节点的地址和MTU值。
9.如权利要求7所述的方法,其中网络中出现的节点的地址和MTU值储存在MTU表中。
10.如权利要求6所述的方法,进一步包括基于周期性收到的问候消息中包含的节点的地址和MTU值更新MTU表;和将MTU表内储存的节点的地址和MTU值插入到每个问候消息中,并周期性的传输合成的问候消息。
11.如权利要求6所述的方法,其中确定MTU路径包括如果有数据要传输,基于路由表确定传输路径;从上述的MTU表中析取传输路径中出现的节点的MTU值;并且检查析取的MTU值中的最小的MTU值,并确定查出的MTU值为从发送节点到接收节点的路径MTU值。
12.如权利要求10所述的方法,其中更新MTU表-包括分析接收到的问候消息,并析取传输问候消息的节点与网络中的出现节点的地址和MTU值;将析取的地址和MTU值与储存在MTU表的节点的地址和MTU值进行比较,并确定是否有节点的地址和MTU值要增加或改变;并且如果确定有节点的地址和MTU值要增加或改变,基于析取的地址和MTU值更新MTU表。
13.如权利要求10所述的方法,其中传输问候消息包括在每个问候消息的发送节点字段记录传输问候消息的节点的地址和MTU值;在节点字段参照MTU表记录网络中出现的节点的地址和MTU值;和传输生成的问候消息到相邻节点。
全文摘要
在移动自组织(ad hoc,移动自组织)网络中发现路径MTU的系统和方法,包括基于周期性的在节点间收到的问候消息(hello message)中包含的节点的地址和MTU值更新MTU表,将MTU表中储存的节点的地址和MTU值插入到每个问候消息中,并周期性的传输合成的问候消息,从MTU表析取传输路径中出现节点的MTU值,并确定析取的MTU值中的一个为传输数据包的路径MTU值。
文档编号H04W84/18GK1543236SQ20041004215
公开日2004年11月3日 申请日期2004年5月8日 优先权日2003年5月2日
发明者金亨硕 申请人:三星电子株式会社