CN110301125A - 虚拟机的逻辑端口认证 - Google Patents

虚拟机的逻辑端口认证 Download PDF

Info

Publication number
CN110301125A
CN110301125A CN201780086691.3A CN201780086691A CN110301125A CN 110301125 A CN110301125 A CN 110301125A CN 201780086691 A CN201780086691 A CN 201780086691A CN 110301125 A CN110301125 A CN 110301125A
Authority
CN
China
Prior art keywords
logic port
virtual
virtual machine
logic
computer
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
Application number
CN201780086691.3A
Other languages
English (en)
Other versions
CN110301125B (zh
Inventor
M·纳拉帕雷迪
A·卡特雷卡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nicira Inc
Original Assignee
Nicira Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nicira Inc filed Critical Nicira Inc
Publication of CN110301125A publication Critical patent/CN110301125A/zh
Application granted granted Critical
Publication of CN110301125B publication Critical patent/CN110301125B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0892Network architectures or network communication protocols for network security for authentication of entities by using authentication-authorization-accounting [AAA] servers or protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/162Implementing security features at a particular protocol layer at the data link layer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Power Engineering (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

计算机系统认证虚拟机的逻辑端口。逻辑网络维护具有该逻辑端口的逻辑交换机的逻辑网络数据。虚拟交换机标识虚拟机的逻辑端口认证请求,并传输逻辑端口认证请求。逻辑端口认证器接收逻辑端口认证请求,并传输逻辑端口认证请求以递送到认证数据库。逻辑端口认证器接收由认证数据库传输的逻辑端口认证响应,其准许虚拟机的逻辑端口认证请求并传输逻辑端口的授权数据。当虚拟机响应于授权数据使用逻辑端口时,虚拟交换机传输虚拟机的用户数据。

Description

虚拟机的逻辑端口认证
M·纳拉帕雷迪和A·卡特雷卡
相关申请
本申请涉及并要求2016年12月22日提交的名称为“虚拟机的逻辑端口认证(LOGICAL PORT AUTHENTICATION FOR VIRTUAL MACHINES)”的美国非临时专利申请15/387,828的优先权,其全部内容通过引用并入本文。
背景技术
计算机硬件执行操作系统软件和用户应用软件。计算机硬件包括组件,诸如中央处理单元(CPU)、随机存取存储器(RAM)、网络接口卡(NIC)和数据存储驱动器。CPU执行操作系统软件以控制计算机硬件。CPU执行用户应用软件以与操作系统软件交互。操作系统软件代表用户应用软件控制计算机硬件。
引入虚拟化软件以免除计算机硬件和用户应用软件之间的接口。虚拟化软件与支持用户应用程序的操作系统软件交互-称为客户操作系统和客户应用程序。虚拟化软件还与各种计算机硬件交互,包括CPU、RAM、NIC和存储驱动器。虚拟化软件包括超级管理程序(hypervisor)和虚拟机。虚拟机软件包括虚拟CPU、虚拟RAM、虚拟NIC和虚拟存储驱动器。客户操作系统与虚拟机而不是物理计算机硬件交互。例如,客户操作系统为数据通信服务调用虚拟NIC。
超级管理程序实现虚拟交换机以网络化虚拟机。虚拟交换机在单个主机上运行的各个虚拟机之间交换数据。虚拟交换机还在虚拟机和物理NIC之间交换数据,以便将那些虚拟机与通常在其他主机和其他系统上的其他虚拟机连接起来。为了协助网络用户,超级管理程序可以允许在其控制平面中部署逻辑网络覆盖以服务虚拟机。例如,客户用户应用程序调用其客户OS来交换应用程序数据。客户OS命令虚拟NIC交换应用程序数据,虚拟NIC与超级管理程序实例化的虚拟交换机交换数据。基于逻辑网络覆盖,超级管理程序可以将出口流量的逻辑目的地地址从虚拟机转换为物理主机目的地地址,并利用寻址到目的地虚拟机的主机的新网络分组报头来封装出口流量。同样,超级管理程序可以解封目的地为本地虚拟机的分组,以维持虚拟机驻留在逻辑网络上的错觉。
逻辑网络管理器在超级管理程序控制平面中的多个超级管理程序上分配逻辑网络覆盖。超级管理程序使用逻辑网络覆盖来经由虚拟交换机和执行封装(encapsulation)和解封(decapsulation)操作的相关隧道端点将逻辑网络流量从虚拟NIC转换为的封装的物理网络流量。遗憾的是,当虚拟机使用逻辑网络覆盖中的逻辑端口时,逻辑网络和虚拟网络不能有效且高效地控制虚拟机和虚拟交换机之间的访问。
虚拟交换机向使用逻辑端口的虚拟机提供的开放访问促进了差的服务质量。某些虚拟机可能会过度使用逻辑端口,而其虚拟交换机会以其他虚拟机为代价。已经开发了控制对数据网络的访问的技术。例如,电气和电子工程师协会(IEEE)标准802.1x规定了可扩展认证协议(EAP)。EAP通常用于控制对局域网(LAN)的计算机访问。EAP尚未针对提供逻辑网络覆盖的虚拟交换机进行优化。
发明内容
计算机系统认证虚拟机的逻辑端口。逻辑网络维护具有该逻辑端口的逻辑交换机的逻辑网络数据。虚拟交换机标识虚拟机的逻辑端口认证请求,并传输逻辑端口认证请求。逻辑端口认证器接收逻辑端口认证请求,并传输逻辑端口认证请求以递送到认证数据库。逻辑端口认证器接收由认证数据库传输的逻辑端口认证响应,其准许虚拟机的逻辑端口认证请求并传输逻辑端口的授权数据。当虚拟机响应于授权数据使用逻辑端口时,虚拟交换机传输虚拟机的用户数据。
附图说明
图1示出了用于认证虚拟机的逻辑端口的计算机系统。
图2示出了用于认证虚拟机的逻辑端口的计算机系统。
图3示出了使用逻辑网络控制器来认证虚拟机的逻辑端口的计算机系统。
图4示出了计算机系统的操作,其使用逻辑网络控制器来认证虚拟机的逻辑端口。
图5示出了使用超级管理程序来认证虚拟机的逻辑端口的计算机系统。
图6示出了使用超级管理程序来认证虚拟机的逻辑端口的计算机系统的操作。
图7示出了使用逻辑网络管理器来认证虚拟机的逻辑端口的计算机系统。
图8示出了使用逻辑网络管理器来认证虚拟机的逻辑端口的计算机系统的操作。
图9示出了用于认证虚拟机的逻辑端口的计算机系统的操作。
具体实施方式
图1示出了用于认证虚拟机的逻辑端口的计算机系统100。计算机系统100包括多个主机计算机,这些主机计算机配置有软件并且通过数据通信网络耦合。在图1中,计算机系统100针对用户、逻辑网络、虚拟网络和硬件垂直分成四层。计算机系统100也水平地分成左边的数据平面和右边的控制平面。
在数据平面中,硬件包括物理网络接口(P-NIC)、中央处理单元(CPU)、随机存取存储器(RAM)、存储设备、局域网(LAN)和广域网(WAN)。在数据平面中,虚拟网络包括超级管理程序、虚拟交换机(V-SW)和虚拟机。数据平面中的用户层包括客户操作系统(OS)和用户应用程序。
在控制平面中,硬件还包括相同或不同的P-NIC、CPU、RAM、存储设备、LAN和WAN。除了虚拟网络(V-NET)控制器之外,控制平面中的虚拟网络还包括超级管理程序和虚拟机。逻辑网络驻留在控制平面中并且包括逻辑网络管理器(L-NET MNG)和逻辑网络控制器(L-NETCNT)。逻辑网络管理器支持逻辑网络结构,如具有逻辑端口(L-PORTS)的逻辑交换机(L-SW)。用户层的控制平面包括操作员、计算机等。
在操作中,用户控制平面(操作员、机器、计算机)指示逻辑网络管理器构建具有逻辑交换机的逻辑网络,其具有逻辑端口。例如,用户可以操作图形显示以实例化逻辑交换机,然后将虚拟机连接到逻辑交换机上的逻辑端口。逻辑网络管理器将逻辑网络数据分发到超级管理程序,以在超级管理程序控制平面中形成分布式逻辑交换机。超级管理程序指示数据平面中的虚拟交换机响应于由控制平面指定的逻辑网络要求来传输用户数据。
如果用户在逻辑交换机上启用逻辑端口认证,则逻辑网络管理器指示超级管理程序关闭支持逻辑交换机上的逻辑端口的虚拟交换机数据路径。除非逻辑端口认证首先成功用于虚拟机和逻辑端口,否则这些虚拟交换机不会传递使用其中这些逻辑端口之一的虚拟机的用户数据。
虚拟交换机扫描来自虚拟机的用户数据以用于逻辑端口认证请求。如果虚拟交换机检测到逻辑端口认证请求,则虚拟交换机将该请求传输到超级管理程序。超级管理程序传输逻辑端口认证请求以由逻辑端口认证数据库进行认证。下面描述了各种选项以执行此认证。超级管理程序可以将逻辑端口认证请求直接传输到逻辑端口认证数据库(未示出)。超级管理程序可以将逻辑端口认证请求传输到访问逻辑端口认证数据库的逻辑网络控制器。超级管理程序还可以将逻辑端口认证请求传输到作为逻辑端口认证数据库操作的逻辑网络管理器。逻辑端口认证数据库确定逻辑端口认证状态并传输逻辑端口认证响应,其指示正/负认证结果以及可能的实现的定时器或策略。
超级管理程序从逻辑端口认证数据库、逻辑网络控制器或逻辑网络管理器接收逻辑端口认证响应。超级管理程序指示虚拟交换机传输使用其经认证的逻辑端口的虚拟机的用户数据。虚拟交换机仍将阻止使用该逻辑端口的未经认证的虚拟机的用户数据传输。在数据平面中,客户应用程序和操作系统与虚拟机交换用户数据,并且虚拟机与虚拟交换机交换用户数据。响应于正逻辑端口认证,虚拟交换机现在与另一个虚拟机或P-NIC交换用户数据。
有利地,计算机系统100认证虚拟机的逻辑端口。逻辑端口认证可防止虚拟机过度使用逻辑端口或使用错误的逻辑端口。逻辑端口认证还可以防止虚拟机过度使用虚拟交换机或使用错误的虚拟交换机。因此,用户可以实现逻辑端口认证以通过其虚拟交换机保持服务质量。
图2示出了计算机系统200以认证虚拟机的逻辑端口。计算机系统200包括硬件,诸如CPU、NIC、RAM、数据链路和存储单元。计算机系统200包括主机101-103、逻辑网络管理器104和逻辑网络控制器105。主机101包括虚拟机111-112、超级管理程序121和物理NIC(P-NIC)131-132。虚拟机111-112包括相应的虚拟接口(VIF)141-142。
VIF 141-142可以是虚拟NIC或其他网络数据路径组件。虚拟机111、112还包括支持执行客户系统和应用软件、其他虚拟化硬件资源,例如虚拟CPU、虚拟RAM、虚拟存储等(未示出)。在一个实施例中,超级管理程序121包括虚拟交换机(V-SW)151、本地控制平面(LCP)161和逻辑网络(L-NET)171。超级管理程序121可以包括与计算机硬件和内核交互以执行虚拟和逻辑网络元件的驱动程序。在备选实施例(未示出)中,虚拟交换机151和各种软件驱动程序可以驻留在特权虚拟机(有时称为“域零”、“根分区”或“父分区”)中,而不是驻留在每个主机的内核空间中。LCP 161是用于与中央控制器105通信并执行其他控制平面功能的超级管理程序进程。
主机102包括虚拟机113-114、超级管理程序122和P-NIC 133-134。虚拟机113-114包括相应的VIF 143-144。超级管理程序122包括虚拟交换机(V-SW)152、LCP 162和逻辑网络171。注意,逻辑网络171分布在主机101-102和可能分布在逻辑网络管理器104的控制下的其他主机上。主机103包括虚拟机115-116、超级管理程序123和P-NIC 135-136。虚拟机115-116包括相应的VIF 145-146。超级管理程序123包括V-SW 153、LCP 163和逻辑网络172。可以包括多个附加主机、虚拟机、虚拟交换机和逻辑网络。例如,每个主机可以包括多个虚拟交换机和/或逻辑交换机。
逻辑网络管理器104包括用于逻辑网络171-172的集中管理器。逻辑网络管理器104和逻辑网络控制器105可以组合成单个集中管理器/控制器,或者每个控制器和管理器可以实现为计算机系统的集群以提供增加的规模。在一个实施例中,逻辑网络管理器104从用户或其他系统接收逻辑网络定义,该定义包括逻辑网络元件(诸如交换机和路由器等),以及虚拟机或连接到它们的其他计算端点的身份。同样可以定义附加逻辑网络元件,诸如分布式防火墙、负载平衡器等。逻辑网络控制器105将这些定义转换为适当转发到主机101-103以实现逻辑网络组件的转发指令和/或配置。逻辑网络171-172表示驻留在每个主机101-103处以实现如逻辑交换机的通信网络元件的转发指令、隧道端点和/或其他组件。每个VM 111-116具有至少一个虚拟接口(VIF)141-146,其与对应的虚拟交换机151-153通信。逻辑网络171-172通过例如封装出口分组和使用隧道协议(诸如VXLAN)解封入口分组,将网络流量从VM主观上连接的逻辑平面变换到超级管理程序所驻留在的物理平面。例如,用户可以将VIF 141附加到逻辑网络171上的逻辑端口,以建立通过V-SW 151的数据路径。从某种意义上说,逻辑网络171-172驻留在超级管理程序121-123的控制平面中并且对用户数据流施加控制,并且依赖于物理网络底层来传输用户数据。为了跨不同的主机服务逻辑网络配置,逻辑网络控制器105经由逻辑网络171可以实例化主机101和102之间的数据隧道。
如上所述,用户可以例如经由图形用户界面与逻辑网络管理器104交互,以构建逻辑网络171-172。逻辑网络171-172具有带逻辑端口的逻辑交换机,并且用户可能需要针对这些逻辑交换机和端口的逻辑端口认证。用户与逻辑网络管理器104交互以将VIF 141-146附接到逻辑网络171-172中的逻辑端口。这些VIF/逻辑网络附件在图中用虚线指示。
VIF 141-143附接到超级管理程序121-122中的逻辑网络171。VIF 141-143可以附接到相同的逻辑交换机和逻辑端口,附接到相同的逻辑交换机和不同的逻辑端口,或附接到不同的逻辑交换机和逻辑端口。反过来,逻辑交换机可以互连到逻辑路由器和其他元件,以形成完整的层2-7逻辑网络构造。LCP 161-162配置V-SW 151-152以在VIF 141-143之间传输用户数据,以服务逻辑网络171的需要。
由于逻辑网络171已启用了端口认证,因此LCP 161-162最初关闭(或从不打开)通过V-SW 151-152的数据路径,该数据路径支持网络171中的逻辑端口。例如,LCP 161可以通过在VIF 141处或沿着数据路径的其他位置处设置配置网络过滤器元件(如访问控制列表(ACL)或防火墙)来关闭特定VIF的数据路径,以丢弃不符合端口认证协议且源自或终止在VIF 141处的分组。当逻辑端口认证成功时,LCP 161-162将通过V-SW 151-152打开数据路径。这可以通过移除上述过滤器配置来完成。这些得到的通过数据路径的用户数据传输在图中用带箭头的实线指示。V-SW 151-153可以通过P-NIC 131、133和135在同一主机中的VIF之间或不同主机中的VIF之间传输用户数据。V-SW 151-153也可以通过P-NIC 131、133和135在VIF 141-146和外部系统之间传输用户数据。
逻辑端口认证数据库106可以包括托管具有逻辑端口认证信息的数据结构的外部计算机系统。或者,逻辑端口认证数据库或数据结构可以驻留在控制器105处或分布在主机101-103中。数据结构将逻辑端口与其数据通信特权和策略相关联。特权指示被允许的VIF/V-SW/逻辑端口组合,并且可以包括定时器、计数器等以控制使用。这些策略指示用于各个VIF或用户应用程序的如流量整形规则等任务。在一些示例中,逻辑网络管理器104可以响应于用户控制将认证数据加载到逻辑端口认证数据库106中。逻辑端口认证数据库106可以使用由电气和电子工程师协会(IEEE)标准802.1x描述的可扩展认证协议(EAP)。逻辑端口认证数据库106还可以使用远程认证拨入服务(RADIUS)协议进行数据通信。虽然这里提到了RADIUS,但是可以考虑其他认证协议。
在操作中,用户指示逻辑网络管理器104构建逻辑网络171。例如,用户可以操作图形显示以实例化逻辑交换机,然后将VIF 141-143连接到逻辑交换机上的逻辑端口。逻辑网络171维护逻辑交换机和逻辑端口的逻辑网络数据。
响应于逻辑端口认证要求,V-SW 151-152扫描用户数据以标识来自VIF 141-144的逻辑端口认证请求。在从内核空间到用户空间的处理转换中,V-SW 151-152将任何逻辑端口认证请求传输到LCP 161-162。LCP 161-162将逻辑端口认证请求传输到逻辑端口认证器(未示出)。如下所述,逻辑端口认证器可以驻留在超级管理程序121-122中,驻留在逻辑网络控制器105中,或者驻留在单独的服务器或虚拟设备(未示出)中。
逻辑端口认证器接收逻辑端口认证请求并传输逻辑端口认证请求以递送到逻辑端口认证数据库106。辑端口认证请求指示要认证的各个VIF/逻辑端口/V-SW组合。逻辑端口认证请求还可以指示诸如V-NIC媒体访问控制(MAC)地址、用户应用程序等的数据。
对于给定的逻辑端口认证请求,逻辑端口认证数据库106利用VIF/逻辑端口/V-SW数据进入其数据结构以确定认证状态。如果数据结构产生肯定结果,则逻辑端口认证数据库106传输指示经认证的VIF/逻辑端口/V-SW组合以及可能实现的定时器、计数器和策略的逻辑端口认证响应。如果数据结构产生否定结果,则逻辑端口认证数据库106传输指示无法认证特定VIF/逻辑端口/V-SW组合的逻辑端口认证响应。
逻辑端口认证器(在控制器105或超级管理程序121-123中)接收由逻辑端口认证数据库106传输的逻辑端口认证响应。逻辑端口认证器将逻辑端口认证响应传输到LCP161-162。当VIF使用其经认证的逻辑端口时,LCP 161-162将V-SW 151-152配置为服务VIF141-143。当VIF使用其经认证的逻辑端口时,V-SW 151-152传输VIF 141-143的用户数据。V-SW 151-152可以通过P-NIC 131和133在同一主机中的VIF之间或不同主机中的VIF之间传输用户数据。V-SW 151-152还可以通过P-NIC 131和133在外部系统和VIF 141-143之间传输用户数据。
在典型情形中,逻辑端口认证可以在逻辑网络171上是活动的,但在逻辑网络172上是不活动的。V-SW 152标识针对逻辑网络171中的逻辑端口A的来自VIF 143的逻辑端口认证请求。V-SW 152将逻辑端口认证请求传输到LCP 162,LCP 162将逻辑端口认证请求传输到逻辑端口认证器。逻辑端口认证器将逻辑端口认证请求传输到逻辑端口认证数据库106,其中逻辑端口认证器可以使用来自数据库的响应来确定是否准许或拒绝该请求。在一些实现中,逻辑端口认证数据库106可以提供指示经认证的组合(VIF 143、逻辑端口A、V-SW152)和认证的生存时间(time-to-live)的逻辑端口认证响应。
逻辑端口认证器接收逻辑端口认证响应,并将响应传输到LCP 162。当VIF 143使用经认证的逻辑端口时,LCP 162将V-SW 152配置为服务VIF 143。V-SW 152在使用其经认证的逻辑端口时传输VIF 143的用户数据。LCP 161-162和/或控制器105通过重新配置V-SW151-152以在生存时间到期时关闭逻辑端口来强制执行生存时间。
V-SW 152可以标识针对逻辑网络171中的逻辑端口A的来自VIF 144的不正确的逻辑端口认证请求。V-SW 152将逻辑端口认证请求传输到LCP 162,LCP 162将逻辑端口认证请求传输到逻辑端口认证器。逻辑端口认证器将逻辑端口认证请求传输到逻辑端口认证数据库106。逻辑端口认证数据库106不准许该请求并传输指示VIF 144、逻辑端口A和V-SW152的认证失败的逻辑端口认证响应。逻辑端口认证器接收逻辑端口认证响应,并将响应传输到LCP 162。LCP 162通知逻辑网络171和VIF 144该失败。当VIF 143使用逻辑端口A时,V-SW 152不服务VIF 144。因此,避免了VIF 144过度使用V-SW 152。
由于逻辑端口认证在逻辑网络172上是不活动的,因此V-SW 153不被配置为标识来自VIF 145-146的逻辑端口认证请求。V-SW 153在不执行逻辑端口认证的情况下传输VIF145-146的用户数据。VIF 146可能以VIF 145为代价过度使用逻辑端口和V-SW 153。
有利地,计算机系统200认证虚拟机111-113及其VIF 141-143的逻辑端口。逻辑端口认证防止虚拟机114-116过度使用或错误地使用逻辑端口。逻辑端口认证还防止虚拟机114-116过度使用或不当地使用错误的虚拟交换机。因此,用户可以实现逻辑端口认证,以通过其虚拟交换机保持其虚拟机的服务质量。
以下详述三个不同的示例。第一个示例使用逻辑网络控制器来处理虚拟交换机和逻辑端口认证数据库之间的逻辑端口认证。第二个示例使用超级管理程序来处理虚拟交换机和逻辑端口认证数据库之间的逻辑端口认证。第三个示例使用逻辑网络管理器作为逻辑端口认证数据库来执行逻辑端口认证操作。
通过逻辑网络控制器的逻辑端口认证
图3示出了通过逻辑网络控制器305执行逻辑端口认证的计算机系统300。计算机系统300是计算机系统200的示例,但是系统100可以使用替代的配置和操作。计算机系统300包括主机301和逻辑网络控制器305。主机301包括客户端(supplicant)虚拟机311、超级管理程序321和P-NIC 331-332。虚拟机311包括虚拟NIC(V-NIC)341、客户操作系统(OS)和用户应用程序(APPS)。超级管理程序321包括虚拟交换机351和本地控制平面(LCP)361。LCP361和逻辑网络控制器305通过逻辑网络控制器应用程序编程接口(API)耦合。为清楚起见,图中省略了超级管理程序321中的逻辑网络,但逻辑网络包括用于逻辑交换机和端口的数据结构。
V-SW 351标识来自V-NIC 341的逻辑端口认证请求。V-SW 351将逻辑端口认证请求转发到LCP 361。LCP 361将逻辑端口的状态从关闭改变为认证。LCP 361通过逻辑网络控制器API将逻辑端口认证请求传输到逻辑网络控制器305中的逻辑端口认证器381。逻辑端口认证器381接收逻辑端口认证请求,并将逻辑端口认证请求传输到逻辑端口认证数据库306。逻辑端口认证器381维护逻辑端口的状态并将其状态从关闭改变为认证。逻辑端口认证请求指示要认证的各个V-NIC/逻辑端口/V-SW组合。逻辑端口认证请求还指示V-NIC 341的MAC地址。
逻辑端口认证数据库306利用VIF/逻辑端口/V-SW数据进入其数据结构以确定认证状态。如果数据结构产生肯定准许,则逻辑端口认证数据库306传输指示经认证的V-NIC/逻辑端口/V-SW组合以及可能实现的定时器、计数器和策略的逻辑端口认证响应。如果数据结构产生否定结果,则逻辑端口认证数据库306传输指示认证特定V-NIC/逻辑端口/V-SW组合失败的逻辑端口认证响应。
逻辑网络控制器305中的逻辑端口认证器381从逻辑端口认证数据库306接收逻辑端口认证响应。逻辑端口认证器381通过逻辑网络控制器API将逻辑端口认证响应传输到LCP 361。逻辑端口认证器381维护逻辑端口的状态并存储认证上下文数据。
LCP 361接收逻辑端口认证响应。如果V-NIC 341使用经认证的逻辑端口,则LCP361将V-SW 351配置为传输V-NIC 341的用户数据。当V-NIC 341使用经认证的逻辑端口时,V-SW 351传输V-NIC 341的用户数据。如果V-NIC 341不使用经认证的逻辑端口,则V-SW351会阻止用户数据传输。V-SW 351继续阻止来自未经认证的V-NIC的用户数据传输。
图4示出了计算机系统300使用逻辑网络控制器305执行逻辑端口认证的操作。在第一操作中,V-NIC 341将EAP逻辑端口认证请求传输到其逻辑交换机端口。超级管理程序内核421接收EAP逻辑端口认证请求。超级管理程序内核421将EAP逻辑端口认证请求传输到虚拟交换机351。在替换实施例中,可以将请求传递到虚拟交换机351,而不由超级管理程序内核421进行交互。例如,在虚拟机(图4中未指示)和虚拟交换机(其可以驻留在超级管理程序内核421之外,例如,在特权VM中)之间建立的数据总线可以将请求直接传递至虚拟交换机351。
在第二操作中,V-SW 351检测EAP逻辑端口认证请求。V-SW 351将EAP逻辑端口认证请求转发到超级管理程序内核421。EAP逻辑端口认证请求指示要认证的V-NIC 342、V-NIC MAC、V-SW 351和逻辑端口。超级管理程序内核421将EAP逻辑端口认证请求传输到LCP361。LCP 361负责将逻辑端口的状态从关闭改变为认证。虽然单独示出,但是LCP 361可以与超级管理程序内核421集成。在替代实施例中,虚拟交换机351将逻辑端口认证请求直接传递给LCP 361,而不涉及超级管理程序内核421。
在第三操作中,LCP 361将EAP逻辑端口认证请求传输到逻辑网络控制器305中的逻辑端口认证器381。在一个实施例中,LCP 361经由逻辑网络控制器API与逻辑端口认证器381通信。在第四操作中,逻辑端口认证器381将具有EAP逻辑端口认证请求的RADIUS消息传输到逻辑端口认证数据库306。逻辑端口认证数据库306处理EAP逻辑端口认证请求以确定V-NIC/V-SW/逻辑端口组合的认证状态。如果其数据结构库产生肯定准许,则逻辑端口认证数据库306传输具有EAP逻辑端口认证响应的RADIUS消息。EAP逻辑端口认证响应指示经认证的V-NIC/逻辑端口/V-SW组合以及可能要实现的计时器、计数器和策略。如果数据结构产生否定结果,则逻辑端口认证数据库306传输指示认证特定V-NIC/逻辑端口/V-SW组合失败的逻辑端口认证响应。逻辑网络控制器305中的逻辑端口认证器381接收来自逻辑端口认证数据库306的逻辑端口认证响应。
在第五操作中,逻辑端口认证器381通过逻辑网络控制器API将逻辑端口认证响应传输到LCP 361。逻辑端口认证器381基于该响应将逻辑端口的状态从认证改变为打开或关闭,并存储任何认证数据。在第六操作中,LCP 361配置V-SW 351,以在响应于肯定认证使用逻辑端口时传输V-NIC 341的用户数据。LCP 361基于响应将逻辑端口的状态从认证改变为打开或关闭,并存储任何认证数据。逻辑端口认证器381和LCP 361跟踪并强制执行任何生存时间或其他限制。
在第七操作中,用户应用程序通过客户OS将用户数据传输到V-NIC 341。V-NIC341将用户数据传输到超级管理程序内核421。超级管理程序内核421将用户数据传输到V-SW 351。在第八操作中,当V-NIC 341使用经认证的逻辑端口时,V-SW 351将用户数据从V-NIC 341传输到PNIC 331(或另一个V-NIC)。如果V-NIC 341不使用经认证的逻辑端口,则V-SW 351阻止用户数据。V-SW 351阻止尝试使用逻辑端口的未经认证的V-NIC的用户数据。
有利地,计算机系统300对虚拟机及其VIF执行逻辑端口认证。计算机系统300使用逻辑网络控制API来有效地集中逻辑端口认证器381。计算机系统300使用集中式逻辑端口认证器381在其虚拟机移动时将逻辑端口认证上下文从一个超级管理程序传输到另一个超级管理程序。
通过超级管理程序的逻辑端口认证
图5示出了通过超级管理程序521中的逻辑端口认证器581执行逻辑端口认证的计算机系统500。除了LCP 561的参与之外,在该示例中,逻辑网络控制器不用于逻辑端口认证。计算机系统500是计算机系统200的示例,但是系统100可以使用替代配置和操作。计算机系统500包括主机501。主机501包括客户端虚拟机511、超级管理程序521和P-NIC 531-532。虚拟机511包括V-NIC 541、客户操作系统和用户应用程序。超级管理程序521包括虚拟交换机551和LCP 561。为清楚起见,图中省略了超级管理程序521中的逻辑网络,但逻辑网络包括用于逻辑交换机和端口的数据结构。
V-SW 551标识来自V-NIC 541的逻辑端口认证请求。V-SW 551将逻辑端口认证请求转发到LCP 561。LCP 561维持逻辑端口的状态。LCP 561将逻辑端口认证请求传输到逻辑端口认证器581。逻辑端口认证器581接收逻辑端口认证请求,并将逻辑端口认证请求传输到逻辑端口认证数据库506。逻辑端口认证器581从其逻辑网络控制或管理系统接收逻辑端口认证数据库506的访问数据。逻辑端口认证器581还维护逻辑端口的状态。逻辑端口认证请求指示要认证的各个V-NIC/逻辑端口/V-SW组合。逻辑端口认证请求还指示V-NIC 541的MAC地址。
逻辑端口认证数据库506利用VIF/逻辑端口/V-SW数据进入其数据结构,以确定认证状态。如果数据结构产生肯定准许,则逻辑端口认证数据库506传输指示经认证的V-NIC/逻辑端口/V-SW组合以及可能实现的定时器、计数器和策略的逻辑端口认证响应。如果数据结构产生否定结果,则逻辑端口认证数据库506传输指示认证特定V-NIC/逻辑端口/V-SW组合失败的逻辑端口认证响应。
在超级管理程序521中,逻辑端口认证器581从逻辑端口认证数据库506接收逻辑端口认证响应。逻辑端口认证器581将逻辑端口认证响应传输到LCP 561。逻辑端口认证器581和LCP 561都维持逻辑端口的状态。LCP 561接收逻辑端口认证响应。如果V-NIC 541使用经认证的逻辑端口,则LCP 561将V-SW 551配置为传输V-NIC 541的用户数据。当V-NIC541使用经认证的逻辑端口时,V-SW 551然后传输V-NIC 541的用户数据。如果V-NIC 541不使用经认证的逻辑端口,则V-SW 551阻止用户数据传输。V-SW 551阻止未经认证的V-NIC使用逻辑端口。
图6示出了计算机系统500使用超级管理程序521执行逻辑端口认证的操作。在第一操作中,V-NIC 541将EAP逻辑端口认证请求传输到V-SW 551。
在第二操作中,V-SW 551检测EAP逻辑端口认证请求。V-SW 551将EAP逻辑端口认证请求转发到超级管理程序内核521。EAP逻辑端口认证请求指示要认证的V-NIC 541、V-NIC MAC,V-SW 551和逻辑端口。超级管理程序内核521将EAP逻辑端口认证请求传输到LCP561。LCP 561将逻辑端口的状态从关闭改变为认证。在第三操作中,LCP 561将EAP逻辑端口认证请求传输到逻辑端口认证器581。虚拟交换机551和逻辑控制平面561可以与超级管理程序内核521集成,或者它们可以驻留在内核521之外。在替代实施例中,LCP 561和/或虚拟交换机551可以驻留在特权虚拟机(未示出)中,并且由V-NIC 541接收的EAP逻辑端口认证请求例如,经由在VM 511和特权虚拟机之间建立的共享存储器数据总线被传递到虚拟交换机551,而不涉及超级管理程序内核521。另外,虚拟交换机551可以将EAP逻辑端口认证请求传递给LCP而不涉及超级管理程序内核521。
在第四操作中,逻辑端口认证器581将RADIUS(或其他认证)消息传输到具有EAP逻辑端口认证请求的逻辑端口认证数据库506。逻辑端口认证器581或其他组件(如LCP 561)将逻辑端口的状态从关闭改变为认证。逻辑端口认证数据库506处理EAP逻辑端口认证请求,以确定V-NIC/V-SW/逻辑端口组合的认证状态。如果其数据结构产生肯定准许,则逻辑端口认证数据库506传输具有EAP逻辑端口认证响应的RADIUS消息。EAP逻辑端口认证响应指示经认证的V-NIC/逻辑端口/V-SW组合以及可能要实现的计时器、计数器和策略。如果数据结构产生否定结果,则逻辑端口认证数据库506传输指示认证特定V-NIC/逻辑端口/V-SW组合失败的逻辑端口认证响应。超级管理程序521中的逻辑端口认证器581从逻辑端口认证数据库506接收逻辑端口认证响应。
在第五操作中,逻辑端口认证器581将逻辑端口认证响应传输到LCP 561。逻辑端口认证器581基于该响应将逻辑端口的状态从认证改变为打开或关闭,并存储任何认证数据。在第六操作中,当响应于肯定认证使用逻辑端口时,LCP 561配置V-SW 551以传输V-NIC541的用户数据。LCP 561基于该响应将逻辑端口的状态从认证改变为打开或关闭,并存储任何认证数据。
在第七操作中,用户应用程序通过客户OS将用户数据传输到V-NIC 541。V-NIC541将用户数据传输到超级管理程序内核521。超级管理程序内核521将用户数据传输到V-SW 551。在第八操作中,当V-NIC 541使用经认证的逻辑端口时,V-SW 551将用户数据从V-NIC 541传输到PNIC 531(或另一个V-NIC)。如果V-NIC 541不使用经认证的逻辑端口,则V-SW 551阻止用户数据。V-SW 551阻止未经认证的V-NIC使用逻辑端口。
注意,逻辑网络管理器可以形成各个超级管理程序中的逻辑端口认证器的中央管理点。逻辑网络管理器将认证数据库访问信息分发给各个超级管理程序中的逻辑端口认证器。当虚拟机移动时,逻辑网络管理器还可以在超级管理程序中的逻辑端口认证器之间交换虚拟机认证上下文。
有利地,计算机系统500对虚拟机及其VIF执行逻辑端口认证。计算机系统500使用超级管理程序来有效地分发逻辑端口认证器581。该分发虚拟化超级管理程序内的一些认证消息传递以获得最佳效率。该分发还有助于鲁棒逻辑网络控制器或其控制API停机或拥塞的场景中的认证。
通过逻辑网络管理器的逻辑端口认证
图7示出了通过逻辑网络管理器704执行逻辑端口认证的计算机系统700。计算机系统700是计算机系统200的示例,但是系统100可以使用替代配置和操作。计算机系统700包括主机701和逻辑网络管理器704。主机701包括客户端虚拟机711、超级管理程序721和P-NIC 731-732。虚拟机711包括V-NIC 741、客户操作系统和用户应用程序。超级管理程序721包括虚拟交换机751、LCP 761和逻辑网络771。
用户或自动系统(诸如编排器)与逻辑网络管理器704交互,以构建虚拟机701驻留于其上的逻辑网络。逻辑网络771包括驻留在虚拟交换机751中或与虚拟交换机751结合的转发表和其他配置信息。与其他主机(未示出)上的其他转发表和配置信息一起,逻辑网络771共同实现一个或更多个逻辑交换机。每个逻辑交换机包括逻辑端口,每个逻辑端口映射到虚拟交换机(例如虚拟交换机751)上的虚拟端口。虚拟交换机751是物理网络的边缘交换机,并且仅在其以软件实现的意义上是“虚拟的”。从VM 711的角度来看,它通过物理网络进行通信,该物理网络实际上是逻辑覆盖网络,其是由配置和转发表信息实现的抽象。
用户与逻辑网络管理器704交互,以生成用于选择V-NIC/V-SW/逻辑端口组合的逻辑端口使用令牌。逻辑端口使用令牌表示逻辑端口的认证上下文和策略数据。对于逻辑端口,令牌指示逻辑网络标识符(ID)、逻辑交换机ID、允许的VIF ID和MAC地址、令牌策略、生存时间限制、数据计数、流量整形策略和其他相关数据。
然后,用户与逻辑网络管理器704交互,以将V-NIC 741附接到逻辑网络771中的逻辑交换机上的逻辑端口。响应于V-NIC附接和逻辑端口认证要求,逻辑网络管理器704自动地标识V-NIC 741、V-SW 751和逻辑端口的使用令牌。逻辑网络管理器704还可以标识用于V-NIC/V-SW/逻辑端口组合的策略。逻辑网络管理器704通过逻辑网络管理器API将经认证的逻辑端口使用令牌传输到LCP 761。LCP 761和逻辑网络管理器704维护逻辑端口的状态。
LCP 761接收逻辑端口使用令牌认证。如果V-NIC 741使用经认证的逻辑端口使用令牌,则LCP 761将V-SW 751配置为传输V-NIC 741的用户数据。LCP 761可以配置V-SW 751以消耗使用信用和/或应用策略。因此,LCP 761用作端口认证器。LCP 761和逻辑网络管理器704一起作用以用作逻辑端口认证数据库。
用户应用程序通过客户OS将用户数据传输到V-NIC 751。V-NIC 751将用户数据传输到V-SW 751。V-SW 751检测经认证的逻辑端口使用令牌的使用并传输V-NIC 741的用户数据。V-SW 751可以通知LCP 761关于数据传输,以由LCP 761启用令牌消耗或策略应用。V-NIC 741阻止不使用经认证的逻辑端口使用令牌的用户数据传输。
逻辑端口使用令牌还可以用于实现用户策略,如流量整形。当与个体虚拟机、VIF、用户应用程序、逻辑网络或逻辑交换机组合时,令牌可以指定个体逻辑端口的策略。例如,虚拟交换机751可以在一天中的某些时间期间限制V-NIC 741的数据吞吐量,以保护共享逻辑端口/虚拟交换机组合的其他VIF的服务质量。
在以上示例中,逻辑网络管理器704在V-NIC上自动启动对来自用户的逻辑端口附接指令的逻辑端口认证。用户可以是人、计算机、虚拟机等。可选地,超级管理程序721可以在V-NIC上自动启动对来自用户的逻辑端口附接指令的逻辑端口认证。当响应于V-NIC附接指令时,超级管理程序或逻辑网络771可以从V-NIC 741配置文件读取逻辑端口认证请求。作为响应,超级管理程序或逻辑网络771自动启动对V-NIC 741通过LCP 761到逻辑网络管理器704的逻辑端口认证。逻辑网络管理器704通常用经认证的逻辑端口使用令牌进行响应。
在一些示例中,V-NIC配置文件可以包括逻辑端口使用令牌。当响应于V-NIC附接指令时,超级管理程序、虚拟交换机751或LCP 761将从V-NIC 741配置文件中读取逻辑端口认证令牌。作为响应,超级管理程序或逻辑网络771将自动启动对V-NIC 741和从LCP 761到逻辑网络管理器704所包括的令牌的逻辑端口认证。
在又一替代方案中,虚拟机或其VIF可以发起逻辑端口认证。例如,V-NIC 741可以在实例化期间在其配置文件中标识逻辑端口认证请求和/或逻辑端口使用令牌。然后,V-NIC 741通过逻辑网络771和LCP 761自动启动逻辑端口认证。在成功认证后,V-NIC 741通过使用其经认证的逻辑端口使用令牌通过虚拟交换机751传输用户数据。因此,V-NIC 741可以基于其配置文件有效地自认证其逻辑端口,并自动使用其逻辑端口令牌来传输用户数据。
图8示出了使用逻辑网络管理器704执行逻辑端口认证的计算机系统的操作。在第一操作中,用户与逻辑网络管理器704交互,以在超级管理程序721上构建逻辑网络771。逻辑网络771包括通过逻辑端口服务V-NIC 741的逻辑交换机。用户与逻辑网络管理器704交互,以在逻辑交换机上实现逻辑端口认证。用户与逻辑网络管理器704交互,以生成V-NIC741、V-SW 751和逻辑端口X的逻辑端口使用令牌。逻辑端口使用令牌表示逻辑端口X的认证上下文和策略数据。对于逻辑端口X,令牌可以指示逻辑网络771、逻辑交换机ID、V-NIC 741及其MAC地址、V-NIC 741的流量整形策略以及V-NIC 741令牌使用的生存时间。然后,用户与逻辑网络管理器704交互,以将V-NIC 741附接到逻辑网络771中的逻辑交换机上的逻辑端口X。
在第二操作中并且响应于用户的V-NIC附接和逻辑端口认证要求,逻辑网络管理器704自动标识由用户生成的V-NIC 741、V-SW 751和逻辑端口X的认证使用令牌。逻辑网络管理器704通过逻辑网络管理器API将经认证的逻辑端口使用令牌传输到LCP 761。LCP 761和逻辑网络管理器704维护逻辑端口X的状态。
在第三操作中,如果V-NIC 741使用用于逻辑端口X的经认证的令牌,则LCP 761配置V-SW 751以传输V-NIC 741的用户数据。LCP 761还可配置V-SW 751以基于令牌消耗端口X的使用信用和/或应用策略。LCP 761还向逻辑网络771和V-NIC 741通知经认证的令牌。在该示例中,LCP 761用作端口认证器,并且LCP 761和逻辑网络管理器704都用作逻辑端口认证数据库。
在第四操作中,用户应用程序通过客户OS将用户数据传输到V-NIC 751。V-NIC751根据经认证的逻辑端口使用令牌将用户数据传输到V-SW 751。在第五操作中,V-SW 751检测经认证的逻辑端口使用令牌的使用并传输V-NIC 741的用户数据。V-SW 751可应用策略和/或通知LCP 761数据传输,以由LCP 761启用令牌消耗或策略应用。V-NIC 741阻止没有经认证的逻辑端口使用令牌的用户数据传输。V-NIC 741可以与其他V-NIC共享令牌或者自己使用多个令牌。
有利地,计算机系统700避免使用EAP认证数据库的需要。计算机系统700使用逻辑网络管理器704与用户和/或用户机器交互,以构建逻辑网络。计算机系统700使用逻辑网络管理器704及其API来向多个超级管理程序提供逻辑端口认证服务。逻辑网络管理器704可以在其虚拟机移动时,将逻辑端口认证上下文从一个超级管理程序移动到另一个超级管理程序。
图9示出了计算机系统认证VIF的逻辑端口的操作。图9包括VIF 910、V-SW 920、LCP 930、逻辑端口认证器(逻辑端口认证器940)和端口认证数据库950。在操作之前,已在超级管理程序中配置逻辑网络,该超级管理程序维护用于逻辑交换机和逻辑端口的逻辑网络数据。V-SW 920标识来自VIF 910的对逻辑端口的逻辑端口认证请求(L-PORT RQ)。V-SW920可以检测EAP比特串以执行该标识。V-SW 920将逻辑端口认证请求传输到LCP 930。
LCP 930维护逻辑端口的状态,并将所请求的逻辑端口的状态从关闭改变为认证。LCP 930将逻辑端口认证请求传输到驻留在超级管理程序或逻辑网络控制器中的逻辑端口认证器940。逻辑端口认证器940生成逻辑端口认证请求并在针对端口认证数据库950格式化的认证数据库(AUTH DB)消息中传输该请求。逻辑端口认证请求可以指示VIF 910、VIFMAC地址、V-SW和特定的逻辑端口。还应该理解,在一些示例中,还可以在认证请求中提供其他标识信息。
逻辑端口认证数据库950利用请求中提供的数据进入其数据结构,以确定逻辑端口的认证状态。如果数据结构产生肯定结果,则逻辑端口认证数据库950传输指示经认证的VIF/逻辑端口/V-SW组合以及可能实现附接的定时器、计数器和策略的逻辑端口认证响应。如果数据结构产生否定结果,则逻辑端口认证数据库传输指示认证特定VIF/逻辑端口/V-SW组合失败的逻辑端口认证响应。在此示例中,逻辑端口已认证。
逻辑端口认证器940从具有逻辑端口认证响应的逻辑端口认证数据库950接收数据库消息。逻辑端口认证器940处理数据库消息,以将逻辑端口认证响应传输到LCP 930,其中当VIF 910响应于肯定认证响应使用经认证的逻辑端口时,LCP 930将V-SW 920配置为服务VIF 910。当响应于否定响应使用逻辑端口时,LCP 930将允许V-SW 920继续阻止VIF 910的用户数据。LCP 930通知VIF 910认证响应。LCP 930维护逻辑端口状态,并基于该响应将状态改变为打开。当VIF 910使用经认证的逻辑端口时,V-SW 920传输VIF 910的用户数据。
本文描述的计算机系统可以使用各种数据计算节点,例如非虚拟化物理主机、虚拟机、容器和超级管理程序内核网络接口模块。虚拟机在主机上与其自己的客户操作系统一起操作,该主机由软件(如超级管理程序或虚拟机监视器)虚拟化。租户(例如虚拟机的所有者)可以选择在客户操作系统上操作哪些应用程序。在主机操作系统上运行的容器无需超级管理程序或单独的客户操作系统。主机操作系统使用命名空间将容器彼此隔离。因此,主机操作系统向在不同容器内操作的应用程序组提供操作系统级隔离。这种容器隔离就像虚拟机隔离并且是虚拟化的形式。超级管理程序内核网络接口模块可以包括具有超级管理程序内核网络接口和接收/发送线程的网络堆栈。超级管理程序内核网络接口模块可以使用没有虚拟机的数据计算节点。
以上描述和相关附图教导了本发明的最佳模式。为了教导发明原理,可以简化或省略最佳模式的一些传统方面。以下权利要求指定了本发明的范围。注意,最佳模式的某些方面可能不落入权利要求所指定的本发明的范围。因此,本领域技术人员将理解落入本发明范围内的最佳模式的变化。本领域技术人员将理解,上述特征可以以各种方式组合以形成本发明的多种变型。本发明不限于上述具体示例,而是仅由权利要求及其等同物限定。

Claims (20)

1.一种操作计算机系统以认证虚拟机的逻辑端口的方法,所述方法包括:
虚拟交换机标识所述虚拟机的逻辑端口认证请求,并将所述逻辑端口认证请求传输到逻辑端口认证器;
所述逻辑端口认证器接收所述逻辑端口认证请求,基于认证数据库确定是否准许所述逻辑端口认证请求,以及如果准许,则将所述逻辑端口认证请求的授权数据传输到所述虚拟交换机;以及
当所述虚拟机响应于所述授权数据使用所述逻辑端口时,所述虚拟交换机传输所述虚拟机的用户数据。
2.如权利要求1所述的方法,其中所述逻辑端口认证器包括超级管理程序。
3.如权利要求1所述的方法,其中所述逻辑端口认证器包括逻辑网络控制器。
4.如权利要求1所述的方法,其中所述认证数据库包括逻辑网络管理器。
5.如权利要求1所述的方法,还包括:
本地控制平面(LCP)接收由所述虚拟交换机传输的所述逻辑端口认证请求,并传输所述逻辑端口认证请求以递送到所述逻辑端口认证器;以及
所述LCP接收由所述逻辑端口认证器传输的逻辑端口认证响应,并响应于所述授权数据,配置所述虚拟交换机以在所述虚拟机使用所述逻辑端口时传输所述虚拟机的所述用户数据。
6.如权利要求1所述的方法,其中:
所述虚拟交换机标识所述虚拟机的所述逻辑端口认证请求包括:所述虚拟交换机标识虚拟网络接口的所述逻辑端口认证请求;以及
当所述虚拟机使用所述逻辑端口时,所述虚拟交换机传输所述虚拟机的所述用户数据包括:当所述虚拟网络接口使用所述逻辑端口时,所述虚拟交换机传输所述虚拟网络接口的所述用户数据。
7.如权利要求1所述的方法,其中所述虚拟交换机标识所述虚拟机的所述逻辑端口认证请求包括:所述虚拟交换机标识可扩展认证协议(EAP)端口认证请求。
8.如权利要求1所述的方法,还包括从所述认证数据库接收所述虚拟机的经认证的使用令牌,并且其中当所述虚拟机使用所述逻辑端口时,所述虚拟交换机传输所述虚拟机的所述用户数据包括:当所述虚拟机使用所述逻辑端口时,所述虚拟交换机消耗所述经认证的使用令牌。
9.如权利要求1所述的方法,其中:
所述逻辑端口认证器接收所述逻辑端口认证请求还包括:超级管理程序接收所述虚拟机的虚拟接口附加数据;
所述逻辑端口认证器传输所述逻辑端口认证请求包括:所述超级管理程序响应于所述虚拟接口附加数据传输所述逻辑端口认证请求;
所述逻辑端口认证器接收逻辑端口认证响应包括:本地控制平面(LCP)接收由逻辑网络管理器传输的所述虚拟机的经认证的使用令牌;以及
当所述虚拟机使用所述逻辑端口时,所述虚拟交换机传输所述虚拟机的所述用户数据包括:当所述虚拟机使用所述逻辑端口时,所述虚拟交换机消耗所述经认证的使用令牌。
10.如权利要求1所述的方法,其中基于所述认证数据库确定是否准许所述逻辑端口认证请求包括:基于所述认证数据库、虚拟网络接口数据、虚拟交换机数据和与所述逻辑端口认证请求相关联的逻辑端口数据,确定是否准许所述逻辑端口认证请求。
11.一种用于认证虚拟机的逻辑端口的计算机设备,所述计算机设备包括:
虚拟交换机计算机处理指令,其在被执行时被配置为:指示计算机处理电路标识所述虚拟机的逻辑端口认证请求,并将所述逻辑端口认证请求传输到逻辑端口认证器;
逻辑端口认证器计算机处理指令,其在被执行时被配置为:指示计算机处理电路接收所述逻辑端口认证请求,基于认证数据库确定是否准许所述逻辑端口认证请求,并且如果准许,则将所述逻辑端口认证请求的授权数据传输到所述虚拟交换机;
所述虚拟交换机计算机处理指令在被执行时还被配置为:指示所述计算机处理电路在所述虚拟机响应于所述授权数据使用所述逻辑端口时,传输所述虚拟机的用户数据;以及
一个或更多个非暂时性计算机可读存储介质,其存储逻辑网络计算机处理指令、所述虚拟交换机计算机处理指令和所述逻辑端口认证器计算机处理指令。
12.如权利要求11所述的计算机设备,其中所述逻辑端口认证器计算机处理指令包括超级管理程序计算机处理指令。
13.如权利要求11所述的计算机设备,其中所述逻辑端口认证器计算机处理指令包括逻辑网络控制器计算机处理指令。
14.如权利要求11所述的计算机设备,其中所述认证数据库包括逻辑网络管理器。
15.如权利要求11所述的计算机设备,还包括:
本地控制平面(LCP)计算机处理指令,其在被执行时被配置为:指示所述计算机处理电路接收由所述虚拟交换机传输的所述逻辑端口认证请求,传输所述逻辑端口认证请求以递送到所述逻辑端口认证器,接收由所述逻辑端口认证器传输的逻辑端口认证响应,并响应于所述授权数据,配置所述虚拟交换机计算机处理指令,以在所述虚拟机使用所述逻辑端口时传输所述虚拟机的所述用户数据;以及
所述一个或更多个非暂时性计算机可读存储介质存储所述LCP计算机处理指令。
16.如权利要求11所述的计算机设备,其中所述虚拟交换机计算机处理指令在被执行时被配置为:指示所述计算机处理电路标识虚拟网络接口的所述逻辑端口认证请求,并且当所述虚拟网络接口使用所述逻辑端口时,传输所述虚拟网络接口的所述用户数据。
17.如权利要求11所述的计算机设备,其中所述虚拟交换机计算机处理指令在被执行时被配置为:指示所述计算机处理电路标识可扩展认证协议(EAP)端口认证请求。
18.如权利要求11所述的计算机设备,还包括:
逻辑网络管理器计算机处理指令,其在被执行时被配置为:指示所述计算机处理电路接收具有所述逻辑端口的所述逻辑交换机的所述逻辑网络数据,并生成所述逻辑端口的使用令牌;以及
所述一个或更多个非暂时性计算机可读存储介质存储所述逻辑网络管理器计算机处理指令。
19.如权利要求11所述的计算机设备,还包括:
超级管理程序计算机处理指令,其在被执行时被配置为:指示所述计算机处理电路接收所述虚拟机的虚拟接口附加数据,并响应于所述虚拟接口附加数据自动传输所述逻辑端口认证请求;
本地控制平面(LCP)计算机处理指令,其在被执行时被配置为:指示所述计算机处理电路接收由逻辑网络管理器传输的所述虚拟机的经认证的使用令牌;
所述虚拟交换机计算机处理指令在被执行时被配置为:指示所述计算机处理电路在所述虚拟机使用所述逻辑端口时消耗所述经认证的使用令牌;以及
所述一个或更多个非暂时性计算机可读存储介质存储所述超级管理程序计算机处理指令和所述LCP计算机处理指令。
20.如权利要求11所述的计算机设备,其中用于基于所述认证数据库确定是否准许所述逻辑端口认证请求的所述计算机处理指令,指示所述计算机处理电路基于所述认证数据库、虚拟网络接口数据、虚拟交换机数据和与所述逻辑端口认证请求相关联的逻辑端口数据确定是否准许所述逻辑端口认证请求。
CN201780086691.3A 2016-12-22 2017-12-21 虚拟机的逻辑端口认证 Active CN110301125B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/387,828 US10423434B2 (en) 2016-12-22 2016-12-22 Logical port authentication for virtual machines
US15/387,828 2016-12-22
PCT/US2017/068054 WO2018119332A1 (en) 2016-12-22 2017-12-21 Logical port authentication for virtual machines

Publications (2)

Publication Number Publication Date
CN110301125A true CN110301125A (zh) 2019-10-01
CN110301125B CN110301125B (zh) 2022-01-28

Family

ID=61022426

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780086691.3A Active CN110301125B (zh) 2016-12-22 2017-12-21 虚拟机的逻辑端口认证

Country Status (4)

Country Link
US (1) US10423434B2 (zh)
EP (1) EP3542513B1 (zh)
CN (1) CN110301125B (zh)
WO (1) WO2018119332A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11411733B1 (en) * 2019-08-08 2022-08-09 Citibank, N.A. Systems and methods for identity and access control
US11321069B2 (en) * 2019-10-16 2022-05-03 Vmware, Inc. System and method for supplying on-premise hyper-converged systems
US11729218B2 (en) * 2019-11-07 2023-08-15 Red Hat, Inc. Implementing a service mesh in the hypervisor
JP2023535149A (ja) 2020-07-14 2023-08-16 オラクル・インターナショナル・コーポレイション Vlanスイッチングおよびルーティングサービスのためのシステムおよび方法
US11909636B2 (en) 2020-12-30 2024-02-20 Oracle International Corporation Layer-2 networking using access control lists in a virtualized cloud environment

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1845491A (zh) * 2006-02-20 2006-10-11 南京联创通信科技有限公司 802.1x的接入认证方法
US20080162873A1 (en) * 2006-12-28 2008-07-03 Zimmer Vincent J Heterogeneous multiprocessing
US20090083734A1 (en) * 2007-09-26 2009-03-26 Hotra Jonathan N Methods and systems for preserving certified software through virtualization
CN101908964A (zh) * 2010-08-17 2010-12-08 公安部第三研究所 远程虚拟密码设备认证方法
CN102037452A (zh) * 2008-05-23 2011-04-27 威睿公司 用于虚拟计算机系统的分布式虚拟交换机
CN102316001A (zh) * 2011-10-13 2012-01-11 杭州华三通信技术有限公司 一种虚拟网络连接配置实现方法和网络设备
US20120151209A1 (en) * 2010-12-09 2012-06-14 Bae Systems National Security Solutions Inc. Multilevel security server framework
WO2016192427A1 (zh) * 2015-06-01 2016-12-08 中兴通讯股份有限公司 接入点接口配置恢复方法、装置及家庭网关

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8751650B2 (en) * 2012-05-10 2014-06-10 Cisco Technology, Inc. Method and apparatus for supporting access control lists in a multi-tenant environment

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1845491A (zh) * 2006-02-20 2006-10-11 南京联创通信科技有限公司 802.1x的接入认证方法
US20080162873A1 (en) * 2006-12-28 2008-07-03 Zimmer Vincent J Heterogeneous multiprocessing
US20090083734A1 (en) * 2007-09-26 2009-03-26 Hotra Jonathan N Methods and systems for preserving certified software through virtualization
CN102037452A (zh) * 2008-05-23 2011-04-27 威睿公司 用于虚拟计算机系统的分布式虚拟交换机
CN101908964A (zh) * 2010-08-17 2010-12-08 公安部第三研究所 远程虚拟密码设备认证方法
US20120151209A1 (en) * 2010-12-09 2012-06-14 Bae Systems National Security Solutions Inc. Multilevel security server framework
CN102316001A (zh) * 2011-10-13 2012-01-11 杭州华三通信技术有限公司 一种虚拟网络连接配置实现方法和网络设备
WO2016192427A1 (zh) * 2015-06-01 2016-12-08 中兴通讯股份有限公司 接入点接口配置恢复方法、装置及家庭网关

Also Published As

Publication number Publication date
EP3542513B1 (en) 2022-11-23
WO2018119332A1 (en) 2018-06-28
US10423434B2 (en) 2019-09-24
CN110301125B (zh) 2022-01-28
EP3542513A1 (en) 2019-09-25
US20180181417A1 (en) 2018-06-28

Similar Documents

Publication Publication Date Title
CN110301125A (zh) 虚拟机的逻辑端口认证
US11968198B2 (en) Distributed authentication and authorization for rapid scaling of containerized services
US10348643B2 (en) System and method for network configuration
US8893258B2 (en) System and method for identity based authentication in a distributed virtual switch network environment
US10063544B2 (en) System and method for supporting consistent handling of internal ID spaces for different partitions in an infiniband (IB) network
CN108475206A (zh) 在网络功能虚拟化架构中实现精细的粒度服务链
US8713649B2 (en) System and method for providing restrictions on the location of peer subnet manager (SM) instances in an infiniband (IB) network
EP3343838B1 (en) Utilizing management network for secured configuration and platform management
CN104468574B (zh) 一种虚拟机动态获取ip地址的方法、系统及装置
EP3479532B1 (en) A data packet forwarding unit in software defined networks
JP5928197B2 (ja) ストレージシステム管理プログラム及びストレージシステム管理装置
US11824897B2 (en) Dynamic security scaling
CN108377199A (zh) 共享与配置项有关的策略和配置信息
CN106487751B (zh) 一种数据传输方法、相关装置及系统
CN108712398A (zh) 认证服务器的端口认证方法、服务器、交换机和存储介质
CN108667832A (zh) 基于配置信息的认证方法、服务器、交换机和存储介质
CN105007239B (zh) 网络装置及其网络资源调配方法
Himel et al. IT infrastructure for economic zone

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