CN104094556B - 用于分布式组构系统的交换机发现协议 - Google Patents
用于分布式组构系统的交换机发现协议 Download PDFInfo
- Publication number
- CN104094556B CN104094556B CN201380007707.9A CN201380007707A CN104094556B CN 104094556 B CN104094556 B CN 104094556B CN 201380007707 A CN201380007707 A CN 201380007707A CN 104094556 B CN104094556 B CN 104094556B
- Authority
- CN
- China
- Prior art keywords
- network element
- sdp
- transmission rate
- sdpdu
- interchanger
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- 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/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- 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
-
- 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
- H04L43/103—Active monitoring, e.g. heartbeat, ping or trace-route with adaptive polling, i.e. dynamically adapting the polling rate
-
- 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
- H04L45/026—Details of "hello" or keep-alive messages
-
- 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
- H04L45/028—Dynamic adaptation of the update intervals, e.g. event-triggered updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/356—Switches specially adapted for specific applications for storage area networks
-
- 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/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- 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/16—Threshold monitoring
Abstract
本发明公开了一种分布式组构系统,包含通过交换机间的链路互连的并被指派给同一分组的多个独立的网络元素。每个网络元素都包含一个或多个交换芯片、处理器以及用于存储由处理器执行的程序代码的存储器。每个网络元素的程序代码都包含交换机发现协议(SDP)模块。每个网络元素的SDP模块在执行时会使用多个传输速率之一来周期性地多播SDP数据单元(SDPDU)。该多个传输速率包括快传输速率和慢传输速率。由每个网络元素的SDP模块使用的传输速率是快传输速率,直到该网络元素的SDP模块确定标准已满足,响应于此由该网络元素的SDP模块使用的传输速率改变为慢传输速率。
Description
技术领域
本发明总体地涉及数据中心和数据处理。更特别地,本发明涉及用于检测交换机何时加入及脱离分布式组构系统、以及用于为在系统内的交换机之间的通信确定最佳可用路径的协议。
背景技术
数据中心一般是用于提供为支持企业和组织所需的因特网和内联网服务的集中式设施。典型的数据中心能够容纳各种类型的电子设备,例如,计算机、服务器(例如,邮件服务器、代理服务器和DNS服务器)、交换机、路由器、数据存储器件以及其他关联的构件。一个给定的数据中心能够拥有按分布式方式互连的数百或数千个交换机。通常,多个个体交换机被分组成分布式系统。这些交换机中的任一个能够在任何给定时间脱离或加入分布式组构,每个此类事件都是对分布式组构系统的正常操作的潜在中断。
发明内容
在一个方面中,本发明的特征在于包含通过交换机间的链路互连的并被指派给同一分组的多个独立的网络元素的分布式组构系统。每个网络元素都包含一个或多个交换芯片、处理器以及由处理器执行的存储器存储程序代码。每个网络元素的程序代码都包含交换机发现协议(SDP)模块。每个网络元素的SDP模块在执行时会使用多个传输速率之一来周期性地多播SDP数据单元(SDPDU)。该多个传输速率包括快传输速率和慢传输速率。由每个网络元素的SDP模块使用的传输速率是快传输速率,直到该网络元素的SDP模块确定标准已满足,响应于此,由该网络元素的SDP模块使用的传输速率改变为慢传输速率。
在另一个方面中,本发明的特征在于用于在分布式组构系统中发现被指派给同一分组的网络元素的计算机程序产品。计算机程序产品包括具有编入其中的计算机可读程序代码的计算机可读存储介质。计算机可读程序代码包含被配置用于使用多个传输速率之一来周期性地多播SDP数据单元(SDPDU)的交换机发现协议(SDP)模块。该多个传输速率包括快传输速率和慢传输速率。SDP模块还被配置用于使用快传输速率来周期性地多播SDPDU,直到标准已满足,并且,响应于满足该标准,将传输速率改变为慢传输速率。
在又另一个方面中,本发明的特征在于用于在分布式组构系统中发现被指派给同一分组的网络元素的方法。该方法包括:由多个网络元素中的每个网络元素使用多个传输速率之一来周期性地多播交换机发现协议数据单元(SDPDU)。该多个传输速率包括快传输速率和慢传输速率。这些网络元素中的一个或多个会检测分布式组构系统中的稳定性,并且响应于所检测到的稳定性而将传输速率由快传输速率改变为慢传输速率。
附图说明
本发明的上述及更多优点通过参考下面结合附图进行的描述可以更好地理解,在附图中,相同的附图标记指示各个附图中的相同的结构元件及特征。图形并不一定是按比例的,反而应当注重的是说明本发明的原理。
图1是包含具有多个网络元素、服务器和管理站的数据中心的网络环境的一种实施例。
图2是包含主(控制者)交换机、备用交换机以及多个跟随者交换机的数据中心的一种实施例的框图。
图3是包含与存储器通信的处理器以及存储于存储器内的层式软件栈的网络元素的一种实施例的功能框图。
图4A是在主交换机内的层式软件以及在软件栈的层之间的各个通信信道的框图。
图4B是在跟随者交换机内的层式软件以及在软件栈的层之间的各个通信信道的框图。
图5是协议TLV(类型-长度-值)的一种实施例的图表。
图6是组ID(GID)TLV的一种实施例的图表。
图7是交换机信息(SI)TLV的一种实施例的图表。
图8是交换机成员(SM)TLV的一种实施例的图表。
图9是用于交换机发现协议的传输状态机(TSM)的一种实施例的图表。
图10是用于交换机发现协议的接收状态机(RSM)的一种实施例的图表。
具体实施方式
本文所描述的分布式组构系统包含多个互连的独立的网络元素。这些网络元素每个都包含用于在整个分布式组构中路由数据包的一个或多个交换芯片。在下文,这样的网络元素可以可互换地称为交换机。这些网络元素彼此间按照某些协议来通信。其中的一种协议是交换机发现协议(SDP),网络元素通过该交换机发现协议(SDP)来检测网络元素何时加入或脱离分布式组构系统。对分布式组构系统的成员关系的变化的快速检测对分布式组构系统的正常操作是重要的。另外,SDP有助于选择路径让数据包从一个网络元素到另一网络元素地穿过分布式组构系统的的过程,并且特别地有助于在旧路径变为不可用时快速地选择新路径的过程。
图1示出了包含经由网络8与管理站4和服务器6通信的数据中心10的网络环境2的一种实施例。网络8的实施例包括——但不限于——局域网(LAN)、城域网(MAN)和广域网(WAN),例如,因特网或万维网。在一种实施例中,网络8被配置为第二层(L2)VLAN。数据中心10一般是用于容纳支撑作为企业、组织或其他实体的操作的组成部分的应用和数据的各种计算机、路由器、交换机以及其他相关设备的设施。
数据中心10包含经由交换机间的链路(ISL)16来通信的多个网络元素14。网络元素14是独立的(单独的)基于数据包的交换机,被配置在一起以形成单个分布式组构系统,每个交换机都被指定为特定分组(或群集)的成员。每个分组都具有主(或控制者)网络元素、一个或多个备用或后备网络元素以及一个或多个跟随者网络元素,如同将结合图2更详细地描述的。数据中心10能够具有多个分组,尽管每个网络元素能够仅为一个分组的成员。同一分组的成员共用同一组ID(GID)。网络元素14的实施例包括——但不限于——核心交换机、接入交换机、组构卡、线路卡和在实体架式交换机中的管理模块。尽管图中仅示出5个网络元素14,但是在分布式组构系统中的网络元素的数量能够达到数百个或数千个。
数据中心10可以被实现于单个地点或者分布于多个地点。尽管被示于数据中心10的外部,但是管理站4和服务器6中的任一个(或两者)可以被认为是数据中心10的一部分。在数据中心10中,功能出现于三个层面上:管理层面、控制层面和数据层面。分组的管理(例如,配置管理、运行时间配置管理、信息的呈现(展示和显示)、图形生成以及处理SNMP请求)可出现于管理层面上。控制层面与涉及网络信令和控制的那些功能相关。数据层面管理数据流。在数据中心10中,管理层面的功能被集中实现于主网络元素,这将在下文进一步描述。控制层面的功能可以主要实现于服务器6上或者分布于网络元素当中。一般地,数据层面的功能分布于网络元素14当中。
管理站4提供用于管理和控制分布式组构系统的网络交换机14的中心管理点。通过管理站4,数据中心10的用户或网络管理者与主网络元素通信,以便从单个位置管理可想得到地具有数千个网络元素的分组。在管理站4上执行的图形用户界面(GUI)应用能够用来给网络管理者提供关于分布式组构系统的整体网络拓扑的视图。这样的GUI应用的实例是由纽约的阿尔蒙克市(Armonk,N.Y)的IBM公司提供的Blade Harmony。
另外,管理站4能够经由各种连接之一直接(点到点)或间接地连接至数据中心10的主网络元素14,这些连接例如有标准电话线路、数字用户线路(DSL)、非对称DSL、LAN或WAN链路(例如,T1、T3)、宽带连接(帧中继(Frame Relay)、ATM),以及无线连接(例如,802.11(a)、802.11(b)、802.11(g)、802.11(n))。使用网络协议(例如,Telnet或SNMP(简单网络管理协议)),管理站4能够接入给定的网络元素14的命令行接口(CLI)。
一般地,服务器6是用于给数据中心10提供一种或多种服务的计算机(或计算机分组),服务器6的实例包括——但不限于——邮件服务器、代理服务器、DNS服务器以及运行分布式组构系统的控制层面的控制服务器。为了支持整个网络元素群集的控制层面功能,服务器6配置有足够的处理能力(例如,具有多个处理器核心)。
图2示出了具有包含主(控制者)交换机14-1、备用(后备)交换机14-2以及多个跟随者交换机14-3、14-4、14-N的多个网络元素14的数据中心10的一种实施例。一般地,网络元素之一被选择作为主交换机14-1,另一个被指定为备用交换机14-2,而所有其他交换机都是跟随者。主交换机14-1是整个分布式组构系统的控制中心,而跟随者交换机是在主交换机14-1的控制之下的任意网络元素,主交换机14-1将控制层面和数据层面的数据包发送给跟随者交换机14-3、14-4、14-N并且接收来自跟随者交换机14-3、14-4、14-N的控制层面和数据层面的数据包。在分布式组构系统的正常工作下,备用交换机14-2像跟随者交换机一样工作,除了备用交换机14-2在主交换机失效的事件中担任主交换机的角色。除非特别排除在外,否则下面对跟随者交换机的引用包括备用交换机。
主交换机14-1和备用交换机14-2各自都经由ISL 16与每个跟随者交换机14-3、14-4、14-N通信。在不脱离本文所描述的原则的情况下,也能够采用其他互连配置,例如,菊花链(daisy chain)、全互联(full mesh)、星型(star)和堆栈型(stacked)。在一种实施例中,网络元素14进行通信所经由的ISL 16是10Gb以太网链路(网络元素14按照IEEE802.Qgb标准来通信)。
在这样的分布式组构系统中的应用优选地具有三种模式:主机模式、备用模式和成员模式。取决于给定的网络元素的角色,在该网络元素上运行的应用按照相应的模式来运行。例如,在主交换机14-1上运行的应用按照主机模式来运行。每个应用都能够采取不同的方式,从而在不同的模式中承担不同的职责。这些应用的示例实现方式包括纯中心化方式、完全分布式方式以及中心和分布式方式的结合。在网络元素上运行的应用具有在分布式组构系统中的全部网络元素上的全部数据端口的全局视图。
图3示出了包含与存储器22通信的处理器20以及存储于存储器22内的层式软件24的网络元素14的一种简化实施例。层式软件24包含为每个网络元素14所共用的软件构件集。简言之,该软件构件集包含用于将多个网络元素14分组在一起以形成单个大型交换机的协议。通过实现由该软件构件集所提供的协议(在此称为M-DFP或管理分布式组构协议),网络元素分组能够被连接以形成堆栈式交换机、虚拟交换机或分布式架式交换机。这个软件构件集还能够用来实现实体架式交换机。一般地,M-DFP软件构件驻留于网络元素上的那些应用与系统上的SDK(软件开发包)之间的软件栈24内。SDK包含运行时间工具,例如,Linux内核、开发工具、软件库和框架。
层式软件栈24包含路径选择层26、交换机发现协议(SDP)模块28、EL2T(基于以太网的L2传送)层30、RPC(远程过程调用)模块32、端口映射/宏模块34、DC堆栈模块36、DC API(应用程序接口)38、交换机附接/拆离(attach/detach)模块40、CP(检查点)模块42和TFTP(简单文件传输协议)模块44。为在网络元素14当中实现M-DFP所需的通信能够运行于标准以太网链路、组构连接或者任何专用总线之上。
简单概述之,路径选择层(PSL)26促进了支持SDP与EL2T模块28、30的CPU到CPU的通信,并且包括到套接字(socket)和数据端口两者的驱动器接口。SDP模块28和PSL 26合作以确定用以将数据包从本地网络元素发送给远程网络元素的出端口。如同本文所使用的,术语“本地”和“远程”是相对于正在描述的网络元素而言的。
为了确定出端口,SDP模块28维持每个可能的ISL 16的链路状态。另外,SDP模块保持每个远程交换机的以及每个可能的路径/端口的健康记录。健康记录能够跟踪下列信息:路径的健康状态,以及在当前间隔内所接收到的SDPDU的数量。主交换机保持全部交换机(主交换机和跟随者交换机)的健康记录。跟随者交换机仅保持主交换机的记录(一般地,跟随者交换机不与其他跟随者交换机通信)。
对于正常的路径选择,如果当前路径具有“上向”链路状态并且是健康的,则当前路径是有利的。如果远程网络元素的当前路径不再是健康的或可用的,健康记录用来选择下一最佳路径。用于选择最佳路径的实例标准是找到具有“上向”链路状态的路径,该路径已经拥有在最近时段内接收到的最多SDPDU,并且还没有其他模块报告过该路径是不健康的。在远程网络元素的新路径被确定之后,SDP模块28通知这个新路径的PSL 26。在预定的间隔之后,健康记录被重置以确保健康记录内的信息是当前的。
SDP模块28发现网络元素何时加入及脱离分组,这分别称为交换机找到和交换机离开事件。对网络元素的离开的检测能够使用超龄移出(age-out)机制来实现。在ISL 16上的链路断开事件在某些条件下同样能够触发交换机离开检测(switch-gone detection)。SDP模块28将交换机找到(JOIN_STACK)和交换机离开(LEAVE_STACK)事件报告给在同一网络元素上的DC堆栈模块36,以进一步处理。SDP模块28的其他功能是检查在本地网络元素与其他远程网络元素之间的全部可能路径的ISL 16的健康,并且提供基于优先级的主机选举机制。
EL2T层30提供简单L2传输协议,以促进通过在EL2T层30之上的上层协议进行的通信。在一种实施例中,这些上层协议包括RPC模块32、DC堆栈模块36、CP模块42、TFTP模块44以及在网络元素14上的全部应用。
RPC模块32提供基于EL2T层30的且由主交换机14-1上的DC-API层38用来与远程网络元素通信的RPC机制。
端口映射/宏模块34提供在具有从全局CLI端口到实体器件和端口的映射的层式软件之上的应用。在与DC堆栈模块36和SDP模块28的合作下,端口映射/宏模块34保持该映射。
DC堆栈模块36在同一分组内形成网络元素的“堆栈”,从而调整网络元素使得它们作为单个交换机进行合作。在同一分组内的全部网络元素的DC堆栈模块36使用EL2T模块30来相互通信,以进行信息交换和堆栈形成。另外,在不同网络元素上的DC堆栈模块36共同工作,以确保主交换机14-1具有现有网络元素的最新信息(通过HOST-UPDATE事件)。HOST-UPDATE事件被传递给DC堆栈模块36,以在给定的网络元素的交换机信息已经改变以及DC堆栈模块36已经接收到该给定的网络元素的JOIN-STACK事件的任何时候提供信息更新。
通过DC-API层38,在网络元素14上运行的应用能够对网络元素的硬件交换芯片进行程序调用,以从芯片中检索信息或者设置芯片上的某些参数。这些芯片可以驻留于本地网络元素上或远程网络元素上。
交换机附接/拆离模块40将网络元素上的变化通知给网络元素上的应用,从而给在层式软件栈24之上的应用提供关于在分组内的全部网络元素上的全部数据端口的全局视图。
CP模块42帮助在主交换机14-1上运行的应用以与备用交换机14-2同步每个相关数据库和状态,为备用交换机到主交换机的失效转移(failover)作准备。
TFTP模块44提供在EL2T层30之上的传输层,以帮助DC堆栈模块36和应用将来自主交换机14-1的配置或固件镜像推送给任何跟随者交换机14-3、14-4、14-N。
图4A和图4B示出了分别在主交换机14-1内的以及在跟随者交换机14-3(所谓跟随者交换机的代表实例)内的软件栈24。在此,每个软件栈24都包含具有各种应用54的应用层50,这些应用54的实例包括配置应用、CLI应用和系统表(syslogs)应用。双头箭头52表示在软件栈24内的构件之间的控制流程。
在层式软件栈24中,SDP模块28被布置于上方的DC堆栈模块36与下方的路径选择层26之间。SDP模块28包含交换机发现协议(SDP)、成员跟踪层(MTL)和路径健康维护(PHM)构件。SDP是运行于共同的L2 VLAN上的、用于在分布式组构系统中发现交换机的多播协议。在交换机接收到SDP的数据包之后,相关的交换机信息被传递到MTL之内,以保持成员关系。
MTL是用于跟踪在同一分组内的当前网络元素成员的以及用于保持全部此类成员的交换机信息的SDP模块28的数据库层。每个网络元素的交换机信息包括:交换机编号、交换机的MAC地址、交换机信息(SI)和交换机成员(SM)序列号,以及从远程网络元素接收到最后一个SDPDU的时间。交换机信息的任何变化都被报告给MTL,以进行跟踪。当ISL 16失效时,经由该链路获知的交换机信息被从MTL中清除。为了帮助检测交换机离开事件,MTL实现了超龄移出机制,使用定时器来“超龄移出”远程网络元素,只要在规定的时长内没有接收到来自该网络元素的SDPDU。
MTL还基于交换机优先级(在由网络元素多播的SDPDU中携带的)来选择分组的主交换机。在选择之后,所选择的主交换机将交换机成员信息报告给主交换机的DC堆栈模块36。另外,主交换机的MTL将消息传递给DC堆栈模块36以通知分组内的交换机成员关系的任何变化,无论是由新发现的网络元素引起的还是由检测到网络元素的离开引起的。
SDP模块28的PHM构件保持在本地网络元素与全部其他远程网络元素之间的全部可能路径的健康状态。当接收到来自网络元素的SDPDU时,该网络元素的健康状态同样会在MTL中进行更新。如同前面所描述的,EL2T 30和PSL 26使用该健康信息来确定用于在本地网络元素与远程网络元素之间的通信的路径或端口。
在启动之后,本地网络元素经由ISL 16周期性地发送“SDP Hello”帧(即,PDU),以对在同一VLAN内的全部其他对等点(peer)宣布它的存在。响应于接收到“SDP Hello”PDU,每个网络元素收集交换机信息并将该信息保持于它的本地数据库(即,MTL)内。在网络元素收集了足够的交换机信息之后,每个网络元素的SDP模块28基于交换机优先级来选择主交换机(全部网络元素选择同一主交换机)。每个网络元素的SDP模块28将其收集的交换机信息按照适当的方式传递给在该同一网络元素上的DC堆栈模块36;如果该网络元素是分组的主交换机,则交换机信息被用于堆栈的协调和形成。
由SDP模块28发布的数据包被称为交换机数据协议数据单元(SDPDU)。一般地,SDPDU是基于TLV的PDU(协议数据单元)。SDPDU使用四种类型的TLV:协议TLV、组ID(GID)TLV、交换机信息(SI)TLV和交换机成员(SM)TLV。图5示出了包含类型字段62、长度字段64、OUI(组织唯一标识)字段66、子类型字段68和协议ID字段70的协议TLV 60的一种实施例。协议TLV 60用来标识PDU的帧类型。类型字段62标识TLV的起始(例如,值=127);长度字段64指示协议TLV的位长度;OUI字段66保存私有公司ID;子类型字段68保存用于标识TLV的类型(在此,指示协议TLV)的值(在此,等于1);而协议ID字段70标识协议(例如,以太网)。
图6示出了用于分组识别的GID TLV 80的一种实施例。在同一VLAN内的多个网络元素可以属于不同的分组,并且因此属于不同的虚拟交换机(或虚拟机架)。GID TLV 80包含类型字段82、长度字段84、OUI字段86、子类型字段88和组ID字段90。在类型字段82内的值标识TLV的起始(例如,值=127);长度字段84指示TLV的位长度;OUI字段86保存公司ID;子类型字段88保存值2,以指示该TLV是GID TLV 80;而组ID 90标识正传输的网络元素所属的网络元素分组。
图7示出了交换机信息(SI)TLV 100的一种实施例。SI TLV100被用来通告本地网络元素的交换机信息,并且包含类型字段102、长度字段104、OUI字段106、子类型字段108、SI序列号字段110、已确认的SI序列号字段112、已确认的SM序列号字段114,以及用于携带交换机信息的字段116。类型字段102、长度字段104和OUI字段106的作用与协议TLV 60和GID TLV 80中的那些类似。在子类型字段108中的值3将该TLV的类型标识为SI TLV100。
SI序列号字段110保存该特定TLV的序列号。序列号响应于TLV内的交换机信息的任何变化而加1(其例外情况是在字段112、114内的已确认的SI或SM序列号的变化并不会导致SI序列号的递增)。在一种实施例中,序列号0被用来指示无效的SI;这通常指示在更新之前没有接收到SI。具有有效SI的SDPDU应当从不会使用SI序列号0。已确认的SI序列号字段112保存由本地网络元素发送的且由主交换机确认的交换机信息TLV的最后序列号。该值如果是由主交换机发送的则被设置为0。主交换机并不使用已确认的SI序列号字段112来确认接收自成员的SI。相反,主交换机会将SI序列号字段172用于确认。通常,系统具有多于一个的成员。已确认的SI序列号字段112由成员交换机用来确认接收自主交换机的SI。已确认的SM序列号字段114保存接收自主交换机的交换机成员TLV的最后序列号。该字段114仅由成员交换机使用,并且如果由主交换机发送则被设置为0。
交换机信息字段116包含用于交换机编号118、交换机优先级120、CE/FE(控制元件/转发元件)类型122、交换机类型124、机架ID 126、端口数128、MAC地址130、UUID 132、ISL位掩码134和标志136的字段。交换机编号字段118保存由正传输的网络元素设置的交换机编号。交换机优先级字段120保存正传输的网络元素的交换机优先级,该网络元素能够被用来选择主交换机。CE/FE类型字段122将交换机的类型标识为控制元件(CE)、转发元件(FE)或两者。交换机类型124标识正传输的网络元素的交换机类型。交换机类型是交换机的类型;该类型确定交换机的端口配置和端口类型。CE指示控制元件;FE指示转发元件;只有CE能够是在分布式系统内的主控制者或备用控制者。机架ID 126能够标识在实体机架内的网络元素的物理位置。端口数128标识端口的数量,MAC地址130保存MAC地址,UUID字段132保存UUID,而ISL位掩码字段134保存本地ISL端口的位掩码,全部均关于正传输的网络元素。
标志字段136具有用于正传输的网络元素的1位字段138,用于表示它是主交换机,并且具有用于正传输的网络元素的1位字段140,用于表示它是备用交换机。
图8示出了(仅由主交换机传输的)交换机成员(SM)TLV150的一种实施例。主交换机使用SM TLV 150将主交换机已经针对同一网络元素分组而收集的全部成员信息通知给跟随者交换机。SMTLV 150包含类型字段152、长度字段154、OUI字段156、子类型字段158、SM序列号字段160、主交换机编号字段162、备用交换机编号字段164、用于标识由SM TLV携带的条目数的字段166,以及用于携带成员关系信息的字段168。在成员关系信息字段168内的每个条目都包含交换机编号字段170、SI序列号字段172和交换机MAC地址174。
类型字段152、长度字段154和OUI字段156的作用与协议TLV 60、GID TLV 80和SITLV 100的那些类似。在子类型字段158内的值4将TLV的类型标识为SM TLV 150。SM序列号字段160保存该特定的SM TLV的序列号。序列号响应于SM TLV的任何变化而加1。序列号0表示无效的SM TLV;要么是没有接收到要么是没有更新。具有有效SM的SDPDU在SM序列号字段内不使用序列号0。主交换机编号字段162保存CE主交换机的交换机编号。如果主交换机还没有被指定,则该值等于0。备用交换机编号字段164保存备用交换机的交换机编号。如果备用交换机还没有被指定,则该值等于0。字段166保存由由SM TLV 150携带的条目数(N)。每个交换机成员条目都包含成员的交换机编号(0,尚未指定)、接收自成员交换机的最后交换机信息TLV的SI序列号,以及该成员交换机的交换机MAC地址。
全部网络元素都会周期性地多播SDPDU。对于主交换机,SDPDU包含下列TLV:协议TLV 60、GID TLV 80、交换机信息TLV 100和交换机成员TLV 150。对于全部跟随者交换机,每个SDPDU都包含:协议TLV 60、GID TLV 80和交换机信息TLV100。SDPDU的数据包格式包含ECP(边缘控制协议)报头(例如,以太网类型(Ethertype)),随后是协议TLV 60、GID TLV80、SI TLV 100,以及在主交换机的情形中,随后是SM TLV 150。ECP是在用于由VDP协议所需的PDU传输的802.1Qbg中定义的协议。
在SDPDU的处理中,SDP模块28具有两个状态机:传输状态机(TSM)200和接收状态机(RSM)250。图9示出了用于SDP的TSM 200的一种实施例。TSM 200控制着网络元素用以发布SDPDU的过程。SDPDU的传输能够发生于两种不同的模式中:快速传输模式和慢速传输模式;快速传输模式具有比慢速传输模式快的传输速率。TSM 200的目标是在分布式组构系统(即,全部网络元素和相关的ISL)已经变得稳定时通过进入慢速传输模式而降低用来运行SDP的CPU开销,以及响应于任何检测到的变化而通过进入快速传输模式来使交换机发现加速。SDPDU的重传速率在主交换机与跟随者交换机已经完全交换了分组内的全部成员的当前交换机信息之后减慢。重传速率同样能够在主交换机或跟随者交换机对其所传输的SDPDU没有了进一步改变的任何时候减慢。
TSM 200在下列事件发生时进入快速传输模式:(1)网络元素启动,(2)TLV改变(例如,主交换机、备用交换机或跟随者交换机改变;或者,交换机信息超龄移出),(3)主交换机已经将交换机成员TLV内的已确认的SI序列号设置为0(由主交换机用来立即请求来自远程网络元素的应答的机制),(4)当前多播路径失效(为SMAC学习所需),以及(5)当主交换机失效转移发生时。例如,在发生主交换机失效的事件时,备用交换机担任新的主交换机的角色。其他交换机最终会检测到该变化并丢弃从旧的主交换机处获知的(通过交换机成员TLV150获得的)全部交换机信息。该“TLV改变”事件促使全部交换机进入快速传输模式。作为另一实例,远程交换机信息TLV 100的变化会触发主交换机上的交换机成员TLV改变。因而,新交换机的加入促使主交换机进入快速传输模式。但是,主交换机进入快速传输模式不会触发跟随者交换机进入快速传输模式。
TSM 200包括空闲状态202、TLV置零状态204、快速传输状态206、传输状态208、慢速传输状态210、转至慢速传输状态212、TLV置1状态214以及转至快速传输状态216。三种状态被认为是稳定的状态:空闲状态202;快速传输状态206,在该快速传输状态206中SDPDU按照快传输速率来传输;以及慢速传输状态210,在该慢速传输状态210中SDPDU按照慢传输速率来传输。具有两个设定的一个传输定时器能够被用来实现两种传输速率:一个设定用于快速传输模式(例如,1秒的间隔),而另一个设定用于慢速传输模式(例如,30秒的间隔)。
从状态到状态的转变受由TSM 200保持的某些变量的值影响。在一种实施例中,变量被称为“RETRIAL”和“LOCAL-FAST-XMIT”。RETRIAL变量含有最后一个SDPDU的传输数(换言之,未改变的SDPDU的连续传输,这表明收敛稳定性)。LOCAL-FAST-XMIT变量是用于指示TSM 200当前是否处于快速传输模式的布尔量(Boolean)。某些参数的值还会影响TSM 200的操作。在一种实施例中,这些参数被称为“FAST-XMIT-INTERVAL”、“SLOW-XMIT-INTERVAL”和“SLOW-XMIT-THRESHOLD”。FAST-XMIT-INTERVAL参数的值控制着在快速传输模式中的传输定时器。默认值将传输定时器设置为1秒。如果该值等于0,则没有SDPDU传输发生。SLOW-XMIT-INTERVAL参数的值控制着在慢速传输模式中的传输定时器。默认值将传输定时器设置为30秒。如果该值等于0,则没有SDPDU传输发生。SLOW-XMIT-THRESHOLD参数控制着TSM何时转变为慢速传输模式,即,RETRIAL变量何时超过该阈值,表示同一SDPDU的给定数量的连续传输。对于主交换机,默认阈值为10;对于跟随者交换机,默认阈值为5。
6类事件能够触发TSM 200内的状态转变:网络元素启动;网络元素关闭;TLV改变;定时器到期;主交换机请求转至快速传输模式(因此,该事件能够仅发生于跟随者交换机上);以及“TLV同意”事件(由RSM 250触发)。TSM 200在TLV同意事件发生时进入慢速传输模式。TLV同意事件表示:1)对于主交换机,本地序列号(SI和SM两者)已经由全部跟随者交换机确认,并且主交换机没有遇到接收自全部跟随者交换机的远程SI序列号的改变;以及2)对于每个跟随者交换机,其本地SI序列号已经由主交换机确认,并且跟随者交换机没有遇到接收自主交换机的序列号的改变(SI和SM两者)。对于将为有效的TLV同意事件,序列号无法等于0。
当网络元素初始化时以及当它关闭时,该网络元素进入空闲状态202。当处于空闲状态202时,RETRIAL变量被设置为等于0,并且LOCAL-FAST-XMIT变量被设置为等于1。当处于空闲状态202时,如果TLV改变,则TSM 200转变为TLV置零状态204。TLV改变意指网络元素正对在其下一个SDPDU中的任意一个TLV进行修改。在TLV置零状态204中,TSM 200作出TLV改变,并且一旦完成(upon completion)(UCT)则返回至空闲状态202。当TLV稳定(即,没有TLV改变)时,TSM 200从空闲状态202转变为快速传输状态206。
响应于转变为快速传输状态206,传输定时器停止并重启。当传输定时器到期时,TSM转变为传输状态208。在传输状态208中,RETRIAL变量递增。如果RETRIAL变量的结果值超过了SLOW-XMIT-THRESHOLD值,则LOCAL-FAST-XMIT变量被设置为等于0,并且网络元素发送SDPDU。在发送了SDPDU之后,如果LOCAL-FAST-TRANSMIT变量等于1,则TSM 200返回至快速传输状态206;如果等于0,则TSM 200转变为慢速传输状态210。当RETRIAL变量的值超过SLOW-XMIT-THRESHOLD的值(表示未改变的SDPDU的传输数已经超过了规定阈值)时,网络元素进入慢速传输模式,以减慢SDPDU的传输,因为全部同级的网络元素(peer networkelement)没有更多的改变要作出。
当处于快速传输状态206时,如果TLV同意事件在传输定时器到期之前发生,则TSM200转变为转至慢速传输状态212;或者如果TLV改变事件在传输定时器到期之前发生,则TSM 200转变为TLV置1状态214。在转至慢速传输状态212中,LOCAL-FAST-XMIT变量被设置为等于0,并且TSM 200一旦完成(UCT)就转变为慢速传输状态210。在TLV置1状态214中,TLV改变被作出,RETRIAL变量被设置为等于0,并且LOCAL-FAST-XMIT变量被设置为等于1。一旦完成这些设定,TSM 200返回至快速传输状态206。
响应于转变为慢速传输状态210,传输定时器停止并重启,并且按照慢传输速率来运行。当时传输定时器到期,TSM 200转变为传输状态208。当处于慢速传输状态210时,如果主交换机在传输定时器到期之前请求较快的传输速率,则TSM 200转变为转至快速传输状态216;或者如果TLV改变事件在传输定时器到期之前发生,则TSM 200转变为TLV置1状态214。在转至快速传输状态216中,RETRIAL变量被重置(设置为等于0),并且LOCAL-FAST-XMIT变量被设置为等于1,并且TSM 200一旦完成(UCT)就转变为传输状态208。再者,在TLV置1状态214中,TLV被设置,RETRIAL变量被重置为等于0,LOCAL-FAST-XMIT变量被设置为等于1,并且,一旦完成这些设定,TSM 200返回至快速传输状态206。
一般地,SDP主要被用来发现新的交换机,并且,如同前面所描述的,MTL实现了超龄移出机制(age out mechanism)来检测出交换机何时脱离分布式组构系统。超龄移出机制被实现于主交换机及其他交换机中。主交换机运行定时器来在其交换机成员TLV中“超龄移出”远程交换机的SI序列号,只要已经在规定的时长(例如,100秒)内没有接收到相关的交换机信息TLV。当该SI序列号被超龄移出时,主交换机触发TLV改变,并且因此进入快速传输模式。在快速传输模式中,信息交换立即发生于主交换机与特定的远程交换机之间,这从而在例如通过由于未知的原因而将相关的SDPDU丢弃于导线上从而超龄移出发生的情况下,能够避免触发不必要的交换机离开事件。
如果在规定的时长(例如,120秒)内还没有接收到远程交换机的交换机信息TLV,则所有网络元素都实现另一定时器来去除该远程交换机的交换机信息。当这种情况发生时,交换机离开事件被检测到,并且通知SDP模块的MTL。当由PSL 26或其他模块通知了交换机离开时,所获知的该交换机的交换机信息被从MTL中清除(或者标记为“不可用”)。例如,其他模块能够在下列情况下发信号通知路径失效(即,路径不健康):链路断开、由协议(例如,PSL/EL2T/RPC)检测到的数据包丢失等。
用于实现超龄移出机制的两个参数包括SI-AGE-OUT-INTERVAL和SWITCH-AGE-OUT-INTERVAL。由SI-AGE-OUT-INTERVAL参数所保持的值是在交换机成员TLV中的用于使远程交换机的SI序列号超龄移出的时间间隔。它的默认值能够是例如100秒。如果该值被设置为等于0,则超龄机制被禁用。由SWITCH-AGE-OUT-INTERVAL参数所保持的值是用于使远程交换机的交换机信息超龄移出的时间间隔。它的默认值能够是例如120秒。如果该值被设置为等于0,则该超龄机制被禁用。
在一种实施例中,如果用于检测交换机离开事件的唯一方法是通过超龄机制,则不允许TSM 200进入慢速传输模式;这确保了超龄机制使用较快的定时器速率来检测交换机离开事件。
图10示出了用于SDP的RSM 250的一种实施例。RSM 250控制着由网络元素接收到的SDPDU的处理。RSM 250包含空闲状态252、接收状态254和处理状态256。空闲状态252和接收状态254被认为是稳定状态。3类事件能够触发在RSM 200内的状态转变:启动、关闭以及接收到SDPDU。
当网络元素初始化(启动)时以及当它关闭时,该网络元素进入空闲状态252。RSM200从空闲状态252转变为接收状态254。RSM250保持于接收状态254,直到SDPDU被接收到(或者网络元素断电)。响应于接收到SDPDU,RSM 250转变为处理状态256。在处理状态256中,跟随者交换机处理在SDPDU中接收到的交换机信息TLV以及接收自主交换机的交换机成员TLV两者。相比之下,主交换机处理所接收到的交换机信息TLV(即,不是交换机成员TLV)。
另外,当处于处理状态256时,如果TLV同意事件发生,则LOCAL-FAST-XMIT变量被设置为等于0。如同前面所描述的,在主交换机和跟随者交换机已经接收到了在交换机信息和交换机成员TLV中的已稳定化的当前信息之后,RSM 250触发TSM 200进入慢速传输模式。但是,主交换机能够通过将在交换机成员TLV中的该网络元素的相应SI序列号设置为0而触发网络元素的TSM 200进入快速传输模式。
另外,在处理状态256中,如果SM.SI_ACKed(即,在SM中的字段172)等于0,则RSM250通知TSM 200移至快速传输状态206。主交换机能够使用该机制来促使网络元素返回至快速传输模式。网络元素还处理SDPDU数据包,RSM 250一旦完成就转变回到接收状态254。
本领域技术人员应当意识到,本发明的各方面可以被实现为系统、方法和计算机程序产品。因而,本发明的各方面可以完全以硬件来实现,完全以软件(包括,但不限于,固件、程序代码、常驻软件、微代码)来实现,或者以硬件和软件的组合来实现。所有此类实施例在本文中一般可以称为电路、模块或系统。另外,本发明的各方面还可以采用实现于具有实现于其上的计算机可读程序代码的一个或多个计算机可读介质内的计算机程序产品的形式。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
程序代码可以完全于用户的计算机上执行,部分于用户的计算机上执行,作为独立式软件包来执行,部分于用户的计算机上且部分于远程计算机上执行,或者完全于远程计算机或服务器上执行。任何此类远程计算机都可以通过包括局域网(LAN)或广域网(WAN)在内的任何类型的网络连接至用户的计算机,或者该连接可以连接至外部计算机(例如,通过使用因特网服务提供商的因特网)。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
计算机程序指令还可以被装载到计算机、其他可编程的数据处理装置或者其他器件上,以促使一系列操作步骤在计算机、其他可编程的数据处理装置或者其他器件上执行,从而产生计算机实现的过程,使得在计算机或其他可编程装置上执行的指令提供用于实现在流程图和/或框图的一个或多个方框中指定的功能/动作的处理。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本发明的各方面可以实现于以半导体制造工艺制造的一个或多个集成电路(IC)芯片中。IC芯片的制造商能够按照未加工的晶圆形式(在具有多个未封装的芯片的单个晶圆上),作为裸片,或者按照封装的形式来分发它们。当按照封装的形式时,IC芯片被安装于单个芯片封装内,例如,具有固定于主板的引线的塑料载体或者其他更高层的载体,或者被安装于多个封装内,例如,具有表面和/或预埋的互连的陶瓷载体。IC芯片然后与作为中间产品(例如,主板)的或最终产品的一部分的其他芯片、分立电路元件和/或其他信号处理器件集成在一起。最终产品能够是包含IC芯片的任何产品,范围包括从电子游戏系统和其他低端应用到具有显示器、输入设备和中央处理器的高级计算机产品。
在不脱离本发明的范围和精神的情况下,本领域技术人员清楚许多修改和变化。实施例被选择并被描述,以便最佳地解释本发明的原理和实际应用,并且以便使本领域技术人员能够在具有适合于所能设想到的特定用途的各种修改的各种实施例方面来理解本发明。
本文所使用的术语只是为了描述特定的实施例,而并非旨在限定本发明。如同本文所使用的,单数形式的“一(a)”、“一个(an)”和“该(the)”意指同样包括复数形式,除非上下文另有明确说明。还应当理解,术语“包括”和/或“包含”在用于本说明书时指出存在着所声明的特征、整数、步骤、操作、元件和/或构件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、构件和/或它们的分组。
在下面的权利要求书中的相应结构、材料、动作以及全部方法或步骤加上功能要件的等价物意指包括用于结合特别声明的其他要求权利的要件来执行功能的任何结构、材料或动作。关于本发明的描述已经为了说明和描述的目的而给出,但是该描述并非意指按照所公开的形式来穷尽或限定本发明。
虽然本发明已经参照特定的优选实施例进行示出和描述,但是本领域技术人员应当理解,在不脱离下面的权利要求所定义的本发明的精神和范围的情况下可以于其中进行在形式和细节方面的各种修改。
Claims (24)
1.一种分布式组构系统,包含通过交换机间的链路互连的并被指派给同一分组的多个独立的网络元素,每个网络元素都包含一个或多个交换芯片、处理器以及用于存储由所述处理器执行的程序代码的存储器,每个网络元素的所述程序代码包含交换机发现协议SDP模块,每个网络元素的所述SDP模块在执行时使用多个传输速率之一来周期性地多播SDP数据单元SDPDU,所述多个传输速率包括快传输速率和慢传输速率,由每个网络元素的所述SDP模块使用的传输速率是所述快传输速率,直到该网络元素的所述SDP模块确定标准已满足,响应于此由该网络元素的所述SDP模块使用的传输速率改变为所述慢传输速率。
2.根据权利要求1所述的分布式组构系统,其中所述标准是该网络元素的所述SDP模块检测到在同一分组内的所述网络元素当中的稳定性。
3.根据权利要求2所述的分布式组构系统,其中所述多个网络元素包含主网络元素,并且其中在同一分组内的所述网络元素当中的稳定性在该网络元素的所述SDP模块与所述主网络元素之间交换的信息已经变稳定时被检测到。
4.根据权利要求1所述的分布式组构系统,其中所述标准是由该网络元素的所述SDP模块进行的未改变的SDPDU的连续传输的次数超过阈值。
5.根据权利要求1所述的分布式组构系统,其中所述网络元素的一个或多个响应于所接收到的SDPDU而检测在同一分组内的所述网络元素当中的变化并且返回到按照所述快传输速率来传输SDPDU。
6.根据权利要求1所述的分布式组构系统,其中每个网络元素的所述SDP模块包含成员跟踪层MTL构件,所述MTL构件选择所述网络元素之一作为所述分组的主网络元素。
7.根据权利要求6所述的分布式组构系统,其中每个SDPDU包含协议TLV、分组IDTLV以及交换机信息TLV,并且由所述主网络元素传输的每个SDPDU还包含交换机成员TLV。
8.根据权利要求6所述的分布式组构系统,其中每个网络元素的所述SDP模块的所述MTL构件维持含有所述分组的当前成员关系的数据库。
9.根据权利要求6所述的分布式组构系统,其中每个网络元素的所述SDP模块的所述MTL构件采用超龄移出机制来确定网络元素是否已脱离所述分布式组构系统,其中每个网络元素的所述SDP模块包含路径健康维护构件,每个网络元素的所述SDP模块的所述路径健康维护构件维持在该网络元素与全部其他网络元素之间的全部可能路径的健康状态,以确定待用于在该网络元素与所述其他网络元素中的每个网络元素之间的通信的路径。
10.一种用于在分布式组构系统中发现指派给同一分组的网络元素的系统,所述系统包含:
配置用于使用多个传输速率之一来周期性地多播SDP数据单元SDPDU的交换机发现协议SDP模块,所述多个传输速率包括快传输速率和慢传输速率,所述SDP模块还被配置用于使用所述快传输速率来周期性地多播所述SDPDU,直到标准被满足,并且响应于满足所述标准,将传输速率改变为所述慢传输速率。
11.根据权利要求10所述的系统,其中所述标准是所述SDP模块检测到在同一分组内的所述网络元素当中的稳定性。
12.根据权利要求11所述的系统,其中所述多个网络元素包含主网络元素,并且其中在同一分组内的所述网络元素当中的稳定性在该网络元素的所述SDP模块与所述主网络元素之间交换的信息已经变稳定时被检测到。
13.根据权利要求10所述的系统,其中所述标准是由该网络元素的所述SDP模块进行的未改变的SDPDU的连续传输的次数超过阈值。
14.根据权利要求10所述的系统,其中所述SDP模块还被配置用于响应于所接收到的SDPDU而检测在同一分组内的所述网络元素当中的变化并且返回到按照所述快传输速率来传输SDPDU。
15.根据权利要求10所述的系统,其中所述SDP模块还包含配置用于选择所述网络元素之一作为所述分组的主网络元素的成员跟踪层MTL构件。
16.根据权利要求15所述的系统,其中每个SDPDU都包含协议TLV、分组IDTLV以及交换机信息TLV,并且由所述主网络元素传输的每个SDPDU还包含交换机成员TLV。
17.根据权利要求15所述的系统,其中所述SDP模块的所述MTL构件还被配置用于维持含有所述分组的当前成员关系的数据库。
18.根据权利要求15所述的系统,其中所述SDP模块的所述MTL构件还被配置用于实现超龄移出机制,以确定网络元素是否已脱离所述分布式组构系统。
19.根据权利要求15所述的系统,其中每个网络元素的所述SDP模块还包含路径健康维护构件,所述路径健康维护构件被配置用于维持在所述分布式组构系统中的给定的网络元素与全部其他网络元素之间的全部可能路径的健康状态,以确定待用于在该给定网络元素与所述其他网络元素中的每个网络元素之间的通信的路径。
20.一种用于在分布式组构系统中发现指派给同一分组的网络元素的方法,所述方法包括:
由多个网络元素的每个网络元素使用多个传输速率之一来周期性地多播交换机发现协议数据单元SDPDU,所述多个传输速率包括快传输速率和慢传输速率;
由所述网络元素中的一个或多个网络元素检测在所述分布式组构系统中的稳定性;并且
由检测到稳定性的所述一个或多个网络元素响应于所检测到的稳定性而将所述传输速率从所述快传输速率改变为所述慢传输速率。
21.根据权利要求20所述的方法,其中所述多个网络元素包含主网络元素,并且其中所述稳定性在检测到所述稳定性的所述一个或多个网络元素与所述主网络元素之间交换的信息已经变稳定时被检测到。
22.根据权利要求21所述的方法,其中所检测到的稳定性是超过阈值的未改变的SDPDU的连续传输的次数。
23.根据权利要求21所述的方法,还包括响应于所接收到的SDPDU而检测在同一分组内的所述网络元素当中的变化,并且将传输从所述慢传输速率改变回到所述快传输速率。
24.根据权利要求21所述的方法,还包括选择所述网络元素之一作为所述分组的主网络元素。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/364,947 | 2012-02-02 | ||
US13/364,947 US8908682B2 (en) | 2012-02-02 | 2012-02-02 | Switch discovery protocol for a distributed fabric system |
PCT/IB2013/050429 WO2013114239A1 (en) | 2012-02-02 | 2013-01-17 | Switch discovery protocol for a distributed fabric system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104094556A CN104094556A (zh) | 2014-10-08 |
CN104094556B true CN104094556B (zh) | 2017-07-11 |
Family
ID=48902806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380007707.9A Active CN104094556B (zh) | 2012-02-02 | 2013-01-17 | 用于分布式组构系统的交换机发现协议 |
Country Status (5)
Country | Link |
---|---|
US (2) | US8908682B2 (zh) |
CN (1) | CN104094556B (zh) |
DE (1) | DE112013000469B4 (zh) |
GB (1) | GB2512257B (zh) |
WO (1) | WO2013114239A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8825825B2 (en) * | 2012-03-06 | 2014-09-02 | International Business Machines Corporation | SNMP request processing within distributed device architecture |
US9137141B2 (en) | 2012-06-12 | 2015-09-15 | International Business Machines Corporation | Synchronization of load-balancing switches |
JP6171434B2 (ja) * | 2013-03-18 | 2017-08-02 | 富士通株式会社 | ノード装置、通信方法、通信プログラム、および、ネットワークシステム |
US9426261B2 (en) * | 2013-05-15 | 2016-08-23 | Qualcomm Incorporated | Apparatus and methods for improved frames |
DE112020002497T5 (de) * | 2019-05-23 | 2022-04-28 | Hewlett Packard Enterprise Development Lp | System und verfahren zur dynamischen zuweisung von reduktionsmotoren |
CN113037561A (zh) * | 2021-03-24 | 2021-06-25 | 深圳市乙辰科技股份有限公司 | 基于分布式组网系统的组网设备模式切换方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101098260A (zh) * | 2006-06-29 | 2008-01-02 | 国际商业机器公司 | 一种分布式设备监视管理方法、设备和系统 |
CN102082690A (zh) * | 2011-01-10 | 2011-06-01 | 北京邮电大学 | 一种网络拓扑的被动发现设备及其发现方法 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5563876A (en) | 1994-07-21 | 1996-10-08 | Newbridge Networks Corporation | Fast packet switch |
US5684800A (en) * | 1995-11-15 | 1997-11-04 | Cabletron Systems, Inc. | Method for establishing restricted broadcast groups in a switched network |
US6563832B1 (en) | 1998-11-30 | 2003-05-13 | Cisco Technology, Inc. | Token ring bridge distributed in a switched fabric |
US6952421B1 (en) * | 1999-10-07 | 2005-10-04 | Cisco Technology, Inc. | Switched Ethernet path detection |
US7117273B1 (en) * | 2000-01-25 | 2006-10-03 | Cisco Technology, Inc. | Methods and apparatus for maintaining a map of node relationships for a network |
US6779039B1 (en) | 2000-03-31 | 2004-08-17 | Avaya Technology Corp. | System and method for routing message traffic using a cluster of routers sharing a single logical IP address distinct from unique IP addresses of the routers |
US6856591B1 (en) | 2000-12-15 | 2005-02-15 | Cisco Technology, Inc. | Method and system for high reliability cluster management |
EP1248431B1 (en) * | 2001-03-27 | 2007-10-31 | Sony Deutschland GmbH | Method for achieving end-to-end quality of service negotiation for distributed multimedia applications |
US20020159458A1 (en) * | 2001-04-27 | 2002-10-31 | Foster Michael S. | Method and system for reserved addressing in a communications network |
US20040030766A1 (en) * | 2002-08-12 | 2004-02-12 | Michael Witkowski | Method and apparatus for switch fabric configuration |
US7925722B1 (en) * | 2003-08-01 | 2011-04-12 | Avocent Corporation | Method and apparatus for discovery and installation of network devices through a network |
US8102811B2 (en) | 2005-03-07 | 2012-01-24 | Lg Electronics Inc. | Providing mobility management protocol information to a mobile terminal for performing handover in a mobile communication system |
US7710903B2 (en) * | 2005-09-20 | 2010-05-04 | Cisco Technology, Inc. | System and method for floating port configuration |
US7457257B2 (en) * | 2005-11-17 | 2008-11-25 | International Business Machines Corporation | Apparatus, system, and method for reliable, fast, and scalable multicast message delivery in service overlay networks |
CN100520466C (zh) * | 2006-05-30 | 2009-07-29 | 株式会社藤仓 | 多端口耦合器、光放大器及光纤激光器 |
US7907603B2 (en) * | 2007-04-26 | 2011-03-15 | Cisco Technology, Inc. | Acceleration of label distribution protocol (LDP) session setup |
US20080291843A1 (en) | 2007-05-22 | 2008-11-27 | Harris Corporation | Routing protocol selection based upon motion-inferred link metric in mobile ad-hoc networks |
US7821939B2 (en) * | 2007-09-26 | 2010-10-26 | International Business Machines Corporation | Method, system, and computer program product for adaptive congestion control on virtual lanes for data center ethernet architecture |
US7904602B2 (en) * | 2008-02-05 | 2011-03-08 | Raptor Networks Technology, Inc. | Distributed computing bus |
US7996350B2 (en) * | 2008-03-05 | 2011-08-09 | The Boeing Company | Virtual intelligent fabric |
CN101924944B (zh) * | 2009-06-15 | 2013-06-05 | 华为技术有限公司 | 可伸缩视频编码操作点选择方法、信息提供方法及设备 |
US20110055276A1 (en) * | 2009-08-26 | 2011-03-03 | Brocade Communications Systems, Inc. | Systems and methods for automatic inclusion of entities into management resource groups |
US9565159B2 (en) | 2011-12-21 | 2017-02-07 | Juniper Networks, Inc. | Methods and apparatus for a distributed fibre channel control plane |
-
2012
- 2012-02-02 US US13/364,947 patent/US8908682B2/en active Active
- 2012-04-24 US US13/454,120 patent/US8929361B2/en active Active
-
2013
- 2013-01-17 CN CN201380007707.9A patent/CN104094556B/zh active Active
- 2013-01-17 DE DE112013000469.0T patent/DE112013000469B4/de active Active
- 2013-01-17 GB GB1412785.6A patent/GB2512257B/en active Active
- 2013-01-17 WO PCT/IB2013/050429 patent/WO2013114239A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101098260A (zh) * | 2006-06-29 | 2008-01-02 | 国际商业机器公司 | 一种分布式设备监视管理方法、设备和系统 |
CN102082690A (zh) * | 2011-01-10 | 2011-06-01 | 北京邮电大学 | 一种网络拓扑的被动发现设备及其发现方法 |
Also Published As
Publication number | Publication date |
---|---|
US20130201983A1 (en) | 2013-08-08 |
DE112013000469B4 (de) | 2021-02-04 |
DE112013000469T5 (de) | 2014-10-09 |
WO2013114239A1 (en) | 2013-08-08 |
CN104094556A (zh) | 2014-10-08 |
US20130201868A1 (en) | 2013-08-08 |
GB2512257A (en) | 2014-09-24 |
US8908682B2 (en) | 2014-12-09 |
US8929361B2 (en) | 2015-01-06 |
GB201412785D0 (en) | 2014-09-03 |
GB2512257B (en) | 2014-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104094556B (zh) | 用于分布式组构系统的交换机发现协议 | |
US10778528B2 (en) | Method and system of connecting to a multipath hub in a cluster | |
US9088477B2 (en) | Distributed fabric management protocol | |
TWI324456B (en) | An intelligent automatic setting restoration method and device | |
US8817666B2 (en) | System and method for multiple spanning tree protocol domains in a virtual local area network | |
JP4681049B2 (ja) | ネットワークにおける障害処理のための方法および装置 | |
CN105900406B (zh) | 针对网络服务可用性的技术 | |
CN104919760B (zh) | 虚拟机箱系统控制协议 | |
US9054983B2 (en) | Centralized control and management planes for different independent switching domains | |
CN103262472B (zh) | 计算机系统、控制器、控制器管理器和通信路由分析方法 | |
CN105227385B (zh) | 一种故障处理的方法及系统 | |
CN105453496A (zh) | 分组网络中具有谨慎恢复的冗余路径的自动建立 | |
JP5941404B2 (ja) | 通信システム、経路切替方法及び通信装置 | |
JP5764820B2 (ja) | 伝送システムおよび伝送システムの制御方法 | |
EP3316555B1 (en) | Mac address synchronization method, device and system | |
US10439929B2 (en) | Graceful recovery of a multicast-enabled switch | |
JP5518754B2 (ja) | ネットワークノード | |
CN104769896A (zh) | 用于虚拟机架系统中的直通模式的系统和方法 | |
EP3917086B1 (en) | Network topology discovery method, device, and system | |
EP3761563A1 (en) | Device and method for network resource management in network function virtualization environment | |
CN109088830B (zh) | 一种端口状态同步方法及装置 | |
JP2000242585A (ja) | 大規模ネットワーク遠隔管理方法および大規模ネットワーク遠隔管理プログラムを記録した記録媒体 | |
CN106878051A (zh) | 一种多机备份实现方法及装置 | |
CN101488901A (zh) | 网络系统、生成树构成方法、生成树构成节点和生成树构成程序 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |