CN115412492A - 由架顶式交换机针对裸金属服务器的策略实施 - Google Patents
由架顶式交换机针对裸金属服务器的策略实施 Download PDFInfo
- Publication number
- CN115412492A CN115412492A CN202210556987.XA CN202210556987A CN115412492A CN 115412492 A CN115412492 A CN 115412492A CN 202210556987 A CN202210556987 A CN 202210556987A CN 115412492 A CN115412492 A CN 115412492A
- Authority
- CN
- China
- Prior art keywords
- packet
- source identifier
- identifier value
- source
- vxlan
- 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.)
- Pending
Links
- 239000002184 metal Substances 0.000 title description 5
- 238000000034 method Methods 0.000 claims abstract description 88
- 238000003860 storage Methods 0.000 claims description 12
- 238000013506 data mapping Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 description 28
- 238000011161 development Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 16
- 239000004744 fabric Substances 0.000 description 14
- 238000004519 manufacturing process Methods 0.000 description 12
- 238000013507 mapping Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 11
- 238000004088 simulation Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 230000005641 tunneling Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000032258 transport Effects 0.000 description 3
- 230000020169 heat generation Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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
- 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
- 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/56—Routing software
- H04L45/566—Routing instructions carried by the data packet, e.g. active networks
-
- 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/58—Association of routers
- H04L45/586—Association of routers of virtual routers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/354—Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- 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/74—Address processing for routing
Abstract
本公开涉及一种将策略应用于分组的方法和设备。多个交换机可以根据主干和叶拓扑来而被布置,其中每个主干交换机连接到所有叶交换机。一种叶交换机包括:存储器,被配置为存储多个策略,多个策略中的每个策略与相应的源标识符值和相应的目的地地址相关联;网络接口,通信地耦合到主干交换机中的一个主干交换机;以及处理器,在电路中实现并且被配置为:经由网络接口从主干交换机接收分组,分组被封装有虚拟可扩展局域网VXLAN报头;从VXLAN报头提取源标识符值;确定针对分组的目的地地址;根据源标识符值和目的地地址确定多个策略中要应用于分组的策略;并且将策略应用于分组。
Description
本申请要求2021年6月30日提交的美国专利申请号17/305,117和2021年5月28日提交的美国临时专利申请号63/194,724的权益,其全部内容通过引用并入本文。
技术领域
本公开涉及计算机网络,更具体地,涉及用于计算机网络的策略管理。
背景技术
虚拟数据中心正在成为现代信息技术(IT)基础设施的核心基础。具体地,现代数据中心已经广泛地利用了虚拟环境,其中在物理计算设备的底层计算平台上部署和执行虚拟主机,诸如虚拟机或容器。
具有大规模数据中心的虚拟化可以提供若干优势。其中一项优势是,虚拟化可以显著提高效率。随着每个物理CPU具有大量核的多核微处理器体系结构的出现,底层物理计算设备(即服务器)变得越来越强大,虚拟化变得更容易和更高效。第二项优势是,虚拟化提供了对基础设施的重要控制。随着物理计算资源成为可取代的资源,诸如在基于云的计算环境中,计算基础设施的配置和管理变得更加容易。因此,企业IT员工通常更喜欢数据中心中的虚拟计算集群,因为它们的管理优势以及虚拟化提供的效率和更高的投资回报(ROI)。
发明内容
一般而言,本公开描述了用于确定策略以应用于由根据例如主干和叶拓扑布置的交换机集合中的出口叶交换机接收的分组的技术。主干和叶拓扑的交换机也可以被称为机箱交换机(主干交换机)和架顶式(TOR)交换机(叶交换机)。该拓扑的叶交换机可以在三元内容可寻址存储器(TCAM)中存储用于确定要应用于从主干和叶拓扑输出的分组的策略的数据。通常,TCAM价格昂贵,并且针对交换机消耗大量功率。本公开的技术可以被用以减少在叶交换机中存储策略所需的TCAM的数量。
具体地,本公开的技术包括存储从源标识符(本文也称为“源标签”)和目的地地址到策略的映射,而不是存储从硬件源端口到策略的映射,通过该硬件源端口入口交换机设备接收分组和用于该分组的目的地地址。源标识符可以表示应用的类别,其中可以存在相对较少数目的类别。例如,类别可以包括Web、应用和数据库。可以将相对大量的源端口映射到每个类别,其中在应用和源端口之间可以存在直接对应。随着应用开发的进展,可以更新与该应用相关联的源端口。例如,应用可以在经由不同硬件端口耦合到入口交换机设备的不同服务器上执行。不同类别的应用可以与要应用于来自应用的分组的不同安全级别相关联。通过使用源标识符和目的地地址的组合,可以大大减少用于策略实施的叶交换机中的TCAM条目的数目,因为TCAM不需要存储将每个源端口、源地址/子网、源VLAN或其任何组合映射到策略的分开的TCAM条目。
入口叶交换机可以确定接收分组的硬件源端口,然后确定源端口映射到的源标识符。然后,入口叶交换机可以将源标识符添加到分组的虚拟可扩展局域网(VXLAN)报头,并且将分组转发到主干和叶拓扑的主干交换机。主干交换机可以进一步将分组转发到主干和叶拓扑的出口叶交换机。出口叶交换机可以配置有将源标识符和目的地地址映射到其TCAM中的策略的数据。因此,当出口叶交换机从主干交换机接收分组时,出口叶交换机可以根据VXLAN报头的源标识符和分组的目的地地址来确定要应用于分组的策略。出口叶交换机然后可以将该策略应用于该分组,例如转发该分组或丢弃该分组。
在一个示例中,一种方法包括:由根据主干和叶拓扑布置的多个交换机中的叶交换机,接收来自多个交换机中的主干交换机的分组,分组被封装有用虚拟可扩展局域网(VXLAN)报头;由叶交换机从VXLAN报头中提取源标识符值;由叶交换机确定针对分组的目的地地址;由叶交换机根据源标识符值和目的地地址确定要应用于分组的策略;以及由叶交换机将策略应用于分组。
在另一示例中,一种根据主干和叶拓扑布置的多个交换机中的叶交换机设备,叶交换机设备包括:存储器,被配置为存储多个策略,多个策略中的每个策略与相应的源标识符值和相应的目的地地址相关联;网络接口,通信地耦合到多个交换机中的主干交换机;以及处理器,在电路中实现并且被配置为:经由网络接口接收来自主干交换机的分组,分组被封装有虚拟可扩展局域网(VXLAN)报头;从VXLAN报头中提取源标识符值;确定针对分组的目的地地址;根据源标识符值和目的地地址确定多个策略中要应用于分组的策略;以及将策略应用于分组。
在另一示例中,一种计算机可读存储介质,包括指令,指令使根据主干和叶拓扑布置的多个交换机中的叶交换机设备的处理器:接收来自多个交换机中的主干交换机的分组,分组被封装有虚拟可扩展局域网(VXLAN)报头;从VXLAN报头中提取源标识符值;确定分组的目的地地址;根据源标识符值和目的地地址确定多个策略中要应用于分组的策略;以及将策略应用于分组。
在另一示例中,一种方法包括:由根据主干和叶拓扑布置的多个交换机中的叶交换机,从多个交换机的控制器设备接收将多个硬件源端口映射到源标识符值的数据;由叶交换机从与多个交换机分离的网络设备接收分组;由叶交换机确定分组被接收的叶交换机的硬件源端口;由叶交换机使用将多个源端口映射到源标识符值的数据来确定源端口被映射到源标识符值;由叶交换机将源标识符值添加到分组的VXLAN报头;以及由叶交换机将包括源标识符值的分组转发到多个交换机中的主干交换机。
在另一示例中,一种根据主干和叶拓扑布置的多个交换机中的叶交换机设备,包括存储器,被配置为存储从多个交换机的控制器设备接收的、将多个硬件源端口映射到源标识符值的数据;从与多个交换机分离的网络设备接收分组;确定分组被接收的叶交换机的硬件源端口;使用将多个源端口映射到源标识符值的数据来确定源端口被映射到源标识符值;将源标识符值添加到分组的VXLAN报头;以及将包括源标识符值的分组转发到多个交换机中的主干交换机。
在另一示例中,一种计算机可读存储介质包括指令,指令在被执行时,使根据主干和叶拓扑布置的多个交换机设备中的叶交换机设备的处理器:从多个交换机的控制器设备接收将多个硬件源端口映射到源标识符值的数据;从与多个交换机分离的网络设备接收分组;确定分组被接收的叶交换机的硬件源端口;使用将多个源端口映射到源标识符值的数据来确定源端口被映射到源标识符值;将源标识符值添加到分组的VXLAN报头;以及将包括源标识符值的分组转发到多个交换机中的主干交换机。
一个或多个示例的细节在附图和下面的描述中阐述。其他特征、目的和优势将从说明书和附图以及权利要求书中显而易见。
附图说明
图1是示出了具有数据中心的示例网络的框图,在其中可以实现本文描述的技术的示例。
图2是更详细地示出了图1的数据中心的示例实现的框图。
图3是示出了多个数据中心的示例的框图,在其中可以实现本文描述的技术的示例。
图4是示出了根据本公开的技术的示例网络交换机设备的框图。
图5A是示出虚拟可扩展局域网(VXLAN)报头的概念图,而图5B和图5C是示出了根据本公开的技术的各种示例的包括源标签(源标识符)的示例VXLAN报头的概念图。
图6是示出了根据本公开的技术,将源标签(标识符)添加到接收到的分组的示例方法的流程图。
图7是示出了根据本公开的技术,根据分组的源标识符和目的地地址将策略应用于分组的示例方法的流程图。
具体实施方式
图1是示出了示例网络系统的框图,在其中可以实现本文描述的技术的示例。图1的示例中的网络系统2包括经由服务提供方网络7彼此互连并且与客户11相关联的客户网络互连的数据中心10A-10X(统称为数据中心10)。通常,每个数据中心10为通过服务提供方网络7耦合到数据中心的客户11提供应用和服务的操作环境。数据中心10可以例如托管基础设施设备,诸如联网和存储系统、冗余电源和环境控制。服务提供方网络7可以耦合到由其他提供方管理的一个或多个网络,并且因此可以形成大规模公共网络基础设施的一部分,例如互联网。
在一些示例中,每个数据中心10可以表示许多地理上分布的网络数据中心中的一个数据中心。如图1的示例所示,每个数据中心10可以表示为客户11提供网络服务的设施。客户11可以是诸如企业和政府或个人的集体类别。例如,网络数据中心可以为若干企业和最终用户托管web服务。其他示例性服务可以包括数据存储、虚拟专用网络、业务工程、文件服务、数据挖掘、科学计算或超级计算等。在一些实施例中,每个数据中心10可以是个体网络服务器、网络对等体或其他。
在该示例中,每个数据中心10包括经由高速交换结构14互连的存储系统和应用服务器12A-12X(本文称为“服务器12”)的集合,高速交换结构14由一层或多层物理网络交换机和路由器提供。交换结构14由耦合到机箱交换机18A-18M(统称为“机箱交换机18”)的分布层的互连架顶式(TOR)交换机16A-16Z(统称为“TOR交换机16”)的集合提供。交换结构14可以被配置为,并且备选地被称为,主干和叶拓扑,其中TOR交换机16可以表示叶交换机,而机箱交换机18可以表示主干交换机。尽管未示出,但是每个数据中心10还可以包括例如一个或多个非边缘交换机、路由器、集线器、网关、诸如防火墙的安全设备、入侵检测和/或入侵防御设备、服务器、计算机终端、膝上型计算机、打印机、数据库、诸如蜂窝电话或个人数字助理的无线移动设备、无线接入点、网桥、电缆调制解调器、应用加速器或其他网络设备。
在该示例中,TOR交换机16和机箱交换机18向服务器12提供到IP结构20和服务提供方网络7的冗余(多宿)连接性。机箱交换机18聚集业务流并且在TOR交换机16之间提供高速连接性。TOR交换机16可以是提供层二(例如,MAC)和/或层3(例如,IP)路由和/或交换功能的网络设备。TOR交换机16和机箱交换机18可以各自包括一个或多个处理器和存储器,并且能够执行一个或多个软件过程。机箱交换机18耦合到IP结构20,IP结构20执行层3路由,以通过服务提供方网络7在数据中心10和客户11之间路由网络业务。
根据本公开的一项或多项技术,虚拟网络控制器22(“VNC”)提供逻辑上以及在某些情况下物理上集中的控制器,用于促进每个数据中心10(诸如数据中心10A)内的一个或多个虚拟网络的操作。在一些示例中,虚拟网络控制器22可以响应于从网络管理员24接收的配置输入而操作。关于与数据中心10A的其他设备或其他软件定义网络结合操作的虚拟网络控制器22的附加信息可以在2013年6月5日提交的题为“PHYSICAL PATHDETERMINATION FOR VIRTUAL NETWORK PACKET FLOWS”(用于虚拟网络分组流的物理路径确定)的国际申请号PCT/US2013/044378中找到,其通过引用并入本文,如同本文完全阐述一样。
在一些示例中,任意两个网络设备之间的业务,诸如在IP结构20(未示出)内的网络设备之间、服务器12和客户11之间、或服务器12之间,例如可以使用许多不同的路径穿越物理网络。可以通过在分组的报头中使用的五个值(或“五元组”)来定义分组流(或“流”),即,用于通过物理网络来路由分组的协议、源IP地址、目的地IP地址、源端口和目的地端口。例如,协议规定了通信协议,诸如TCP或UDP,并且源端口和目的地端口指的是连接的源端口和目的地端口。
包括指定特定五元组的分组报头的一个或多个分组数据单元(PDU)的集合表示流。可以使用PDU的任何参数对流进行广泛分类,诸如源和目的地数据链路(例如,MAC)和网络(例如,IP)地址、虚拟局域网(VLAN)标签、传输层信息、多协议标签交换(MPLS)或通用MPLS(GMPLS)标签、以及接收流的网络设备的入口端口。例如,流可以是在传输控制协议(TCP)连接中传输的所有PDU、源自特定MAC地址或IP地址的所有PDU、具有相同VLAN标签的所有PDU或在相同交换机端口处接收的所有PDU。流可以附加地或备选地由应用标识符(AppID)来定义,应用标识符由虚拟路由器代理或其他实体确定,该虚拟路由器代理或其他实体例如使用端口和协议列表或深度分组检测(DPI)来标识与流相关联的服务或应用的类型,因为该流传输针对该服务或应用的类型的应用数据。
在一些示例中,每个数据中心10可以根据特定环境的需要而在不同的计算环境中实现不同的策略。例如,数据中心10A的开发环境、模拟(staging)环境和生产环境可以各自对网络的各种策略具有不同的要求,诸如防火墙、网络、应用和/或全局策略。
此外,由于不同的客户要求、联网资源和配置等,跨越不同地理位置的多个数据中心10可以在其相应的内部计算环境中的每个内部计算环境内实现不同的策略。如果每个数据中心10内的每个计算环境要独立地管理其自己的策略,则管理员可能难以确保每个策略满足安全性、可靠性和质量要求。此外,如果每个数据中心内的每个计算环境要独立管理其自己的策略,则跨多个数据中心升级一个或多个策略可能会变得繁琐或无法管理。
因此,网络系统8可以实现可扩展的多维度策略框架,以支持用于控制在数据中心10的一个或多个计算环境内执行的工作负载之间的网络业务的策略的灵活应用,数据中心10可以沿着多个不同的维度分类。这些类别可以包括应用、部署、应用层、地理站点、虚拟网络、虚拟机、接口、项目、安全要求、质量要求、诸如路由器或交换机的物理设备、用户和/或合规性要求,仅举几个示例。每种类型的类别表示生成或处理数据中心10的网络业务的工作负载的维度。在一些示例中,本文描述的策略框架允许管理员24标记跨多个级别以特定维度执行或以其他方式处理工作负载的对象。
在各种示例中,策略控制器23分发包括用于项目级别对象的标签的策略规则。然而,策略控制器23可以附加地或备选地分发策略规则,该策略规则包括指定各种不同对象级别的标签,诸如全局环境级别、项目级别、虚拟网络级别、虚拟机级别或接口级别。
策略控制器23可以使用多个配置对象来实现一个或多个策略。作为一个示例,策略控制器23可以在全局级别应用第一配置对象集合。第一配置对象集合包括跨多个级别和/或类别的全局应用策略集、全局防火墙策略、全局防火墙规则和全局标签。策略控制器23将全局级别的第一配置对象集合分发给例如虚拟路由器。策略控制器23将与全局应用策略集、全局防火墙策略和全局防火墙规则相关联的全局标签与利用全局标签标记的对象进行匹配。基于全局应用策略集、全局防火墙策略和全局防火墙规则,策略控制器23允许或阻止利用全局标签标记的对象的接口之间的网络业务。接口可以是例如虚拟机接口(VMI)或交换机16、18的交换机接口。
策略控制器23可以在项目级别应用第二配置对象集合。第二策略规则集合可以包括跨多个级别的项目专用应用策略集、防火墙策略、防火墙规则和标签。策略控制器23在项目级别分发第二配置对象集合。策略控制器23将与项目专用应用策略集、防火墙策略和防火墙规则相关联的项目标签与利用项目标签标记的对象进行匹配。基于项目专用应用策略集、防火墙策略和防火墙规则,策略控制器23允许或阻止利用项目标签标记的对象的接口之间的网络业务。
在进一步的示例中,策略控制器23可以指定较低级别的配置对象,诸如在虚拟网络专用级别、虚拟机专用级别和/或接口专用级别定义的应用策略集、防火墙策略、防火墙规则和标签。通过这样做,策略控制器23可以将层级策略集合应用于一个或多个数据中心10内的多个对象。因此,本公开的技术允许在许多不同类型的部署和执行环境中分发可扩展和鲁棒的简化业务策略。在2017年11月22日提交的标题为“Scalable PolicyManagement for Virtual Networks”(用于虚拟网络的可扩展策略管理)的美国专利申请号15/819,522中可以找到附加的描述,其全部内容通过引用并入。
如本文所描述的,“标签”可以指提供根据特定值或特定值集合对对象进行分类的信息的数据结构。标签可以包括标签标识符(ID)。在一个示例中,标签映射相应对象的安全要求。标签可以是预定义的(例如,诸如针对应用、部署、应用层或地理站点的标签),或者可以在供应期间隐式分配(例如,描述被供应以支持应用的基础设施、机架、集群或数据中心的标签)。在一些示例中,将多个标签应用于单个对象(例如,可以对单个虚拟机应用“应用”和“地理站点”标签),但是该对象可以每种类型和/或类别仅具有单个标签。在进一步的示例中,用户可以定义要被用作标签的键/值对的键的“标签”,使得用户可以定制或创建他或她自己的用于标记对象的类别。此外,如本文所使用的,“标记”对象是指将对象分类到由策略规则中包括的标签指定的类别中。源标签,本文也称为源标识符,可以表示应用的类别,其中各种应用类别可以与要应用于源自该类别的应用的分组的不同级别的安全操作相关联。
策略可以按照对应于与所标记对象相对应的类别的标签,沿着多个维度来表达。然后,在托管工作负载的计算设备上执行的分布式VN代理(例如,一个或多个服务器12)可以将策略应用于作为类别成员的所标记的对象,以允许或拒绝由一个或多个维度的一个或多个类别标记的对象之间的业务流。至少在一些情况下,VN代理在一个或多个虚拟机的接口级别应用策略,以允许或阻止流向和/或来自一个或多个虚拟机的接口的网络业务。
在一些示例中,提供了边界网关协议(BGP)的扩展,用于在类别之间传递策略框架。例如,VN代理可以从作为一个示例由虚拟网络控制器22执行的策略控制器接收BGP消息,该BGP消息包括指定一个或多个策略规则的扩展社区,每个策略规则包括一个或多个标签,一个或多个标签包括对应于包括所标记的对象的类别的标签标识符(其从键/值对转换而来)。此外,一个或多个策略规则中的每个策略规则可以指定是允许还是阻止由一个或多个标签标记的对象之间的网络业务。关于BGP扩展社区的实现的附加信息在2006年2月,互联网工程任务组(IETF)的RFC4360“BGP Extended Communities Attribute”(BGP扩展社区属性)中进行了描述,其可从https://tools.ietf.org/rfc/rfc4360获得,其全部内容通过引用并入本文。
在这方面,可以在多个数据中心10内以潜在地降低复杂性并简化多个数据中心10内的这种策略的管理的方式,实现跨不同环境的策略的可扩展部署。关于策略分发的更多信息可以在上述2017年11月21日提交的美国专利申请序列号15/819,522、标题为“Scalable Policy Management for Virtual Networks”(用于虚拟网络的可扩展策略管理)中找到。
然而,可扩展策略部署可能无法适应数据中心和其他网络中存在的所有各种环境。如图1的示例中进一步示出的,交换结构14可以包括与被称为裸金属服务器(“BMS”)28相接口的附加TOR交换机16A-16Z。BMS 28可以表示专供单个客户使用的服务器,该服务器也可以被称为“单租户服务器”。与服务器12不同,在服务器12中,多个客户(或者,再一次地,换言之为“租户”)可以与相同的物理硬件(即,服务器12)交互,以与其单独分配的虚拟路由器相接口,而BMS 28仅专供单个客户使用。
BMS 28可以提供专用硬件以用于由单个客户使用,以避免在多租户服务器12中发生的被称为“噪声邻居问题”。也就是说,虽然每个客户可以接收通常不受多租户服务器12中的一个租户对任何其他专用虚拟路由器的操作的影响的专用虚拟路由器,但在某些上下文中,其他虚拟路由器可以消耗资源(例如,处理器周期、存储器、带宽等),这些资源否则将对于另一客户的虚拟路由器是可用的,从而降低了其余虚拟路由器的性能(就像嘈杂的邻居可能会给其他居民带来问题一样,因此得名“噪声邻居问题”)。因此,BMS 28可以提供专用硬件环境,其避免了这种噪声邻居问题,从而潜在地确保更有可能满足客户处理需求。因此,推动使用BMS 28的一个前提在于排他性,因此,一些数据中心运营方可能不允许BMS 28执行上述负责在BMS 28内实施策略的VN代理。
此外,某些设备可能不支持由上述可扩展策略部署使能的所有特征。作为示例,一些网络设备可能仅支持基本的防火墙功能,而不支持通过使用上述可扩展策略部署来启用的全特征防火墙功能,从而降低了策略部署的有用性。
在操作中,虚拟网络控制器22可以获取将由耦合到BMS 28的TOR交换机16Z执行的策略。虚拟网络控制器22可以从数据库或其他存储器和/或存储设备获取策略。管理员24可以指定策略或以其他方式生成策略。
虚拟网络控制器22接下来可以将策略转换成TOR交换机16Z支持的配置数据。如上所述,该策略可以包括基于意图的策略,对于防火墙或其他安全服务,该策略可以标识要被阻止到达BMS 28和/或从BMS 28传输的流。基于意图的策略还可以标识被允许到达BMS 28和/或从BMS 28传输的流。虚拟网络控制器22可以将基于意图的策略转换成表示TOR交换机16Z支持的访问控制列表(ACL)的配置数据。
访问控制列表可以包括一个或多个条目,每个条目标识流,以及要针对所标识流执行的动作(诸如“丢弃”或“转发”)。根据本公开的技术,标识流的数据可以包括源标识符(本文也称为“源标签”)和目的地互联网协议(IP)地址。具体地,当TOR交换机16A-16N中的一个TOR交换机从相应的一个服务器12接收分组时,TOR交换机16A-16N中的所述一个TOR交换机可以将源标识符添加到分组的虚拟可扩展局域网(VXLAN)报头。源标识符可以对应于表示生成该分组的应用的类别的值,例如“开发”、“模拟”、“生产”等。
TOR交换机16可以被配置有映射数据,该映射数据将分组被接收的源端口映射到相应的源标识符。共同类别的各种应用可以由经由TOR交换机16的一个TOR交换机的特定硬件端口连接到TOR交换机16的所述一个TOR交换机的服务器来执行。每个应用可以被分配到类别,例如应用的开发阶段。虚拟网络控制器22可以被配置为将源标识符分配给TOR交换机16。因此,TOR交换机16可以将源标识符(源标签)添加到分组的VXLAN报头。
虚拟网络控制器22还可以配置TOR交换机16,诸如TOR交换机16Z,以针对指向外部服务器(诸如BMS 28)的网络业务实施ACL(策略)。也就是说,一旦根据配置数据配置了TOR交换机16Z,则TOR交换机16Z可以将ACL应用于由TOR交换机16Z接收的任何流,以便实施支持BMS 28的策略。类似地,其他TOR交换机16也可以被配置为实施类似的策略,尽管针对其他服务器12(或图1中未示出的其他裸金属服务器)。因此,相同TOR交换机可以充当入口交换机和出口交换机两者,其中,当充当入口交换机时,TOR交换机可以将源标识符(源标签)添加到接收到的分组的VXLAN报头,并且当充当出口交换机时,TOR交换机可以实施由源标识符和目的地IP地址的组合指示的策略。
具体地,TOR交换机16,诸如TOR交换机16Z,可以将定义策略的数据(例如,ACL条目)存储在三元内容可寻址存储器(TCAM)中。TCAM相对昂贵,并且提供对存储在其中的数据的高速搜索。由于TCAM的费用,减少TCAM消耗可以减少相应设备(例如,TOR交换机16Z)的费用。通过存储与源标识符(表示相应应用的类别)和目的地IP地址相关联的策略,可以减少要被存储在TOR交换机16的TCAM中的策略/ACL条目的数目。因此,本公开的技术可以减少对要被发送到例如BMS或其他服务器设备的业务执行策略实施的TOR交换机的费用。此外,与其他类型的存储器相比,TCAM的每个条目通常需要附加的电路,这可能进一步增加TCAM的物理硬件大小、电力消耗和热产生。因此,例如根据本公开的技术,减少消耗TCAM的数量还可以减少物理硬件大小、电力消耗和热产生。
具体地,如果策略从源端口和目的地IP地址被映射到策略,则存储这种映射数据所消耗的TCAM的数量将是相当大的。相比之下,本公开的技术允许源端口到应用类别的多对一映射。可能有数千个源端口映射到单个应用类别。因此,通过存储将源标识符和目的地IP地址映射到策略(例如,ACL条目)的数据,本发明的技术可以显著减少TCAM消耗,同时仍然保持由TCAM提供的用于执行策略实施的高速搜索访问。
图2是进一步详细示出了图1的数据中心10A的示例实现的框图。在图2的示例中,数据中心10A包括覆盖网络,该覆盖网络将交换结构14从物理交换机16、18扩展到软件或“虚拟”交换机30A-30X(统称为“虚拟路由器30”或“VR 30”)。虚拟路由器30动态地创建和管理可用于应用实例之间的通信的一个或多个虚拟网络34。在一个示例中,虚拟路由器30将虚拟网络作为覆盖网络来执行,这提供了将应用的虚拟地址与执行该应用的服务器12A-12X(“服务器12”)中的一个服务器的物理地址(例如,IP地址)解耦合的能力。每个虚拟网络可以使用其自己的寻址和安全方案,并且可以被视为与物理网络及其寻址方案正交。可以使用各种过程在物理网络上,在虚拟网络34内和跨越虚拟网络34传输分组。在一些示例中,虚拟网络34可以在不需要底层物理网络中的多播支持的情况下提供多播服务。
每个虚拟路由器30可以在每个服务器12的管理程序、主机操作系统或其他组件内执行。每个服务器12可以代表能够执行工作负载(WL)37的x86或其他通用服务器或专用服务器。在图2的示例中,虚拟路由器30A在管理程序31内执行,该管理程序31通常也被称为虚拟机管理器(VMM),并且在图2的示例中可以被表示为“HV”,其提供允许多个操作系统在服务器12中的一个服务器内并发执行的虚拟化平台。在图2的示例中,虚拟路由器30A管理虚拟网络(VN)34,每个虚拟网络(VN)34提供用于在由管理程序31提供的虚拟化平台内执行一个或多个虚拟机(VM)(其可以执行一个或多个WL37)的网络环境。每个VM与一个虚拟网络相关联,并且可以表示运行客户应用(诸如Web服务器、数据库服务器、企业应用)或者托管用于创建服务链的虚拟化服务的租户VM。在一些情况下,服务器12或另一计算设备中的任何一项或多项可以直接托管客户应用,即,不作为虚拟机。在一些情况下,一些VM可以表示容器,这是另一种形式的虚拟化执行环境。也就是说,虚拟机和容器两者都是用于执行工作负载的虚拟化执行环境的示例。
通常,每个WL 37可以是任何类型的软件应用,并且可以被分配虚拟地址以用于在相应虚拟网络34内使用,其中每个虚拟网络可以是由虚拟路由器30A提供的不同的虚拟子网。WL 37可以被分配其自己的虚拟层三(L3)IP地址,例如用于发送和接收通信,但是可以不知道在执行虚拟机的物理服务器12A的IP地址。以此方式,“虚拟地址”是不同于底层物理计算机系统(例如,图1或图2的示例中的服务器12A)的逻辑地址的应用的地址。
在一种实现中,服务器12中的每个服务器包括虚拟网络(VN)代理35A-35X(统称为“VN代理35”)中相应的一个虚拟网络代理,其控制虚拟网络34的覆盖并且协调服务器12内的数据分组的路由。通常,每个VN代理35与虚拟网络控制器22通信,虚拟网络控制器22生成控制通过数据中心10A的分组的路由的命令。VN代理35可以被用作WL 37和虚拟网络控制器22之间的控制面消息的代理。例如,WL 37可以经由VN代理35A请求使用其虚拟地址发送消息,并且VN代理35A可以继而发送该消息并请求针对发起第一消息的WL27中的一个WL的虚拟地址,接收对该消息的响应。在一些情况下,WL 37可以调用由VN代理35A的应用编程接口呈现的过程或函数调用,并且VN代理35A可以处置消息的封装,包括寻址。每个VN代理35还可以将一个或多个策略应用于一个或多个类别,如下面更详细地描述的。
在一个示例中,由虚拟网络域内的虚拟机36执行的应用的实例生成或消耗的网络分组(例如,层三(L3)IP分组或层二(L2)以太网分组)可以被封装在由物理网络传输的另一分组(例如,另一IP或以太网分组)中。在虚拟网络中传输的分组在本文可以被称为“内部分组”,而物理网络分组在本文可以被称为“外部分组”或“隧道分组”。物理网络分组内的虚拟网络分组的封装和/或解封装可以在虚拟路由器30内,例如在每个服务器12上运行的管理程序或主机操作系统内执行。作为另一示例,封装和解封装功能可以在交换结构14的边缘处、在第一跳TOR交换机16处被执行,该第一跳TOR交换机16与发起分组的应用实例相隔一跳。该功能在本文中被称为隧道传输,并且可以在数据中心10A内用于创建一个或多个覆盖网络。除了IPinIP之外,可以使用的其他示例隧道协议包括GRE上的IP、VxLAN、GRE上的MPLS、UDP上的MPLS等。
如上所述,虚拟网络控制器22提供逻辑上中心化的控制器,用于促进数据中心10A内的一个或多个虚拟网络的操作。虚拟网络控制器22可以例如维护路由信息库,例如存储物理网络以及数据中心10A的一个或多个覆盖网络的路由信息的一个或多个路由表。交换机16、18和虚拟路由器30还可以维护诸如一个或多个路由和/或转发表的路由信息。在一个示例中,管理程序31的虚拟路由器30A针对每个虚拟网络34实现网络转发表(NFT)32。通常,每个NFT 32存储相应虚拟网络34的转发信息,并标识数据分组将被转发到哪里以及分组是否将被封装在隧道协议中,诸如利用隧道报头,该隧道报头可以包括针对虚拟网络协议栈的不同层的一个或多个报头。
如图2的示例进一步示出的,虚拟网络控制器22包括策略控制器23。策略控制器23可以表示被配置为跨多个级别标记多个对象的单元。在一些示例中,多个级别包括对象的级别,诸如对象的全局环境级别、项目级别、虚拟网络级别、虚拟机级别或接口级别。在一些实例中,策略控制器23还可以跨多个类别标记多个对象。在一些示例中,多个类别包括在VM36内执行的应用、部署、应用层、地理站点、虚拟网络、WL 37、接口、项目、安全要求、质量要求、用户或合规性要求。
在一些示例中,策略控制器23还向相应的VN代理35分发多个策略。多个策略中的每个策略包括用于控制网络业务的一个或多个策略规则。多个策略规则中的每个策略规则指定一个或多个标签,每个标签还指定类别的一个或多个维度。
在接收到多个策略后,每个VN代理35就将多个策略中的每个策略的一个或多个策略规则应用于与一个或多个策略规则的标签相对应的所标记的对象,以控制所标记的对象之间的网络业务。例如,VN代理35在策略控制器23的指导下,在WLS 37的逻辑接口处表示一个或多个策略规则,该一个或多个策略规则利用与该一个或多个策略规则的标签相对应的标签来标记。VN代理35基于一个或多个策略规则来允许或阻止去往和/或来自逻辑接口的网络业务。
在一些示例中,策略控制器23经由边界网关协议(BGP)分发一个或多个策略规则。这种BGP消息可以包括用于特定业务流的动作,诸如允许或拒绝该流以及用于应用指定动作的一个或多个目的地协议和端口的列表。在这种示例中,BGP消息还可以针对作为BGP的扩展社区的对象指定一个或多个标签(作为标签标识符-ID)。关于BGP的附加信息在2015年2月,互联网工程任务组(IETF)的RFC 7432,“BGP MPLS-Based Ethernet VPN”(基于BGPMPLS的以太网VPN)中进行了描述。关于BGP的附加信息,其可在https://tools.ietf.org/html/rfc7432处获得,其全部内容通过引用并入本文。
如图2的示例中进一步示出的,策略控制器23可以以访问控制列表(ACL)50的形式分发策略规则。策略控制器23可以将上述策略转换成ACL 50,然后将ACL 50(其可以表示一个或多个策略规则)部署到TOR交换机16Z。TOR交换机16Z然后可以将ACL 50应用于去往BMS28的网络业务。在给定受限执行环境的情况下,BMS 28可以仅执行WL 37(并且在某些情况下,甚至不执行WL 37),而不是如图2的示例中所示的虚拟路由器30或VN代理35。根据本公开的技术,ACL 50可以包括将源标识符和目的地IP地址映射到策略(例如,ACL条目)的数据。这种数据可以被存储在TOR交换机16Z的TCAM中。
图3是示出了可以实现本文描述的技术的示例的多个数据中心10的示例的框图。每个数据中心10A-10X(统称为“数据中心10”)可以与图1和图2的数据中心10大致类似的方式操作。在一些示例中,一个或多个数据中心10实现了执行Openstack的云环境,而在另一示例中,一个或多个数据中心10是执行Kubernetes的云环境,而在又一示例中,一个或多个数据中心10实现了执行Amazon Web Services(亚马逊Web服务)的云环境,而在又一示例中,一个或多个数据中心10在“裸金属”基础设施上执行。在一些示例中,每个数据中心10执行与每个其他数据中心10不同的基础设施。
在图3的示例中,每个数据中心10包括数据库308和三个不同的环境:开发环境310、模拟环境312和生产环境314。每个数据中心10的每个环境能够执行一个或多个应用302A-302D(统称为“应用302”),诸如在数据中心10A的开发环境310A内执行的应用302A、在数据中心10A的生产环境314A内执行的应用302B、在数据中心10B的开发环境310B内执行的应用302C、以及在数据中心10B的模拟环境312B内执行的应用302D。在一个示例中,每个应用302是相同类型的财务应用的实例。本文描述的策略对于在上述许多不同类型的云环境中的应用是鲁棒的且可扩展的。
在环境内,每个应用可以包括多个过程和子过程。在图3的示例中,开发环境310A的应用302A执行web过程304A和应用程序接口(API)过程306A。此外,生产环境314A的应用302B执行web过程304B和API过程306B。开发环境310B的应用302C执行web过程304C和API过程306C。更进一步地,模拟环境312B的应用302D执行web过程304D和API过程306D。然而,在其他示例中,相应环境310A、312A、314A、310B、312B或314B的每个应用302可以执行比每个其他应用302更多或不同的过程。此外,在一些示例中,在每个相应环境310A、310B、312A、312B、314A和314B中执行的应用可以与在每个其他环境310A、310B、312A、312B、314A和314B中执行的应用相似或不同。
可能期望确保相应环境310、312、314的每个应用302的过程304、306不与不同环境310、312、314内的应用302的过程304、306交换网络业务,而仍允许网络业务在相同应用302内的不同过程304、306之间流动。例如,管理员可能期望允许web过程304A和API过程306A之间的网络业务,因为web过程304A和API过程306A中的每个过程在开发环境310A内的相同应用302A内操作。此外,管理员可能期望防止web过程304A(例如,在数据中心10A的开发环境310A内操作)和API过程306B(例如,在数据中心10A的生产环境314A内操作)之间或web过程304A(例如,在数据中心10A的开发环境310A内操作)和API过程306C(例如,在数据中心10B的开发环境310B内操作)之间的网络业务。此外,管理员可能期望允许在相同数据中心10内的应用302内执行的过程304、306访问相同的数据库308,而不管执行特定应用302的特定环境310、312或314。例如,管理员可能期望允许在应用302A内执行的API过程306A和在应用302B内执行的API过程306B各自访问数据库308A。
管理员可能还期望针对应用302A、应用302B、应用302C和/或应用302D中的每个应用分配不同的端口范围以用于使用,以满足各种安全要求、质量要求、合规性要求或用户要求。因此,如果管理员要实现单个应用专用防火墙策略(例如,特定于应用302A、302B、302C和302D中的每个应用的应用类型的防火墙策略),则该防火墙策略可能不起预期的作用,因为应用302A、302B、302C和302D中的每个应用使用不同的端口范围。此外,如果管理员要独立地管理每个数据中心10内的每个环境312、312和314内的每个应用302内的每个过程304、306的网络业务策略,则管理员可能难以确保每个网络业务策略满足安全性、可靠性和质量要求。此外,跨多个数据中心10升级一个或多个策略可能变得繁琐或无法管理。
根据本公开的技术,开发环境310内的应用(例如,应用302A、302C)可以与被映射到“开发”源标识符(源标签)的源端口相关联;模拟环境312内的应用(例如,应用302D)可以与被映射到“模拟”源标识符(源标签)的源端口相关联;以及生产环境314内的应用(例如,应用302B)可以与被映射到“生产”源标识符(源标签)的源端口相关联。
图4是示出了根据本公开的技术的示例网络交换机设备100的框图。在该示例中,网络交换机设备100包括转发引擎104、网络接口卡(NIC)102A-102N(NIC 102)、虚拟可扩展局域网(VXLAN)处理单元120和源标签存储器116。NIC 104包括被配置为使用底层物理网络的链路来交换分组的网络接口。这种网络接口可以是例如以太网接口。
该示例中的转发引擎104包括三元内容可寻址存储器(TCAM)存储器110。在其他示例中,转发引擎104可以包括其他类型的高速存储器,诸如降低时延动态随机存取存储器(RLDRAM)或同步动态随机存取存储器(SDRAM)。在图4的示例中,TCAM存储器110存储转发信息库(FIB)112和策略114。FIB 112表示将接收到的分组的数据映射到对应于NIC 102中的一个NIC的“下一跳”的转发表。通常,当网络交换机设备100经由NIC 102中的一个NIC接收分组时,转发引擎104可以使用FIB 112来确定转发分组的NIC 102中的另一NIC。
在该示例中,网络交换机设备100可以表示主干和叶拓扑的叶交换机设备。例如,网络交换机设备100可以对应于图1和图2的TOR交换机16中的一个TOR交换机。每个NIC 102可以包括一个或多个硬件端口,通过这些端口与其他网络设备进行物理相接口。NIC 102中的某些NIC可以耦合到主干交换机(例如,图1和图2的机箱交换机18中的一个机箱交换机),而NIC 102中的其他NIC可以耦合到主干和叶拓扑外部的设备(图1和图2的交换结构14)。例如,图1和图2的服务器12和BMS 28可以被认为是主干和叶拓扑外部的设备。
网络交换机设备100可以接收定义从其硬件源端口(例如,NIC102的硬件端口)到源标签的映射的数据,并将这种数据存储在源标签116中。通常,源端口可以对应于可以生成分组的各种应用。如以上参考图3所解释的,可以将应用分配给应用类别,其中可能的类别可以包括例如开发中的应用、模拟区域中的应用或生产中的应用。因此,应用可以由经由NIC 102中的一个NIC的特定硬件源端口耦合到网络交换机设备100的设备来执行。源标签116表示应用的各种类别。因此,源标签116可以包括将当前被分配到“开发”类别的应用的端口映射到“开发”源标识符(或源标签)的数据。同样,源标签116可以包括将当前被分配到“模拟”类别的应用的端口映射到“模拟”源标识符/标签的数据。类似地,源标签116可以包括将当前被分配到“生产”类别的应用的端口映射到“生产”源标识符/标签的数据。
因此,当网络交换机设备100经由对应于主干和叶拓扑外部(即,交换结构外部)的设备的NIC 102中的一个NIC接收到分组时,FIB112可以指示该分组将被发送到VXLAN处理单元120,以被封装有VXLAN报头。例如,FIB 112可以将分组的“下一跳”映射到与VXLAN处理单元120相关联的逻辑接口。
根据本公开的技术,VXLAN处理单元120可以使用源标签116的数据来确定要添加到VXLAN报头的源标签(或源标识符)。例如,该分组可以源自特定类别的应用,例如,在“开发”类别、“模拟”类别或“生产”类别中的应用。VXLAN处理单元120可以确定接收分组的源端口,该源端口对应于产生分组的应用。VXLAN处理单元120可以使用源端口在源标签116中执行查找,以确定要添加到分组的VXLAN报头的源标识符。根据传统的VXLAN技术,VXLAN处理单元120还可以使用其他映射数据(图4中未示出)来确定该分组的VXLAN段标识符。
在构建VXLAN报头并利用VXLAN报头封装分组之后,VXLAN处理单元120可以将分组发送回转发引擎104。转发引擎104然后可以根据VXLAN报头的VXLAN段标识符将分组发送到NIC 102中的一个NIC,以将分组定向到主干交换机(例如,图1和图2的机箱交换机18中的一个NIC)。
另一方面,当网络交换机设备100从交换结构的主干交换机接收到VXLAN分组时,转发引擎104可以将分组发送到VXLAN处理单元120,以从分组的VXLAN报头提取源标识符(源标签)。转发引擎104然后可以确定分组的目的地IP地址,并使用来自VXLAN报头的源标识符和目的地IP地址在策略114中执行查找。也就是说,策略114可以将源标识符(源标签)和目的地IP地址的组合映射到特定策略。这种策略可以是正常地转发分组、丢弃分组、将分组发送到执行附加安全性的设备(例如,深度分组检查、防火墙等)或其他这种策略。因此,网络交换机设备100可以执行在策略114中源标识符和目的地IP地址被映射到的策略。
图5A是示出了虚拟可扩展局域网(VXLAN)报头的概念图,而图5B和5C是示出了根据本公开的技术的各种示例的包括源标签(源标识符)的示例VXLAN报头的概念图。
图5A示出了包括标志132,VXLAN段标识符136和预留字段134、138的VXLAN报头130。根据Mahalingam等人于2014年8月的“Virtual eXtensible Local Area Network(VXLAN):A Framework for Overlaying Virtualized Layer 2Networks over Layer3Networks,”(虚拟可扩展局域网(VXLAN):在层3网络上覆盖虚拟化层2网络的框架),评论请求7348(RFC 7348),其在datatracker.ietf.org/doc/html/rfc7348处可获得,标志132包括8位,包括4个预留位、1个I-位(其对于有效的VXLAN网络标识符(VNI)必须被设置为1)、以及I-位之后的另外3个预留位。根据RFC 7348,VXLAN段标识符136是24位值,其指定通信虚拟机(VM)位于其上的单个VXLAN覆盖网络。通常,预留字段134、138分别包括24位和8位,其被预留以用于未来使用。
根据本公开的技术,可以在预留字段134、138中的一个预留字段中指定源标识符(或源标签)。图5B示出了包括标志142、源标签144、预留字段146、VXLAN段标识符148和预留字段150的一个示例VXLAN报头140。通常,标志142可以对应于图5A的标志132,并且VXLAN段标识符148可以对应于图5A的VXLAN段标识符136。源标签144可以包括多达24位。因此,可以不包括预留字段146(如果源标签144具有24位),或者预留字段146具有24位与源标签144中包括的位数之间的差值的位数。
图5C示出了包括标志152、源标签预留字段154、VXLAN段标识符156和源标签158的另一示例VXLAN报头150。通常,标志152可以对应于图5A的标志132,并且VXLAN段标识符156可以对应于图5A的VXLAN段标识符136。在该示例中,源标签158包括8位,以指定由VXLAN报头150封装的分组的源标识符。
在图5B和5C的示例中,源标签144和源标签158包括针对表示源应用的源标识符(或源标签)的值,由VXLAN报头140或VXLAN报头150中的对应一个封装的分组来自该源应用。例如,主干和叶拓扑的TOR交换机16、网络交换机设备100或其他入口叶交换机中的一项可以将源标签144或源标签158的值添加到VXLAN报头。如上所述,源标签值可以表示源应用的类别。具体地,入口叶交换机设备可以从例如源标签116(图4)中确定源标签的值,源标签116将接收分组的硬件源端口映射到指定应用的类别的相应源标识符。类似地,根据本公开的技术,出口叶交换机设备可以例如根据图4的策略114,根据源标签144或源标签158的值和该分组的目的地IP地址来确定要应用于该分组的策略。
图6是示出了根据本公开的技术将源标识符添加到所接收分组的示例方法的流程图。图6的方法通常可以由入口叶交换机设备来执行,诸如图1和图2的TOR交换机16中的一个TOR交换机或图4的网络交换机设备100。当从诸如图1和图2的服务器12中的一个服务器或BMS 28的主干和叶拓扑外部的设备接收分组时,叶交换机设备可以充当到主干和叶拓扑的入口。出于示例和解释的目的,参考图1和图2的TOR交换机16A解释图6的方法。对于不同的分组或分组流,相同的交换机可以充当入口和出口交换机两者。
首先,TOR交换机16A可以由例如策略控制器23,利用将分组被接收的硬件源端口映射到源标识符的数据对其进行配置。TOR交换机16A从诸如服务器12A的外部服务器接收分组(180)。TOR交换机16A可以确定分组被接收的硬件源端口。因此,TOR交换机16A可以确定分组的源端口(182)。
TOR交换机16A然后可以使用诸如将源端口映射到源标签(或源标识符)的源标签116(图4)的数据,来从源端口确定源标识符(184)。TOR交换机16A然后可以将源标识符添加到分组的VXLAN报头(186),例如,如图5B或图5C所示。TOR交换机16A然后可以例如根据FIB112(图4)的数据,使用目的地端口(VXLAN端口)来确定分组的下一跳。目的地端口可以在分组的外部UDP报头中指定。下一跳通常对应于主干交换机,诸如图1和图2的机箱交换机18中的一个机箱交换机。TOR交换机16A然后可以将分组转发到主干交换机(188)。
以此方式,图6的方法表示了一种方法的示例,该方法包括:由根据主干和叶拓扑布置的多个交换机的入口叶交换机,从针对多个交换机的控制器设备接收将多个源端口映射到源标识符的数据;从与多个交换机分离的网络设备接收分组;由叶交换机确定第二分组被接收的叶交换机的硬件源端口;由叶交换机使用将多个源端口映射到第二源标识符值的数据来确定源端口被映射到第二源标识符值;由叶交换机将第二源标识符值添加到第二分组的第二VXLAN报头;以及由叶交换机将包括第二源标识符值的第二分组转发到多个交换机中的第二主干交换机。
图7是示出了根据本公开的技术,根据分组的源标识符和目的地地址将策略应用于分组的示例方法的流程图。图7的方法通常可以由出口叶交换机设备执行,诸如图1和图2的TOR交换机16中的一个TOR交换机或图4的网络交换机设备100。当从主干和叶拓扑的主干交换机(诸如机箱交换机18中的一个机箱交换机)接收分组时,叶交换机设备可以充当到主干和叶拓扑的出口。出于示例和解释的目的,参考图1和图2的TOR交换机16Z解释图7的方法。然而,对于不同的分组或分组流,相同的交换机可以充当入口和出口交换机两者。因此,例如,TOR交换机16A或TOR交换机16Z可以针对不同分组流的不同分组执行图6和图7的方法,这取决于分组是从主干和叶拓扑之外的设备还是从主干和叶拓扑的主干交换机接收的。
在该示例中,TOR交换机16Z从机箱交换机18中的一个机箱交换机(即,主干交换机)接收分组(190)。TOR交换机16Z然后可以从分组的VXLAN报头确定源标识符(源标签)(192)。例如,TOR交换机16Z可以解析如图5B和图5C所示的VXLAN报头的数据,以从VXLAN报头提取源标识符。TOR交换机16Z还可以确定分组的目的地IP地址(194),例如从分组的外部IPv4报头。
TOR交换机16Z然后可以从源标识符和目的地IP地址确定策略(196)。例如,TOR交换机16Z可以使用如图2所示的源标识符和目的地IP地址或如图4所示的策略114来确定ACL50中的一个ACL。如上所述,策略114(或ACL 50)可以存储在TCAM存储器中。通过存储与目的地IP地址和源标识符(而不是源端口)相关联的策略或ACL,可以显著减少策略/ACL所消耗的TCAM存储器数量。TOR交换机16Z然后可以将所确定的策略应用于分组(198)。
以此方式,图7的方法表示一种方法的示例,该方法包括:由根据主干和叶拓扑布置的多个交换机中的叶交换机从多个交换机中的主干交换机接收分组,该分组被封装有虚拟可扩展局域网(VXLAN)报头;由叶交换机从VXLAN报头提取源标识符值;由叶交换机确定分组的目的地地址;由叶交换机根据源标识符值和目的地地址确定要应用于分组的策略;以及由叶交换机将该策略应用于该分组。
本公开中描述的技术可以至少部分地以硬件、软件、固件或其任意组合来实现。例如,所描述的技术的各个方面可以在一个或多个处理器内实现,包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或任何其他等效的集成或离散逻辑电路、以及这些组件的任何组合。术语“处理器”或“处理电路”通常可以指任何前述逻辑电路,单独地或与其他逻辑电路或任何其他等效电路组合。包括硬件的控制单元也可以执行本公开的一种或多种技术。
这种硬件、软件和固件可以在相同设备内或在分离的设备内实现,以支持本公开中描述的各种操作和功能。此外,任何所描述的单元、模块或组件可以实现在一起或分开地实现为离散但可互操作的逻辑设备。将不同的特征描述为模块或单元旨在突出不同的功能方面,并不一定意味着这些模块或单元必须由分离的硬件或软件组件来实现。相反,与一个或多个模块或单元相关联的功能可以由分离的硬件或软件组件执行,或者集成在共同或分离的硬件或软件组件中。
本公开中描述的技术还可以在包含指令的计算机可读介质中实现或编码,诸如计算机可读存储介质。嵌入或编码在计算机可读介质中的指令可以使可编程处理器或其他处理器例如在指令被执行时执行该方法。计算机可读介质可以包括非瞬态计算机可读存储介质和瞬时通信介质。有形和非瞬态的计算机可读存储介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存、硬盘、CD-ROM、软盘、盒式磁带、磁介质、光介质或其他计算机可读存储介质。应当理解,术语“计算机可读存储介质”指的是物理存储介质,而不是信号、载波或其他瞬时介质。
已经描述了各种示例。这些和其他示例在所附权利要求的范围内。
Claims (15)
1.一种将策略应用于分组的方法,所述方法包括:
由根据主干和叶拓扑布置的多个交换机中的叶交换机,接收来自所述多个交换机中的主干交换机的分组,所述分组被封装有虚拟可扩展局域网VXLAN报头;
由所述叶交换机从所述VXLAN报头中提取源标识符值;
由所述叶交换机确定针对所述分组的目的地地址;
由所述叶交换机接收指定多个策略的一个或多个边界网关协议BGP消息,所述多个策略中的每个策略与相应的源标识符值和相应的目的地地址相关联;
由所述叶交换机根据所述源标识符值和所述目的地地址确定所述多个策略中要应用于所述分组的策略;以及
由所述叶交换机将所述策略应用于所述分组。
2.根据权利要求1所述的方法,还包括由所述叶交换机将所述多个策略存储在所述叶交换机的三元内容可寻址存储器TCAM中。
3.根据权利要求1所述的方法,其中接收指定所述多个策略的所述一个或多个BGP消息包括从用于所述多个交换机的控制器设备接收所述一个或多个BGP消息。
4.根据权利要求1-3中任一项所述的方法,其中从所述VXLAN报头中提取所述源标识符值包括:
解析所述VXLAN报头的8个标志位;
从所述VXLAN报头的所述8个标志位之后的位中提取所述源标识符值;以及
从所述VXLAN报头的所述源标识符值之后的位中解析VXLAN网络标识符VNI值。
5.根据权利要求1-3中任一项所述的方法,其中从所述VXLAN报头中提取所述源标识符值包括:
解析所述VXLAN报头的8个标志位;
解析所述VXLAN报头的所述8个标志位之后的预留位;
从所述VXLAN报头的所述预留位之后的位中解析VXLAN网络标识符VNI值;以及
从所述VXLAN报头的所述VNI值之后的位中提取所述源标识符值。
6.根据权利要求1-3中的任一项所述的方法,其中所述源标识符值表示用于生成所述分组的源应用的类别。
7.根据权利要求1-3中任一项所述的方法,其中所述分组包括第一分组,其中所述主干交换机包括第一主干交换机,其中所述VXLAN报头包括第一VXLAN报头,并且其中所述源标识符值包括第一源标识符值,所述方法还包括:
由所述叶交换机从用于所述多个交换机的控制器设备接收将多个硬件源端口映射到第二源标识符值的数据;
由所述叶交换机从与所述多个交换机分离的网络设备接收第二分组,所述第二分组不同于所述第一分组;
由所述叶交换机确定所述第二分组被接收的所述叶交换机的硬件源端口;
由所述叶交换机使用将所述多个源端口映射到所述第二源标识符值的所述数据来确定所述源端口被映射到所述第二源标识符值;
由所述叶交换机将所述第二源标识符值添加到针对所述第二分组的第二VXLAN报头;以及
由所述叶交换机将包括所述第二源标识符值的所述第二分组转发到所述多个交换机中的第二主干交换机。
8.一种根据主干和叶拓扑布置的多个交换机中的叶交换机设备,所述叶交换机设备被配置为将策略应用于分组,所述叶交换机设备包括:
存储器,被配置为存储多个策略,所述多个策略中的每个策略与相应的源标识符值和相应的目的地地址相关联;
网络接口,通信地耦合到所述多个交换机中的主干交换机;以及
处理器,在电路中被实现并且被配置为:
经由所述网络接口接收来自所述主干交换机的分组,所述分组被封装有虚拟可扩展局域网VXLAN报头;
从所述VXLAN报头中提取源标识符值;
确定针对所述分组的目的地地址;
接收指定所述多个策略的一个或多个边界网关协议BGP消息;
根据所述源标识符值和所述目的地地址确定所述多个策略中要应用于所述分组的策略;以及
将所述策略应用于所述分组。
9.根据权利要求8所述的叶交换机设备,其中所述存储器包括三元内容可寻址存储器TCAM。
10.根据权利要求8所述的叶交换机设备,其中所述处理器被配置为从用于所述多个交换机的控制器设备接收指定所述多个策略的所述一个或多个BGP消息。
11.根据权利要求8-10中任一项所述的叶交换机设备,其中为了从所述VXLAN报头中提取所述源标识符值,所述处理器被配置为:
解析所述VXLAN报头的8个标志位;
从所述VXLAN报头的所述8个标志位之后的位中提取所述源标识符值;以及
从所述VXLAN报头的所述源标识符值之后的位中解析VXLAN网络标识符VNI值。
12.根据权利要求8-10中任一项所述的叶交换机设备,其中为了从所述VXLAN报头中提取所述源标识符值,所述处理器被配置为:
解析所述VXLAN报头的8个标志位;
解析所述VXLAN报头的所述8个标志位之后的预留位;
从所述VXLAN报头的所述预留位之后的位中解析VXLAN网络标识符VNI值;以及
从所述VXLAN报头的所述VNI值之后的位中提取所述源标识符值。
13.根据权利要求8-10中任一项所述的叶交换机设备,其中所述源标识符值表示用于生成所述分组的源应用的类别。
14.根据权利要求8-10中任一项所述的叶交换机设备,其中所述分组包括第一分组,其中所述主干交换机包括第一主干交换机,其中所述VXLAN报头包括第一VXLAN报头,其中所述源标识符值包括第一源标识符值,并且其中所述处理器还被配置为:
从用于所述多个交换机的控制器设备接收将多个源端口映射到第二源标识符值的数据;
从与所述多个交换机分离的网络设备接收第二分组,所述第二分组不同于所述第一分组;
确定所述第二分组被接收的所述叶交换机的硬件源端口;
使用将所述多个源端口映射到所述第二源标识符值的所述数据来确定所述源端口被映射到所述第二源标识符值;
将所述第二源标识符值添加到针对所述第二分组的第二VXLAN报头;以及
将包括所述第二源标识符值的所述第二分组转发到所述多个交换机中的第二主干交换机。
15.一种非瞬态计算机可读存储介质,包括指令,所述指令在被执行时,使根据主干和叶拓扑布置的多个交换机中的叶交换机设备的处理器执行根据权利要求1-7中任一项所述的方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163194724P | 2021-05-28 | 2021-05-28 | |
US63/194,724 | 2021-05-28 | ||
US17/305,117 US20220385570A1 (en) | 2021-05-28 | 2021-06-30 | Policy enforcement for bare metal servers by top of rack switches |
US17/305,117 | 2021-06-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115412492A true CN115412492A (zh) | 2022-11-29 |
Family
ID=81750661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210556987.XA Pending CN115412492A (zh) | 2021-05-28 | 2022-05-20 | 由架顶式交换机针对裸金属服务器的策略实施 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220385570A1 (zh) |
EP (1) | EP4096171A1 (zh) |
CN (1) | CN115412492A (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1514601A (zh) * | 1999-02-23 | 2004-07-21 | �йȲ��� | 多业务网络交换机 |
US20130329731A1 (en) * | 2012-06-12 | 2013-12-12 | International Business Machines Corporation | Integrated switch for dynamic orchestration of traffic |
US20150063353A1 (en) * | 2013-09-04 | 2015-03-05 | Cisco Technology, Inc. | Implementation of virtual extensible local area network (vxlan) in top-of-rack switches in a network environment |
US20150149631A1 (en) * | 2013-11-25 | 2015-05-28 | Amazon Technologies, Inc. | Customer-directed networking limits in distributed systems |
US20150195137A1 (en) * | 2014-01-06 | 2015-07-09 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Virtual group policy based filtering within an overlay network |
CN105978817A (zh) * | 2015-03-11 | 2016-09-28 | 国际商业机器公司 | 用于传输数据的方法、存储器和网络适配器 |
CN106487719A (zh) * | 2015-08-25 | 2017-03-08 | 谷歌公司 | 经由分组中继使网络功能外部化的系统和方法 |
CN106797351A (zh) * | 2014-07-21 | 2017-05-31 | 大交换机网络股份有限公司 | 使用控制器执行逻辑网络转发的系统和方法 |
CN107094090A (zh) * | 2012-06-06 | 2017-08-25 | 瞻博网络公司 | 针对虚拟网络分组流的物理路径确定 |
US20200136862A1 (en) * | 2018-10-29 | 2020-04-30 | Cisco Technology, Inc. | Methods and apparatus for use in network overlay fabrics to facilitate external network connectivity including access to extranet shared services |
US10742557B1 (en) * | 2018-06-29 | 2020-08-11 | Juniper Networks, Inc. | Extending scalable policy management to supporting network devices |
CN112350943A (zh) * | 2019-08-08 | 2021-02-09 | 慧与发展有限责任合伙企业 | 基于组的策略多播转发 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9571362B2 (en) * | 2013-05-24 | 2017-02-14 | Alcatel Lucent | System and method for detecting a virtual extensible local area network (VXLAN) segment data path failure |
US9300580B2 (en) * | 2013-12-19 | 2016-03-29 | International Business Machines Corporation | Virtual machine network controller |
JP2016100625A (ja) * | 2014-11-18 | 2016-05-30 | 富士通株式会社 | 経路情報提供プログラム、経路情報提供方法、経路情報提供装置、情報処理システムの経路制御方法、及び、情報処理システム |
US11146490B2 (en) * | 2019-05-07 | 2021-10-12 | Cisco Technology, Inc. | Distributed load balancer health management using data center network manager |
US11296985B2 (en) * | 2020-07-27 | 2022-04-05 | Cisco Technology, Inc. | Normalized lookup and forwarding for diverse virtual private networks |
US11336515B1 (en) * | 2021-01-06 | 2022-05-17 | Cisco Technology, Inc. | Simultaneous interoperability with policy-aware and policy-unaware data center sites |
-
2021
- 2021-06-30 US US17/305,117 patent/US20220385570A1/en active Pending
-
2022
- 2022-05-20 CN CN202210556987.XA patent/CN115412492A/zh active Pending
- 2022-05-20 EP EP22174672.0A patent/EP4096171A1/en active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1514601A (zh) * | 1999-02-23 | 2004-07-21 | �йȲ��� | 多业务网络交换机 |
CN107094090A (zh) * | 2012-06-06 | 2017-08-25 | 瞻博网络公司 | 针对虚拟网络分组流的物理路径确定 |
US20130329731A1 (en) * | 2012-06-12 | 2013-12-12 | International Business Machines Corporation | Integrated switch for dynamic orchestration of traffic |
US20150063353A1 (en) * | 2013-09-04 | 2015-03-05 | Cisco Technology, Inc. | Implementation of virtual extensible local area network (vxlan) in top-of-rack switches in a network environment |
US20150149631A1 (en) * | 2013-11-25 | 2015-05-28 | Amazon Technologies, Inc. | Customer-directed networking limits in distributed systems |
US20150195137A1 (en) * | 2014-01-06 | 2015-07-09 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Virtual group policy based filtering within an overlay network |
CN106797351A (zh) * | 2014-07-21 | 2017-05-31 | 大交换机网络股份有限公司 | 使用控制器执行逻辑网络转发的系统和方法 |
CN105978817A (zh) * | 2015-03-11 | 2016-09-28 | 国际商业机器公司 | 用于传输数据的方法、存储器和网络适配器 |
CN106487719A (zh) * | 2015-08-25 | 2017-03-08 | 谷歌公司 | 经由分组中继使网络功能外部化的系统和方法 |
US10742557B1 (en) * | 2018-06-29 | 2020-08-11 | Juniper Networks, Inc. | Extending scalable policy management to supporting network devices |
US20200136862A1 (en) * | 2018-10-29 | 2020-04-30 | Cisco Technology, Inc. | Methods and apparatus for use in network overlay fabrics to facilitate external network connectivity including access to extranet shared services |
CN112350943A (zh) * | 2019-08-08 | 2021-02-09 | 慧与发展有限责任合伙企业 | 基于组的策略多播转发 |
Non-Patent Citations (2)
Title |
---|
KAI-SHENG CHEN; CHAO-CHIN YANG: "An Application of Spectral-Amplitude-Coding Labels in Optical Signal Buffering Over Optical Packet-Switching Networks", 《 IEEE COMMUNICATIONS LETTERS》, vol. 24, no. 9, XP011807701, DOI: 10.1109/LCOMM.2020.2997024 * |
李海华;: "BGP MPLS VPN数据转发过程分析", 计算机技术与发展, no. 06 * |
Also Published As
Publication number | Publication date |
---|---|
EP4096171A1 (en) | 2022-11-30 |
US20220385570A1 (en) | 2022-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11323487B1 (en) | Scalable policy management for virtual networks | |
US10742557B1 (en) | Extending scalable policy management to supporting network devices | |
CN110830357B (zh) | 使用高级拓扑描述的多云虚拟计算环境供应 | |
CN109818918B (zh) | 基于软件定义网络加密策略的策略驱动的工作负载启动 | |
US20210036951A1 (en) | Segment routing with fast reroute for container networking | |
US10116559B2 (en) | Operations, administration and management (OAM) in overlay data center environments | |
US10320664B2 (en) | Cloud overlay for operations administration and management | |
US11418546B1 (en) | Scalable port range management for security policies | |
US9942148B1 (en) | Tunneled packet aggregation for virtual networks | |
US8750288B2 (en) | Physical path determination for virtual network packet flows | |
US8755377B2 (en) | Facilitating operation of one or more virtual networks | |
EP2859444B1 (en) | Elastic enforcement layer for cloud security using sdn | |
US10715419B1 (en) | Software defined networking between virtualized entities of a data center and external entities | |
CN111614605A (zh) | 基于sdn虚拟防火墙的安全组信息的边界防火墙的自动配置 | |
US11700236B2 (en) | Packet steering to a host-based firewall in virtualized environments | |
US20180006969A1 (en) | Technique for gleaning mac and ip address bindings | |
CN111756566B (zh) | 支持和不支持issu装置的混合网络中软件升级部署 | |
US11165703B2 (en) | Prefix-based fat flows | |
EP4163787A1 (en) | Automatic policy configuration for packet flows | |
CN113973027A (zh) | 具有物理网络功能和虚拟化网络功能的服务链 | |
EP4096171A1 (en) | Policy enforcement for bare metal servers by top of rack switches | |
EP3734916A1 (en) | Prefix-based fat flows | |
US11929987B1 (en) | Preserving packet flow information across bump-in-the-wire firewalls |
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 |