CN106105116A - 添加用于is‑is默认路由的备选路径的程序 - Google Patents
添加用于is‑is默认路由的备选路径的程序 Download PDFInfo
- Publication number
- CN106105116A CN106105116A CN201580015394.0A CN201580015394A CN106105116A CN 106105116 A CN106105116 A CN 106105116A CN 201580015394 A CN201580015394 A CN 201580015394A CN 106105116 A CN106105116 A CN 106105116A
- Authority
- CN
- China
- Prior art keywords
- down hop
- lfa
- network
- boundary node
- default route
- 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.)
- Granted
Links
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/12—Shortest path evaluation
- H04L45/122—Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
-
- 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/04—Interdomain routing, e.g. hierarchical 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/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/18—Loop-free operations
-
- 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/22—Alternate routing
Abstract
方法由网络设备实现来对默认路由中到网络设备的1级中间系统‑中间系统(IS‑IS)区域的边界节点的每个下一跳确定无环备选(LFA)。该方法包括为默认路由选择下一个下一跳并且在本地路由信息库(RIB)中对所选的下一跳查找对应边界节点。选择对应边界节点的下一个下一跳。进行对应边界节点的所选下一跳是否与默认路由的所选下一跳相同的检查。然后将对应边界节点的所选下一跳的LFA指派为默认路由的所选下一跳的LFA。
Description
技术领域
本发明的实施例涉及中间系统到中间系统(IS-IS)路由协议的领域。更具体地,实施例涉及对于到IS-IS区域的边界节点的默认路由的无环备选(LFA)路由的计算。
背景技术
RFC 1195 [对于IP网络的IS-IS]描述在IS-IS区域中对每个路由器使用默认路由来达到路由器的1级IS-IS区域与2级IS-IS域之间的边界路由器。根据RFC 1195,必须对每个L1路由器确定默认路由来达到它的链路状态协议(LSP)-0片段中网络广告附加(ATT)位中的最近可达L1/L2边界路由器。IS-IS区域中的所有L1路由器将在它们的相应收敛过程期间随着默认路由集到相邻路由器的下一跳(通过这将可达最近L1/L2边界路由器)而这样做。
当相邻路由器或到指定为默认路由的下一跳的相邻路由器的链路失效时,将出现业务中断,直到网络网络再次收敛。该业务中断原则上可以通过如在RFC 5286中规定的无环备选(LFA)技术而防止。然而,规范(RFC 5286)未规定特别可以应用于默认路由的任何程序。然而,在许多实例中,标准LFA过程将未识别对于默认路由器的最佳LFA。
用标准过程识别的LFA可未能识别提供更好收敛和更好保护水平的可能LFA,由此响应于IS-IS区域中链路或节点的失效而在IS-IS区域中引起业务中断增加。
发明内容
方法由网络设备实现来对默认路由中到网络设备的1级中间系统-中间系统(IS-IS)区域的边界节点的每个下一跳确定无环备选(LFA)。该方法为默认路由选择下一个下一跳。方法在本地路由信息库(RIB)中查找对于所选下一跳的对应边界节点并且选择对应边界节点的下一个下一跳。关于对应的边界节点的所选下一跳是否与默认路由的所选下一跳相同进行检查。对应边界节点的所选下一跳的LFA指派为默认路由的所选下一跳的LFA。
网络设备配置成对默认路由中到网络设备的1级中间系统-中间系统(IS-IS)区域的边界节点的每个下一跳确定无环备选(LFA)。网络设备包括用于存储路由信息库(RIB)的数据存储,和通信耦合于数据存储的处理器。处理器配置成执行IS-IS模块。IS-IS模块配置成为默认路由选择下一个下一跳、在本地路由信息库(RIB)中为所选下一跳查找对应的边界节点、选择对应边界节点的下一个下一跳、检查对应边界节点的所选下一跳是否与默认路由的所选下一跳相同以及指派对应边界节点的所选下一跳的LFA作为默认路由的所选下一跳的LFA。
非暂时性计算机可读介质具有存储在其中的指令,这些指令在执行时对在默认路由中到网络设备的1级中间系统-中间系统(IS-IS)区域的边界节点的每个下一跳确定无环备选(LFA)。执行进一步促使网络设备执行操作集,其包括为默认路由选择下一个下一跳、在本地路由信息库(RIB)中为所选的下一跳查找对应的边界节点、选择对应边界节点的下一个下一跳、检查对应边界节点的所选下一跳是否与默认路由的所选下一跳相同以及指派对应边界节点的所选下一跳的LFA作为默认路由的所选下一跳的LFA。
控制平面设备配置成对在默认路由中到网络设备的1级中间系统-中间系统(IS-IS)区域的边界节点的每个下一跳确定无环备选(LFA)。控制平面设备包括用于存储集中控制平面软件、IS-IS模块和本地路由信息库(RIB)的存储介质,以及通信耦合于存储介质的处理器。处理器配置成执行控制平面软件。控制平面软件配置成实现IS-IS模块。IS-IS模块配置成为默认路由选择下一个下一跳、在本地路由信息库(RIB)中为所选下一跳查找对应边界节点、选择对应边界节点的下一个下一跳、检查对应边界节点的所选下一跳是否与默认路由的所选下一跳相同以及指派对应边界节点的所选下一跳的LFA作为默认路由的所选下一跳的LFA。
计算设备实现多个虚拟机以用于实现网络功能虚拟化(NFV),其中来自多个虚拟机的虚拟机配置成对在默认路由中到网络设备的1级中间系统-中间系统(IS-IS)区域的边界节点的每个下一跳确定无环备选(LFA)。计算设备包括存储IS-IS模块和本地路由信息库(RIB)的存储介质,和通信耦合于该存储介质的处理器。处理器配置成执行虚拟机,其中虚拟机配置成实现IS-IS模块。IS-IS模块配置成为默认路由选择下一个下一跳、在本地路由信息库(RIB)中为所选下一跳选择对应边界节点、选择对应边界节点的下一个下一跳、检查对应边界节点的所选下一跳是否与默认路由的所选下一跳相同以及指派对应边界节点的所选下一跳的LFA作为默认路由的所选下一跳的LFA。
附图说明
本发明可通过参考下列描述和附图而最好地理解,这些附图用于图示本发明的实施例。在图中:
图1是具有1级IS-IS网络区域和2级IS-IS网络区域的网络拓扑的一个实施例的图。
图2是IS-IS收敛过程(其包括对于IS-IS网络区域中的默认路由的LFA计算过程)的一个实施例的流程图。
图3是对于IS-IS网络区域中的默认路由的LFA计算过程的一个实施例的流程图。
图4是IS-IS过程的基本组成的图。
图5是实现对于IS-IS网络区域中的默认路由的LFA计算过程的网络设备的一个实施例的图。
图6A图示根据本发明的一些实施例在示范性网络内的网络设备(ND)之间的连接性,以及ND的三个示范性实现。
图6B图示根据本发明的一些实施例实现专用网络设备602的示范性方式。
图6C图示根据本发明的一些实施例、虚拟网络元件(VNE)可耦合所采用的各种示范性方式。
图6D图示在图6A的ND中的每个上具有单个网络元件(NE)的网络,并且在该直接方法内将传统的分布式方法(通常被传统路由器所使用)与用于维持可达性和转发信息(也叫作网络控制)的集中方法做对比。
图6E图示根据本发明的一些实施例其中ND 600A-H中的每个实现单个NE 670A-H(参见图6D)的简单情况,但集中控制平面676将不同ND中的多个NE(NE 670A-C和G-H)抽象为(代表)图6D的虚拟网络692中的一个中的单个NE 670I。
图6F图示根据本发明的一些实施例其中多个VNF(VNE 670A.1和VNE 670H.1)在不同ND(ND 600A和ND 600H)上实现并且彼此耦合并且其中集中控制平面676将这些多个VNE抽象使得它们在图6D的虚拟网络692中的一个内表现为单个VNE 670T的情况。
图7图示根据本发明的一些实施例的通用控制平面设备704,其包括硬件740,该硬件740包括一个或多个处理器742(其通常是商用现成(COTS)处理器)集和网络接口控制器744(NIC;也称为网络接口卡)(其包括物理NI 746)以及非暂时性机器可读存储介质748,其具有存储在其中的集中控制平面(CCP)软件750。
具体实施方式
下列说明描述用于对IS-IS网络区域中的默认路由计算LFA的方法和装置。在下列说明中,阐述许多具体细节,例如逻辑实现、操作码、规定操作码的工具、资源划分/共享/复制实现、系统部件的类型和相互关系和逻辑划分/集成选择,以便提供对本发明的更全面理解。然而,本领域内技术人员将意识到可在没有这样的具体细节的情况下实践本发明。在其他实例中,为了不使本描述难以理解,未详细地示出控制结构、门级电路和全软件指令序列。本领域内普通技术人员利用包括的说明将能够实现适当的功能性而没有过度实验。
在说明书中对“一个实施例”、“实施例”、“示例实施例”等的引用指示描述的实施例可包括特定特征、结构或特性,但每个实施例可不一定包括该特定特征、结构或特性。此外,这样的短语不一定都指相同的实施例。此外,当特定特征、结构或特性连同实施例描述时,认为连同其他无论是否明确描述的实施例实现这样的特征、结构或特性,这在本领域内技术人员的知识内。
具有虚线边界(例如,大的虚线、小的虚线、点划线和点)的加括号的文本和框在本文用于图示将额外特征添加到本发明的实施例的可选操作。然而,不应认为这样的记号意指这些仅是选项或可选的操作,和/或具有实线边界的框在本发明的某些实施例中不是最佳的。
在下列说明和权利要求中,可使用术语“耦合”和“连接”连同它们的派生词。要理解这些术语不规定为是彼此的同义词。“耦合”用于指示彼此可或可不直接物理或电接触的两个或以上的元件彼此共同操作或相互作用。“连接”用于指示彼此耦合的两个或以上的元件之间通信的建立。
电子设备使用例如机器可读存储介质(例如,磁盘、光盘、只读存储器(ROM)、闪速存储器设备、相变存储器等机器)和机器可读传输介质(也叫作载体)(例如,电、光、无线电、声或其他形式的传播信号-例如载波、红外信号)等机器可读介质(也叫作计算机可读介质)来存储和传送(在内部和/或通过网络利用其他电子设备)代码(其由软件指令组成并且有时称为计算机程序代码或计算机程序)和/或数据。从而,电子设备(例如,计算机)包括硬件和软件,例如一个或多个处理器集,其耦合于一个或多个机器可读存储介质来存储代码以供在处理器集上执行和/或存储数据。例如,既然非易失性存储器甚至在关闭电子设备时(在移除电力时)时可以存留代码/数据,并且在打开电子设备时,要由该电子设备的处理器执行的代码的那部分典型地从较慢非易失性存储器复制到该电子设备的易失性存储器(例如,动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)),电子设备可包括非易失性存储器,其包含代码。典型的电子设备还包括物理网络接口集或一个或多个物理网络接口,用于建立与其他电子设备的网络连接(以使用传播信号来传送和/或接收代码和/或数据)。本发明的实施例的一个或多个部分可使用软件、固件和/或硬件的不同组合实现。
流程图中的操作将参考其他图的示范性实施例来描述。然而,应理解流程图的操作可以由除参考其他图论述的那些以外的本发明的实施例执行,并且参考这些其他图论述的本发明的实施例可以执行与参考流程图论述的那些不同的操作。
用于对下文描述的IS-IS区域默认路由计算LFA的过程可以应用于互联网协议版本4(IPv4)和/或互联网协议版本6(IPv6)默认路由和拓扑。过程可以按任何顺序或并行应用于每个(IPv4和IPv6)。用于处理每个(IPv4和IPv6)的过程是相似的并且为了清楚起见未单独被寻址。
图1是具有1级IS-IS网络区域和2级IS-IS网络域的网络拓扑的一个实施例的图。示例网络拓扑通过示例提供并且不限于图示LFA计算过程。示例网络拓扑包括两个IS-IS区域。如本文使用的,IS-IS 1级网络称为‘区域’,而IS-IS 2级网络称为‘域’。1级IS-IS区域101和2级IS-IS域103在示例网络中存在。在该示例中,1级(L1)路由器被视为源‘S’节点并且从源节点的角度考虑计算。然而,本领域内技术人员将理解IS-IS区域101中的其他1级路由器将进行从它们相应角度的相似LFA计算。
在示例拓扑中,存在两个L1/L2边界路由器R1 107和R3 109。1级IS-IS区域101包括额外路由器N1、N2、N3和R10。2级IS-IS域包括额外路由器R2。示出每个链路的成本度量,其图示源节点S达到边界节点R1 107或R3 109的成本是20。使用最短路径优先(SPF)或相似算法来确定到L1/L2边界路由器的默认路由导致确定具有到N1、N2和/或N3的下一跳的路径的确定。
这些路由器中的每个可以是如本文定义的任何类型的网络设备。该示例在下文关于描述的实施例使用。本领域内技术人员将理解本文描述的原理、过程和结构能应用于具有任何数量的网络设备和采用其任何配置的任何IS-IS网络。
图2是包括对于IS-IS网络区域中的默认路由的LFA计算过程的IS-IS收敛过程的一个实施例的流程图。在一个实施例中,收敛过程以根据链路状态协议(LSP)从IS-IS区域中的每个网络设备接收链路状态包而开始,如在RFC 1195中描述的(框201)。链路状态数据的该交换包括从如此识别它们的L1/L2边界路由器接收附加位。该附加位(ATT)在从L1/L2边界路由器接收的LSP包的L1 LSP-0片段中并且起到将L1/L2边界路由器广告为去往其他IS-IS区域的数据可以发送到的路由器。
该链路状态数据用于在本地链路状态协议数据库中构造IS-IS区域的拓扑。使用该数据,IS-IS区域中的网络设备中的每个可以使用例如最短路径优先(SPF)算法等路由计算算法或相似路由计算算法来确定到IS-IS区域中的其他网络设备中的每个的路由(框203)。用于达到IS-IS区域中的目的地网络设备中的每个的下一跳在本地路由信息库(RIB)中记录以用于将包转发到指定目的地(框205)。在将下一跳安装到本地RIB的该过程期间,记录广告的附加位从其接收的边界路由器的身份使得与这些边界路由器关联的地址以及关联的下一跳识别为到这些边界路由器的路由并且这些路由是要用于处理去往IS-IS区域外的地址的数据的转发网络设备的默认路由。在存在具有达到指定边界路由器的不同的下一跳的多个等价路径的情况下,可能的等价下一跳中的每个在本地RIB中记录为默认路由的下一跳。
过程然后在通过计算到IS-IS区域中的网络设备中的每个的无环备选路径而计算到IS-IS区域中的其他网络设备的所有主路径之后继续(框207)。LFA可以使用在RFC 5286中定义的过程来计算。对于每个目的地节点的LFA下一跳然后可以在本地RIB中记录以在与主路径到指定目的地的下一跳关联的链路或节点失效的情况下使用(框209)。随着对IS-SI区域中的网络设备中的每个计算LFA,对于每个默认路由的LFA可以如在下文关于图3论述的那样计算。
图3是对于IS-IS网络区域中的默认路由的LFA计算过程的一个实施例的流程图。在一个实施例中,用于对每个默认路由确定LFA的过程在对所有其他目的地确定LFA后发起,如上文描述的。默认路由具有使用例如SPF算法等主路由计算算法而确定的下一跳的集。访问该下一跳集以在迭代过程中选择要分析的下一跳来对每个下一跳找到LFA(框301)。对于默认路由的所选下一跳,在本地RIB中查找对应的L1/L2边界路由器,其中在到IS-IS区域中的网络设备中的每个的主路径的计算期间记录该对应的L1/L2边界路由器。
在一个实施例中,可以进行检查来确定是否存在到边界节点的任何可能LFA(框305)。检查可以查看本地RIB来确定对于到边界路由器的主路径是否包括LFA。如果不存在到边界路由器的路径,则过程检查是否存在与默认路由关联的仍然要处理的任何其他下一跳(框313)。如果存在额外下一跳,则过程选择另一个下一跳(框301)。然而,如果没有来自默认路由的仍然要处理的下一跳,则过程完成。
在对于指定边界路由器存在LFA的情况下,过程通过选择要分析的边界路由器的下一跳而行进(框307)。进行边界路由器的所选下一跳是否与默认路由的所选下一跳相同的检查(框309)。如果下一跳节点相同,则过程将边界路由器的所选下一跳的LFA指派为默认路由的所选下一跳的LFA(框311)。如果下一跳节点不相同,则进行对于对应边界路由器是否有仍然要检查的额外下一跳的检查。如果有余下的下一跳,则过程通过迭代选择边界路由器的另一个下一跳直到找到与默认路由的下一跳相同的下一跳而继续。如果确定LFA或所有下一跳已用完,则过程可以继续来检查默认路由是否具有要处理的额外下一跳(框313)。
返回图1的示例网络图,可以图示在图2和3中描述的LFA计算过程和IS-IS过程的示例应用。在LFA SPF计算(框207)后,因为1级IS-IS区域中的任何边界节点,查询本地RIB来看看是否已经存在由主SPF添加的默认路由(框307-311)。如果对边界路由器找到对于SPF计算的这样的LFA,则对于默认路由的LFA可以通过利用已经对ATT位广告所来自的边界路由器实行的计算而添加。这在两个情况下说明;第一个是简单的并且第二个具有可能ECMP。
在参考图1的简单情况下,如果仅存在一个边界路由器R1并且通过邻域N1和N2达到边界路由器R1的路由具有不同成本(例如,N1具有较低成本),则路由器S将具有利用下一跳N1到R1的主SPF。默认路由将具有N1作为下一跳。对于默认路由的LFA将从到R1的路由继承,因为LFA计算已经对达到R1计算。在该情况下,N2是对于R1的备选下一跳,因为它无环且根据RFC 5286对路由器R1计算(框207),其可以由默认路由继承,如在图3的过程中描述的。
第二情况牵涉图1的图示拓扑,其中存在等价多径(ECMP)。在该实施例中,存在两个边界路由器R1和R3,其每个将在链路状态包中在它们的相应1级LSP-0片段中广告附加位来告知IS-IS 1级它们是边界路由器。源路由器S将形成具有N1、N2和N3的下一跳的默认路由,因为边界路由器R1和R3通过这些下一跳中的每个经由ECMP而可访问。LFA在该情况下将从R1和R3边界路由器继承,因为这些将在根据RC 5286的LFA计算期间计算。
图4是IS-IS过程的基本组成的图。在IS-IS过程中使用的网络设备的部件包括邻接(ADJ)数据库403、链路状态协议(LSP)数据库401、最短路径优先(SPF)405或相似路由过程,和本地RIB 409。邻接数据库403跟踪从通过网络设备的物理端口和链路连接的相邻节点接收的邻接信息。链路状态协议数据库401跟踪网络设备位于的IS-IS区域的拓扑,其基于链路状态包的交换。最短路径优先405或相似路由计算算法处理链路状态协议数据库401来确定存储在本地路由信息库409中的转发信息。在一些实施例中,本地路由信息库同步或下载到全局路由信息库411,其被网络设备的所有部件共享,例如线卡或可与IS-IS区域中的其他网络设备共享的相似部件。
图5是对IS-IS网络区域中的默认路由实现LFA计算过程的网络设备的一个实施例的图。
网络设备(ND)是使网络上的其他电子设备(例如,其他网络设备、最终用户设备)通信互连的电子设备。一些网络设备是对多个联网功能(例如,路由、桥接、交换、层2聚合、会话边界控制、服务质量和/或订户管理)提供支持和/或对多个应用服务(例如,数据、语音和视频)提供支持的“多个服务网络设备”。
在一个实施例中,过程由路由器501或网络设备或相似计算设备实现。路由器501可以具有使它能够接收数据业务并且将它朝它的目的地转发的任何结构。路由器501可以包括网络处理器503或执行路由器501的功能的网络处理器集。如本文使用的,‘集’是任何正整数的项,其包括一个项。路由器501或网络元件可以经由网络处理器503或路由器501的其他部件执行IS-IS过程功能性。
IS-IS过程功能可以在路由器内以软件(其包括固件)和硬件的任何组合实现为模块。由路由器501执行和实现的IS-IS过程的功能包括在上文进一步描述的那些。
在一个实施例中,路由器501可以包括线卡517集,其处理进入的数据业务并且通过识别目的地并且将数据业务转发到具有经由下一跳而通向或通往目的地的出站端口的合适线卡517而将进入的数据业务朝相应目的地节点转发。这些线卡517还可以实现路由信息库或转发信息可505B,或其相关子集。线卡517还可以实现或促进上文描述的IS-IS过程功能。线卡517经由交换结构511而彼此通信并且在附加网络521上使用以太网、光纤或相似通信链路和介质而与其他节点通信。
在其他实施例中,过程可以由划分架构节点实现,其中控制平面远离数据/转发平面。在该情况下,IS-IS过程可以以数据平面节点和中央控制器的任何组合而实行。
流程图的操作参考框图的示范性实施例描述。然而,应理解流程图的操作可以由除论述的那些以外的本发明的实施例执行,并且参考框图论述的实施例可以执行与参考流程图论述的那些不同的操作。尽管流程图示出由某些实施例执行的操作的特定顺序,应理解这样的顺序是示范性的(例如,备选实施例可按不同顺序执行操作、使某些操作组合、使某些操作重叠等)。
如本文描述的,由路由器执行的操作可指例如专用集成电路(ASIC)等配置成执行某些操作或具有预定功能性的硬件的特定配置,或存储在非暂时性计算机可读存储介质中包含的存储器中的软件指令。从而,在图中示出的技术可以使用在一个或多个电子设备(例如,终端站、网络元件)上存储和执行的代码和数据实现。这样的电子设备使用例如非暂时性计算机可读存储介质(例如,磁盘;光盘;随机存取存储器;只读存储器;闪速存储器设备;相变存储器)和暂时性计算机可读通信介质(例如,电、光、声或其他形式的传播信号-例如载波、红外信号、数字信号,等)等计算机可读介质来存储和传达(在内部和/或通过网络利用其他电子设备)代码和数据。另外,这样的电子设备典型地包括一个或多个处理器集,其耦合于一个或多个其他部件,例如一个或多个存储设备(非暂时性机器可读存储介质)、用户输入/输出设备(例如,键盘、触屏和/或显示器)和网络连接。处理器集和其他部件的耦合典型地通过一个或多个总线和网桥(也称作总线控制器)。从而,指定电子设备的存储设备典型地存储代码和/或数据以供在该电子设备的一个或多个处理器集上执行。本发明的实施例的一个或多个部分可使用软件、固件和/或硬件的不同组合来实现。
图6A图示根据本发明的一些实施例在示范性网络内的网络设备(ND)之间的连接性,以及ND的三个示范性实现。图6A示出ND 600A-H,和它们通过A-B、B-C、C-D、D-E、E-F、F-G和A-G之间以及H与A、C、D和G中的每个之间的线的连接性。这些ND是物理设备,并且这些ND之间的连接性可以是无线或有线的(通常称为链路)。从ND 600A、E和F延伸的额外线图示这些ND充当网络的入站和出站点(并且从而,这些ND有时称为边缘ND;而其他ND可叫作核心ND)。
图6A中的示范性ND实现中的两个是:1)专用网络设备602,其使用定制专用集成电路(ASIC)和专有操作系统(OS);以及2)通用网络设备604,其使用常见的现成(COTS)处理器和标准OS。
专用网络设备602包括联网硬件610,其包括计算资源612(其典型地包括一个或多个处理器集)、转发资源614(其典型地包括一个或多个ASIC和/或网络处理器)和物理网络接口(NI)616(有时叫作物理端口),以及非暂时性机器可读存储介质618,其具有存储在其中的联网软件620。物理NI是ND中的硬件,通过其进行网络连接(例如,通过无线网络接口控制器(WNIC)而无线,或通过插入到连接到网络接口控制器(NIC)的物理端口的电缆),例如由ND 600A-H之间的连接性示出的那些。在操作期间,联网软件620可由联网硬件610执行来例示一个或多个联网软件实例622的集。联网软件实例622中的每个和执行网络软件实例(无论是专用于联网软件实例的硬件和/或暂时被该联网软件实例与联网软件实例622的其他共享的硬件的时间片)的联网硬件610的那部分形成独立虚拟网络元件630A-R。虚拟网络元件(VNE)630A-R中的每个包括控制通信和配置模块632A-R(有时称为本地控制模块或控制通信模块)和转发表634A-R,使得指定虚拟网络元件(例如,630A)包括控制通信和配置模块(例如,632A)、一个或多个转发表(例如,634A)集以及执行虚拟网络元件(例如,630A)的联网硬件610的那部分。IS-IS模块633A将上文描述的过程实现为控制通信和配置模块632A的部分或联网软件的相似方面,其可在非暂时性机器可读介质618A中或在相似位点中加载和存储。
专用网络设备602通常在物理和/或逻辑上视为包括:1)ND控制平面624(有时称为控制平面),其包括执行控制通信和配置模块632A-R的计算资源612;以及2)ND转发平面626(有时称为转发平面、数据平面或媒体平面),其包括使用转发表634A-R和物理NI 616的转发资源614。通过示例,在ND是路由器(或实现路由功能性)的情况下,ND控制平面624(执行控制通信和配置模块632A-R的计算资源612)典型地负责参与控制如何路由数据(例如,包)(例如,对于数据的下一跳和对于该数据的输出物理NI)以及将该路由信息存储在转发表634A-R中,并且ND转发平面626负责在物理NI 616上接收该数据并且基于转发表634A-R将该数据转发到物理NI 616的合适NI外。
图6B图示根据本发明的一些实施例实现专用网络设备602的示范性方法。图6B示出专用网络设备,其包括卡638(典型地是可热插拔的)。尽管在一些实施例中,卡638具有两个类型(一个或多个作为ND转发平面626(有时叫作线卡)操作,并且一个或多个操作来实现ND控制平面624(有时叫作控制卡)),备选实施例可将功能性组合到单个卡上和/或包括额外卡类型(例如,一个额外类型的卡叫作服务卡、资源卡或多应用卡)。服务卡可以提供专门处理(例如,层4至层7服务(例如,防火墙、互联网协议安全(IPsec)(RFC 4301和4309)、安全套接字层(SSL)/传输层安全(TLS)、入侵检测系统(IDS)、对等(P2P)、IP语音(VoIP)会话边界控制器、移动无线网关(网关通用分组无线业务(GPRS)支持节点(GGSN)、演进分组核心(EPC)网关))。通过示例,服务卡可用于终止IPsec隧道并且执行伴随的验证和加密算法。这些卡通过图示为底板636的一个或多个互连机构而耦合在一起(例如,使线卡耦合的第一全网格和使所有卡耦合于的第二全网格)。
返回图6A,通用网络设备604包括硬件640,其包括一个或多个处理器642的集(其通常是COTS处理器)和网络接口控制器644(NIC;也称为网络接口卡)(其包括物理NI 646),以及具有存储在其中的软件650的非暂时性机器可读存储介质648。在操作期间,处理器642执行软件650来例示管理程序654(有时称为虚拟机监视器(VMM))和由管理程序654运行的一个或多个虚拟机662A-R,其统称为软件实例652。虚拟机是运行程序就好像它们在物理、非虚拟化机上执行一样的物理机的软件实现;并且应用一般不知道它们在虚拟机上运行,如与在“裸金属”主电子设备上运行相对,但一些系统提供半虚拟化,其允许操作系统或应用感知虚拟化的存在以用于优化目的。虚拟机662A-R中的每个以及执行该虚拟机的硬件640的那部分(无论是专用于该虚拟机的硬件和/或暂时被该虚拟机与虚拟机662A-R的其他共享的时间片)形成独立虚拟网络元件660A-R。在一个实施例中,虚拟机632A-R可执行描述的IS-IS模块663A和上文描述的相关软件。
虚拟机网络元件660A-R执行与虚拟网络元件630A-R相似的功能性。例如,管理程序654可呈现虚拟操作平台,其对虚拟机662A表现得像联网硬件610,并且虚拟机662A可用于实现与控制通信和配置模块632A以及转发表634A相似的功能性(硬件640的该虚拟化有时称为网络功能虚拟化(NFV))。从而,NFV可用于将许多网络设备类型合并到工业标准高容量服务器硬件、物理交换机和物理存储上,其可以位于数据中心、ND和客户端设备(CPE)中。然而,本发明的不同实施例可有差别地实现虚拟机662A-R中的一个或多个。例如,尽管本发明的实施例图示有对应于一个VNF 660A-R的每个虚拟机662A-R,备选实施例可在较细级粒度实现该对应性(例如,线卡虚拟机使线卡虚拟化,控制卡虚拟机使控制卡虚拟化,等);应理解在本文参考虚拟机与VNE的对应性描述的技术还适用于使用这样的较细级粒度的实施例。
在某些实施例中,管理程序654包括虚拟交换机,其提供与物理以太网交换机相似的转发服务。具体地,该虚拟交换机在虚拟机与NIC 644之间以及可选地在虚拟机662A-R之间转发业务;另外,该虚拟交换机可在VNE 660A-R之间实施网络隔离,根据政策不允许这些VNE 660A-R彼此通信(例如,通过履行虚拟局域网(VLAN))。
图6A中的第三示范性ND实现是混合网络设备606,其包括单个ND中或ND内的单个卡中的定制ASIC/专有OS和COTS处理器/标准OS两者。在这样的混合网络设备的某些实施例中,平台VM(即,实现专用网络设备602的功能性的VM)可以对混合网络设备606中存在的联网硬件提供半虚拟化。
不管上文的ND的示范性实现如何,在考虑由ND实现的多个VNE中的单个VNE(例如,VNE中仅仅一个是指定虚拟网络的部分)时或在ND当前仅实现单个VNE的情况下,缩写术语网络元件(NE)有时用于指该VNE。同样在上文的示范性实现中的全部中,VNE(例如,VNE630A-R、VNE 660A-R和混合网络设备606中的那些)中的每个在物理NI(例如,616、646)上接收数据并且将该数据转发到物理NI(例如,616、646)的合适NI外。例如,实现IP路由器功能性的VNE在IP包中的IP报头信息中的一些的基础上转发IP包;其中IP报头信息包括源IP地址、目的地IP地址、源端口、目的地端口(其中“源端口”和“目的地端口”在本文指协议端口,如与ND的物理端口相对)、传输协议(例如,用户数据报协议(UDP)(RFC 768、2460、2675、4113和5405))、传输控制协议(TCP)(RFC 793和1180)和差异化服务(DSCP)值(RFC 2474、2475、2597、2983、3086、3140、3246、3247、3260、4594、5865、3289、3290和3317)。
图6C图示根据本发明的一些实施例VNE可耦合所采用的各种示范性方式。图6C示出在ND 600A中以及ND 600H中的VNE 670H.1中实现的VNE 670A.1-670A.P(和可选地,VNE680A.Q-680A.R)。在图6C中,VNE 670A.1-P在它们可以从ND 600A外接收包并且将包转发到ND 600A外这一意义上彼此分离;VNE 670A.1与VNE 670H.1耦合,并且从而它们在它们相应的ND之间传达包;VNE 670A.2-670A.3可可选地在它们自己之间转发包而没有将它们转发到ND 600A外;并且VNE 670A.P可可选地在包括VNE 670A.Q、后跟VNE 670A.R(这有时称为共同服务链接,其中VNE系列中的VNE中的每个提供不同服务-例如,一个或多个层4-7网络服务)的VNE链中是第一个。尽管图6C图示VNE之间的各种示范性关系,备选实施例可支持其他关系(例如,更多/更少的NE、更多/更少的动态服务链、具有一些共同VNE和一些不同VNE的多个不同的动态服务链)。
图6A的ND例如可形成互联网或专用网的部分;并且其他电子设备(未示出;例如最终用户设备,其包括工作站、便携式电脑、笔记本、平板、掌上电脑、移动电话、智能电话、多媒体电话、IP语音(VOIP)电话、终端、便携式媒体播放器、GPS单元、可穿戴设备、游戏系统、机顶盒、支持互联网的家用电器)可耦合于网络(直接或通过其他网络,例如访问网络)以通过网络(例如,互联网或互联网上覆盖(例如,通过互联网遂穿)的虚拟专用网(VPN))彼此通信和/或访问内容和/或服务。这样的内容和/或服务典型地由属于服务/内容提供商的一个或多个服务器(未示出)或参与对等(P2P)服务的一个或多个最终用户设备(未示出)提供,并且可包括例如公共网页(例如,免费内容、店面、搜索服务)、私人网页(例如,提供电子邮件服务的用户名/密码访问网页)和/或通过VPN的企业网络。例如,最终用户可耦合于边缘ND(例如,通过耦合于访问网络的客户端设备(有线或无线)),其耦合于其他边缘ND(例如,通过一个或多个核心ND),这些其他边缘ND耦合于充当服务器的电子设备。然而,通过计算和存储虚拟化,作为图6A中的ND操作的电子设备中的一个或多个还可托管一个或多个这样的服务器(例如,在通用网络设备604的情况下,虚拟机662A-R中的一个或多个可作为服务器操作;同样的情况也适用于混合网络设备606;在专用网络设备602的情况下,一个或多个这样的服务器也可以在计算资源612执行的管理程序上运行);在该情况下据说服务器与该ND的VNE同定位。
虚拟网络是提供网络服务(例如,L2和/或L3服务)的物理网络(例如图6A中的)的逻辑抽象。虚拟网络可以实现为覆盖网络(有时称为网络虚拟化覆盖),其通过底层网络(例如,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);一个或多个VNI可以在NVE上例示(例如,作为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 RFC 4364)相似),其中外部系统通过L3环境在底层网络上跨网络互连(例如,NVE对不同的这样的虚拟网络提供独立L3 VNI(转发和路由实例),和跨底层网络的L3(例如,IP/MPLS)遂穿封装)。网络服务还可包括服务质量能力(例如,业务分类标记、业务调节和调度)、安全能力(例如,保护客户端以免受源于网络的攻击、避免畸形路由通告的滤波器)和管理能力(例如,全面检测和处理)。
图6D图示根据本发明的一些实施例在图6A的ND中的每个上具有单个网络元件的网络,并且在该直接方法内将传统的分布式方法(通常被传统路由器所使用)与用于维持可达性和转发信息(也叫作网络控制)的集中方法做对比。具体地,图6D图示具有与图6A的ND600A-H相同的连接性的网络元件(NE)670A-H。
图6D图示分布式方法672使产生可达性且转发信息的责任跨NE 670A-H分布;也就是说,邻域发现和拓扑发现的过程分布。
例如,在使用专用网络设备602的情况下,ND控制平面624的控制通信和配置模块632A-R典型地包括可达性和转发信息模块,用于实现一个或多个路由协议(例如,例如边界网关协议(BGP)(RFC 4271)等外部网关协议,内部网关协议(IGP)(例如,开放最短路径优先(OSPF)(RFC 2328和5340)、中间系统到中间系统(IS-IS)(RFC 1142)、路由信息协议(RIP)(版本1 RFC 1058、版本2 RFC 2453和下一代RFC 2080))、标签分配协议(LDP)(RFC 5036)、资源预留协议(RSVP)(RFC 2205、2210、2211、2212以及RSVP-业务工程化(TE):到对于LSP隧道RFC 3209的RSVP的扩展、通用多协议标签交换(GMPLS)信令RSVP-TE RFC 3473、RFC3936、4495和4558)),其与其他NE通信来交换路由,并且然后基于一个或多个路由度量来选择那些路由。从而,NE 670A-H(例如,执行控制通信和配置模块632A-R的计算资源612)执行它们参与通过分布式地确定在网络内的可达性并且计算它们相应的转发信息来控制如何路由(例如,对于数据的下一跳和对于该数据的输出物理NI)数据(例如,包)的责任。路由和邻接存储在ND控制平面624上的一个或多个路由结构(例如,路由信息库(RIB)、标签信息库(LIB)、一个或多个邻接结构)中。ND控制平面624基于路由结构用信息(例如,邻接和路由信息)对ND转发平面626编程。例如,ND控制平面624将邻接和路由信息编程为ND转发平面626上的一个或多个转发表634A-R(例如,转发信息库(FIB)、标签转发信息库(LFIB)和一个或多个邻接结构)。对于层2转发,ND可以存储一个或多个桥接表,其用于基于该数据中的层2信息来转发数据。尽管上文的示例使用专用网络设备602,相同分布式方法172可以在通用网络设备604和混合网络设备606上实现。
图6D图示使关于在哪里将业务从底层系统(其将业务转发到所选的目的地)发送做出决策的系统解耦的集中方法674(也称为软件定义联网(SDN))。图示的集中方法674具有在集中控制平面676(有时称为SDN控制模块、控制器、网络控制器、OpenFlow控制器、SDN控制器、控制平面节点、网络虚拟化机构或管理控制实体)中产生可达性和转发信息的责任,并且从而使邻域发现和拓扑发现的过程集中。集中控制平面676具有南向接口682,其具有数据平面680(有时称为基础设施层、网络转发平面或转发平面(其不应与ND转发平面混淆)),该数据平面680包括NE 670A-H(有时称为交换机、转发元件、数据平面元件或节点)。集中控制平面676包括网络控制器678,该网络控制器678包括集中可达性和转发信息模块679,其确定在网络内的可达性并且通过南向接口682(其可使用OpenFlow协议)使转发信息分布到数据平面CA 80的NE 670A-H。从而,网络智能在电子设备(其典型地与ND分离)上执行的集中控制平面676中集中。在一个实施例中,集中可达性和转发信息模块679可包括IS-IS模块681和如上文描述的相关软件。
例如,在数据平面680中使用专用网络设备602的情况下,ND控制平面624的控制通信和配置模块632A-R中的每个典型地包括控制代理,其提供南向接口682的VNE侧。在该情况下,ND控制平面624(执行控制通信和配置模块632A-R的计算资源612)执行它参与通过与集中控制平面676通信以从集中可达性和转发信息模块679接收转发信息(并且在一些情况下,可达性信息)的控制代理来控制要如何路由(例如,对于数据的下一跳和对于该数据的输出物理NI)数据(例如,包)的责任(应理解在本发明的一些实施例中,除与集中控制平面676通信外,控制通信和配置模块632A-R还可在确定可达性和/或计算转发信息方面扮演某一角色-虽然比分布式方法的情况下的要少;这样的实施例一般视为归入集中方法674,但也可视为混合方法)。
尽管上文的示例使用专用网络设备602,相同的集中方法174可以用通用网络设备604(例如,VNE XA60A-R中的每个执行它通过与集中控制平面676通信来从集中可达性和转发信息模块679接收转发信息(并且在一些情况下,可达性信息)而控制要如何路由(例如,对于数据的下一跳和对于该数据的输出物理NI)数据(例如,包)的责任;应理解在本发明的一些实施例中,除与集中控制平面676外,VNE 6A60A-R还可在确定可达性和/或计算转发信息方面扮演某一角色-虽然比分布式方法的情况下的要少)和混合网络设备606实现。实际上,SDN技术的使用可以增强典型地在通用网络设备604或混合网络设备606中使用的NFV技术,因为NFV能够通过提供SDN软件可以运行所在的基础设施来支持SDN,并且NFV和SDN两者都旨在使用商用服务器硬件和物理交换机。
图6D还示出集中控制平面676具有到应用层686(其中驻存应用688)的北向接口684。集中控制平面676具有对应用688形成虚拟网络692(有时称为逻辑转发平面、网络服务或覆盖网络(其中数据平面680的NE 670A-H是底层网络))的能力。从而,集中控制平面676维持所有ND和配置的NE/VNE的全局视图,并且它将虚拟网络高效映射到底层ND(其包括通过硬件(ND、链路或ND部件)失效、添加或移除而在物理网络改变时维持这些映射)。
尽管图6D示出分布式方法672与集中方法674分离,网络控制的投入可有差异地分布或两者在本发明的某些实施例中组合。例如:1)实施例一般可使用集中方法(SDN)674,但具有委托给NE的某些功能(例如,分布式方法可用于实现故障监测、性能监测、保护交换和邻域和/或拓扑发现的基元中的一个或多个);或2)本发明的实施例可经由集中控制平面和分布式协议这两者执行邻域发现和拓扑发现,并且比较结果在它们不一致的地方引发异常。这样的实施例一般视为归入集中方法674,但也可视为混合方法。
尽管图6D图示ND 600A-H中的每个实现单个NE 670A-H的简单情况,应理解参考图6D描述的网络控制方法还对其中ND 600A-H中的一个或多个实现多个VNE(例如,VNE 630A-R、VNE 660A-R、在混合网络设备606中的那些)的网络起作用。备选地或另外,网络控制器678还可仿效单个ND中多个VNE的实现。具体地,代替在单个ND中实现多个VNE(或除其外),网络控制器678可在单个ND中呈现VNE/NE的实现作为虚拟网络692中的多个VNE(全部在虚拟网络692的相同虚拟网络中,每个在虚拟网络692的不同虚拟网络中,或某一组合)。例如,网络控制器678可促使ND在底层网络中实现单个VNE(NE),并且然后在集中控制平面676内逻辑分割该NE的资源以在虚拟网络692中呈现不同的VNE(其中覆盖网络中这些不同的VNE在底层网络中在ND上共享单个VNE/NE实现的资源)。
另一方面,图6E和6F分别图示网络控制器678可呈现的作为虚拟网络692的不同虚拟网络的部分的NE和VNE的示范性抽象。图6E图示根据本发明的一些实施例其中ND 600A-H中的每个实现单个NE 670A-H的简单情况(参见图6D),但集中控制平面676将不同ND中的多个NE(NE 670A-C和G-H)抽象为(代表)图6D的虚拟网络692中的一个的单个NE 670I。图6E示出在该虚拟网络中,NE 670I耦合于NE 670D和670E,这两者都仍耦合于NE 670E。
图6F图示根据本发明的一些实施例其中多个VNE(VNE 670A.1和VNE 670H.1)在不同ND(ND 600A和ND 600H)上实现并且耦合于彼此并且集中控制平面676使这些多个VNE抽象使得它们在图6D的虚拟网络692的一个内表现为单个VNE 670T的情况。从而,NE或VNE的抽象可以跨越多个ND。
尽管本发明的一些实施例将集中控制平面676实现为单个实体(例如,在单个电子设备上运行的软件的单个实例),备选实施例可使功能性跨多个实体扩展以用于冗余性和/或可伸缩性目的(例如,在不同电子设备上运行的软件的多个实例)。
与网络设备实现相似,运行集中控制平面676的电子设备以及从而包括集中可达性和转发信息模块679的网络控制器678可采用多种方式实现(例如,专用设备、通用(例如,COTS)设备或混合设备)。这些电子设备相似地将包括计算资源、一个或多个物理NIC集和非暂时性机器可读存储介质,其具有存储在其上的集中控制平面软件。例如,图7图示通用控制平面设备704,其包括硬件740,该硬件740包括一个或多个处理器742集(其通常是COTS处理器)和网络接口控制器744(NIC;也称为网络接口卡)(其包括物理NI 746)以及非暂时性机器可读存储介质748,其具有存储在其中的集中控制平面(CCP)软件750。
在使用计算虚拟化的实施例中,处理器742典型地执行软件来例示管理程序754(有时称为虚拟机监视器(VMM))和由管理程序754运行的一个或多个虚拟机762A-R;其统称为软件实例752。虚拟机是运行程序就好像它们在物理、非虚拟化机上执行一样的物理机的软件实现;并且应用一般并不知道它们在虚拟机上运行,如与在“裸金属”主电子设备上运行相对,但一些系统提供半虚拟化,其允许操作系或应用感知虚拟化的存在以用于优化目的。再次,在使用计算虚拟化的实施例中,在操作期间,在操作系统764A顶部的CCP软件750的实例(图示为CCP实例776A)典型地在虚拟机762A内执行。在未使用计算虚拟化的实施例中,操作系统764A顶部的CCP实例776A在“裸金属”通用控制平面设备704上执行。
操作系统764A提供基本处理、输入/输出(I/O)和联网能力。在一些实施例中,CCP实例776A包括网络控制器实例778。网络控制器实例778包括集中可达性和转发信息模块实例779(其是向操作系统764A提供网络控制器678的上下文并且与各种NE通信的中间件层),和中间件层(其提供各种网络操作所需要的智能,例如协议、网络态势感知和用户-接口)上的CCP应用层780(有时称为应用层)。在一个实施例中,集中可达性和转发信息模块779可包括IS-IS模块781和如上文描述的相关软件。
在更抽象级别,集中控制平面676内的该CCP应用层780与虚拟网络视图(网络的逻辑视图)一起工作并且中间件层提供从虚拟网络到物理视图的转换。
集中控制平面676基于CCP应用层780计算和对于每个流的中间件层映射将相关消息传送到数据平面680。流可定义为包集,其的报头与指定模式的位匹配;在该意义上,传统的IP转发也是基于流的转发,其中流由例如目的IP地址定义;然而,在其他实现中,用于流定义的指定模式的位可在包报头中包括更多字段(例如,10个或以上)。数据平面680的不同ND/NE/VNE可接收不同消息,并且从而接收不同转发消息。数据平面680处理这些消息并且对合适的NE/VNE的转发表(有时称为流表)中的合适流信息和对应动作编程,并且然后NE/VNE将进入包映射到转发表中表示的流并且基于转发表中的匹配来转发包。
例如OpenFlow等标准定义用于消息的协议,以及用于处理包的模型。用于处理包的模型包括报头解析、包分类和做出转发决策。报头解析描述如何基于众所周知的协议集来解释包。一些协议字段用于建立匹配结构(或密钥),其将在包分类中使用(例如,第一密钥字段可以是源媒体访问控制(MAC)地址,并且第二密钥字段可以是目的地MAC地址)。
包分类牵涉在存储器中执行查找以通过基于转发表条目的匹配结构或密钥来确定转发表中的哪个条目(也称为转发表条目或流条目)与包最匹配而对包分类。转发表条目中表示的许多流可以对应于包/与之匹配,这是可能的;在该情况下,系统典型地配置成根据定义方案(例如,选择匹配的第一转发表条目)从许多确定一个转发表条目。转发表条目包括匹配准则的特定集(值或通配符的集,或包的什么部分应与特定值/多个值/通配符比较的指示,如由匹配能力定义的-对于包报头中的特定字段,或对于某一其他包内容),和数据平面承担接收匹配包的一个或多个动作的集。例如,动作可以是对于使用特定端口的包将报头推到包上、使包泛滥或简单地丢弃包。从而,对于IPv4/IPv6包利用特定传输控制协议(TCP)目的端口的转发表条目可以包含规定应丢弃这些包的动作。
基于在包分类期间识别的转发表条目,通过执行在包上的匹配转发表条目中识别的动作集,出现做出转发决策和执行动作。
然而,在未知包(例如,“漏包”或“失配”,如在OpenFlow用语中使用的)到达数据平面680,包(或包报头和内容的子集)典型地被转发到集中控制平面676。集中控制平面676然后将转发表条目编程为数据平面680来容纳属于未知包流的包。一旦特定转发表条目已经由集中控制平面676编程为数据平面680,具有匹配证书的下一个包将与该转发表条目匹配并且采取与该匹配条目关联的动作集。
网络接口(NI)可以是物理或虚拟的;并且在IP的上下文中,接口地址是指派给NI的IP地址,无论是物理NI还是虚拟NI。虚拟NI可与物理NI关联,其具有另一个虚拟接口,或依靠自己(例如,环回接口、点到点协议接口)。NI(物理或虚拟的)可被编号(具有IP地址的NI)或未被编号(没有IP地址的NI)。环回接口(和它的环回地址)是通常用于管理目的的NE/VNE(物理或虚拟的)的特定类型的虚拟NI(和IP地址);其中这样的IP地址称为节点环回地址。指派给ND的NI的IP地址称为该ND的IP地址;在更加粒度化级别,指派给NI(指派给在ND上实现的NE/VNE)的IP地址可以称为该NE/VNE的IP地址。
由路由系统对于指定目的地的下一跳选择可分解为一个路径(即,路由协议可在最短路径上产生一个下一跳);但如果路由系统确定存在多个可行的下一跳(即,路由协议产生的转发技术方案在最短路径上提供不只一个下一跳-多个等价下一跳),使用一些额外准则-例如,在无连接网络中,可使用等价多径(ECMP)(也称为等价多径化、多径转发和IP多径)(RFC 2991和2992)(例如,典型实现使用特定报头字段作为准则来确保特定包流的包总是在相同下一跳上被转发来保留包流排序)。为了多径转发目的,包流定义为共享排序约束的包集。作为示例,采用特定TCP传输序列的包集需要有序到达,否则TCP逻辑将解释因为拥挤的无序交付并且使TCP传输速率减慢。
尽管本发明已经从若干实施例方面描述,本领域内技术人员将认识到本发明不限于描述的实施例,可以在附上的权利要求的精神和范围内带有修改和更改地实践。描述从而视为说明性而非限制性的。
Claims (19)
1.一种由网络设备实现来对默认路由中到所述网络设备的1级中间系统-中间系统(IS-IS)区域的边界节点的每个下一跳确定无环备选(LFA)的方法,所述方法包括以下步骤:
为所述默认路由选择(301)下一个下一跳;
在本地路由信息库(RIB)为所选的下一跳查找(303)对应的边界节点;
选择(307)对应边界节点的下一个下一跳;
检查(309)所述对应的边界节点的所选下一跳是否与默认路由的所选下一跳相同;以及
指派(311)所述对应边界节点的所选下一跳的LFA作为所述默认路由的所选下一跳的LFA。
2.如权利要求1所述的方法,其进一步包括以下步骤:
检查(305)在所述RIB中对于所述对应边界节点是否存在LFA。
3.如权利要求1所述的方法,其进一步包括以下步骤:
查找(303)所述对应边界节点的LFA。
4.如权利要求1所述的方法,其进一步包括以下步骤:
在所述RIB中安装(205)对于每个网络设备的下一跳,其包括记录对于每个对应默认路由下一跳的边界节点。
5.如权利要求1所述的方法,其进一步包括:
对所述IS-IS区域中的网络元件中的每个计算(203)最短路由优先(SPF),其中到边界节点的下一跳是默认路由的下一跳。
6.如权利要求1所述的方法,其进一步包括:
对所述IS-IS区域中的每个网络设备的每个下一跳计算(207)LFA。
7.如权利要求1所述的方法,其进一步包括:
在所述本地RIB中对所述IS-IS区域中的每个网络设备的每个SPF下一跳安装(209)每个LFA的下一跳。
8.如权利要求1所述的方法,其中所述默认路由是互联网协议版本4(IPv4)或互联网协议版本6(IPv6)默认路由。
9. 一种网络设备,其配置成对默认路由中到所述网络设备的1级中间系统-中间系统(IS-IS)区域的边界节点的每个下一跳确定无环备选(LFA),所述网络设备包括:
数据存储(503),用于存储路由信息库(RIB);以及
处理器,其通信耦合于所述数据存储,所述处理器配置成执行IS-IS模块(507),所述IS-IS模块配置成为所述默认路由选择下一个下一跳、在本地路由信息库(RIB)中为所选下一跳查找对应边界节点、选择所述对应边界节点的下一个下一跳、检查所述对应边界节点的所选下一跳是否与默认路由的所选下一跳相同,以及指派所述对应边界节点的所选下一跳的LFA作为所述默认路由的所选下一跳的LFA。
10.如权利要求9所述的网络设备,其中所述IS-IS模块进一步配置成检查在所述RIB中对于所述对应边界节点是否存在LFA。
11.如权利要求9所述的网络设备,其中所述IS-IS模块进一步配置成查找所述对应边界节点的LFA。
12.如权利要求9所述的网络设备,其中所述IS-IS模块进一步配置成在所述RIB中安装对于每个网络设备的下一跳,其包括记录对于每个对应默认路由下一跳的边界节点。
13.如权利要求9所述的网络设备,其中所述IS-IS模块进一步配置成计算到所述IS-IS区域中的网络元件中的每个的最短路径优先(SPF),其中到边界节点的下一跳是对于默认路由的下一跳。
14.如权利要求9所述的网络设备,其中所述IS-IS模块进一步配置成对所述IS-IS区域中的每个网络设备的每个下一跳计算LFA。
15.如权利要求9所述的网络设备,其中所述IS-IS模块进一步配置成在所述本地RIB中对所述IS-IS区域中的每个网络设备的每个SPF下一跳安装每个LFA的下一跳。
16.如权利要求9所述的网络设备,其中所述默认路由是互联网协议版本4(IPv4)或互联网协议版本6(IPv6)默认路由。
17.一种非暂时性计算机可读介质,其具有存储在其中的指令,所述指令在执行时对默认路由中到网络设备的1级中间系统-中间系统(IS-IS)区域的边界节点的每个下一跳确定无环备选(LFA),所述执行进一步促使所述网络设备执行操作集,其包括:
为所述默认路由选择(301)下一个下一跳;
在本地路由信息库(RIB)为所选的下一跳查找(303)对应的边界节点;
选择(307)对应边界节点的下一个下一跳;
检查(309)所述对应的边界节点的所选下一跳是否与默认路由的所选下一跳相同;以及
指派(311)所述对应边界节点的所选下一跳的LFA作为所述默认路由的所选下一跳的LFA。
18. 一种控制平面设备,其配置成对软件定义网络(SDN)实现至少一个集中控制平面,所述集中控制平面配置成对默认路由中到网络设备的1级中间系统-中间系统(IS-IS)区域的边界节点的每个下一跳确定无环备选(LFA),所述控制平面设备包括:
存储介质(618),用于存储集中控制平面软件、IS-IS模块和本地路由信息库(RIB);以及
处理器,其通信耦合于所述存储介质,所述处理器配置成执行所述控制平面软件,所述控制平面软件实现所述IS-IS模块(633A),所述IS-IS模块配置成为所述默认路由选择下一个下一跳、在本地路由信息库(RIB)中为所选下一跳查找对应边界节点、选择所述对应边界节点的下一个下一跳、检查所述对应边界节点的所选下一跳是否与默认路由的所选下一跳相同,以及指派所述对应边界节点的所选下一跳的LFA作为所述默认路由的所选下一跳的LFA。
19. 一种实现多个虚拟机以用于实现网络功能虚拟化(NFV)的计算设备,其中来自所述多个虚拟机的虚拟机配置成对默认路由中到网络设备的1级中间系统-中间系统(IS-IS)区域的边界节点的每个下一跳确定无环备选(LFA),所述计算设备包括:
存储介质(648),用于存储IS-IS模块和本地路由信息库(RIB);以及
处理器,其通信耦合于所述存储介质,所述处理器配置成执行所述虚拟机,其中所述虚拟机配置成实现所述IS-IS模块(633A),所述IS-IS模块配置成为所述默认路由选择下一个下一跳、在本地路由信息库(RIB)中为所选下一跳查找对应边界节点、选择所述对应边界节点的下一个下一跳、检查所述对应边界节点的所选下一跳是否与默认路由的所选下一跳相同,以及指派所述对应边界节点的所选下一跳的LFA作为所述默认路由的所选下一跳的LFA。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/222,243 US9300568B2 (en) | 2014-03-21 | 2014-03-21 | Procedure to add alternate paths for IS-IS default route |
US14/222243 | 2014-03-21 | ||
PCT/IB2015/051968 WO2015140725A1 (en) | 2014-03-21 | 2015-03-18 | Procedure to add alternate paths for is-is default route |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106105116A true CN106105116A (zh) | 2016-11-09 |
CN106105116B CN106105116B (zh) | 2019-12-03 |
Family
ID=52811167
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580015394.0A Active CN106105116B (zh) | 2014-03-21 | 2015-03-18 | 添加用于is-is默认路由的备选路径的程序 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9300568B2 (zh) |
EP (1) | EP3120510A1 (zh) |
CN (1) | CN106105116B (zh) |
WO (1) | WO2015140725A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107888494A (zh) * | 2017-11-29 | 2018-04-06 | 湖南大学 | 一种基于社区发现的包分类方法及系统 |
CN110178342A (zh) * | 2017-01-14 | 2019-08-27 | 瑞典爱立信有限公司 | Sdn网络的可扩缩应用级别监视 |
US10411990B2 (en) | 2017-12-18 | 2019-09-10 | At&T Intellectual Property I, L.P. | Routing stability in hybrid software-defined networking networks |
CN110380960A (zh) * | 2019-07-31 | 2019-10-25 | 迈普通信技术股份有限公司 | 一种备份路径确定方法、装置、网络设备及存储介质 |
CN110495137A (zh) * | 2017-04-13 | 2019-11-22 | 国际商业机器公司 | 分布式交换机上的可扩展数据中心网络拓扑 |
CN110636008A (zh) * | 2018-06-22 | 2019-12-31 | 中国电信股份有限公司 | 网络拓扑信息采集方法、网络拓扑构建系统和边界路由器 |
CN111277500A (zh) * | 2020-01-15 | 2020-06-12 | 山东汇贸电子口岸有限公司 | 一种数据中心evpn组网多出口设计方法及系统 |
WO2020173198A1 (zh) * | 2019-02-27 | 2020-09-03 | 华为技术有限公司 | 一种报文的处理方法、报文转发装置以及报文处理装置 |
CN111835635A (zh) * | 2019-04-18 | 2020-10-27 | 华为技术有限公司 | 一种bgp网络中发布路由的方法、设备和系统 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9485173B2 (en) * | 2014-06-13 | 2016-11-01 | Telefonaktiebolaget L M Ericsson (Publ) | Optimization to expand IS-IS leaf nodes during LFA computation |
US10250562B1 (en) * | 2015-03-31 | 2019-04-02 | Juniper Networks, Inc. | Route signaling driven service management |
US9985875B1 (en) | 2015-03-31 | 2018-05-29 | Juniper Networks, Inc. | Route signalling based resilient application overlay network |
CN107911298B (zh) * | 2017-12-29 | 2020-03-06 | 杭州迪普科技股份有限公司 | 一种基于isis的路由重分布的方法及装置 |
US11706303B2 (en) * | 2021-04-22 | 2023-07-18 | Cisco Technology, Inc. | Survivability method for LISP based connectivity |
CN114389987B (zh) * | 2021-12-24 | 2022-10-11 | 广州爱浦路网络技术有限公司 | 数据包路由方法、计算机装置和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101110778A (zh) * | 2007-07-23 | 2008-01-23 | 中兴通讯股份有限公司 | 一种利用默认路由压缩路由转发表的方法 |
US20110007629A1 (en) * | 2003-10-03 | 2011-01-13 | FutureWei Technologies, Inc.,DBA HuaWei Technologies (USA) | Rapid alternate paths for network destinations |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7933197B2 (en) * | 2005-02-22 | 2011-04-26 | Cisco Technology, Inc. | Method and apparatus for constructing a repair path around a non-available component in a data communications network |
US7986640B2 (en) * | 2006-07-05 | 2011-07-26 | Cisco Technology, Inc. | Technique for efficiently determining acceptable link-based loop free alternates in a computer network |
US8374092B2 (en) * | 2006-08-28 | 2013-02-12 | Cisco Technology, Inc. | Technique for protecting against failure of a network element using multi-topology repair routing (MTRR) |
US9350639B2 (en) * | 2007-09-06 | 2016-05-24 | Cisco Technology, Inc. | Forwarding data in a data communications network |
US8165121B1 (en) * | 2009-06-22 | 2012-04-24 | Juniper Networks, Inc. | Fast computation of loop free alternate next hops |
US8804489B2 (en) * | 2010-09-29 | 2014-08-12 | Telefonaktiebolaget L M Ericsson (Publ) | Fast flooding based fast convergence to recover from network failures |
US9692687B2 (en) * | 2011-03-18 | 2017-06-27 | Alcatel Lucent | Method and apparatus for rapid rerouting of LDP packets |
US9350641B2 (en) * | 2011-11-01 | 2016-05-24 | Alcatel Lucent | IP fast reroute scheme offering full protection |
US8861340B1 (en) * | 2012-03-12 | 2014-10-14 | Juniper Networks, Inc. | Fast reroute using maximally redundant trees |
US9178798B2 (en) * | 2012-05-09 | 2015-11-03 | Juniper Networks, Inc. | Fast reroute using loop free alternate next hops for multipoint label switched paths |
US9379971B2 (en) * | 2012-05-11 | 2016-06-28 | Simula Inovation AS | Method and apparatus for determining paths between source/destination pairs |
US9112788B2 (en) * | 2012-10-10 | 2015-08-18 | Cisco Technology, Inc. | Bicasting using non-congruent paths in a loop-free routing topology having routing arcs |
US9178799B2 (en) * | 2013-02-01 | 2015-11-03 | TELEFONAKTIEBOLAGET L M ERRICSSON (publ) | Method and system of shortest path bridging (SPB) enhanced resilience with loop mitigation |
US20140219090A1 (en) * | 2013-02-04 | 2014-08-07 | Telefonaktiebolaget L M Ericsson (Publ) | Network congestion remediation utilizing loop free alternate load sharing |
US9577874B2 (en) * | 2013-03-14 | 2017-02-21 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for IP/MPLS fast reroute |
US9438472B2 (en) * | 2013-07-19 | 2016-09-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Extended remote LFA fast reroute |
US9253079B2 (en) * | 2013-10-11 | 2016-02-02 | Telefonaktiebolaget L M Ericsson (Publ) | High performance LFA path algorithms |
US9253084B2 (en) * | 2014-02-24 | 2016-02-02 | Juniper Networks, Inc. | Neighbor-label distribution with label distribution protocol |
US9479424B2 (en) * | 2014-03-18 | 2016-10-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Optimized approach to IS-IS LFA computation with parallel links |
US9391876B2 (en) * | 2014-03-18 | 2016-07-12 | Telefonaktiebolaget L M Ericsson (Publ) | Better alternate paths for multi homed IS-IS prefixes |
US9455917B2 (en) * | 2014-05-27 | 2016-09-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Simplified approach to verify LFAS in deployment |
US9407534B2 (en) * | 2014-05-27 | 2016-08-02 | Telefonaktiebolaget L M Ericsson (Publ) | Enhanced procedure to compute LFAs with IGP max metric |
US9313117B2 (en) * | 2014-05-27 | 2016-04-12 | Telefonaktiebolaget L M Ericsson (Publ) | Alternate method to give operators flexibility to choose LFAs |
US9225629B2 (en) * | 2014-05-30 | 2015-12-29 | Telefonaktiebolaget L M Ericsson (Publ) | Efficient identification of node protection remote LFA target |
-
2014
- 2014-03-21 US US14/222,243 patent/US9300568B2/en not_active Expired - Fee Related
-
2015
- 2015-03-18 WO PCT/IB2015/051968 patent/WO2015140725A1/en active Application Filing
- 2015-03-18 CN CN201580015394.0A patent/CN106105116B/zh active Active
- 2015-03-18 EP EP15714296.9A patent/EP3120510A1/en not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110007629A1 (en) * | 2003-10-03 | 2011-01-13 | FutureWei Technologies, Inc.,DBA HuaWei Technologies (USA) | Rapid alternate paths for network destinations |
CN101110778A (zh) * | 2007-07-23 | 2008-01-23 | 中兴通讯股份有限公司 | 一种利用默认路由压缩路由转发表的方法 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110178342A (zh) * | 2017-01-14 | 2019-08-27 | 瑞典爱立信有限公司 | Sdn网络的可扩缩应用级别监视 |
US11636229B2 (en) | 2017-01-14 | 2023-04-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Scalable application level monitoring for SDN networks |
CN110178342B (zh) * | 2017-01-14 | 2022-07-12 | 瑞典爱立信有限公司 | Sdn网络的可扩缩应用级别监视 |
CN110495137A (zh) * | 2017-04-13 | 2019-11-22 | 国际商业机器公司 | 分布式交换机上的可扩展数据中心网络拓扑 |
CN107888494B (zh) * | 2017-11-29 | 2020-06-26 | 湖南大学 | 一种基于社区发现的包分类方法及系统 |
CN107888494A (zh) * | 2017-11-29 | 2018-04-06 | 湖南大学 | 一种基于社区发现的包分类方法及系统 |
US10411990B2 (en) | 2017-12-18 | 2019-09-10 | At&T Intellectual Property I, L.P. | Routing stability in hybrid software-defined networking networks |
CN110636008B (zh) * | 2018-06-22 | 2022-02-08 | 中国电信股份有限公司 | 网络拓扑信息采集方法、网络拓扑构建系统和边界路由器 |
CN110636008A (zh) * | 2018-06-22 | 2019-12-31 | 中国电信股份有限公司 | 网络拓扑信息采集方法、网络拓扑构建系统和边界路由器 |
WO2020173198A1 (zh) * | 2019-02-27 | 2020-09-03 | 华为技术有限公司 | 一种报文的处理方法、报文转发装置以及报文处理装置 |
US11683272B2 (en) | 2019-02-27 | 2023-06-20 | Huawei Technologies Co., Ltd. | Packet processing method, packet forwarding apparatus, and packet processing apparatus |
CN111835635A (zh) * | 2019-04-18 | 2020-10-27 | 华为技术有限公司 | 一种bgp网络中发布路由的方法、设备和系统 |
CN111835635B (zh) * | 2019-04-18 | 2021-12-14 | 华为技术有限公司 | 一种bgp网络中发布路由的方法、设备和系统 |
CN110380960B (zh) * | 2019-07-31 | 2021-05-18 | 迈普通信技术股份有限公司 | 一种备份路径确定方法、装置、网络设备及存储介质 |
CN110380960A (zh) * | 2019-07-31 | 2019-10-25 | 迈普通信技术股份有限公司 | 一种备份路径确定方法、装置、网络设备及存储介质 |
CN111277500A (zh) * | 2020-01-15 | 2020-06-12 | 山东汇贸电子口岸有限公司 | 一种数据中心evpn组网多出口设计方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2015140725A1 (en) | 2015-09-24 |
EP3120510A1 (en) | 2017-01-25 |
CN106105116B (zh) | 2019-12-03 |
US20150271052A1 (en) | 2015-09-24 |
US9300568B2 (en) | 2016-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106105116B (zh) | 添加用于is-is默认路由的备选路径的程序 | |
JP6779341B2 (ja) | ボーダゲートウェイプロトコルを用いた最大セグメント識別子深度の外部アプリケーションへの呈示 | |
EP3879759B1 (en) | Optimized datapath troubleshooting with trace policy engine | |
EP3497893B1 (en) | Segment routing based on maximum segment identifier depth | |
EP3130109B1 (en) | A method and system for network function placement | |
CN107005481B (zh) | 用于网络中数据平面故障检测的装置及其中的方法 | |
JP6967521B2 (ja) | Ospfを利用して最大ノードおよび/またはリンクセグメント識別子深度を明らかにするための技法 | |
US9473404B2 (en) | Symmetric flow processing in a software-defined networking (SDN) system | |
US9853877B2 (en) | Method for optimized placement of service-chain-monitoring probes | |
EP3510730B1 (en) | Efficient troubleshooting in sdn network | |
CN108702328A (zh) | 用于穿越分段路由和mpls网络的业务的灵活路径拼接和选择的is-is扩展 | |
US20150363423A1 (en) | Method and system for parallel data replication in a distributed file system | |
WO2017077406A1 (en) | System and methods for intelligent service function placement and autoscale based on machine learning | |
CN109076018A (zh) | 利用is-is暴露最大节点和/或链路分段标识符深度的技术 | |
WO2016103167A1 (en) | Adaptive load balancing in packet processing | |
WO2016174597A1 (en) | Service based intelligent packet-in mechanism for openflow switches | |
US9647926B2 (en) | Procedure to identify multi-homed prefixes for IS-IS LFA | |
CN106105114B (zh) | 多归属is-is前缀的更好替换路径 | |
US9973578B2 (en) | Real time caching efficient check in a content centric networking (CCN) | |
US20180375753A1 (en) | Method and apparatus for control plane to configure monitoring of differentiated service code point (dscp) and explicit congestion notification (ecn) | |
US11563648B2 (en) | Virtual network function placement in a cloud environment based on historical placement decisions and corresponding performance indicators | |
US20200296030A1 (en) | Optimized Datapath Troubleshooting |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |