CN108429677B - 路由配置方法、装置和实现装置 - Google Patents
路由配置方法、装置和实现装置 Download PDFInfo
- Publication number
- CN108429677B CN108429677B CN201810160322.0A CN201810160322A CN108429677B CN 108429677 B CN108429677 B CN 108429677B CN 201810160322 A CN201810160322 A CN 201810160322A CN 108429677 B CN108429677 B CN 108429677B
- Authority
- CN
- China
- Prior art keywords
- next hop
- equivalent
- actual
- current route
- 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.)
- Active
Links
Images
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/24—Multipath
-
- 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/24—Multipath
- H04L45/245—Link aggregation, e.g. trunking
-
- 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/38—Flow based routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供了一种路由配置方法、装置和实现装置,涉及通信技术领域,本公开实施例提供的路由配置方法、装置和实现装置,将当前路由的所有实际下一跳组成一个下一跳组,配置当前路由的等价下一跳包括多个下一跳组,从而使在传输数据时,所有实际下一跳对应的链路在理论上分担相同的流量,降低了链路间的分担误差。并且,等价下一跳的条数小于或等于最大等价下一跳数,保证在尽量充分利用网络设备的处理能力的同时,有利于实现链路间的负载均衡。
Description
技术领域
本公开涉及通信技术领域,尤其是涉及一种路由配置方法、装置和实现装置。
背景技术
在通信网络中,由于网络节点之间的拓扑关系比较复杂,经常会出现可以通过多条链路到达同一目的地址的情况,并且多条链路相互之间是对等的,形成等价链路。因此,发往该目的地址的数据可以通过多条等价链路实现负载分担。当其中某些链路出现故障时,可以由其它路径替代,完成数据的转发,实现链路冗余备份功能。
现有技术中,实现负载分担主要是通过在网关节点上配置路由策略,在路由表中,网络节点通常将等价下一跳的条数固定设置为本地网络处理器支持的最大等价下一跳数。例如,从网络节点A至网络节点B存在3条等价的链路,即从网络节点A可以通过3个实际下一跳到达网络节点B,3个实际下一跳分别为11.1.1.2、22.1.1.2和33.1.1.2。网络节点A支持的最大等价下一跳数为10,则网络节点A上配置的路由策略如表1和表2所示。
表1
路由前缀信息 | 等价条数 | VN指针 |
100.0.0.0/8 | 10 | VNa |
其中,指向网络节点B的路由100.0.0.0/8对应的等价下一跳的条数为10,等价下一跳信息如表2所示,VN(Virtual Next-hop,虚拟下一跳)指针指向等价下一跳表VNa,即表2所示的等价下一跳。
表2
11.1.1.2 |
22.1.1.2 |
33.1.1.2 |
11.1.1.2 |
22.1.1.2 |
33.1.1.2 |
11.1.1.2 |
22.1.1.2 |
33.1.1.2 |
11.1.1.2 |
当网络节点A通过路由100.0.0.0/8向网络节点B发送数据时,依次通过表2中的实际下一跳转发数据。由于网络节点A支持的最大等价下一跳数10与实际下一跳数3不能整除,因此在由网络节点A向网络节点B发送数据时会有较大的链路分担误差。如表2中的实际下一跳11.1.1.2对应的链路每分担4份流量,其余两个实际下一跳对应的链路均分担3份流量,链路间的理论分担误差已达到20%,当4份流量相加的带宽超过实际下一跳11.1.1.2对应的链路的带宽时,会导致该链路上流量拥塞,继而导致大量丢包。在实际应用中,设备支持的最大等价下一跳数一般与设备的硬件能力相关,如果某一路由器支持的最大等价下一跳数为256,而实际下一跳数为15时,链路间的理论分担误差也达到了5.46%。
因此,现有的路由配置策略使等价的各条链路之间存在较大的分担误差,无法达到链路间负载均衡。
发明内容
有鉴于此,本公开的目的在于提供一种路由配置方法、装置和实现装置,以降低等价的各条链路之间的分担误差。
第一方面,本公开提供了一种路由配置方法,包括:
获取当前路由对应的实际下一跳数;所述实际下一跳数为有效实际下一跳的条数;
如果所述实际下一跳数大于1,且所述网络设备支持的最大等价下一跳数与所述实际下一跳数的比值大于或等于2,将所述当前路由的所有实际下一跳组成一个下一跳组;
配置所述当前路由的等价下一跳包括N个所述下一跳组;其中,所述等价下一跳的条数小于或等于所述最大等价下一跳数;N为大于或等于2的整数。
第二方面,本公开还提供了一种路由配置装置,包括:
获取模块,用于获取当前路由对应的实际下一跳数;所述实际下一跳数为有效实际下一跳的条数;
整合模块,用于当所述实际下一跳数大于1,且所述网络设备支持的最大等价下一跳数与所述实际下一跳数的比值大于或等于2时,将所述当前路由的所有实际下一跳组成一个下一跳组;
配置模块,用于配置所述当前路由的等价下一跳包括N个所述下一跳组;其中,所述等价下一跳的条数小于或等于所述最大等价下一跳数;N为大于或等于2的整数。
第三方面,本公开还提供了一种路由配置的实现装置,所述装置包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现上述方法。
第四方面,本公开实施例还提供了一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现上述方法。
本公开实施例提供的路由配置方法、装置和实现装置,将当前路由的所有实际下一跳组成一个下一跳组,配置当前路由的等价下一跳包括多个下一跳组,从而使在传输数据时,所有实际下一跳对应的链路在理论上分担相同的流量,降低了链路间的分担误差。并且,等价下一跳的条数小于或等于最大等价下一跳数,保证在尽量充分利用网络设备的处理能力的同时,有利于实现链路间的负载均衡。
本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
附图说明
为了更清楚地说明本公开具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的路由配置方法的应用环境示意图;
图2为本公开实施例提供的第一种路由配置方法的流程图;
图3为本公开实施例提供的第二种路由配置方法的流程图;
图4为本公开实施例提供的第三种路由配置方法的流程图;
图5为本公开实施例提供的一种路由配置信息的示意图;
图6为本公开实施例提供的更新后的路由配置信息的示意图;
图7为本公开实施例提供的一种路由配置装置的结构示意图;
图8为本公开实施例提供的另一种路由配置装置的结构示意图;
图9为本公开实施例提供的一种路由配置的实现装置的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合附图对本公开的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开下述各实施例均可应用于如图1所示的交互环境中。如图1所示,网络节点A至网络节点B之间存在三条等价链路,即网络节点A—R1—网络节点B、网络节点A—R2—网络节点B、网络节点A—R3—网络节点B。三条等价链路的优先级、跳数等均相同。其中,网络节点A和网络节点B可以是路由器、交换机、中继器、终端设备或服务器。R1、R2、R3是连接在网络节点A和网络节点B之间的中间设备。R1对应的网络地址为11.1.1.2,R2对应的网络地址为22.1.1.2,R3对应的网络地址为33.1.1.2。例如,网络节点A为路由器a,R1为路由器b、R2为路由器c、R3为路由器d,网络节点B为ISP(Internet Service Provider,互联网服务提供商)服务器。ISP服务器能够为用户提供拨号上网、网上浏览、下载文件、收发电子邮件等网络服务,是网络终端用户接入网络的入口和桥梁。
应当理解到,图1所示的网络环境仅是为了举例,网络节点A和网络节点B之间可以存在更多或更少的等价链路。
网络节点A可以通过等价链路中的一条或多条将数据传送至网络节点B,为了使各条等价链路负载均衡,本公开实施例提供了一种路由配置方法、装置和实现装置。
为便于对本实施例进行理解,以下首先对本公开实施例所公开的路由配置方法进行详细介绍。
图2示出了本公开实施例提供的第一种路由配置方法的流程图,该方法可以应用于网络设备,如上述的网络节点A或网络节点B。该网络设备可以是但不限于路由器、交换机、中继器、终端设备或服务器等。如图2所示,该方法包括以下步骤:
步骤S202,获取当前路由对应的实际下一跳数;实际下一跳数为有效实际下一跳的条数。
仍以图1所示的网络环境为例,假设网络节点A中对应网络节点B的路由为100.0.0.0/8,从网络节点A至网络节点B,存在三个实际下一跳11.1.1.2、22.1.1.2和33.1.1.2。则当前路由100.0.0.0/8对应的实际下一跳数为3。
步骤S204,如果实际下一跳数大于1,且网络设备支持的最大等价下一跳数与实际下一跳数的比值大于或等于2,将当前路由的所有实际下一跳组成一个下一跳组。
其中,网络设备支持的最大等价下一跳数取决与网络设备的处理器的处理能力。如果当前路由的实际下一跳为1,即从某一网络节点至另一网络节点只有一条链路或不存在第二条等价链路,则不涉及链路负载均衡问题。如果当前路由的实际下一跳数大于1,而本地网络处理器支持的最大等价下一跳数与实际下一跳数的比值小于2,比如实际下一跳比较多或本地网络处理器的处理能力有限时,使当前路由的等价下一跳为由所有实际下一跳组成的下一跳组即可。
步骤S206,配置当前路由的等价下一跳包括N个下一跳组;其中,等价下一跳的条数小于或等于最大等价下一跳数;N为大于或等于2的整数。
当实际下一跳数大于1,且本地网络处理器支持的最大等价下一跳数与实际下一跳数的比值大于或等于2时,将当前路由的所有实际下一跳组成一个下一跳组,配置当前路由的等价下一跳包括N个下一跳组,且等价下一跳的条数小于或等于最大等价下一跳数。其中,可以将最大等价下一跳数与实际下一跳数的比值的整数部分作为N的取值;配置当前路由的等价下一跳包括N个下一跳组。即等价下一跳的条数为实际下一跳数的整数倍。例如,可以采用以下公式确定当前路由的等价下一跳的条数:等价下一跳的条数=|所述最大等价下一跳数/所述实际下一跳数|×所述实际下一跳数,||为取模运算符。
根据上述公式,当网络设备的处理器支持的最大等价下一跳数与实际下一跳数能够整除时,等价下一跳的条数等于最大等价下一跳数。当网络设备的处理器支持的最大等价下一跳数与实际下一跳数不能整除时,等价下一跳的条数小于最大等价下一跳数。
为了便于理解,仍然假设网络节点A的处理器支持的最大等价下一跳数为10,按照上述公式,可以得到当前路由100.0.0.0/8的等价下一跳的条数为|10/3|×3=9,配置得到的路由策略如表3和表4所示。
表3
路由前缀信息 | 等价条数 | VN指针 |
100.0.0.0/8 | 9 | VNa |
表4
11.1.1.2 |
22.1.1.2 |
33.1.1.2 |
11.1.1.2 |
22.1.1.2 |
33.1.1.2 |
11.1.1.2 |
22.1.1.2 |
33.1.1.2 |
其中,当前路由100.0.0.0/8对应的等价下一跳的条数为9,等价下一跳信息如表4所示,VN指针指向等价下一跳表VNa,即表4所示的等价下一跳。可见,在表4所示的等价下一跳表中,各个实际下一跳出现的次数相同,从而保证了在从网络节点A向网络节点B传输数据时,各条等价链路分担的负载均衡。
当从网络节点A向网络节点B传输数据时,待发送的数据与当前路由匹配,通过当前路由配置的等价下一跳转发待发送的数据,与现有技术相比,优化了收敛时间和分担误差。
本公开实施例提供的路由配置方法,将当前路由的所有实际下一跳组成一个下一跳组,配置当前路由的等价下一跳包括多个下一跳组,从而使在传输数据时,所有实际下一跳对应的链路在理论上分担相同的流量,降低了链路间的分担误差。并且,等价下一跳的条数小于或等于最大等价下一跳数,保证在尽量充分利用网络设备的处理能力的同时,有利于实现链路间的负载均衡。
考虑到在网络使用过程中,可能会出现实际下一跳的数量减少或增加。如由于设备老化等原因,可能会出现链路故障,在当前路由对应的某条链路发生故障时,实际下一跳的数量就会减少;当故障解除或增加新的设备和链路时,实际下一跳的数量就会增加。
当某条链路发生故障时,现有的处理方法是从依然有效的实际下一跳中随机选取一个,替代等价下一跳中失效的实际下一跳,而等价下一跳的条数不变,从而使链路间的负载分担又出现了不均衡。为此,本公开实施例提供了第二种路由配置方法。
图3示出了本公开实施例提供的第二种路由配置方法的流程图,如图3所示,该方法包括以下步骤:
步骤S302,获取当前路由对应的实际下一跳数;实际下一跳数为有效实际下一跳的条数。
步骤S304,如果实际下一跳数大于1,且网络设备支持的最大等价下一跳数与实际下一跳数的比值大于或等于2,将当前路由的所有实际下一跳组成一个下一跳组。
步骤S306,配置当前路由的等价下一跳包括N个下一跳组;其中,所述等价下一跳的条数小于或等于所述最大等价下一跳数;N为大于或等于2的整数。
步骤S308,监测到实际下一跳数发生变化,更新下一跳组和当前路由的等价下一跳。
当监测到有效链路减少或增加时,根据变化后的实际下一跳数,更新下一跳组和当前路由的等价下一跳,以使当前路由更新后的等价下一跳包括M个更新后的下一跳组,且更新后的等价下一跳的条数小于或等于最大等价下一跳数。其中,M为大于或等于2的整数。
仍以网络节点A为例,当实际下一跳33.1.1.2对应的链路发生故障时,实际下一跳数减少为2。此时,根据减少后的实际下一跳组成新的下一跳组,新的下一跳组包括两个实际下一跳信息,11.1.1.2和22.1.1.2。更新等价下一跳的条数为减少后的实际下一跳数2的整数倍。根据上述公式,可以得到新的等价下一跳的条数为|10/2|×2=10。重新申请或重新创建一个新的等价下一跳表VNb,如表6所示,使路由信息中的VN指针指向新的等价下一跳表VNb。更新完成后,可以删除原等价下一跳表VNa。重新配置得到的路由策略如表5和表6所示。
表5
路由前缀信息 | 等价条数 | VN指针 |
100.0.0.0/8 | 10 | VNb |
表6
11.1.1.2 |
22.1.1.2 |
11.1.1.2 |
22.1.1.2 |
11.1.1.2 |
22.1.1.2 |
11.1.1.2 |
22.1.1.2 |
11.1.1.2 |
22.1.1.2 |
如果网络节点A和网络节点B之间增加了新的等价链路,假设新链路对应的实际下一跳为44.1.1.2,实际下一跳增加为4。此时,根据增加后的实际下一跳组成新的下一跳组,新的下一跳组包括四个实际下一跳信息,11.1.1.2、22.1.1.2、33.1.1.2和44.1.1.2。更新等价下一跳的条数为增加后的实际下一跳数4的整数倍。根据上述公式,可以得到新的等价下一跳的条数为|10/4|×4=8。重新申请或重新创建一个新的等价下一跳表VNc,如表8所示,使路由信息中的VN指针指向新的等价下一跳表VNc。更新完成后,可以删除原等价下一跳表VNa。重新配置得到的路由策略如表7和表8所示。
表7
路由前缀信息 | 等价条数 | VN指针 |
100.0.0.0/8 | 8 | VNc |
表8
11.1.1.2 |
22.1.1.2 |
33.1.1.2 |
44.1.1.2 |
11.1.1.2 |
22.1.1.2 |
33.1.1.2 |
44.1.1.2 |
可见,当实际下一跳数发生变化时,在表6和表8所示的重新配置的等价下一跳表中,各个有效的实际下一跳出现的次数相同,从而保证了在传输数据时,各条有效的等价链路分担的负载均衡。
本公开实施例提供的路由配置方法,当实际下一跳的条数发生变化时,会重新配置当前路由的等价下一跳,使变化后的每个实际下一跳在重新配置后的等价下一跳中出现的次数相同,从而保证了在等价链路发生变化时,仍使有效的所有实际下一跳对应的链路在理论上分担相同的流量,从而降低链路间的分担误差,有利于实现链路间的负载均衡。
考虑到在实际网络应用中,当前路由100.0.0.0/8可能还存在等价路由,例如,网络节点B为网络节点A开放了三个端口,分别对应路由100.0.0.0/8、101.0.0.0/8和102.0.0.0/8。101.0.0.0/8和102.0.0.0/8为当前路由100.0.0.0/8的等价路由。为了使数据通过等价路由传输时,各链路间也能实现负载均衡,本公开实施例还提供了第三种路由配置方法。
图4示出了本公开实施例提供的第二种路由配置方法的流程图,如图4所示,该方法包括以下步骤:
步骤S402,获取当前路由对应的实际下一跳数;实际下一跳数为有效实际下一跳的条数。
步骤S404,如果实际下一跳数大于1,且网络设备支持的最大等价下一跳数与实际下一跳数的比值大于或等于2,将当前路由的所有实际下一跳组成一个下一跳组。
步骤S406,配置当前路由的等价下一跳包括多个下一跳组,且等价下一跳的条数小于或等于最大等价下一跳数。
步骤S408,判断当前路由是否存在等价路由;如果是,执行步骤S410,如果否,结束。
步骤S410,为等价路由配置与当前路由相同的等价下一跳和虚拟下一跳指针。
继续上述的例子,从网络节点A至网络节点B存在三个实际下一跳11.1.1.2、22.1.1.2和33.1.1.2,网络节点A支持的最大等价下一跳数为10。当前路由100.0.0.0/8存在另两个等价路由101.0.0.0/8和102.0.0.0/8时,可以按照步骤S206的方法为等价路由101.0.0.0/8和102.0.0.0/8配置与当前路由100.0.0.0/8相同的等价下一跳和虚拟下一跳指针。为了进一步简化程序,节约系统配置资源,也可以直接将等价路由101.0.0.0/8和102.0.0.0/8的虚拟下一跳指针配置为指向等价下一跳表VNa,如图5所示。
如果实际下一跳33.1.1.2对应的链路发生故障,实际下一跳数减少为2时,重新配置当前路由及其等价路由的等价下一跳和虚拟下一跳指针。具体过程可以采用如下步骤:根据减少后的实际下一跳11.1.1.2和22.1.1.2,组成新的下一跳组,依次更新当前路由和各个等价路由的等价下一跳的条数为10。重新申请或创建一个新的等价下一跳表VNb,配置各路由的虚拟下一跳指针指向新的等价下一跳表VNb,如图6所示。
本公开实施例提供的路由配置方法,在确定当前路由存在等价路由时,为等价路由配置与当前路由相同的等价下一跳和虚拟下一跳指针,无需在为每个路由配置等价下一跳时,都重新确定实际下一跳和等价下一跳的条数,节约了大量程序。并且,可以保证数据在通过等价路由传输时,所有实际下一跳对应的链路在理论上分担相同的流量,降低链路间的分担误差,有利于实现链路间的负载均衡。
需要说明的是,上述各个方法实施例均采用递进的方式描述,每个实施例重点说明的是与其他实施例的不同之处,各个实施例之间相同相似的部分未重复描述,可以互相参见。
与上述方法实施例相对应地,本公开实施例还提供了一种路由配置装置。图7示出了本公开实施例提供的一种路由配置装置的结构示意图;如图7所示,该装置包括获取模块71、整合模块72和配置模块73,各个模块的功能如下:
获取模块71,用于获取当前路由对应的实际下一跳数;所述实际下一跳数为有效实际下一跳的条数;
整合模块72,用于当实际下一跳数大于1,且网络设备支持的最大等价下一跳数与实际下一跳数的比值大于或等于2时,将当前路由的所有实际下一跳组成一个下一跳组;
配置模块73,用于配置当前路由的等价下一跳包括N个下一跳组;其中,等价下一跳的条数小于或等于最大等价下一跳数;N为大于或等于2的整数。
其中,配置模块73,还可以用于:将所述最大等价下一跳数与所述实际下一跳数的比值的整数部分作为N的取值;
配置所述当前路由的等价下一跳包括N个所述下一跳组。
如果实际下一跳数发生变化,配置模块73还用于:更新下一跳组和当前路由的等价下一跳,以使当前路由更新后的等价下一跳包括M个更新后的下一跳组,且更新后的等价下一跳的条数小于或等于最大等价下一跳数;M为大于或等于2的整数。
如果所述当前路由存在等价路由,配置模块73还用于:为当前路由和等价路由配置相同的等价下一跳和虚拟下一跳指针,虚拟下一跳指针指向等价下一跳。
在一可选的实施例中,如图8所示,该装置还可以包括:
发送模块81,用于如果待发送的数据与当前路由匹配,通过当前路由配置的等价下一跳转发待发送的数据。
本公开实施例提供的路由配置装置,将当前路由的所有实际下一跳组成一个下一跳组,配置当前路由的等价下一跳包括多个下一跳组,从而使在传输数据时,所有实际下一跳对应的链路在理论上分担相同的流量,降低了链路间的分担误差。并且,等价下一跳的条数小于或等于最大等价下一跳数,保证在尽量充分利用网络设备的处理能力的同时,有利于实现链路间的负载均衡。
在上述实施例的基础上,本公开实施例还提供了一种路由配置的实现装置,该装置可以是路由器、交换机、中继器、终端设备或服务器等网络设备。参见图9所示的一种路由配置的实现装置的结构示意图,该路由配置的实现装置包括处理器900和机器可读存储介质901,机器可读存储介质901存储有能够被处理器900执行的机器可执行指令,处理器900执行机器可执行指令以实现上述各实施例所记载的方法。
进一步,图9所示的路由配置的实现装置还包括总线902和通信接口903,处理器900、通信接口903和机器可读存储介质901通过总线902连接。
其中,机器可读存储介质901可能包含高速随机存取存储器(RAM,Random AccessMemory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。
该实现装置通过至少一个通信接口903(可以是有线或者无线)实现该网元与至少一个其他网元之间的通信连接,比如图1中所示的网络节点A与网元R1、R2和R3的连接,该通信连接可以使用互联网,广域网,本地网,城域网等。
总线902可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器900可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器900中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器900可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processing,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本公开实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于机器可读存储介质901,处理器900读取机器可读存储介质901中的信息,结合其硬件完成前述实施例的方法的步骤。
进一步,本公开实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述各实施例所记载的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本公开实施例所提供的路由配置方法、装置和实现装置,具有相同的技术特征,也能解决相同的技术问题,达到相同的技术效果。
另外,在本公开实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本公开中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种路由配置方法,其特征在于,应用于网络设备,所述方法包括:
获取当前路由对应的实际下一跳数;所述实际下一跳数为有效实际下一跳的条数;
如果所述实际下一跳数大于1,且所述网络设备支持的最大等价下一跳数与所述实际下一跳数的比值大于或等于2,将所述当前路由的所有实际下一跳组成一个下一跳组;
配置所述当前路由的等价下一跳包括N个所述下一跳组;其中,所述等价下一跳的条数小于或等于所述最大等价下一跳数;N为大于或等于2的整数;其中,将所述最大等价下一跳数与所述实际下一跳数的比值的整数部分作为N的取值。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述实际下一跳数发生变化,更新所述下一跳组和所述当前路由的等价下一跳,以使所述当前路由更新后的等价下一跳包括M个更新后的所述下一跳组,且更新后的所述等价下一跳的条数小于或等于所述最大等价下一跳数;M为大于或等于2的整数。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述当前路由存在等价路由,为所述等价路由配置与所述当前路由相同的等价下一跳和虚拟下一跳指针,所述虚拟下一跳指针指向所述等价下一跳。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果待发送的数据与所述当前路由匹配,通过所述当前路由配置的等价下一跳转发所述待发送的数据。
5.一种路由配置装置,其特征在于,应用于网络设备,所述装置包括:
获取模块,用于获取当前路由对应的实际下一跳数;所述实际下一跳数为有效实际下一跳的条数;
整合模块,用于当所述实际下一跳数大于1,且所述网络设备支持的最大等价下一跳数与所述实际下一跳数的比值大于或等于2时,将所述当前路由的所有实际下一跳组成一个下一跳组;
配置模块,用于配置所述当前路由的等价下一跳包括N个所述下一跳组;其中,所述等价下一跳的条数小于或等于所述最大等价下一跳数;N为大于或等于2的整数;其中,将所述最大等价下一跳数与所述实际下一跳数的比值的整数部分作为N的取值。
6.根据权利要求5所述的装置,其特征在于,所述配置模块,还用于:
如果所述实际下一跳数发生变化,更新所述下一跳组和所述当前路由的等价下一跳,以使所述当前路由更新后的等价下一跳包括M个更新后的所述下一跳组,且更新后的所述等价下一跳的条数小于或等于所述最大等价下一跳数;M为大于或等于2的整数。
7.根据权利要求5所述的装置,其特征在于,所述配置模块,还用于:
如果所述当前路由存在等价路由,为所述当前路由和所述等价路由配置相同的等价下一跳和虚拟下一跳指针,所述虚拟下一跳指针指向所述等价下一跳。
8.根据权利要求5所述的装置,其特征在于,所述装置还包括:
发送模块,用于如果待发送的数据与所述当前路由匹配,通过所述当前路由配置的等价下一跳转发所述待发送的数据。
9.一种路由配置的实现装置,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1至4任一项所述的方法。
10.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现权利要求1至4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810160322.0A CN108429677B (zh) | 2018-02-26 | 2018-02-26 | 路由配置方法、装置和实现装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810160322.0A CN108429677B (zh) | 2018-02-26 | 2018-02-26 | 路由配置方法、装置和实现装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108429677A CN108429677A (zh) | 2018-08-21 |
CN108429677B true CN108429677B (zh) | 2021-07-06 |
Family
ID=63157256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810160322.0A Active CN108429677B (zh) | 2018-02-26 | 2018-02-26 | 路由配置方法、装置和实现装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108429677B (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7289500B1 (en) * | 2003-07-17 | 2007-10-30 | Novell, Inc. | Method and system for reliable multicast data transmission |
CN101729391B (zh) * | 2008-10-23 | 2012-09-19 | 华为技术有限公司 | 获取链路汇聚组信息的方法、节点和系统 |
CN103414651B (zh) * | 2013-08-02 | 2016-06-08 | 杭州华三通信技术有限公司 | 一种调整等价路由均衡分担的方法和网络设备 |
CN106506179A (zh) * | 2015-09-06 | 2017-03-15 | 中兴通讯股份有限公司 | 一种配置方法、装置及路由器 |
US9900258B2 (en) * | 2015-09-25 | 2018-02-20 | Fsa Technologies, Inc. | Multi-trunk data flow regulation system and method |
CN107659498B (zh) * | 2017-09-21 | 2020-04-28 | 新华三技术有限公司 | 一种报文转发方法和装置 |
-
2018
- 2018-02-26 CN CN201810160322.0A patent/CN108429677B/zh active Active
Non-Patent Citations (1)
Title |
---|
Next-Hop Selection Algorithm over ECMP;Jaeyoung Kim;Byungjun Ahn;《2006 Asia-Pacific Conference on Communications》;20061211;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108429677A (zh) | 2018-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7471669B1 (en) | Routing of protocol data units within a communication network | |
US10042722B1 (en) | Service-chain fault tolerance in service virtualized environments | |
Detti et al. | Wireless mesh software defined networks (wmSDN) | |
JP3546764B2 (ja) | ネットワークに備えられた負荷分散サーバ及び負荷分散サーバを備えるノード | |
CN106209419B (zh) | 一种选择网络功能进行数据转发的方法及业务功能转发器 | |
CN108989237B (zh) | 数据传输的方法和设备 | |
US20150146531A1 (en) | Adaptive MTU size optimization using IGP | |
CN108616367B (zh) | 故障定位方法和网络设备 | |
US20110129222A1 (en) | System and method for optical bypass routing and switching | |
JPWO2012060403A1 (ja) | 通信システム、制御装置、経路制御方法およびプログラム | |
Robertson et al. | Handling multiple failures in IP networks through localized on-demand link state routing | |
JP5708818B2 (ja) | 通信装置、通信方法及びプログラム | |
CN105282041A (zh) | 基于isis的洪泛方法及装置 | |
Yi et al. | Multipath extension for the optimized link state routing protocol version 2 (OLSRv2) | |
Josbert et al. | Solution for industrial networks: Resilience-based sdn technology | |
Alexandrovich et al. | Proactive backup scheme of routes in distributed computer networks | |
Geng et al. | A hop-by-hop dynamic distributed multipath routing mechanism for link state network | |
CN108429677B (zh) | 路由配置方法、装置和实现装置 | |
US20130250955A1 (en) | Routing a data packet in a communication network | |
Kashanaki et al. | A distributed learning automata based gateway load balancing algorithm in wireless mesh networks | |
WO2012152787A1 (en) | Virtual networks within a physical network | |
US20060176819A1 (en) | Method for operating a network node of a communication network and network node of a communication network | |
JP3722280B2 (ja) | ネットワークのルーティングシステム | |
Kaur et al. | Comparative study of OSPFv 3 IS-IS and OSPFv3_IS-IS protocols using OPNET | |
KR20210033523A (ko) | 디바이스 대 디바이스 상호연결된 로컬 영역 네트워크를 위한 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230607 Address after: 310052 11th Floor, 466 Changhe Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee after: H3C INFORMATION TECHNOLOGY Co.,Ltd. Address before: 310052 Changhe Road, Binjiang District, Hangzhou, Zhejiang Province, No. 466 Patentee before: NEW H3C TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |