CN109076018B - 利用is-is协议实现分段路由网络中网元的方法和设备 - Google Patents
利用is-is协议实现分段路由网络中网元的方法和设备 Download PDFInfo
- Publication number
- CN109076018B CN109076018B CN201680084632.8A CN201680084632A CN109076018B CN 109076018 B CN109076018 B CN 109076018B CN 201680084632 A CN201680084632 A CN 201680084632A CN 109076018 B CN109076018 B CN 109076018B
- Authority
- CN
- China
- Prior art keywords
- network
- tlv
- network element
- msd
- sid
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/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
- 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/02—Topology update or discovery
- H04L45/03—Topology update or discovery by updating link state protocols
-
- 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/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/42—Centralised 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
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
Abstract
描述了使用IS‑IS暴露最大节点和/或链路分段标识符深度的技术。分段路由(SR)网络中的网元发送包括最大分段标识符深度(MSD)值的类型长度值(TLV)元素。所述MSD值标识所述网元能够推送到接收到的分组的分组报头中以便能够通过SR网络转发接收到的分组的最大分段标识符(SID)标签数。所述网元从控制器接收针对所述网元要用于通过SR网络转发接收到的分组的路径的数据。所述数据包括要推送到接收到的分组中的一个或多个SID标签,并且所述SID标签包括少于或等于MSD值的数量。所述控制器和所述网元在南向接口上不使用路径计算单元协议(PCEP)。
Description
相关申请的交叉引用
本申请要求于2016年2月15日递交的美国临时申请No. 62/295,454的优先权,在此通过引用的方式将其整体并入。
技术领域
本发明的实施例涉及计算机联网领域;以及更具体地,涉及利用中间系统到中间系统(IS-IS)协议暴露最大节点和/或链路分段标识符深度的技术。
背景技术
分段路由(SR)是最近开发的利用源路由范例的路由技术。在SR网络中,节点通过称为分段的有序指令列表来控制分组。分段可以表示任何指令、拓扑或基于服务,并且可以具有针对SR节点的本地语义或SR域内的全局语义。
分段路由允许流的业务通过任何拓扑路径和服务链,同时仅在到 SR域的入口节点处保持每个流的状态。分段路由可以直接应用于公共多协议标签交换(MPLS)架构,而无需对参与节点的转发平面进行任何改变。例如,可以将分段编码为MPLS标签,并且可以将有序分段列表编码为标签堆栈。要处理的分段位于堆栈的顶部。完成一个分段后,从堆栈中弹出相关标签。
还可以使用新类型的路由扩展报头将分段路由应用于互联网协议(IP)版本6(IPv6)架构。可以将分段编码为IPv6地址。有序分段列表被编码为路由扩展报头中的有序IPv6地址列表。由路由扩展报头中的指针指示要处理的分段。完成一个分段后,指针递增。
分段路由可以提供许多好处,包括使能可缩放的端到端策略、它是针对IP和软件定义网络(SDN)而设计的(即,具有等价多路径 (ECMP)感知,并在分布式智能、集中式优化和基于应用的策略创建之间取得平衡)的事实、操作简单、并且通过集中式优化可以更好地利用已安装的基础架构。
发明内容
一种实现SR网络中的网元的设备中的方法,包括:由网元发送包括最大分段标识符深度(MSD)值的类型长度值(TLV)元素。使用IS-IS协议发送TLV元素。所述MSD值标识所述网元能够推送到接收到的分组的分组报头中以便能够通过SR网络转发接收到的分组的最大分段标识符(SID)标签数。所述方法还包括从控制器接收针对所述网元要用于通过SR网络转发接收到的分组的路径的数据。所述数据包括要推送到与所述路径相关联的接收到的分组中的一个或多个SID标签的集合。SID标签的所述集合包括小于或等于MSD值的数量的SID标签,并且所述控制器和所述网元在南向接口上不使用路径计算单元协议(PCEP)。
在一些实施例中,所述TLV元素是IS-IS路由器能力TLV。
在一些实施例中,在由所述IS-IS路由器能力TLV携带的节点 MSD子TLV内携带所述MSD值。
在一些实施例中,所述方法还包括由所述网元将所述MSD值确定为所述网元的一个或多个线卡(1ine card)的一个或多个MSD值中的最小值。
在一些实施例中,MSD值被携带在以下内容内:由TLV元素携带的链路MSD子TLV,其中TLV元素是类型22IS-IS扩展IS可达性TLV、类型23IS-IS IS邻居属性TLV、类型222IS-IS多拓扑IS TLV 或者类型223IS-IS多拓扑IS邻居属性TLV。
在一些实施例中,MSD值与网元的第一链路相关联,并且其中 TLV元素还包括与网元的第二链路相关联的第二MSD值。
根据一些实施例,一种非暂时性计算机可读存储介质具有指令,当由网络设备的一个或多个处理器执行所述指令时,使网络设备实现 SR网络中的网元并执行操作。操作包括由网元发送包括MSD值的 TLV元素。使用IS-IS协议发送TLV元素。所述MSD值标识所述网元能够推送到接收到的分组的分组报头中以便能够通过SR网络转发接收到的分组的最大SID标签数。操作还包括从控制器接收针对所述网元要用于通过SR网络转发接收到的分组的路径的数据。所述数据包括要推送到与所述路径相关联的接收到的分组中的一个或多个SID 标签的集合。SID标签的所述集合包括小于或等于MSD值的数量的 SID标签,并且所述控制器和所述网元在南向接口上不使用PCEP。
根据一些实施例,网络设备包括一个或多个处理器以及非暂时性机器可读存储介质。所述非暂时性计算机可读存储介质具有指令,当由一个或多个处理器执行所述指令时,使网络设备实现SR网络中的网元并执行操作。操作包括由网元发送包括MSD值的TLV元素。使用IS-IS协议发送TLV元素。所述MSD值标识所述网元能够推送到接收到的分组的分组报头中以便能够通过SR网络转发接收到的分组的最大SID标签数。操作还包括从控制器接收针对所述网元要用于通过SR网络转发接收到的分组的路径的数据。所述数据包括要推送到与所述路径相关联的接收到的分组中的一个或多个SID标签的集合。 SID标签的所述集合包括小于或等于MSD值的数量的SID标签,并且所述控制器和所述网元在南向接口上不使用PCEP。
根据一些实施例,系统包括控制器和网络设备。所述网络设备包括一个或多个处理器以及非暂时性机器可读存储介质。所述非暂时性计算机可读存储介质具有指令,当由一个或多个处理器执行所述指令时,使网络设备实现SR网络中的网元并执行操作。操作包括由网元发送包括MSD值的TLV元素。使用IS-IS协议发送TLV元素。所述 MSD值标识所述网元能够推送到接收到的分组的分组报头中以便能够通过SR网络转发接收到的分组的最大SID标签数。操作还包括从控制器接收针对所述网元要用于通过SR网络转发接收到的分组的路径的数据。所述数据包括要推送到与所述路径相关联的接收到的分组中的一个或多个SID标签的集合。SID标签的所述集合包括小于或等于MSD值的数量的SID标签,并且所述控制器和所述网元在南向接口上不使用PCEP。
根据一些实施例,由与SR网络的多个网元通信耦合的控制器执行一种方法。所述方法包括从多个网元的第一网元接收包括MSD值的TLV元素。使用IS-IS协议发送TLV元素。所述MSD值标识所述网元能够推送到接收到的分组的分组报头中以便能够通过SR网络转发接收到的分组的最大SID标签数。所述方法还包括针对包括一个或多个SID标签的集合的可识别的业务集合,基于所述MSD值确定从第一网元到所述网元中的第二网元的路径。分段标识符标签的所述集合中的分段标识符标签的数量必须小于或等于所述MSD值。所述方法还包括向第一网元发送针对网元要用于通过SR网络转发接收到的分组的路径的数据。所述数据包括要推送到可识别的业务集合的接收到的分组中的SID标签的集合。控制器和第一网元在南向接口上不使用PCEP。
在一些实施例中,使用IS-IS协议通告TLV元素。在一些实施例中,TLV元素是IS-IS路由器能力TLV。
在一些实施例中,在由所述IS-IS路由器能力TLV携带的节点 MSD子TLV内携带所述MSD值。
在一些实施例中,MSD值携带在以下内容内:由TLV元素携带的链路MSD子TLV,所述TLV元素是类型22扩展IS可达性TLV、类型23IS邻居属性TLV、类型222多拓扑IS TLV或者类型223多拓扑IS邻居属性TLV。
在一些实施例中,MSD值与网元的第一链路相关联,并且TLV 元素还包括与网元的第二链路相关联的第二MSD值。
根据一些实施例,一种非暂时性计算机可读存储介质具有指令,当由电子设备的一个或多个处理器执行所述指令时,使电子设备实现与SR网络中的多个网元通信耦合的控制器并执行操作。操作包括从多个网元的第一网络接收包括MSD值的TLV元素。使用IS-IS协议发送TLV元素。所述MSD值标识所述网元能够推送到接收到的分组的分组报头中以便能够通过SR网络转发接收到的分组的最大SID标签数。操作还包括针对包括一个或多个SID标签的集合的可识别的业务集合,基于所述MSD值确定从第一网元到多个网元中的第二网元的路径。分段标识符标签的所述集合中的分段标识符标签的数量必须小于或等于所述MSD值。操作还包括向第一网元发送针对网元要用于通过SR网络转发接收到的分组的路径的数据。所述数据包括要推送到可识别的业务集合的接收到的分组中的SID标签的集合。控制器和第一网元在南向接口上不使用PCEP。
根据一些实施例,实现控制器的设备包括一个或多个处理器和非暂时性计算机可读存储介质。所述非暂时性计算机可读存储介质具有指令,当由一个或多个处理器执行所述指令时,使设备实现要与SR 网络的多个网元通信耦合的控制器并执行操作。操作包括从多个网元的第一网络接收包括MSD值的TLV元素。使用IS-IS协议发送TLV 元素。所述MSD值标识所述网元能够推送到接收到的分组的分组报头中以便能够通过SR网络转发接收到的分组的最大SID标签数。操作还包括针对包括一个或多个SID标签的集合的可识别的业务集合,基于所述MSD值确定从第一网元到多个网元中的第二网元的路径。分段标识符标签的所述集合中的分段标识符标签的数量必须小于或等于所述MSD值。操作还包括向第一网元发送针对网元要用于通过SR 网络转发接收到的分组的路径的数据。所述数据包括要推送到可识别的业务集合的接收到的分组中的SID标签的集合。控制器和第一网元在南向接口上不使用PCEP。
根据一些实施例,一种系统包括实现控制器的设备和多个网元。所述设备包括一个或多个处理器和非暂时性机器可读存储介质。所述非暂时性计算机可读存储介质具有指令,当由一个或多个处理器执行所述指令时,使设备实现控制器并与SR网络的多个网元通信耦合,并执行操作。操作包括从多个网元的第一网络接收包括MSD值的TLV 元素。使用IS-IS协议发送TLV元素。所述MSD值标识所述网元能够推送到接收到的分组的分组报头中以便能够通过SR网络转发接收到的分组的最大SID标签数。操作还包括针对包括一个或多个SID标签的集合的可识别的业务集合,基于所述MSD值确定从第一网元到多个网元中的第二网元的路径。分段标识符标签的所述集合中的分段标识符标签的数量必须小于或等于所述MSD值。操作还包括向第一网元发送针对网元要用于通过SR网络转发接收到的分组的路径的数据。所述数据包括要推送到可识别的业务集合的接收到的分组中的 SID标签的集合。控制器和第一网元在南向接口上不使用PCEP。
附图说明
通过参考以下用于说明本发明实施例的描述和附图,可以最佳地理解本发明。在附图中:
图1是示出了根据一些实施例的通信耦合在使能分段路由的网络内的网元的系统的高级框图,该使能分段路由的网络被配置为暴露最大节点和/或链路分段标识符深度。
图2示出了开放最短路径优先(OSPF)节点MSD TLV元素、携带OSPF节点MSD TLV的OSPFv2路由器信息不透明链路状态通告 (LSA)、以及携带OSPF节点MSD TLV的OSPFv3路由器信息不透明LSA,根据一些实施例其可用于来暴露最大节点分段标识符深度。
图3示出了OSPF链路MSD子TLV元素、携带OSPF链路MSD 子TLV的OSPFv2扩展链路TLV、以及携带OSPF链路MSD子TLV 的OSPFv2链路TLV,根据一些实施例其可用于来暴露最大链路分段标识符深度。
图4示出了携带图3的可用于根据一些实施例来暴露最大链路分段标识符深度的OSPF链路MSD子TLV的OSPFv3路由器链路TLV。
图5示出了IS-IS节点MSD TLV元素和携带IS-IS节点MSD TLV 的IS-IS路由器能力TLV,根据一些实施例其可用于来暴露最大节点分段标识符深度。
图6示出了IS-IS链路MSD子TLV元素和几种类型的IS-IS TLV,根据一些实施例其可用于来暴露最大链路分段标识符深度。
图7A示出了根据一些实施例的用于暴露最大节点和/或链路分段标识符深度的流程。
图7B示出了根据一些实施例的可以执行图7A的流程的网元的高级框图。
图8A示出了根据一些实施例的利用暴露的最大节点和/或链路分段标识符深度的流程。
图8B示出了根据一些实施例的可以执行图8A的流程的控制器的高级框图。
图9A示出了根据一些实施例的示例性网络内的网络设备(ND) 之间的连接性以及ND的三种示例性实施方式。
图9B示出了根据一些实施例的用于实现专用网络设备的示例性方式。
图9C示出了根据一些实施例的可以耦合虚拟网元(VNE)的各种示例性方式。
图9D示出了根据一些实施例的在每个ND上具有单个网元(NE) 的网络,且在该直观方案中,对比了(传统路由器常用的)传统分布式方案与用于保持可达性并转发信息(也被称为网络控制)的集中式方案。
图9E示出了根据一些实施例的以下简单情况:ND中的每一个实现单个NE,而集中式控制平面将不同ND中的多个NE抽象为(以表示)虚拟网络之一中的单个NE。
图9F示出了根据一些实施例的以下情况:在不同ND上实现多个VNE并且多个VNE彼此耦合,以及集中式控制平面将这些多个 VNE加以抽象,使得它们呈现为虚拟网络之一中的单个VNE。
图10示出了根据一些实施例的具有集中式控制平面(CCP)软件的通用控制平面设备。
具体实施方式
在以下描述中,阐述了大量的具体细节,例如逻辑实现、操作码 (opcode)、用于指定运算数的手段、资源分区/共享/复制实现、系统组件的类型和相互关系、以及逻辑分区/整合选择,以提供对本发明的更全面的理解。然而,本领域技术人员将意识到,本发明可以在没有这些具体细节的情况下实施。在其他实例中,并未详细示出控制结构、门级别电路和全软件指令序列,以不使本发明模糊。在使用所包括的描述的情况下,本领域普通技术人员将能够在不进行过度试验的情况下实现恰当的功能。
说明书中对“一个实施例”、“实施例”、“示例实施例”等的引用指示了所描述的实施例可以包括特定特征、结构、或特性,但是每个实施例可以不必包括该特定特征、结构、或特性。此外,这种短语不必参考同一实施例。此外,当结合实施例来描述具体特征、结构或特性时,应认为结合其他实施例(不管是否是显式描述的)来实现这种特征、结构或特性是在本领域技术人员的知识内的。
在本文中,括号中的文本和具有虚线边界(例如,长划点虚线、短划线虚线、点虚线、以及点)的框可以用于示出向本发明实施例添加附加特征的可选操作。然而,这种标注不应当被视为意味着:在某些实施例中,它们是仅有的选项或可选操作,和/或具有实线边界的框不是可选的。
在以下描述和权利要求中,可以使用术语“耦合”和“连接”以及它们的派生词。应当理解:这些术语不意在作为彼此的同义词。“耦合”用于指示两个或更多个元素可以或可以不彼此直接物理或电学接触、彼此协作或交互。“连接”用于指示在彼此耦合的两个或更多个元素之间建立通信。
在SR网络中,控制器可以负责确定要由网元添加到网络业务以允许该业务通过SR网络中的特定路径的一个或多个分段标识符(SID) (也称为“标签堆栈”)。例如,网元(例如,SR网络部分边缘处的边缘路由器)可以接收要跨SR网络转发的分组,确定要插入到该分组中的经配置的SID集合,并添加这些标签。SR网络中的其他网元可以检查这些SID,以快速识别要转发业务的方式。当分组在SR网络中移动时,可以在完成特定分段(或路径的一部分)时剥离(或“弹出”) 这些SID。因此,控制器可以配置最初接收业务的网元将特定的SID集合置于业务中,从而确保适合地转发该业务。
然而,许多网络设备(提供网元功能)具有限制(基于硬件和/ 或软件),其限制了网络设备可以处理业务的方式。例如,不同的网络设备具有将不同数量的SID插入业务的不同能力,甚至网络设备(例如,线卡)的不同组件-甚至在单个网络设备中-可以具有将不同数量的SID插入业务的不同能力。例如,单个网络设备可以使用仅能注入四个标签的第一线卡,而单个网络设备的第二线卡可以注入十二个标签,而单个网络设备的第三线卡可以注入十六个标签。
因此,当由集中式控制器(例如,路径计算单元(PCE)或SDN 控制器)计算分段路由隧道时,控制器知道特定节点的“最大SID深度”(或“MSD”)是什么是至关重要的,这样它就不会尝试利用比节点能够插入业务的SID集合更深(即,更大)的SID集合来创建路径/ 隧道。
例如,如果控制器针对需要插入六个标签(SID)的业务集合选择路径,则该路径不能由仅具有将三个标签插入业务的能力的网元来实现。在这种情况下,可能产生各种问题,从而导致网络拥塞、业务下降和网络故障。
因此,已经通过允许网元向控制器提供网元的MSD值来使用路径计算单元通信协议(PCEP)的扩展(例如,经由控制器与其作为转发平面的网元之间的南向接口,可能使用PCEP OPEN消息内的TLV) 来努力解决该问题。因此,网元可以报告它可以注入的最大SID深度,并且控制器可以在确定针对业务的路径时将该最大SID深度考虑在内,这样它就不会尝试创建具有比网元可以插入的SID更多的SID的路径。
虽然这一发展肯定是有用的,但在许多没有使用(或不能使用) PCEP的环境中,它仍然不足,因此网元无法向控制器报告其MSD。例如,在许多环境中,某些网元(例如,SR隧道的头端处的网元)不支持PCEP。(此外,使用边界网关协议(BGP)来提供这种信息的任何努力都是有问题的,因为许多部署中的网元也可能不支持或不“谈”BGP。)
此外,在单个网络设备可能在多个链路上具有多个能力(例如,来自不同线路卡的不同能力)的环境中,上述PCEP方法有效地“浪费”了设备的一些组件的能力。例如,为了安全起见,使用PCEP时,显然网元必须报告其所有组件可以支持的最小/最低MSD能力作为其MSD值。因此,这“浪费”了任何更大能力组件的多余能力,因为这些组件可能能够注入更多数量的SID,但是由于不允许控制器向网元提供这种SID使用,因此无法这样做。例如,针对具有能够注入三个标签的第一线卡和具有能够注入十六个标签的第二线卡的网络设备,网络设备将需要报告回仅为3的MSD值,因此尽管第二线卡可以处理更大的SID集合,控制器仅能够向网络设备提供3标签路径--可能严重限制了网络设备可以利用的路径。
因此,期望可以弥补这些缺陷的改进技术。
如本文所述,在一些实施例中,可以使用诸如OSPF协议或IS-IS 协议的标签分发协议(LDP)将MSD值报告回控制器,从而消除了对使用PCEP的需要。此外,在一些实施例中,网元可以可选地(针对控制器)报告用于其多个链路(例如,线卡)的MSD,其可以允许控制器通过针对那些可以容纳它们的链路考虑和/或安装更长的SID 集合来更充分地利用网络的能力。
图1是示出了根据一些实施例的通信耦合在使能分段路由的网络 120内的网元102A~102F的系统100的高级框图,该使能分段路由的网络120被配置为暴露最大节点和/或链路分段标识符深度。该系统包括控制器104和用作SR网络120的转发平面的六个网元A~F (102A~102F)。在该示例中,我们假设在控制器104和至少网元“A”102A之间不存在PCEP信道116。值得注意的是,在其他网元B~ F(102B~102F)之间可以存在或不存在PCEP信道116。
在该示例中,如圆圈“1”所示,网元“A”102A确定MSD值112(例如,2),并在TLV元素110内通告MSD值112。在一些实施例中,该TLV元素110作为IGP通告的一部分被发送,例如在OSPF LSA 或IS-IS TLV内。如本领域技术人员所知,该通告可以经过各种物理通信路径,因为网元“A”102A可能不与控制器直接进行通信,相反,所通告的TLV 110可以通过其通向其他IGP参与节点的一个或多个接口而发送出,并且最终可以将所通告的TLV 110提供给圆圈“2”处的控制器104。
此时,控制器104可以在确定针对将在网元“A”102A处首先接收到要通过SR网络120的业务的路径时,使用网元“A”102A的MSD值 112。因此,在尝试针对可识别的业务组(例如,业务流或其他唯一可识别类型的业务,如分组150A)创建路径时,控制器104可以将其要编程的候选路径的考虑限制到仅需要由网元“A”102A注入相同数量 (或更少数量)的SID的那些路径。因此,在一些实施例中,控制器 104可以类似于TE要求/约束来处理MSD值112,因此限制了最终可以选择的路径可能性。
在该示例中,圆圈“3”处的控制器104将利用具有不超过网元“A”102A所报告的MSD值112的多个SID的路径114编程网元“A”102A(例如,向网元“A”102A发送具有包括诸如SID152的集合的路径信息的数据的消息)-这里,选择有效路径122,其可以利用一个或两个SID,例如,以通过网元“C”102C和网元“E”102E。此后,在接收到业务(例如,圆圈“4”处的分组150A)时,网元“A”102A可以识别该SID的集合并将该SID的集合注入该业务中,导致使用有效路径122朝它们圆圈“5”处的目标发送业务(转发的分组150B)。
为了说明,图1还示出了可能已由控制器104考虑、但是由于其需要比所报告的MSD值112更大的SID标签堆栈(例如,四个标签) 因而是无效的路径124。值得注意的是,由于控制器104不知道网元“A”102A的能力,现有系统可能已经尝试利用该路径,这将导致本文描述的实施例可以避免的网络问题。
如前所述,可以使用各种IGP协议(包括但不限于OSPF和IS-IS) 来通告MSD值112。
OSPF
例如,图2示出了OSPF节点MSD TLV元素110A、携带OSPF 节点MSD TLV 110A的OSPFv2路由器信息不透明LSA 210、以及携带OSPF节点MSD TLV 110A的OSPFv3路由器信息不透明LSA 250,根据一些实施例其可用于来暴露最大节点分段标识符深度。
在一些实施例中,OSPF节点MSD TLV 110A可用于通告具有节点(或网元)粒度级别的“节点”MSD值112A。在其中可以将多个不同支持的SID深度应用于单个网元的一些实施例中(例如,网络设备具有多个有着不同可注入SID深度的不同线卡),MSD值可以是所支持的多个SID深度中的最低值。该OSPF节点MSD TLV 110A包括 2字节的类型值202,其可以是标识OSPF节点MSD TLV 110A的唯一值(例如,在特定系统中或根据特定标准使用的特定TLV集合中是唯一的),这样,2字节的长度值204指示TLV 110A的“值”(节点 MSD值112A)部分的长度。
在一些实施例中,节点MSD值112A是2字节的值,包括表示零 (“0”)至254范围内的数字的值。在一些实施例中,零值可以表示发送网元缺乏推送任何深度的SID的能力,并且任何其他值可以表示该节点所支持的特定数量的SID。同样,在一些实施例中,当可能有支持的SID可注入深度的多个不同链路级值时(例如,由于网元中的不同类型的线卡),该值可以表示节点所支持的最低值。值得注意的是,在一些实施例中,该OSPF节点MSD TLV 110A的使用是可选的,因此可以或可以不通告它。
然而,在一些实施例中,可以由OSPFv2路由器信息不透明LSA 210携带OSPF节点MSD TLV 110A,OSPFv2路由器信息不透明LSA 210由互联网工程任务组(IETF)请求注释(RFC)4970描述。该OSPFv2 路由器信息不透明LSA 210可以包括2字节的链路状态(LS)生存时间212字段、1字节的选项214字段、携带表示“9”、“10”或“11”的1 字节、携带表示“4”(不透明类型值)的1字节、携带表示“0”(不透明ID值)的3字节、4字节的通告路由器216标识符、4字节的LS 序列号218、2字节的LS校验和220、2字节的跟随的TLV 224的大小的长度222、以及所述TLV 224,TLV 224可以携带该新的节点MSD TLV 110A。
类似地,在一些实施例中,可以由OSPFv3路由器信息不透明LSA 250承载OSPF节点MSD TLV 110A,OSPFv3路由器信息不透明LSA 250也由IETF RFC 4970描述。该OSPFv3路由器信息不透明LSA 250 包括与OSPFv2路由器信息不透明LSA 210类似的一些字段/值以及不同的一些字段/值,并且类似地在其TLV 224字段中携带新的节点MSD TLV 110A。
如上所述,在一些实施例中,网元可以报告不同的网元的SID注入大小的能力。转到图3,提供了OSPF链路MSD子TLV元素110B、携带OSPF链路MSD子TLV的OSPFv2扩展链路TLV308和携带 OSPF链路MSD子TLV的OSPFv2链路TLV 330的图示,根据一些实施例其可用于来暴露最大链路分段标识符深度。
在一些实施例中,网元可以通告一个或多个OSPF链路MSD子 TLV 110B--例如,针对网元的每个链路一个。链路MSD子TLV 110B 可以包括2字节的类型302字段,其包括在特定上下文中标识链路 MSD子TLV 110B的唯一标识符,链路MSD子TLV 110B还包括指示TLV的“值”(链路MSD值112B)部分的长度的2字节的长度值 304。在一些实施例中,链路MSD值112B可以是2字节的值,其是 0~254范围内的数字,其中0表示缺少推送任何深度的SID的能力,并且任何其他值表示该特定链路的SID的数量。
因此,在一些实施例中,网元可以使用多个OSPF链路MSD子 TLV 110B来通告不同的MSD值(即,链路MSD值112B)。
可用于携带一个或多个链路MSD子TLV 110B的一个示例OSPF 消息是由IETF RFC7684所描述的OSPFv2扩展链路TLV 308, OSPFv2扩展链路TLV 308本身可以携带在OSPFv2扩展链路不透明 LSA内。OSPFv2扩展链路TLV 308可以包括2字节的类型310、2 字节的长度312、1字节的链路类型314、3字节的预留空间、4字节的链路标识符318、4字节的链路数据320值、以及零个或更多子TLV 324,TLV 324可以可选地携带一个或多个链路MSD子TLV110B。
类似地,在一些实施例中,网元可以使用IETF RFC 3630所描述的OSPFv2链路TLV330,其本身可以由TE LSA携带。OSPFv2链路 TLV 330可以包括类型332、长度334和可变数量的子TLV 336,可变数量的子TLV 336包括链路类型子TLV 338、链路标识符子TLV 340,并且可选地包括:链路MSD子TLV 110B、本地接口IP地址342、远程接口IP地址344、TE度量346、最大带宽348、最大可预留带宽 350、未预留带宽352和/或管理组354值。在一些实施例中,每个 OSPFv2链路TLV 330可以仅携带一个链路MSD子TLV 110B,因此,可以由网元发送(例如,在TE LSA内)两个通告多链路MSD子TLV 110B、多个OSPFv2链路TLV 330。
此外,图4示出了携带图3的可用于根据一些实施例来暴露最大链路分段标识符深度的OSPF链路MSD子TLV的OSPFv3路由器链路TLV。OSPFv3路由器链路TLV 400可以包括2字节的路由器链路类型210(例如,具有值“1”)、2字节的长度212、1字节的类型214、表示零的1字节、2字节的度量402、4字节的接口标识符404、4字节的邻居接口标识符406、4字节的邻居路由器标识符408和可变数量的子TLV 418,可变数量的子TLV 418可以携带链路MSD子TLV110B。
IS-IS
如前所述,各种IGP协议可用于在不使用PCEP的情况下将网元的最大节点和/或链路分段标识符深度暴露给控制器。例如,一些实施例使用IS-IS。图5示出了IS-IS节点MSD子TLV元素110C和携带 IS-IS节点MSD TLV的IS-IS路由器能力TLV506,根据一些实施例其可用于来暴露最大节点分段标识符深度。
在一些实施例中,IS-IS节点MSD子TLV元素1I0C包括1字节的类型502,其携带唯一标识IS-IS节点MSD子TLV元素110C的值作为特定上下文内的IS-IS节点MSD子TLV元素110C(例如,在特定使用场景中,所有类型的子TLV都是唯一的)。IS-IS节点MSD子 TLV元素110C还可以包括1字节的长度504值,其指示携带节点MSD 值112A的子TLV的“值”部分的长度,在一些实施例中,该节点MSD 值112A是2字节。
类似于参考图2所呈现的节点MSD值112A,该节点MSD值112A 也可以是表示零(“0”)至254范围内的数字的2字节的值。在一些实施例中,零值可以表示发送网元缺乏推送/注入任何深度的SID的能力,并且任何其他值可以表示可以由节点推送/注入的特定数量的SID。同样,在一些实施例中,当可能有支持的SID可注入深度的多个不同链路级值时(例如,由于网元中的不同类型的线卡),该值可以表示节点所支持的最低值。
在利用IS-IS的系统中,可以使用例如由IETF RFC 4971定义的 IS-IS路由器能力TLV 506来通告IS-IS节点MSD子TLV元素110C。在一些实施例中,该IS-IS路由器能力TLV506包括1字节的类型508、 1字节的长度510值和可变长度“值”512部分。在一些实施例中,可变长度值512部分可以包括4字节的路由器标识符514、1字节的标志 515、以及可变数量的子TLV 324,可变数量的子TLV 324可以(可选地)携带IS-IS节点MSD子TLV元素110C。
与OSPF类似,可以在利用IS-IS的系统中类似地通告链路级MSD 值。图6示出了IS-IS链路MSD子TLV元素110D和几种类型的IS-IS TLV(606/630),根据一些实施例其可用于来暴露最大链路分段标识符深度。
在一些实施例中,新的IS-IS链路MSD子TLV 110D可用于携带每链路的MSD值。例如,IS-IS链路MSD子TLV 110D可以包括1 字节的类型602,其唯一地标识该子TLV的类型,IS-IS链路MSD子 TLV 110D还包括子TLV的“值”(2字节的链路MSD值112B的值) 部分的1字节的长度604值。
IS-IS链路MSD子TLV 110D可以由各种不同的IS-IS TLV携带,这取决于使用的上下文。例如,一个或多个IS-IS链路MSD子TLV 110D可以由IS-IS“类型22”扩展IS可达性TLV606A携带,如IETF RFC 5305所描述,或者可以由IS-IS“类型23”IS邻居属性TLV 606B 来携带,如IETF RFC 5311所描述。
这些TLV 606A~606B可以包括1字节的类型608(“22”或“23”)、 1字节的TLV的“值”的长度610:即,7字节的系统ID和伪节点数 612、3字节的缺省度量614、1字节的子TLV长度616和可变数量的子TLV,可变数量的子TLV可以包括一个或多个IS-IS链路MSD子 TLV110D。
类似地,IS-IS链路MSD子TLV 110D可以由“类型222”IS-IS多拓扑(MT)IS TLV630A携带,如IETF RFC 5120所描述的,或者在“类型223”IS-IS MT IS邻居属性TLV 630B中携带,如IETF RFC 5311 所描述的。这些TLV 630A~630B可以包括1字节的类型632(“222”或“223”)、1字节的长度634、4个预留比特、12比特的MT标识符 636、以及TLV 606(例如,如上所示的IS-IS扩展IS可达性TLV 606A)。
在一些实施例中,对于特定链路仅存在一个IS-IS链路MSD子 TLV 110D。尽管在一些实施例中,特定TLV(例如,如上所述的类型22/23/222/223 TLV)仅携带一个IS-IS链路MSD子TLV 110D,但是在一些实施例中,多个IS-IS链路MSD子TLV 110D(即,针对多个链路)可以被打包到这些TLV(例如,类型22/23/222/223)中的仅一个TLV中。
流程和配置
图7A示出了根据一些实施例的用于暴露最大节点和/或链路分段标识符深度的流程700。将参照其他附图的示例性实施例来描述该流程图和图8A的流程图中的操作。然而,应当理解:流程图中的操作可以由除了参照其他附图描述的那些实施例之外的实施例来执行,并且参照这些其他附图讨论的实施例可以执行与参照流程图来讨论的那些实施例不同的操作。然而,在一些实施例中,可以由图1的网元(例如网元“A”102A)执行流程700,其可以充当使能SR的网络120的边缘处的“边缘”路由器/充当SR隧道/路径的“头”端。
在框705处,流程700包括发送包括MSD值的TLV元素。可以由SR网络中的网元执行该发送,并且可以通过它通向SR网络中的其他网元的链路中的一个或多个(或所有)链路而发出。所述MSD值标识所述网元能够推送到接收到的分组的分组报头中以便能够通过 SR网络转发接收到的分组的最大SID标签数。在一些实施例中,TLV 元素是子TLV,而在一些实施例中,TLV元素是“常规”TLV元素。
在一些实施例中,TLV元素是OSPF通告(例如,LSA)的一部分,而在一些实施例中,TLV元素是IS-IS通告(例如,TLV)的一部分。可以直接或间接地(例如,经由其他网元)将TLV元素最终提供给控制器。
在各种实施例中,可以由以下内容携带TLV元素:OSPFv2路由器信息不透明LSA210、OSPFv3路由器信息不透明LSA 250、OSPFv2 扩展链路TLV 308、OSPFv2链路TLV 330、OSPFv3路由器链路TLV 400、IS-IS路由器能力TLV 506、IS-IS“类型22”扩展IS可达性TLV606A、IS-IS“类型23”IS邻居属性TLV 606B、“类型222”IS-IS多拓扑 (MT)IS TLV 630A、和/或“类型223”IS-IS MT IS邻居属性TLV 630B。
在框710处,流程700还包括从控制器接收针对要用于通过SR 网络转发接收到的分组的路径的数据。所述数据包括要推送到与所述路径相关联的接收到的分组中的一个或多个SID标签的集合。值得注意的是,SID标签的集合包括小于或等于在框705处最初发送的SID 标签的MSD值的数量。
可选地,在框715至720至725处,流程700可以包括接收一个或多个分组(例如,可以与关于框710所描述的路径相关联),将一个或多个标签的集合(例如,SID的集合)推送到接收到的分组中以产生修改后的分组,以及根据路径发送修改后的分组。
图7B示出了根据一些实施例的可以执行图7A的流程700的网元 102A的高级框图750。
本文描述的每个模块不必严格地必须实现为物理上分离的单元。一些或所有模块可以在物理单元中组合。此外,模块不需要严格地用硬件实现。可以设想,单元可以通过硬件和软件的组合来实现。例如,电子设备752可以包括一个或多个中央处理单元,其执行存储在非暂时性存储介质中或固件中的程序指令以执行模块的功能。
电子设备752可以实现网元102A并且包括发送模块754和接收模块756。
发送模块754可以适于发送包括MSD值的TLV元素,其中所述 MSD值标识网元能够推送到接收到的分组的分组报头中以便能够通过SR网络转发接收到的分组的最大SID标签数。可以使用IS-IS协议发送TLV元素。在一些实施例中,发送模块754可以执行图7A的流程700的框705。
接收模块756可以适于从控制器接收要用于通过所述SR网络转发接收到的分组的路径的数据,其中所述数据包括要推送到与所述路径相关联的接收到的分组中的一个或多个SID标签的集合,并且其中 SID标签的所述集合具有少于或等于MSD值的数量的SID标签。在一些实施例中,接收模块756可以执行图7A的流程700的框710。
在一些实施例中,电子设备752可以包括其他未示出的模块,例如执行图7A的流程700的框715、720和/或725的一个或多个模块,并且可能可以包括其他未示出的执行本文公开的其他操作的模块。因此,所描绘的实施例是说明性的而非限制性的。
图8A示出了根据一些实施例的用于利用暴露的最大节点和/或链路分段标识符深度的流程800。在一些实施例中,可以由诸如图1的控制器104的控制器执行流程800。
在框805处,流程800包括从SR网络的多个网元中的第一网元接收包括MSD值的TLV元素。所述MSD值标识所述网元能够推送到接收到的分组的分组报头中以便能够通过SR网络转发接收到的分组的最大SID标签数。
在一些实施例中,TLV元素是OSPF通告(例如,LSA)的一部分,而在一些实施例中,TLV元素是IS-IS通告(例如,TLV)的一部分。TLV元素可以直接或间接地(例如,经由其他网元)从始发网元提供给控制器。
在一些实施例中,TLV元素是子TLV,而在一些实施例中,TLV 元素是“常规”TLV元素。
在各种实施例中,可以由以下内容携带TLV元素:OSPFv2路由器信息不透明LSA210、OSPFv3路由器信息不透明LSA 250、OSPFv2 扩展链路TLV 308、OSPFv2链路TLV 330、OSPFv3路由器链路TLV 400、IS-IS路由器能力TLV 506、IS-IS“类型22”扩展IS可达性TLV606A、IS-IS“类型23”IS邻居属性TLV 606B、“类型222”IS-IS多拓扑 (MT)IS TLV 630A、和/或“类型223”IS-IS MT IS邻居属性TLV 630B。
在框810处,流程800包括针对可识别的业务集合,基于MSD 值确定从第一网元到多个网元中的第二网元的路径。可以由一个或多个SID标签的集合表示该路径。该分段标识符标签集合中的SID标签数必须小于或等于在框805中接收到的MSD值。
在一些实施例中,框810包括使用接收到的MSD值作为约束来执行路径寻找过程,使得任何所选路径将不具有超过MSD值的相应数量的SID。例如,在一些实施例中,框810包括识别候选路径的集合,并且基于确定该路径将需要超过由第一网元报告的MSD值的多个SID(例如,通过第一网元)推送到业务中而不考虑所述候选路径中的一个或多个。
在MSD值是第一网元的第一链路的“链路”MSD值的实施例中,框805还可以包括接收第一网元的一个或多个附加链路的一个或多个附加MSD值。在这种情况下,框810可以基于这些MSD值中的一个或多个来确定,使得当尝试使用那些各种链路识别路径时可以考虑各种链路的MSD能力。
在框815处,流程800包括向第一网元发送针对网元要用于通过 SR网络转发接收到的分组的路径的数据。所述数据包括要推送到可识别的业务集合的接收到的分组中的SID标签的集合。
图8B示出了根据一些实施例的可以执行图8A的流程800的控制器104的高级框图850。
本文描述的每个模块不必严格地必须实现为物理上分离的单元。一些或所有模块可以在物理单元中组合。此外,模块不需要严格地用硬件实现。可以设想,单元可以通过硬件和软件的组合来实现。例如,电子设备852可以包括一个或多个中央处理单元,其执行存储在非暂时性存储介质中或固件中的程序指令以执行模块的功能。
电子设备852可以实现控制器104,控制器104可以包括接收模块854、确定模块856和/或发送模块858。
接收模块854可以适于从分段路由网络的多个网元中的第一网元接收包括MSD值的TLV元素,该MSD值标识第一网元能够推送到接收到的分组的分组报头中以便能够通过SR网络转发接收到的分组的最大SID标签数。可以使用IS-IS协议发送TLV元素。在一些实施例中,接收模块854可以执行图8A的流程800的框805。
确定模块856可以适于针对包括一个或多个SID标签的集合的可识别的业务集合,基于所述MSD值确定从所述第一网元到所述多个网元中的第二网元的路径,其中SID标签的所述集合中的SID标签的数量小于或等于所述MSD值。在一些实施例中,确定模块856可以执行图8A的流程800的框810。
发送模块858可以适于向所述第一网元发送针对网元要用于通过所述SR网络转发接收到的分组的路径的数据,其中所述数据包括要推送到所述可识别的业务集合的接收到的分组中的SID标签的集合。在一些实施例中,发送模块858可以执行图8A的流程800的框815。
在一些实施例中,控制器104可以包括执行如本文所公开的其他操作的其他未示出的模块。因此,所描绘的实施例是说明性的而非限制性的。
如本文所述,一些实施例使用电子设备。电子设备使用机器可读介质(也被称为计算机可读介质)来(内部和/或通过网络使用其他电子设备)存储和发送代码(其由软件指令构成,且有时被称为计算机程序代码或计算机程序)和/或数据,机器可读介质是例如机器可读存储介质(例如,磁盘、光盘、只读存储器(ROM)、闪存设备、相变存储器)和机器可读传输介质(也被称为载体)(例如,电、光、无线电、声或其他形式的传播信号,例如载波、红外信号)。从而,许多电子设备(例如,计算机或“计算设备”)可以包括硬件和软件,例如一个或多个处理器的集合,其耦合到用于存储在该处理器集合上执行的代码和/或用于存储数据的一个或多个及其可读存储介质。
例如,电子设备可以包括包含代码的非易失性存储器,因为即使当电子设备关闭时(当移除电源时),非易失性存储器也可以保持代码/数据。当电子设备开启时,通常将该电子设备的处理器要执行的那部分代码从较慢的非易失性存储器复制到该电子设备的易失性存储器 (例如,动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)) 中。许多电子设备还包括用于与其他电子设备建立网络连接或以其他方式与电子设备进行通信(以使用传播信号来发送和/或接收代码和/ 或数据)的一个或多个物理网络接口的集合。本文所描述的各种实施例的一个或多个部分可以使用软件、固件、和/或硬件的不同组合来实现。
网络设备(ND)是在一个或多个网络中通信地互连其他电子设备(例如,其他网络设备、端用户设备)的电子设备。一些网络设备是为多个联网功能(例如,路由、桥接、交换、层2聚合、会话边界控制、服务质量、和/或订户管理)提供支持、和/或为多应用服务(例如,数据、语音、和视频)提供支持的“多服务网络设备”。
图9A示出了根据一些实施例的示例性网络内的网络设备(ND) 之间的连接性以及ND的三种示例性实施方式。图9A示出了ND 900A~900H,以及它们通过900A至900B、900B至900C、900C至 900D、900D至900E、900E至900F、900F至900G和900A至900G 之间的线路的连接性,以及900H和900A、900C、900D和900G中的每一个的连接性。这些ND是物理设备,且这些ND之间的连接性可以是无线的或有线的(通常被称为链路)。从ND 900A、900E和 900F延伸的附加线(而不是示出为在终点处结束)示出了:这些ND 充当网络的进入点和离开点,且从而这些ND有时被称为边缘ND,而其他ND可以被称为核心ND。
图9A中的两个示例性ND实施方式是:1)专用网络设备902,其可以包括定制的专用集成电路(ASIC)和专有操作系统(OS);以及2)通用网络设备904,其可以使用常见的现成(COTS)组件(例如,处理器)和可能的“标准”OS。
专用网络设备902包括联网硬件910,联网硬件2210包括计算资源912(其通常包括一个或多个处理器的集合)、转发资源914(其通常包括一个或多个ASIC和/或网络处理器)、以及物理网络接口(NI) 916(有时被称为物理端口)、以及其中存储有联网软件920的非瞬时机器可读存储介质918。
在一些实施例中,联网软件920可以包括MSD通告模块代码 990A,其可用于实现可以执行本文公开的操作的MSD通告模块933A,这些操作包括图7A的流程700的操作以及整个说明书中所讨论的操作。例如,MSD通告模块933A可以包括OSPF和/或IS-IS路由引擎的实例,其被配置为发送如本文所述的MSD值。可以基于例如物理网络接口916的能力来确定这些MSD值。
物理NI是ND中的硬件,通过该硬件进行网络连接(例如,通过无线网络接口控制器(WNIC)以无线方式或者通过将电线插入连接到网络接口控制器(NIC)的物理端口),例如由ND 900A~900H 之间的连接所示出的那些连接。
在操作期间,联网软件920可以由联网硬件910来执行,以实例化一个或多个联网软件实例922的集合。每个联网软件实例922以及联网硬件910的执行该网络软件实例的部分(如果其是专用于该联网软件实例的硬件和/或由该联网软件实例与其他联网软件实例922按时间共享的硬件的时间片)形成了单独的虚拟网元930A~930R。每个虚拟网元(VNE)930A~930R包括控制通信和配置模块932A~ 932R(有时被称为本地控制模块或控制通信模块)和转发表934A~ 934R,使得给定的虚拟网元(例如,930A)包括控制通信和配置模块(例如,932A)、一个或多个转发表的集合(例如,934A)、以及联网硬件910的执行虚拟网元(例如,930A)的部分。
在一些实施例中,虚拟网元(VNE)930A~930R的控制通信和配置模块中的一个或多个(例如,932A)可以包括MSD通告模块933A,通过执行MSD通告模块代码990A来实例化或实现该MSD通告模块 933A。
专用网络设备902经常在物理上和/或逻辑上被视为包括:1)ND 控制平面924(有时被称为控制平面),包括执行控制通信和配置模块932A~932R的计算资源912;以及2)ND转发平面926(有时被称为转发平面、数据平面、或媒体平面),包括利用转发表934A~934R的转发资源914和物理NI 916。作为ND是路由器(或实现路由功能) 的示例,ND控制平面924(执行控制通信和配置模块932A~932R的计算资源912)通常负责参与控制如何路由(例如,数据的下一跳和该数据的输出物理NI)数据(例如,分组)并负责在转发表934A~ 934R中存储该路由信息,以及ND转发平面926负责在物理NI 916 上接收该数据并基于转发表934A~934R将该数据转发出物理NI 916 中的恰当物理NI。
图9B示出了根据一些实施例的用于实现专用网络设备902的示例性方式937。图9B示出了包括卡938(通常是可热插拔的)在内的专用网络设备。尽管在一些实施例中,卡938具有两种类型(作为ND 转发平面926来工作的一个或多个(有时被称为线路卡)、以及进行工作以实现ND控制平面924的一个或多个(有时被称为控制卡)),备选实施例可以将功能结合到单个卡上和/或包括附加卡类型(例如,一种附加类型的卡被称为服务卡、资源卡、或多应用卡)。服务卡可以提供特殊处理(例如,层4到层7服务(例如,防火墙、互联网协议安全(IPsec)、安全套接字层(SSL)/传输层安全(TLS)、入侵检测系统(IDS)、对等(P2P)、基于IP的语音(VoIP)会话边界控制器、移动无线网关(网关通用分组无线电服务(GPRS)支持节点(GGSN)、演进分组核心(EPC)网关))。作为示例,服务卡可以用于端接IPsec隧道,并执行伴随的认证和加密算法。这些卡通过示出为背板936的一个或多个互联机制耦接在一起(例如,第一全网格耦接线路卡以及第二全网格耦接所有卡)耦接。
在本文所公开的实施例的上下文中,卡938可能潜在地具有可以注入业务的不同SID深度,因此可以具有不同的MSD值。例如,在一些常见的部署方案中,卡938可以包括由不同供应商制造的卡,或者包括来自同一制造商的不同模型的卡,并且这些卡938可以具有不同的SID注入能力。
返回图9A,通用网络设备904包括硬件940,硬件2240包括一个或多个处理器942(其经常是COTS处理器)的集合和网络接口控制器944(NIC,也被称为网络接口卡)(其包括物理NI 946)、以及其中存储有软件950的非瞬时机器可读存储介质948。
软件950可以包括MSD通告模块代码990B,其可以由处理器942 执行以实现MSD通告模块(未示出),MSD通告模块可以是应用 964A~964R的一部分,以执行本文所描述的操作(例如,图7A的流程700)。因此,该MSD通告模块可以通告“节点”和/或“链路”的MSD 值,其可以基于NIC 944的能力来确定,并且可以使用诸如OSPF或 IS-IS的IGP来通告。
在操作期间,处理器942执行软件950以实例化一个或多个应用 964A~964R的一个或多个集合。虽然一个实施例不实现虚拟化,但是备选实施例可以使用不同形式的虚拟化。例如,在一个这种备选实施例中,虚拟化层954表示操作系统的内核(或在基本操作系统上执行的shim),其允许创建称为软件容器的多个实例962A~962R,每个实例可用于执行应用964A~964R的一个(或多个)集合;其中多个软件容器(也称为虚拟化引擎、虚拟专用服务器或jail)是用户空间(通常是虚拟内存空间),它们彼此分离并与运行操作系统的内核空间分离;以及除非明确允许,否则在给定用户空间中运行的应用集合不能访问其他进程的内存。在另一个这种备选实施例中,虚拟化层 954表示监管程序(有时称为虚拟机监视器(VMM))或在主机操作系统之上执行的监管程序,并且应用964A~964R的集合中的每一个运行在实例962A~962R内的客户操作系统之上,其称为运行在监管程序之上的虚拟机(在一些情况下,可以将其视为紧密隔离的软件容器形式),客户操作系统和应用可能不知道它们在虚拟机上运行而不是在“裸机”主机电子设备上运行,或者通过半虚拟化,操作系统和/或应用可以意识到存在虚拟化以用于优化目的。在其他备选实施例中,一个、一些或所有应用程序被实现为单内核,其可以通过直接与应用程序仅编译有限的、提供应用程序所需的特定OS服务的一组库(例如,来自库操作系统(LibOS),包括OS服务的驱动程序/库)来生成。由于单内核可以实现为直接在硬件940上、直接在管理程序上(在这种情况下,单内核有时被描述为在LibOS虚拟机内运行)、或者在软件容器中运行,实施例可以完全由如下的单内核来实现:直接运行在由虚拟化层954表示的管理程序上的单内核、运行在由实例962A~962R表示的软件容器内的单内核、或者单内核和上述技术的组合(例如,单内核和虚拟机都直接运行在管理程序之上,单内核和在不同软件容器内运行的应用程序的集合)。
一个或多个应用964A~964R的一个或多个集合的实例化以及虚拟化(如果实现的话)统称为软件实例952。每个应用964A~964R 集合、相应的虚拟化构造(例如,实例962A~962R)(如果实现的话)、以及执行它们的硬件940的部分(是专用于该执行的硬件和/ 或临时共享的硬件的时间片),形成单独的虚拟网元960A~960R。
虚拟网元960A~960R执行与虚拟网元930A~930R类似的功能,例如,类似于控制通信和配置模块932A和转发表934A(硬件940的这种虚拟化有时被称为网络功能虚拟化(NFV))。从而,NFV可以用于将很多网络设备类型统一到工业标准高容量服务器硬件、物理交换机、和物理存储器,它们可以位于数据中心、ND、和客户住宅设备 (CPE)中。尽管将本发明的实施例示出为每个实例962A~962R对应于一个VNE 960A~960R,备选实施例可以在更精细级别粒度上实现该对应关系(例如,线路卡虚拟机虚拟化线路卡、控制卡虚拟机虚拟化控制卡等);应当理解:本文参考实例962A~962R与VNE的对应关系来描述的技术同样适用于使用这种更精细级别粒度和/或单内核的实施例。
在某些实施例中,虚拟化层954包括提供与物理以太网交换机类似的转发服务的虚拟交换机。具体地,该虚拟交换机在实例962A~ 962R和NIC 944之间转发业务,以及可选地在实例962A~962R之间转发业务;此外,该虚拟交换机可以在不被允许彼此通信的VNE960A~960R之间通过策略来强制执行网络隔离(例如,通过执行虚拟局域网(VLAN))。
图9A中的第三示例性ND实现是混合网络设备906,其在单个 ND或ND内的单个卡中包括定制ASIC/专有OS和COTS处理器/标准OS。在这种混合网络设备的某些实施例中,平台VM(即,实现专用网络设备902的功能的VM)可以向混合网络设备906中存在的联网硬件提供准虚拟化。
不管ND的上述示例实现如何,当考虑由ND实现的多个VNE 中的单个一个VNE时,或者在NV当前仅实现单个VNE的情况下,缩写的术语网元(NE)有时被用于指代该VNE。同样在全部上述示例实现中,每个VNE(例如,VNE 930A-930R、VNE 960A-960R、以及混合网络设备906中的那些)在物理NI(例如,916、946)上接收数据并将该数据转发出物理NI(例如,916、946)中的恰当物理NI。例如,实现IP路由器功能的VNE基于IP分组中的一些IP报头信息来转发IP分组;其中IP报头信息包括源IP地址、目的IP地址、源端口、目的端口(其中“源端口”和“目的端口”在本文中指协议端口,与ND的物理端口相对)、传输协议(例如,用户数据报协议(UDP)、传输控制协议(TCP)和差异化服务(DSCP)值。
图9C示出了根据一些实施例的可以耦合VNE的各种示例性方式。图9C示出了在ND900A中实现的VNE 970A.1~970A.P(以及可选的VNE 970A.Q~970A.R)以及ND 900H中的VNE 970H.1。在图9C 中,VNE 970A.1~P在以下意义上是彼此分离的:它们可以从ND 900A外部接收分组并向ND 900外部转发分组。VNE 970A.1与VNE 970H.1 耦合,且从而它们在其各自ND之间传输分组;VNE 970A.2~970A.3 可以可选地在它们之间转发分组,而不向ND900A外部转发分组;以及VNE 970A.P可以可选地是VNE链中的第一个,该VNE链包括VNE970A.Q,之后包括VNE 970A.R(有时这被称为动态服务链接,其中,一系列VNE中的每个VNE提供不同服务,例如,一个或多个层4~7 网络服务)。尽管图9C示出了VNE之间的各种示例性关系,备选实施例可以支持其他关系(例如,更多/更少的VNE、更多/更少的动态服务链、具有一些公共VNE和一些不同VNE的多个不同动态服务链)。
图9A的ND例如可以形成互联网或私有网络的一部分;以及其他电子设备(未示出;例如端用户设备,包括工作站、膝上型计算机、上网本、平板电脑、掌上上型计算机、移动电话、智能电话、平板手机、多媒体电话、基于网际协议的语音(VoIP)电话、终端、便携式媒体播放器、全球定位系统(GPS)单元、可穿戴设备、游戏系统、机顶盒、支持互联网的家用电器)可以耦合到网络(直接或通过诸如接入网之类的其他网络),以通过网络(例如,互联网或覆盖(例如,隧道传输)在互联网上的虚拟私有网络(VPN))彼此通信(直接或通过服务器)和/或访问内容和/或服务。这种内容和/或服务通常由属于服务/内容提供商的一个或多个服务器(未示出)或参与对等(P2P) 服务的一个或多个端用户设备(未示出)来提供,且可以包括例如公开网页(例如,自由内容、商店前端页面、搜索服务)、私有网页(例如,提供电子邮件服务的用户名/密码访问网页)、和/或基于VPN的公司网络。例如,端用户设备可以耦合(例如,通过(无线或有线) 耦合到接入网的客户住宅设备)到边缘ND,边缘ND耦合(例如,通过一个或多个核心ND)到其他边缘ND,该其他边缘ND耦合到充当服务器的电子设备。然而,通过计算和存储虚拟化,作为图9A中 ND来工作的一个或多个电子设备还可以提供一个或多个这种服务器 (例如,在通用网络设备904的情况下,软件实例962A~962R中的一个或多个可以作为服务器工作;这对于混合网络设备906来说也将是正确的;在专用网络设备902的情况下,一个或多个这种服务器还可以运行在由计算资源912执行的虚拟化层上);在该情况下,服务器被称为是与该ND的VNE同处一地。
虚拟网络是提供网络服务(例如,L2和/或L3服务)的物理网络 (例如,图9A中的那个物理网络)的逻辑抽象。虚拟网络可以实现为在底层网络(例如,L3网络,如使用隧道(例如,通用路由封装(GRE)、层2隧道传输协议(L2TP)、IPSec)来创建覆盖网络的IP网络)上提供网络服务(例如,层2(L2,数据链路层)和/或层3(L3,网络层)服务)的覆盖网络(有时被称为网络虚拟覆盖)。
网络虚拟边缘(NVE)位于底层网络的边缘处,并参与实现网络虚拟化;NVE的面向网络侧使用底层网络向其他NVE隧道传输帧以及隧道传输来自其他NVE的帧;NVE的面向外部侧向网络外部的系统发送数据和从网络外部的系统接收数据。虚拟网络实例(VNI)是NVE上虚拟网络的特定实例(例如,ND上的NE/VNE、ND上NE/VNE 的一部分,其中,通过仿真将该NE/VNE分为多个VNE);可以在 NVE上实例化一个或多个VNI(例如,作为ND上的不同VNE)。虚拟接入点(VAP)是NVE上用于将外部系统连接到虚拟网络的逻辑连接点;VAP可以是通过逻辑接口标识符(例如,VLAN ID)来识别的物理或虚拟端口。
网络服务的示例包括:1)以太网LAN仿真服务(类似于IETF MPLS或以太网VPN(EVPN)服务的基于以太网的多点服务),其中,外部系统通过基于底层网络的LAN环境跨网络互连(例如,NVE 针对不同的这种虚拟网络提供分离的L2VNI(虚拟交换实例),以及提供跨底层网络的L3(例如,IP/MPLS)隧道传输封装);以及2) 虚拟化IP转发服务(从服务定义角度来说,类似于IETF IP VPN(例如,BGP/MPLS IPVPN)),其中,外部系统通过基于底层网络的L3 环境跨网络互连(例如,NVE针对不同的这种虚拟网络提供分离的 L3VNI(转发和路由实例),以及提供跨底层网络的L3(例如,IP/MPLS) 隧道传输封装)。网络服务还可以包括服务质量能力(例如,业务分类标记、业务调节(conditioning)和调度)、安全能力(例如,用于保护客户住宅免受源自网络的攻击的过滤器,以避免有缺陷的路由公告)、以及管理能力(例如,完全检测和处理)。
图9D示出了根据本发明一些实施例的在图9A的每个ND上具有单个网元的网络,且在该直观方案中,对比了(传统路由器常用的) 传统分布式方案与用于保持可达性和转发信息(也被称为网络控制) 的集中式方案。具体地,图9D示出了具有与图9A的ND 900A~H相同连接性的网元(NE)970A~970H。
图9D示出了分布式方案972将用于生成可达性和转发信息的责任分布在NE 970A~970H上;换言之,邻居发现和拓扑发现的过程是分布式的。
例如,在使用专用网络设备902的情况下,ND控制平面924的控制通信和配置模块932A~932R通常包括用于实现一个或多个路由协议的可达性和转发信息模块(例如,诸如BGP的外部网关协议、内部网关协议(IGP)(例如,OSPF、IS-IS、路由信息协议(RIP)、 LDP、资源预留协议(RSVP)(包括RSVP-TE:用于LSP隧道的RSVP 扩展和通用多协议标签交换(GMPLS)信令RSVP-TE)),其与其他NE通信以交换路由,然后基于一个或多个路由度量来选择那些路由。从而,NE 970A~970H(例如,执行控制通信和配置模块932A~ 932R的计算资源912)通过分布式地确定网络内的可达性并计算其各自的转发信息来执行其参与控制如何路由(例如,数据的下一跳以及该数据的输出物理NI)数据(例如,分组)的责任。路由和邻接关系存储在ND控制平面924上的一个或多个路由结构中(例如,路由信息库(RIB)、标签信息库(LIB)、一个或多个邻接关系结构)。ND 控制平面924使用基于路由结构的信息(例如,邻接关系和路由信息) 对ND转发平面926编程。例如,ND控制平面924将邻接关系和路由信息编程到ND转发平面926上的一个或多个转发表934A~934R (例如,转发信息库(FIB)、标签转发信息库(LFIB)、以及一个或多个邻接关系结构)中。对于层2转发,ND可以存储一个或多个桥接表,该一个或多个桥接表用于基于该数据中的层2信息来转发数据。尽管上面的示例使用了专用网络设备902,相同的分布式方案972 可以实现在通用网络设备904和混合网络设备906上。
图9D示出了集中式方案974(也被称为SDN),其将做出与从底层系统(该底层系统向所选目的地转发业务)发送业务的位置有关的决定的系统加以去耦合。所示出的集中式方案974具有用于在集中式控制平面976(有时被称为SDN控制模块、控制器、网络控制器、开放流控制器、SDN控制器、控制平面节点、网络虚拟化机构、或管理控制实体)中生成可达性和转发信息的责任,并从而使得邻居发现和拓扑发现的过程集中式。
集中式控制平面976具有针对数据平面980(有时被称为基础架构层、网络转发平面、或转发平面(其不应当与ND转发平面相混淆)) 的南向接口(south bound interface)982,该数据平面980包括NE 970A~970H(有时被称为交换机、转发元件、数据平面元件、或节点)。集中式控制平面976包括网络控制器978,网络控制器978包括确定网络内的可达性并通过南向接口982向数据平面980的NE 970A~ 970H分发转发信息的集中式可达性和转发信息模块979(其可以使用开放流协议)。从而,在通常与ND分离的电子设备上执行的集中式控制平面976中将网络情报(network intelligence)集中式。
在一些实施例中,集中式可达性和转发信息模块979包括MSD 感知路径选择模块981,可以操作该MSD感知路径选择模块981以执行本文公开的操作,例如图8A的流程800的操作。
例如,在数据平面980中使用专用网络设备902的情况下,ND 控制平面924的每个控制通信和配置模块932A~932R通常包括提供南向接口982的VNE侧的控制代理。在该情况下,ND控制平面924 (执行控制通信和配置模块932A~932R的计算资源912)通过与集中式控制平面976通信的控制代理来执行其参与控制如何路由(例如,数据的下一跳和该数据的输出物理NI)数据(例如,分组)的责任,以从集中式可达性和转发信息模块979接收转发信息(以及在一些情况下的可达性信息)(应当理解:在本发明的一些实施例中,除了与集中式控制平面976通信之外,控制通信和配置模块932A~932R还可以在确定可达性和计算转发信息时扮演某个角色,尽管不像分布式方案情况下那么多;这种实施例一般被视为落入集中式方案974中,但也可以被视为是混合方案)。
尽管上述示例使用了专用网络设备902,可以使用通用网络设备 904和混合网络设备906来实现同样的集中式方案974(例如,每个 VNE 960A~960R通过与集中式控制平面976通信来执行其控制如何路由(例如,该数据的下一跳和该数据的输出物理NI)数据(例如,分组)的责任,以从集中式可达性和转发信息模块979接收转发信息 (以及在一些情况下,可达性信息);应当理解:在本发明的一些实施例中,除了与集中式控制平面976通信之外,VNE 960A~960R还可以在确定可达性和/或计算转发信息时扮演某个角色,尽管不像分布式方案情况下那么多)。事实上,对SDN技术的使用可以增强通常在通用网络设备904或混合网络设备906实现中使用的NFV技术,因为 NFV能够通过提供其上可以运行SDN软件的基础架构来支持SDN,且因为NFV和SDN都打算利用商品服务器硬件和物理交换机。
图9D还示出了集中式控制平面976具有针对应用层986的北向接口984,在应用层986中驻留有应用988。集中式控制平面986具有针对应用988来形成虚拟网络992(有时被称为逻辑转发平面、网络服务、或覆盖网络(且数据平面980的NE 970A~970H是底层网络))的能力。从而,集中式控制平面976保持所有ND和所配置的NE/VNE 的全局视图,且其将虚拟网络高效地映射到底层ND(包括当物理网络通过硬件(ND、链路、或ND组件)故障、添加、或移除来改变时保持这些映射)。
尽管图9D示出了与集中式方案974不同的分布式方案972,在某些实施例中,网络控制的工作可以用不同方式分布或者这二者可以结合。例如:1)实施例一般可以使用集中式方案(SDN)974,但是具有委托给NE的某些功能(例如,分布式方案可以用于实现故障监视、性能监视、保护切换、以及用于邻居和/或拓扑发现的基元(primitive) 中的一项或多项);或者2)本发明的实施例可以经由集中式控制平面和分布式协议这二者来执行邻居发现和拓扑发现,且比较结果以在它们不一致的地方提出异常。这种实施例一般被视为落入集中式方案 974中,但也可以被视为是混合方案。
尽管图9D示出了每个ND 900A~H实现单个NE 970A~970H的简单情况,应当理解:参照图9D描述的网络控制方案同样适用于一个或多个ND 900A~900H实现多个VNE(例如,VNE 930A~930R、 VNE 960A~960R、在混合网络设备906中的那些)的网络。备选地或附加地,网络控制器978还可以对在单个ND中实现多个VNE加以仿真。具体地,取代(或除了)在单个ND中实现多个VNE(之外),网络控制器978(还)可以将单个ND中的VNE/NE的实现呈现为虚拟网络992中的多个VNE(在同一个虚拟网络992中的全部、不同虚拟网络992中的每一个、或某种组合)。例如,网络控制器978可以使得ND在底层网络中实现单个VNE(NE),然后对集中式控制平面976内的该NE的资源进行逻辑分割,以在虚拟网络992中呈现不同的VNE(其中,底层网络中的这些不同VNE共享底层网络中ND 上的单个VNE/NE实现的资源)。
另一方面,图9E和图9F分别示出了NE和VNE的示例性抽象,网络控制器978可以将其作为不同的虚拟网络992的一部分来呈现。图9E示出了根据本发明一些实施例的以下简单情况:ND 900A~H中的每一个实现单个NE 970A~970H(参见图9D),而集中式控制平面976将不同ND中的多个NE(NE 970A~970C和970G~970H)抽象为(以表示)图9D的虚拟网络992之一中的单个NE 9701。图9E 示出了:在该虚拟网络中,NE 970I耦合到NE 970D和970F,它们都依然耦合到NE 970E。
图9F示出了根据本发明一些实施例的以下情况:在不同ND(ND 900A和ND 900H)上实现多个VNE(VNE 970A.1和VNE 970H.1) 并且多个VNE彼此耦合,以及集中式控制平面976将这些多个VNE 加以抽象,使得他们表现为图9D的虚拟网络992之一中的单个VNE 970T。从而,NE或VNE的抽象可以跨多个ND。
尽管一些实施例将集中式控制平面976实现为单个实体(例如,单个电子设备运行的软件的单个实例),备选实施例可以出于冗余和/ 或可扩缩性的目的将功能分散在多个实体上(例如,不同电子设备上运行的软件的多个实例)。
类似于网络设备实现,可以用各种方式(例如,专用设备、通用 (例如,COTS)设备、或混合设备)来实现集中式控制平面976上运行的电子设备,且从而实现包括集中式可达性和转发信息模块979 在内的网络控制器978。这些电子设备包括计算资源、一个或多个物理NIC的集合、以及其上存储有集中式控制平面软件的非暂时性机器可读存储介质。例如,图10示出了包括硬件1040在内的通用控制平面设备1004,硬件1040包括一个或多个处理器1042(其经常是COTS 处理器)的集合和网络接口控制器1044(NIC;也被称为网络接口卡)(其包括物理NI 1046)、以及其中存储有集中式控制平面(CCP)软件1050的非暂时性机器可读存储介质1048。
在一些实施例中,CCP软件1050包括MSD感知路径选择模块代码1081,当由处理器1042执行该代码时,可以提供集中式可达性和转发信息模块实例1079和/或CCP应用层1080内的MSD感知路径选择模块981组件,这取决于具体实现方式。
在使用计算虚拟化的实施例中,处理器1042通常执行软件以实例化虚拟化层1054(例如,在一个实施例中,虚拟化层1054表示操作系统的内核(或在基本操作系统上执行的填充程序),其允许创建多个称为软件容器(表示单独的用户空间,也称为虚拟化引擎、虚拟专用服务器或jail)的实例1062A~R,每个实例可用于执行一个或多个应用的集合;在另一实施例中,虚拟化层1054表示监管程序(有时称为虚拟机监视器(VMM))或在主机操作系统之上执行的监管程序,并且应用运行在由监管程序运行的称为虚拟机的实例1062A~R内的客户操作系统之上(在一些情况下,可以将其视为紧密隔离的软件容器形式);在另一实施例中,应用程序被实现为单内核,其可以通过直接与应用程序仅编译有限的、提供应用程序所需的特定OS服务的一组库(例如,来自库操作系统(LibOS),包括OS服务的驱动程序 /库)来生成,并且单内核可以直接在硬件1040上运行,直接在由虚拟化层1054表示的管理程序上运行(在这种情况下,单内核有时被描述为在LibOS虚拟机中运行),或在由实例1062A~R之一表示的软件容器中运行)。同样,在使用计算虚拟化的实施例中,在操作期间, CCP软件1050的实例(示为CCP实例1076A)在虚拟化层1054之上执行(例如,在实例1062A内)。在不使用计算虚拟化的实施例中,作为单内核或者在主机操作系统上,CCP实例1076A在“裸机”通用控制平面设备1004上执行。CCP实例1076A的实例化以及虚拟化层1054 和实例1062A~R(如果实现的话)统称为软件实例1052。
在一些实施例中,CCP实例1076A包括网络控制器实例1078。网络控制器实例1078包括:集中式可达性和转发信息模块实例1079 (其是向操作系统提供网络控制器978的上下文并与各种NE通信的中间件层)、以及中间件层上的CCP应用层1080(有时被称为应用层)(提供各种网络操作所要求的情报,例如协议、网络情景察觉、以及用户接口)。在更为抽象的级别上,集中式控制平面976中的该 CCP应用层1080使用虚拟网络视图(网络的逻辑视图)来工作,且中间件层提供从虚拟网络到物理视图的转换。
集中式控制平面976基于针对每个流的CCP应用层1080计算和中间件层映射向数据平面980发送相关消息。流可以被定义为具有匹配给定比特模式的报头的分组集合;在该意义下,传统IP转发也是基于流的转发,其中,通过例如目的IP地址来定义流;然而,在其他实现中,用于流定义的给定比特模式可以在分组报头中包括更多的字段 (例如,10个或更多个)。数据平面980的不同ND/NE/VNE可以接收不同消息,且从而接收不同的转发信息。数据平面980处理这些消息,并将恰当的流信息和对应动作编程到恰当NE/VNE的转发表(有时被称为流表)中,然后NE/VNE可以将进入的分组映射到转发表中表示的流,并基于转发表中的匹配来转发分组。
诸如开放流之类的标准定义了用于消息的协议以及用于处理分组的模型。用于处理分组的模型包括:报头解析、分组分类、以及做出转发决定。报头解析描述了如何基于已知的协议集合来解释分组。一些协议字段用于构建匹配结构(或键),该匹配结构(或键)将在分组分类中使用(例如,第一键字段可以是源媒体访问控制(MAC) 地址,以及第二键字段可以是目的MAC地址)。
分组分类涉及在存储器中执行查找,以通过基于转发表条目的匹配结构、或键来确定转发表中的哪个条目(也被称为转发表条目或流条目)最佳匹配分组对分组进行分类。转发表条目中表示的很多流可以对应于/匹配分组是可能的;在该情况下,系统通常被配置为根据定义方案从很多转发表条目中确定一个转发表条目(例如,选择匹配的第一个转发表条目)。转发表条目包括匹配标准的特定集合(值集合或通配符、或者对分组的什么部分应当与特定值/多个特定值/通配符进行比较的指示、如匹配能力所定义的--针对分组报头中的特定字段或者对于某个其他分组内容)以及在接收到匹配分组时针对数据平面要采取的一个或多个动作的集合。例如,动作可以是:针对使用特定端口的分组,将报头推送到分组上,对分组进行泛洪,或简单地丢弃该分组。从而,具有特定传输控制协议(TCP)目的端口的IPv4/IPv6 分组的转发表条目可以包含指定这些分组应当被丢弃的动作。
基于在分组分类期间识别出的转发表条目,做出转发决定并执行动作通过针对分组来执行在匹配的转发表条目中识别出的动作集合来发生。
然而,当未知分组(例如,如开放流用语中使用的“错失分组”或“匹配错失”)到达数据平面980处时,通常向中心控制平面976转发该分组(或分组报头和内容的子集)。然后集中式控制平面976将转发表条目编程到数据平面980中,以适应属于该未知分组的流的分组。一旦集中式控制平面976将特定转发表条目编程到数据平面980中,则具有匹配凭证的下一个分组将匹配该转发表条目并采取与所匹配条目相关联的动作集合。
网络接口(NI)可以是物理或虚拟的;以及在IP的上下文中,接口地址是向NI指派的IP地址,不论是物理NI还是虚拟NI。虚拟 NI可以与物理NI相关联、与另一虚拟接口相关联、或者是独立的(例如,环回接口、点对点协议接口)。NI(物理或虚拟)可以是有编号的(具有IP地址的NI)或无编号的(不具有IP地址的NI)。环回接口(及其环回地址)是经常用于管理用途的NE/VNE(物理或虚拟) 的特定类型的虚拟NI(和IP地址);其中,这种IP地址被称为节点环回地址。向ND的NI指派的IP地址被称为该ND的IP地址;在更多粒度级别上,向ND上实现的NE/VNE指派的NI指派的IP地址可被称为该NE/VNE的IP地址。
路由系统针对给定目的地的下一跳选择可以解析为一个路径(即,路由协议可以生成最短路径上的一个下一跳);但是如果路由系统确定存在可变数目的下一跳(即,路由协议生成的转发方案提供了最短路径上的多于一个下一跳--多个相等成本下一跳),使用某些附加标准,例如在无连接网络中,可以使用ECMP(也被称为相等成本多路径、多路径转发和IP多路径)(例如,通常的实现使用特定报头字段作为标准,以确保特定分组流的分组始终在相同的下一跳上转发,以保留分组流排序)。为了多路径转发的目的,将分组流定义为共享排序约束的分组集合。作为示例,特定TCP传输序列中的分组集合需要按顺序到达,否则TCP逻辑将把乱序传输解释为拥塞并将TCP传输速率变慢。
与虚拟连接和虚拟信道同义的虚拟电路(VC)是通过分组模式通信传送的面向连接的通信服务。虚拟电路通信类似于电路交换,因为二者都是面向连接的,这意味着在二种情况下都以正确的顺序传送数据,并且在连接建立阶段期间需要信令开销。虚拟电路可以存在于不同层。例如,在层4,面向连接的传输层数据链路协议(例如传输控制协议(TCP))可以依赖于诸如IP的无连接分组交换网络层协议,其中不同的分组可以在不同的路径上路由,因此可以不按顺序进行传送。在基于不可靠和无连接的IP协议之上用TCP建立可靠的虚拟电路的情况下,虚拟电路由源和目的网络套接字地址对(即,发送器和接收器IP地址和端口号)识别。然而,虚拟电路是可能的,因为TCP 包括分段编号,并在接收器侧进行重排序以防止无序传送。虚拟电路也可能在层3(网络层)和层2(数据链路层);这种虚拟电路协议基于面向连接的分组交换,这意味着数据总是沿着相同的网络路径传送,即,通过相同的NE/VNE传送。在这种协议中,分组不被单独路由,并且在每个数据分组的报头中不提供完整的寻址信息;每个分组只需要小的虚拟信道标识符(VCI);以及在连接建立阶段期间,路由信息被传输到NE/VNE;交换仅涉及在表中查找虚拟信道标识符而不需分析完整地址。网络层和数据链路层虚拟电路协议的示例,其中数据始终通过相同的路径传送:X.25,其中VC由虚拟信道标识符(VCI) 标识;帧中继,其中VC由VCI标识;异步传输模式(ATM),其中电路由虚拟路径标识符(VPI)和虚拟信道标识符(VCI)对标识;通用分组无线服务(GPRS);以及多协议标签交换(MPLS),可用于虚拟电路上的IP(每个电路由标签标识)。
某些ND(例如,某些边缘ND)使用电路的层级。电路的层级的叶节点是订户电路。订户电路在层级中具有父电路,其通常表示多个订户电路的聚合,因此网络分段和元素用于向ND提供这些端用户设备的接入网络连接性。这些父电路可以表示订户电路的物理或逻辑聚合(例如,虚拟局域网(VLAN)、永久虚拟电路(PVC)(例如,用于异步传输模式(ATM)、电路组、信道、伪线、ND的物理NI 和链路聚合组)。电路组是允许将电路的各种集合组合在一起以用于配置目的(例如,聚合速率控制)的虚拟构造。伪线是层2点对点面向连接的服务的仿真。链路聚合组是为了带宽聚合和冗余而合并多个物理NI的虚拟构造。因此,父电路在物理上或逻辑上封装订户电路。
每个VNE(例如,虚拟路由器、虚拟桥接器(可以充当虚拟专用 LAN服务(VPLS)中的虚拟交换机实例))通常是可独立管理的。例如,在多个虚拟路由器的情况下,每个虚拟路由器可以共享系统资源,但与关于其管理域、AAA(身份验证、授权和记帐)名称空间、 IP地址和路由数据库的其他虚拟路由器相分离。可以在边缘ND中采用多个VNE,以便针对服务和/或内容提供商的订户提供直接网络接入和/或不同类别的服务。
在某些ND内,独立于物理NI的“接口”可以被配置为VNE的一部分,以提供较高层协议和服务信息(例如,层3寻址)。除了其他订户配置要求之外,AAA服务器中的订户记录还识别相应订户应当在 ND内绑定到哪个上下文(例如,哪个VNE/NE)。如本文所使用的,绑定形成物理实体(例如,物理NI、信道)或逻辑实体(例如,如订户电路或逻辑电路(一个或多个订户电路的集合)的电路)与上下文接口之间的关联,在该上下文接口上为该上下文配置网络协议(例如,路由协议、桥接协议)。当配置一些较高层协议接口并与该物理实体相关联时,订户数据在物理实体上流动。
一些ND提供对实现VPN(虚拟专用网络)(例如,层2VPN 和/或层3VPN)的支持。例如,提供商的网络和客户的网络相耦合的 ND分别称为PE(提供商边缘)和CE(客户边缘)。在层2VPN中,通常在VPN的任一端上的CE上执行转发,并且跨网络发送业务(例如,通过由其他ND耦合的一个或多个PE)。在CE和PE(例如,以太网端口、ATM永久虚拟电路(PVC)、帧中继PVC)之间配置层2电路。在层3 VPN中,通常由PE执行路由。作为示例,支持多个VNE的边缘ND可以被部署为PE;以及VNE可以配置VPN协议,因此VNE被称作VPN VNE。
一些ND提供对VPLS(虚拟专用LAN服务)的支持。例如,在 VPLS网络中,端用户设备通过耦合到CE接入通过VPLS网络提供的内容/服务,CE通过由其他ND耦合的PE耦合。VPLS网络可用于实现三重播放网络应用(例如,数据应用(例如,高速互联网接入)、视频应用(例如,诸如IPTV(互联网协议电视)的电视服务、VoD (视频点播)服务)、以及语音应用(例如,VoIP服务))、VPN 服务等。VPLS是一种可用于多点连接性的层2VPN。VPLS网络还允许在不同地理位置与CE耦合的端使用设备跨广域网(WAN)相互通信,就像它们在局域网(LAN)中直接相互连接一样(称为仿真LAN)。
在VPLS网络中,每个CE通常可能通过接入网络(有线和/或无线)经由附接电路(例如,CE和PE之间的虚拟链路或连接)附接到 PE的桥接模块。PE的桥接模块通过仿真LAN接口附接到仿真LAN。每个网桥模块通过保持将MAC地址映射到伪线和附接电路的转发表来用作“虚拟交换机实例”(VSI)。PE基于包括在那些帧中的MAC 目的地址字段将帧(从CE接收的)转发到目的地(例如,其他CE、其他PE)。
尽管图中的流程图示出了本发明的某些实施例执行的特定操作顺序,但是应当理解,这种顺序是示例性的(例如,备选实施例可以以不同的顺序执行操作、组合某些操作、重叠某些操作等)。
虽然在若干实施例的意义上描述了本发明,本领域技术人员将会认识到:本发明不限于所描述的实施例,而是可利用在所附权利要求的精神和范围内的修改和改变来实现。本描述因此被视为是说明性的,而非限制性的。
Claims (29)
1.一种实现分段路由SR网络(120)中的网元(102A)的设备(902/904/906)中的方法,包括:
由所述网元发送包括最大分段标识符深度MSD值(112)的类型长度值TLV元素(110),其中所述TLV元素是使用中间系统到中间系统IS-IS协议通告的,其中所述MSD值标识最大分段标识符SID标签数,所述网元能够将所述最大SID标签数的SID标签推送到接收到的分组(150A)的分组报头中以便能够通过所述SR网络转发接收到的分组(150B);以及
从控制器(104)接收针对所述网元要用于通过所述SR网络转发接收到的分组的路径(122)的数据(114),其中所述数据包括由一个或多个SID标签(152)构成的集合,所述由一个或多个SID标签(152)构成的集合要被推送到与所述路径相关联的接收到的分组中,并且其中SID标签的所述集合具有少于或等于MSD值的数量的SID标签,以及
其中所述控制器和所述网元在南向接口上不使用路径计算单元协议PCEP(116)。
2.根据权利要求1所述的方法,其中所述TLV元素是IS-IS路由器能力TLV(506)。
3.根据权利要求2所述的方法,其中在由所述IS-IS路由器能力TLV携带的节点MSD子TLV(110C)内携带所述MSD值。
4.根据权利要求1至3中任一项所述的方法,还包括:
由所述网元将所述MSD值确定为所述网元的一个或多个线卡(938)的一个或多个MSD值中的最小值。
5.根据权利要求2所述的方法,其中在由所述TLV元素携带的链路MSD子TLV(110D)内携带所述MSD值。
6.根据权利要求5所述的方法,其中所述TLV元素是类型22 IS-IS扩展IS可达性TLV(606A)。
7.根据权利要求5所述的方法,其中所述TLV元素是类型23 IS-IS IS邻居属性TLV(606B)。
8.根据权利要求5所述的方法,其中所述TLV元素是类型222 IS-IS多拓扑IS TLV(630A)。
9.根据权利要求5所述的方法,其中所述TLV元素是类型223 IS-IS多拓扑IS邻居属性TLV(630B)。
10.根据权利要求5至9中任一项所述的方法,其中,
所述MSD值与所述网元的第一链路相关联;以及
所述TLV元素还包括与所述网元的第二链路相关联的第二MSD值。
11.一种具有指令(920/950)的非暂时性计算机可读存储介质(918/948),所述指令在由设备(902/904/906)的一个或多个处理器(912/942)执行时,使所述设备实现在分段路由SR网络(120)中的网元(102A)并执行根据权利要求1至10中任一项所述的方法。
12.一种适于实现分段路由SR网络(120)中的网元(102A)的设备,包括:
一个或多个处理器;以及
根据权利要求11所述的非暂时性计算机可读存储介质(918/948)。
13.一种适于实现分段路由SR网络中的网元的设备(752),所述网元包括:
发送模块(754),适于由所述网元发送包括最大分段标识符深度MSD值的类型长度值TLV元素,其中所述TLV元素是使用中间系统到中间系统IS-IS协议通告的,其中所述MSD值标识最大分段标识符SID标签数,所述网元能够将所述最大SID标签数的SID标签推送到接收到的分组的分组报头中以便能够通过所述SR网络转发接收到的分组;以及
接收模块(756),适于从控制器接收针对所述网元要用于通过所述SR网络转发接收到的分组的路径的数据,其中所述数据包括由一个或多个SID标签构成的集合,所述由一个或多个SID标签构成的集合要被推送到与所述路径相关联的接收到的分组中,并且其中SID标签的所述集合具有少于或等于MSD值的数量的SID标签,以及
其中所述控制器和所述网元在南向接口上不使用路径计算单元协议PCEP。
14.一种适于实现分段路由SR网络中的网元的设备,其中所述网元适于:
由所述网元发送包括最大分段标识符深度MSD值的类型长度值TLV元素,其中所述TLV元素是使用中间系统到中间系统IS-IS协议通告的,其中所述MSD值标识最大分段标识符SID标签数,所述网元能够将所述最大SID标签数的SID标签推送到接收到的分组的分组报头中以便能够通过所述SR网络转发接收到的分组;以及
从控制器接收针对所述网元要用于通过所述SR网络转发接收到的分组的路径的数据,其中所述数据包括由一个或多个SID标签构成的集合,所述由一个或多个SID标签构成的集合要被推送到与所述路径相关联的接收到的分组中,并且其中所述SID标签的集合包括少于或等于MSD值的数量的SID标签,以及
其中所述控制器和所述网元在南向接口上不使用路径计算单元协议PCEP。
15.一种适于实现分段路由SR网络的系统,包括:
控制器;以及
根据权利要求12至14中任一项所述的设备。
16.一种与分段路由SR网络(120)的多个网元(102A-102F)通信耦合的控制器(104)中的方法,所述方法包括:
从多个网元中的第一网元(102A)接收包括最大分段标识符深度MSD值(112)的类型长度值TLV元素(110),其中所述TLV元素是使用中间到中间系统IS-IS协议通告的,其中所述MSD值标识最大分段标识符SID标签数,所述第一网元能够将所述最大SID标签数的SID标签(152)推送到接收到的分组(150A)的分组报头中以便能够通过所述SR网络转发接收到的分组(150B);
针对使用由一个或多个SID标签(152)构成的集合的可识别的业务集合,基于所述MSD值确定从所述第一网元(102A)到所述多个网元中的第二网元(102E)的路径(122),其中SID标签的所述集合中的SID标签的数量小于或等于所述MSD值;以及
向所述第一网元发送针对网元要用于通过所述SR网络转发接收到的分组的路径的数据(114),其中所述数据包括SID标签的所述集合,SID标签的所述集合要被推送到所述可识别的业务集合的接收到的分组中,
其中所述控制器和所述第一网元在南向接口上不使用路径计算单元协议PCEP(116)。
17.根据权利要求16所述的方法,其中所述TLV元素是IS-IS路由器能力TLV。
18.根据权利要求17所述的方法,其中在由所述IS-IS路由器能力TLV携带的节点MSD子TLV内携带所述MSD值。
19.根据权利要求16所述的方法,其中在由所述TLV元素携带的链路MSD子TLV内携带所述MSD值。
20.根据权利要求19所述的方法,其中所述TLV元素是类型22扩展IS可达性TLV。
21.根据权利要求19所述的方法,其中所述TLV元素是类型23IS邻居属性TLV。
22.根据权利要求19所述的方法,其中所述TLV元素是类型222多拓扑IS TLV。
23.根据权利要求19所述的方法,其中所述TLV元素是类型223多拓扑IS邻居属性TLV。
24.根据权利要求19至23中任一项所述的方法,其中所述MSD值与所述网元的第一链路相关联,并且其中所述TLV元素还包括与所述网元的第二链路相关联的第二MSD值。
25.一种具有指令的非暂时性计算机可读存储介质,所述指令在由设备的一个或多个处理器执行时,使所述设备实现在分段路由SR网络中的网元并执行根据权利要求16至24中任一项所述的方法。
26.一种适于实现与分段路由SR网络的多个网元通信耦合的控制器(104)的设备,包括:
一个或多个处理器;以及
根据权利要求25所述的非暂时性计算机可读存储介质。
27.一种适于实现与分段路由SR网络的多个网元通信耦合的控制器(104)的设备(852),所述控制器包括:
接收模块(854),适于从多个网元中的第一网元接收包括最大分段标识符深度MSD值的类型长度值TLV元素,其中所述TLV元素是使用中间到中间系统IS-IS协议通告的,其中所述MSD值标识最大分段标识符SID标签数,所述第一网元能够将所述最大SID标签数的SID标签推送到接收到的分组的分组报头中以便能够通过所述SR网络转发接收到的分组;
确定模块(856),适于针对包括一个或多个SID标签的集合的可识别的业务集合,基于所述MSD值确定从所述第一网元到所述多个网元中的第二网元的路径,其中SID标签的所述集合中的SID标签的数量小于或等于所述MSD值;以及
发送模块(858),适于向所述第一网元发送针对网元要用于通过所述SR网络转发接收到的分组的路径的数据,其中所述数据包括SID标签的所述集合,SID标签的所述集合要被推送到所述可识别的业务集合的接收到的分组中;
其中所述控制器和所述第一网元在南向接口上不使用路径计算单元协议PCEP。
28.一种适于实现与分段路由SR网络的多个网元通信耦合的控制器的设备,其中所述控制器适于:
从多个网元中的第一网元接收包括最大分段标识符深度MSD值的类型长度值TLV元素,其中所述TLV元素是使用中间到中间系统IS-IS协议通告的,其中所述MSD值标识最大分段标识符SID标签数,所述第一网元能够将所述最大SID标签数的SID标签推送到接收到的分组的分组报头中以便能够通过所述SR网络转发接收到的分组;
针对包括一个或多个SID标签的集合的可识别的业务集合,基于所述MSD值确定从所述第一网元到所述多个网元中的第二网元的路径,其中SID标签的所述集合中的SID标签的数量小于或等于所述MSD值;以及
向所述第一网元发送针对网元要用于通过所述SR网络转发接收到的分组的路径的数据,其中所述数据包括SID标签的所述集合,SID标签的所述集合要被推送到所述可识别的业务集合的接收到的分组中,
其中所述控制器和所述第一网元在南向接口上不使用路径计算单元协议PCEP。
29.一种适于实现分段路由SR网络的系统,包括:
根据权利要求26至28中任一项所述的设备;以及
SR网络的多个网元。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662295454P | 2016-02-15 | 2016-02-15 | |
US62/295,454 | 2016-02-15 | ||
PCT/IB2016/051892 WO2017141081A1 (en) | 2016-02-15 | 2016-04-01 | Techniques for exposing maximum node and/or link segment identifier depth utilizing is-is |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109076018A CN109076018A (zh) | 2018-12-21 |
CN109076018B true CN109076018B (zh) | 2021-04-27 |
Family
ID=55697265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680084632.8A Expired - Fee Related CN109076018B (zh) | 2016-02-15 | 2016-04-01 | 利用is-is协议实现分段路由网络中网元的方法和设备 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11005751B2 (zh) |
EP (1) | EP3417580B1 (zh) |
CN (1) | CN109076018B (zh) |
AR (1) | AR107631A1 (zh) |
BR (1) | BR112018016625A2 (zh) |
WO (1) | WO2017141081A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4191979A1 (en) | 2017-07-14 | 2023-06-07 | Huawei Technologies Co., Ltd. | A method for establishing segment routing for ipv6 tunnel |
CN111510386B (zh) * | 2019-01-30 | 2023-06-20 | 华为技术有限公司 | 用于处理报文的方法和装置 |
US11150963B2 (en) * | 2019-02-28 | 2021-10-19 | Cisco Technology, Inc. | Remote smart NIC-based service acceleration |
CN115426306A (zh) * | 2019-03-08 | 2022-12-02 | 华为技术有限公司 | 一种确定报文转发路径的方法、网络节点及系统 |
US11412071B2 (en) * | 2019-05-13 | 2022-08-09 | Juniper Networks, Inc. | Compressed routing header information for networks |
CN112039765B (zh) * | 2019-06-03 | 2023-05-30 | 中兴通讯股份有限公司 | 路由信息发送的方法、路由选路的方法和装置 |
CN112104552B (zh) * | 2019-06-17 | 2021-12-28 | 华为技术有限公司 | 处理报文的方法、装置及计算机存储介质 |
CN112217724A (zh) * | 2019-07-11 | 2021-01-12 | 中兴通讯股份有限公司 | 路由管理方法、装置、网络设备和可读存储介质 |
CN116232990A (zh) * | 2019-07-31 | 2023-06-06 | 华为技术有限公司 | 在支持SRv6的数据面上传输MTNC-ID以实现5G传输 |
US11102121B2 (en) | 2019-10-23 | 2021-08-24 | Cisco Technology, Inc. | Path signatures for data flows |
US11252101B1 (en) * | 2020-02-06 | 2022-02-15 | Arrcus Inc. | SID allocation |
CN116506341A (zh) * | 2020-03-09 | 2023-07-28 | 华为技术有限公司 | 一种生成段标识sid的方法和网络设备 |
US11777846B2 (en) * | 2020-05-06 | 2023-10-03 | Nokia Solutions And Networks Oy | Ultra reliable segment routing |
US11411876B2 (en) | 2020-11-30 | 2022-08-09 | Cisco Technology, Inc. | Optimizing segment routing paths using segment identifiers |
CN113852552B (zh) * | 2021-09-23 | 2023-04-18 | 网络通信与安全紫金山实验室 | 一种网络通讯方法、系统与存储介质 |
WO2023155068A1 (en) * | 2022-02-16 | 2023-08-24 | Telefonaktiebolaget Lm Ericsson (Publ) | Communication device, sdn controller, and methods therein for facilitating path computation |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7664877B1 (en) * | 2001-03-19 | 2010-02-16 | Juniper Networks, Inc. | Methods and apparatus for using both LDP and RSVP in a communications systems |
JP4286710B2 (ja) | 2004-04-30 | 2009-07-01 | 日本電信電話株式会社 | 通信制御装置、通信制御システム、通信制御方法並びにコンピュータプログラム |
US8441919B2 (en) | 2006-01-18 | 2013-05-14 | Cisco Technology, Inc. | Dynamic protection against failure of a head-end node of one or more TE-LSPs |
US8270319B2 (en) | 2006-12-14 | 2012-09-18 | Rockstart Bidco, LP | Method and apparatus for exchanging routing information and establishing connectivity across multiple network areas |
US7940695B1 (en) | 2007-06-08 | 2011-05-10 | Juniper Networks, Inc. | Failure detection for tunneled label-switched paths |
US7945696B2 (en) | 2007-11-30 | 2011-05-17 | Cisco Technology, Inc. | Differentiated routing using tunnels in a computer network |
CN102857422B (zh) | 2012-09-13 | 2015-01-14 | 烽火通信科技股份有限公司 | 基于ospf路由协议实现olt语音双上联保护的系统及方法 |
US9049233B2 (en) | 2012-10-05 | 2015-06-02 | Cisco Technology, Inc. | MPLS segment-routing |
US9369371B2 (en) | 2012-10-05 | 2016-06-14 | Cisco Technologies, Inc. | Method and system for path monitoring using segment routing |
US9565160B2 (en) * | 2013-03-11 | 2017-02-07 | Cisco Technology, Inc. | Advertisement of adjacency segment identifiers |
US9559954B2 (en) | 2013-03-11 | 2017-01-31 | Cisco Technology, Inc. | Indexed segment ID |
CN104052666B (zh) | 2013-03-14 | 2018-05-11 | 新华三技术有限公司 | 实现主机路由可达的方法和装置 |
US20150003458A1 (en) | 2013-06-27 | 2015-01-01 | Futurewei Technologies, Inc. | Boarder Gateway Protocol Signaling to Support a Very Large Number of Virtual Private Networks |
CN104378292B (zh) * | 2013-08-15 | 2018-01-23 | 华为技术有限公司 | 一种转发mpls数据包的方法及装置 |
US9882804B2 (en) | 2013-09-26 | 2018-01-30 | Cisco Technology, Inc. | Co-existence of a distributed routing protocol and centralized path computation for deterministic wireless networks |
US9450864B2 (en) * | 2013-10-11 | 2016-09-20 | Futurewei Technologies, Inc. | Using PCE as SDN controller |
US9660897B1 (en) | 2013-12-04 | 2017-05-23 | Juniper Networks, Inc. | BGP link-state extensions for segment routing |
US9516118B2 (en) | 2014-05-12 | 2016-12-06 | Telefonaktiebolaget L M Ericsson (Publ) | Scalable segment identifier allocation in segment routing |
CN105471737B (zh) | 2014-09-05 | 2019-05-10 | 华为技术有限公司 | 一种标签栈的压缩方法及装置、标签栈的解压缩方法及装置 |
US9882806B2 (en) | 2015-06-03 | 2018-01-30 | Cisco Technology, Inc. | Network description mechanisms for anonymity between systems |
US9967184B2 (en) | 2015-07-02 | 2018-05-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Using border gateway protocol to expose maximum segment identifier depth to an external application |
-
2016
- 2016-04-01 BR BR112018016625A patent/BR112018016625A2/pt unknown
- 2016-04-01 US US16/077,857 patent/US11005751B2/en active Active
- 2016-04-01 WO PCT/IB2016/051892 patent/WO2017141081A1/en active Application Filing
- 2016-04-01 EP EP16715114.1A patent/EP3417580B1/en active Active
- 2016-04-01 CN CN201680084632.8A patent/CN109076018B/zh not_active Expired - Fee Related
-
2017
- 2017-02-15 AR ARP170100375A patent/AR107631A1/es unknown
Also Published As
Publication number | Publication date |
---|---|
BR112018016625A2 (pt) | 2018-12-26 |
US11005751B2 (en) | 2021-05-11 |
US20210092052A1 (en) | 2021-03-25 |
EP3417580A1 (en) | 2018-12-26 |
CN109076018A (zh) | 2018-12-21 |
AR107631A1 (es) | 2018-05-16 |
WO2017141081A1 (en) | 2017-08-24 |
EP3417580B1 (en) | 2021-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109076018B (zh) | 利用is-is协议实现分段路由网络中网元的方法和设备 | |
CN108702328B (zh) | 用于穿越分段路由和mpls网络的业务的灵活路径拼接和选择的is-is扩展 | |
CN108055878B (zh) | 揭示最大分段标识符深度值的方法、设备和存储介质 | |
EP3417579B1 (en) | Techniques for exposing maximum node and/or link segment identifier depth utilizing ospf | |
US10785148B2 (en) | OSPF extensions for flexible path stitchng and selection for traffic transiting segment routing and MPLS networks | |
US10819833B2 (en) | Dynamic re-route in a redundant system of a packet network | |
CN108702326B (zh) | 检测sdn控制平面循环的方法、设备和非暂时性机器可读介质 | |
US11159421B2 (en) | Routing table selection in a policy based routing system | |
US20170070416A1 (en) | Method and apparatus for modifying forwarding states in a network device of a software defined network | |
CN108604997B (zh) | 用于对差异化服务编码点(dscp)和显式拥塞通知(ecn)的监视进行配置的控制平面的方法和设备 | |
KR102066978B1 (ko) | 차별화된 서비스 코드 포인트(dscp) 및 명시적 혼잡 통지(ecn)를 모니터링하기 위한 데이터 플레인을 위한 방법 및 장치 | |
CN108886494B (zh) | 使用中间系统到中间系统(is-is)的伪线建立和保持的方法和装置 | |
US20220141761A1 (en) | Dynamic access network selection based on application orchestration information in an edge cloud system | |
WO2020212998A1 (en) | Network address allocation in a virtual layer 2 domain spanning across multiple container clusters | |
WO2017221050A1 (en) | Efficient handling of multi-destination traffic in multi-homed ethernet virtual private networks (evpn) | |
US20220247679A1 (en) | Method and apparatus for layer 2 route calculation in a route reflector network device | |
US20220311703A1 (en) | Controller watch port for robust software defined networking (sdn) system operation | |
US20230239235A1 (en) | Transient loop prevention in ethernet virtual private network egress fast reroute |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210427 |
|
CF01 | Termination of patent right due to non-payment of annual fee |