通信系统、转发节点、路径管理服务器、通信方法和程序的制作方法

文档序号:7913530阅读:214来源:国知局
专利名称:通信系统、转发节点、路径管理服务器、通信方法和程序的制作方法
技术领域
本发明涉及通信系统、转发节点、路径管理服务器、通信方法和程序,特别是涉及通过网络中布置的转发节点转发分组来实现通信的通信系统、转发节点、路径管理服务器、 通信方法和程序。
背景技术
图20示出了使用IP(因特网协议)的网络配置。在图20中,通信节点100(通信节点IOOa和通信节点100b)为使用IP执行通信的通信节点。当转发节点200接收到由通信节点100发送的IP分组,转发节点200确定所述IP分组的转发目的地,并转发到所述确定的转发目的地。这些转发节点重复上述操作,并最终转发所述IP分组到是目的地的通信节点。
在确定IP分组的转发目的地时,转发节点200使用内置的路由表。该路由表为一表格,其指示出哪个网络目的分组应当通过哪个接口被发送到进行后续转发操作的转发节点;在该表格作为一个条目列出对应目的地网络地址、下一转发目的地IP地址、以及目的地接口。该条目包括除了上述信息以外的信息,但是于此为了简单这些信息被省略了。
网络地址是通过取出IP地址的高位而得到的地址,其以例如192. 168. 1. 0/24 的格式进行表述。在这种情况下,所述地址的高M位为网络地址,从192. 168. 1. 1到 192. 168. 1. 255的地址被包括在所谈及的网络中。在这种情形下,M被称为前缀长度。
当合适的路由信息从所述路由表中被确定时,转发节点200使用称为最长匹配方法的方法。该方法中IP分组的目的地地址与各个路由表的条目进行比较,以确定从目的地地址的高位开始有更长位数相匹配的条目。
所述路由表通过例如在转发节点200中的手动设置的方法预先地被设置,或者通过称为路由协议的用于交互路由信息的协议进行自动地设置。
在IP网络中,分组通过上述转发方法被转发,但是该转发方法存在问题,在上述情形下分组的转发依靠各个转发节点的路由表,并且路径是不能够完全被控制的。此外,因为转发目的地仅通过目的地地址而被确定,由于通信由哪种应用所执行的不同或者源地址的不同,所以会存在确切的路径控制是不可能的问题。
作为一种执行上述路径控制的方法,存在一种称为源路由的方法。源路由方法中作为源头的节点(例如,通信节点100a)在被发送的分组中明确地列出了期望在转发路径中的转发节点200的地址。在这种情况下,通信节点IOOa可转发分组到目的地节点(例如, 通信节点100b),通过正在使用的应用等所倾向的转发路径。
此外,在也称为MPLS (多协议标记交换)的分组转发技术中,存在对应于上述源路由的技术。MPLS技术中标签被分配给接收到的分组,并且基于所述标签进行转发处理。
当分配标签执行时,在分组被配置在MPLS网络边界的转发节点接收到后,所述分组被转发,并且此后,在MPLS网络中的转发节点重复转发操作,同时每次分组被转发时,重新附着标签。当由布置在MPLS网络边界的转发节点转发分组到外部网络时,所述标签被在谈及的转发节点所移除。
在MPLS中,对应于源路由的技术是CR-LDP (受限路由-标签分发协议)。LDP是用于在MPLS网络中的转发节点间交换标签的协议,目标在于流量工程等;具有严格地指示分组转发路径的目标的LDP是CR-LDP。
专利文件1揭示一种方法,其中在ad hoc网络中,控制分组的总数可被减少,其不是通过使所有移动终端设备在相邻移动终端设备之间发送链路信息,而是通过仅仅一作为簇头的移动终端设备发送链路信息。
此外,同样地关于执行路径控制,非专利文件1提出一种称为OpenFlow的技术。 在OpenFlow技术中,通信是点对点的流,路径控制、故障恢复、负载均衡和优化是在流单元中进行。作为转发节点的OpenFlow交换机被提供有用于与OpenFlow控制器相通信的安全通道,并且OpenFlow交换机根据流表格进行操作,在该流表中的合适的添加或者改写由 Openflow控制器所指明。在上述流表中有如下定义,其用于校对分组头的规则组、定义处理内容的操作和流统计信息。
例如,当OpenFlow交换机接收到第一分组,从上述流表格检索出一个具有与所接收分组的头信息相符合的规则(FlowKey)的条目。作为检索的结果,在与所接收分组相符合的条目被发现时,OpenFlow交换机对所接收到的分组执行在所谈及的条目中的操作字段所描述的处理内容。另一方面,作为检索的结果,在与所接收分组相符合的条目没有被发现时,OpenFlow交换机将所接收到的分组通过安全通道转发到OpenFlow控制器,请求基于所接收分组的源头和目的地确定所述分组的路径,并接收用于实现上述确定步骤的流条目, 然后更新所述流表。
现有技术文件
专利文件
专利文件1
日本专利特许公开号No. JP-P2007-235444A
非专利文件
非专利文件1
Nick McKeown和7个其他人,“OpenFlow”:在大学网络中支持创新)[在线],[于 2009年7月17日检索]
因特网 URL:
http://www. OpenFlowswitch. org//documents/OpenFlow-wp-latest. pdf 发明内容
本发明解决的问题
前述专利文件1和非专利文件1的整个揭示通过引用被合并于此。依照本发明的相关技术的分析如下被给出。基于IP技术的转发节点,更加明确地说是置于交换机和路由器的路由表,在稳定地变得更大,一个叫路由信息爆炸的问题被提出。由于路由的增长,所需用于保存路由表的存储器的数量增长,因为路由确定处理占据时间,所以分组转发处理能力下降了。
在MPLS中,与IP路由相比,路由确定时间可以被减少,但是如果不同的转发策略被使用,在路由表中的条目的数量增加,这导致了处理能力的降低。
如前所述,从存储器减少和处理性能的提高来看,对于转发节点降低路由表中条目的数量是一个重要的问题。
但是,在上述源路由中,因为转发节点100的地址被包含在分组中,所以产生了可被包含在分组中的净数据量的降低这样一个问题。相应地,源路由限于用在某些应用中,例如网络测试等,而在与例如应用的通信中的分组(下面称作“数据分组”)中不使用。注意的是,在净数据之外的信息称为开销。更明确地说,上述问题可被再申明为开销变大的问题。
此外,在CR-LDP中使用的分组中,类似于在前述IP路由中的源路由,包括有用于各个转发操作(用于每1跳)的转发节点的信息。作为转发节点信息,使用例如IPv4地址或者IPv6地址,但也是在这种情形下,当所有转发节点信息在转发路径中被列出时,所谈及的信息会增加,因此在控制分组之外的使用不现实。结果是,当数据分组的转发路径被严格地确定时,就需要通过CR-LDP或者相似协议在转发节点内为各个转发策略设置转发信肩、ο
专利文件1的方法涉及ad hoc网络,其不需要移动通信网络基础设施,并是仅通过多个移动终端设备来配置的。因为网络结构一直在改变,所以这种方法不能实现像前述源路由中那样源可以指定路径的路径控制。
此外,在非专利文件1的方法中,各个转发节点不得不像在本说明书开始处所提及的参考路由表的方法那样参考流表,要考虑的是,伴随着条目的增加,延迟(延迟时间) 出现并且在上述节点上施加了负担。
如前所述,在添加用于各个不同类型转发策略的条目到路由表或者流表的方法中,存在添加、更新和移除条目的处理负担的问题,以及路由表中信息量增加的问题。在明确标明转发路由的源路由或者相似技术中,存在开销变大的问题,这不适合于数据分组的传送。
考虑到前述的内容,实施了本发明。本发明的一个目的在于提供一种通信系统、转发节点、路径管理服务器、通信方法和程序,其可以通过使用简化的转发表实施,此外也可被应用到数据分组的路径控制。
解决上述问题的手段
根据本发明的第一方面,提供了一种通信系统,包括
路径管理服务器,其通过设置用于标识数据传送网络的转发路径中各个转发节点中提供的通信接口,或者在所述各个转发节点和其邻居节点之间延伸的链路的标识,来配置转发路径信息;和
转发节点,其对于添加了包含有所述转发路径信息的分组头的分组,根据所述转发路径信息,执行分组转发处理。
根据本发明的第二方面,提供了一种连接到路径管理服务器的转发节点,所述路径管理服务器通过设置用于标识数据传送网络的转发路径中各个转发节点中提供的通信接口,或者在所述各个转发节点和其邻居节点之间延伸的链路的标识,来配置转发路径信息;其中所述转发节点对于被添加了包含所述转发路径信息的分组,根据所述转发路径信息进行分组转发处理。
根据本发明的第三方面,提供了一种路径管理服务器,其创建包含在将被添加到从源通信节点发送来的分组的头中的转发路径信息。
根据本发明的第四方面,提供了一种通信方法,包括数据传送网络的转发路径中各个转发节点接收一分组,该分组中添加了包含通过设置用于标识数据传送网络的转发路径中各个转发节点中提供的通信接口,或者在所述各个转发节点和其邻居节点之间延伸的链路的标识,来配置的转发路径信息的头;对所述分组根据所述转发路径信息进行分组转发处理。本发明方法与被称为形成数据传送网络的转发节点的特定装置相关。
根据本发明的第五方面,提供了一种在计算机上执行的程序,用于配置前述转发节点或者路径管理服务器。要注意的是,本程序可以被记录在计算机可读的介质中。也就是说,本发明可实现为计算机程序产品。
发明的效果
根据本发明,在不使用大容量的转发表的情况下,可以进行分组的路径控制,而且净数据量也没有压力。产生上述效果的原因是转发节点被配置为根据分组头中的转发路径信息执行分组转发处理,而且转发路径信息通过设置链路或通信接口的标识而配置。


附图的简单描述
图1为示出根据本发明的第一示范性实施例的通信系统的图。
图2为示出根据本发明的第一示范性实施例的通信系统的边界转发节点的结构的图。
图3为示出边界转发节点和内部转发节点中的记录单元中记录的转发表的图。
图4为添加到边界转发节点的用于路径转发的分组头的格式的例子。
图5为示出根据本发明的第一示范性实施例的通信系统的内部传送节点的结构的图。
图6为示出根据本发明的第一示范性实施例的通信系统的路径管理服务器的结构的图。
图7为示出来自各自转发节点的邻居信息的图。
图8为从图7中的邻居信息配置的网络拓扑的一个例子。
图9为示出当边界转发节点接收到分组时的操作的流程图。
图10为示出图9中的转发处理细节的流程图。
图11为示出当内部转发节点接收到分组时的操作的流程图。
图12为示出了边界转发节点和内部转发节点发送邻居信息通知的操作的流程图。
图13为示出了当路径管理服务器接收到邻居信息通知时的操作的流程图。
图14为示出了当路径管理服务器请求路径信息时的操作的流程图。
图15为示出了当通信节点发送分组到相对通信节点时分组转发流的序列图。
图16为示出根据本发明的第二示范性实施例的通信系统的边界转发节点的结构的图。
图17为示出当本发明的第二示范性实施例的边界转发节点接收分组时的操作的流程图。
图18为示出本发明的第二示范性实施例的边界转发节点或者内部转发节点中的路径信息缓存的内容的图。
图19为示出在本发明第二示范性实施例的通信系统中当对通信节点接收到的分组的源执行分组发送时的分组转发流的序列图。
图20为示出如背景技术的描述的执行分组转发的通信系统的图。
具体实施方式
实施本发明的方式
首先描述本发明的示范性实施例的梗概。本示范性实施例的通信系统的转发节点,在包含转发路径信息的分组头被分配给接收到的分组时,基于分组头中的所述路径信息执行转发处理。
这里,转发路径可以是使处在转发路径上的各个转发节点依转发顺序布置标识, 该标识标示出目的地的通信接口。如果所述标识的长度足够唯一地确定各个转发节点中的目的地,那样就足够了。
不同于在本说明书的开始部分所谈及的源路由,在本发明中形成转发路径信息的标识可以短信息来进行描述,例如一个字节长,以便使得对净数据量的影响小或者不重要。 相应地,不但对于一些控制分组,而且所有的分组例如数据分组,可能为每一跳包含描述转发路径的信息,这样高级转发控制变成可能。
此外,如果各个转发节点具有标识和目的地的通信接口之间的对应关系这样就足够了,并且因为没有必要保存具有大量项目的转发表,例如在本说明书开始处谈及的路由表,这就有可能减少存储器的数量。此外,因为可以简单快速地确定目的地,这就也可能减少分组转发延迟。而且,各个转发节点的CPU处理能力可以是低的。
要注意的是,在布置在与外网络相邻接的转发节点(边界转发节点)中,在转发节点间可如下地添加和移除包含前述转发路径信息的分组头。边界转发节点从外网络接收分组,从独立提供的路径管理服务器或者所述边界转发节点中记录的信息中获取所述分组的转发路径,然后分配包含转发路径信息的分组头到所述接收到的分组。此外,所述边界转发节点在发送分组到外网络时移除所述分组头。
第一示范性实施例
接着,参考附图就本发明的第一示范性实施例进行详细说明。图1是示出根据本发明的第一示范性实施例的通信系统的图。参见图1,示出了通信节点IOOa和100b,边界转发节点300a和300b,内部转发节点400和路径管理服务器500。
数据传送网络600是使用本发明的方法对分组进行转发操作的网络;外部网络 700是使用不同于网络600的方法来执行分组转发操作的网络,如在IP网络等中。但是,如果外部网络700的管理者不同于网络600的管理者,即使上述两个网络的转发方法是相同的,也可认为是外部网络。于此,给出外部网络700是IP网络的描述。外部网络700通过边界节点300a和300b连接到数据传送网络600。
通信节点IOOa和IOOb为属于外部网络700的两个通信节点,并且分组的发送和接收是根据外部网络700的分组转发方法进行的。也就是说,在本示范性的实施例中有用于执行IP分组的发送和接收的节点。因为通信节点IOOa和IOOb相似于常规的IP节点, 所以其详细描述被省略了。
边界转发节点300a和300b被置于数据传送网络600和外部网络700之间,在接收到从通信节点IOOa或IOOb发送来的分组时分配包含转发路径信息的分组头(将随后进行说明)(以下称为路径信息头),另外基于所述分组头中的转发路径信息,转发所述分组到数据传送网络600中的内部转发节点400。
此外,在接收到从内部转发节点400传送来的分组,并且依据所述分组头中的转发路径信息确定这是在数据传送网络600中的最后的转发路径时,边界转发节点300a和 300b从所接收到的分组中移除分组头,此后传送所述分组到外部网络700的通信节点IOOa 和 IOOb0
要注意的是,在下文中描述了从路径管理服务器500获取转发路径信息,但是不限于此,转发路径信息可以从保存在边界转发节点300中的信息来产生。
在本示范性实施例中,于下依边界转发节点300a(300b)、内部转发节点400、路径管理服务器500的顺序来描述结构。
图2是示出图1中的边界转发节点300a和300b的结构的图。如图2所示,边界转发节点300被配置为带有通信接口 310、分组转发单元320、分组头操作单元330、本地ID 确定单元340、邻居信息通知单元350、路径获取单元360和记录单元370。
通信接口 310是一个用于执行传送和接收分组的接口,并是由网络接口卡(NIC), 例如LAN卡或者相似物,以及用于驱动卡的软件(驱动程序)来实现。但是,不限于仅是上述的物理接口,逻辑接口也是可能的。在这种情况下,可能使用一种物理接口,并使其像是多个接口被提供了那样进行操作。
边界转发节点300被提供有一个或者多个前述的物理接口或者逻辑接口。各个通信接口 310被连接至数据传送网络中内部转发节点400或者另外的边界转发节点300。此外,一些通信接口 310也被连接到外部网络700的通信节点100。此外,一些通信接口 310 也被连接到路径管理服务器500。路径管理服务器500可以被布置在数据传送网络600中, 并且连接可以是通过路径管理服务器500的专用网络。
分组转发单元320被提供了一功能,在路径信息头被分配给接收到的分组的情形下,其基于记录在记录单元370中的信息和路径信息头来传送分组头。
如图3所示,转发表被记录在记录单元370中,一本地ID、形成目的地的通信接口、 对应于与所述通信接口 310相连接的邻居边界转发节点300或者内部转发节点400的标识的信息构成一个条目。分组转发单元320可转发分组到对应于本地ID的下一个节点。
于下要注意的是,边界转发节点300和内部转发节点400 —般被称为转发节点。此外,直接被连接的节点(通信节点100,边界转发节点300和内部转发节点400)被称为邻居节点。
图3是示出记录在边界转发节点300和内部转发节点400的记录设备中的转发表的图。在如图3所示的本示范性实施例中,作为本地ID的标识(链路ID)被用于分配给邻居转发节点之间或者边界转发节点300与通信节点IOOa(IOOb)之间的物理链路或者逻辑链路。所以,在本地ID字段中设置链路ID。在指示通信接口为目的地的“接口”字段中,设置标识了与分配有链路ID的链路相连的通信接口 310的信息。此外,在图3的例子中,与所述链路相连的转发节点的标识在字段“下一跳”中被设置,其中字段“下一跳”指示了邻居节点的信息。
要注意的是,当作为目的地的通信接口被连接到通过IP进行通信的通信节点 IOOa(IOOb)时,例如,通信节点IOOa(IOOb)的IP地址可被用作“下一跳”字段的标识。另一方面,在边界转发节点300或者内部转发节点400的情况下,使用一个唯一分配的标识(例如,图3的节点1或者节点i)。转发节点的标识可被预先设置,或者一个方法可被使用,在该方法中所述标识从外部节点,例如路径管理服务器或者类似物,来进行设置。此外,“下一跳”字段的标识不需要必须被使用在转发流程中,可以被省略。
可能使用标识通信接口 310的信息作为本地ID。因为需要标识通信接口 310的信息可使用小量的信息来描述(例如,大约1到2个字节),在标识通信接口 310的信息是长的时候(例如,当通信接口名字或者相似物被使用时),另外一个可以以短的信息,例如1 字节或者相似物,描述的标识被单独地分配和使用作本地ID。要注意的是,于此当没有特定的描述时,在描述中使用链路ID作为本地ID。
因为基本上有数十个量级的通信接口,提供了 L3交换机或者路由器来执行通常的层3转发操作,L2交换机来执行层2转发操作,链路标识和通信接口标识可通过一个字节而充分地表示出来。在实际的通信接口标识需要多个字节的长条目信息的场合中,可被包含在1个字节或者2个字节中的标识可单独被创建,并与通信接口标识相关联。
要注意的是,图3中的转发表被示出为简洁地描述本发明的一个例子,其它信息可进一步与各个条目相关联并且记录。
图4是使用在本示范性实施例中路径信息头的格式的一个例子。在图4中,“方向”标明了转发的方向。例如,“1”标明对于转发是常规(向前)方向,“2”标明对于转发是相反方向。在“当前偏置”中,设置在转发时被参考的本地ID信息的偏置信息(单位是字节)。这个值由从“本地ID#0”的偏置字节的数量来表征。当路径信息头在边界转发节点300中被分配时,“当前偏置”的值被设置为“0”。“头长度”表示了“路由长度”后面的以字节数量为单位的分组头的长度。考虑到分组的格式,使用4字节的单位值。当净数据的末端不符合4字节单位边界时,执行填塞(填充)操作(带有一组0的哑信息置于其后)。 “路由长度”表明了路径信息的字节的总数,跟随其后的一系列本地ID指示了路径信息。在 “本地ID#n”中,本地ID被设置,该本地ID将被第η跳的边界转发节点300或者内部转发节点400参考为目的地。前述图4的格式仅仅是个例子,不同类型的修改格式的信息可以被包含。
如前所述,通过使用本地ID作为转发路径的信息,其中所述本地ID在邻居转发节点间或者转发节点内的本地范围中是唯一的,有可能减少在路径信息头中的信息的数量。 要注意的是在本示范性实施例中,各个本地ID具有1个字节,但是有可能不能够以1个字节表征逻辑链路。在这种情形下,“本地ID#n”的最高比特可以被用作本地ID扩展标记,其标明是否所述本地ID具有1字节的符号或者2字节的符号。也就是说,在这种情形下当所述最高比特是0,本地ID可被解释为1字节标识,当所述最高比特是1,本地ID可被解释为 2字节标识。
当接收的分组的路径信息头的“方向”字段是“1”时,也就是说,当在常规方向上的转发被标明时,分组转发单元320参考路径信息头中的“当前偏置”;在参考了对应的本地 ID并确定目的地的通信接口 310之后,参考了“当前偏置”的值的本地ID的长度值(例如, 1个字节或者2个字节)增长,并且一分组从所确定的通信接口 310发送出去。另一方面, 当“方向”字段是“2”时,也就是说,当在相反方向上的转发被标明时,参考路径信息头中的 “当前偏置”,参考对应的本地ID之前的一个本地ID,并确定是目的地的通信接口 310。此后,参考路径信息头的“当前偏置”的值的本地ID的长度值减少,并且一分组从所确定的通信接口 310发送出去。
要注意的是,在本示范性实施例中给出了描述,在该描述中转发是在双向上进行的,但是在通信系统中仅仅在一个方向上的转发也是可能的。在这种情形下,在“方向”字段中可一直设置为“1”,或者上述字段可以不出现。
头操作单元330被提供有一功能,该功能在从外部网络700接收分组时从路径获取单元为每一跳获取路径信息,只要是所谈及边界转发节点的出口的边界转发节点300形成如图4所示的路径信息头,并且分配该路径信息头到分组。例如,当分配路径信息头时, 头操作单元330在“方向”字段中设置“1”,以表明以常规方向进行转发,并将“当前偏置” 字段设置为“0”,并在“本地ID#n”中设置所获取的用于每1跳的路径信息(本地ID)。此外,头操作单元330根据前述的规则为其它各个字段设置合适的值。
头操作单元330被提供有一功能,该功能在转发被分配了路径信息头的分组到外部网络700时,移除路径信息头。
本地ID确定单元340被提供了一种功能,该功能在所谈及的边界转发节点300和邻居节点之间进行信息交换,并确定一不重复的链路ID。例如,在下述方法中,有可能避免对邻居节点重复设置链路ID。
首先,通过向邻居节点发送其中链路ID已设置的分组,其中所述链路ID不是已经分配给其本身的链路ID,转发节点提议出一链路ID候选。被提议了链路ID的邻居节点确认是否链路ID在其自己的节点中重复,当没有重复的链路ID时,发送一响应分组到为建议源的转发节点,其中在该响应分组中所述被提议的链路ID和所述邻居节点自己的标识信息被设置了。另一方面,当在邻居节点中有重复的链路ID时,发送一响应分组,其中该响应分组中所述邻居节点自己的节点标识被设置并且有信息标明存在重复。这种流程被重复直到没有重复的链路ID。
以这种方式确定的链路ID和邻居节点信息被作为转发表记录在记录单元370中。
一个确定链路ID的方法的例子在前面进行了显示,但是链路ID也可以通过另一方法来确定。例如,使用路径管理服务器500或者相似物,其它节点可以被确定,并且通知各个转发节点。
要注意的是在使用通信接口的标识作为本地ID的场合,当如前所述以反向进行转发是不需要时,可能省略与上述邻居节点的协商。另一方面,在所述反向进行转发需要的场合,当通过与邻居节点协商,接口的标识被用作本地ID时,可能获取到关于邻居转发节点的哪个通信接口被连接到其自己的通信接口的信息;并且类似于前述的使用链路ID的场合,可能根据与“方向”字段一致的转发方向选择出一接口。
邻居信息通知单元350被提供了一功能,该功能用于发送包含有由本地ID确定单元340确定为本地ID的链路ID、与所述链路相连的邻居节点的标识、和自己标识的邻居信息到路径管理服务器500。当外部网络700的通信节点IOOa和IOOb被连接至所述链路时,可以通过其确定外部网络节点的信息被添加到所述信息中。此外,为了路径管理服务器 500进行路径计算,所述邻居信息可以包括例如各个链路的带宽、可靠性、拥挤状态、邻居节点故障信息和相似物的信息。用于发送邻居信息到路径管理服务器500的触发器可以在本地ID确定的流程完成时进行定时,或者发送可以在预定的时间间隔进行。此外,当进行带有链路信息和邻居节点故障信息的发送时,该发送可以由所述信息中出现的变化而触发。
路径获取单元360被提供一功能,该功能在从外部网络700的通信节点IOOa和 IOOb接收分组时,发送包含有边界转发节点300的标识和所述接收到的分组的信息的路径请求信号到路径管理服务器500,并获取所谈及的接收到的分组的转发路径。所述接收到的分组的信息为可能影响转发路径的确定的信息,在最简单的情形中所述接收到的分组的信息仅是目的地地址。但是,在实施更加精确的路径控制时,除了目的地地址,可能包括一些或者所有如下的信息,例如源地址、包含在所述分组的头之后的协议信息,当使用TCP(传输控制协议)或者UDP(用户数据报协议)时的目的地端口号,和源端口号。此外,其它信息也可以被包含。
作为发送路径请求信号的结果,路径响应信号从路径管理服务器500被返回。根据边界转发节点300作为起始点的转发路径,列出了用于每1跳的本地ID的信息被包含在转发路径信息中,其中该转发路径信息是包含在是路径响应信号中的。
要注意的是,可影响转发路径的信息,例如目的地地址和相似物,对应着一组本地 ID的信息,其中所述本地ID标示了转发路径,可以在所谈及的边界转发节点300中提前设置,并且可预先从路径管理服务器接收。在这种情况下,路径获取单元360从内部设置的信息中获取转发路径信息,而不是从路径管理服务器500中获取转发路径信息。
此外,在上述例子中,边界转发节点300作为起点具有一个本地ID,该本地ID可以标示出是第一转发目的地的通信接口,但是所述起点可为标示接收分组的通信接口 310的本地ID。
记录单元370保存有如图3所示的转发表,并且该转发表由分组转发单元320、本地ID确定单元340、邻居信息通知单元350所参考。
内部转发节点400被布置在数据传送网络600中,并且被提供了一个功能,以便在接收从邻居节点发送来的分组时,基于在分组中的路径信息头,将所谈及的分组发送到在数据传送网络600中的邻居节点。
图5为示出了图1中的内部转发节点400结构的图。内部转发节点400如图5所示,被配置为带有通信接口 410、分组转发单元420、本地ID确定单元430、邻居信息通知单元440和记录单元450。·
通信接口 410、分组转发单元420、本地ID确定单元430、邻居信息通知单元440和记录单元450分别地等同于边界转发节点300的通信接口 310、分组转发单元320、本地ID 确定单元340、邻居信息通知单元350和记录单元370,其详细的描述于此被省略。
也就是说,内部转发节点400可被认为缺乏边界转发节点300的头操作单元330和路径获取单元360。相反地,边界转发节点300可说是一通过添加头操作单元330和路径获取单元360到内部转发节点400而获取的转发节点。
路径管理服务器500收集邻居信息,其中该邻居信息由边界转发节点300和内部转发节点400来通知,并配置网络拓扑信息,该网络拓扑信息描述了在数据传送网络600中内部转发节点400与边界转发节点300的连接关系。所述网络拓扑信息也包括用于与边界转发节点300相连接的通信节点IOOa和IOOb的连接信息。当标示转发节点和在各个转发节点之间链路的状态的信息(拥挤状态、故障状态和相似物)被包含在所通知的路径信息中时,上述信息也与所述连接信息相关并被管理。提供了一个功能,在转发路径信息被从边界转发节点300请求时,该功能使用包含在路径请求中的信息和在内部配置的网络拓扑信息,执行计算以获取合适的转发路径,并且以执行路径请求的边界转发节点300作为起始点,对于直到外部网络700出口的边界转发节点300的转发路径,响应一信息,该信息列出用于每1跳的本地ID(链路ID)。
图6为示出图1中的路径管理服务器500结构的图。路径管理服务器500如图6 所示被配置为进一步具有通信接口 510、路径信息收集单元520、路径请求处理单元530、路径计算单元531和路径信息记录单元M0。
通信接口 510为一发送和接收分组的接口。如前所述,通过例如LAN卡的NIC,以及通过用于其操作的软件(驱动程序),可实现上述接口。
当路径信息收集单元520接收到从边界转发节点300和内部转发节点400发送来的邻居信息时,路径信息收集单元520使用发送了邻居信息的节点的包含在邻居信息中的标识、本地ID和邻居节点标识来配置保存在路径信息记录单元540中的数据传送网络600 的网络拓扑信息。当邻居信息包括例如链路频段、可靠性、拥挤状态和邻居节点故障信息的伴随信息时,该伴随信息与所述网络拓扑信息相关联并记录于其中。这些信息项可以被用作例如当计算路径时的链路成本,这些于后进行说明。
图7是从各个转发节点接收的邻居信息的例子。图8是依据图7中的邻居信息而配置的网络拓扑的例子。在图8的例子中,为了简单,伴随的信息被省略了。此外,外部网络假设是IP网络。
在图7中,“发送者ID”标示出发送邻居信息的转发节点的标识。在图7中,“链路 ID”标示出被分配给与转发节点相连的链路的链路标识。在图7中,“邻居ID”标示出与所述链路相连的邻居节点的标识。因为所述外部网络假设是为IP网络,IP地址被用作通信节点100的标识。此外,因为如前所描述的在邻居节点之间进行协商,所以在一个转发节点中链路ID没有被重复设置,但是允许非邻居转发节点使用相同的链路ID。例如,在ID为1 的节点和ID为10的节点之间使用链路ID为1的链路,在ID为5的节点和ID为6的节点之间也使用链路ID为1的链路,但是在各个转发节点中可能唯一地标识一个链路。也就是说,如果链路ID的长度足够确保在一个转发节点中的唯一性,那就足够了。
在图7中的邻居信息被获取到的场合,例如,路径信息收集单元520配置了如图8 所示的网络拓扑,并记录所述拓扑在路径信息记录单元540中。
链路ID被使用在图7中的邻居信息中,以及使用在依据图7中的邻居信息配置的图8中的网络拓扑信息中,但是当例如接口标识的其它信息被用作本地ID时,有可能以上述相同的方式配置所述网络拓扑信息。
路径请求处理单元530接收从边界转发节点300发送来的路径请求信号,以及于其中包含的信息,以及与路径计算请求一起,将它们通知给路径计算单元531。
当路径请求处理单元530获取到从路径计算单元531来的转发路径信息(在该信息中用于每1跳的链路ID以转发路径的顺序被列出)时,包含转发路径信息的路径响应信号被发送到边界转发节点300,该边界转发节点300是路径请求信号的源。
当被通知从路径请求处理单元530来的路径计算请求时,以输入的是路径请求源的边界转发节点300的标识和目的地地址作为相应起点和终点,路径计算单元531使用被记录在路径信息记录单元540中的图8的网络拓扑信息来执行路径的计算。在路径计算中, 可以使用称为Dijkstra方法的用于获取最短路径的算法。但是,也可能使用其它的算法。
当IP分组的源地址被包括在路径计算请求中时,源地址(也就是是由边界转发节点300接收的分组的源的通信节点IOOa或者IOOb的标识)也可以被用作起点。此外,在进行如上所述的路径计算中,路径计算可能是使用例如TCP或者UDP目的地/源端口号或者相似物的其它信息来进行的。另外,伴随链路的信息(带宽、拥挤状态和相似物),或者例如故障边界转发节点或者内部转发节点的标识的信息也可以被使用。
来自路径信息收单元520的如图8所示的网络拓扑信息被记录在路径信息记录单元MO中。从路径计算单元531参考网络拓扑信息,以计算路径。
于前在本发明的示范性实施例中描述的通信接口 310,410和510,可以如前所述, 通过例如LAN卡的NIC或者驱动NIC的软件(驱动程序),而被实现。
此外,记录单元370、记录单元450和路径信息记录单元540可以通过例如半导体存储器、硬盘驱动器或者相似物的记录信息的设备,而实现。
通过在一个或者多个安装于各个设备中的CPU中执行的计算机程序(软件),或者通过硬件,实现其它的功能块。由功能块执行的一些处理可能由软件来实现,剩余的处理可能由硬件来实现。
接着,参考附图,就本实施例的运行给出详细说明。首先,描述边界转发节点300 的运行。
图9示出了当边界转发节点300从数据传送网络600或者外部网络700接收分组时的处理。
首先,在通过通信接口 310接收分组时,分组转发单元320检测是否路径信息头被分配给分组(步骤S100)。
在路径信息头被分配时,控制进行至“是”,并根据路径信息头(步骤S 103)执行转发操作。另一方面,在路径信息头没有被分配时,控制进行至“否”,路径获取处理被执行 (步骤S101),在该步骤中通过从路径获取单元360发送路径请求信号到路径管理服务器 500,获取转发路径信息。
当完成了获取转发路径信息时,根据获取的转发路径信息的转发路径的顺序,头操作单元330设置本地ID到图4的路径信息头的本地ID字段(本地ID#n”)。此外,头操作单元330设置“方向”为1,“当前偏置”为0。并且也设置其它字段为合适的值,头操作单元330分配路径信息头到所接收的分组的头(步骤S 102)。
分组转发单元320根据于前描述的路径信息头,实施转发操作(步骤S103)。
图10为表示了图9中步骤S103中的转发操作的细节的流程图。参见图10,首先分组转发单元320检测路径信息头的“方向”字段,并决定是否以常规(前向)方向转发或者以反方向进行转发(步骤S200)。
当“方向”字段的值表明以常规方向(“1”)进行转发,控制进行到“是”,并且就是否所谈及的分组的目的地为外部网络700进行一个决定(步骤S201)。在以常规方向进行转发时,可以通过比较“当前偏置”和“路由长度”来决定是否转发到外部网络700。作为另一个决定的方法,可以使用能够区分是否本地ID将被转发到外部网络700的值,以及可以在最终本地ID之后,在所述路径信息头中包含标明终点的信息。其它的方法也可被使用。
当决定不转发到外部网络700时,控制进行到“否”,1跳的字节数被添加到路径信息头的“当前偏置”中(步骤S202)。所述1跳的字节数为当前被引用的“本地ID#n”的字节数。这里,在加入到“当前偏置”的值之前,被引用的本地ID被保存。
分组转发单元320使用保存的本地ID,以常规方向进行分组的转发操作(步骤 S206)。特别的是,将是目的地的通信接口 310通过使用记录在记录单元370中的转发表的信息从本地ID而被确定,而且分组被从所述通信接口 310而转发。
另一方面,当在步骤S200中“方向”字段的值表明了是在反方向(“2”)上进行转发时,控制进行到“否”,并且决定了是否所述分组的转发目的地为外部网络700(步骤 S203)。在反方向上的转发中,可以根据是否“当前偏置”的值为“0”(当所述值为“0”时, 就是到外部网络的发送),决定是否转发到外部网络700。这是一种用于首先发送分组的通信节点IOOa和IOOb和接收分组的边界转发节点300之间的链路的链路ID没有被用作第一本地ID时,所使用的决定方法。在所述链路ID被用作第一本地ID的场合,在目前“当前偏置”具有的值是1跳数量相减后的“0”时,就决定转发到外部网络。作为另一个决定方法,当以反方向进行转发时,可以使用一个可区分是否本地ID将被转发到外部网络700的值,并且可以在第一本地ID之前,在路径信息头中包含标示开始的信息。其它方法也可被使用。
当决定不转发到外部网络700时,控制进行到“否”,从路径信息头的“当前偏置” 的值中减去1跳数量(步骤S204)。这里,在减去步骤之后,被“当前偏置”所引用的本地ID被保存。
分组转发单元320使用所保存的本地ID在反方向上执行分组的转发操作(步骤 S206)。特别的是,使用记录在记录单元370中的转发表信息,从本地ID确定将为转发目的地的通信接口 310,并且分组被从所述通信接口 310而转发。
当在上述步骤S201或者步骤S203中决定转发到外部网络700时,在各个情况下控制均进行到“是”,由头操作单元330执行移除路径信息头的处理(步骤S2(^)。这里,在移除所述路径信息头之前,为转发目的地的本地ID被保存。
分组转发单元320使用所保存的本地ID,执行到外部网络700的分组的转发处理 (步骤S206)。特别的是,通过使用记录在记录单元370中的转发表信息,从本地ID确定将是转发目的地的通信接口 310,并且分组被从所述通信接口 310而转发。
要注意的是,当“方向”字段没有被使用,并且转发是一直在常规(前向)方向进行时,步骤S200的关于转发方向的决定就不需要了,执行一个步骤S201的关于是否转发到外部网络的决定就足够了。
接着,描述内部转发节点400的运行。
图11示出了当内部转发节点400接收到从数据传送网络600的边界转发节点300 或者其它内部转发节点来的分组时的处理。
参见图11,首先在通过通信接口 410接收分组时,分组转发单元420检测是否路径信息头被分配到所述的分组(步骤S300)。
在路径信息头被分配了的场合,控制进行到“是”,检测路径信息头的“方向”字段, 并决定是否在常规方向进行转发或者在反方向进行转发(步骤S302)。另一方面,在路径信息头没有被分配的场合,控制进行到“否”,所接收到的分组被丢弃(步骤S301)。
当在步骤S302中检测的“方向”字段的值标明在常规方向(“1”)进行转发时,控制进行到“是”,1跳的字节数被添加到路径信息头的“当前偏置”中(步骤S303)。这里,在添加到“当前偏置”的值之前被引用的本地ID被保存。
另一方面,在步骤S302中检测的“方向”字段的值表明以反方向(“2”)进行转发时,控制进行到“否”,从路径信息头的“当前偏置”中减去1跳的字节数(步骤S304)。这里,在减去后被“当前偏置”引用的本地ID被保存。
最后,基于在上述步骤S303或步骤304中的所保存的本地ID,分组的转发处理被执行。特别的是,通过使用记录在记录单元450中的转发表信息,从本地ID确定将是转发目的地的通信接口 410,并且分组被从所述通信接口 410而转发(步骤S305)。
要注意的是,当“方向”字段没有被使用,并且转发是一直在常规方向进行时,步骤 S320的关于转发方向的决定就不需要了,步骤S303中的“当前偏置”相加处理一直被执行。
接着,描述关于将边界转发节点300和内部转发节点400决定本地ID以及其结果作为邻居信息通知到路径管理服务器的流程。
图12为示出边界转发节点300和内部转发节点400发送邻居信息通知的操作的流程图。
参见图12,起先本地ID确定单元340(430)确定本地ID (步骤S400)。在使用链路ID作为本地ID时,通过实施邻居节点与链路ID之间的协商而确定链路ID。要注意的是在使用通信接口的标识作为本地ID时,分配给在边界转发节点300或者内部转发节点400 中提供的通信接口 31(K410)的标识为本地ID。
这里,相对于所有可以由边界转发节点300或内部转发节点400使用的物理或者逻辑链路,确定链路ID。以相同的方式,相对于所有物理或者逻辑通信接口确定通信接口标识。但是,为了管理或者其它原因,一些链路和通信接口可被排除在外。
接着,本地ID确定单元340 (430)将所确定的本地ID与通信接口信息(决定作为目的地的通信接口所必须的信息)联系起来,上述本地ID与通信接口信息将被记录在记录单元370(450)的转发表(参见图幻中(步骤S401)。在各个链路之前的相连接的邻居节点的标识被相关联,并记录在所述转发表中。此外,与各个链路相关的信息和邻居链路的故障信息和相似物可以被作为伴随信息而记录。
在对所述转发表的记录完成时,邻居信息通知单元350(440)依据记录在记录单元370(450)中的转发表信息,配置设置了邻居节点标识的邻居信息和本地ID(参见图7), 并发送它们到路径管理服务器500 (步骤S402)。此外,与各个链路相关的信息和邻居节点的故障信息和相似物可以被作为伴随信息而被保存在邻居信息中。
接着,描述路径管理服务器500的运行。
图13为表示了接收上述邻居信息的路径管理服务器500操作的流程图。参见图 13,首先,当来自边界转发节点300或者内部转发节点400的邻居信息在路径信息收集单元 520被接收时(步骤S500),路径管理服务器500从所述接收的邻居信息获取本地ID和邻居节点的标识,并使用所获取的信息配置将被记录在记录单元MO中的网络拓扑信息(步骤 S501)。图14为表示了路径管理服务器500被边界转发节点300请求路径信息时的操作的流程图。参见图14,首先,当从自边界转发节点300接收到路径请求信号时,路径请求处理单元530向路径计算单元531提供包含在所述路径请求信号中的信息的通知(步骤
5600)。接着,根据包含在在步骤S600中被通知的路径请求信号中的信息和记录在路径信息记录单元MO中的网络拓扑信息,路径计算单元531计算最佳的转发路径(步骤
5601)。当计算完转发路径,路径计算单元531依所确定路径的转发顺序读出用于每1跳的本地ID,并提供通知到路径请求处理单元530。接收了转发路径计算结果的路径请求处理单元530,在路径信息响应信号中设置被通知的转发路径信息(本地ID的排列),该路径信息响应信号将被发送到为路径请求信号的源的边界转发节点300(步骤S602)。最后,参考图15中的序列图,其描述了为IP节点的通信节点IOOa发送分组到边界转发节点300a的流程序列,其连续转发流程被执行,最后传递到为IP节点的通信节点 IOOb0这里,给出了一个例子的描述,其中各个节点的连接状态如图8所示网络拓扑中那样。边界转发节点300a等于图8中ID为1的节点。边界转发节点300b等于图8中ID 为8的节点。IP分组的源地址为192. 168. 0. 50,目的地地址为192. 168. 0. 20。当从通信节点IOOa发送的IP分组到达边界转发节点300a时(步骤S700),边界转发节点300a根据图9所示的流程图执行操作。这里,因为路径信息头没有被分配到IP分组中,图9中的步骤SlOl中的路径信息请求信号被发送到路径管理服务器500(步骤S701)。接收到路径信息请求信号的路径管理服务器500在根据图14的流程图计算路径信息和确定转发路径之后,发送路径信息响应信号到边界转发节点300a (步骤S702)。在不考虑链路带宽或者拥挤状态计算最短路径时,如下地计算转发路径。对于图 8的网络拓扑中的最短路径,ID = 1的节点-> ID = 10的节点-> ID = 8的节点-> 192. 168.0. 20的节点(为分组的目的地的外部网络的IP节点)被选择为转发路径。因此, 1,2,0这样的值以上述顺序作为本地ID被包含在路径信息响应信号中,其中1,2,0为图8 的网络拓扑的路径上的链路ID。这里,在ID为192. 168. 0. 50的节点(外部网络700的IP节点)和ID为8的节点之间的链路ID( = 0)可以被包含在路径信息响应中。在这种情况下,包含在所述路径信息响应信号中的本地ID的存储顺序为0,1,2,0。相反地,没有到外部网络(通信节点100b) 的链路ID( = 0)包含在路径信息响应中也是可以的。在这种情形中,本地ID的存储顺序为 1,2。此外,IP地址被用作外部网络的IP节点的ID,但是也可以使用从IP地址的上端提取的任意比特长度作为网络地址,层2信息例如MAC (媒体接入控制)地址和相似物或其它信息可被使用。当边界转发节点300接收路径信息响应信号(步骤S703)时,根据图9中的步骤 S102之后的操作,路径信息头被分配给在步骤S700中接收的IP分组,此后在图9的步骤 S103中,根据所述分配的路径信息头,分组从通信接口被发送,其中所述通信接口对应着将被转发的本地ID( = 1)(步骤S704)。结果是,分组被转发到ID为10的内部转发节点400。在接收被分配了路径信息头的分组时(步骤S7(^),内部转发节点400根据图11 所示的流程图执行转发操作(步骤S706)。这里,根据转发路径信息,分组从通信接口被发送,其中所述通信接口对应着将被转发的本地ID ( = 2),并且分组被转发到ID为8的边界转发节点300b。在接收到被分配了路径信息头的分组时(步骤S707),边界转发节点300b根据图 9所示的流程图执行转发操作。此外,在图9的步骤S103中,图10所示的流程图中的转发处理额外地被执行了。这里,因为在图10的步骤S201中决定转发到外部网络,在路径信息头被从所接收的分组移除后,边界转发节点300b根据在所述移除进行之前路径信息头中的信息,发送来自通信接口的分组,其中所述通信接口对应着将被转发的本地ID ( = 0)(步骤S708)。结果是,IP分组被最终转发到通信节点100b。根据如前所述的本示范性实施例,其配置为通过使用本地ID (其中所述本地ID被确保为在本地范围中例如在转发节点中或者在邻居转发节点间是唯一的)而不使用路径信息(所述路径信息例如通过IP地址或者相似物被确保为全球唯一)来标明转发目的地。 结果是,1跳量的转发路径可以被包含在大约1字节或者2字节的信息中,并且当转发路径的信息被包含在路径信息头中并被分配给分组时,有可能缩减由于分配的头产生的系统开销到很小的量。结果是,变得有可能在所有分组中包含路径信息头,而不限制应用。此外,在本示范性实施例中,在转发节点中提供的转发表中可能的条目数目,大约等于提供在各个转发节点中的通信接口的数目。另外,可能降低转发节点用于保存、更新和使用转发表而所需的存储器容量和CPU处理能力,并且使得低成本转发节点成为可能。根据本示范性实施例,甚至在转发路径为每1跳严格地指定的场合,从其结果可能以好的效率转发净信息,并且进一步地是以高速度进行转发。第二示范性实施例接着,给出了关于本发明的第二示范性实施例的详细描述,其中参考附图,对本发明的第一示范性实施例添加了修改。因为本发明的第二示范性实施例的整体结构几乎与第一示范性实施例的结构和功能相同,以下的描述将集中于它们之间的不同点。图16为示出本发明的第二示范性实施例中的边界转发节点301的结构的图。参见图16,本示范性实施例中的边界转发节点301具有一结构,其中缓存管理单元380被添加到第一示范性实施例的边界转发节点300的结构中。此外,路径获取单元360A的操作和记录在记录单元370A中的信息是不同于第一示范性实施例的。路径获取单元360A被提供了一功能,该功能几乎与本发明的第一示范性实施例的路径获取单元360相同,但是路径获取单元360A被进一步提供了一功能,该功能在向路径管理服务器500请求转发路径信息之前,搜索路径信息缓存,这将在后面进行描述。搜索路径信息缓存的结果是,在对应于所接收到的分组的路径信息缓存被找到时,从所发现的路径信息缓存中获取转发路径信息,而不是向路径管理服务器500请求路径信息。此外,在所述路径信息缓存没有被找到时,路径获取单元360A发送所接收的分组的信息和从路径管理服务器500获取的转发路径信息到缓存管理单元380以记录为路径信息缓存。缓存管理单元380被提供一功能,该功能在路径获取单元360A从路径管理服务器 500获取转发路径信息时,和在头操作单元330移除路径信息头时,关联所接收分组的信息和设置在路径信息头中的信息,并将上述信息作为路径信息缓存记录在记录单元370A中。在本示范性实施例中,目的地地址和源地址被作为所接收的分组的信息而被记录。但是,除了所述目的地地址和源地址,其它信息也可以被使用。在固定时间段过去之后,或者当积累了固定数量的路径信息缓存时,可以从旧路径信息缓存中移除路径信息缓存。此外,出于管理原因或者相似原因,可以移除任意路径信息缓存。除了由第一示范性实施例中的记录单元370所记录的信息之外,记录单元370A进一步记录路径信息缓存。由缓存管理单元380来执行对于路径信息缓存的例如添加、更新和移除的管理。接着描述在前述的第二示范性实施例中的边界转发节点301的运行。图17示出了在边界转发节点301接收从数据传送网络600或者外部网络700来的分组时所进行的处理。参见图17,首先在通过通信接口 310接收分组时,分组转发单元320检测是否路径信息头被分配到所谈及的分组中(步骤S800)。当路径信息头被分配时,控制进行到“是”,并且根据路径信息头执行转发流程 (到步骤S809)。另一方面,当路径信息头没有被分配时,控制进行到“否”,并且路径获取单元360A检索在常规方向(前向)上的路径信息缓存(步骤S801)。在检索在常规方向(前向)上的路径信息缓存时,有可能比较接收到的分组的目的地地址和在路径信息缓存中的目的地地址。作为检索在常规方向(前向)上的路径信息缓存的结果,当发现了路径信息缓存时(步骤S802中的“是”),所谈及的路径信息缓存被用来添加路径信息头(到步骤S808)。另一方面,作为检索在常规方向(前向)上的路径信息缓存的结果,当没有发现路径信息缓存时(步骤S802中的“否”),路径获取单元360A检索在反方向上的路径信息缓存(步骤S804)。当检索在反方向上的路径信息缓存时,有可能比较所接收的分组的目的地地址和在路径信息缓存中的源地址。作为检索在反方向上的路径信息缓存的一个结果,当发现了路径信息缓存时(步骤S805中的“是”),所谈及的路径信息缓存被用于添加路径信息头(到步骤S808)。另一方面,作为检索在反方向上的路径信息缓存的一个结果,当没有发现路径信息缓存时(步骤S805中的“否”),路径获取单元360A发送路径请求信号到路径管理服务器500,并执行路径获取操作来获取转发路径信息(步骤S806)。当完成了获取转发路径信息,缓存管理单元380将包含在所接收的分组中的目的地地址和源地址,与在步骤S806中获取的转发路径信息进行关联,并将其作为路径信息缓存记录在记录单元370A中(步骤S807)。此外,头操作单元330,根据所获取的转发路径信息或者路径信息缓存的顺序,形成将被添加到所接收到的分组的头中的路径信息头(步骤S808)。设置在路径信息头的各个字段中的值如下。当转发路径信息从路径管理服务器500获取时,依据转发的顺序,路径信息被设置到图4所示的路径信息头的的本地ID字段(“本地ID#n”)。此外,“方向”被设置为“1”, 并且“当前偏置”被设置为“0”。此外,当路径信息在步骤S801的常规(前向)方向缓存检索中从路径信息缓存中获取时,“方向”被设置为“ 1,,并且“当前偏置”被设置为“0”。记录在路径信息缓存中的值被设置在“本地ID#n”中,同时维护其本来的顺序。另一方面,当路径信息在步骤S804的反方向缓存检索中从路径信息缓存中获取时,“方向”被设置为“2”并且“当前偏置”被设置为记录在路径信息缓存中的值。记录在路径信息缓存中的值被设置在“本地ID#n”中,同时维护其本来的顺序。要注意的是,当在步骤S804的反方向缓存检索中从路径信息缓存中获取路径信息时,记录在路径信息缓存中的值可以反顺序被设置在“本地ID#n”中。在这种情形下,“方向”被设置为“ 1,,,并且“当前偏置”被设置为偏置字节的数目,其中所述偏置字节指示了为第一个转发目的地的本地ID#n。分组转发单元320根据如前配置的路径信息头实施转发操作(步骤S809)。步骤 S809的处理的细节几乎与图10所示的第一示范性实施例中的边界转发节点300的转发处理相同,因此该细节被省略了。但是,在本示范性实施例中,在图10的步骤S205中,当路径信息头被移除时,缓存管理单元380将所接收的分组的信息和设置在路径信息头中的信息相关联,并将上述信息作为路径信息缓存记录在记录单元370A中。接着,给出了第二示范性实施例中通信节点IOOa和通信节点IOOb之间的分组转发操作流的描述。第一(向外)分组转发流程几乎与第一示范性实施例中的相同,分组如图15所示的序列图那样进行转发。但是,在图15的步骤S703和步骤S707中,在边界转发节点301a 和边界转发节点301b的每一个的记录单元370中创建如图18A和图18B所示的路径信息缓存。设置在路径信息头中的相同名字的字段中的值被记录在在图18的路径信息缓存的路径信息字段中记录的“方向”、“当前偏置”、“路由长度”中。路径信息头的“本地ID#n” 字段的值被记录在“本地ID”中,同时保持其本来的顺序。当从路径管理服务器500获取路径信息时,在“方向”中记录“0”,在“当前偏置” 中记录“0”。此外,用于所获取多个转发路径的本地ID的总字节长度和用于多个转发路径的本地ID分别被设置在“路由长度”和“本地ID”中。要注意的是括号中的值指在根据图 15中的序列图进行分组转发处理时记录的值。创建时间信息也被包括在图18的路径缓存信息中,但是这不是必须地需要的。要注意的是。HH:匪:SS的创建时间信息分别表示了小时、分钟和秒。接着,参考图19中的序列图描述了一流程序列,其中在由通信节点IOOa发送的分组被转发到目的地通信节点IOOb之后,通信节点IOOb发送分组到通信节点100a,其转发步骤依照顺序进行,最终传递到为IP节点的通信节点100a。在下文描述中,各个节点的连接状态如同于图8中所示的网络拓扑中的那样。边界转发节点301a等同于图8中的ID为1的节点。边界转发节点301b等同于图8中的ID 为8的节点。IP分组的源地址是192. 168. 0. 20,目的地地址是192. 168. 0. 50。当IP分组被从通信节点IOOb发送(步骤S900),并到达边界转发节点301b时, 边界转发节点301b根据图17中所示的流程图执行处理(步骤S901)。首先,因为路径信息头没有被分配给IP分组,在图17的S801步骤中执行在常规方向中的路径信息缓存检索。也就是说,执行处理以扫描图18B所示路径信息缓存中的目的地地址字段,并且搜索 192. 168. 0. 50目的地地址的条目。在图18B所示的路径信息缓存中,因为没有在目的地地址字段中具有 192. 168.0. 50目的地地址的条目,所以现在图17的S804步骤中执行在反方向上的路径信息缓存搜索。也就是说,执行处理以扫描图18B所示路径信息缓存中的源地址字段,并且搜索192. 168. 0. 50目的地地址的条目。在图18B所示的路径信息缓存的例子中,有在源地址字段中具有192. 168. 0. 50目的地地址的条目。路径获取单元360A读取通过搜索获取的条目中的路径信息。从如图18B所示的路径信息缓存中读取的路径信息如下‘方向'=1‘当前偏置'=2‘路径长度'=3‘本地 ID' = {1,2,0}这里,当根据所读的路径信息配置路径信息头时,维持转发路径“本地ID”的顺序。 在这种情形下,路径信息头的各个字段被设置为如下‘方向'=2‘当前偏置'=2‘头长度'=4丨路由长度'=3‘本地 ID#0' = 1‘本地 =2‘本地 ID#2 ‘ = 0以这种方式,因为“方向”是2,所以执行在反方向上转发。此外,在图15的序列图所示的常规方向(前向)上的转发操作中,认为包含在路径信息头中的本地ID的信息中,是不包含对应转发到外部网络的信息的。在这种情形下, 上述谈及的信息不包含在路径信息缓存中,结果是被配置的路径信息头的各个字段如下‘方向'=2‘当前偏置'=2‘头长度'=4‘路径长度'=3‘本地 ‘ = 1‘本地=2在路径信息头被配置之后,路径信息头被分配到所接收的分组,并且执行转发操作(步骤S902)。结果是,分组从对应本地ID ( = 2)的通信接口处被发送,并且分组被转发到ID为10的内部转发节点400。在接收分配有路径信息头的分组时,内部转发节点400遵循图11所示的流程图, 并对具有所分配路径信息头的分组执行在反方向上的转发操作(步骤S903)。这里,根据转发路径信息,分组从对应将被转发的本地ID( = 2)的通信接口处被发送,所述分组被转发到ID为1的边界转发节点301a (步骤S904)。在接收分配有路径信息头的分组时,边界转发节点301a遵循图17所示的流程图, 并对具有所分配路径信息头的分组执行在反方向上的转发操作(步骤S905)。此外,因为路径信息头的“当前偏置”为“0”,所以在图10的步骤S203中决定转发到外部网络,并且在步骤S205中路径信息头被移除。在这时,因为图18A所示的条目已经记录在边界转发节点301A的路径信息缓存中,条目的记录时间被更新,而不需要新添加其内容重复的路径信息缓存。此后,在移除路径信息头之后,使用分组的信息(目的地地址192. 168. 0. 50)实施转发处理。结果是,分组被转发到为目的地的通信节点IOOa (步骤 S906)。根据前述的本发明的第二示范性实施例,在从路径管理服务器500获取路径信息时,或者在移除路径信息头时,边界转发节点301a和301b记录从路径管理服务器500获取的路径信息和包含在路径信息头中的信息,并将所记录的信息用作为路径信息缓存。所以,发送路径请求到路径管理服务器500的频率被降低,这就有可能减少在路径管理服务器500上的负担。此外,根据本发明的第二示范性实施例,因为在形成用于发送到反向分组,即前面提及的分组,的源的分组的路径信息头时,使用了当分组被发送到目的地时被记录路径信息缓存,所以有可能提高降低路径管理服务器500上负担的效果。于上给出了对本发明的较佳示范性实施例的描述,但是本发明不限于上述的示范性实施例,在不脱离本发明的基本技术概念的范围之内,进一步的改进、替换和调整可以被添加。例如,在上述的各个示范性实施例中,使用在两链路端的相邻节点之间共享的链路ID 给出描述,但是也可能使用通信接口的标识作为本地ID。在这种情况下,在两个方向上进行转发时,通信接口的标识可以在相邻节点间交换,并且信息可被共享。清楚地是,单向转发也可被实施,而在相邻节点之间不执行通信接口标识的交换。此外,取代使用链路ID或者通信接口标识,有可能使用修改后的配置,其中第三个本地ID被用作数据索引,并且该第三个本地ID与链路ID和通信接口相关联。此外,例如在前述的示范性实施例中,描述了各个转发节点被提供了一本地ID决定单元,以及决定各个本地ID,但是有可能使用一种配置,其中在可能在路径管理服务器中获取各个转发节点的配置信息时,路径管理服务器决定本地ID并在其各自的记录单元中记录转发表。在这种情况下,可能省略各个转发节点的本地ID决定单元。而且,路径管理服务器可以获取各个转发节点的连接关系,并且在有可能设置本地ID使相邻节点不重复时, 可能省略掉各个转发节点的邻居信息通知单元。此外,前述示范性实施例的路径管理服务器500可以通过非专利文件1中的 OpenFlow控制器来实现,在这种情形下,转发节点可以通过OpenFlow交换机来实现。前述示范性实施例中的路径管理服务器500可以由一专用服务器来实现,而且有可能在前述的OpenFlow交换机之外实现在IP网络中一路由器或者在MPLS网络中MPLS交换机作为转发节点。否则,只要网络为有服务器可对网络中的转发节点进行中央控制,就可能运用本发明。工业适应件在例如数据中心的商业网络中,为了 QoS(服务质量)或者均分负担,需要根据例如目的地地址、源地址和使用的协议的各种条件,严格控制分组转发路径。根据本发明,可能严格地指明转发路径,同时缩减分组系统开销,不增加路径信息。所以本发明较佳地可被用于例如数据中心的商业网络。要注意的是,通过引用,前述的专利文件的各个揭示被合并于此。在本发明的整个揭示(包括权利要求的范围)的范围中,也基于本发明的基本技术原理,可以对实施例和例子进行修改和调整。此外,在本发明的权利要求的范围中,各种被揭示的元素的各种组合和选择是可能的。也就是说,本发明清楚地包括本领域技术人员可根据包括了权利要求的范围的整个揭示和其技术概念而实现的各种变形和修改。符号的解释100,100a,IOOb 通信节点200转发节点300, 300a, 300b, 301, 301a, 301b 边界转发节点310 通信接口320分组转发单元330头操作单元340本地ID决定单元350邻居信息通知单元360路径获取单元370记录单元360A路径获取单元370A记录单元380缓存管理单元400内部转发节点410 通信接口420分组转发单元430本地ID决定单元440邻居信息通知单元450记录单元500路径管理服务器510 通信接口520路径信息收集单元530路径请求处理单元531路径计算单元540路径信息记录单元600数据传送网络700外部网络
权利要求
1.一种通信系统,包括路径管理服务器,其通过设置用于标识数据传送网络的转发路径中各个转发节点中提供的通信接口,或者在所述各个转发节点和其邻居节点之间延伸的链路的标识,来配置转发路径信息;和转发节点,其对于添加了包含有所述转发路径信息的分组头的分组,根据所述转发路径信息,执行分组转发处理。
2.根据权利要求1所述的通信系统,其中所述标识在至少一个转发节点中是唯一的。
3.根据权利要求1所述的通信系统,其中所述标识在至少一个转发节点和与所述转发节点相邻的转发节点中是唯一的。
4.根据权利要求1到3中的任一权利要求所述的通信系统,其中所述分组头进一步包括指示转发方向的信息。
5.根据权利要求1到4中的任一权利要求所述的通信系统,其中在所述转发节点之中, 位于外部网络边界的转发节点(边界转发节点)包括分组头操作单元,其添加含有所述转发路径信息的分组头到从所述外部网络接收的分组;或者从发送到所述外部网络的分组中移除含有所述转发路径信息的分组头。
6.根据权利要求5所述的通信系统,其中所述边界转发节点进一步包括缓存管理单元,其保存包含在所述分组头中的信息,以及使用所保存信息而形成的分组头被分配给具有相同目的地的分组。
7.根据权利要求5所述的通信系统,其中所述边界转发节点进一步包括缓存管理单元,当所述分组头被移除时,其保存包含在所述分组头中的信息,以及使用所述保存的信息形成的分组头被分配给反向上被发送到其分组头被移除的分组的源的一个分组。
8.根据权利要求5到7中的任一权利要求所述的通信系统,其中所述分组头可以包括信息以使所述边界转发节点区分转发到外部网络的情形和另一情形。
9.根据权利要求5到8中的任一权利要求所述的通信系统,进一步包括路径管理服务器,其保存所述各个转发节点的连接信息,并响应于来自所述边界转发节点的请求而创建和提供转发路径信息。
10.根据权利要求9所述的通信系统,其中各个所述转发节点包括邻居信息通知单元, 其向所述路径管理服务器提供一个标识的通知,以区分转发节点的通信接口或者在转发节点自身和邻居节点之间延伸的链路;并且所述路径管理服务器基于从各个所述转发节点所通知的信息,创建将被提供到所述边界转发节点的转发路径信息。
11.根据权利要求4所述的通信系统,其中各个所述转发节点执行与邻居转发节点的信息交换,获取自身与邻居节点之间通信接口对应关系,并基于包括在所述分组头中的转发方向执行分组转发处理。
12.一种连接到路径管理服务器的转发节点,所述路径管理服务器通过设置用于标识数据传送网络的转发路径中各个转发节点中提供的通信接口,或者在所述各个转发节点和其邻居节点之间延伸的链路的标识,来配置转发路径信息;所述转发节点对于被添加了包含所述转发路径信息的分组头的分组,根据所述转发路径信息进行分组转发处理。
13.根据权利要求12所述的转发节点,其中所述标识在至少一个转发节点中是唯一的。
14.根据权利要求12所述的转发节点,其中所述标识在至少一个转发节点和与所述转发节点相邻的转发节点中是唯一的。
15.根据权利要求12到14中的任一权利要求所述的转发节点,包括邻居信息通知单元,其向用于管理所述转发路径信息的所述路径管理服务器,通知一标识以区分转发节点的通信接口或者在转发节点自身和其邻居节点之间延伸的链路。
16.一种置于数据传送网络和外部网络的边界处的边界转发节点,该边界转发节点包括分组头操作单元,并且该边界转发节点对于被添加了包含转发路径信息的分组头的分组,根据转发路径信息进行分组转发处理,其中所述转发路径信息是通过设置用于标识数据传送网络的转发路径中各个转发节点中提供的通信接口,或者在所述各个转发节点和其邻居节点之间延伸的链路的标识,来进行配置的;并且该边界转发节点添加包含所述转发路径信息的分组头到从所述外部网络接收的分组中,或者从发送到所述外部网络的分组中移除包含所述转发路径信息的分组头。
17.根据权利要求16所述的边界转发节点,进一步包括缓存管理单元,其保存包括在所述分组头中的信息,其中使用所述保存的信息形成的分组头被分配到具有相同目的地的分组。
18.根据权利要求16所述的边界转发节点,进一步包括缓存管理单元,其在所述分组头被移除时保存包含在所述分组头中的信息,其中使用所述保存的信息形成的分组头被分配给反向上被发送到其分组头被移除的分组的源的一个分组。
19.一种路径管理服务器,包括路径计算单元,其创建通过设置用于标识数据传送网络的转发路径中各个转发节点中提供的通信接口,或者在所述各个转发节点和其邻居节点之间延伸的链路的标识,来进行配置的转发路径信息;和路径请求处理单元,其响应于来自位于所述数据传送网络和外部网络的边界处的边界转发节点的请求,发送所述创建的转发路径信息。
20.根据权利要求19所述的路径管理服务器,其中所述路径管理服务器创建设置有在至少一个转发节点中是唯一的标识的转发路径信息。
21.根据权利要求19或20所述的路径管理服务器,其中所述路径管理服务器创建设置有在至少一个转发节点和与所述转发节点相邻的转发节点中是唯一的标识的转发路径信肩、ο
22.根据权利要求19到21中的任一权利要求所述的路径管理服务器,其中所述路径管理服务器,除了所述转发路径信息之外,发送指示转发方向的信息到所述边界转发节点,并创建包括指示在所述边界转发节点中转发方向的信息的分组头。
23.根据权利要求19到22中的任一权利要求所述的路径管理服务器,其中所述路径管理服务器,除了所述转发路径信息之外,发送信息到所述边界转发节点,以便所述边界转发节点区分转发到外部网络的情形和另外一种情形,并且创建包含有关于是否转发到所述外部网络的信息的分组头。
24.根据权利要求19到23中的任一权利要求所述的路径管理服务器,包括路径信息收集单元,其基于由所述各个转发节点所通知的信息,配置数据传送网络中的网络拓扑信息; 其中所述路径计算单元基于所述网络拓扑信息执行路径计算。
25.—种通信方法,包括数据传送网络的转发路径中各个转发节点接收分组,该分组中添加了包含通过设置用于标识数据传送网络的转发路径中各个转发节点中提供的通信接口,或者在所述各个转发节点和其邻居节点之间延伸的链路的标识,来配置的转发路径信息的分组头;以及对所述分组根据所述转发路径信息进行分组转发处理。
26.一种用于在计算机上执行的程序,用于配置置于数据传送网络中的转发节点;所述程序包括接收分组的处理,该分组中添加了包含通过设置用于标识数据传送网络的转发路径中各个转发节点中提供的通信接口,或者在所述各个转发节点和其邻居节点之间延伸的链路的标识,来配置的转发路径信息的分组头;以及对所述分组根据所述分组的转发路径信息进行分组转发的处理。
27.一种用于在计算机上执行的程序,用于配置置于数据传送网络和外部网络的边界处的边界转发节点;所述程序包括接收分组的处理,该分组中添加了包含通过设置用于标识数据传送网络的转发路径中各个转发节点中提供的通信接口,或者在所述各个转发节点和其邻居节点之间延伸的链路的标识,来配置的转发路径信息的分组头;对所述分组根据所述分组的转发路径信息进行分组转发的处理;执行分组头操作的处理,该操作添加含有所述转发路径信息的分组头到从所述外部网络接收的分组;或者从发送到所述外部网络的分组中移除含有所述转发路径信息的分组头。
28.一种用于在计算机上执行的程序,用于配置路径管理服务器,该路径管理服务器保存置于数据传送网络中的各个转发节点的连接信息;所述程序包括响应于来自置于数据传送网络和外部网络的边界处的边界转发节点的请求,创建通过设置用于标识数据传送网络的转发路径中各个转发节点中提供的通信接口,或者在所述各个转发节点和其邻居节点之间延伸的链路的标识,来进行配置的转发路径信息的处理;以及发送所述创建的转发路径信息到所述边界转发节点的处理。
全文摘要
公开了一种通信系统,该通信系统可以使用简化的转发表而实现,而且也可适用于数据分组的路径控制。路径管理服务器配置转发路径信息,该转发路径信息通过设置用于标识其相邻节点与或者服务器本身或者提供到服务器的通信接口之间延伸的链路的链路ID,来进行配置。对于被添加了包含转发路径信息的头的分组,转发节点根据所述转发路径信息执行分组转发管理。
文档编号H04L12/56GK102498694SQ20108004081
公开日2012年6月13日 申请日期2010年9月13日 优先权日2009年9月14日
发明者粟野润 申请人:日本电气株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1