CN104919760B - 虚拟机箱系统控制协议 - Google Patents
虚拟机箱系统控制协议 Download PDFInfo
- Publication number
- CN104919760B CN104919760B CN201380070107.7A CN201380070107A CN104919760B CN 104919760 B CN104919760 B CN 104919760B CN 201380070107 A CN201380070107 A CN 201380070107A CN 104919760 B CN104919760 B CN 104919760B
- Authority
- CN
- China
- Prior art keywords
- network node
- virtual enclosure
- vfl
- module
- 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
- 238000000034 method Methods 0.000 claims description 55
- 230000005540 biological transmission Effects 0.000 claims description 13
- 230000001737 promoting effect Effects 0.000 claims description 2
- 230000009466 transformation Effects 0.000 claims 1
- 230000006870 function Effects 0.000 abstract description 34
- 238000012544 monitoring process Methods 0.000 abstract description 26
- 230000036541 health Effects 0.000 abstract description 18
- 230000001360 synchronised effect Effects 0.000 abstract description 7
- 239000000835 fiber Substances 0.000 abstract description 3
- 238000012545 processing Methods 0.000 description 32
- 238000010586 diagram Methods 0.000 description 27
- 230000008569 process Effects 0.000 description 13
- 238000010168 coupling process Methods 0.000 description 12
- 238000005859 coupling reaction Methods 0.000 description 12
- 230000008878 coupling Effects 0.000 description 11
- 238000001514 detection method Methods 0.000 description 10
- 230000002776 aggregation Effects 0.000 description 8
- 238000004220 aggregation Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 8
- 238000006116 polymerization reaction Methods 0.000 description 8
- 230000006854 communication Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000001914 filtration Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 238000003860 storage Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 101100244969 Arabidopsis thaliana PRL1 gene Proteins 0.000 description 3
- 102100039558 Galectin-3 Human genes 0.000 description 3
- 101100454448 Homo sapiens LGALS3 gene Proteins 0.000 description 3
- 101150051246 MAC2 gene Proteins 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 239000013307 optical fiber Substances 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000002028 premature Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 239000011800 void material Substances 0.000 description 2
- 101100059544 Arabidopsis thaliana CDC5 gene Proteins 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 1
- 101150115300 MAC1 gene Proteins 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 238000009415 formwork Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000009991 scouring Methods 0.000 description 1
- 235000015170 shellfish Nutrition 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
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]
-
- 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/12—Discovery or management of network topologies
- H04L41/122—Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/58—Association of routers
- H04L45/586—Association of routers of virtual routers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5038—Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Environmental & Geological Engineering (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
Abstract
一种虚拟机箱系统,包括多个配置有主虚拟机箱地址的网络节点。网络节点经由虚拟连接光纤链路(VFL)连接,所述VFL提供了用于在网络节点之间交换数据分组的连接。数据分组包括源MAC地址和诸如源机箱ID、源网络接口标识符和源端口标识符信息的相关硬件设备信息。网络节点使用该信息以维护同步的MAC地址列表,用于在虚拟机箱系统中转发数据分组。网络节点中的一个或多个控制协议被用于拓扑发现、主网络节点选择、路由表的生成、健康监视和其他功能。
Description
技术领域
本发明一般涉及数据网络,特别涉及用于在一个或多个数据网络的节点之间提供拓扑冗余和弹性的系统和方法。
背景技术
数据网络包括各种计算设备,例如彼此通信和/或与连接到网络的各种其他网络元件或远程服务器进行通信的网络个人计算机、IP电话设备或服务器。例如,数据网络可以包括但不限于城域以太网或企业以太网,这些数据网络网络支持多个应用,包括例如IP语音(VoIP)、数据和视频应用。这种网络有规律地包括互连的节点,通常称为交换机或路由器,用于通过网络路由业务量。
数据网络面临的一个关键挑战是需要网络弹性,即,尽管终端元件故障、链路故障或出现类似情况,它们能维持高可用性,高可用性能提供令人满意的网络性能的关键。通过拓扑冗余可以部分地获得网络弹性,即通过提供冗余节点(和冗余节点内的组件)和节点之间的多个物理路径以防止单点故障,并且部分地通过L2/L3协议在出现故障时利用所述冗余以聚合于替代路径以交换/路由通过网络的业务流。可以理解的是,检测和聚合时间必须在网络中快速发生(优选地,小于一秒),以实现到备用路径的无缝转换。各种类型的网络拓扑在网络内被实现以提供节点之间的冗余,例如环形网络、部分网状网络、全网状网络、集线器网络等。网络元件之间的聚合时间和冗余通常根据网络中实现的网络类型的不同而变化。
网络元件的架构也是可变的并影响网络的弹性。例如,各种节点结构包括单个交换单元、可堆叠交换单元、基于多插槽机箱(classis)的网络元件等。通常,根据成本和网络需求,这些节点结构类型中的一个被选择并实施为一种网络拓扑类型。然而,一旦实现,有时难以升级或从一种网络拓扑类型转变到另一种网络拓扑类型。在网络拓扑内,也难以从一种节点结构类型转换到另一种节点结构类型或者在一个网络内结合各种节点结构类型。
因此,需要一种系统和方法,用于在一个或多个不同类型的网络拓扑内具有一个或多个不同类型的节点结构之间提供弹性。
附图说明
图1a-c示出根据本发明的虚拟机箱系统实施例的示意性框图;
图2示出在根据本发明的虚拟机箱系统中的网络拓扑发现过程的实施例的逻辑流程图;
图3示出在根据本发明的虚拟机箱系统的网络节点中的拓扑数据库实施例的示意性框图;
图4示出在根据本发明的虚拟机箱系统中的网络节点实施例的示意性框图;
图5示出在根据本发明的虚拟机箱系统中的网络节点的网络接口模块实施例的示意性框图;
图6示出在根据本发明的虚拟机箱系统中分组的预置报头实施例的示意性框图;
图7示出在根据本发明的虚拟机箱系统中通过网络节点的分组流实施例的示意性框图;
图8示出根据本发明的虚拟机箱管理应用实施例的示意性框图;
图9示出根据本发明的配置管理器模块的实施例的示意性框图;
图10示出用于确定根据本发明的虚拟机箱系统中的网络节点的操作模式的方法实施例的逻辑流程图。
图11示出根据本发明以虚拟机箱模启动时用于配置网络节点的方法实施例的逻辑流程图;
图12示出在根据本发明的虚拟机箱系统中的拓扑发现实施例的示意性框图;
图13示出在根据本发明的虚拟机箱系统中选择主网络节点的方法实施例的逻辑流程图;
图14a-b示出在根据本发明的虚拟机箱系统中路由单播流量的实施例的示意性框图;
图15a-b示出在根据本发明的虚拟机箱系统中路由非单播流量的实施例的示意性框图;
图16示出在根据本发明的虚拟机箱系统中用于路由非单播流量的方法实施例的逻辑流程图;
图17示出在根据本发明的虚拟机箱系统合并的实施例的示意性框图;
图18示出在根据本发明的虚拟机箱系统合并的方法实施例的逻辑流程图;
图19示出在根据本发明的虚拟机箱系统中健康监视实施例的示意性框图;以及
图20示出在根据本发明的虚拟机箱系统中用于健康监视方法实施例的逻辑流程图。
具体实施方式
本申请中提到如下标准并在此引入作为参考:1)链路聚合控制协议(LACP),之前由IEEE802.3ad任务组在2000年3月将其添加于IEEE802.3标准的第43条款,并且目前被结合在2008年11月3日的IEEE802.1AX-2008中;以及2)IEEE标准802.1Q,虚拟桥接局域网,2003版。
图1a示出包括通过专用链路集合群可操作地耦合的多个网络节点110的虚拟机箱系统100的实施例,所述专用链路集合群用于传送控制和寻址信息,被称为虚拟光纤链路(VFL)120。VFL 120及其操作详细描述于2011年1月20日提交的题为“SYSTEM AND METHODFOR MULTI-CHASSIS LINK AGGREGATION”的美国专利申请No.13/010,168,出于所有目的,该未决申请在此引入作为参考并作为本美国实用专利申请的一部分。VFL 120提供网络节点110之间用于交换信息的连接,所述信息涉及流量转发、MAC寻址、组播流、地址解析协议(ARP)表、第2层控制协议(如生成树、以太网环路保护、逻辑链路检测协议)、路由协议(如RIP、OSPF、BGP)以及网络节点和外部链路的状态。
在一个实施例中,多个网络节点110作为具有统一管理能力的单个虚拟网络节点工作。例如网络节点110a的主网络节点被选择,并且主网络节点110的本地MAC地址被其他网络节点110采纳用作虚拟机箱系统100的主MAC地址。主MAC地址由外部节点112使用以寻址网络虚拟机箱系统100中的节点110。同样地,网络节点110与外部节点112透明地操作并且被外部节点112视为单一逻辑设备。
外部节点112使用单一中继线或链路、链路聚合群(LAG)116或虚拟机箱链路聚合群(VC-LAG)114,可操作地耦合到网络虚拟机箱系统100中的一个或多个的节点110。为了提供增强的弹性和移除单点或甚至两个故障点,VC-LAG 114可操作地将外部节点耦合到网络虚拟机箱系统100中的两个或多个节点110。外部节点可以使用负载均衡技术通过可用VC-LAG的链路114来分配流量。例如,物理链路VC-LAG114的一条由外部节点选择以基于负载均衡算法(通常包括作用在源和目的因特网协议(IP)或媒体接入控制(MAC)地址信息上的散列函数)传输分组,以便更有效地使用带宽。
在正常操作期间,虚拟机箱系统内的网络节点110共享主MAC地址用作许多种层2和层3协议的系统标识。例如,生成树协议和LACP协议使用MAC地址作为虚拟机箱系统110的标识符。因特网协议(IP)路由也利用主MAC地址来向外部网络中的网络元件标识虚拟机箱系统100,例如对等体使用MAC地址作为发往虚拟机箱系统100的分组的以太网目的地址。同样地,网络虚拟机箱系统100中的节点110被外部网络节点112视为单个逻辑节点。此外,虚拟机箱系统100中的网络节点110被作为具有的统一管理、操作和维护管理系统的单个节点管理。
由于虚拟机箱系统100中的网络节点110被外部节点112作为单一逻辑设备处理,外部节点112可操作地主动地转发VC-LAG114所有链路上的流量。该特征实现了外部节点112向网络节点110多归属(homing),而无需外部节点和网络节点之间的生成树协议,同时还促进了边缘上行链路故障以及网络节点110故障的载体-等级检测和聚合时间。所有VC-LAG114上行链路虚拟机箱系统100的主动转发模式的另一个优点是VC-LAG114链路带宽使用效率的增加。
在虚拟机箱系统100中,网络节点110被分配称为机箱标识符或机箱ID的通用唯一标识符。在虚拟机箱系统100内,网络节点110分配内部VFL标识符(VFID)给它的每个配置VFL 120。由于VFL的VFID被用于VFL 120的内部标识和配置,网络节点110可以将另一网络节点110所分配的相同的或不同的VFID分配到VFL 120。VFL 120提供连接在网络节点110之间交换的信息,所述信息涉及流量转发、MAC寻址、组播流、地址解析协议(ARP)表、第2层控制协议(如生成树,以太网环路保护、逻辑链路检测协议)、路由协议(如RIP、OSPF、BGP),这详细地描述于2011年1月20日提交的美国专利申请No.13/010,168“SYSTEM AND METHODFOR MULTI-CHASSIS LINK AGGREGATION”。在一个实施例中,网络节点110之间诸如媒体访问控制(MAC)地址列表的第2层地址列表的同步由通过第2层上的分组流经由VFL120驱动以及由周期性保持活动机制驱动,通过所述周期性保持活动机制,拥有给定MAC地址的网络节点110洪泛(flood)携带有所述MAC地址作为源地址的特定分组。该同步机制也需要实现标准MAC冲刷(flushing)机制来处理网络节点110或其一些组件出问题(go down)的情况。MAC地址源学习通过洪泛未知目的MAC地址经由VFL120来实现。在源学习过程中,网络节点110经由VFL 120交换具有预置报头的分组,所述VFL 120包括源MAC地址和相关的诸如源机箱ID、源网络接口标识符和源端口标识符信息的硬件设备信息。网络节点110用基少MAC表同步最小消息传送使用该信息来维持同步的MAC地址列表。利用同步的MAC地址列表,网络节点110可操作用于在虚拟机箱系统100中的网络节点110之间处理和转发分组。
图1a示出网络节点110耦合在部分网状网络拓扑中。然而,虚拟机箱系统100中的网络节点110可以耦合在多种类型网络拓扑的任何一个中而不影响虚拟机箱系统100的操作。图1b示出具有被配置在环形网络拓扑中通过VFL120耦合的多个网络节点110的虚拟机箱系统100。图1c示出具有被配置在集线器和轮辐(spoke)或星型网络拓扑中的多个网络节点110的虚拟机箱系统100。这里没有描述虚拟机箱系统100还支持的例如线性、树、全网状网络、混合式等的其他网络拓扑。为了支持多个不同类型的网络拓扑,虚拟机箱系统100中的网络节点110可操作用于执行网络拓扑发现过程。
图2示出虚拟机箱系统100中网络拓扑发现进程130实施例的逻辑流程图。该进程由虚拟机箱系统100中的活动网络节点110在启动、重启、网络中的指示状态改变或在预定的时间段执行。在步骤132中,网络节点110检测到它正在以虚拟机箱模式操作。例如,网络节点110的一个或多个参数被配置成指示虚拟机箱的操作模式。网络节点110检测到指示以虚拟机箱模式操作(而不是例如单机模式或多机箱模式)的参数。接着在步骤134中,网络节点110执行一个或多个控制协议来发现虚拟机箱系统100中的其他网络节点110并且交换拓扑和配置信息。网络节点110使用该信息来构建虚拟机箱系统100的拓扑数据库。所述拓扑数据库包括:其他网络节点110的标识信息(例如本地MAC地址、机箱标识符)、托管活动VFL120(或其他活动的交换机间链路)的网络接口的标识信息、VFL 120的标识信息及在网络节点110上其相关的成员端口。这样,网络节点110了解到虚拟机箱系统100中网络节点110之间的活动连接以及其他网络节点110的配置信息。下面的表1是网络节点110a的拓扑数据库的示例,在本例中在发现阶段之后,例如机箱ID=1。表1包括存储在拓扑数据库中的示例性信息,但其他未示出的信息和数据也可包括在拓扑数据库中。此外,拓扑数据库可以存储在单独的数据库或表中或者与网络节点110中的其他表或数据库组合。
表1
在图2的步骤136中,主网络节点被选择以执行管理和虚拟机箱系统100的其他任务。然后主网络节点的本地MAC地址被其他网络节点110采纳。下面的表2是机箱ID=1的所选主网络节点110的示例性拓扑数据库。如表2所示,在拓扑数据库中,机箱ID=1的网络节点被表示为具有主角色并且其他节点被表示为具有从角色。
表2
主网络节点110的选择基于包括机箱优先级、正常运行时间(up time)、机箱ID和机箱MAC地址的参数的优先级排序的列表。正常运行时间参数可以将优先级给予操作时间较长的网络节点110。机箱优先级参数是用户配置的优先级,其定义主网络节点110的用户偏好而不考虑机箱ID或正常运行时间。各种不同参数的使用增加了主网络节点110选择的灵活性。在拓扑数据库中所示的机箱群参数标识了虚拟机箱系统100。具有不同机箱群标识的一个或多个附加虚拟机箱系统100中也可以在网络中操作。拓扑数据库还标识网络节点110中的活动或者主控制管理器模块(CMM)与网络节点110的机箱类型。
在网络拓扑发现进程130的步骤138中,网络节点110执行一个或多个协议来监视虚拟机箱系统100中的连接和网络节点110的状态或状况。网络节点110的当前状态保持在拓扑数据库中。虚拟机箱系统100中的网络节点110检测的状态改变可以发起路由的变化、主节点的变化等。通过拓扑网络自发现和节点110的监视,虚拟机箱系统100可操作用于以最小预配置和干预来支持多个不同类型的网络拓扑。
图3示出在选择主网络节点110之后,虚拟机箱系统100中的网络节点110的拓扑结构数据库144的例子。在这个例子中,网络节点110a被采用作为主网络节点,网络节点110b和110c是从节点。网络节点110a的本地MAC地址(例如,主MAC地址=A)被网络节点110a-c采用作为虚拟机箱MAC地址。另外,主MAC地址(MAC=A)被采纳为用于管理应用的应用MAC地址。
虚拟机箱系统100也可操作用于包括具有一个或多个不同类型的节点结构的网络节点110,例如单个模块、可堆叠、或基于多插槽机箱的架构。图4示出了在具有不同类型的节点结构的虚拟机箱系统100中的网络节点110实施例的示意性框图。在这个例子中,网络节点110a具有基于多插槽机箱的结构,该结构有多个网络接口模块152a-n。通常,基于多插槽机箱的结构共有一个外壳、控制管理模块(CMM)150a-b和公共电源,所述公共电源具有例如线路卡或端口模块的一个或多个网络接口模块(NIM)152a-n。网络接口模块152n包括排队模块212和交换模块210并且这些模块通过集成到该机箱的底板的光纤交换机214连接。
本例中的网络节点110b具有可堆叠节点结构并包括通过底板连接142耦合的多个网络元件140a-n。每个网络元件140a-n可操作为独立节点,并且包含它自己的外壳、控制管理模块(CMM)150、交换模块210、排队模块212和电源。在一些堆叠结构中,一种网络元件(在该例中的网络元件140a)被指定为堆栈的主要或主单元以用于管理目的。
网络节点110c具有单个模块节点结构,例如单独的可堆叠单元140或者可选地,具有单个网络接口模块152的基于多插槽机箱的结构。
网络节点110a-c对应于图1a-c的虚拟机箱系统100中的一个或多个网络元件110。例如,虚拟机箱系统100可以包括仅仅具有基于多插槽机箱的节点结构的网络节点110或包括仅仅具有可堆叠节点结构的网络节点110或包括两种或多种类型的节点结构的网络节点110的组合,这里的两种或多种类型例如基于多插槽机箱结构、可堆叠节点结构和单个模块节点结构。虽然未示出,虚拟机箱系统100还可以包括由其他类型的节点结构和配置构成的网络节点110。
网络节点110a和网络节点110b通过VFL 120a可操作地耦合。网络节点110a和110b以内部VFL的标识符(VFID)指定VFL120a,例如对于网络节点110a,VFID=3,以及对于网络节点110b,VFID=0,如图3所示。网络节点110a和网络节点110c通过VFL 120b可操作地耦合。网络节点110a和110c以内部VFL标识符(VFID)指定VFL 120b,例如对于网络节点110a,VFID=2以及对于网络节点110c,VFID=1,如图3所示。此外,网络节点110a-c还通过附加VFL120可操作地耦合到一个或多个其他网络节点110,如图1a-c所示。网络节点110a和110b之间的VFL 120a被描述为虚拟机箱系统100中的不同网络节点110之间的VFL 120的操作和配置的概括。
网络节点110a和网络节点110b之间的VFL 120a可操作地耦合到一个或多个交换模块210中的一个或多个VFL成员端口。为了在一个或多个端口、链路或模块发生故障情况下的冗余,VFL 120a可操作地包括多个聚合链路,所述聚合链路使用网络节点110a和110b的不同交换模块210之间的LACP或类似聚合协议生成。例如在图4中,VFL 120a包括网络节点110a的NIM 152a和网络节点110b的堆叠式网络元件140a之间的物理链路的第一子集A以及网络节点110a的NIM 152b和网络节点110b的堆叠式网络元件140b之间的物理链路的第二子集B。
网络节点110在虚拟机箱系统100中被分配唯一的机箱标识符。用于每个网络节点110的机箱ID是唯一和全局的,并且通过拓扑发现,网络节点110可以意识到虚拟机箱系统100中其对等网络节点110的机箱ID的。另外,诸如网络节点110中的交换模块210和端口接口的各种组件的唯一硬件设备标识符或模块标识符(MID)的生成允许用于本地和远程管理的目的。在一个实施例中,交换模块210的硬件设备标识符MID在虚拟机箱系统内具有全局意义,而例如排队模块212的其他组件的MID可以只具有本地意义。例如,分配给该交换模块210的硬件设备标识符可以被其他网络节点110所知,而其他设备的硬件设备标识符被限制到本地网络节点110并且对于其他网络节点110没有什么意义。例如,交换模块21的端口接口被分配全球唯一硬件设备标识符,该标识符包括机箱ID、交换模块ID和端口接口ID。在一个实施例中,虚拟机箱系统中的网络节点110在预置报头模式工作来通过VFL 120交换数据和控制分组。
图5更详细地示出了在预置报头模式中操作的网络接口模块(NIM)152示意性的实施例的框图。尽管示出了网络接口模块152,堆叠式网络元件140或单模块网络元件可操作用于执行类似功能以在预置报头模式中操作。交换模块210包括从虚拟机箱系统100连接到外部节点的112多个外部端口240。一个或多个外部端口240可以包括用于VC-LAG 114、LAG116、单一中继线或其他中继线群、固定链路等的成员端口。外部端口240可具有相同的物理接口类型,例如铜端口(CAT-5E/CAT-6)、多模光纤端口(SX)或单模光纤端口(LX)。在另一个实施例中,外部端口240可以具有一个或多个不同的物理接口类型。
外部端口240被分配有例如设备端口值的外部端口接口标识符(端口ID),所述标识符例如与交换模块210相关联的gport和dport值。在一个实施例中,网络节点110的机箱ID、交换模块210的MID、以及外部端口接口标识符(端口ID)被用作虚拟机箱系统100的网络节点110中的物理外部端口接口240的全球唯一标识符。在另一个实施例中,全球唯一模块标识符(MID)基于机箱标识符被分配给虚拟机箱系统的网络节点的各交换模块210。例如,交换MID 0-31被分配给机箱ID=1,交换MID 32-63被分配到机箱ID=2等。在这种情况下,全球唯一交换MID和外部端口标识符(端口ID)被用作虚拟机箱系统100的网络节点110中的物理外部端口接口240的全球唯一标识符。
当外部端口240上接收到分组时,交换模块210将该分组传送给预置报头接口(PPHI)246,该接口添加预置报头(或以其他方式修改分组报头)以包括与所述分组相关的源和/或目的MAC地址相关联的硬件设备信息(HDI)。在一个实施例中,预置报头可以包括例如分组优先级和负载均衡标识符的其他信息。为了获得与分组的MAC地址相关联的HDI信息,PPHI在MAC/HDI转发表250中执行查找过程。存储在地址列表存储器248中的MAC/HDI转发表250包括MAC地址的列表和相关联的硬件设备信息。硬件设备信息唯一地标识网络节点110、交换模块210和/或用于路由分组的端口接口240。硬件设备信息包括例如交换模块210的机箱ID、MID和/或与目的MAC地址相关联的端口240的端口接口ID。MAC/HDI转发表250可以包括一个或多个表,如源中继映射、中继位图表、中继群表、VLAN映射表等。在一个实施例中,MAC/HDI转发表250或其部分可以位于NIM的排队模块152或其他模块。
基于拓扑数据库144,VFL路由配置表254在网络节点110生成以确定单播流量的路由。VFL路由配置表254包括机箱ID和相关联的VFL ID(VFID)。与机箱ID相关的VFID标识虚拟机箱系统100中的VFL 120用于向目的机箱ID标识的网络节点110路由分组。在另一个实施例中,当全球唯一模块标识符(MID)分配给虚拟机箱系统100中的网络节点110的交换模块210时,VFL路由配置表254包括全球唯一MID和相关的VFLID(VFID)。在一个实施例中,VFL路由配置表254是使用最短路径算法、基于流量的算法或其他类型的路由算法而生成的。如图1a所示的虚拟机箱系统100的VFL路由配置表254的例子在如下的表3中示出。
表3
尽管MAC/HDI转发表250和VFL路由表254示出为地址列表存储器248中的独立表格,这些表可以被组合或来自表格之一的数据可以包括到另一个表格或者这些表可以被分成一个或更多个其他表格。
在一个实施例中,分组的预置报头的硬件设备信息HDI中包括与目的机箱ID相关的VFL端口252输出VFID,如表3所示。该预置报头还包括与接收分组的源端口相关的硬件设备信息HDI,如端口接口ID、交换模块210的MID和机箱ID。在一个实施例中,诸如VLAN ID、分组类型(多播、单播、广播)、分组优先级和负载均衡标识符的附加信息也被添加到预置报头中。
然后,带有预置报头的分组被发送到排队模块212,用于经由光纤交换机214进行路由。基于VFL路由配置表254,排队模块212将带有预置报头的分组路由到连接到输出VFL120的交换模块210。
排队模块212包括分组缓冲器260、用于提供流量和缓冲器管理的队列管理262以及全局HDI地址列表264。全局HDI地址列表264将输出VFL ID映射到一个或多个其他NIM15的排队模块212中的适当队列。例如,排队模块212将分组交换到一个或多个VFL的端口接口252的适当出口队列,用于经由输出VFL120传输。在一个实施例中,确定对应于特定VFL端口接口的外出队列可操作地基于预置报头中的负载均衡标识符。
尽管交换模块210和排队模块212被示为单独的集成电路或模块,这些模块的一个或多个功能或组件可包括在其他模块或组合成可选模块或被实现于一个或多个集成电路中。
图6示出虚拟机箱系统100中的分组的预置报头实施例的的示意性框图。预置报头300包括源HDI 302、目的HDI 304、VLAN ID306、分组类型308、源MAC地址310和目的MAC地址312的字段。在一个实施例中,预置报头还可以包括负载均衡标识符314和分组优先权316。目的HDI 304包括例如端口标识符(设备端口(dport)和/或全局端口值(GPV))、交换模块210的MID和/或与目的MAC地址相关的目的网络节点110的机箱ID。源HDI 302包括例如端口标识符(设备端口(dport)和/或全局端口值(GPV))、交换模块210的MID和/或与源MAC地址相关的源网络节点的机箱ID。负载均衡标识符314由排队模块212使用来确定VFL成员端口用于经由输出VFL120传输分组。分组优先级316由排队模块212使用来确定特定优先级队列。
图7示出在虚拟机箱系统100中通过网络节点110a至另一网络节点11b的分组流的示意性实施例框图。在这一例子中,来自具有源MAC地址“MAC1”的虚拟机箱系统100的外部设备300发送具有目的MAC地址“MAC2”的分组。在该示例中,具有机箱ID=1的网络节点110a在例如具有MID=31的交换模块210n上的外部端口接口240接收分组,所述交换模块210n,所述外部端口接口240例如具有端口ID=2。交换模块210n提取目的MAC地址MAC2并且在MAC/HDI转发表250中执行地址列表查找来确定与目的MAC地址MAC2相关的硬件设备信息(HDI)。目的HDI可以包括,例如目的机箱ID和与目的MAC地址相关的设备模块标识符(MID)和端口标识符。目的HDI还可以包括到与目的MAC地址相关联的目的设备的路径中的一个或多个其他网络节点或硬件模块的标识符。当目的MAC地址与另一个网络节点相关时,例如目的机箱ID不是本地机箱ID,则交换模块210确定与目的机箱ID相关的外出VFL ID。该外出VFL ID可以被添加到预置报头的目的HDI中。对于图5所示的例子,VFL路由表254指示目的机箱ID=2与具有VFID=3的VFL 120相关联。
交换模块210n还在预置报头中包括与例如端口ID=2的始发外部端口接口(HDI)相关的源硬件设备信息。源HDI可以包括一个或多个硬件设备标识符,例如始发交换模块210的MID、源NIM 152的源端口标识符、源机箱MID等。此外,在一个实施例中,预置报头包括基于从原始分组(源MAC地址、目的MAC地址、源IP地址、目的IP地址)检索出的参数确定的分组优先级和负载均衡标识符。
具有预置报头的分组被发送给排队模块212n,排队模块212n然后确定网络节点110上的NIM 152以基于目的HDI发送分组。当目的HDI指示网络节点上的本地外部端口接口(例如基于预置报头中包含的目的MID),排队模块将分组放置到出口队列以发送给本地外部端口接口的对应NIM 152。在图5所示的另一个例子中,当目的HDI指示该分组需要经由VFL 120发送到虚拟机箱系统100中的另一个网络节点110时,排队模块从VFL ID确定输出NIM 152来发送该分组。在该例子中,排队模块确定VFID=3可操作地耦合到NIM 152a并且经由光纤交换机214发送具有预置报头的分组至NIM 152a。在负载均衡方法中,当多个交换模块210可操作地耦合到输出VFL 120时,要传输的流量可以分布在多个交换模块210之间。另外,交换模块210上VFL成员端口(高优先级队列,低优先级等)的选择可操作地基于预置报头携带的负载均衡标识符参数。NIM 152a上的排队模块212a接收具有预置报头的分组并且将分组排队用于经由具有VFID=3的VFL120传输。然后,交换模块210a经由VFID=3的VFL120发送具有包括源和/或目的HDI的预置报头的分组至机箱ID=2的网络节点110b。
在一个实施例中,交换模块210a可以在经由VFL 120传输之前改变预置报头。例如,交换模块210a可以将具有本地意义(例如,gport值或本地硬件设备标识符)的目的HDI转换成具有全局意义的HDI或者从预置报头中移出输出VFID。
在一个实施例中,NIM 152中的MAC/HDI转发表250被填充或更新,以响应经过虚拟机箱系统100的第二层分组流。由于预置报头包括源MAC地址和源HDI信息,NIMS 152,例如实施例中的特定交换模块210,可以用该信息填充MAC/HDI转发表250。通过在预置的报头模式中操作VFL120来交换具有源MAC地址和源HDI的第二层分组,交换模块210能够同步虚拟机箱系统100中的网络模块110之间的MAC/HDI转发表250。尽管MAC/HDI转发表250和VFL路由表254被描述为位于交换模块210内,可选地或附加地,这些表可以被包括在排队模块212n或网络节点110的其他模块内。在另一个实施例中,CMM 150(主和次)还可以包括MAC/HDI转发表250和VFL路由表254。
图8示出可操作用于虚拟机箱系统100的网络节点110中的虚拟机箱管理器应用程序或模块400的实施例的示意性框图。在具有基于多插槽机箱节点结构的网络节点110的实施例中,虚拟机箱管理器模块400包括在网络节点110的中央管理模块(CMM)150(被称为VCMCMM402)和该网络节点的指定网络接口模块(NIM)152的处理模块266(被称为VCM-NIM404)之间分布的功能。在可堆叠节点结构中,指定的或主可堆叠网络元件140操作VCM-NIM404。指定的NIM 152或可堆叠单元140的使用避免仅在CMM 150上集中VCM模块400的功能。虚拟机箱管理器模块400的功能分布的例子见表4所示。
表4
在一个实施例中,VCM-CMM 402包括虚拟机箱管理器模块400和单元和/或网络管理器模块406之间的接口以及到注册到可操作于网络节点110的VCM模块400的其他应用程序408的接口。虚拟机箱管理器模块400通知注册的应用程序408何时以虚拟机箱模式工作。更一般地,虚拟机箱管理器模块400提供较宽范围的通知,以向感兴趣的应用程序通知本地节点环境中和虚拟机箱系统100的其他网络节点110中的虚拟机箱系统的状态。一些状态信息由管理配置驱动,而其他状态信息由运行时的判决触发,所述判决在控制数据交换、协商和达成协议时,在虚拟机箱系统中由网络节点单独或由多个网络节点110做出。虚拟机箱管理器模块400也与VLAN管理应用模块410、生成树协议(STP)应用模块412、源学习应用模块414、链路聚合应用模块416和端口管理器应用模块418连接,用于从这些系统组件请求服务。例如,VCM 400可以请求VLAN管理器来配置VFL成员端口作为控制VLAN的成员,以便允许虚拟机箱系统100中的网络节点110之间的进程间通信信道的设置。
VCM-NIM 404执行硬件模块的模块识别配置(例如MID)。VCM-NIM 404也与在排队模块212中的队列管理262连接以执行硬件设备/队列映射功能和以执行和机箱间循环避免功能。VCM-NIM 404还包括VFL 120的控制和管理的虚拟机箱状态功能。虚拟光纤链路控制管理和配置VFL 120并且与端口管理器应用模块418连接,以监视和/或控制VFL120的状态及其对应的成员端口。它还跟踪并更新VFL 120的状态。VCM-NIM 404使用标准LACP协议或其他类似的协议跟踪每个VFL成员端口的状态以及物理层的链路状态。除了LACP协议,虚拟机箱状态协议执行周期性的“保持活动”检查(hello协议),以检查两个虚拟机箱交换机上运行的指定NIM的组件的状态和/或可操作性。所有虚拟机箱协议分组必须在系统中被分配高优先级以避免错误/过早故障检测,因为这种过早故障检测在系统中可能具有很严重的破坏性影响。通过在主指定NIM 152上运行虚拟机箱状态协议,备份的指定NIM模块能够在发生故障时承担控制和状态协议的处理。
VCM-CMM 402和VCM-NIM 404向端口管理器应用模块418注册,以接收关于VFL120的成员端口和链路的端口状态和状态链路事件。在另一个实施例中,虚拟机箱管理器模块400可以包括端口管理器应用程序模块以监视VFL 120的端口和链路状态。虚拟机箱管理器模块400跟踪VFL120的操作状态和有关VFL状态的处理事件,即聚合创建/删除聚合/向上聚合/向下聚合。端口管理应用模块418提供链路状态通知到VCM-CMM 402和VCM-NIM 404两者。
在一个实施例中,传输控制协议在虚拟机箱系统100中实现以传输网络节点110的指定NIM 152或可堆叠网络元件140之间的控制协议分组。传输控制协议可用于具有不同节点结构的网络节点110。对于基于多插槽机箱的节点结构,具有指定处理模块266的指定NIM152例如作为VCM-NIM 404的一部分来操作传输控制协议。在可堆叠节点结构中,指定或主可堆叠网络元件140操作传输控制协议。
机箱监管器模块420提供接口至网络节点110的硬件,并且控制对各种应用模块的监视和启动或重启、控制软件重新加载和软件升级(例如服务中软件升级ISSU)、为单元管理器模块406提供命令行接口(CLI)、以及控制对网络节点110的状态或图像文件系统的访问。在虚拟机箱模式期间,机箱监管器模块420控制启动序列、控制软件重新加载和ISSU,并且提供了用于访问虚拟机箱参数的接口。
配置管理器模块422可操作用于将网络节点110的操作从虚拟机箱模式转换为独立模式或将网络节点110从独立模式转换为虚拟机箱模式。配置管理器模块还可操作于配置所述虚拟机箱管理器模块400和多机箱管理器模块424。配置管理器模块422的操作和网络节点110的操作状态在下文中将更详细地进行描述。
虚拟机箱系统100中的网络节点110在可以工作在多个操作模式,包括虚拟机箱模式、独立模式和多机箱(MC-LAG)模式。各种参数和配置,取决于操作模式被修改。表5示出取决于操作模式机箱ID向网络节点110的分配。
操作模式 | 最少机箱ID | 最大机箱ID |
独立 | 0 | 0 |
多机箱(MCLAG) | 1 | 2 |
虚拟机箱 | 1 | N |
表5
在独立模式中,网络节点110被操作为单个节点,并使用其配置的本地MAC地址而不是全局虚拟机箱MAC地址。如详细地描述于2011年1月20日提交的标题为“SYSTEM ANDMETHOD FOR MULTI-CHASSIS LINK AGGREGATION”的美国专利申请No.13/010,168,在多机箱模式中,两个网络节点被配置为虚拟节点,它们的MAC转发表和ARP表是同步的,但它们仍然充当单独的桥接器和路由器,它们中的每一个都使用它们自己的本地机箱MAC地址。在如本文所述的虚拟机箱模式中,N个网络节点被配置为虚拟机箱系统100中虚拟机箱节点。从1到N的全球唯一的机箱ID被分配到虚拟机箱系统100中的多个网络节点的每一个。
当网络节点110工作在独立模式时,端口标识符和配置遵循如下格式:0/<插槽>/<端口>,其中机箱ID等于“零”,插槽标识多插槽结构或可堆叠网络元件140的每个网络接口模块(NIM)152,并且端口是端口接口标识符。当网络节点110工作在多机箱模式时,端口配置遵循如下格式:<机箱>/<插槽>/<端口>,其中机箱ID等于1或2并且表示操作/当前的/运行的机箱ID。当网络节点110以虚拟机箱模式工作时,端口配置遵循如下格式:<机箱>/<插槽>/<端口>,其中机箱ID是范围1,2……N内的数字并且表示操作/当前的/运行的机箱ID。
图9详细示出配置管理器模块422的示意性框图。配置管理器模块422包括各种配置模块以支持网络节点110的不同操作模式。实施例中的引导配置模块440支持操作的独立和多机箱模式。虚拟机箱(VC)模式配置模块450支持虚拟机箱模式。取决于网络节点的操作模式,配置管理器模块422在启动时和运行时读取和验证的相关配置文件(引导配置模块440或VC模式配置模块450)。
引导配置模块440包括一组管理命令,这些命令在单独或多机箱模式中定义资源和指定网络节点的的参数和功能。引导配置模块440包括应用配置模块442和VC管理器配置模块446a。应用配置模块442用于控制网络节点110中各种应用的配置。例如,应用配置模块442配置机箱监管器模块420、VLAN管理应用模块410,STP应用模块412等,多机箱管理器424等。VC管理器配置模块446a包括由虚拟机箱管理器400进行处理的配置参数和控制命令。当工作于独立模式时,VC管理器配置模块446a在引导配置模块440中被更新和利用。本地网络节点特定的以及将网络节点转变为虚拟机箱模式所需的命令被包括在VC管理器配置模块446a中。
但是,当工作在虚拟机箱模式时,VC模式配置模块450中的VC管理器配置模块446b被更新和利用。通过在引导配置模块440和VC模式配置模块450中包括VC管理器配置模块446a和446b,当工作在多机箱模式或独立模式或虚拟机箱模式时,网络节点110可以操作以执行虚拟机箱相关的配置和功能。
VC模式配置模块450包括一组管理命令,这些命令定义资源和指定虚拟机箱中的网络节点的参数和功能模式。VC引导配置模块452包括虚拟机箱系统100中的多个网络节点的虚拟机箱配置458a-n,而VC设置模块460包括本地机箱配置。
图10示出用于确定虚拟机箱系统100中的网络节点100的操作模式的方法470实施例的逻辑流程图。机箱监管器模块420需要在配置之前确定网络节点110在启动时的操作模式(例如,虚拟机箱,单独或多机箱),因为操作模式确定机箱监管器模块420将启动多机箱管理器424或虚拟机箱管理器400。在步骤472,网络节点启动并且在步骤474中,机箱监管器模块420确定VC设置模块460(vcsetup.cfg)是否存在于网络节点110中。当VC设置模块460(vcsetup.cfg)不存在时,网络节点不在虚拟机箱模式下操作,并且配置管理器模块422在步骤476解析该引导配置模块440(boot.cfg文件)用于操作于单独或多机箱模式。多机箱管理器424然后在步骤478I中被初始化用于引导配置模块440的处理(boot.cfg文件)。
在步骤474,当VC设置模块460(vcsetup.cfg)存在时,网络节点在虚拟机箱模式下工作,并且机箱监管器模块420初始化虚拟机箱管理器400。在步骤480,机箱监管器模块420在启动过程中在其他应用所使用的共享存储器文件中设置被称为“虚拟机箱模式”的参数以指示虚拟机箱模式操作。然后,在步骤482中,配置管理器模块422解析虚拟机箱配置模块、VC设置模块460(vcsetup.cfg)和VC引导配置模块(vcboot.cfg),并初始化虚拟机箱管理器400。在步骤484,虚拟机箱管理器400确认VC设置模块460(vcsetup.cfg)包括有效的虚拟机箱配置(例如,有效的机箱ID)。否则,虚拟机箱管理器400通知该机箱监管器模块420的虚拟机箱模式已经出现故障。机箱监管器模块422接着禁用端口接口和VFL成员端口。这样,具有VC设置模块460(vcsetup.cfg)文件而其内容是无效的(例如,超出范围的机箱ID、损坏的文件、手动编辑)的网络节点110将不能成为可操作的。没有尝试在独立模式下操作网络节点110,因为,在一些情况中,这可能由于虚拟机箱系统100中的独立配置和另一网络节点110虚拟机箱配置之间的冲突而造成网络问题。
图11示出以虚拟机箱模式启动时用于配置的网络节点110的方法500的实施例的逻辑流程图。在系统启动时,当网络节点110被确定为在步骤502中以有效配置以虚拟机箱模式操作时,虚拟机箱管理器400在VC设置模块460中处理配置命令以将网络节点110转变到虚拟机箱系统100中。但是,在该初始阶段,虚拟机箱管理器400不处理VC引导配置模块452命令,直到主网络节点110是已知的,并且拓扑数据库144由网络节点100构建。表6示出了在初始阶段,网络节点110的配置。注意,表6尽管只描绘了两个网络节点,任何数量的网络节点都是被支持的。表6的运行时间配置参数示出了由网络节点110处理在该初始阶段处理模块或命令集。
表6
在步骤506中主网络节点被选择并且拓扑数据库被建立之后,配置处理的第二阶段发生。在第二阶段中,虚拟机箱系统100中的主网络节点110在步骤508执行主网络节点中的VC引导配置模块452(例如,vcboot1.cfg)和从网络节点(例如,vcboot2..cfg)的合并。当网络节点在其VC引导配置模块452中无法具有相同的指定配置组时,从网络节点从主网络节点获取(retrieves)配置并覆写其自己的文件。然后,从网络节点可能需要重新启动,使得新的参数组生效。当VC引导配置模块452的指定配置被复制时,复制的VC引导配置模块452(例如,vcboot1.cfg)在步骤510中由从网络节点进行处理。表7示出了第二阶段期间网络节点的配置。
表7
主网络节点的VC引导配置模块452(vcboot1.cfg)现在已被复制到从网络节点2。为了保持来自从网络节点的配置,主网络节点解析从网络中节点的VC引导配置模块(vcboot2.cfg)中的配置命令。所述解析可以离线或由单元管理器或者网络管理器执行。从网络节点的VC引导配置模块(vcboot2.cfg)中的冲突命令被确定并且被保存用于分析。在步骤512中,主网络节点为网络节点消除冲突命令并且将非冲突命令写入到合并的VC引导配置模块452(vcboot2’.cfg)。
在最后阶段,合并的VC引导配置模块452(vcboot2’.cfg)被复制到虚拟机箱系统中的从网络节点。然后,在步骤514中,VC引导配置模块452由网络节点110执行。表8示出了最后阶段之后的网络节点110的配置。
表8
结果,除了冲突命令之外,使用从网络节点110的配置而无需重新启动从网络节点110。另外,从网络节点110的配置得以保持。
网络节点110在虚拟机箱系统中的设置期间,网络节点110执行邻居发现,例如以构建拓扑数据库144、选出主网络节点的等。但是,在设置时,网络节点110之间的机箱标识符和VFL链路120是未知的。为了进行通信,网络节点110使用虚拟机箱控制协议来发现其他网络节点和交换信息,以建立拓扑数据库144。虚拟机箱控制协议工作在点对点或逐跳基础上,使得网络节点110可操作于在拓扑发现之前发送和接收协议消息。在一个实施例中,虚拟机箱控制协议包括中间系统到中间系统(IS-IS)路由协议的协议和功能,例如1990年2月定义在IEEE网络工程任务组RFC1142中的“OSI IS-IS Intra-domain Routing Protocol,”1990年12月定义在IEEE网络工程任务组RFC 1195中的“Use of OSI IS-IS for Routingin TCP/IP and Dual Environments”,这些协议在此引入作为参考,但是其他路由协议或方法可作为基础来执行本文所述的虚拟机箱控制协议的这些功能和特征(例如,1999年12月定义在IEEE网络工程任务组RFC 2740中的用于IP网络的开放最短路径优先,“OSP FforIPv46”)。
在一个实施例中,使用分配的多播MAC目的地址,虚拟机箱控制协议消息在网络节点之间被交换。在网络节点110的交换模块210接收具有分配的多播MAC目的地址的虚拟机箱控制协议消息时,交换模块210将控制协议消息转发到其处理模块266用于由操作在VCM-NIM 404或VCM-CMM 402中的VCM 400对协议消息进行处理。在另一实施例中,虚拟机箱控制协议消息包括作为预置报头300的一部分的预定操作代码。当交换模块210接收具有预置报头300中的预定操作代码的虚拟机箱控制协议消息时,交换模块210接着将控制协议消息转发到其处理模块266进行处理。
在拓扑发现之前,虚拟机箱控制协议使用点对点或逐跳过程以在邻近网络节点之间交换协议消息。为了发送协议消息到作为非邻近邻居的网络节点110,虚拟机箱控制协议包括基于跳计数字段的内部传播过程。协议消息中的跳计数字段在每个网络节点110中递减,并有助于防止在虚拟机箱系统100中的分组循环。在一个实施例中,虚拟机箱控制协议包括在虚拟机箱管理器400中作为VCM-CMM的一部分或作为VCM-NIM 404的一部分操作,但是,虚拟机箱控制协议还可以操作在网络节点110一个或多个备选或附加模块中。
图12示出在虚拟机箱系统100中使用虚拟机箱协议的拓扑发现实施例的示意性框图。在启动或建立时,当例如VFL 120a的第一VFL变得可操作时,网络节点110a开始虚拟机箱系统100的拓扑发现。虚拟机箱管理器模块400(或操作虚拟机箱协议的其他模块)发起协议消息550a到耦合到VFL 120a的NIM152的交换模块210。协议消息550a包括源机箱字段552和源VFL字段554,其中,源机箱字段552包括发起协议消息的源网络节点的机箱ID,源VFL字段554包括协议消息550a的输出VFL120a的VFID。协议消息550还包括跳计数字段556。在该例子中,协议消息550包括源机箱ID=1,源VFID=0和跳计数=2。协议消息550可以包括具有类似拓扑信息的其他或可选字段。
当邻近网络节点110b接收到协议消息550a时,则它向协议消息550a添加输入VFL120a的VFID,例如输入VFID=1,并将该协议消息发送到它的虚拟机箱管理器400,例如VCM400,用于按照虚拟机箱控制协议处理。从协议消息550a,VCM 400可操作于确定具有机箱ID=1的网络节点110a是邻近节点。VCM 400还确定网络节点110a通过VFL120a耦合到它,VFL120a具有用于网络节点110b的VFID=1的VFL标识符以及用于网络节点110a的VFID=0。VCM 400可操作于用该拓扑信息更新或填充其拓扑数据库144。协议消息该的跳计数=2被递减到跳计数=1。由于跳计数为非零,网络节点110b的VCM 400重新生成协议消息,以发送到网络节点110c以包括其源网络节点信息。再生的协议消息550b包括源网络节点110b的源机箱ID=2、源VFL120b的源VFID=2的和递减跳计数=1。
当网络节点110c接收到协议消息550b时,它向协议消息550b添加输入VFL 120b的VFID,例如输入VFID=3,并将协议消息发送到VCM 400,用于根据虚拟机箱控制协议处理。根据协议消息550b,VCM 400可用于确定具有机箱ID=2的网络节点110b是邻近节点。VCM400还确定网络节点110b的VFID=2耦合到网络节点110c的VFID=3。VCM 400可操作用于以拓扑信息更新或填充其拓扑数据库144。跳计数=1被递减到跳计数=0。由于跳计数为零,则操作虚拟机箱控制协议的VCM 400将不再生或转发协议消息。
当网络节点110确定邻近网络节点110的拓扑信息时,网络节点以拓扑信息更新其拓扑数据库144,并将拓扑信息转发到经由其他VFL链路耦合的其他已知邻近节点。例如,在图12中,当网络节点110b通过协议消息550a确定网络节点110a是邻近节点时,网络节点110b生成协议消息550c至已知邻近网络节点110d。协议消息550c中包括一个或多个拓扑字段558中更新的拓扑信息。当网络节点110d接收拓扑消息550c时,它转发该拓扑消息550c到VCM 400用于根据虚拟机箱控制协议进行处理。VCM400以一个或更多拓扑字段558中的拓扑信息更新其拓扑数据库144,例如机箱ID=2的VFID=1被耦合到机箱ID=1的VFID=0。
在一个实施例中,在虚拟机箱系统100建立时,预定的发现周期对网络节点110设置以交换拓扑信息并生成各个拓扑数据库144。当发现周期期满时,主网络节点从已知网络节点110中选出。发现周期到期之后被发现的或者在虚拟机箱系统100中变得可操作的其他网络节点110不包括在主网络节点选择过程中。这些新添加的网络节点110被指定为从网络节点。
图13示出使用虚拟机箱协议选择主网络节点的方法580实施例的逻辑流程图。在步骤582中,网络节点110交换协议消息,以在预定发现周期期间建立它们各自的拓扑数据库。主网络节点的选择开始于发现周期到期。在一个实施例中,预定发现周期开始于虚拟机箱系统中的第一网络节点启动时,但是其他开始时间也是可以实现的。发现周期也可以根据虚拟机箱系统100的拓扑结构和节点结构而变化。例如,发现周期的长度被选择成便于准确和可预测的主网络选择,而不过度延长启动时间。由于未知的网络节点或等待以更高的优先级连接的另一个网络节点,通过实现这样的预定时间周期,主网络节点的选择不会无限期地延迟。
在步骤584中发现周期到期时,已经用虚拟机箱系统100的拓扑信息填充和更新它们各自的拓扑数据库144的网络节点110开始选择用于主网络节点的进程。虚拟机箱管理器模块(VCM)400或其他在网络节点110上操作虚拟机箱上控制协议的模块确定其是否有资格在步骤586中成为主网络节点。在一个实施例中,网络节点110通过基于一个或多个参数确定选择关键字来确定其资格。该参数的优先排序列表给出对于例如更大的机箱优先级、较长正常工作时间、较小机箱ID和较小机箱MAC地址的偏好。采用划分了优先顺序的参数增加了选择过程的灵活性。机箱优先级参数是预先配置的优先级并且限定用户对于主网络节点的偏好。机箱优先级参数在选择过程中具有最大权重。
在步骤588中,当网络节点确定出它的选择关键字与其他节点的选择关键字相比有利并且有资格作为主网络节点时,网络节点110在步骤590中发送选为主网络节点的请求。在步骤592中,网络节点监视是否在预定时间周期期间接收另一请求。当在预定时间周期之后没有其他请求时,网络节点110在步骤596中发送通知它是主网络节点的主节点选择消息。在步骤598中,当主节点选择消息被接收时,其他网络节点更新它们的拓扑数据库144,表明该网络节点被选择为主网络节点并将其他网络节点指定为从节点。
在步骤592中,在预定时间周期期间,当多于一个网络节点传送选择其为主网络节点的请求时,请求选为主节点的一个或多个节点的选择关键字被进行比较。具有最有利选择关键字的网络节点110在步骤594被选择为主网络节点并在步骤596中传送通知它为主网络节点的主节点选择消息。该主节点选择过程有助于防止两个或更多个网络节点设定成主网络节点角色的问题。
图14a-b示出虚拟机箱系统100中路由单播流量的实施例的示意性框图。图14a示出示例性虚拟机箱的拓扑结构的示意方框图。在一个实施例中,操作虚拟机箱控制协议的网络节点110的虚拟机箱管理器400分析拓扑数据库144中的拓扑信息,并确定最短路径(例如最小跳计数)用于经由VFL 120向虚拟机箱系统100中的其他网络节点110路由单播分组。图14b示出为图14a的虚拟机箱拓扑中的网络节点110a-d确定的最短路径的路由树的示意性框图。基于确定的最短路径,VCM 400生成VFL路由表254并在网络节点110的交换模块210中存储VFL路由表254。
在一个实施例中,网络节点之间的多个最短(例如,成本最低或最小跳计数)路径被支持,并且流量被分布在多个最短路径之间,所述多个最短路径在这里的表3中通过VFL路由配置表254的例子示出。在图14b所示的另一个实施例中,在多个最短路径的情况下,VCM 400选择多个最短路径之一,用于配置VFL路由表254。该选择可以基于一个或多个度量,诸如机箱ID、VFL链路特性、流量模式等。例如,VCM 400可以基于最短路径中机箱ID的和来选择最短路径之一。在另一个实施例中,基于诸如VFL 120的数据速率或链路速度的VFL链路特性选择最短路径之一。流量模式或其他可选方法或进程也可被实现,以选择虚拟机箱系统100的网络节点110之间的最短路径之一。图14b的路由树是配置到VFL路由表254的最短路径的示意性图示。对应于图14b所示的最短路径的VFL路由表254的例子示于下表9中。
表9
尽管一个或多个同样昂贵的路径可能存在,表9所示的VFL路由表254仅包括用于目的机箱ID的一个最短路径。在另一个实施例中,多个最短路径可以与用于确定多个路径之一以选择用于特定单播包流的一个或多个度量一起被包括。实施例中的VFL路由表254除了机箱ID之外,或者可替代地包括目的模块ID。在一个实施例中,全球唯一模块标识符(MID)被分配给虚拟机箱系统100的多个网络节点110中的交换模块210。除了目的机箱ID之外,或者可替代地,目的交换模块210的全球唯一MID被包括在VFL路由表254(和分组的预置报头)中。
图15a-b示出虚拟机箱系统100中路由非单播流量的实施例的示意性框图。操作虚拟机箱控制协议的网络节点110的虚拟机箱管理器模块(VCM)400分析拓扑数据库144中的拓扑信息,并确定在用于经由VFL120向虚拟机箱系统100中的其他网络节点110路由例如多播或广播分组的非单播分组的路径。VCM 400试图避免形成循环并复制正由网络节点110接收的分组。在一个实施例中,VCM 400基于为非单播分组的源网络节点配置的单播最短路径确定用于非单播分组的路径。
图15a示出具有在外部端口接口240上网络节点110a接收的输入多播分组600的虚拟机箱系统100的示意方框图。网络节点110a经由VFL转发该多播分组600到网络节点110b,并生成副本用于经由VFL 120d转发到网络节点110d。网络节点110b接收非单播分组600并将其转发到网络节点110c。无需进一步的路由配置,网络节点110b也会生成非单播分组600的副本,以经由VFL 120e转发到网络节点110d。类似地,网络节点110c也经由VFL 120c转发非单播分组600的拷贝到网络节点110d。这样,网络节点110d将接收非单播分组的三个拷贝。为了防止该分组的多个拷贝在网络节点处的接收,VCM 400基于非单播分组600的源或者入口网络节点以及为源网络节点的单播分组配置的最短路径阻止某些路径。
图15b示出通过虚拟机箱系统100路由非单播分组600的路由树的实施例以防止循环以及在网络节点上复制分组的示意性框图。路由树示出用于路由在源或者入口网络节点110a处进入虚拟机箱系统100的非单播分组的网络节点110a-d的配置。VCM 400基于源网络节点以及基于为源网络节点110的单播分组配置的路由树或最短路径确定非单播分组的路由。例如,网络节点110b接收VFL120a上的非单播分组600。网络节点110b确定非单播分组600的预置报头的源硬件设备信息(机箱ID或模块ID)与网络节点110a相关联。网络节点110b从VFL路由表254(如表9和图15b所示)确定根据其为源网络节点110a的单播分组配置的最短路径。VFL路由表254表示网络节点110a的最短路径包括从机箱ID=2到机箱ID=3的VFID=2。这样,网络节点110b(机箱ID=2)经由具有VFID=2的VFL 120b将非单播分组转发到网络节点110c(机箱ID=3)。网络节点110b不经由VFL 120e转发非单播分组600到网络节点110d,因为该路径不包括在为网络节点110a配置的最短路径中。这样,非单播分组被路由以响应源或入口网络节点以及为源网络节点的单播分组配置的最短路径。
在一个实施例中,为了实现这种路由,出口过滤被实施以阻止来自源网络节点的配置最短路径中排除的VFL 120的非单播分组。在另一个实施例中,为了实施路由,通过接收网络节点来实现入口过滤以阻止来自于源网络节点的配置最短路径中排除的VFL的输入非单播分组。例如,具有机箱ID=4的网络节点110d阻止具有来自VFID=1和VFID=2的网络节点110a的源网络节点的非单播流量。因此,对于入口过滤,网络节点阻止这样的VFL链路上与源网络节点的流量,所述VFL链路不包括在来自单播分组的该源网络节点的最短路径中。在一个实施例中,出口过滤操作是在基于多插槽机箱的类型体系结构中实现,同时入口过滤是单槽或独立网络上实现,但是,在不同类型节点和网络接口模块上的其他过滤实施方式也是可能的。
图16示出虚拟机箱系统100中用于路由非单播流量的方法610实施例的逻辑流程图。在步骤612中,虚拟机箱系统100中的网络节点110接收VFL 120上的非单播分组。在步骤614中,接收网络节点110从预置报头确定非单播分组的源网络节点(例如,从源机箱ID或源MID)。在步骤616中,接收网络节点访问其地址列表来确定为源网络节点110的单播分组配置的最短路径。在步骤618,接收网络节点基于为源网络节点的单播分组配置的最短路径确定非单播分组的路由。然后,接收网络节点经由从接收节点为源网络节点配置的单播分组的最短路径中的一个或多个VFL转发非单播分组。
在操作中,虚拟机箱系统100中的网络节点110可以操作于检测一种或多种类型故障和从一种或多种类型故障恢复,所述一种或多种类型故障包括网络节点故障、网络接口故障,应用模块故障、和VFL故障。在一个实施例中,通过模式(pass thru mode)提供了一种系统和方法,用于用户数据以及响应于检测到误配置、不一致性或网络节点110故障控制流量流经虚拟机箱系统中的网络节点。通过模式有助于避免虚拟机箱系统中的拓扑断裂和服务中断,并且在与本申请同一天提交的标题为“SYSTEM AND METHOD FOR A PASS THRUMODE IN A VIRTUAL CHASSIS SYSTEM”的美国专利申请No.13/674,352中有更详细的说明,该申请在此引入作为参考。
网络节点110也可以操作于检测各种网络问题和从各种网络问题中恢复,所述网络问题诸如两个或多个虚拟机箱系统100的合并。虚拟机箱系统100配置有虚拟机箱组标识符。在一些情况下,合并具有不同组标识符的两个或多个虚拟机箱系统100是有利的。当两个虚拟机箱系统100合并,主网络节点选自两个虚拟机箱系统作为合并虚拟机箱系统的主网络节点。其他虚拟机箱系统中的网络节点重新配置和重新同步到所选的主网络节点的配置和参数,类似于已参照图11描述的用于合并VC引导配置模块。这样的重新配置可能需要的重新启动网络节点110。
图17示出虚拟机箱系统合并实施例的示意性框图。具有第一虚拟机箱组ID=1的第一虚拟机箱系统100a具有第二虚拟机箱组ID=2的第二虚拟机箱系统100a合并。为了在两个虚拟机箱系统的主网络节点100a和100b之间选择,在一个实施例中,例如主网络节点的以优先级顺序排列的参数列表的选择关键字被比较,尽管也可以使用其他方法。具有相比更有利的选择关键字的主网络节点被选为合并主网络节点。在图17的例子中,网络节点110a被选为合并主网络节点。未选择的主网络节点110c转变到为从模式并将其配置同步到选定的主网络节点110a。此外,在具有未被选择网络节点的虚拟机箱系统中,诸如网络节点110d的其他网络节点,也将它们的配置同步到选择的主网络节点110a。
图18示出用于虚拟机箱系统合并的方法620实施例的逻辑流程图。在步骤622,主网络节点被选择用于合并虚拟机箱系统。在一个实施例中,主网络节点选自两个或多个合并虚拟机箱系统中的现有主网络节点。例如以优先级顺序排列的参数列表的选择关键字在现有主网络节点之间进行比较以进行选择,尽管也可以使用其他方法。在另一实施例中,非主网络节点被选择(例如,从节点)作为合并虚拟机箱系统的主网络节点。例如,当现有的主网络节点包括重复的机箱标识符或故障发生在一个或多个现有主网络节点或非主网络节点具有更有利的选择关键字,则可选择非主网络节点。
当为合并虚拟机箱系统选择了主网络节点时,现有的未选择主网络节点在步骤624转换到从模式。在步骤626中,该网络节点随后以合并的虚拟机箱系统的拓扑信息更新其拓扑数据库144,并且在步骤628中将配置合并到合并的虚拟机箱系统中选择的主网络节点。网络节点可能需要被重新启动或重新引导来与所选主网络节点合并配置,这将参考图11进一步描述。已经与所选择的主网络节点同步,例如先前的从网络节点到选择的主网络节点,可以不执行该步骤。对于涉及在合并的虚拟机箱系统中具有重复机箱ID的网络节点110的情况,可以实现其他附加进程或方法,这一点在与本申请同一天提交的标题为“SYSTEM AND METHOD FOR A PASS THRU MODE IN A VIRTUAL CHASSIS SYSTEM”的美国申请No.13/674,352中有更详细的描述,该申请在此引入作为参考。
除了虚拟机箱控制协议之外,虚拟机箱系统100中的网络节点110可以操作用于执行各种功能的附加控制或传输协议。例如,附加控制协议可以在网络节点的应用模块之间或在不同上的网络节点的模块之间实现,用于促进通信和用于健康(health)监视或其他功能的应用之间的数据共享。在一个实施例中,进程间通信(ICP)协议被实施,该协议在提交于2011年1月20日标题为“Multi-Chassis Inter-Process Communication”的美国申请No.2012/0033678中有更详细的描述,该申请在此引入。其中描述的多机箱系统中的聚合交换机所实施的IPC协议也可以类似地由虚拟机箱系统100中的网络节点110使用以促进通信和网络节点100的应用模块之间的数据共享。
在一个实施例中,IPC是实现以促进虚拟机箱系统100中的网络节点110之间的健康监视功能,但是可选或附加协议也可被实施来执行本文所述的健康监视功能。健康监视功能包括网络节点内和网络节点110之间的周期性检查,以确保网络节点内的应用模块408-418可操作,并且网络节点110是能够与虚拟机箱系统100中的其他网络节点110通信。健康监视还检测到应用模块之间的虚拟连接中的任何故障并有助于防止过早或错误的故障检测。
图19示出虚拟机箱系统100健康监视实施例的示意性框图。在一个实施例中,健康监视包括邻近网络节点110之间经由VFL 120的一个或多个逻辑或虚拟连接的建立。用于健康监视的虚拟连接这里称为关键连接。取决于虚拟机箱拓扑和网络节点110的体系结构,可以使用各种控制和传输协议用于支持关键连接。例如,在一个实施例中,基于网际协议套接字(例如传输控制协议(TCP)套接字、用户数据报协议(UDP)套接字等)的IPC(进程间通信)被使用来实现邻近网络节点110之间的关键连接。例如,在一个实施例中,网络节点110中的应用模块408至418利用基于TCP套接字的IPC连接进行通信并共享数据。这样,用于健康监视的基于TCP套接字的相同IPC连接的使用提供了应用模块408-418也能够使用这些连接进行通信的指示。虽然本文描述了基于TCP的IPC,使用一个或多个其他控制或传输协议和机制的其他类型的虚拟连接同样可以实施,以支持健康监视和应用模块408-418之间的数据共享。
在一个实施例中,如图19所示,一个或多个关键连接650在邻近网络节点110之间建立用于健康监视。例如,在一个实施例中,三个关键连接建立在邻近网络节点110a和网络节点110b之间。一个关键连接建立在网络节点110a的指定NIM 152b和邻近网络节点110b的主CMM150a之间。另一个关键连接建立在网络节点110a的指定NIM152b和邻近网络节点110b的次CMM 150b之间。并且另一个关键连接建立在网络节点110a的指定NIM 152b和邻近网络节点110的指定NIM 152a之间。主和次CMM 150以及指定NIM 152的身份通过使用虚拟机箱控制协议的拓扑发现来确定。尽管未示出,关键连接也建立在网络节点110b的指定NIM152a以及网络节点110a的指定NIM 152b、主CMM 150a和次CMM 150b之间。一个或多个其他或可替代关键连接还可以建立在网络节点110之间。
邻近网络节点110b的状态由网络节点110a通过周期性地经由关键连接510发送诸如问候或保持活动消息的健康监视消息来监视。当响应于在预定时间段内没有接收到阈值数目的问候或保持活动消息时,关键连接650转变到故障状态(例如,超时)状态。在一个实施例中,当关键连接的阈值数量发生了故障或超时,则邻近网络节点110b被转换到无效或不可操作状态。例如,在一个实施例中,当至少一个关键连接650a-c是可操作的,则网络节点110b仍然被看作处于可操作状态。当所有的关键连接发生了故障,则网络节点110b被转换到不可操作状态。
在另一个实施例中,管理关键的连接650的各种规则被实施来确定邻近网络节点110b的状态。例如,当到网络节点110b的主CMM 150a和次CMM 150b的两个关键连接650a和650b发生故障,则网络节点110b被认为是不可操作的。然而,如果到次CMM 150b的两个关键连接650b和到指定NIM 152a的关键连接650c发生故障,则网络节点110b仍然被视为可操作的。在另一示例中,当到网络节点110b的指定NIM152a的关键连接650c出现故障,预定时间段被设置以等待新的指定NIM来接管。如果在预定时间段到期时没有新的指定NIM152变得可操作,则网络节点110b被认为是不可操作的。
当网络节点110转变为不可操作状态时,不可操作的网络节点和虚拟机箱系统100中其他网络节点之间的关键连接650被关闭。其他网络节点110从它们的MAC/HDI地址列表250中冲刷不可操作网络节点的MAC地址并在拓扑数据库144中将不可操作网络节点的角色转变成不可操作或不一致或冲刷不可操作节点的拓扑信息。当不可操作网络节点具有主网络节点角色时,另一主网络节点被选择。由于虚拟机箱控制协议使用不同的传输协议,当关键连接(例如,使用经由TCP的IPC)被关闭(或出现故障)时,它仍可以起作用。在这种情况下,不可操作网络节点可能转变为通过模式,特别是在不可操作网络节点造成拓扑中的虚拟机箱被刷新(flush)的情况下。
当健康监视确定耦合到网络节点110的VFL 120已经出现故障时,拓扑信息被分析以判断发生故障的VFL 120使虚拟机箱被刷新。在虚拟机箱刷新的情况下,通过出现故障的VFL 120与拓扑隔离的一个或多个网络节点110被转变为不可操作状态,并且与上面所述的类似步骤针对不可操作网络节点执行。当出现故障的VFL120未引起虚拟机箱刷新时,例如一个或多个其他VFL120可操作地耦合到网络节点110,拓扑数据库144被更新以移除出现故障的VFL 120,并且地址列表被重新配置,以确定经由剩余可操作VFL 120通过虚拟机箱系统的路径。
当健康监视确定网络节点110的NIM 152已经出现故障时,具有出现故障的NIM152的关键连接650被关闭。与出现故障的NIM 152的交换模块210和外部端口接口240相关联的MAC地址在虚拟机箱系统100中从网络节点110的MAC/HDI地址列表被冲刷。当出现故障的NIM 152包括到一个或多个VFL 120 VFL的成员端口时,拓扑信息被分析以确定是否出现故障的VFL成员端口导致虚拟机箱刷新。如果是,由出现故障的VFL成员端口造成与拓扑隔离的一个或多个网络节点110转变为不可操作状态,与上述相同的步骤针对不可操作的网络节点被执行。
当健康监视确定CMM150的网络节点110已经出现故障,与出现故障的NIM 152的关键连接650被关闭。当出现故障的CMM是主CMM,则次CMM将转换到主CMM。
图20示出虚拟机箱系统100中用于网络节点110的健康监视方法700实施例的逻辑流程图。在步骤702中,通过进行监视的网络节点,与邻近网络节点的一个或多个应用模块、控制模块或交换模块的一个或多个关键连接被建立。一个或多个关键连接可以经由耦合到邻近网络节点的VFL 120或耦合邻近网络节点的其他物理链路来建立。实施例中的关键连接是基于TCP套接字的ICP的虚拟连接,尽管其他传输或控制协议可以用于建立关键连接。在步骤704中,进行监视的网络节点使用保持活动、问候或其他类型的监视协议来经由关键连接监视邻近网络节点。在一个实施例中,监视消息经由关键连接以预定间隔传送到邻近网络节点。进行监视的网络节点等待一预定时间段,等待对监视消息的回复。当没有接收到回复时,进行监视的网络节点发送另一个监视消息并等待另一预定时间段。在步骤706中,当邻近网络节点不能经由一个或多个关键连接响应于预定数量的监视消息时,进行监视的网络节点确定一个或多个关键连接已经出现故障。响应于一个或多个出现故障的键连接,进行监视的网络节点110在步骤708确定是否邻近网络节点、VFL(或其他物理链路)、应用模块、控制模块或交换模块的邻近网络节点已出现故障或变得不可操作。如果是,在步骤710,邻近网络节点则执行如本文所述的恢复操作。
虚拟机箱系统100中的网络节点110被视为具有公共虚拟机箱MAC地址的单一逻辑设备。这样,外部节点112可用于主动转发可操作地耦合到两个或多个网络节点110的VC-LAG 114的所有链路上的流量。该特征使得外部节点112多归属至网络节点110,而无需外部节点和网络节点之间的生成树协议,同时促进载体等级的检测和到边缘上行链路故障以及网络节点110故障的收敛时间。所有VC-LAG 114上行链路到虚拟机箱以系统100的主动转发模式的另一个优点在于VC-LAG114链路的带宽使用效率的增加。因此,虚拟机箱系统100在一个或多个不同类型的网络拓扑中具有一个或多个不同类型节点结构的网络节点之间提供了弹性网络。
本文还可能使用的术语“可操作地耦合到”、“耦合到”、和/或“耦合”包括物品之间的直接耦合和/或经由中间物品(例如,包括但不限于组件、单元、电路、和/或模块的物品)的物品之间的间接耦合,其中对于间接耦合来说,中间物品不改变信号的信息但可以调整其电流电平、电压电平和/或功率电平。文中还可能使用的,推断的耦合(即,一个单元通过推断耦合到另一个单元)包括两个物品之间以“耦合到”相同的方式的直接和间接耦合。
本文进一步使用的术语“可(操作)用于”或“可操作地耦合到”表示包括一个或多个功率连接、(多个)输入、(多个)输出等的物品,当被激活时物品执行一个或多个其对应的功能的,并且还可以包括到一个或多个其他物品的推断耦合。本文还可进一步使用的术语“与…相关”包括单独物品的直接和/或间接耦合的和/或一个物品被嵌入在另一物品内、或一个物品被配置为由另一物品使用。在此可以使用的术语“比较更有利”,表明两个或更多物品、信号等之间的比较提供所需的关系。例如,当期望的关系是信号1具有比信号2更大的幅值,当信号1的幅度大于信号2的幅度时或者信号2的幅度小于信号1的幅度时可以实现有利的比较。
还可以在本文中使用的术语“处理模块”、“处理电路”和/或“处理单元”可以是单个处理设备或多个处理设备。这种处理设备可以是微处理器、微控制器、数字信号处理器、微型计算机、中央处理单元、现场可编程门阵列、可编程逻辑器件、状态机、逻辑电路、模拟电路、数字电路、和/或任何装置操作信号(模拟和/或数字)的基于电路的硬编码和/或操作指令。处理模块、模块、处理电路和/或处理单元可以是或者可以进一步包括存储器和/或集成的存储器单元,其可以是单个存储设备、多个存储器设备、和/或另一个处理模块的模块、处理电路、和/或处理单元的嵌入电路。这种存储设备可以是只读存储器、随机存取存储器、易失性存储器、非易失性存储器、静态存储器、动态存储器、闪存、高速缓冲存储器和/或存储数字信息的任何设备。注意,如果处理模块、模块、处理电路、和/或处理单元包括一个以上的处理设备,该处理设备可以集中定位(例如,直接通过有线和/或无线总线结构连接在一起)或可以是分布式地定位(例如,经由局域网和/或广域网通过间接耦合的云计算)。进一步注意到,如果处理模块、模块、处理电路、和/或处理单元通过状态机、模拟电路、数字电路、和/或逻辑电路执行以下一个或多个功能,存储相应操作指令的存储器和/或存储元件可以嵌入在包括状态机、模拟电路、数字电路、和/或逻辑电路的电路的内部或外部。更要进一步注意,存储器单元可以存储并且处理模块、模块、处理电路、和/或处理单元执行对应于一个或多个图中所示的至少一些步骤和/或功能的硬编码和/或操作指令。这些是存储器设备或存储器单元可以被包含在制造产品内。
上面已在示出特定功能的性能及其关系的方法步骤的帮助下描述了本发明。这些功能构造块的边界和顺序以及方法步骤在此处为了描述的方便做了任意定义。只要特定的功能和关系被适当地执行,可以定义备选边界和顺序。任何这样的其他边界或序列都落入要求保护的发明的范围和精神内。此外,为了描述的方便对这些功能框的边界已经做了任意定义。只要某些重要的功能被适当地执行,替换的边界可以被定义。类似地,为了说明某些重要的功能,流程图模块也在此做了已经任意定义。为了使用的扩展,流程图块边界和顺序可以被另外定义并且仍执行某些重要的功能。这样的可替代定义的功能构造块和流程图块以及序列因此仍落在要求保护的发明的范围和精神内。本领域技术人员还将认识到,功能示意框图,和这里的其他示例的块、模块和组件,可按所示意的实现或组合或分离为执行合适软件或其任意组合的离散组件、专用集成电路、处理器等。
本发明至少部分地就一个或多个实施例来进行描述。这里所描述的一个实施例说明了本发明、其一种方面、其一种特征、其一种概念,和/或其中一个例子。体现了本发明的装置、制造产品、机器和/或过程的物理实施例或该设备方法可以包括参照这里讨论的一个或多个实施例描述的一个或多个方面、特征、概念、例子等。此外,在图和图之间,实施例可以结合相同或具有类似名称的功能、步骤、模块等,它们可以使用相同的或不同的附图标记,并且同样地所述功能、步骤、模块等可以是相同或类似功能、步骤、模块等,或不同的频带。
除非特别声明,这里给出的附图中的去往、来自和/或单元之间的信号可以是模拟的或数字的、连续时间方式或离散时间方式、以及单端的或差分的。例如,如果信号路径被显示为单端路径,它也代表差分信号路径。类似地,如果信号路径被显示为差分路径,它也代表单端信号路径。虽然在此描述了一个或多个特定结构,使用一个或多个未明确示出的数据总线、单元之间的直接连接,和/或在其他单元之间间接耦合其他的结构同样可实现。
本发明的各种实施例的描述中使用了术语“模块”。模块包括处理模块(如上所述)、功能块、硬件和/或存储在存储器中可用来执行一个或多个如这里所描述的功能的软件。注意,如果模块是通过硬件实现,硬件可独立地操作和/或结合软件和/或固件。当模块被实现为存储在存储器中的软件,该模块能够操作以使用处理模块或其他硬件以执行存储在模块的存储器中的软件以执行本文所描述的功能。本文所述的模块可以包括一个或多个子模块,它们中的每一个可以被一个或多个模块,可以结合在一个或多个其他模块中或包括一个或多个其他模块。
虽然清楚地描述了本发明的各种功能和特征的特定组合,这些特征和功能的其他组合同样是可能的。在这里所描述的实施例并不受限于描述的特定实施例,并且可以包括其他组合和实施例。
Claims (10)
1.一种虚拟机箱系统中的网络节点,该网络节点包括:
多个虚拟光纤链路(VFL),可操作地耦合在所述网络节点与所述虚拟机箱系统中的多个其他网络节点之间;
至少一个网络接口模块,可操作用于接收包括邻近网络节点的源机箱标识符以及跳计数的第一协议消息;以及
虚拟机箱管理器,其被配置为基于关于所述网络节点和所述多个其他网络节点的控制数据交换、协商和达成协议来提供关于所述虚拟机箱系统的状态的通知,所述虚拟机箱管理器被配置为通过以下来促进邻近网络节点向所述虚拟机箱系统的转变:
确定接收所述第一协议消息的第一VFL的输入VFL标识符;
在拓扑数据库中存储所述邻近网络节点的源机箱标识符和输入的VFL标识符;以及
向所述邻近网络节点提供指定配置组,所述指定配置组包括定义网络资源的一组管理命令。
2.如权利要求1所述的网络节点,其中所述虚拟机箱管理器还可操作用于:
递减所述协议消息中的跳计数;和
生成具有所述网络节点的源机箱标识符和递减的跳计数的第二协议消息以通过第二VFL传送到另一邻近网络节点。
3.如权利要求1所述的网络节点,其中所述至少一个网络接口模块进一步可操作用于:
接收具有目的MAC地址的数据分组,所述目的MAC地址与所述邻近网络节点相关联;
从一个或多个地址列表确定与所述邻近网络节点相关的目的地相关联的硬件设备信息,其中所述一个或多个地址列表是基于所述拓扑数据库生成的;以及
生成具有预置的分组报头的分组以用于通过所述第一VFL向所述邻近网络节点传送,其中预置的报头包括所述邻近网络节点的目的硬件设备信息。
4.如权利要求1所述的网络节点,其中所述虚拟机箱管理器被包括在以下一者或多者中:至少一个网络接口模块、控制管理器模块。
5.如权利要求1所述的网络节点,其中所述虚拟机箱管理器进一步可操作用于:
基于用于所述网络节点的参数优先化列表,确定选择关键字;
当所述选择关键字与所述虚拟机箱系统中一个或多个其他网络节点相比有利时,发送选择作为所述虚拟机箱系统的主网络节点的请求。
6.根据权利要求1所述的网络节点,其中所述至少一个网络接口模块进一步可操作用于:
通过在所述第一VFL上建立的一个或多个关键连接监视所述邻近网络节点;以及
当一个或多个关键连接出现故障时,确定所述邻近网络节点是否能工作。
7.一种可操作于网络节点中的方法,该方法包括:
通过第一虚拟光纤链路(VFL)接收包括邻近网络节点的源机箱标识符以及跳计数的第一协议消息,所述第一虚拟光纤链路(VFL)可操作地耦合在所述网络节点与虚拟机箱系统中的邻近网络节点之间;
确定所述第一VFL的VFL标识符;
在拓扑数据库中存储所述邻近网络节点的源机箱标识符和所述VFL的VFL标识符;以及
向所述邻近网络节点提供指定配置组,所述指定配置组包括定义网络资源的一组管理命令。
8.如权利要求7所述的方法,该方法还包括:
递减所述协议消息中的跳计数;和
生成具有所述网络节点的源机箱标识符和递减的跳计数的第二协议消息以通过第二VFL传送到另一邻近网络节点。
9.如权利要求7所述的方法,该方法还包括:
接收具有目的MAC地址的数据分组,所述目的MAC地址与所述邻近网络节点相关联;
从一个或多个地址列表确定与所述目的MAC地址相关联的硬件设备信息,其中所述一个或多个地址列表是基于所述拓扑数据库生成的;
生成具有预置的分组报头的分组,其中预置的报头包括所述邻近网络节点的目的硬件设备信息;以及
通过所述第一VFL向所述邻近网络节点传送具有预置的报头的分组。
10.如权利要求7所述的方法,该方法还包括:
基于用于所述网络节点的参数优先化列表,确定选择关键字;以及
发送选择作为所述虚拟机箱系统的主网络节点的请求,其中所述请求包括所述选择关键字。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/674,392 | 2012-11-12 | ||
US13/674,392 US9172662B2 (en) | 2010-08-04 | 2012-11-12 | Virtual chassis system control protocols |
PCT/US2013/068629 WO2014074542A1 (en) | 2012-11-12 | 2013-11-06 | Virtual chassis system control protocols |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104919760A CN104919760A (zh) | 2015-09-16 |
CN104919760B true CN104919760B (zh) | 2019-01-25 |
Family
ID=49627088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380070107.7A Active CN104919760B (zh) | 2012-11-12 | 2013-11-06 | 虚拟机箱系统控制协议 |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP2918049B1 (zh) |
JP (1) | JP6072278B2 (zh) |
KR (1) | KR101691759B1 (zh) |
CN (1) | CN104919760B (zh) |
ES (1) | ES2807507T3 (zh) |
WO (1) | WO2014074542A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016114750A1 (en) * | 2015-01-12 | 2016-07-21 | Hewlett Packard Enterprise Development Lp | Data link layer information |
US20160241474A1 (en) * | 2015-02-12 | 2016-08-18 | Ren Wang | Technologies for modular forwarding table scalability |
US10270610B2 (en) * | 2016-06-12 | 2019-04-23 | Apple Inc. | Selection of a coordinator device for an automated environment |
CN108919762B (zh) * | 2018-07-06 | 2021-05-25 | 东莞市李群自动化技术有限公司 | 基于工业以太网的控制方法及装置 |
CN109462642B (zh) * | 2018-10-30 | 2021-06-08 | 新华三技术有限公司成都分公司 | 数据处理方法及装置 |
US11588733B2 (en) * | 2019-05-14 | 2023-02-21 | Vmware, Inc. | Slice-based routing |
CN113098776B (zh) * | 2020-01-08 | 2022-07-29 | 中国移动通信有限公司研究院 | 一种网络拓扑的确定方法、装置、设备及存储介质 |
CN111901148B (zh) * | 2020-06-29 | 2022-11-18 | 飞诺门阵(北京)科技有限公司 | 网络拓扑结构的管理方法、装置、电子设备及存储介质 |
US20220052904A1 (en) * | 2020-08-11 | 2022-02-17 | F5 Networks, Inc. | Managing network ports in a virtualization environment |
CN114500455B (zh) * | 2021-12-29 | 2023-08-25 | 杭州深渡科技有限公司 | 一种智能灯具的配置方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7675869B1 (en) * | 2004-07-06 | 2010-03-09 | Marvell International Limited | Apparatus and method for master election and topology discovery in an Ethernet network |
CN101729413A (zh) * | 2009-11-06 | 2010-06-09 | 清华大学 | 基于atca的多业务处理系统及方法 |
CN102223282A (zh) * | 2011-07-07 | 2011-10-19 | 武汉微创光电股份有限公司 | 通过光纤建立虚拟多以太网通道的方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8005013B2 (en) * | 2007-06-12 | 2011-08-23 | Hewlett-Packard Development Company, L.P. | Managing connectivity in a virtual network |
US20090252173A1 (en) * | 2008-04-03 | 2009-10-08 | Rangaprasad Sampath | Method For Improving Efficiency Of Redundancy Protocols |
US8442045B2 (en) * | 2010-03-16 | 2013-05-14 | Force10 Networks, Inc. | Multicast packet forwarding using multiple stacked chassis |
EP2567512B1 (en) * | 2010-05-03 | 2016-04-13 | Brocade Communications Systems, Inc. | Virtual cluster switching |
US8582423B2 (en) | 2010-08-04 | 2013-11-12 | Alcatel Lucent | Multi-chassis inter-process communication |
US8462774B2 (en) * | 2010-08-04 | 2013-06-11 | Alcatel Lucent | Virtual IP interfaces on multi-chassis link aggregates |
US8913489B2 (en) * | 2010-08-04 | 2014-12-16 | Alcatel Lucent | System and method for virtual fabric link failure recovery |
US8761005B2 (en) * | 2011-04-26 | 2014-06-24 | Dell Products L.P. | Multi-chassis link aggregation on network devices |
-
2013
- 2013-11-06 KR KR1020157012358A patent/KR101691759B1/ko active IP Right Grant
- 2013-11-06 ES ES13795080T patent/ES2807507T3/es active Active
- 2013-11-06 CN CN201380070107.7A patent/CN104919760B/zh active Active
- 2013-11-06 EP EP13795080.4A patent/EP2918049B1/en active Active
- 2013-11-06 JP JP2015541866A patent/JP6072278B2/ja not_active Expired - Fee Related
- 2013-11-06 WO PCT/US2013/068629 patent/WO2014074542A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7675869B1 (en) * | 2004-07-06 | 2010-03-09 | Marvell International Limited | Apparatus and method for master election and topology discovery in an Ethernet network |
CN101729413A (zh) * | 2009-11-06 | 2010-06-09 | 清华大学 | 基于atca的多业务处理系统及方法 |
CN102223282A (zh) * | 2011-07-07 | 2011-10-19 | 武汉微创光电股份有限公司 | 通过光纤建立虚拟多以太网通道的方法 |
Also Published As
Publication number | Publication date |
---|---|
JP6072278B2 (ja) | 2017-02-01 |
KR101691759B1 (ko) | 2016-12-30 |
ES2807507T3 (es) | 2021-02-23 |
CN104919760A (zh) | 2015-09-16 |
EP2918049B1 (en) | 2020-06-03 |
EP2918049A1 (en) | 2015-09-16 |
JP2016501462A (ja) | 2016-01-18 |
WO2014074542A1 (en) | 2014-05-15 |
KR20150067365A (ko) | 2015-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104919760B (zh) | 虚拟机箱系统控制协议 | |
EP3063903B1 (en) | Method and system for load balancing at a data network | |
US10200278B2 (en) | Network management system control service for VXLAN on an MLAG domain | |
US9172662B2 (en) | Virtual chassis system control protocols | |
US8958305B2 (en) | OSPF point-to-multipoint over broadcast or NBMA mode | |
CA2566954C (en) | Virtual network device clusters | |
CN104025513B (zh) | 用于数据中心网络中的控制层级的装置和方法 | |
CA2562010C (en) | Intelligent adjunct network device | |
US9148390B2 (en) | System and method for virtual chassis split prevention | |
US9148391B2 (en) | System and method for a pass thru mode in a virtual chassis system | |
JP2006135975A (ja) | SoftRouterプロトコルの分離 | |
KR20150048835A (ko) | 미들웨어 머신 환경에서 기능이 저하된 팻-트리들을 디스커버링 및 라우팅하는 것을 지원하는 시스템 및 방법 | |
JP6109954B2 (ja) | 仮想シャーシシステムにおけるパススルーモードのためのシステムおよび方法 | |
CN105340230A (zh) | 虚拟机架拓扑管理 | |
US8625407B2 (en) | Highly available virtual packet network device | |
JP2016501463A (ja) | 管理アクションが仮想シャーシの分割をトリガーするという警告を発行するかどうかが決定される、ネットワークノード、および仮想シャーシシステム内で動作可能であるノードにおける方法 | |
Bassey | On iBGP Multicasting in Software Defined Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210512 Address after: texas Patentee after: Usao Investment Co.,Ltd. Address before: Bologna-Biyangu, France Patentee before: Alcatel Lucent |