交换网络架构中的数据业务处理方法和系统的制作方法

文档序号:7895343阅读:470来源:国知局
专利名称:交换网络架构中的数据业务处理方法和系统的制作方法
技术领域
本发明一般地涉及网络通信,具体地说,涉及计算机网络的改进交换网络架构。
背景技术
如本领域所公知的,网络通信通常基于众所周知的七层开放系统互连(OSI)模型,其定义各种协议层的功能而不指定层协议本身。这七层(在此有时称为第7层到第I层)分别是应用层、表示层、会话层、传输层、网络层、数据链路层以及物理层。在源站处,从功能栈的顶层(应用层)处的源进程接收数据时,数据通信开始。数据在栈的每个连续下层处按顺序进行格式化,直到在数据链路层获得位的数据帧。最后,在物理层处,经由网络链路将数据以电磁信号的形式传输到目的地站。在目的地站处接收时,按照与在源站处理数据相反的顺序沿对应的功能栈向上传递已传输的数据,从而将信息提供 给目的地站处的接收进程。分层协议(例如OSI模型所支持的那些协议)的原理是,当数据垂直通过模型层时,源站和目的地站处的层以对等(即,第N层对第N层)方式交互,并且在不影响单独层的功能与该层的相邻上下协议层的功能之间的接口的情况下执行每个单独层的功能。为了获得这种效果,当数据在栈中下传时,源站中的协议栈的每个层通常将信息(以封装标头的形式)添加到由发送进程生成的数据。在目的地站处,在数据沿栈的各层向上传播时逐一去除这些封装标头,直到将解封后的数据提供给接收进程。耦合源站和目的地站的物理网络可以包括由一个或多个有线或无线网络链路互连的任意数量的网络节点。所述网络节点通常包括产生和消耗网络业务的主机(例如,服务器计算机、客户端计算机、移动设备等)、交换机和路由器。常规网络交换机在OSI模型的数据链路层(第2层)互连不同网段并处理和转发数据。交换机通常至少提供基本网桥功能,包括按第2层介质访问控制(MAC)地址过滤数据业务、获知帧的源MAC地址,以及根据目的地MAC地址转发帧。路由器(其在OSI模型的网络层(第3层)互连不同网络)通常实施网络服务,例如路由处理、路径确定以及路径交换。大型网络通常包括大量交换机,它们在管理、控制和数据平面独立工作。因此,每个交换机必须被单独配置,对数据业务实施独立控制(例如,访问控制列表(ACL)),并独立于由任何其他交换机处理的数据业务来转发数据业务。

发明内容
根据至少一个实施例,改进了计算机网络中的多个交换机的管理、控制和数据处理。在至少一个实施例中,一种交换网络包括具有主交换机的上层和具有多个下层实体的下层。所述主交换机包括多个端口,每个端口均耦合到所述多个下层实体中的一个相应实体。所述多个端口中的每个端口包括多个虚拟端口,每个虚拟端口对应于在耦合到该端口的所述下层实体处的多个远程物理接口(RPI)中的一个相应远程物理接口。所述多个端口中的每个端口还包括接收接口,响应于从所述多个下层实体中的特定下层实体接收到数据业务,所述接收接口将所述数据业务排队到所述多个虚拟端口中的与是所述数据业务的源的特定下层实体上的RPI对应的虚拟端口。所述主交换机还包括交换机控制器,所述交换机控制器将数据业务从所述虚拟端口交换到所述多个端口中转发所述数据业务的出
口端口。在至少一个实施例中,一种交换网络包括上层和具有多个下层实体的下层。所述上层中的主交换机(其具有多个端口,每个端口连接到相应的下层实体)在所述端口中的每个端口上实施多个虚拟端口,每个虚拟端口对应于耦合到该端口的下层实体处的多个远程物理接口(RPI)中的一个相应远程物理接口。将在所述主交换机和RPI之间传送的数据业务在与所述数据业务被传送到的下层实体上的RPI对应的虚拟端口中排队。所述主交换机对给定虚拟端口的数据业务实施基于优先级的流控制(PFC),方式为将PFC数据帧传输到对应RPI所在的下层实体,所述PFC数据帧指定由该特定RPI传送的至少两种不同类的数据业务的优先级。
在至少一个实施例中,一种交换网络包括具有主交换机的上层和具有多个下层实体的下层。所述主交换机(其具有多个端口,每个端口耦合到相应的下层实体)在所述端口中的每个端口上实施多个虚拟端口,每个虚拟端口对应于耦合到该端口的下层实体处的多个远程物理接口(RPI)中的一个相应远程物理接口。将在所述主交换机和RPI之间传送的数据业务在与所述数据业务被传送到的RPI对应的虚拟端口中排队。所述主交换机根据至少基于所述数据业务所排队的虚拟端口的控制策略而将数据处理应用于所述数据业务,使得所述主交换机将不同策略应用于排队到所述主交换机的同一端口上的两个虚拟端口的数据业务。


图I是根据一个实施例的数据处理环境的高级方块图;图2是可以在图I的数据处理环境中实施的分布式光纤通道网络协议(DFP)交换网络架构的一个实施例的高级方块图;图3是可以在图I的数据处理环境中实施的DFP交换网络架构的另一个实施例的闻级方块图;图4是根据一个实施例的图3中的主机的更详细的方块图;图5A是根据一个实施例的DFP交换网络的主交换机的一个示例性实施例的高级方块图;图5B是根据一个实施例的DFP交换网络的从交换机(follower switch)的一个不例性实施例的闻级方块图;图6是根据一个实施例的经由管理接口呈现为虚拟化交换机的图2或图3的DFP交换网络架构的图;图7是根据一个实施例的用于管理DFP交换网络的示例性过程的高级逻辑流程图;图8示出了根据一个实施例的用于将网络业务从被配置为作为虚拟化交换机运行的DFP交换网络的下层转发到上层的示例性过程的高级逻辑流程图9是根据一个实施例的上层处的主交换机用于处理从DFP交换网络的下层接收的数据帧的示例性过程的高级逻辑流程图;图10是根据一个实施例的下层处的从交换机或主机用于处理从DFP交换网络的上层处的主交换机接收的数据帧的示例性过程的高级逻辑流程图;图11是根据一个实施例的在DFP交换网络中操作链路聚合组(LAG)的示例性方法的高级逻辑流程图;图12示出了根据一个实施例的用于记录LAG的成员的LAG数据结构的示例性实施例;图13是根据一个实施例的在DFP交换网络中进行多播的示例性方法的高级逻辑流程图;图14示出了第2层和第3层多播索引数据结构的示例性实施例;
图15是根据一个实施例的DFP交换网络中的增强传输选择(ETS)的示例性方法的高级逻辑流程图;图16示出了根据一个实施例的可用于为DFP交换网络的主交换机配置ETS的示例性增强传输选择(ETS)数据结构;图17是DFP交换网络用于在下层处实施基于优先级的流控制(PFC)和/或其他服务的示例性方法的高级逻辑流程图;图18示出了根据一个实施例的可用于在DFP交换网络的下层处实施基于优先级的流控制(PFC)和/或其他服务的示例性PFC数据帧1800 ;图19A是根据一个实施例的DFP交换网络的下层从交换机用于处理从主交换机接收的PFC数据帧的示例性过程的高级逻辑流程图;以及图19B是根据一个实施例的DFP交换网络中的下层主机用于处理从主交换机接收的PFC数据帧的示例性过程的高级逻辑流程图。
具体实施例方式在此披露了一种对计算机网络中的多个互连交换机实施统一的管理、控制和数据平面的交换网络架构。现在参考附图,具体参考图1,示出了根据一个实施例的示例性数据处理环境100的高级方块图。如所示出,数据处理环境100包括资源102的集合。资源102(其可以包括各种主机、客户端、交换机、路由器、存储装置等)被互连以便通信,并且可以在一个或多个公用、专用、社区、公共或云网络或它们的组合中以物理或虚拟方式被分组(未示出)。通过这种方式,数据处理环境100可以提供可由各种客户端设备110访问的基础架构、平台、软件和/或服务,客户端设备110包括个人(例如,台式、膝上型、笔记本式、平板式或手持式)计算机110a、智能电话110b、服务器计算机系统IlOc和客户电子设备,例如媒体播放器(例如,机顶盒、数字万能光盘(DVD)播放器或数字视频录像机(DVR)) 110d。应该理解,图I中示出的客户端设备110的类型仅为示例性的,并且客户端设备110可以是能够经由分组网络与资源102通信并访问资源102的任何类型电子设备。现在参考图2,示出了根据一个实施例的可以在资源102中实施的示例性分布式光纤通道网络协议(DFP)交换网络架构的高级方块图。在示出的示例性实施例中,资源102包括形成DFP交换网络200的多个物理和/或虚拟网络交换机。与其中每个交换机实施独立的管理、控制和数据平面的常规网络环境相反,DFP交换网络200实施统一的管理、控制和数据平面,使得所有组成交换机能够被视为统一的虚拟化交换机,从而简化网络结构的
部署、配置和管理。DFP交换网络200包括两层或更多层的交换机,此网络在本实施例中包括具有多个从交换机(包括从交换机202a-202d)的下层和具有多个主交换机(包括主交换机204a-204b)的上层。在具有示出的两层的实施例中,每个主交换机204的端口通过层间链路206之一直接连接到每个从交换机202的端口之一,并且每个主交换机204的端口通过主链路208直接或间接耦合到至少一个其他主交换机204的端口。当此类区别相关时,支持经由层间链路206的交换机到交换机通信的端口在此称为“交换机间端口 ”,而其他端口(例如,从交换机202a-202d的端口)称为“数据端口”。在一个优选实施例中,从交换机202被配置为以透传模式(pass-through mode)在数据平面上运行,意味着在从交换机202的数据端口 210处(例如,从主机)接收的所有 入口数据业务均由从交换机202经由交换机间端口和层间链路206转发到主交换机204之一。主交换机204又用作所述数据业务的光纤通道网络(fabric)(因此为分布式光纤通道网络的概念)并针对所述数据业务实施所有数据分组交换和路由。通过这种布置,例如可以在由箭头212a-212d指示的第一示例性流以及由箭头214a-214e指示的第二示例性流中转发数据业务。如将理解的,在主交换机204中针对从交换机202实现交换和路由集中化意味着主交换机204知晓从交换机202的接收数据业务的入口数据端口。在一个优选实施例中,经由链路206、208的交换机到交换机通信采用第2层协议,例如由思科公司开发的交换机间链路(ISL)协议或IEEE802. IQnQ,其使用显式标记以在DFP交换网络200上建立多个第2层虚拟局域网(VLAN)。每个从交换机202优选地将VLAN标记(也称为服务标记(S标记))应用于数据帧,以便将从交换机202上接收数据帧的的入口数据端口 210告知接收方主交换机204。在各备选实施例中,可以通过其他标识符(例如,MAC-in-MAC标头、唯一 MAC地址、IP-in-IP标头等)告知入口数据端口。如下面进一步讨论的,每个从交换机202上的每个数据端口 210在每个主交换机204上具有对应的虚拟端口(或vport),并且对在从交换机202的数据端口 210上进入的数据帧的处理就好像所述数据帧在接收方主交换机204的对应vport上进入那样。现在参考图3,示出了根据一个实施例的可以在资源102中实施的另一个示例性分布式光纤通道网络协议(DFP)交换网络架构的高级方块图。图3中示出的DFP架构(其跨DFP交换网络300实施统一的管理、控制和数据平面)可以在资源102中实施,作为图2中示出的DFP交换网络架构的替代或补充。在示出的示例性实施例中,DFP交换网络300中的资源102包括在上层中实施主交换机204a-204b中的至少一个的一个或多个物理和/或虚拟网络交换机。交换网络300另外在下层处包括多个物理主机302a-302d。如图4所示,在一个示例性实施例中,每个主机302包括一个或多个网络接口 404 (例如,网络接口卡(NIC)、聚合网络适配器(CNA)等),网络接口 404提供主机302用于与主交换机(多个)204通信的接口。主机302还包括一个或多个处理器402 (通常包括一个或多个集成电路),处理器402处理数据和程序代码以便例如管理、访问和操纵数据处理环境100中的数据或软件。主机302还包括输入/输出(I/O)设备406,例如端口、显示器、用户输入设备和附接设备等,它们接收输入并提供由主机302和/或数据处理环境100中的其他资源(多个)执行的处理的输出。最后,主机302包括数据存储装置410,数据存储装置410可以包括一个或多个易失性或非易失性存储设备,包括存储器、固态驱动器、光或磁盘驱动器、磁带驱动器等。数据存储装置410可以例如存储程序代码(包括软件、固件或它们的组合)和数据。返回图3,由每个主机302执行的程序代码包括虚拟机监视器(VMM) 304 (也称为系统管理程序),VMM 304对其相应物理主机302的资源进行虚拟化和管理。每个VMM 304向一个或多个可能异构的操作系统分区中的一个或多个虚拟机(VM) 306分配资源并支持VM 306的执行。每个VM 306可以具有至少在OSI模型的第2和3层处提供网络连接性的一个(并且在某些情况下为多个)虚拟网络接口(虚拟NIC (VNIC))。如所示出,VMM 304a-304d中的一个或多个可以可选地提供可以与VM 306连接的一个或多个虚拟交换机(VS) 310 (例如,光纤通道交换机(多个)、以太网交换机(多个)、以太网光纤通道(FCoE)交换机等)。类似地,主机302的网络接口 404中的一个或多个可以 可选地提供可以与VM 306连接的一个或多个虚拟交换机(VS) 312 (例如,光纤通道交换机(多个)、以太网交换机(多个)、FCoE交换机等)。因此,VM 306经由层间链路206、网络接口404、由VMM 304提供的虚拟化层,以及可选地一个或多个在程序代码和/或硬件中实施的虚拟交换机310、312与主交换机(多个)204进行网络通信。如在图2中,虚拟交换机310、312 (如果存在)优选地被配置为以透传模式在数据平面上运行,意味着从虚拟交换机310、312的虚拟数据端口处的VM 306接收的所有进入数据业务均由虚拟交换机310、312经由网络接口 404和层间链路206转发到主交换机204之一。主交换机204又用作所述数据业务的光纤通道网络并针对所述数据业务实施所有交换和路由。如前所述,在主交换机(多个)204中针对主机302实现交换和路由集中化意味着从主机302接收数据业务的主交换机204知晓数据业务的源(例如,链路聚合组(LAG)接口、物理端口、虚拟端口等)。此外,为了允许告知此类业务源信息,经由层间链路206的通信优选地使用第2层协议,例如由思科公司开发的交换机间链路(ISL)协议或IEEE802. IQnQ,其包括显式标记以在DFP交换网络300上建立多个第2层虚拟局域网(VLAN)。每个主机302优选地将VLAN标记应用于数据帧,以便向接收方主交换机204告知从其接收数据帧的数据业务源(例如,物理端口、LAG接口、虚拟端口(例如,VM虚拟网络接口卡(VNIC )、单根I/0虚拟化(SR-IOV) NIC分区或FCoE端口)等)。每个此类数据业务源在每个主交换机204上具有对应的vport,并且对源自主机302上的数据业务源处的数据帧的处理就好像所述数据帧在接收方主交换机204的对应vport上进入那样。概括地说,主机302上的数据业务源和从交换机202上的数据端口 210将在此后称为远程物理接口(RPI),除非要在各类RPI之间进行某种区分。在DFP交换网络200和300中,可以通过配置从交换机202和/或主机302实现负载平衡。例如,在静态配置的一个可能的实施例中,可以根据源RPI在主交换机204之间分配数据业务。在此示例性实施例中,如果部署两个主交换机204,则每个从交换机202或主机302可以被配置为实施两个静态RPI组(每个RPI组包含其RPI总数的一半)并将每个RPI组的业务传输到两个主交换机204中的一个不同交换机。类似地,如果部署四个主交换机204,则每个从交换机202或主机302可以被配置为实施四个静态RPI组(每个RPI组包含其RPI总数的四分之一)并将每个RPI组的业务传输到四个主交换机204中的一个不同交换机。现在参考图5A,其中示出了可用于实施图2-3的主交换机204中的任何一个的交换机500a的一个示例性实施例的高级方块图。如所示出,交换机500a包括多个物理端口 502a_502m。每个端口 502包括多个接收(Rx)接口 504a-504m中的一个相应接口以及多个入口队列506a_506m中的一个相应队列,所述入口队列缓冲由关联的Rx接口 504接收的数据帧。端口 502a-502m中的每个端口还包括多个出口队列514a-514m中的一个相应队列以及多个传输(Tx)接口 520a_520m中的一个相应接口,所述传输接口传输来自关联的出口队列514的数据帧。 在一个实施例中,每个端口 502的入口队列506和出口队列514均被配置为为DFP交换网络200、300的下层中的每个RPI (可以在此端口 502上从所述RPI接收入口数据业务)提供多个(例如,八个)队列表项。针对下层RPI定义的主交换机204中包含多个队列表项的组在此被定义为虚拟端口(vport), vport中的每个队列表项对应于一个V0Q。例如,对于如图2中示出的DFP交换网络200,交换机500a的端口 502a被配置为,针对连接到端口 502a的从交换机202的k+Ι个数据端口 210中的每一个,实施入口 vport 522a0_522ak中的一个相应入口 vport以及出口 vport524a0_524ak中的一个相应出口 vport。如果在如图3中示出的DFP交换网络300中实施交换机500a,则端口 502a被配置为针对通过层间链路206连接到端口 502a的主机302中的k+Ι个数据业务源中的每一个实施相应的vport522。类似地,对于如图2中示出的DFP交换网络200,交换机500a的端口 502m被配置为针对连接到端口 502m的从交换机202的p+1个数据端口 210中的每一个,实施入口 vport522m0-522mp中的一个相应入口 vport以及出口 vport 524m0_524mp中的一个相应出口vport。如果在如图3中示出的DFP交换网络300中实施交换机500a,则端口 502a针对通过层间链路206连接到端口 502a的主机302中的k个数据业务源中的每一个实施相应的vport 522。如将理解的,在每个端口 502上实施的入口 vport数可能有所不同,具体取决于连接到每个端口 502的特定下层实体(例如,从交换机202或主机302)上的RPI数。因此,DFP交换网络200或300的下层处的每个RPI被映射到每个主交换机204的物理端口502上的一组入口和出口 vport 522、524,并且在物理端口 502上接收到来自此RPI的数据帧时,端口 502的接收接口 504可以根据数据业务中的RPI标识符而将数据帧导向适当的A口 vport 522。主交换机204可以根据需要跨其物理端口 502创建、销毁、禁用或迁移vport 522、524,例如具体取决于与下层实体202、302的连接状态。例如,如果从交换机202被具有更多端口数的替换从交换机202所取代,则主交换机204将自动在相关物理端口 502上创建额外的vport 522,524以容纳该替换从交换机202上的额外RPI。类似地,如果在连接到主交换机204的第一物理端口的主机302上运行的VM 306迁移到连接到主交换机204的不同第二物理端口的不同主机302 (即,迁移仍在交换机域中),则主交换机204自动将对应于VM 306的vport 522,524从主交换机204的第一物理端口 502迁移到主交换机204的第二物理端口 502。如果VM306在预定清仓间隔内完成其迁移,则VM 306的数据业务可以由交换机控制器530a重新标记并转发到第二物理端口 502上的出口 vport 524。通过这种方式,可以在不中断业务或不丢失数据业务的情况下完成VM 306的迁移,这对丢失敏感的协议尤为有利。每个主交换机204还检测通往下层实体的交换机间链路206的丢失(例如,链路状态从运行改为停机、交换机间链路206断开连接,或下层实体出现故障)。如果检测到交换机间链路206丢失,则主交换机204将自动禁用关联的vport 522、524,直到检测到交换机间链路206的恢复。如果交换机间链路206未在预定清仓间隔内恢复,则主交换机204将销毁与通信已丢失的下层实体关联的vport 522、524以便恢复队列容量。在清仓间隔期间,交换机控制器530a允许在入口侧缓冲去往已禁用的出口 vport 524的数据业务。如果恢复交换机间链路206并重新启用已禁用的出口 vport 524,则可以将丢失期间缓冲的数据业务转发到出口 vport 524。交换机500a还包括交叉式交换机(crossbar) 510,其可操作以在交换机控制器530a的引导下智能地将数据巾贞从任意入口队列506a_506m交换到任意出口队列514a_514m (因此在任意入口 vport 522与任意出口 vport 524之间)。如将理解的,交换机控制器530a可以通过一个或多个集中式或分布式、专用或通用处理元件或逻辑设备实施,其可以完全在硬件中实施控制,或更常见的,通过处理元件执行固件和/或软件实施控制。为了智能地交换数据帧,交换机控制器530a构建和维护一个或多个数据平面数据结构,例如转发信息库(FIB) 532a,其通常在内容可寻址存储器(CAM)中实施为转发表。在示出的实例中,FIB 532a包括多个表项534,表项534可以例如包括MAC字段536、端口标识符(PID)字段538以及虚拟端口(vport)标识符(VPID)字段540。每个表项534因此将数据帧的目的地MAC地址与用于此数据帧的特定出口端口 502上的特定vport 520关联。交换机控制器530a以自动方式构建FIB 332a,方式为从观察到的数据帧获知端口 502及vport 520与由数据帧指定的目的地MAC地址之间的关联并在FIB 532a中记录所获知的关联。交换机控制器530a之后根据在FIB 532a中记录的关联来控制交叉式交换机510交换数据帧。因此,每个主交换机204按照与下层处的RPI对应的vport来管理和访问其第2层和第3层QoS、ACL和其他管理数据结构。交换机控制器530a还实施管理模块550,管理模块550用作统一的虚拟化交换机的管理和控制中心。在一个实施例中,每个主交换机204包括管理模块350,但在任一时刻,给定DFP交换网络200或300中只有一个主交换机204 (在此称为管理主交换机204)的管理模块350可运行。如果用作管理主交换机204的主交换机204出现故障(例如管理主交换机204通过主链路208检测到丢失心跳消息),则另一个主交换机204 (可以预先确定或从其余运行的主交换机204中选择)优选地自动承担管理主交换机204的角色并使用其管理模块350来提供DFP交换网络200或300的集中式管理和控制。管理模块550优选地包括管理接口 552,例如,响应于登录和输入管理证书,可由网络连接的管理员控制台(例如,客户端IlOa-IlOc之一)处的管理员访问的XML或HTML接口。管理模块550优选地经由管理接口 552呈现位于DFP交换网络200或300的所有交换机(例如,交换机204和/或202)上的所有端口的全局视图。例如,图6是根据一个实施例的通过管理接口 552呈现为虚拟化交换机600的图2的DFP交换网络200的图。在此实施例中,主交换机204可以被视为虚拟交换机箱,以从交换机202用作虚拟线路卡。在此实例中,虚拟化交换机(可以例如在管理员控制台的显示中以图形和/或表格来表示)呈现对应于从交换机202a的数据端口和交换机间端口的虚拟化端口(Pa-Pf )602a、对应于从交换机202b的数据端口和交换机间端口的Pl-Pp 602b、对应于从交换机202c的数据端口和交换机间端口的Pq-Ps 602c,以及对应于从交换机202d的数据端口和交换机间端口的Pw-Pz602d。此外,虚拟化交换机600由主交换机204a的Pg-Pk 602e交换机间端口表示,以及由主交换机204b的Pt-Pv 602f交换机间端口表示。进而,虚拟化交换机600通过一组相应虚拟输出队列(V0Q)604表示在主交换机204上实施的每个vport 522、524。例如,在主交换机204a、204b上实施的vport 522,524中的每一个由VOQ组604a_604k中的一个相应VOQ表示。通过与虚拟化交换机600交互,管理员可以经由统一的接口针对DFP交换网络200中的一个或多个(或全部)从交换机202和主交换机204的一个或多个(或全部)端口或vport管理和建立(例如,通过图形、文本、数字和/或其他输入)所需的控制。应该指出,除了实施虚拟化端口 Pa-Pf 602a,Pl-Pp 602b、Pq_Ps602c 和 Pw-Pz 602d 之外,在虚拟化交换机 600中实施各组VOQ 604a-604k使能针对DFP交换网络200或300的每个层(或两个层)处的每个RPI的数据业务(以及RPI的数据业务的每个业务分类)实施个体化的控制。因此,如下面进一步讨论的,管理员可以通过与虚拟化交换机600的虚拟化端口 Pa交互,而针对从交换机202a的特定数据端口 210的特定业务分类实施所需的控制。备选地或额外地,管理员 可以通过与对应于VOQ组604 (表示与数据端口 210对应的入口 vport 522或出口 vport524)上的此业务分类的特定VOQ交互,而针对此数据端口 210的此业务分类建立所需的控制。返回图5A,交换机控制器530a还包括控制模块560a,控制模块560a可用于针对通过DFP交换网络200或300的数据帧实施所需的控制。控制模块560a包括本地策略模块562,本地策略模块562在每个vport的基础上在入口和/或出口处针对交换机500a实施所需的一组控制策略。控制模块560还可包括本地访问控制列表(ACU564,此列表根据每个vport限制对交换机500a的进入访问。管理主交换机204还可以可选地包括远程策略模块566和远程ACL 568,它们在入口和/或出口处根据每个数据端口针对从交换机202或虚拟交换机310、312中的一个或多个实施所需的一组控制策略和访问控制。管理主交换机204可以有利地经由保留的管理VLAN将用于另一个主交换机204、从交换机202或虚拟交换机310、312的新添加或更新的控制信息(例如,控制策略或ACL)推送到目标交换机。因此,用于通过虚拟化交换机的业务的ACL、控制策略和其他控制信息可以由主交换机204在主交换机204的vport 522,524处实施,由从交换机202在数据端口 210处实施和/或在虚拟交换机310、312的虚拟端口处实施。在DFP交换网络200或300中的一个或多个所需位置处全局地实施策略和访问控制的能力促进了多种管理特性。例如,为了在主交换机204之间实现所需的负载平衡,可以由从交换机202和/或虚拟交换机310、312实施同构或异构控制策略,从而针对传递到主交换机(多个)204的数据业务实现所需的分配以便交换和路由。在一种特定的实施方式中,可以根据各种业务类型、在不同主交换机204上运行的不同通信协议进行负载分配。连接到主交换机204的从交换机202和主机302因此可以通过将多个不同业务类型中的每个类型的协议数据单元(PDU)导向负责此协议的主交换机204而实施所需的负载分配。尽管未在图5A中显式示出,但应理解,在至少某些实施例中,交换机控制器530a除了进行第2层帧交换之外,还可以在第3层(以及更上层)实施路由和其他分组处理,如本领域所公知的。在这些情况下,交换机控制器530a可以包括将路由与第3层地址关联的路由信息库(RIB)。现在参考图5B,其中示出了可用于实施图2的任一从交换机202的交换机500b的一个示例性实施例的高级方块图。如类似标号指示的,交换机500b的结构可以类似于交换机500a,包括多个端口 502a-502m、交换机控制器530b以及由交换机控制器530b控制的交叉式交换机510。但是,由于交换机500b旨在以将转发帧的最终责任遗留给主交换机204的透传模式运行,所以交换机控制器530b被简化。例如,在示出的实施例中,FIB 332b的每个表项534包括控制字段570,其标识用于对帧进行分类(其中由管理模块350将帧分类推送到交换机控制器530b)的一个或多个帧字段(例如,目的地MAC地址、RPI等)的值;以及关联的PID字段538,其标识连接到主交换机204以便转发此数据业务分类的交换机530b的出口数据端口 502。控制模块560被类似地简化,因为不再支持远程策略566或远程ACL 568。最后,管理模块550可以被完全省略,因为不需要配备交换机500b以用作主交换机204。
现在参考图7,其中示出了根据一个实施例的用于管理DFP交换网络的示例性过程的高级逻辑流程图。为了方便起见,参考图2-3的DFP交换网络200和300描述图7的过程。与在此示出的其他逻辑流程图一样,按逻辑顺序而不是严格按时间顺序示出了各步骤,并且至少某些步骤可以按不同于示出的顺序执行或同时执行。所述过程始于方块700,然后继续到方块702,方块702示出每个主交换机204a、204b获知其所在的DFP交换网络200或300的成员和拓扑。在各种实施例中,主交换机204a、204b可以例如通过从客户端设备IlOa-IlOc之一处的网络管理员接收配置,或者备选地通过由每个主交换机204a、204b的交换机控制器530a实施自动交换机发现协议,而获知DFP交换网络200或300的拓扑和成员。根据DFP交换网络200或300中所发现的成员,每个主交换机204的交换机控制器530a在每个端口 502上针对在此端口 502上可以从其接收进入数据业务的DFP交换网络200、300的下层中的每个RPI实施相应的入口 vport522和相应的出口 vport524 (方块704)。管理主交换机204 (例如,主交换机204a)之后允许通过管理接口 552将DFP交换网络200或300作为虚拟化交换机600进行配置、管理和控制(方块706)。应该理解,作为虚拟化交换机600,DFP交换网络200或300可以被配置、管理和控制以便运行,就好像虚拟化交换机600的所有虚拟化端口 602均在单个物理交换机中那样。因此,可以针对虚拟化端口 602例如实施端口镜像、端口中继、多播、增强传输选择(ETS)(例如,根据草案标准IEEE 802. IQaz的速率限制和整形)以及基于优先级的流控制,与对应RPI所属的交换机202、310、312或主机302无关。之后,管理主交换机(例如,主交换机204a)的交换机控制器530a的管理模块550将控制信息推送到其他主交换机204、从交换机202和/或虚拟交换机310、312以便对其他交换机的控制模块560和FIB 532进行属性配置(方块708)。图7的过程之后在方块710结束。现在参考图8,其中示出了根据一个实施例的用于将网络业务从被配置为作为虚拟化交换机运行的DFP交换网络的下层转发到上层的示例性过程的高级逻辑流程图。为了方便起见,同样参考图2的DFP交换网络200和图3的DFP交换网络300描述图8的过程。所示过程始于方块800,之后继续到方块802,方块802示出DFP交换网络的下层处的RPI接收要传输到主交换机204的数据帧。如方块804处的虚线指示的,RPI所在的从交换机202或主机302可以可选地对数据帧实施策略控制或访问控制(通过参考ACL)(如果先前管理主交换机204指示执行此操作)。在方块806,下层处的从交换机202或主机302将RPI标识符(例如,S标记)应用于数据帧以标识接收数据帧的入口 RPI。下层处的从交换机202或主机302然后将数据帧转发到DFP交换网络200或300的上层中的主交换机204 (方块808)。在从交换机202的情况下,数据帧在方块808处通过FIB 532b所指示的交换机间出口端口被转发。之后,图8中示出的过程在方块810结束。参考图9,其中示出了根据一个实施例的上层处的主交换机用于处理从DFP交换网络的下层接收的数据帧的示例性过程的高级逻辑流程图。所示过程始于方块900,然后继续到方块902,方块902示出DFP交换网络200或300的主交换机204在其端口 502之一上接收来自从交换机202或主机302的数据帧。响应于接收到数据帧,接收数据帧的端口 502的接收接口 504根据数据帧所指定的RPI标识符(例如,S标记)对数据帧进行预分类,并将数据帧排队到与该RPI关联的入口 vport 522(方块904)。从方块904,图9中示出的过程继续到方块910和920。在方块910,交换机控制器530a使用数据帧所指定的目的地MAC地址访问FIB532a。如果找到具有匹配MAC字段536的FIB表项534,则处理在方块922-928 (在下面描述)继续。但是,如果交换机控制器530a在方块910确定目的地MAC地址未知,则交换机控制器530a使用常规发现技术获知目的地MAC地址、出口端口 502和目的地RPI之间的关联,并相应地更新FIB 532a。所述过程然后继续到方块922-928。在方块920,交换机控制器530a将控制模块560a针对入口 vport 522所指定的任何本地策略562或本地ACL 564应用于数据帧。此外,交换机控制器530a针对数据帧入口执行任何其他特殊处理。如下面更详细讨论的,此特殊处理可以例如包括实施端口中继、基于优先级的流控制、多播、端口镜像或ETS。可以在入口和/或出口处向数据业务应用每种类型的特殊处理,如下面进一步讨论的。所述过程然后继续到方块922-928。现在参考方块922-924,交换机控制器530a将数据帧的RPI标识符更新为与在匹配FIB表项534的VPID字段540中指定(或通过发现过程获知)的内容相同,并将数据帧在由匹配FIB表项534的PID字段538标识(或通过发现过程获知)的对应出口 vport 524中排队。在方块926,交换机控制器530a将控制模块560a针对出口 vport 524所指定的任何本地策略562或本地ACL 564应用于数据帧。此外,交换机控制器530a针对数据帧出口执行任何其他特殊处理,例如包括实施端口中继、基于优先级的流控制、多播、端口镜像或ETS0主交换机204之后经由交换机间链路206将数据帧转发到DFP交换网络200或300的下层(例如,从交换机202或主机302)(方块928)。图9中示出的过程之后在方块930结束。现在参考图10,其中示出了根据一个实施例的下层处的从交换机202或主机302用于处理从DFP交换网络200或300的上层处的主交换机接收的数据帧的示例性过程的高级逻辑流程图。图10中示出的过程始于方块1000,然后继续到方块1002,方块1002示出下层实体(例如从交换机202或主机302)例如在从交换机202的交换机间端口 502或在主机302的网络接口 404或VMM 304处接收来自主交换机204的数据帧。
响应于接收到数据帧,下层实体从数据帧去除由主交换机204更新的RPI标识符(方块1004)。数据帧然后流经下层实体到达由所提取的RPI标识符标识的RPI(方块1006)。因此,例如,交换机控制器530b通过RPI和/或数据帧的目的地MAC地址访问其FIB 532b以标识匹配FIB表项534,然后控制交叉式交换机510将数据帧转发到在匹配FIB表项534的PID字段538中指定的端口。主机的网络接口 404或VMM 304类似地将数据帧导向RPI标识符所指示的RPI。之后,所述过程在方块1008结束。现在参考图11,其中示出了根据一个实施例的在DFP交换网络中操作链路聚合组(LAG)的示例性方法的高级逻辑流程图。链路聚合在本领域中有着各种不同的名称中继、链路捆绑、绑定、集组(teaming)、端口通道、EtherChanneI以及多链路中继。图11中示出的过程始于方块1100,然后继续到方块1102,方块1102示出在DFP交换网络200或300的主交换机204处建立包括多个RPI的LAG。与常规LAG不同,在DFP交换网络200或300中建立的LAG可以包括多个不同(并且可能异构)的从交换机202和/或主机302的RPI。例如,在图2-3的DFP交换网络200和300中,单个LAG可以包括从交 换机202a-202d和/或主机302a_302d中的一个或多个的RPI。在至少一些实施例中,可以在主交换机204处通过例如客户端设备IlOa-IlOc之一处与管理主交换机204的管理接口 552交互的系统管理员对主交换机204进行静态配置来建立LAG。备选地或额外地,可以在主交换机204处经由IEEE 802. 1AX-2008 (在此引入作为参考)中定义的链路聚合控制协议(LACP)在主交换机204与一个或多个下层实体(例如,从交换机202或主机302)之间交换消息来建立LAG。因为在主交换机204处建立LAG,所以应理解,并非所有连接到属于LAG的交换机间链路206的下层实体都需要提供对LAG的支持(或甚至知道LAG的存在)。如方块1102示出的在主交换机204处建立LAG优选地包括在如图12中示出的交换机控制器530a内的LAG数据结构1200中记录LAG的成员。在示出的示例性实施例中,LAG数据结构1200包括一个或多个LAG成员表项1202,每个成员表项1202指定相应LAG中的成员。在一个优选实施例中,LAG成员表项1202以RPI或与形成LAG的RPI关联的vport520来表示LAG成员。在其他实施例中,可以备选地或额外地以连接主交换机204和RPI的交换机间链路206来表示LAG。如将理解的,LAG数据结构1200可以实施为单独的数据结构,或者可以在另一个数据结构(例如FIB 532a)的一个或多个字段中实施。建立LAG之后,主交换机204针对导向LAG中的RPI的数据帧执行特殊处理,如前面参考图9的方块920-926所述。具体地说,如方块1104所示,交换机控制器530a监视所接收的用于转发的数据帧,并且例如通过参考FIB 532a和/或LAG数据结构1200判定数据帧中包含的目的地MAC地址是否与属于LAG的RPI关联。响应于方块1104处的否定判定,所述过程转到下面描述的方块1112。但是,如果交换机控制器532a在方块1104判定数据帧被寻址到与属于LAG的RPI关联的目的地MAC,则交换机控制器532a从LAG的成员中为数据帧选择一个出口 RPI。在方块1110,交换机控制器532a可以根据多个LAG策略(包括循环、广播、负载平衡或散列)中的任一策略从LAG成员中选择出口 RPI。在散列LAG策略的一种实施方式中,交换机控制器532a对源和目的地MAC地址进行“异或”运算,并以LAG的大小对结果执行模数运算,以便对于给定目的地MAC地址始终选择同一 RPI。在其他实施例中,散列LAG策略可以根据不同或另外的因素(包括源IP地址、目的地IP地址、源MAC地址、目的地地址和/或源RPI等)选择出口 RPI。如方块1112所指示的,跨LAG的数据帧“分布”或分发将继续,直到例如通过删除主交换机204的静态配置或经由LCAP解除LAG配置。之后,图11中示出的过程在方块1120结束。在主交换机204处实施跨不同下层实体的分布式LAG的能力可实现附加网络能力。例如,在包括多个提供相同服务的VM 306的DFP交换网络300中,形成具有所有此类VM作为成员的LAG使能根据服务标记和其他元组字段跨VM 306对服务的数据业务自动进 行负载平衡,而无需VMM 304进行任何管理。此外,可以跨在不同VMM 304和不同主机302上运行的VM 306实现此类负载平衡。如上所述,可选地在图9的方块920-926执行的特殊处理不仅可以包括将帧分发到LAG,而且还包括多播数据业务。现在参考图13,示出了根据一个实施例的在DFP交换网络中进行多播的示例性方法的高级逻辑流程图。所述过程始于方块1300,然后继续到方块1302-1322,后者示出了由主交换机针对多播数据业务执行的特殊处理,如前面参考图9的方块920-926所述。具体地说,在方块1310,主交换机204的交换机控制器530a通过参考在数据业务中指定的目的地MAC地址或IP地址来确定数据业务是否请求多播传递。例如,IP保留224. O. O. O到239. 255. 255. 255用于多播地址,并且以太网至少使用表I中汇总的多播地址表I
权利要求
1.一种在包括上层和下层的交换网络中进行交换的方法,所述下层包含多个下层实体,所述方法包括 在所述上层中的具有多个端口的主交换机处,在所述多个端口中的每个端口上实现多个虚拟端口,所述多个端口中的每个端口均耦合到所述多个下层实体中的一个相应实体,所述多个虚拟端口中的每个虚拟端口均对应于在耦合到该端口的所述下层实体处的多个远程物理接口 RPI中的一个相应远程物理接口 ; 将在所述主交换机与所述多个下层实体上的远程物理接口之间传送的数据业务在所述多个虚拟端口中的与所述数据业务被传送到的下层实体上的远程物理接口对应的虚拟端口中排队;以及 所述主交换机根据至少基于数据业务所排队的虚拟端口的控制策略而将数据处理应用于所述数据业务,其中所述主交换机将不同策略应用于排队到所述主交换机的所述多个端口中的同一端口上的两个虚拟端口的数据业务。
2.如权利要求I中所述的方法,其中所述多个虚拟端口中的每个虚拟端口在入口处包括多组虚拟队列。
3.如权利要求2中所述的方法,其中 所述数据业务包括标识特定下层实体上的远程物理接口的远程物理接口标识符;以及 所述排队包括根据所述远程物理接口标识符而将所述数据业务排队到虚拟端口。
4.如权利要求I中所述的方法,其中所述多个虚拟端口中的每个虚拟端口在出口处包括多组虚拟队列。
5.如权利要求I中所述的方法,其中 所述多个下层实体包括以直通模式配置的从交换机;以及 所述多个远程物理接口包括数据端口。
6.如权利要求I中所述的方法,其中 所述多个下层实体包括主机平台;以及 所述主机平台上的所述多个远程物理接口包括虚拟机。
7.如权利要求I中所述的方法,其中应用数据处理包括将所述数据业务多播到多个虚拟端口。
8.如权利要求I中所述的方法,其中应用数据处理包括跨形成链路聚合组的所述多个虚拟端口的子集而分布所述数据业务。
9.如权利要求8中所述的方法,其中所述多个虚拟端口的所述子集对应于所述多个下层实体中的不同实体处的远程物理接口。
10.如权利要求I中所述的方法,其中应用数据处理包括对所述数据业务应用业务整形。
11.如权利要求I中所述的方法,其中应用数据处理包括对所述数据业务应用速率限制。
12.如权利要求I中所述的方法,其中所述主交换机根据数据业务所指定的服务标记来排队所述数据业务和应用数据处理。
13.—种包括上层和下层的交换网络的主交换机,所述上层包括所述主交换机,所述下层包括多个下层实体,所述主交换机包括多个端口,所述多个端口中的每个端口均耦合到所述多个下层实体中的一个相应实体,所述多个端口中的每个端口包括多个虚拟端口,所述多个虚拟端口中的每个虚拟端口均对应于在耦合到该端口的所述下层实体处的多个远程物理接口 RPI中的一个相应远程物理接口,其中在所述主交换机与所述多个下层实体上的远程物理接口之间传送的数据业务被排队到所述多个虚拟端口中的与所述数据业务被传送到的下层实体上的远程物理接口对应的虚拟端口; 交换机控制器,其在所述多个端口之间交换数据业务; 其中所述主交换机根据至少基于数据业务所排队的虚拟端口的控制策略而将数据处理应用于所述数据业务,使得所述主交换机将不同策略应用于排队到所述主交换机的所述多个端口中的同一端口上的两个虚拟端口的数据业务。
14.如权利要求13中所述的主交换机,其中所述多个虚拟端口中的每个虚拟端口在入口处包括多组虚拟队列。
15.如权利要求14中所述的主交换机,其中 所述数据业务包括标识特定下层实体上的远程物理接口的远程物理接口标识符;以及 所述主交换机根据所述远程物理接口标识符而将所述数据业务排队到虚拟端口。
16.如权利要求13中所述的主交换机,其中所述多个虚拟端口中的每个虚拟端口在出口处包括多组虚拟队列。
17.如权利要求13中所述的主交换机,其中应用数据处理包括将所述数据业务多播到多个虚拟端口。
18.如权利要求13中所述的主交换机,其中应用数据处理包括跨形成链路聚合组的所述多个虚拟端口的子集而分布所述数据业务。
19.如权利要求18中所述的主交换机,其中所述多个虚拟端口的所述子集对应于所述多个下层实体中的不同实体处的远程物理接口。
20.如权利要求13中所述的主交换机,其中应用数据处理包括对所述数据业务应用业务整形。
21.如权利要求13中所述的主交换机,其中应用数据处理包括对所述数据业务应用速率限制。
22.如权利要求13中所述的主交换机,其中所述主交换机根据数据业务所指定的服务标记将所述数据业务排队到所述多个虚拟端口和将数据处理应用于所述数据业务。
23.一种交换网络,包括 权利要求13中所述的主交换机;以及 所述多个下层实体。
24.如权利要求23中所述的交换网络,其中 所述多个下层实体包括以直通模式配置的从交换机;以及 所述多个远程物理接口包括数据端口。
25.如权利要求23中所述的交换网络,其中 所述多个下层实体包括主机平台;以及 所述主机平台上的所述多个远程物理接口包括虚拟机。
26.—种交换系统,包括一部件,其配置为在包括具有主交换机的上层和具有多个下层实体的下层的交换网络中,所述主交换机具有多个端口,在所述多个端口中的每个端口上实现多个虚拟端口,所述多个端口中的每个端口均耦合到所述多个下层实体中的一个相应实体,所述多个虚拟端口中的每个虚拟端口均对应于在耦合到该端口的所述下层实体处的多个远程物理接口 RPI中的一个相应远程物理接口; 一部件,其配置为将在所述主交换机与所述多个下层实体上的远程物理接口之间传送的数据业务在所述多个虚拟端口中的与所述数据业务被传送到的下层实体上的远程物理接口对应的虚拟端口中排队;以及 一部件,其配置为根据至少基于数据业务所排队的虚拟端口的控制策略而将数据处理应用于所述数据业务,其中所述主交换机将不同策略应用于排队到所述主交换机的所述多个端口中的同一端口上的两个虚拟端口的数据业务。
27.如权利要求26中所述的系统,其中配置为应用数据处理的部件包括配置为将所述数据业务多播到多个虚拟端口的部件。
28.如权利要求26中所述的系统,其中配置为应用数据处理的部件包括配置为跨形成链路聚合组的所述多个虚拟端口的子集而分布所述数据业务的部件。
29.如权利要求28中所述的系统,其中所述多个虚拟端口的所述子集对应于所述多个下层实体中的不同实体处的远程物理接口。
30.如权利要求26中所述的系统,其中配置为应用数据处理的部件包括配置为对所述数据业务应用业务整形的部件。
31.如权利要求26中所述的系统,其中配置为应用数据处理的部件包括配置为对所述数据业务应用速率限制的部件。
32.如权利要求26中所述的系统,其中所述主交换机根据数据业务所指定的服务标记将所述数据业务排队到所述多个虚拟端口和将数据处理应用于所述数据业务。
全文摘要
本发明涉及一种交换网络架构中的数据业务处理方法和系统。一种交换网络包括具有主交换机的上层和具有多个下层实体的下层。所述主交换机(其具有多个端口,每个端口均耦合到一个相应下层实体)在所述端口中的每个端口上实现多个虚拟端口,每个所述虚拟端口均对应于在耦合到该端口的所述下层实体处的多个远程物理接口(RPI)中的一个相应RPI。将在所述主交换机与所述RPI之间传送的数据业务在与所述数据业务被传送到的RPI对应的虚拟端口中排队。所述主交换机根据至少基于数据业务所排队的虚拟端口的控制策略而将数据处理应用于所述数据业务,使得所述主交换机将不同策略应用于排队到所述主交换机的同一端口上的两个虚拟端口的数据业务。
文档编号H04L12/56GK102821038SQ201210147068
公开日2012年12月12日 申请日期2012年5月11日 优先权日2011年5月14日
发明者K·卡姆布勒, A·比斯瓦斯, D-R·洛伊, C·J·曼顿, N·慕克尔吉, V·潘迪 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1