CN111245698B - 用于操作网络装置的方法和设备 - Google Patents
用于操作网络装置的方法和设备 Download PDFInfo
- Publication number
- CN111245698B CN111245698B CN201911199915.9A CN201911199915A CN111245698B CN 111245698 B CN111245698 B CN 111245698B CN 201911199915 A CN201911199915 A CN 201911199915A CN 111245698 B CN111245698 B CN 111245698B
- Authority
- CN
- China
- Prior art keywords
- endpoint
- address
- server
- virtual network
- network
- 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.)
- Active
Links
Images
Classifications
-
- 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]
- H04L12/4675—Dynamic sharing of VLAN information amongst network nodes
- H04L12/4679—Arrangements for the registration or de-registration of VLAN attribute values, e.g. VLAN identifiers, port VLAN membership
-
- 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
- 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
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- 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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- 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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- 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/16—Implementing security features at a particular protocol layer
- H04L63/162—Implementing security features at a particular protocol layer at the data link layer
-
- 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/16—Implementing security features at a particular protocol layer
- H04L63/164—Implementing security features at a particular protocol layer at the network layer
Abstract
描述了用于配置虚拟网络的方法和系统。虚拟网络的端点可以被配置成对经由虚拟网络通信的装置之间的通信进限制。每个端点可以包括虚拟网络上的其他端点的地址的列表。通过从端点存储的地址列表中移除另一端点的地址,可以阻止端点与该另一端点通信。
Description
技术领域
本文描述的实施方式总体上涉及用于配置虚拟网络的系统和方法,并且更特别地涉及用于隔离虚拟网络内的装置的系统和方法。
背景技术
虚拟网络诸如虚拟可扩展局域网(virtual extensible local area network,VXLAN)可用于创建看上去在单个物理网络上但实际上可以跨越多个物理网络的网络。在为多个客户提供服务的数据中心中,每个客户可以具有自己的虚拟网络。使用虚拟网络可以允许每个客户的业务与其他客户的装置虚拟隔离。每个虚拟网络可以由网络标识符诸如VXLAN网络标识符 (VNI)来标识。
在使用虚拟网络时,作为虚拟网络的一部分的装置诸如服务器和/或网络装置可能不会彼此隔离。虚拟网络上的装置可能会与虚拟网络上的其他装置通信或者发现关于虚拟网络上的其他装置的信息,即使这些装置不旨在彼此访问。出于安全性和其他原因,最好可以将虚拟网络中的所有装置或者部分装置彼此隔离。网络运营商可能希望控制经由网络进行通信的装置之间的业务量的流动。例如,网络运营商可能希望减少过载的交换机接收到的业务的量。允许网络运营商控制装置之间的通信可能是更可取的。
在背景技术部分中讨论的主题不应仅仅由于其在背景技术部分中提及而被认为是现有技术。类似地,在背景技术中提到的问题或者与背景技术的主题有关的问题不应被认为是现有技术中先前已认识到的。背景技术部分中的主题仅表示不同的方法。
发明内容
以下发明内容仅用于说明性目的,并不旨在限制或约束具体实施方式。以下发明内容仅以简化的形式呈现各种所描述的方面,作为下面提供的更详细描述的序言。
虚拟网络技术可以用于封装网络分组。可以通过网络标识符来标识每个单独的虚拟网络。可以将网络标识符包括在源自虚拟网络以及/或者行进至虚拟网络的分组中。
虚拟网络的端点(endpoint),例如VXLAN隧道端点(VTEP),可以接收分组并从这些分组中移除封装。可以在服务器、交换机、监视器和/ 或任何其他装置中实现端点。可以以软件和/或硬件来实现端点。虚拟网络中的每个端点可以包括虚拟网络中其他端点的地址的列表。在发送分组时,端点可以将该分组发送至地址列表上的端点中之一。端点可能被限制将分组发送至不在地址列表上的端点,因为该端点可能除了地址列表上的端点以外未存储任何其他端点的地址。
通常,对于虚拟网络,与虚拟网络相关联的每个端点可以包括与虚拟网络相关联的每个其他端点的地址。端点上存储的地址列表可以包括虚拟网络上每个其他端点的地址。
虚拟网络可以包括不旨在彼此直接通信或彼此访问的装置,例如服务器和/或网络装置。在数据中心中,单个虚拟网络可以包括与多个客户和/ 或多个用户组对应的各个服务器。出于安全原因,最好阻止来自不同客户和/或不同用户组的服务器之间的所有通信。为了阻止虚拟网络内的服务器彼此通信,或者换句话说,为了使虚拟网络内的服务器彼此隔离,可以限制端点与某些其他端点通信。为了隔离虚拟网络内的服务器,可以将存储在与服务器对应的端点上的地址列表配置成选择该端点可以与哪些其他端点通信。隔离可以发生在网络的数据链路层,该数据链路层可以称为层2。
可以动态地将地址添加至端点上存储的地址列表以及/或者从端点上存储的地址列表中移除地址。为了减少到网络装置例如路由器的业务,可以从其他端点上存储的地址列表中移除与该网络装置相对应的端点的地址。该地址可以永久移除或临时移除。
在一方面,本技术的各种实现方式可以提供一种方法,其包括接收将第一装置与第二装置隔离的请求。第一装置和第二装置可以对应于同一虚拟网络。该方法可以包括确定与第一装置对应的第一端点的地址。该方法可以包括确定与第二装置对应的第二端点的地址。该方法可以包括配置第一端点以阻止与第二端点的地址通信。该方法可以包括配置第二端点以阻止与第一端点的地址通信。
在本说明书的上下文中,除非另有明确规定,否则计算机系统可以指代但不限于:“电子装置”、“操作系统”、“系统”、“基于计算机的系统”、“控制器单元”、“监视装置”、“控制装置”以及/或者它们的适合于当前相关任务的任何组合。
在本说明书的上下文中,除非另外明确指出,否则表述“计算机可读介质”和“存储器”旨在包括任何性质和种类的介质,该介质的非限制性示例包括:RAM、ROM、磁盘(CD-ROM、DVD、软盘、硬盘驱动器等)、 USB钥匙、闪存卡、固态驱动器和/或磁带驱动器。仍在本说明书的上下文中,“一个/一种”计算机可读介质和“该”计算机可读介质不应被解释为是同一计算机可读介质。相反,在适当的时候,“一个/一种”计算机可读介质和“该”计算机可读介质也可以被解释为第一计算机可读介质和第二计算机可读介质。
在本说明书的上下文中,除非另有明确规定,否则表述“装置”旨在包括服务器和/或其他计算机系统、网络装置诸如交换机和路由器、虚拟机和/或任何其他类型的计算装置。
在本说明书的上下文中,除非另有明确规定,否则词语“第一”、“第二”、“第三”等被用作形容词仅用于允许区分彼此修饰的名词的目的,而非用于描述这些名词之间的任何特定关系的目的。
本技术的实现方式每个都可以具有上述目的和/或方面中的至少之一,但是不必具有它们的全部。应当理解,由于试图实现上述目的而导致的本技术的某些方面可能不满足这个目的以及/或者可能满足本文未具体叙述的其他目的。
根据以下描述、附图和所附权利要求,本技术的实现方式的另外的和 /或替选的特征、方面和优点将变得明显。
附图说明
结合以下描述、权利要求和附图,将更好地理解本公开内容的这些和其他特征、方面和优点。本公开内容通过示例的方式示出,并且不受附图限制,在附图中,类似的附图标记指示类似的元件。
图1示出了可以用于实现本文描述的任何方法的示例计算系统。
图2示出了根据本公开内容的一个或更多个说明性方面的网络配置的示例。
图3示出了根据本公开内容的一个或更多个说明性方面的具有受限通信的网络配置的示例。
图4示出了根据本公开内容的一个或更多个说明性方面的用于配置装置的系统的示例。
图5是根据本公开内容的一个或更多个说明性方面的用于配置服务器的方法的流程图。
图6示出了根据本公开内容的一个或更多个说明性方面的具有测试服务器的网络配置的示例。
图7示出了根据本公开内容的一个或更多个说明性方面的具有负载平衡的网络配置的示例。
图8是根据本公开内容的一个或更多个说明性方面的用于基于装置类别来配置装置的方法的流程图。
图9示出了根据本公开内容的一个或更多个说明性方面的具有多个装置类别的网络配置的示例。
图10是根据本公开内容的一个或更多个说明性方面的用于隔离装置的方法的流程图。
具体实施方式
在对各种说明性实施方式的以下描述中参照了附图,这些附图形成了实施方式的一部分,并且在附图中通过图示的方式示出了可以实践本公开内容的各方面的各种实施方式。应当理解,在不脱离本公开内容的范围的情况下,可以利用其他实施方式,并且可以进行结构或者功能上的修改。
网络虚拟化技术(例如VXLAN)可用于提供虚拟网络。可以用网络标识符例如VNI来封装在装置之间发送的分组,以指示分组与哪个虚拟网络相关联。即使装置可能未直接彼此连接,虚拟网络也可以将装置聚集在一起。虚拟网络可以彼此隔离。一个虚拟网络中的装置可能无法与另一虚拟网络中的装置通信。在数据中心中,可以为不同的客户分配不同的虚拟网络。这样,可以阻止一个客户访问另一个客户端的服务器和/或虚拟机。
端点例如VTEP可以用于对在虚拟网络上传输的分组进行封装和/或解封装。每个端点可以包括与虚拟网络相关联的地址的列表,所述地址例如为其他端点的和/或经由其他端点进行通信的装置的IP地址和/或MAC 地址。端点可以与它们的地址列表上的装置通信。端点可以不与不在地址列表上的装置通信。端点可以从数据库和/或配置系统中检索地址列表。数据库和/或配置系统可以将地址列表推送到端点。
为了阻止不旨在彼此直接通信的装置在虚拟网络内彼此通信,可以将地址列表配置成包括和/或排除某些地址。端点中存储的地址列表可以包括与该端点的虚拟网络相关联的每个其他端点的地址。存储在端点中的地址列表可以包括与该端点的虚拟网络相关联的其他端点的子集的地址。地址列表可以包括虚拟网络中网关的地址,但可以不包括虚拟网络中其他服务器的地址。
图1示出了根据本技术的实施方式的计算环境100的图。在一些实施方式中,计算环境100可以由以下中任何一个来实现:常规个人计算机、服务器、路由器、交换机、控制器和/或电子装置(例如但不限于移动装置、平板装置、服务器、控制器单元、控制装置、监视装置等)以及/或者它们的适合于当前相关任务的任何组合。在一些实施方式中,计算环境100包括各种硬件部件,包括由处理器110统一代表的一个或更多个单核处理器或多核处理器、固态驱动器120、存储装置例如随机存取存储器130 以及输入/输出接口150。计算环境100可以是专门设计用于在数据中心环境中运行的计算机。计算环境100可以是通用计算机系统。
在一些实施方式中,计算环境100也可以是以上列出的系统中之一的子系统。在一些实施方式中,计算环境100可以是“现成的”通用计算机系统。在一些实施方式中,计算环境100可以分布在多个系统中。计算环境100可以专用于本技术的实现。如本技术领域的技术人员可以理解的,可以在不脱离本技术的范围的情况下设想关于如何实现计算环境100的多种变型。
可以通过一个或更多个内部和/或外部总线160(例如PCI总线、通用串行总线、IEEE 1394“Firewire(火线)”总线、SCSI总线、串行ATA总线、ARINC总线等)来实现计算环境100的各种部件之间的通信,各种硬件部件被电耦接至该内部和/或外部总线160。
输入/输出接口150可以提供联网能力例如有线访问或无线访问。作为示例,输入/输出接口150可以包括网络接口,例如但不限于:一个或更多个网络端口、一个或更多个网络插座、一个或更多个网络接口控制器等。对于本技术领域的技术人员而言,可以如何实现网络接口的多个示例将变得明显。例如但不限于,网络接口可以实现特定的物理层和数据链路层标准,例如以太网(Ethernet)、光纤通道(Fibre Channel)、Wi-Fi或令牌环(TokenRing)。特定的物理层和数据链路层可以为完整的网络协议栈提供基础,从而允许在同一局域网(LAN)上的小型计算机组之间的通信,以及通过可路由协议例如Internet协议(IP)的大规模网络通信。
根据本技术的实现方式,固态驱动器120存储适合于被加载到随机存取存储器130中并由处理器110执行的程序指令。例如,程序指令可以是库的一部分或者可以是应用的一部分。尽管示为固态驱动器120,但是可以使用任何类型的存储器来代替固态驱动器120,例如硬盘、光盘和/或可移动存储介质。
图2示出了根据本公开内容的一个或更多个说明性方面的网络配置的示例。服务器210至213可以包括参与虚拟网络的可以由网络标识符来标识的服务器。服务器210至213可以是同一虚拟网络的成员。
服务器213可以充当与外部服务230通信的网关。外部服务230可以包括互联网和/或虚拟网络外部的任何其他服务。尽管示出为服务器210 至213,但是服务器210至213可以是任何装置,例如交换机或其他网络装置。
服务器210至213可以分别包括端点220至223以及/或者与端点220 至223通信。端点220至223可以对经由虚拟网络传输的数据进行封装和 /或解封装。每个端点220至223可以包括其他端点220至223的地址的列表。端点220可以存储包括端点221至223的地址的地址列表。当服务器210请求发送分组时,端点220可以确定哪个其他端点221至223对应于分组的地址。如果服务器210将消息寻址到服务器212,则端点220可以确定分组将被发送至端点222。然后,端点220可以封装分组并且将分组转发至端点222。然后,端点222可以将接收到的分组解封装并且将分组提供给服务器212。
如果服务器210至212之一请求与外部服务230通信,则服务器210 至212可以经由可以充当网关的服务器213发送和/或接收通信。如果虚拟网络外部的装置请求与服务器210至212之一通信,则服务器213可以从外部装置接收通信,并且将通信转发至被请求的服务器210至212。
当服务器210执行网络扫描时,服务器210可以接收有关服务器211 至213的信息。在图2示出的示例性网络配置中,服务器210至213中的每个可以被配置成与其他服务器210至213中的每个通信。端点220至 223中的每个可以包括其他端点220至223中的每个的地址。例如,服务器211可能能够与服务器210、服务器212和服务器213中的任何一个通信。可能期望阻止服务器210、211和/或212之间的通信。服务器210、 211和/或212可能分别由不同的客户管理。尽管网络运营商可能希望使服务器210、211和/或212彼此隔离,但运营商可能希望服务器210、211 和/或212共享网络基础结构,例如充当网关的服务器213。如下面进一步详细描述的,可以将端点220至222配置成阻止服务器210至212之间的通信。
图3示出了根据本公开内容的一个或更多个说明性方面的具有受限通信的网络配置的示例。服务器310至313可以是同一虚拟网络的成员。在图3所示的示例性网络配置中,可以阻止服务器310至312彼此通信。与图2中的端点220至222彼此知道不同,端点320至322可能彼此不知道。端点320存储的地址列表可能不包括端点321和端点322的地址。
如果服务器310请求与服务器311通信,则端点320可以在其存储的地址列表中搜索与服务器311对应的端点的地址。端点320可能未在地址列表中找到端点321的地址,因此可能无法直接与端点321和/或服务器 311通信。当服务器310执行网络扫描时,服务器310可能会接收有关服务器313的信息,但可能不会接收有关服务器311至312的信息。服务器310至312中的每个服务器都可能能够与服务器313通信,并且可能能够通过服务器313访问外部服务330。
通过将端点320至322配置成彼此不知道,服务器310至312可以属于同一虚拟网络但彼此隔离。服务器310至312可以在物理网络的数据链路层即层2处彼此隔离。服务器310至312中的每个服务器都能够访问虚拟网络的共享基础结构,例如可以充当网关的服务器313。虚拟网络可以包括对应于不同客户的服务器。虚拟网络可以包括维护网络,网络管理员使用该维护网络执行对虚拟网络中的服务器的维护。通过配置端点320至 322,服务器310至312可以经由同一虚拟网络通信但彼此隔离。如果服务器310至312对应于不同的客户,这可能是特别期望的。
图4示出了根据本公开内容的一个或更多个说明性方面的用于配置装置的系统的示例。配置装置410可以用于配置网络上的装置。配置装置410可以对装置进行配置以在虚拟网络内运行。配置装置410可以从数据库420检索关于网络的信息。数据库420可以包括网络上的装置中的每个装置的配置文件(profile)。每个配置文件可以指示装置的地址、装置的物理位置、与装置相对应的虚拟网络、装置的类型、描述装置的硬件的信息以及/或者关于装置的任何其他信息。
数据库420可以存储有关服务器430和服务器440以及/或者交换机 450中的每个的信息。配置装置410可以查询数据库420,以确定要应用于服务器430和440以及/或者交换机450的配置。尽管描述为数据库420,但是可以使用任何类型的存储器。在将配置应用于服务器430和440以及 /或者交换机450之后,服务器430和440可以经由虚拟网络进行通信。配置装置410可以在任何时间重新配置服务器430、服务器440和/或交换机450。每次在虚拟网络中添加装置和/或从虚拟网络中移除装置时,配置装置410都可以重新配置服务器430、服务器440和/或交换机450。下面描述的在图5中的方法500是可以由配置装置410执行以配置服务器430、服务器440和/或交换机450的方法。
图5是根据本公开内容的一个或更多个说明性方面的用于配置服务器的方法的流程图。在一个或更多个实施方式中,可以由一个或更多个计算装置或实体来执行方法500或其中的一个或更多个步骤。可以不限于由配置装置410、数据库420、服务器430至440和/或交换机450执行方法 500的全部或部分。可以由计算装置100的部件执行方法500的全部或部分。方法500或其中的一个或更多个步骤可以体现在计算机可执行指令中,所述计算机可执行指令被存储在计算机可读介质中诸如非暂态计算机可读介质中。可以省略或在顺序上改变流程图中的某些步骤或步骤中的某些部分。
在步骤505,可以将服务器连接至网络。除了或代替将服务器连接至网络,在步骤505处,其他事件也可以触发方法500。服务器可能先前已连接至网络,并在步骤505被激活。在步骤505可以接收用于配置服务器的指令。在步骤505可以接收用于配置服务器参与虚拟网络的指令。可以在与服务器相对应的虚拟网络中检测变化。当检测到变化之后,可以重新配置服务器。
尽管在步骤505描述为服务器,但是可以使用方法500对参与虚拟网络的任何装置进行配置。可以对交换机、路由器、网关或任何网络装置进行配置。
在步骤510,可以检索用于服务器的配置信息。可以从数据库中诸如数据库420中检索配置信息。配置装置,诸如配置装置410,可以查询数据库以检索用于对服务器进行配置的配置信息。数据库可以包括与服务器在其上进行通信的网络有关的信息。数据库可以包括关于虚拟网络的信息。数据库可以包括与虚拟网络相关联的装置的信息。数据库可以包括与虚拟网络相关联的装置的地址。可以查询数据库以检索关于服务器的配置信息。
在步骤513,可以确定虚拟网络上是否存在任何网关。可以查询数据库诸如数据库420以确定在虚拟网络上是否存在任何网关。配置信息可以指示在虚拟网络上是否有任何网关。如果在虚拟网络上没有网关,则在步骤525可以确定与虚拟网络的所有其他端点相对应的地址的列表。如果在虚拟网络上没有指定的网关,则虚拟网络上的每个装置都可以被配置成网关。如果在虚拟网络上有一个或更多个网关,则在步骤515可以确定服务器是否为网关。
在步骤515,可以确定服务器是否为网关。配置信息可以指示服务器是否为网关,以及/或者是否应该将服务器配置成网关。可以查询数据库以确定服务器是否为网关。网关可以是在网络之间传输数据的装置。网关可以从虚拟网络接收数据,并且在不同的虚拟网络或物理网络上发送数据,反之,网关可以向虚拟网络发送数据,并且接收来自不同的虚拟网络或物理网络上的数据。数据库可以指示是否应该将服务器配置成与虚拟网络上的所有其他端点进行通信,或者仅与虚拟网络上的其他端点的部分端点进行通信。
如果服务器是网关,则在步骤525可以确定与虚拟网络上的所有其他端点相对应的地址的列表。地址列表可以包括与充当网关的服务器和不充当网关的服务器相对应的地址。如果服务器不是网关,则在步骤520可以确定虚拟网络的网关的端点的地址的列表。该地址列表可能不包括不是网关的装置的端点。
在步骤520或525,可以查询数据库诸如数据库420以确定其他端点的地址。该地址可以包括IP地址、MAC地址和/或可用于与其他端点进行通信的任何其他类型的地址。可以在步骤525查询数据库以确定虚拟网络的所有其他端点的地址,或者可以在步骤520查询数据库以确定虚拟网络的网关端点的地址。
在步骤530,可以使用在步骤520或525确定的地址列表来配置服务器。可以将与服务器相对应的端点配置成在虚拟网络上通信。可以将端点配置成与在步骤520或步骤525确定的地址列表中的端点通信。如果服务器是网关,则在步骤530,可以将服务器的端点配置成与虚拟网络上的所有其他装置通信。如果服务器不是网关,则在步骤530,可以将服务器的端点配置成与虚拟网络上的网关通信。如果服务器不是网关,则可以将该服务器与虚拟网络上的其他服务器隔离。可以在服务器在其上进行通信的物理网络的数据链路层即层2将服务器隔离。
在步骤535,可以将关于服务器的信息传播至列表上的地址。如果服务器是网关,则在步骤535,可以将关于服务器的信息发送至虚拟网络上的所有其他装置。如果服务器不是网关,则在步骤535,可以将关于服务器的信息发送至虚拟网络上的网关。该信息可以包括服务器的地址、服务器的端点的地址和/或关于服务器的任何其他信息。
图6示出了根据本公开内容的一个或更多个说明性方面的具有测试服务器的网络配置的示例。在图6示出的示例网络中,服务器610至613 经由虚拟网络连接。服务器610至613经由其各自的端点620至623进行通信。服务器612和613可以充当能够与外部服务630进行通信的网关。
例如,可以使用以上描述的方法将服务器610和611彼此隔离。端点 620可以被配置有不包括端点621的地址的端点地址列表。类似地,端点 621可能不存储端点620的地址。
服务器612可以是虚拟网络中正被配置和/或测试的装置。服务器612 可以被连接至虚拟网络以用于调试和/或其他目的。因为服务器612当前在测试中并且可能是不稳定的,因此阻止服务器612处理通信可能会更可取。服务器612可以被配置成网关,但是可能尚不能被信任用于执行针对虚拟网络的网关功能。在服务器612完成测试之前,可以将业务路由至服务器613而不是服务器612。
为了防止将传入的业务发送至服务器612,可以将端点620、621和/ 或623配置成阻止向服务器612进行传输。端点620、621和/或623可能在其各自的地址列表中不包括端点622的地址。以此方式,可以阻止端点 620、621和/或623将分组发送至端点622。
为了执行服务器612的测试,服务器612可以与服务器610、611和/ 或613进行通信。服务器612的端点622可以被配置成存储端点620、621 和623的地址。因此,即使端点620、621和623可能无法将数据发送至端点622,端点622也可以能够将数据发送至端点620、621和/或623。这使得服务器612和/或端点622可以在虚拟网络内执行各种测试,而不损害虚拟网络的稳定性。
图7示出了根据本公开内容的一个或更多个说明性方面的具有负载平衡的网络配置的示例。网络运营商可能希望平衡虚拟网络内各种装置的负载。如果网络具有多个网关,则可以通过平衡多个网关之间的负载来提高网络效率。可以通过创建和破坏装置之间的链路来执行虚拟网络中的负载平衡。
服务器710至713可以包括虚拟网络内的服务器。服务器712和713 可以充当网关并且可以通过链路744和745与外部服务730进行通信。服务器710和711可以使用端点720和721来与服务器712和713的端点722 和723进行通信。使用以上所描述的方法可以阻止服务器710和711彼此之间直接通信。
网络运营商可能希望平衡服务器712与713之间的负载。为了平衡负载,可以对链路740至743进行调整。如果服务器712过载,则链路742 和740可能会被破坏,或者换句话说,被去激活,在这种情况下,所有网关业务都可能流向服务器713。如果服务器713过载,则链路743和741 可能会被破坏,在这种情况下,所有网关业务都可能流向服务器712。
可以基于网络负载、处理器使用率、内存使用率、响应时间和/或任何其他性能指标来动态调整链路740至743。可以基于计划的停机时间或其他维护来动态调整链路740至743。例如,如果正在对服务器713执行维护,则可能会暂时破坏链路745、741和/或743直到维护完成。
可以破坏链路740至743,在这种情况下,可以调整链路任一端的端点以破坏该链路。为了破坏链路742,可以从端点721上的地址列表中移除端点722的地址,并且可以从端点722上的地址列表中移除端点721的地址。从而,端点722可能无法与端点721进行通信,并且端点721可能无法与端点722进行通信。替选地,可以将链路变成仅有一个端点可以将数据传输至其他端点的单向链路。为了使链路741变成单向链路,可以从端点720上的地址列表中移除端点723的地址。
配置装置410可以通过在虚拟网络上的装置之间创建和/或破坏链路来动态地调整虚拟网络的配置。配置装置410可以接收与虚拟网络相对应的网络活动的指示,并且可以基于该指示来调整虚拟网络的配置。
配置装置410可以管理负载平衡处理,而无需将服务器710至713配置成进行负载平衡。服务器710至713可能不执行负载平衡软件。配置装置410可以通过创建和破坏链路740至743来执行负载平衡。无论服务器 710至713之间是否存在层2连接,都可以执行负载平衡。在图7示出的示例中,在没有服务器710与711之间的层2连接以及服务器712与713 之间的层2连接的情况下,执行负载平衡。
图8是根据本公开内容的一个或更多个说明性方面的用于基于装置类别对装置进行配置的方法800的流程图。服务器和/或其他装置可以在网络中扮演各种角色并且可以被分配类别。装置的类别可以确定该装置将被配置成与哪种其他类型的装置进行通信。例如,如果装置是网关,则该网关可以被配置成与虚拟网络上的所有其他类别的装置进行通信。在另一示例中,如果装置是存储装置,则该存储装置可以被配置成与访问该存储装置的装置类别进行通信,并且可能不被配置成与不访问该存储装置的装置类别进行通信。这可以通过阻止未授权装置的访问来提高存储的安全性和/或稳定性。
在一个或更多个实施方式中,可以由一个或更多个计算装置或实体执行方法800或其中的一个或更多个步骤。可以不限于由配置装置410、数据库420、服务器430至440和/或交换机450执行方法800的全部或部分。可以由计算装置100的部件执行方法800的全部或部分。方法800或其中的一个或更多个步骤可以体现在计算机可执行指令中,所述计算机可执行指令被存储在计算机可读介质中诸如非暂态计算机可读介质中。可以省略或在顺序上改变流程图中的某些步骤或步骤中的某些部分。
在步骤805,可以将装置连接至网络。在步骤805执行的动作可以与以上关于步骤505所描述的那些动作类似。装置可以包括服务器、交换机、路由器、存储装置或任何其他装置。
在步骤810,可以检索用于装置的配置信息。在步骤810执行的动作可以与以上关于步骤510所描述的那些动作类似。在步骤815,可以确定装置的类别。配置可以指示装置的类别。装置的类别可以例如由用户预先定义。装置的示例性类别包括交换机、路由器、内部网关、外部网关、存储服务器、网络(web)服务器和/或应用服务器。这些装置的类别是示例性的,并且可以定义并且使用任何类别的装置。
在步骤820,可以确定与装置进行通信的其他装置的类别。每个装置类别的规则可以例如由用户预先定义。在步骤825,可以生成可以与装置进行通信的地址的列表。例如,规则可以指示:应用服务器可以与内部网关、外部网关和存储服务器进行通信。在此示例中,如果在步骤815将装置确定为应用服务器,则对于虚拟网络中的每个内部网关、外部网关和存储服务器,可以确定与该装置相对应的端点的地址并将其存储在列表中。规则可以指示:装置之间的通信链路是单向链路还是双向链路,并且可以相应地生成地址列表。
在步骤830,可以使用地址列表对该装置的端点进行配置。在步骤830 执行的动作可以与以上关于步骤530所描述的那些动作类似。
图9示出了根据本公开内容的一个或更多个说明性方面的具有多个装置类别的网络配置的示例。存储服务器910、web服务器911、应用服务器912、内部网关913和外部网关914可以经由虚拟网络进行通信。可以基于该装置的类别对装置910至914中的每一个装置进行配置。图9示出的配置是示例性的,任何类别和规则均可用于配置装置之间的通信。
应用于图9示出的示例性网络的规则可以指示:存储服务器910可以被配置成与应用服务器912和web服务器921进行通信。因此,存储服务器910的端点920可以被配置成与web服务器911的端点921和应用服务器912的端点922进行通信。如上所述,端点920可以包括地址列表,其中地址列表可以包括端点921和922的地址。规则可以指示:存储服务器 910不与内部网关912和外部网关914进行通信。从而,端点920存储的地址列表可能不包括网关913和914的端点923和924的地址。
web服务器911可以配置成与存储服务器910、内部网关913和外部网关914进行通信。因此,web服务器911的端点921可以包括端点920、 923和924的地址。应用服务器912可以被配置成与存储服务器910、内部网关913和外部网关914进行通信。因此,端点922的地址列表可以包括端点920、923和924的地址。
规则可以指示:内部网关913可以与存储服务器910、web服务器911 和应用服务器912进行通信。规则可以指示:内部网关913可能不被允许与外部网关914进行通信。因此,端点923可以存储包括端点920、921 和922的地址的地址列表。由端点923存储的地址列表可能不包括与外部网关914相对应的端点924的地址。
规则可以指示:允许外部网关914与web服务器911和应用服务器 912进行通信。因此,端点924可以存储包括端点921和922的地址的地址列表。外部网关914可以与外部服务930进行通信。外部服务930可能不在虚拟网络中,因此外部网关914可以直接与外部服务930进行通信,而不是通过端点924与外部服务930进行通信。替选地,外部网关914可以经由端点924与外部服务930进行通信。
图10是根据本公开内容的一个或更多个说明性方面的用于隔离装置的方法1000的流程图。在一个或更多个实施方式中,可以由一个或更多个计算装置或实体执行方法1000或其中的一个或更多个步骤。可以不限于由配置装置410、数据库420、服务器430至440和/或交换机450执行方法1000的全部或部分。可以由计算装置100的部件执行方法1000的全部或部分。方法1000或其中的一个或更多个步骤可以体现在计算机可执行指令中,所述计算机可执行指令被存储在计算机可读介质中诸如非暂态计算机可读介质中。可以省略或在顺序上改变流程图中的某些步骤或步骤中的某些部分。
在步骤1010,可以接收将第一装置与第二装置隔离的请求。第一装置和第二装置可以经由同一虚拟网络进行通信。第一装置和第二装置可以各自操作和/或与端点相关联。所述装置可以使用端点经由虚拟网络进行通信。该请求可以包括阻止第一装置与第二装置通信的请求和/或阻止第二装置与第一装置通信的请求。
在步骤1020,可以从第二装置上的地址列表中移除第一装置的地址。如果请求包括阻止第二装置与第一装置通信的请求,则执行步骤1020。被移除的地址可以包括与第一装置相关联的端点的地址。为了移除该地址,可以将地址的替换列表发送至第二装置和/或第二装置的端点。
在步骤1030,可以从第一装置上的地址列表中移除第二装置的地址。如果请求包括阻止第一装置与第二装置通信的请求,则执行步骤1030。在步骤1030执行的动作可以与以上关于步骤1020所描述的那些动作类似。
在步骤1020或1030将地址移除之后,第一装置和第二装置可以彼此隔离。该隔离可以发生在与每个装置相关联的物理网络的数据链路层,即层2中。可以阻止第一装置和第二装置彼此直接通信。
尽管已经参考以特定顺序执行的特定步骤描述和示出了上述实现,但是应该理解,可以在不背离本技术的教示的情况下,对这些步骤进行组合、细分或重新排序。可以并行或串行地执行步骤中的至少一些步骤。因此,步骤的顺序和群组不是本技术的限制。
应当明确理解:并非在本技术的每个实施方式中都需要享有本文提到的所有技术效果。
对本技术的上述实现的修改和改进对本领域的技术人员而言将变得明显。前述描述旨在是示例性的而非限制性的。因此,旨在仅由所附权利要求书的范围来限定本技术的范围。
Claims (15)
1.一种用于操作网络装置的方法,所述方法包括:
在第一装置的第一端点中存储第一地址列表,所述第一地址列表包含与虚拟网络相关联的、所述第一端点被授权与之通信的装置的端点的地址;
在所述第一装置处接收将所述第一装置与第二装置隔离的请求,其中,所述第一装置与所述第二装置经由所述虚拟网络进行通信;
在所述第一装置处基于所存储的第一地址列表确定与所述第二装置对应的第二端点的第二地址;以及
通过从存储在所述第一端点中的所述第一地址列表中移除所述第二端点的所述第二地址来配置所述第一端点以阻止与所述第二端点的所述第二地址通信。
2.根据权利要求1所述的方法,还包括:
在所述第二装置的所述第二端点中存储第二地址列表,所述第二地址列表包含与所述虚拟网络相关联的、所述第二端点被授权与之通信的装置的端点的地址;
在所述第二装置处接收将所述第二装置与所述第一装置隔离的请求;
在所述第二装置处基于所存储的第二地址列表确定与所述第一装置对应的所述第一端点的第一地址;以及
通过从存储在所述第二端点中的所述第二地址列表中移除所述第一端点的所述第一地址来配置所述第二端点以阻止与所述第一端点的所述第一地址通信。
3.根据权利要求1所述的方法,其中,配置所述第一端点包括生成与所述虚拟网络相关联的其他端点的地址的地址列表。
4.根据权利要求3所述的方法,还包括将所述地址列表发送至所述第一装置。
5.根据权利要求3所述的方法,其中,所述第一端点被配置成与所述第一地址列表上的装置的端点的地址通信。
6.根据权利要求3所述的方法,其中,所述第一地址列表不包括所述第二端点的所述第二地址。
7.根据权利要求2所述的方法,还包括:
配置所述第一端点与网关通信;以及
配置所述第二端点与所述网关通信。
8.根据权利要求7所述的方法,还包括:
使所述第一端点存储与所述网关对应的第三端点的第三地址;以及
使所述第二端点存储所述第三端点的所述第三地址。
9.根据权利要求2所述的方法,还包括:
向数据库查询所述第一端点的所述第一地址;以及
向所述数据库查询所述第二端点的所述第二地址。
10.根据权利要求2所述的方法,还包括:
确定是否将与所述虚拟网络相关联的第三端点配置为网关;
在确定所述第三端点被配置为网关之后,配置所述第一端点和所述第二端点与所述第三端点通信。
11.根据权利要求10所述的方法,还包括:
向所述第一端点发送所述第三端点的第三地址;以及
向所述第二端点发送所述第三端点的所述第三地址。
12.根据权利要求1所述的方法,其中,所述第一装置和所述第二装置与不同的用户组相关联。
13.根据权利要求1所述的方法,其中,所述虚拟网络包括用于对所述第一装置和所述第二装置执行维护的网络。
14.一种设备,包括:
至少一个处理器,以及
存储装置,其包括非暂态计算机可读介质,所述非暂态计算机可读介质存储可执行指令,当所述可执行指令由所述至少一个处理器执行时使所述设备执行权利要求2所述的方法。
15.一种设备,包括:
至少一个处理器;以及
存储装置,其包括非暂态计算机可读介质,所述非暂态计算机可读介质存储可执行指令,当所述可执行指令由所述至少一个处理器执行时使所述设备执行权利要求1所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18315045.7 | 2018-11-29 | ||
EP18315045.7A EP3661150B1 (en) | 2018-11-29 | 2018-11-29 | Systems and methods for configuring virtual networks |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111245698A CN111245698A (zh) | 2020-06-05 |
CN111245698B true CN111245698B (zh) | 2022-09-09 |
Family
ID=65657185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911199915.9A Active CN111245698B (zh) | 2018-11-29 | 2019-11-29 | 用于操作网络装置的方法和设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11133960B2 (zh) |
EP (1) | EP3661150B1 (zh) |
CN (1) | CN111245698B (zh) |
CA (1) | CA3062771A1 (zh) |
DK (1) | DK3661150T3 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090007218A1 (en) * | 2007-06-30 | 2009-01-01 | Hubbard Scott M | Switched-Based Network Security |
US10348767B1 (en) * | 2013-02-26 | 2019-07-09 | Zentera Systems, Inc. | Cloud over IP session layer network |
US9565167B2 (en) * | 2015-01-21 | 2017-02-07 | Huawei Technologies Co., Ltd. | Load balancing internet protocol security tunnels |
US10291654B2 (en) * | 2015-09-30 | 2019-05-14 | Symantec Corporation | Automated construction of network whitelists using host-based security controls |
-
2018
- 2018-11-29 EP EP18315045.7A patent/EP3661150B1/en active Active
- 2018-11-29 DK DK18315045.7T patent/DK3661150T3/da active
-
2019
- 2019-11-27 CA CA3062771A patent/CA3062771A1/en active Pending
- 2019-11-27 US US16/698,511 patent/US11133960B2/en active Active
- 2019-11-29 CN CN201911199915.9A patent/CN111245698B/zh active Active
Non-Patent Citations (1)
Title |
---|
Virtual eXtensible Local Area Network (VXLAN): A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks;M. Mahalingam等;《IETF rfc7348》;20140831;参见第6-8页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111245698A (zh) | 2020-06-05 |
DK3661150T3 (da) | 2020-11-16 |
EP3661150B1 (en) | 2020-10-21 |
EP3661150A1 (en) | 2020-06-03 |
US11133960B2 (en) | 2021-09-28 |
CA3062771A1 (en) | 2020-05-29 |
US20200177415A1 (en) | 2020-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8909758B2 (en) | Physical server discovery and correlation | |
US11516050B2 (en) | Monitoring network traffic using traffic mirroring | |
US7440415B2 (en) | Virtual network addresses | |
CA3139685A1 (en) | Systems and methods for recording metadata about microservices for requests to the microservices | |
CN110290174B (zh) | 一种主主集群的控制方法以及控制节点 | |
US11368488B2 (en) | Optimizing a security configuration of a networked environment | |
EP2525532A1 (en) | Method and apparatus of connectivity discovery between network switch and server based on vlan identifiers | |
US20120311123A1 (en) | System and method for supporting consistent handling of internal id spaces for different partitions in an infiniband (ib) network | |
AU2019391798B2 (en) | Detecting attacks using handshake requests systems and methods | |
US11750704B2 (en) | Systems and methods to retain existing connections so that there is no connection loss when nodes are added to a cluster for capacity or when a node is taken out from the cluster for maintenance | |
CN112997452B (zh) | 具有策略实施的基于云的路由器 | |
EP3679706A1 (en) | Rdp proxy support in presence of rdp server farm with session directory or broker | |
TW201541919A (zh) | 可縮放位址解析之技術 | |
WO2023114184A1 (en) | Encrypted data packet forwarding | |
CN111245698B (zh) | 用于操作网络装置的方法和设备 | |
US20230097099A1 (en) | Selection of gateways for reconnection upon detection of reachability issues with backend resources | |
US20220014521A1 (en) | Systems and methods for supporting unauthenticated post requests through a reverse proxy enabled for authentication | |
US11316884B2 (en) | Software defined network white box infection detection and isolation | |
WO2020150856A1 (en) | Determining spans for network configuration dependencies | |
TW202220409A (zh) | 基於多接取邊緣運算的網路安全系統和網路安全方法 |
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 |