CN103004144B - 交换机 - Google Patents

交换机 Download PDF

Info

Publication number
CN103004144B
CN103004144B CN201080015377.4A CN201080015377A CN103004144B CN 103004144 B CN103004144 B CN 103004144B CN 201080015377 A CN201080015377 A CN 201080015377A CN 103004144 B CN103004144 B CN 103004144B
Authority
CN
China
Prior art keywords
frame
port
node
address
diffusion
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
Application number
CN201080015377.4A
Other languages
English (en)
Other versions
CN103004144A (zh
Inventor
T·本杰明·麦克格林
罗伯特·苏丹
琳达·邓巴
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN103004144A publication Critical patent/CN103004144A/zh
Application granted granted Critical
Publication of CN103004144B publication Critical patent/CN103004144B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/354Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]

Landscapes

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

Abstract

一种网络(200),其包含交换机(220),所述交换机经配置以学习源节点(210)的源地址(SA),所述源节点具有在之前未在另一端口上学习所述SA的情况下接收包含所述SA的帧的源端口,且所述交换机经配置以随后转发任何包含目标节点(210)的目标地址(DA)的帧,所述DA与所述SA所关联的所述源端口上的所述已学习的SA匹配。所述交换机经配置以在接收端口上接收的帧包含之前未在源端口上学习的DA的情况下扩散所述帧,并通过标记扩散的帧来将所述扩散的帧与其他转发的帧区分开来,其中所述帧在多个端口上扩散。进一步披露了一种方法,其包含禁用对应于与端口关联的多个地址的多个过滤数据库(FDB)项,以及在控制帧中发送所述地址。

Description

交换机
相关申请案的交叉参考
本发明要求2009年4月23日由琳达·邓巴(Linda Dunbar)等人递交的发明名称为“网状网络中的媒体接入控制桥接”的第61/171,954号美国临时专利申请案的优先权,该申请以引入的方式并入本文本中,相当于全文转载。
技术领域
本发明属于网络技术领域,尤其涉及一种交换机。
背景技术
基于以太网的网络等现代通信和数据网络是由通过网络传输数据的节点构成的。节点可包括通过网络传输单个数据帧或包的路由器、交换机和/或网桥。例如,与美国电气和电子工程师协会(IEEE)802.1Q协议兼容的以太网交换机会根据其学习或提供的过滤数据库(FDB)转发数据帧。因此,所述帧可根据关联的目标地址(DA)和虚拟局域网(VLAN)标识符(VID)进行转发。如果FDB不包含与输入帧的DA和VID相匹配的项,则所述帧可扩散到除已到达的端口之外的其他所有端口。相应地,数据帧可在单个网络(或域)或不同网络(域)中的节点之间转发。
发明内容
在一项实施例中,本发明包括包含交换机的网络,所述交换机经配置以学习源节点的源地址(SA),所述源节点具有源端口,所述源端口接收包括所述SA的帧,,所述的SA之前没有在另一端口上被学习;且所述交换机经配置以随后转发任何包含目标节点的目标地址(DA)的帧,所述DA与所述SA所关联的所述源端口上的所述已学习的SA匹配。
在另一项实施例中,本发明包括包含交换机的网络,所述交换机经配置以在接收端口上收到的帧中包含之前未在源端口上学习的DA的情况下扩散所述帧,并通过标记扩散的帧来将扩散的帧与其他转发的帧区分开来,其中所述帧在多个端口上扩散。
在另一项实施例中,本发明包括包含至少一个处理器的网络组件,所述处理器经配置以实施一种包含在端口上接收包含DA的非扩散帧,以及在DA不是组地址的情况下向与所述DA关联的一组扩散端口添加端口的方法。
在另一项实施例中,本发明包括一种方法,所述方法包含接收包含舍弃地址(UA)的帧,并为所述UA删除FDB项。
在又一项实施例中,本发明包括一种方法,所述方法包含禁用对应于与端口关联的多个地址的多个FDB项以及在控制帧中发送所述地址。
以下具体实施方式以及附图和权利要求书有助于更清楚地了解这些特征和其他特征。
附图说明
为更全面地了解本发明,现提供以下关于附图和具体实施方式的简要说明的参考,其中相同的参考编号代表相同的零件。
图1为网络中的桥接路径的一项实施例的示意图。
图2为网络中的桥接路径的另一项实施例的示意图。
图3为网络中失败的桥接路径的一项实施例的示意图。
图4A为学习和转发方法的一项实施例的流程图。
图4B为学习和转发方法的另一项实施例的流程图。
图4C为学习和转发方法的另一项实施例的流程图。
图5为学习和转发方法的另一项实施例的流程图。
图6为学习和转发方法的另一项实施例的流程图。
图7A为学习方法的另一项实施例的流程图。
图7B为学习和转发方法的另一项实施例的流程图。
图8为舍弃和转发方法的一项实施例的流程图。
图9为地址禁用和转发方法的一项实施例的流程图。
图10为通用计算机系统的一项实施例的示意图。
具体实施方式
首先应了解,尽管下文提供了一项或多项实施例的说明性实施方案,但在实施所公开的系统和/或方法时可使用任意数量的技术,无论这些技术目前是否已知或存在。在任何情况下,本发明都不限于下文阐明的说明性实施方案、附图和技术,包括本文中说明和描述的示范性设计和实施方案,但可在所附权利要求及其等效权利要求的全部范围内有所修改。
一般来说,以太网交换机可基于网络树形拓扑结构使用扩散和学习(如帧扩散和地址学习)来为媒体接入控制(MAC)桥接建立FDB项。网络树形拓扑结构配置可实现使用扩散和学习来为单播数据帧建立FDB项。此外,基于网络拓扑结构的链路状态路由协议可用于建立成本最低的路径,从而实现最短路径桥接(SPB)。但是,链路状态路由法可能有一些缺点,例如需要将一个网络拓扑数据库分发给网络中的多个网桥。
本发明是用于使用改进的帧扩散和地址学习行为进行MAC桥接的系统和方法。因此,网络中的多个节点(如网桥)可使用改进的扩散和学习来例如,在本地建立FDB项,而无需(或不受限于)网络树形拓扑结构。所述网络可能是局域网(LAN),也可能包含多个可使用不同VID进行识别的VLAN。所述VID可用于在FDB项中将节点端口与相应的VLAN关联起来。扩散和学习行为也可在不使用链路状态路由的情况下建立最短延时路径,从而省去拓扑数据库开销。除此之外,扩散和学习行为可实现网络中已建立的路径链接的负载均衡。FDB项可通过学习单个端口上的已接收帧的SA和扩散包含未知DA的已接收帧来建立,但前提是帧是在学习所述帧的SA的端口上接收到的。同样地,当网络中有多个VLAN时,FDB项可通过学习已接收帧的SA/VID对和扩散与所述帧的VID关联的除接收所述帧的端口外的所有节点端口上的帧来建立。根据本发明,术语地址和地址/VID对是可互换的,例如在处理多个VLAN的流量时。此类学习和扩散行为可减少网络中转发的流量,还可提供最短延时路径和/或流量负载平衡。此外,控制帧可能出于重新定位外部系统或添加链路,或如链路故障而停用FDB项等诸原因而在节点间转发以重新学习FDB项。
图1描绘在网络100中的桥接路径的实施例,所述网络包含多个末端节点110和内部节点120。网络100可以是任意网络,该网络中的末端节点110间、内部节点120,或两者之间可传输多个数据包。例如,网络100可为基于以太网的网络,该网络经配置以经由内部节点120在末端节点110间传输以太网帧或包。在一项实施例中,网络100可运行多种协议中的任意一个,例如以太网、互联网协议(IP)或其他协议。
末端节点110和内部节点120可使用光链路、电气链路、无线链路或这些链路的组合互相耦合。图1中带箭头的直线显示了可能存在于末端节点110与内部节点120之间的某些链路上的包级流。末端节点110和内部节点120也可由图1中未显示的其他链路连接。所述末端节点110和内部节点120可以是能产生、接收和/或传输数据包的任意设备或组件。例如,末端节点110和内部节点120可包括网桥、交换机、路由器或这些设备的各种组合。末端节点110和内部节点120可能各包含多个用于接收和/或转发来自其他节点的包的端口,以及用来确定转发包的目标节点的逻辑电路。末端节点110可包含能产生和/或接收数据流的源端口和/或目标端口。在一项实施例中,末端节点110可为边缘节点,如运营商边缘网桥(PEB)或骨干边缘网桥(BEB)。在其他实施例中,末端节点110可为服务器,也可耦合到面向用户的设备,例如台式计算机、笔记本型计算机、个人数字助理(PDA)或其他通信设备。
内部节点120,例如内部节点120a、120b、120c、120d、120e、120f、120g和120h,经配置以在末端节点110之间转发包,例如以太网包。例如,内部节点120可为在末端节点110之间转发包的网桥。所述包可通过桥接路径在内部节点120之间转发,从而在任意两个末端节点110之间交换。可根据与末端节点110关联的地址来学习桥接路径。具体而言,所述包可包含用于表示某个末端节点110的源端口或接口的SA、用于表示某个末端节点110的目标端口或接口的DA,或同时包含两者。SA和/或DA可为保留在内部节点120内的本地FDB中、且与内部节点120的端口关联的MAC地址。换言之,所述地址可保留在管理平面或管理系统(MS)的FDB中,并与所述FDB中的端口关联,其中管理平面或管理系统可位于任意末端节点110或内部节点120中。
在一项实施例中,内部节点120可经配置以基于根据帧中的SA和DA的扩散和学习行为从第一末端节点110向第二个末端节点110转发包或帧。例如,内部节点120可对应于网状桥接域,所述桥接域可根据不限于树状拓扑的一般网状拓扑使用扩散和学习行为。但是,末端节点110可能位于网状桥接域之外,因此可能不会基于与内部节点120相同的扩散和学习行为来运行。具体而言,当内部节点120通过接收端口或源端口收到包含未知SA的帧时,如果未在内部节点的FDB(或管理平面/MS)中发现所述SA,则内部节点120可将所述SA和源端口关联。内部节点也可经配置以将所述SA与单个端口关联,例如为所述SA添加单个FDB项。此外,如果接收到的帧包含未知DA且未标记为扩散帧,则所述内部节点120可能会将所述帧标记为扩散帧,并在除接收到所述帧的端口,即SA源端口,之外的所有端口上扩散所述帧。在一项实施例中,当在耦合到相邻内部节点120的内部端口上传送时,所述帧可标记为扩散帧。但当在耦合到网状桥接域外部的节点110的外部端口上传送时,所述帧无法修改或标记为扩散帧。当网络中有多个VLAN时,所述帧可在除接收帧的端口外的与所述帧的VID关联的所有端口上扩散。
如果扩散的帧,例如标记为扩散帧,在不与帧中的SA关联的端口上接收,则内部节点120可过滤所述帧,例如丢弃或删除所述帧。因此,如果帧是在与SA关联且包含未知DA的源端口上接收的,则所述帧可在每两个内部节点120之间的单跳上扩散,但不可在后续的内部节点120之间的后续跳上扩散。这一扩散行为可能会阻止帧多个后续链路,例如多个后续扩散,上传播,从而降低网络负载和拥塞并防止出现环路。
例如,末端节点110a可发送定位到末端节点110b的帧,如单播帧,且包含对应于末端节点110a的SA“AA”和对应于末端节点110b的DA“ZZ”。内部节点120a可在端口上接收帧,但无法在本地FDB中找到SA“AA”,因为地址“AA”无法与内部节点120a的任意端口关联。因此,内部节点120a可在FDB中添加将地址“AA”与源端口关联的项。在图1中,与地址“AA”关联的源端口用带斜线的框表示。此外,内部节点120a可能无法在本地FDB中找到DA“ZZ”。因此,内部节点120a可将帧标记为扩散帧,并在源端口以外的端口上扩散所述帧。因此,内部节点120b和120c都可接收标记为扩散帧的帧副本。
在一项实施例中,帧可以标记为,例如,扩散帧、禁用帧和/或舍弃帧,方法是向所述帧添加指明其是从源节点还是相邻节点扩散的标记或标签。此外,也可通过在帧中设置表明其为扩散帧的位来进行标记,例如帧头中的SA中的组位或要保留在帧头中的任意位。但是,在学习扩散的帧中的SA时,用于表明扩散帧的SA位可在FDB中重置。在另一项实施例中,扩散帧可使用中继控制帧(RCF)进行发送。
内部节点120b和120c可使用与内部节点120a相同的学习和扩散行为。因此,内部节点120b和120c可将地址“AA”与对应的源端口关联,将帧标记为扩散帧,以及将在它们所在的端口上将所述帧扩散到相邻节点,如内部节点120d、120e和120f,但不能在它们相应的源端口上扩散。但是,内部节点120f可在两个不同端口上接收来自每个内部节点120b和120c的两份扩散帧。在这种情况下,内部节点120f可只将地址“AA”与两个端口的其中一个关联,这个端口可能是接收一份所述帧的第一个端口。例如,内部节点120f可将地址“AA”与耦合到内部节点120c的源端口关联,所述源端口在图1中用斜线框表示。然后,当内部节点120f收到来自内部节点120b的第二份扩散帧时,内部节点120f可确认所述帧中的SA“AA”与另一源端口关联,因此可过滤所述帧。
同样地,内部节点120e可在第一源端口上接收来自内部节点120b的第一份扩散帧,然后在第二端口上接收来自内部节点120d的第二份扩散帧。因此,内部节点120e可将所述地址“AA”和第一源端口关联,扩散第一份帧及丢弃第二份帧。其余的内部节点120d、120h和120g也可接收扩散的帧并实施与之前的内部节点120相同的扩散和学习逻辑。因此,内部节点120可分别将地址“AA”与一个对应的源端口关联,并在除其相应源端口之外的端口上扩散帧,或丢弃未与SA关联的源端口上接收的帧。因此,一份扩散帧可由内部节点120g传递到末端节点110b。扩散标记可在将帧发射到外部节点110b之前删除。包含SA“AA”的转发的帧的路径在图1中以带箭头的实线表示。
接下来,末端节点110b可发送目的地为末端节点110a的帧,且所述帧包含对应于末端节点110b的SA“ZZ”和对应于末端节点110a的DA“AA”。内部节点120g可在源端口上接收帧,且可能无法在本地FDB中找到SA“ZZ”。因此,内部节点120g可在FDB中添加将所述地址“ZZ”与源端口关联的项。在图1中,与地址“ZZ”关联的源端口用带交叉线的框表示。内部节点120g可在本地FDB中找到与耦合到内部节点120e的端口关联的DA“AA”,因而可将所述端口上的帧转发到内部节点120e。同样地,内部节点120e可接收所述帧,将地址“ZZ”与耦合到内部节点120g的源端口关联,并将与地址“AA”关联的端口上的帧转发到内部节点120b。由于采用相同的学习和转发行为,内部节点120b和120a可轮流接收所述帧,将地址“ZZ”与其对应的源端口关联,并转发与地址“AA”关联的对应端口上的帧,直到所述帧传递到末端节点110a。包含所述SA“ZZ”的转发的帧的路径在图1中以带箭头的短划线表示。
内部节点120a、120b、120e和120g可通过上述的扩散(或转发)和学习行为在末端节点110a与110b之间单向或双向发送帧,从而在末端节点110a与110b之间建立双向路径。所述双向路径在图1中以成对的带箭头的实线和带箭头的短划线表示。在末端节点110a与110b之间建立的所述路径可为最低或最短延迟路径,在此类路径中,在末端节点110之间转发帧的内部节点120或链路的数目是最少的。使用最少数目的节点或链路来转发帧可带来最短的时间延迟。最短延迟路径可通过使用上述的扩散和学习行为来学习,而无需测量链路延迟,无需使用链路状态协议,且无需在网络中的拓扑数据库中保留延迟信息。此外,末端节点110之间的路径可由具有任意合适的拓扑的内部节点120建立,例如,无需将可用节点和链路限于树状拓扑。
此外,当节点之间链路具有在某种程度上相等的数据速率、长度和流量负载,以及相应的几乎相同的延时时间时,节点的扩散和学习行为可实现节点之间链路上的负载扩展或平衡。例如,如果某些链路的使用频率高于其他链路,从而导致其排队时延更长,则转发和学习行为可使负载扩展到其他排队时延更短的链路。在一项实施例中,为尽量减少因链路上的流量负载不均而带来的影响,扩散的帧可拥有高于链路的转发队列中的其他帧的转发优先级。因此,扩散的帧的转发可不受链路的排队时延的影响,这实质上类似于链路上的时延几乎相等的情况。在另一项实施例中,为改进链路的负载扩展效果,扩散的帧可添加随机选择的时延,例如,各个输出端口上扩散帧的传输可延时处于延迟时间变动范围内的随机选择的值,以实现所述帧的延迟时间变化,并引起时延几乎相等的路径上的学习行为,并提供因流量负载变化而不易发生振荡的负载扩展。
图2描绘了网络200中的桥接路径的另一项实施例。所述网络200的配置可与网络100大致相似,并且可包含多个末端节点210和多个内部节点220,其配置可与网络100的相应组件大致相似。具体而言,内部节点220可在第一对末端节点210之间建立第一桥接路径,并在第二对末端节点210之间建立第二桥接路径。内部节点220可通过上述的扩散和学习过程建立第一桥接路径和第二桥接路径。每个第一桥接路径和第二桥接路径可分别对应于相应的末端节点对210之间的时延几乎相等的路径。此外,部分内部节点220可既属于第一桥接路径,也属于第二桥接路径,并且可共享两条路径上的至少部分端口。例如,部分内部节点220可将末端节点210的不同地址(如“AA”、“BB”、“YY”和/或“ZZ”)与同一源端口关联。但是,每个地址只能与任意内部节点220中的一个端口关联。当末端节点210的某个地址与内部节点220的第一源端口关联时,所述地址随后将无法与所述内部节点220的第二源端口关联,例如,而不禁用或删除所述第一源端口的FDB项。
例如,内部节点220a、220b、220d、220e和220g可学习第一网桥路径,所述网桥路径可为末端节点210a与末端节点220b之间的双向路径。如上文所述,第一桥接路径可通过学习末端节点210a的地址“AA”和末端节点210b的地址“ZZ”,以及扩散或过滤接收到的地址未知的帧来获取。所述双向第一桥接路径用一对带箭头的实线(从末端节点210a到末端节点210b)和带箭头的短划线(从末端节点210b到末端节点210a)表示。与地址“AA”关联的源端口用带斜线的框表示,与地址“ZZ”关联的源端口用带交叉线的框表示。
同样地,内部节点220a、220b、220f、220e和220g可学习第二网桥路径,所述网桥路径可为末端节点210c与末端节点220d之间的双向路径。如上文所述,第二桥接路径可通过学习末端节点210c的地址“BB”和末端节点210d的地址“YY”,以及扩散或过滤接收到的地址未知的帧来获取。所述双向的第二桥接路径用一对带箭头的点划线(从末端节点210c到末端节点210d)和带箭头的点线(从末端节点210d到末端节点210c)表示。与地址“BB”关联的源端口用带水平线的框表示,与地址“YY”关联的源端口用带垂直线的框表示。如图2所示,在部分内部节点220中,地址“AA”、“BB”、“YY”和“ZZ”可与不同的源端口关联。此外,在其他内部节点220中,部分地址可与同一源端口关联。例如,地址“AA”和“BB”在内部节点220g中与同一源端口关联,地址“YY”和“ZZ”在内部节点220e中与同一源端口关联。
在一项实施例中,扩散和学习行为可处理包含组DA的组播帧的转发。由于组DA可能不会在接收到的帧中显示为SA,因此节点可能不会学习组DA,例如将组DA与源端口关联。因此,所述节点可在多个端口上扩散包含组DA的帧。网络中组播帧的此类扩散可能并不需要或实用,原因是这可能增加不必要的网络流量,例如将组播帧扩散到多个未预定为接收组播帧的节点时。为避免对包含组DA的组播帧的不必要扩散,组DA可由节点进行学习,并且可从扩散的帧中识别和区分出来。例如,网络中的组DA可由FDB中的管理平面或MS提供和保留,所述FDB可包含静态组DA项。此外,所述节点或MS可“侦听”客户端组播组协议(如因特网组管理协议(IGMP))并添加用于转发MAC组地址的相应FDB项。在另一项实施例中,可通过转发RCF来使用控制协议,以例如,根据来自客户端网络的关于在MAC桥接网络中创建组播转发状态的请求来创建组播FDB项。所述控制协议可为网络中现有的组地址控制协议的扩展(如多MAC地址注册协议(MMRP))或经配置以通过扩散和学习过程进行运作的新协议。
此外,要改进包含组DA的组播帧的处理和转发,所述节点可学习接收非扩散的单播帧DA(非组DA)的端口。通过在FDB中添加相应的项,所述节点可将DA与接收所述DA的端口关联。接收非扩散DA的端口可耦合到相邻节点的与所述DA关联的源端口,从而可接收包含组DA的帧,并可将接收到的DA作为其SA进行转发(未过滤)。因此,所述节点可随后将包含组DA的组播帧,以及将学习到的DA作为SA发送到与学习到的DA关联的端口中,所述学习到的DA位于FDB中,而不是在与所述帧的VID关联的其他端口上。因此,所述组播帧只可转发到不会丢弃或过滤接收到的帧的相邻节点。
在一项实施例中,节点的扩散和学习行为可处理MAC地址等各种地址的重定位。例如,当末端节点或台站从包含某个节点或网桥端口的链路移动到包含另一节点或端口的链路时,学习到的末端节点地址的源端口,如与所述地址关联的端口,可能会失效。因此,对应于末端节点地址的FDB项可从节点中删除,且添加将末端节点地址与新端口关联的新FDB项,例如通过老化移出旧的FDB项并从新帧中学习新的项。但是,老化过程可能无法实现足够迅速的重新学习过程。此外,网络中的内部节点可收到末端节点的地址(如SA)位置更改的提醒,从而可更快速地将所述地址与新学习的源端口关联。
具体而言,当网桥或内部节点从末端节点(或外部网桥)收到包含未知SA或非关联端口上的已知SA的帧时,所述内部节点可通过与所接收到的帧的VID关联的端口来将舍弃的RCF(URCF)扩散到相邻节点。出现在新的外部端口上的未知SA或已知SA称为UA。所述节点也可学习所述未知SA或更新所述已知SA的关联源端口。所述URCF可包含帧净荷中的UA、发端节点本身的SA地址、预定义的组DA,以及与接收到的帧相同的VID。每个节点只能在相应的URCF SA源端口上接收和接受所述URCF,并且可将帧净荷中的UA识别为舍弃地址。如果所述UA之前已学习过,例如在本地FDB中找到,则所述节点可删除与所述UA关联的FDB项。然后,所述节点可将所述URCF扩散,例如,扩散到除源端口外的所有与所述URCF的VID关联的端口。另外,所述URCF可在内部端口上扩散,例如扩散到网状桥接域中的任意相邻内部节点,但无法在外部端口上扩散到网状桥接域外的末端节点或外部节点。
在一项实施例中,节点的扩散和学习行为可处理网络中新添加的链路。当向网桥或节点添加新链路时,所述节点可使用所述新链路开始转发其部分帧。扩散和学习行为可允许节点删除老化的FDB项,例如当一段时间结束后,并将老化的项替换成对应于包括新链路的新学习的路径的新项。例如,删除将地址与端口关联的老化项后,流量帧可经扩散以学习包括新链路的新路径。一段时间后,随着更多FDB项的老化移出,以及更多扩散和学习行为的出现,所述新链路也会因此而获得更多流量。
在一项实施例中,节点可经配置以扩散包含已知地址(如已知SA)的帧,以舍弃所述地址的现有路径,从而允许学习可能包括新链路的新路径。要舍弃的地址称为UA。在某些情况下,要舍弃已知SA的帧可能会扩散,例如以周期性的方式。所述节点可发送控制帧,例如URCF,所述帧包含帧净荷中的UA、发端节点本身的地址SA、预定义的组DA和要舍弃UA的VID。在SA源端口上接收URCF的节点可删除其UA的FDB项,并在除接收端口外的所有与所述URCF VID关联的端口上转发所述URCF。所述URCF舍弃功能可,例如,通过预定义的组DA表示。将舍弃地址作为SA发送的后续帧可导致节点在添加新链路时学习新路径。因此,新链路可在FDB项老化移出前添加到已学习的路径中,这可在网络中提供经过改善的或更加优化的新路径。另外,定期学习包括新链路的新路径可重新平衡网络的链路中的流量。
在一项实施例中,节点的扩散和学习行为可处理网络中的链路故障。当链路失败时,节点可禁用对应于与失败链路关联的端口的已学习的FDB项。因此,目的地为FDB项中的地址的帧,例如包含与端口关联的DA,可扩散,而不是转发到失败的链路。但是,对于非扩散帧,例如未标记为扩散帧,如果所述帧预定要在失败链路上转发,例如接收到并拥有与单个DA匹配的禁用的FDB项,则所述帧可能会被丢弃。对于预定在失败链路上转发且在禁用对应于所述失败链路的FDB项后接收到的非扩散帧,如果其是在位于节点的网状桥接域外的端口上接收到的,则所述帧可经扩散以学习新路径。
在一项实施例中,当链路移动时,例如,从第一节点的已学习的源端口移动到第二节点的端口,移动的链路可作为所述第一节点源端口上的链路故障,以及所述第二节点的端口上新添加的链路进行处理。相应地,与所述第一节点源端口关联的已学习地址可经扩散以禁用与相邻节点中的地址关联的源端口,如上所述。然后,流量帧可在节点间进行转发或扩散,以学习包括第二节点的端口上的新链路的新路径。
图3描绘了网络300中失败的桥接路径的一项实施例。所述网络300可包含多个末端节点310和多个内部节点320。所述网络300及其组件的配置可与网络100及其相应组件大致相似。至少部分内部节点320,如内部节点310a、320b、320e和320g,可初步建立桥接路径,所述路径可为,例如两个末端节点310a与310b之间的双向路径。因此,所述路径上的每个内部节点可学习末端节点310a的地址“AA”和末端节点310b的地址“ZZ”,例如使用上述的扩散和学习逻辑。其他内部节点320(如320c、320d、320f和320h)也可在扩散和学习模式中学习地址“AA”和“ZZ”。随后,当在路径上耦合内部节点320a和320b的链路失败时(用“X”标记表示),内部节点320b可在对应于所述链路的其中一个端口上检测链路故障,从而禁用所有对应于失败端口的已学习FDB项。内部节点320b也可将任何与禁用的FDB项中的禁用端口关联的已学习地址扩散到相邻节点。例如,内部节点320b可将控制帧发送到内部节点320d和320e,以表示末端节点310a的地址“AA”已禁用。每个内部节点320d和320e都可接收禁用的地址,验证所述节点是否拥有用于确定接收控制帧的端口的针对所述地址的已学习FDB项,禁用相应的FDB项,以及以类似方式将所述地址扩散到相邻节点。因此同样地,内部节点320h和320g可禁用其相应的FDB项。对应于禁用的FDB项的源端口在图3中以实线圆表示。但是,内部节点320f可规定,其针对地址“AA”的FDB项不用于确定接收禁用的控制帧的端口,从而可能导致所述“AA”的FDB项不会发生变化,且可能不会进一步转发所述控制帧。
接下来,扩散和学习过程可以重复,例如开始于节点320g,以在末端节点310a与310b之间,例如沿着内部节点320a、320c、320f、320e和320g,重新建立新的桥接路径。所述新桥接路径可为包含从末端节点310b到末端节点310a的第一路径的双向路径,所述路径可通过从末端节点310b扩散具有DA“AA”的帧来建立(如带箭头的短划线所示)。所述双向路径还可包含从末端节点310a到末端节点310b的第二路径,所述路径可通过从末端节点310a转发具有DA“ZZ”的帧来建立(如带箭头的实线所示)。与新建路径上的SA关联的源端口以不带圆圈的图案框(“AA”为斜线,“ZZ”为交叉线)表示。内部节点320g的虚线圆表示的是起初因链路失败而禁用,随后通过在第二路径上学习地址“AA”而重新激活的FDB项。
在一项实施例中,为修复链路故障,内部节点或网桥可能会禁用相应的FDB项,例如在检测到链路故障后,并将与禁用的FDB项的VID关联的其他链路/端口上的禁用的RCF(DRCF)扩散到相邻节点。所述DRCF可包含所有与对应于失败链路的端口相关的已学习地址(或地址/VID对)。当相邻节点在DRCF中所指示的其中一个地址(或地址/VID对)的源端口上接收所述DRCF时,所述节点可禁用对应于所述端口/地址/VID的FDB项,并将所述地址/VID留在DRCF中。此外,如果所述节点在不与DRCF中所指示的地址/VID关联的端口上接收所述DRCF,则所述节点可从所述DRCF中删除所述地址/VID。如果DRCF中遗留了任何与失败链路关联的地址/VID,则所述节点可将所述DRCF扩散到多个与残留VID关联的相邻内部节点。
另外,所述DRCF可在内部端口上扩散,例如扩散到网状桥接域中的任意相邻内部节点,但无法在外部端口上扩散到网状桥接域外的末端节点或外部节点。在某些处理丢失DRCF情况的实施例中,所述节点可丢弃接收到的所有包含之前已在节点上禁用的DA/VID的非扩散帧,然后发送回包含接收到所述帧的相同端口上的DA/VID的DRCF。因此,所述非扩散帧的发送者可接收所述DRCF,并禁用所有与禁用的DA/VID关联的FDB项,所述FDB项之前可能由于DRCF丢失而未禁用。
图4A描绘了一个学习和转发方法400A的一项实施例,所述方法可用于在多个可能不对应于树状拓扑的网桥或交换机(如以太网交换机)之间建立桥接路径。方法400A可用于学习最短延时路径和/或平衡网桥之间延时几乎相同的路径的流量负载平衡,这可在不使用链路状态协议且不保留网络拓扑数据库的情况下实现。例如,实施方法400A的网桥可包含网络100的内部节点120。方法400A可在所有在网状桥接域的内部端口上接收帧的内部节点120上实施,例如从另一内部节点120。另外,所述帧可为包含单播或单个DA,而不是组DA的单播帧。
方法400A可从块410A开始,其中单播帧可在网桥的内部端口上接收。例如,所述网桥可在耦合到它的其中一个端口(或接口)的链路上接收以太网帧。所述帧可包含表示帧的来源的SA、表示帧的目的地的DA,或两者皆包含。在块420中,方法400A可确定所述帧中的SA是否与所述网桥的不同于接收端口的另一端口关联。例如,所述网桥可搜索本地FDB项,以确定接收到的SA是否与接收端口关联。如果所述帧中的SA与另一端口关联,则方法400A可前进至块440。如果不满足块420中的条件,则方法400A可前进至块430。
在块430中,所述SA可与FDB中的端口关联。例如,网桥可在FDB中添加项,以将接收端口注册为所接收帧中的SA的源端口,或为所找到的针对所述SA的FDB项重置老化定时器。在块432中,方法400A可确定所述帧的DA是否已在FDB中找到。如果在FDB中找到所述帧的DA,则方法400A可前进至块490,其中所述帧可在与所述DA关联的端口上转发,且方法400A随后会结束。如果不满足块432的条件,则方法400A可前进至块434。在块434中,方法400A可确定所述帧是否为扩散帧。如是所述帧已标记为扩散帧,则方法400A可前进至块436,其中所述帧可在除源端口外的所有端口上转发,且方法400A会结束。例如,所述网桥可将所述帧标记为扩散帧,并在除接收端口外的与相邻节点关联的端口上扩散所述帧。但是,当在外部端口上发射到位于网状桥接域外的末端节点或外部节点时,所述帧不会标记为扩散帧。除此之外,如果不满足块434的条件,则方法400A可前进至块450,其中所述帧会被丢弃(例如删除),且方法400A会结束。
此外,在块440中,方法400A可确定如果已标记为扩散帧,则所述帧是否为扩散帧。如果所述帧是扩散帧,则方法400A可前进至块450,其中所述帧可被丢弃。否则,如果不满足块440中的条件,则方法400A可前进至块445,其中方法400A可确定所述帧中的UA是否已在FDB中找到。例如,所述网桥可在本地FDB项中搜索所述帧的DA。如果找到对应于所述帧的DA的项,则方法400A可前进至块490,其中所述帧可在与所述DA关联的端口上转发。如果不满足块445中的条件,则方法400A可前进至块450以丢弃所述帧。
图4B描绘了另一个学习和转发方法400B的一项实施例,所述方法可用于在多个网桥或交换机之间建立桥接路径,例如在网状拓扑中。与方法400A相同,方法400B可用于针对在网状桥接域的内部端口上接收帧的内部节点实施,例如从另一内部节点接收。但是,所接收的帧可为包含组DA的组播帧,而不得为单播帧。
方法400B可从块410B开始,其中组播帧可在网桥的内部端口上接收。所述帧可包含表示帧的来源的SA、表示多个目标节点(例如在组播组中)的组DA,或两者皆包含。在块420中,方法400B可确定所述帧中的SA是否与所述网桥的不同于接收端口的另一端口关联。如果所述帧中的SA与另一端口关联,则方法400B可前进至块450。否则,如果不满足块420中的条件,则方法400B可前进至块430。方法400B的后续的块432、436、450和490可与上述的方法400A的相应块相似。方法400B中学习和转发逻辑的其余部分按图4B中的块的顺序进行。
图4C描绘了另一个学习和转发方法400C的一项实施例,所述方法可用于在多个网桥或交换机之间建立桥接路径,例如在一般网状拓扑中。与方法400A和400B不同,可针对在网状桥接域的外部端口上例如从网络100的末端节点110接收帧的网状桥接域中的内部节点来实施方法400C。所接收的帧可为包含个别DA的单播帧,也可为包含组DA的组播帧。
方法400C可从块410C开始,其中可在网桥的外部端口上接收帧。例如,网络100中的一个内部节点120可在其外部端口上从末端节点110接收单播帧或组播帧。所述帧可包含表示帧的来源的SA、表示单个或多个目标节点的DA,或两者皆包含。在块420中,方法400C可确定所述帧中的SA是否与网桥的不同于接收端口的另一端口关联。如果所述帧中的SA与另一端口关联,则方法400C可前进至块460,其中可例如在之前为所述SA建立的路径的端口上发送控制帧以舍弃所述SA。否则,如果不满足块420中的条件,则方法400C可前进至块430。
在块430中,所述SA可与FDB中的端口关联。在块432中,方法400C可确定所述帧的DA是否已在FDB中找到。如果找到了所述DA的FDB项,则方法400C可前进至块490,其中所述帧可在与所述DA关联的端口上转发,且方法400C会结束。否则,如果不满足块432中的条件,则方法400C可前进至块433。在块433中,方法400C可验证所述DA是否为组地址。如果所述DA为组地址,则方法400C可前进至块436,其中所述帧可在除源端口外的所有端口上转发,且方法400C会结束。否则,如果所述DA是单播帧或单个DA,则方法400C可前进至块435,其中所述帧可标记为扩散帧。随后,方法400C可前进至块436以扩散所述帧。当在所有耦合到网状桥接域中的内部节点的内部端口上发射时,所述帧可标记为扩散帧。但是,当在网状桥接域外的外部节点上发射时,所述帧无需标记为扩散帧。
图5描绘了另一个学习和转发方法500的一项实施例,该方法可用于在多个网桥或交换机之间建立桥接路径,且可支持链接故障恢复。根据方法500,在转发帧之前可能会检查FDB项的状态,以免在已根据链接故障恢复程序禁用对应于所述帧的地址的FDB项时转发或扩散所述帧。所述方法500可在在网状桥接域的内部端口上接收帧的内部节点处实施,例如从网状桥接域的另一个内部节点接收帧。
方法500可从块510开始,其中帧可在网桥的内部端口上接收。剩余的块520、530、532、534、536、540、545、550和590可与方法400A中对应的块类似。因此,方法500可遵循与方法400A相同的学习和转发逻辑。但是,为支持链路故障恢复,当满足块532或545中的条件时,例如,如果在FDB中找到所述帧的DA,方法500可前进至块570,而不是块590。在块570中,方法500可验证DA的项是否已,例如,出于链接故障的原因而在FDB中禁用。如果所述DA的FDB项已禁用,则方法500可前进至块575,其中包含所述DA的禁用帧可在,例如,接收所述帧的端口上发送。随后,方法500可前进至块550,其中所述帧可能会被丢弃。另外,如果不满足块570中的条件,则方法500可前进至块590,其中所述帧可在与DA关联的端口上转发。
图6描绘了另一个学习和转发方法600的一项实施例,所述方法可用于在多个网桥或交换机之间建立桥接路径,以及支持链接故障恢复。所述方法600可在在网状桥接域的外部端口上接收帧的内部节点处实施,例如从网状桥接域外的外部节点接收帧。此外,所述帧可为包含单播或单个DA的单播帧。方法600可从块610开始,其中单播帧可在网桥的外部端口上接收。剩余的块620、630、632、635、636、660和690可与方法400C中对应的块类似。因此,方法600可遵循与方法400C相同的学习和转发逻辑。但是,为支持链路故障恢复,当满足块632中的条件时,例如,如果在FDB中找到所述帧的DA,方法600可前进至块670。在块670中,方法600可验证DA的项是否已,例如,出于链路故障的原因而在FDB中禁用。如果所述DA的FDB项已禁用,则方法600可前进至块635,其中所述帧可标记为扩散帧,从而扩散到其他节点,或者,在通过外部端口转发的情况下,所述帧无需进行标记即可发送。另外,如果不满足块670中的条件,则方法600可前进至块690,其中所述帧可在与DA关联的端口上转发。
图7A描绘了另一个学习方法700A的一项实施例,所述方法可用于在多个网桥和交换机之间建立桥接路径,并为组DA注册扩散端口。根据方法700A,组DA的一组扩散端口可通过学习以非扩散帧的形式接收单个或单播DA的端口来学习。因此,所述节点可随后发送包含组DA以及与单个DA所关联的扩散端口,而不是其余端口上的单个DA相匹配的SA的任意组播帧,从而可避免将组播帧转发到可丢弃或过滤所述帧的相邻节点。
方法700A可从块710开始,其中帧可在网桥的端口上接收。在块712中,方法700A可确定所述帧是否为非扩散帧的单播帧。如果所述帧为未标记为扩散帧的单播帧,则方法700A可前进至块714,其中所述端口可注册为与所述帧的DA关联的扩散端口,且方法700A随后会结束。否则,如果不满足块712中的条件,例如,如果所述帧为扩散帧或包含组DA,方法700A会结束。随后,例如在使用方法700A接收和处理帧后,可使用上述任意的适当的学习和转发方法进一步处理所述帧。
图7B描绘了另一个学习和转发方法700B的一项实施例,所述方法可用于在多个网桥或交换机之间建立桥接路径,以及用于处理组播帧。方法700B可从块710开始,其中组播帧可在网桥的外部端口上接收。在块720中,方法700B可确定所述帧中的SA是否与所述网桥的不同于接收端口的另一端口关联。如果所述帧中的SA与另一端口关联,则方法700B会前进至块745。否则,如果不满足块720中的条件,则方法700B会前进至块730。
在块730中,所述SA可与FDB中的端口关联。在块732中,方法700B可确定所述帧中的DA是否已在FDB中找到。如果发现了所述DA的FDB项,则方法700B可前进至块790,其中所述帧可在与所述DA关联的端口上转发,且方法700B会结束。否则,如果不满足块732中的条件,则方法400C可前进至块735。在块735中,方法700B可验证所述SA是否与任何扩散端口关联。如果所述SA与一个或一组扩散端口关联,则方法700B可前进至块738,其中所述帧可在所述扩散端口上转发,然后所述方法结束。否则,如果所述SA没有与任何扩散端口关联,则方法700B可前进至块736,其中所述帧可在除源端口外的所有端口上转发,且方法700B随后会结束。
此外,在块745中,方法700B可验证接收端口是否为,例如,耦合到网状桥接域外的外部节点的外部端口。如果所述接收端口是外部端口,则方法700B可前进至块760。否则,如果接收端口是,例如,耦合到网状桥接域内的内部节点的内部端口,则方法700B可前进至块750,其中所述帧可能会被丢弃,且方法700B随后会结束。在块760中,可能会发送控制帧以舍弃所述SA,且方法700B随后可前进至块730。例如,如果URCF包含作为UA的所述帧的SA,则可对其进行组播,以舍弃之前为SA建立的路径。
图8描绘了舍弃和转发方法800的一项实施例,所述方法可用于处理MAC地址等各种地址的重定位。例如,方法800可在将末端节点或台站的链路从桥接路径中的内部节点(或交换机)上的端口移动到另一端口的情况下实施。随后,末端节点的地址可在内部节点的新端口上重新学习。经过重定位的地址可作为UA添加到可扩散到所述节点(外部节点除外)的舍弃帧中,例如URCF,以舍弃之前关联的源端口上的地址。舍弃帧也可包含发端节点的SA以消除环路。
方法800可从块810开始,其中舍弃帧可在网桥的端口上接收。例如,网桥可接收URCF或标记为舍弃帧的帧。在块820中,方法800可确定所述帧中的SA是否与不同于接收端口的另一端口关联。如果所述帧中的SA与另一端口关联,则方法800可前进至块822,其中所述帧可能会被舍弃,且方法800随后会结束。否则,如果不满足块820中的条件,则方法800可前进至块830。在块830中,方法800可确定是否已在FDB中发现所述帧中的UA。如果发现对应于所述帧中的UA的项,则方法800可前进至块840。否则,如果不满足块830中的条件,则方法800可前进至块842。在块840中,所述UA项可从FDB中删除以舍弃位于节点中的UA。在块842中,所述帧可在除源端口外的所有端口上转发,在此情况下,所述源端口可为接收端口。方法800随后会结束。在实施方法800以舍弃内部节点中与特定地址关联的地址后,例如与之前为所述地址建立的路径上的地址关联,可在适当情况下实施上述的任意方法,以重新学习新路径上的地址。
图9描绘了地址禁用和转发方法900的一项实施例,所述方法可用于在网络中实现链路故障恢复。地址禁用和转发方法900可用于更新节点或网桥的FDB项,作为对因链路故障而收到禁用帧的回应。所述禁用帧可包含可为其禁用FDB项的已学习的单播或单个地址的列表,例如当接收到的地址与接收禁用帧的端口关联时。
方法900可从块910开始,其中禁用帧可在网桥的端口上接收。所述帧可标记为可能包含单播地址的禁用列表的禁用帧或DRCF。在块920中,方法900可确定在所述帧中的禁用列表中是否存在另一未处理的地址(例如单播DA)。如果禁用列表中存在其他未处理的地址,则方法900可前进至块940以处理所述地址。如果不满足块920中的条件,则方法900可前进至块930。在块930中,方法900可确定所述帧中的禁用列表中是否存在任何剩余的已处理的地址。如果禁用列表中存在任何剩余的已处理的地址,则方法900可前进至块934。如果不满足块930中的条件,则方法900可前进至块932,其中所述帧可能会被舍弃,且方法900随后会结束。在块934中,所述帧可在除接收端口外的所有端口上转发,且方法900随后会结束。
此外,在块940中,方法900可确定是否存在针对所述帧中的地址(例如单播DA)的活动FDB项。如果存在针对所述帧中的地址的活动FDB项,例如当所述地址与源端口关联时,则方法900可前进至块950。如果不满足块940中的条件,则方法900可前进至块942。在块942中,所述地址可从禁用列表中删除,且方法900可返回块920以处理任何剩余的地址。在块950中,方法900可确定接收端口是否为所述地址(例如单播DA)的转发端口(例如源端口)。转发端口可与对应于所述地址的FDB项中的地址关联。如果接收端口是所述地址的转发端口,则方法900可前进至块962。如果不满足块950中的地址,则方法900可前进至块942。在块962中,可禁用对应于所述地址的FDB项,且方法900可返回块920。
上述网络组件可在任何通用的网络组件上实施,例如具有足够的处理能力、内存资源和网络吞吐能力以处理所施加的必要工作量的计算机或网络组件。图10描绘了典型的通用网络组件1000,所述组件适用于实施本文揭示的组件的一项或更多实施例。网络组件1000包括处理器1002(可称为中央处理器,即CPU),所述处理器与包括辅助存储器1004、只读储存器(ROM)1006、随机存储器(RAM)1008的内存设备、输入/输出(I/O)设备1010,以及网络连接设备1012连通。所述处理器1002可作为一个或多个CPU芯片实施,也可为一个或多个专用集成电路(ASIC)的一部分。
辅助存储器1004通常由一个或多个磁盘驱动器或磁带驱动器构成,且用作数据的非易失存储器,且如果RAM 1008的容量不足以存储所有工作数据,则辅助存储器1004为溢出性数据存储设备。辅助存储器1004可用于存储在选择执行程序后加载到RAM 1008中的此类程序。ROM 1006用于存储指令,以及可能存储在程序执行期间读取的数据。ROM 1006为非易失存储设备,与存储容量较大的辅助存储器1004相比,该设备的存储容量通常较小。RAM 1008用于存储易失数据,且可能用于存储指令。ROM 1006和RAM 1008的访问速度通常要比辅助存储器1004快。
至少一项实施例已公开,且所属领域的一般技术人员对实施例和/或实施例的特性所做的更改、组合和/或修改均在本发明的范围内。通过组合、整合和/或省略实施例的特性而产生的替代实施例也在本发明的范围内。如果明确说明了数值范围或限制,则应了解,此类明确范围或限制应包括落在明确说明的范围或限制内的具有相同量值的迭代范围或限制(例如,从约1到约10包括2、3、4等;大于0.10包括0.11、0.12、0.13等)。例如,在任何情况下,如果公开了具有下限R1和上限Ru的数值范围,则落在此范围内的任何数值也明确公开。特别地,以下在所述范围内的数值明确公开:R=R1+k*(Ru-R1),其中k是从1%到100%且增量为1%的变量,也就是说,k为1%、2%、3%、4%、5%...50%、51%、52%...95%、96%、97%、98%、99%或100%。此外,由上述定义的两个R值确定的数值范围也明确公开。对于权利要求书的任何元素,术语“可选”的使用表示需要或者不需要该元素,这两种选择均在权利要求书的范围内。应了解,对“包含”、“包括”和“含有”等广义词的使用支持“由…构成”、“主要由…构成”和“大体上由…构成”等狭义词。因此,所保护的范围不限于上文所述的说明,而是由随附的权利要求书确定,所述范围包括权利要求书的标的物的所有等效物。所有的权利要求均作为进一步的公开内容并入说明书中,且所述权利要求为本发明的实施例。本发明中对引用内容的讨论,尤其是对公布日期晚于本申请案的优先权日的所有引用内容的讨论,不视为承认其为现有技术。
本发明中引用的所有专利、专利申请和公布的公开在此以引用的方式并入本文中,只要其向本发明提供了示例性、程序性或其他详细的补充。
虽然本发明提供了若干实施例,但应了解,所公开的系统和方法可在不脱离本发明的精神或范围的情况下采用许多其他的特定形式进行实施。当前实例应视为说明性而非限制性的实例,且旨在不限于此处提供的详细说明。例如,可在另一系统中组合或集成多种元件或组件,或者可省略或不实施某些特性。
此外,在各种实施例中介绍和说明的离散或独立的技术、系统、子系统和方法可在不脱离本发明的范围的情况下与其他系统、模块、技术或方法进行组合或集成。所展示或讨论的彼此耦合或直接耦合或连通的其他项目可通过特定接口、设备或中间组件以电力、机械或其他方式间接耦合或连通。所属领域的一般技术人员可确定更改、替换和修改的其他实例,并且所述实例可在不脱离本发明的精神或范围的情况下制定。

Claims (9)

1.一种交换机,其包含:
所述交换机经配置以学习源节点的源地址(SA),所述源节点具有源端口,所述源端口接收包括所述SA的帧,所述的SA之前没有在另一端口上被学习;且所述交换机经配置以随后转发任何包含目标节点的目标地址(DA)的帧,所述DA与所述SA所关联的所述源端口上的所述已学习的SA匹配;
如果在接收端口上接收的帧包含之前未在源端口上学习的DA,则会扩散所述接收的帧,其中所述接收的帧在除所述接收端口外的多个端口上扩散。
2.根据权利要求1所述的交换机,其特征在于,与所述源端口关联的所述已学习的SA是通过向过滤数据库(FDB)添加项来学习的,其中所述项在所述已学习的SA老化移出时删除。
3.一种交换机,其包含:
所述交换机经配置以扩散在接收端口接收到的包括目标地址(DA)的帧,所述的DA之前没有在源端口上被学习;并通过标记所述扩散的帧来将所述扩散的帧与其他转发的帧区分开来;
其中所述扩散的帧在多个端口上扩散。
4.根据权利要求3所述的交换机,其特征在于,所述扩散的帧是通过在所述扩散的帧的所述DA或源地址(SA)中设置组位来标记为扩散帧。
5.根据权利要求3所述的交换机,其特征在于,所述扩散的帧是通过添加指明所述扩散帧的字段或标记来标记为扩散帧。
6.根据权利要求3所述的交换机,其特征在于,所述扩散的帧是通过修改所述接收到的帧中的字段来标记为扩散帧。
7.根据权利要求3所述的交换机,其特征在于,所述交换机丢弃在接收端口上接收的帧,所述接收端口不是与所述扩散的帧中的源地址(SA)关联的所述源端口。
8.根据权利要求3所述的交换机,其特征在于,所述交换机在包含以网状拓扑连接的多个节点的多个路径上接收并转发所述扩散的帧。
9.根据权利要求3所述的交换机,其特征在于,如果所述DA是组DA且所述扩散的帧中的源地址(SA)与非所述接收端口的第二端口关联,则所述交换机扩散所述扩散的帧。
CN201080015377.4A 2009-04-23 2010-04-19 交换机 Active CN103004144B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17195409P 2009-04-23 2009-04-23
US61/171,954 2009-04-23
PCT/US2010/031574 WO2010123808A1 (en) 2009-04-23 2010-04-19 Media access control bridging in a mesh network

Publications (2)

Publication Number Publication Date
CN103004144A CN103004144A (zh) 2013-03-27
CN103004144B true CN103004144B (zh) 2016-09-07

Family

ID=42173261

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080015377.4A Active CN103004144B (zh) 2009-04-23 2010-04-19 交换机

Country Status (5)

Country Link
US (1) US8451842B2 (zh)
EP (2) EP2422493B1 (zh)
CN (1) CN103004144B (zh)
ES (1) ES2437070T3 (zh)
WO (1) WO2010123808A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9294395B2 (en) 2009-04-23 2016-03-22 Futurewei Technologies, Inc. Media access control bridging in a mesh network
US8675658B2 (en) * 2011-11-28 2014-03-18 Avaya Inc. Using multiple IGMP queriers in a layer 2 network
JP5974665B2 (ja) * 2012-06-22 2016-08-23 富士通株式会社 情報処理システム、中継装置、情報処理装置および情報処理方法
CN103731288B (zh) * 2012-10-16 2017-04-12 杭州华三通信技术有限公司 报文转发方法及设备
CN102932227B (zh) * 2012-10-29 2015-07-01 烽火通信科技股份有限公司 一种实现vlan网桥桥接技术的方法
CN102938722B (zh) * 2012-10-30 2017-11-10 中兴通讯股份有限公司 一种网络设备周期性协议发包的方法及装置
US9178799B2 (en) * 2013-02-01 2015-11-03 TELEFONAKTIEBOLAGET L M ERRICSSON (publ) Method and system of shortest path bridging (SPB) enhanced resilience with loop mitigation
EP3224998B1 (en) * 2014-11-26 2018-10-17 Telefonaktiebolaget LM Ericsson (publ) Method, device, carrier and computer progam for managing data frames in switched networks
CN110838948B (zh) * 2018-08-15 2022-02-22 迈普通信技术股份有限公司 测试mac地址学习速率的方法、测试系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1802818A (zh) * 2003-02-19 2006-07-12 日本电气株式会社 网络系统、学习桥式节点、学习方法及其程序
EP1770904A1 (en) * 2005-09-29 2007-04-04 Siemens Aktiengesellschaft Method and network management system for determining the topology of a communication network
EP1944924A1 (en) * 2007-01-12 2008-07-16 Samsung Electronics Co., Ltd. System, method and computer-readable medium for mobile Ad-hoc network routing based upon hardware address (MAC)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3963728B2 (ja) * 2002-01-22 2007-08-22 富士通株式会社 スパニングツリーのバイパス方法および装置
US7515600B1 (en) 2003-01-28 2009-04-07 Cisco Technology, Inc. Synchronizing portions of a database with different databases on different nodes of a network
DE102005002358A1 (de) * 2005-01-18 2006-08-24 Siemens Ag Verfahren zur Bestimmung der Weiterleitungsrichtung von Ethernet-Frames
JP4967286B2 (ja) * 2005-09-15 2012-07-04 富士通株式会社 伝送装置およびフレーム転送方法
US20080069107A1 (en) * 2006-09-15 2008-03-20 Siemens Aktiengesellschaft Scalable packet based network
US7961601B2 (en) * 2007-08-16 2011-06-14 Ericsson Ab Lesser disruptive open shortest path first handling of bidirectional forwarding detection state changes
JP2010154383A (ja) * 2008-12-26 2010-07-08 Nec Corp パス切り替え方法、通信システム、通信装置、及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1802818A (zh) * 2003-02-19 2006-07-12 日本电气株式会社 网络系统、学习桥式节点、学习方法及其程序
EP1770904A1 (en) * 2005-09-29 2007-04-04 Siemens Aktiengesellschaft Method and network management system for determining the topology of a communication network
EP1944924A1 (en) * 2007-01-12 2008-07-16 Samsung Electronics Co., Ltd. System, method and computer-readable medium for mobile Ad-hoc network routing based upon hardware address (MAC)

Also Published As

Publication number Publication date
WO2010123808A1 (en) 2010-10-28
US8451842B2 (en) 2013-05-28
EP2422493A1 (en) 2012-02-29
EP2422493B1 (en) 2013-09-04
ES2437070T3 (es) 2014-01-08
EP2667544A1 (en) 2013-11-27
EP2667544B1 (en) 2016-10-26
CN103004144A (zh) 2013-03-27
US20100272108A1 (en) 2010-10-28

Similar Documents

Publication Publication Date Title
CN103004144B (zh) 交换机
US9294395B2 (en) Media access control bridging in a mesh network
JP3963728B2 (ja) スパニングツリーのバイパス方法および装置
US8565124B2 (en) Node, network, correspondence relationship generation method and frame transfer program
US8811398B2 (en) Method for routing data packets using VLANs
US9992103B2 (en) Method for providing sticky load balancing
US8248920B2 (en) Alternate spanning tree for faster indirect link failure recovery
US8576840B2 (en) Assigning packets to a network service
US20140140245A1 (en) Configuring networks including spanning trees
CN102291455B (zh) 分布式集群处理系统及其报文处理方法
US20130254356A1 (en) Systems and methods for recovery from network changes
CN105577417A (zh) 基于vxlan网络的报文转发方法及装置
US7894430B2 (en) Hub and spoke multicast model
US20140140210A1 (en) Network system and load balancing method
CN1339228A (zh) 公共移动数据通信网
US20080123561A1 (en) Minimizing Spanning-Tree Protocol Event Processing and Flooding in Distribution Networks
CN102075419B (zh) 三层虚拟专用网等价路由的生成及转发方法和边缘路由器
US20090238076A1 (en) METHOD AND APPARATUS TO ENABLE AN IPe DOMAIN THROUGH EIGRP
CN104539545B (zh) Trill网络中的组播报文转发方法和设备
CN104618525B (zh) 基于分层路由跨异构网络的无缝连接的方法
US9762403B2 (en) Shortest path bridging (SPB)—protocol-independent multicast (PIM) interactions on a backbone edge bridge (BEB) acting as a multicast boundary router interfacing with a PIM network
CN103873339B (zh) 一种虚拟网关路由器的分配方法和装置
CN105681119A (zh) 一种检测路由成环的方法及装置
Cisco DECnet Commands
Cisco DECnet Commands

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant