用于在输入/输出设备中使用指派的交换机标识的技术的制造方法与工艺

文档序号:11408855阅读:1444来源:国知局
用于在输入/输出设备中使用指派的交换机标识的技术的制造方法与工艺
用于在输入/输出设备中使用指派的交换机标识的技术背景诸如网络接口卡(NIC)之类的输入/输出(I/O)设备可以耦合到被部署在其中服务器域结束而外部网络域开始的服务器-网络边缘处的计算平台或主机设备中。用于在这些类型的环境中的NIC中实现交换机逻辑或电路的一种已知方式是通过使用一组查询表。查询表可以标识数据的一部分,诸如分组报头,然后,可以基于分组报头,在查询表中定义动作。查询表通常在实现通过单一交换机实例连接所有端口的交换机电路的NIC中好使。由电气电子工程师学会(IEEE)建议采用的标准描述了将许多交换机实现为边缘虚拟桥接(EVB)的一部分。建议采用的标准具有标题“IEEEStandardforLocalandMetropolitanAreaNetworks-VirtualBridgedLocalAreaNetworks-AmendmentEdgeVirtualBridging(用于局域和城域网的IEEE标准—虚拟桥接局域网—修正边缘虚拟桥接)”,并被标识为IEEE802.1Qbg,草案2.1,2012年1月30日发布(在下文中为“IEEE802.1Qbg”)。根据IEEE802.Qbg操作的NIC可能需要对与以太网端口相关联的每一逻辑或虚拟端口,实现单独的专用交换机实例。此外,NIC还可能需要对于可以包括虚拟机(VM)的主机设备中的处理元件之间的内部流量,实现额外的本地交换机实例。进一步地,可以需要级联交换机实例,以在单一以太网端口内实现虚拟以太网桥(VEB)或虚拟以太网端口聚集器(VEPA)。对于这些多个交换机实例,使用每一个交换机实例的单独的查询表可能需要大量的NIC资源。附图简述图1示出了示例系统。图2示出了示例交换机标识结构。图3示出了示例指派的交换机标识表。图4示出了示例查询表。图5示出了交换机管理器的示例体系结构的框图。图6示出了用于指派交换机标识的示例流程图。图7示出了主机设备的示例系统图。具体描述如在本发明中设想的,当实现EVB时多个交换机实例可能在为每一个交换机实例使用单独的查询表时,需要大量的NIC资源。此外,虚拟交换机环境中的交换机实例还可以与动态配置相关联。作为动态配置的结果,为每一个可能的交换机实例指派单独的查询表可能需要太多资源,并且也可能限制可能的配置,因为给定NIC具有有限的资源来支持这些单独的查询表。在某些示例中,实现了用于向在耦合到主机设备的输入/输出设备处接收到的数据指派交换机标识的技术。对于这些示例,数据可以与在I/O设备上维护的虚拟站接口(VSI)相关联,VSI可以可通信地耦合到在主机设备上实现的虚拟机。对于这些示例,数据可以从虚拟机或能够通过网络通信链路耦合到I/O设备的网络元件中的一个发送。可以基于在所述I/O设备处用于接收所述数据的端口的指派的端口标识符、所述数据的标识信息以及所述标识信息的至少一部分的始发者,向所述数据指派交换机标识。指派的交换机标识可以被用作查询表的一部分,以确定用于在所述I/O设备处处理数据的一个或多个动作。图1示出了示例第一系统。示例第一系统,如图1所示,包括系统100。系统100可以包括耦合到输入/输出(I/O)设备140的主机设备101。如图1所示,I/O设备140可以通过虚拟交换机(V.S.)141、143、146、147、148,以及149包括的各种虚拟站接口(VSI)111D、112D、113A、114B、115C、116D、117E和118x(‘x’表示与还有待于建立的数据信道相关联)耦合到主机设备101。与这些虚拟交换机包括在一起的各种VSI可以分别地被布置为耦合到如图1所示的虚拟机(VM)111-118,并可以允许数据(例如,数据分组或数据帧的形式)从VM111-118被接收或被发送/传输到VM111-118)。对于这些示例,VM111-118可以被配置或布置成使用在主机设备101上维护的计算资源来实现。任意数量的虚拟交换机都可以与任意数量的VSI相关联,以可通信地耦合到任意数量的VM和/或虚拟机管理器(系统管理程序)。根据某些示例,如图1所示,逻辑端口(L-端口)141-1D被示为包括在虚拟交换机141中。L-端口141-1D可以充当能够耦合到数据信道D的逻辑端口。如下面更多地提及的,数据信道D可以被布置为在VM111和VM112之间路由数据。数据的路由,例如,可以通过如图1所示的相应的VSI111D和112D。此外,还如图1所示,通信链路150-1到150-4可以通过相应的端口130-1到130-4,将网络160中所包括的网络元件耦合到主机设备101。在某些示例中,端口130-1到130-4可以表示物理连接器或端口,通过它们,可以在I/O设备140接收或从I/O设备140发送/传输数据(例如,数据分组或帧的形式)。I/O设备140还被示为包括端口扩展器144。根据某些示例,如图1所示,端口扩展器144可以包括E-端口144-1C和E-端口144-2D。对于这些示例,端口扩展器144可以允许物理端口130-2扩展到至少两个扩展器/逻辑端口以通过E-端口144-1C和E-端口144-2D路由数据去往/来自虚拟交换机146和147。在某些示例中,如图1所示,I/O设备140包括交换机管理器142。如下面更多地描述的,交换机管理器142可以包括向在I/O设备140中接收到的数据指派交换机标识的逻辑和/或特征。对于这些示例,可以在图1中所描绘的各种端口之中的一个端口接收数据。然后,指派的交换机标识可以被用作查询表的一部分,以确定用于在I/O设备140中处理数据的一个或多个动作(例如,转发、加密/安全性处理等等)。根据某些示例,I/O设备140可以被配置成根据标题为“StandardforLocalandMetropolitanAreaNetworks-VirtualBridgedLocalAreaNetworks-BridgePortExtension(用于局域和城域网的IEEE标准—虚拟桥接局域网—桥端口扩展)”并标识为IEEE802.1BR,草案3.2(2012年1月25日发布)(在下文中为“IEEE802.1BR”)的提议的IEEE标准(包括后代和变体)的至少某些方面操作或实现这些方面。对于这些示例,I/O设备140也可以被配置成根据提议的IEEE802.1Qbg标准(包括后代和变体)的至少某些方面操作或实现这些方面。作为IEEE802.1Qbg或IEEE802.1BR的实现的部分,可以建立各种数据信道,用于在主机设备101上的虚拟机之间本地或向位于网络160中的网络元件全球地路由数据。在某些示例中,如图1所示,各种建立的数据信道被标识为数据信道A-E。对于这些示例,耦合到VM111到VM116的各种VSI与数据信道A、B、C、D或E相关联,除耦合到虚拟机118的VSI118x外。在某些示例中,VSI118x可以表示还有待于与建立的数据信道相关联的VSI。如下面更多地提及的,通过VSI118x路由的数据可以包括用于最终建立与VSI118x的数据信道的控制信息。对于这些实例,此控制数据的默认标识或标记可以在I/O设备140中本地生成或产生,然后用于向数据指派交换机标识。根据某些示例,可以使用数据信道来在位于主机设备101中的VM之间路由数据或在VM和位于网络160中的网络元件之间路由数据。对于这些示例,通过这些数据信道路由的数据的标识信息可以包括在IEEE802.1Qbg或IEEE802.1BR中所描述的标记。标记可以是服务标记(S-标记)或桥端口扩展标记(E-标记)。在某些示例中,S-标记或E-标记可以是指示具有这些标记中的一个的数据可以与给定信道相关联的标识信息。这些标记可以全球地生成或发自在诸如网络160上的网络元件之类的I/O设备140的远程的元件。在某些示例中,交换机管理器142可以包括被布置为在I/O设备140中接收数据的逻辑和/或特征。数据可以与VSI相关联,并可以具有指示与信道A相关联的标识信息(例如,S-标记或E-标记)。如图1所示,耦合到信道A或与信道A相关联的VSI可以是VSI113A。对于这些示例,VSI113A可以被布置或配置为耦合到VM113,并且还被布置为通过虚拟交换机143从VM113路由数据。根据某些示例,由于数据经由耦合到网络160的数据信道路由,因此,数据可以被视为在耦合到信道A的物理端口130-1被接收。交换机管理器142可以包括被布置或配置成基于指派到端口130-1的标识符、数据的标识信息(例如,标记信息),以及标识信息的至少一部分的始发者,向数据指派交换机标识号码的逻辑和/或特征。然后,交换机标识信息可以被交换机管理器142的逻辑和/或特征用作查询表的一部分,以确定用于在I/O设备140中处理数据的一个或多个动作。在某些其他示例中,可以通过端口130-1,在I/O设备140中接收具有指示与信道A的关联的标识信息的数据。然后,可以通过信道A,将通过端口130-1接收到的数据路由到虚拟交换机143。如上文所提及的,VSI113A可以耦合到VM113。对于这些示例,VSI113A可以被布置为导致数据被发送或传输到VM113。对于这些其他示例,交换机管理器142可以包括被布置或配置成基于指派到I/O设备140接收端口(端口130-1)的标识符、数据的标识信息,以及标识信息的至少一部分的始发者,向数据指派交换机标识号码的逻辑和/或特征。然后,交换机标识信息可以被交换机管理器142的逻辑和/或特征用作查询表的一部分,以确定用于在I/O设备140中处理数据的一个或多个动作。在某些示例中,可以在I/O设备140中所包括的端口处接收可以通过虚拟交换机141中的数据信道D在VM111和112之间路由的数据。通过VSI111D在L-端口141-1D处从VM111接收到的数据可以具有目的地VM112。对于这些示例,在端口141-1D接收到的数据的标识信息可以包括在I/O设备140(例如,在虚拟交换机141)产生的数据信道标识号码。数据信道D标识号码可以类似于S-标记或E-标记的格式。交换机管理器142可以包括被布置或配置成基于指派到端口141-1D的标识符、本地生成的信道D标识号码,以及标识信息的至少一部分的始发者位于I/O设备140中的指示,向数据指派交换机标识号码的逻辑和/或特征。然后,交换机标识信息可以被交换机管理器142的逻辑和/或特征用作查询表的部分,以确定用于在I/O设备140中处理数据的一个或多个动作。在某些示例中,虚拟交换机141可以被配置成根据IEEE802.1Qbg操作,并充当虚拟以太网桥(VEB)。在某些示例中,通信链路150-1到150-4可以分别通过端口130-1到130-4可通信地将I/O设备140耦合到网络160。通信链路150-1到150-4可以包括各种类型的有线、无线或光学通信介质。对于这些示例,通信链路150-1到150-4可以根据任何版本的一个或多个适用的通信或网络标准操作。通信或网络标准可以包括,但不仅限于,IEEE802.1Qbg或IEEE802.1BR。图2示出了示例交换机标识结构200。在某些示例中,交换机管理器142可以包括使用交换机标识结构200来向在I/O设备140中接收到的数据指派交换机标识的逻辑和/或特征。如图2所示,交换机标识结构包括字段210、220和230。在某些示例中,字段210可以指示数据的至少一部分的始发者。字段220可以指示可以通过其在I/O设备140中接收数据的端口的指派的端口标识符。字段230可以指示数据的标识信息。数据的标识信息可以包括数据信道标识号码,诸如S-标记、E-标记或本地生成的/产生的默认信息。根据某些示例,可以通过1比特二进制值0在交换机ID结构200中指示标识信息的本地始发者,并可以通过字段210中的1比特值1指示全球(global)始发者。此外,字段220中的接收到的端口#可以通过3比特值指示。如此,例如,指派的标识符“4”将通过3比特二进制值100指示,指派的标识符“2”将通过3比特二进制值010指示。本发明不仅分别限于字段210或220的1比特或3比特二进制值。在某些示例中,字段230中所包括的数据的标识信息可以包括从1到4096的数据信道标识号码。此外,S-标记或E-标记信息还可以包括从1到4096的标识号码。这些标识号码可以在字段230中表示为12比特二进制值或3字符十六进制值。本发明不仅限于字段230的12比特二进制或3字符十六进制值,或从1到4096的数字。图3示出了示例指派的交换机标识表300。在某些示例中,指派的交换机ID表300描绘了可以如何使用与交换机ID结构200相关联的值来向数据指派交换机标识。对于这些示例,指派的交换机ID表300可以至少存储在在I/O设备140中维护的存储器(例如,存储器145)中。在指派的交换机标识表300的左列中列出了I/O设备140的各种虚拟交换机,而在右三列列出了接收到的数据的指派交换机标识。根据某些示例,交换机管理器142可以包括被配置或布置为基于通过其接收数据的端口的指派的端口标识符、数据的标识信息(标记或默认值),以及标识信息的至少一部分的始发者(本地或全球),向数据指派交换机标识的逻辑和/或特征。例如,上文在生成在VM111和112之间路由的数据的标识信息时提及了虚拟交换机141。如此,在虚拟交换机141的“本地/全球”列中指示值0。此外,在某些示例中,虚拟交换机141的L-端口141-1D可能已经指派了端口号1,且虚拟交换机141的此端口号在表300中被示为具有二进制值001。进一步地,可以通过数据信道D,在耦合到虚拟交换机141的VSI之间转发数据。对于此示例,与数据信道D相关联的数据信道标识可以具有十六进制值0x005,此值在图3中的“标识信息”列示出。在某些示例中,如上文对于图1所提及的,虚拟交换机143和146到148可以被配置成接收具有远离I/O设备140地生成或产生的标识信息的数据。因而,在虚拟交换机143和146-148的“本地/全球”列中指示值1。对于这些虚拟交换机,可以通过端口130-1到130-3接收从网络160接收到的数据。这三个端口可以被指派端口号1-3,从左到右(参见图1),并且这些端口号在表300中被示为分别具有二进制值001,010和011。进一步地,数据可以通过经由数据信道A-E中的一个耦合到这些虚拟交换机的VSI转发或路由。根据某些示例,S-标记可以与通过数据信道A-E接收到的数据相关联。通过数据信道A-E接收到的S-标记可以具有分别带有十六进制值0x002、0x003、0x004、0x005,以及0x006的标识号码。在某些示例中,虚拟交换机149可以被配置成通过耦合到端口130-4的未分配的数据信道x接收数据。由于数据信道没有指派的数据编号,因此通过信道x接收到的数据的标识信息的始发者被认为是本地的,并且在虚拟交换机149的列“本地/全球”列中指示值1。如图1所示,端口130-4可以是耦合到网络160的第四端口。根据某些示例,端口130-4可以被指派具有二进制值100的端口号4,如在“接收到的端口#”列中指示的。此外,还在“标识信息”列中指示默认十六进制值0x000,示出了在虚拟交换机149处接收到的数据可能尚未与数据信道标识号码相关联或被指派数据信道标识号码。根据某些示例,如表300所示,虚拟交换机141处的数据信道D和虚拟交换机147处的数据信道D的数据信道标识号码两者都是0x005。然而,由于虚拟交换机141处的数据信道D的数据信道标识符来自于本地始发者,因此,由于与对于虚拟交换机147处的数据信道D而言全球标识符具有值1相比,本地标识符具有值0,因此,指派的交换机标识不同。图4示出了示例查询表400。如图4所示,查询表400包含指派的交换机标识、VSI标识和相关联的动作的列。根据某些示例,指派的交换机标识可基于指派的交换机ID表300,如上文对于图3所描述的。对于这些示例,“本地/全球”和“接收到的端口#”列中的1比特和3比特二进制值可以组合,以形成4比特二进制值,然后,可以将4比特二进制值转换为1字符十六进制值。然后,可以将1字符十六进制值作为第四字符添加到指派的交换机ID表300的“标识信息”列中所示出的3字符数据特征值。作为这些组合的结果,给定指派的交换机标识可以具有如查询表400中所示的4字符十六进制值。例如,具有标识信息的全球始发者并在I/O设备140的端口3接收到的数据将具有4比特二进制值1011,且此值转换到十六进制值B(或十进制数11)。根据某些示例,如图4所示,查询表400可以包括“VSI信息”列,用以指示包括虚拟局域网(VLAN)/媒体接入控制器(MAC)ID的标识信息。对于这些示例,可以与指派的交换机ID一起使用VLAN/MACID信息,以进一步确定对在I/O设备140处接收到的数据要采取哪些动作。在某些示例中,如图4所示,接收到的数据可以被指派4字符交换机标识号码,交换机管理器142可以包括被配置或布置为使用指定的交换机标识作为查询表400的一部分以及可能VLAN/MACID信息以便确定对于通过I/O设备140处的给定端口接收到的数据的动作的逻辑和/或特征。根据某些示例,在I/O设备140中维护的交换机管理器142可以包括至少临时将查询表400存储在存储器145中的逻辑和/或特征。对于这些示例,存储器145的至少某些部分可以被布置或配置为三重内容可寻址(ternarycontent-addressable)存储器(TCAM)。在I/O设备140处接收到的并被指派了给定交换机标识的数据可以很快地与其相应的指派的交换机标识相关联,并且可以基于在查询表400中指出的使用该指派的交换机标识来很快地确定对应的处理动作。在某些示例中,如图4对于查询表400所示的,用于处理被指派了给定交换机标识的数据的动作可以包括将数据直接路由到给定端口。例如,具有指派的交换机标识0x1005的数据可以被直接路由到VSI111D。然后,可以从VSI111D向VM112传输/发送此数据。根据某些示例,如图4对于查询表400所示的,用于处理被指派给定交换机标识的数据的动作可以包括I/O设备140的元件(例如,密码处理器电路)对数据执行密码处理,然后,将数据路由到给定端口。例如,可以将具有指派的交换机标识0x9002的数据转发到密码处理器电路,用于进行加密/解密,然后,将其路由到VSI113A。然后,可以从VSI113A向VM113传输/发送数据。在某些示例中,如图4对于查询表400所示的,用于处理被指派了给定交换机标识的数据的动作可以包括I/O设备140的元件(例如,安全性处理器电路)对数据执行分组/帧检查处理,然后,将数据路由到给定端口。例如,可以将具有指派的交换机标识0xA005的数据转发到安全性处理器电路,用于进行分组/帧检查,然后,将其路由到相应的端口。然后,可以从VSI116D向VM116传输/发送数据。图5示出了交换机管理器142的示例体系结构的框图。在某些示例中,交换机管理器142可以包括被配置或布置为向在耦合到主机设备的I/O设备140中接收到的数据指派交换机标识的逻辑和/或特征。根据某些示例,如图5所示,交换机管理器142包括交换机逻辑510、控制逻辑520、存储器530和输入/输出(I/O)接口540。如图5所示,交换机逻辑510可以耦合到控制逻辑520、存储器530和I/O接口540。交换机逻辑510可以包括接收特征512、指派特征514,或查询特征516中的一个或多个,或其任何合理的组合。在某些示例中,图5中所描绘的元件被配置成支持或启用如本发明在别处所描述的交换机管理器142。给定交换机管理器142可以包括图5中所描绘的某些,全部或比其更多的元件。例如,交换机逻辑510和控制逻辑520可以分别地或共同地表示用于实现交换机管理器142的特征的多种逻辑设备或可执行内容。示例逻辑设备可以包括处理器电路、微处理器、微控制器、处理器电路、现场可编程门阵列(FPGA),专用集成电路(ASIC)、多核/多线程微处理器的分离的线程或核、加密块、分摊处理器中的一项或多项或其组合。在某些示例中,如图5所示,交换机逻辑510包括接收特征512、指派特征514或查询特征516。交换机逻辑510可以被配置成使用这些特征中的一项或多项来执行操作。例如,接收特征512可以在接收数据时辅助I/O设备。指派特征514可以基于通过其在I/O设备中接收数据的端口的指派的端口标识符、数据的标识信息,以及标识信息的至少一部分的始发者,来指派交换机标识号码。查询特征516可以使用指定的交换机标识作为查询表的一部分,以确定用于在I/O设备处处理数据的一个或多个动作。在某些示例中,控制逻辑520可以被配置成控制模式交换机管理器142的总体操作。如上文所提及的,控制逻辑520可以表示各种逻辑设备或可执行内容中的任何一个。对于某些示例,控制逻辑520可以被配置成与可执行内容或指令一起操作,以实现对交换机管理器142的控制。在某些替换的示例中,控制逻辑520的特征和功能可以在交换机逻辑510内实现。根据某些示例,存储器530可以被配置为存储供控制逻辑520和/或交换机逻辑210使用的可执行内容或指令。可执行内容或指令可以被用来实现或激活交换机管理器142的特征、元件或逻辑。如下面更多地描述的,存储器530也可以被布置为至少临时维护与向在耦合到主机设备的I/O设备接收到的数据指派交换机标识号码相关联的信息。存储器530可以包括各种非易失性存储器介质,包括,但不仅限于,闪存、可编程的变量或状态、只读存储器(ROM)、随机存取存储器(RAM),或其他静态或动态存储器介质中的一种或多种类型。在某些示例中,I/O接口540可以通过本地通信介质或交换机管理器142和I/O设备的元件或主机设备的元件之间的链路来提供接口。I/O接口540可以包括根据各种通信协议或标准来操作以通过本地通信介质或链路进行通信的接口。可以在一个或多个行业标准(包括后代和变体)中,诸如与集成电路之间(I2C)规范、系统管理总线(SMBus)规范、加速图形端口(AGP)规范、外围组件互连快速(PCIExpress)规范、通用串行总线(USB)规范或串行高级技术附件(SATA)规范相关联的那些,描述这些通信协议或标准。虽然本发明不仅限于上文所提及的标准和相关联的协议。根据某些示例,I/O接口540可以通过交换机管理器142和位于耦合到I/O设备的计算设备的元件和/或与耦合到I/O设备的通信链路相关联的网络元件之间的网络通信链路或信道,来提供接口。I/O接口540可以包括根据各种通信协议或标准来操作以通过网络通信链路或信道进行通信的接口。可以在以太网相关的标准或规范(包括后代以及变体)(诸如与IEEE802.1Qbg或IEEE802.1BR相关联的那些)中描述...
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1