分段路由中的冲突解决的制作方法

文档序号:16630496发布日期:2019-01-16 06:31阅读:279来源:国知局
分段路由中的冲突解决的制作方法

本公开内容涉及计算机网络,并且更具体地涉及在计算机网络内设计业务流。



背景技术:

计算机网络是交换数据和共享资源的互连计算设备的集合。在诸如因特网的基于分组的网络中,计算设备通过将数据分成被称为分组的小块来传送数据,这些小块在网络上被分别从源设备路由到目的地设备。目的地设备从分组中提取数据并且将数据组装成其原始形式。

网络内的被称为路由器的某些设备(即,节点)使用路由协议来交换和累积描述网络的拓扑信息。这允许路由器构建其自己的网络路由拓扑图。在接收到传入数据分组时,路由器检查分组内的密钥信息,并且根据累积的拓扑信息转发分组。

很多路由协议属于被称为内部网关协议(igp)的协议类别,在igp中,使用基于洪泛的分发机制来向网络内的路由器通告拓扑信息。这些路由协议通常依赖于要求每个路由器针对给定域(被称为igp区域或域)具有同步路由拓扑信息的路由算法。根据链路状态路由协议维持的链路状态数据库(lsdb)或流量工程数据库(ted)的内容具有igp域的范围。igp路由协议通常要求igp路由域中的所有路由器都在内部lsdb或ted内存储已经根据igp协议而被分发的所有路由信息。在操作中,每个路由器通常维持内部链路状态数据库并且以定义的时间间隔扫描整个数据库以生成和输出链路状态消息,以将数据库同步到路由域内的相邻路由器。以这种方式,链路状态在整个路由域中传播并且被完整地存储在域内的每个路由器上。

基于分组的网络越来越多地使用标签交换协议来进行流量工程和其他目的。多协议标签交换(mpls)是一种用于根据由网络中的路由器维持的路由信息来设计因特网协议(ip)网络中的流量模式的机制。通过使用诸如标签分发协议(ldp)、带有流量工程扩展的资源预留协议(rsvp)(rsvp-te)或分段路由(sr)扩展的mpls协议,标签交换路由器可以使用被预先赋予流量的标签沿着特定通过网络到目的地设备的路径(即,标签交换路径(lsp))转发业务。lsp定义了通过网络从源设备到目的地设备携带mpls分组的不同路径。使用mpls协议,沿着lsp的每个路由器与目的地相关联地分配标签并且将该标签沿着路径传播到最近的上游路由器。沿着路径的路由器添加(推送)、去除(弹出)或交换标签,并且执行其他mpls操作以沿着建立的路径转发mpls分组。

诸如通过使用网络中的源分组路由(spring)协议,路由器可以采用分段路由技术,其在igp域内提供分段路由以广告单跳或多跳lsp。spring包括多种不同的标签类型,包括“邻接”标签和“节点”标签。为了通过网络转发分组,路由器可以推送(并且弹出)在通过网络被转发时被应用于分组的标签栈(例如,分段列表)中的一个或多个标签。



技术实现要素:

一般而言,本公开内容描述了用于解决分段路由中出现的冲突的技术。如本文中描述的,路由器可以接收由网络中的其他路由器发起的广告。每个相应的广告可以指定相应的前缀和相应的分段标识符(sid)。相应的前缀可以是地址或地址块。例如,相应的前缀可以指定因特网协议(ip)地址或ip地址的块。典型地,响应于接收到广告,路由器确定通过网络到由广告指定的前缀的路线。另外,路由器将sid与路线相关联。随后,当路由器接收到附接有sid的分组时,路由器通常将分组转发给沿着与sid相关联的确定的路线的下一跳。

然而,存在其中路由器接收到指定相同前缀但是不同sid的两个或更多个广告的情况。此外,存在其中路由器接收到指定不同前缀但是相同sid的两个或更多广告的情况。如下所述,本公开内容描述了用于处理这些情况的技术。

在一个示例中,本公开内容描述了一种方法,其包括:由网络中的第一路由器接收由网络的第一内部网关协议(igp)等级中的第二路由器发起的第一广告,其中第一广告指定第一前缀和分段标识符(sid);由第一路由器接收由网络的第二igp等级中的第三路由器发起的第二广告,其中第二广告指定第二前缀和sid;基于第一广告和第二广告指定相同sid并且基于第一igp等级具有低于第二igp等级的可见度:由第一路由器将sid选择为与到第一前缀的路线相关联,而不是sid与到第二前缀的路线相关联;以及由第一路由器生成将sid与到第一前缀的路线相关联的数据;并且由第一路由器将到第一前缀的路线安装为活跃路线。

在另一示例中,本公开内容描述了一种方法,其包括:由网络中的第一路由器接收由网络的第一内部网关协议(igp)等级中的第二路由器发起的第一广告,其中第一广告指定第一前缀和第一分段标识符(sid);由第一路由器接收由网络的第二igp等级中的第三路由器发起的第二广告,其中第二广告指定第二前缀和第二sid,第二sid不同于第一sid;基于第一前缀等于第二前缀并且基于第一igp等级具有低于第二igp等级的可见度:由第一路由器将第一sid选择为与到第一前缀的路线相关联,而不是第二sid与到第一前缀的路线相关联;以及由第一路由器生成将第一sid与到第一前缀的路线相关联的数据;并且由第一路由器将到第一前缀的路线安装为活跃路线。

在又一示例中,本公开内容描述了一种方法,其包括:由网络中的第一路由器接收由网络的第二路由器发起的第一广告,其中第一广告指定第一前缀和分段标识符(sid);由第一路由器接收由网络的第三路由器发起的第二广告,其中第二广告指定第二前缀和sid;基于第一广告和第二广告指定相同sid并且基于第一路由协议与比第二路由协议更低的管理距离相关联:由第一路由器将sid选择为与到第一前缀的路线相关联,而不是sid与到第二前缀的路线相关联;以及由第一路由器生成将sid与到第一前缀的路线相关联的数据;并且由第一路由器将到第一前缀的路线安装为活跃路线。

在又一示例中,本公开内容描述了一种路由器,其包括:多个接口卡(ifc),其被配置为:接收由网络的第一内部网关协议(igp)等级中的第二路由器发起的第一广告,其中第一广告指定第一前缀和分段标识符(sid);以及接收由网络的第二igp等级中的第三路由器发起的第二广告,其中第二广告指定第二前缀和sid;以及控制单元,其被配置为:基于第一广告和第二广告指定相同sid并且基于第一igp等级具有低于第二igp等级的可见度:将sid选择为与到第一前缀的路线相关联,而不是sid与到第二前缀的路线相关联;并且生成将sid与到第一前缀的路线相关联的数据;并且将到第一前缀的路线安装为活跃路线。

在又一示例中,本公开内容描述了一种路由器,其包括:多个接口卡(ifc),其被配置为:接收由网络的第一内部网关协议(igp)等级中的第二路由器发起的第一广告,其中第一广告指定第一前缀和第一分段标识符(sid);以及接收由网络的第二igp等级中的第三路由器发起的第二广告,其中第二广告指定第二前缀和第二sid,第二sid不同于第一sid;以及控制单元,其被配置为:基于第一前缀等于第二前缀并且基于第一igp等级具有低于第二igp等级的可见度:将第一sid选择为与到第一前缀的路线相关联,而不是第二sid与到第一前缀的路线相关联;并且生成将第一sid与到第一前缀的路线相关联的数据;并且将到第一前缀的路线安装为活跃路线。

在又一示例中,本公开内容描述了一种路由器,其包括:多个接口卡(ifc),其被配置为:接收由网络的第二路由器发起的第一广告,其中第一广告指定第一前缀和分段标识符(sid);由第一路由器接收由网络的第三路由器发起的第二广告,其中第二广告指定第二前缀和sid;以及控制单元,其被配置为:基于第一广告和第二广告指定相同sid并且基于第一路由协议与比第二路由协议更低的管理距离相关联:将sid选择为与到第一前缀的路线相关联,而不是sid与到第二前缀的路线相关联;并且生成将sid与到第一前缀的路线相关联的数据;并且将到第一前缀的路线安装为活跃路线。

在附图和下面的描述中阐述了一个或多个示例的细节。从说明书、附图和权利要求书中,其他特征、目的和优点将显而易见。

附图说明

图1是示出根据本公开内容中描述的技术的支持源分组路由的示例网络的框图;

图2是示出能够根据本文中描述的技术操作的示例控制器的框图;

图3是示出响应于接收到分组的路由器的示例操作的流程图;

图4是示出根据本公开内容的一个或多个技术的响应于接收到广告的路由器的示例操作的流程图;

图5是示出根据本公开内容的一个或多个技术的响应于前缀冲突的路由器的示例操作的流程图;

图6是示出根据本公开内容的一个或多个技术的响应于分段标识符(sid)冲突的路由器的示例操作的流程图;

图7是示出根据本公开内容的一个或多个技术的响应于sid冲突的路由器的示例操作的流程图;

图8是示出根据本公开内容的一个或多个技术的响应于前缀冲突的路由器的示例操作的流程图;以及

图9是示出根据本公开内容的一个或多个技术的其中使用多个内部网关协议(igp)的响应于sid冲突的路由器的示例操作的流程图。

具体实施方式

图1是示出根据本公开内容中描述的技术的支持源分组路由的示例网络10的框图。源分组路由(也可以被称为分段路由)是控制平面架构,其使得入口路由器能够通过网络中特定的一组节点和链路来定向分组。

在图1的示例中,网络10包括路由器12a至12h(被统称为“路由器12”)。在一些示例中,路由器12a用作入口路由器,并且因此在本公开内容中可以被称为入口路由器12a。由入口路由器12a接收的网络业务的源可以包括向网络10中的入口路由器12a提供业务的一个或多个设备(未示出)和/或任何公共或专用网络或因特网。此外,在一些示例中,路由器12h用作出口路由器,并且因此在本公开内容中可以被称为出口路由器12h。在lsp上转发的网络业务的目的地可以包括一个或多个目的地设备和/或网络,可以包括包括多个设备的lan或广域网(wan)。例如,目的地设备可以包括经由网络10访问源的个人计算机、膝上型计算机、工作站、个人数字助理(pda)、无线设备、网络就绪设备、文件服务器、打印服务器或其他设备。

在图1的示例中,路由器12可以使用分段路由技术,例如网络中的源分组路由(spring)协议。例如,分段路由技术用于配置用于从入口路由器12a到出口路由器12g的路径的标签。内部网关协议(igp)域(例如,网络10)内的分段路由允许路由器广告igp域内的单跳或多跳lsp,诸如分段路由lsp。换言之,分段路由可以使igp用于广告两种类型的网段(例如,隧道)。首先,严格转发的1跳隧道,其通过两个节点之间的特定链路传输分组,而不考虑链路成本(下文中被称为“邻接段”)。其次,多跳隧道,其使用两个特定节点之间或到特定前缀之间的最短路径链路(下文中被称为“前缀段”)。示例igp包括中间系统中间系统(is-is)和开放最短路径优先(ospf)。

对于前缀段内的分段路由,“路径”信息作为该域的igp链路状态信息的一部分在路由器之间传播。入口路由器12a能够通过向分组前缀一个或多个分段标识符(sid)来控制分组通过一组受控指令,被称为分段。换言之,入口路由器12a可以通过向分组前缀适当的sid组合(栈)来定向分组通过期望的一组节点和链路。分段路由允许路由器强制通过任何拓扑路径和服务链的流量,同时仅在分段路由域的入口节点处维持每流状态。

分段路由的一个潜在优点可以是,分段路由架构可以直接应用于多协议标签交换(mpls)数据平面而不会改变转发平面。网络管理员只需要向特定路由器分配sid,并且分段路由igp控制平面自动构建从特定路由器到任何其他路由器转发构造所需要的mpls。分段路由在filsfils等人的2013年6月的互联网草案draft-filsfils-rtgwg-segment-routing-00的“segmentroutingarchitecture”中进一步描述,而分段路由用例在filsfils等人的2013年7月的互联网草案draft-filsfils-rtgwg-segment-routing-use-cases-01的“segmentroutingusecases”中描述。关于spring的进一步细节在(1)2014年7月3日的ietf草案draft-filsfils-spring-segment-routing-04的“segmentroutingarchitecture”;(2)s.previdi等人的2017年5月的rfc7855的“sourcepacketroutinginnetworking(spring)problemstatementandrequirements”;以及(3)2014年8月1日的ietf草案draft-filsfils-spring-segment-routing-mpls-03的“segmentroutingwithmplsdataplane”中找到。

每个路由器12可以与前缀相关联。例如,管理员可以指派用于路由器的前缀。前缀可以是地址或地址块。对应于节点(例如,路由器)的前缀可以包括因特网协议(ip)地址、ip地址块或标识节点的其他类型的数据。另外,一个或多个路由器12可以配置有分段标识符(sid)。在一些示例中,路由器12通过手动配置来配置有前缀和sid。网络10中的路由器可以将其前缀和sid广告给网络10中的其他路由器12。换言之,路由器可以发起指定前缀和sid的广告。例如,路由器12d可以广告它的前缀是2.2.2.33/32并且它的sid是1063。为了被广告的前缀和sid,路由器可以向相邻路由器发送指定前缀和sid的消息。例如,路由器12d可以向路由器12c、12g和12h发送消息。

当路由器接收广告时,路由器可以将广告转发给相邻路由器。例如,如果路由器12c从路由器12d接收到广告,则路由器12c可以将广告转发给路由器12b。以这种方式,最终,每个路由器12接收广告。仅仅转发广告的路由器不被认为发起广告。另外,当路由器接收到广告时,路由器确定在广告中指定的前缀是否已经与在广告中指定的sid相关联。如果是这种情况并且如果广告表示新的最佳路径,则路由器可以响应于广告来更新路由表,使得路由表指示到前缀的路线中的下一跳。如果广告表示与现有路由相等的成本,则路由器可以向现有路线添加等价的多路径(ecmp)下一跳。

然而,如果广告指定尚未在路由器的链路状态数据库(lsdb)中的前缀和sid,则路由器可以计算到在广告中指定的前缀的路线。例如,如果路由器12c接收到指定指派给路由器12h的前缀的广告,则路由器12c可以计算通过网络10到路由器12h的路线(例如,经由路由器12c和路由器12d)。在一些示例中,路由器可以根据最短路径算法或严格最短路径算法来计算路线。此外,在一些示例中,广告可以指定用于计算到在广告中指定的前缀的路线的类型的算法。另外,路由器可以将由广告指定的sid与计算出的到由广告指定的前缀的路线相关联。换言之,路由器可以生成将sid与路线相关联的数据。路由器然后可以安装的路线作为活跃路线。安装的路线作为活跃路线可以包括生成转发信息,路由器的转发组件可以使用该转发信息来向与附接到分组的sid相关联的路线的下一跳转发分组。例如,安装的路线作为活跃路线可以包括在转发表中生成将sid映射到附接到与sid相关联的路线的下一跳的链路的接口卡的信息。

诸如网络10等网络可以被划分为igp等级的层级。igp等级也可以被称为“igp区域”。例如,网络10包括两个等级:等级1和等级2。在图1的示例中,路由器12a、12b、12c、12e和12f处于等级1,并且路由器12c、12d、12f、12g和12h处于等级2。路由器12c和12f处于等级1和等级2两者。igp等级的层级中的较高等级与igp等级的层级中的较低等级相比具有较高的可见度。可见度大于第一较低等级的第二等级中的节点可以存储描述较低可见度等级中的节点和路线的数据。换言之,第一等级中的节点可以查看更多,并且因此被认为具有较高的可见度。但是,给定等级的节点通常不会存储描述可见度高于给定等级的任何等级中的节点和路线(包括前缀和sid)的数据。例如,处于较低可见度igp等级的路由器通常不会存储用于任何较高等级的igp等级的链路状态数据库(lsdb)和相应的前缀广告。lsdb可以是描述网络或网络的一部分的拓扑的数据库。

在图1的示例中,路由器12c、12d、12f、12g和12h可以存储关于路由器12c、12d、12f、12g和12h以及路由器12c、12d、12f、12g和12h之间的链路的数据。另外,路由器12c、12d、12f、12g和12h可以存储由路由器12a、12b和12e广告的数据(例如,前缀和sid)。在这个示例中,路由器12a、12b和12e存储关于路由器12a、12b、12c、12e和12f以及路由器12a、12b、12c的链路的数据。然而,路由器12a、12b和12e通常不存储关于路由器12d、12g或12h或者路由器12d、12g或12h的链路的数据,诸如前缀。

如上所述,网络可以包括igp等级的层级。例如,网络10包括等级1和等级2。当由较低可见度等级(例如,等级1)中的路由器发起的广告到达跨越较低可见度igp等级和较高可见度igp等级(例如,等级2)的路由器时,跨越igp等级的路由器可以在较高可见度igp等级中重新发起广告。因此,较高可见度igp等级中的路由器可以接收由较低可见度igp等级中的路由器发起的广告。例如,在图1的示例中,如果路由器12c接收到由路由器12b发起的广告,则路由器12c将广告转发给路由器12d。但是,反过来通常是不正确的。也就是说,当跨越较高可见度igp等级和较低可见度igp等级的路由器接收到由较高可见度igp等级中的路由器发起的广告时,路由器通常不会将广告转发给较低可见度igp等级中的路由器。例如,在图1的示例中,如果路由器12c接收到由路由器12d发起的广告,则路由器12c不会将广告转发给路由器12b。

虽然跨越较高可见度igp等级和较低可见度igp等级的路由器通常不将在较高可见度igp等级中发起的广告转发给较低可见度igp等级中的路由器,但是管理员可以将路由器配置为这样做,至少对于某些前缀。本公开内容可以涉及将广告从较高可见度igp等级转发给较低可见度igp等级的动作,即将由广告指定的前缀从较高可见度igp等级“被泄露”到较低可见度igp等级。

在安装的路线作为活跃路线之后,路由器可以接收分组。响应于接收到分组,路由器可以确定一个或多个标签的栈是否附接到分组。标签栈包括有序标签序列。如果在路由器接收到分组时没有附接到分组的标签栈,或者如果在路由器去除活跃标签之后没有附接到分组的剩余标签,则路由器将分组转发给网络100中的另一节点而无需进一步使用分段路由。例如,路由器可以根据分组的ip地址来转发分组。

然而,如果标签栈仍然包括一个或多个标签,则路由器可以确定与栈的活跃标签相关联的路线的下一跳。活跃标签可以是栈顶部的标签。例如,活跃标签可以是首先出现在附接到分组的有序标签序列中的标签。如果与活跃标签相关联的路线的下一跳广告了活跃sid,则路由器可以从附接到分组的标签栈中去除活跃标签,可能留下一个或多个标签保持附接到分组。换言之,路由器可以从栈中“弹出”活跃标签。例如,如果路由器12d被指派sid“1063”并且路由器12c接收到附接有标签“1063”和“1040”的分组,则路由器12c可以从分组中去除标签“1063”并且将标签“1040”附接到分组。

路由器然后可以将分组连同栈的其余标签一起转发给路线上与活跃标签相关联的下一跳。例如,假定路由器12d广告了等于2.2.2.33/32的前缀和等于“1063”的sid。在这个示例中,路由器12f可以基于由路由器12f存储的网络拓扑数据来确定到路由器12d的路线。在这个示例中,确定的路线可以从路由器12f到路由器12g到路由器12d。另外,在这个示例中,路由器12f可以将确定的路线与sid“1063”相关联。随后,假定路由器12f本身没有被指派sid“1063”,如果路由器12f接收到具有等于“1063”的活跃标签的分组,则“路由器12f可以将分组转发给路由器12g。路由器12g执行类似的过程以将分组转发给路由器12d。

该系统可以允许诸如入口路由器12a的源节点控制分组通过网络10所采用的路径。例如,假定入口路由器12a被配置为经由通过路由器12g和路由器12d的路线向出口路由器12h发送分组。此外,在这个示例中,令路由器12g被指派sid“1063”并且令路由器12d被指派sid“1062”。因此,在这个示例中,入口路由器12a可以接收指定路由器12g的前缀和sid“1063”的广告。然后,入口路由器12a确定通过路由器12e和12f到路由器12g的路线并且将确定的路线与sid“1063”相关联。在这个示例中,入口路由器12a可以将标签“1062”推送到附接到分组的标签栈上,并且然后可以将标签“1063”推送到附接到分组的标签栈上。然后,入口路由器12a将分组发送给路线上与标签“1063”(即,路由器12e)相关联的下一跳。路由器12e和路由器12f进而基于标签“1063”将分组转发给路由器12g。因为标签“1063”与指派给路由器12g的sid匹配,所以路由器12g去除标签“1063”,留下标签“1062”。然后,路由器12g确定与标签“1062”相关联的路线。在这个示例中,与标签“1062”相关联的路线去往路由器12d,因为路由器12g接收到将路由器12d的前缀与标签“1062”相关联的广告。“因此,即使从路由器12a到路由器12h的最短路径实际上可能经过路由器12b、12c和12d,入口路由器12a也能够强制分组在分组去往路由器12h的路上通过路由器12g和12d。

然而,存在其中路由器(例如,路由器12中的任何一个)接收到冲突的广告的情况。例如,路由器可以接收指定第一前缀和sid的第一广告,并且路由器随后可以接收指定第二不同前缀和相同sid的第二广告。换言之,可能存在其中不同发起者的两个不同前缀与相同sid相关联的情况。在图1的示例中,如果路由器12d和路由器12g广告不同前缀(例如,分别为2.2.2.33/32和1.1.1.66332)和相同sid(例如,1063),则可能发生这种类型的冲突。这种类型的冲突可能是一种影响服务的冲突,因为从本质上,前缀之一缺少sid配置。然而,路由器12可以通过始终选择要安装标记路线的前缀之一来挽回一些流量。

在另一示例中,路由器可以接收指定前缀和第一sid的第一广告,并且路由器可以随后接收指定相同前缀和第二不同sid的第二广告。换言之,可能存在其中不同发起者的相同前缀与不同sid相关联的情况。在图1的示例中,如果路由器12b和路由器12e广告相同的前缀(例如,1.1.1.41/32)但是不同的sid(例如,“1041”和“1040”),则可能发生这种类型的冲突。这种类型的冲突通常不会影响服务,因为如果所有路由器始终选择sid之一用于将标记业务转发给前缀,则标记的路由和转发仍然可行。

这样的冲突的广告可能由于各种原因而发生。例如,前缀和sid可以通过手动配置来设置。由于这些配置是手动的,因此配置容易出错并且可能导致这样的冲突。

当路由器接收到冲突的广告时,路由器可以执行冲突解决程序。ginsberg等人于2017年4月27日发表的“segmentroutingconflictresolutiondraft-ietf-spring-conflict-resolution-03.txt”描述了用于解决前缀和sid冲突的各种规则。

然而,在包括igp等级的层次的网络(例如,网络10)中的sid冲突中可能出现安全风险。例如,假定等级1中的路由器12a广告第一前缀和sid。在这个示例中,假定等级1中的路由器12b广告第二不同前缀和相同sid,其中第二前缀小于第一前缀。在这个示例中,冲突解决规则可以规定,因为第二前缀小于第一前缀,所以路由器12只安装到第二前缀的标记路线。

然而,假定等级1中的路由器12a广告第一前缀(例如,1.1.1.10/32)和sid(例如,“1010”)并且等级2中的路由器12d广告第二前缀(例如,1.1.1.3/32)和相同sid(例如,“1010”)。在这个示例中,第二前缀(例如,1.1.1.3/32)小于第一前缀(例如,1.1.1.10/32)。等级1路由器(诸如路由器12a)通常不具有任何等级2链路状态数据库或前缀。因此,响应于这些广告,等级1路由器(例如,路由器12b和12e)将安装到与sid相关联的路由器12a的标记路线。然而,考虑跨越等级1和等级2的路由器(即,l1-l2路由器),诸如路由器12c和12f。l1-l2路由器可以将具有等于sid的活跃标签的分组定向到路由器12d而不是路由器12a,因为路由器12d还广告了sid。因此,通过广告与在网络10的较低可见度等级中的路由器相同的sid,路由器12d可以能够将预期给路由器12a的业务重定向到自己。这可能造成显著的安全风险,因为路由器12d可以能够访问不是预期给路由器12d的分组,并且因为路由器12d可以能够仅通过广告与路由器12a相同的sid来中断到路由器12a的合法分组流。此外,因为路由器12a不接收由等级2中的路由器发起的广告,所以路由器12a不会被警告冲突。

根据本公开内容的技术,应当注意,所有等级1路由器通常只能访问来自等级1的前缀,并且等级2路由器可以访问来自等级1和等级2的前缀。另外,等级2路由器可以访问来自等级1的前缀,这些前缀是重新发起的前缀。给定这些输入,l1-l2路由器(例如,路由器12c,12f)可以实现以下规则:在sid冲突的情况下,l1-l2路由器应当安装到具有最小可见度的前缀的标记路线。l1-l2路由器应当应用这个规则,而无论由较高可见度igp等级发起的广告指定的前缀是否小于由较低可见度igp等级发起的广告指定的前缀。这个规则的一致应用可以阻止较高可见度igp等级的路由器在先前广告相同sid的较低可见度igp中的路由器没有检测到的情况下通过被广告的sid来将业务定向到其自身。

因此,在根据该技术的一个示例中,网络(例如,网络10)中的第一路由器(例如,路由器12c或路由器12f)可以接收由网络的第一igp等级(例如,等级1)中的第二路由器(例如,路由器12a、路由器12b或路由器12e)发起的第一广告。在这个示例中,第一广告指定第一前缀和sid。另外,在这个示例中,第一路由器可以接收由网络的第二igp等级(例如,等级2)中的第三路由器(例如,路由器12d、路由器12h或路由器12g)发起的第二广告。在这个示例中,第二广告指定第二前缀和sid。此外,在这个示例中,第一路由器确定到第一前缀的路线。第一路由器还可以确定到第二前缀的路线。在这个示例中,基于第一广告和第二广告指定不同前缀和相同sid,并且基于第一igp等级具有低于第二igp等级的可见度,第一路由器将sid选择为与到第一前缀的路线相关联而不是sid与到第二前缀的路线相关联。第一路由器然后可以生成将sid与到第一前缀的路线相关联的数据。在这个示例中,第一路由器可以将到第一前缀的路线安装为活跃路线。

如上所述,管理员可以配置跨越两个不同igp等级的路由器,以将某些前缀从较高等级的igp等级被泄露到较低等级的igp等级。例如,在某些拓扑中,管理员可以经由显式策略将某些等级2前缀被泄露到等级1。当前缀从等级2被泄露到等级1时,is-is协议要求“down”位被设置。为了处理其中前缀从等级2被泄露到等级1的情况,冲突解决算法应当添加以下偏好规则:l1内部路线应当优先于具有down位的l1路线(从l2被泄露的路线)。

因此,在一个示例中,网络(例如,网络10)中的第一路由器(例如,路由器12a、12b、12e中的任何一个)可以接收由网络的第一igp等级(例如,等级1)中的第二路由器(例如,路由器12a、路由器12b或路由器12e)发起的第一广告。在这个示例中,第一广告指定第一前缀和sid。另外,在这个示例中,第一路由器可以接收由网络的第二igp等级(例如,等级2)中的第三路由器(例如,路由器12d、路由器12h或路由器12g)发起的第二广告。在这个示例中,第二广告指定第二前缀和sid。因此,在这个示例中,第二前缀从第二igp等级被泄露到第一igp等级。此外,在这个示例中,第一路由器确定到第一前缀的路线。第一路由器还可以确定到第二前缀的路线。在这个示例中,基于第一广告和第二广告指定相同sid并且基于第二前缀已经从第二igp等级被泄露并且第一前缀没有从第二igp等级被泄露,第一路由器将sid选择为与到第一前缀的路线相关联,而不是sid与到第二前缀的路线相关联。在一些示例中,通过基于第三广告的down位被设置来确定第三前缀从第二igp等级被泄露,第一路由器可以确定第二前缀从第二igp等级被泄露。类似地,通过基于第一广告的down位没有被设置来确定第一前缀没有从第二igp等级被泄露,第一路由器可以确定第一前缀没有从第二igp等级被泄露。

在本公开内容的一些示例中,跨越网络的igp等级的路由器(例如,l1-l2路由器)可以记录检测到冲突的广告的igp等级。如果冲突跨越igp域层级(例如,从不同的igp等级接收到冲突的广告),则路由器可以专门记录冲突。例如,路由器可以存储记录冲突的信息。此外,具有更广可见度的igp等级中的路由器(例如,图1的等级2)可以记录数据,以记录冲突的sid是否从不同等级重新发起。

当路由器接收到指定相同前缀和不同sid的两个广告时可能会出现另一种类型的冲突。例如,在以下情况下,认为is-is是igp。在这个示例中,路由器12b发起指定前缀和第一sid的广告。另外,在这个示例中,路由器12c发起指定相同前缀和第二不同sid的广告。在这个示例中,第二sid小于第一sid。在某些情况下,具有前缀的标记路线可以使用第一sid来安装,因为第一sid大于第二sid。该冲突解决程序可以在非层级网络中运行良好,因为可能没有服务影响。

然而,考虑以下示例:等级1中的路由器12a发起指定前缀(例如,1.1.1.30/32)和第一sid(例如,“1010”)的广告。在这个示例中,等级2中的路由器12d发起指定相同前缀(例如,1.1.1.30/32)和第二不同sid(例如,“1003”)的广告。再次,在这个示例中,第二sid小于第一sid。在这个示例中,因为等级1路由器(即,路由器12b、路由器12e)不具有等级2链路状态数据库或相应的前缀广告,所以等级1路由器使用第一sid安装到路由器12a的标记路线。然而,因为第二sid小于第一sid,所以等级2路由器(例如,路由器12d、路由器12g、路由器12h)使用第二sid安装到路由器12d的标记路线。结果,如果由等级2路由器转发的分组到达l1-l2路由器(例如,路由器12c、路由器12f),则根据is-is中的偏好规则,l1-l2路由器将分组转发给路由器12a。但是,由于该分组具有第二sid,因此l1路由器将丢弃分组,因为l1路由器没有与第二sid关联的任何安装的路线。因此,如果分组恰好通过l1-l2路由器,则指向路由器12d的合法分组可能会活跃消失。当由于各种事件(例如,网络拥塞)而导致路线改变时,l1-l2路由器可以被包括在到路由器12d的路线中或从其中排除。因此,分组可能会以难以预测的方式被丢弃。

本公开内容的技术解决了这个挑战。注意,较低可见度igp等级(例如,等级1)中的所有路由器通常只能访问由其自己等级的路由器广告的前缀,而较高可见度igp等级(例如,等级2)中的路由器可以访问由较高可见度igp等级和较低可见度igp等级两者中的路由器广告的前缀。此外,较高可见度igp等级中的路由器可以访问来自较低可见度igp等级的前缀,这些前缀是重新发起的前缀。鉴于此,路由器可以应用以下规则:在前缀冲突的情况下,标记路线应当使用网络可见度最低的等级的sid来对入口和传输路线编程。无论由从较高可见度igp等级发起的广告指定的sid是否小于由从较低可见度igp等级发起的广告指定的sid,该规则也适用。

因此,在根据本公开内容的技术的一个示例中,网络(例如,网络10)中的第一路由器(例如,路由器12c、路由器12f)可以接收由网络的第一igp等级中的第二路由器发起的第一广告。第一广告指定第一前缀和第一sid。另外,第一路由器接收由网络的第二igp等级中的第三路由器发起的第二广告。第二广告指定第二前缀和第二sid。在这个示例中,第二sid不同于第一sid。此外,在这个示例中,第一路由器确定到第一前缀的路线。在这个示例中,基于第一前缀等于第二前缀并且基于第一igp等级具有低于第二igp等级的可见度,第一路由器将第一sid选择为与到第一前缀的路线相关联,而不是第二sid与到第一前缀的路线相关联。另外,第一路由器生成将第一sid与到第一前缀的路线相关联的数据。第一路由器可以将到第一前缀的路线安装为活跃路线。

根据本公开内容的技术,当发生前缀冲突时(即,当路由器接收到指定相同前缀和不同sid的两个广告时),跨越两个igp等级的路由器(例如,l1-l2路由器)可以记录检测到冲突的广告的等级。如果前缀冲突跨越igp层级,则路由器可以专门记录前缀冲突(例如,除了在区域/等级内冲突的情况下由路由器使用的常规记录之外,还使用其他信息)。在一些示例中,用于指示前缀冲突的较高可见度igp等级(例如,等级2)日志数据中的路由器从较低可见度igp等级(例如,等级1)重新发起。

如上所述,管理员可以配置跨越两个不同igp等级的路由器,以将某些前缀从较高等级的igp等级被泄露到较低等级的igp等级。例如,在某些拓扑中,管理员可以经由显式策略将某些等级2前缀被泄露到等级1。为了处理其中前缀从等级2被泄露到等级1的情况,冲突解决算法应当添加以下偏好规则:等级1内部路线应当优先于具有down位的等级1路线(从l2被泄露的路线)。

因此,在一个示例中,网络(例如,网络10)中的第一路由器(例如,路由器12a、路由器12b、路由器12e)可以接收由网络的第一igp等级中的第二路由器发起的第一广告。第一广告指定第一前缀和第一sid。另外,第一路由器接收由网络的第二igp等级中的第三路由器发起的第二广告。第二广告指定第二前缀和第二sid。在这个示例中,第二sid不同于第一sid。在这个示例中,第二前缀从第二igp等级被泄露到第一igp等级。此外,在这个示例中,第一路由器确定到第一前缀的路线。在这个示例中,基于第一前缀等于第二前缀并且基于第二前缀已经从第二igp等级被泄露并且第一前缀没有从第二igp等级被泄露,第一路由器将第一sid选择为与到第一前缀的路线相关联,而不是第二sid与到第一前缀的路线相关联。另外,第一路由器生成将第一sid与到第一前缀的路线相关联的数据。第一路由器可以将到第一前缀的路线安装为活跃路线。

当从一个igp到另一igp(例如,从ospf到is-is,或反之亦然)迁移网络域时可能出现另一种类型的冲突。当从第一igp到第二igp迁移网络域时,通常使用以下操作步骤:

1.配置第二igp以传送相同的路由信息,尽管管理距离不太理想。

2.验证两个igp的相应路线是否相同。

3.将第二igp的管理距离提升到较高的优先级,使得第二igp变为活跃路线。

管理距离是指派给动态路线、静态路线和直接连接路线的任意单位的数目。管理距离由供应商特定的路由器使用用于从最优选(低管理距离值)到最不优选(高管理距离值)对路线排序。

在处理由不同协议引起的sid冲突时不考虑协议的管理距离可能导致冲突解决算法挑选具有较低偏好的前缀作为赢家。例如,假定管理员正在从第一igp到第二igp迁移网络域,并且第二igp的管理距离好于第一igp。在这个示例中,第一路由器可以使用第一igp来发起指定第一前缀和sid的广告。在这个示例中,第二路由器可以使用第二igp来发起指定第二不同前缀和相同sid的广告。在这个示例中,第一前缀小于第二前缀。在这种情况下,路由器可以基于第一前缀小于第二前缀来将到第一前缀的路线与sid相关联。在这个示例中,路由器不安装到与相sid关联的第二前缀的路线。因此,sid的运输路线朝向第一前缀。但是,在其中管理员想要从第一igp迁移到第二igp的情况下,这可能不是首选结果。

本公开内容的技术可以解决这个挑战。例如,在其中两个不同协议前缀之间发生sid冲突的情况下,冲突解决算法应当添加以下偏好规则:应当挑选具有更偏好协议的前缀。换言之,应当与具有较高管理距离的协议的前缀相比挑选具有较低管理距离的协议的前缀。

因此,在根据本公开内容的技术的一个示例中,网络(例如,网络12)中的第一路由器(例如,路由器12中的任何一个)可以接收由网络的第二路由器发起的第一广告。第一广告指定第一前缀和sid。另外,第一路由器可以接收由网络的第三路由器发起的第二广告。第二广告指定第二前缀和相同sid。另外,在这个示例中,第一路由器可以确定到第一前缀的路线。基于第一广告和第二广告指定相同sid并且基于第一路由协议与第二路由协议相比与较低的管理距离相关联,第一路由器可以将sid选择为与到第一前缀的路线相关联而不是sid与到第二前缀的路线相关联。此外,在这个示例中,第一路由器可以生成将sid与到第一前缀的路线相关联的数据。第一路由器然后可以将到第一前缀的路线安装为活跃路线。

本公开内容的示例可以一起使用或分开使用。

图2是示出执行本公开内容中描述的技术的各个方面的示例路由器200的框图。路由器200可以表示图1中的任何路由器12。虽然关于路由器200而被描述,但是这些技术可以由能够至少实现包括资源预留协议或分段路由协议在内的路由协议的任何其他类型的网络设备而被实现。因此,虽然关于路由器200而被描述,但是这些技术不应当限于关于图2的示例描述的路由器200。

在图4的示例中,路由器200包括分别经由网络链路256a至256n和257a至257n来接收和发送诸如分组流的数据单元的接口卡254a至254n(“ifc254”)。路由器200可以包括具有用于容纳包括ifc254在内的一组卡的多个槽的机架(未示出)。每个卡可以插入到机架的相应槽中,用于经由高速开关(未示出)将卡电耦合到路由组件244,高速开关可以包括例如交换结构、开关设备、可配置的网络交换机或集线器或者其他高速交换机制。ifc254可以经由多个物理接口端口(未示出)耦合到网络链路256a至256n和257a至257n。通常,ifc254每个可以表示路由器200可以通过其与网络的链路接口连接的一个或多个网络接口。

通常,路由器200可以包括确定接收的分组的路线并且经由ifc254相应地转发分组的控制单元242。在图2的示例中,控制单元242包括配置和控制由转发组件246(数据平面)应用的分组转发操作的路由组件244(控制平面)。

路由组件244提供用于在网络栈的不同层处执行的各种路由协议250的操作环境。路由组件244负责维持路由信息260以反映路由器200连接到的网络和其他网络实体的当前拓扑。特别地,路由协议周期性地更新路由信息260,以基于由路由器200接收的路由协议消息来准确地反映网络和其他实体的拓扑。协议可以是在一个或多个处理器上执行的软件进程。例如,路由组件244包括在网络栈的网络层处操作的网络协议,这些网络协议通常被实现为可执行软件指令。

在图2的示例中,协议270可以包括具有业务扩展(rsvp-te)协议271的资源预留协议以建立rsvp-telsp(例如,图1的rsvplsp26)。例如,路由组件244可以使用rsvp-te471来生成并且发送用于建立rsvplsp的path和resv消息。

协议270还可以包括igp-te组件272以实现具有流量工程扩展的igp协议以交换链路状态信息,并且促进在端点设备之间转发分组或其他数据单元。在一些示例中,igp-te组件272可以包括根据以下中的一项或多项的ospf路由协议:由j.moy于1998年4月发布的题为“ospfversion2”的rfc2328、由r.coltun等人于2008年7月发布的题为“ospfforipv6”的rfc5340、由n.sheth等人于2013年1月发布的题为“ospfhybridbroadcastandpoint-to-multipointinterfacetype”的rfc6845、以及由a.lindem等人于2013年1月发布的题为“ospfv3lsaextendibility”的网络工作组的互联网草案draft-acee-ospfv3-lsa-extend-01.txt。在一些示例中,根据由d.oran于1990年2月发布的题为“osiis-isintra-domainroutingprotocol”的rfc1142,igp-te组件272可以包括实现用于在路由域内交换路由和可达性信息的igp的is-is路由协议。igp-te组件可以包括支持利用多协议标签交换(mpls)进行流量工程的流量扩展,如由tonyli等人于1999年2月公布的题为“igprequirementsfortrafficengineeringwithmpls”的网络工作组的互联网草案draft-li-mpls-igp-te-00.txt中所述。在一些示例中,路由器200可以包括ospf组件和is-is组件两者。

协议270还可以包括配置协议。例如,协议270可以包括根据由jp.vasseur,ed.等人于2009年3月发布的题为“pathcomputationelement(pce)communicationprotocol(pcep)”的rfc5440的pcep274或者根据由r.enns,ed.等人于2011年6月发布的题为“networkconfigurationprotocol(netconf)”的netconf(未示出)。在一些示例中,pce267或中央控制器可以经由pcep274或netconf组件(未示出)向路由器200配置sid。协议270可以包括其他路由协议(未示出),诸如路由信息协议(rip)、边界网关协议(bgp)或其他网络协议。

路由组件244包括用于实现用于指定路由器200如何广告节点或邻接标签的igp协议(例如,is-is和ospf)的分段路由技术的分段路由(sr)组件273。如图1所示,通过向分组前缀分段路由报头,这些节点或邻接标签可以通过受控指令集(被称为分段)来定向分组。

通过执行路由协议,路由组件244标识通过网络的现有路线并且确定通过网络的新路线。路由组件244存储路由信息260,其包括例如通过网络的已知路线。转发组件246存储包括输出链路257的目的地的转发信息262。转发信息262可以根据路由信息260来生成。

路由组件244可以包括用于存储例如资源预留lsp或分段路由lsp的路径信息的流量工程数据库(ted)282。在其中路由器200支持分段路由(例如,spring)的一些示例中,ted282可以包括分段标识符信息。ted282可以采取各种数据结构的形式,诸如多个表格、链接列表、基数树、数据库、平面文件或其他数据结构。

根据本公开内容中描述的技术,ifc254可以被配置为接收广告并且转发分组,如本公开内容中其他地方所述。此外,控制单元242可以被配置为执行本公开内容中其他地方描述的冲突解决程序。例如,sr组件273可以接收广告并且执行冲突解决程序。例如,sr组件273可以根据本公开内容中其他地方提供的示例来解决sid冲突和前缀冲突。在一些示例中,sr组件273可以是igp-te组件272的一部分。

虽然出于与路由器相关的示例的目的而被描述,但是路由器200可以更一般地是具有路由功能的网络设备,并且不一定是专用路由设备。图2所示的路由器200的架构仅出于示例的目的被示出。本公开内容的技术不限于这种架构。在其他示例中,路由器200可以以各种方式配置。在一个示例中,控制单元242的一些功能可以分布在ifc254内。在另一示例中,控制单元242可以包括作为从路由器操作的多个分组转发引擎。

控制单元242可以仅以软件或硬件而被实现,或者可以以软件、硬件或固件的组合而被实现。例如,控制单元242可以包括以软件指令的形式执行程序代码的一个或多个处理器。在这种情况下,控制单元242的各种软件组件/模块可以包括存储在诸如计算机存储器或硬盘的计算机可读存储介质上的可执行指令。

图3是示出响应于接收到分组的路由器的示例操作的流程图。本公开内容的流程图被提供作为示例。根据本公开内容的技术的其他示例可以包括更多、更少或不同的动作,和/或可以以不同的顺序或并行地执行动作。

在图3的示例中,当前路由器(例如,路由器12(图1)或路由器200(图2)中的任何一个)可以接收分组(300)。响应于接收到分组,当前路由器可以确定分组是否具有标签(302)。响应于确定分组不具有标签(302的“否”分支),当前路由器可以基于分组的ip地址或其他标记来确定分组的下一跳(304)。当前路由器然后可以将分组转发给下一跳(306)。

然而,响应于确定分组具有标签(302的“是”分支),当前路由器可以确定与分组的活跃标签相关联的路线的下一跳(308)。另外,当前路由器可以确定活跃标签是否与下一跳相关联(310)。例如,当前路由器可以使用存储的路由信息来确定活跃等级是否与下一跳相关联。响应于确定活跃标签与下一跳相关联(310的“是”分支),当前路由器可以将活跃标签从分组弹出(312)。在将标签从分组弹出之后或响应于确定活跃标签与下一跳不相关(310的“否”分支),当前路由器可以将分组转发给下一跳(306)。

图4是示出根据本公开内容的一个或多个技术的响应于接收到广告的路由器的示例操作的流程图。在图4的示例中,路由器(例如,路由器12(图1)或路由器200(图2)中的任何一个)接收指定前缀和sid的广告(400)。例如,ifc254(图2)中的一个或多个可以接收广告。广告可以根据igp被格式化,诸如is-is或ospf。在图4的上下文中,本公开内容将由广告指定的前缀称为被广告的前缀,并且将由广告指定的sid称为被广告的sid。在一些示例中,响应于接收到广告,路由器可以确定路由器是否具有到与被广告的sid相关联的被广告的前缀的安装的路线。在这种情况下,广告可以是先前接收到的广告的副本。因此,响应于确定路由器已经具有到与被广告的sid相关联的被广告的前缀的安装的路线,路由器可以忽略广告。

路由器可以确定路由器是否已经具有到被广告的前缀的安装的路线并且被广告的sid不匹配与到被广告的前缀的安装的路线相关联的sid(406)。在这种情况下,存在前缀冲突。因此,当路由器确定路由器已经具有到被广告的前缀的安装的路线并且被广告的sid不匹配与到被广告的前缀的安装的路线相关联的sid(406的“是”分支)时,路由器可以执行在图4中标记为“a”的操作。如图5所示。

另一方面,响应于确定路由器不具有到被广告的前缀的安装的路线(406的“否”分支),路由器可以确定路由器是否具有与被广告的sid相关联的安装的路线并且与被广告的sid相关联的安装的路线不是到被广告的前缀(408)。在这种情况下,存在sid冲突。响应于确定路由器具有与被广告的sid相关联的安装的路线并且安装的路线不是到被广告的前缀(408的“是”分支),路由器可以执行在图4中被标记为“b”的操作。如图6所示。

如果广告不重复,则不存在前缀冲突,并且不存在sid冲突,则路由器可以基于广告来安装的路线。因此,在图4的示例中,响应于确定路由器不具有与被广告的sid相关联的安装的路线(408的“否”分支),路由器可以确定到被广告的前缀的路线(410)。路由器可以使用先前接收到的拓扑信息(例如,经由igp-te组件272接收并且存储在路由信息260或ted282中)来确定到被广告的前缀的路线。另外,路由器可以生成将被广告的sid与确定的路线相关联的数据(412)。例如,路由器可以在路由信息260或ted282(图2)中存储指示被广告的sid与到被广告的前缀的路线相关联的数据。此外,路由器可以安装的路线作为活跃路线(414)。在一些示例中,为了安装的路线作为活跃路线,路由器可以更新转发信息262(图2),使得转发组件246将标签等于被广告的sid的分组转发给路线上的下一跳。

图5是示出根据本公开内容的一个或多个技术的响应于前缀冲突的路由器的示例操作的流程图。关于图5的示例,在图4的动作(400)中接收的广告被称为“新广告”。在图5的示例中,路由器可以确定到被广告的前缀的现有安装的路线是否基于由与新广告相比在较高可见度igp等级中的路由器发起的广告(500)。在一些示例中,路由器可以存储指示发起由路由器接收的广告的igp等级的路由器的数据。在这样的示例中,路由器可以使用该信息来确定到被广告的前缀的现有安装的路线是否基于由与新广告相比在较高可见度igp等级中的路由器发起的广告。响应于确定到被广告的前缀的安装的路线基于由与新广告相比在较高可见度igp等级中的路由器发起的广告(500的“是”分支),路由器可以将由新广告指定的被广告的sid选择为与到被广告的前缀的路线相关联(502)。路由器然后可以生成将被广告的sid与到被广告的前缀的路线相关联的数据(504)。

然而,响应于确定到被广告的前缀的安装的路线不是基于由与新广告相比在较高可见度igp等级中发起的广告(500的“否”分支),路由器可以确定到被广告的前缀的安装的路线从与路由器所属的igp等级相比的较高可见度igp等级被泄露(506)。响应于确定到被广告的前缀的安装的路线从与路由器所属的igp等级相比的较高可见度igp等级被泄露(506的“是”分支),路由器可以将由新广告指定的被广告的sid选择为与到被广告的前缀的路线相关联(502)。路由器然后可以生成将被广告的sid与到被广告的前缀的路线相关联的数据(504),并且将到被广告的前缀的路线安装为活跃路线(505)。

响应于确定到被广告的前缀的安装的路线没有从与路由器所属的igp等级相比的较高可见度igp等级被泄露(506的“否”分支),路由器可以保留现有的路线sid关系(508)。

图6是示出根据本公开内容的一个或多个技术的响应于sid冲突的路由器的示例操作的流程图。路由器可以响应于确定路由器具有与被广告的sid相关联的安装的路线并且安装的路线不是被广告的前缀来执行图6的操作。在图6的示例中,路由器确定安装的路线是否基于与新广告相比在较高可见度igp等级中发起的广告(600)。例如,路由器可以基于存储在路由器处的网络拓扑信息来确定由广告指定的前缀对应于较高可见度igp等级。响应于确定安装的路线基于与新广告相比在较高可见度igp等级中发起的广告(600的“是”分支),路由器可以确定到被广告的前缀的路线(602)。另外,路由器可以将被广告的sid选择为与确定的到被广告的前缀的路线相关联(604)。此外,路由器可以生成将被广告的sid与到被广告的前缀的路线相关联的数据(606)。例如,路由器可以在路由信息260(图2)或lsdb中存储指示被广告的sid与到被广告的前缀的路线相关联的数据。路由器可以将路线安装为活跃路线(608)。在一些示例中,为了安装该路线作为活跃路线,路由器可以更新转发信息262(图2),使得转发组件246将具有被广告的sid的分组转发给路线上的下一跳。

另一方面,响应于确定安装的路线不是基于与新广告相比在较高可见度igp等级中发起的广告(600的“否”分支),路由器可以确定安装的路线从与路由器相比的较高可见度igp等级被泄露并且被广告的前缀没有从可见度高于路由器所属的igp等级的igp等级被泄露(610)。响应于确定安装的路线从与路由器相比的较高可见度igp等级被泄露,并且被广告的前缀没有从可见度高于路由器所属的igp等级的igp等级被泄露(610的“是”分支),路由器可以确定到被广告的前缀的路线(602)。另外,路由器可以将被广告的sid选择为与到被广告的前缀的确定的路线相关联(604)。此外,路由器可以生成将被广告的sid与到被广告的前缀的路线相关联的数据(606),并且将到被广告的前缀的路线安装为活跃路线(608)。

然而,响应于确定安装的路线没有从与路由器相比的较高可见度igp等级被泄露,或者被广告的前缀从可见度高于路由器所属的igp等级的igp等级被泄露(610的“否”分支),路由器可以确定与被广告的sid相关联的安装的路线是否基于与新广告所属的igp协议相比具有更大的管理距离的igp协议中的广告(612)。响应于确定与被广告的sid相关联的安装的路线基于与新广告所属的igp协议相比具有更大管理距离的igp协议中的广告(612的“是”分支),路由器可以确定到被广告的前缀的路线(602)。另外,路由器可以将被广告的sid选择为与到被广告的前缀的确定的路线相关联(604)。此外,路由器可以生成将被广告的sid与到被广告的前缀的路线相关联的数据(606),并且将到被广告的前缀的路线安装为活跃路线(608)。

然而,响应于确定与被广告的sid相关联的安装的路线没有基于与新广告所属的igp协议相比具有更大的管理距离的igp协议中的广告(612的“否”分支),路由器可以保留现有的路由sid关联(614)。

图7是示出根据本公开内容的一个或多个技术的响应于sid冲突的路由器的示例操作的流程图。图7的操作中的动作可以对应于通过图4和5的流程图的两次运行中的动作。图7的示例操作可以由路由器12(图1)或路由器200(图2)中的任何一个执行。

在图7的示例中,网络中的第一路由器可以接收由网络的第一igp等级中的第二路由器发起的第一广告(700)。第一广告指定第一前缀和sid。另外,第一路由器接收由网络的第二igp等级中的第三路由器发起的第二广告(702)。第二广告指定第二前缀和sid。此外,第一路由器可以确定到第一前缀的路线(704)。第一路由器还可以确定到第二前缀的路线(706)。

另外,第一路由器可以基于第一广告和第二广告指定相同sid并且基于第一igp等级具有低于第二igp等级的可见度来执行动作(708)至(712)。特别地,第一路由器可以将sid选择为与到第一前缀的路线相关联,而不是sid与到第二前缀的路线相关联(708)。第一路由器还可以生成将sid与到第一前缀的路线相关联的数据(710)。在一些示例中,基于第一广告和第二广告指定相同sid并且基于第一igp等级具有低于第二igp等级的可见度,第一路由器生成将sid与到第一前缀的路线相关联的数据,而无论第二前缀是否小于第一前缀。另外,第一路由器可以将到第一前缀的路线安装活跃路线(712)。

在安装的路线之后,如关于图3所述,第一路由器可以接收具有指定sid的标签的分组。基于分组具有指定sid的标签,基于数据将sid与到第一前缀的路线相关联,并且基于到第一前缀的路线是活跃路线,第一路由器可以将分组转发给路线上到第一前缀的下一跳。

在一些示例中,与图4和图5一致,第一路由器可以接收由第一igp等级中的第三路由器发起的第三广告。第三广告指定第三前缀和sid。在这个示例中,第一路由器可以确定第三前缀从第二igp等级被泄露并且第一前缀没有从第二igp等级被泄露(参见图5的动作506)。响应于确定第三前缀从第二igp等级被泄露并且第一前缀没有从第二igp等级被泄露,第一路由器可以保留将sid与到第一前缀的路线相关联的数据(参见图5的动作510)。在这个示例中,作为确定第三前缀从第二igp等级被泄露并且第一前缀没有从第二igp等级包括被泄露的一部分,基于第三广告的down位被设置,第一路由器可以确定第三前缀从第二igp等级被泄露。另外,基于第一广告的down位没有被设置,第一路由器可以确定第一前缀没有从第二igp等级被泄露。

在一些示例中,与图4和图5一致,第一路由器可以接收由第一igp等级中的第三路由器发起的第三广告。第三广告指定第三前缀和sid。第三前缀不同于第一前缀。另外,第一路由器可以确定第三前缀没有从第二igp等级被泄露并且第一前缀从第二igp等级被泄露。此外,第一路由器可以确定到第三前缀的路线。在这个示例中,响应于确定第三前缀没有从第二igp等级被泄露,第一前缀从第二igp等级被泄露,并且第一广告和第三广告指定相同sid,第一路由器可以将sid选择为与到第三前缀的路线相关联,而不是sid与到第一前缀的路线相关联,并且生成将sid与到第三前缀的路线相关联的数据(参见图5的动作502和504)。第一路由器可以卸载作为活跃路线的到第一前缀的路线。第一路由器可以将到第三前缀的路线安装为活跃路线。

图8是示出根据本公开内容的一个或多个技术的响应于前缀冲突的路由器的示例操作的流程图。图8的操作中的动作可以对应于通过图4和6的流程图的两次运行中的动作。图8的示例操作可以由路由器12(图1)或路由器200(图2)中的任何一个执行。

在图8的示例中,网络中的第一路由器可以接收由网络的第一igp等级中的第二路由器发起的第一广告(800)。第一广告指定第一前缀和第一sid。此外,第一路由器接收由网络的第二igp等级中的第三路由器发起的第二广告(802)。第二广告指定第二前缀和第二sid。此外,第一路由器可以确定到第一前缀的路线(804)。

另外,第一路由器可以基于第一前缀等于第二前缀并且基于第一igp等级具有低于第二igp等级的可见度来执行动作(806)至(810)。特别地,第一路由器可以将第一sid选择为与到第一前缀的路线相关联,而不是第二sid与到第一前缀的路线相关联(806)。第一路由器还可以生成将第一sid与到第一前缀的路线相关联的数据(808)。在一些示例中,基于第一广告和第二广告指定相同前缀并且基于第一igp等级具有低于第二igp等级的可见度,第一路由器生成将sid与到第一前缀的路线相关联的数据,而无论第二sid是否小于第一sid。另外,第一路由器可以将到第一前缀的路线安装为活跃路线(810)。

在安装的路线之后,如关于图3所述,第一路由器可以接收具有指定第一sid的标签的分组。基于分组具有指定第一sid的标签,基于数据将第一sid与到第一前缀的路线相关联,并且基于到第一前缀的路线是活跃路线,第一路由器可以将分组转发给路线上到第一前缀的下一跳。

在一些示例中,与图4和图6一致,第一路由器可以接收由第一igp等级中的第三路由器发起的第三广告。第三广告指定第三前缀和第三sid。在这个示例中,第三前缀不同于第一前缀。此外,第一路由器可以确定第三前缀从第二igp等级被泄露,第一前缀没有从第二igp等级被泄露,并且第三前缀等于第一前缀(参见图6的动作608)。响应于确定第三前缀等于第一前缀,第三前缀从第二igp等级被泄露,并且第一前缀没有从第二igp等级被泄露,第一路由器可以保留将第一sid与到第一前缀的路线相关联的数据(参见图6的动作610)。在这个示例中,作为确定第三前缀从第二igp等级被泄露并且第一前缀没有从第二igp等级包括被泄露的一部分,基于第三广告的down位被设置,第一路由器可以确定第三前缀从第二igp等级被泄露。另外,基于第一广告的down位没有被设置,第一路由器可以确定第一前缀没有从第二igp等级被泄露。

在一些示例中,与图4和图6一致,第一路由器可以接收由第一igp等级中的第三路由器发起的第三广告。第三广告指定第三前缀和第三sid。第三sid不同于第一sid。在这个示例中,第一路由器可以确定第三前缀没有从第二igp等级被泄露,第一前缀从第二igp等级被泄露,并且第三前缀等于第一前缀(参见图6的动作608)。响应于确定第三前缀没有从第二igp等级被泄露并且第一前缀从第二igp等级被泄露,并且第三前缀等于第一前缀,第一路由器可以将第三sid选择为与到第一前缀的路线相关联,而不是第一sid与到第一前缀的路线相关联(参见图6的动作604)。另外,在这个示例中,第一路由器可以生成将第三sid与到第一前缀的路线相关联的数据(参见图6的动作606)。

图9是示出根据本公开内容的一个或多个技术的其中使用多个igp的响应于sid冲突的路由器的示例操作的流程图。图9的操作中的动作可以对应于通过图4和5的流程图的两次运行中的动作。图9的示例操作可以由路由器12(图1)或路由器200(图2)中的任何一个执行。

在图9的示例中,第一路由器可以接收由网络的第二路由器发起的第一广告(900)。第一广告指定第一前缀和sid。另外,第一路由器接收由网络的第三路由器发起的第二广告(902)。第二广告指定第二前缀和sid。而且,在图9的示例中,第一路由器确定到第一前缀的路线(904)。

在图9的示例中,第一路由器可以基于第一广告和第二广告指定相同sid并且基于第一路由协议与第二路由协议相比与较低的管理距离相关联来执行动作(906)至(910)。特别地,第一路由器可以将sid选择为与到第一前缀的路线相关联,而不是sid与到第二前缀的路线相关联(908)。另外,第一路由器可以生成将sid与到第一前缀的路线相关联的数据(910)。第一路由器然后可以安装到第一前缀的路线作为活跃路线。

在安装的路线之后,如关于图3所述,第一路由器可以接收具有指定sid的标签的分组。基于分组具有指定sid的标签,基于数据将sid与到第一前缀的路线相关联,并且基于到第一前缀的路线是活跃路线,第一路由器可以将分组转发给路线上到第一前缀的下一跳。

本文中描述的技术可以用硬件、软件、固件或其任何组合而被实现。被描述为组件、单元或模块的各种特征可以一起在集成逻辑器件中被实现,或者被单独实现为离散但是可互操作的逻辑器件或其他硬件设备。在一些情况下,电子电路的各种特征可以被实现为一个或多个集成电路装置,诸如集成电路芯片或芯片组。

如果以硬件被实现,则本公开内容可以涉及诸如处理器或集成电路装置(例如,集成电路芯片或芯片组)的装置。替代地或另外地,如果以软件或固件被实现,则这些技术可以至少部分地通过包括指令的计算机可读数据存储介质而被实现,这些指令在被执行时引起处理器执行上述方法中的一个或多个。例如,计算机可读数据存储介质可以存储这样的指令用于由处理器执行。

计算机可读介质可以形成计算机程序产品的一部分,计算机程序产品可以包括封装材料。计算机可读介质可以包括计算机数据存储介质,诸如随机存取存储器(ram)、只读存储器(rom)、非易失性随机存取存储器(nvram)、电可擦除可编程只读存储器(eeprom)、闪存、磁或光学数据存储介质等。在一些示例中,制品可以包括一个或多个计算机可读存储介质。

在一些示例中,计算机可读存储介质可以包括非暂态介质。术语“非暂态”可以指示存储介质没有在载波或传播信号中实施。在某些示例中,非暂态存储介质可以存储随时间变化的数据(例如,在ram或高速缓存中)。

代码或指令可以是由包括一个或多个处理器的处理电路执行的软件和/或固件,处理器诸如一个或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、场可编程门阵列(fpga)或其他等效的集成或离散逻辑电路。因此,如本文中使用的术语“处理器”可以是指任何前述结构或适用于实现本文中描述的技术的任何其他结构。另外,在一些方面中,本公开内容中描述的功能可以在软件组件或硬件组件内提供。

已经描述了这些技术的各个方面。这些和其他方面在以下权利要求的范围内。

除了或代替上述内容,描述以下示例。任何以下示例中描述的特征可以与本文中描述的任何其他示例一起使用。

示例1.一种方法,包括:由网络中的第一路由器接收由所述网络的第一内部网关协议(igp)等级中的第二路由器发起的第一广告,其中所述第一广告指定第一前缀和分段标识符(sid);由所述第一路由器接收由所述网络的第二igp等级中的第三路由器发起的第二广告,其中所述第二广告指定第二前缀和所述sid;基于所述第一广告和所述第二广告指定相同sid并且基于所述第一igp等级具有低于所述第二igp等级的可见度:由所述第一路由器将所述sid选择为与到所述第一前缀的路线相关联,而不是所述sid与到所述第二前缀的路线相关联;以及由所述第一路由器生成将所述sid与到所述第一前缀的路线相关联的数据;以及由所述第一路由器将到所述第一前缀的路线安装为活跃路线。

示例2.根据示例1所述的方法,还包括:由所述第一路由器接收具有指定所述sid的标签的分组;以及基于所述分组具有指定所述sid的标签,基于所述数据将所述sid与到所述第一前缀的路线相关联,并且基于到所述第一前缀的路线是活跃路线,由所述第一路由器将所述分组转发给所述路线上到所述第一前缀的下一跳。

示例3.根据示例1至2中任一项所述的方法,其中基于所述第一广告和所述第二广告指定相同sid并且基于所述第一igp等级具有低于所述第二igp等级的可见度,所述第一路由器生成将所述sid与到所述第一前缀的路线相关联的数据,而无论所述第二前缀是否小于所述第一前缀。

示例4.根据示例1至3中任一项所述的方法,还包括:由所述第一路由器接收由所述第一igp等级中的第三路由器发起的第三广告,其中所述第三广告指定第三前缀和所述sid,其中所述第三前缀不同于所述第一前缀;由所述第一路由器确定所述第三前缀从所述第二igp等级被泄露并且所述第一前缀没有从所述第二igp等级被泄露;以及响应于确定所述第三前缀从所述第二igp等级被泄露并且所述第一前缀没有从所述第二igp等级被泄露,由所述第一路由器保留将所述sid与到所述第一前缀的路线相关联的数据。

示例5.根据示例4所述的方法,其中确定所述第三前缀从所述第二igp等级被泄露并且所述第一前缀没有从所述第二igp等级被泄露包括:由所述第一路由器基于所述第三广告的down位被设置来确定所述第三前缀从所述第二igp等级被泄露;以及由所述第一路由器基于所述第一广告的down位没有被设置来确定所述第一前缀没有从所述第二igp等级被泄露。

示例6.根据示例1至3中任一项所述的方法,还包括:由所述第一路由器接收由所述第一igp等级中的第三路由器发起的第三广告,其中所述第三广告指定第三前缀和所述sid,其中所述第三前缀不同于所述第一前缀;由所述第一路由器确定所述第三前缀没有从所述第二igp等级被泄露并且所述第一前缀从所述第二igp等级被泄露;以及响应于确定所述第三前缀没有从所述第二igp等级被泄露,所述第一前缀从所述第二igp等级被泄露,并且所述第一广告和所述第三广告指定相同sid:由所述第一路由器将所述sid选择为与到所述第三前缀的路线相关联,而不是所述sid与到所述第一前缀的路线相关联;由所述第一路由器生成将所述sid与到所述第三前缀的路线相关联的数据;由所述第一路由器将作为活跃路线的到所述第一前缀的路线卸载;以及由所述第一路由器将到所述第三前缀的路线安装为活跃路线。

示例7.一种方法,包括:由网络中的第一路由器接收由所述网络的第一内部网关协议(igp)等级中的第二路由器发起的第一广告,其中所述第一广告指定第一前缀和第一分段标识符(sid);由所述第一路由器接收由所述网络的第二igp等级中的第三路由器发起的第二广告,其中所述第二广告指定第二前缀和第二sid,所述第二sid不同于所述第一sid;基于所述第一前缀等于所述第二前缀并且基于所述第一igp等级具有低于所述第二igp等级的可见度:由所述第一路由器将所述第一sid选择为与到所述第一前缀的路线相关联,而不是所述第二sid与到所述第一前缀的路线相关联;以及由所述第一路由器生成将所述第一sid与到所述第一前缀的路线相关联的数据;以及由所述第一路由器将到所述第一前缀的路线安装为活跃路线。

示例8.根据示例7所述的方法,还包括:由所述第一路由器接收具有指定所述sid的标签的分组;以及基于所述分组具有指定所述sid的标签,基于所述数据将所述sid与到所述第一前缀的路线相关联,并且基于到所述第一前缀的路线是活跃路线,由所述第一路由器将所述分组转发给所述路线上到所述第一前缀的下一跳。

示例9.根据示例7至8中任一项所述的方法,其中基于所述第一广告和所述第二广告指定相同前缀并且基于所述第一igp等级具有低于所述第二igp等级的可见度,所述第一路由器生成将所述sid与到所述第一前缀的路线相关联的数据,而无论所述第二sid是否小于所述第一sid。

示例10.根据示例7至9中任一项所述的方法,还包括:由所述第一路由器接收由所述第一igp等级中的第三路由器发起的第三广告,其中所述第三广告指定第三前缀和第三sid,其中所述第三前缀不同于所述第一前缀;由所述第一路由器确定所述第三前缀从所述第二igp等级被泄露,所述第一前缀没有从所述第二igp等级被泄露,并且所述第三前缀等于所述第一前缀;以及响应于确定所述第三前缀等于所述第一前缀,所述第三前缀从所述第二igp等级被泄露,并且所述第一前缀没有从所述第二igp等级被泄露,由所述第一路由器保留将所述第一sid与到所述第一前缀的路线相关联的数据。

示例11.根据示例10所述的方法,其中确定所述第三前缀从所述第二igp等级被泄露并且所述第一前缀没有从所述第二igp等级被泄露包括:由所述第一路由器基于所述第三广告的down位被设置来确定所述第三前缀从所述第二igp等级被泄露;以及由所述第一路由器基于所述第一广告的down位没有被设置来确定所述第一前缀没有从所述第二igp等级被泄露。

示例12.根据示例6至9中任一项所述的方法,还包括:由所述第一路由器接收由所述第一igp等级中的第三路由器发起的第三广告,其中所述第三广告指定第三前缀和第三sid,其中所述第三sid不同于所述第一sid;由所述第一路由器确定所述第三前缀没有从所述第二igp等级被泄露,所述第一前缀从所述第二igp等级被泄露,并且所述第三前缀等于所述第一前缀;响应于确定所述第三前缀没有从所述第二igp等级被泄露并且所述第一前缀从所述第二igp等级被泄露,并且所述第三前缀等于所述第一前缀:由所述第一路由器将所述第三sid选择为与到所述第一前缀的路线相关联,而不是所述第一sid与到所述第一前缀的路线相关联;以及由所述第一路由器生成将所述第三sid与到所述第一前缀的路线相关联的数据。

示例13.一种方法,包括:由网络中的第一路由器接收由所述网络的第二路由器发起的第一广告,其中所述第一广告指定第一前缀和分段标识符(sid);由所述第一路由器接收由所述网络的第三路由器发起的第二广告,其中所述第二广告指定第二前缀和所述sid;基于所述第一广告和所述第二广告指定相同sid并且基于所述第一路由协议与比所述第二路由协议更低的管理距离相关联:由所述第一路由器将所述sid选择为与到所述第一前缀的路线相关联,而不是所述sid与到所述第二前缀的路线相关联;以及由所述第一路由器生成将所述sid与到所述第一前缀的路线相关联的数据;以及由所述第一路由器将到所述第一前缀的路线安装为活跃路线。

示例14.根据示例13所述的方法,还包括:由所述第一路由器接收具有指定所述sid的标签的分组;以及基于所述分组具有指定所述sid的标签,基于所述数据将所述sid与到所述第一前缀的路线相关联,并且基于到所述第一前缀的路线是活跃路线,由所述第一路由器将所述分组转发给所述路线上到所述第一前缀的下一跳。

示例15.一种路由器,包括:多个接口卡(ifc),其被配置为:接收由网络的第一内部网关协议(igp)等级中的第二路由器发起的第一广告,其中所述第一广告指定第一前缀和分段标识符(sid);以及接收由所述网络的第二igp等级中的第三路由器发起的第二广告,其中所述第二广告指定第二前缀和所述sid;以及控制单元,其被配置为:基于所述第一广告和所述第二广告指定相同sid并且基于所述第一igp等级具有低于所述第二igp等级的可见度:将所述sid选择为与到所述第一前缀的路线相关联,而不是所述sid与到所述第二前缀的路线相关联;以及生成将所述sid与到所述第一前缀的路线相关联的数据;以及将到所述第一前缀的路线安装为活跃路线。

示例16.根据示例15所述的路由器,其中:所述ifc被配置为接收具有指定所述sid的标签的分组,所述路由器还包括转发组件,以及基于所述分组具有指定所述sid的标签,基于所述数据将所述sid与到所述第一前缀的路线相关联并且基于到所述第一前缀的路线是活跃路线,所述控制单元将所述转发组件配置为将所述分组转发到所述路线上到所述第一前缀的下一跳。

示例17.根据示例15至16中任一项所述的路由器,其中基于所述第一广告和所述第二广告指定相同sid并且基于所述第一igp等级具有低于所述第二igp等级的可见度,所述控制单元生成将所述sid与到所述第一前缀的路线相关联的数据,而无论所述第二前缀是否小于所述第一前缀。

示例18.根据示例15至17中任一项所述的路由器,其中:所述ifc被配置为接收由所述第一igp等级中的第三路由器发起的第三广告,其中所述第三广告指定第三前缀和所述sid,其中所述第三前缀不同于所述第一前缀,并且所述控制单元还被配置为:确定所述第三前缀从所述第二igp等级被泄露并且所述第一前缀没有从所述第二igp等级被泄露;以及响应于确定所述第三前缀从所述第二igp等级被泄露并且所述第一前缀没有从所述第二igp等级被泄露,保留将所述sid与到所述第一前缀的路线相关联的数据。

示例19.根据示例18所述的路由器,其中所述控制单元被配置为使得,作为确定所述第三前缀从所述第二igp等级被泄露并且所述第一前缀没有从所述第二igp等级被泄露的一部分,所述控制单元:基于所述第三广告的down位被设置来确定所述第三前缀从所述第二igp等级被泄露;以及基于所述第一广告的down位没有被设置来确定所述第一前缀没有从所述第二igp等级被泄露。

示例20.根据示例15至17中任一项所述的路由器,其中:所述多个ifc被配置为接收由所述第一igp等级中的第三路由器发起的第三广告,其中所述第三广告指定第三前缀和所述sid,其中所述第三前缀不同于所述第一前缀,并且所述控制单元还被配置为:确定所述第三前缀没有从所述第二igp等级被泄露并且所述第一前缀从所述第二igp等级被泄露;以及响应于确定所述第三前缀没有从所述第二igp等级被泄露,所述第一前缀从所述第二igp等级被泄露,并且所述第一广告和所述第三广告指定相同sid:将所述sid选择为与到所述第三前缀的路线相关联,而不是所述sid与到所述第一前缀的路线相关联;生成将所述sid与到所述第三前缀的路线相关联的数据;卸载作为活跃路线的到所述第一前缀的路线;以及将到所述第三前缀的路线安装为活跃路线。

示例21.一种路由器,包括:多个接口卡(ifc),其被配置为:接收由网络的第一内部网关协议(igp)等级中的第二路由器发起的第一广告,其中所述第一广告指定第一前缀和第一分段标识符(sid);以及接收由所述网络的第二igp等级中的第三路由器发起的第二广告,其中所述第二广告指定第二前缀和第二sid,所述第二sid不同于所述第一sid;以及控制单元,其被配置为:基于所述第一前缀等于所述第二前缀并且基于所述第一igp等级具有低于所述第二igp等级的可见度:将所述第一sid选择为与到所述第一前缀的路线相关联,而不是所述第二sid与到所述第一前缀的路线相关联;以及生成将所述第一sid与到所述第一前缀的路线相关联的数据;以及将到所述第一前缀的路线安装为活跃路线。

示例22.根据示例21所述的路由器,其中:所述ifc被配置为接收具有指定所述sid的标签的分组;所述路由器包括转发组件,并且基于所述分组具有指定所述sid的标签,基于所述数据将所述sid与到所述第一前缀的路线相关联,并且基于到所述第一前缀的路线是活跃路线,所述控制单元将所述转发组件配置为将所述分组转发到所述路线上到所述第一前缀的下一跳。

示例23.根据示例21至22中任一项所述的路由器,其中基于所述第一广告和所述第二广告指定相同的前缀并且基于所述第一igp等级具有低于所述第二igp等级的可见度,所述控制单元生成将所述sid与到所述第一前缀的路线相关联的数据,而无论所述第二sid是否小于所述第一sid。

示例24.根据示例21至23中任一项所述的路由器,其中:所述ifc被配置为接收由所述第一igp等级中的第三路由器发起的第三广告,其中所述第三广告指定第三前缀和第三sid,其中所述第三前缀不同于所述第一前缀,并且所述控制单元被配置为:所述ifc被配置为接收由所述第一igp等级中的第三路由器发起的第三广告,其中所述第三广告指定第三前缀和第三sid,其中所述第三前缀不同于所述第一前缀,以及响应于确定所述第三前缀等于所述第一前缀,所述第三前缀从所述第二igp等级被泄露,并且所述第一前缀没有从所述第二igp等级被泄露,所述控制单元保留将所述第一sid与到所述第一前缀的路线相关联的数据。

示例25.根据示例24所述的路由器,其中所述控制单元被配置为使得,作为确定所述第三前缀从所述第二igp等级被泄露并且所述第一前缀没有从所述第二igp等级被泄露的一部分,所述控制单元:基于所述第三广告的down位被设置来确定所述第三前缀从所述第二igp等级被泄露;以及基于所述第一广告的down位没有被设置来确定所述第一前缀没有从所述第二igp等级被泄露。

示例26.根据示例21至23中任一项所述的路由器,其中:所述ifc被配置为接收由所述第一igp等级中的第三路由器发起的第三广告,其中所述第三广告指定第三前缀和第三sid,其中所述第三sid不同于所述第一sid,并且所述控制单元被配置为:确定所述第三前缀没有从所述第二igp等级被泄露,所述第一前缀从所述第二igp等级被泄露,并且所述第三前缀等于所述第一前缀;以及响应于确定所述第三前缀没有从所述第二igp等级被泄露并且所述第一前缀从所述第二igp等级被泄露,并且所述第三前缀等于所述第一前缀:将所述第三sid选择为与到所述第一前缀的路线相关联,而不是所述第一sid与到所述第一前缀的路线相关联;以及生成将第三sid与到所述第一前缀的路线相关联的数据。

示例27,一种路由器,包括:多个接口卡(ifc),其被配置为:接收由网络的第二路由器发起的第一广告,其中所述第一广告指定第一前缀和分段标识符(sid);由所述第一路由器接收由所述网络的第三路由器发起的第二广告,其中所述第二广告指定第二前缀和所述sid;以及控制单元,其被配置为:基于所述第一广告和所述第二广告指定相同sid并且基于所述第一路由协议与比所述第二路由协议更低的管理距离相关联:将所述sid选择为与到所述第一前缀的路线相关联,而不是所述sid与到所述第二前缀的路线相关联;以及生成将所述sid与到所述第一前缀的路线相关联的数据;以及将到所述第一前缀的路线安装为活跃路线。

示例28:根据示例27所述的路由器,其中:所述ifc被配置为接收具有指定sid的标签的分组;以及基于所述分组具有指定所述sid的标签,基于所述数据将所述sid与到所述第一前缀的路线相关联,并且基于到所述第一前缀的路线是活跃路线,所述控制单元被配置为将所述分组转发给所述路线上到所述第一前缀的下一跳。

此外,上述任何示例中阐述的任何特定特征可以组合成所描述技术的有益示例。也就是说,任何具体特征通常适用于本公开内容的所有示例。已经描述了本公开内容的各种示例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1