CN108259324B - 一种路由管理方法和装置 - Google Patents
一种路由管理方法和装置 Download PDFInfo
- Publication number
- CN108259324B CN108259324B CN201711059644.8A CN201711059644A CN108259324B CN 108259324 B CN108259324 B CN 108259324B CN 201711059644 A CN201711059644 A CN 201711059644A CN 108259324 B CN108259324 B CN 108259324B
- Authority
- CN
- China
- Prior art keywords
- network segment
- route
- router
- network
- segment
- 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
- 238000007726 management method Methods 0.000 title abstract description 14
- 238000000034 method Methods 0.000 claims abstract description 38
- 230000008569 process Effects 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 17
- 238000003860 storage Methods 0.000 description 13
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种路由管理方法和装置,该方法包括:获取待下发至出口路由器的目的网段为第一网段的路由,并从所述出口路由器存在的所有路由中,获取到与所述第一网段对应的第二网段;将所述第二网段拆分成两个子网段;针对每个子网段,若所述出口路由器不存在目的网段为所述子网段的路由,则将所述子网段确定为第三网段;向所述出口路由器通告目的网段为所述第三网段的路由。通过本申请的技术方案,可以解决流量中断问题,不会增加控制器的负担,提高网络可靠性。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种路由管理方法和装置。
背景技术
随着SDN(Software Defined Network,软件定义网络)技术的发展,SDN控制器可以灵活调度报文传输路径,指导报文的转发,从而充分利用带宽资源。
例如,在ISP(Internet Service Provider,互联网服务提供商)网络1内存在网段1.1.4.0/22,与ISP网络1连接的出口路由器1学习到目的网段是1.1.4.0/22的路由A,其出接口为出口路由器1上连接ISP网络1的接口A。在ISP网络2内存在网段1.1.4.0/22,与ISP网络2连接的出口路由器2学习到目的网段是1.1.4.0/22的路由B,其出接口为出口路由器2上连接ISP网络2的接口B。与ISP网络3连接的出口路由器3学习到目的网段是1.1.4.0/22的路由C,其出接口为出口路由器3上连接出口路由器1的接口C。
若SDN控制器需要将从出口路由器1去往网段1.1.4.0/22的报文引流至出口路由器2,从出口路由器2转发到网段1.1.4.0/22,则SDN控制器向出口路由器1发送通告消息,出口路由器1基于通告消息学习到路由D,其目的网段是1.1.4.0/22,出接口为出口路由器1上连接出口路由器2的接口D,且路由D的优先级高于路由A的优先级。这样,出口路由器1接收到与网段1.1.4.0/22匹配的报文后,可以匹配到路由D,并通过接口D将报文发送给出口路由器2。
由于出口路由器1包括目的网段是1.1.4.0/22的路由A和路由D,路由D的优先级高于路由A的优先级,因此路由A失效,向邻居通告撤销目的网段是1.1.4.0/22的路由,从而导致出口路由器3删除路由C。由于出口路由器3不存在目的网段是1.1.4.0/22的路由,导致与网段1.1.4.0/22匹配的报文发送异常。
发明内容
本申请提供一种路由管理方法,应用于控制器,所述方法包括:
获取待下发至出口路由器的目的网段为第一网段的路由,并从所述出口路由器存在的所有路由中,获取到与所述第一网段对应的第二网段;
将所述第二网段拆分成两个子网段;针对每个子网段,若所述出口路由器不存在目的网段为所述子网段的路由,则将所述子网段确定为第三网段;
向所述出口路由器通告目的网段为所述第三网段的路由。
本申请提供一种路由管理装置,应用于控制器,所述装置包括:
获取模块,用于获取待下发至出口路由器的目的网段为第一网段的路由,并从出口路由器存在的所有路由中,获取到与所述第一网段对应的第二网段;
拆分模块,用于将所述第二网段拆分成两个子网段;针对每个子网段,若所述出口路由器不存在目的网段为所述子网段的路由,则将所述子网段确定为第三网段;
发送模块,用于向所述出口路由器通告目的网段为所述第三网段的路由。
基于上述技术方案,本申请实施例中,控制器获取到待下发至出口路由器的目的网段为第一网段的路由后,不是直接向出口路由器通告该路由,而是从出口路由器存在的所有路由中,获取到与第一网段对应的第二网段,将第二网段拆分成两个子网段,当出口路由器不存在目的网段为子网段的路由时,将子网段确定为第三网段,向出口路由器通告目的网段为第三网段的路由。这样,由于出口路由器不存在目的网段为第三网段的路由,不会发送目的网段为第三网段的撤销路由,从而避免与第三网段匹配的报文被丢弃,解决流量中断等问题。控制器不需要下发大量网段,不会增加控制器的负担,提高网络可靠性。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1是本申请一种实施方式中的应用场景示意图;
图2是本申请一种实施方式中的路由管理方法的流程图;
图3A是本申请一种实施方式中的网段拆分的示意图;
图3B是本申请一种实施方式中的路由通告消息的格式示意图;
图4是本申请一种实施方式中的路由管理装置的结构图;
图5是本申请一种实施方式中的控制器的硬件结构图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例中提出一种路由管理方法,可以应用于控制器(如SDN控制器等),参见图1所示,为本实施例的应用场景示意图,在数据中心(Data Center)可以部署多个出口路由器,且出口路由器与ISP网络连接,出口路由器的内网接口连接数据中心内的设备,出口路由器的外网接口连接ISP网络内的设备。
出口路由器可以与ISP网络内的设备建立EBGP(External Border GatewayProtocol,外部边界网关协议)邻居,并通过BGP协议学习ISP网络中的路由。例如,出口路由器102通过BGP协议,从ISP网络112学习到目的网段是1.1.4.0/22的路由,如表1所示。出口路由器103通过BGP协议,从ISP网络113学习到目的网段是1.1.4.0/22的路由,如表2所示。当然,表1、表2只是一个示例,对路由表的内容不做限制。在表1中,IP地址112是ISP网络112内与出口路由器102建立EBGP邻居的设备的IP地址;在表2中,IP地址113是ISP网络113内与出口路由器103建立EBGP邻居的设备的IP地址。
表1
目的网段 | 下一跳 | 出接口 | 优先级 | |
11 | 1.1.4.0/22 | IP地址112 | 接口1022 | 100 |
表2
目的网段 | 下一跳 | 出接口 | 优先级 | |
21 | 1.1.4.0/22 | IP地址113 | 接口1032 | 100 |
出口路由器102、出口路由器103分别将路由通告给路由反射器131,路由反射器131会将接收到的路由,发送给除了路由通告方外的其他BGP邻居。
以路由11的通告为例:出口路由器102向路由反射器131通告路由11,路由反射器131将该路由11通告给出口路由器101和出口路由器103。路由21的通告过程与路由11类似,此处不再赘述。则路由通告之后,各个出口路由器学习到的路由分别如表3(出口路由器101)、表4(出口路由器102)、表5(出口路由器103)所示。需要指出的是,路由通告时不携带出接口信息,出接口信息由出口路由器在学到路由时,根据路由的下一跳计算得到,此处不再赘述。
表3
目的网段 | 下一跳 | 出接口 | 优先级 | |
31 | 1.1.4.0/22 | 出口路由器102的IP地址 | 接口1011 | 100 |
32 | 1.1.4.0/22 | 出口路由器103的IP地址 | 接口1012 | 100 |
表4
目的网段 | 下一跳 | 出接口 | 优先级 | |
11 | 1.1.4.0/22 | IP地址112 | 接口1022 | 100 |
12 | 1.1.4.0/22 | 出口路由器103的IP地址 | 接口1023 | 100 |
表5
目的网段 | 下一跳 | 出接口 | 优先级 | |
21 | 1.1.4.0/22 | IP地址113 | 接口1032 | 100 |
22 | 1.1.4.0/22 | 出口路由器102的IP地址 | 接口1033 | 100 |
各出口路由器在学习到路由后,从多个路由中选取优选路由,并使用优选路由指导报文转发(例如,将优选路由下发至用于指导报文转发的FIB(Forward InformationdataBase,转发信息库)表,而非优选路由不再下发至FIB表)。
例如,出口路由器101从路由31和路由32中选取的优选路由可以是路由31,这样,出口路由器101接收到去往网段1.1.4.0/22的报文时,通过接口1011转发。同理,出口路由器102从路由11和路由12选取的优选路由可以是路由11,出口路由器103从路由21和路由22选取的优选路由是可以路由21。
上述方式是以出口路由器进行路由优选为例,实际应用中,也可以由路由反射器131进行路由优选,将优选后的路由发送给出口路由器,对此不再赘述。
参见图1所示,控制器121可以与每个出口路由器建立BGP邻居/MP-BGP邻居,且控制器121可以通过BMP(BGP Monitoring Protocol,BGP监控协议)收集每个出口路由器的路由,对此路由收集过程不做限制。此外,控制器121还可以控制报文的传输路径,并通过向出口路由器下发高优先级的路由,触发出口路由器调整报文的传输路径。假设控制器121精确调度从出口路由器102去往1.1.4.0/22的流量,通过出口路由器103出局,则控制器121可以分别向出口路由器102和出口路由器103通告相应的路由(该路由被配置有不宣告no-advertise属性,即出口路由器102和出口路由103不会将该路由发送给路由反射器131),且指示该路由的优先级为最高,如最高的优先级200。
控制器121向出口路由器102通告路由后,出口路由器102的路由表如表6所示,由于路由13具有最高优先级,因此出口路由器102从路由11、路由12和路由13中选取的优选路由是路由13。控制器121向出口路由103通告路由后,出口路由器103的路由表如表7所示,出口路由103选取的优选路由是路由23。
表6
表7
目的网段 | 下一跳 | 出接口 | 优先级 | |
21 | 1.1.4.0/22 | IP地址113 | 接口1032 | 100 |
22 | 1.1.4.0/22 | 出口路由器102的IP地址 | 接口1033 | 100 |
23 | 1.1.4.0/22 | IP地址113 | 接口1032 | 200 |
对于出口路由器102,基于表4,选取的优选路由是路由11,基于表6,选取的优选路由是路由13,即出口路由器102之前选取的优选路由11失效(例如,将新的优选路由13下发至FIB表,并从FIB表中删除之前的路由11),由于出口路由器102向路由反射器131通告过路由11,因此,出口路由器102可以向路由反射器131通告本地的路由11失效,出口路由101可以从路由反射器131接收到路由11失效的信息,相应的,出口路由器101会将本地的路由31删除。
对于出口路由器103,基于表5,选取的优选路由是路由21,基于表7,选取的优选路由是路由23,即出口路由器103之前选取的优选路由21失效,由于出口路由器103向路由反射器131通告过路由32,因此,出口路由器103可以向路由反射器131通告本地的路由21失效,出口路由101可以从路由反射器131接收到路由21失效的信息,相应的,出口路由器101会将本地的路由32删除。
此时,在出口路由器101上不存在去往网段1.1.4.0/22的有效路由,从而导致从出口路由器101去往网段1.1.4.0/22的流量发生断流。
针对上述发现,本申请实施例提出的路由管理方法,为了控制从出口路由器102去往网段1.1.4.0/22的流量,经过出口路由器103出局,则控制器121可以将网段1.1.4.0/22拆分成1.1.4.0/23和1.1.6.0/23。其中,网段1.1.4.0/22对应IP地址范围1.1.4.0-1.1.7.255,网段1.1.4.0/23对应IP地址范围1.1.4.0-1.1.5.255,网段1.1.6.0/23对应IP地址范围1.1.6.0-1.1.7.255,也就是说,网段1.1.4.0/22对应的IP地址与网段1.1.4.0/23、网段1.1.6.0/23对应的IP地址相同。
然后,控制器121向出口路由器102通告目的网段为1.1.4.0/23的路由和目的网段为1.1.6.0/23的路由,而不通告目的网段为1.1.4.0/22的路由。控制器向出口路由器103通告路由的过程与所述出口路由器102相同,此处不再赘述。
此外,控制器121向出口路由器102、103通告的上述路由,可以被配置有不宣告no-advertise属性,且指示该路由的优先级为最高。
此外,控制器121向出口路由器102通告路由后,在表4的基础上,则出口路由器102的路由表如表8所示,控制器121向出口路由器103通告路由后,在表5的基础上,则出口路由器103的路由表如表9所示。
表8
目的网段 | 下一跳 | 出接口 | 优先级 | |
11 | 1.1.4.0/22 | IP地址112 | 接口1022 | 100 |
12 | 1.1.4.0/22 | 出口路由器103的IP地址 | 接口1023 | 100 |
13 | 1.1.4.0/23 | 出口路由器103的IP地址 | 接口1023 | 200 |
14 | 1.1.6.0/23 | 出口路由器103的IP地址 | 接口1023 | 200 |
表9
目的网段 | 下一跳 | 出接口 | 优先级 | |
21 | 1.1.4.0/22 | IP地址113 | 接口1032 | 100 |
22 | 1.1.4.0/22 | 出口路由器102的IP地址 | 接口1033 | 100 |
23 | 1.1.4.0/23 | IP地址113 | 接口1032 | 200 |
24 | 1.1.6.0/23 | IP地址113 | 接口1032 | 200 |
在一个例子中,由于表8中不存在与路由11的目的网段相同、且更高优先级的路由,即针对网段1.1.4.0/22,路由11仍是优选路由,因此路由11不失效,出口路由器102不会向路由反射器131通告本地的路由11失效,使得出口路由器101不会从路由表中删除路由31。同理,出口路由器103不会向路由反射器131通告本地的路由21失效,使得出口路由器101不会从路由表中删除路由32。这样,出口路由器101在接收到与网段1.1.4.0/22匹配的报文后,基于优选的路由31,仍然可以通过接口1011将报文发送给出口路由器102,不会造成断流。
在一个例子中,路由匹配的一个原则可以是:优先匹配掩码比较长的路由,当掩码比较长的路由匹配不到时,才匹配掩码更短的路由。例如,先匹配32位掩码的路由,当32位掩码的路由匹配不到时,才匹配31位掩码的路由,以此类推,当23位掩码的路由匹配不到时,才匹配22位掩码的路由,以此类推。
基于上述原则,出口路由器102在接收到报文后,获取报文的目的IP地址。
若目的IP地址为1.1.4.0-1.1.5.255中的任意IP地址,则目的IP地址能够命中网段1.1.4.0/22和网段1.1.4.0/23,由于网段1.1.4.0/23的掩码长度大于网段1.1.4.0/22的掩码长度,因此,目的IP地址与网段1.1.4.0/23匹配,报文命中路由13,而不是命中路由11,出口路由器102通过接口1023将报文发送给出口路由器103,而不是通过接口1022将报文发送给ISP网络112。出口路由器103接收到报文后,目的IP地址与网段1.1.4.0/23匹配,通过接口1032发送该报文。
此外,若目的IP地址为1.1.6.0-1.1.7.255中的任意IP地址,则目的IP地址能够命中1.1.4.0/22和网段1.1.6.0/23,由于网段1.1.6.0/23的掩码长度大于网段1.1.4.0/22的掩码长度,因此,目的IP地址与网段1.1.6.0/23匹配,报文命中路由14,而不是命中路由11,出口路由器102通过接口1023将报文发送给出口路由器103,而不是通过接口1022将报文发送给ISP网络112。
因此,控制器121将网段1.1.4.0/22拆分成1.1.4.0/23和1.1.6.0/23时,也可以控制出口路由器102将与网段1.1.4.0/22匹配的报文发送给出口路由器103。
基于上述应用场景,参见图2所示,为本申请实施例中提出的路由管理方法的流程图,该路由管理方法可以应用于控制器,该方法可以包括以下步骤:
步骤201,获取待下发至出口路由器的目的网段为第一网段的路由,并从该出口路由器存在的所有路由中,获取到与该第一网段对应的第二网段。
在一个例子中,针对“获取待下发至出口路由器的目的网段为第一网段的路由”的过程,可以包括但不限于:若控制器需要调整某网段的传输路径,则可以确定该网段为第一网段,并获取目的网段为该第一网段的路由。
例如,假设控制器121精确调度从出口路由器102去往网段1.1.4.0/22的流量,通过出口路由器103出局,则控制器121可以获取目的网段为第一网段1.1.4.0/22的路由,且该路由需要下发至出口路由器102和出口路由器103。由于针对出口路由器102的路由下发流程与针对出口路由器103的路由下发流程类似,为了方便描述,后续以出口路由器102的路由下发流程为例进行说明。
在一个例子中,针对“从该出口路由器存在的所有路由中,获取到与该第一网段对应的第二网段”的过程,可以包括但不限于:若该出口路由器存在的所有路由中存在目的网段为该第一网段的路由,则将该第一网段确定为第二网段。和/或,若该出口路由器存在的所有路由中存在目的网段属于该第一网段的路由,则将属于该第一网段的所述目的网段确定为第二网段。
其中,目的网段为第一网段的路由是指:该路由的目的网段就是第一网段。
其中,目的网段属于第一网段的路由是指:若属于路由的目的网段的IP地址也属于该第一网段,则说明该路由的目的网段属于第一网段。例如,出口路由器102的某个路由的目的网段为1.1.6.0/23,由于属于目的网段1.1.6.0/23的全部IP地址也属于第一网段1.1.4.0/22,因此,目的网段1.1.6.0/23为第二网段。
其中,控制器121可以通过BMP收集出口路由器102存在的所有路由,且各路由中均存在目的网段,控制器121可以从所有目的网段中查询出第二网段。例如,出口路由器102存在的所有路由中包括如下目的网段,可以将这些目的网段确定为第二网段:1.1.6.0/23、1.1.7.0/24、1.1.6.0/25、1.1.6.128/25、1.1.4.0/24、1.1.4.0/25、1.1.4.128/25、1.1.5.128/25。此外,由于出口路由器102存在的所有路由中,不包括第一网段1.1.4.0/22,因此第一网段1.1.4.0/22不是第二网段。
步骤202,将该第二网段拆分成两个子网段;针对每个子网段,若该出口路由器不存在目的网段为该子网段的路由,则将该子网段确定为第三网段。此外,若该出口路由器存在目的网段为该子网段的路由,则将该子网段确定为第二网段,并返回执行将该第二网段拆分成两个子网段的操作;或者,丢弃该子网段。
如图3A所示,为第二网段拆分示意图,第二网段包括1.1.6.0/23、1.1.7.0/24、1.1.6.0/25、1.1.6.128/25、1.1.4.0/24、1.1.4.0/25、1.1.4.128/25、1.1.5.128/25。
针对第二网段1.1.6.0/23,可以将第二网段1.1.6.0/23拆分成子网段1.1.6.0/24和子网段1.1.7.0/24。由于出口路由器102不存在目的网段为子网段1.1.6.0/24的路由,因此,将子网段1.1.6.0/24确定为第三网段。由于出口路由器102存在目的网段为子网段1.1.7.0/24的路由,因此,子网段1.1.7.0/24不是第三网段。
在一个例子中,参见图3A所示,由于子网段1.1.7.0/24已经被确定为第二网段,也就是说,控制器121还会对第二网段1.1.7.0/24进行处理,因此,在第二网段1.1.6.0/23的处理过程中,得到子网段1.1.7.0/24后,可以直接丢弃子网段1.1.7.0/24,结束对第二网段1.1.6.0/23的处理。在另一例子中,在得到子网段1.1.7.0/24后,可以将子网段1.1.7.0/24确定为第二网段,并将子网段1.1.7.0/24拆分成子网段1.1.7.0/25和子网段1.1.7.128/25。由于出口路由器102不存在目的网段为子网段1.1.7.0/25、子网段1.1.7.128/25的路由,因此,将子网段1.1.7.0/25、子网段1.1.7.128/25确定为第三网段,至此,结束对第二网段1.1.6.0/23的处理。
针对1.1.7.0/24、1.1.6.0/25、1.1.6.128/25、1.1.4.0/24、1.1.4.0/25、1.1.4.128/25、1.1.5.128/25等第二网段,具体的拆分方式与第二网段1.1.6.0/23的拆分方式相同,在此不再重复赘述。最终的拆分示意图,可以参见图3A所示,虚线圆圈内的网段是拆分后的第三网段。
在一个例子中,若出口路由器存在的所有路由中不存在目的网段为该第一网段的路由,则还可以将该第一网段确定为第三网段。
例如,若出口路由器102存在的所有路由中,不存在目的网段为该第一网段1.1.4.0/22的路由,则可以将第一网段1.1.4.0/22确定为第三网段。
将第一网段1.1.4.0/22确定为第三网段的原因是:参见图3A所示,上述第三网段未覆盖到1.1.4.0/23、1.1.5.0/24、1.1.5.0/25、1.1.5.0/26、1.1.5.64/26,为了保证匹配到这些网段的报文也可以发送到出口路由器103,当出口路由器102不存在包括第一网段1.1.4.0/22的路由时,将第一网段1.1.4.0/22确定为第三网段,则1.1.4.0/23、1.1.5.0/24、1.1.5.0/25、1.1.5.0/26、1.1.5.64/26中的任一IP地址都可以匹配到1.1.4.0/22,保证去往这些目的网段的报文按照目的网段为1.1.4.0/22的路由进行转发。
步骤203,向出口路由器通告目的网段为第三网段的路由。
参见图3A所示,在控制器向出口路由器102通告的路由中,目的网段可以分别为1.1.4.0/22、1.1.6.0/24、1.1.7.0/25、1.1.7.128/25、1.1.6.0/26、1.1.6.64/26、1.1.6.128/26、1.1.6.192/26、1.1.4.0/26、1.1.4.64/26、1.1.4.128/26、1.1.4.192/26、1.1.5.128/26、1.1.5.192/26等第三网段。
在目的网段为第三网段的路由中,还可以携带Local Preference属性和no-advertise团体属性。其中,Local Preference属性用于指示该路由的优先级在出口路由器的所有路由中为最高,no-advertise团体属性用于指示出口路由器不通告路由,即出口路由器不会将该路由发送给路由反射器。当然,该路由中还可以携带下一跳信息等其它信息,对此不做限制。
在一个例子中,针对“向出口路由器通告目的网段为第三网段的路由”的过程,可以包括但不限于如下方式:方式一、为每个第三网段生成一个路由通告消息,并将生成的每个路由通告消息分别发送给出口路由器。例如,生成路由通告消息1,该路由通告消息1携带了第三网段1.1.4.0/22;生成路由通告消息2,该路由通告消息2携带了第三网段1.1.6.0/24;以此类推。
方式二、为所有第三网段生成一个路由通告消息,并将生成的该路由通告消息发送给出口路由器。例如,只生成一个路由通告消息,该路由通告消息携带了所有的第三网段。其中,由于所有第三网段对应的下一跳相同,因此,可以在一个路由通告消息中携带所有第三网段,从而将所有第三网段一次性通告给出口路由器。由于所有第三网段的数据量较小,因此不会显著增加消息大小。
在一个例子中,上述路由通告消息可以包括但不限于BGP更新消息,参见图3B所示,为路由通告消息的格式示意图,Unfeasible Routes Length字段用于指示WithdrawnRoutes字段的长度,若为0,说明没有Withdrawn Routes字段,若不为0,说明存在WithdrawnRoutes字段。Withdrawn Routes字段为撤销路由字段,用于携带被撤销的路由。在本例中,由于路由通告消息不用于撤销路由,因此,Unfeasible Routes Length字段为0,没有Withdrawn Routes字段。
Total Path Attribute Length字段用于指示Path Atributes字段的长度,若为0,说明没有Path Attributes字段,若不为0,说明存在Path Attributes字段。PathAttributes字段为路径属性字段,用于携带所有路径属性,在本例中,上述LocalPreference属性、no-advertise团体属性、下一跳信息携带在Path Attributes字段。
NLRI(Network Layer Reachability Information,网络层可达信息)字段用于携带可达路由的前缀和前缀长度,在本例中,上述第三网段就携带在NLRI字段。
针对上述方式一,NLRI字段可以只携带一个第三网段;针对上述方式二,NLRI字段可以携带所有的第三网段,为了实现这一方式,可以对NLRI字段进行扩展,以使NLRI字段能够携带所有的第三网段,对此不做限制。
在上述实施例中,目的网段为第三网段的路由,与出口路由器存在的路由分开存储在不同路由表。具体的,为了保证原始路由(即出口路由器存在的路由,是控制器通过BMP从出口路由器收集的)和调度路由(目的网段为第三网段的路由)相互隔离、互不影响,则控制器可以维护原始路由表和调度路由表。
原始路由表用于存储控制器从出口路由器收集到的路由(当然还包括从接入本设备的外部网络或设备学习到的路由,对此不做限制),将这些路由称为原始路由。调度路由表用于存储拆分后的第三网段的路由,将这些路由称为调度路由,控制器是根据拆分后的第三网段生成调度路由,且控制器向出口路由器通告的路由中,携带的信息是调度路由的信息。
基于上述技术方案,本申请实施例中,控制器获取到待下发至出口路由器的目的网段为第一网段的路由后,不是直接向出口路由器通告该路由,而是从出口路由器存在的所有路由中,获取到与第一网段对应的第二网段,将第二网段拆分成两个子网段,当出口路由器不存在目的网段为子网段的路由时,将子网段确定为第三网段,向出口路由器通告目的网段为第三网段的路由。这样,由于出口路由器不存在目的网段为第三网段的路由,不会发送目的网段为第三网段的撤销路由,从而避免与第三网段匹配的报文被丢弃,解决流量中断等问题。控制器不需要下发大量网段,不会增加控制器的负担,提高网络可靠性。
基于与上述方法同样的申请构思,本申请实施例还提出一种路由管理装置,可以应用于控制器,如图4所示,为所述装置的结构图,所述装置可以包括:
获取模块401,用于获取待下发至出口路由器的目的网段为第一网段的路由,从出口路由器存在的所有路由中,获取到与所述第一网段对应的第二网段;
拆分模块402,用于将所述第二网段拆分成两个子网段;针对每个子网段,若所述出口路由器不存在目的网段为所述子网段的路由,则将所述子网段确定为第三网段;
发送模块403,用于向所述出口路由器通告目的网段为所述第三网段的路由。
所述获取模块401,具体用于在从所述出口路由器存在的所有路由中,获取到与所述第一网段对应的第二网段的过程中,若所述出口路由器存在的所有路由中存在目的网段为所述第一网段的路由,则将所述第一网段确定为第二网段;和/或,若所述出口路由器存在的所有路由中存在目的网段属于所述第一网段的路由,则将属于所述第一网段的所述目的网段确定为第二网段。
所述获取模块401,还用于当所述出口路由器存在的所有路由中不存在目的网段为所述第一网段的路由时,则将所述第一网段确定为第三网段。
所述拆分模块402,还用于当所述出口路由器存在目的网段为所述子网段的路由时,则将所述子网段确定为第二网段,并返回执行将所述第二网段拆分成两个子网段的操作;或者,丢弃所述子网段。
在一个例子中,所述目的网段为所述第三网段的路由中,还携带LocalPreference属性和no-advertise团体属性;所述Local Preference属性用于指示该路由的优先级在所述出口路由器的所有路由中为最高,所述no-advertise团体属性用于指示所述出口路由器不通告该路由;所述目的网段为所述第三网段的路由,与所述出口路由器存在的路由分开存储在不同路由表。
所述发送模块403,具体用于在向所述出口路由器通告目的网段为所述第三网段的路由的过程中,为每个第三网段生成一个路由通告消息,并将生成的每个路由通告消息分别发送给所述出口路由器;或者,为所有第三网段生成一个路由通告消息,并将生成的该路由通告消息发送给所述出口路由器。
本申请实施例中提供的控制器,从硬件层面而言,其硬件架构示意图具体可以参见图5所示。可以包括:机器可读存储介质和处理器,其中:
机器可读存储介质:存储指令代码。
处理器:与机器可读存储介质通信,读取和执行机器可读存储介质中存储的所述指令代码,实现本申请上述示例公开的路由管理操作。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应当明白,本申请的实施例可以提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应当理解,可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可以提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能够引导计算机或者其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (13)
1.一种路由管理方法,其特征在于,应用于控制器,所述方法包括:
获取待下发至出口路由器的目的网段为第一网段的路由,并从所述出口路由器存在的所有路由中,获取到与所述第一网段对应的第二网段;其中,所述第二网段为所有路由中目的网段与所述第一网段相同的网段;和/或,所有路由中目的网段属于所述第一网段的网段;
将所述第二网段拆分成两个子网段;针对每个子网段,若所述出口路由器不存在目的网段为所述子网段的路由,则将所述子网段确定为第三网段;
向所述出口路由器通告目的网段为所述第三网段的路由。
2.根据权利要求1所述的方法,其特征在于,所述从所述出口路由器存在的所有路由中,获取到与所述第一网段对应的第二网段的过程,具体包括:
若所述出口路由器存在的所有路由中存在目的网段为所述第一网段的路由,则将所述第一网段确定为第二网段;和/或,
若所述出口路由器存在的所有路由中存在目的网段属于所述第一网段的路由,则将属于所述第一网段的所述目的网段确定为第二网段。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述出口路由器存在的所有路由中不存在目的网段为所述第一网段的路由,则将所述第一网段确定为第三网段。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述出口路由器存在目的网段为所述子网段的路由,则将所述子网段确定为第二网段,并返回执行将所述第二网段拆分成两个子网段的操作;或者,
若所述出口路由器存在目的网段为所述子网段的路由,丢弃所述子网段。
5.根据权利要求1或3所述的方法,其特征在于,所述目的网段为所述第三网段的路由中,还携带Local Preference属性和no-advertise团体属性;所述Local Preference属性用于指示该路由的优先级在所述出口路由器的所有路由中为最高,所述no-advertise团体属性用于指示所述出口路由器不通告该路由。
6.根据权利要求1所述的方法,其特征在于,所述目的网段为所述第三网段的路由,与所述出口路由器存在的路由分开存储在不同路由表。
7.根据权利要求1所述的方法,其特征在于,所述向所述出口路由器通告目的网段为所述第三网段的路由的过程,具体包括:
为每个第三网段生成一个路由通告消息,并将生成的每个路由通告消息分别发送给所述出口路由器;或者,为所有第三网段生成一个路由通告消息,并将生成的该路由通告消息发送给所述出口路由器。
8.一种路由管理装置,其特征在于,应用于控制器,所述装置包括:
获取模块,用于获取待下发至出口路由器的目的网段为第一网段的路由,并从出口路由器存在的所有路由中,获取到与所述第一网段对应的第二网段;其中,所述第二网段为所有路由中目的网段与所述第一网段相同的网段;和/或,所有路由中目的网段属于所述第一网段的网段;
拆分模块,用于将所述第二网段拆分成两个子网段;针对每个子网段,若所述出口路由器不存在目的网段为所述子网段的路由,则将所述子网段确定为第三网段;
发送模块,用于向所述出口路由器通告目的网段为所述第三网段的路由。
9.根据权利要求8所述的装置,其特征在于,
所述获取模块,具体用于在从所述出口路由器存在的所有路由中,获取到与所述第一网段对应的第二网段的过程中,若所述出口路由器存在的所有路由中存在目的网段为所述第一网段的路由,则将所述第一网段确定为第二网段;和/或,若所述出口路由器存在的所有路由中存在目的网段属于所述第一网段的路由,则将属于所述第一网段的所述目的网段确定为第二网段。
10.根据权利要求8所述的装置,其特征在于,
所述获取模块,还用于当所述出口路由器存在的所有路由中不存在目的网段为所述第一网段的路由时,则将所述第一网段确定为第三网段。
11.根据权利要求8所述的装置,其特征在于,
所述拆分模块,还用于当所述出口路由器存在目的网段为所述子网段的路由时,则将所述子网段确定为第二网段,并返回执行将所述第二网段拆分成两个子网段的操作;或者,丢弃所述子网段。
12.根据权利要求8或10所述的装置,其特征在于,所述目的网段为所述第三网段的路由中,还携带Local Preference属性和no-advertise团体属性;所述Local Preference属性用于指示该路由的优先级在所述出口路由器的所有路由中为最高,所述no-advertise团体属性用于指示所述出口路由器不通告该路由;
所述目的网段为所述第三网段的路由,与所述出口路由器存在的路由分开存储在不同路由表。
13.根据权利要求8所述的装置,其特征在于,
所述发送模块,具体用于在向所述出口路由器通告目的网段为所述第三网段的路由的过程中,为每个第三网段生成一个路由通告消息,并将生成的每个路由通告消息分别发送给所述出口路由器;或者,为所有第三网段生成一个路由通告消息,并将生成的该路由通告消息发送给所述出口路由器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711059644.8A CN108259324B (zh) | 2017-10-30 | 2017-10-30 | 一种路由管理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711059644.8A CN108259324B (zh) | 2017-10-30 | 2017-10-30 | 一种路由管理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108259324A CN108259324A (zh) | 2018-07-06 |
CN108259324B true CN108259324B (zh) | 2019-09-17 |
Family
ID=62721572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711059644.8A Active CN108259324B (zh) | 2017-10-30 | 2017-10-30 | 一种路由管理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108259324B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113572685B (zh) | 2020-04-29 | 2023-03-10 | 华为技术有限公司 | 一种信息上报方法、信息处理方法、装置及设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010131150A1 (en) * | 2009-05-13 | 2010-11-18 | Koninklijke Philips Electronics N.V. | A method for communicating in a segmented network |
CN101808034B (zh) * | 2010-03-16 | 2012-07-04 | 杭州华三通信技术有限公司 | 一种路由管理方法和设备 |
CN102932230B (zh) * | 2012-11-21 | 2015-07-15 | 杭州华三通信技术有限公司 | 用于虚拟路由器冗余协议备份组发布路由的方法和装置 |
CN105721303B (zh) * | 2016-03-31 | 2018-05-18 | 华为技术有限公司 | 一种路由控制方法、网络设备及控制器 |
-
2017
- 2017-10-30 CN CN201711059644.8A patent/CN108259324B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108259324A (zh) | 2018-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3148128B1 (en) | Information-centric networking with small multi-path or single-path forwarding state | |
US6968393B1 (en) | Method and apparatus for an attribute oriented routing update | |
US8817798B2 (en) | Constraining topology size and recursively calculating routes in large networks | |
CN105872008B (zh) | 用于信息中心网络中的基于自适应命名的点播内容交换的系统和方法 | |
CN108848034B (zh) | 一种网络设备及表项学习方法 | |
CN109218197B (zh) | 分段路由中的冲突解决方法及路由器 | |
CN109729012B (zh) | 一种单播报文传输方法和装置 | |
CN107547391B (zh) | 一种报文传输方法和装置 | |
CN108600109B (zh) | 一种报文转发方法和装置 | |
CN111431800B (zh) | 一种建立路径的方法、装置、设备及机器可读存储介质 | |
US11140069B2 (en) | Optimizing information related to a route and/or a next hop for multicast traffic | |
CN109104364B (zh) | 一种指定转发者选举方法和装置 | |
CN110430076B (zh) | 一种路由管理方法及装置 | |
CN109412949B (zh) | 一种数据报文传输方法和装置 | |
CN109873766B (zh) | 报文传输方法和装置 | |
CN107179954B (zh) | 一种保持节点可达性的分布式社会网络隐私保护方法 | |
CN108540386B (zh) | 一种防止业务流中断方法及装置 | |
US10298672B2 (en) | Global contact-point registry for peer network devices | |
CN108259324B (zh) | 一种路由管理方法和装置 | |
CN111464439B (zh) | 段标识发布方法和装置 | |
CN105656781B (zh) | 一种链路状态数据包的传输方法及网络设备 | |
CN108632125B (zh) | 一种组播表项管理方法、装置、设备及机器可读存储介质 | |
CN109714398B (zh) | 数据存储方法和装置 | |
JP2011170422A (ja) | P2p型通信用ポリシー管理システム | |
WO2021175309A1 (zh) | 一种路由发送方法及设备 |
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 |