CN117014356A - 路由通告消息的处理方法、装置、存储介质及电子装置 - Google Patents
路由通告消息的处理方法、装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN117014356A CN117014356A CN202210461664.2A CN202210461664A CN117014356A CN 117014356 A CN117014356 A CN 117014356A CN 202210461664 A CN202210461664 A CN 202210461664A CN 117014356 A CN117014356 A CN 117014356A
- Authority
- CN
- China
- Prior art keywords
- node
- bgp
- information
- path
- propagation path
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title abstract description 7
- 230000005540 biological transmission Effects 0.000 claims abstract description 123
- 238000000034 method Methods 0.000 claims abstract description 55
- 238000012545 processing Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 16
- 238000005259 measurement Methods 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 26
- 238000004891 communication Methods 0.000 description 10
- 230000006399 behavior Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 238000011144 upstream manufacturing Methods 0.000 description 5
- 230000001934 delay Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008569 process 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/34—Source routing
-
- 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
-
- 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/02—Topology update or discovery
-
- 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/12—Shortest path evaluation
-
- 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/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种路由通告消息的处理方法、装置、存储介质及电子装置,该方法包括在当前节点上获取上一个节点发送的边界网关协议BGP路由通告消息,BGP路由通告消息中携带有传播路径的信息,传播路径是从网络出口节点向网络入口节点的方向上的路径,BGP路由通告消息中指示了转发方向上的BGP下一跳节点,转发方向是从网络入口节点向网络出口节点的方向;在BGP下一跳节点与当前节点是传播路径上的相邻两个节点的情况下,根据传播路径的信息中的当前节点对应的指令信息,确定当前节点到BGP下一跳节点的底层传输路径。通过本发明实施例,解决了相关技术中无法灵活地确定底层传输路径的技术问题。
Description
技术领域
本发明实施例涉及通信领域,具体而言,涉及一种路由通告消息的处理方法、装置、存储介质及电子装置。
背景技术
随着互联网技术的发展与进步,人们对网络地址空间的需求也越来越多,传统的网络服务器的一个IP(Internet Protocol,网际互连协议)仅有一个网络传输线路,且不同类型的网络传输线路之间难以互联通信,因此,人们提出了BGP(Border GatewayProtocol,边界网关协议)用于改进互联网通信的弊端等。
相关技术中,在大规模的跨多个域的网络中,一般采用BGP提供端到端的感知意图(intent)的路径,其中,感知意图的路径是指BGP路由在迭代下一跳时,会根据明确的意图去选择更底层的传输路径,这意味着BGP路由在通告时需要携带意图信息。由于更底层的传输路径是基于特定意图去建立的流量工程路径(Traffic Engineering Path),所以在提供传输服务的网络中,意图也可以被称为流量工程目标。当前有多种方法令BGP路由通告时携带意图,例如,draft-kaliraj-idr-bgp-classful-transport-planes-13定义了"ClassfulTransport"SAFI NLRI(分类传输子地址族标识网络层可达信息)和"Transport Class"Route Target extended community(传输等级路由目标扩展团体属性)以携带意图信息,draft-dskc-bess-bgp-car-03定义了BGP CAR SAFI NLRI(边界网络协议颜色感知路由子地址族标识网络层可达信息)以携带意图信息,以及draft-zhou-idr-inter-domain-lcu-04直接使用Color extended community(颜色扩展团体属性)以携带意图信息。本申请将类似于这些携带意图信息的BGP路由统称为BGP-intent路由。
一般情况下,收到BGP-intent路由通告消息的节点,会在本地根据意图配置信息(也可以称为intent-template)去解读意图,以建立或选择已有的至消息通告方的符合意图的传输路径。意图配置信息中包含了一系列约束条件的集合,例如,路径中需要提供的链路带宽大小、限定的最小和最大时延、限定的时延抖动、限定的丢包率、包含或排除特定的节点或链路、限定在特定的虚拟网络中计算路径,等等。在网络中的Ingress PE节点(即,负责业务接入的节点,或称为,网络入口节点)上,将根据业务的SLA(Service LevelAgreement,业务等级协定)去选择能匹配业务需求的至Egress PE(即,负责业务输出的节点,或称为,网络出口节点)的BGP-intent路由,即Ingress PE节点上的意图配置信息一般与业务SLA是一致的,但这并不意味着中间节点上的意图配置信息也要与业务SLA一致,例如,观察一条跨多个域的BGP路由转发行为,需满足业务的SLA为“提供一条从Ingress PE(网络入口节点)至Egress PE(网络出口节点)的时延上限为100ms的路径”,显然,时延100ms指的是端到端的累计时延上限,并不是指BGP路由转发时的中间某一段路径的累计时延,也就是说,处于路径中间的各BGP speaker(或称为BGP节点)并不能也按照时延100ms为指标去建立或选择已有的至下一个BGP speaker的传输路径。为了解决这个问题,draft-peng-idr-bgp-metric-credit-00定义了一种在BGP路由通告中携带Metric Credit(度量信用)属性的方法,为相邻两个BGP speaker之间的底层路径迭代提供条件,然而,这种方法仅适用于部分简单的场景,即比较复杂的场景不适用。
可见,在相关技术中,BGP节点根据本地预先配置好的意图配置信息确定与下一跳节点之间的底层传输路径,这样会无法灵活地配置或更新BGP节点上的意图配置信息,并无法灵活地确定底层传输路径,从而无法满足较为复杂的场景,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种路由通告消息的处理方法、装置、存储介质及电子装置,以至少解决相关技术中无法灵活地确定底层传输路径的技术问题。
根据本发明的一个实施例,提供了一种路由通告消息的处理方法,包括:在当前节点上获取上一个节点发送的边界网关协议BGP路由通告消息,其中,所述BGP路由通告消息中携带有传播路径的信息,所述传播路径是从网络出口节点向网络入口节点的方向上的路径,所述BGP路由通告消息中指示了转发方向上的BGP下一跳节点,所述转发方向是从所述网络入口节点向所述网络出口节点的方向;在所述BGP下一跳节点与所述当前节点是所述传播路径上的相邻两个节点的情况下,根据所述传播路径的信息中的所述当前节点对应的指令信息,确定所述当前节点到所述BGP下一跳节点的底层传输路径。
根据本发明的另一个实施例,提供了一种路由通告消息的处理装置,包括:第一获取模块,用于在当前节点上获取上一个节点发送的边界网关协议BGP路由通告消息,其中,所述BGP路由通告消息中携带有传播路径的信息,所述传播路径是从网络出口节点向网络入口节点的方向上的路径,所述BGP路由通告消息中指示了转发方向上的BGP下一跳节点,所述转发方向是从所述网络入口节点向所述网络出口节点的方向;第一确定模块,用于在所述BGP下一跳节点与所述当前节点是所述传播路径上的相邻两个节点的情况下,根据所述传播路径的信息中的所述当前节点对应的指令信息,确定所述当前节点到所述BGP下一跳节点的底层传输路径。
根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明实施例,在节点之间发送的边界网关BGP路由通告消息中携带传播路径的信息,根据传播路径的信息中的指令信息,确定当前节点到BGP下一跳节点的底层传输路径,也就是说,可以通过不同的BGP路由通告消息携带不同的指令信息,灵活地确定对应的底层传输路径。采用这种方式,对于相同路径上的不同业务,可以在传输路径上传输不同的BGP路由通告消息,不同的BGP路由通告消息中携带不同的指令信息,例如,不同的传输时延要求,这样,相同的节点在收到上述不同的BGP路由通告消息时,可以选择不同的底层传输路径,以满足不同业务的要求。可见,通过本发明实施例,通过不同的BGP路由通告消息携带不同的指令信息,灵活地确定对应的底层传输路径,避免了BGP节点根据本地预先配置好的意图配置信息确定与下一跳节点之间的底层传输路径,解决了相关技术中无法灵活地确定底层传输路径的技术问题,达到了可以灵活地确定底层传输路径的技术效果,满足较为复杂的场景。
附图说明
图1是本发明实施例的一种路由通告消息的处理方法的移动终端的硬件结构框图;
图2是根据本发明实施例的路由通告消息的处理方法的流程图;
图3是根据本发明实施例的传播路径的信息的位置的示意图;
图4是根据本发明实施例的传播路径的信息的属性的示意图一;
图5是根据本发明实施例的传播路径的信息的属性的示意图二;
图6是根据本发明实施例的传播路径的信息的属性的示意图三;
图7是根据本发明实施例的从网络出口节点向网络入口节点的方向上的传播路径的示意图;
图8是根据本发明实施例的多个不同的网络出口节点向网络入口节点的方向上的传播路径的示意图;
图9是根据本发明实施例的从网络出口节点向多个不同的网络入口节点的方向上的传播路径的示意图;
图10是根据本发明实施例的Explicit Propagation Object Path Attribute(即,EPO Path Attribute,显式传播对象路径属性)的示意图;
图11是根据本发明实施例的同源同宿间不同意图的传输路径的示意图;
图12根据本发明实施例的路由通告中携带至相同Ingress PE的多条传播路径的示意图;
图13根据本发明实施例的路由通告中携带至不同Ingress PE的多条传播路径的示意图;
图14是根据本发明实施例的路由通告消息的处理装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明的实施例。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种路由通告消息的处理方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的路由通告消息的处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种信息的收集方法,图2是根据本发明实施例的路由通告消息的处理方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,在当前节点上获取上一个节点发送的边界网关协议BGP路由通告消息,其中,所述BGP路由通告消息中携带有传播路径的信息,所述传播路径是从网络出口节点向网络入口节点的方向上的路径,所述BGP路由通告消息中指示了转发方向上的BGP下一跳节点,所述转发方向是从所述网络入口节点向所述网络出口节点的方向;
步骤S204,在所述BGP下一跳节点与所述当前节点是所述传播路径上的相邻两个节点的情况下,根据所述传播路径的信息中的所述当前节点对应的指令信息,确定所述当前节点到所述BGP下一跳节点的底层传输路径。
其中,上述步骤的执行主体可以是网络设备,例如,路由器或交换机等,或者是控制器或控制系统,或者是具备控制能力的设备,或者还可以是其他的具备类似处理能力的处理设备或处理单元等。下面以网络设备执行上述操作为例(仅是一种示例性说明,在实际操作中还可以是其他的设备或模块来执行上述操作)进行说明:
在上述实施例中,发送边界网关协议BGP路由通告消息的节点可以有多个,进而可以根据该多个节点的优先级,优先从该多个节点中确定出优先级靠前的节点,并确定由该节点发送BGP路由通告消息,例如,当前节点为节点A,而节点B、节点C、节点D都可以将BGP路由通告消息发送给节点A,且该三个节点的优先级为节点B>节点C>节点D,因此,可以按节点B>节点C>节点D优先级确定由节点B将BGP路由通告消息发送给节点A,另外,当节点B出现故障时,可以实时的替换由节点C将BGP路由通告消息发送给节点A,此外,BGP路由通告消息可以有多种,因此,可以按节点B>节点C>节点D优先级将不同BGP路由通告消息发送给节点A,也可以依次将不同BGP路由通告消息发送给不同的节点,还可以同时采用节点B、节点C、节点D分别将不同BGP路由通告消息发送给节点A,也可以同时将不同BGP路由通告消息发送给不同的节点,等等,需要说明的是,上述发送BGP路由通告消息的节点的优先级的举例说明仅是一种示例性实施例,发送BGP路由通告消息的节点的优先级并不仅限于上述举例。
在上述实施例中,BGP路由通告消息中可以携带有多条传播路径的信息,该传播路径可以指向同一网络入口节点,也可以指向不同的网络入口节点,此外,网络出口节点可以基于BGP路由通告消息中携带的传播路径的信息确定相应的网络入口节点,并将BGP路由通告消息发送给该网络入口节点,进而网络入口节点可以基于接收到的BGP路由通告消息确定与其建立底层传输路径的BGP下一跳节点,继而,在确定BGP下一跳节点与网络入口节点是同一条传播路径上的两个相邻的节点的情况下,根据传播路径的信息中与网络入口节点对应的指令信息,确定网络入口节点到BGP下一跳节点底层传输路径,其中,网络入口节点到BGP下一跳节点底层传输路径可以有多条,而基于指令信息确定的底层传输路径是网络入口节点与BGP下一跳节点之间的最佳底层传输路径,因此,可以根据不同的指令信息确定不同的底层传输路径。
在上述实施例中,在节点之间发送的边界网关BGP路由通告消息中携带传播路径的信息,根据传播路径的信息中的指令信息,确定当前节点到BGP下一跳节点的底层传输路径,也就是说,可以通过不同的BGP路由通告消息携带不同的指令信息,灵活地确定对应的底层传输路径。采用这种方式,对于相同路径上的不同业务,可以在传输路径上传输不同的BGP路由通告消息,不同的BGP路由通告消息中携带不同的指令信息,例如,不同的传输时延要求,这样,相同的节点在收到上述不同的BGP路由通告消息时,可以选择不同的底层传输路径,以满足不同业务的要求。可见,通过本发明实施例,通过不同的BGP路由通告消息携带不同的指令信息,灵活地确定对应的底层传输路径,避免了BGP节点根据本地预先配置好的意图配置信息确定与下一跳节点之间的底层传输路径,解决了相关技术中无法灵活地确定底层传输路径的技术问题,达到了可以灵活地确定底层传输路径的技术效果,满足较为复杂的场景。
在一个可选的实施例中,所述传播路径的信息位于所述BGP路由通告消息中新增的路径属性的字段中,或者,位于所述BGP路由通告消息中已有的路径属性的字段中。在本实施例中,可以将BGP路由通告消息中的空闲字段用于新增路径属性,并将传播路径的信息添加至该新增的路径属性的字段中,传播路径的信息还可以占用BGP路由通告消息中已有的路径属性的字段的空闲字节,此外,新增的路径属性的字段和已有的路径属性的字段可以是包括同类型信息的字段,也可以是包括不同类型信息的字段,例如,新增的路径属性的字段和已有的路径属性的字段都可以添加传播路径的信息或类似于传播路径的信息,另外,已有的路径属性的字段中可以添加指令信息等,当然,新增的路径属性的字段中也可以添加指令信息等,需要说明是,上述新增的路径属性的字段和上述已有的路径属性的字段的举例说明仅是一种示例性实施例,新增的路径属性的字段和已有的路径属性的字段并不仅限于上述举例。
在上述实施例中,图3是根据本发明实施例的传播路径的信息的位置的示意图,如图3所示,PA1和PA3为BGP路由通告消息中已有的路径属性的字段,PA4为BGP路由通告消息中新增的路径属性字段,如图3中的(a)所示,EPO属性(即,传播路径的信息)可以位于新增的路径属性字段中,如图3中的(b)和(c)所示,EPO属性(即,传播路径的信息)可以位于已有的路径属性的字段的空闲字节中,因此,传播路径的信息的位置可以根据实际应用情况进行调整。
在一个可选的实施例中,所述BGP路由通告消息中携带有传播路径的信息包括:节点数量字段,用于表示所述传播路径上的节点的数量N,N为大于或等于1的正整数;N个节点标识字段,每个节点标识字段用于表示所述传播路径上对应的一个节点的标识;M个指令字段,每个指令字段用于表示所述传播路径上对应的一个节点对应的指令信息,其中,M为大于或等于1、且小于或等于N的正整数。在本实施例中,可以采用Count表示节点数量字段,其中,Count在每条传播路径中占1字节,并表示一条传播路径中包含的所有节点的数量,另外,每条传播路径都可以由Count字段开始,后面接一个或多个tuple<Flags,Node ID,Length of Instructions,Instructions Content>(元组<标志字段,节点标识字段,指令长度字段,指令字段>),而每个tuple对应一个节点,可以采用Node ID表示节点标识字段,且每一个节点都具有唯一的Node ID,例如,当存在有两个名称和值都相同的节点时,可以通过该两个节点的Node ID进行区分,此外,节点标识的实现有两种方式,一种是多字段节点标识,即,通过多字段组合对传播路径中的每一个节点进行标识,另一种是单字段节点标识,即,传播路径中的所有节点都通过一个字段进行标识,需要说明的是,上述节点数量字段Count,上述节点标识字段Node ID以及上述节点标识的实现方式的举例说明仅是一种示例性实施例,节点数量字段Count,节点标识字段Node ID以及节点标识的实现方式并不仅限于上述举例。
在上述实施例中,可以采用Instructions Content表示指令字段,该指令字段包含了一条或多条具体的指令,且每条指令可以采用tuple<IT,IV>(元组<指令类型,指令值>)表示,其中,IT表示指令类型,IV表示指令值,另外,特定的IT可以隐含相应的IV的长度,例如,可以将IT类型定义为,当IT=0时,则IV字段的长度为0,当IT=1时,表示MetricCredit,则IV字段为3字节的度量信用值,其单位可以由BGP路由自身的Metric Type(度量属性,即,AIGP Attribute,Accumulated interior Gateway Protocol MetricAttribute,累加内部网关协议度量属性)确定,例如,当Metric Type为时延类时,度量信用值的单位为微秒(μs),等等。
在上述实施例中,图4是根据本发明实施例的传播路径的信息的属性的示意图一,如图4所示,1st path表示第一条传播路径,nth path表示第n条传播路径,Count(1octet)表示Count字段在该传播路径中占1字节,Node ID(1octet)表示Node ID字段在该传播路径中占1字节,Instructions Content(2octet)表示Instructions Content字段在该传播路径中占2字节,另外,每条传播路径都是由一个字节数量字段(Count)开始,且在一条完整的传播路径上,不是所有的BGP节点上的传播路径的信息中包括指令字段(InstructionsContent),但每条传播路径中的每一个节点都必须有节点标识(Node ID),因此,每条传播路径中可以包括N个节点标识,M个指令字段,需要说明的是,上述Count字段、Node ID字段以及Instructions Content字段所分别占用的字节数仅是一种示例性实施例,Count字段、Node ID字段以及Instructions Content字段所分别占用的字节数并不仅限于上述举例。
在一个可选的实施例中,所述BGP路由通告消息中携带有传播路径的信息还包括:N个标志字段,每个标志字段用于表示所述传播路径上对应的一个节点的地址信息,以及表示所述传播路径上对应的一个节点是否具有所述指令字段。在本实施例中,可以采用Flags表示标志字段,其中,Flags在每条传播路径中占1字节,另外,定义两个标志分别表示不同的信息,一个为A-Flag,用于表示传播路径上对应的一个节点的地址信息,例如,当A-Flag为0时,表示4字节的IPv4地址,当A-Flag为1时,表示16字节的IPv6地址,另一个为I-Flag,用于表示传播路径上对应的一个节点是否具有指令字段,例如,当I-Flag为0时,表示传播路径上对应的一个节点不具有指令字段,当I-Flag为1时,表示传播路径上对应的一个节点具有指令字段,还需要说明的是,当I-Flag为0时,后续的字节中包括的指令字段均不存在,需要说明的是,上述标志字段Flags的定义以及上述定义的A-Flag标志和I-Flag标志的举例说明仅是一种示例性实施例,标志字段Flags的定义以及定义的A-Flag标志和I-Flag标志并不仅限于上述举例。
在上述实施例中,图5是根据本发明实施例的传播路径的信息的属性的示意图二,如图5所示,Flags表示标志字段,Flags(1octet)表示Flags字段在该传播路径中占1字节,此外,Flags中还包括节点的地址信息,且包括该传播路径上的所有节点的地址信息,继而,在进行BGP路由通告的情况下,可以基于该地址信息更精准的确定接收BGP路由通告消息的节点,因此,每条传播路径中可以包括N个标志字段。
在一个可选的实施例中,所述BGP路由通告消息中携带有传播路径的信息还包括:M个指令长度字段,每个指令长度字段用于表示所述M个指令字段中对应的一个指令字段的字节数;其中,所述N个标志字段还用于表示所述传播路径上对应的一个节点是否具有所述指令长度字段。在本实施例中,可以采用Length of Instructions表示指令长度字段,该指令长度字段可以位于指令字段的前面,用于表示每一个指令字段所占的字节数,另外,当上述I-Flag为0时,表示传播路径上对应的一个节点不具有指令长度字段,当上述I-Flag为1时,表示传播路径上对应的一个节点具有指令长度字段,还需要说明的是,当I-Flag为0时,后续的字节中包括的指令长度字段均不存在。
在上述实施例中,图6是根据本发明实施例的传播路径的信息的属性的示意图三,如图6所示,Length of Instruction(1ocent)表示Length of Instruction字段在该传播路径中占1字节,Instruction Content(variable)表示Instruction Content字段在该传播路径中所占的字节数是可变的,且Instruction Content字段在传播路径中所占的字节数可由Length of Instruction字段确定,此外,该指令长度字段如指令字段一样,在一条完整的传播路径上,不是所有的BGP节点上的传播路径的信息中包括该指令长度字段,因此,每条传播路径中可以包括M个指令长度字段。
在一个可选的实施例中,所述传播路径包括从所述网络出口节点向所述网络入口节点的方向上的一条或多条路径,其中,每条路径为从所述网络出口节点到所述网络入口节点的路径,或者,为从所述网络出口节点到所述网络入口节点的路径中的部分路径。在本实施例中,可以有多条用于传输BGP路由通告消息的传播路径,而该多条传播路径可以指向相同的网络入口节点,也可以指向不同的网络入口节点,例如,当传播路径为B-A-C-D-E-F和B-A-G-D-E-F,该两条传播路径是指向相同网络入口节点的传播路径,且需要由节点B(即,网络出口节点)将BGP路由通告消息发送给节点F(即,网络入口节点)时,该两条传播路径均是从网络出口节点向网络入口节点的方向上的两条完整的传播路径,而该两条传播路径中的B-A-C(G)-D为从网络出口节点到网络入口节点的路径中的部分路径。当传播路径为B-A-C-D-E-F和B-A-C-D-E-G,该两条传播路径是指向不同网络入口节点的传播路径,且需要由节点B(即,网络出口节点)将BGP路由通告消息发送给节点F(或者G,即,网络入口节点)时,该两条传播路径均是从网络出口节点向网络入口节点的方向上的两条完整的传播路径,而该两条传播路径中C-D-E-F(G)为从网络出口节点到网络入口节点的路径中的部分路径,需要说明的是,上述传播路径的举例说明仅是一种示例性实施例,传播路径并不仅限于上述举例。
在上述实施例中,图7是根据本发明实施例的从网络出口节点向网络入口节点的方向上的传播路径的示意图,如图7所示,PE1表示网络出口节点,PE2表示网络入口节点,P1和P2分别表示网络出口节点到网络入口节点所经过的不同节点,TE path-1和TE path-2表示从PE2迭代至PE1的不同底层传输路径。
在一个可选的实施例中,在所述网络出口节点包括多个不同的出口节点的情况下,所述传播路径包括分别从所述多个不同的出口节点向所述网络入口节点的方向上的多条路径,其中,每条路径为从对应的一个出口节点到所述网络入口节点的路径,或者,为从对应的一个出口节点到所述网络入口节点的路径中的部分路径。在本实施例中,多个不同的出口节点均可以发送BGP路由通告消息,且该多个不同的出口节点既可以发送相同BGP路由通告消息,也可以发送不同的BGP路由通告消息,在实际应用中,当传播路径为A-D-F-G和B-D-F-G以及C-D-F-G,其中,网络出口节点包括出口节点A、出口节点B以及出口节点C,而A-D-F-G、B-D-F-G以及C-D-F-G分别为从对应的出口节点A、出口节点B以及出口节点C向所述网络入口节点的方向上的三条完整的路径,而A-D、B-D以及C-D分别为从对应的出口节点A、出口节点B以及出口节点C向所述网络入口节点的方向上的三条完整的路径中的部分路径,此外,部分路径中包括的出口节点也可以不是上述三条完整的传播路径中的出口节点(即,可以是能将BGP路由消息发送到网络入口节点的其他出口节点所组成的部分路径)。
在上述实施例中,图8是根据本发明实施例的多个不同的网络出口节点向网络入口节点的方向上的传播路径的示意图,如图8所示,PE1和PE2表示网络出口节点,PE3表示网络入口节点,P1、P2、P3以及P4分别表示网络出口节点到网络入口节点所经过的不同节点,TE path-3和TE path-4表示从PE3迭代至PE1的不同底层传输路径,TE path-5和TE path-6表示从PE3迭代至PE2的不同底层传输路径。
在一个可选的实施例中,在所述网络入口节点包括多个不同的入口节点的情况下,所述传播路径包括分别从所述网络出口节点向所述多个不同的入口节点的方向上的多条路径,其中,每条路径为从所述网络出口节点到对应的一个入口节点的路径,或者,为从所述网络出口节点到对应的一个入口节点的路径中的部分路径。在本实施例中,多个不同的入口节点均可以接收BGP路由通告消息,且该多个不同的入口节点既可以接收相同BGP路由通告消息,也可以接收不同的BGP路由通告消息,在实际应用中,当传播路径为A-B-C-D和A-B-C-E以及A-B-C-F,其中,网络入口节点包括入口节点D、入口节点E以及入口节点F,而A-B-C-D和A-B-C-E以及A-B-C-F分别为从网络出口节点A到对应的入口节点D、入口节点E以及入口节点F的方向上的三条完整的路径,而C-D和C-E以及C-F分别为从网络出口节点到对应的入口节点D、入口节点E以及入口节点F的方向上的三条完整的路径中的部分路径,此外,部分路径中包括的入口节点也可以不是上述三条完整的传播路径中的入口节点(即,可以是能接收网络出口节点发送的BGP路由消息的其他入口节点所组成的部分路径)。
在上述实施例中,图9是根据本发明实施例的从网络出口节点向多个不同的网络入口节点的方向上的传播路径的示意图,如图9所示,PE3表示网络出口节点,PE1和PE2表示网络入口节点,P1、P2、P3以及P4分别表示网络出口节点到网络入口节点所经过的不同节点,TE path-7和TE path-8表示从PE1迭代至PE3的不同底层传输路径,TE path-9和TEpath-10表示从PE2迭代至PE3的不同底层传输路径。
在一个可选的实施例中,在所述当前节点上获取所述上一个节点发送的所述BGP路由通告消息之后,所述方法还包括:在所述传播路径中的多个节点包括所述当前节点的情况下,在所述传播路径的信息中确定所述传播路径中的所述当前节点的下一个节点;在所述当前节点上向所述下一个节点发送所述BGP路由通告消息。在本实施例中,可以在BGP路由通告消息中新增的路径属性的字段中或者在BGP路由通告消息中已有的路径属性的字段中预先设定一条传播路径,进而在进行BGP路由通告,且确定当前节点属于该传播路径中的某一节点时,从BGP路由通告消息携带的传播路径的信息中确定该传播路径中的当前节点的下一个节点,并由当前节点将BGP路由通告消息发送给该下一个节点,并控制下一个节点继续进行BGP路由通告。
在一个可选的实施例中,所述在所述当前节点上向所述下一个节点发送所述BGP路由通告消息,包括:在所述当前节点与所述下一个节点之间配置了BGP会话、且使能了所述BGP路由通告消息相关的地址簇的情况下,在所述当前节点上向所述下一个节点发送所述BGP路由通告消息。在本实施例中,配置BGP会话操作,授权了当前节点与下一个节点之间可以进行信息收发,从而令当前节点与下一个节点之间的信息的传递更流畅以及更安全,使能BGP路由通告消息相关的地址簇,可以更精准的确定出需要进行BGP路由通告和BGP路由转发的节点。
在一个可选的实施例中,在所述当前节点上获取所述上一个节点发送的所述BGP路由通告消息之后,所述方法还包括:在所述传播路径中的多个节点包括所述当前节点的情况下,在所述传播路径的信息中确定所述传播路径中的所述当前节点的下一个节点;在所述当前节点与所述下一个节点之间没有配置BGP会话、但预先配置了通过路由反射器对所述BGP路由通告消息进行透传的情况下,在所述当前节点上向所述路由反射器发送所述BGP路由通告消息。在本实施例中,可以通过预先配置的路由反射器将BGP路由通告消息透传给传播路径上的下一个节点,例如,当传播路径为E-N-A-B-H,且需要将BGP路由通告消息发送到节点H,其中,当前节点为节点A,与当前节点相邻的下一个节点为节点B,当前节点A基于BGP路由通告消息中携带的传播路径消息确定需要将BGP路由通告消息发送给节点B,但节点B与节点A之间没有建立会话,而是通过反射器R进行通信,则在节点A上向节点R发送该BGP路由通告消息。
在一个可选的实施例中,所述在所述当前节点上向所述下一个节点发送所述BGP路由通告消息,包括:将所述BGP路由通告消息中指示的所述转发方向上的所述BGP下一跳节点修改为所述当前节点,得到更新后的BGP路由通告消息;在所述当前节点上向所述下一个节点发送所述更新后的BGP路由通告消息。在本实施例中,当前节点将更新后的BGP路由通告消息发送给与当前节点相邻的下一个节点,该下一个节点可以基于更新后的BGP路由通告消息的BGP下一跳节点确定需要在转发方向上建立一条底层传输路径其目的地为当前节点,并基于BGP路由通告消息中确定下一个节点至当前节点之间的业务需求,建立一条满足业务需求的底层传输路径或者是最优的底层传输路径。
在一个可选的实施例中,在将所述BGP路由通告消息中指示的所述转发方向上的所述BGP下一跳节点修改为所述当前节点的情况下,所述方法还包括:在所述当前节点上生成BGP意图路由表项,其中,所述BGP意图路由表项包括用于表示所述底层传输路径的信息,用于表示所述底层传输路径的信息包括以下至少之一:所述底层传输路径的传输时延、所述底层传输路径的带宽信息。在本实施例中,底层传输路径的信息除了上述底层传输路径的传输时延、上述底层传输路径的带宽信息之外,还包括底层传输路径的度量信用信息、底层传输路径的亲和力信息等等。
在一个可选的实施例中,在所述当前节点上获取所述上一个节点发送的所述BGP路由通告消息之前,所述方法还包括:获取所述网络入口节点与所述网络出口节点之间需要通信的业务的意图信息,其中,所述需要通信的业务对应于所述传播路径,所述意图信息表示所述传播路径的一端节点到另一端节点的总度量;根据所述意图信息,配置所述传播路径的信息,其中,所述传播路径的信息中的节点对应的指令信息所指示的度量之和等于所述总度量,所述度量包括以下至少之一:时延度量、流量工程度量、内部网关协议度量。在本实施例中,当获取到的网络入口节点与网络出口节点之间需要通信的业务的意图为所使用的传播路径的一端节点到另一端节点的总时延不能超过100ms时,可以基于该意图信息为该传播路径中包括的节点配置对应的时延,而该传播路径中包括的所有节点的时延之和需等于100ms,其中,可以将端到端的总时延100ms均分到该传播路径的每个节点上,还可以不均分处理(即,按每两个节点之间的实际需求确定对应的时延),此外,所述度量除了上述时延度量、流量工程度量、内部网关协议度量之外,还包括带宽度量、吞吐量度量等等。
在一个可选的实施例中,所述获取所述网络入口节点与所述网络出口节点之间需要通信的业务的意图信息,包括:在所述需要通信的业务包括P个业务的情况下,获取所述P个业务的P个意图信息,其中,P为1,或者,为大于或等于2的正整数,每个意图信息表示对应的一条传播路径的一端节点到另一端节点的总度量;所述根据所述意图信息,配置所述传播路径的信息,包括:根据所述P个意图信息,配置P条传播路径的信息,其中,每条完整传播路径的信息中的节点对应的指令信息所指示的度量之和等于对应的意图信息所表示的总度量。在本实施例中,网络入口节点与网络出口节点之间需要通信的业务可以有多个,进而可以根据多个业务的意图信息,配置多条传播路径的信息,也就是说,传播路径的信息是可以预先确定的,进而根据预先确定的信息进行BGP路由通告,在实际应用中,当网络入口节点与网络出口节点之间有两类业务需要通信,其中,一类业务的意图为所使用的传播路径的一端节点到另一端节点的总时延不能超过10ms,另一类业务的意图为所使用的传播路径的一端节点到另一端节点的总时延不能超过100ms,进而可以分别基于这两类时延意图配置两条不同的传播路径,等等。
在一个可选的实施例中,在根据所述P个意图信息,配置P条传播路径的信息之后,所述方法还包括:在所述BGP路由通告消息中携带所述P条传播路径的信息。在本实施例中,网络入口节点与网络出口节点之间需要通信的业务有几个、几十个、几百个等等,BGP路由通告消息中携带几条、几十条、几百条传播路径的信息。
在一个可选的实施例中,所述指令信息包括以下至少之一:传输时延要求信息、带宽要求信息、路径亲和力要求信息。在本实施例中,所述指令信息还包括内部网关协议要求信息、度量信用要求信息等等。
在一个可选的实施例中,当所述指令信息包括传输时延要求信息时,所述底层传输路径的传输时延小于或等于所述传输时延要求信息所指示的传输时延。在本实施例中,当网络入口节点与网络出口节点之间需要通信的业务的意图为所使用的传播路径的一端节点到另一端节点的总时延不能超过90ms,且该传播路径为A-B-C-D时,需要由当前节点B将BGP路由通告消息发送到节点C,再由节点C将BGP路由通告消息发送到节点D,其中,节点B发送到节点C的指令信息中的时延要求为不超过30ms,即,节点C与节点B之间的底层传输路径的时延需小于等于30ms,也就是说,节点C与节点B之间可以建立传输时延为25ms的底层传输路径,也可以建立传输时延为20ms的底层传输路径,等等。
显然,上述所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。
下面结合具体实施例对本发明进行具体说明:
步骤一:协议扩展
在BGP路由通告消息中引入显式的路径控制信息,其中,包含了一条或多条列表表示的传播路径,每条列表中包括了有序的多个BGP speaker,列表中的每个BGP speaker元素还进一步包含相关的指令(instruction),以指引BGP路由通告消息沿期望的传播路径逐个向这些列表中包含的每个BGP speaker通告,并根据相应的指令信息进一步更新BGP路由的状态。
一种具体的扩展方式如下:
RFC4271定义了BGP的Path Attributes(路径属性),随BGP路由通告时携带,表示路由的各种属性。图10是根据本发明实施例的Explicit Propagation Object PathAttribute(即,EPO Path Attribute,显式传播对象路径属性)的示意图,本申请在BGP协议中引入新的Explicit Propagation Object(可简称为EPO,显式传播对象)属性,其中,包含一条或多条传播路径,相应的Path Attribute(路径属性)的Type Code(类型码)=TBD(即,To Be Defined,未定义,待IANA(The Internet Assigned Numbers Authority,互联网数字分配机构)分配),以表示attribute value(属性值)中包含的是如图10格式的EPO属性。
图10中示意了多条传播路径,每条传播路径都由一个count字段开始,后接一个或多个tuple<Flags,Node ID,Length of Instructions,Instructions Content>,每个tuple对应一个BGP Speaker。
各字段解释如下:
Count:占1字节,表示一条传播路径中包含的BGP Speaker个数,其取值至少为1。Flags,占1字节,标志位,目前定义两个标志,分别是:A-Flag,Address Family Flag(地址族标志),指示本tuple内的Node ID的地址族类型,当A-Flag为0时表示4字节的IPv4地址,为1时表示16字节的IPv6地址;I-Flag,Instruction Flag(指令标志),指示本tuple内是否包含Instructions信息,0表示不包含,1表示包含,注意如果I-Flag为0,则后续的Lengthof Instructions字段和Instructions Content均不存在。Node ID,表示BGP Speaker的节点标识信息,其所占字节数由该字段前面的A-Flag决定,当A-Flag为0时,Node ID为4字节的IPv4地址,当A-Flag为1时,Node ID为16字节的IPv6地址。Length of Instructions,占1字节,表示本tuple内包含的Instructions content的字节数。Instructions Content,包含了具体的指令,其所占字节数由该字段前面的Length of Instructions决定,该字段中可包含一条或多条指令,每条指令采用tuple<IT,IV>表示,其中IT表示指令类型,IV表示指令值。注意特定的IT隐含了相应IV的长度。
本申请可以定义以下IT类型:
IT=0:保留值,此时IV字段的长度为08。IT=1:表示Metric Credit,此时IV字段为3字节的度量信用值,单位取决于BGP路由自身的Metric Type(即AIGP Attribute),例如,Metric Type为时延类,则单位为微秒(us)。其它值:本申请实施例暂未定义。
由前述可知,以上的扩展方式仅是本申请建议的最优方式,在实际应用中,也可以采用其他的扩展方式,例如,在其它已定义的BGP path attribute(或称为,BGP路径属性)中扩展支持EPO或类似EPO的信息。
还需要说明的是,EPO属性中包含的传播路径是指从网络出口到网络入口方向的路径,它反映的是控制面的路由通告的前进路径,与数据平面形成的BGP转发路径的方向刚好相反。EPO属性中可包含一条或多条传播路径,这些路径可以指向相同的网络入口节点,或者指向不同的网络入口节点。EPO属性中包含的某些传播路径可以是完整的,即,传播路径中从头至尾的第一个节点为网络出口节点,最后一个节点为网络入口节点,而某些传播路径也可以只是完整传播路径中的任意一部分。EPO属性可以仅包含非完整的传播路径。EPO属性中包含的传播路径只是为BGP路由的通告提供了参考,但最终生成的BGP转发路径仍然服从BGP路由择优规则,即,所生成的BGP转发路径并不一定等于反方向的传播路径(假设一条完整的传播路径),例如,当egress PE节点E(网络出口节点)本地产生一条BGP路由希望沿期望的单条传播路径E-D-C-B-A-I向ingress PE节点I(网络入口节点)通告时,则EPO中可包含单条传播路径E-D-C-B-A-I,这意味着节点E会将所述BGP路由向节点D通告,节点D学习到该路由后进而向节点C通告,节点C学习到该路由后进而向节点B通告,依次类推,直到节点I学习到该路由,此外,以下从节点E产生的BGP路由通告中包含的EPO属性中,多条并存的传播路径都是合法的:
传播路径1:E-D-C-B-A-I1,指向Ingress PE节点I1(网络入口节点)的一条完整传播路径。
传播路径2:E-Q-P-O-I2,指向Ingress PE节点I2(网络入口节点)的一条完整传播路径。
传播路径3:E-T-S-R-I3,指向Ingress PE节点I3(网络入口节点)的一条完整传播路径。
传播路径4:D-C2-B,某条完整传播路径中的一小段传播路径。
传播路径5:Q-P2-O,某条完整传播路径中的一段传播路径。
传播路径6:T-S2-R,某条完整传播路径中的一段传播路径。
传播路径7:Z-Y-X,某条完整传播路径中的一段传播路径。
步骤二:处理行为
当一个BGP Speaker从某个邻居收到的路由通告中包含有EPO属性时,它将从EPO中读取出所有的传播路径,然后针对以下处理行为实施增强的动作:
a)下一跳迭代的处理
相比传统的下一跳迭代行为,本申请还增加了根据EPO中包含的Instructions去指导如何实施下一跳迭代。具体为,在EPO包含的所有传播路径中,检查路由通告中的BGPNext-hop(或称为BGP下一跳地址)的Node ID与本BGP Speaker的Node ID是否依次相邻的出现,如果出现,则从所述传播路径中获取本BGP Speaker的Node ID关联的Instructions,将Instructions中包含的信息用于下一跳迭代,例如,当本BGP Speaker为节点A(网络入口节点),收到的路由通告中的BGP Next-hop为节点N(网络出口节点),EPO中包含的某一条传播路径为E-...-N-A-B-...-H时,由于该传播路径中依次出现相连的N,A,则本BGP Speaker(即,节点A)将从传播路径中获取与节点A关联的Instructions,例如,Instructions中包含有Metric Credit类型的<IT,IV>,则节点A为所述路由实施下一跳迭代时,将根据相应的Metric Credit值,迭代出一条至下一跳节点N的符合Metric Credit值要求的底层转发路径。
b)向上游邻居继续通告路由的处理
相比传统的向上游邻居继续通告路由的行为(传统的行为主要是根据本BGPSpeaker与哪些邻居间配置了BGP session(或称为BG连接)并使能了所需的地址族,或结合一定的本地策略,以决定是否向哪些邻居继续通告路由),本申请实施例还增加了根据EPO中包含的传播路径去进一步控制向哪些上游邻居继续通告路由。具体为,在EPO包含的所有传播路径中,检查本BGP Speaker的Node ID是出现,如果出现,则从所述传播路径中获取相邻的下一个节点,然后路由将继续向所述下一个节点通告,当然,前提条件是本节点与下一个节点间配置了BGP session并使能了所需的地址族,但该条件的检查不适用于邻居为反射器的场景,例如,当本BGP Speaker为节点A(网络出口节点),收到的路由通告中的BGPNext-hop为节点N(网络入口节点),EPO中包含的某一条传播路径为E-...-N-A-B-...-H,由于该传播路径中出现A,则获取到相邻的下一个节点为B(网络入口节点),然后路由将继续向节点B通告。假设还包含有另一条传播路径片段A-C-...-D,则还会获取到相邻的下一个节点为C(网络入口节点),路由还会继续向节点C通告。
实施例1路由通告中携带单条传播路径
图11是根据本发明实施例的同源同宿间不同意图的传输路径的示意图,如图11所示的网络中,包含两个IGP domain(Interior Gateway Protocols domain,内部网关协议域),在PE1与ABR之间,ABR与PE2之间建立BGP邻居,通告BGP-intent路由,例如,按照draft-zhou-idr-inter-domain-lcu-04中描述的方法,Egress PE2(网络出口节点)通过BGP将其loopback路由(即,本地环回路由,记为loopback-PE2)向ABR(网络入口节点)通告,在路由通告中携带Color extended community以携带意图信息。
假设此例中,在Ingress PE1和Egress PE2之间有两类业务需要通信,其中一类业务的意图为所使用的传输路径的端到端总时延不能超过10ms,另一类业务的意图为所使用的传输路径的端到端总时延不能超过100ms。由于需要在同样的源/目的之间表征两条意图相关的路径,因此,本实施例中,需要在Egress PE2上配置两个color(指标),记为color-1000和color-2000。
Color-1000对应的意图配置如下:
metric-type:Unidirectional Link Delay(单向链路时延,单位为ms)
total-metric(总度量):10
Color-2000对应的意图配置如下:
metric-type:Unidirectional Link Delay(单位为ms)
total-metric:100
上述两个color对应的意图配置信息也统一在其它BGP Speaker节点(例如,ABR(Area Border Router,区域边界路由器)、Ingress PE1)上配置。还需要说明的是,这些其它BGP Speaker在从下游BGP Speaker邻居收到BGP-intent路由通告后,并不会仅仅根据意图配置信息中包含的total-metric去计算至下游BGP Speaker邻居的传输路径,而是从收到的BGP-intent路由通告中获取度量信用信息,据此建立或使用已有的满足意图的传输路径。
1)Egress PE2产生BGP-intent路由并向上游邻居通告
在Egress PE2上,相应的产生两个BGP-intent路由,<prefix(前缀)=loopback-PE2,color=1000>和<prefix=loopback-PE2,color=2000>,这两条路由期望的传播路径均为PE2(网络出口节点)-ABR-PE1(网络入口节点)。
在BGP-intent路由<prefix=loopback-PE2,color=1000>的通告中,可包含如下的属性信息(其中,包含EPO):
设置metric-type为Unidirectional Link Delay;
设置初始metric(度量)为0;
设置EPO信息为:
Count:3(注:第一条传播路径包含3个节点);
Flags:A-Flag=0,I-Flag=0(注:第一个Node ID是IPv4地址,无关联的Instructions);
Node ID:PE2;
Flags:A-Flag=0,I-Flag=1(注:第二个Node ID是IPv4地址,有关联的Instructions);
Node ID:ABR;
Instructions Content:<IT=Metric Credit,IV=5000us>;
Flags:A-Flag=0,I-Flag=1(注:第三个Node ID是IPv4地址,有关联的Instructions);
Node ID:PE1;
Instructions Content:<IT=Metric Credit,IV=5000us>。
即,将整个端到端时延10ms在路径的各段上平均分担,当然,也可显式指定其它值。
类似的,在BGP-intent路由<prefix=loopback-PE2,color=2000>的通告中,可包含如下的属性信息(含EPO):
设置metric-type为Unidirectional Link Delay;
设置初始metric为0;
设置EPO信息为:
Count:3(注:第一条传播路径包含3个节点);
Flags:A-Flag=0,I-Flag=0(注:第一个Node ID是IPv4地址,无关联的Instructions);
Node ID:PE2;
Flags:A-Flag=0,I-Flag=1(注:第二个Node ID是IPv4地址,有关联的Instructions);
Node ID:ABR;
Instructions Content:<IT=Metric Credit,IV=50000us>;
Flags:A-Flag=0,I-Flag=1(注:第三个Node ID是IPv4地址,有关联的Instructions);
Node ID:PE1;
Instructions Content:<IT=Metric Credit,IV=50000us>。
则上述两条意图路由,均按照EPO的指示向下一个节点ABR通告。
2)ABR收到BGP-intent路由,建立至BGP Next-hop的满足意图的底层传输路径
ABR(网络入口节点)收到BGP-intent路由<prefix=loopback-PE2,color=1000>时,在本地生成相应的路由表项,其中,metric-type为Unidirectional Link Delay,BGPNext-hop为Egress PE2(网络出口节点)。ABR根据收到的路由通告中包含的EPO信息,确定本BGP Speaker(即,ABR)至下游BGP Speaker邻居(即,Egress PE2)的度量信用(MetricCredit)为5ms,则ABR节点内部将调用CSPF(Constraint Shortest Path First,约束最短路径优先)计算模块计算一条至Egress PE2的不超过5ms的极低时延路径,假设为图11中的TE path-12,其时延为4ms,因此,ABR上生成的BGP-intent路由表项<prefix=loopback-PE2,color=1000>迭代至BGP Next-hop的底层传输路径为TE path-12,并相应的设置路由表项中的metric为4。ABR继续根据EPO中的传播路径的指示,向下一个节点PE1通告BGP-intent路由,其中metric-type为Unidirectional Link Delay,metric为4,BGP Next-hop修改为ABR,以及EPO信息(与之前收到的路由通告中的EPO信息保持不变)。
类似的,ABR(网络入口节点)收到BGP-intent路由<prefix=loopback-PE2,color=2000>时,在本地生成相应的路由表项,其中,metric-type为Unidirectional LinkDelay,BGP Next-hop为Egress PE2(网络出口节点)。ABR根据收到的路由通告中包含的EPO信息,确定本BGP Speaker(即,ABR)至下游BGP Speaker邻居(即,Egress PE2)的度量信用(Metric Credit)为50ms,则ABR节点内部将调用CSPF计算模块计算一条至Egress PE2的不超过50ms的低时延路径,假设为图11中的TE path-22,其时延为40ms,因此,ABR上生成的BGP-intent路由表项<prefix=loopback-PE2,color=2000>迭代至BGP Next-hop的底层传输路径为TE path-22,并相应的设置路由表项中的metric为40。ABR继续根据EPO中的传播路径的指示,向下一个节点PE1通告BGP-intent路由,其中metric-type为Unidirectional Link Delay,metric为40,BGP Next-hop修改为ABR,以及EPO信息(与之前收到的路由通告中的EPO信息保持不变)。
3)Ingress PE1收到BGP-intent路由,建立至BGP Next-hop的满足意图的底层传输路径Ingress PE1(网络入口节点)收到BGP-intent路由<prefix=loopback-PE2,color=1000>时,在本地生成相应的路由表项,其中,metric-type为Unidirectional LinkDelay,BGP Next-hop为ABR(网络出口节点)。Ingress PE1根据收到的路由通告中包含的EPO信息,确定本BGP Speaker(即Ingress PE1)至下游BGP Speaker邻居(即,ABR)的度量信用(Metric Credit)为5ms,则Ingress PE1节点内部将调用CSPF计算模块计算一条至ABR的不超过5ms的极低时延路径,假设为图11中的TE path-11,其时延为4ms,因此,Ingress PE1上生成的BGP-intent路由表项<prefix=loopback-PE2,color=1000>迭代至BGP Next-hop的底层传输路径为TE path-11,并相应的设置路由表项中的metric为8(=4+4)。
类似的,Ingress PE1(网络入口节点)收到BGP-intent路由<prefix=loopback-PE2,color=2000>时,在本地生成相应的路由表项,其中,metric-type为UnidirectionalLink Delay,BGP Next-hop为ABR(网络出口节点)。Ingress PE1根据收到的路由通告中包含的EPO信息,确定本BGP Speaker(即,Ingress PE1)至下游BGP Speaker邻居(即,ABR)的度量信用(Metric Credit)为50ms,则Ingress PE1节点内部将调用CSPF计算模块计算一条至ABR的不超过50ms的低时延路径,假设为图11中的TE path-21,其时延为40ms,因此,Ingress PE1上生成的BGP-intent路由表项<prefix=loopback-PE2,color=2000>迭代至BGP Next-hop的底层传输路径为TE path-21,并相应的设置路由表项中的metric为80(=40+40)。
由前述可知,本实施例中,通过路由通告中包含的EPO信息,在各BGP Speaker上能有依据的建立差异化的传输路径,有效避免都争用优质的极低时延链路资源的情况。
实施例2路由通告中携带至相同Ingress PE的多条传播路径
图12根据本发明实施例的路由通告中携带至相同Ingress PE的多条传播路径的示意图,如图12所示的网络中,包含三个AS(autonomous system,自治系统),在PE1与ASBR(Autonomous System Boundary,自治系统边界路由器)1之间、ASBR1与ASBR2之间、ASBR1与ASBR3之间、ASBR2与PE2之间、ASBR3与PE3之间建立BGP邻居,通告BGP-intent路由,例如,按照draft-zhou-idr-inter-domain-lcu-04中描述的方法,Egress PE2(网络出口节点)通过BGP将其loopback路由(记为loopback-PE2)向ASBR2(网络入口节点)通告,在路由通告中携带Color extended community以携带意图信息。
假设此例中,在Ingress PE1和Egress PE2之间需要通信的业务的意图为所使用的传输路径的端到端总时延不能超过100ms。假设在Egress PE2上为该意图配置的color为color-1000。
Color-1000对应的意图配置如下:
metric-type:Unidirectional Link Delay(单位为ms)
total-metric:100
上述color对应的意图配置信息也统一在其它BGP Speaker节点(例如,ASBR1/2/3、PE1)上配置。还需要说明的是,这些其它BGP Speaker在从下游BGP Speaker邻居收到BGP-intent路由通告后,并不会仅仅根据意图配置信息中包含的total-metric去计算至下游BGP Speaker邻居的传输路径,而是从收到的BGP-intent路由通告中获取度量信用信息,据此建立或使用已有的满足意图的传输路径。
1)Egress PE2产生BGP-intent路由并向上游邻居通告
在Egress PE2上,相应的产生BGP-intent路由<prefix=loopback-PE2,color=1000>,这条路由期望的传播路径为PE2(网络出口节点)-ASBR2-ASBR1-PE1(网络入口节点)和ASBR2(网络出口节点)-ASBR3-ASBR1(网络入口节点)。
在BGP-intent路由<prefix=loopback-PE2,color=1000>的通告中,可包含如下的属性信息(其中,包含EPO):
设置metric-type为Unidirectional Link Delay;
设置初始metric为0;
设置EPO信息为:
Count:4(注:第一条传播路径包含4个节点);
Flags:A-Flag=0,I-Flag=0(注:第一个Node ID是IPv4地址,无关联的Instructions);
Node ID:PE2;
Flags:A-Flag=0,I-Flag=1(注:第二个Node ID是IPv4地址,有关联的Instructions);
Node ID:ASBR2;
Instructions Content:<IT=Metric Credit,IV=40000us>;
Flags:A-Flag=0,I-Flag=1(注:第三个Node ID是IPv4地址,有关联的Instructions);
Node ID:ASBR1;
Instructions Content:<IT=Metric Credit,IV=20000us>
Flags:A-Flag=0,I-Flag=1(注:第四个Node ID是IPv4地址,有关联的Instructions);
Node ID:PE1;
Instructions Content:<IT=Metric Credit,IV=40000us>;
Count:3(注:第二条传播路径包含3个节点);
Flags:A-Flag=0,I-Flag=0(注:第一个Node ID是IPv4地址,无关联的Instructions);
Node ID:ASBR2;
Flags:A-Flag=0,I-Flag=1(注:第二个Node ID是IPv4地址,有关联的Instructions);
Node ID:ASBR3;
Instructions Content:<IT=Metric Credit,IV=10000us>;
Flags:A-Flag=0,I-Flag=1(注:第三个Node ID是IPv4地址,有关联的Instructions);
Node ID:ASBR1;
Instructions Content:<IT=Metric Credit,IV=10000us>;
即,在第一条传播路径PE2-ASBR2-ASBR1-PE1上逐段指定度量信用(MetricCredit)为40,20,40ms,在第二条传播路径ASBR2-ASBR3-ASBR1上逐段指定度量信用(Metric Credit)为10,10ms。则上述意图路由按照EPO的指示向下一个节点ASBR2通告。
2)ASBR2收到BGP-intent路由,建立至BGP Next-hop的满足意图的底层传输路径
ASBR2收到BGP-intent路由<prefix=loopback-PE2,color=1000>时,在本地生成相应的路由表项,其中,metric-type为Unidirectional Link Delay,BGP Next-hop为Egress PE2。ASBR2根据收到的路由通告中包含的EPO信息,确定本BGP Speaker(即ASBR2)至下游BGP Speaker邻居(即Egress PE2)的度量信用(Metric Credit)为40ms,则ASBR2节点内部将调用CSPF(Constraint Shortest Path First约束最短路径优先)计算模块计算一条至Egress PE2的不超过40ms的低时延路径,假设为图12中的TE path-13,其时延为40ms,因此,ASBR2上生成的BGP-intent路由表项<prefix=loopback-PE2,color=1000>迭代至BGP Next-hop的底层传输路径为TE path-13,并相应的设置路由表项中的metric为40。ASBR2继续根据EPO中的传播路径的指示,分别向下一个节点ASBR1和ASBR3通告BGP-intent路由,其中,metric-type为Unidirectional Link Delay,metric为40,BGP Next-hop修改为ASBR2,以及EPO信息(与之前收到的路由通告中的EPO信息保持不变)。
3)ASBR1/3收到BGP-intent路由,建立至BGP Next-hop的满足意图的底层传输路径
ASBR1从ASBR2收到BGP-intent路由<prefix=loopback-PE2,color=1000>时,在本地生成相应的路由表项,其中,metric-type为Unidirectional Link Delay,BGP Next-hop为ASBR2。ASBR1根据收到的路由通告中包含的EPO信息,确定本BGP Speaker(即ASBR1)至下游BGP Speaker邻居(即ASBR2)的度量信用(Metric Credit)为20ms,则ASBR1节点内部将调用CSPF(Constraint Shortest Path First约束最短路径优先)计算模块计算一条至ASBR2的不超过20ms的低时延路径,假设为图12中的TE path-12,其时延为20ms,因此,ASBR1上生成的BGP-intent路由表项<prefix=loopback-PE2,color=1000>迭代至BGPNext-hop的底层传输路径为TE path-12,并相应的设置路由表项中的metric为60。ASBR1继续根据EPO中的传播路径的指示,向下一个节点PE1通告BGP-intent路由,其中,metric-type为Unidirectional Link Delay,metric为60,BGP Next-hop修改为ASBR1,以及EPO信息(与之前收到的路由通告中的EPO信息保持不变)。
另外,ASBR1也会从ASBR3收到BGP-intent路由<prefix=loopback-PE2,color=1000>,也将类似的生成相应的路由表项,可与之前生成的表项形成ECMP(Equal CostMulti-path,等价多路径)或FRR(Fast Re-routing,快速重路由)。与上述处理的差别是从EPO中获取的度量信用(Metric Credit)为10ms,进而迭代的底层传输路径为TE-path-14,具体不再赘述。
类似的,ASBR3也会从ASBR2收到BGP-intent路由<prefix=loopback-PE2,color=1000>,也将类似的生成相应的路由表项。与上述处理的差别是从EPO中获取的度量信用(Metric Credit)为10ms,进而迭代的底层传输路径为TE-path-15。ASBR3继续根据EPO中的传播路径的指示,向下一个节点ASBR1通告BGP-intent路由,其中metric-type为Unidirectional Link Delay,metric为50,BGP Next-hop修改为ASBR3,以及EPO信息(与之前收到的路由通告中的EPO信息保持不变)。
4)Ingress PE1收到BGP-intent路由,建立至BGP Next-hop的满足意图的底层传输路径Ingress PE1收到BGP-intent路由<prefix=loopback-PE2,color=1000>时,在本地生成相应的路由表项,其中,metric-type为Unidirectional Link Delay,BGP Next-hop为ASBR1。Ingress PE1根据收到的路由通告中包含的EPO信息,确定本BGP Speaker(即Ingress PE1)至下游BGP Speaker邻居(即ASBR1)的度量信用(Metric Credit)为40ms,则Ingress PE1节点内部将调用CSPF计算模块计算一条至ABR的不超过40ms的极低时延路径,假设为图12中的TE path-11,其时延为40ms,因此,Ingress PE1上生成的BGP-intent路由表项<prefix=loopback-PE2,color=1000>迭代至BGP Next-hop的底层传输路径为TEpath-11,并相应的设置路由表项中的metric为100。
实施例3路由通告中携带至不同Ingress PE的多条传播路径
图13根据本发明实施例的路由通告中携带至不同Ingress PE的多条传播路径的示意图,如图13所示的网络中,包含三个AS,在PE1与ASBR1之间、ASBR1与ASBR2之间、ASBR1与ASBR3之间、ASBR2与PE2之间、ASBR3与PE3之间建立BGP邻居,通告BGP-intent路由,例如,按照draft-zhou-idr-inter-domain-lcu-04中描述的方法,Egress PE2(网络入口节点)通过BGP将其loopback路由(记为loopback-PE2)向ASBR2(网络出口节点)通告,在路由通告中携带Color extended community以携带意图信息。
假设此例中,在Ingress PE1和Egress PE2之间,以及Ingress PE3与Egress PE2之间,需要通信的业务的意图为所使用的传输路径的端到端总时延不能超过100ms。假设在Egress PE2上为该意图配置的color为color-1000。
Color-1000对应的意图配置如下:
metric-type:Unidirectional Link Delay(单位为ms)
total-metric:100
上述color对应的意图配置信息也统一在其它BGP Speaker节点(例如,ASBR1/2/3、PE1/3)上配置。还需要说明的是,这些其它BGP Speaker在从下游BGP Speaker邻居收到BGP-intent路由通告后,并不会仅仅根据意图配置信息中包含的total-metric去计算至下游BGP Speaker邻居的传输路径,而是从收到的BGP-intent路由通告中获取度量信用信息,据此建立或使用已有的满足意图的传输路径。
在Egress PE2上,相应的产生BGP-intent路由<prefix=loopback-PE2,color=1000>,这条路由期望的传播路径为PE2(网络出口节点)-ASBR2-ASBR1-PE1(网络入口节点)和ASBR2(网络出口节点)-ASBR3-PE3(网络入口节点)。与实施例二相比,除了传播路径有很小的差异以外,其它处理流程完全类似,图中给出了各AS内BGP路由根据度量信用迭代到的底层TE path(Traffic Engineering Path,流量工程路径),不再赘述。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种路由通告消息的处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图14是根据本发明实施例的路由通告消息的处理装置的结构框图,如图14所示,该装置包括:
第一获取模块142,用于在当前节点上获取上一个节点发送的边界网关协议BGP路由通告消息,其中,所述BGP路由通告消息中携带有传播路径的信息,所述传播路径是从网络出口节点向网络入口节点的方向上的路径,所述BGP路由通告消息中指示了转发方向上的BGP下一跳节点,所述转发方向是从所述网络入口节点向所述网络出口节点的方向;
第一确定模块144,用于在所述BGP下一跳节点与所述当前节点是所述传播路径上的相邻两个节点的情况下,根据所述传播路径的信息中的所述当前节点对应的指令信息,确定所述当前节点到所述BGP下一跳节点的底层传输路径。
在一个可选的实施例中,所述传播路径的信息位于所述BGP路由通告消息中新增的路径属性的字段中,或者,位于所述BGP路由通告消息中已有的路径属性的字段中。
在一个可选的实施例中,所述BGP路由通告消息中携带有传播路径的信息包括:节点数量字段,用于表示所述传播路径上的节点的数量N,N为大于或等于1的正整数;N个节点标识字段,每个节点标识字段用于表示所述传播路径上对应的一个节点的标识;M个指令字段,每个指令字段用于表示所述传播路径上对应的一个节点对应的指令信息,其中,M为大于或等于1、且小于或等于N的正整数。
在一个可选的实施例中,所述BGP路由通告消息中携带有传播路径的信息还包括:N个标志字段,每个标志字段用于表示所述传播路径上对应的一个节点的地址信息,以及表示所述传播路径上对应的一个节点是否具有所述指令字段。
在一个可选的实施例中,所述BGP路由通告消息中携带有传播路径的信息还包括:M个指令长度字段,每个指令长度字段用于表示所述M个指令字段中对应的一个指令字段的字节数;其中,所述N个标志字段还用于表示所述传播路径上对应的一个节点是否具有所述指令长度字段。
在一个可选的实施例中,所述传播路径包括从所述网络出口节点向所述网络入口节点的方向上的一条或多条路径,其中,每条路径为从所述网络出口节点到所述网络入口节点的路径,或者,为从所述网络出口节点到所述网络入口节点的路径中的部分路径。
在一个可选的实施例中,在所述网络出口节点包括多个不同的出口节点的情况下,所述传播路径包括分别从所述多个不同的出口节点向所述网络入口节点的方向上的多条路径,其中,每条路径为从对应的一个出口节点到所述网络入口节点的路径,或者,为从对应的一个出口节点到所述网络入口节点的路径中的部分路径。
在一个可选的实施例中,在所述网络入口节点包括多个不同的入口节点的情况下,所述传播路径包括分别从所述网络出口节点向所述多个不同的入口节点的方向上的多条路径,其中,每条路径为从所述网络出口节点到对应的一个入口节点的路径,或者,为从所述网络出口节点到对应的一个入口节点的路径中的部分路径。
在一个可选的实施例中,上述装置还包括:
第二确定模块,用于在所述当前节点上获取所述上一个节点发送的所述BGP路由通告消息之后,在所述传播路径中的多个节点包括所述当前节点的情况下,在所述传播路径的信息中确定所述传播路径中的所述当前节点的下一个节点;
第一发送模块,用于在所述当前节点上向所述下一个节点发送所述BGP路由通告消息。
在一个可选的实施例中,上述第一发送模块包括:
第一发送单元,用于在所述当前节点与所述下一个节点之间配置了BGP会话、且使能了所述BGP路由通告消息相关的地址簇的情况下,在所述当前节点上向所述下一个节点发送所述BGP路由通告消息。
在一个可选的实施例中,上述装置还包括:
第三确定模块,用于在所述当前节点上获取所述上一个节点发送的所述BGP路由通告消息之后,在所述传播路径中的多个节点包括所述当前节点的情况下,在所述传播路径的信息中确定所述传播路径中的所述当前节点的下一个节点;
第二发送模块,用于在所述当前节点与所述下一个节点之间没有配置BGP会话、但预先配置了通过路由反射器对所述BGP路由通告消息进行透传的情况下,在所述当前节点上向所述路由反射器发送所述BGP路由通告消息。
在一个可选的实施例中,上述第一发送模块还包括:
处理单元,用于将所述BGP路由通告消息中指示的所述转发方向上的所述BGP下一跳节点修改为所述当前节点,得到更新后的BGP路由通告消息;
第二发送单元,用于在所述当前节点上向所述下一个节点发送所述更新后的BGP路由通告消息。
在一个可选的实施例中,上述装置还包括:
生成模块,用于在将所述BGP路由通告消息中指示的所述转发方向上的所述BGP下一跳节点修改为所述当前节点的情况下,在所述当前节点上生成BGP意图路由表项,其中,所述BGP意图路由表项包括用于表示所述底层传输路径的信息,用于表示所述底层传输路径的信息包括以下至少之一:所述底层传输路径的传输时延、所述底层传输路径的带宽信息。
在一个可选的实施例中,上述装置还包括:
第二获取模块,用于在所述当前节点上获取所述上一个节点发送的所述BGP路由通告消息之前,获取所述网络入口节点与所述网络出口节点之间需要通信的业务的意图信息,其中,所述需要通信的业务对应于所述传播路径,所述意图信息表示所述传播路径的一端节点到另一端节点的总度量;
配置模块,用于根据所述意图信息,配置所述传播路径的信息,其中,所述传播路径的信息中的节点对应的指令信息所指示的度量之和等于所述总度量,所述度量包括以下至少之一:时延度量、流量工程度量、内部网关协议度量。
在一个可选的实施例中,上述第二获取模块包括:获取单元,用于在所述需要通信的业务包括P个业务的情况下,获取所述P个业务的P个意图信息,其中,P为1,或者,为大于或等于2的正整数,每个意图信息表示对应的一条传播路径的一端节点到另一端节点的总度量;上述配置模块包括:配置单元,用于根据所述P个意图信息,配置P条传播路径的信息,其中,每条完整传播路径的信息中的节点对应的指令信息所指示的度量之和等于对应的意图信息所表示的总度量。
在一个可选的实施例中,上述装置还包括:
处理模块,用于在根据所述P个意图信息,配置P条传播路径的信息之后,在所述BGP路由通告消息中携带所述P条传播路径的信息。
在一个可选的实施例中,上述指令信息包括以下至少之一:传输时延要求信息、带宽要求信息、路径亲和力要求信息。
在一个可选的实施例中,当所述指令信息包括传输时延要求信息时,所述底层传输路径的传输时延小于或等于所述传输时延要求信息所指示的传输时延。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
通过本发明提供的一种路由通告信息的处理方法,可以在BGP路由通告消息中携带新增路径属性EPO,并指定路由通告的传播路径,在一定程度上具备BGP流量工程的雏形,此外,在EPO中携带指令信息,为BGP在每一跳上的路由迭代以及状态维护提供辅助信息,且后续还可以实时的在指令信息中引入不同类型的需求,例如,时延需求,带宽需求,路径亲和力需求,等等,且本申请实施例中定义的EPO属性不仅仅适用于上述实施例中的BGP意图路由,还适用于已知的任何BGP路由类型。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (22)
1.一种路由通告消息的处理方法,其特征在于,包括:
在当前节点上获取上一个节点发送的边界网关协议BGP路由通告消息,其中,所述BGP路由通告消息中携带有传播路径的信息,所述传播路径是从网络出口节点向网络入口节点的方向上的路径,所述BGP路由通告消息中指示了转发方向上的BGP下一跳节点,所述转发方向是从所述网络入口节点向所述网络出口节点的方向;
在所述BGP下一跳节点与所述当前节点是所述传播路径上的相邻两个节点的情况下,根据所述传播路径的信息中的所述当前节点对应的指令信息,确定所述当前节点到所述BGP下一跳节点的底层传输路径。
2.根据权利要求1所述的方法,其特征在于,所述传播路径的信息位于所述BGP路由通告消息中新增的路径属性的字段中,或者,位于所述BGP路由通告消息中已有的路径属性的字段中。
3.根据权利要求1所述的方法,其特征在于,所述BGP路由通告消息中携带有传播路径的信息包括:
节点数量字段,用于表示所述传播路径上的节点的数量N,N为大于或等于1的正整数;
N个节点标识字段,每个节点标识字段用于表示所述传播路径上对应的一个节点的标识;
M个指令字段,每个指令字段用于表示所述传播路径上对应的一个节点对应的指令信息,其中,M为大于或等于1、且小于或等于N的正整数。
4.根据权利要求3所述的方法,其特征在于,所述BGP路由通告消息中携带有传播路径的信息还包括:
N个标志字段,每个标志字段用于表示所述传播路径上对应的一个节点的地址信息,以及表示所述传播路径上对应的一个节点是否具有所述指令字段。
5.根据权利要求4所述的方法,其特征在于,所述BGP路由通告消息中携带有传播路径的信息还包括:
M个指令长度字段,每个指令长度字段用于表示所述M个指令字段中对应的一个指令字段的字节数;
其中,所述N个标志字段还用于表示所述传播路径上对应的一个节点是否具有所述指令长度字段。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述传播路径包括从所述网络出口节点向所述网络入口节点的方向上的一条或多条路径,其中,每条路径为从所述网络出口节点到所述网络入口节点的路径,或者,为从所述网络出口节点到所述网络入口节点的路径中的部分路径。
7.根据权利要求1至5中任一项所述的方法,其特征在于,在所述网络出口节点包括多个不同的出口节点的情况下,所述传播路径包括分别从所述多个不同的出口节点向所述网络入口节点的方向上的多条路径,其中,每条路径为从对应的一个出口节点到所述网络入口节点的路径,或者,为从对应的一个出口节点到所述网络入口节点的路径中的部分路径。
8.根据权利要求1至5中任一项所述的方法,其特征在于,在所述网络入口节点包括多个不同的入口节点的情况下,所述传播路径包括分别从所述网络出口节点向所述多个不同的入口节点的方向上的多条路径,其中,每条路径为从所述网络出口节点到对应的一个入口节点的路径,或者,为从所述网络出口节点到对应的一个入口节点的路径中的部分路径。
9.根据权利要求1至5中任一项所述的方法,其特征在于,在所述当前节点上获取所述上一个节点发送的所述BGP路由通告消息之后,所述方法还包括:
在所述传播路径中的多个节点包括所述当前节点的情况下,在所述传播路径的信息中确定所述传播路径中的所述当前节点的下一个节点;
在所述当前节点上向所述下一个节点发送所述BGP路由通告消息。
10.根据权利要求9所述的方法,其特征在于,所述在所述当前节点上向所述下一个节点发送所述BGP路由通告消息,包括:
在所述当前节点与所述下一个节点之间配置了BGP会话、且使能了所述BGP路由通告消息相关的地址簇的情况下,在所述当前节点上向所述下一个节点发送所述BGP路由通告消息。
11.根据权利要求1至5中任一项所述的方法,其特征在于,在所述当前节点上获取所述上一个节点发送的所述BGP路由通告消息之后,所述方法还包括:
在所述传播路径中的多个节点包括所述当前节点的情况下,在所述传播路径的信息中确定所述传播路径中的所述当前节点的下一个节点;
在所述当前节点与所述下一个节点之间没有配置BGP会话、但预先配置了通过路由反射器对所述BGP路由通告消息进行透传的情况下,在所述当前节点上向所述路由反射器发送所述BGP路由通告消息。
12.根据权利要求9所述的方法,其特征在于,所述在所述当前节点上向所述下一个节点发送所述BGP路由通告消息,包括:
将所述BGP路由通告消息中指示的所述转发方向上的所述BGP下一跳节点修改为所述当前节点,得到更新后的BGP路由通告消息;
在所述当前节点上向所述下一个节点发送所述更新后的BGP路由通告消息。
13.根据权利要求12所述的方法,其特征在于,在将所述BGP路由通告消息中指示的所述转发方向上的所述BGP下一跳节点修改为所述当前节点的情况下,所述方法还包括:
在所述当前节点上生成BGP意图路由表项,其中,所述BGP意图路由表项包括用于表示所述底层传输路径的信息,用于表示所述底层传输路径的信息包括以下至少之一:所述底层传输路径的传输时延、所述底层传输路径的带宽信息。
14.根据权利要求1至5中任一项所述的方法,其特征在于,在所述当前节点上获取所述上一个节点发送的所述BGP路由通告消息之前,所述方法还包括:
获取所述网络入口节点与所述网络出口节点之间需要通信的业务的意图信息,其中,所述需要通信的业务对应于所述传播路径,所述意图信息表示所述传播路径的一端节点到另一端节点的总度量;
根据所述意图信息,配置所述传播路径的信息,其中,所述传播路径的信息中的节点对应的指令信息所指示的度量之和等于所述总度量,所述度量包括以下至少之一:时延度量、流量工程度量、内部网关协议度量。
15.根据权利要求14所述的方法,其特征在于,
所述获取所述网络入口节点与所述网络出口节点之间需要通信的业务的意图信息,包括:在所述需要通信的业务包括P个业务的情况下,获取所述P个业务的P个意图信息,其中,P为1,或者,为大于或等于2的正整数,每个意图信息表示对应的一条传播路径的一端节点到另一端节点的总度量;
所述根据所述意图信息,配置所述传播路径的信息,包括:根据所述P个意图信息,配置P条传播路径的信息,其中,每条完整传播路径的信息中的节点对应的指令信息所指示的度量之和等于对应的意图信息所表示的总度量。
16.根据权利要求15所述的方法,其特征在于,在根据所述P个意图信息,配置P条传播路径的信息之后,所述方法还包括:
在所述BGP路由通告消息中携带所述P条传播路径的信息。
17.根据权利要求1至5中任一项所述的方法,其特征在于,所述指令信息包括以下至少之一:传输时延要求信息、带宽要求信息、路径亲和力要求信息。
18.根据权利要求17所述的方法,其特征在于,当所述指令信息包括传输时延要求信息时,所述底层传输路径的传输时延小于或等于所述传输时延要求信息所指示的传输时延。
19.一种路由通告消息的处理装置,其特征在于,包括:
第一获取模块,用于在当前节点上获取上一个节点发送的边界网关协议BGP路由通告消息,其中,所述BGP路由通告消息中携带有传播路径的信息,所述传播路径是从网络出口节点向网络入口节点的方向上的路径,所述BGP路由通告消息中指示了转发方向上的BGP下一跳节点,所述转发方向是从所述网络入口节点向所述网络出口节点的方向;
第一确定模块,用于在所述BGP下一跳节点与所述当前节点是所述传播路径上的相邻两个节点的情况下,根据所述传播路径的信息中的所述当前节点对应的指令信息,确定所述当前节点到所述BGP下一跳节点的底层传输路径。
20.根据权利要求19所述的装置,其特征在于,当所述指令信息包括传输时延要求信息时,所述底层传输路径的传输时延小于或等于所述传输时延要求信息所指示的传输时延。
21.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至18任一项中所述的方法的步骤。
22.一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至18任一项中所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210461664.2A CN117014356A (zh) | 2022-04-28 | 2022-04-28 | 路由通告消息的处理方法、装置、存储介质及电子装置 |
PCT/CN2023/072430 WO2023207227A1 (zh) | 2022-04-28 | 2023-01-16 | 路由通告消息的处理方法、装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210461664.2A CN117014356A (zh) | 2022-04-28 | 2022-04-28 | 路由通告消息的处理方法、装置、存储介质及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117014356A true CN117014356A (zh) | 2023-11-07 |
Family
ID=88517208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210461664.2A Pending CN117014356A (zh) | 2022-04-28 | 2022-04-28 | 路由通告消息的处理方法、装置、存储介质及电子装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117014356A (zh) |
WO (1) | WO2023207227A1 (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107005474B (zh) * | 2015-07-06 | 2020-10-16 | 华为技术有限公司 | 路由控制的方法、设备和系统 |
US10432523B2 (en) * | 2017-05-31 | 2019-10-01 | Juniper Networks, Inc. | Routing protocol signaling of multiple next hops and their relationship |
CN113709031B (zh) * | 2021-08-30 | 2022-10-21 | 烽火通信科技股份有限公司 | 一种约束路由传输分发的方法和装置 |
-
2022
- 2022-04-28 CN CN202210461664.2A patent/CN117014356A/zh active Pending
-
2023
- 2023-01-16 WO PCT/CN2023/072430 patent/WO2023207227A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023207227A1 (zh) | 2023-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3624408B1 (en) | Method for generating forwarding table entry, controller, and network device | |
CN107968750B (zh) | 报文传输方法、装置及节点 | |
KR101628640B1 (ko) | 복수의 abr에 걸쳐 경로 코스트 기준을 일치시키는 시스템, 방법 및 방치 | |
US7751405B1 (en) | Automatic configuration of label switched path tunnels using BGP attributes | |
US8811388B2 (en) | Service instance applied to MPLS networks | |
CN101288266B (zh) | 自治系统间流量工程标签交换路径路由信息的动态检索方法及系统 | |
US20200396162A1 (en) | Service function chain sfc-based communication method, and apparatus | |
US10892982B2 (en) | Method for updating route in network, network device, and system | |
CN113615133B (zh) | 一种区域间srmpls igp网络中进行最优路由的方法、节点及其系统 | |
EP2744167A1 (en) | Method, apparatus and system for generating label forwarding table in ring topology | |
EP3754914B1 (en) | Class-based traffic engineering in an ip network | |
CN101013948B (zh) | 构建等耗多径多播分发结构 | |
CN107294859B (zh) | 一种信息传递方法、装置及系统 | |
US11916783B2 (en) | Information reporting method, information processing method, apparatus, and device | |
US20230006917A1 (en) | Route Determining Method and Apparatus and Network Device | |
WO2023036087A1 (zh) | 路由通告方法、路径建立方法、业务数据的传输方法、自治系统边界路由器 | |
CN117014356A (zh) | 路由通告消息的处理方法、装置、存储介质及电子装置 | |
CN116112416A (zh) | 报文转发方法、电子设备及存储介质 | |
WO2016119461A1 (zh) | 一种建立bgp lsp隧道的方法及网络设备 | |
CN114079640A (zh) | 一种数据处理方法、用户面功能及装置 | |
CN105591940B (zh) | 一种trill网络分发树选择方法和trill网络节点 | |
WO2020021558A1 (en) | Methods, apparatus and machine-readable media relating to path computation in a communication network | |
CN114079629B (zh) | 最大传输单元mtu确定方法、装置、设备以及存储介质 | |
WO2023231438A1 (zh) | 报文发送的方法、网络设备及系统 | |
WO2023173989A1 (zh) | 转发表的生成方法及装置、存储介质、电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |