CN102546385A - 交换机分布式控制面内自动供应资源的方法和装置 - Google Patents

交换机分布式控制面内自动供应资源的方法和装置 Download PDF

Info

Publication number
CN102546385A
CN102546385A CN2011103191562A CN201110319156A CN102546385A CN 102546385 A CN102546385 A CN 102546385A CN 2011103191562 A CN2011103191562 A CN 2011103191562A CN 201110319156 A CN201110319156 A CN 201110319156A CN 102546385 A CN102546385 A CN 102546385A
Authority
CN
China
Prior art keywords
edge device
network control
control entity
network
edge
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.)
Granted
Application number
CN2011103191562A
Other languages
English (en)
Other versions
CN102546385B (zh
Inventor
Q·沃赫拉
R·舍卡尔
U·孔杜尔
A·萨卡尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jungle Network
Juniper Networks Inc
Original Assignee
Jungle Network
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US12/969,057 external-priority patent/US9240923B2/en
Application filed by Jungle Network filed Critical Jungle Network
Publication of CN102546385A publication Critical patent/CN102546385A/zh
Application granted granted Critical
Publication of CN102546385B publication Critical patent/CN102546385B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/65Re-configuration of fast packet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及交换机分布式控制面内自动供应资源的方法和装置。在一些实施例中,网络管理模块可操作地耦合到一组边缘设备,该组边缘设备耦合到一组外围处理设备。网络管理模块可以从这组边缘设备中的边缘设备接收与广播协议相关的信号,以响应该可操作地耦合到交换结构的边缘设备。网络管理模块能供应该边缘设备以响应接收信号。网络管理模块可以定义这组边缘设备上的多个网络控制实体,使得多个网络控制实体中的每个网络控制实体能够使用选择性协议向多个网络控制实体中的至少一个剩余网络控制实体提供与这组外围处理设备中的至少一个外围处理设备相关的转发状态信息。

Description

交换机分布式控制面内自动供应资源的方法和装置
技术领域
在此描述的一些实施例通常涉及分布式交换结构系统,尤其涉及在分布式交换结构系统内自动供应资源和传输转发状态信息。
背景技术
一些公知组网系统(networking system)使用目标路由协议在组网系统内不同节点之间分发转发状态信息。但是,这些公知组网系统不能自动供应组网系统的节点。类似地,这些公知组网系统不能自动将每个节点的标识符和/或地址供应给组网系统内的其它节点。因此,为了在组网系统内的节点间传输转发状态信息,系统管理员手动地为组网系统内的每个节点配置组网系统中其余节点的地址和/或标识符。
在具有大量节点的组网系统和/或其中拓扑频繁变化的组网系统中,在系统内手动地配置每个节点会是时间和/或劳动密集的。此外,在手动配置期间,系统管理员可能会不小心把错误输入配置文件。
因此,需要自动供应交换结构系统的装置和方法,使得交换结构系统内的节点能够使用目标协议交换转发状态信息。
发明内容
在一些实施例中,网络管理模块可操作地耦合到一组边缘设备,该组边缘设备又耦合到一组外围处理设备。网络管理模块可从那组边缘设备中的边缘设备接收与广播协议相关的信号,以响应该边缘设备可操作地耦合到交换结构。响应于接收到该信号,网络管理模块可以供应那个边缘设备。网络管理模块可以在一组边缘设备上定义多个网络控制实体,使得多个网络控制实体中的每一个网络控制实体可以使用选择性协议向多个网络控制实体中的至少一个剩余网络控制实体供应转发状态信息,该转发状态信息与这组外围处理设备中的至少一个外围处理设备相关。
附图说明
图1是根据实施例的交换结构系统的示意图。
图2是根据另一个实施例的边缘设备的示意图。
图3是根据另一个实施例的,在供应之前的交换结构系统的控制面的示意图。
图4是供应之后的图3的交换结构系统的控制面的物理拓扑示意图。
图5是供应之后的图4的交换结构系统的控制面的逻辑拓扑示意图。
图6是示意了根据另一个实施例,分别使用广播协议和选择性协议在边缘设备之间传输启动信号和转发状态信息的方法流程图。
具体实施方式
在一些实施例中,网络管理模块可操作地耦合到一组边缘设备,该组边缘设备耦合到一组外围处理设备。网络管理模块可以从一组边缘设备中的边缘设备接收与广播协议相关的信号,以响应该边缘设备可操作地耦合到交换结构。响应于接收到该信号,网络管理模块可以供应那个边缘设备。网络管理模块可以在一组边缘设备上定义多个网络控制实体,使得多个网络控制实体中的每一个网络控制实体可以使用选择性协议向多个网络控制实体的至少一个剩余网络控制实体中供应转发状态信息,该转发状态信息与外围处理设备组中的至少一个外围处理设备相关。
通过使用广播协议自动供应每个边缘设备,能自动向交换结构系统中其余网络控制实体供应与每个网络控制实体相关的标识符和/或地址。因此,交换结构系统内的每个网络控制实体可以向交换结构系统内其余网络控制实体供应转发状态信息,而不需要系统操作者和/或管理员对等地(as peers)手动配置网络控制实体。例如,通过类型长度值(TLV)字段,中间系统到中间系统(IS-IS)可用来将网络控制实体配置为边界网关协议(BGP)对等点。然后BGP格式的消息可以用于在网络控制实体之间传输转发状态信息。
在一些实施例中,非临时性处理器可读介质存储代码,所述代码表示使处理器发送第一信号的指令,该第一信号表明边缘设备已可操作地耦合到定义了多个虚拟交换结构系统的交换结构系统。所述第一信号基于广播协议。所述代码表示使处理器从网络管理模块接收第二信号的指令。所述第二信号使边缘设备启动该边缘设备处的第一网络控制实体。所述第二信号向第一网络控制实体分配一个设备标识符和一个虚拟交换结构系统标识符,所述虚拟交换结构系统标识符与多个虚拟交换结构系统中的一个虚拟交换结构系统相关。第一网络控制实体至少管理这个边缘设备的一部分。所述代码表示指令,所述指令使处理器使用选择性协议,利用第一网络控制实体,向与虚拟交换结构系统相关的第二网络控制实体发送与可操作地耦合到该边缘设备的外围处理设备相关的转发状态信息。
在一些实施例中,交换结构系统包括一组边缘设备,该组边缘设备与网络相关并且可操作地耦合到一个交换结构和多个外围处理设备。当边缘设备组中的第一边缘设备开始耦合到网络时,第一边缘设备可以向与网络相关的一组设备发送广播信号。网络管理模块可以自动供应该组边缘设备中的第一边缘设备,以响应接收到该广播信号。网络管理模块在这组边缘设备中的第一边缘设备处定义第一网络控制实体,在这组边缘设备中的第二边缘设备处定义第二网络控制实体。多个外围处理设备中的第一组外围处理设备与第一网络控制实体相关,多个外围处理设备中的第二组外围处理设备与第二网络控制实体相关。第一网络控制实体使用选择性协议向第二网络控制实体发送与所述第一组外围处理设备相关的转发状态信息。
这里示出和描述的实施例经常有关多层来讨论(比如:数据链路层、网络层、物理层、应用层,等等)。这些层由开放系统互联(OSI)模型所定义。因此,与数据链路层相比,物理层可以是较低级的层。此外,与网络层和应用层相比,数据链路层是较低级的层。更进一步地,不同的协议可与OSI模型内的不同的层相关和/或在OSI模型内的不同的层执行。例如,因特网协议、光纤信道协议和/或基于信元的协议(例如,通信网络的数据平面部分内使用)可以与数据链路层相关和/或在数据链路层实施,但边界网关协议(BGP)可与较高级的层相关和/或在较高级的层上实施,诸如例如,应用层。例如,当BGP在应用层上实施时,可使用BGP来发送转发状态信息,所述转发状态信息用于填充(populate)与网络层相关的路由表。
如这里所用,术语“物理跳(physical hop)”可包括两个模块和/或设备之间的物理链接。比如,可操作地耦合第一模块和第二模块的通信路径称为物理跳。类似描述,物理跳可以物理链接第一模块和第二模块。
如这里所用,术语“单物理跳”可包括系统内两个模块和/或设备之间的直接物理连接。类似描述,单物理跳可以包括一个链接,两个模块通过该链接耦合在一起,而不需中间模块。因此,例如,如果第一模块通过单物理跳耦合到第二模块,则第一模块可以直接向第二模块发送数据包,而不需通过中介模块(intervening module)发送数据包。
如这里所用,术语“单逻辑跳”意味着一个物理跳或一组物理跳,该物理跳是与第一协议(例如,第一数据链路层协议)相关的网络拓扑内的单跳。类似描述,根据与第一协议相关的网络拓扑,第一模块和/或设备通过该物理跳和/或该组物理跳可操作的耦合到第二模块和/或设备,中间不存在中介节点。无论第一设备和第二设备之间的物理跳的数量如何,通过单逻辑跳连接到第二模块和/或设备的第一模块和/或设备可使用与第一协议以及第二模块和/或设备相关的目标地址,向第二模块和/或设备发送数据包。例如,在一些实施例中,第二协议(例如,第二数据链路层协议)能够使用第一协议(第一数据链路层协议)的目标地址,通过单逻辑跳,建立从第一模块和/或设备发往第二模块和/或设备的数据包和/或信元的路由。类似描述,当第一个模块和/或设备通过第一协议的单逻辑跳向第二模块和/或设备发送数据时,第一模块和/或设备将单逻辑跳视为它直接向第二模块和/或设备发送数据。例如,在一些实施例中,第一个协议可以是基于包的数据链路层协议(也就是说,其传输可变长度数据包和/或帧),并且第二协议可以是基于信元的数据链路层协议(也就是说,其传输固定长度数据信元和/或帧)。
在一些实施例中,交换结构可以具有单逻辑跳的部分的功能(例如,单个大尺寸合并层-2(L2)/层-3(L3)交换机)。例如,部分交换结构可以物理地分布到许多通过多个物理跳相互连接的机箱和/或模块。例如,在一些实施例中,交换结构的处理阶段可以包含于第一机箱,而交换结构的另一个处理阶段可以包含于第二机箱。两个处理阶段都可以逻辑地具有单个合并交换机的部分的功能(例如,根据第一协议在同一个逻辑跳内),但是在成对的各处理阶段之间包括一个单独的单物理跳。类似描述,交换结构中的每个阶段可以通过物理链接连接到邻近的阶段,而共同地作为一个与用于向该交换结构之外路由数据的协议相关的单逻辑跳。此外,无需在单逻辑跳内的每个阶段进行与用于向单逻辑跳之外路由数据的协议(例如,因特网)相关的包分类和转发。例如,在一些实施例中,可以在模块和/或设备通过单逻辑跳向另一模块/设备发送数据包之前,进行与第一协议(例如,因特网)相关的包分类和转发。
如本说明书中所使用,除非上下文清楚地显示不包括,单数术语“一”、“一个”和“该”都包括复数。例如,因此术语“一个模块”意在表示单个模块或模块的组合。
图1是根据实施例的交换结构系统100的示意图。交换结构系统100包括交换结构102、网络管理模块160和多个边缘设备182、184、186。交换结构系统100可操作地与多个外围处理设备114、124、134互相耦合。如将要进一步描述的,外围处理设备114、124、134可以是,例如,计算节点(compute node)、服务节点(service node)、路由器和存储节点。例如,在一些实施例中,外围处理设备114、124、134包括服务器、存储设备、网关、工作站和/或等。
例如,外围处理设备114、124、134可通过使用任何合适的连接,比如例如光连接(例如,光缆和光连接器)、电气连接(例如,电缆和电连接器)等,可操作地耦合到交换结构系统100的边缘设备182、184、186。这样,外围处理设备114、124、134可以通过边缘设备182、184、186向交换结构系统100发送数据(例如,数据包、数据信元,等),并且从交换结构系统100接收数据。在一些实施例中,外围处理设备114、124、134和边缘设备182、184、186之间的连接是直接链接。这种链接称为单物理跳链接。在其他实施例中,外围处理设备通过中间模块可操作地耦合到边缘处理设备。这种连接可称为多物理跳链接。
每个边缘设备182、184、186可以是将外围处理设备114、124、134可操作地耦合到交换结构102的任意设备。例如,在一些实施例中,边缘设备182、184、186可以是接入交换机、输入/输出模块、顶架式(top-of-rack)设备和/或等。结构上,边缘设备182、184、186可作为源边缘设备和目的边缘设备。因此,边缘设备182、184、186可以向交换结构102发送数据(例如,数据包和/或数据信元的数据流),从交换结构102接收数据,并且可以向连接的外围处理设备114、124、134发送或从其接收数据。
在一些实施例中,边缘设备182、184、186可以是硬件模块和软件模块(在硬件中执行)的组合。例如,在一些实施例中,每个边缘设备182、184、186可以包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、数字信号处理器(DSP)和/或等。
每个边缘设备182、184、186可以通过交换结构102与其它的边缘设备182、184、186通信。特别地,交换结构102以相对低的延迟在边缘设备182、184、186之间提供任意到任意的(any-to-any)连接。例如,交换结构102可以在边缘设备182、184、186之间传输(例如,传递)数据。在一些实施例中,交换结构102可至少有成百上千个端口(例如,出口端口和/或入口端口),如边缘设备182、184、186的那些边缘设备通过这些端口可以传输和/或接收数据。
图2是类似于边缘设备182、184、186的边缘设备200的系统框图。边缘设备200包括处理器251、存储器252、线卡(line card)210、线卡220和端口231。处理器251可操作地耦合到存储器252、线卡210、线卡220和端口231。线卡210包括端口211和212。线卡220包括端口221和222。在一些实施例中,线卡210和/或220包括一个或多个处理器和/或存储器(未示出)。
端口211、212、221和222可类似于可操作地耦合到外围处理设备114、124、134的边缘设备182、184、186的端口。例如,端口211、212、221和222可以通过使用经由电缆的双绞线电信令或经由光纤缆的光纤信令执行物理层。在一些实施例中,一些端口211、212、221和222执行一种物理层,如双绞线电信令,其余的端口211、212、221和222则执行另一种物理层,如光纤信令。而且,可以配置端口211、212、221和222,以允许边缘设备200通过诸如以太网或光纤信道的公共协议与外围处理设备,比如例如,计算机服务器(服务器),进行通信。在一些实施例中,一些端口211、212、221和222执行的一种协议,如以太网,其余的端口211、212、221和222则执行另一种协议,如光纤信道。因此,边缘设备200可以使用同质或异质的物理层和/或协议,经由端口211、212、221和222,与多个外围处理设备通信。
端口231可以被配置为通过一种通信网络,如交换结构102,同其他边缘设备通信。端口231可以是一个或多个网络接口设备(例如,40吉位(Gb)以太网接口、100Gb以太网接口,等等)的一部分,边缘设备200可以通过这些网络接口设备向通信网络发送信号,和/或从通信网络接收信号。通过可操作地耦合到边缘设备200上的电气链接、光链接和/或无线链接,可以向通信网络发送信号,和/或从通信网络接收信号。在一些实施例中,基于一种或多种协议(例如,以太网协议、多协议标签交换(MPLS)协议、光纤信道协议、光纤信道上(Fibre-channel-over)以太网协议、涉及无限带宽(Infiniband-related)的协议、基于信元的协议),可以配置边缘设备200向通信网络发送信号,和/或从通信网络接收信号。
在一些实施例中,端口231可以执行不同于在端口211、212、221和222上执行的物理层和/或协议。例如,端口211、212、221和222可配置为使用基于数据包的数据链路层协议与外围处理设备通信,而端口231则配置为使用基于数据信元的数据链路层协议经由交换结构(例如,交换结构102)通信。换句话说,边缘设备200可以是如分布式网络交换机的网络交换机的边缘设备。
在一些实施例中,边缘设备200被配置为准备数据包(例如,以太网帧和/或包)以进入通信网络(例如,交换结构102)的数据平面部分。例如,边缘设备200可以被配置为在向通信网络发送数据包之前,对该数据包进行转发、分类和/或修改包的封装(例如,修改、添加和/或除去包含在数据包内的头部分、尾部分和/或任意其它的标识符)。此外,边缘设备200可以被配置为在向交换结构发送数据信元之前,将数据包划分和/或分割成数据信元(例如,具有固定长度的有效载荷)。2008年9月30日提出的、标题为“Methods and ApparatusRelated to Packet Classification Associated with a Multi-Stage Switch”、序列号为NO.12/242168的美国专利申请,和2008年9月30日提出的、标题为“Methodsand Apparatus for Packet Classification Based on Policy Vectors”、序列号为NO.12/242172的美国专利申请描述了涉及包分类的另外的细节,此处将这两个专利申请整体引入作为参考。
返回图1,边缘设备182、184、186可控制(host)一个或多个网络控制实体192、194、196,以管理边缘设备182、184、186的端口。例如,如此处进一步详述,边缘设备182可控制网络控制实体192来管理与外围处理设备114耦合的端口,边缘设备184可控制网络控制实体194来管理与外围处理设备124耦合的端口,及边缘设备186可控制网络控制实体196来管理与外围处理设备134耦合的端口。这样,外围处理设备114、124、134可以说是与网络控制实体192、194、196分别相关。每个网络控制实体192、194、196可以是在边缘设备182、184、186处分别执行的过程、应用、虚拟机和/或一些其它的软件模块(在硬件内执行),或者硬件模块。
每个网络控制实体192、194、196可以通过网络控制实体192、194、196管理的一组端口的控制面,发送和/或分发转发状态信息(例如,端口标识符、网段标识符、外围处理设备标识符、边缘设备标识符、数据平面模块标识符、下一跳参考、下一跳标识符,等等)。例如,如此处进一步的详论,网络控制实体196可以通过控制面向网络控制实体194发送转发状态信息,该转发状态信息和与外围处理设备134’耦合的边缘设备182上的端口相关。使用接收到的转发状态信息,边缘设备184通过交换结构102可以寻址,并向边缘设备186发送从外围处理设备124’接收的数据包。
在一些实施例中并且如这里进一步的详述,网络控制实体196可以使用诸如例如网关边界协议(BGP)的目标高级协议(例如,应用层协议),向网络控制实体194发送转发状态信息。在这类实施例中,网络控制实体196可以结合使用高级协议和任意合适的低级协议(例如,数据链路层协议),例如,如以太网和/或光纤信道,发送转发状态信息。当BGP在应用层上执行时,它可用于发送用于填充与网络层相关的路由表(例如,在网络控制实体194处)的转发状态信息。网络控制实体192可以使用如BGP的目标协议,向特定的网络控制实体(例如,194)发送转发状态信息,而同时避免向其它的网络控制实体(例如,192)发送转发状态信息。
在一些实施例中,网络控制实体192、194、196可以控制和/或管理该网络控制实体192、194、196所位于的边缘设备182、184、186上的端口。在其他实施例中,网络控制实体也能控制和/或管理并非该网络控制实体所位于的边缘设备上的端口和/或数据平面模块。在这类实施例中,如这里进一步的详述,网络管理模块160基于处理能力灵活地向网络控制实体192、194、196分配每个端口。此外,在这类实施例中,当向网络控制实体192、194、196分配端口时,网络管理模块160并不受网络控制实体192、194、196和/或端口的物理位置限制。此外,虽然每个边缘设备182、184、186在图1中被示为控制单个网络控制实体192、194、196,然而在另外的实施例中,每个边缘设备182、184、186可以控制和/或包括任意数量的网络控制实体。
在一些实施例中,与多个网络控制实体192、194、196相关的端口可以形成虚拟交换结构系统。这个虚拟交换结构系统可以是一组网络控制实体(和他们的相关端口)和/或网络控制实体的集合(和他们的相关端口),所述网络控制实体与虚拟交换结构系统中的其它网络控制实体共享转发状态信息,而不与同一虚拟交换结构系统外部的那些网络控制实体共享。在网络控制实体192、194、196和/或网络管理模块160上实施的规则和/或策略可以阻止和/或限制第一虚拟交换结构系统的网络控制实体向第二虚拟交换结构系统的网络控制实体发送转发状态信息。因此,由于转发状态信息不在第一虚拟交换结构系统的网络控制实体和第二虚拟交换结构系统的网络控制实体之间交换,可操作地耦合到与第一虚拟交换结构系统的网络控制实体相关的端口的外围处理设备不向可操作地耦合到与第二虚拟交换结构系统的网络控制实体相关的端口的外围处理设备发送数据包。例如,分配给第一虚拟交换结构系统的第一机构(organization)可以保护通过交换结构102传输的数据不被传送到和/或不被与第二虚拟交换结构系统相关的第二机构观看。网络管理模块160向给定的虚拟交换结构系统中的每个网络控制实体分配虚拟交换结构标识符。在一些实施例中,虚拟交换结构标识符可由网络管理模块160供应。在一些实施例中,虚拟交换结构系统也可称为网段、子网或虚拟网络。
在一些实施例中,网络管理模块160可以是过程、应用、虚拟机和/或一些其它的软件模块(在硬件中执行),或者在计算节点(图1中未示出)、边缘设备182、184、186和/或交换结构系统100中的任何其它设备处执行的硬件模块。在其它的实施例中,网络管理模块160可包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、数字信号处理器(DSP)和/或等。尽管网络管理模块160可以被逻辑上集中,但是,例如为了可靠,网络管理模块160的执行可被高度地分布。例如,网络管理模块160的各部分可物理地分布到例如多个机箱。
通过交换结构系统100的控制面(图1中未示出),网络管理模块160可操作地耦合到边缘设备182、184、186。在一些实施例中,这个控制面可包括网络管理模块160和边缘设备182、184、186之间的直接、单物理跳连接。在其它的实施例中,控制面可包括多物理跳网络,该网络可操作地将网络管理模块160与边缘设备182、184、186耦合。
当边缘设备182、184、186最初耦合到交换结构系统100时,网络管理模块160可以供应边缘设备182、184、186。更具体地,如在这里进一步的详述,当边缘设备最初连接到交换结构系统100时,网络管理模块160可向这个新连接的边缘设备分配设备标识符。例如,这个设备标识符可以是物理地址(例如,媒体访问控制(MAC),等)、逻辑地址(例如,因特网协议(IP),等)和/或其它任何合适的地址。在一些实施例中,使用动态地址分配协议(例如,动态主机配置协议(DHCP),等)分配设备标识符。如此处进一步的细述,使用例如像中间系统到中间系统(IS-IS)协议的广播协议,可以将启动信号和/或供应信号进行格式化并且从边缘设备182、184、186向网络管理模块160或者从网络管理模块160向边缘设备182、184、186分别发送。在这类实施例中,可将供应信息编码为启动信号和/或供应信号里的类型长度值(TLV)元素。
在一些实施例中,网络管理模块160可为新连接的边缘设备分配标识符和/或将其它的标识符与新连接的边缘设备相关联。例如,在一些实施例中,网络管理模块160可以分配虚拟交换结构系统标识符,将边缘设备与特定的虚拟交换结构系统关联起来。在其它的实施例中,网络管理模块160可将任意其它的标识符和/或关联分配给新连接的边缘设备。
在一些实施例中,网络管理模块160也能监视每一个网络控制实体182、184、186的可用处理能力,并且当网络控制实体182、184、186的可用处理能力越过(例如,低于)第一阈值和/或越过(例如,超过)第二阈值时,分别启动和/或终止网络控制实体182、184、186。这种网络控制实体的启动和终止可与2010年12月15日提出申请并且标题为“Method and Apparatus for DynamicResource Management within a Distributed Control Plane of a Switch”的共同未决美国专利申请No.12/968,848中的描述相类似,这里将该申请整体引入作为参考。此外,当网络控制实体182、184、186的可用处理能力波动时,网络管理模块160可以向不同的网络控制实体重新指定端口。
交换结构102可以是可操作地将边缘设备182、184、186耦合到其它的边缘设备182、184、186的任意合适的交换结构。例如,在一些实施例中,交换结构102可以是具有多阶段的交换模块(例如,集成因特网交换机)的Clos网络(例如,非阻断Clos网络、严格意义的非阻断Clos网络、Benes网络)。例如,在一些实施例中,图1所示的交换结构102可包括任意数量的阶段。例如,在这类实施例中,交换结构102可包括5个、7个或9个阶段。例如,交换结构102可以是数据中心的核心部位的一部分,该核心部位类似于整体引入作为参考的序列号为NO.12/495337、2009年6月30日提出申请并且标题为“Method andApparatus Related to Any-to-Any Connectivity within a Data Center”的共同未决的美国专利申请描述的数据中心的核心部位。
在一些实施例中,交换结构102可以是(例如,可作为)单个合并交换机(例如,单个大尺寸合并L2/L3交换机)。换句话说,交换结构102可以作为单独的逻辑实体(例如,单独的逻辑网络元件)操作。类似描述,交换结构102可以是第一边缘设备182、184、186和第二边缘设备182、184、186之间的单逻辑跳(例如,沿着边缘设备182、184、186和交换结构102之间的数据路径)的一部分。交换结构102可以连接(例如,便于在外围处理设备之间通信)外围处理设备114、124、134。在一些实施例中,交换结构102可以通过以至少每秒10Gb的速率传输数据的接口设备(未示出)进行通信。在一些实施例中,交换结构102可以经由接口设备(例如,光纤信道接口设备)进行通信,该接口设备以例如每秒2Gb、4Gb、8Gb、10Gb、40Gb、100Gb和/或更快的链接速度的速率传输数据。
尽管交换结构102可以是逻辑集中的,但是,例如为了可靠,交换结构102的实施可以是高度分布的。例如,交换结构102的各部分可以物理分布到例如多个机箱。例如,在一些实施例中,交换结构102的一个处理阶段可包含于第一机箱,而交换结构102的另一个处理阶段可包含于第二机箱。两个处理阶段逻辑上都可以作为单独合并交换机(例如,在同一个逻辑跳内)的一部分,但在各对处理阶段之间都具有单独的的单物理跳。
在使用中,当边缘设备(例如,边缘设备186)最初连接到交换结构系统100时,那个边缘设备186可以使用广播协议(例如,中间系统(IS-IS)、开放最短路径优先(OSPF),等等)通过控制面向连接到控制面的其它设备(例如,网络管理模块160、边缘设备182、184、186)传输启动信号,以表明和/或广告它的存在。如这里进一步详述的,网络管理模块160将供应信号发送回边缘设备186。如上面和这里进一步详述的,这个供应信号能够向边缘设备186提供设备标识符和/或任意其它合适的标识符和/或信息。此外,在一些实施例中,供应信号能够启动边缘设备186上的网络控制实体196,并且将网络控制实体196分配给虚拟交换结构系统。在将网络控制实体196分配给虚拟交换结构时,网络管理模块160也能向网络控制实体196提供该虚拟交换结构系统内的每个其它网络控制实体的地址和/或标识符。在另外的实施例中,供应信号可以将边缘设备186上的端口分配给其它的边缘设备182、184上的网络控制实体。如这里进一步的详述,在一些实施例中,在IS-IS消息的TLV部分可以提供这种启动和/或供应信息。
供应完成后,网络控制实体196可以使用选择性协议(例如,边界网关协议和/或等)将转发状态信息提供给与同一个虚拟交换结构系统相关的其它的网络控制实体,而不提供给同一个虚拟交换结构系统外部的网络控制实体。这种转发状态信息(例如,端口标识符、网段标识符、外围处理设备标识符、边缘设备标识符、数据面模块标识符、下一跳参考、下一跳标识符,等等)包括涉及和/或与外围处理设备134相关的信息,所述外围处理设备134可操作地耦合到边缘设备186。其它网络控制实体可以将转发状态信息接收并存储于路由表、交换表和/或查找表中,所述其它网络控制实体和与边缘设备186相同的虚拟交换结构系统相关。由于使用如BGP的选择性协议向其它网络控制实体发送转发状态信息,网络控制实体196将它的转发状态信息发送给作为同一个虚拟交换结构系统的一部分的网络控制实体,而不发送给与其它的虚拟交换结构系统相关的网络控制实体。使用选择性协议也降低通信量和/或拥塞量,否则这些通信量和/或拥塞量将在交换结构系统100的控制面上。
转发状态信息在同一个虚拟交换结构系统的网络控制实体之间交换之后,网络控制实体可以将转发状态信息发送和/或存储在边缘设备的数据面模块上,所述边缘设备具有与每个网络控制实体相关的端口。例如,网络控制实体194可以将转发状态信息存储在与边缘设备184的数据面模块(未示出)相关的路由表、交换表和/或查找表内。更具体地,网络控制实体194可将转发状态信息存储在边缘设备184上的存储器内(例如,图2的存储器252),该存储器可被边缘设备184上的数据面模块访问。
也可经由交换结构系统100在与同一虚拟交换结构系统相关的外围处理设备114、124、134之间发送数据包(例如,以太网包)。例如,经由通过交换结构系统100的数据面的路径195,可从第一外围处理设备124’向第二外围处理设备134’发送数据包。外围处理设备124’向边缘设备184的数据面模块(未示出)传输数据包。这个数据包包括具有目的外围处理设备134’的设备标识符的报头。边缘设备184的数据面模块可以从存储于边缘设备184存储器中的查找表、路由表和/或交换表中检索出与外围处理设备134’相关的转发状态信息。更具体地,边缘设备184上的数据面模块可使用与外围处理设备134’相关的且在数据包头部分的目的标识符,从查找表、路由表和/或交换表中查询适当的转发状态信息。然后数据面模块可以将该转发状态信息追加到数据包,并且将该数据包发送到交换结构102。交换结构可使用追加的转发状态信息,通过交换结构向边缘设备186路由和/或交换数据包。然后边缘设备186准备并且向外围处理设备134’发送数据包。
在一些实施例中,向交换结构102发送之前,边缘设备184将数据包分割和/或划分成一个或多个数据信元(例如,固定长度的数据帧)。所述信元可经由交换结构102转发、路由和/或交换到边缘设备186。向外围处理设备134’发送数据包之前,边缘设备186可以将数据信元重组成数据包。
图3-5是根据实施例的类似于交换结构系统100的交换结构系统的控制面300的系统框图。图3示意了边缘设备320的供应期间的控制面300。边缘设备310、320、330类似于边缘设备182、184、186和200,并且网络管理模块355类似于上面关于图1和2所描述的网络管理模块160。如图3所示,网络管理模块355位于(host)计算机设备350。例如,计算机设备350可以包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、数字信号处理器(DSP)和/或等。在一些实施例中,计算机设备350是具有运行存储于存储器中的执行网络管理模块355的软件的处理器的服务器。
数据路径305可操作地使边缘设备310、320、330和计算机设备350互相耦合。数据路径305可包括光链接、电气链接、无线链接和/或等。因此,经由控制面连接(即,数据路径305),边缘设备310、320、330和/或计算机设备350向其它的边缘设备310、320、330和/或计算机设备350可发送信号,和/或从其它的边缘设备310、320、330和/或计算机设备350接收信号。在一些实施例中,并且如图3所示,边缘设备310、320、330和计算机设备350之间的连接(即,数据路径305)是直接链接。这种链接可称为单物理跳链接。在另一些实施例中,每对边缘设备之间和/或边缘设备与计算机设备之间的连接,可经由例如使用路由反射器(例如,BGP路由反射器)和/或网络内其它节点的中间模块。这种连接可称为多物理跳链接。在这类实施例中,控制面300是分层的,类似于整体引入作为参考的2010年12月15日提出申请并且标题为“Methods andApparatus Related to a Switch Fabric System having a Multi-Hop DistributedControl Plane and Single-Hop Data Plane”的共同未决的美国专利申请No.12/968,957示出和描述的控制面。
在一些实施例中,网络管理模块355的地址和/或标识符(例如,MAC地址、IP地址等)可以是动态的。类似描述,网络管理模块355的地址和/或标识符不固定并且每次重新启动和/或重新配置网络管理模块355和计算机设备350时可变化。以这种方式,网络管理模块355的地址可以根据特定交换结构系统的特征和/或需要改变和/或建立。在另外的实施例中,网络管理模块355的地址和/或标识符可以是固定的,使每次重新启动和/或重新配置计算机设备350,它都保持不变。
此外,如这里进一步的详述,可以配置网络管理模块355来监听经由固定多播地址上的控制面发送的启动信号(例如,启动信号362)。在一些实施例中,所述多播地址在每次重新启动和/或重新配置网络管理模块355和/或计算机设备350时是相同的。在另外的实施例中,固定多播地址可以是动态的,使得每次重新启动和/或重新配置网络管理模块355和/或计算机设备350时都不相同。
在使用中,网络管理员和/或其它的用户可以物理地将边缘设备(例如,边缘设备320)耦合到交换结构系统。这种物理连接将边缘设备320与交换结构系统的控制面300内的计算机设备350以及其它的边缘设备310、330耦合起来。类似描述,在边缘设备320与计算机设备350以及其它的边缘设备310、330之间建立了物理连接(例如,数据路径305)。此外,在一些实施例中,当网络管理员和/或其它用户物理地将边缘设备320耦合到交换结构系统时,可将边缘设备320可操作地耦合到交换结构系统(例如,类似于交换结构102的交换结构)的数据面。
边缘设备320物理地耦合到交换结构系统之后,边缘设备320可以在控制面300内使用广播协议(例如,IS-IS、OSPF等)向固定多播地址上的其它设备(例如,边缘设备310、330和计算机设备350)发送启动信号362。类似描述,边缘设备320可通过控制面300广播它在交换结构系统中的存在。如上所述,由于使用广播协议(例如,IS-IS、OSPF等)发送启动信号,网络管理模块355可以具有动态的地址和/或标识符。在另外的实施例中,网络管理模块355具有固定的地址和/或标识符,并且使用目标协议向那个地址发送启动信号(例如,向网络管理模块355发送而不向其它边缘设备310、330发送启动信号)。
启动信号362可以包括任何由网络管理模块355使用来供应边缘设备320的合适的信息。例如,在一些实施例中,启动信息可以包括边缘设备320的端口的类型(例如,光纤信道、以太网等)、边缘设备320的端口的速度、与可操作地耦合到边缘设备端口的外围处理设备相关的信息、边缘设备320耦合到的交换结构系统的端口、插槽和/或机箱,等。
在一些实施例中,这种启动信息可包含于IS-IS消息的类型长度值(TLV)部分。消息的TLV部分可通过表明数据类型(例如,端口的类型、端口的速度等)、数据长度(例如,大小)来表示数据,后跟数据值(例如,指示端口类型、端口速度等的标识符)。因此,使用消息的TLV部分,网络管理模块可以容易地解析启动信息的类型、长度和值。
网络管理模块355能够主动监听和/或监控固定多播地址上的启动信号,如启动信号362。因此,当边缘设备320在该固定多播地址上发送启动信号362时,网络管理模块355可以接收启动信号362。在一些实施例中,其它的边缘设备310、330可配置为丢弃固定多播地址上接收的启动信号。在另外的实施例中,其它的边缘设备310、330可以接收固定多播地址上的启动信号,并存储包含于其中的信息。
基于启动信号362,网络管理模块355可以供应边缘设备320。例如,在一些实施例中,网络管理模块355可以将设备标识符和/或地址分配给边缘设备320和/或边缘设备320的端口。此外,如图4和5所示,并且如这里进一步的详述,网络管理模块355也可启动边缘设备320上的一个或多个网络控制实体321、322,并且将边缘设备320上的端口325-328分配给网络控制实体321、322。此外,网络管理模块355可以将另一个边缘设备310上的一个或多个端口315分配给边缘设备320上的一个或多个网络控制实体322。类似地,也可将边缘设备320上的一个或多个端口分配给另一个边缘设备上的网络控制实体。网络管理模块355也可向边缘设备320上的将被启动的网络控制实体321、322分配地址和/或标识符(例如,MAC地址和/或IP地址),以及将网络控制实体321、322分配给虚拟的交换结构系统。在一些实施例中,网络管理模块355可以向网络控制实体321、322分配标识符,从所述标识符中每一个网络控制实体321、322可以推导出MAC地址和/或IP地址。
返回图3,响应于启动信号362,网络管理模块355可以向边缘设备310、320、330发送这种供应信息、规则、策略和/或指令。具体地,使用广播协议(例如,IS-IS、OSPF等),可以向每个边缘设备310、320、330发送包含这些信息的供应信号364。类似于启动信息,在一些实施例中,这种供应信息、规则、策略和/或指令可编码为IS-IS消息的TLV部分。在这些实施例中,边缘设备310、320、330可容易地解析供应信息。
在一些实施例中,供应信号364被发送到与启动信号362相同的多播地址。在另一些实施例中,供应信号364被发送到不同于启动信号362的多播地址。在任一实施例中,边缘设备310、320、330(和/或边缘设备310、320、330上的网络控制实体312、321、322、332)可监听和/或监控合适的多播地址,以接收供应信号364。如这里进一步的详述,使用这种广播协议使得交换结构系统能够被自动供应,使得交换结构系统内的网络控制实体可使用如边界网关协议(BGP)的目标协议共享转发状态信息。类似描述,边缘设备310、320、330上的网络控制实体312、321、322、332上的路由表可以被自动填入其它网络控制实体312、321、322、332的地址和/或标识符。这样,系统管理员不需手动地将网络控制实体312、321、322、332配置为BGP对等点。
例如,一旦接收这种供应信息,边缘设备320可以启动网络控制实体321、322,和/或其它边缘设备310、330可存储网络控制实体321、322的地址和/或标识符。在一些实施例中,经由供应信号364,可以向将被供应的边缘设备320和/或其它边缘设备310、330提供任意其它的合适规则、策略和/或标识符。
在一些实施例中,在存储和/或执行供应信号364内的信息和/或指令之前,边缘设备310、330可以解析接收的供应信号364以获得虚拟交换结构标识符,该虚拟交换结构标识符与边缘设备320要上启动的网络控制实体321、322相关。如果边缘设备310或330不具有与相同于网络控制实体321、322其中之一的虚拟交换结构系统相关的网络控制实体,则那个边缘设备310或330可丢弃供应信号364。可选地,如果那个边缘设备310或330包括与相同于至少一个网络控制实体321、322的虚拟交换结构系统相关的网络控制实体,则那个边缘设备310或330可存储和/或执行供应信号364的有关部分。
在边缘设备320已被供应(例如,被启动的网络控制实体321、322,对其它边缘设备310、330和/或网络控制实体312、332可用的边缘设备320和/或网络控制实体321、322的地址和/或标识符,执行的规则和/或策略,等)之后,其它边缘设备310和/或其它边缘设备310、330上的网络控制实体312、332可以向边缘设备320和/或网络控制实体321、322发送地址和/或标识符。在一些实施例中,与相同于网络控制实体321、322的虚拟交换结构系统相关的网络控制实体向网络控制实体321、322发送这种信息,然而不与同一虚拟交换结构系统相关的网络控制实体不发送这种信息。在一些实施例中,可以类似于使用如BGP的目标协议发送转发状态信息来发送这种信息。在另外的实施例中,使用如IS-IS的广播协议在多播地址上广播这种信息。边缘设备320和/或网络控制实体312、332可以以这种方式接收交换结构系统中其它边缘设备310、330的地址和/或标识符。
图4和5示意了已供应边缘设备320之后的控制面300。图4是控制面300的物理拓扑的示意图。如图4所示,边缘设备310包括端口315-318,边缘设备320包括端口325-328,边缘设备330包括端口335-337。端口315-318、325-328、335-337可以是被配置以可操作地将边缘设备310、320、330耦合到外围处理设备(未显示)的任意合适的端口。例如,在一些实施例中,端口315-318、325-328、335-337可类似于上面参考图2显示和描述的端口211、212、221和222。
每一个边缘设备310、320、330包括至少一个管理一组端口360、362、364、366的网络控制实体312、321、322、332。具体地说,边缘设备310包括管理端口组366(即,端口316-318)的网络控制实体312;边缘设备320包括管理端口组362(即,端口327和328)的网络控制实体321和管理端口组360(即,端口315、325和326)的网络控制实体322;以及边缘设备330包括管理端口组364(即,端口335-337)的网络控制实体332。虽然图4显示了每一个边缘设备310、320、330包括至少一个网络控制实体312、321、322、332,但在其它的实施例中,一些边缘设备并不包括网络控制实体。
网络控制实体可管理边缘设备的所有端口、与边缘设备相关的端口子集、或者与两个或多个边缘设备相关的一组端口的转发状态信息。例如,端口组366包括位于边缘设备310上并且被也位于端口设备310上的网络控制实体312管理的端口316、317、318。类似地,端口组362和端口组364均包括分别位于边缘设备320和边缘设备330上并且分别被网络控制实体321和332管理的端口327-328和335-337。但是,端口组360包括位于边缘设备310和边缘设备320两者上的端口315、325、326。如图4所示,位于边缘设备320上的网络控制实体322管理端口组360。在其它的实施例中,端口组的每一个端口都由网络控制实体管理,该网络控制实体不在与端口组中的端口相同的边缘设备上。
如上所述,例如,网络管理模块355可以通过经由控制面发送供应信号重新分配网络控制实体。例如,当目前分配好的网络控制实体312、322、332的可用处理能力越过阈值的时候,可把端口315-318、325-328、335-337分配给不同的网络控制实体312、322、332。在另外的实施例中,端口315-318、325-328、335-337可被重新分配给不同的网络控制实体312、322、332,以改善经由控制面部分的通信流。
外围处理设备可以可操作地耦合到边缘设备310、320、330的端口315-318、325-328、335-337。这种外围处理设备可类似于上面参考图1显示和描述的外围处理设备114、124、134。因此,外围处理设备可包括计算节点、服务节点、路由器和/或存储节点。
图5是图4的交换结构系统的控制面的逻辑拓扑的示意图。如图5所示,每个网络控制实体312、321、322、332通过逻辑连接307可操作地耦合到其它的网络控制实体312、321、322、332。这种逻辑连接307包括一个或多个物理连接、交换结构系统300内的中间节点和/或等。
每一个网络控制实体312、321、322、332可通过逻辑连接307向其它网络控制实体312、321、322、332发送转发状态信息(例如,端口标识符、网段标识符、外围处理设备标识符、边缘设备标识符、数据面模块标识符、下一跳参考、下一跳标识符,等等)。考虑下面的例子。网络控制实体321可检测到端口327处的状态变化。例如,外围处理设备(未显示)最初耦合到端口327之后,外围处理设备可向网络控制实体321发送与该外围处理设备相关的转发状态信息。在一些实施例中,这种转发状态信息可包括与外围处理设备相关的外围处理设备标识符,例如,像媒体访问控制(MAC)地址、因特网协议(IP)地址和/或等。
网络控制实体321可因此更新和/或修订它的配置表。如图5所示,然后网络控制实体321可向网络控制实体322发送更新过的转发状态信息370。例如,在一些实施例中,这种转发状态信息370可包括例如与网络控制实体321相关的端口327、328的端口标识符、与端口327的更新的状态相关的端口标识符、和与网络控制实体321相关的网段相关的网段标识符、与可操作地耦合到端口327、328的外围处理设备相关的外围处理设备标识符(例如,MAC地址、IP地址等)、与更新后的外围处理设备相关的外围处理设备标识符,和/或等。
在一些实施例中,使用例如像边界网关协议(BGP)的目标高级协议(例如,应用层协议),网络控制实体321可以向网络控制实体322发送转发状态信息。在这些实施例中,网络控制实体321可以通过将这种高级协议与任意合适的低级协议(例如,数据链路层协议),例如像以太网和/或光纤通道,结合使用来发送转发状态信息370。当BGP在应用层上执行时,它可用于发送转发状态信息以用于填充与网络层相关的路由表(例如,在网络控制实体322处)。使用如BGP的目标协议,网络控制实体321可以向特定的网络控制实体(例如,322)发送转发状态信息370,而同时避免向其它的网络控制实体(例如,312)发送转发状态信息。
在一些实施例中,网络控制实体322可将从网络控制实体321接收的转发状态信息370存储在与网络控制实体322相关的存储器内。例如,网络控制实体322可将转发状态信息370存储在网络控制实体322所位于的边缘设备320的存储器(例如,图2的存储器252)上。类似描述,响应于接收到转发状态信息370,网络控制实体322可以更新边缘设备320存储器中的配置和/或状态转发表。在一些实施例中,转发状态信息370可存储在已被分配和/或分区用于网络控制实体322的边缘设备320的部分内存里。
然后网络控制实体322可向边缘设备320、310上的数据面模块(未显示)发送更新后的转发状态信息370,与网络控制实体322相关的端口315、325、326位于边缘设备320、310上。例如,在一些实施例中,网络控制实体322可将转发状态信息370存储在已被分配和/或分区用于与数据面相关的数据、处理和/或应用的边缘设备320的部分内存内(例如,路由表内)。在这些实施例中,边缘设备320的存储器可以将转发状态信息370存储于与网络控制实体322相关的部分内存和与数据面模块相关的部分内存中。在另外的实施例中,可将转发状态信息370存储在边缘设备320的存储器可由边缘设备320(包括网络控制实体322和数据面模块)上的应用处理访问的的单独位置内。网络控制实体322也将转发状态信息370发送到边缘设备310上的数据面模块(边缘设备310上的端口315与网络控制实体322相关)。类似于边缘设备320,边缘设备310可将转发状态信息存储在存储器内(例如,路由表内)。以这种方式,可将转发状态信息分发给可应用的数据面模块。此外,以这种方式,每次更新交换结构系统的拓扑时,可更新网络控制实体312、321、322、332上的转发状态信息。
在一些实施例中,网络控制实体312可以是不同于网络控制实体321和322的虚拟交换结构系统(例如,网段)的一部分。在这些实施例中,网络控制实体321可以将转发状态信息370发送给与同一个虚拟交换结构系统相关的网络控制实体(例如,322),而避免向虚拟交换结构系统外部的和/或与另一个虚拟交换结构系统相关的网络控制实体(例如,312)发送转发状态信息。以这种方式,可在交换结构系统300内定义多个虚拟交换结构系统(例如,网段)。在另外的实施例中,网络控制实体321也可向网络控制实体312发送更新后的转发状态信息370。在这些实施例中,网络控制实体312可确定转发状态信息370与不同的虚拟交换结构系统相关,并且据此丢弃该转发状态信息370。
在将当前转发状态信息370分发给适当的网络控制实体之后,源外围处理设备可向目的外围处理设备发送数据包(例如,参见图1和它的相关描述)。例如,可操作地耦合到端口315的源外围处理设备可将数据包发送给可操作地耦合到端口327的目的外围处理设备。具体地说,可操作地耦合到端口315的源外围处理设备将数据包发送到边缘设备310的数据面模块。边缘设备310的数据面模块可解析该数据包以检索目的标识符(例如,可操作地耦合到端口327的目的外围处理设备的标识符)。使用目的标识符,边缘设备310的数据面模块可查询具有转发状态信息的查找表。所述转发状态信息可向边缘设备310的数据面模块指示目的外围处理设备可操作地耦合到边缘设备320。在一些实施例中,边缘设备310的数据面模块可附加具有边缘设备320的标识符的报头。此外,边缘设备310的数据面模块可进一步地准备(例如,分类、将数据包分成信元,等等),并且通过交换结构(例如,图1的交换结构102)向边缘设备320发送数据包。边缘设备320的数据面模块可接收数据包,并准备和发送数据包到可操作地耦合到端口327的外围处理设备。
图6是示意了根据再一个实施例分别使用广播协议和选择性协议在边缘设备之间传输启动信号和转发状态信息的方法600的流程图。方法600包括在602处使用广播协议发送第一信号,该第一信号指示边缘设备已可操作地耦合到定义多个虚拟交换结构系统的交换结构系统。如上所讨论,这种广播协议可类似于IS-IS、OSPF和/或等。在一些实施例中,将第一信号发送到固定多播地址。使用固定多播地址允许具有动态地址的网络管理模块接收第一信号。
在604处,从网络管理模块接收第二信号。在606处,在边缘设备上启动第一网络控制实体以响应所述第二信号。此外,在608处,将与来自多个虚拟交换结构系统中的一个虚拟交换结构系统相关的设备标识符和虚拟交换结构系统标识符分配给第一网络控制实体,以响应第二信号。第一网络控制实体管理至少一部分边缘设备。例如,在一些实施例中,第一网络控制实体管理与边缘设备上的至少一个端口相关的转发状态信息。在这种实施例中,至少一个端口和耦合到该至少一个端口的外围处理设备可称为与第一网络控制实体相关。
在610处,利用选择性协议,使用第一网络控制实体,把与可操作地耦合到边缘设备的外围处理设备相关的转发状态信息发送给与虚拟交换结构系统相关的第二网络控制实体。通过使用选择性协议,使得转发状态信息被发送到与虚拟交换结构系统相关的网络控制实体,而不发送到与其它虚拟交换结构系统相关的网络控制实体。因此,转发状态信息被发送到与同一个虚拟交换结构系统相关的网络控制实体。如上所讨论,在一些实施例中,选择性协议可以是边界网关协议(BGP)。这样,第一网络控制实体和第二网络控制实体可称为BGP的发言人(speaker)。
虽然上面描述了不同的实施例,但是应该理解仅仅通过示例表示这些实施例,而不是限制。如果上述方法指示某些事件以某种顺序发生,某些事件的顺序也可被修改。此外,当可能时某些事件可在并行过程中同时执行,也可以如上所述顺序执行。
上面所示和描述的实施例涉及了多个外围处理设备,包括计算节点、存储节点、服务节点和路由器。在一些实施例中,一个或多个计算节点可能是例如包括处理器、存储器和/或一个或多个网络接口设备(例如,网络接口卡(NIC))的通用计算引擎。在一些实施例中,计算节点内的处理器可以是部分一个或多个高速缓存相干域(cache coherent domain)。在一些实施例中,计算节点可能是主机设备、服务器和/或等等。在一些实施例中,一个或多个计算节点可能具有虚拟化的资源,使得任何的计算节点(或其中一部分)可取代可操作地耦合到交换结构系统的任何其它计算节点(或其中一部分)。
在一些实施例中,一个或多个存储节点可以是例如包括处理器、存储器、本地连接的磁盘存储和/或一个或多个网络接口设备的设备。在一些实施例中,存储节点可能具有专门的模块(例如,硬件模块和/或软件模块),被配置例如使一个或多个计算节点能够通过交换结构从一个或多个存储节点读数据和/或向其写数据。在一些实施例中,一个或多个存储节点可能具有虚拟化的资源,使得任何存储节点(或其中一部分)可取代可操作地耦合到交换结构系统的任何其它的存储节点(或其中一部分)。
在一些实施例中,一个或多个服务节点可以是例如包括处理器(例如,网络处理器)、存储器和/或一个或多个网络接口设备(例如,10Gb以太网设备)的开放系统互联(OSI)的第4到7层设备。在一些实施例中,服务节点可包括硬件和/或软件,被配置执行相对繁重的网络工作量的计算。在一些实施例中,配置服务节点用于以相对有效的方式(例如,比例如在计算节点处执行有效)执行以每个包为基础的计算。例如,计算可包括状态防火墙计算、入侵检测和预防(IDP)计算、可扩展标记语言(XML)加速计算、传输控制协议(TCP)终止计算和/或应用级负载均衡计算。在一些实施例中,一个或多个服务节点可能具有虚拟化的资源,使得任何的服务节点(或其中一部分)可取代可操作地耦合到交换结构系统的任何其它服务节点(或其中一部分)。
在一些实施例中,一个或多个路由器可能是组网设备,被配置将至少一部分交换结构系统(例如,数据中心)连接到另一个网络(例如,全球互联网)。例如,在一些实施例中,路由器可使得与交换结构系统相关的组件(例如,外围处理设备、部分交换结构)之间的通信能够进行。例如,能够基于第3层路由协议定义通信。在一些实施例中,一个或多个路由器可能具有一个或多个网络接口设备(例如,10Gb以太网设备),例如,路由器能够通过该接口设备向交换结构和/或其它的外围处理设备发送信号和/或从其接收信号。
这里描述的一些实施例涉及到具有非临时计算机可读介质(也称为非临时处理器可读介质)的计算机存储产品,计算机可读介质上具有执行各种计算机实施的操作的指令或计算机代码。计算机可读介质本身不包括临时性的传播信号(例如,在如空间或电缆的传输介质上携带信息的传播电磁波),在这个意义上计算机可读介质(或程序可读介质)是非临时性的。媒介和计算机代码(也可以称为代码)是被设计并构建用于某个或某些具体目的的那些。非暂时性的计算机可读介质的示例包括但不限于:如硬盘、软盘和磁带的磁存储介质;如压缩光盘/数字视频光盘(CD/DVD)、压缩只读光盘存储器(CD-ROM)和全息设备的光存储介质;如光盘的磁光存储介质;载波信号处理模块;和被特别配置以存储和执行程序代码的硬件设备,如应用专用集成电路(ASIC)、可编程逻辑设备(PLD)、只读存储器(ROM)和随机存取存储器(RAM)设备。
计算机代码的示例包括但不限于微码或微型指令、如由编译器产生的机器指令、用于产生网页服务的代码和包含由计算机使用翻译机执行的高级指令的文件。例如,可使用Java、C++或其它的编程语言(例如,面向对象的编程语言)和开发工具实现实施例。另外的计算机代码的示例包括但不限于控制信号、加密代码和压缩代码。
虽然以上已经描述了各种实施例,应该理解的是它们仅仅通过示例而不是以限制的方式实现,并且可能有形式和细节的各种改变。除了相互排斥的组合,这里描述的装置和/或方法任何部分可以任意组合方式组合。这里描述的实施例可以包括描述的不同实施例的功能、组件和/或特征的不同组合和/或子组合。

Claims (20)

1.一种装置,包括:
网络管理模块,可操作地耦合到多个边缘设备,所述多个边缘设备耦合到多个外围处理设备,响应于多个边缘设备中的边缘设备可操作地耦合到所述交换结构,所述网络管理模块从所述边缘设备接收与广播协议相关的信号,响应于接收所述信号,所述网络管理模块供应所述边缘设备;
所述网络管理模块定义多个边缘设备上的多个网络控制实体,使得多个网络控制实体中的每个网络控制实体使用选择性协议将与多个外围处理设备中的至少一个外围处理设备相关的转发状态信息提供给多个网络控制实体中的至少一个剩余网络控制实体。
2.如权利要求1中所述的装置,其中广播协议实质上类似于中间系统到中间系统(IS-IS)协议,并且选择性协议实质上类似于边界网关协议(BGP)。
3.如权利要求1中所述的装置,其中多个网络控制实体中的每个网络控制实体与多个虚拟交换结构系统中的虚拟交换结构系统相关,并且将与多个外围处理设备中的至少一个外围处理设备相关的转发状态信息提供给与所述虚拟交换结构系统相关的多个网络控制实体中的至少一个剩余网络控制实体。
4.如权利要求1中所述的装置,其中网络管理模块的网络地址是动态的。
5.如权利要求1中所述的装置,其中多个边缘设备中的边缘设备使用广播协议向固定的多播地址发送信号。
6.如权利要求1中所述的装置,其中,响应于从多个边缘设备中的所述边缘设备接收所述信号,网络管理模块把惟一的设备标识符分配给所述边缘设备。
7.如权利要求1中所述的装置,其中多个边缘设备中的每一个边缘设备通过交换结构可操作地耦合到多个边缘设备中的剩余边缘设备,交换结构定义多个边缘设备中的每个边缘设备对之间的单逻辑跳。
8.如权利要求1中所述的装置,其中多个边缘设备中的第一边缘设备使用转发状态信息向多个外围处理设备中可操作地耦合到多个边缘设备中的第二边缘设备的外围处理设备发送数据,转发状态信息是在第一边缘设备从与该外围处理设备相关的多个网络控制实体中的网络控制实体接收的。
9.一种非临时处理器可读介质,存储表示指令的代码,该指令使处理器:
发送第一信号,第一信号表明边缘设备已可操作地耦合到定义多个虚拟交换结构系统的交换结构系统,第一信号基于广播协议;
从网络管理模块接收第二信号,第二信号使边缘设备启动在边缘设备上的第一网络控制实体,第二信号将与多个虚拟交换结构系统中的虚拟交换结构系统相关的设备标识符和虚拟交换结构系统标识符分配给第一网络控制实体,第一网络控制实体管理至少一部分边缘设备;和
利用选择性协议,使用第一网络控制实体,把与可操作地耦合到边缘设备的外围处理设备相关的转发状态信息发送到与虚拟交换结构系统相关的第二网络控制实体。
10.如权利要求9中所述的非临时处理器可读介质,其中表示使处理器发送第一信号的指令的代码包括了表示使处理器使用固定多播地址寻址第一信号的指令的代码。
11.如权利要求9中所述的非临时处理器可读介质,其中网络管理模块的网络地址是动态的。
12.如权利要求9中所述的非临时处理器可读介质,其中所述广播协议实质上类似于中间系统到中间系统(IS-IS)协议,并且所述选择性协议实质上类似于边界网关协议(BGP)。
13.如权利要求9中所述的非临时处理器可读介质,其中边缘设备是第一边缘设备,交换结构系统定义在可操作地耦合到交换结构系统的第一边缘设备和第二边缘设备之间的单逻辑跳。
14.如权利要求9中所述的非临时处理器可读介质,其中边缘设备是第一边缘设备,第二网络控制实体管理至少一部分第二边缘设备,第二边缘设备使用已发送到第二网络控制实体的转发状态信息向外围处理设备发送数据。
15.一种系统,包括:
多个边缘设备,与网络相关并且可操作地耦合到交换结构和多个外围处理设备,当多个边缘设备中的第一边缘设备初次耦合到网络时,第一边缘设备向与网络相关的多个设备发送广播信号,响应于接收所述广播信号,网络管理模块自动供应多个边缘设备中的第一边缘设备;
网络管理模块,定义多个边缘设备中的第一边缘设备上的第一网络控制实体和多个边缘设备中的第二边缘设备上的第二网络控制实体,多个外围处理设备中的第一组外围处理设备与第一网络控制实体相关,多个外围处理设备中的第二组外围处理设备与第二网络控制实体相关,第一网络控制实体使用选择性协议向第二网络控制实体发送与第一组外围处理设备相关的转发状态信息。
16.如权利要求15中所述的系统,其中第一网络控制实体和第二网络控制实体与第一虚拟交换结构系统相关,网络管理模块定义在多个边缘设备中的第三边缘设备上的第三网络控制实体,第三网络控制实体与第二虚拟交换结构系统相关,管理模限制第一网络控制实体向第三网络控制实体发送与第一组外围处理设备相关的转发状态信息。
17.如权利要求15中所述的系统,其中多个边缘设备中的第一边缘设备经由交换结构向多个边缘设备中的剩余边缘设备发送数据,交换结构定义多个边缘设备中的边缘设备对之间的单逻辑跳。
18.如权利要求15中所述的系统,其中网络管理模块的网络地址是动态的。
19.如权利要求15中所述的系统,其中多个边缘设备中的第一边缘设备向固定多播地址发送广播信号。
20.如权利要求15中所述的系统,其中,响应于从多个边缘设备中的第一边缘设备接收所述信号,网络管理模块把惟一的设备标识符分配给第一边缘设备。
CN201110319156.2A 2010-12-15 2011-08-31 交换机分布式控制面内自动供应资源的方法和装置 Active CN102546385B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/969,057 US9240923B2 (en) 2010-03-23 2010-12-15 Methods and apparatus for automatically provisioning resources within a distributed control plane of a switch
US12/969,057 2010-12-15

Publications (2)

Publication Number Publication Date
CN102546385A true CN102546385A (zh) 2012-07-04
CN102546385B CN102546385B (zh) 2016-01-20

Family

ID=44674383

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110319156.2A Active CN102546385B (zh) 2010-12-15 2011-08-31 交换机分布式控制面内自动供应资源的方法和装置

Country Status (2)

Country Link
EP (1) EP2466823A3 (zh)
CN (1) CN102546385B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104052574A (zh) * 2013-03-15 2014-09-17 国际商业机器公司 在网络控制器和交换机之间控制数据的传输的方法和系统
CN104518963A (zh) * 2013-09-30 2015-04-15 瞻博网络公司 用于经由交换结构在边缘设备之间实施连接的方法和装置
CN105763359A (zh) * 2015-01-05 2016-07-13 博科通讯系统有限公司 用于交织结构交换机集群的分布式双向转发检测协议(d-bfd)
CN106104503A (zh) * 2014-02-10 2016-11-09 谷歌公司 使用统一api对用于转发的服务器和架构编程以用于细粒度网络优化
US9609086B2 (en) 2013-03-15 2017-03-28 International Business Machines Corporation Virtual machine mobility using OpenFlow
US9769074B2 (en) 2013-03-15 2017-09-19 International Business Machines Corporation Network per-flow rate limiting
CN114363141A (zh) * 2021-12-30 2022-04-15 联想(北京)信息技术有限公司 刀片服务器机箱内交换机的远程调试方法、装置及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5678006A (en) * 1995-04-27 1997-10-14 Cisco Systems, Inc. Network switch having network management agent functions distributed among multiple trunk and service modules
US20070002875A1 (en) * 2004-04-22 2007-01-04 Nest Technologies, Inc. Apparatus, system, and methods for status monitoring and control of cable television network components
CN101014006A (zh) * 2007-02-08 2007-08-08 华为技术有限公司 一种部署流量工程te隧道的方法、装置和系统
CN101018234A (zh) * 2007-03-15 2007-08-15 杭州华为三康技术有限公司 路由信息发布方法及网络地址转换-协议转换网关设备
CN101527681A (zh) * 2009-03-31 2009-09-09 成都市华为赛门铁克科技有限公司 一种上行报文的处理方法、装置和系统
US20100061394A1 (en) * 2008-09-11 2010-03-11 Pradeep Sindhu Methods and apparatus related to any-to-any connectivity within a data center
US20100169467A1 (en) * 2008-12-30 2010-07-01 Amit Shukla Method and apparatus for determining a network topology during network provisioning

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5678006A (en) * 1995-04-27 1997-10-14 Cisco Systems, Inc. Network switch having network management agent functions distributed among multiple trunk and service modules
US20070002875A1 (en) * 2004-04-22 2007-01-04 Nest Technologies, Inc. Apparatus, system, and methods for status monitoring and control of cable television network components
CN101014006A (zh) * 2007-02-08 2007-08-08 华为技术有限公司 一种部署流量工程te隧道的方法、装置和系统
CN101018234A (zh) * 2007-03-15 2007-08-15 杭州华为三康技术有限公司 路由信息发布方法及网络地址转换-协议转换网关设备
US20100061394A1 (en) * 2008-09-11 2010-03-11 Pradeep Sindhu Methods and apparatus related to any-to-any connectivity within a data center
US20100169467A1 (en) * 2008-12-30 2010-07-01 Amit Shukla Method and apparatus for determining a network topology during network provisioning
CN101527681A (zh) * 2009-03-31 2009-09-09 成都市华为赛门铁克科技有限公司 一种上行报文的处理方法、装置和系统

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9609086B2 (en) 2013-03-15 2017-03-28 International Business Machines Corporation Virtual machine mobility using OpenFlow
CN104052574A (zh) * 2013-03-15 2014-09-17 国际商业机器公司 在网络控制器和交换机之间控制数据的传输的方法和系统
US9769074B2 (en) 2013-03-15 2017-09-19 International Business Machines Corporation Network per-flow rate limiting
US9614930B2 (en) 2013-03-15 2017-04-04 International Business Machines Corporation Virtual machine mobility using OpenFlow
US9590923B2 (en) 2013-03-15 2017-03-07 International Business Machines Corporation Reliable link layer for control links between network controllers and switches
US9596192B2 (en) 2013-03-15 2017-03-14 International Business Machines Corporation Reliable link layer for control links between network controllers and switches
US9787583B2 (en) 2013-09-30 2017-10-10 Juniper Networks, Inc. Methods and apparatus for implementing connectivity between edge devices via a switch fabric
CN104518963A (zh) * 2013-09-30 2015-04-15 瞻博网络公司 用于经由交换结构在边缘设备之间实施连接的方法和装置
CN110445649A (zh) * 2013-09-30 2019-11-12 瞻博网络公司 用于经由交换结构在边缘设备之间实施连接的方法和装置
CN110445649B (zh) * 2013-09-30 2022-09-02 瞻博网络公司 用于经由交换结构在边缘设备之间实施连接的方法和装置
CN106104503A (zh) * 2014-02-10 2016-11-09 谷歌公司 使用统一api对用于转发的服务器和架构编程以用于细粒度网络优化
CN106104503B (zh) * 2014-02-10 2019-06-04 谷歌有限责任公司 使用统一api对用于转发的服务器和架构编程以用于细粒度网络优化
CN105763359A (zh) * 2015-01-05 2016-07-13 博科通讯系统有限公司 用于交织结构交换机集群的分布式双向转发检测协议(d-bfd)
CN105763359B (zh) * 2015-01-05 2020-12-29 安华高科技股份有限公司 用于交织结构交换机集群的分布式双向转发检测协议(d-bfd)
CN114363141A (zh) * 2021-12-30 2022-04-15 联想(北京)信息技术有限公司 刀片服务器机箱内交换机的远程调试方法、装置及系统

Also Published As

Publication number Publication date
CN102546385B (zh) 2016-01-20
EP2466823A3 (en) 2013-10-02
EP2466823A2 (en) 2012-06-20

Similar Documents

Publication Publication Date Title
US10645028B2 (en) Methods and apparatus for automatically provisioning resources within a distributed control plane of a switch
CN102480358B (zh) 集中化虚拟交换机架构控制方法和设备
US10411989B2 (en) Compiler for and method of software defined networking, storage and compute determining physical and virtual resources
CN102571553B (zh) 多跳分布控制面和单跳数据面交换结构系统的方法和装置
CN102347898B (zh) 有关网络内路由选择的方法和设备
CN104426766B (zh) 跨多个网络层的动态端到端网络路径建立
US9948553B2 (en) System and method for virtual network-based distributed multi-domain routing control
CN102571554B (zh) 在分布式控制平面上传送转发状态的方法和装置
US10355940B2 (en) Compiler for and method of software defined networking, storage and compute performing operations
US10263848B2 (en) Compiler for and method for software defined networks
CN103873366B (zh) 具有集中控制的聚合网络通信方法及网络设备
CN102546385B (zh) 交换机分布式控制面内自动供应资源的方法和装置
CN102263646B (zh) 交换机的分布式控制平面内的多播
CN102546384B (zh) 动态资源管理方法
CN103917967A (zh) 用于配置中间盒的网络控制系统
CN104518963A (zh) 用于经由交换结构在边缘设备之间实施连接的方法和装置
CN104780099A (zh) 利用网络服务链化的跨多个网络层的动态端到端网络路径设立
CN104780096A (zh) 针对虚拟网络分组流的物理路径确定
CN111164936B (zh) 在sdn控制器中将接入网络建模为树的方法和系统
EP2905929B1 (en) Communication system, control apparatus, control method, and program
CN102546742A (zh) 管理分布式开关构造系统中的下一跳标识符的方法和装置
CN112822037B (zh) 一种安全资源池的流量编排方法及系统
CN113015039B (zh) 一种混合网络的端到端业务的部署方法和部署装置
CN102394804A (zh) 虚拟私有网络系统的构建方法及虚拟私有网络系统
CN117118886A (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
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: American California

Applicant after: Juniper Networks, Inc.

Address before: American California

Applicant before: Jungle network

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: NETSCREEN TECHNOLOGIES INC. TO: JUNIPER NETWORKS INC.

C14 Grant of patent or utility model
GR01 Patent grant