集中化虚拟交换机架构控制方法和设备的制作方法

文档序号:7735857阅读:180来源:国知局
专利名称:集中化虚拟交换机架构控制方法和设备的制作方法
技术领域
这里说明的一些实施例涉及交换机架构控制,尤其涉及与交换机架构相关的集中化虚拟控制。
背景技术
交换机架构可包括大量的交换机,以把来自源设备的数据分组引导到目的地设备。交换机架构内的交换机均可包括本地处理器,并接收定期的软件更新。随着交换机架构变得更大,包括的交换机更多,导致由处理器增多而引起的电能使用增大,和时间更长、 劳动密集并且可能易于出错的软件升级过程。在一些情况下,网络操作人员管理每台单独的交换机的软件升级,常常每次一个交换机地人工升级软件。从而,需要一种简化交换机架构的软件升级过程,和降低交换机架构的电能使用的方法和设备。

发明内容
在一些实施例中,设备包括置于第一交换机架构部件内的处理模块,所述处理模块被配置成当具有路由模块的第二交换机架构部件在操作上与第一交换机架构部件耦接时,检测该第二交换机架构部件。处理模块被配置成定义虚拟处理模块,所述虚拟处理模块被配置成在操作上与第二交换机架构部件耦接。虚拟处理模块被配置成从第二交换机架构部件接收对转发信息的请求,虚拟处理模块被配置成把转发信息发给路由模块。


图1是按照一个实施例的交换机架构系统的系统方框图。图2是按照另一个实施例的交换机架构的示意图。图3是按照另一个实施例的交换机架构系统的汇聚交换机的示意图。图4是按照另一个实施例的交换机架构系统的接入交换机的示意图。图5是按照另一个实施例,图解说明操作交换机架构系统的方法的流程图。
具体实施例方式在一些实施例中,设备包括置于第一交换机架构部件内的处理模块,所述处理模块被配置成当具有路由模块的第二交换机架构部件在操作上与第一交换机架构部件耦接时,检测该第二交换机架构部件。处理模块被配置成定义虚拟处理模块,所述虚拟处理模块被配置成在操作上与第二交换机架构部件耦接。虚拟处理模块被配置成从第二交换机架构部件接收对转发信息的请求,虚拟处理模块被配置成把转发信息发给路由模块。在一些实施例中,设备包括具有第一软件配置,并和第一交换机架构部件布置在一起的处理模块,所述处理模块被配置成检测第二交换机架构部件。处理模块被配置成在第一时间,在操作上使根据第一软件配置设定的并且置于第一交换机架构部件内的虚拟处理模块和第二交换机架构部件耦接。处理模块被配置成接收配置文件,以在第一时间之后的第二时间,根据第二软件配置设定处理模块,处理模块被配置成根据第二软件配置,设定虚拟处理模块。在一些实施例中,保存代码的非暂时性处理器可读介质代表使处理器检测具有路由模块的第一交换机架构部件,和定义操作上与第一交换机架构部件耦接的虚拟处理模块的指令。虚拟处理模块被配置成从第一交换机架构部件接收对转发信息的请求,虚拟处理模块被配置成响应收到所述请求,把转发信息发给路由模块。这里使用的术语“物理跳”可包括两个模块和/或设备之间的物理链路。例如,操作上耦接第一模块和第二模块的数据路径可被认为是物理跳。类似地,物理跳能够物理链接第一模块和第二模块。这里使用的术语“物理单跳”可包括系统中的两个模块和/或设备之间的直接物理连接。类似地,物理单跳可包括两个模块和/或设备通过其被耦接,而没有中间模块的链路。因此,例如,如果第一模块经物理单跳耦接到第二模块,那么第一模块可把数据分组直接发送给第二模块,而不通过中间模块发送所述数据分组。这里使用的术语“逻辑单跳”意味物理跳和/或作为在与第一协议相关的网络拓扑内的单跳的一组物理跳。类似地,按照与第一协议相关的拓朴,在经物理跳和/或所述一组物理跳操作上与第二模块和/或设备耦接的第一模块和/或设备之间,不存在任何居间节点。经逻辑单跳连接到第二模块和/或设备的第一模块和/或设备能够利用与第一协议和第二模块和/或设备相关的目的地地址,把数据分组发送给第二模块和/或设备,而不管第一设备和第二设备之间的物理跳的数目。在一些实施例中,例如,第二协议可使用第一协议的目的地地址,通过逻辑单跳,把数据分组和/或信元从第一模块和/或设备路由到第二模块和/或设备。类似地,当第一模块和/或设备经第一协议的逻辑单跳向第二模块和/或设备发送数据时,第一模块和/或设备把逻辑单跳看作好像它正在直接向第二模块和/或设备发送数据似的。在一些实施例中,交换机架构可以起逻辑单跳的一部分(例如,单一的大规模整合式L2/L3交换机)的作用。交换机架构的各个部分可以物理地分布在用多个物理跳互连的许多机箱和/或模块上。在一些实施例中,例如,交换机架构的一个处理级可包括在第一机箱中,交换机架构的另一个处理级可包括在第二机箱中。这两个处理级都可在逻辑上充当单一的整合式交换机的一部分(例如,在按照第一协议的同一逻辑跳内),不过包括在相应的各对处理级之间的独立物理单跳。类似地,物理跳可在操作上耦接代表与用于把数据路由到交换机架构外的协议相关的逻辑单跳的交换机架构内的每一级。另外,不必在逻辑单跳内的每一级发生与用于把数据路由到逻辑单跳外的协议相关的分组分类和转发。在一些实施例中,例如,与第一协议(例如,以太网)相关的分组分类和转发可在模块和/或设备经逻辑单跳向另一个模块和/或设备发送数据分组之前发生。这里使用的在交换机架构内的模块可以是例如定义交换机架构的一级内的一个或多个交换机的操作上耦接的电气组件的任意组合体和/或集合。在一些实施例中,模块可以包括例如存储器、处理器、电气迹线、光连接器和/或类似物。在本说明书中使用的单数形式包括复数所指,除非上下文明确地另有说明。从而, 例如,术语“交换机架构”意图包括单个交换机架构或者交换机架构的组合。
5
术语“第一级”、“第二级”等指的是交换机架构内的各个部分、模块或节点。在一些情况下,这些术语指的是给定交换机架构内的特定级。例如,三级Clos网络包括从入口到出口的连续三级;这种交换机架构具有可被称为“第一级”(入口到出口方向的第一级) 到第三级(入口到出口方向的第三和最后一级)的三级。不过,在其它情况下,术语“第一级”、“第二级”等指的是交换机架构内的任意一级,对应于特定级的讨论顺序。例如,“第一级”可指的是讨论的第一级,可对应于交换机架构内的任意级(例如,三级Clos网络内的第三级),“第二级”可指的是交换机架构内的剩余级(例如,三级Clos网络内的第二级)。 从而,应明白具体上下文将指示术语“第一级”、“第二级”等是指的是交换机架构内的具体序数级,还是指的是交换机架构内的任意特定级。图1是按照一个实施例,图解说明交换机架构系统的示意图。交换机架构100可包括交换机架构部件,比如汇聚交换机和/或接入交换机。交换机架构100包括汇聚交换机102,和多个接入交换机182、184、186。交换机架构100使多个外围处理设备114、124、 134相互耦接。外围处理设备114、124、134可以是例如计算节点、服务节点、路由器和存储节点,如下更详细所述。在一些实施例中,外围处理设备114、1M、134包括服务器、存储设备、网关、工作站和/或类似设备。通过利用任何适当的连接,比如光连接(例如,光缆和光连接器),电连接(例如, 电缆和电连接器)和/或类似连接,外围处理设备114、1M、134可分别在操作上与交换机架构100的接入交换机182、184、186耦接。如此,外围处理设备114、1M、134被配置成分别经接入交换机182、184、186,向交换机架构100发送数据(例如,数据分组、数据信元等等)。在一些实施例中,外围处理设备114、124、134和接入交换机182、184、186之间的每个连接分别为直接链路。这种链路可被认为是物理单跳链路。在其它实施例中,可以使外围处理设备在操作上,经中间模块耦接到接入交换机。这种连接可被认为是物理多跳链路。每个接入交换机182、184、186可以是配置成操作上耦接外围处理设备114、124、 134和汇聚交换机102的任何设备。在一些实施例中,例如,接入交换机182、184、186可以是接入交换机、输入/输出模块、架顶式设备和/或类似设备。在结构上,接入交换机182、 184、186既可以充当源接入交换机,又可以充当目的地接入交换机。从而,接入交换机182、 184、186能够向汇聚交换机102发送数据(例如,数据分组和/或数据信元的数据流),和从汇聚交换机102接收数据,以及往来于连接的外围处理设备114、124、134收发数据。在一些实施例中,接入交换机182、184、186可以是硬件模块和(在硬件中运行的) 软件模块的组合。在一些实施例中,例如,每个接入交换机182、184、186可包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、数字信号处理器(DSP)和/或类似物。接入交换机182、184、186可被配置成准备数据分组(例如,以太网分组),以输入汇聚交换机102。例如,接入交换机182、184、186可被配置成在把数据分组发给汇聚交换机 102之前,转发、分类和/或修改分组(例如,修改、增加和/或删除包括在数据分组内的报头部分、报尾部分和/或任何其它标识符)。在美国专利申请序列号12/M2,168,"Methods and Apparatus Related to Packet Classification Associated with a Multi-Stage Switch” (申请日2008年9月30日)和美国专利申请序列号12/242, 172,“Methods and Apparatus for Packet Classification Based on Policy Vectors,,(申请日 2008 年 9 月30日)中说明了与分组分类相关的其它细节,这两个专利申请在此整体引为参考。
接入交换机182、184、186都被配置成经汇聚交换机102,与其它接入交换机182、 184、186通信。具体地说,汇聚交换机102被配置成以较低的等待时间,提供接入交换机 182、184、186之间的连通性。例如,汇聚交换机102可被配置成在接入交换机182、184、186 之间传输(例如,输送)数据。在一些实施例中,汇聚交换机102可具有几个端口(例如, 出口端口和/或入口端口),通过所述几个端口,接入交换机182、184、186能够传输和/或接收数据。接入交换机182、184、186可包括一个或多个网络接口设备(例如40千兆比特 (Gb)以太网接口,IOOGb以太网接口,等等),通过所述网络接口设备,接入交换机182、184、 186能够向汇聚交换机102发送信号和/或从汇聚交换机102接收信号。可以经由操作上耦接接入交换机182、184、186的电链路、光链路和/或无线链路,向汇聚交换机102发送信号和/或从汇聚交换机102接收信号。在一些实施例中,接入交换机182、184、186可被配置成根据一种或多种协议(例如,以太网协议、多协议标签交换(MPLQ协议、光纤信道协议、 以太网光纤信道协议、与Infiniband相关的协议、基于信元的协议等等)向汇聚交换机102 发送信号和/或从汇聚交换机102接收信号。汇聚交换机102可以是操作上耦接接入交换机182、184、186和其它接入交换机 182、184、186的任何适当交换机架构。在一些实施例中,例如,汇聚交换机102可以是具有多级交换模块(例如,一体化以太网交换机)的Clos网络(例如,非阻塞Clos网络、严格意义非阻塞Clos网络、Benes网络)。在一些实施例中,例如,汇聚交换机102可以类似于三级交换机架构。在其它实施例中,图1中所示的汇聚交换机102可包括不同的级数。在这样的实施例中,例如,汇聚交换机102可以包括五级、七级或九级。汇聚交换机102可以是例如与在同时待审的美国专利申请No. 12/495,337,“Methods and Apparatus Related to Any-to-Any Connectivity Within a Data Center" ( E^itH 2009 ^6^ 30) ^ 的数据中心的核心部分类似的数据中心的核心部分的一部分,该专利申请在此整体引为参考。在一些实施例中,汇聚交换机102可以是(例如,可以充当)单一的整合式交换机 (例如,单一的大规模整合式L2/L3交换机)。换句话说,汇聚交换机102可被配置成起单一的逻辑实体(例如,单一的逻辑网络部件)的作用。类似地说,汇聚交换机102可以是第一接入交换机182、184、186和第二接入交换机182、184、186之间的逻辑单跳的一部分(例如,与接入交换机182、184、186和汇聚交换机102之间的数据路径一起)。汇聚交换机102 可被配置成连接外围处理设备114、124、134 (例如,使外围处理设备114、124、134之间的通信更容易)。在一些实施例中,汇聚交换机102可被配置成经配置成以至少10(ib/S的速率传输数据的接口设备(未示出)通信。在一些实施例中,汇聚交换机102可被配置成经配置成以例如2(}b/S、4(}b/S、8(;b/S、10(ib/S、40(;b/S、100(ib/S和/或更快的链路速度传输数据的接口设备(例如,光纤信道接口设备)通信。尽管汇聚交换机102可在逻辑上被集中,不过,考虑到可靠性,汇聚交换机102的实现可以是高度分布的。例如,汇聚交换机102的各个部分可以物理地分布在许多机箱中。 在一些实施例中,例如,汇聚交换机102的一个处理级可被包括在第一机箱中,汇聚交换机 102的另一个处理级可被包括在第二机箱中。这两个处理级在逻辑上都可充当单一的整合式交换机的一部分(例如,在同一逻辑跳内),不过在相应的各对处理级之间具有独立的物CN
理单跳。这里说明与汇聚交换机102的体系结构相关的更多细节。使用中,可以经交换机架构100,在外围处理设备114、1M、134之间发送数据分组 (例如,以太网分组)。例如,数据分组可经路径196,从第一外围处理设备114'被发送给第二外围处理设备124'。第一外围处理设备124'可经链路192,向接入交换机182发送数据分组。接入交换机182随后可准备数据分组以输入汇聚交换机102。一旦准备好,接入交换机182就经链路193,把数据分组发给汇聚交换机102。汇聚交换机102内的交换模块能够通过汇聚交换机102,路由数据分组。数据分组通过一个端口,经链路194被发给接入交换机184。接入交换机184随后能够利用第一协议,经链路195把数据分组发给第二外围处理设备124'。图2是按照一个实施例,图解说明交换机架构200的示意图。交换机架构200类似于交换机架构100,可包括与交换机架构100类似的具有相似功能的组件。交换机架构200 包括汇聚交换机202,汇聚交换机204,和多个接入交换机观2、洲4、观6。汇聚交换机202、 204可类似于交换机架构100的汇聚交换机102,接入交换机观2、观4、286可类似于交换机架构100的接入交换机182、184、186。汇聚交换机202包括分组转发引擎(“PFE”)212和本地处理器222。分组转发引擎212可包括例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP) 等,能够进行交换,例如层2和层3数据分组交换,路由查寻和分组转发。在一些实施例中, 分组转发引擎可以与本地处理器一体化(例如参见图幻。本地处理器222包括操作上与分组转发引擎212耦接的处理器管理器232。处理器管理器232被配置成控制控制平面内的汇聚交换机202,和管理如这里所述,由本地处理器222定义的任意虚拟本地处理器。例如,本地处理器222能够定义虚拟本地处理器242、244,246。每个虚拟本地处理器242、244, 246在操作上与接入交换机观2、观4、286之一耦接,并被配置成向其相关接入交换机发送控制信号,和从其相关接入交换机接收请求,从而管理通过交换机架构200的数据的转发。 例如,虚拟本地处理器246操作上与接入交换机286耦接,能够从接入交换机286接收对信息和/或指令(比如数据分组转发信息)的请求,并且能够向接入交换机观6发送信息、数据、命令和/或指令。汇聚交换机204类似于汇聚交换机202,可包括分组转发引擎214和LCPU 224。分组转发引擎214可包括专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器 (DSP)等,能够进行交换,例如层2和层3数据分组交换,路由查寻和分组转发。LCPU包括操作上与分组转发引擎214耦接的处理器管理器234。处理器管理器234被配置成控制控制平面内的汇聚交换机204,和管理如这里所述,由本地处理器2 定义的任意虚拟本地处理器。例如,本地处理器2M能够定义虚拟本地处理器M2J44J46。每个虚拟本地处理器M2、M4、246在操作上与接入交换机观2、观4、286之一耦接,并被配置成向相关接入交换机发送控制信号,和从相关接入交换机接收请求,从而管理通过交换机架构200的数据的转发。例如,虚拟本地处理器256操作上与接入交换机286耦接,能够从接入交换机观6 接收对信息和/或指令(比如数据分组转发信息)的请求,并且能够向接入交换机286发送信息、数据、命令和/或指令。如图2中所示,汇聚交换机202和汇聚交换机204可在操作上相互耦接,每个接入交换机观2、观4、观6可在操作上与汇聚交换机202和汇聚交换机204耦接。这样,出自汇聚
8交换机202、204之一的虚拟本地处理器能够定义接入交换机的第一或者主要的虚拟本地处理器,出自汇聚交换机202、204中的另一个的虚拟本地处理器能够定义该接入交换机的第二或者备用虚拟本地处理器。例如,虚拟本地处理器242可以是接入交换机282的主虚拟本地处理器,而虚拟本地处理器252可以是接入交换机282的备用虚拟本地处理器。这样, 如果备用虚拟本地处理器或主虚拟本地处理器发生故障,崩溃或者以其它方式变得不可工作,那么剩余的虚拟本地处理器242、252能够工作,从而每个接入交换机观2、观4、286能够继续工作。类似地,如果汇聚交换机202、204任意一个发生故障,崩溃或者以其它方式变得不可工作,那么剩余的汇聚交换机202、204(包括其虚拟处理器242-246或者252-256)能够继续工作。在一些实施例中,汇聚交换机202定义所有的主虚拟本地处理器,汇聚交换机 204定义所有的备用虚拟本地处理器。在一些实施例中,汇聚交换机202、204都定义主虚拟本地处理器和备用虚拟本地处理器的混合。虽然图2把交换机架构200描述成包括两个汇聚交换机和三个接入交换机,不过,在一些实施例中,交换机架构200可包括更多或更少的汇聚交换机和/或接入交换机。在一些实施例中,在各对汇聚交换机之中,主虚拟本地处理器和备用虚拟本地处理器的分布不对称。在这些实施例中,除汇聚交换机202、204外的汇聚交换机能够定义接入交换机观2、观4、286任意之一的主和/或备用虚拟本地处理器。图3是与交换机架构200的汇聚交换机202、204,和交换机架构100的汇聚交换机102类似的汇聚交换机302的系统方框图。汇聚交换机302包括本地处理器322、存储器382、线卡360、线卡370和端口 392。本地处理器322在操作上与存储器382、线卡360、 线卡370和端口 392耦接。线卡360包括端口 361和362。线卡370包括端口 371和372。 在一些实施例中,线卡360和/或370包括一个或多个处理器和/或存储器。端口 361、362、371和372能够与接入交换机通信。例如,端口 361、362、371和372 能够利用经由电缆的双绞线电信令,或者经由光缆的光纤信令,实现物理层。在一些实施例中,端口 361、362、371和372中的一些端口实现一个物理层,比如双绞线电信令,端口 361、 362、371和372中的其它端口实现不同的物理层,比如光纤信令。此外,端口 361、362、371 和372能够允许汇聚交换机302借助诸如以太网协议或光纤信道协议之类的普通协议,与接入交换机通信。在一些实施例中,端口 361、362、371和372中的一些端口实现一种协议, 比如以太网协议,端口 361、362、371和372中的其它端口实现不同的协议,比如光纤信道协议。从而,汇聚交换机302能够经由端口 361、362、371和372,利用同类或不同类的物理层和/或协议,与多个接入交换机通信。端口 392能够经由诸如交换机架构之类的通信网络,与其它汇聚交换机通信。端口 392可以是一个或多个网络接口(例如,40千兆位(( )以太网接口、100( 以太网接口等)的一部分,通过所述网络接口,汇聚交换机302能够向通信网络发送信号和/或从通信网络接收信号。信号可经操作上与汇聚交换机302耦接的电链路、光链路和/或无线链路, 被发送给通信网络和/或接收自通信网络。在一些实施例中,汇聚交换机302能够根据一种或多种协议(例如,以太网协议、多协议标签交换(MPLQ协议、光纤信道协议、以太网光纤信道协议、与Infiniband相关的协议),向通信网络发送信号和/或从通信网络接收信号。在一些实施例中,端口 392能够实现与在端口 361、362、371和372实现的物理层和/或协议不同的物理层和/或协议。例如,端口 361、362、371和372能够利用基于数据分组的协议,与接入交换机通信,而端口 392能够利用基于数据信元的协议,经交换机架构通信。换句话说,汇聚交换机302可以是网络交换机(或者交换机核心),比如分布式网络交换机(或者分布式交换机核心)的边缘设备。在一些实施例中,汇聚交换机302能够准备数据分组(例如,以太网分组),以输入通信网络。例如,汇聚交换机302能够在把数据分组发给通信网络之前,转发、分类和/或修改数据分组的分组封装(例如,修改、增加和/或删除包括在数据分组内的报头部分、报尾部分和/或任何其它标识符)。在美国专利申请序列号12/M2,168,"Methods and Apparatus Related to Packet Classification Associated with a Multi-Stage Switch” (申请日2008年9月30日)和美国专利申请序列号12/242, 172,“Methods and Apparatus for Packet Classification Based on Policy Vectors,,(申请日 2008 年 9 月30日)中说明了与分组分类相关的其它细节,这两个专利申请在此整体引为参考。汇聚交换机302的存储器382能够保存可用于定义、帮助和/或扩展汇聚交换机 302的功能或配置的各种软件配置文件和/或数据。这样的软件配置文件和/或数据可包括操作系统软件配置文件、路由或查寻表等等。每个软件配置文件可被定期更新,以确保汇聚交换机302包括最新和/或选择的配置。本地处理器322定义的每个虚拟本地处理器可根据本地处理器322的当前软件配置来定义。例如,本地处理器322能够定义虚拟本地处理器;342、;344、;346。每个虚拟本地处理器;342、;344、346可由处理器管理器332管理。每个虚拟本地处理器342、344、346可经本地处理器322,在操作上与汇聚交换机302的存储器 382耦接。每个虚拟本地处理器;342、;344、346可在操作上与操作上和虚拟本地处理器;342、 344,346耦接的接入交换机的存储器耦接,从而能够把从本地处理器322接收的软件配置文件保存在接入交换机的存储器中。在一些实施例中,汇聚交换机302能够被配置成接收新的或者更新的软件配置文件。在这些实施例中,汇聚交换机302能够远程(例如,经通信网络)和/或本地接收更新的软件配置文件。本地处理器322可被配置成根据更新的软件配置,自动重新定义由本地处理器322定义的任何虚拟本地处理器342、344、346。换句话说,本地处理器322定义的任何虚拟本地处理器342、344、346能够包括在软件配置和功能性方面,大体与本地处理器322相同的软件配置。这样,本地处理器322定义的虚拟本地处理器342、344、346能够在接入交换机上充当从而代替物理本地处理器,以控制控制平面内的接入交换机。例如,汇聚交换机302可包括具有第一操作软件配置的操作系统软件配置文件, 本地处理器322能够按照操作系统软件的第一配置,管理或以其它方式控制控制平面内的汇聚交换机302。汇聚交换机302最初能够定义具有第一操作系统配置的虚拟本地处理器 342,344,346,并且稍后可接收第二操作系统配置文件。本地处理器302随后能够根据第二操作系统配置,重新定义虚拟本地处理器342、344、346。在一些实施例中,更新本地处理器 322的软件配置会自动重新定义由本地处理器322定义的任何虚拟本地处理器342、344、 346的软件配置。在一些实施例中,更新本地处理器322的软件配置会提示用户或通信网络管理员更新虚拟本地处理器;342、;344、;346的软件配置。图4是与接入交换机182、184、188类似的接入交换机402的系统方框图。接入交换机402包括存储器482、线卡460、线卡470和端口 492。由汇聚交换机定义的虚拟本地处理器(图4中未示出)能够管理接入交换机402,并且能够在操作上与存储器482、线卡460、线卡470和端口 492耦接。在一些实施例中,接入交换机402可包括本地处理器。在这些实施例中,为操作接入交换机402而定义的虚拟本地处理器能够操作接入交换机402, 接入交换机的本地处理器可以暂停不用。线卡460包括端口 461和462。线卡470包括端口 471和472。在一些实施例中,线卡460和/或470包括一个或多个处理器和/或存储
ο端口 461、462、471和472能够与汇聚交换机和/或外围处理设备通信。例如,端口 461、462、471和472能够利用经由电缆的双绞线电信令,或者经由光缆的光纤信令,实现物理层。在一些实施例中,端口 461、462、471和472中的一些端口实现一个物理层,比如双绞线电信令,端口 461、462、471和472中的其它端口实现不同的物理层,比如光纤信令。此夕卜,端口 461、462、471和472能够允许接入交换机402借助诸如以太网协议或光纤信道协议之类的普通协议,与接入交换机(比如计算机服务器(服务器))通信。在一些实施例中, 端口 461、462、471和472中的一些端口实现一种协议,比如以太网协议,端口 461、462、471 和472中的其它端口实现不同的协议,比如光纤信道协议。从而,接入交换机402能够经由端口 461、462、471和472,利用同类或不同类的物理层和/或协议,与多个外围处理设备通
fn °端口 492能够经由诸如交换机架构(例如,交换机架构系统的数据平面部分)之类的通信网络,与其它接入交换机通信。端口 492可以是一个或多个网络接口(例如,40 千兆位(( )以太网接口、100( 以太网接口等)的一部分,通过所述网络接口,接入交换机 402能够向交换机架构系统发送信号和/或从交换机架构系统接收信号。信号可经操作上与接入交换机402耦接的电链路、光链路和/或无线链路,被发送给交换机架构系统和 /或接收自交换机架构系统。在一些实施例中,接入交换机402能够根据一种或多种协议 (例如,以太网协议、多协议标签交换(MPLS)协议、光纤信道协议、以太网光纤信道协议、与 Infiniband相关的协议),向交换机架构系统发送信号和/或从交换机架构系统接收信号。在一些实施例中,端口 492能够实现与在端口 461、462、471和472实现的物理层和/或协议不同的物理层和/或协议。例如,端口 461、462、471和472能够利用基于数据分组的协议,与外围处理设备通信,而端口 492能够利用基于数据信元的协议,经交换机架构系统的剩余部分通信。换句话说,接入交换机402可以是诸如分布式网络交换机之类的网络交换机的剩余部分的边缘设备。在一些实施例中,接入交换机402能够准备数据分组(例如,以太网分组),以输入通信网络。例如,接入交换机402能够在把数据分组发给通信网络之前,转发、分类和/或修改分组(例如,修改、增加和/或删除包括在数据分组内的报头部分、报尾部分和/或任何其它标识符)。在美国专利申请序列号12/242,168,“Methods and Apparatus Related to Packet Classification Associated with a Multi-Stage Switch" ( E^itH 2008 ^ 9 月 30 日)和美国专利申请序列号 12/242,172,“Methods and Apparatus for Packet Classification Based on Policy Vectors"(申请日 2008 年 9 月 30 日)中说明了与分组分类相关的其它细节,这两个专利申请在此整体引为参考。图5是描述一个实施例的如图2中所示的操作交换机架构200的方法500的流程图。在502,具有第一软件配置的汇聚交换机的本地处理器能够检测操作上已与汇聚交换机耦接的新的接入交换机。在504,本地处理器能够根据第一软件配置,定义新的虚拟本地处理器,并且能够在操作上将新的虚拟本地处理器与新的接入交换机耦接。在一些实施例中,本地处理器能够在检测到新的接入交换机之前,定义虚拟本地处理器。在506,本地处理器能够判定在汇聚交换机是否收到新的或者更新的软件配置文件。换句话说,本地处理器能够判定虚拟本地处理器的软件配置是否不同于本地处理器的软件配置。如果未收到新的软件配置文件(数据,信息),那么接入交换机和汇聚交换机能够继续按照现有的配置文件(数据,信息)工作,例如接收和转发数据。具体地说,新的接入交换机的PFE能够接收数据分组,并向虚拟本地处理器发送对路由信息的请求。在508,虚拟本地处理器可接收该请求,并把请求的信息发送给PFE,在510,PFE能够根据路由信息,转发数据。在506,本地处理器能够定期检查新的软件配置文件。如果收到新的软件配置文件,那么在512,本地处理器能够根据新的软件配置,重新定义虚拟本地处理器。在一个例子中,并参考图2,交换机架构200最初可包括汇聚交换机202、204,PFE 212、214,本地处理器222、224,处理器管理器232、234,接入交换机沘2,和虚拟本地处理器 242,252.本地处理器222、2M最初可基于第一软件配置。接入交换机284可在操作上与汇聚交换机202耦接。汇聚交换机202可检测接入交换机观4,并根据第一软件配置,定义虚拟本地处理器对4。汇聚交换机202可在操作上将接入交换机284与虚拟本地处理器M4 耦接,虚拟本地处理器244能够管理接入交换机284的控制平面各个方面。接入交换机观4 随后能够接收数据,向虚拟本地处理器244请求转发信息,和根据从虚拟本地处理器244发送的转发信息,转发数据。在一些实施例中,接入交换机284能够接收数据,并根据从虚拟本地处理器244接收的保存在接入交换机观4的存储器内的转发信息,转发数据。本地处理器222随后可接收第二软件配置文件,并能根据第二软件配置文件,重新定义虚拟本地处理器M2J44。在一些实施例中,当本地处理器收到新的或者更新的软件配置文件时,每个虚拟本地处理器M2、252、244根据新的(第二)软件配置被自动重新定义。在一些实施例中,重新定义虚拟本地处理器可包括把新的或者更新的软件配置文件发给操作上与虚拟本地处理器耦接的接入交换机的存储器,并使虚拟本地处理器把新的软件配置文件安装在该接入交换机。进一步参考和扩展该例子,除了汇聚交换机202之外,接入交换机284能够在操作上与汇聚交换机204耦接。汇聚交换机204能够按照与汇聚交换机202定义虚拟本地处理器244类似的方式,利用第二软件配置定义虚拟本地处理器254,并且能够在操作上将虚拟本地处理器2M和接入交换机284耦接。本地处理器222的处理器管理器232能够与本地处理器224的处理器管理器234通信,从而判定虚拟本地处理器M4、254中的哪一个将成为接入交换机观4的主虚拟本地处理器,哪一个将成为接入交换机观4的备用虚拟本地处理器。可以根据许多因素选择主虚拟本地处理器,包括特定的本地处理器正在操作多少主虚拟本地处理器,特定的本地处理器和/或汇聚交换机的历史可靠性,汇聚交换机的使用年限,或者任何其它原因。进一步参考和扩展该例子,接入交换机观6随后能够在操作上与汇聚交换机202 耦接。汇聚交换机202能够检测接入交换机观6,能够根据第二软件配置,定义虚拟本地处理器M6。汇聚交换机202能够在操作上将接入交换机286和虚拟本地处理器246耦接,虚拟本地处理器246能够管理接入交换机观6。接入交换机286随后能够接收数据,向虚拟本地处理器246请求转发信息,并能根据从虚拟本地处理器246发送的转发信息转发数据。在
12一些实施例中,接入交换机286能够接收数据,并根据从虚拟本地处理器246接收的保存在接入交换机观6的存储器内的转发信息,转发数据。本地处理器222、224随后可接收第三软件配置文件,并能根据第三软件配置文件,重新定义虚拟本地处理器M2、M4、M6、252、 254。进一步参考和扩展该例子,除了汇聚交换机202之外,接入交换机286能够在操作上与汇聚交换机204耦接。汇聚交换机204能够按照与汇聚交换机202定义虚拟本地处理器246类似的方式,定义虚拟本地处理器256,并且能够在操作上将虚拟本地处理器256和接入交换机286耦接。本地处理器222的处理器管理器232能够与本地处理器2 的处理器管理器234通信,从而判定虚拟本地处理器M6、256中的哪一个将成为接入交换机观6 的主虚拟本地处理器,哪一个将成为接入交换机观6的备用虚拟本地处理器。可以根据许多因素选择主虚拟本地处理器,包括特定的本地处理器正在操作多少主虚拟本地处理器, 特定的本地处理器和/或汇聚交换机的历史可靠性,汇聚交换机的使用年限,或者任何其它原因。虽然交换机架构100和交换机架构200被表示成包括汇聚交换机和接入交换机, 不过,在一些实施例中,交换机架构系统可包括具有与汇聚交换机类似的组件和功能的一个或多个核心交换机。核心交换机可在操作上把一个或多个汇聚交换机耦接在一起,能够允许所述一个或多个汇聚交换机与汇聚交换机的每个相关接入交换机和外围处理设备之间的连通性。在一些实施例中,核心交换机的本地处理器能够定义一个或多个虚拟本地处理器,以管理一个或多个汇聚交换机和/或接入交换机。尽管上面说明了各个实施例,不过应明白所述各个实施例只是作为例子给出的, 而不是对本发明的限制。在上述方法指出按一定顺序发生的某些事件的情况下,某些事件的排序可被修改。另外,当可能时可在并行处理中同时执行某些事件,以及如上所述顺序执行某些事件。尽管上面表示和描述成通过交换机架构(例如,图2的交换机架构200)路由、交换和/或转发数据分组,在一些实施例中,接入交换机被配置成把数据分组分成一个或多个数据信元。在这样的实施例中,数据信元包括报头(例如,具有目的地接入交换机标识符和源接入交换机标识符),并且能够与这里关于数据分组所述类似地通过交换机架构路由、 交换和/或转发。目的地接入交换机能够接收和重新装配数据信元,从而定义数据分组。数据分组随后可被发送给目的地外围处理设备。在一些实施例中,这样的数据信元并不采用通过交换机架构的普通路径。例如,从数据分组定义的一些数据信元可通过与交换机架构的第二级相关的第一模块,而从同一数据分组定义的其它数据信元可通过与交换机架构的第二级相关的第二模块。此外,在一些实施例中,数据信元的长度和/或大小相等。上面显示和说明的实施例涉及多个外围处理设备,包括计算节点、存储节点、服务节点和路由器。在一些实施例中,一个或多个计算节点可以是通用计算引擎,通用计算引擎可包括例如处理器、存储器和/或一个或多个网络接口设备(例如,网络接口卡(NIC))。在一些实施例中,计算节点内的处理器可以是一个或多个高速缓存相干域的一部分。在一些实施例中,计算节点可以是主设备、服务器等等。在一些实施例中,一个或多个计算节点可具有虚拟化资源,以致任意计算节点(或其一部分)能够代替操作上与交换机架构系统耦接的任何其它计算节点(或其一部分)。
在一些实施例中,一个或多个存储节点可以是包括例如处理器、存储器、本地连接的盘存储器和/或一个或多个网络接口设备的设备。在一些实施例中,存储节点可具有配置成使例如一个或多个计算节点能够经交换机架构,从一个或多个存储节点读取数据和/ 或把数据写入一个或多个存储节点的专用模块(例如,硬件模块和/或软件模块)。在一些实施例中,一个或多个存储节点可具有虚拟化资源,以致任何存储节点(或其一部分)能够代替操作上与交换机架构系统耦接的任何其它存储节点(或其一部分)。在一些实施例中,一个或多个服务节点可以是开放系统互连(OSI)层4 层7设备,所述设备可包括例如处理器(例如,网络处理器)、存储器和/或一个或多个网络接口设备(例如,10( 以太网设备)。在一些实施例中,服务节点可包括配置成对较为沉重的网络负载进行计算的硬件和/或软件。在一些实施例中,服务节点可被配置成相对高效地(例如,比可在例如计算节点110进行的计算更高效地),基于每个分组进行计算。例如,计算可包括例如状态防火墙计算、入侵侦测和防卸(IDP)计算、可扩展置标语言(XML)加速计算、 传输控制协议(TCP)终止计算和/或应用层负载均衡计算。在一些实施例中,一个或多个服务节点可具有虚拟化资源,以致任何服务节点(或其一部分)能够代替操作上与交换机架构系统耦接的任何其它服务节点(或其一部分)。在一些实施例中,一个或多个路由器可以是配置成使交换机架构系统(例如数据中心)的至少一部分连接到另一个网络(例如,全球因特网)的连网设备。在一些实施例中,例如,路由器能够实现与交换机架构系统相关的组件(例如,外围处理设备,交换机架构的各个部分)之间的通信。可根据例如层3路由协议定义所述通信。在一些实施例中, 一个或多个路由器可具有一个或多个网络接口设备(例如,10( 以太网设备),通过所述网络接口设备,路由器能够相对于交换机架构和/或其它外围处理设备发送和/或接收信号。这里说明的一些实施例涉及具有非暂时性计算机可读介质(也可称为非暂时性处理器可读介质)的计算机存储产品,所述非暂时性计算机可读介质上具有执行各种计算机实现的操作的指令或计算机代码。在它本身不包括短暂的传播信号(例如,在诸如空间或线缆之类传输介质上运送信息的传播电磁波)的意义上,计算机可读介质(或处理器可读介质)是非暂时性的。所述介质和计算机代码(也可称为代码)可以是为一个或多个专门用途设计和构成的那些介质和计算机代码。计算机可读介质的例子包括(但不限于)诸如硬盘、软盘和磁带之类的磁存储介质;诸如压缩光盘/数字视频光盘(CD/DVD)、 光盘-只读存储器(CD-ROM)和全息器件之类的光存储介质;诸如光盘之类的磁-光存储介质;载波信号处理模块;和专门配置成保存和执行程序代码的硬件器件,比如专用集成电路(ASIC)、可编程逻辑器件(PLD)、只读存储器(ROM)和随机存取存储器(RAM)器件。计算机代码的例子包括(但不限于)微代码或微指令,机器指令,比如编译器产生的机器指令,用于产生web服务的代码,和包含由计算机利用解释器执行的高级指令的文件。例如,实施例可利用Java,C++或其它编程语言(例如,面向对象的编程语言)和开发工具实现。计算机代码的其它例子包括(但不限于)控制信号,加密代码和压缩代码。虽然上面说明了各个实施例,不过应明白这些实施例只是作为例子给出的,而不是对本发明的限制,可以做出形式和细节方面的各种变化。除了互斥的组合之外,这里说明的设备和/或方法的任意部分可被结合成任意组合。这里说明的实施例可以包括所述实施例的功能、组件和/或特征的各种组合和/或子组合。
权利要求
1.一种设备,包括处理模块,被置于第一交换机架构部件内,并被配置成当具有路由模块的第二交换机架构部件在操作上与第一交换机架构部件耦接时,检测该第二交换机架构部件,所述处理模块被配置成定义虚拟处理模块,所述虚拟处理模块被配置成在操作上与第二交换机架构部件耦接;并且所述虚拟处理模块被配置成从第二交换机架构部件接收对转发信息的请求,所述虚拟处理模块被配置成把所述转发信息发给所述路由模块。
2.按照权利要求1所述的设备,其中所述处理模块被配置成从第一交换机架构部件接收对转发信息的请求;并且所述处理模块被配置成响应来自第一交换机架构部件的请求,把所述转发信息发给第一交换机架构部件的路由模块。
3.按照权利要求1所述的设备,其中所述虚拟处理模块被配置成检测具有路由模块的第三交换机架构部件,所述处理模块被配置成定义操作上与第三交换机架构部件的路由模块耦接的第二虚拟处理模块。
4.按照权利要求1所述的设备,其中第一交换机架构部件包括操作上与所述处理模块耦接并被配置成从第二交换机架构部件的路由模块接收数据的路由模块。
5.按照权利要求1所述的设备,其中所述处理模块和所述虚拟处理模块是在第一时间基于第一软件配置而被配置的;所述处理模块被配置成接收配置文件,以在第一时间之后的第二时间基于第二软件配置来配置所述处理模块;以及所述虚拟处理模块是在第二时间之后的第三时间基于第二软件配置而被配置的。
6.按照权利要求1所述的设备,其中所述虚拟处理模块被配置成当第二交换机架构部件收到数据分组时,接收所述请求。
7.按照权利要求1所述的设备,其中所述虚拟处理模块被置于第一交换机架构部件内。
8.一种设备,包括处理模块,具有第一软件配置,并和第一交换机架构部件布置在一起,所述处理模块被配置成检测第二交换机架构部件;所述处理模块被配置成在第一时间,在操作上使基于第一软件配置而被配置的并且被置于第一交换机架构部件内的虚拟处理模块和第二交换机架构部件耦接;所述处理模块被配置成接收配置文件,以在第一时间之后的第二时间基于第二软件配置来配置所述处理模块;以及所述处理模块被配置成基于第二软件配置来配置所述虚拟处理模块。
9.按照权利要求8所述的设备,其中所述处理模块被配置成检测第三交换机架构部件;以及所述处理模块被配置成在第二时间之后的第三时间,在操作上使具有第二软件配置并且被置于第一交换机架构部件内的虚拟处理模块和第三交换机架构部件耦接。
10.按照权利要求8所述的设备,其中所述虚拟处理模块被配置成从被置于第二交换机架构部件内的路由模块接收对转发信息的请求。
11.按照权利要求8所述的设备,其中所述处理模块被配置成当第二交换机架构部件在操作上与第一交换机架构部件耦接时检测第二交换机架构部件。
12.按照权利要求8所述的设备,其中所述虚拟处理模块被配置成向被置于第二交换机架构部件内的路由模块发送指令,以把由所述路由模块接收的数据转发给第一交换机架构部件。
13.按照权利要求8所述的设备,其中所述处理模块被配置成响应检测到第一交换机架构部件而定义所述虚拟处理模块。
14.一种集中化虚拟交换机架构控制方法,包括 检测具有路由模块的第一交换机架构部件;和定义操作上与第一交换机架构部件耦接的虚拟处理模块,所述虚拟处理模块被配置成从第一交换机架构部件接收对转发信息的请求,所述虚拟处理模块被配置成响应收到所述请求,把所述转发信息发给所述路由模块。
15.按照权利要求14所述的方法,其中所述虚拟处理模块被置于第二交换机架构部件内。
16.按照权利要求14所述的方法,其中定义所述虚拟处理模块还包括响应检测到交换机架构,定义所述虚拟处理模块。
17.按照权利要求14所述的方法,其中所述虚拟处理模块被配置成向所述路由模块发送指令,以把由所述路由模块接收的数据转发给第二交换机架构部件。
18.按照权利要求14所述的方法,还包括接收第一配置文件,以在第一时间基于第一软件配置来配置处理模块; 根据第一配置文件,定义所述虚拟处理模块;接收第二配置文件,该第二配置文件被配置成在第一时间之后的第二时间基于不同于第一软件配置的第二软件配置来配置所述处理模块;以及在第二时间之后,基于第二软件配置来定义所述虚拟处理模块。
19.按照权利要求14所述的方法,还包括 检测第三交换机架构部件;和操作上使具有第二软件配置的第二虚拟处理模块和第三交换机架构部件耦接。
20.按照权利要求14所述的方法,其中与第一交换机架构部件分离地布置所述虚拟处理模块。
全文摘要
本发明公开了集中化虚拟交换机架构控制方法和设备。在一些实施例中,设备包括置于第一交换机架构部件内的处理模块,所述处理模块被配置成当具有路由模块的第二交换机架构部件在操作上与第一交换机架构部件耦接时,检测该第二交换机架构部件。处理模块被配置成定义虚拟处理模块,所述虚拟处理模块被配置成在操作上与第二交换机架构部件耦接。虚拟处理模块被配置成从第二交换机架构部件接收对转发信息的请求,虚拟处理模块被配置成把转发信息发给路由模块。
文档编号H04L12/56GK102480358SQ20111021239
公开日2012年5月30日 申请日期2011年7月21日 优先权日2010年11月22日
发明者A·文卡特马尼, G·艾贝, P·辛德胡 申请人:丛林网络公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1