CN103259720B - 一种基于mtr的数据传输方法和设备 - Google Patents

一种基于mtr的数据传输方法和设备 Download PDF

Info

Publication number
CN103259720B
CN103259720B CN201310215110.5A CN201310215110A CN103259720B CN 103259720 B CN103259720 B CN 103259720B CN 201310215110 A CN201310215110 A CN 201310215110A CN 103259720 B CN103259720 B CN 103259720B
Authority
CN
China
Prior art keywords
route
hop
outgoing interface
main road
logical topology
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.)
Active
Application number
CN201310215110.5A
Other languages
English (en)
Other versions
CN103259720A (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.)
New H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201310215110.5A priority Critical patent/CN103259720B/zh
Publication of CN103259720A publication Critical patent/CN103259720A/zh
Application granted granted Critical
Publication of CN103259720B publication Critical patent/CN103259720B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于MTR的数据传输方法和设备,该方法包括:网络设备生成逻辑拓扑对应的包括主路由和备路由的路由表,所述主路由为所述逻辑拓扑内的路由,所述备路由为其它逻辑拓扑内的路由,所述主路由和所述备路由对应有相同的目的地址,并对应有不同的出接口和下一跳;所述网络设备在通过所述逻辑拓扑发送数据时,利用所述数据的目的地址在所述逻辑拓扑对应的路由表中进行路由匹配;如果匹配到的主路由的路径没有发生故障,则通过匹配到的主路由发送数据;如果匹配到的主路由的路径发生故障,则通过路由表中匹配到的主路由对应的备路由发送数据。本发明实施例中,可以实现流量的快速收敛,并可以减少路径故障所导致的丢包情况。

Description

一种基于MTR的数据传输方法和设备
技术领域
本发明涉及通信技术领域,尤其是涉及一种基于MTR(Multi Topology Routing,多拓扑路由)的数据传输方法和设备。
背景技术
目前单播路由协议(如:OSPF(Open Shortest Path First,开放式最短路径优先),IS-IS(Intermediate System to Intermediate System Routing Protocol,中间系统到中间系统的路由选择协议)和BGP(Border Gateway Protocol,边界网关协议)等)都支持MTR技术,MTR技术是指在一个物理拓扑下划分多个逻辑拓扑,这些逻辑拓扑可能是交叉或者重叠的,网络设备在发送数据时,不同的数据可以被划分到不同的逻辑拓扑中,以实现对数据的转发处理。
如图1所示,为将一个物理拓扑划分为多个逻辑拓扑的组网示意图,对于由路由器A、路由器B、路由器C和路由器D组成的物理拓扑,被划分成由路由器A、路由器B和路由器D组成的逻辑拓扑1,以及由路由器A、路由器C和路由器D组成的逻辑拓扑2。其中,对于逻辑拓扑1来说,路由器C并不存在于该逻辑拓扑1中;对于逻辑拓扑2来说,路由器B并不存在于该逻辑拓扑2中。进一步的,每一个单独的逻辑拓扑都需要根据路由协议计算出本逻辑拓扑所对应的路由表(即RIB(Routing Information Base,路由信息库)),且属于本逻辑拓扑的数据需要基于本逻辑拓扑的路由表(即RIB)进行路由转发。
基于MTR划分的多个逻辑拓扑,网络设备在发送数据时,首先选择数据对应的逻辑拓扑(如基于DSCP(Differentiated Services Code Point,差分服务代码点)值和逻辑拓扑的对应关系进行选择;当数据的DSCP值为1时,选择逻辑拓扑1,当数据的DSCP值为2时,选择逻辑拓扑2);然后根据数据的目的地址在本逻辑拓扑的路由表中进行路由匹配,并根据匹配结果发送数据。
在图1所示的应用场景下,路由器A在需要发送数据给路由器D时,会选择基于逻辑拓扑1或者逻辑拓扑2的路由表进行路由匹配,假设路由器A基于逻辑拓扑1的路由表进行路由匹配,则当路由器A与路由器B之间的路径发生故障时,路由器A仍然会基于逻辑拓扑1的路由表进行路由匹配,从而导致流量丢失。只有当路由器A的路由协议(如OSPF、IS-IS或BGP等)感知到路由器A与路由器B之间的路径发生故障后,才会删除逻辑拓扑1的路由表,继而使得路由器A能够基于逻辑拓扑2的路由表进行路由匹配,完成流量的切换。
在上述实施方式下,当发生路径故障时,流量收敛时间为故障检测时间+路由协议重新计算并下发路由表的时间,其流量收敛速度慢。
发明内容
本发明实施例提供一种基于MTR的数据传输方法和设备,以实现流量的快速收敛,并可以减少路径故障所导致的丢包情况。
为了达到上述目的,本发明实施例提供一种基于多拓扑路由MTR的数据传输方法,该方法应用于包括多个逻辑拓扑的网络中,该方法包括以下步骤:
网络设备生成逻辑拓扑对应的包括主路由和备路由的路由表,所述主路由为所述逻辑拓扑内的路由,所述备路由为其它逻辑拓扑内的路由,所述主路由和所述备路由对应有相同的目的地址,并对应有不同的出接口和下一跳;
所述网络设备在通过所述逻辑拓扑发送数据时,利用所述数据的目的地址在所述逻辑拓扑对应的路由表中进行路由匹配;如果匹配到的主路由的路径没有发生故障,则通过匹配到的主路由发送数据;如果匹配到的主路由的路径发生故障,则通过路由表中匹配到的主路由对应的备路由发送数据。
本发明实施例提供一种基于多拓扑路由MTR的数据传输设备,作为网络设备应用于包括多个逻辑拓扑的网络中,所述网络设备具体包括:
生成模块,用于生成逻辑拓扑对应的包括主路由和备路由的路由表;其中,所述主路由为所述逻辑拓扑内的路由,所述备路由为其它逻辑拓扑内的路由,且所述主路由和所述备路由对应有相同的目的地址,且所述主路由和所述备路由对应有不同的出接口和下一跳;
发送模块,用于在通过所述逻辑拓扑发送数据时,利用所述数据的目的地址在所述逻辑拓扑对应的路由表中进行路由匹配;如果匹配到的主路由的路径没有发生故障,则通过匹配到的主路由发送数据;如果匹配到的主路由的路径发生故障,则通过路由表中匹配到的主路由对应的备路由发送数据。
与现有技术相比,本发明实施例至少具有以下优点:本发明实施例中,网络设备通过生成逻辑拓扑对应的包括主路由(逻辑拓扑内的路由)和备路由(其它逻辑拓扑内的路由)的路由表,从而在通过本逻辑拓扑发送数据时,能够在主路由对应的路径发生故障时,通过路由表中其它逻辑拓扑内的备路由发送数据,继而可以实现流量的快速收敛(其流量收敛时间为故障检测时间),并可以减少路径故障所导致的丢包情况和丢包率。
附图说明
图1是现有技术中将一个物理拓扑划分为多个逻辑拓扑的组网示意图;
图2是本发明实施例提供的一种基于MTR的数据传输方法流程示意图;
图3是本发明实施例中采用逻辑拓扑间插入路由方式生成逻辑拓扑对应的包括主路由和备路由的路由表的流程示意图;
图4是本发明实施例中采用逻辑拓扑间插入SPF节点方式生成逻辑拓扑对应的包括主路由和备路由的路由表的流程示意图;
图5是本发明实施例提供的一种基于MTR的数据传输设备结构示意图。
具体实施方式
针对现有技术中存在的问题,本发明实施例提供一种基于MTR的数据传输方法,该方法应用于包括多个逻辑拓扑的网络中,以图1为本发明实施例的应用场景示意图,对于由路由器A、路由器B、路由器C和路由器D组成的物理拓扑,被划分成由路由器A、路由器B和路由器D组成的逻辑拓扑1,以及由路由器A、路由器C和路由器D组成的逻辑拓扑2。其中,每一个单独的逻辑拓扑都需要根据路由协议计算出本逻辑拓扑所对应的路由表,且属于本逻辑拓扑的数据需要基于本逻辑拓扑的路由表进行路由转发。
具体的,在图1所示的应用场景下,以OSPF协议为例,路由器A、路由器B、路由器C和路由器D之间建立OSPF邻居。在路由器A、路由器B和路由器D上分别配置逻辑拓扑1,在路由器A和路由器B之间的接口使能逻辑拓扑1,在路由器B和路由器D之间的接口使能逻辑拓扑1。在路由器A、路由器C和路由器D上分别配置逻辑拓扑2,在路由器A和路由器C之间的接口使能逻辑拓扑2,在路由器C和路由器D之间的接口使能逻辑拓扑2。
此外,路由器D上发布所有目的地址分别为D1、D2...Dn的n条路由,并将这n条路由分别发布到逻辑拓扑1以及逻辑拓扑2中;在路由器A上,对于逻辑拓扑1中到路由器D发布的这n条路由的下一跳为路由器B,对于逻辑拓扑2中到路由器D发布的这n条路由的下一跳为路由器C。
如图2所示,该基于MTR的数据传输方法包括以下步骤:
步骤201,网络设备生成逻辑拓扑对应的包括主路由和备路由的路由表;其中,主路由为逻辑拓扑内的路由,备路由为其它逻辑拓扑内的路由,且主路由和备路由对应有相同的目的地址,并对应有不同的出接口和下一跳。
在图1所示的应用场景下,网络设备生成逻辑拓扑1对应的包括主路由和备路由的路由表,并生成逻辑拓扑2对应的包括主路由和备路由的路由表。
路由器A在生成逻辑拓扑1对应的路由表时,路由器D所发布的所有目的地址分别为D1、D2...Dn,则该逻辑拓扑1对应的路由表中,主路由1的目的地址为D1,出接口为路由器A上路由器A与路由器B之间接口,下一跳为路由器B上路由器B与路由器A之间接口的地址,主路由1对应的备路由1的目的地址为D1,出接口为路由器A上路由器A与路由器C之间接口,下一跳为路由器C上路由器C与路由器A之间接口的地址;主路由2的目的地址为D2,出接口为路由器A上路由器A与路由器B之间接口,下一跳为路由器B上路由器B与路由器A之间接口的地址,主路由2对应的备路由2的目的地址为D2,出接口为路由器A上路由器A与路由器C之间接口,下一跳为路由器C上路由器C与路由器A之间接口的地址;以此类推,主路由N的目的地址为Dn,出接口为路由器A上路由器A与路由器B之间接口,下一跳为路由器B上路由器B与路由器A之间接口的地址,主路由N对应的备路由N的目的地址为Dn,出接口为路由器A上路由器A与路由器C之间接口,下一跳为路由器C上路由器C与路由器A之间接口的地址。
路由器A在生成逻辑拓扑2对应的路由表时,路由器D所发布的所有目的地址分别为D1、D2...Dn,则该逻辑拓扑2对应的路由表中,主路由1的目的地址为D1,出接口为路由器A上路由器A与路由器C之间接口,下一跳为路由器C上路由器C与路由器A之间接口的地址,主路由1对应的备路由1的目的地址为D1,出接口为路由器A上路由器A与路由器B之间接口,下一跳为路由器B上路由器B与路由器A之间接口的地址;主路由2的目的地址为D2,出接口为路由器A上路由器A与路由器C之间接口,下一跳为路由器C上路由器C与路由器A之间接口的地址,主路由2对应的备路由2的目的地址为D2,出接口为路由器A上路由器A与路由器B之间接口,下一跳为路由器B上路由器B与路由器A之间接口的地址;以此类推,主路由N的目的地址为Dn,出接口为路由器A上路由器A与路由器C之间接口,下一跳为路由器C上路由器C与路由器A之间接口的地址,主路由N对应的备路由N的目的地址为Dn,出接口为路由器A上路由器A与路由器B之间接口,下一跳为路由器B上路由器B与路由器A之间接口的地址。
步骤202,网络设备在通过逻辑拓扑发送数据时,利用数据的目的地址在逻辑拓扑对应的路由表中进行路由匹配;如果匹配到的主路由的路径没有发生故障,则通过匹配到的主路由发送数据;如果匹配到的主路由的路径发生故障,则通过路由表中匹配到的主路由对应的备路由发送数据。
在图1所示的应用场景下,假设数据的目的地址为D1,且基于逻辑拓扑1的路由表对数据进行路由转发;基于此,路由器A在通过逻辑拓扑1发送该数据时,利用该数据的目的地址在逻辑拓扑1对应的路由表中进行路由匹配,并匹配到逻辑拓扑1对应的路由表中的主路由1(目的地址为D1,出接口为路由器A上路由器A与路由器B之间接口,下一跳为路由器B上路由器B与路由器A之间接口的地址),此时如果匹配到的主路由1的路径没有发生故障,则通过匹配到的主路由1发送数据;如果匹配到的主路由1的路径发生故障(如通过BFD(Bidirectional Forwarding Detection,双向转发检测)报文快速检测到主路由1的路径发生故障),则通过匹配到的主路由1对应的备路由1(目的地址为D1,出接口为路由器A上路由器A与路由器C之间接口,下一跳为路由器C上路由器C与路由器A之间接口的地址)发送数据,从而快速将故障路径发送的流量切换到另一路径中发送,实现流量快速收敛。
假设数据的目的地址为D1,且基于逻辑拓扑2的路由表对数据进行路由转发;路由器A在通过逻辑拓扑2发送数据时,利用数据的目的地址在逻辑拓扑2对应的路由表中进行路由匹配,并匹配到逻辑拓扑2对应的路由表中的主路由1(目的地址为D1,出接口为路由器A上路由器A与路由器C之间接口,下一跳为路由器C上路由器C与路由器A之间接口的地址),如果匹配到的主路由1的路径没有发生故障,则通过匹配到的主路由1发送数据;如果匹配到的主路由1的路径发生故障,则通过匹配到的主路由1对应的备路由1(目的地址为D1,出接口为路由器A上路由器A与路由器B之间接口,下一跳为路由器B上路由器B与路由器A之间接口的地址)发送数据,从而快速将故障路径发送的流量切换到另一路径中发送,实现流量快速收敛。
本发明实施例的优选实施方式中,为了生成逻辑拓扑对应的包括主路由和备路由的路由表,可以采用逻辑拓扑间插入路由方式生成逻辑拓扑对应的包括主路由和备路由的路由表,或者,采用逻辑拓扑间插入SPF(Shortest PathFirst,最短路径优先)节点方式生成逻辑拓扑对应的包括主路由和备路由的路由表;其中,采用逻辑拓扑间插入路由方式生成逻辑拓扑对应的包括主路由和备路由的路由表的流程可以如图3所示,采用逻辑拓扑间插入SPF节点方式生成逻辑拓扑对应的包括主路由和备路由的路由表的流程可以如图4所示。
其中,采用逻辑拓扑间插入路由方式可以适用于所有单播路由协议,如:静态路由,OSPF,IS-IS,BGP等;采用逻辑拓扑间插入SPF节点方式可以适用于链路状态协议,如:OSPF和IS-IS。
步骤301,网络设备从其它逻辑拓扑对应的路由表中选择未被选择过的路由,并判断本逻辑拓扑对应的路由表中是否存在当前选择路由的目的地址;如果是,则执行步骤302;如果否,则执行步骤303。
进一步的,在各逻辑拓扑的路由计算过程完成之后,如果本网络设备支持逻辑拓扑间插入路由方式(即支持本发明实施例提供的实施方式),则执行逻辑拓扑间插入路由的过程,即本网络设备执行上述步骤301。
步骤302,网络设备将本逻辑拓扑对应的路由表中与当前选择路由具有相同目的地址的路由设置为主路由,将当前选择路由记录到主路由备份列表;之后执行步骤303。其中,主路由备份列表可以为单独列表或为路由表一部分。
步骤303,网络设备判断该其它逻辑拓扑对应的路由表中是否有未被选择过的路由;如果是,则执行步骤301;如果否,则执行步骤304。
步骤304,网络设备判断是否还有本逻辑拓扑之外的未选择过路由的其它逻辑拓扑;如果是,则执行步骤301;如果否,则执行步骤305。
步骤305,网络设备从本逻辑拓扑对应的路由表中选择主路由,并从主路由备份列表中选择路由作为该主路由的备路由,之后执行步骤306。
本发明实施例中,对于本逻辑拓扑对应的路由表中的每条路由,如果步骤302中已经设置某个路由为主路由,则该主路由在主路由备份列表中会有对应的路由作为备路由;如果步骤302中没有设置某个路由为主路由,则该路由在主路由备份列表中不会有对应的路由作为备路由。
进一步的,对于本逻辑拓扑对应的路由表中的每条主路由,当主路由备份列表中只有对应于该主路由的一个路由时,网络设备选择该路由作为主路由的备路由;当主路由备份列表中有对应于该主路由的多个路由时,网络设备利用多个路由分别对应的逻辑拓扑从多个路由中选择一个路由作为主路由的备路由(如:当逻辑拓扑1的优先级最高时,网络设备会优先选择逻辑拓扑1内的路由作为主路由的备路由);或者,网络设备利用多个路由分别对应的出接口从多个路由中选择一个路由作为主路由的备路由(如:当出接口1的优先级最高时,网络设备会优先选择对应于出接口1的路由作为主路由的备路由);或者,网络设备利用多个路由分别对应的下一跳从多个路由中选择一个路由作为主路由的备路由(如:当路由器B的优先级最高时,网络设备会优先选择对应于路由器B的路由作为主路由的备路由);或者,网络设备利用多个路由分别对应的路径开销值从多个路由中选择一个路由作为主路由的备路由(如网络设备优先选择路径开销值最小的路由作为主路由的备路由)。
步骤306,网络设备在本逻辑拓扑对应的路由表中记录备路由的目的地址、出接口和下一跳,设置该备路由为主路由对应的备路由。
在图1所示的应用场景下,假设网络设备为路由器A,本逻辑拓扑为逻辑拓扑1,则图3所示的处理流程可以具体如下所示。
在步骤301中,路由器A从逻辑拓扑2对应的路由表中选择路由1(目的地址为D1,出接口为路由器A上路由器A与路由器C之间接口,下一跳为路由器C上路由器C与路由器A之间接口的地址),并确定逻辑拓扑1对应的路由表中存在当前选择路由1的目的地址(目的地址D1),执行步骤302。
在步骤302中,路由器A将逻辑拓扑1对应的路由表中与当前选择路由1具有相同目的地址的路由(目的地址为D1,出接口为路由器A上路由器A与路由器B之间接口,下一跳为路由器B上路由器B与路由器A之间接口的地址)设置为主路由1,并将当前选择路由1记录到主路由备份列表。
在步骤303中,路由器A确定逻辑拓扑2对应的路由表中有未被选择过的路由,继续执行步骤301,以此类推,当路由器A从逻辑拓扑2对应的路由表中选择路由N(目的地址为Dn,出接口为路由器A上路由器A与路由器C之间接口,下一跳为路由器C上路由器C与路由器A之间接口的地址)时,确定逻辑拓扑1对应的路由表中存在当前选择路由N的目的地址(目的地址Dn),将逻辑拓扑1对应的路由表中与当前选择路由N具有相同目的地址的路由(目的地址为Dn,出接口为路由器A上路由器A与路由器B之间接口,下一跳为路由器B上路由器B与路由器A之间接口的地址)设置为主路由N,并将当前选择路由N记录到主路由备份列表。之后,路由器A确定逻辑拓扑2对应的路由表中没有未被选择过的路由,并执行步骤304。
在步骤304中,路由器A确定没有逻辑拓扑1之外的未选择过路由的其它逻辑拓扑(即不存在未执行上述流程的逻辑拓扑3等),并执行步骤305。
在步骤305中,路由器A在逻辑拓扑1对应的路由表中选择主路由1(目的地址为D1,出接口为路由器A上路由器A与路由器B之间接口,下一跳为路由器B上路由器B与路由器A之间接口的地址),并从主路由备份列表中选择路由1(目的地址为D1,出接口为路由器A上路由器A与路由器C之间接口,下一跳为路由器C上路由器C与路由器A之间接口的地址)作为该主路由1的备路由;以此类推,路由器A在逻辑拓扑1对应的路由表中选择主路由N(目的地址为Dn,出接口为路由器A上路由器A与路由器B之间接口,下一跳为路由器B上路由器B与路由器A之间接口的地址),并从主路由备份列表中选择路由N(目的地址为Dn,出接口为路由器A上路由器A与路由器C之间接口,下一跳为路由器C上路由器C与路由器A之间接口的地址)作为该主路由N的备路由;之后执行步骤306。
在步骤306中,路由器A在逻辑拓扑1对应的路由表中记录路由1的目的地址(目的地址为D1)、出接口(路由器A上路由器A与路由器C之间接口)和下一跳(路由器C上路由器C与路由器A之间接口的地址),并设置该路由1为主路由1对应的备路由;以此类推,路由器A在逻辑拓扑1对应的路由表中记录路由N的目的地址(目的地址为Dn)、出接口(路由器A上路由器A与路由器C之间接口)和下一跳(路由器C上路由器C与路由器A之间接口的地址),并设置该路由N为主路由N对应的备路由。
步骤401,网络设备从其它逻辑拓扑中选择未被选择过的SPF节点,并判断本逻辑拓扑中是否存在当前选择的SPF节点;如果是,则执行步骤402;如果否,则执行步骤403。进一步的,如果本网络设备支持逻辑拓扑间插入SPF节点方式(即支持本发明实施例提供的实施方式),则执行逻辑拓扑间插入SPF节点的过程,即本网络设备执行上述步骤401。
步骤402,网络设备将当前选择的SPF节点以及当前选择的SPF节点在该其它逻辑拓扑中对应的出接口和下一跳记录到备份下一跳列表中;之后执行步骤403。其中,备份下一跳列表可以为单独列表或为路由表一部分。
步骤403,网络设备判断该其它逻辑拓扑中是否有未被选择过的SPF节点;如果是,则执行步骤401;如果否,则执行步骤404。
步骤404,网络设备判断是否还有本逻辑拓扑之外的未选择过SPF节点的其它逻辑拓扑;如果是,则执行步骤401;如果否,则执行步骤405。
步骤405,网络设备从本逻辑拓扑中选择未被选择过的SPF节点,并判断备份下一跳列表中是否存在该SPF节点在其它逻辑拓扑中对应的出接口和下一跳;如果是,则执行步骤406;如果否,则执行步骤407。
步骤406,网络设备设置该SPF节点(即当前选择的SPF节点)在本逻辑拓扑中对应的出接口和下一跳为该SPF节点的主出接口和主下一跳,并从备份下一跳列表中选择该SPF节点在其它逻辑拓扑中对应的出接口和下一跳为该SPF节点的备出接口和备下一跳;之后执行步骤407。
本发明实施例的优选实施方式中,网络设备从备份下一跳列表中选择SPF节点在其它逻辑拓扑中对应的出接口和下一跳为SPF节点的备出接口和备下一跳,具体包括:当备份下一跳列表中只有对应于SPF节点的一个出接口和下一跳时,网络设备选择该出接口和下一跳为SPF节点的备出接口和备下一跳;当备份下一跳列表中有对应于SPF节点的多个出接口和下一跳时,网络设备利用各出接口和下一跳分别对应的逻辑拓扑从多个出接口和下一跳中选择一个出接口和下一跳为SPF节点的备出接口和备下一跳(如:当逻辑拓扑1的优先级最高时,网络设备会优先选择逻辑拓扑1对应的出接口和下一跳为SPF节点的备出接口和备下一跳);或者,网络设备利用各出接口的权重情况(即优先级情况)从多个出接口和下一跳中选择一个出接口和下一跳为SPF节点的备出接口和备下一跳(如:当出接口1的优先级最高时,网络设备会优先选择对应于出接口1的出接口和下一跳为SPF节点的备出接口和备下一跳);或者,网络设备利用各下一跳的权重情况(即优先级情况)从多个出接口和下一跳中选择一个出接口和下一跳为SPF节点的备出接口和备下一跳(如:当路由器B的优先级最高时,网络设备会优先选择对应于路由器B的出接口和下一跳为SPF节点的备出接口和备下一跳);或者,网络设备利用各出接口和下一跳分别对应的路径开销值从多个出接口和下一跳中选择一个出接口和下一跳为SPF节点的备出接口和备下一跳(如网络设备优先选择路径开销值最小的出接口和下一跳为SPF节点的备出接口和备下一跳)。
步骤407,网络设备判断本逻辑拓扑中是否有未被选择过的SPF节点;如果是,则执行步骤405;如果否,则执行步骤408。
步骤408,网络设备在生成本逻辑拓扑对应的路由表时,重新从本逻辑拓扑中选择未被选择过的SPF节点,并判断该SPF节点是否对应有备出接口和备下一跳;如果是,则执行步骤409,如果否,则执行步骤410。
步骤409,网络设备利用该SPF节点发布的所有目的地址的路由生成本逻辑拓扑对应的路由表;每个目的地址与主出接口和主下一跳组成的路由为本逻辑拓扑对应的路由表中的主路由,每个目的地址与备出接口和备下一跳组成的路由为本逻辑拓扑对应的路由表中的备路由;之后执行步骤411。
步骤410,网络设备利用SPF节点发布的所有目的地址的路由生成本逻辑拓扑对应的路由表;每个目的地址与SPF节点在逻辑拓扑中对应的出接口和下一跳组成的路由为逻辑拓扑对应的路由表中的路由;之后执行步骤411。
步骤411,网络设备判断本逻辑拓扑中是否有未被选择过的SPF节点;如果是,则执行步骤408;如果否,则路由表生成过程结束。
在图1所示的应用场景下,假设网络设备为路由器A,本逻辑拓扑为逻辑拓扑1,其它逻辑拓扑为逻辑拓扑2,逻辑拓扑1中的SPF节点为路由器A、路由器B和路由器D,逻辑拓扑2中的SPF节点为路由器A、路由器C和路由器D,基于此,则图4所示的处理流程可以具体如下所示。
在步骤401中,路由器A从逻辑拓扑2中选择SPF节点为路由器C,并确定逻辑拓扑1的SPF节点中没有路由器C,执行步骤403。
在步骤403中,路由器A确定逻辑拓扑2中有未被选择过的SPF节点,该未被选择过的SPF节点为路由器D,执行步骤401。
在步骤401中,路由器A从逻辑拓扑2中选择SPF节点为路由器D,并确定逻辑拓扑1的SPF节点中有路由器D,执行步骤402。
在步骤402中,路由器A将当前选择的路由器D以及路由器D在逻辑拓扑2中对应的出接口(出接口为路由器A上路由器A与路由器C之间接口)和下一跳(下一跳为路由器C上路由器C与路由器A之间接口的地址)记录到备份下一跳列表中;之后执行步骤403。在步骤403中,路由器A确定逻辑拓扑2中没有未被选择过的SPF节点,执行步骤404。
在步骤404中,路由器A确定没有逻辑拓扑1之外的未选择过SPF节点的其它逻辑拓扑(即不存在未执行上述流程的逻辑拓扑3等),执行步骤405。
在步骤405中,路由器A从本逻辑拓扑1中选择未被选择过的SPF节点为路由器B,并确定上述备份下一跳列表中不存在该路由器B在其它逻辑拓扑(逻辑拓扑2)中对应的出接口和下一跳,需要执行步骤407。
在步骤407中,路由器A确定逻辑拓扑1中有未被选择过的SPF节点,该未被选择过的SPF节点为路由器D,需要执行步骤405。
在步骤405中,路由器A从本逻辑拓扑1中选择未被选择过的SPF节点为路由器D,并确定备份下一跳列表中存在该路由器D在其它逻辑拓扑(即逻辑拓扑2)中对应的出接口和下一跳;需要执行步骤406。
在步骤406中,路由器A设置该路由器D在本逻辑拓扑1中对应的出接口(出接口为路由器A上路由器A与路由器B之间接口)和下一跳(下一跳为路由器B上路由器B与路由器A之间接口的地址)为该路由器D对应的主出接口和主下一跳,并从备份下一跳列表中选择该路由器D在其它逻辑拓扑(逻辑拓扑2)中对应的出接口(出接口为路由器A上路由器A与路由器C之间接口)和下一跳(下一跳为路由器C上路由器C与路由器A之间接口的地址)为该路由器D对应的备出接口和备下一跳;之后执行步骤407。
在步骤407中,路由器A确定逻辑拓扑1中没有未被选择过的SPF节点(即所有SPF节点均执行过上述流程),需要执行步骤408。
在步骤408中,路由器A在生成本逻辑拓扑1对应的路由表时,需要重新从本逻辑拓扑1中选择未被选择过的SPF节点为路由器B,并确定该路由器B没有备出接口和备下一跳;需要执行步骤410。
步骤410的处理为现有技术,在此不再赘述;步骤410之后执行步骤411。
在步骤411中,路由器A确定逻辑拓扑1中有未被选择过的SPF节点,该未被选择过的SPF节点为路由器D,需要继续执行步骤408。
在步骤408中,路由器A在生成本逻辑拓扑1对应的路由表时,需要重新从本逻辑拓扑1中选择未被选择过的SPF节点为路由器D,并确定该路由器D有备出接口和备下一跳;需要执行步骤409。
在步骤409中,路由器A利用该路由器D发布的所有目的地址的路由生成本逻辑拓扑1对应的路由表;其中,在生成本逻辑拓扑1对应的路由表时,每个目的地址与主出接口(出接口为路由器A上路由器A与路由器B之间接口)和主下一跳(下一跳为路由器B上路由器B与路由器A之间接口的地址)组成的路由为本逻辑拓扑1对应的路由表中的主路由,每个目的地址与备出接口(出接口为路由器A上路由器A与路由器C之间接口)和备下一跳(下一跳为路由器C上路由器C与路由器A之间接口的地址)组成的路由为本逻辑拓扑1对应的路由表中的备路由;之后执行步骤411。
具体的,对于路由器D发布的目的地址D1,主路由为目的地址为D1,出接口为路由器A上路由器A与路由器B之间接口,下一跳为路由器B上路由器B与路由器A之间接口的地址,备路由为目的地址为D1,出接口为路由器A上路由器A与路由器C之间接口,下一跳为路由器C上路由器C与路由器A之间接口的地址;以此类推,对于路由器D发布的目的地址Dn,主路由为目的地址为Dn,出接口为路由器A上路由器A与路由器B之间接口,下一跳为路由器B上路由器B与路由器A之间接口的地址,备路由为目的地址为Dn,出接口为路由器A上路由器A与路由器C之间接口,下一跳为路由器C上路由器C与路由器A之间接口的地址。
在步骤411中,路由器A确定逻辑拓扑1中没有未被选择过的SPF节点(即所有SPF节点均执行过上述流程),路由表生成过程结束。
本发明的上述实施例中,可以通过策略控制逻辑拓扑间插入的路由或者SPF节点;例如,在BGP网络下,可以只需要插入邻居需要迭代依赖的路由。
本发明的上述实施例中,可以应用在三层MTR路由上,也适用于二层的MTR路由,如:IS-IS在二层上的应用,通过SPB(Shortest Path Bridging,最短路径桥接)或TRILL(Transparent Interconnection of Lots of Links,多链接半透明互联)协议来发布MAC(Media Access Control,介质访问控制)地址,计算二层的转发表(即MAC表),以实现二层MAC表的逻辑多拓扑相互备份,并实现MAC地址的主备路径。此外,IS-IS的三层MTR技术也适用于SPB或TRILL中实现MTR技术。
基于与上述方法同样的发明构思,本发明实施例中还提供了一种基于多拓扑路由MTR的数据传输设备,作为网络设备应用于包括多个逻辑拓扑的网络中,如图5所示,所述网络设备具体包括:
生成模块11,用于生成逻辑拓扑对应的包括主路由和备路由的路由表;其中,所述主路由为所述逻辑拓扑内的路由,所述备路由为其它逻辑拓扑内的路由,且所述主路由和所述备路由对应有相同的目的地址,且所述主路由和所述备路由对应有不同的出接口和下一跳;
发送模块12,用于在通过所述逻辑拓扑发送数据时,利用所述数据的目的地址在所述逻辑拓扑对应的路由表中进行路由匹配;如果匹配到的主路由的路径没有发生故障,则通过匹配到的主路由发送数据;如果匹配到的主路由的路径发生故障,则通过路由表中匹配到的主路由对应的备路由发送数据。
所述生成模块11,具体用于通过如下步骤生成所述逻辑拓扑对应的包括主路由和备路由的路由表:
步骤A1、从其它逻辑拓扑对应的路由表中选择未被选择过的路由,并判断所述逻辑拓扑对应的路由表中是否存在当前选择路由的目的地址;如果是,则执行步骤B1;如果否,则执行步骤C1;
步骤B1、将所述逻辑拓扑对应的路由表中与所述当前选择路由具有相同目的地址的路由设置为主路由,并将所述当前选择路由记录到主路由备份列表中;之后执行步骤C1;
步骤C1、判断所述其它逻辑拓扑对应的路由表中是否有未被选择过的路由;如果是,则执行步骤A1;如果否,则执行步骤D1;
步骤D1、判断是否还有所述逻辑拓扑之外的未选择过路由的其它逻辑拓扑;如果是,则执行步骤A1;如果否,则执行步骤E1;
步骤E1、从所述逻辑拓扑对应的路由表中选择主路由,从所述主路由备份列表中选择路由作为所述主路由的备路由;之后执行步骤F1;
步骤F1、在所述逻辑拓扑对应的路由表中记录所述备路由的目的地址、出接口和下一跳,设置所述备路由为所述主路由对应的备路由。
所述生成模块11,进一步用于在从所述主路由备份列表中选择路由作为所述主路由的备路由时,当所述主路由备份列表中有对应于所述主路由的多个路由时,利用所述多个路由分别对应的逻辑拓扑从所述多个路由中选择一个路由作为所述主路由的备路由;或者,利用所述多个路由分别对应的出接口从所述多个路由中选择一个路由作为所述主路由的备路由;或者,利用所述多个路由分别对应的下一跳从所述多个路由中选择一个路由作为所述主路由的备路由;或者,利用所述多个路由分别对应的路径开销值从所述多个路由中选择一个路由作为所述主路由的备路由。
所述生成模块11,具体用于通过如下步骤生成所述逻辑拓扑对应的包括主路由和备路由的路由表:
步骤A2、从其它逻辑拓扑中选择未被选择过的最短路径优先SPF节点,并判断所述逻辑拓扑中是否存在当前选择的SPF节点;如果是,则执行步骤B2;如果否,则执行步骤C2;
步骤B2、将所述当前选择的SPF节点以及所述当前选择的SPF节点在所述其它逻辑拓扑中对应的出接口和下一跳记录到备份下一跳列表中;之后执行步骤C2;
步骤C2、判断所述其它逻辑拓扑中是否有未被选择过的SPF节点;如果是,则执行步骤A2;如果否,则执行步骤D2;
步骤D2、判断是否还有所述逻辑拓扑之外的未选择过SPF节点的其它逻辑拓扑;如果是,则执行步骤A2;如果否,则执行步骤E2;
步骤E2、从所述逻辑拓扑中选择未被选择过的SPF节点,并判断所述备份下一跳列表中是否存在所述SPF节点在其它逻辑拓扑中对应的出接口和下一跳;如果是,则执行步骤F2;如果否,则执行步骤G2;
步骤F2、设置所述SPF节点在所述逻辑拓扑中对应的出接口和下一跳为所述SPF节点的主出接口和主下一跳,并从所述备份下一跳列表中选择所述SPF节点在其它逻辑拓扑中对应的出接口和下一跳为所述SPF节点的备出接口和备下一跳;之后执行步骤G2;
步骤G2、判断所述逻辑拓扑中是否有未被选择过的SPF节点;如果是,则执行步骤E2;如果否,则执行步骤H2;
步骤H2、在生成所述逻辑拓扑对应的路由表时,重新从所述逻辑拓扑中选择未被选择过的SPF节点,并判断该SPF节点是否对应有备出接口和备下一跳;如果是,则执行步骤I2,如果否,则执行步骤J2;
步骤I2、利用该SPF节点发布的所有目的地址的路由生成所述逻辑拓扑对应的路由表;其中,每个目的地址与主出接口和主下一跳组成的路由为逻辑拓扑对应的路由表中的主路由,每个目的地址与备出接口和备下一跳组成的路由为逻辑拓扑对应的路由表中的备路由;之后执行步骤K2;
步骤J2、利用该SPF节点发布的所有目的地址的路由生成所述逻辑拓扑对应的路由表;每个目的地址与该SPF节点在所述逻辑拓扑中对应的出接口和下一跳组成的路由为逻辑拓扑对应的路由表中的路由;之后执行步骤K2;
步骤K2、判断所述逻辑拓扑中是否有未被选择过的SPF节点;如果是,则执行步骤H2;如果否,则路由表生成过程结束。
所述生成模块11c,进一步用于在从所述备份下一跳列表中选择所述SPF节点在其它逻辑拓扑中对应的出接口和下一跳为所述SPF节点的备出接口和备下一跳时,当所述备份下一跳列表中有对应于所述SPF节点的多个出接口和下一跳时,利用各出接口和下一跳分别对应的逻辑拓扑从所述多个出接口和下一跳中选择一个出接口和下一跳为所述SPF节点的备出接口和备下一跳;或者,利用各出接口的权重情况从所述多个出接口和下一跳中选择一个出接口和下一跳为所述SPF节点的备出接口和备下一跳;或者,利用各下一跳的权重情况从所述多个出接口和下一跳中选择一个出接口和下一跳为所述SPF节点的备出接口和备下一跳;或者,利用各出接口和下一跳分别对应的路径开销值从所述多个出接口和下一跳中选择一个出接口和下一跳为所述SPF节点的备出接口和备下一跳。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

Claims (6)

1.一种基于多拓扑路由MTR的数据传输方法,该方法应用于包括多个逻辑拓扑的网络中,其特征在于,该方法包括以下步骤:
网络设备生成逻辑拓扑对应的包括主路由和备路由的路由表,所述主路由为所述逻辑拓扑内的路由,所述备路由为其它逻辑拓扑内的路由,所述主路由和所述备路由对应有相同的目的地址,并对应有不同的出接口和下一跳;
所述网络设备在通过所述逻辑拓扑发送数据时,利用所述数据的目的地址在所述逻辑拓扑对应的路由表中进行路由匹配;如果匹配到的主路由的路径没有发生故障,则通过匹配到的主路由发送数据;如果匹配到的主路由的路径发生故障,则通过路由表中匹配到的主路由对应的备路由发送数据;
其中,所述生成逻辑拓扑对应的包括主路由和备路由的路由表的方式具体为:
以在所述逻辑拓扑间插入路由的方式生成逻辑拓扑对应的包括主路由和备路由的路由表,适用于所有单播路由协议,其中,所述插入路由的方式为通过复制机制将具有相同目的地址的路由复制到主路由备份列表中,具体为:
步骤A1、所述网络设备从其它逻辑拓扑对应的路由表中选择未被选择过的路由,并判断所述逻辑拓扑对应的路由表中是否存在当前选择路由的目的地址;如果是,则执行步骤B1;如果否,则执行步骤C1;
步骤B1、所述网络设备将所述逻辑拓扑对应的路由表中与所述当前选择路由具有相同目的地址的路由设置为主路由,并将所述当前选择路由记录到主路由备份列表中;之后执行步骤C1;
步骤C1、所述网络设备判断所述其它逻辑拓扑对应的路由表中是否有未被选择过的路由;如果是,则执行步骤A1;如果否,则执行步骤D1;
步骤D1、所述网络设备判断是否还有所述逻辑拓扑之外的未选择过路由的其它逻辑拓扑;如果是,则执行步骤A1;如果否,则执行步骤E1;
步骤E1、所述网络设备从所述逻辑拓扑对应的路由表中选择主路由,从所述主路由备份列表中选择路由作为所述主路由的备路由;之后执行步骤F1;
步骤F1、所述网络设备在所述逻辑拓扑对应的路由表中记录所述备路由的目的地址、出接口和下一跳,设置所述备路由为所述主路由对应的备路由;
或,
以在所述逻辑拓扑间插入最短路径优先SPF节点的方式生成逻辑拓扑对应的包括主路由和备路由的路由表,适用于链路状态协议,其中,所述插入最短路径优先SPF节点的方式为通过复制机制将对应的出接口和下一跳复制到备份下一跳列表中;
其中,所述网络设备生成逻辑拓扑对应的包括主路由和备路由的路由表的过程,具体包括:
步骤A2、所述网络设备从其它逻辑拓扑中选择未被选择过的最短路径优先SPF节点,并判断所述逻辑拓扑中是否存在当前选择的SPF节点;如果是,则执行步骤B2;如果否,则执行步骤C2;
步骤B2、所述网络设备将所述当前选择的SPF节点以及所述当前选择的SPF节点在所述其它逻辑拓扑中对应的出接口和下一跳记录到备份下一跳列表中;之后执行步骤C2;
步骤C2、所述网络设备判断所述其它逻辑拓扑中是否有未被选择过的SPF节点;如果是,则执行步骤A2;如果否,则执行步骤D2;
步骤D2、所述网络设备判断是否还有所述逻辑拓扑之外的未选择过SPF节点的其它逻辑拓扑;如果是,则执行步骤A2;如果否,则执行步骤E2;
步骤E2、所述网络设备从所述逻辑拓扑中选择未被选择过的SPF节点,并判断所述备份下一跳列表中是否存在所述SPF节点在其它逻辑拓扑中对应的出接口和下一跳;如果是,则执行步骤F2;如果否,则执行步骤G2;
步骤F2、所述网络设备设置所述SPF节点在所述逻辑拓扑中对应的出接口和下一跳为所述SPF节点的主出接口和主下一跳,并从所述备份下一跳列表中选择所述SPF节点在其它逻辑拓扑中对应的出接口和下一跳为所述SPF节点的备出接口和备下一跳;之后执行步骤G2;
步骤G2、所述网络设备判断所述逻辑拓扑中是否有未被选择过的SPF节点;如果是,则执行步骤E2;如果否,则执行步骤H2;
步骤H2、所述网络设备在生成所述逻辑拓扑对应的路由表时,重新从所述逻辑拓扑中选择未被选择过的SPF节点,并判断该SPF节点是否对应有备出接口和备下一跳;如果是,则执行步骤I2,如果否,则执行步骤J2;
步骤I2、所述网络设备利用该SPF节点发布的所有目的地址的路由生成所述逻辑拓扑对应的路由表;其中,每个目的地址与主出接口和主下一跳组成的路由为逻辑拓扑对应的路由表中的主路由,每个目的地址与备出接口和备下一跳组成的路由为逻辑拓扑对应的路由表中的备路由;之后执行步骤K2;
步骤J2、所述网络设备利用该SPF节点发布的所有目的地址的路由生成所述逻辑拓扑对应的路由表;其中,每个目的地址与该SPF节点在所述逻辑拓扑中对应的出接口和下一跳组成的路由为逻辑拓扑对应的路由表中的路由;之后执行步骤K2;
步骤K2、所述网络设备判断所述逻辑拓扑中是否有未被选择过的SPF节点;如果是,则执行步骤H2;如果否,则路由表生成过程结束。
2.如权利要求1所述的方法,其特征在于,所述网络设备从所述主路由备份列表中选择路由作为所述主路由的备路由,具体包括:
当所述主路由备份列表中有对应于所述主路由的多个路由时,所述网络设备利用所述多个路由分别对应的逻辑拓扑从所述多个路由中选择一个路由作为所述主路由的备路由;或,所述网络设备利用所述多个路由分别对应的出接口从所述多个路由中选择一个路由作为所述主路由的备路由;或,所述网络设备利用所述多个路由分别对应的下一跳从所述多个路由中选择一个路由作为所述主路由的备路由;或,所述网络设备利用所述多个路由分别对应的路径开销值从所述多个路由中选择一个路由作为所述主路由的备路由。
3.如权利要求1所述的方法,其特征在于,所述网络设备从所述备份下一跳列表中选择所述SPF节点在其它逻辑拓扑中对应的出接口和下一跳为所述SPF节点的备出接口和备下一跳,具体包括:
当所述备份下一跳列表中有对应于所述SPF节点的多个出接口和下一跳时,所述网络设备利用各出接口和下一跳分别对应的逻辑拓扑从所述多个出接口和下一跳中选择一个出接口和下一跳为所述SPF节点的备出接口和备下一跳;或,所述网络设备利用各出接口的权重情况从所述多个出接口和下一跳中选择一个出接口和下一跳为所述SPF节点的备出接口和备下一跳;或,所述网络设备利用各下一跳的权重情况从所述多个出接口和下一跳中选择一个出接口和下一跳为所述SPF节点的备出接口和备下一跳;或,所述网络设备利用各出接口和下一跳分别对应的路径开销值从所述多个出接口和下一跳中选择一个出接口和下一跳为所述SPF节点的备出接口和备下一跳。
4.一种基于多拓扑路由MTR的数据传输设备,作为网络设备应用于包括多个逻辑拓扑的网络中,其特征在于,所述网络设备具体包括:
生成模块,用于生成逻辑拓扑对应的包括主路由和备路由的路由表;其中,所述主路由为所述逻辑拓扑内的路由,所述备路由为其它逻辑拓扑内的路由,且所述主路由和所述备路由对应有相同的目的地址,且所述主路由和所述备路由对应有不同的出接口和下一跳;
发送模块,用于在通过所述逻辑拓扑发送数据时,利用所述数据的目的地址在所述逻辑拓扑对应的路由表中进行路由匹配;如果匹配到的主路由的路径没有发生故障,则通过匹配到的主路由发送数据;如果匹配到的主路由的路径发生故障,则通过路由表中匹配到的主路由对应的备路由发送数据;
其中,所述生成逻辑拓扑对应的包括主路由和备路由的路由表的方式具体为:
以在所述逻辑拓扑间插入路由的方式生成逻辑拓扑对应的包括主路由和备路由的路由表,适用于所有单播路由协议,其中,所述插入路由的方式为通过复制机制将具有相同目的地址的路由复制到主路由备份列表中,具体为:
步骤A1、从其它逻辑拓扑对应的路由表中选择未被选择过的路由,并判断所述逻辑拓扑对应的路由表中是否存在当前选择路由的目的地址;如果是,则执行步骤B1;如果否,则执行步骤C1;
步骤B1、将所述逻辑拓扑对应的路由表中与所述当前选择路由具有相同目的地址的路由设置为主路由,并将所述当前选择路由记录到主路由备份列表中;之后执行步骤C1;
步骤C1、判断所述其它逻辑拓扑对应的路由表中是否有未被选择过的路由;如果是,则执行步骤A1;如果否,则执行步骤D1;
步骤D1、判断是否还有所述逻辑拓扑之外的未选择过路由的其它逻辑拓扑;如果是,则执行步骤A1;如果否,则执行步骤E1;
步骤E1、从所述逻辑拓扑对应的路由表中选择主路由,从所述主路由备份列表中选择路由作为所述主路由的备路由;之后执行步骤F1;
步骤F1、在所述逻辑拓扑对应的路由表中记录所述备路由的目的地址、出接口和下一跳,设置所述备路由为所述主路由对应的备路由;
或,
以在所述逻辑拓扑间插入最短路径优先SPF节点的方式生成逻辑拓扑对应的包括主路由和备路由的路由表,适用于链路状态协议,其中,所述插入最短路径优先SPF节点的方式为通过复制机制将对应的出接口和下一跳复制到备份下一跳列表中;
其中,所述生成模块,具体用于通过如下步骤生成所述逻辑拓扑对应的包括主路由和备路由的路由表:
步骤A2、从其它逻辑拓扑中选择未被选择过的最短路径优先SPF节点,并判断所述逻辑拓扑中是否存在当前选择的SPF节点;如果是,则执行步骤B2;如果否,则执行步骤C2;
步骤B2、将所述当前选择的SPF节点以及所述当前选择的SPF节点在所述其它逻辑拓扑中对应的出接口和下一跳记录到备份下一跳列表中;之后执行步骤C2;
步骤C2、判断所述其它逻辑拓扑中是否有未被选择过的SPF节点;如果是,则执行步骤A2;如果否,则执行步骤D2;
步骤D2、判断是否还有所述逻辑拓扑之外的未选择过SPF节点的其它逻辑拓扑;如果是,则执行步骤A2;如果否,则执行步骤E2;
步骤E2、从所述逻辑拓扑中选择未被选择过的SPF节点,并判断所述备份下一跳列表中是否存在所述SPF节点在其它逻辑拓扑中对应的出接口和下一跳;如果是,则执行步骤F2;如果否,则执行步骤G2;
步骤F2、设置所述SPF节点在所述逻辑拓扑中对应的出接口和下一跳为所述SPF节点的主出接口和主下一跳,并从所述备份下一跳列表中选择所述SPF节点在其它逻辑拓扑中对应的出接口和下一跳为所述SPF节点的备出接口和备下一跳;之后执行步骤G2;
步骤G2、判断所述逻辑拓扑中是否有未被选择过的SPF节点;如果是,则执行步骤E2;如果否,则执行步骤H2;
步骤H2、在生成所述逻辑拓扑对应的路由表时,重新从所述逻辑拓扑中选择未被选择过的SPF节点,并判断该SPF节点是否对应有备出接口和备下一跳;如果是,则执行步骤I2,如果否,则执行步骤J2;
步骤I2、利用该SPF节点发布的所有目的地址的路由生成所述逻辑拓扑对应的路由表;其中,每个目的地址与主出接口和主下一跳组成的路由为逻辑拓扑对应的路由表中的主路由,每个目的地址与备出接口和备下一跳组成的路由为逻辑拓扑对应的路由表中的备路由;之后执行步骤K2;
步骤J2、利用该SPF节点发布的所有目的地址的路由生成所述逻辑拓扑对应的路由表;每个目的地址与该SPF节点在所述逻辑拓扑中对应的出接口和下一跳组成的路由为逻辑拓扑对应的路由表中的路由;之后执行步骤K2;
步骤K2、判断所述逻辑拓扑中是否有未被选择过的SPF节点;如果是,则执行步骤H2;如果否,则路由表生成过程结束。
5.如权利要求4所述的设备,其特征在于,
所述生成模块,进一步用于在从所述主路由备份列表中选择路由作为所述主路由的备路由时,当所述主路由备份列表中有对应于所述主路由的多个路由时,利用所述多个路由分别对应的逻辑拓扑从所述多个路由中选择一个路由作为所述主路由的备路由;或者,利用所述多个路由分别对应的出接口从所述多个路由中选择一个路由作为所述主路由的备路由;或者,利用所述多个路由分别对应的下一跳从所述多个路由中选择一个路由作为所述主路由的备路由;或者,利用所述多个路由分别对应的路径开销值从所述多个路由中选择一个路由作为所述主路由的备路由。
6.如权利要求4所述的设备,其特征在于,
所述生成模块,进一步用于在从所述备份下一跳列表中选择所述SPF节点在其它逻辑拓扑中对应的出接口和下一跳为所述SPF节点的备出接口和备下一跳时,当所述备份下一跳列表中有对应于所述SPF节点的多个出接口和下一跳时,利用各出接口和下一跳分别对应的逻辑拓扑从所述多个出接口和下一跳中选择一个出接口和下一跳为所述SPF节点的备出接口和备下一跳;或者,利用各出接口的权重情况从所述多个出接口和下一跳中选择一个出接口和下一跳为所述SPF节点的备出接口和备下一跳;或者,利用各下一跳的权重情况从所述多个出接口和下一跳中选择一个出接口和下一跳为所述SPF节点的备出接口和备下一跳;或者,利用各出接口和下一跳分别对应的路径开销值从所述多个出接口和下一跳中选择一个出接口和下一跳为所述SPF节点的备出接口和备下一跳。
CN201310215110.5A 2013-05-31 2013-05-31 一种基于mtr的数据传输方法和设备 Active CN103259720B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310215110.5A CN103259720B (zh) 2013-05-31 2013-05-31 一种基于mtr的数据传输方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310215110.5A CN103259720B (zh) 2013-05-31 2013-05-31 一种基于mtr的数据传输方法和设备

Publications (2)

Publication Number Publication Date
CN103259720A CN103259720A (zh) 2013-08-21
CN103259720B true CN103259720B (zh) 2017-06-27

Family

ID=48963431

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310215110.5A Active CN103259720B (zh) 2013-05-31 2013-05-31 一种基于mtr的数据传输方法和设备

Country Status (1)

Country Link
CN (1) CN103259720B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105337864B (zh) * 2014-07-22 2019-03-29 新华三技术有限公司 报文转发方法及装置
CN105991425B (zh) * 2015-02-12 2020-04-10 中兴通讯股份有限公司 路由配置方法和系统
CN107979501A (zh) * 2016-10-21 2018-05-01 华为数字技术(苏州)有限公司 一种bfd会话协商的方法、装置及系统
CN107547391B (zh) * 2017-06-08 2020-01-03 新华三技术有限公司 一种报文传输方法和装置
CN109787839A (zh) * 2019-02-28 2019-05-21 新华三技术有限公司 一种报文转发方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102395172A (zh) * 2011-11-16 2012-03-28 武汉大学 一种工业无线网状网络的数据传输方法
CN102404189A (zh) * 2010-09-15 2012-04-04 杭州华三通信技术有限公司 支持多拓扑路由的设备进行主备倒换的方法及主控板
CN102437955A (zh) * 2011-12-16 2012-05-02 杭州华三通信技术有限公司 一种lsp保护方法和设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8374092B2 (en) * 2006-08-28 2013-02-12 Cisco Technology, Inc. Technique for protecting against failure of a network element using multi-topology repair routing (MTRR)

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102404189A (zh) * 2010-09-15 2012-04-04 杭州华三通信技术有限公司 支持多拓扑路由的设备进行主备倒换的方法及主控板
CN102395172A (zh) * 2011-11-16 2012-03-28 武汉大学 一种工业无线网状网络的数据传输方法
CN102437955A (zh) * 2011-12-16 2012-05-02 杭州华三通信技术有限公司 一种lsp保护方法和设备

Also Published As

Publication number Publication date
CN103259720A (zh) 2013-08-21

Similar Documents

Publication Publication Date Title
US9929938B2 (en) Hierarchal label distribution and route installation in a loop-free routing topology using routing arcs at multiple hierarchal levels for ring topologies
US8064467B2 (en) Systems and methods for network routing in a multiple backbone network architecture
CN103259720B (zh) 一种基于mtr的数据传输方法和设备
CN102150148A (zh) 层2拓扑中针对单播帧和多播帧的差别化服务
CN107547370A (zh) 流量转发方法、装置及系统
CN104380671B (zh) 在分级、冗余、多播路由选择中增加失效覆盖
WO2013169949A1 (en) System and method for routing traffic between distinct infiniband subnets based on fat-tree routing
CN103685035B (zh) 路由更新方法、交换机及系统
CN110650094B (zh) 一种发送报文的方法、设备和系统
CN106105162A (zh) 基于交换机的负载均衡器
US20180227218A1 (en) Generating non-congruent paths having minimal latency difference in a loop-free routing topology having routing arcs
CN105323167A (zh) 多协议标签切换环
CN111147372B (zh) 下行报文发送、转发方法和装置
JPWO2012141241A1 (ja) ネットワーク、データ転送ノード、通信方法およびプログラム
KR20090110916A (ko) 링크 상태 광고(lsa)에 기반한 신장 트리를 계산하는 방법, 브릿지 및 컴퓨터 네트워크
CN102447639A (zh) 一种策略路由方法及装置
CN105637807A (zh) 转发报文的方法、控制器、转发设备和网络系统
CN111698152A (zh) 一种故障保护方法、节点及存储介质
CN101330411B (zh) 一种模拟大规模网络拓扑的方法和系统
CN105763439B (zh) 一种多链接透明互联网络中数据中心的互联方法及装置
CN103078796A (zh) 一种路由计算方法和设备
CN105227458B (zh) Trill isis的路由计算方法及装置
WO2016123904A1 (zh) 路由收敛方法、装置及虚拟专用网vpn系统
CN103179032B (zh) 一种路由备份方法及装置
CN103220217B (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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.