CN112583689A - 将服务映射到隧道以便使用网络装置转发分组 - Google Patents
将服务映射到隧道以便使用网络装置转发分组 Download PDFInfo
- Publication number
- CN112583689A CN112583689A CN201911319181.3A CN201911319181A CN112583689A CN 112583689 A CN112583689 A CN 112583689A CN 201911319181 A CN201911319181 A CN 201911319181A CN 112583689 A CN112583689 A CN 112583689A
- Authority
- CN
- China
- Prior art keywords
- tunnel
- color
- tunnels
- packet
- forwarding
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
- H04L49/254—Centralised controller, i.e. arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- 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/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- 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/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/24—Multipath
- H04L45/247—Multipath using M:N active or standby paths
-
- 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/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
-
- 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及将服务映射到隧道以便使用网络装置转发分组。本公开涉及用于控制两个或多个装置之间的网络流量流的装置、系统和技术。例如,网络装置包括控制单元、转发单元和分组处理器,转发单元包括转发管理器,转发管理器包括被配置为存储隧道层次结构的服务器。分组处理器被配置为经由一组接口卡中的接口卡接收包括分组报头的分组。转发管理器被配置为解析分组报头,以便识别对应于分组的服务,其中,该服务与服务颜色相关联,基于隧道层次结构识别一组隧道,其中,这组隧道中的每个隧道与隧道颜色相关联,并且确定与隧道颜色相关联的一组隧道中的至少一个隧道是否处于在线状态。
Description
技术领域
本公开涉及计算机网络。
背景技术
计算机网络是交换数据和共享资源的互连计算装置的集合。在基于分组的网络中,计算装置通过将数据分成称为分组的小块来传送数据。网络中的某些装置(例如,路由器和交换机)维护描述网络路径的路由和/或转发信息。以这种方式,分组可以通过网络从源装置单独传输到目的地装置。目的地装置从分组中提取数据,并将数据组装成原始形式。将数据分成分组,允许源装置仅重新发送那些在传输过程中可能丢失的单独分组。
计算机网络的示例包括企业网络、分支网络、服务提供商网络、家庭网络、虚拟专用网络(VPN)、局域网(LAN)、虚拟LAN(VLAN)等。在任何情况下,计算机网络可以允许位于远处的源和接收器共享数据。网络服务提供商向传入的分组提供诸如通过网络核心(VPN服务)或订户将客户站点链接到服务、安全、隧道、虚拟专用网络、过滤、负载平衡、VoIP/多媒体处理和各种类型的应用代理(HTTP、XML、WAP等)的服务。服务提供商还提供特定于内容的服务,以提高用户体验的质量,例如,视频流和缓存。
发明内容
通常,本公开描述了用于控制通过一个或一个以上网络装置的网络流量(例如,分组)流的装置、系统和技术。例如,网络装置可以经由一个或一个以上入口接口卡接收分组,并且经由一个或一个以上出口接口卡转发分组,一个或一个以上出口接口卡托管一组隧道。在某些情况下,这组隧道可以将网络装置连接到另一网络装置,使得这组隧道中的每个隧道从网络装置通向公共隧道目的地。网络装置可以维护隧道层次结构,该隧道层次结构允许网络装置选择一个隧道或一组隧道来转发分组,所选择的隧道取决于与分组相关联的服务。例如,到达网络装置的每个分组可以包括分组报头。网络装置可以解析分组报头,以确定对应于分组的服务,并且随后在隧道层次结构中“查找”转发分组的相应隧道或这组隧道。网络装置可以基于从控制器接收的信息生成隧道层次结构。
服务可以对应于一种或一种以上“服务颜色”,并且隧道可以对应于一种或一种以上“隧道颜色”。在某些情况下,颜色是将相应的服务或隧道识别为普通类型的一部分的标签。例如,包括颜色“蓝色”的每个隧道可以是第一类型,并且包括颜色“红色”的每个隧道可以是第二类型。在一些示例中,隧道层次结构将一种或一种以上服务颜色映射到一种或一种以上隧道颜色。例如,隧道层次结构可以指示与对应于服务颜色的特定服务相关联的分组将通过初级隧道颜色的隧道转发。此外,如果没有初级隧道颜色的隧道可用于传送网络流量(例如,如果初级隧道颜色的所有隧道都离线),则隧道层次结构可以指示与特定服务相关联的分组将通过二级隧道颜色的隧道转发。以这种方式,隧道层次结构可以包括至少一种服务颜色的隧道颜色的等级,允许网络装置根据与分组相关联的服务转发分组。如本文所使用的,术语“初级”和“二级”可以指示相应隧道颜色相对于其他隧道颜色的优先级。
本公开的技术可以提供一个或一个以上优点。例如,网络装置通过第一隧道类型的隧道转发与服务相关联的网络流量可以是有益的。在一些情况下,第一隧道类型的隧道可以被配置为比第二隧道类型的隧道更有效地传送与服务相关联的流量(例如,传送与服务相关联的更多分组、提供更少的等待时间以适应某些服务(例如,基于互联网协议的语音VoIP、流式视频、网络会议等)、提供高可用性等)。第一隧道类型的隧道和第二隧道类型的隧道可以分别用第一隧道颜色和第二隧道颜色来标记。这样,如果没有第一隧道颜色的隧道可用于传送分组,则网络装置可以使用隧道层次结构来主要通过第一(例如,初级)隧道颜色的隧道转发网络流量,并且通过第二(例如,二级)隧道颜色的隧道转发网络流量。
此外,网络装置通过普通隧道类型的可用隧道“负载平衡”网络流量可以是有益的。网络装置可以通过隧道颜色的一组隧道分发与服务颜色相关联的分组,该隧道颜色在相应服务颜色的隧道层次结构上最高。例如,如果用于相应服务颜色的初级隧道颜色的一组N个隧道可用于转发分组,则网络装置可以通过这组N个隧道基本均匀地划分与相应服务颜色相关联的分组。
此外,允许细粒度控制以非常通用的方式将特定网络流量映射到特定隧道可以是有益的。这可以允许控制器将较高值的网络流量(例如,包括低延迟的网络流量或包括较低损耗容限的网络流量)映射到比第二组隧道(第二组隧道不如第一组隧道可靠)更可靠的第一组隧道。允许网络转换场景可以是有益的,其中,控制器可以只允许特定的隧道类型用于特定的新服务流量,而不影响预先存在的服务流量流。
在一些示例中,网络装置包括:控制单元;转发单元,包括转发管理器,转发管理器包括被配置为存储隧道层次结构的服务器;分组处理器,其被配置为经由一组接口卡中的接口卡接收分组,分组包括指示对应于分组的服务的分组报头。转发管理器被配置为:解析分组报头,以便识别对应于分组的服务,其中,该服务与服务颜色相关联;基于隧道层次结构,识别一组隧道,其中,这组隧道中的每个隧道与隧道颜色相关联,隧道层次结构将隧道颜色表示为对应于服务颜色的初级隧道颜色;并且确定与隧道颜色相关联的这组隧道中的至少一个隧道是否处于在线状态。
在一些示例中,一种方法包括:由转发单元的分组处理器经由一组接口卡中的接口卡接收分组,分组包括指示对应于该分组的服务的分组报头;由转发单元的转发管理器解析分组报头,以便识别对应于分组的服务,其中,该服务与服务颜色相关联;由转发管理器基于存储在转发管理器的服务器中的隧道层次结构来识别一组隧道,其中,这组隧道中的每个隧道与隧道颜色相关联,隧道层次结构将隧道颜色表示为对应于服务颜色的初级隧道颜色;并且由转发管理器确定与隧道颜色相关联的这组隧道中的至少一个隧道是否处于在线状态。
在一些示例中,一种非暂时性计算机可读介质包括指令,该指令用于使网络装置的一个或一个以上可编程处理器执行以下步骤:由转发单元的分组处理器经由一组接口卡中的接口卡接收分组,分组包括指示对应于分组的服务的分组报头;由转发单元的转发管理器解析分组报头,以便识别对应于分组的服务,其中,该服务与服务颜色相关联;由转发管理器基于存储在转发管理器的服务器中的隧道层次结构来识别一组隧道,其中,这组隧道中的每个隧道与隧道颜色相关联,隧道层次结构将隧道颜色表示为对应于服务颜色的初级隧道颜色;并且由转发管理器确定与隧道颜色相关联的这组隧道中的至少一个隧道是否处于在线状态。
该发明内容旨在提供本公开中描述的主题的概述。并不旨在提供在附图和以下描述中详细描述的系统、装置和方法的排他性或详尽的解释。在附图和以下描述中阐述本公开的一个或一个以上示例的进一步细节。通过说明书和附图以及权利要求书,其他特征、目的和优点将是显而易见的。
附图说明
图1是示出根据本文描述的一种或一种以上技术的网络系统的框图,其中,网络流量在第一网络装置和第二网络装置之间流动;
图2是示出根据本公开的一种或一种以上技术的网络装置的示例的框图;
图3是示出根据本公开的一种或一种以上技术的用于转发分组的示例操作的流程图;
图4是示出根据本公开的一种或一种以上技术的用于选择转发分组的隧道的示例操作的流程图。
具体实施方式
图1是示出根据本文描述的一种或一种以上技术的网络系统2的框图,其中,网络流量在第一网络装置20和第二网络装置30之间流动。如图1所示,网络系统2包括由网络8互连的控制器10、第一网络装置20、第二网络装置30、服务主机装置22A-22C(统称为“服务主机装置22”)和客户边缘(CE)装置32A-32C(统称为“CE装置32”)。网络8经由第一网络装置20和第二网络装置30向连接到网络8的服务主机装置22和CE装置32提供基于分组的连接,用于访问由服务主机装置22提供的一个或一个以上服务。网络8可以表示由服务提供商拥有和运营的公共网络,以互连多个网络。在一些示例中,网络8可以实现多协议标签交换(MPLS)转发,并且在这种情况下,可以称为MPLS网络或MPLS骨干网。在一些实例下,网络8表示多个互连的自治系统,例如,互联网,其提供来自一个或一个以上服务提供商的服务。
如图1的示例所示,网络8包括第一网络装置20和第二网络装置30。第一网络装置20可以表示提供边缘(PE)网络装置,作为一个示例,其可以指被配置为与服务主机装置22或其他类型的网络装置(例如,CE装置)接合的路由器,以便经由网络8转发流量。第二网络装置20可以表示PE网络装置,该PE网络装置也可以指被配置为与CE装置32或其他类型的网络装置(例如,服务主机装置)接合的路由器,以便经由网络8转发网络流量。
服务主机装置22可以表示服务器、数据库或其他类型的网络装置,这些网络装置便于经由网络8传递服务。虽然称为单个装置,但是每个服务主机装置22可以表示被配置为提供服务的一个或一个以上装置的生态系统,例如,基于互联网协议的语音(VoIP)、流式视频、数据分析或分析(用于各种目的,包括恶意软件检测、病毒检测、数据挖掘、加密等)、机器学习、安全性(包括认证、授权和计费(AAA))、网络地址转换(NAT)、加密、解密或能够经由网络8提供的任何其他类型的服务。CE装置32可以表示交换机、集线器、路由器、计算装置(包括智能手机、膝上型电脑、台式机、工作站等)、游戏系统、智能扬声器、智能电视或能够与第二网络装置30接合的任何其他类型的支持网络的装置。
在一些示例中,网络系统2可以使用隧道层次结构来确定第一网络装置20和第二网络装置30之间的分组流。例如,隧道42A-42N(统称为“隧道42”)、隧道44A-44N(统称为“隧道44”)和隧道46A-46N(统称为“隧道46”)中的每一个可以在第一网络装置20和第二网络装置30之间提供网络覆盖。隧道42、44和46中的每一个都可以经由一跳或多跳穿越网络8(为了便于说明,这是参考支持网络8的中间网络装置的一种示例方式,在图1的示例中未示出)。隧道42、44、46中的每一个可以在带宽、等待时间、高可用性(或者换言之,操作时间特性)等方面呈现不同的特性。
在隧道42、44、46包括不同隧道类型中的隧道的示例中,运营商可能难以配置网络系统2,使得网络流量通过表示至少两种不同隧道类型的隧道42、44、46转发。隧道层次结构可以解决与通过与一个或一个以上隧道类型相关联的一个或一个以上隧道连接的一对节点之间转发网络流量相关联的一种或一种以上复杂性。例如,隧道层次结构可以明确隧道24、44、46对于转发与特定服务相关联的分组的偏好,从而流线化网络系统2,使得特定的隧道类型优先用于转发与特定服务相关联的分组。此外,网络结构可以允许第一网络装置20和第二网络装置30调节通过隧道24、44、46中的每个隧道转发的流量,使得隧道24、44、46中的每个隧道以接近最大容量传送流量。
根据本公开中描述的技术的各个方面,隧道42、隧道44和隧道46(统称为“隧道42、44、46”)中的每一个可以链接相同的节点对(例如,第一网络装置20和第二网络装置30),使得分组可以根据其相应的特性以各种不同的方式经由隧道42、44和/或46中的任意一个或一个以上在第一网络装置20和第二网络装置30之间传播。以这种方式,第一网络装置20和/或第二网络装置30控制通过隧道42、44、46中的每个隧道转发的多个分组可以是有益的。
在某些情况下,分组可以与服务主机装置22提供的一组服务中的一个或一个以上服务相关联。例如,由第一网络装置20和第二网络装置30(统称为“网络装置20、30”)转发和/或接收的每个分组可以包括分组报头,该报头指示识别与该分组相关联的一个或一个以上服务的一种或一种以上服务颜色。
尽管针对分组报头进行了描述,但是对于任何给定的流,第一网络装置20和第二网络装置30可以维护指示每个流的服务颜色的状态信息。以这种方式,第一网络装置20和第二网络装置30可以选择相应的隧道,而不检查每个单独的分组报头,而是参考相应流的状态信息来识别相应的服务颜色,并且然后识别由隧道层次结构定义的参考隧道颜色。即,在某些情况下,隧道选择可以仅基于服务路由着色来预先确定,而不必查看区分不同分组(对于相同的流)的分组报头,否则不同分组(例如,不同于服务等级COS标记)可以共享流识别字段。在这方面,第一网络装置20可以仅利用服务路由和隧道上的颜色标记以及颜色层次结构配置来选择隧道(并且不参考分组中的任何颜色标记)。
在任何情况下,控制器10可以为每个隧道42、44、46分配一种或一种以上隧道颜色。以这种方式,网络装置20、30可以解析分组的分组报头,以确定与分组相关联的服务颜色,并基于隧道层次结构和与每个隧道42、44、46相关联的一种或一种以上隧道颜色来确定在其中转发分组的一个或一个以上隧道42、44、46。
在一个示例中,控制器10可以包括一个或一个以上处理器,其被配置为实现用于在网络系统2内执行的功能和/或过程指令。控制器10可以包括例如微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或等效的分立或集成逻辑电路、或任何前述装置或电路的组合。在图1所示的示例中,控制器10包括存储装置12和隧道层次单元14。基于来自用户界面16的数据,控制器10可以被配置为生成指示一个或一个以上隧道层次组件的信息,其中,第一网络装置20和第二网络装置30被配置为基于一个或一个以上隧道层次组件生成隧道层次结构。
存储装置12可以被配置为在操作期间将信息存储在控制器10内。存储装置12可以包括计算机可读存储介质或计算机可读存储装置。在一些示例中,存储装置12包括短期存储器或长期存储器中的一个或一个以上存储器。存储装置12可以包括例如随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、磁盘、光盘、闪存或电可编程存储器(EPROM)或电可擦除可编程存储器(EEPROM)的形式。在一些示例中,存储装置12用于存储供控制器10执行的程序指令。控制器10上运行的软件或应用程序可以使用存储装置12在程序执行期间临时存储信息。
在一些示例中,隧道层次单元14可以被配置为生成指示一个或一个以上隧道层次组件的信息,一个或一个以上隧道层次组件包括至少一种隧道颜色和至少一种服务颜色之间的关联。例如,隧道层次单元14可以生成将相应服务颜色与一种或一种以上隧道颜色相关联的信息。在某些情况下,该信息将相应服务颜色与初级隧道颜色和二级隧道颜色相关联。当导出到网络装置20、30时,这种信息可以使得网络装置20、30更新隧道层次结构,以将服务颜色与初级隧道颜色和二级隧道颜色相链接。
在一些示例中,当网络装置20接收到与服务颜色相关联的分组时,第一网络装置20可以确定与初级隧道颜色相关联的一个或一个以上隧道是激活的还是“在线的”。如果激活与初级隧道颜色相关联的一个或一个以上隧道,则第一网络装置20可以通过与初级隧道颜色相关联的隧道将分组转发到第二网络装置30。另一方面,如果没有激活与初级隧道颜色相关联的隧道,则第一网络装置20可以确定是否激活了与二级隧道颜色相关联的一个或一个以上隧道。如果激活了与二级隧道颜色相关联的一个或一个以上隧道,则第一网络装置20可以通过与二级隧道颜色相关联的隧道将分组转发到第二网络装置30。以这种方式,隧道层次单元14可以生成形成隧道层次结构的信息,该结构定义了网络装置20、30通过隧道42、44、46转发分组的偏好顺序。
用户界面16可以是用于与一个或一个以上服务提供商用户交互和/或管理与其交互、输入和/或输出的一个或一组装置。因此,用户界面16可以包括用于这种交互的任何现在已知的或此后开发的装置(例如,用于语音命令、响应和/或其他交互的键盘、定点装置、麦克风、触摸屏装置、按钮、键盘、灯、麦克风和/或音频扬声器、显示装置、触摸屏装置或其任意组合)。如果包括在用户界面16中,显示器可以包括液晶显示器(LCD)、发光二极管(LED)或有机发光二极管(OLED)的任意组合。在一些示例中,显示器可以包括触摸屏或其他物理或直接交互装置。
用户界面16可以被配置为显示与服务、隧道、第一网络装置20、第二网络装置30或其他信息相关的任何信息。输入可以是例如按下键盘上的按钮或者从触摸屏选择图标的形式。在一些示例中,输入可以包括选择一种或一种以上隧道颜色,以映射到服务颜色。在这些示例中,控制器10可以基于这样的输入,创建指示将一种或一种以上隧道颜色与服务颜色相关联的一个或一个以上隧道层次组件的信息。在某些情况下,用户界面16可以电耦接到控制器10。可选地或另外,用户界面16可以与控制器10无线通信。在一些情况下,用户界面16和控制器10可以集成到具有单个外壳的单个单元中。
在某些情况下,网络装置20、30可以均包括路由器,例如,提供商边缘或客户边缘路由器、核心路由器或另一种类型的网络装置,例如,交换机。在该示例中,网络装置20、30均包括为装置提供控制平面功能的控制单元(图1中未示出)。另外,网络装置20、30可以均包括一个或一个以上转发单元(图1中未示出),其提供用于处理网络流量的数据平面。
第一网络装置20和第二网络装置30分别经由接口卡21A-21C(“IFC 21”)的接口和接口卡31A-31C(“IFC 31”)的接口接收和发送数据分组。IFC 21和IFC 31(统称为“IFC 21、31”)中的每一个都可以表示可插入网络装置20、30的机箱(未示出)中的独立线卡。示例线卡包括柔性可编程集成电路集中器(FPC)、密集端口集中器(DPC)和模块化端口集中器(MPC)。IFC 21、31中的每一个可以包括用于层二(L2)技术的各种组合的接口,包括以太网、千兆以太网(GigE)和同步光网络(SONET)接口,其提供了用于传输网络分组的L2接口。在各个方面,每个网络装置20、30可以包括更多或更少的IFC。
隧道42、44、46可以包括例如通用路由封装(GRE)、用户数据报协议(UDP)隧道、资源预留协议-流量工程(RSVP-TE)隧道、RSVP-TE自动网状隧道、标签分发协议(LDP)隧道、边界网关协议-标签单播(BGP-LU)隧道、BGP段路由-流量工程(BGP-SR-TE)隧道、静态标签交换路径(LSP)隧道、静态SR-TE隧道、开放最短路径优先/ISIS段路由(OSFP/ISIS-SR)隧道以及SRv6隧道的任何组合,这些隧道是隧道类型的示例。在诸如网络系统2的网络中,数据流量通过隧道42、44、46在诸如第一网络装置20和第二网络装置30的一对节点之间发送,隧道42、44、46的隧道子集对于传送网络业务可以是优选的。在一些示例中,对于转发特定服务的网络流量,比第二组隧道更优选的第一组隧道可以是与第二组隧道不同的隧道类型。在某些情况下,一组隧道可以是优选的,隧道之间网络流量的优选体积分割也是优选的。
当一组隧道中的每个隧道都是相同的隧道类型时,控制器10可以配置转发范例,以在这组隧道中使用。在配置隧道时,通常以完全描述该隧道属性的方式来配置隧道,而不会对其他隧道产生太多依赖性。然而,当隧道可以是不同类型时,控制器10可能更难配置精确捕捉可能涉及多个隧道(可能包括不同类型的隧道)的隧道使用范例的范例。开发一个抽象来指定转发范例可能是有益的,该转发范例指定多个隧道之间的关系。
在一些示例中,控制器10可以生成指示将隧道42、44、46中的一个隧道与一种或一种以上隧道颜色相关联的指令的信息。例如,控制器10可以生成以下计算机代码段,以便关联BGP SR-TE隧道的颜色:
SR策略SAFI NLRI:<区分器,策略颜色,端点>
属性:
标识符“策略颜色”和“端点”可以表示分别与隧道42、44、46的相应隧道和相应隧道的端点相关联的一种或一种以上颜色。
在一些示例中,控制器10可以生成以下计算机代码段,以便将三个不同的隧道与相应的隧道颜色相关联:
例如,“标签交换路径ct-1”、“标签交换路径ct-2”和“静态标签交换路径lsp”可以表示隧道42、44、46中的三个不同隧道,其中,标签交换路径ct-1链接到“颜色100”,标签交换路径ct-2链接到“颜色200”,并且静态标签交换路径lsp链接到“颜色25”。
尽管本文描述了用于将隧道42、44、46与一种或一种以上隧道颜色相关联的计算机代码的示例,但是控制器10可以生成用于将隧道42、44、46中的一个或一个以上与一种或一种以上隧道颜色相关联的计算机代码的其他示例段或其他形式的信息。在生成指示将隧道42、44、46中的一个隧道与一种或一种以上隧道颜色相关联的指令的信息之后,控制器10可以将指示将隧道与一种或一种以上隧道颜色相关联的指令的信息导出到网络装置20、30中的一个或两个。反过来,网络装置20、30中的一个或两个可以将隧道与一种或一种以上隧道颜色的关联存储在相应的存储器中(图1中未示出)。以这种方式,第一网络装置20可以被配置为识别与隧道42、44、46中的每个隧道相关联的隧道颜色列表。
在一些示例中,隧道层次单元14可以生成包括将服务颜色与一种或一种以上隧道颜色相关联的指令的信息。反过来,控制器10可以向网络装置20、30中的一个或两个发送信息。基于包括将服务颜色与一种或一种以上隧道颜色相关联的指令的信息,网络装置20、30中的一个或两个可以更新隧道层次结构,以将服务颜色链接到一种或一种以上隧道颜色。以下计算机代码段可以表示由隧道层次单元14生成的信息的示例,该信息包括将服务颜色与一种或一种以上隧道颜色相关联的指令:
在该示例中,“颜色300”可以表示与网络装置20、30中的一个或两个接收的一个或一个以上分组相关联的服务颜色。此外,“颜色100”可以表示链接到颜色300的初级隧道颜色,“颜色200”可以表示链接到服务颜色的备用或二级隧道颜色。以这种方式,如果至少一个分配给颜色100的隧道在线,则将颜色100和颜色200链接到颜色300的示例计算机代码段可以使得第一网络装置20通过分配给颜色100的隧道转发与颜色300相关联的分组。如果没有分配给颜色100的隧道在线,则网络装置20可以通过分配给颜色200的隧道将分组转发给第二网络装置30。
尽管示例计算机代码段将服务颜色链接到一个初级隧道颜色和一个备用(例如,二级)隧道颜色,但是计算机代码的其他示例可以将服务颜色链接到初级隧道颜色和任意数量的备用隧道颜色。在该示例中,“颜色600”可以表示与网络装置20、30中的一个或两个接收的一个或一个以上分组相关联的服务颜色。另外,“颜色400”可以表示链接到颜色600的第一隧道颜色,“颜色500”可以表示链接到服务颜色的第二颜色。该计算机代码段指示20%(例如,均衡(balance)20)的颜色600的网络流量将通过颜色400的隧道转发,且80%(例如,均衡80)的颜色600的网络流量将通过颜色500的隧道转发。
在一些示例中,网络装置(例如,第一网络装置20)包括控制单元(图1中未示出)和转发单元(图1中未示出)。转发单元可以包括转发管理器,该转发管理器包括被配置为存储隧道层次结构的存储器(例如,服务器)。隧道层次结构可以将一种或一种以上服务颜色的每个服务颜色链接到相应一种或一种以上隧道颜色。例如,隧道层次结构可以将服务颜色链接到初级隧道颜色和一个或一个以上备用隧道颜色。转发单元可以包括分组处理器,该分组处理器被配置为经由IFC 21中的一个IFC接收分组,该分组包括指示对应于该分组的服务的分组报头。
为了说明,第一网络装置20可以从服务主机装置22中的服务主机装置接收分组。转发管理器可以被配置为解析分组报头,以便识别对应于分组的服务,其中,该服务与服务颜色相关联。在一些示例中,该服务可以包括BGP信令服务,例如,第三层虚拟专用网络(L3VPN)服务、以太网VPN(EVPN)服务、第二层VPN(L2VPN)服务、家庭inet服务、家庭inet6服务、BGP虚拟专用局域网络服务(BGP VPLS)和下一代多播虚拟专用网络(NG-MVPN)服务中的任何一个或一个以上。在一些示例中,该服务可以包括LDP信令服务,例如,LDP VPLS服务和/或虚拟专用网络服务(VPWS)。转发单元可以被配置为基于隧道层次结构识别一组隧道,其中,这组隧道中的每个隧道与隧道颜色相关联。例如,隧道层次结构可以将服务颜色链接到作为初级隧道颜色的隧道颜色。
在一些示例中,与初级隧道颜色相关联的这组隧道可以包括隧道42。反过来,第一网络装置20的转发单元可以确定隧道42中的至少一个隧道是否处于在线状态。在一些情况下,处于在线状态的隧道42的隧道可以被配置为在第一网络装置20和第二网络装置30之间传送网络流量。另一方面,处于离线状态的隧道可能无法传送分组,或者传送分组的能力可能会降低。在一些示例中,第一网络装置20可以被配置为执行一个或一个以上测试,以确定隧道42中的每个隧道是处于在线状态还是离线状态。另外或可选地,第一网络装置20可以接收指示隧道42中的一个或一个以上隧道已经从离线状态转换到在线状态或者从在线状态转换到离线状态的信息。第一网络装置20可以维护隧道42的记录,指示隧道42的每个隧道是在线还是离线。
在一些示例中,第一网络装置20的转发管理器确定隧道42的至少一个隧道处于在线状态,其中,隧道42中的每个隧道与初级隧道颜色相关联,该初级隧道颜色通过存储在第一网络装置20的存储器中的隧道层次结构链接到服务颜色。随后,转发管理器被配置为选择隧道42中的一个隧道(例如,隧道42B),用于转发与服务颜色相关联的分组。转发管理器可以选择转发管理器确定处于在线状态的隧道42中的一个隧道。第一网络装置20的分组处理器可以通过转发管理器选择的隧道将分组转发到第二网络装置30。在一些示例中,转发管理器可以选择要转发分组的隧道42中的隧道,以便平衡通过隧道42传播的网络流量的负载。例如,如果隧道42中的三个隧道处于在线状态,则转发管理器可以在处于在线状态的隧道42中的三个隧道上基本均匀地分发与服务颜色相关联的分组。
在一些示例中,第一网络装置20的转发管理器确定隧道42中没有隧道处于在线状态,其中,隧道42中的每个隧道与初级隧道颜色相关联,初级隧道颜色通过存储在第一网络装置20的存储器中的隧道层次结构链接到服务颜色。转发管理器可以基于隧道层次结构识别隧道44,其中,隧道44中的每个隧道与链接到隧道层次结构中的服务颜色的二级隧道颜色相关联。二级隧道颜色可以表示备用隧道颜色。例如,在某些情况下,仅当没有隧道42处于在线状态时,第一网络装置20才可以通过隧道44转发与服务颜色相关联的分组,从而使得隧道44成为隧道42的备用或备份选项。第一网络装置20的转发管理器可以确定隧道44中的至少一个隧道是否处于在线状态。在一些示例中,第一网络装置20可以被配置为执行一个或一个以上测试,以确定隧道44中的每个隧道是处于在线状态还是离线状态。另外或可选地,第一网络装置20可以接收指示隧道44中的一个或一个以上隧道已经从离线状态转换到在线状态或者从在线状态转换到离线状态的信息。第一网络装置20可以维护隧道44的记录,指示隧道44中的每个隧道是在线还是离线。
在一些示例中,第一网络装置20的转发管理器确定隧道44中的至少一个隧道处于在线状态,其中,隧道44中的每个隧道与二级隧道颜色相关联,二级隧道颜色通过存储在第一网络装置20的存储器中的隧道层次结构链接到服务颜色。随后,转发管理器被配置为选择隧道44中的隧道(例如,隧道44A),用于转发与服务颜色相关联的分组。转发管理器可以选择转发管理器确定处于在线状态的隧道44中的隧道。第一网络装置20的分组处理器可以通过转发管理器选择的隧道将分组转发到第二网络装置30。在一些示例中,转发管理器可以选择隧道44中的隧道来转发分组,以便平衡通过隧道44传播的网络流量的负载。例如,如果隧道44中的三个隧道处于在线状态,则转发管理器可以在处于在线状态的隧道44中的三个隧道上基本均匀地分发与服务颜色相关联的分组。
在一些示例中,第一网络装置20的转发管理器确定隧道44中没有隧道处于在线状态,其中,隧道44中的每个隧道与二级隧道颜色相关联,二级隧道颜色通过存储在第一网络装置20的存储器中的隧道层次结构链接到服务颜色。转发管理器可以基于隧道层次结构识别隧道46,其中,隧道46中的每个隧道与链接到隧道层次结构中的服务颜色的三级隧道颜色相关联。三级隧道颜色可以表示备用隧道颜色。例如,在某些情况下,仅当没有隧道42和隧道44处于在线状态时,第一网络装置20才可以通过隧道46转发与服务颜色相关联的分组,从而使得隧道46成为隧道42和隧道44的备用或备份选项。第一网络装置20的转发管理器可以确定隧道46中的至少一个隧道是否处于在线状态。在一些示例中,第一网络装置20可以被配置为执行一个或一个以上测试,以确定隧道46中的每个隧道是处于在线状态还是离线状态。另外或可选地,第一网络装置20可以接收指示隧道46中的一个或一个以上隧道已经从离线状态转换到在线状态或者从在线状态转换到离线状态的信息。第一网络装置20可以维护隧道46的记录,指示隧道46中的每个隧道是在线还是离线。
在一些示例中,第一网络装置20的转发管理器确定隧道46中的至少一个隧道处于在线状态,其中,隧道46中的每个隧道与三级隧道颜色相关联,该三级隧道颜色通过存储在第一网络装置20的存储器中的隧道层次结构链接到服务颜色。随后,转发管理器被配置为选择隧道46中的隧道(例如,隧道46B),用于转发与服务颜色相关联的分组。转发管理器可以选择转发管理器确定处于在线状态的隧道46中的隧道。第一网络装置20的分组处理器可以通过转发管理器选择的隧道将分组转发到第二网络装置30。在一些示例中,转发管理器可以选择隧道46中的隧道来转发分组,以便平衡通过隧道46传播的网络流量的负载。例如,如果隧道46中的三个隧道处于在线状态,则转发管理器可以在处于在线状态的隧道46中的三个隧道上基本均匀地分发与服务颜色相关联的分组。
在一些示例中,隧道层次可以将相应服务颜色链接到任何一种或一种以上隧道颜色,并且控制器10可以输出信息,以将一种或一种以上隧道颜色分配给隧道42、44、46中的每个隧道。这样,控制器10可以改变与隧道42、44、46中的每个隧道相关联的隧道颜色,从而改变网络装置20、30转发分组的方式。第二网络装置30可以经由隧道42、44、46中的隧道从第一网络装置20接收分组。反过来,第二网络装置30可以经由相应的一个IFC 31将分组转发到一个客户边缘装置32。从第一网络装置接收的分组的分组报头可以识别要在其中转发分组的客户边缘装置32中的客户边缘装置。尽管第一网络装置20在本文被描述为基于隧道层次结构经由隧道42、44、46向第二网络装置30转发分组,但是在一些情况下,第二网络装置30可以被配置为基于隧道层次结构向第一网络装置20转发分组。
图2是示出根据本公开的一种或一种以上技术的网络装置50的示例的框图。如图1所示,网络装置50包括IFC 60A-60N(统称为“IFC 60”)、管理接口62、控制单元70和转发单元80。控制单元70包括服务/隧道颜色单元72和处理电路74。转发单元80包括转发管理器82、存储器84、隧道层次结构86、处理电路88和分组处理器90。在一些示例中,网络装置50可以是图1的第一网络装置20的示例,并且IFC 60可以是图1的IFC 21的示例。在一些示例中,网络装置50可以是图1的第二网络装置30的示例,并且IFC 60可以是图1的IFC 31的示例。
网络装置50可以表示路由器,例如,提供商边缘或客户边缘路由器、核心路由器或另一种类型的网络装置,例如,交换机。在该示例中,网络装置50包括为装置提供控制平面功能的控制单元70。转发单元80可以提供用于处理网络流量的数据平面。这样,转发单元80在本文可以称为“转发平面”。转发单元80可以经由IFC 60的接口接收和发送数据分组。控制单元70可以通过内部通信链路连接到每个转发单元80。例如,内部通信链路可以包括100Mbps以太网连接。控制单元70通过经由内部通信链路发送指令和其他配置数据来配置转发单元80,以定义应用于转发单元80接收的分组的控制处理操作。
控制单元70可以执行多个应用程序,包括服务/隧道颜色单元72。响应于经由管理接口62接收信息,服务/隧道颜色单元72可以执行一个或一个以上操作。在一些示例中,一个或一个以上操作可以包括以下一个或一个以上:将隧道颜色分配给一个或一个以上隧道(例如,隧道42、44、46中的一个或一个以上隧道),将服务颜色链接到一种或一种以上隧道颜色,例如,初级隧道颜色和一种或一种以上备用隧道颜色,并且实现用于负载平衡网络流量的指令。
控制单元70可以包括执行软件指令的处理电路74,例如,用于定义软件或计算机程序的软件指令,该软件指令存储到计算机可读存储介质(同样,在图1中未示出),例如,非暂时性计算机可读介质,包括存储装置(例如,磁盘驱动器或光驱)和/或存储器(例如,随机存取存储器(RAM))(包括各种形式的动态RAM(DRAM),例如,DDR2 SDRAM或静态RAM(SRAM))、闪存、另一种形式的固定或可移动存储介质(其可以用于以指令或数据结构的形式传送或存储期望的程序代码和程序数据,并且可以由处理器访问)或存储指令以使处理电路74执行本文描述的技术的任何其他类型的易失性或非易失性存储器。可选地或另外,控制单元70可以包括专用硬件,例如,一个或一个以上集成电路、一个或一个以上专用集成电路(ASIC)、一个或一个以上专用处理器(ASSP)、一个或一个以上现场可编程门阵列(FPGA)或专用硬件的一个或一个以上前述示例的任意组合,用于执行本文描述的技术。在一些示例中,处理电路74执行服务/隧道颜色单元72的一个或一个以上操作。
转发单元80包括转发管理器82,转发管理器82可以执行一个或一个以上操作,以便通过分组处理器90转发分组。例如,转发管理器82可以包括存储器84。存储器84可以被配置为存储隧道层次结构86。在一些示例中,隧道层次结构86可以将一种或一种以上服务颜色的每个服务颜色链接到一组隧道颜色。在某些情况下,链接到每个服务颜色的这组隧道颜色可以包括初级服务颜色和一个或一个以上备用服务颜色。以这种方式,当分组处理器90接收分组时,转发单元80的一个或一个以上组件可以解析分组的分组报头,以确定与分组相关联的服务颜色。反过来,转发单元80可以基于链接到服务颜色的这组隧道颜色来确定转发分组的隧道。存储器84可以存储指示与隧道列表中的每个隧道相关联的一种或一种以上隧道颜色的隧道列表。另外,存储器84可以存储指示与服务列表相关联的一种或一种以上服务颜色的服务列表。转发管理器82可以基于从控制单元接收的一个或一个以上指令来更新隧道层次结构86、隧道列表和服务列表。在一些示例中,处理电路88可以执行一个或一个以上操作来更新隧道层次结构86、更新由存储器84存储的隧道列表或者更新由存储器84存储的服务列表。
转发管理器82可以包括处理电路88。在某些情况下,处理电路88可以与处理电路74分离。包括执行软件指令的处理电路88,例如,用于定义软件或计算机程序的软件指令,该软件指令存储到计算机可读存储介质(同样,在图1中未示出),例如,非暂时性计算机可读介质,包括存储装置(例如,磁盘驱动器或光驱)和/或存储器(例如,RAM)(包括各种形式的动态DRAM,例如,DDR2 SDRAM或SRAM)、闪存、另一种形式的固定或可移动存储介质(其可以用于以指令或数据结构的形式传送或存储期望的程序代码和程序数据,并且可以由处理器访问)或存储指令以使处理电路88执行本文描述的技术的任何其他类型的易失性或非易失性存储器。可选地或另外,转发管理器82可以包括专用硬件,例如,一个或一个以上集成电路、一个或一个以上ASIC、一个或一个以上ASSP、一个或一个以上FPGA或专用硬件的一个或一个以上前述示例的任意组合,用于执行本文描述的技术。
转发单元80包括分组处理器90,当分组穿过网络装置50的内部架构时,分组处理器90通过在相应内部分组转发路径上对每个分组执行一系列操作来处理分组。例如,转发单元80的分组处理器90包括一个或一个以上可配置硬件芯片(例如,芯片组),当由在控制单元70上执行的应用程序配置时,这些硬件芯片定义将由转发单元80接收的分组执行的操作。在一些示例中,每个芯片组可以表示“分组转发引擎”(PFE)。每个芯片组可以包括不同的芯片,每个芯片都具有专门的功能,例如,排队、缓冲、接合和查找/分组处理。每个芯片可以表示基于专用集成电路(ASIC)、基于现场可编程门阵列(FPGA)或其他可编程硬件逻辑。
例如,可以通过转发单元80或分组在出口之前定向到的网络装置50的其他组件,例如,一个或一个以上服务卡,在每个分组上执行操作。分组处理器90可以处理分组,以识别分组属性并执行绑定到属性的动作。分组处理器90可以包括转发路径元件,当被执行时,这些转发路径元件使得分组处理器检查每个分组的内容(或另一分组属性,例如,传入接口),并在此基础上做出转发决定、应用过滤器和/或执行例如计费、管理、流量分析和负载平衡。在一个示例中,分组处理器90将转发路径元件设置为下一跳数据,该下一跳数据可以作为沿着网络装置50的内部分组转发路径的转发拓扑中的一系列“跳”链接在一起。分组处理的结果确定了分组被转发单元80的分组处理器90从其在一个IFC 60上的输入接口转发到(至少在某些情况下)其在一个IFC 60上的输出接口或以其他方式处理的方式。
在许多实例中,转发路径元件执行查找操作,例如,树(或trie)搜索、表(或索引)搜索、过滤器确定和应用、或速率限制器确定和应用。查找操作在查找数据结构(例如,查找树)内定位匹配分组内容或分组或分组流的另一属性的项,例如,分组的入站接口。
被配置为由网络装置50执行的应用程序确定将由分组处理器90应用于分组的一个或一个以上控制处理操作。在网络装置50中,应用程序包括服务/隧道颜色单元72。应用程序可以配置分组处理器90,以通过向转发单元80发送表示控制处理操作的数据来执行控制处理操作。这种数据可以包括表示高级分组处理要求(例如,路由查找和过滤)的转发路径元件。控制处理操作可以包括基本的分组转发操作(例如,输入分组处理、路由查找和输出分组处理)以及服务功能,例如,分组过滤或访问控制、统计采样、流量监管、速率限制和计费。
图3是示出根据本公开的一种或一种以上技术的用于转发分组的示例操作的流程图。参考图1的第一网络装置20、服务主机装置22、第二网络装置30、客户边缘装置32和隧道42、44、46来描述图3。然而,图3的技术可以由网络系统2的不同组件或者由额外或可选装置来执行。
网络系统2可以被配置为从服务主机装置22向客户边缘装置32传送一个或一个以上服务。例如,“服务”可以包括视频流、电子邮件消息、在线浏览或从一方到另一方的其他数据传输。例如,流式传输视频的用户装置可以从提供商边缘装置接收分组序列。分组序列中的每个分组可以包括用户装置流式传输视频所需的一部分数据。包括单个视频数据的分组序列可以包括大量分组。以这种方式,网络系统2以有效的方式转发分组序列,使得分组序列在较短的时间内到达目的地(例如,用户装置),这可以是有益的。图3的示例操作可以改进网络系统2在不执行图3的示例操作的情况下通过网络系统转发分组的方式转发分组的方式。
如图3所示,服务主机装置22发送包括分组报头的分组(302)。例如,服务主机装置22的提供商边缘装置(例如,服务主机装置22A)可以发送分组。该分组可以与服务相关联,并且可以在分组报头中指示该服务。例如,分组报头可以包括指示与分组相关联的服务的一组比特。另外或可选地,分组报头可以包括指示与分组报头相关联的服务颜色的一组比特,其中,服务颜色与一个服务或一组服务相关联。第一网络装置20接收包括分组报头的分组(304)。第一网络装置20解析分组报头,以确定与分组所表示的服务相关联的服务颜色(306)。在一些示例中,第一网络装置20解析分组报头,该报头包括识别分配给分组的服务颜色的一组比特。在一些示例中,第一网络装置20解析包括识别分配给分组的服务的一组比特的分组报头,并且第一网络装置20执行查找分配给分组的服务颜色的动作。例如,第一网络装置可以存储服务列表,其中,服务列表识别与服务列表上的每个服务相关联的一种或一种以上服务颜色。
第一网络装置20选择用于转发分组的隧道(308)。在一些示例中,第一网络装置20基于存储在第一网络装置20的存储器中的隧道层次结构来选择隧道。隧道层次结构可以将一种或一种以上服务颜色链接到一种或一种以上隧道颜色,使得一种或一种以上服务颜色中的每种服务颜色都链接到一组隧道颜色。每组相应隧道颜色可以表示隧道颜色的层次结构,使得链接到服务颜色的隧道颜色组表示隧道颜色的等级。隧道42、44和46中的每个隧道可以与隧道颜色相关联。第一网络装置20可以包括指示与隧道列表中的每个隧道相关联的一种或一种以上隧道颜色的隧道列表。以这种方式,第一网络装置20可以基于指示与每个隧道相关联的隧道颜色的隧道列表以及将与分组相关联的服务颜色链接到一组隧道颜色的隧道层次结构来选择转发分组的隧道。第一网络装置20经由第一网络装置20选择的隧道将分组转发到第二网络装置30(310)。第二网络装置30接收分组(312),并解析分组的分组报头,以确定目的地装置(314)。例如,分组报头可以包括识别分组的目的地装置的一组比特,例如,客户边缘装置32中的一个客户边缘装置。第二网络装置30将分组转发到目的地装置(316),并且客户边缘装置32的相应客户边缘装置接收分组(318)。
虽然图3的示例操作包括从服务主机装置22到客户边缘装置32的网络流量流,但是其他示例操作可以包括从客户边缘装置32到服务主机装置22的网络流量流。第一网络装置20可以被配置为执行被描述为由第二网络装置30执行的一个或一个以上操作。第二网络装置30可以被配置为执行被描述为由第一网络装置20执行的一个或一个以上操作。
尽管被描述为发起分组并将分组从服务主机装置22转发到CE装置32,但是该技术的各个方面可以利用从CE装置32接收并由第二网络装置30经由隧道42、44和/或46转发到第一网络装置20以传送到服务主机装置22的分组来执行。此外,尽管针对服务主机装置22进行了描述,但是可以执行这些技术的各个方面,以将分组传送到CE装置(其连接到第一网络装置20)或CE装置和服务主机装置的组合,并且从其中接收分组。同样,一个或一个以上CE装置32可以被耦接到第二网络装置30的服务主机装置代替,服务主机装置提供可由耦接到第一网络装置20的CE装置访问的各种服务。
图4是示出根据本公开的一种或一种以上技术的用于选择转发分组的隧道的示例操作的流程图。相对于图1的第一网络装置20、服务主机装置22、第二网络装置30、客户边缘装置32和隧道42、44、46来描述图4。然而,图4的技术可以由网络系统2的不同组件或者由附加或可选装置来执行。在一些示例中,图4所示的示例操作可以表示用于执行图3步骤“选择用于转发分组的隧道”的示例操作(框308)。
在一些示例中,一组隧道(例如,隧道42、44、46)可以传送第一网络装置20和第二网络装置30之间的网络流量。隧道42、44、46可以包括两个或多个隧道。以这种方式,分组可以在第一网络装置20和第二网络装置30之间传播的路径可以不止一条。隧道传送分组的方式类似于管道传送水的方式。例如,隧道可以传送分组的速率可以被限制为最大分组传输速率。这样,如果一个以上的隧道连接一对节点,则控制通过一个以上的隧道上转发哪些分组,以便在这对节点之间有效地传输网络流量,这可以是有益的。例如,控制分组流,使得每个隧道上的分组流速率接近相应隧道上的分组流最大速率,这可以是有益的。控制连接相同两个节点的一组隧道上的分组流的一种方法是基于与分组相关联的一个或一个以上服务,通过这组隧道转发分组。此外,平衡通过这组隧道发送的分组负载可以是有益的。
在接收到包括分组报头的分组之后,第一网络装置20可以解析分组报头,以确定与分组相关联的服务颜色。随后,第一网络装置20可以基于隧道层次结构识别链接到服务颜色的第一组隧道(402)。隧道层次结构可以将一组隧道链接到服务颜色,第一组隧道是这组隧道的一部分。在一些示例中,第一组隧道与第一隧道颜色相关联,其中,第一隧道颜色链接到隧道层次结构中的服务颜色。在一些示例中,第一组隧道表示初级的一组隧道。对于转发与服务颜色相关联的分组,初级隧道集可以比其他隧道更优选。在一些示例中,第一组隧道可以包括隧道42。在这样的示例中,隧道42对于转发与服务颜色相关联的分组可以比隧道44和隧道46更优选。第一网络装置20可以确定是否激活第一组隧道中的至少一个隧道(404)。如果第一网络装置20确定激活第一组隧道中的至少一个隧道(框404的“是”分支),则第一网络装置20可以选择处于在线状态的第一组隧道中的隧道(406),并通过隧道将分组转发到第二网络装置30(408)。在一些示例中,第一网络装置20选择隧道,以便在第一组隧道的在线隧道上负载平衡网络流量。
如果第一网络装置20确定第一组隧道中没有隧道处于在线状态(框404的“否”分支),则第一网络装置20可以基于隧道层次结构识别链接到服务颜色的第二组隧道(410)。第二组隧道可以是隧道层次结构中链接到服务颜色的这组隧道的一部分。在一些示例中,第二组隧道与第二隧道颜色相关联,其中,第二隧道颜色链接到隧道层次结构中的服务颜色。在一些示例中,第二组隧道表示二级的一组隧道或者备用一组隧道。对于转发与服务颜色相关联的分组,二级的一组隧道可以不如初级的一组隧道优选。然而,对于转发与服务颜色相关联的分组,二级的一组隧道可以比三级的一组隧道或隧道42、44、46中不与隧道层次结构中的服务颜色相关联的其他隧道更优选。在一些示例中,第二组隧道可以包括隧道44。在这样的示例中,对于转发与服务颜色相关联的分组,隧道44可以比隧道46更优选,但是对于转发分组,不如隧道42优选。第一网络装置20可以确定是否激活第二组隧道中的至少一个隧道(412)。如果第一网络装置20确定激活第二组隧道中的至少一个隧道(框412的“是”分支),则第一网络装置20可以选择处于在线状态的第二组隧道中的隧道(414),并通过隧道将分组转发到第二网络装置30(416)。在一些示例中,第一网络装置20选择隧道,以便通过第二组隧道的在线隧道负载平衡网络流量。
在一些示例中,如果第一网络装置20确定第二组隧道中没有隧道处于在线状态(框412的“否”分支),则第一网络装置20可以基于隧道层次结构识别链接到服务颜色的第三组隧道(410)。第三组隧道可以是隧道层次结构中链接到服务颜色的这组隧道的一部分。在一些示例中,第三组隧道与第三隧道颜色相关联,其中,第三隧道颜色链接到隧道层次结构中的服务颜色。在一些示例中,第三组隧道表示三级的一组隧道(例如,备用一组隧道)。对于转发与服务颜色相关联的分组,三级的一组隧道可以不如初级的一组隧道和二级的一组隧道优选。然而,对于转发与服务颜色相关联的分组,三级的一组隧道可以比连接第一网络装置20和第二网络装置30的隧道更优选,第一网络装置20和第二网络装置30在隧道层次结构中没有链接到服务颜色。在一些示例中,第三组隧道可以包括隧道46。在这样的示例中,对于转发分组,隧道46可以不如隧道42和隧道44优选。第一网络装置20可以确定是否激活第三组隧道中的至少一个隧道(420)。如果第一网络装置20确定激活第三组隧道中的至少一个隧道(框420的“是”分支),则第一网络装置20可以选择处于在线状态的第三组隧道中的隧道(422),并通过隧道将分组转发到第二网络装置30(424)。在一些示例中,第一网络装置20选择隧道,以便通过第三组隧道的在线隧道负载平衡网络流量。如果第一网络装置20确定第三组隧道中没有隧道处于在线状态(框420的“否”分支),则第一网络装置20可以通过图1中未示出的另一隧道将分组转发到第二网络装置30。在一些示例中,隧道层次结构倾向多于三种或少于三种隧道颜色作为服务颜色。
本文描述的技术可以用硬件、软件、固件或其任意组合来实现。被描述为模块、单元或组件的各种特征可以一起在集成逻辑装置中实现,或者单独作为分立但可互操作的逻辑装置或其他硬件装置实现。在一些情况下,电子电路的各种特征可以实现为一个或一个以上集成电路装置,例如,集成电路芯片或芯片组。
如果以硬件中实现,则本公开可以涉及诸如处理器或集成电路装置(例如,集成电路芯片或芯片组)的设备。可选地或另外,如果以软件或固件实现,则这些技术可以至少部分地由包括指令的计算机可读数据存储介质来实现,该指令在被执行时使得处理器执行一种或一种以上上述方法。例如,计算机可读数据存储介质可以存储由处理器执行的这些指令。
计算机可读介质可以形成计算机程序产品的一部分,该计算机程序产品可以包括包装材料。计算机可读介质可以包括计算机数据存储介质,例如,RAM、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、EEPROM、闪存、磁或光数据存储介质等。在一些示例中,制品可以包括一个或一个以上计算机可读存储介质。
在一些示例中,计算机可读存储介质可以包括非暂时性介质。术语“非暂时性”可以表示存储介质没有包含在载波或传播信号中。在某些示例中,非暂时性存储介质可以存储随时间变化的数据(例如,在RAM或高速缓存中)。
代码或指令可以是由处理电路执行的软件和/或固件,该处理电路包括一个或一个以上处理器,例如,一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他等效的集成或分立逻辑电路。因此,本文使用的术语“处理器”可以指任何前述结构或任何其他适合于实现本文描述的技术的结构。此外,在一些方面,可以在软件模块或硬件模块内提供本公开中描述的功能。
Claims (20)
1.一种网络装置,包括:
控制单元;
转发单元,包括:
转发管理器,所述转发管理器包括被配置为存储隧道层次结构的服务器;以及
分组处理器,所述分组处理器被配置为经由一组接口卡中的一接口卡接收分组,所述分组包括指示对应于所述分组的服务的分组报头,其中,所述转发管理器被配置为:
解析所述分组报头,以便识别对应于所述分组的所述服务,
其中,所述服务与服务颜色相关联;
基于所述隧道层次结构,识别一组隧道,其中,所述一组隧道中的每个隧道与隧道颜色相关联,所述隧道层次结构将所述隧道颜色表示为对应于所述服务颜色的初级隧道颜色;
确定与所述隧道颜色相关联的所述一组隧道中的至少一个隧道是否处于在线状态;并且
基于与所述隧道颜色相关联的所述一组隧道中的至少一个隧道是否处于在线状态的确定,经由所述一组隧道中的一个隧道转发所述分组。
2.根据权利要求1所述的网络装置,其中,如果所述转发管理器确定与第一隧道颜色相关联的所述一组隧道中的至少一个隧道处于在线状态,则所述转发管理器还被配置为:
选择所述一组隧道中的所述至少一个隧道的隧道来转发所述分组,其中,所述分组处理器还被配置为:
将所述分组转发到所述隧道。
3.根据权利要求1所述的网络装置,其中,所述一组隧道是第一组隧道,其中,所述隧道颜色是第一隧道颜色,并且其中,如果所述转发管理器确定与所述第一隧道颜色相关联的所述一组隧道中没有隧道处于在线状态,则所述转发管理器还被配置为:
基于所述隧道层次结构识别第二组隧道,其中,所述第二组隧道中的每个隧道与第二隧道颜色相关联,所述隧道层次结构将所述第二隧道颜色表示为对应于所述服务颜色的二级隧道颜色;并且
确定与所述第二隧道颜色相关联的所述第二组隧道中的至少一个隧道是否处于在线状态。
4.根据权利要求3所述的网络装置,其中,所述初级隧道颜色识别与第一隧道类型相关联的隧道,并且所述二级隧道颜色识别与第二隧道类型相关联的隧道,其中,所述第一隧道类型不同于所述第二隧道类型。
5.根据权利要求3所述的网络装置,其中,如果所述转发管理器确定与所述第二隧道颜色相关联的所述第二组隧道中的至少一个隧道处于在线状态,则所述转发管理器还被配置为:
选择所述第二组隧道中的所述至少一个隧道的隧道来转发所述分组,其中,所述分组处理器还被配置为:
将所述分组转发到所述隧道。
6.根据权利要求3所述的网络装置,其中,如果所述转发管理器确定与所述第二隧道颜色相关联的所述第二组隧道中没有隧道处于在线状态,则所述转发管理器还被配置为:
基于所述隧道层次结构,识别第三组隧道,其中,所述第三组隧道中的每个隧道与第三隧道颜色相关联,所述隧道层次结构将所述第三隧道颜色表示为对应于所述服务颜色的三级隧道颜色;并且
确定与所述第三隧道颜色相关联的所述第三组隧道中的至少一个隧道是否处于在线状态。
7.根据权利要求6所述的网络装置,其中,如果所述转发管理器确定与所述第三隧道颜色相关联的所述第三组隧道中的至少一个隧道处于在线状态,则所述转发管理器还被配置为:
选择所述第三组隧道中的所述至少一个隧道的隧道来转发所述分组,其中,所述分组处理器还被配置为:
将所述分组转发到所述隧道。
8.根据权利要求1所述的网络装置,其中,所述控制单元被配置为:
从控制器接收指示隧道层次组件的信息,所述隧道层次组件包括至少一种隧道颜色和所述服务颜色之间的关联;并且
向所述转发管理器发送指示所述隧道层次组件的信息。
9.根据权利要求8所述的网络装置,其中,所述转发管理器包括服务器,并且其中,所述转发管理器被配置为:
基于指示所述隧道层次组件的信息,修改所述隧道层次结构,以包括所述至少一种隧道颜色和所述服务颜色之间的关联;并且
将所述隧道层次结构存储在所述服务器中。
10.根据权利要求1所述的网络装置,其中,所述一组隧道中的每个隧道将所述转发单元连接到装置。
11.根据权利要求1所述的网络装置,其中,所述控制单元被配置为:
接收包括设置所述一组隧道中的至少一个隧道的颜色的指令的信息;并且
将包括设置所述一组隧道中的所述至少一个隧道的所述颜色的所述指令的所述信息发送到所述转发单元,其中,所述转发管理器被配置为:
设置所述一组隧道中的所述至少一个隧道的所述颜色。
12.一种方法,包括:
由转发单元的分组处理器经由一组接口卡中的一接口卡接收分组,所述分组包括指示对应于所述分组的服务的分组报头;
由所述转发单元的转发管理器解析所述分组报头,以便识别对应于所述分组的所述服务,其中,所述服务与服务颜色相关联;
由所述转发管理器基于存储在所述转发管理器的服务器中的隧道层次结构来识别一组隧道,其中,所述一组隧道中的每个隧道与隧道颜色相关联,所述隧道层次结构将所述隧道颜色表示为对应于所述服务颜色的初级隧道颜色;
由所述转发管理器确定与所述隧道颜色相关联的所述一组隧道中的至少一个隧道是否处于在线状态;并且
由所述分组处理器基于与所述隧道颜色相关联的所述一组隧道中的至少一个隧道是否处于在线状态的确定,经由所述一组隧道中的一个隧道转发所述分组。
13.根据权利要求12所述的方法,其中,响应于确定与所述第一隧道颜色相关联的所述一组隧道中的至少一个隧道处于在线状态,所述方法还包括:
由所述转发管理器选择所述一组隧道中的所述至少一个隧道的隧道来转发所述分组;并且
由所述分组处理器将所述分组转发到所述隧道。
14.根据权利要求12所述的方法,其中,所述一组隧道是第一组隧道,其中,所述隧道颜色是第一隧道颜色,并且其中,响应于确定与所述第一隧道颜色相关联的所述一组隧道中没有隧道处于在线状态,所述方法还包括:
由所述转发管理器基于所述隧道层次结构识别第二组隧道,其中,所述第二组隧道中的每个隧道与第二隧道颜色相关联,所述隧道层次结构将所述第二隧道颜色表示为对应于所述服务颜色的二级隧道颜色;并且
由所述转发管理器确定与所述第二隧道颜色相关联的所述第二组隧道中的至少一个隧道是否处于在线状态。
15.根据权利要求14所述的方法,其中,响应于确定与所述第二隧道颜色相关联的所述第二组隧道中的至少一个隧道处于在线状态,所述方法还包括:
由所述转发管理器选择所述第二组隧道中的所述至少一个隧道的隧道来转发所述分组;并且
由所述分组处理器将所述分组转发到所述隧道。
16.根据权利要求14所述的方法,其中,响应于确定与所述第二隧道颜色相关联的所述第二组隧道中没有隧道处于在线状态,所述方法还包括:
由所述转发管理器基于所述隧道层次结构识别第三组隧道,其中,所述第三组隧道中的每个隧道与第三隧道颜色相关联,所述隧道层次结构将所述第三隧道颜色表示为对应于所述服务颜色的三级隧道颜色;并且
由所述转发管理器确定与所述第三隧道颜色相关联的所述第三组隧道中的至少一个隧道是否处于在线状态。
17.根据权利要求16所述的方法,其中,响应于确定与所述第三隧道颜色相关联的所述第三组隧道中的所述至少一个隧道处于在线状态,所述方法还包括:
由所述转发管理器选择所述第三组隧道中的所述至少一个隧道的隧道来转发所述分组;并且
由所述分组处理器将所述分组转发到所述隧道。
18.根据权利要求12所述的方法,其中,所述方法还包括:
由所述控制单元从控制器接收指示隧道层次组件的信息,所述隧道层次组件包括至少一种隧道颜色和所述服务颜色之间的关联;并且
由所述控制单元向所述转发管理器发送指示所述隧道层次组件的信息。
19.根据权利要求18所述的方法,其中,所述转发管理器包括服务器,并且其中,所述方法还包括:
由所述转发管理器基于指示所述隧道层次组件的所述信息修改所述隧道层次结构,以包括至所述少一种隧道颜色和所述服务颜色之间的关联;并且
由所述转发管理器将所述隧道层次结构存储在所述服务器中。
20.一种非暂时性计算机可读介质,包括指令,所述指令用于使网络装置的一个或一个以上可编程处理器执行以下步骤:
由转发单元的分组处理器经由一组接口卡中的一接口卡接收分组,所述分组包括指示对应于所述分组的服务的分组报头;
由所述转发单元的转发管理器解析所述分组报头,以便识别对应于所述分组的所述服务,其中,所述服务与服务颜色相关联;
由所述转发管理器基于存储在所述转发管理器的服务器中的隧道层次结构来识别一组隧道,其中,所述一组隧道中的每个隧道与隧道颜色相关联,所述隧道层次结构将所述隧道颜色表示为对应于服务颜色的初级隧道颜色;
由所述转发管理器确定与所述隧道颜色相关联的所述一组隧道中的至少一个隧道是否处于在线状态;并且
由所述分组处理器基于与所述隧道颜色相关联的所述一组隧道中的至少一个隧道是否处于在线状态的确定,经由所述一组隧道中的一个隧道转发所述分组。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/588,387 US11190461B2 (en) | 2019-09-30 | 2019-09-30 | Mapping services to tunnels in order to forward packets using a network device |
US16/588,387 | 2019-09-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112583689A true CN112583689A (zh) | 2021-03-30 |
CN112583689B CN112583689B (zh) | 2022-08-19 |
Family
ID=68944248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911319181.3A Active CN112583689B (zh) | 2019-09-30 | 2019-12-19 | 将服务映射到隧道以便使用网络装置转发分组 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11190461B2 (zh) |
EP (1) | EP3799366A1 (zh) |
CN (1) | CN112583689B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112788637A (zh) * | 2020-06-29 | 2021-05-11 | 中兴通讯股份有限公司 | 隧道保护方法、边缘路由器和计算机可读介质 |
CN113726655A (zh) * | 2021-08-30 | 2021-11-30 | 新华三信息安全技术有限公司 | 一种报文引流方法、装置、头端设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150146536A1 (en) * | 2013-11-25 | 2015-05-28 | Juniper Networks, Inc. | Automatic traffic mapping for multi-protocol label switching networks |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1488332A4 (en) * | 2002-03-11 | 2005-12-07 | Seabridge Ltd | COLLECTION OF PPP MEETINGS WITH DYNAMIC SERVICE AWARENESS VIA VARIABLE NETWORK TUNNEL |
US7478167B2 (en) | 2002-03-18 | 2009-01-13 | Nortel Networks Limited | Resource allocation using an auto-discovery mechanism for provider-provisioned layer-2 and layer-3 virtual private networks |
US7826367B2 (en) * | 2007-06-28 | 2010-11-02 | Verizon Patent And Licensing Inc. | Systems and methods for protecting a trunk with multiple trunks |
CN101616051B (zh) | 2008-06-27 | 2011-09-14 | 华为技术有限公司 | 创建伪线的方法及装置 |
US8064443B2 (en) | 2009-05-11 | 2011-11-22 | Juniper Networks, Inc. | Scalable routing policy construction using dynamic redefinition of routing preference value |
US10237165B2 (en) * | 2016-06-13 | 2019-03-19 | Jason Dixon | Data traffic management system and method |
-
2019
- 2019-09-30 US US16/588,387 patent/US11190461B2/en active Active
- 2019-12-17 EP EP19217036.3A patent/EP3799366A1/en active Pending
- 2019-12-19 CN CN201911319181.3A patent/CN112583689B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150146536A1 (en) * | 2013-11-25 | 2015-05-28 | Juniper Networks, Inc. | Automatic traffic mapping for multi-protocol label switching networks |
Non-Patent Citations (1)
Title |
---|
YIMIN SHEN 等: ""BGP Flexible Color-Based Tunnel Selection draft-shen-idr-flexible-color-tunnel-selection-00"", 《INTERNET-DRAFT: INTERNET ENGINEERING TASK FORCE, INTERNET ENGINEERING TASK FORCE, IETF;STANDARDWORKIN》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112788637A (zh) * | 2020-06-29 | 2021-05-11 | 中兴通讯股份有限公司 | 隧道保护方法、边缘路由器和计算机可读介质 |
CN113726655A (zh) * | 2021-08-30 | 2021-11-30 | 新华三信息安全技术有限公司 | 一种报文引流方法、装置、头端设备及存储介质 |
CN113726655B (zh) * | 2021-08-30 | 2022-09-20 | 新华三信息安全技术有限公司 | 一种报文引流方法、装置、头端设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3799366A1 (en) | 2021-03-31 |
CN112583689B (zh) | 2022-08-19 |
US11190461B2 (en) | 2021-11-30 |
US20210099401A1 (en) | 2021-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11444864B2 (en) | Optimized datapath troubleshooting with trace policy engine | |
CN109863725B (zh) | 基于最大分段标识符深度的分段路由方法及电子设备 | |
US10523456B2 (en) | Multipoint to multipoint trees for computed spring multicast | |
US11115328B2 (en) | Efficient troubleshooting in openflow switches | |
US11159421B2 (en) | Routing table selection in a policy based routing system | |
EP3821338A1 (en) | Mechanism for hitless resynchronization during sdn controller upgrades between incompatible versions | |
US9521458B2 (en) | IPTV targeted messages | |
WO2017037615A1 (en) | A method and apparatus for modifying forwarding states in a network device of a software defined network | |
EP3834365B1 (en) | Multicast distribution tree versioning for minimizing multicast group traffic disruption | |
US20150363423A1 (en) | Method and system for parallel data replication in a distributed file system | |
WO2017089917A1 (en) | Method and system for completing loosely specified mdts | |
US10069763B2 (en) | Method to establish a non-disruptive communications path between multiple devices | |
EP3032782B1 (en) | Packet transmission method and apparatus | |
CN112583689B (zh) | 将服务映射到隧道以便使用网络装置转发分组 | |
US10749702B2 (en) | Multicast service translation in internet protocol television systems | |
CN113328934A (zh) | 用于将服务映射到隧道的基于服务的传输类别 | |
US20220311703A1 (en) | Controller watch port for robust software defined networking (sdn) system operation | |
WO2018158615A1 (en) | Method and apparatus for enabling the creation of a point-to-multipoint label switched path multicast distribution tree for a given ip multicast stream | |
US11218406B2 (en) | Optimized datapath troubleshooting | |
EP3857347A1 (en) | Storage resource controller in a 5g network system |
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 |