CN102714629A - 通信系统、转发节点、路径管理服务器以及通信方法 - Google Patents

通信系统、转发节点、路径管理服务器以及通信方法 Download PDF

Info

Publication number
CN102714629A
CN102714629A CN2011800058562A CN201180005856A CN102714629A CN 102714629 A CN102714629 A CN 102714629A CN 2011800058562 A CN2011800058562 A CN 2011800058562A CN 201180005856 A CN201180005856 A CN 201180005856A CN 102714629 A CN102714629 A CN 102714629A
Authority
CN
China
Prior art keywords
information
node
path
forward node
alternative route
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011800058562A
Other languages
English (en)
Other versions
CN102714629B (zh
Inventor
粟野润
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to CN201510368390.2A priority Critical patent/CN105141516A/zh
Publication of CN102714629A publication Critical patent/CN102714629A/zh
Application granted granted Critical
Publication of CN102714629B publication Critical patent/CN102714629B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明提供一种可使用简化的转发表实现而且也能够应用于数据分组的路径控制(包括替代路径在内)的通信系统。路径管理服务器构成多个转发路径信息,该转发路径信息通过排列用于识别本装置所具有的通信接口或者在本装置与其邻接节点之间建立的链路的链路ID而构成。转发节点对于附加有其中保存有所述多个转发路径信息的头部的分组,按照所述转发路径信息中的一个执行分组转发处理。

Description

通信系统、转发节点、路径管理服务器以及通信方法
技术领域
[关联申请的记载]
本发明要求基于日本国专利申请:特愿2010-002875号(2010年01月08日申请)的优先权,该申请的全部记载内容以引用的方式合并于本说明书中。
本发明涉及通信系统、转发节点、路径管理服务器以及通信方法,尤其涉及通过配置在网络中的转发节点转发分组来实现通信的通信系统、转发节点、路径管理服务器以及通信方法。
背景技术
图30示出了使用了IP(Internet Protocol,网际协议)的网络构成。在图30中,通信节点100(通信节点100a以及通信节点100b)是使用IP进行通信的通信节点。转发节点200在接收到通信节点100发送的IP分组时决定所述IP分组的转发目的地,并向决定的转发目的地转发IP分组。转发节点重复以上动作从而最终将IP分组转发到作为目的地的通信节点。
在决定所述IP分组的转发目的地时使用了转发节点200内部保持的路由表。路由表是表示将发往哪个网络的分组经由哪个接口发送给接下来负责转发处理的转发节点的表,是将目的地网络地址、下一个转发目的地的IP地址、以及作为发送目的地的接口的对应作为一个条目,并列出这些条目的表。条目中还包括上述信息以外的信息,这里为了简便而省略了。
所述网络地址是在IP地址中从高位提取一部分比特数而获得的地址,例如以192.168.1.0/24的形式表示。在此情况下,地址的高位24比特是网络地址,该网络中包括从192.168.1.1到192.168.1.255的地址。这时,将24称为前缀长度。
转发节点200在从路由表中决定恰当的路由信息时使用最长匹配方法。这是将IP分组的目的地址与路由表的各个条目进行比较,决定从所述目的地址的高位比特开始有最长比特数相一致的路由信息的方法。
所述路由表通过手动等方法事先设定在转发节点200中,或者通过被称为路由协议的交换路由信息的协议自动设定。
在IP网络中通过以上的转发方式转发分组,但此时分组的转发依赖于各个转发节点的路由表,存在不能完全控制路径的问题。另外,由于仅用目的地址决定转发目的地,因此还存在不能根据诸如发送源地址、由哪个应用软件进行的通信等的不同而进行精细的路径控制的问题。
作为进行上述路径控制的方式,有称为源路由的方法。源路由是由作为发送源的节点(例如,通信节点100a)在发送分组中明确列出希望作为转发路径的转发节点200的地址的方法。在此情况下,通信节点100a能够通过使用的应用程序等所希望的转发路径将分组转发到目的地节点(例如,通信节点100b)。
另外,在称为MPLS(Multi-Protocol Label Switching,多协议标签交换)的分组转发技术中也存在与源路由相当的技术。MPLS是对接收到的分组附加标签并基于标签进行转发处理的技术。
所述标签的附加在分组被输入到配置在MPLS网络的边界的转发节点之后,在转发该分组时被实施,之后,MPLS网络内的转发节点在每次转发该分组时更换标签的同时重复转发处理。然后,当通过配置在MPLS网络的边界的转发节点向外部网络转发时,由该转发节点去除标签。
MPLS中与源路由相当的技术是CR-LDP(Constraint Routing-LabelDistribution Protocol,路由受限标签分发协议)。LDP是用于在MPLS网络内的转发节点之间交换所述标签的协议,出于流量工程等目的,以严格地指定分组的转发路径为目的的LDP即为CR-LDP。
专利文献1公开了上述源路由技术中的分组通信方法,即:在路由头中保存并列存在的多个中继节点,并由中继节点基于预定的策略从所述并列存在的多个中继节点中选择一个中继节点。
另外,作为同样是进行路径控制的技术,非专利文献1、2中提出了称为开放流(OpenFlow)的技术。开放流将通信作为端到端的流,以流为单位进行路径控制、故障恢复、负荷分布、最优化。作为转发节点发挥功能的开放流交换机包括用于与开放流控制器进行通信的安全信道,按照由开放流控制器指示适当追加或替换的流表进行动作。在流表中,对每个流,定义了由与头部进行核对的规则、定义了处理内容的动作(action)、以及流统计信息组成的组。
例如,开放流交换机在接收到第一个分组(first packet)时,从流表中检索具有与接收分组的头部信息相符的规则(FlowKey)的条目。当检索的结果是找到了符合接收分组的条目的情况下,开放流交换机对接收分组实施该条目的动作字段中描述的处理内容。另一方面,在所述检索的结果是没有找到符合接收分组的条目的情况下,开放流交换机经由安全信道向开放流控制器转发接收分组,并请求基于接收分组的发送源和发送目的地来决定分组的路径,并且接收实现该路径流条目来更新流表。
在先技术文献
专利文献
专利文献1:日本专利文献特开2004-153318号公报。
非专利文献
非专利文献1:Nick McKeown以及另外7名,“OpenFlow:EnablingInnovation in Campus Networks”,[online],[平成21年12月14日检索],互联网<URL:http://www.openflowswitch.org//documents/openflow-wp-latest.pdf>;
非专利文献2:“OpenFlow Switch Specification”Version0.9.0.(WireProtocol 0x98)[平成21年12月14日检索],互联网<URL:http://www.openflowswitch.org/documents/openflow-spec-v0.9.0.pdf>。
发明内容
发明要解决的问题
上述专利文献1以及非专利文献1~2的全部公开内容以引用方式合并于本说明书中。
以下的分析是根据本发明进行的。
基于IP技术的转发节点、即交换机或路由器所保持的路由表持续增大,从而被指出存在被称为路由信息爆炸的问题。路由增大的结果是用于保持路由表的存储器的需要量增加,并且路由决定处理耗费时间,因此分组转发处理能力下降。
MPLS与IP路由相比虽能够减少路由决定时间,但如果应用多种转发策略,路由表的条目数仍会增大,从而导致处理性能下降。
如上所述,从存储器削减以及处理能力提高的观点出发,抑制路由表的条目数成为转发节点的重要课题。
另一方面,在上述的源路由中,由于在分组中保存转发节点100的地址,因此存在分组所能包含的净荷数据量变小的问题。因此,源路由限于网络测试等部分用途,而不被使用于应用软件等的通信中所使用的分组(此后称其为“数据分组”)。将净荷数据以外的信息称为开销(overhead)。即,上述的问题也可以称为开销变大的问题。
另外,在CR-LDP所使用的分组中,与前述的IP路由中的源路由同样地含有每一转发(每一跳)的转发节点的信息。作为转发节点的信息,例如使用IPv4地址或IPv6地址,即使在此情况下,在列出转发路径中的所有转发节点的信息时该信息也变得很大,因此用于控制用分组以外的分组是不现实的。结果是,当严格地决定数据分组的转发路径时,在所述CR-LDP等中,需要将每个转发策略的转发信息设定在转发节点内。
专利文献1的方法就是上述的源路由本身,存在分组所能包含的净荷数据量变小的问题。
另外,非专利文献1、2的方法与开头所描述的参考路由表的方式同样地,各个转发节点需要参考流表,可以想到随着条目的增大,会发生迟延(延迟时间)以及增加节点负荷。
如上所述,向路由表或流表中追加各种各样转发策略每一个的条目的方式存在条目的追加、更新、删除的处理负荷和路由表的信息量增大的问题,明确指定转发路径的源路由等存在开销大,不适合数据分组的发送的问题。
本发明就是鉴于上述问题作出的,其目的在于提供可使用简化的转发表实现而且根据数据分组的路径控制、尤其根据转发路径上的故障发生状况以及流量的负荷状况可切换到替代路径的通信系统、转发节点、路径管理服务器、通信方法以及程序。
用于解决问题的手段
根据本发明的第一观点,提供一种数据转发网络的转发节点对保存有多个含有能够唯一地指定分组的转发路径的信息的转发路径信息的分组,使用所述多个转发路径信息中的某一个进行转发处理的通信系统,即:所述通信系统包括:路径管理服务器,该路径管理服务器构成多个转发路径信息,所述转发路径信息通过排列用于识别数据转发网络的转发路径上的各个转发节点所具有的通信接口、或者在所述各个转发节点和其邻接节点之间建立的链路的标识符而构成;以及转发节点,该转发节点对于附加有其中保存有所述多个转发路径信息的头的分组,按照所述多个转发路径信息中的某一个执行分组转发处理。
根据本发明的第二观点,提供一种转发节点,其中,所述转发节点与路径管理服务器连接,所述路径管理服务器构成多个转发路径信息,该转发路径信息通过排列用于识别数据转发网络的转发路径上的各个转发节点所具有的通信接口、或者在所述各个转发节点和其邻接节点之间建立的链路的标识符而构成,所述转发节点对于附加有其中保存有所述多个转发路径信息的头部的分组,按照所述多个转发路径信息中的某一个执行分组转发处理。
根据本发明的第三观点,提供一种路径管理服务器,其中,当接收到来自上述转发节点的路径请求时,所述路径管理服务器基于所述路径请求中包含的信息,返回能够使所述分组到达至通信对方的多个转发路径信息。
根据本发明的第四观点,提供一种通信方法,包括以下步骤:数据转发网络的路径管理服务器在接收到来自转发节点的路径请求时,基于所述路径请求中包含的信息,返回多个转发路径信息,所述转发路径信息通过排列用于识别数据转发网络的转发路径上的各个转发节点所具有的通信接口或者在所述各个转发节点和其邻接节点之间建立的链路的标识符而构成;以及包括所述转发节点的从所述多个转发路径信息之中的某一个选出的转发路径上的转发节点组使用所述选出的转发路径信息依次转发所述分组。本方法与上述的称为转发节点以及路径管理服务器的特定机器相结合。
根据本发明的第五观点,提供使得构成上述的转发节点、路径管理服务器的计算机执行的程序。此外,该程序能够记录在计算机可读的记录介质中。即,本发明也可作为计算机程序产品具体实现。
发明效果
根据本发明,使得对净荷数据量的压迫、路径上的转发节点的负荷增大少、并可切换到替代路径的路径控制成为可能。其原因在于,採用了在头中附加多个转发路径信息、并且使转发节点解释并执行转发路径信息的构成,其中所述转发路径信息通过排列用于识别数据转发网络的转发路径上的各个转发节点所具有的通信接口、或者在所述各个转发节点和其邻接节点之间建立的链路的标识符而构成。
附图说明
图1是示出本发明第一实施方式涉及的通信系统的图;
图2是示出本发明第一实施方式涉及的通信系统的边界转发节点的构成的图;
图3是示出本发明第一实施方式的边界转发节点以及内部转发节点的记录部中记录的转发表的图;
图4是示出向分组附加路径信息头、替代路径开始位置信息头以及替代路径信息头的方式的一个例子的图;
图5是在边界转发节点被附加的路径信息头的格式的例子;
图6是示出图5中的路径转发头中的局部ID的格式(没有扩展的例子)的图;
图7是示出图5中的路径转发头中的局部ID的格式(有扩展的例子)的图;
图8是示出在边界转发节点被附加的替代路径开始位置信息头的格式的例子;
图9是示出在边界转发节点被附加的替代路径信息头的格式的例子;
图10是示出本发明第一实施方式涉及的通信系统的内部转发节点的构成的图;
图11是示出本发明第一实施方式涉及的通信系统的路径管理服务器的构成的图;
图12是示出从各转发节点通知的邻近信息的图;
图13是基于图12的邻近信息构建的网络拓扑的例子;
图14是示出边界转发节点接收到分组时的动作的流程图;
图15是示出图14的转发处理的细节的流程图;
图16是示出图15的替代路径转发判定处理的细节的流程图;
图17是示出内部转发节点接收到分组时的动作的流程图;
图18是示出边界转发节点以及内部转发节点发送邻近信息通知的动作的流程图;
图19是示出路径管理服务器接收到邻近信息通知时的动作的流程图;
图20是示出路径管理服务器被请求路径信息时的动作的流程图;
图21是示出由本发明第一实施方式的通信节点向相对的通信节点发送了分组时的分组转发流程的序列图;
图22是示出由本发明第一实施方式的通信节点向相对的通信节点发送了分组时的分组转发流程(有一次转发失败)的序列图;
图23是示出由本发明第一实施方式的通信节点向相对的通信节点发送了分组时的分组转发流程(有两次转发失败)的序列图;
图24是示出本发明第二实施方式涉及的通信系统的边界转发节点的构成的图;
图25是示出本发明第二实施方式的边界转发节点的记录部中记录的转发失败路径信息表的例子的图;
图26是示出在本发明第二实施方式的边界转发节点被附加的路径转发头中的局部ID的格式(没有扩展的例子)的图;
图27是示出本发明第二实施方式涉及的通信系统的内部转发节点的构成的图;
图28是示出本发明第二实施方式中的替代路径转发判定处理的细节的流程图;
图29是示出由本发明第二实施方式的通信节点向相对的通信节点发送了分组时的分组转发流程的序列图;
图30是示出作为背景技术进行说明的进行分组转发的通信系统的图。
具体实施方式
首先,对本发明的概要进行说明。在接收分组中附加有包含多个转发路径信息的头部的情况下,本发明的通信系统的转发节点选择这些多个转发路径信息中的某一个来实施转发处理。
这里,所述转发路径信息能够采用将数据转发网络上的各个转发节点可识别作为转发目的地的通信接口的标识符按转发顺序排列的信息。所述标识符只要其长度在各转发节点内足以确保转发目的地的唯一性即可。
转发节点所具有的接口的数目远比IP地址等少。与开头所述的源路由不同,构成本发明的转发路径信息的标识符能够用短的信息描述,例如一个字节长等,因此对净荷数据量的影响轻微。因此,不仅对于一部分控制用分组,而且对于数据分组等所有的分组,都可保存将转发路径按每一跳描述的信息,能够进行高度的转发控制。
而且,各个转发节点只需要保持所述标识符和转发目的地的通信接口的对应关系即可,没有必要保持庞大数目的开头所述的路由表等转发表,能够削减存储器量。另外,转发目的地的决定也能简单且高速地进行,因此还能够减小分组的转发延迟。而且,各个转发节点的CPU的处理能力也可以低。
此外,包含上述多个转发路径信息的头的附加以及删除只需要在转发节点之中被配置在与外部网络的边界上的转发节点(边界转发节点)按照如下这样执行即可。从外部网络接收到分组的边界转发节点从另外设置的路径管理服务器或者该边界转发节点内记录的信息取得该分组的转发路径,将保存了多个转发路径信息的头附加到接收到的分组中。另外,边界转发节点在向外部网络发送分组时删除所述头。
在所述多个转发路径信息之中使用哪一个转发路径信息,可以让各个转发节点进行判断,但也能够通过附加转发路径信息的保存顺序或另外的优先顺序信息来追加优先顺序。
在本发明中以下的方式是可行的。
[方式1]
如所述第一观点中记载的通信系统。
[方式2]
优选所述分组可保存指示使用所述多个转发路径信息中的哪一个转发路径信息的路径选择信息,
所述转发节点参考所述路径选择信息来决定在所述分组转发处理中使用的转发路径信息。
[方式3]
优选所述多个转发路径信息中包括用于判别从一个转发路径可分支到其他转发路径的转发节点的信息,
位于所述可分支的位置处的转发节点选择所述多个转发路径信息中的一个。
[方式4]
优选所述分组可保存表示转发节点基于根据所述路径选择信息决定的转发路径信息进行了转发处理时的转发结果的转发结果信息,
所述转发节点参考通过转发处理的结果而被更新的所述转发结果信息来选择转发没有失败的转发路径信息。
[方式5]
优选所述分组可保存分支点信息,该分支点信息表示到达至接收到该分组的转发节点的转发路径上的能够从当前转发路径分支到不同转发路径的转发节点的数目,
所述转发节点在转发处理失败时减少所述分支点信息,并使用所述分支点信息来决定是否丢弃该分组。
[方式6]
优选在改变了转发路径时,所述分组可保存可确定改变前的转发路径信息的信息,
所述转发节点使用所述分组中包含的改变前的转发路径信息,来执行向改变前的转发路径的恢复处理,并搜索进一步的分支目标。
[方式7]
优选所述转发节点还包括转发结果记录部,所述转发结果记录部记录发生了转发失败的转发路径信息,
所述转发节点在接收到分组时,对该分组中保存的转发路径信息与所述记录的发生了转发失败的路径信息进行比较,并在比较的结果是预测到转发失败时切换到其他转发路径。
[方式8]
如所述第二观点记载的转发节点。
[方式9]
如所述第三观点记载的路径管理服务器。
[方式9]
如所述第四观点记载的通信方法。
[方式10]
如所述第五观点记载的程序。
上述第二~第五观点记载的转发节点、路径管理服务器、通信方法以及程序可与方式1的通信系统同样地,将各个构成元素乃至步骤展开为方式2~方式7的内容。
在以下的实施方式中,将优先顺序在第2位以下的转发路径称为“替代转发路径”。这样的替代转发路径在使用某个转发路径的转发失败时使用。例如,在某分组的转发处理失败的情况下,能够基于转发失败的分组内部的转发路径信息,沿转发路径逆向转发,使其到达边界转发节点或者作为多个转发路径上的分支点的转发节点,以进行使用替代转发路径的重传。另外,所述多个转发路径信息也可以采用使用下列信息作为路径选择信息的构成:如表示存在这样的替代路径的头(后面说明的替代路径开始位置头是其一个例子)、有无所述分支点(后面说明的路径信息头内的“Ex”字段是其一个例子)、表示转发结果的信息(后面说明的路径信息头内的“F”字段是其一个例子)、接下来应使用的替代路径的识别信息(将后面说明的路径信息头内的“Alt”字段的值增加或者减少)、或者数据转发网络的状态(转发目的地的节点的故障、负荷增大、流量状况等)等。
[第一实施方式]
接着,参考附图,详细说明本发明的第一实施方式。图1是示出本发明第一实施方式涉及的通信系统的图。参考图1,示出了通信节点100a、100b、边界转发节点300a、300b、内部转发节点400、以及路径管理服务器500。
数据转发网络600是通过本发明的方式进行分组转发处理的网络,外部网络700是通过与网络600不同的方式实施分组转发处理的网络,如IP网络等。但是,即使在使用与网络600同样的转发方式的情况下,若管理者不同则也成为外部网络700。这里,将外部网络700设为IP网络来进行说明。外部网络700经由边界转发节点300a、300b而与数据转发网络600连接。
通信节点100a、100b分别是属于外部网络700的通信节点,按照外部网络700的分组转发方式进行分组的收发。即,在本实施方式中是进行IP分组的收发的节点。通信节点100a、100b与普通IP节点相同,因此省略详细的说明。
边界转发节点300a、300b被配置在数据转发网络600与外部网络700之间,在接收到从通信节点100a、100b发来的分组时,附加保存后述的转发路径信息以及替代转发路径信息的头,并且基于头中的这些多个转发路径信息来将该分组转发给数据转发网络600内的内部转发节点400。
另外,边界转发节点300a、300b当从内部转发节点400接收到被附加了保存有转发路径信息等的头的分组时、并且在根据该头中的转发路径信息或替代转发路径信息判定为本身是转发路径上的最后节点时,从接收的分组中删除所述路径信息头,之后向外部网络700的通信节点100a、100b侧发送分组。
在以下的说明中,假定从路径管理服务器500取得转发路径信息来进行了说明,但不限于此,也可以通过边界转发节点300内保持的信息来生成转发路径信息。
以下,按照本实施方式的边界转发节点300a(300b)、内部转发节点400、路径监视服务器500的顺序来说明其构成。
图2是示出图1中的边界转发节点300a、300b的构成的图。如图2所示,边界转发节点300包括通信接口310、分组转发部320、头操作部330、局部ID决定部340、邻近信息通知部350、路径取得部360、替代路径切换部370、转发结果记录部380、以及记录部390。
通信接口310是用于进行分组的收发的接口,其通过例如LAN卡等这样的网络接口卡(NIC)以及使其动作的软件(驱动程序)实现。但是,不仅可以是上述的物理接口,还可以是逻辑接口。在此情况下,能够使用一个物理接口以如具有多个接口的方式动作。
边界转发节点300包括如上所述的一个以上的物理接口或者逻辑接口。各个通信接口310与数据转发网络内的内部转发节点400以及其他边界转发节点300连接。另外,一部分通信接口310也与外部网络700的通信节点100连接。而且,一部分通信接口310还与路径管理服务器500连接。路径管理服务器500既可以配置在数据转发网络600内,也可以经由路径管理服务器500专用的网络连接。
分组转发部320具有如下功能:在接收分组被附加了保存有转发路径信息等的头的情况下,首先由替代路径切换部370(后面详细说明)判定是否向替代路径切换,要切换时在完成相应的准备之后,分组转发部320基于所述头内的转发路径信息或替代转发路径信息和记录部390中记录的信息来转发分组。
在记录部390中,如后面使用图3说明的那样,记录有将局部ID、作为转发目的地的通信接口、以及与该通信接口310连接的邻近的边界转发节点300或者内部转发节点400的标识符的对应信息作为一个条目的转发表。分组转发部320能够将分组转发给与所述局部ID对应的下一个节点。
以后,将边界转发节点300和内部转发节点400统称为转发节点。另外,将直接连接着的节点(通信节点100、边界转发节点300、内部转发节点400)的彼此称为邻近节点。
图3是边界转发节点300以及内部转发节点400的记录装置(与记录部390或后述的记录部470相当)中记录的转发表的例子。在本实施方式中,如图3所示,使用邻接的转发节点间或者边界转发节点300与通信节点100a(100b)之间的分配给物理链路或逻辑链路的标识符(链路ID)作为局部ID。因此,在“局部ID”字段中设定有所述链路ID。在表示作为转发目的地的通信接口的“接口”字段中,设定有识别与被分配了链路ID的链路连接的通信接口310的信息。另外,在图3的例子中,在表示邻近节点的信息的“下一跳”的字段中设定有被连接到所述链路的转发节点的标识符。
在作为转发目的地的通信接口与通过IP进行通信的通信节点100a(100b)连接的情况下,例如能够使用通信节点100a(100b)的IP地址作为“下一跳”字段的标识符。另一方面,在边界转发节点300或者内部转发节点400的情况下,使用唯一分配的标识符(例如图3中的Node 1、Node 2等)。所述转发节点的标识符可以事先设定,也可以采用由路径管理服务器500等外部节点设定的方式。而且,所述“下一跳”字段的标识符不是转发处理所必需的,也能够省略。
另外,也能够使用识别通信接口310的信息本身作为局部ID。识别通信接口310的信息优选为能够通过短的信息量(例如,1~2个字节程度)描述的信息,因此在识别通信接口310的信息较长的情况下(例如,在使用通信接口的名字等的情况下),另外分配能够通过一个字节等短的信息描述的其他标识符来用作局部ID。但是,这里在没有特别说明的情况下,以使用链路ID作为局部ID来进行说明。
普通的在三层进行转发处理的路由器和L3交换机、另外在二层进行转发处理的L2交换机所具有的通信接口基本上在数十个的程度,因此链路的标识符以及通信接口的标识符能够通过一个字节充分地表示。在如实际的通信接口的标识符需要数个字节那样为长的信息的情况下,可以另外生成能够保存在一个字节或者两个字节范围内的标识符,并与通信接口的标识符对应关联起来。
此外,图3的转发表是为了简单地说明本发明而例示的,可以在各个条目中还关联并记录其他信息。
图4是示出边界转发节点300向分组附加路径信息头、替代路径开始位置信息头以及替代路径信息头的方式的一个例子的图。在图4的例子中,路径信息头被附加在分组的开头部分。而且,在包含替代路径信息的情况下,按照路径信息头、替代路径开始位置信息头(后面详细说明)、替代路径信息头的顺序进行附加。替代路径信息头能够附加多个,在附加多个的情况下,接在第一个替代路径信息头之后配置下一个替代路径信息头。
替代路径信息头的数目没有限制,但因为本发明的一个目的就是避免前述的对净荷数据量的压迫,所以优选对替代路径信息头的数目设置上限。以下,在本实施方式中,以最大能够附加三个替代路径信息头进行说明。
图5是在本实施方式中使用的路径信息头的格式的一个例子。在图5中,“D”(=Direction)表示转发方向。例如,“0”表示顺向的转发,“1”表示逆向的转发。“Alt”(=Alternate Route Number,替代路径编号)设定有表示转发时参考的替代路径信息的值。在本实施方式中,“Alt”是2比特,所以设定值是0~3。当“Alt”为0时不使用替代路径,参考“Local ID#n”之后的路径信息进行转发处理。另一方面,当“Alt”为1~3时表示参考与各个值对应的替代路径信息头中记载的替代路径进行转发处理。后面详细说明替代路径信息头。
图5中的“Ex”(=Alternate Route Existence,替代路径的存在)表示当前要进行该分组的转发处理的转发路径中的去往替代路径的分支点的数目。转发节点在进行该分组的转发时,在从本节点可分支到替代路径的情况下,增加“Ex”字段。因此,在到当前实施转发处理的转发节点为止没有替代路径的情况下,该值为“0”。在有替代路径的情况下,设定有去往存在的替代路径的分支点的数目。“Ex”在切换到替代路径时被减少。
“F”(Failure Flag,失败标志)在转发节点因为某些原因向下一跳的转发节点的转发处理失败了的情况下被设定为“1”。
“Rsv”(Reserved,保留)是预留字段,在本发明的实施方式中不使用。因此,被设定为固定值,如0等。
“Current Offset”(当前偏移量)中设定在转发时应参考的局部ID信息的偏移量信息(单位是字节)。该值用从“Local ID#0”起的偏移字节数表示。当在边界转发节点300附加路径信息头时“Current Offset”的值被设定为“0”。
“Header Length”(头部长度)以字节数表示“Route Length”之后的头的长度。在本实施方式中,考虑分组的整形(对齐)而取4字节单位的值。在净荷数据的结尾不是4字节单位的边界的情况下进行填充(填补)(后面设置设定了0的虚拟信息)。
“Route Length”(路由长度)表示通过随后列举局部ID而表示的路径信息的总字节数。
“Local ID#n”中设定有第n跳的边界转发节点300或者内部转发节点400应参考的作为转发目的地的局部ID。上述图5的格式只不过是一个例子,也可以以各种的变形格式保存信息。
如上所述,通过使用在转发节点内、或者邻接的转发节点之间的局部范围内唯一的局部ID作为转发路径的信息,能够减少路径信息头的信息量。
此外,在本实施方式中,各个局部ID为一个字节,但在逻辑链路中存在用一个字节无法表示的可能性。另外,也可以预想到在各个路径信息中设定关于替代路径的信息(优先顺序以及选择条件等)的情况下,一个字节也是不够的。
在此情况下,如图6所示,可以将“Local ID#n”的最高位比特用作表示局部ID是一个字节表记还是二字节表记的局部ID扩展标志(“E”(Extension)比特)。在此情况下,当最高位比特为0时,转发节点将局部ID解释为一个字节的标识符,当最高位比特为1时,将局部ID解释为二字节的标识符。
图6是示出局部ID扩展标志(“E”)为“0”时的局部ID的图。图7是示出局部ID扩展标志(“E”)为“1”时的局部ID的图,每一跳的路径信息长度是两个字节。此外,作为局部ID的长度,以能够选择一个字节或者两个字节的情况进行了说明,但重要的是以尽量短的字节长度描述一跳的路径,因此不需要严格是一个字节、两个字节,可以采用不足一个字节的固定长度,也可以采用以适当的定界符字符区分的任意的可变长度。
在图7的“Alt”(=Alternative Route,替代路径)中设定有表示是否存在能够从参考该局部ID的转发节点分支的替代路径、以及指定在向替代路径分支时应参考的替代路径信息头的值。具体地说,“Alt”是0的情况表示没有从参考该局部ID的转发节点分支的替代路径。另一方面,“Alt”是1~3的情况表示存在从所述转发节点分支的替代路径,并且其值表示向替代路径分支时应参考的转发信息头的编号。
图7的“U”(=Used,已使用)表示去往由“Alt”所示的替代路径的转发处理已经实施。换言之,表示替代路径已被使用。转发节点在将分组转发到替代路径时将该字节设定为“1”。
图7的“Local ID type2”与图6的“Local ID”一样是用于设定局部ID的字段,但是比特长度比图6的长,因此能够描述更多的链路标识符、或者接口标识符。
接着,对图4中的替代路径开始位置信息头进行说明。图8是替代路径开始位置信息头的格式的一个例子。在图8中,“Reserved”是预留字段,在本实施方式中不使用。“Offset#n”中设定有从路径信息头的开头字节到第n个替代路径信息头为止的偏移量。单位是字节。偏移量也可以设为替代路径开始位置信息头的从开头字节起的偏移量。
接着,对图4中的替代路径信息头进行说明。图9是替代路径信息头的格式的一个例子。在图9中,“Frm”(=From)中设定向该替代路径切换之前的路径信息的编号。“Reserved”是预留字段,在本实施方式中不使用。
上述例示出的路径信息头、替代路径开始位置信息头、替代路径信息头的格式、以及被设定的信息仅仅是一个例子,也可以采用不同的格式,也可以采用将各个头所包含的信息作为其他头的一部分的方式,或者作为其他头来保存的方式。
分组转发部320参考接收分组的路径信息头的“Alt”字段,在该字段是“0”的情况下,使用路径信息头进行转发处理,除此以外的情况下,根据替代路径信息头进行转发处理。
在“Alt”是“0”的情况下,分组转发部320如前所述参考路径信息头进行转发处理。更具体地说,在接收分组的路径信息头的“D”字段是“0”的情况下,即在表示向顺向转发的情况下,分组转发部320参考“Current Offset”,在参考对应的局部ID决定转发目的地的通信接口310之后,将“Current Offset”的值增加所参考的局部ID的长度的量(例如,一个字节或者两个字节),从所述决定的通信接口310发出分组。另一方面,在“D”是“1”的情况下,即表示是向逆向转发的情况下,分组转发部320参考“Current Offset”,参考对应的局部ID的前一个局部ID来决定作为转发目的地的通信接口310。之后,将“Current Offset”的值减少所参考的局部ID的长度的量,并从决定的通信接口310发出分组。
另一方面,在“Alt”是“0”以外的值的情况下,分组转发部320参考替代路径开始位置信息头,将所述“Alt”字段中设定的值视为替代路径的编号,读取对应的“Offset#n”字段。例如,在“Alt”是“1”的情况下读取“Offset#1”字段的值。这里,被读取的值是从路径信息头的开头字节到应参考的替代路径信息头的偏移字节。因此,分组转发部320参考由偏移字节数示出的替代路径信息头来执行转发处理。在根据替代路径信息头进行转发处理的情况下,用于转发控制的“D”字段、“Ex”字段、以及“F”字段也参考路径信息头的各个字段。
替代路径信息头的“Frm”字段中设定当将路径切换到该替代路径信息头所示的替代路径时成为切换源的路径的编号。由于还有可能从替代路径进一步向替代路径切换,因此成为切换源的路径不仅包含路径信息头所示的路径,而且还包含替代路径信息头所示的路径。
分组转发部320还具有以下功能:在当前转发用所参考的路径信息头、或者替代路径信息头的“Local ID#n”字段的“Alt”字段是“0”以外的值的情况下,即在从该转发节点能够向替代路径分支的情况下,使路径信息头的“Ex”字段增加,从而在接收分组中记录路径上存在去往替代路径的分支点。
分组转发部320还具有以下功能:在该转发节点是去往替代路径的分支点、并且接收到所述替代路径发生转发失败而被送回的分组的情况下,返回到向所述替代路径切换之前的路径,进而将该分组逆向送回。具体地说,分组转发部320具有在接收到路径信息头的“F”字段和“D”字段均为“1”、“Alt”字段是“0”以外的值的分组、并且替代路径信息头的“Current Offset”是0的情况下,分组转发部320将替代路径信息头的“Frm”字段的信息复制到路径信息头的“Alt”字段的功能。
头操作部330具有以下功能:在从外部网络700接收到分组的情况下,从路径取得部360取得从该边界转发节点300到作为出口的边界转发节点300的每一跳的路径信息,构成如图5所示的路径信息头,并根据需要构成替代路径开始位置信息头以及替代路径信息头,并将它们附加到所述分组。例如,头操作部330在附加路径信息头时,在“D”字段设定表示顺向转发的“0”,同样地将字段“Alt”、“Ex”、“F”设定为“0”。而且,头操作部330将“Current Offset”设定为“0”,在“LocalID#n”中设定所取得的每一跳的路径信息。头操作部330还对其他字段分别设定合适的值。
头操作部330还具有在将附加有路径信息头的分组转发到外部网络700的情况下,删除路径信息头、并根据需要删除替代路径开始位置信息头以及替代路径信息头的功能。
局部ID决定部340具有在该边界转发节点300和邻近节点之间进行信息交换来决定不重复的链路ID的功能。例如,通过以下的方法能够避免与邻接的节点设定重复的链路ID。
首先,转发节点通过将设定了本节点已经分配了的链路ID以外的链路ID的分组发送给邻近节点来提议链路ID候选。被提议链路ID的邻近节点确认在本节点内是否有重复的链路ID,在没有重复的链路ID的情况下,将设定了被提议的链路ID和本节点的识别信息的应答分组发送给作为提议源的转发节点。另一方面,在邻近节点内有重复的链路ID的情况下,发送设定了表示重复的信息和本节点的标识符的应答分组。反复进行该处理直到没有重复的链路ID为止。
如此决定的链路ID和邻近节点的信息被记录部390记录为转发表。
以上示出了决定链路ID的方法的例子,但也可以通过其他方法来决定链路ID。例如,也可以由其他节点,例如路径管理服务器500来决定,并通知给各个转发节点。
在使用通信接口的标识符作为局部ID的情况下,能够省略上述的与邻近节点的协商。代之以,如上所述在如接口标识符需要数个字节那样的为长的信息的情况下,进行将可保存在一个字节、或者两个字节内的范围的标识符与接口标识符对应起来的处理。但是,在使用邻近节点所不知道的信息如接口标识符等作为局部ID、而且互相不交换该信息的情况下,不能进行所述的逆向转发,因此优选使用与邻近节点共有的信息,如链路标识符等。
邻近信息通知部350具有向路径管理服务器500发送邻近信息的功能,邻近信息保存有由局部ID决定部340决定的作为局部ID的链路ID、被连接到链路的邻近节点的标识符、本节点的标识符。在被连接到链路的是外部网络700的通信节点100a、100b的情况下,将能够判定为外部网络的节点的信息也追加到所述信息中。另外,为了在路径管理服务器500中进行路径计算,在所述邻近信息也可以包括各链路的带宽、可靠性、拥塞状况等信息、以及邻近节点的故障信息等。向路径管理服务器500发送所述邻近信息的契机可以是局部ID的决定处理结束时,也可以按照预定的时间间隔进行发送。另外,在包含并发送链路的信息以及邻近节点的故障信息的情况下,可以以这些信息发生变化的契机进行发送。
路径取得部360具有以下功能:当从外部网络700的通信节点100a、100b接收到分组时,将保存有该接收分组的信息和该边界转发节点300的标识符的路径请求信号发送给路径管理服务器500,并获得该分组的转发路径。所述接收分组的信息是可影响转发路径决定的信息,在最简单的情况下仅仅是目的地址。但是,在实施更精细的路径控制的情况下,除了目的地址,还可以包含发送源地址、在该分组头之后保存的协议信息、使用TCP(Transmission Control Protocol,传输控制协议)或者UDP(UserDatagram Protocol,用户数据报协议)时的目的地端口编号、发送源端口编号等信息的一部分,或者全部。而且也可以包含其他信息。
发送所述路径请求信号的结果,从路径管理服务器500返回路径应答信号。在所述路径应答信号中包含的转发路径信息中保存沿着以该边界转发节点300为起点的转发路径,按每一跳列举了局部ID的信息。在存在替代路径的情况下,还保存与替代路径信息有关的信息。
如目的地址等可影响所述转发路径的信息与表示转发路径的局部ID组的对应信息可以事先设定在该边界转发节点300中,也可以预先从路径管理服务器接收。在此情况下,路径取得部360不是从路径管理服务器500取得转发路径信息,而是从内部设定的信息中取得转发路径信息。
另外,在上述的例子中,该边界转发节点300将可识别第一个作为转发目的地的通信接口的局部ID作为起点,但也可以将可识别接收到所述分组的通信接口310的局部ID作为起点。
替代路径切换部370具有判定是否应将所述接收分组转发到替代路径的功能。更具体地说,替代路径切换部370在所述接收分组是作为转发失败的结果而被送回的分组,而且存在能够从该转发节点分支的未使用的替代路径的情况下,判定为应转发到替代路径。即,在当前转发处理所使用的路径信息头的“D”字段、以及“F”字段均是“1”,而且替代路径信息头中的当前参考的局部ID中,“E”字段=“1”、“Alt”字段=“0”以外的值、“U”字段=“0”的情况下,判定为应转发到替代路径。
替代路径切换部370还在判定为要向替代路径切换的情况下进行向使用替代路径信息的转发切换的处理。具体地说,替代路径切换部370将所述局部ID中的“U”字段设定为“1”,同样地将局部ID中的“Alt”字段的值复制到路径信息头中的“Alt”字段。而且,替代路径切换部370将路径信息头的“D”字段和“F”字段都设定为“0”,另外,使“Ex”字段减少。
转发结果记录部380在分组转发处理部320将所述接收分组从适当的通信接口310转发之后,在由于如链路断等某种原因而转发失败的情况下,将表示通过当前转发路径的转发失败了的信息记录到该接收分组,并且进行用于将接收分组沿着该接收分组被转发来的路径送回的处理。具体地说,转发结果记录部380将当前转发处理所参考的路径信息头、或者替代路径信息头的“F”字段设为“1”,并且还将“D”字段设定为“1”,进而输出到分组转发单元320。其结果是逆向的转发处理被进行。
记录部370保持如图3所示的转发表,以供分组转发部320、局部ID决定部340、以及邻近信息通知部350参考。
内部转发节点400被配置在数据转发网络600内,并具有以下功能:在接收到从邻近节点发送的分组的情况下,基于分组中的路径信息头或者替代路径信息头的信息,将该分组转发给数据转发网络600内的邻近节点。
图10是示出图1中的内部转发节点400的构成的图。如图10所示,内部转发节点400被构成为包括通信接口410、分组转发部420、邻近信息通知部430、局部ID决定部440、替代路径切换部450、转发结果记录部460、以及记录部470。
内部转发节点400的通信接口410、分组转发部420、局部ID决定部430、邻近信息通知部440、替代路径切换部450、转发结果记录部460以及记录部470分别与边界转发节点300的通信接口310、分组转发部320、局部ID决定部340、邻近信息通知部350、替代路径切换部370、转发结果记录部390、以及记录部390相同,因此这里省略详细的说明。
即内部转发节点400能够看做是从边界转发节点300中去掉头操作部330、路径取得部360之后的转发节点。相反地,边界转发节点300能够看做是向内部转发节点400中追加了头操作部330、路径取得部360之后的转发节点。
路径管理服务器500收集由边界转发节点300和内部转发节点400通知的邻近信息,构建描述数据转发网络600内的边界转发节点300以及内部转发节点400的连接关系的网络拓扑信息。该网络拓扑信息中还包含与和边界转发节点300连接的通信节点100a、100b间的连接信息。在所述被通知的路径信息中包含表示各转发节点之间的链路以及转发节点的状态的信息(拥塞状况、故障状况等)的情况下,也将这些与所述连接信息对应起来进行管理。而且,路径管理服务器500具有以下功能:在从边界转发节点300请求了转发路径信息的情况下,使用路径请求中包含的信息和内部构建的网络拓扑信息来实施求解适当的转发路径的计算,并将以进行路径请求的边界转发节点300作为起点直到作为通往外部网络700的出口的边界转发节点300为止的转发路径作为顺序列举了每一跳的局部ID(链路ID)的信息进行应答的功能。这里,考虑到由于转发节点的故障和链路的断线等而转发失败的情况,路径管理服务器500也可以算出一个乃至多个替代路径,并将算出的替代路径的信息包含到所述应答的信息中。
图11是示出图1中的路径管理服务器500的构成的图。如图11所示,路径管理服务器500被构成为包括通信接口510、路径信息收集部520、路径请求处理部530、路径计算部531、以及路径信息记录部540。
通信接口510是用于进行分组收发的接口。如前所述,能够通过例如LAN卡这样的NIC、以及使其动作的软件(驱动程序)来实现。
路径信息收集部520当接收到从边界转发节点300以及内部转发节点400发来的邻近信息时,使用邻近信息中保存的、发送了所述邻近信息的节点的标识符、局部ID(链路ID)、邻近节点标识符,在路径信息记录部540内构建数据转发网络600内的网络拓扑信息。在所述邻近信息中包含有链路的带宽、可靠性、拥塞状况。以及邻近节点的故障信息等附带信息的情况下,将所述附带信息关联到所述网络拓扑信息来进行记录。这些信息例如在后述的路径计算时能够作为链路的成本来使用。
图12是从各转发节点接收到的邻近信息的例子。图13是根据图12的邻近信息构建的网络拓扑的例子。在图13的例子中,为了简单,省略了附带信息。另外,假定外部网络是IP网络。
图12中的“senderID”(发送者ID)表示发送了邻近信息的转发节点的标识符。图12中的“LinkID”(链路ID)表示分配给所述转发节点连接的链路的链路ID。图12中的“neighborID”(邻近节点ID)表示与所述链路连接的邻近节点的标识符。因为假定外部网络是IP网络,所以使用IP地址作为通信节点100的标识符。另外,如上所述在邻接的转发节点之间进行协商,因此链路ID在一个转发节点不被重复地设定,但允许不邻接的转发节点的彼此使用相同的链路ID。例如,LinkID=1的链路被用在ID=1的节点和ID=10的节点之间以及ID=5的节点和ID=6的节点之间,但在各个转发节点内能够唯一地识别链路。即,链路ID的长度只要是足以在一个转发节点内确保唯一性的长度即可。
路径信息收集部520在获得例如图12的邻近信息的情况下,构建如图13所示的网络拓扑,并记录在路径信息记录部540中。
图12的邻近信息和基于其构建的图13的网络拓扑信息中使用了链路ID,但在将例如接口标识符等其他信息作为局部ID的情况下,同样也能够构建网络拓扑信息。
路径请求处理部530接收从边界转发节点300发送的路径请求信号,将其中包含的信息以及路径计算请求通知给路径计算部531。
路径请求处理部530从路径计算部531获得了一个乃至多个转发路径信息(以转发路径顺序列出的每一跳的链路ID的信息)时,将保存有该转发路径信息的路径应答信号发送给作为所述路径请求信号的发送源的边界转发节点300。
路径计算部531在路径请求处理部530通知了路径计算请求的情况下,将一同输入的路径请求源的边界转发节点300的标识符和目的地址分别作为始点、终点,使用路径信息记录部540中记录的如图13所示的网络拓扑信息来进行路径的计算。路径计算能够应用被称为迪杰斯特拉(Dijkstra)法的求最短路径的算法。但是,也可以使用其他算法。这时,除了最优的路径之外,还可以求出几条替代路径。
在路径计算请求中含有IP分组的发送源地址的情况下,也可以使用发送源地址(即边界转发节点300接收到的分组的发送源通信节点100a或者100b的标识符)作为始点。另外,在如前述那样进行路径计算时,还可以使用其他信息如TCP或者UDP的目的地/发送源端口编号等来进行路径计算。而且也可以将链路所附带的信息(带宽、拥塞状况等)或者发生故障的边界/内部转发节点的标识符等信息用于路径计算中。
路径信息记录部540中记录有由路径信息收集部520构建的如图13所示的网络拓扑信息。所述网络拓扑信息被路径计算部531参考用于路径计算。
以上在本发明的实施方式中说明的通信接口310、410、510,如上所述,例如能够通过LAN卡那样的NIC以及使其动作的软件(驱动程序)来实现。
另外,记录部390、记录部470、路径信息记录部540能够通过可记录信息的装置如半导体存储器,硬盘驱动器等来实现。
关于其他功能模块,能够通过各个设备中搭载的一个或多个CPU中执行的计算机程序(软件)或者硬件来实现。也可以使得功能模块应进行的处理的一部分由计算机程序(软件)承担,其余通过硬件构成。
接着,参考附图,详细说明本实施方式的动作。首先,说明边界转发节点300的动作。
图14示出了边界转发节点300从数据转发网络600或外部网络700接收到分组时的处理流程。
首先,分组转发部320在经由通信接口310接收到分组时,检查该分组中是否附加有路径信息头(步骤S100)。
在附加有路径信息头的情况下向“是”前进,根据该路径信息头进行转发处理(前进到步骤S103)。另一方面,在没有附加路径信息头的情况下向“否”前进,通过由路径取得部360向路径管理服务器500发送路径请求信号来进行取得转发路径信息的路径取得处理(步骤S101)。
当转发路径信息取得结束时,头操作部330按照所述取得到的转发路径信息的转发路径的顺序,在图5中的路径信息头的局部ID字段(“Local ID#n”)设定局部ID。另外,头操作部330还将“D”、“Alt”、“Ex”、“F”字段设定为“0”,并将“Current Offset”设定为“0”。头操作部330还对其他字段设定适当的值。
另外,在上述步骤S101中取得的路径信息中含有替代路径的信息的情况下,头操作部330附加替代路径的数目的替代路径信息头。这时,头操作部330将图9所示的替代路径信息头的“Frm”以及“Current Offset”设定为“0”,并将取得的替代路径设定到局部ID字段(“LocalID#n”)。而且,头操作部330对其他字段也设定适当的值,并且将替代路径开始位置信息头的“Offset#n”字段如前述的那样,分别设定为从路径信息头的开头字节到第n个替代路径信息头的偏移字节数。
头操作部330将上述路径信息头、替代路径开始位置信息头、替代路径信息头按照图4所示的顺序附加到所述接收到的分组的开头(步骤S102)。
分组转发部320根据所述的路径信息头以及代理路径信息头中的一个来实施转发处理(步骤S103)。
图15是示出图14中的步骤S103的细节的转发处理的流程图。参考图15,首先,替代路径切换部370判定是使用替代路径进行转发处理还是使用通常的路径信息进行转发处理。这里的判定处理的详细内容在后面使用图16进行说明。
分组转发部320检查路径信息头的“D”字段来判定应顺向转发,还是应逆向转发(步骤S201)。
在“D”字段的值表示顺向转发的(“0”)情况下(步骤S201中的“是”),判定该分组的转发目的地是否是外部网络700(步骤S202)。在顺向转发中,对是否是向外部网络700的转发的判定能够通过比较“Current Offset”和“Route Length”来判定。判定方法除此之外,可以使局部ID取能够区别是否是向外部网络700转发的值,也可以在路径信息头中的最后的局部ID之后保存表示终端的信息。而且,还可以采用其他方法。
在判定为不是向外部网络700转发的情况下向“否”前进,根据路径信息头的“Alt”字段的值,参考路径信息头或替代路径信息头,然后向所参考的头的“Current Offset”加上一跳的字节数(详细内容后面说明)。一跳的字节数是当前参考的“Local ID#n”字段的字节数。这里,事先保存在增加“Current Offset”的值之前成为参考目标的局部ID。另外,在局部ID(“Local ID#n”)中的“Alt”字段是“0”以外的值的情况下,即对该接收分组来说,该转发节点是去往替代路径的分支点的情况下,使路径信息头的“Ex”字段增加。
然后,分组转发部320使用所述保持的局部ID,进行分组的顺向的转发处理(步骤S203)。具体地说,使用记录部370中记录的转发表的信息,基于局部ID决定应作为转发目的地的通信接口310,并从该通信接口310转发分组。
这里,对判定分组转发部320应参考的路径信息是路径信息头还是替代路径信息头(存在多个的情况下,是哪一个)的方法进行说明。首先,分组转发部320参考路径信息头中的“Alt”字段,如果“Alt”字段是“0”则参考路径信息头,如果是“0”以外的值,将该值作为替代路径编号n,并参考第n个替代路径信息头。到第n个替代路径信息头的偏移字节数可通过参考替代路径开始位置信息头中的“Offset#n”字段来获得。
在所述顺向的分组转发的结果是分组转发成功的情况下(步骤S204的“是”),与该分组相关的处理结束。另一方面,在分组转发失败的情况下(步骤S204的“否”),确认有无替代路径(步骤S205)。此外,对于分组的转发失败可以想到多种多样的情况,如检测到通信接口的故障、或者链路不工作、或发送缓冲区溢出的情况等,这里假设检测到这些中的某一种。
有无替代路径的确认,使用路径信息头的“Ex”字段来进行。在“Ex”字段是“0”以外的值的情况下,分组转发部320判定为存在替代路径(步骤S205的“是”),进行适当设定路径信息头的各字段的恢复用设定(步骤S206),以使接收分组被一直送回到作为去往替代路径的分支点(也可以是本转发节点为分支点的情况)的转发节点。具体地说,将路径信息头的“D”字段以及“F”字段都设定为“1”,进行步骤S200的替代路径转发判定。
另一方面,在“Ex”字段是“0”的情况下判定为无替代路径(步骤S205的“否”),分组转发部320丢弃该分组(步骤S207),并结束与该分组相关的处理。如果“Ex”字段是“0”则看做没有被附加替代路径信息头,但取代上述方法,也可以按照路径信息头来确认替代路径是否存在。
另一方面,在“D”字段的值表示逆向转发(“1”)的情况下(步骤S201的“否”),判定该分组的转发目的地是否是外部网络700(步骤S208)。
逆向转发中的是否为向外部网络700的转发的判定,能够通过路径信息头的“Alt”字段是否为“0”、并且“Current Offset”的值是否为“0”来判定(是“0”时判定为是向外部网络的转发)。这是不将最初发送分组的通信节点100a(100b)与接收该分组的边界转发节点300之间的链路的链路标识符用作最开始的局部ID时的判定方法。在将所述链路标识符用作最开始的局部ID的情况下,当将当前“Currrent Offset”减去一跳之后的值为“0”时能够判定为是向外部网络的转发。逆向转发时的判定方法除此之外,还可以使局部ID取能够区别是否是向外部网络700的转发的值,也可以在路径信息头中的最开始的局部ID之前保持表示开始的信息。而且,还可以采用其他方法。
在判定为不是向外部网络700的转发的情况下(步骤S208的“否”),分组转发部320根据路径信息头的“Alt”字段的值,参考路径信息头或替代路径信息头,并从所参考的头的“Current Offset”中减去一跳的字节数(详细内容后面说明)。这里,保持根据减法运算后的“Current Offset”的值而成为参考目标的局部ID。
之后,分组转发部320基于所述保持的局部ID,进行分组的转发处理(步骤S209)。具体地说,使用记录部390中记录的转发表,根据所述局部ID决定应作为转发目的地的通信接口310,从该通信接口310转发分组,并结束处理。
这里,判定是路径信息头还是替代路径信息头的哪一个(包含替代路径信息存在多个的情况)的方法和步骤S203的顺向转发相同。
另一方面,在步骤S202、S208中,在判定为是向外部网络700转发的情况下(步骤S208的“是”),从接收分组的头中删除路径信息头、替代路径开始位置信息头、以及替代路径信息头(步骤S210)。删除所述头之后的分组被转发到外部网络700的节点100a(100b)(步骤S211)。
接着,参考图16的流程图,说明图15的步骤S200的替代路径转发判定处理的细节。
首先,替代路径切换部370判定接收分组是否为在该转发节点以及经由该转发节点并在某个转发节点发生转发失败、从而经过所经由的转发节点逆向被送回的分组(步骤S300)。具体地说,参考该接收分组的路径信息头中的“D”字段以及“F”字段,判定是否两者都是“1”。这里,在该分组既不是逆向的分组也不是转发失败分组的情况下,替代路径切换部370决定不将转发路径切换到替代路径,并处理结束(步骤S300的“否”)。
另一方面,在步骤S300的判定结果是由于失败而逆向转发(“D”、“F”都是“1”)的情况下(步骤S300的“是”),替代路径切换部370根据“Current Offset”字段,检查该转发节点应参考的局部ID,判定该转发节点是否是能够向替代路径切换的分支点,并且替代路径是否是未使用(步骤S301)。具体地说,确认所述局部ID(“Local ID#n”)中的“Alt”字段是否是“0”以外的值,并且“U”字段是否是“0”。
在步骤S301的判定结果是判定出该转发节点本身是去往未使用的替代路径的分支点的情况下,为了向替代路径转发分组,将路径信息头、代理信息头的各字段设定为适当的值(步骤S302)。以下列举设定内容。
·将路径信息头的“D”字段设定为“0”(返回到顺向转发)
·将路径信息头的“F”字段设定为“0”(清除转发失败信息)
·使路径信息头的“Ex”字段减少
·将替代路径信息头的“Frm”字段设定作为向替代路径的切换源的路径信息的编号。即,将路径信息头的“Alt”字段的值复制到替代路径信息头的“Frm”字段。
·将所述局部ID(“Local ID#n”)中的“U”字段设定为“1”
·将所述局部ID(“Local ID#n”)中的“Alt”字段的值复制到路径信息头的“Alt”字段。
通过以上的设定,是否切换到替代路径进行转发的判定以及用于向替代路径切换的处理结束。
另一方面,在步骤S301中判定为没有未使用的替代路径的情况下,即,该转发节点本身不是去往替代路径的分支点,或者虽然是分支点但是分支目标的替代路径是已经转发了该分组的路径的情况下(步骤S301的“否”),替代路径切换部370判定当前参考的是否是替代路径信息头,并且是否正在参考其中最开始的路径信息(局部ID)(是否是替代路径的起点)(步骤S303)。这里,是否正在参考替代路径信息头,通过参考路径信息头的“Alt”字段就能判定。另外,是否是最开始的路径信息,能够通过替代路径信息头的“Current Offset”是否是“0”来判定。
在步骤S303的判定结果是判定为该转发节点本身是替代路径的起点的情况下(步骤S303的“是”),替代路径切换部370执行向原路径的恢复处理(步骤S304)。向原路径的恢复处理通过将当前参考对象的替代路径信息头中的“Frm”字段的值复制到路径信息头的“Alt”字段来进行。之后,返回到步骤S301,判定是否有未使用的替代路径。
除此以外的情况下(步骤S303的“否”),不进行向原路径的恢复处理,而是结束处理。
接着,说明内部转发节点400的动作。图17示出了内部转发节点400从数据转发网络600的边界转发节点300或者内部转发节点400接收到分组时的处理。
参考图17,首先,分组转发部420在经由通信接口410接收到分组时,检查该分组中是否附加有路径信息头(步骤S400)。
在附加有路径信息头的情况下向“是”前进,执行替代路径转发判定。这里,执行与图16所示的边界转发节点300中的替代路径转发判定处理相同的处理(步骤S401)。另一方面,在是没有被附加路径信息头的情况下向“否”前进,执行丢弃接收到的分组的处理(步骤S407)。
接着,分组转发部420检查路径信息头的“D”字段,判定应进行顺向转发还是逆向转发(步骤S402)。
这里,在“D”字段的值表示顺向转发的(“0”)情况下,向“是”前进,并根据路径信息头的“Alt”字段的值,参考路径信息头或替代路径信息头,对所参考的头的“Current Offset”增加一跳的字节数。一跳的字节数是当前参考的局部ID(“Local ID#n”)字段的字节数。这里,事先保存在增加“Current Offset”的值之前成为参考目标的局部ID。另外,在局部ID字段中的“Alt”字段是“0”以外的值的情况下,即对于该接收分组来说,该转发节点是去往替代路径的分支点的情况下,使路径信息头的“Ex”字段增加。
之后,基于所述保持的局部ID,进行分组的顺向的转发处理(步骤S403)。具体地说,使用记录部470中记录的转发表,基于所述局部ID决定应作为转发目的地的通信接口410,并从该通信接口410转发分组。
这里,能够使用路径信息头的“Alt”字段来决定要参考路径信息头或替代路径信息头(存在多个的情况下,是其中的哪一个)中的哪一个。如果“Alt”字段是“0”则参考路径信息头,如果是“0”以外的值,则将该值作为替代路径编号n,参考第n个替代路径信息头。到第n个的替代路径信息头的偏移字节数可通过参考替代路径开始位置信息头中的“Offset#n”字段来获得。
在所述顺向的分组转发的结果是分组转发成功的情况下(步骤S404的“是”),与该分组相关的处理结束。另一方面,在分组转发失败的情况下(步骤S404的“否”),确认有无替代路径(步骤S405)。
有无替代路径(接收到的分组在到达该转发节点之前经过的路径中是否有去往替代路径的分支点)的确认,使用路径信息头的“Ex”字段来进行。在“Ex”字段是“0”以外的值的情况下,分组转发部420判定为有替代路径(步骤S405的“是”),进行适当地设定路径信息头的各字段的恢复用设定(步骤S406),以使接收分组被送回到作为向替代路径的分支点(也可以是本转发节点为分支点的情况)的转发节点。具体地说,将路径信息头的“D”字段以及“F”字段都设定为“1”,进行步骤S401的替代路径转发判定。
另一方面,在“Ex”字段是“0”的情况下判定为无替代路径(步骤S405的“否”),分组转发部420丢弃该分组(步骤S407),并结束与该分组相关的处理。如果“Ex”字段是“0”则看做没有被附加替代路径信息头,但取代上述方法,也可以按照路径信息头来确认替代路径是否存在。
另一方面,在步骤S402中“D”字段的值表示逆向转发(“1”)情况下(步骤S401的“否”),分组转发部420根据路径信息头的“Alt”字段的值,参考路径信息头或替代路径信息头,对所参考的头的“CurrentOffset”的值减去一跳的字节数。这里,分组转发部420保持根据减法运算后的“Current Offset”的值而成为参考目标的局部ID。
之后,分组转发部420基于所述保持的局部ID,进行分组的逆向的转发处理(步骤S408)。具体地说,使用记录部470中记录的转发表,根据所述局部ID决定应作为转发目的地的通信接口410,从该通信接口410转发分组,并结束处理。
这里,应参考的路径信息是路径信息头还是替代路径信息头(存在多个的情况下,是其中的哪一个)的判定,与步骤S403的顺向转发相同。
接着,对边界转发节点300以及内部转发节点400进行的局部ID决定以及将其结果作为邻近信息通知给路径管理服务器500的处理进行说明。
图18是示出边界转发节点300以及内部转发节点400发送邻近信息通知的动作的流程图。
参考图18,首先,局部ID决定部340(430)决定局部ID(步骤S500)。在使用链路ID作为局部ID的情况下,通过与邻近节点实施链路ID的协商来决定链路ID。此外,在使用通信接口的标识符作为局部ID的情况下,该边界转发节点300或内部转发节点400将分配给自己所具有的通信接口310(410)的标识符作为局部ID。
这里,针对该边界转发节点300或内部转发节点400可使用的所有物理或逻辑链路来决定所述链路ID。同样地,针对所有物理或逻辑通信接口来决定通信接口的标识符。但是,出于管理上的原因等,也可以将一部分链路或通信接口不作为对象。
接着,局部ID决定部340(440)将所述决定的局部ID与通信接口信息(将该通信接口作为分组转发目的地所需要的信息)对应起来,记录到记录部390(470)中的转发表(参考图3)中(步骤S501)。在转发表中还对应记录与各链路的前头连接的邻近节点的标识符。而且,也可以将与各链路关联的信息、邻近节点的故障信息等作为附带信息进行记录。
当向所述转发表的记录结束后,邻近信息通知部350(430)根据记录部390(470)中记录的转发表的信息来构成设定有局部ID和邻近节点的标识符的邻近信息(参考图12),并将邻近信息发送给路径管理服务器500(步骤S502)。邻近信息中还可以保存与各链路关联的信息以及邻近节点的故障信息等附带信息。
接着,说明路径管理服务器500的动作。图19是示出接收到上述邻近信息的路径管理服务器500的处理的流程图。参考图19,首先,路径信息收集部520接收从边界转发节点300或内部转发节点400发来的邻近信息(步骤S600),路径管理服务器500从接收到的邻近信息中取得局部ID以及邻近节点的标识符等信息,使用取得的信息构建网络拓扑信息,并记录到记录部540中(步骤S601)。
图20是示出从边界转发节点300被请求了路径信息时的路径管理服务器500的处理的流程图。参考图20,首先,当接收到来自边界转发节点300的路径请求信号时,路径请求处理部530将路径请求信号中包含的信息通知给路径计算部531(步骤S700)。
接着,路径计算部531通过在步骤S700中通知的路径请求信号中包含的信息和路径信息记录部540中记录的网络拓扑信息来计算最优的转发路径(步骤S701)。这时,考虑到在所述决定的转发路径中转发失败的情况,可以算出在所述转发路径上的任意的转发节点将路径分支后的几个替代路径。当转发路径的计算结束时,路径计算部531对于被决定的路径以及替代路径分别按照转发顺序读出每一跳的局部ID,并通知给路径请求处理部530。
接收到所述转发路径的计算结果(在存在替代路径的情况下也包含替代路径信息)的路径请求处理部530将被通知的转发路径信息(局部ID的排列)设定到路径信息应答信号中来发送给作为路径请求信号的发送源的边界转发节点300(步骤S702)。
接着,参考图21的序列图,对作为IP节点的通信节点100a向边界转发节点300a发送分组、分组被依次进行转发处理、最终到达作为IP节点的通信节点100b的一系列的流程进行说明。
这里,作为例子,以各节点的连接状况是如图13所示的网络拓扑的情况进行说明。边界转发节点300a相当于图13中的ID=1的节点。边界转发节点300b相当于图13中的ID=8的节点。假设IP分组的发送源地址是192.168.0.50,目的地址是192.168.0.20。另外,假定不使用替代路径。
当从通信节点100a发来的IP分组到达边界转发节点300a时(步骤S800),边界转发节点300a执行如图14所示的流程图的处理。这里,IP分组中没有被附加路径信息头,因此在图14的步骤S101中路径信息请求信号被发送给路径管理服务器500(步骤S801)。
接收到所述路径信息请求信号的路径管理服务器500按照图20的流程图计算路径信息,在决定转发路径之后,将路径信息应答信号发送给边界转发节点300a(步骤S802)。
在不考虑链路的带宽以及拥塞状况来计算最短路径的情况下,如下计算转发路径。关于图13的网络拓扑的最短路径,路径ID=1的节点->ID=10的节点->ID=8的节点->192.168.0.20的节点(作为分组目的地的外部网络的IP节点)被选择作为转发路径。因此,在所述路径信息应答信号中,作为图13的网络拓扑的路径上的链路ID的1、2、0的值被作为局部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地址的高位抽出任意比特长度的网络地址,也可以采用MAC(MediaAccess Control,媒体接入控制)地址等二层的信息或其他信息。
边界转发节点300当接收到所述路径信息应答信号时(步骤S803),按照图14的步骤S102之后的处理,在步骤S800中向接收到的IP分组附加路径信息头,之后,在图14的步骤S103中,按照附加的路径信息头,从与应转发的局部ID(=1)对应的通信接口发出分组(步骤S804)。其结果是,分组被转发给ID=10的内部转发节点400。
内部转发节点400在接收到被附加了路径信息头的分组时(步骤S805),按照图17所示的流程图进行转发处理(步骤S806)。这里,按照转发路径信息,分组被从与应转发的局部ID(=2)对应的通信接口发出,分组被转发给ID=8的边界转发节点300b。
边界转发节点300b在接收到被附加了路径信息头的分组时(步骤S807),按照图14所示的流程图进行处理。而且在图14的步骤S103中,实施进一步在图15中示出的流程图所示的转发处理。这里,在图15的步骤S202中判定为是向外部网络的转发,因此边界转发节点300b在从所述接收到的分组去除路径信息头之后,按照去除前的路径信息头的信息,从与应转发的局部ID(=0)对应的通信接口发出分组(步骤S808)。结果是,IP分组最终被转发给通信节点100b。
接着,参考图22的序列图,对作为IP节点的通信节点100a向边界转发节点300a发送IP分组、该分组被依次进行转发处理、但在第一算出的最优路径(基本路径)中转发的途中发生了发送失败、并使用替代路径转发成功的情况的一系列的流程进行说明。
以下,与图21同样地,以各节点的连接状况是如图13所示的网络拓扑的情况进行说明。
当从通信节点100a发来的IP分组到达边界转发节点300a时(步骤S900),边界转发节点300a从路径管理服务器500取得路径信息,进行向所述IP头附加路径信息头的处理(步骤S901)。步骤S901相当于图21中的步骤S802至步骤S803,这里,作为路径信息,假设如下所示,除了基本路径外还取得了两个替代路径。
基本路径信息(不是替代路径的路径)与图21的情况相同,路径是ID=1的节点->ID=10的节点->ID=8的节点->192.168.0.20节点。
第一替代路径信息是以基本路径的ID=10的节点为分支点,路径是ID=10的节点->ID=5->ID=6->ID=8的节点->192.168.0.20节点。
第二替代路径信息是以基本路径的ID=1的节点为分支点,路径是ID=1的节点->ID=5->ID=6->ID=8的节点->192.168.0.20节点。
这时,基本路径、第一替代路径、第二路径的局部ID的排列如下。
基本路径:1(有向第二替代路径的分支)、2(有向第一替代路径的分支)、0。
第一替代路径:3、1、3、0。
第二替代路径:2、1、3、0。
其结果是,在所述接收到的IP分组中,除排列有上述局部ID的路径信息头之外,还被附加替代路径开始位置信息头、以及排列上述局部ID的两个替代路径信息头。
在所述基本信息头中,由于局部ID=1和2的位置为去往替代路径的分支点,因此这些局部ID成为图7中的被扩展了的局部ID。分别在“Alt”字段中设定分支目标的替代路径的编号。
边界转发节点300按照如上述附加的路径信息头,从与应转发的局部ID(=1)对应的通信接口发出分组(步骤S902)。这时,边界转发节点(ID=1)具有去往替代路径的分支点,因此路径信息头的“Ex”字段被增加为“1”。
接收到所述分组的节点ID=10的内部转发节点400a按照图17所示的流程图实施转发处理,从与应转发的局部ID(=2)对应的通信接口发出分组。这时,内部转发节点400a具有去往替代路径的分支点,因此路径信息头的“Ex”字段被增加为‘2’。
这里,假设在内部转发节点400a检测到分组转发失败(图17的步骤S404的“否”)。
这时,内部转发节点400a确认有无替代路径。这里,路径信息头的“Ex”字段不是“0”(“2”),因此判定为到该转发节点为止的路径的途中存在替代路径。
其结果是,内部转发节点400a取代该分组的路径信息头,而通过替代路径转发该分组,因此进行将分组逆向转发至分支点的设定(图17的步骤S406的“恢复用设定”)。具体地说,将路径信息头的“D”字段、“F”字段都设定为“1”。
之后,内部转发节点400a不是立即将该分组逆向转发,而是再次实施图17的步骤S401的替代路径转发判定处理。
该转发节点(ID=10)由于是去往第一替代路径的分支点,因此为了向替代路径切换而进行路径信息头的值的设定。
作为执行如图16所示的替代路径转发判定处理的结果,路径信息头的“D”字段、“F”字段立即被再次设定为“0”,“Ex”字段也被减少。其结果是“Ex”字段成为“1”。所参考的局部ID的“U”字段设定为“1”,而且同样地将局部ID的“Alt”字段复制到替代路径信息头的“Alt”字段。其结果是该字段被设定为“1”。
通过以上的处理,该内部转发节点400a以及之后的转发节点执行使用第一替代路径的转发处理。首先,内部转发节点400a由于路径信息头的“Alt”字段是“1”,因此参考设定有第一替代路径信息的替代路径信息头的局部ID。其结果是局部ID(链路标识符)是“3”,因此从与链路标识符=“3”连接的通信接口发出所述分组(步骤S905)。这时,所述替代路径头的“Current Offset”字段被加上该局部ID的字节数。
所述转发的结果,所述分组被内部转发节点400b(ID=5)接收。之后,参考由第一替代路径信息头的“Current Offset”表示的位置的局部ID,分组被依次转发至作为下一跳的转发节点,最终分组被转发给通信节点100b(步骤S906~步骤S908)。
接着,参考图23的序列图,对作为IP节点的通信节点100a向边界转发节点300a发送分组、该分组被依次进行转发处理、但在第一算出的最优路径(基本路径)以及第一替代路径进行转发的途中发生了发送失败、并使用第二替代路径转发成功的情况的一系列的流程进行说明。
以下与图21同样地,以各节点的连接状况是如图13所示的网络拓扑的情况进行说明。
图23的步骤S1000至步骤S1004与图22的步骤S900至步骤S904完全相同,因此省略说明。
在步骤S1005中,内部转发节点400a是去往第一替代路径的分支点,因此参考设定有第一替代路径的替代路径信息头的局部ID。其结果是局部ID(链路标识符)是“3”,因此从与链路标识符=“3”连接的通信接口发出所述分组。这时,所述替代路径头的“Current Offset”字段被加上该局部ID的字节数。
到此与步骤S905相同,这里,假设内部转发节点400a检测到分组转发失败(图17的步骤S404的“否”)。
这时,内部转发节点400a确认有无替代路径(步骤S1006)。这里,路径信息头的“Ex”字段不是“0”(“1”),因此判定为在到该转发节点为止的路径的途中存在替代路径。
其结果是,内部转发节点400a取代该分组的路径信息头,而通过替代路径转发该分组,因此进行将分组逆向转发至分支点的设定(图17的步骤S406的“恢复用设定”)。具体地说,将路径信息头的“D”字段、“F”字段都设定为“1”。
之后,内部转发节点400a不是立即将该分组逆向转发,而是再次实施图17的步骤S401的替代路径转发判定处理。
然后,按照图16所示的替代路径转发判定处理,在第一替代路径所参考的局部ID中没有去往其他代理路径的分支点的信息,因此转移到图16的步骤S300的“是”以及步骤S301的“否”,在图16的步骤S303中判定是否已返回到替代路径的起点。
这时,第一替代路径信息头的“Current Offset”是“0”,因此能够判定以返回到起点。从而,前进到图16的步骤S304,执行向原路径的恢复处理。向所述原路径的恢复处理通过将第一替代路径信息头的“Frm”字段的值复制到路径信息头“Alt”字段来进行。
其结果是,所述“Alt”字段被设定为“0”,包括内部转发节点400a在内,在此之后接收到该分组的转发节点根据基本路径信息(路径信息头中设定的路径)进行转发处理。
按照图16的流程图,之后,再次在步骤S301中判定是否有未使用的替代路径。在这里的判定中使用路径信息头的局部ID。其结果是,虽存在从该内部转发节点400a向第一替代路径的路径,但已经使用过(“U”=“1”),因此在图16的步骤S301中向“否”前进,接着在图16的步骤S303中,判定是否为代理路径的起点。该内部转发节点400a不是基本路径的起点,并且原本也不是替代路径,因此判定结果为“否”,替代路径转发判定处理结束。
之后,在图17的步骤S402中进行的转发方向的判定,由于“D”字段是“1”,因此为“否”(逆向),因此在图17的步骤S408中执行逆向的转发处理。其结果是,接收分组从与链路标识符=“1”连接的通信接口发送给边界转发节点300a(ID=1)(步骤S1007)。
接着当在步骤S1008中接收到所述逆向转发的分组时,边界转发节点300a执行图15所示的转发处理。首先,在步骤S200的替代路径转发判定处理中,接收分组是逆向且转发失败(“D”字段=1、“F”字段=1),并且还有未使用的替代路径(第二替代路径),因此在图16的步骤S302中实施向替代路径的切换处理。
具体地说,路径信息头的“D”字段、“F”字段被设定为“0”。另外,同样地路径信息头的“Alt”字段被复制局部ID的“Alt”字段,结果被设定为“2”。另外,所述局部ID中的“U”字段被设定为“1”。之后,按照图15的步骤S201之后的步骤,使用第二替代路径信息头进行接收分组的转发处理。
这里,第二替代路径信息头中的第一个局部ID信息是“2”(链路标识符=“2”),因此分组从该边界转发节点300a(ID=1)的通信接口中的与链路标识符=“2”的链路连接的通信接口发出(步骤S1009)。
由内部转发节点400b(ID=5)执行在步骤S1009中接收到的分组的转发处理(步骤S1010)。转发的步骤如之前说明的那样参考路径信息头的“Alt”字段,由于该字段不是“0”(“2”),因此使用了第二替代路径信息头的转发被开始。根据第二替代路径信息头的“Current Offset”字段来确定应参考的局部ID。这里“Current Offset”是“C1”,因此参考第二替代路径信息头的“Local ID#1”。如所述的那样“Local ID#1”是“1”,因此该内部转发节点400b从与链路标识符是“1”的链路连接的通信接口发出该分组(步骤S1011)。
接着,内部转发节点400c(ID=6)进行在步骤S1011中发出的分组的转发处理(步骤S1012)。处理内容与步骤S1010中说明的内部转发节点400b中的转发处理相同。结果是,该内部转发节点400c从与链路标识符是“3”链路连接的通信接口发出该分组(步骤S1013)。
最后在步骤S1014中,边界转发节点300b(ID=8)进行在步骤S1013发出的分组的转发处理。这时,边界转发节点300b按照图14所示的流程实施处理。并且在图14的步骤S103中,实施进一步在图15中示出的流程图所示的转发处理。这里,由于是向外部网络的转发,因此在图15的步骤S210中去除路径信息头、替代路径开始位置信息头、替代路径信息头,之后,该分组从与外部网络连接的通信接口发出(步骤S1015)。其结果是,分组被发送给通信节点100b。
如上所述,根据本实施方式,构成为不是使用诸如IP地址等确保全局唯一性的路径信息,而是使用仅在转发节点内、或者在邻接的转发节点之间等局部范围内保证唯一性的局部ID来指定转发目的地。因此,可用一个字节或两个字节程度的信息量保存一跳的转发路径,即使在将该转发路径的信息保存在路径信息头中并附加给分组的情况下,也能够将由附加的头引起的开销抑制在极小的大小。其结果是,能够不限用途地将路径信息头保存到所有分组中。
另外,在本实施方式中,能够使转发节点所具有的转发表的条目数为各转发节点所具有的通信接口的数目的程度。另外,还可抑制为了进行转发表的保存、更新、使用而转发节点所需要的存储器的大小和CPU的处理能力,能够使转发节点更廉价。
作为这些的结果,根据本实施方式,即使在按每一跳严格地指定转发路径的情况下也可高效且高速转发净荷信息。
而且,根据本实施方式,由于向分组附加替代转发路径信息,转发节点具有向适当的替代转发路径切换的功能,因此在转发路径发生了故障的情况、或流量变得过大的情况下等等,也能够不受影响地将分组转发到目的地。
[第二实施方式]
接着,参考附图,详细说明本发明的第二实施方式,本发明的第二实施方式对本发明的第一实施方式施加改变以记录保持转发失败路径。
本发明第二实施方式的整体构成上具有与第一实施方式大致相同的构成、功能,但对边界转发节点301和内部转发节点401做了改变。以下以该不同点为中心加以说明。
图24是示出本发明第二实施方式的边界转发节点301的构成的图。对于与第一实施方式的边界转发节点300相同的功能模块,标注相同的标号。以下,对标注了与第一实施方式的边界转发节点300不同标号的替代路径切换部371、转发结果记录部381以及记录部391进行说明。
替代路径切换部371具备与本发明第一实施方式的替代路径切换部370大致相同的功能,但还包括以下功能:将接收分组中的路径信息头(在使用替代路径的情况下是替代路径信息头)中的路径信息(局部ID的排列)与记录部391中记录的转发失败路径信息表的各条目进行比较,在一致的情况下,将该接收分组视为精油无效路径的分组,并使转发路径切换到替代路径或其他替代路径。
这里,对记录在记录部391中的转发失败路径信息表进行说明。转发失败路径信息表的格式如图25所示,各条目包括转发失败路径和有效时刻的信息。
所述转发失败路径信息是对从该转发节点参考的参考局部ID直到在该转发节点之后的转发节点处转发失败的局部ID为止进行排列的信息。这里,如后面说明的那样,本实施方式的局部ID与第一实施方式仅仅是格式不同,是转发失败的转发节点尝试了转发的通信接口的标识符或者与前述通信接口连接的链路的链路标识符中的某一个。
有效时刻信息表示在时刻超过这里记录的有效时刻的情况下该条目被删除或被设为无效。但是,也可以不使用有效时刻。
替代路径切换部371还具有以下功能:在接收到转发失败从而被逆向转发而来的分组(即,“D”字段、“F”字段均是“1”的分组)的情况下,并且在该转发节点是去往替代路径的分支点的情况下,向替代路径转发所述接收分组,并且使用接收分组的路径信息头或替代路径信息头的信息向所述转发失败路径信息表中追加条目。
图26是本实施方式中使用的局部ID的格式。对于第一实施方式中的局部ID,追加了“B”(BrokenLink,断线的链路)字段。在发生了转发失败的情况下,发生了转发失败的通信接口标识符、或者与链路标识符相当的局部ID的“B”字段被设定成“1”。因此,能够读取从该转发节点参考的局部ID至转发失败的局部ID,并记录到转发失败路径信息表中。
转发结果记录部381具有与本发明第一实施方式的转发结果记录部380大致相同的功能,但在转发失败时,除了将路径信息头的“D”字段以及“F”字段设定为“1”之外,还具有将尝试转发时所参考了的局部ID的“B”字段设定为“1”的功能。
在记录部391中除了在本发明的第一实施方式中记录的转发表之外,还记录如图25所示的转发失败路径信息表。
图27是示出本发明第二实施方式的内部转发节点401的构成的图。与第一实施方式的内部转发节点400相同的功能模块被标注了相同的标号。
标注了与第一实施方式的内部转发节点400不同标号的替代路径切换部451、转发结果记录部461以及记录部471分别具有与边界转发节点301的替代路径切换部371、转发结果记录部381以及记录部391相同的功能,因此省略这些模块的说明。
接着,对第二实施方式中的边界转发节点301以及内部转发节点401从邻近节点接收到分组时的处理流程。
边界转发节点301、内部转发节点401进行与第一实施方式中的边界转发节点300、内部转发节点400大致相同的动作。不同的是,图16所示的替代路径转发判定处理、图15的边界转发节点300中的恢复用设定(步骤S206)、以及图17的内部转发节点400中的恢复用设定(步骤S406)。以下,以与第一实施方式的不同点为中心进行说明。
首先,使用图28所示的流程图来说明本发明第二实施方式中的替代路径转发判定处理。
首先,转发节点判定接收分组是否是在该转发节点以及经由该转发节点在之后的转发节点发生了转发失败,经过所经由的转发节点逆向被送回的分组(步骤S1100)。具体地说,参考该接收分组的路径信息头中的“D”字段以及“F”字段,判定是否两者都是“1”。
在接收分组不是因为失败而逆向转发的分组的情况下(步骤S1100的“否”),转发节点将在接收分组的路径信息头(在使用替代路径的情况下是替代路径信息头)中当前参考的局部ID和接在其后的局部ID与图25所示的转发失败路径信息表的各条目进行比较(步骤S1101)。在比较的结果是存在一致的条目的情况下,决定将该接收分组作为转发失败的分组切换到替代路径(步骤S1101的“是”)。另一方面,在没有一致的条目的情况下向“否”前进,处理结束(步骤S1101的“否”)。
上述步骤S1101的处理是通过本发明第二实施方式中的替代路径切换部371以及替代路径切换部451新追加的处理。
另一方面,在接收分组是因为失败而逆向转发的分组(“D”字段、“F”字段均是“1”)的情况下(步骤S1100的“是”),转发节点根据“Current Offset”字段检查应参考的局部ID,判定该转发节点是否是能够向替代路径切换的分支点,并且替代路径是否未使用(步骤S1102)。具体地说,判定所述局部ID(“Local ID#n”)中的“Alt”字段是否是“0”以外的值,并且“U”字段是否是“0”。
进行前述判定的结果,在判定为是未使用的替代路径的分支点的情况下(步骤S1102的“是”),转发节点根据路径信息头(在使用替代路径的情况下是替代路径信息头),读出从该转发节点参考的局部ID到所述“B”(BrokenLink)字段被设定为“1”的局部ID为止的一系列的局部ID,并将该一系列的局部ID注册为图25所示的转发失败路径信息表的条目。
上述步骤S1103的处理是本发明第二实施方式中的替代路径切换部371以及替代路径切换部451新追加的处理。
接着,转发节点为了向替代路径转发分组,将路径信息头、代理信息头的各字段设定为适当的值(步骤S1104)。具体的设定内容与图16的S302相同,因此这里省略。在所述设定结束之后,替代路径转发判定处理结束。
另一方面,在不满足上述条件的情况下,即在不是去往替代路径的分支点,或者虽然是分支点但分支目标替代路径是已经转发过该分组的路径的情况下(步骤S1102的“否”),转发节点判定当前参考的是否是替代路径信息头,并且是否参考了其中第一个路径信息(局部ID)(步骤S1105)。这里,是否是参考替代路径信息头的判定,只要参考路径信息头的“Alt”字段就能判定。另外,是否是第一个路径信息的判定,能够通过替代路径信息头的“Current Offset”是否为“0”来判定。
进行所述判定的结果,在判定为不是替代路径的第一个路径信息、即本节点不是替代路径的起点的情况下(步骤S1105的“否”),替代路径转发判定处理结束。
进行所述判定的结果,在判定为是替代路径的第一个路径信息的情况下,即在判定为本节点是替代路径的起点的情况下(步骤S1105的“是”),转发节点执行向原路径的恢复处理。向所述原路径的恢复处理通过将作为当前参考对象的替代路径信息头中的“Frm”复制到路径信息头的“Alt”字段来进行。
接着,对本发明第二实施方式中的边界转发节点301的恢复用设定处理与图15的第一实施方式中的恢复用设定处理(步骤S206)的不同点进行说明。
在本发明第一实施方式中的恢复用设定处理(图15的步骤S206)中,将路径信息头的各字段进行适当地设定,以便实施将接收分组一直返回到作为去往替代路径的分支点(也可以是本转发节点为分支点的情况)的转发节点的处理。具体地说,将路径信息头的“D”以及“F”字段都设定为“1”。
与此相对,在本发明第二实施方式的恢复用设定处理中,除了上述的以外,通过转发结果记录部381执行将进行最终以失败告终的转发时所参考的局部ID信息的“B”字段设定为“1”的处理。
接着,对本发明第二实施方式的内部转发节点401的恢复用设定处理与第一实施方式的恢复用设定处理(图17的步骤S406)的不同点进行说明。
本发明第一实施方式的恢复用设定处理(图17的步骤S406)将路径信息头的各字段进行适当地设定,以便实施将接收分组一直返回到作为向替代路径的分支点(也可以是本转发节点就是分支点的情况)的转发节点的处理。具体地说,将路径信息头的“D”以及“F”字段都设定为“1”。
与此相对,在本发明第二实施方式的恢复用设定处理中,除了上述的以外,通过转发结果记录部461执行将进行最终以失败告终的转发时所参考的局部ID信息的“B”字段设定为“1”的处理。
接着,参考图29的序列图,对作为IP节点的通信节点100a向边界转发节点300a发送分组、该分组被依次进行转发并最终到达作为IP节点的通信节点100b的处理进行说明。
但是,这里,为了更加易于理解地说明本发明的第二实施方式,假设分组如下发送了分组。
首先,在最初的分组的转发途中发生转发失败,将该分组一直返回到作为向替代路径的分支点的转发节点(这里的例子中是边界转发节点300a)之后,通过替代路径转发该分组。
接着,同样地在边界转发节点300a接收到从通信节点100a向通信节点100b发送的分组的情况下,由于预测到该分组的转发失败,因此边界转发节点300a不使用基本路径,而是立即使用替代路径进行转发。
参考图29,当从通信节点100a发来的IP分组到达边界转发节点300a时(步骤S1200),接收到所述IP分组的边界转发节点300a从路径管理服务器500取得路径信息,并执行向所述IP头中附加路径信息头的处理(步骤S1201)。
以下与第一实施方式同样地,假设各节点的连接状况是如图13所示的网络拓扑的情况,如下所述,假设除基本的路径信息之外能还取得一个替代路径的情况进行说明。
基本的路径信息(不是替代路径的路径):
路径是:ID=1的节点->ID=10的节点->ID=8的节点->192.168.0.20的节点。
第一替代路径信息:
以基本路径的ID=1的节点为分支点,路径是:ID=1的节点->ID=10的节点->ID=5->ID=6->ID=8的节点->192.168.0.20的节点。
这时,基本路径、第一替代路径的局部ID的排列如下。
基本路径:1(有去往第一替代路径的分支)、2、0。
第一替代路径:2、1、3、0。
其结果是,所述接收到的IP分组中除了路径信息头之外还被附加替代路径开始位置信息头和一个替代路径信息头。
在所述基本信息头中,由于参考局部ID=1的转发节点(边界转发节点300a)是去往第一替代路径的分支点,因此这些局部ID成为图26下部的被扩展的(“E”=“1”)局部ID,并且所述局部ID中的“Alt”字段中被设定分支目标的替代路径的编号。
接着,边界转发节点300a按照附加的路径信息头,从与应转发的局部ID(链路标识符)所表示的链路连接的通信接口发出分组(步骤S1202)。这时,边界转发节点300a由于具有去往替代路径的分支点,因此路径信息头的“Ex”字段被增加为“1”。
之后,分组被转发给内部转发节点400a(ID=10)。接着,接收到附加有路径信息头的分组的内部转发节点400a按照图17所示的流程图实施转发处理,从与链路标识符=2连接的通信接口发出分组(步骤S1203)。
这里,假设内部转发节点400a检测到分组转发失败(图17的步骤S404的“否”)。这时,在步骤S1204中,确认有无替代路径。由于路径信息头的“Ex”字段不是“0”(“1”),因此判定为到该转发节点为止的路径中存在替代路径。
其结果是,取代该分组的路径信息头,通过替代路径转发该分组,因此进行将分组逆向一直转发到分支点的设定(步骤S1204)。具体地说,将路径信息头的“D”字段、“F”字段都设定为“1”。
而且,这里将进行失败的转发时所参考的局部ID的“B”字段也设定为“1”。在这里的例子中,局部ID=“2”的局部ID的“B”字段被设定为“1”。
所述处理的结果,内部转发节点400a将该分组逆向转发(步骤S1205)。
接收到所述逆向转发的分组的边界转发节点300a如图15所示的边界转发节点的转发处理那样,首先执行步骤S200的替代路径转发判定处理(步骤S1206)。结果是逆向的转发、且转发失败(“D”字段=1、“F”字段=1),而且存在未使用的替代路径(第一替代路径),因此决定向替代路径切换。
这时,在图28的步骤S1103中,向图25的转发失败路径信息表中追加条目。在该例子的情况下,被追加的条目中描述有{1、2}这样的转发失败路径。之后,在步骤S1104中实施向替代路径的切换处理。
具体地说,路径信息头的“D”字段、“F”字段被设定为“0”。并且局部ID的“Alt”字段被复制到“Alt”字段,结果,“Alt”字段被设定为“1”。另外,所述局部ID中的“U”字段被设定为“1”。之后,按照图15的步骤S201之后的处理,使用第一替代路径信息头进行接收分组的转发处理。然后,该分组被按照以上说明的步骤在多个转发节点间被转发,最终被发送到通信节点100b(步骤S1207)。
之后,在从通信节点100a发送至通信节点100b的其他IP分组到达边界转发节点300a的情况下(步骤S1208),边界转发节点300a与所述步骤S1201同样地向路径管理服务器500查询转发路径,并取得路径信息。但是,通过将在步骤S1201中取得的路径信息保持起来作为缓存(cache),也可以在接收到目的地IP地址等为相同值的IP分组时,使用所述缓存的信息而省略向路径管理服务器500的查询。无论怎样,这里假设也能取得与步骤S1201相同的路径信息,并且使用所述路径信息构成的路径信息头、替代路径开始位置信息头、替代路径信息头被附加到IP分组中。
所述头被附加之后,边界转发节点300a按照图15的流程执行转发处理,但首先在步骤S200中实施替代路径转发判定处理(步骤S1209)。
这里的替代路径转发判定处理是如图28中的流程图所示的流程。被附加了所述头的分组是顺向且没有发生转发失败,因此在图28的步骤S1100中向“否”前进,步骤S1101被执行。在步骤S1101中,如上述的那样,对所述分组的路径信息头与图25的转发失败路径信息表的条目进行比较,检查是否有一致的条目。
如上所述,转发失败路径信息表中存在转发失败路径是{1、2}的条目。另一方面,在被附加到所述分组的路径信息头中的转发路径信息之中,将该边界转发节点300a转发时参考的局部ID作为起点时的局部ID排列是{1、2、0}。
所述比较的结果,{1、2}这部分相一致,因此在所述的步骤S1101中向“是”前进,步骤S1104被执行。即,不将接收分组转发给内部转发节点400a,而是能够将转发路径立即切换到替代路径,能够高效率地转发。该分组通过替代路径最终被发送到通信节点100b(步骤S1210)。
根据以上本发明的第二实施方式,除了第一实施方式的效果之外,当接收到附加有被预测为转发失败的路径信息头的分组时,能够立即向替代路径转发。结果是不仅能够抑制服务中断时间,而且能够避免无用的转发,有效地使用链路的带宽和处理能力。
以上,说明了本发明的优选实施方式,但本发明不限定于上述的实施方式,能够在不脱离本发明的基本技术构思的范围内施加更多的变形、替换、调整。例如,在上述的各实施方式中,以使用链路两端的邻近节点之间共有的链路ID为例进行了说明,但也可以使用通信接口的标识符作为局部ID。
而且,代替链路ID或通信接口的标识符,也可以采用对第三局部ID进行编号、并将该编号与链路ID或通信接口关联起来的变形构成。
另外,例如在上述的实施方式中,对各转发节点包括局部ID决定部来分别决定局部ID的例子进行了说明,但在路径管理服务器能够获得各转发节点的构成信息的情况下,能够采用由路径管理服务器决定局部ID、并使各个转发节点的记录部记录转发表的构成。在此情况下,能够省略各个转发节点的局部ID决定部。而且,在路径管理服务器还能获得各转发节点的连接关系、并能够局部ID以使邻接的节点之间不重复的情况下,还能够省略各个转发节点的邻近信息通知部。
另外,上述实施方式的路径管理服务器500能够通过非专利文献1的开放流控制器来实现,在此情况下,转发节点能够通过开放流交换机来实现。
另外,上述实施方式的路径管理服务器500能够作为专用服务器实现,作为转发节点除了上述开放流交换机之外,还能够通过IP网络中的路由器、MPLS网络中的MPLS交换机来实现。除此之外,只要是服务器集中管理网络内的转发节点的网络,就能够应用本发明。
产业上的可用性
在数据中心等商用网络中,为了QoS(Quality of Service,服务质量)或负荷分布,需要通过各种各样的条件,如目的地址、发送源地址、使用的协议等,严格地控制分组的转发路径。根据本发明,能够在不增加路径信息,抑制分组的开销的同时,严格地指定转发路径。另外,在链路发生故障时能够继续服务是很重要的。本发明的通信系统能够在不增加路径信息、抑制分组的开销的同时,严格地指定转发路径,并且在特定的链路发生了故障的情况下,也能使用头中保存的几个替代路径进行分组的转发,能够构建抗故障性、可用性优越的网络系统。
因此,本发明能够很好地应用于数据中心等商用网络。
在本发明的全部公开内容(包括权利要求书)的框架内,并且基于其基本的技术构思,能够进行实施方式乃至实施例的改变、调整。另外,在本发明权利要求书的框架内能够进行各种公开元素的多样组合乃至选择。即,本发明当然包括本领域技术人员根据包括权利要求书在内的全部公开内容、技术构思可得到的各种变形和修改。
最后附记能够记入本发明的权利要求书中的发明。
[附记1]
在上述的通信系统中,
所述转发结果记录部使用用于识别分组内的所述转发失败了的转发节点所使用的通信接口或者在其与邻接节点之间建立的链路的标识符,生成发生了所述转发失败的转发路径信息并进行记录。
[附记2]
在上述的转发节点中,
还参考表示使用分组内的多个转发路径信息中的哪个转发路径信息的路径选择信息来决定在所述分组转发处理中使用的转发路径信息。
[附记3]
在上述的转发节点中,
使用分组中包含的、用于判别从一个转发路径能够分支到其他转发路径的转发节点的信息,将转发路径切换到不同的转发路径。
[附记4]
在上述的转发节点中,
参考分组中包含的、根据转发处理的结果被更新的所述转发结果信息,来选择转发没有失败的转发路径信息。
[附记5]
在上述的转发节点中,
在转发处理失败的情况下,减少该分组中包含的分支点信息并使用所述分支点信息来决定是否丢弃该分组,所述分支点信息表示到达至接收到该分组的转发节点的转发路径上的能够从当前转发路径分支到不同转发路径的转发节点的数目。
[附记6]
在上述的转发节点中,
包括记录发生了转发失败的转发路径信息的转发结果记录部,
所述转发节点在接收到分组时,将该分组中保存的转发路径信息与所述记录的发生了转发失败的路径信息进行比较,其结果,预测到转发失败的情况下转换到其他转发路径。
[附记7]
在上述的转发节点中,
所述转发结果记录部使用用于识别分组内的所述转发失败的转发节点所使用的通信接口或者在其与邻接节点之间建立的链路的标识符,来生成发生了所述转发失败的转发路径信息并进行记录。
[附记8]
在上述的转发节点(边界转发节点)中,
在接收到不包含所述转发路径信息的分组的情况下,所述转发节点使用通过向路径管理服务器进行查询而取得的、能够使所述分组到达通信对方的多个转发路径信息,向所述分组中保存所述多个转发路径信息。
符号说明
Figure BPA00001577426000501
Figure BPA00001577426000511

Claims (10)

1.一种通信系统,其特征在于,包括:
路径管理服务器,该路径管理服务器构成多个转发路径信息,所述转发路径信息通过排列用于识别数据转发网络的转发路径上的各个转发节点所具有的通信接口、或者在所述各个转发节点和其邻接节点之间建立的链路的标识符而构成;以及
转发节点,该转发节点对于附加有其中保存有所述多个转发路径信息的头的分组,按照所述多个转发路径信息中的某一个执行分组转发处理。
2.根据权利要求1所述的通信系统,其中,
所述分组能够保存指示使用所述多个转发路径信息中的哪个转发路径信息的路径选择信息,
所述转发节点参考所述路径选择信息来决定在所述分组转发处理中使用的转发路径信息。
3.根据权利要求1或2所述的通信系统,其中,
所述多个转发路径信息中包括用于判别从一个转发路径能够分支到其他转发路径的转发节点的信息,
所述能够分支的位置处的转发节点选择所述多个转发路径信息中的某一个。
4.根据权利要求1至3中任一项所述的通信系统,其中,
所述分组能够保存表示由转发节点基于根据所述路径选择信息决定的转发路径信息进行了转发处理时的转发结果的转发结果信息,
所述转发节点参考根据转发处理的结果被更新的所述转发结果信息来选择转发没有失败的转发路径信息。
5.根据权利要求1至4中任一项所述的通信系统,其中,
所述分组能够保存分支点信息,所述分支点信息表示到达至接收到该分组的转发节点的转发路径上的能够从当前转发路径分支到不同转发路径的转发节点的数目,
所述转发节点在转发处理失败时减少所述分支点信息,并使用所述分支点信息来决定是否丢弃该分组。
6.根据权利要求1至5中任一项所述的通信系统,其中,
当改变了转发路径时,所述分组能够保存能够确定改变前的转发路径信息的信息,
所述转发节点使用所述分组中包含的改变前的转发路径信息,来执行向改变前的转发路径的恢复处理,并搜索进一步的分支目标。
7.根据权利要求1至6中任一项所述的通信系统,其中,
所述转发节点还包括转发结果记录部,该转发结果记录部记录发生了转发失败的转发路径信息,
所述转发节点在接收到分组时,对该分组中保存的转发路径信息与所述记录的发生了转发失败的路径信息进行比较,并在比较的结果预测到转发失败时转换到其他转发路径。
8.一种转发节点,其中,
所述转发节点与路径管理服务器连接,所述路径管理服务器构成多个转发路径信息,所述转发路径信息通过排列用于识别数据转发网络的转发路径上的各个转发节点所具有的通信接口、或者在所述各个转发节点和其邻接节点之间建立的链路的标识符而构成,
所述转发节点对于附加有其中保存有所述多个转发路径信息的头部的分组,按照所述多个转发路径信息中的某一个执行分组转发处理。
9.一种路径管理服务器,其中,当接收到来自权利要求8所述的转发节点的路径请求时,所述路径管理服务器基于所述路径请求中包含的信息,返回能够使所述分组到达至通信对方的多个转发路径信息。
10.一种通信方法,包括以下步骤:
数据转发网络的路径管理服务器在接收到来自转发节点的路径请求时,基于所述路径请求中包含的信息,返回多个转发路径信息,所述转发路径信息通过排列用于识别数据转发网络的转发路径上的各个转发节点所具有的通信接口或者在所述各个转发节点和其邻接节点之间建立的链路的标识符而构成;以及
包括所述转发节点的从所述多个转发路径信息之中的某一个选出的转发路径上的转发节点组使用所述选出的转发路径信息依次转发所述分组。
CN201180005856.2A 2010-01-08 2011-01-07 通信系统、转发节点、路径管理服务器以及通信方法 Active CN102714629B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510368390.2A CN105141516A (zh) 2010-01-08 2011-01-07 通信系统、转发节点、路径管理服务器以及通信方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010-002875 2010-01-08
JP2010002875 2010-01-08
PCT/JP2011/050182 WO2011083846A1 (ja) 2010-01-08 2011-01-07 通信システム、転送ノード、経路管理サーバおよび通信方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201510368390.2A Division CN105141516A (zh) 2010-01-08 2011-01-07 通信系统、转发节点、路径管理服务器以及通信方法

Publications (2)

Publication Number Publication Date
CN102714629A true CN102714629A (zh) 2012-10-03
CN102714629B CN102714629B (zh) 2015-07-29

Family

ID=44305582

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201510368390.2A Pending CN105141516A (zh) 2010-01-08 2011-01-07 通信系统、转发节点、路径管理服务器以及通信方法
CN201180005856.2A Active CN102714629B (zh) 2010-01-08 2011-01-07 通信系统、转发节点、路径管理服务器以及通信方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201510368390.2A Pending CN105141516A (zh) 2010-01-08 2011-01-07 通信系统、转发节点、路径管理服务器以及通信方法

Country Status (5)

Country Link
US (1) US20110286326A1 (zh)
EP (1) EP2523405A4 (zh)
JP (3) JP5699939B2 (zh)
CN (2) CN105141516A (zh)
WO (1) WO2011083846A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105049350A (zh) * 2014-04-17 2015-11-11 思科技术公司 分段路由-出口对等工程(sp-epe)
CN105075196A (zh) * 2013-02-25 2015-11-18 日本电气株式会社 控制器、通信系统、路径切换方法和程序
WO2016124049A1 (zh) * 2015-02-05 2016-08-11 华为技术有限公司 用于获取端口路径的方法及装置
CN107689921B (zh) * 2017-09-15 2020-11-13 深圳市盛路物联通讯技术有限公司 一种转发节点的选择方法及系统
CN114531944A (zh) * 2019-10-23 2022-05-24 思科技术公司 数据流的路径签名

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9001645B2 (en) * 2006-05-17 2015-04-07 Rajant Corporation System and method for packet delivery backtracking
USRE48951E1 (en) 2015-08-05 2022-03-01 Ecolab Usa Inc. Hand hygiene compliance monitoring
US9300491B2 (en) 2011-02-11 2016-03-29 Qualcomm Incorporated Frame delivery path selection in hybrid communication networks
US8897169B2 (en) 2011-03-02 2014-11-25 Qualcomm Incorporated Discovery of conventional devices and bridges in hybrid communication networks
US9025603B2 (en) * 2011-03-08 2015-05-05 Qualcomm Incorporated Addressing scheme for hybrid communication networks
US9461777B2 (en) 2011-11-21 2016-10-04 Qualcomm Incorporated Hybrid networking system with seamless path switching of streams
KR101887581B1 (ko) * 2011-12-26 2018-08-14 한국전자통신연구원 플로우 기반의 패킷 전송 장치 및 그것의 패킷 처리 방법
US9185166B2 (en) * 2012-02-28 2015-11-10 International Business Machines Corporation Disjoint multi-pathing for a data center network
JP5817078B2 (ja) * 2012-04-17 2015-11-18 株式会社日立製作所 伝送システム、集中制御計算機、及び伝送方法
JP2014003408A (ja) * 2012-06-18 2014-01-09 Hitachi Ltd 中継転送システム、経路制御装置およびエッジ装置
US9722943B2 (en) * 2012-12-17 2017-08-01 Qualcomm Incorporated Seamless switching for multihop hybrid networks
CA2895685A1 (en) * 2012-12-19 2014-06-26 Nec Corporation Communication node, control apparatus, communication system, packet processing method, communication node controlling method and program
US10447575B1 (en) 2012-12-27 2019-10-15 Sitting Man, Llc Routing methods, systems, and computer program products
US10397100B1 (en) 2012-12-27 2019-08-27 Sitting Man, Llc Routing methods, systems, and computer program products using a region scoped outside-scope identifier
US10212076B1 (en) 2012-12-27 2019-02-19 Sitting Man, Llc Routing methods, systems, and computer program products for mapping a node-scope specific identifier
US10411998B1 (en) 2012-12-27 2019-09-10 Sitting Man, Llc Node scope-specific outside-scope identifier-equipped routing methods, systems, and computer program products
US10411997B1 (en) 2012-12-27 2019-09-10 Sitting Man, Llc Routing methods, systems, and computer program products for using a region scoped node identifier
US10419334B1 (en) 2012-12-27 2019-09-17 Sitting Man, Llc Internet protocol routing methods, systems, and computer program products
US10374938B1 (en) 2012-12-27 2019-08-06 Sitting Man, Llc Routing methods, systems, and computer program products
US10404583B1 (en) 2012-12-27 2019-09-03 Sitting Man, Llc Routing methods, systems, and computer program products using multiple outside-scope identifiers
US10476787B1 (en) 2012-12-27 2019-11-12 Sitting Man, Llc Routing methods, systems, and computer program products
US10904144B2 (en) 2012-12-27 2021-01-26 Sitting Man, Llc Methods, systems, and computer program products for associating a name with a network path
US10404582B1 (en) 2012-12-27 2019-09-03 Sitting Man, Llc Routing methods, systems, and computer program products using an outside-scope indentifier
US10397101B1 (en) 2012-12-27 2019-08-27 Sitting Man, Llc Routing methods, systems, and computer program products for mapping identifiers
US10587505B1 (en) 2012-12-27 2020-03-10 Sitting Man, Llc Routing methods, systems, and computer program products
US10419335B1 (en) 2012-12-27 2019-09-17 Sitting Man, Llc Region scope-specific outside-scope indentifier-equipped routing methods, systems, and computer program products
US9282034B2 (en) 2013-02-20 2016-03-08 International Business Machines Corporation Directed route load/store packets for distributed switch initialization
JP5987971B2 (ja) 2013-02-26 2016-09-07 日本電気株式会社 通信システム、スイッチ、制御装置、制御用チャネルの構築方法及びプログラム
US9444748B2 (en) * 2013-03-15 2016-09-13 International Business Machines Corporation Scalable flow and congestion control with OpenFlow
US9252965B2 (en) 2013-03-15 2016-02-02 International Business Machines Corporation Directed route load/store packets for distributed switch initialization
CN103248536B (zh) * 2013-04-28 2017-12-29 新华三技术有限公司 一种虚链路pw检测方法及设备
WO2014177190A1 (en) * 2013-04-30 2014-11-06 Telefonaktiebolaget L M Ericsson (Publ) Technique of operating a network node for load balancing
JP6229318B2 (ja) * 2013-06-05 2017-11-15 富士通株式会社 通信システム、通信制御方法、及び、伝送装置
CN104426815B (zh) * 2013-08-27 2019-07-09 中兴通讯股份有限公司 一种sdn中流表下发的方法和系统、of控制器和of交换机
US9455901B2 (en) 2013-10-04 2016-09-27 Nicira, Inc. Managing software and hardware forwarding elements to define virtual networks
US9444677B2 (en) 2013-10-18 2016-09-13 Cisco Technology, Inc. Scalable edge node protection using IPv6 segment routing extension header
JP6312019B2 (ja) * 2013-12-09 2018-04-18 パナソニックIpマネジメント株式会社 通信システム及び通信方法
US20150229618A1 (en) * 2014-02-11 2015-08-13 Futurewei Technologies, Inc. System and Method for Securing Source Routing Using Public Key based Digital Signature
US9923799B2 (en) * 2014-04-25 2018-03-20 Metaswitch Networks Ltd. Data processing
JP2016025400A (ja) * 2014-07-16 2016-02-08 富士電機株式会社 無線通信システム、無線機、中継ルート決定方法、および、プログラム
US20160099859A1 (en) * 2014-10-06 2016-04-07 Futurewei Technologies, Inc. Reverse Path Validation for Source Routed Networks
CN105634942B (zh) * 2014-10-31 2020-01-03 华为技术有限公司 转发报文的方法和交换机
CN104378380A (zh) * 2014-11-26 2015-02-25 南京晓庄学院 一种基于SDN架构的识别与防护DDoS攻击的系统及方法
US9942058B2 (en) 2015-04-17 2018-04-10 Nicira, Inc. Managing tunnel endpoints for facilitating creation of logical networks
CN106302252B (zh) 2015-05-15 2019-11-26 华为技术有限公司 数据交换系统架构、发送数据流量的方法以及交换装置
US10554484B2 (en) 2015-06-26 2020-02-04 Nicira, Inc. Control plane integration with hardware switches
US9967182B2 (en) 2015-07-31 2018-05-08 Nicira, Inc. Enabling hardware switches to perform logical routing functionalities
US9847938B2 (en) 2015-07-31 2017-12-19 Nicira, Inc. Configuring logical routers on hardware switches
US9819581B2 (en) 2015-07-31 2017-11-14 Nicira, Inc. Configuring a hardware switch as an edge node for a logical router
WO2017022833A1 (ja) * 2015-08-06 2017-02-09 日本電気株式会社 Vnf提供システム、vnf id管理装置、vnfのid管理方法及びプログラム
US10313186B2 (en) 2015-08-31 2019-06-04 Nicira, Inc. Scalable controller for hardware VTEPS
US9948577B2 (en) 2015-09-30 2018-04-17 Nicira, Inc. IP aliases in logical networks with hardware switches
US10230576B2 (en) 2015-09-30 2019-03-12 Nicira, Inc. Managing administrative statuses of hardware VTEPs
US10263828B2 (en) 2015-09-30 2019-04-16 Nicira, Inc. Preventing concurrent distribution of network data to a hardware switch by multiple controllers
US9998324B2 (en) 2015-09-30 2018-06-12 Nicira, Inc. Logical L3 processing for L2 hardware switches
US10250553B2 (en) 2015-11-03 2019-04-02 Nicira, Inc. ARP offloading for managed hardware forwarding elements
US9998375B2 (en) 2015-12-15 2018-06-12 Nicira, Inc. Transactional controls for supplying control plane data to managed hardware forwarding elements
US9917799B2 (en) 2015-12-15 2018-03-13 Nicira, Inc. Transactional controls for supplying control plane data to managed hardware forwarding elements
US9992112B2 (en) 2015-12-15 2018-06-05 Nicira, Inc. Transactional controls for supplying control plane data to managed hardware forwarding elements
US10200343B2 (en) 2016-06-29 2019-02-05 Nicira, Inc. Implementing logical network security on a hardware switch
CN106603415A (zh) * 2016-12-16 2017-04-26 成都西加云杉科技有限公司 数据处理方法及装置
BR112019018376B1 (pt) 2017-03-07 2024-02-20 Ecolab Usa Inc Dispositivo, e, módulo de sinalização de dispensador
US10574561B2 (en) * 2017-10-04 2020-02-25 Cisco Technology, Inc. Centralized error telemetry using segment routing header tunneling
JP6773088B2 (ja) * 2018-08-09 2020-10-21 沖電気工業株式会社 無線中継装置、無線中継プログラム、及び無線通信システム
US11245667B2 (en) * 2018-10-23 2022-02-08 Akamai Technologies, Inc. Network security system with enhanced traffic analysis based on feedback loop and low-risk domain identification
CA3123862A1 (en) * 2018-12-20 2020-06-25 Ecolab Usa Inc. Adaptive route, bi-directional network communication
CN112583745A (zh) * 2019-09-27 2021-03-30 华为技术有限公司 一种在sr网络中转发报文的方法、设备和系统
CN111277630B (zh) * 2020-01-13 2022-09-09 腾讯科技(深圳)有限公司 一种路由控制方法、装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060130064A1 (en) * 2002-03-19 2006-06-15 Srivastava Sunil K Method providing server affinity and client stickiness in a server load balancing device without TCP termination and without keeping flow states
US20070217419A1 (en) * 2006-03-14 2007-09-20 Jean-Philippe Vasseur Technique for efficiently routing IP traffic on CE-CE paths across a provider network
CN101047614A (zh) * 2006-05-01 2007-10-03 华为技术有限公司 一种IPv6网络环境中流传输路径建立方法和数据传输系统
US20090168768A1 (en) * 2007-12-26 2009-07-02 Nortel Netowrks Limited Tie-Breaking in Shortest Path Determination
CN101505278A (zh) * 2008-12-16 2009-08-12 华为技术有限公司 报文转发路径获取方法、报文转发方法和报文转发装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03195235A (ja) * 1989-12-25 1991-08-26 Mitsubishi Electric Corp パケット交換網のルーチング制御方式
JP2570963B2 (ja) * 1993-05-31 1997-01-16 日本電気株式会社 パケット網における中継経路情報を用いたシグナリング方式
JP3790655B2 (ja) * 2000-03-06 2006-06-28 富士通株式会社 ラベルスイッチネットワークシステム
US6788689B1 (en) * 2000-03-07 2004-09-07 Cisco Technology, Inc. Route scheduling of packet streams to achieve bounded delay in a packet switching system
JP2002185513A (ja) * 2000-12-18 2002-06-28 Hitachi Ltd パケット通信ネットワークおよびパケット転送制御方法
JP2002198989A (ja) * 2000-12-25 2002-07-12 Yaskawa Electric Corp 制御システムにおけるネットワーク中継方法および制御システム
JP2002314586A (ja) * 2001-02-09 2002-10-25 Mitsubishi Electric Corp 送信装置及び多重通信方式及び多重通信方法及び多重通信プログラム及び多重通信プログラムを記録した計算機で読み取り可能な記録媒体
IL141855A0 (en) * 2001-03-07 2002-03-10 Onetiercommunications Inc A method and apparatus for providing an improved quality of service for data transfer over the internet
DE60131551T2 (de) * 2001-12-12 2008-10-23 Alcatel Lucent Telekommunikationsnetzwerk und entsprechenden Paketkopf
JP2004153318A (ja) * 2002-10-28 2004-05-27 Ntt Docomo Inc パケット通信方法、パケット通信システム、送信元ノード、中継ノード及び中継器
JP2004356883A (ja) * 2003-05-28 2004-12-16 Nippon Telegr & Teleph Corp <Ntt> データ通信システム、および方法
JP2005045681A (ja) * 2003-07-24 2005-02-17 Nec Engineering Ltd スイッチネットワーク装置及びその転送制御方法
US8081566B1 (en) * 2004-04-19 2011-12-20 Rockstar BIDCO, LLP Method and apparatus for indicating congestion in a source routed network
JP2005333454A (ja) * 2004-05-20 2005-12-02 Nippon Telegr & Teleph Corp <Ntt> パス設定用サーバ装置、パス設定方法およびパス設定用プログラム
US7471669B1 (en) * 2004-09-30 2008-12-30 Nortel Networks Limited Routing of protocol data units within a communication network
JP4549961B2 (ja) * 2004-11-01 2010-09-22 株式会社日立製作所 通信路監視システム及び通信ネットワークシステム
JP4388464B2 (ja) * 2004-12-07 2009-12-24 株式会社日立製作所 パケット中継装置およびパケット通信ネットワーク
JP4726498B2 (ja) * 2005-01-14 2011-07-20 富士通株式会社 情報処理方法及びルータ
US8982887B2 (en) * 2007-05-18 2015-03-17 International Business Machines Corporation System, method and program for making routing decisions
JP5062845B2 (ja) * 2008-06-30 2012-10-31 日本電信電話株式会社 経路切替方法、サーバ装置、境界ノード装置、経路切替システム及び経路切替プログラム
CN102498694A (zh) * 2009-09-14 2012-06-13 日本电气株式会社 通信系统、转发节点、路径管理服务器、通信方法和程序
WO2011080870A1 (ja) * 2009-12-28 2011-07-07 日本電気株式会社 通信システムおよびポート情報収集方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060130064A1 (en) * 2002-03-19 2006-06-15 Srivastava Sunil K Method providing server affinity and client stickiness in a server load balancing device without TCP termination and without keeping flow states
US20070217419A1 (en) * 2006-03-14 2007-09-20 Jean-Philippe Vasseur Technique for efficiently routing IP traffic on CE-CE paths across a provider network
CN101047614A (zh) * 2006-05-01 2007-10-03 华为技术有限公司 一种IPv6网络环境中流传输路径建立方法和数据传输系统
US20090168768A1 (en) * 2007-12-26 2009-07-02 Nortel Netowrks Limited Tie-Breaking in Shortest Path Determination
CN101505278A (zh) * 2008-12-16 2009-08-12 华为技术有限公司 报文转发路径获取方法、报文转发方法和报文转发装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PETRI JOKELA等: "LIPSIN:Line Speed Publish/Subscribe Inter-Networking", 《SIGCOMM"09》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105075196A (zh) * 2013-02-25 2015-11-18 日本电气株式会社 控制器、通信系统、路径切换方法和程序
CN105049350A (zh) * 2014-04-17 2015-11-11 思科技术公司 分段路由-出口对等工程(sp-epe)
CN105049350B (zh) * 2014-04-17 2018-06-12 思科技术公司 利用出口对等工程的分段路由的方法、装置及系统
WO2016124049A1 (zh) * 2015-02-05 2016-08-11 华为技术有限公司 用于获取端口路径的方法及装置
CN105991435A (zh) * 2015-02-05 2016-10-05 华为技术有限公司 用于获取端口路径的方法及装置
CN105991435B (zh) * 2015-02-05 2019-08-27 华为技术有限公司 用于获取端口路径的方法及装置
US10454711B2 (en) 2015-02-05 2019-10-22 Huawei Technologies Co., Ltd. Method for obtaining port path and apparatus
CN107689921B (zh) * 2017-09-15 2020-11-13 深圳市盛路物联通讯技术有限公司 一种转发节点的选择方法及系统
CN114531944A (zh) * 2019-10-23 2022-05-24 思科技术公司 数据流的路径签名

Also Published As

Publication number Publication date
US20110286326A1 (en) 2011-11-24
CN102714629B (zh) 2015-07-29
JP2016165150A (ja) 2016-09-08
JP5935913B2 (ja) 2016-06-15
JP6137384B2 (ja) 2017-05-31
JPWO2011083846A1 (ja) 2013-05-16
CN105141516A (zh) 2015-12-09
JP5699939B2 (ja) 2015-04-15
JP2015128304A (ja) 2015-07-09
EP2523405A1 (en) 2012-11-14
EP2523405A4 (en) 2016-09-07
WO2011083846A1 (ja) 2011-07-14

Similar Documents

Publication Publication Date Title
CN102714629B (zh) 通信系统、转发节点、路径管理服务器以及通信方法
US7586929B2 (en) Method and system for content-oriented routing in a storage-embedded network
US9900249B2 (en) Communication system, forwarding node, path management server, communication method, and program
JP2723084B2 (ja) リンクステートルーティング装置
US8081566B1 (en) Method and apparatus for indicating congestion in a source routed network
JP5800019B2 (ja) 通信経路制御システム、経路制御装置、通信経路制御方法および経路制御プログラム
CN109194581B (zh) 报文处理方法及装置
EP1418716A1 (en) Communication control system, communication control method, routing controller and router suitably used for the same
KR20130099199A (ko) 통신 시스템, 노드, 패킷 전송 방법 및 프로그램을 기록한 컴퓨터 판독가능 기록 매체
EP1220508A1 (en) Method for transmitting data packets in a cellular communication network
JP3591492B2 (ja) パケット振分装置およびパケット振分プログラム
JP2002368787A (ja) 明示的経路指定中継装置
JP4019884B2 (ja) パケット振り分け装置
JP3593549B2 (ja) Ipパケット転送制御システムと方法およびその処理プログラムを記録した記録媒体
JP4530697B2 (ja) 通信システム
US20070223531A1 (en) Packet transfer method and packet transfer node
JP4536139B2 (ja) パケットルーティング装置およびパケットルーティングプログラム
WO2002084981A1 (en) Method of and device for sending information to multiple addresses
JPH11298524A (ja) ネットワークシステム及び経路制御装置
JP2017204785A (ja) 通信装置、通信システム、及び通信装置のパケット転送方法
JP2001313669A (ja) データシェーピング装置およびデータレート制御方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant