CN104184608A - 数据发送装置、方法和非易失性计算机可读存储介质 - Google Patents
数据发送装置、方法和非易失性计算机可读存储介质 Download PDFInfo
- Publication number
- CN104184608A CN104184608A CN201410203255.8A CN201410203255A CN104184608A CN 104184608 A CN104184608 A CN 104184608A CN 201410203255 A CN201410203255 A CN 201410203255A CN 104184608 A CN104184608 A CN 104184608A
- Authority
- CN
- China
- Prior art keywords
- communication path
- node
- link failure
- routing table
- identifier
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000004891 communication Methods 0.000 claims abstract description 312
- 238000001514 detection method Methods 0.000 claims description 26
- 238000011084 recovery Methods 0.000 claims description 26
- 230000005540 biological transmission Effects 0.000 claims description 8
- 230000008878 coupling Effects 0.000 abstract 1
- 238000010168 coupling process Methods 0.000 abstract 1
- 238000005859 coupling reaction Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 22
- 238000012545 processing Methods 0.000 description 22
- 230000004048 modification Effects 0.000 description 13
- 238000012986 modification Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 11
- 230000000052 comparative effect Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 239000013307 optical fiber Substances 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0659—Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
数据发送装置、方法和非易失性计算机可读存储介质。一种耦接到包括多个通信路径的网络中的多个节点的数据发送装置,该数据发送装置包括存储器和耦接到所述存储器的处理器,该处理器被配置为:基于对所述多个通信路径中包括的第一通信路径进行指定的命令,设置路由表;检测在所述网络中出现的链路故障;并且当在所述数据发送装置与所述第一通信路径上和所述数据发送装置相邻的第一节点之间的第一位置处出现所述链路故障时,修改所述路由表,使得数据被发送到与所述第一通信路径不同的第二通信路径上的第二节点,并且当在与所述网络中的第一位置不同的第二位置处出现所述链路故障时,维持所述路由表。
Description
技术领域
本文讨论的实施方式涉及数据发送装置、数据发送方法和非易失性计算机可读存储介质。
背景技术
随着通信需求的增加,需要在网络上转发分组的第二层交换机中更有效的通信路径控制功能。例如,建立了生成树协议作为通信路径控制技术。然而,为了阻止通信路径变成环路,生成树协议通过限制针对树的通信路径备选,来产生阻塞端口。出于该原因,存在的问题在于例如,有效的带宽使用变得困难。
同时,由因特网工程任务组(IETF)所规定的多链路透明互联(TRILL)作为通信路径控制技术而得到普及。TRILL技术的特征是最短路径优先(SPF)算法(该算法确定使表示各条链路的通信速度的总成本最小化的通信路径)和等价多路径(ECMP)算法(该算法在存在多个这种通信路径时允许流量分配)。相关技术的相关文献包括:D.Eastlake:"Transparent Interconnection of Lots of Links(TRILL)Use ofIS-IS",IETF RFC6326,2011年7月;R.Perlman:"Routing Bridges(RBridges):BaseProtocol Specification",IETF RFC6325,2011年7月;D.Eastlake3rd,"Routing Bridges(RBridges):Adjacency",IETF RFC6327,2011年7月;以及R.Perlman:"Routing Bridges(RBridges):Appointed Forwarders",IETF RFC6439,2011年11月。
发明内容
技术问题
根据TRILL技术,第二层交换机通过与网络上的其它交换机进行通信,获知网络的拓扑。随后,第二层交换机根据指定的协议,针对由例如虚拟局域网标识(VLANID)所识别的各个分组自主地决定通信路径。此时,从已被选为产生最小成本的多个通信路径(换言之,ECMP)选择一个通信路径。
在例如建立绕开特定的第二层交换机的通信路径以便对该交换机执行维护作业时,或者在分配数据流以平衡各个通信路径的带宽时,由操作者的命令输入随意改变自主确定的通信路径。要注意的是,经由命令行接口(CLI)等执行命令输入。
然而,根据TRILL技术,如果第二层交换机例如在网络上的某个位置检测到链路故障,则通信路径被自主地重置。出于该原因,由操作者的命令输入所设置的通信路径被恢复回自主确定的通信路径,这产生了诸如通信中断等的问题。
因此,鉴于上述问题,已经设计出本文所讨论的实施方式,并且该实施方式的目的是提供一种具有改进的通信路径控制的分组转发装置和分组转发方法。
在本说明书中描述的分组转发方法中,针对网络上的多个节点中的至少一个节点,分组被转发到由从操作者接收到的命令输入所设置的通信路径上的下一个节点。在检测到与由命令输入所设置的通信路径上的下一个节点之间的链路故障时,分组转发目的地被切换到自主地设置的通信路径上的下一个节点。在网络上的另一个位置处检测到链路故障时,维持分组转发目的地。
技术方案
根据本发明的一个方面,一种耦接到包括多个通信路径的网络中的多个节点的数据发送装置,该数据发送装置包括存储器和耦接到所述存储器的处理器。该处理器被配置为:基于对所述多个通信路径中所包括的第一通信路径进行指定的命令,在所述存储器中设置路由表;检测在所述网络中出现的链路故障;并且当在所述数据发送装置与经由所述第一通信路径与所述数据发送装置相邻的第一节点之间的第一位置处出现所述链路故障时,修改所述路由表,以指定要经由耦接到第二节点的第二通信路径发送的数据,并且基于所修改的路由表经由所述第二通信路径向所述第二节点发送所述数据,并且当在所述网络中的与所述第一位置不同的第二位置处出现所述链路故障时,维持路由表,并且根据所述路从数据发送装置发送所述数据。
有益效果
本说明书中描述的分组转发装置和分组转发方法展示出改进通信路径控制的有益效果。
附图说明
图1是例示分组转发装置的网络的示例的构造图;
图2是例示链路成本的示例的表;
图3是例示ECMP的示例的网络拓扑图;
图4是例示向通信路径分配VLAN ID的表;
图5是例示由命令输入修改通信路径的修改例(1)的网络拓扑图;
图6是例示针对修改前后的各个通信路径的总带宽的表;
图7是例示由命令输入修改通信路径的修改例(2)的网络拓扑图;
图8是作为比较例例示了向修改前后以及链路断开后的通信路径分配VLAN ID的表;
图9是作为比较例例示了链路断开后的通信路径的网络拓扑图;
图10是例示初始状态下的通信路径的示例的网络拓扑图;
图11是例示图10的状态下的各个节点的路由表设置的表;
图12是例示发生链路故障后的通信路径的示例(1)的网络拓扑图;
图13是例示图12的状态下的各个节点的路由表设置的示例(1)的表;
图14是例示图12的状态下的各个节点的路由表设置的示例(2)的表;
图15是例示发生链路故障后的通信路径的示例(2)的网络拓扑图;
图16是例示图15的状态下的各个节点的路由表设置的示例(1)的表;
图17是例示图15的状态下的各个节点的路由表设置的示例(2)的表;
图18是例示发生链路故障后的通信路径的示例(3)的网络拓扑图;
图19是例示分组转发装置的功能构造的构造图;
图20是例示分组转发处理的流程图;
图21是例示出现链路故障时的通信路径控制处理的流程图;
图22是例示当从链路故障恢复时的通信路径控制处理的流程图;
图23A、图23B和图23C是例示入口路由桥(RB)的转发目的地节点确定方法的图;
图24A、图24B和图24C是例示转接RB的转发目的地节点确定方法的图;
图25是例示网络的另一个示例中的通信路径的初始状态的网络拓扑图;
图26是例示图25的状态下的节点RB#1的路由表设置的表;
图27是例示由命令输入修改通信路径的示例的网络拓扑图;
图28是例示图27的状态下的节点RB#1的路由表设置的表;
图29是例示链路断开后的通信路径的示例的网络拓扑图;以及
图30是例示图29的状态下的节点RB#1的路由表设置的表。
具体实施方式
将参照图1和图2描述TRILL技术中的SPF和ECMP。图1是例示了分组转发装置的网络的示例的构造图。
分组转发装置1分别设置在互联以形成网状网络的多个节点RB#1至RB#9中。分组转发装置1经由LAN线缆或光纤互联。分组转发装置1起到在节点之间转发分组的第二层交换机的作用。例如,分组可以是给予VLAN ID作为分组标识符的以太网(注册商标)帧,或通过根据指定格式封装以太网帧而获得的帧。
节点RB#1至RB#9中各个节点的分组转发装置1用被称作Hello交换的协议获知网络的相邻关系。因此,分组转发装置1获取相邻节点的节点标识符或分组转发装置1的装置ID。例如,节点RB#1的分组转发装置1获取RB#2和RB#3,作为相邻节点的节点标识符。
而且,分组转发装置1用被称作链路状态协议数据单元(LSP)交换的协议来获知网络拓扑。在LSP交换中,各个分组转发装置1在所有端口上输出由装置本身生成的LSP帧以及从其它装置接收到的LSP帧。这被称作泛洪(flooding)。因此,分组转发装置1在还获取各个节点之间的链路的成本(即,链路成本)的同时获知网络的整体拓扑。
如图1所示,链路成本是针对各条链路确定的参数(是通信路径的最小单位)。图2是例示了链路成本的示例的表。例如,根据链路的通信速度,链路成本的值是从1至5。越低的数值意味着越快的通信速度。
各个分组转发装置1利用SPF算法,以基于链路成本自主地计算出到其它节点的最短的通信路径。例如,RB#1的分组转发装置1计算按顺序经过RB#2、RB#5和RB#8的路径,作为到RB#9的通信路径,使得总链路成本被最小化。此时的链路成本是1+1+1+2=5。
而且,RB#1的分组转发装置1计算按顺序经过RB#2和RB#3的路径P1以及按顺序经过RB#2和RB#5的路径P2,作为到RB#6的通信路径。路径P1和P2这两者的总链路成本是5,由此被作为ECMP。出于该原因,如下面所讨论的,分组转发装置1根据VLAN ID来转发在路径P1与P2之间分配的分组。
接着,将讨论将分组分配给ECMP。图3是例示ECMP的示例的网络拓扑图。该示例中的网络包括节点ES#1、ES#2和RB#1至RB#6。端站(例如,服务器)设置在节点ES#1和ES#2处,而分组转发装置1设置在节点RB#1至RB#6处。
在图3中,节点RB#1至RB#6中的框内数字([1]至[3])指示分组转发装置1的端口编号(端口#1至#3)。现在将描述该示例中的连接构造。节点RB#1的分组转发装置1经由端口#1连接到节点RB#2、经由端口#2连接到节点RB#3并且经由端口#3连接到节点ES#1。
节点RB#2的分组转发装置1经由端口#1连接到节点RB#1、经由端口#2连接到节点RB#4,并且经由端口#3连接到节点RB#5。节点RB#3的分组转发装置1经由端口#1连接到节点RB#1、经由端口#2连接到节点RB#5,并且经由端口#3连接到节点RB#4。
节点RB#4的分组转发装置1经由端口#1连接到节点RB#2、经由端口#2连接到节点RB#6,并且经由端口#3连接到节点RB#3。节点RB#5的分组转发装置1经由端口#1连接到节点RB#5、经由端口#2连接到节点RB#6,并且经由端口#3连接到节点RB#2。节点RB#6的分组转发装置1经由端口#1连接到节点RB#4、经由端口#2连接到节点RB#5,并且经由端口#3连接到节点ES#2。
节点RB#1至RB#6中各节点的分组转发装置1基于上述SPF,计算四个ECMP通信路径P10、P11、P20和P21(参见点线),作为节点ES#1与ES#2之间的通信路径。为了识别分组,各个分组转发装置1将给予分组的VLAN ID自主地分配给各个通信路径P10、P11、P20和P21。
图4例示了向通信路径P10、P11、P20和P21分配VLAN ID。通信路径P10按顺序经过节点RB#1、RB#2、RB#4和RB#6。通信路径P10被分配有8n和8n+2(其中,n=0,1,2,...,511),作为VLAN ID。
通信路径P10按顺序经过节点RB#1、RB#2、RB#5和RB#6。通信路径P11被分配有8n+1和8n+3,作为VLAN ID。
通信路径P21按顺序经过节点RB#1、RB#3、RB#4和RB#6。通信路径P21被分配有8n+5和8n+7,作为VLAN ID。
通信路径P20按顺序经过节点RB#1、RB#3、RB#5和RB#6。通信路径P20被分配有8n+4和8n+6,作为VLAN ID。
因此,如图3所示,根据通信路径P10转发VLAN ID是8和10的分组,而根据通信路径P11转发VLAN ID是9和11的分组。而且,根据通信路径P20转发VLANID是13和15的分组,而根据通信路径P21转发VLAN ID是12和14的分组。
要注意的是,节点RB#1位于通信路径P10、P11、P20和P21的数据输入侧上,并因而被称作入口RB,而节点RB#6位于通信路径P10、P11、P20和P21的数据输出侧上,并因而被称作出口RB。而且,节点RB#2至RB#5位于通信路径P10、P11、P20和P21上的数据中继点处,因而被称作转接RB。
而且,本实施方式提出基于VLAN ID在ECMP中间分配分组的示例,但不限于此。例如,也可以基于以太网帧的报头中的目的地地址(DA)和源地址(SA)或因特网协议(IP)分组的目的地IP地址和源IP地址,在ECMP中间分配分组。
这样,分组转发装置1自主地设置通信路径P10、P11、P20和P21。然而,为了适应各种要求和条件,分组转发装置1也可以根据经由诸如CLI这样的命令输入技术从操作者接收到的命令输入,来修改路径。下文中,将给出通信路径的修改例。
在本文中,作为经由命令输入修改通信路径的修改例(1),将例示为调节流过通信路径中的上述通信路径P10、P22、P20和P21的流量的带宽的目的而修改通信路径的情况。要注意的是,带宽指的不是链路通信速度,而是指为保证网络用户的使用的合同带宽(contract bandwidth)。
图5是例示由命令输入修改通信路径的修改例(1)的网络拓扑图。如与图3的比较所表明的,在该修改例中,VLAN ID是10的通信路径P10被修改为通信路径P21。
图6例示了修改前后的各个通信路径P10、P11、P20和P21的总带宽。在图6中,各个VLAN ID的带宽记载在括号[]内。
在修改之前,通信路径P10、P11、P20和P21的总带宽分别是600(Mbps)、400(Mbps)、300(Mbps)和400(Mbps)。另一方面,在修改之后,通信路径P10、P11、P20和P21的总带宽分别是500(Mbps)、400(Mbps)、400(Mbps)和400(Mbps)。
这样,在本修改例中,通过经由命令输入修改通信路径,通信路径P10与P21之间的带宽差从300(Mbps)变为100(Mbps),并且调节了这些通信路径之间的带宽平衡。
作为经由命令输入修改通信路径的修改例(2),为了对节点RB#5的分组转发装置1执行维护作业,修改VLAN ID是9、11、12和14的通信路径,所以包括节点RB#5的通信路径P11和P20不用于分组转发。
图7是例示了由命令输入修改通信路径的修改例(2)的网络拓扑图。在本修改例中,VLAN ID9和11被分配给通信路径P10,而VLAN ID12和14被分配给通信路径P21。要注意的是,在图7中,给予通信路径P11和P20的标签“VLAN ID=NONE”指示没有向其分配VLAN ID。
图8作为比较例例示了向修改前后以及链路断开后的通信路径分配VLAN ID。如修改前后的VLAN ID分配的比较所表明的,VLAN ID是9、11、12和14的通信路径被修改。而且,在比较例中,各个分组转发装置1在网络上的任意节点之间检测到链路断开时,将通信路径设置恢复到修改前的状态。
图9是作为比较例例示了链路断开后的通信路径的网络拓扑图。当从装置去除了在节点RB#5的分组转发装置1与节点RB#3的分组转发装置1之间的LAN线缆(或光纤)以便对节点RB#5的分组转发装置1执行维护作业时,出现链路断开(参见X标记)。利用上述LSP帧将链路断开的出现作为链路故障与指示网络上的故障位置的信息一起从节点RB#3和RB#5的分组转发装置1报告给其它节点RB#1、RB#2、RB#4和RB#6的分组转发装置1。
当检测到链路故障时,各个分组转发装置1将VLAN ID是9和11的通信路径P10切换为自主地设置的通信路径P11。要注意的是,因为自主地设置的通信路径P20包括出现了链路故障的链路,所以不切换VLAN ID是12和14的通信路径P21。
这样,在比较例中,通过当被链路故障的出现所触发时重新计算通信路径,由针对VLAN ID9和11的命令输入所设置的通信路径P10被切换为自主地设置的通信路径P11。出于该原因,VLAN ID是9和11的分组的通信被中断。
根据本实施方式的分组转发装置1通过根据与由命令输入所设置的通信路径上的下一个节点之间是否存在链路故障,确定是否将分组转发目的地切换为自主地设置的通信路径上的下一个节点,来改进通信路径控制。下文中,将在举例的同时详细讨论该分组转发方法。
图10是例示初始状态下的通信路径的示例的网络拓扑图。在图10中,向与图3共享的构造给出相同的标记,并且将缩短或省略其描述。
图10例示了用操作者的命令输入将VLAN ID是10的分组的通信路径从自主地设置的通信路径P10修改为通信路径P21的示例。各个分组转发装置1根据通信路径选择分组转发目的地节点。
更具体地,当不存在由命令输入所设置的通信路径时,各个分组转发装置1将自主地设置的通信路径上的下一个节点作为分组转发目的地节点。另一方面,当存在由命令输入所设置的通信路径时,各个分组转发装置1将由命令输入所设置的通信路径上的下一个节点作为分组转发目的地节点。换言之,各个分组转发装置1根据通信路径决定分组转发目的地节点。
例如,针对VLAN ID10,节点RB#1和RB#3的分组转发装置1将由命令输入所设置的通信路径上的下一个节点RB#3和RB#4作为相应的转发目的地节点。例如,针对VLAN ID10,节点RB#4的分组转发装置1将自主地设置的通信路径上的下一个节点RB#6作为转发目的地节点。因此,形成按顺序经过节点RB#1、RB#3和RB#4的通信路径P21。
而且,即使节点RB#2和RB#4没有被选为转发目的地节点,节点RB#1和RB#2的分组转发装置1如由标记R10所示地也分别保持自主地设置的通信路径上的下一个节点RB#2和RB#4的设置。类似地,即使节点RB#5和RB#6没有被选为转发目的地节点,节点RB#3和RB#4的分组转发装置1如由标记R20所示地也分别保持自主地设置的通信路径上的下一个节点RB#5和RB#6的设置。
换言之,由标记R10和R20指示的通信路径在节点RB#1、RB#2、RB#5和RB#6的分组转发装置1中仅被保持为设置,并且不承载流量。要注意的是,如图10中的图例所示,用于各个链路的路径的类型由线条类型来区分。
各个分组转发装置1基于装置中所存储的路由表来选择转发目的地节点。图11例示了在图10的状态下的节点RB#1至RB#5中各个节点的路由表设置。要注意的是,虽然图11例示了路由表仅包括针对VLAN ID是10的设置的示例,但是同样存在针对其它VLAN ID的设置。
在图11中,“节点”栏指示安装了分组转发装置1的节点RB#1至RB#5。换言之,“节点”栏指示路由表的位置,或者换言之,指示其分组转发装置1保持有路由表的节点。
“VLAN ID”栏指示分配给通信路径的分组的VLAN ID。“下一个节点ID”栏指示该通信路径上的下一个节点的标识符,或者换言之,指示分组转发目的地的标识符。“有效/无效”栏指示上述“下一个节点ID”是有效的还是无效的。
“优先级”栏指示上述“VLAN ID”和“下一个节点ID”的优先级。优先级为“高”的下一个节点ID(第一标识符)指示针对该VLAN ID由命令输入所设置的通信路径上的下一个节点。另一方面,优先级为“低”的下一个节点ID(第二标识符)指示针对该VLAN ID自主地设置的通信路径上的下一个节点。使下一个节点ID在各个分组转发装置1中与端口标识符(端口#1至#3)相对应。
与优先级为“低”的下一个节点ID相比,各个分组转发装置1将优先级为“高”的下一个节点ID优先作为分组转发目的地。换言之,在优先级为“高”的有效的下一个节点ID存在于装置自身的路由表中的情况下,各个分组转发装置1将该下一个节点ID作为分组转发目的地。另一方面,在优先级为“高”的下一个节点ID不存在于装置自身的路由表中的情况下,或在使优先级为“高”的下一个节点ID无效的情况下,各个分组转发装置1将优先级为“低”的下一个节点ID作为分组转发目的地。
对于节点RB#1和RB#3的分组转发装置1,优先级为“高”的有效的下一个节点ID存在于各个装置自身的路由表中,由此由命令输入所设置的通信路径上的下一个节点RB#3和RB#4分别被作为转发目的地节点。同时,优先级为“低”的有效的下一个节点ID RB#2和RB#4在节点RB#1和RB#3的路由表中被保持为设置,但是如上所讨论的,流量不流过该通信路径。
另一方面,对于其它节点RB#2、RB#4和RB#5的分组转发装置1,优先级为“高”的有效的下一个节点ID不存在于各个装置自身的路由表中,由此由优先级为“低”的下一个节点ID指示的节点RB#4、RB#6和RB#6分别被作为转发目的地节点。换言之,节点RB#2、RB#4和RB#5的分组转发装置1将自主地设置的通信路径上的下一个节点RB#4、RB#6和RB#6作为相应的转发目的地节点。要注意的是,节点RB#2和RB#5的下一个节点ID仅被保持为设置,并且如上所讨论的,流量不流过这些通信路径。
图12是例示发生链路故障后的通信路径的示例(1)的网络拓扑图。该示例展示了在节点RB#1与节点RB#3之间出现链路故障的情况。因为该链路故障,流量停止在经过节点RB#1、节点RB#3和节点RB#4的路径R21上流过。
由于与由命令输入所设置的通信路径上的下一个节点RB#3之间出现的链路故障,节点RB#1的分组转发装置1如标记K1所示,将转发目的地节点从节点RB#3切换为节点RB#2(参见“切换:接通”)。因此,针对VLAN ID是10的通信路径从路径P21(参见图10)被修改为路径P10,并且避免了链路故障。
同时,节点RB#3的分组转发装置1将转发目的地节点保持在节点RB#4而没有进行切换(参见“切换:断开”)。出于该原因,为防止从链路故障恢复之后还原至原始通信路径P21的情况,可以保持节点RB#3与节点RB#4之间的路径R21的设置。然而,路径R21仅作为设置而存在,而不承载流量。要注意的是,如图12中的图例所示,用于各个链路的路径类型由线条类型来区分。
图13例示了图12的状态下的节点RB#1至RB#5中各节点的路由表设置的示例(1)。节点RB#1的分组转发装置1,响应于链路故障的出现,使优先级为“高”的下一个节点ID无效(“有效/无效”=“无效”)。出于该原因,节点RB#1的分组转发装置1选择由优先级为“低”的下一个节点ID所指示的节点RB#2,或换言之,选择自主地设置的通信路径上的下一个节点RB#2,作为转发目的地节点。因此,针对VLAN ID是10的通信路径被从路径P21(参见图10)被修改为路径P10。
而且,当从链路故障恢复时,分组转发装置1可以根据由来自操作者的命令输入所设置的路径恢复设置,来选择是否将通信路径恢复回出现链路故障之前的状态。例如,如果从终端装置输入命令“path_recovery_enable”,则分组转发装置1使路径恢复设置有效。在这种情况下,在链路故障恢复之后,节点RB#1的分组转发装置1通过将“有效/无效”设置修改为“有效”,使优先级为“高”的下一个节点ID有效(参见图11)。
因此,在链路故障恢复之后,针对VLAN ID是10的通信路径从路径P10(参见图12)被恢复为路径P21(参见图10)。换言之,在检测到从与由命令输入所设置的通信路径上的下一个节点之间的链路故障恢复的情况下,分组转发目的地被还原成由命令输入所设置的通信路径上的下一个节点。因此,在链路故障恢复之后,降低或省去了对由命令输入所设置的通信路径进行重配置的负担。
另一方面,如果输入命令“path_recovery_disable”,则分组转发装置1使路径恢复设置无效。在这种情况下,在链路故障恢复之后,节点RB#1的分组转发装置1将“有效/无效”设置保持为“无效”,并且即使在从链路故障恢复之后,仍然将针对VLAN ID是10的通信路径作为路径P10(参见图12)。
这样,当使路径恢复设置无效时,在从链路故障恢复之后,通信路径不还原成出现链路故障之前的状态。因此,在这种情况下,节点RB#1的分组转发装置1也可以在出现链路故障时删除优先级为“高”的下一个节点ID。
图14例示了在图12的状态下的节点RB#1至RB#5中各个节点的路由表设置的示例(2)。在这种情况下,节点RB#1的分组转发装置1在出现链路故障时删除优先级为“高”的下一个节点ID。因此,类似于图13的情况,节点RB#1的分组转发装置1选择由优先级为“低”的下一个节点ID所指示的节点RB#2作为转发目的地节点,并且针对VLAN ID为10的通信路径被从路径P21(参见图10)修改为路径P10。
另外,图15是例示了发生链路故障后的通信路径的示例(2)的网络拓扑图。该示例展示了在节点RB#3与节点RB#4之间出现链路故障的情况。由于该链路故障,流量停止在节点RB#3与节点RB#4之间的路径R11上流动。要注意的是,如图15中的图例所示,用于各个链路的路径类型由线条类型来区分。
由于与由命令输入所设置的通信路径上的下一个节点RB#4出现的链路故障,节点RB#3的分组转发装置1如标记K2所示,将转发目的地节点从节点RB#4切换为节点RB#5(参见“切换:接通”)。因此,针对VLAN ID是10的通信路径被从路径P21(参见图10)修改为路径P20,并且避免了链路故障。
同时,因为转发目的地节点已经被节点RB#3的分组转发装置1切换,所以节点RB#1的分组转发装置1将转发目的地节点保持在节点RB#3而没有进行切换(参见“切换:断开”)。
图16是例示了在图15的状态下的针对各个节点的路由表设置的示例(1)。节点RB#3的分组转发装置1,响应于链路故障的出现,使优先级为“高”的下一个节点ID无效(“有效/无效”设置=“无效”)。出于该原因,节点RB#3的分组转发装置1选择由优先级为“低”的下一个节点ID所指示的节点RB#5,或换言之,选择自主地设置的通信路径上的下一个节点RB#5,作为转发目的地节点。因此,针对VLAN ID是10的通信路径被从路径P21(参见图10)修改为路径P20。
在从链路故障恢复之后,当使上述路径恢复设置有效时,节点RB#1的分组转发装置1通过将“有效/无效”设置修改为“有效”,使优先级为“高”的下一个节点ID有效(参见图11)。因此,在链路故障恢复之后,针对VLAN ID是10的通信路径被从路径P20(参见图15)恢复为路径P21(参见图10)。另一方面,当使路径恢复设置无效时,针对VLAN ID是10的通信路径将设置保持在路径P20,由此节点RB#1的分组转发装置1也可以在链路故障出现时删除优先级为“高”的下一个节点ID。
图17例示了在图15的状态下的节点RB#1至RB#5中各节点的路由表设置的示例(2)。在这种情况下,节点RB#3的分组转发装置1在出现链路故障时删除优先级为“高”的下一个节点ID。因此,类似于图15的情况,节点RB#3的分组转发装置1选择由优先级为“低”的下一个节点ID所指示的节点RB#5作为转发目的地节点,并且针对VLAN ID为10的通信路径被从路径P21(参见图10)修改为路径P20。
图18是例示发生链路故障后的通信路径的示例(3)的网络拓扑图。该示例展示了在节点RB#3与节点RB#5之间出现链路故障的情况。要注意的是,如图18中的图例所示,针对各个链路的路径类型由线条类型来区分。
对于节点RB#1和RB#3的分组转发装置1,链路故障的故障位置不在与由命令输入所设置的通信路径上的下一个节点之间,并且不影响VLAN ID是10的分组的通信。出于该原因,节点RB#1和RB#3的分组转发装置1不切换转发目的地节点。换言之,节点RB#1和RB#3的分组转发装置1分别将节点#3和#4维持为转发目的地节点。出于该原因,该示例中的路由表变为图11中所例示的那样。
这样,对于网络上的多个节点RB#1至RB#6中的至少一个节点,分组被转发到由从操作者接收到的命令输入所设置的通信路径上的下一个节点。随后,在检测到与由命令输入所设置的通信路径上的下一个节点之间的链路故障的情况下,分组转发目的地被切换到自主地设置的通信路径上的下一个节点。同时,在网络上的另一个位置处检测到链路故障的情况下,维持分组转发目的地。
因此,在经由命令输入所设置的通信路径的通信因链路故障的出现而变得不可用的情况下,切换通信路径,以避免链路故障,并且继续通信。另一方面,即使出现链路故障,当经由命令输入所设置的通信路径的通信仍然可用时,也维持分组转发目的地而不进行切换,由此也维持通信路径,这提高了便利性。换言之,在这种情况下,不出现如参照图9所讨论的那些问题。
接着,将讨论根据本实施方式的分组转发装置1的构造。图19是例示分组转发装置1的功能构造的构造图。
分组转发装置1包括处理器10、非易失性存储器11、CLI处理单元12、包括内部存储器14的切换单元13和多个端口15。多个端口15包括连接LAN线缆或光纤的连接器,以及执行物理层与MAC层中的处理的PHY/MAC芯片。多个端口15分别连接到网络上的多个节点ES#1、ES#2和RB#1至RB#6,并且收发分组。
切换单元13根据前面讨论的路由表,在多个端口15之间切换分组。因此,在多个节点ES#1、ES#2和RB#1至RB#6之间转发分组。
内部存储器(存储单元)14存储路由表。路由表中的下一个节点ID与端口15一一对应。出于该原因,切换单元13参照内部存储器14中所存储的路由表,并且向与根据分组的VLAN ID被选为转发目的地节点的下一个节点ID相对应的端口15转发分组。要注意的是,也可以使用设置于切换单元13的外部的存储器,而不是内部存储器14。
处理器10是诸如中央处理单元(CPU)这样的计算处理电路,并且控制分组转发装置1的整体行为。非易失性存储器11例如是闪存,并且存储诸如驱动存储器10的程序这样的信息。处理器10通过在启动时从非易失性存储器11读出程序而工作。要注意的是,虽然附图中未例示,但是处理器10包括用于操作的工作存储器。
作为处理器10读出程序的结果,设置处理单元100和故障检测单元101形成为功能。设置处理单元100通过访问切换单元13的内部存储器14来设置路由表。设置处理单元100执行参照图1和图2讨论的SPF和ECMP功能,并且自主地设置通信路径。在自主地设置通信路径的情况下,设置处理单元100设置路由表中优先级为“低”的下一个节点ID。要注意的是,设置处理单元100和故障检测单元101不限于软件,且还可以由硬件构造。
CLI处理单元(接收单元)12从操作者接收命令输入。CLI处理单元经由LAN线缆等连接到外部终端装置16,利用终端装置16处理由操作者进行的命令输入,并且向处理器10输出处理内容。要注意的是,终端装置16可以是例如个人计算机等。
设置处理单元100设置路由表,使得从多个节点中,分组被转发到由命令输入所设置的通信路径上的下一个节点。换言之,设置处理单元100根据命令输入来设置路由表中优先级为“高”的下一个节点ID。
而且,设置处理单元100根据命令输入来设置前面讨论的路径恢复设置。当使路径恢复设置有效时,设置处理单元100配置路由表,使得在从链路故障恢复之后,通信路径恢复成链路故障出现之前的状态。当使路径恢复设置无效时,设置处理单元100维持路由表设置。
故障检测单元101检测网络上的链路故障。切换单元13在接收到LSP帧时,向设置处理单元100输出LSP帧。根据LSP帧中所包括的信息,故障检测单元101检测链路故障的出现和故障位置,或另选地,检测从链路故障的恢复和恢复位置。
接着,将描述根据实施方式的分组转发装置1的操作。图20是例示分组转发处理的流程图。针对各个VLAN ID执行该处理。
切换单元13参照内部存储器14中的路由表,并且检测是否存在由命令输入所设置的通信路径上的下一个节点ID(步骤St1)。换言之,切换单元13检查路由表中是否存在优先级为“高”的下一个节点ID。
当存在由命令输入所设置的通信路径上的下一个节点ID时(步骤St1,是),切换单元13检测针对该节点ID的“有效/无效”设置是否是“有效”(步骤St2)。当“有效/无效”设置是“有效”时(步骤St2,是),切换单元13将分组转发到由命令输入所设置的通信路径上的下一个节点(步骤St3)。换言之,切换单元13向与优先级为“高”的下一个节点ID相对应的端口输出分组。
同时,当不存在由命令输入所设置的通信路径上的下一个节点ID时(步骤St1,否),切换单元13将分组转发给自主地设置的通信路径上的下一个节点(步骤St4)。换言之,切换单元13向与优先级为“低”的下一个节点ID相对应的端口输出分组。在“有效/无效”设置是“无效”时,同样执行该处理(步骤St2,否)。这样,执行分组转发处理。
这样,切换单元在与优先级为“低”的下一个节点ID相比优先考虑优先级为“高”的下一个节点ID的同时,在多个端口15之间交换分组。出于该原因,当由命令输入所设置的有效的通信路径存在于路由表中时,分组被转发给该通信路径上的下一个节点,否则分组被转发给自主地设置的通信路径上的下一个节点。因此,在该实施方式中,根据路由表中所包括的下一个节点ID,容易确定转发目的地节点。
图21是例示了出现链路故障时的通信路径控制处理的流程图。故障检测单元101基于LSP帧确定是否已经检测到链路故障(步骤St11)。当尚未检测到链路故障时(步骤St11,否),处理结束。
当已经检测到链路故障时(步骤St11,是),故障检测单元101基于LSP帧确定链路故障是否出现在与由命令输入所设置的通信路径上的下一个节点之间(步骤St12)。在网络上的另一个位置出现链路故障的情况下(步骤St12,否),处理结束。
在链路故障出现在与由命令输入所设置的通信路径上的下一个节点之间的情况下(步骤St12,是),设置处理单元100确定路径恢复设置是否是有效的(步骤St13)。当路径恢复设置有效时(步骤St13,是),设置处理单元100将由命令输入所设置的通信路径上的下一个节点ID的“有效/无效”设置修改为“无效”(步骤St14)。换言之,设置处理单元100使优先级为“高”的下一个节点ID无效。
当使路径恢复设置无效时(步骤St13,否),设置处理单元100从路由表删除由命令输入所设置的通信路径上的下一个节点ID(步骤St15)。换言之,设置处理单元100从路由表删除优先级为“高”的下一个节点ID。这样,执行出现链路故障时的通信路径控制处理。
如果执行步骤St14和St15中的处理,则切换单元13按照图20中例示的流程,向与优先级为“低”的下一个节点ID相对应的端口输出分组。另一方面,如果不执行步骤St14和St15中的处理,则切换单元13按照图20中所例示的流程,向与优先级为“高”的下一个节点ID相对应的端口输出分组。
这样,当故障检测单元101检测到与由命令输入所设置的通信路径上的下一个节点的链路故障时,设置处理单元100从路由表删除优先级为“高”的下一个节点ID,或者使该下一个节点ID无效。出于该原因,分组转发目的地被切换为自主地设置的通信路径上的下一个节点,从而避免链路故障。
另一方面,当故障检测单元101在网络上的另一个位置处检测到链路故障时,设置处理单元100维持路由表设置。出于该原因,分组被转发给由命令输入所设置的通信路径上的下一个节点,而不将分组转发目的地切换为自主地设置的通信路径上的下一个节点。所以,因为没有产生如参照图9所描述的那些问题,所以提高了便利性。
图22是例示当从链路故障恢复时的通信路径控制处理的流程图。故障检测单元101基于LSP帧确定是否已经检测到从链路故障的恢复(步骤St21)。当尚未检测到从链路故障的恢复时(步骤St21,否),处理结束。
当故障检测单元101检测到从链路故障的恢复时(步骤St21,是),设置处理单元100确定路径恢复设置是否是有效的(步骤St22)。当路径恢复设置无效时(步骤St22,否),处理结束。
当使路径恢复设置有效时(步骤St22,是),设置处理单元100将由命令输入所设置的通信路径上的下一个节点ID的“有效/无效”设置修改为“有效”(步骤St23)。换言之,设置处理单元100使路由表中优先级为“高”的下一个节点ID有效。这样,执行当从链路故障恢复时的通信路径控制处理。
这样,当故障检测单元101检测到从与由命令输入所设置的通信路径上的下一个节点之间的链路故障恢复时,设置处理单元100使优先级为“高”的下一个节点ID有效。出于该原因,在从链路故障恢复之后,通信路径还原到出现链路故障之前的状态(由命令输入所设置的通信路径)。因此,在链路故障恢复之后,降低或省去了对由命令输入所设置的通信路径进行重配置的负担。
接着,将讨论根据VLAN ID确定转发目的地节点的确定方法。在各个分组转发装置1的设置处理单元100中自主地执行该确定方法。设置处理单元100在路由表中将确定的转发目的地节点设置为优先级为“低”的下一个节点ID。
转发目的地节点确定方法根据分组转发装置1的节点是入口RB还是转接RB而不同。下文中,转发目的地节点确定方法将通过示例分为入口RB情况和转接RB情况来进行例示。该示例例示了通过将八个VLAN ID8至15分配到四个自主确定的通信路径(ECMP)来获得图3例示的通信路径的情况。
图23A至图23C例示了针对入口RB的转发目的地节点确定方法。首先,如图23A所示,基于将VLAN ID以二进制表示时的最低有效三位(参见“VLAN ID(bin.)”),将VLAN ID分为八个模式“000”至“111”。
接着,如图23B所示,根据ECMP编号(1至8)的输出目的地编号分配给各个模式。ECMP编号是自主确定的通信路径上的下一个节点的编号。参照图3,入口节点RB#1具有RB#2和RB#3作为下一个节点,由此具有的ECMP编号是2。
输出目的地编号(1至8)是用于相互区分地输出等于ECMP编号的编号。分配输出目的地编号,以针对通过将以降序排布的模式等分为与ECMP编号相等的组而获得的各个组产生相同的编号。例如,当ECMP编号是2时,将输出目的地编号“1”被分配给模式“001”至“011”,而将输出目的地编号“2”分配给模式“100”至“111”。要注意的是,当ECMP编号是1时,将输出目的地编号“1”分配给所有模式“000”至“111”。
接着,如图23C所示,将下一个节点ID分配给各个模式。图23C例示了在图3的节点RB#1的情况下的分配。使输出目的地编号根据编号的排布顺序与下一个节点ID相对应。因此,使输出目的地编号“1”和“2”分别对应于节点RB#1和RB#3。因此,针对VLAN ID8至11(模式“000”至“011”),RB#2被分配为下一个节点ID,而针对VLAN ID12至15(模式“100”至“111”),RB#3被分配为下一个节点ID。
图24A至图24C例示了针对转接RB的转发目的地节点确定方法。如图24A所示,与图23A类似,将VLAN ID分类为模式。
接着,如图24B所示,将根据ECMP编号(1至8)的输出目的地编号分配给各个模式。将输出目的地编号分配给以降序排布的模式,以便以降序重复。例如,当ECMP编号是2时,将输出目的地编号“1”分配给模式“000”、“010”、“100”和“110”,而将输出目的地编号“2”分配给模式“001”、“011”、“101”和“111”。要注意的是,当ECMP编号是1时,将输出目的地编号“1”分配给所有模式“000”至“111”。
接着,如图24C所示,将下一个节点ID分配给各个模式。图24C例示了在图3的节点RB#2的情况下的分配。使输出目的地编号根据编号的排布顺序与下一个节点ID相对应。因此,使输出目的地编号“1”和“2”分别对应于节点RB#4和RB#5。因此,针对VLAN ID8、10、12和14(模式“000”、“010”、“100”和“110”),RB#4被分配为下一个节点ID。而且,针对VLAN ID9、11、13和15(模式“001”、“011”、“101”和“111”),RB#5被分配为下一个节点ID。要注意的是,同样地,利用类似的技术分配其它节点。
这样,当存在多个自主地设置的通信路径时(当存在ECMP时),设置处理单元100根据VLAN ID选择通信路径上的下一个节点ID作为分组转发目的地,使得将分组一致地分配给各个通信路径。因此,向ECMP的各个路径一致地分配多个VLAN ID是可能的。
接着,将通过展示网络的另一个示例来描述根据本实施方式的分组转发装置1的操作。图25是例示了在网络的另一个示例中的通信路径的初始状态的网络拓扑图。
网络包括安装了端站2的节点ES#10、ES#11、ES#20和ES#21以及安装了分组转发装置1的节点RB#1至RB#6。在该网络中,节点ES#10与ES#21之间的通信路径P30和节点ES#11与ES#22之间的通信路径P31是针对VLAN ID9自主地设置的。换言之,在该网络上,针对相同的VLAN ID,不同的ECMP共存。通信路径P30经过节点RB#1、RB#2、RB#4和RB#6,而通信路径P31经过节点RB#10、RB#1、RB#3、RB#5和RB#6。
图26例示了图25状态下的节点RB#1的路由表设置。在路由表中,作为节点类型,提供针对入口RB和转接RB的情况的两个种类。分组转发装置1能够用例如前面讨论的LSP交换,确定装置自身的节点针对各条通信路径P30和P31对应于入口RB还是转接RB。
因为节点RB#1充当通信路径P30上的入口RB,所以针对通信路径P30,参照“入口RB”路由表。利用参照图23A至图23C所讨论的转发目的地节点确定方法来设置“入口RB”路由表。按照该设置,节点RB#1的分组转发装置1将来自节点ES#10的分组转发给自主地设置的通信路径上的下一个节点RB#2。
另一方面,因为节点RB#1充当通信路径P31上的转接RB,所以针对通信路径P31,参照“转接RB”路由表。利用参照图24A至图24C讨论的转发目的地节点确定方法来设置“转接RB”路由表。按照该设置,节点RB#1的分组转发装置1将来自节点ES#11的分组转发给自主地设置的通信路径上的下一个节点RB#2。要注意的是,图25省略了除VLAN ID9之外的通信路径的例示。
图27是例示了由命令输入来修改通信路径的示例的网络拓扑图。在该示例中,节点ES#10与ES#21之间的通信路径P30经由命令输入修改为另一个通信路径P32。通信路径P32按顺序经过节点RB#1、RB#3、RB#5和RB#6。
图28例示了图27的状态下的节点RB#1的路由表设置。在“入口RB”路由表中,针对VLAN ID9,将RB#3设置为优先级为“高”的下一个节点ID。因此,节点RB#1的分组转发装置1将来自节点ES#10的分组转发给由命令输入所设置的通信路径上的下一个节点RB#3。要注意的是,因为没有修改“转接RB”路由表,所以没有修改节点ES#11与ES#22之间的通信路径P31。
图29是例示链路断开后的通信路径的示例的网络拓扑图。在该示例中,链路断开出现在节点RB#1与RB#3之间,并且节点ES#10与ES#21之间的通信路径P32被修改为自主地设置的通信路径P30。而且,因为通信因链路断开而变得不可用,所以节点ES#11与ES#22之间的通信路径P31被修改为另一个自主地设置的通信路径P33。
图30例示了图29的状态下的针对节点RB#1的路由表设置。在“入口RB”路由表中,删除优先级为“高”的下一个节点ID的设置。本文中,假定使路径恢复设置无效。因此,节点ES#10与ES#21之间的通信路径P32被切换为自主地设置的通信路径P30。
而且,在“入口RB”路由表中,针对VLAN ID12至15的下一个节点ID设置被从RB#3修改为RB#2。因此,针对其它VLAN ID的通信路径被切换为其它自主地设置的路径,以便避免链路故障。类似地,在“转接RB”路由表中,针对VLAN ID是9、11、13和15的下一个节点ID设置被从RB#3修改为RB#2。
这样,即使在不同的ECMP共存的情况下,分组转发装置1也能够有效控制通信路径。
如到此为止所讨论的,根据本实施方式的分组转发装置1包括多个端口15、切换单元13、CLI处理单元12、设置处理单元100和故障检测单元101。多个端口15分别连接到网络上的多个节点,并且收发分组。
切换单元13根据路由表,在多个端口15之间切换分组。CLI处理单元12从操作者接收命令输入。
设置处理单元100设置路由表,使得从多个节点中,分组被转发到由命令输入所设置的通信路径上的下一个节点。故障检测单元101检测网络上的链路故障。
当故障检测单元101检测到与由命令输入所设置的通信路径上的下一个节点之间的链路故障时,故障检测单元101修改路由表设置,使得分组转发目的地切换到自主地设置的通信路径上的下一个节点。当故障检测单元101在网络上的另一个位置处检测到链路故障时,设置处理单元100维持路由表设置。
凭借根据本实施方式的分组转发装置1,切换单元13根据路由表在多个端口15之间交换分组,由此能够在多个节点之间转发分组。设置处理单元100设置路由表,使得从多个节点中,分组被转发到由命令输入所设置的通信路径上的下一个节点。出于该原因,由操作者任意设置通信路径。
当故障检测单元101检测到与由命令输入所设置的通信路径上的下一个节点之间的链路故障时,故障检测单元101修改路由表设置,使得分组转发目的地切换到自主地设置的通信路径上的下一个节点。出于该原因,在经由命令输入所设置的通信路径的通信因链路故障的出现而变得不可用的情况下,切换通信路径,以避免链路故障,并且通信继续。
当故障检测单元101在网络上的另一个位置处检测到链路故障时,设置处理单元100维持路由表设置。出于该原因,维持由命令输入所设置的通信路径,这提高了便利性。因此,凭借根据本实施方式的分组转发装置1,改进了通信路径控制。
另外,在本实施方式的分组转发方法中,针对网络上的多个节点中的至少一个节点,分组被转发到由从操作者接收到的命令输入所设置的通信路径上的下一个节点。在检测到与由命令输入所设置的通信路径上的下一个节点之间的路径失败时,分组转发目的地被切换到自主地设置的通信路径上的下一个节点。在网络上的另一个位置处检测到链路故障时,维持分组转发目的地。
根据本实施方式的分组转发方法具有与上述分组转发装置1类似的构造,由此展示出上述操作优点。
另外,根据上面讨论的实施方式,操作者可以在仍然根据基于TRILL技术的协议执行自主路径控制的同时,任意设置通信路径。而且,即使在因链路故障的出现而重新计算通信路径的情况下,在仍然尽可能地维持由操作者设置的通信路径的同时支持动态路径控制,从而使得能够提供灵活的网络。
因此,根据上面讨论的实施方式,可以利用基于TRILL技术的协议,来实现软件定义网络(SDN),或换言之,仅用软件自由修改拓扑和设置的虚拟网络。例如,利用软件,可以执行向ECMP的各个通信路径尽可能一致地分配带宽的流量工程(traffic engineering),或在维护作业期间在没有问题的情况下从对象装置对流量进行重新路由。
由此,上面所述参照优选实施方式具体描述了本公开的内容,但是对于本领域技术人员来说清楚的是,可以基于本公开的根本技术概念和教导采用各种修改例。
Claims (18)
1.一种耦接到包括多个通信路径的网络中的多个节点的数据发送装置,该数据发送装置包括:
存储器;以及
处理器,所述处理器被耦接到所述存储器并且被配置为:
基于对所述多个通信路径中所包括的第一通信路径进行指定的命令,在所述存储器中设置路由表;
检测在所述网络中出现的链路故障;并且
当在所述数据发送装置与经由所述第一通信路径与所述数据发送装置相邻的第一节点之间的第一位置处出现所述链路故障时,修改所述路由表,以指定要经由耦接到第二节点的第二通信路径发送的数据,并且基于所修改的路由表经由所述第二通信路径向所述第二节点发送所述数据,并且当在所述网络中的与所述第一位置不同的第二位置处出现所述链路故障时,基于所述路由表向所述第一节点发送所述数据。
2.根据权利要求1所述的数据发送装置,其中,
所述处理器被配置为:在所述第一位置处检测到所述链路故障时,基于针对所述多个通信路径中的各个路径所确定的通信速度从所述多个通信路径选择所述第二通信路径。
3.根据权利要求2所述的数据发送装置,其中,
所述第二节点位于所述第二通信路径上所述数据发送装置的相邻处。
4.根据权利要求3所述的数据发送装置,所述数据发送装置还包括:
多个端口,所述多个端口发送所述数据并且分别连接到所述网络中的所述多个节点;以及
开关,所述开关从所述多个端口选择用于发送所述数据的端口,其中,
所述路由表包括对所述第一节点进行指示的第一标识符和对所述第二节点进行指示的第二标识符,
所述开关通过使所述第一标识符优先于所述第二标识符,来选择所述端口,并且
所述处理器被配置为:在所述第一位置处检测到所述链路故障时,从所述路由表删除所述第一标识符,或者使所述第一标识符无效。
5.根据权利要求3所述的数据发送装置,其中,
所述处理器被配置为:检测在所述第一位置处从所述链路故障的恢复,并且使所述第一标识符有效。
6.根据权利要求3所述的数据发送装置,其中,
所述数据被包括在分组中,并且所述分组被分配有用于识别所述分组的分组标识符,并且
所述处理器被配置为:当所述多个通信路径中所包括的第三通信路径的通信速度与所述第二通信路径的通信速度相同时,基于所述分组标识符来选择所述第二通信路径和所述第三通信路径中的一个。
7.一种从包括多个节点和多个通信路径的网络中所包括的数据发送装置发送数据的数据发送方法,该数据发送方法包括以下步骤:
基于对所述多个通信路径中所包括的第一通信路径进行指定的命令,设置路由表;
检测在所述网络中出现的链路故障;并且
当在所述数据发送装置与经由所述第一通信路径与所述数据发送装置相邻的第一节点之间的第一位置处出现所述链路故障时,修改所述路由表,以指定要经由耦接到第二节点的第二通信路径发送的数据,并且基于所修改的路由表经由所述第二通信路径向所述第二节点发送所述数据,并且当在所述网络中的与所述第一位置不同的第二位置处出现所述链路故障时,基于所述路由表向所述第一节点发送所述数据。
8.根据权利要求7所述的数据发送方法,该方法还包括:
在所述第一位置处检测到所述链路故障时,基于针对所述多个通信路径中的各个路径所确定的通信速度从所述多个通信路径选择所述第二通信路径。
9.根据权利要求8所述的数据发送方法,其中,
所述第二节点位于所述第二通信路径上所述数据发送装置的相邻处。
10.根据权利要求9所述的数据发送方法,该方法还包括以下步骤:
在所述路由表中存储对所述第一节点进行指示的第一标识符和对所述第二节点进行指示的第二标识符;
通过使所述第一标识符优先于所述第二标识符,来选择所述第一通信路径;以及
基于在所述第一位置处检测到所述链路故障的情况,从所述路由表删除所述第一标识符,或者使所述第一标识符无效。
11.根据权利要求9所述的数据发送方法,该方法还包括:
检测在所述第一位置处从所述链路故障的恢复,并且使所述第一标识符有效。
12.根据权利要求9所述的数据发送方法,其中,
所述数据被包括在分组中,并且所述分组被分配有用于识别所述分组的分组标识符,并且
当所述多个通信路径中所包括的第三通信路径的通信速度与所述第二通信路径的通信速度相同时,基于所述分组标识符来选择所述第二通信路径和所述第三通信路径中的一个。
13.一种存储程序的非易失性计算机可读存储介质,该程序使信息处理装置执行数据发送方法,利用在包括多个节点和多个通信路径的网络中所包括的数据发送装置来执行该方法,所述方法包括以下步骤:
基于对所述多个通信路径中所包括的第一通信路径进行指定的命令,设置路由表;
检测在所述网络中出现的链路故障;并且
当在所述数据发送装置与经由所述第一通信路径与所述数据发送装置相邻的第一节点之间的第一位置处出现所述链路故障时,修改所述路由表,以指定要经由耦接到第二节点的第二通信路径发送的数据,并且基于所修改的路由表经由所述第二通信路径向所述第二节点发送所述数据,并且当在所述网络中的与所述第一位置不同的第二位置处出现所述链路故障时,基于所述路由表向所述第一节点发送所述数据。
14.根据权利要求13所述的非易失性计算机可读存储介质,该介质还包括:
在所述第一位置处检测到所述链路故障时,基于针对所述多个通信路径中的各个路径所确定的通信速度从所述多个通信路径选择所述第二通信路径。
15.根据权利要求14所述的非易失性计算机可读存储介质,其中,
所述第二节点位于所述第二通信路径上所述数据发送装置的相邻处。
16.根据权利要求15所述的非易失性计算机可读存储介质,该介质还包括:
在所述路由表中存储对所述第一节点进行指示的第一标识符和对所述第二节点进行指示的第二标识符;
通过使所述第一标识符优先于所述第二标识符,来选择所述第一通信路径;以及
基于在所述第一位置处检测到所述链路故障,从所述路由表删除所述第一标识符,或者使所述第一标识符无效。
17.根据权利要求15所述的非易失性计算机可读存储介质,该介质还包括:
检测在所述第一位置处从所述链路故障的恢复,并且使所述第一标识符有效。
18.根据权利要求15所述的非易失性计算机可读存储介质,其中,
所述数据被包括在分组中,并且所述分组被分配有用于识别所述分组的分组标识符,并且
当所述多个通信路径中所包括的第三通信路径的通信速度与所述第二通信路径的通信速度相同时,基于所述分组标识符来选择所述第二通信路径和所述第三通信路径中的一个。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013-108379 | 2013-05-22 | ||
JP2013108379A JP6217138B2 (ja) | 2013-05-22 | 2013-05-22 | パケット転送装置及びパケット転送方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104184608A true CN104184608A (zh) | 2014-12-03 |
CN104184608B CN104184608B (zh) | 2018-06-05 |
Family
ID=51935323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410203255.8A Expired - Fee Related CN104184608B (zh) | 2013-05-22 | 2014-05-14 | 数据发送装置和数据发送方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9485172B2 (zh) |
JP (1) | JP6217138B2 (zh) |
CN (1) | CN104184608B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105743785A (zh) * | 2014-12-12 | 2016-07-06 | 中兴通讯股份有限公司 | 设备的路由切换方法及装置 |
WO2017092400A1 (zh) * | 2015-11-30 | 2017-06-08 | 中兴通讯股份有限公司 | 故障恢复方法及装置、控制器、软件定义网络 |
CN107885184A (zh) * | 2016-09-29 | 2018-04-06 | 福特全球技术公司 | 故障功能自动驾驶 |
CN108494700A (zh) * | 2018-02-02 | 2018-09-04 | 百度在线网络技术(北京)有限公司 | 跨链路数据传输方法、装置、计算机设备及存储介质 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9203738B2 (en) * | 2013-05-21 | 2015-12-01 | Cisco Technology, Inc. | Optimal forwarding for trill fine-grained labeling and VXLAN interworking |
US11296800B2 (en) | 2013-07-15 | 2022-04-05 | Eric Litak | Classical implementation of entanglement |
US9614752B2 (en) * | 2013-11-11 | 2017-04-04 | Avaya Inc. | Multi-threaded multi-path processing |
US9692684B2 (en) * | 2014-09-05 | 2017-06-27 | Telefonaktiebolaget L M Ericsson (Publ) | Forwarding table precedence in SDN |
US10855791B2 (en) * | 2014-11-25 | 2020-12-01 | Netapp, Inc. | Clustered storage system path quiescence analysis |
JP6333751B2 (ja) * | 2015-02-04 | 2018-05-30 | 日本電信電話株式会社 | Ipネットワークシステムおよびロードバランス方法 |
US10606779B2 (en) * | 2016-09-16 | 2020-03-31 | Altera Corporation | Methods and apparatus for performing partial reconfiguration in a pipeline-based network topology |
WO2018195520A1 (en) * | 2017-04-20 | 2018-10-25 | Borrill Paul L | Classical implementation of entanglement |
JP6879129B2 (ja) * | 2017-08-31 | 2021-06-02 | 沖電気工業株式会社 | 中継装置および中継プログラム |
US11196713B2 (en) | 2017-10-17 | 2021-12-07 | Eric Litak | Classical implementation of quantum entanglement in datacenter network design |
US20220345398A1 (en) * | 2019-09-30 | 2022-10-27 | Nippon Telegraph And Telephone Corporation | Transfer apparatus, transfer system, and transfer method. |
WO2021232190A1 (en) * | 2020-05-18 | 2021-11-25 | Alibaba Group Holding Limited | Forward path planning method in massive data center networks |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010046227A1 (en) * | 2000-05-23 | 2001-11-29 | Fujitsu Limited | Communication device for selecting route of packet |
US20020004843A1 (en) * | 2000-07-05 | 2002-01-10 | Loa Andersson | System, device, and method for bypassing network changes in a routed communication network |
WO2002091689A1 (en) * | 2001-05-07 | 2002-11-14 | Sun Microsystems, Inc. | Fault-tolerant routing scheme for a multi-path interconnection fabric in a storage network |
CN101827009A (zh) * | 2009-03-04 | 2010-09-08 | 丛林网络公司 | 利用服务vlan标识符在trill网络中路由帧 |
US20110058488A1 (en) * | 2009-09-08 | 2011-03-10 | Kddi Corporation | Real-time detection of failed inter-node link in network |
CN101997770A (zh) * | 2009-08-14 | 2011-03-30 | 株式会社日立制作所 | 传输控制服务器、传输控制***及预备路径设定方法 |
CN102299845A (zh) * | 2011-09-20 | 2011-12-28 | 神州数码网络(北京)有限公司 | 多链路透明互联多播帧传输方法和*** |
CN102415065A (zh) * | 2009-03-26 | 2012-04-11 | 博科通讯***有限公司 | 在有路由的网络中冗余主机连接 |
CN102638389A (zh) * | 2011-02-15 | 2012-08-15 | 中兴通讯股份有限公司 | 一种trill网络的冗余备份方法及*** |
CN102780635A (zh) * | 2012-08-09 | 2012-11-14 | 华为技术有限公司 | 基于trill网络实现保护倒换的方法、tor交换机及*** |
CN102845047A (zh) * | 2010-03-26 | 2012-12-26 | 岩星比德科有限公司 | 在路由式以太网网络中的分布式故障恢复 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6857026B1 (en) * | 1999-12-14 | 2005-02-15 | Nortel Networks Limited | Using alternate routes for fail-over in a communication network |
US8264955B2 (en) * | 2009-06-12 | 2012-09-11 | Polytechnic Institute Of New York University | Internet protocol fast reroute for shared risk link group failure recovery |
US8553562B2 (en) * | 2010-09-08 | 2013-10-08 | Telefonaktiebolaget L M Ericsson (Publ) | Automated traffic engineering for multi-protocol label switching (MPLS) with link utilization as feedback into the tie-breaking mechanism |
-
2013
- 2013-05-22 JP JP2013108379A patent/JP6217138B2/ja not_active Expired - Fee Related
-
2014
- 2014-04-23 US US14/259,516 patent/US9485172B2/en active Active
- 2014-05-14 CN CN201410203255.8A patent/CN104184608B/zh not_active Expired - Fee Related
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010046227A1 (en) * | 2000-05-23 | 2001-11-29 | Fujitsu Limited | Communication device for selecting route of packet |
US20020004843A1 (en) * | 2000-07-05 | 2002-01-10 | Loa Andersson | System, device, and method for bypassing network changes in a routed communication network |
WO2002091689A1 (en) * | 2001-05-07 | 2002-11-14 | Sun Microsystems, Inc. | Fault-tolerant routing scheme for a multi-path interconnection fabric in a storage network |
CN101827009A (zh) * | 2009-03-04 | 2010-09-08 | 丛林网络公司 | 利用服务vlan标识符在trill网络中路由帧 |
CN102415065A (zh) * | 2009-03-26 | 2012-04-11 | 博科通讯***有限公司 | 在有路由的网络中冗余主机连接 |
CN101997770A (zh) * | 2009-08-14 | 2011-03-30 | 株式会社日立制作所 | 传输控制服务器、传输控制***及预备路径设定方法 |
US20110058488A1 (en) * | 2009-09-08 | 2011-03-10 | Kddi Corporation | Real-time detection of failed inter-node link in network |
CN102845047A (zh) * | 2010-03-26 | 2012-12-26 | 岩星比德科有限公司 | 在路由式以太网网络中的分布式故障恢复 |
CN102638389A (zh) * | 2011-02-15 | 2012-08-15 | 中兴通讯股份有限公司 | 一种trill网络的冗余备份方法及*** |
CN102299845A (zh) * | 2011-09-20 | 2011-12-28 | 神州数码网络(北京)有限公司 | 多链路透明互联多播帧传输方法和*** |
CN102780635A (zh) * | 2012-08-09 | 2012-11-14 | 华为技术有限公司 | 基于trill网络实现保护倒换的方法、tor交换机及*** |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105743785A (zh) * | 2014-12-12 | 2016-07-06 | 中兴通讯股份有限公司 | 设备的路由切换方法及装置 |
CN105743785B (zh) * | 2014-12-12 | 2019-09-10 | 南京中兴软件有限责任公司 | 设备的路由切换方法及装置 |
WO2017092400A1 (zh) * | 2015-11-30 | 2017-06-08 | 中兴通讯股份有限公司 | 故障恢复方法及装置、控制器、软件定义网络 |
CN107885184A (zh) * | 2016-09-29 | 2018-04-06 | 福特全球技术公司 | 故障功能自动驾驶 |
CN108494700A (zh) * | 2018-02-02 | 2018-09-04 | 百度在线网络技术(北京)有限公司 | 跨链路数据传输方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104184608B (zh) | 2018-06-05 |
JP6217138B2 (ja) | 2017-10-25 |
US9485172B2 (en) | 2016-11-01 |
US20140347975A1 (en) | 2014-11-27 |
JP2014230100A (ja) | 2014-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104184608A (zh) | 数据发送装置、方法和非易失性计算机可读存储介质 | |
US8711863B2 (en) | Virtual links in a routed ethernet mesh network | |
JP6319604B2 (ja) | Sdnコントローラ、データセンターシステムおよびルーティング接続方法 | |
CN104380672B (zh) | 用于802.1aq的三级折叠Clos优化 | |
US8094584B2 (en) | Node, network system, frame transfer method, and frame transfer program | |
CN102684979B (zh) | 一种支持虚拟终端的组播数据转发方法及装置 | |
CN103703727A (zh) | 用于分体式架构***中控制业务的弹性路由的方法和设备 | |
CN104426731A (zh) | 一种生成树计算的方法和装置 | |
CN101136921A (zh) | 通信装置及通信*** | |
CN106374996B (zh) | 一种光网络故障处理方法及装置 | |
CN103346979B (zh) | 一种spbm网络中的流量分配方法及设备 | |
CN105897465A (zh) | 设备配置方法及装置 | |
CN109818858A (zh) | 用于实现域间拓扑关系自动拼接的方法、装置和*** | |
CN106452862A (zh) | 一种确定环形网络的方法及装置 | |
CN101808045B (zh) | 防止多生成树协议中老信息报文循环的方法及交换设备 | |
CN106230717B (zh) | 集群***中的路由获取方法及装置 | |
CN104796346B (zh) | 一种实现l3vpn业务负载分担的方法、设备及*** | |
CN104135392A (zh) | 一种双节点环路由oam数据的保护方法 | |
CN105099743B (zh) | 一种列车冗余动态配置方法及*** | |
CN108512737A (zh) | 一种数据中心ip层互联的方法和sdn控制器 | |
CN103973498B (zh) | 一种多归属网络主备路径选择方法及设备 | |
US8824338B2 (en) | Distributed spanning tree protocol | |
CN106330707B (zh) | 网络控制方法及网络控制器 | |
JP2003258829A (ja) | Ethernet制御方法、網、装置、およびその制御方法 | |
CN104579997A (zh) | 最短路径桥接网络中的转发路径确定方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180605 |