用于针对经标记的路由协议路由的分布式标签分派的方法和设备技术

技术编号:38459054 阅读:13 留言:0更新日期:2023-08-11 14:36
本公开的实施例涉及用于针对经标记的路由协议路由的分布式标签分派的方法和设备。总体上,在本公开中描述了针对经标记的路由进行分布式标签分派的技术的各个方面。在一个示例中,方法包括:由多个执行线程中针对在网络设备的处理电路上执行的至少一个路由协议进程的第一线程获得从针对网络服务的标签空间中取得的第一标签的分配;由第一线程将第一标签添加到针对第一线程的第一本地标签池;由第一线程在获得第一标签的分配之后,生成经标记的路由,经标记的路由包括针对网络服务的路由和由第一线程从第一本地标签池分派的标签;以及由网络设备输出经标记的路由。由网络设备输出经标记的路由。由网络设备输出经标记的路由。

【技术实现步骤摘要】
Private Networks(VPNs)(BGP/MPLS IP虚拟专用网(VPN))”中讨论了有关VPN(特别是使用BGP和MPLS实现的VPN)的进一步的细节,该文的全部内容通过引用整体并入。依赖于BGP通告的标签的其他网络协议包括BGP标记的单播(BGP

LU)、以太网VPN(EVPN)和一些其他形式的层3VPN(L3VPN)。

技术实现思路

[0008]总体上,本公开描述了由网络设备执行的、用于对经标记的路由进行分布式标签分派的技术。网络设备可以在一个或多个处理核心上执行多个线程,以准备在诸如边界网关协议(BGP)UPDATE消息的路由通告中进行通告的经标记的路由。经标记的路由的准备包括从标签空间分配(allocating)标签。为了完成这样的标签分配,线程实现了其中标签分配的性能接近集中式标签分配的性能的并发模型。
[0009]在一个示例中,标签(例如,服务标签或基础结构标签)在线程之间被分派,使得每个线程管理作为标签的唯一子集的本地标签池。即,线程的本地标签池中的所有标签都不会与其他线程所管理的本地标签池的标签重叠。每个线程将其本地标签池用于标签分派,并且由线程释放的标签将被释放到其本地标签池。另外,线程将全局标签池中的标签批次预取(pre

fetch)到其本地标签池中,以避免初始获取时延,并根据阈值(或“水印”)来将标签批次释放到全局标签池中,以将与标签分配和释放有关的线程间通信减小且在一些情况下最小化。每个线程然后可以从其本地标签池分派标签,以包括路由,以用于由网络设备使用路由协议(例如,BGP)来通告经标记的路由。接收到经标记的路由的网络设备可以随后将标记有标签的网络分组引导到网络设备,网络设备使用该网络分组来标识用于处理网络分组的服务。例如,这样的服务可以包括诸如MPLS/BGPVPN的MPLS VPN、BGP

LU服务或EVPN。
[0010]技术可以提供一个或多个技术改进或益处,一个或多个技术改进或益处提供至少一个实际应用。通常,缓慢的标签分配可以导致生成和输出路由通告产生延迟,并给网络分组转发带来伴随的不利影响。避免多线程之间的标签冲突的先前尝试在很大程度上依赖于:通常在工作者线程和负责管理标签分配(按标签执行)的中央线程之间的请求/响应模式下,用线程间/进程间通信交换消息来避免标签冲突。因为线程间消息涉及时延和处理器(例如,CPU)成本,所以集中管理的每个标签的分配可以变得非常昂贵,并导致显著的性能损失。在其他系统中,互斥锁可以用于来自中心线程的所分配的标签。
[0011]根据本文描述的技术操作的线程实现了并发模型,在并发模型中,线程之间的协调相对不频繁且是分批次的,并且每个线程具有从中取得(draw)低时延标签分派的分离的本地标签池。此外,线程可以根据阈值来预取标签批次。这减少了线程间消息传递,并且可能导致标签分派的失败率(即,线程无法从其本地标签池分派标签)接近零。效率可以减少网络设备用于经标记的路由生成和通告的平均总体时延,并且可以导致网络分组转发的伴随改进。
[0012]在一个示例中,方法包括:由多个执行线程中针对网络设备的处理电路上执行的至少一个路由协议进程的第一线程获得从针对网络服务的标签空间中取得的第一标签的分配;由第一线程将第一标签添加到针对第一线程的第一本地标签池;由第一线程在获得第一标签的分配之后,生成经标记的路由,经标记的路由包括针对网络服务的路由和由第一线程从第一本地标签池分派的标签;以及由网络设备输出经标记的路由。
[0013]在另一示例中,网络设备包括至少一个基于硬件的处理器,其用于执行多个执行线程中针对在网络设备的处理电路上执行的至少一个路由协议进程的第一线程,至少一个基于硬件的处理器被配置为:由多个执行线程中针对网络设备的处理电路上执行的至少一个路由协议进程的第一线程获得从针对网络服务的标签空间中取得的第一标签的分配;由第一线程将第一标签添加到针对第一线程的第一本地标签池;由第一线程在获得第一标签的分配之后,生成经标记的路由,经标记的路由包括针对网络服务的路由和由第一线程从第一本地标签池分派的标签;以及由网络设备输出经标记的路由。
[0014]在另一示例中,一种计算机可读介质包括指令,该指令用于使得网络设备的一个或多个可编程处理器:由多个执行线程中针对网络设备的处理电路上执行的至少一个路由协议进程的第一线程获得从针对网络服务的标签空间中取得的第一标签的分配;由第一线程将第一标签添加到针对第一线程的第一本地标签池;由第一线程在获得第一标签的分配之后,生成经标记的路由,经标记的路由包括针对网络服务的路由和由第一线程从第一本地标签池分派的标签;以及由网络设备输出经标记的路由。
[0015]在附图和以下描述中阐述了一个或多个示例的细节。根据说明书和附图以及根据权利要求书,其他特征、目的和优点将是明显的。
附图说明
[0016]图1是图示了根据本公开中描述的技术的示例网络设备的框图。
[0017]图2是图示了根据本公开中描述的技术的示例线程的框图。
[0018]图3是图示了根据本公开中描述的技术的用于标签分配和释放的示例操作的流程图。
[0019]图4是图示了根据本公开中描述的技术的用于网络中的示例网络设备的示例本地标签池和水印的框图。
[0020]图5是图示了根据本公开中描述的技术的用于管理图4的示例本地标签池的示例操作的流程图。
[0021]贯穿附图和文本,系统的附图标记表示相同的元素。
具体实施方式
[0022]图1是图示了根据本公开中描述的技术的作为示例网络设备的网络设备12的框图。网络设备12可以表示路由器、路由反射器或其他网络设备,该其他网络设备经由一个或多个网络链路被连接到向网络设备12通告路由并从网络设备12接收路由的其他网络设备。例如,网络设备12可以是:服务提供方网络、企业网络、诸如数据中心网络的边缘网络的核心或边缘路由器;访问路由器;控制器;真实或虚拟服务器或被配置为执行路由的其他计算节点或路由反射器;或上述网络或其他网络中任一个的路由反射器。
[0023]网络设备12包括多核计算环境52,多核计算环境52包括多个CPU处理器或核56A

56K(统称为“核56”),其中“K”是大于1的整数。多核计算环境52可以包括例如从四个到数千个的任意数量的处理器和任意数量的硬件核心。处理核56中的每一个包括独立的执行单元,以执行符合核心的指令集架构的指令。处理核56可以各自被实现为分离的集成电路(IC),或者可以被组合在各自使用单个IC(即,芯片多处理器)、分组或管芯来实现的一个或
多个多核处理器(或“许多核”处理器)内。备选地或另外,多核计算环境52可以包括专用硬件(诸如,一个或多个集成电路、一个或多个专用集成电路(ASIC)、一个或多个专用处理器(ASSP)、一个或多个现场可编程门阵列(FPGA)或专用硬件的前述示例的一个或多个示例的任何组合)来执行本文所述的技术。如本文所使用的,“处理本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种计算机联网方法,包括:由在网络设备的处理电路上执行的多个执行线程的线程获得从针对网络服务的标签空间取得的标签的分配;由所述线程在获得所述标签的所述分配之后,生成包括边界网关协议BGP消息的经标记的路由,所述BGP消息包括来自标签的所述分配的标签;以及将所述经标记的路由存储到虚拟路由和转发实例VRF,以用于实现所述网络服务。2.根据权利要求1所述的方法,其中所述网络服务包括以下一项:基于多协议标签交换的虚拟专用网络服务、边界网关协议标记的单播服务、或者以太网虚拟专用网络服务。3.根据权利要求1的方法,还包括:由所述网络设备向BGP对等方输出所述经标记的路由。4.根据权利要求1所述的方法,其中所述标签包括多协议标签交换标签。5.根据权利要求1至4中任一项所述的方法,其中所述线程包括第一线程,并且所述标签包括第一标签,所述方法还包括:由所述多个执行线程的第二线程获得从针对所述网络服务的所述标签空间取得的第二标签的分配;以及由所述第二线程向针对所述第二线程的本地标签池添加第二标签,其中所述第一标签的每个标签与所述第二标签的每个标签不同。6.根据权利要求1至4中任一项所述的方法,还包括:由所述多个执行线程的管理针对所述网络服务的所述标签空间的主线程向所述线程分配所述标签。7.根据权利要求1至4中任一项所述的方法,还包括:由所述多个执行线程的管理针对所述网络服务的所述标签空间的主线程向所述线程分配附加标签,以针对所述线程提供经修改的本地标签池;由所述线程生成包括BGP消息的附加经标记的路由,所述BGP消息包括所述附加标签;以及将所述附加经标记的路由存储到所述VRF,以用于实现所述网络服务。8.根据权利要求7所述的方法,其中分配所述附加标签包括基于对由所述线程输出的附加标签的请求来分配所述附加标签。9.根据权利要求7所述的方法,还包括:由所述线程基于确定针对所述线程的本地标签池的大小满足阈值,输出对标签的请求。10.根据权利要求1至4中任一项所述的方法,还包括:由所述线程向所述多个执行线程的管理针对所述网络服务的所述标签空间的主线程释放针对所述线程的本地标签池的一部分。11.根据权利要求10所述的方法,其中所述释放包括:由所述线程基于确定针对所述线程的所述本地标签池的大小满足阈值来释放针对所述线程的所述本地标签池的所述部分。12.根据权利要求1至4中任一项所述的方法,还包括:由所述网络设备接收包括所述标签的分组;
由所述网络设备基于所述标签来标识从所述经标记的路由生成的并且针对所述网络服务的转发信息;以及根据从所述经标记的路由生成的所述转发信息来处理所述分组。13.根据权利要求1至4中任一项所述的方法,还包括:由所述网络设备获得针对所述网络服务的路由;以及由所述线程响应于确定本地标签池没有可用的标签进行分派,将所述路由保存到存储装置,其中生成包括由所述线程基于接收标签的所述分派并且从存储装置获得所述路由来生成所述经标记的路由。14.一种网络设备,包括:一个或多个处理器,被耦合到包括指令的存储器,其中所述指令将所述一个或多个处理器配置为:执行多个执行线程的一个线程;由所述线程获得从针对网络服务的标签空间取得的标签的分配;由所述线程在获得所述标签的所述分配之后,生成包括边界网关协议BGP消息的经标记的路由,所述BGP消息包括来自标签的所述分配的标签;以及将所述经标记的路由存储到虚拟路由和转发实例VRF,以用于实现所述...

【专利技术属性】
技术研发人员:K
申请(专利权)人:瞻博网络公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1