CN101340366B - 用于媒体访问控制地址学习的方法及装置 - Google Patents

用于媒体访问控制地址学习的方法及装置 Download PDF

Info

Publication number
CN101340366B
CN101340366B CN2008100909305A CN200810090930A CN101340366B CN 101340366 B CN101340366 B CN 101340366B CN 2008100909305 A CN2008100909305 A CN 2008100909305A CN 200810090930 A CN200810090930 A CN 200810090930A CN 101340366 B CN101340366 B CN 101340366B
Authority
CN
China
Prior art keywords
entry
ply
mac address
yarn drill
address
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.)
Expired - Fee Related
Application number
CN2008100909305A
Other languages
English (en)
Other versions
CN101340366A (zh
Inventor
R·施伦克
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.)
Alcatel Lucent SAS
Nokia of America Corp
Original Assignee
Alcatel Optical Networks Israel 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 Alcatel Optical Networks Israel Ltd filed Critical Alcatel Optical Networks Israel Ltd
Publication of CN101340366A publication Critical patent/CN101340366A/zh
Application granted granted Critical
Publication of CN101340366B publication Critical patent/CN101340366B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches

Abstract

本发明提供用于媒体访问控制地址学习的方法及装置,其中包括用于使线卡转发数据库同步的方法及装置。一种方法包括:在线卡上接收数据包;为至少一个其他线卡中的每一个生成控制包,以能够在其上进行地址更新操作;以及向至少一个其他线卡传播至少一个控制包。响应“对所接收数据包执行地址更新操作”这一确定而生成控制包或多个包。地址更新过程可作为入口地址更新过程或出口地址更新过程来实现。该地址更新过程与地址老化过程一起执行。

Description

用于媒体访问控制地址学习的方法及装置
技术领域
本发明涉及通信网络领域,更具体来说,涉及媒体访问控制(MAC)地址学习。
背景技术
以太网是用于局域网(LAN)的基于帧的组网技术。以太网使用以太网交换机来连接LAN。以太网交换机使用媒体访问控制(MAC)地址、即分配给网络节点的唯一标识符将以太网帧从源节点转发给目标节点。MAC地址学习是桥接以太网的基本属性,例如电气和电子工程师协会(IEEE)802.1Q-2003(第8.7条)和IEEE 802.1D-2004(第7.8条)等的标准中定义的那样。MAC地址学习被执行以保存用于转发帧的转发表,即使得可将以太网交换机的入口端口上接收的帧转发给以太网交换机的正确的出口端口。
具有执行控制功能的控制平面和执行帧转发功能的转发平面的以太网交换机,通常分为跨越若干物理线卡的若干以太网桥。由于MAC地址学习用转发数据库来执行,因此,现有以太网交换机中的以太网桥的物理分布,作为控制平面中保存的主转发数据库和转发平面中保存的本地转发数据库来实现。本地转发数据库由主转发数据库更新。具体来说,线卡对保持主转发数据库的中央控制处理器转发数据库更新。中央控制处理器将数据库更新从主转发数据库分发到分别由各线卡保持的本地转发数据库。
MAC地址学习可产生极大量的信息。例如,如果只有先前未学习的地址到达10GBps以太网端口(例如由于网络重新配置),则单独对于该以太网端口可产生超过每秒一千六百万个学习请求。不利的是,尽管在非分布MAC地址学习中(其中学习请求集中于单个线卡)处理如此大量的学习请求是可行的,但是在分布MAC地址学习中处理如此大量的学习请求可能并不是可行的。而且,丢弃这类学习请求会使整体网络性能降级(因为未学习的MAC地址产生额外涌入的以太网业务量)。
不利的是,由于线卡与中央控制处理器之间的有限带宽,极复杂的控制通路只能处理转发通路带宽的一小部分。由于控制通路只能处理转发通路带宽的一小部分,所以许多学习请求被丢弃,从而引起网络降级。此外,在价格压力不断推动控制平面复杂度降低的同时,高容量以太网设备对带宽的需求持续增加,因此加剧了学习请求的丢弃(以及所产生的网络降级)。
发明内容
通过本发明的使线卡转发数据库同步的方法及装置,使现有技术的各种缺点得到解决。一种方法包括:在线卡上接收数据包;为至少一个其他线卡中的每一个生成控制包,以能够在其上进行地址更新操作;以及向至少一个其他线卡传播至少一个控制包。响应“对所接收数据包执行地址更新操作”这一确定,生成该(该等)控制包。地址更新过程可作为入口地址更新过程或出口地址更新过程来实现。该地址更新过程与地址老化过程一起执行。
附图说明
研读以下结合附图的详细描述,可易于理解本发明的教导,附图中:
图1是表示通信网络的高级框图;
图2是表示图1的网桥的高级框图;
图3是表示图1的网桥的高级框图;
图4表示根据本发明的一个实施例的方法;
图5表示根据本发明的一个实施例的方法;
图6表示根据本发明的一个实施例的方法;
图7表示适合于在转发平面中分发地址学习信息的作为示例的学习请求包(LRP);
图8表示根据本发明的一个实施例的方法;
图9是表示用于MAC地址老化的线卡的一部分的高级框图;
图10表示根据本发明的一个实施例的方法;
图11是地址老化和地址刷新的时序图;
图12是根据本发明的一个实施例的基于入口的分布地址更新的状态图;
图13是根据本发明的一个实施例的基于出口的分布地址更新的状态图;以及
图14是表示适合用于执行文中所述功能的通用计算机的高级框图。
为有助于理解,在可能的情况下用相同的附图标记来表示附图中共有的相同元件。
具体实施方式
通过在转发平面中实现有效的分布MAC地址学习(快通道中的分布MAC地址学习),本发明克服了对于在控制平面中实现MAC地址学习的限制(慢通道中的集中MAC地址学习)。具体来说,在转发平面(快通道)中实现转发数据库中涉及MAC地址学习的部分。通过完全在转发平面中实现MAC地址学习,本发明消除了对于使用控制平面与转发平面之间的复杂控制接口进行通信的需要,由此消除了目前引起现有以太网中的网络降级的瓶颈。因此,与控制平面中的MAC地址学习相比,本发明具有显著的优点。
如文中所述,虽然术语“MAC地址学习”往往用作一般术语,但是,MAC地址学习操作可包括MAC地址学习操作(即,对转发数据库添加条目)、MAC地址刷新操作(即,刷新转发数据库条目的地址时间戳)以及MAC地址再学习操作(刷新转发数据库条目的地址时间戳并更新条目端口)。因此,为了防止对“MAC地址学习”的一般说法与不同MAC地址学习操作之间的混淆,典型术语“MAC地址学习”在本文中更一般地称作“MAC地址更新”,类似地,典型术语“MAC地址学习操作”在本文更一般地称作“MAC地址更新操作”(或者“转发数据库更新操作”)。
图1说明通信网络的高级框图。通信网络100包括互连多个局域网(LAN)120A-120C(统称为LAN 120)的网桥110,每个LAN 120支持多个终端130(统称为终端130)。在一个实施例中,网桥和LAN 120可以是基于以太网的,但是本发明不限于这样一种实现方式(即,可使用其它各种桥接技术)。网桥110包括分别服务于LAN 1201-1203的多个线卡112A-112C(统称为线卡112)。网桥110的线卡112交换数据包,以在LAN 120之间传播数据包。网桥110的线卡112交换MAC地址更新信息,以同步由线卡112保持的分布式转发数据库。
图2是表示图1的网桥的高级框图。网桥100包括控制平面210和转发平面220。控制平面210和转发平面220用控制信道215进行通信。控制平面210包括提供转发平面220的控制功能的控制模块211。转发平面220包括转发模块221(例如线卡112及关联模块)。转发平面220转发数据包,并且还根据本发明执行分布MAC地址学习(与控制平面210利用控制信道215来执行集中MAC地址学习的现有网桥不同)。结合本文所描述的图3-图13可更好地理解本发明的分布MAC地址学习功能。
如图2所示,网桥100使用支持本发明的分布MAC地址更新功能的增强硬件和软件。控制模块211可包括一个或多个控制平面硬件芯片(例如控制处理器、存储器等)及关联软件。转发平面模块220均可包括一个或多个转发平面硬件芯片(例如网络处理器、存储器等)及关联软件。转发平面硬件芯片由控制平面硬件芯片控制。转发平面硬件芯片支持数据包转发功能和分布MAC地址更新功能。换言之,根据本发明,MAC地址更新(例如MAC地址学习)完全在转发平面220中执行,由此消除为进行MAC地址更新在控制平面210与转发平面220之间的通信(即慢通道通信)。
转发平面硬件芯片包括根据本发明增强的转发平面硬件芯片。转发平面硬件芯片经过增强,以支持跨越线卡的MAC地址的分布式同步。在一个实施例中,增强转发平面硬件芯片包括增强以太网芯片。具体来说,在一个实施例中,以太网芯片经过增强,从而包括控制包复制器引擎和MAC地址老化引擎。在另一个(其中以太网芯片包括多播复制器引擎和MAC地址老化引擎的)实施例中,如文中所描述,多播复制器引擎和MAC地址老化引擎可经过增强以支持本发明的分布MAC地址更新功能。
虽然本文主要就网桥110的特定实现(包括控制平面210和转发平面220的特定实现)作了描述,但是,也有各种其它的控制平面和转发平面实现可用来提供本发明的分布MAC地址更新功能。具体来说,本发明的分布MAC地址更新功能可用各种硬件和/或软件的组合来实现。在特定硬件和/或软件实现的上下文中对本发明的描述只是说明性的。本发明不限于本文描述的特定硬件和/或软件实现,它们只是作为描述本发明的分布MAC地址更新功能的示例。
图3是表示图1的网桥的高级框图。如图3所示,网桥110包括多个线卡112A-112C(统称为线卡122)。线卡112A-112C包括相应端口302A-302C(统称为端口302)。端口302从其它网桥或终端(未示出)接收数据包,并向其它网桥或终端(未示出)发送数据包。线卡112A-112C包括相应的处理器304A-304C(统称为处理器304)。线卡112A-112C包括相应的转发数据库305A-305C(统称为转发数据库305)。线卡112(具体指处理器304和转发数据库305)支持本发明的数据包转发功能和MAC地址更新功能,参照图4-图13可更好地理解这一点。
如图3所示,各线卡112支持数据包转发功能。其上接收到数据包的线卡112确定所接收数据包的转发。端口302接收数据包(用作所接收数据包的入口端口)。与入口端口302关联的处理器304确定将所接收数据包转发到的一个或多个其它端口302(用作数据包的出口端口)。处理器304确定使用(入口端口302的线卡的)关联转发数据库305将所接收数据包转发给哪个(哪些)出口端口302。具体来说,处理器304确定所接收数据包的目标MAC地址,并搜索关联转发数据库305中的目标MAC地址。
如图3所示,各线卡112支持MAC地址更新功能。与通过网桥110转发的数据包关联的线卡112(即在其上接收数据包的入口线卡112或者从其中发送数据包的出口线卡112),确定是否分发数据包的MAC地址更新信息。与该线卡112关联的处理器304,确定是否使用关联转发数据库305来分发所接收数据包的MAC地址信息。如果要分发MAC地址更新信息,则处理器304将关联的MAC地址更新信息分发到线卡112中的其它线卡。具体来说,处理器304生成包含MAC地址学习信息的控制包(文中指学习请求包(LRP)),并将这些控制包转发给线卡112中的其它线卡。
如图3所示,转发数据库305包括多个MAC地址条目(示为转发数据库中的行)。转发数据库305包括存储MAC地址条目中每一个条目的信息的字段(描述为转发数据库中的列)。在一个实施例中,各转发数据库包括“MAC地址”字段、“端口”字段(标示服务于关联的MAC地址的端口)和“地址老化时间戳”字段(指示关联的MAC地址的使用期)。如文中所述,“地址老化时间戳”字段存储的老化时间戳值可由相应的老化计时器(它可以是向下计数或向上计数,具体取决于实现方式)来更新。一个或多个转发数据库305可包括用于提供各MAC地址条目的附加信息的一个或多个附加字段(文中为清楚起见而省略)。
如文中所述,线卡112交换数据包和MAC地址更新信息。线卡112用通信通路(CP)308(统称为CP 308)进行通信,以交换数据包和MAC地址更新信息。具体来说,如图3所示,线卡302A和302B用CP3081进行通信,线卡302B和302C用CP 3082进行通信,以及线卡302C和302A用CP 3083进行通信。CP 308可用线卡122之间的任何通信手段(例如使用一个或多个交换卡、底板等以及它们的各种组合)来实现。本发明不限于卡间通信的任何特定实现方式。
虽然本文中主要描述为包括端口、处理器和转发数据库,但是,各线卡302可包括用于提供本发明的功能的其它各种组件(例如处理器、存储器、配套电路等以及它们的各种组合)。虽然为清楚起见仅就具有一个端口的线卡作了描述,但是线卡也可包括多个端口。虽然为清楚起见就三个线卡作了描述,但是网桥110也可包括更多或更少的线卡。
如文中所描述,线卡112交换数据包和MAC地址更新信息。线卡112用相应的转发数据库305来执行数据包转发功能(对于单播业务和/或多播业务)。线卡112用相应的转发数据库305来执行MAC地址更新功能(包括执行MAC地址更新操作、分发MAC地址更新信息、执行MAC地址老化处理等以及它们的各种组合)。线卡112用控制包(文中表示学习请求包(LRP))来分发MAC地址更新信息。文中参照图6-图8来描述MAC地址更新操作的执行和关联的MAC地址更新信息的分发。文中参照图9-图10来描述MAC地址老化处理的执行。
图4说明根据本发明的一个实施例的方法。具体来说,图4的方法400包括用于处理所接收数据包的方法,其中包括转发所接收数据包并对所接收数据包执行MAC地址更新功能。虽然就一个数据包作了描述,但是可对于方法400在其上运作的网桥上所接收的每个数据包执行方法400。虽然描述为依次执行,但是,图4的方法400的步骤的至少一部分可同时或以不同于本文针对图4所描述的顺序来执行。方法400开始于步骤402,然后进入步骤404。
在步骤404,接收数据包。该数据包在入口端口接收。该数据包包括数据包报头和数据包有效载荷。该数据包的格式取决于基础技术。例如,在一个实施例中,该数据包可以是以太网包。在本实施例中,数据包报头可包括标示包的始发终端的源MAC地址字段和标示该数据包要发送到的终端(或多个终端)的目标MAC地址字段,以及其它数据包报头字段。虽然本文主要就以太网数据包作了描述,但是,本发明可用来为交换各种其它类型的数据包的网络提供增强MAC地址更新功能。
在步骤406,转发数据包。该数据包转发给一个或多个线卡。该数据包被转发,以通过一个或多个出口端口(可设置在一个或多个线卡上)进行传送。文中参照图5来描述数据包的转发。在步骤408,执行MAC地址更新过程。对于所接收数据包执行MAC地址更新过程。MAC地址更新过程可在入口线卡上执行(对于入口MAC地址更新),或者在其它线卡之一上执行(对于出口MAC地址更新)。文中参照图6-图10来描述MAC地址更新过程的执行。方法400在步骤410结束。
图5说明根据本发明的一个实施例的方法。具体来说,图5的方法500包括用于转发所接收数据包的方法。虽然描述为依次执行,但是,图5的方法500的步骤的至少一部分可同时或者以不同于本文针对图5所描述的顺序来执行。方法500开始于步骤502(在接收到数据包之后,如参照图4的方法400所描述),然后进入步骤504。
在步骤504,(例如从数据包的报头)确定数据包的目标MAC地址。在步骤506,确定目标MAC地址的条目是否存在于转发数据库(即,入口端口的线卡的转发数据库)。通过搜索转发数据库中的目标MAC地址(即包含目标MAC地址的转发数据库条目),来执行关于目标MAC地址的条目是否存在于转发数据库的确定。如果目标MAC地址的条目包含在转发数据库中,则方法500进入步骤508。如果目标MAC地址的条目未包含在转发数据库中,则方法500进入步骤512。
在步骤508,确定数据包的出口端口(即,数据包离开网桥的端口)。数据包的出口端口用转发数据库(例如根据与包含目标MAC地址的转发数据库条目相关联的“端口”值)来确定。在步骤510,数据包被转发到数据包的出口端口(它可以是与入口端口相同的线卡上的不同端口、不同线卡上的端口或者一个或多个线卡上的一个以上的端口(对于多播))。方法500从步骤510进入步骤514,在该步骤方法500结束。在步骤512,数据包被转发到所有端口(即,网桥上除了端口X以外的其它所有端口,包括与入口端口相同的线卡上和网桥的其它线卡上的其它端口)。方法500从步骤512进入步骤514,在该步骤方法500结束。
图6说明根据本发明的一个实施例的方法。具体来说,图6的方法600包括用于对一个线卡上的所接收数据包执行MAC地址更新并将关联的MAC地址更新信息分发给至少一个其他线卡的方法。虽然作为独立方法来描述,但是,图6的方法600与图9的方法900一起执行,以提供本发明的MAC地址更新功能。虽然描述为依次执行,但是,图6的方法600的步骤的至少一部分可同时或者以不同于文中参照图6所描述的顺序来执行。方法600在步骤602开始(在接收到数据包之后,如参照图4的方法400所描述),然后进入步骤604。
在步骤604,(例如从所接收数据包的报头)确定所接收数据包的源MAC地址。在步骤606,确定可对所接收数据包执行的MAC地址更新操作的类型。如图6所示,确定所接收数据包可能需要的MAC地址更新操作的类型的步骤取决于:(1)确定源MAC地址的条目是否存在于转发数据库;以及(2)如果源MAC地址的条目存在于转发数据库,则取决于关于现有条目的关联端口是未改变还是已改变(与根据所接收数据包确定的、当前与该MAC地址关联的端口地址进行比较)。MAC地址更新操作可以是MAC地址学习操作、MAC地址刷新操作或者MAC地址再学习操作,本文将更详细地描述其中的每一个。
如图6所示,通过搜索转发数据库中的源MAC地址(即包含源MAC地址的转发数据库条目),来执行关于源MAC地址的条目是否存在于转发数据库的确定。对于入口MAC地址更新,搜索入口线卡的转发数据库,以确定MAC地址更新操作的类型。对于出口MAC地址更新,搜索出口线卡的转发数据库,以确定MAC地址更新操作的类型。关于现有条目的关联端口是未改变还是已改变的确定,包括确定现有数据包被接收的入口端口是否匹配转发数据库中的相应条目的“端口”值。
如图6所示,MAC地址更新操作的类型之一被识别并可被执行(即,学习和再学习操作被执行,但刷新操作可执行或可不执行)。如果转发数据库中不存在源MAC地址的条目,则执行学习操作(如步骤608所示)。如果转发数据库中存在源MAC地址的条目,并且现有条目的关联端口未改变,则可执行或可不执行刷新操作(如步骤610、612和614所示)。如果转发数据库中存在源MAC地址的条目,并且现有条目的关联端口已改变,则执行再学习操作(如步骤616所示)。对于每种类型的MAC地址学习操作,对于其它线卡生成LRP(如步骤618所示),并将其分发给其它线卡(如步骤620所示)。
在步骤608,执行学习操作。在其上保持转发数据库的当前线卡上执行学习操作。该学习操作包括学习源MAC地址。具体来说,该学习操作包括对转发数据库添加源MAC地址的条目。在一个实施例中,该源MAC地址的条目可包括源MAC地址、与源MAC地址关联的出口端口(即,接收关联数据包的端口)以及关联老化时间戳。在一个实施例中,该老化时间戳被初始化为最小值然后递增(例如从0秒到600秒)。在一个实施例中,将老化时间戳被初始化为最大值然后递减(例如从600秒到0秒)。
在步骤610、612和614,刷新操作可执行或可不执行。在步骤610,确定源MAC地址的老化时间戳。在一个实施例中,根据转发数据库的现有源MAC地址条目来检索出源MAC地址的老化时间戳。在步骤612,确定老化时间戳是否达到(或满足)阈值。阈值在本文中指刷新阈值,因为该阈值被用来确定是否应当执行MAC地址刷新操作。
如果老化时间戳没有达到刷新阈值(这意味着老化时间戳在老化时间戳向上计数时小于刷新阈值,或者老化时间戳在老化时间戳向下计数时大于刷新阈值),则方法600进入步骤622,在该步骤方法600结束(即,不为那个数据包生成LRP)。如果老化时间戳达到刷新阈值(这意味着老化时间戳在老化时间戳向上计数时大于刷新阈值,或者老化时间戳在老化时间戳向下计数时小于刷新阈值),则方法600进入步骤614(在该步骤执行刷新操作)。
在步骤614,执行刷新操作。在保持转发数据库的当前线卡上执行刷新操作。该刷新操作包括刷新源MAC地址条目。具体来说,刷新操作包括更新转发数据库中的源MAC地址条目(即,将转发数据库的那个源MAC地址的“老化时间戳”字段中的老化时间戳重设)。在一个实施例中,老化时间戳被刷新为最小值然后递增(例如从0秒到600秒)。在一个实施例中,老化时间戳被刷新为最大值然后递减(例如从600秒到0秒)。
在步骤616,执行再学习操作。在保持转发数据库的当前线卡上执行再学习操作。该再学习操作包括再学习源MAC地址。具体来说,再学习操作包括更新转发数据库中的源MAC地址条目(即,将“端口”字段更新以包含与该源MAC地址关联的新端口,并将该源MAC地址的“老化时间戳”字段中的老化时间戳重设)。在一个实施例中,将老化时间戳刷新为最小值然后递增(例如从0秒到600秒)。在一个实施例中,将老化时间戳刷新为最大值然后递减(例如从600秒到0秒)。
在步骤618,分别对于其它线卡生成LRP。在一个实施例中,不对于其上接收关联数据包的线卡或发送关联数据包的线卡生成LRP,因为那个线卡或那些线卡可用数据包来执行适当的MAC地址更新操作(即,不需要对于通过其上传递关联数据包的线卡或多个线卡另外生成一个或多个LRP)。在另一实施例中,对于其它线卡中的每一个生成LRP,并将生成的LRP分发到其它线卡中的每一个(虽然在这样的实施例中可能需要附加的处理,以防止接收数据包和从该数据包生成的LRP的线卡对同一数据包执行多个MAC地址操作)。
对于其它线卡生成的LRP适合由其它线卡用于其它线卡的相应转发数据库的同步。换言之,通过将该数据包(在该数据包通过的线卡上)的处理和一个或多个LRP的生成、分发及处理相组合,本发明的分布MAC地址更新功能使得所有线卡上的所有转发数据库的同步成为可能。虽然可执行三种不同类型的MAC地址更新操作(即MAC地址学习操作、MAC地址刷新操作和MAC地址再学习操作),但在一个实施例中,生成的LRP的格式与引发LRP生成的MAC地址更新操作的类型无关。
在一个实施例中,通过复制关联的所接收数据包来生成各LRP。在一个这样的实施例中,利用一个或多个多播复制功能来复制所接收数据包。在一个实施例中,生成各LRP而不复制关联数据包。在一个这样的实施例中,生成LRP来包含线卡中的其它线卡所需的信息,以更新其它线卡的相应转发数据库。在此实施例中,LRP可包括适于向线卡中的其它线卡传递MAC地址更新信息的任何信息。
通过复制数据包而形成关联LRP,确保LRP中一定包含:接收LRP的线卡为响应接收到该LRP而执行MAC地址学习操作所需的信息(例如源AC地址、入口端口等)。如文中所述,由于LRP在数据包转发通路上分发(并且由于LRP可包含关联数据包的副本),所以必须区分LRP和数据包。在一个实施例中,LRP可经过适配,使得接收数据包转发通路中的数据包和LRP这二者的线卡可区分所接收数据包和LRP。可通过多种不同方式(文中参照图7描述它们的一些实例)将LRP跟数据包区分开。
在步骤620,对于其它线卡生成的LRP被分发给其它线卡。从所接收数据包生成的LRP转发平面中分发给其它线卡(即,使用数据包转发通路,线卡之间通过该(该等)通路转发数据包)。在一个实施例中,可将多播组用于分发LRP,以减少不必要的LRP。在一个实施例中,可用一个或多个专用队列(例如专用于某些实体,例如网桥分区、滤波标识符等)来分发LRP,以减少不必要LRP的数量。可利用其它分发方案将LRP在转发平面中分发给其它线卡。
通过对于其它线卡生成LRP,并在转发平面中将生成的LRP分发给其它线卡(即,使用数据包转发通路),分别对于所有线卡的所有转发数据库实现同步,而无需使用分布式转发数据库须从中更新的中央转发数据库。换言之,本发明可实现转发平面中有效的分布MAC地址更新,从而提供了优于现有MAC地址更新(学习)方案的改进性能。
图7示出适于在转发平面中分发地址更新信息的作为示例的学习请求包(LRP)。如文中所述,在一个实施例中,从关联数据包生成LRP。在一种这样的实施例中,通过复制关联数据包来生成LRP。如文中所述,由于在数据包转发通路中分发LRP(与数据包一起),因此必须区分LRP和数据包,以使接收数据包和LRP的线卡易于区分数据包与LRP。在一个实施例中,如文中所描述,可通过在LRP中设置一个或多个位(即,复制数据包,并在复制的数据包中设置一个或多个位,以将所复制的数据包标示为LRP)来区分LRP和数据包。
如图7所示,从其中生成LRP的数据包是以太网数据包。以太网数据包包括以太网包报头和以太网包有效载荷。以太网包报头包括例如目标MAC地址(DAMAC)、源MAC地址(SAMAC)、类型、标志、类型等的标准字段。以太网包有效载荷包括数据。内部报头可前挂到以太网数据包上以在以太网交换机内使用。内部报头可在生成LRP期间从数据包复制,或者前挂到从数据包生成的LRP上。可通过多种不同方式(例如,通过在数据包的复制副本中设置将复制数据包标示为LRP的信息)来区分LRP和数据包。
如图7所示,在一个实施例中,通过在内部报头中设置一个或多个位,将包(例如,包710)指示为LRP(与数据包不同)。可在内部报头的一个或多个字段设置位。例如,设为0的位可指示包是LRP,而设为等于1的位可指示包是数据包(反之亦然)。也可通过其它各种方式来标记包的内部报头,以将包标示为LRP。除了修改内部报头的一部分之外,在一个实施例中,也可将一个或多个附加字段附加到内部报头,以将该包标示为LRP。
如图7所示,在一个实施例中,通过在包报头中设置一个或多个位,将包(例如,包720)示为LRP(与数据包不同)。可在包报头的一个或多个字段设置位。在从以太网包生成LRP的一个实施例中,通过在复制包的以太网包报头的“标志”字段(即IEEE 802.1Q VLAN标志字段)设置某个值,可将复制的数据包标示为LRP。例如,等于0x000的“标志”字段可指示该包是LRP,而等于其它任何值的“标志”字段可指示该包是数据包。虽然以上描述为包括以太网包有效载荷,但是在一个实施例中,以太网包有效载荷可从LRP分离(在数据包复制期间或之后)。也可通过其它各种方式来标示包的包报头,以将该包标示为LRP。
虽然主要就以太网包作了描述,但也可从其它各种类型的数据包生成LRP。虽然主要就包含内部报头的数据包作了描述,但也可从没有内部报头的数据包生成LRP。虽然主要描述为具有有效载荷,但是在一个实施例中,复制数据包以形成相应LRP的步骤可包括将数据包有效载荷分离,以减小所得到的LRP的大小。虽然主要就通过复制关联数据包而生成的LRP作了描述,但是在一个实施例中,控制包可在不复制关联数据包的情况下生成。
图8说明根据本发明的一个实施例的方法。具体来说,图8的方法800包括用于处理通过数据转发通路接收的包的方法(例如包括响应数据包而执行MAC地址更新操作并通过出口端口转发该数据包,以及响应学习请求包而执行MAC地址更新操作,但不通过出口端口转发该学习请求包)。虽然就其它线卡中的一个作了描述,但是方法800可在其它线卡中的每一个上执行,因为数据包和学习请求包都可由线卡中的每一个通过数据转发通路从其它线卡接收。虽然描述为依次执行,但是,图8的方法800的步骤的至少一部分可同时或者以不同于文中参照图8所描述的顺序来执行。方法800开始于步骤802,然后进入步骤804。
在步骤804接收包。该包通过内部通信通路在线卡上接收(即,不是在线卡的外部端口接收的数据包)。在步骤806,确定所接收的包的包类型。所接收的包可以是数据包或控制包(例如LRP)。在一个实施例中,可通过检查所接收的包的一个或多个位(例如包的内部报头的一个或多个位、包的包报头的一个或多个位等,如文中参照图7所描述)来确定所接收的包的包类型。
如果所接收的包是数据包,则方法800进入步骤808。在步骤808,执行MAC地址更新操作。使用来自数据包的信息来执行MAC地址更新操作。可用图6的方法600来执行MAC地址更新操作。在步骤810,通过线卡的出口端口来转发数据包。可用图5的方法500的相关部分来执行数据包转发操作。如果所接收的包是控制包,则方法800进入步骤810。在步骤812,执行MAC地址更新操作。利用来自控制包的信息来执行MAC地址更新操作。可用图6的方法600的相关部分来执行MAC地址更新操作。方法800在步骤814结束。
如文中所述,若包是控制包,则被从中接收该控制包的线卡为线卡中的其它线卡生成控制包,并分别将所生成的包分发给线卡中的其它线卡。在其它线卡接收到控制包时,分别在其它线卡上重复图8的方法800。由于应当使相应线卡(包括始发LRP的线卡和接收LRP的线卡)的转发数据库中的每一个同步,其它线卡中的每一个应当执行与生成并分发LRP的始发线卡上执行的MAC地址更新操作相同的MAC地址更新操作。
如文中所述,执行MAC地址老化以支持MAC地址更新功能。对于网桥中的每一个线卡、对于线卡的转发数据库中的各MAC地址条目执行本文所描述的MAC地址老化功能。给定线卡的MAC地址老化功能可由与该线卡关联的控制器(例如,网桥110的线卡112A-112C各自的处理器304A-304C,如文中参照图1、图3所描述)来执行和/或控制。文中参照图9来描述MAC地址老化模块的作为示例的实现。文中参照图10来描述(对于一个线卡上的一个转发数据库的一个MAC地址条目的)作为示例的MAC地址老化过程。
图9是表示用于MAC地址老化的线卡的一部分的高级框图。具体来说,可对于网桥的线卡中的每一个(例如,网桥110的线卡112A-112C,如文中所描述)实现线卡900。如图9所示,线卡900包括控制器910、转发数据库920和MAC地址老化过程930。转发数据库920包括多个MAC地址条目9221-922N(统称为MAC地址条目922),它们可与参照图3所描述的MAC地址条目相似。MAC地址老化过程930分别对于MAC地址条目9221-922N提供MAC地址老化功能(用MAC地址过程930与MAC地址条目922之间的虚线表示)。
虽然文中就用于提供本发明的增强MAC地址老化功能的具体实现方式作了描述,但是,本发明的增强MAC地址老化功能也可使用其它方式(例如,使用一个或多个其它组件,如控制模块、存储器等以及它们的各种组合)来实现。由于本发明的增强MAC地址老化功能可用各种实现方式提供,因此仅一般地描述MAC地址老化模块900的操作,而没有具体提到MAC地址老化模块900的组件。
在MAC地址老化中,对转发数据库的各MAC地址条目保存一个MAC地址老化时间戳。在转发数据库的MAC地址条目中定期更新该MAC地址条目的MAC地址老化时间戳。定期递增(或递减)MAC地址的MAC地址老化时间戳。MAC地址的MAC地址老化时间戳通过MAC地址老化过程930来递增,它确定是否使MAC地址条目过期(如下文所述)。MAC地址条目的MAC地址老化时间戳具有关联的分辨率(本文中表示为分辨率时间戳),它是MAC地址老化时间戳的递增量(例如按10秒、20秒等来递增)。
在MAC地址老化中,对转发数据库的各MAC地址条目执行MAC地址老化过程。MAC地址条目的MAC地址老化过程定期地执行。MAC地址条目的MAC地址老化过程定期地确定是否应当使关联的MAC地址条目无效。MAC地址条目的MAC地址老化过程具有关联的分辨率(表示为分辨率过程),它是MAC地址老化过程的执行频度(在没有使MAC地址条目无效时,也是对于该MAC地址条目更新MAC地址老化时间戳的频度)。
通过将MAC地址条目的MAC地址老化时间戳与老化阈值(表示为阈值老化)进行比较,MAC地址老化过程确定关联的MAC地址条目是否被无效(即过期)。如果MAC地址条目的MAC地址老化时间戳达到老化阈值(例如,老化时间戳向上计数时大于老化阈值,或者老化阈值向下计数时小于老化阈值),则MAC地址条目被无效(即,从转发数据库消除该MAC地址条目)。如果MAC地址条目的MAC地址老化时间戳没有达到老化阈值(例如,老化时间戳向上计数时小于老化阈值,或者老化阈值向下计数时大于老化阈值),则MAC地址条目不被无效;而是对该MAC地址条目更新该MAC地址条目的MAC地址老化时间戳(例如将MAC地址老化时间戳的当前值改变MAC地址老化时间戳被设定改变的量)。
如文中所述,本发明在线卡中的每一个上提供增强的MAC地址老化功能。参照图10(该图表示MAC地址老化的方法)可更好地理解本发明的增强MAC地址老化功能(包括MAC地址老化过程)。此外,参照图11(该图是表示本发明的增强MAC地址更新功能的时序图),可更好地理解转发数据库的MAC地址条目的MAC地址老化时间戳与MAC地址老化过程之间的关系(包括关联的参数分辨率过程、分辨率时间戳和阈值老化之间的关系)以及MAC地址刷新(包括关联的参数阈值刷新)。
图10表示根据本发明的一个实施例的方法。具体来说,图10的方法1000包括MAC地址老化的方法(即MAC地址老化过程)。对于网桥的各线卡的转发数据库的各MAC地址条目执行作为图10的方法1000描述的MAC地址老化过程。虽然描述为依次执行,但是,图10的方法1000的步骤的至少一部分可同时或者以不同于文中参照图10所描述的顺序来执行。方法1000开始于步骤1002,然后进入步骤1004。
在步骤1004,确定MAC地址老化时间戳。通过搜索转发数据库中的关联的MAC地址条目并从“地址老化时间戳”字段检索出MAC地址老化时间戳的当前值,来确定MAC地址老化时间戳。在步骤1006,确定MAC地址老化时间戳是否大于老化阈值。老化阈值可以是任何值(例如300秒、600秒等),并且可根据许多考虑因素(包括MAC地址老化时间戳的分辨率即分辨率时间戳、MAC地址老化过程的分辨率即分辨率过程等以及它们的各种组合)来设置。
如图10所示,如果MAC地址老化时间戳小于老化阈值,则方法1000进入步骤1008;否则,如果MAC地址老化时间戳大于老化阈值,则方法100进入步骤1012。在步骤1008,更新MAC地址条目的MAC地址老化时间戳。递增或递减该MAC地址条目的MAC地址老化时间戳,这取决于实现方式。例如,转发数据库中的MAC地址老化时间戳可递增10秒、递减15秒等。从步骤1008,方法1000进入步骤1010(下面进行论述)。在步骤1012,MAC地址条目被无效(即,从转发数据库删除该MAC地址)。方法1000从步骤1012进入步骤1014,方法1000在该步骤结束。
在步骤1010,确定是否执行MAC地址老化过程(即,确定是否为再次对该MAC地址条目执行MAC地址老化过程的时机)。虽然描述为直接的确定(an explicit determination),但步骤1010表示定期地(即按照MAC地址老化过程的分辨率)执行方法1000。换言之,在通过MAC地址老化过程更新MAC地址老化时间戳之后,方法1000等待,直到MAC地址老化过程被再次执行,这时,方法1000进入步骤1004,以重复MAC地址等待过程(例如等待10秒、15秒或任何用以设定MAC地址老化过程重复进行的时间长度)。
由于MAC地址条目可添加到转发数据库(在MAC地址学习操作中)以及(作为MAC地址条目被无效的MAC地址老化过程的结果)从转发数据库删除,以下步骤可能被执行(为了清楚起见图示省略):(1)每次向转发数据库添加MAC地址条目时,为了对新的MAC地址条目执行MAC地址老化处理,可由关联控制器对关联的MAC地址老化过程进行例示(instantiated);以及(2)每次从转发数据库删除MAC地址条目时,可将对先前为该MAC地址条目保持的关联的MAC地址老化过程撤销例示(un-instantiated)。
图11是表示MAC地址老化和MAC地址刷新的时序图。具体来说,时序图1100说明MAC地址老化功能与MAC地址刷新功能之间的关系。时序图1100示出沿x轴的时间(包含各包到达线卡的时间)以及沿y轴的MAC地址老化时间戳。时间沿x轴增加。MAC地址老化时间戳沿y轴增加(由于MAC地址老化时间戳定期地递增,因此逐步地增加)。MAC地址老化时间戳对阈值刷新和阈值老化计数(在不同条件下与每个进行比较,如文中所述)。如果MAC地址老化时间戳超过阈值刷新参数,则通过重设关联的MAC地址老化时间戳来更新MAC地址条目。如果MAC地址老化时间戳超过阈值老化,则MAC地址条目被无效。
时序图包括各参数之间的关系,包括分辨率过程参数(相对于时间测定)以及分辨率时间戳、阈值刷新和阈值老化参数(相对于MAC地址老化时间戳的值测定)。参数分辨率过程和分辨率时间戳通过用Cts表示的参数相关,使得分辨率时间戳=分辨率过程×Cts。在一个实施例中,参数Cts的默认值是1/每秒。实际老化时间(表示为t老化)可根据分辨率过程、分辨率时间戳和Cts参数来计算,例如:t老化<[(分辨率过程+分辨率时间戳)/Cts]。因此,如果分辨率过程<<分辨率时间戳,则不确定性很小。
如文中所述,刷新阈值(阈值刷新)用来确保不为每个所接收数据包生成刷新LRP(因为这类LRP会在数量上掩盖转发平面中分发的学习和再学习LRP以及数据包)。如文中所述,老化阈值(阈值老化)用以确保无效MAC地址条目在转发数据库中的保留时间不超过必要的数据长度(例如,终端从网络的一个部分移动到网络的另一部分时)。根据所描述的时序图,如果关联的MAC地址的数据包在至少下列时间内仍未被发送,则MAC地址条目过期(即无效):[(阈值老化-阈值刷新+分辨率时间戳)/Cts]。
虽然对于全部MAC地址主要就一个老化阈值作了描述,但在一个实施例中,可对每个MAC地址分配一个关联的老化阈值。虽然主要就静态的老化阈值作了描述,但在一个实施例中,也可动态地修改该老化阈值(或者在对各MAC地址分配关联的老化阈值时的多个老化阈值)。例如,可响应网络操作员命令、网络业务条件之改变及其他情况以及它们的各种组合而修改该老化阈值(或者在各MAC地址被分配其自身的老化阈值的情况下的多个老化阈值中的一个或多个)。
虽然根据本发明的增强MAC地址更新在本文中主要描述为入口MAC地址更新,但是,根据本发明的增强MAC地址更新也可实现为出口MAC地址更新。在分布式网桥中,由于数据包可进入一个线卡上的网桥并退出另一线卡上的网桥,因此,在各线卡的入口侧和各线卡的出口侧上均须存在包处理功能性。由于在各线卡的入口侧和出口侧均实现包处理功能性,因此,可在各线卡的入口侧或在各线卡的出口侧或者它们两者的组合上执行MAC地址更新。
如文中所述,文中参照图1-图11描述一般化的MAC地址更新,它可实现为入口MAC地址更新或出口MAC地址更新。因此,文中参照图1-图11提供的描述可一般地适用于入口MAC地址更新和出口MAC地址更新。为了说明入口MAC地址更新和出口MAC地址更新均可根据本发明执行,本文分别参照图12、图13描述入口MAC地址更新和出口MAC地址更新的作为示例的状态图。
图12是根据本发明的一个实施例的基于入口的分布MAC地址更新的状态图。如图12的状态图1200所示,随时间(在y轴上示出)在入口线卡接收数据包。在接收到每个数据包时,将数据包转发给出口线卡(意指出口(目标)),并且还在入口线卡上执行关联的MAC地址更新操作。如果在入口线卡上对所接收数据包执行MAC地址更新操作,则LRP由入口线卡生成并分发到线卡中的其它线卡,并且其它线卡在接收到LRP时执行MAC地址更新操作。在各线卡上保持老化功能(例如,图9的MAC地址老化过程930)。
图13是根据本发明的一个实施例的基于出口的分布MAC地址更新的状态图。如图13的状态图1300所示,随时间(在y轴上示出)在入口线卡接收数据包。在接收到每个数据包时,将数据包转发给出口线卡(意指出口(目标));但在入口线卡上不执行关联的MAC地址更新操作。而是在接收到转发数据包时,出口线卡可执行MAC地址更新操作。如果在出口线卡上对所接收数据包执行MAC地址更新操作,则LRP由出口线卡生成并分发到线卡中的其它线卡,且其它线卡在接收到LRP时执行MAC地址更新操作。各线卡上保持老化功能(例如,图9的MAC地址老化过程930)。
虽然本文主要就响应单播数据业务而执行本发明的增强地址更新功能作了描述,但是,本发明的增强地址更新功能可响应其它类型的业务(例如多播业务、广播业务等以及它们的各种组合)来执行。此外,根据本发明的增强地址更新可与桥接网络的其它各种功能结合使用(为了行文清楚起见而被省略)。例如,根据本发明的增强地址更新可与环路预防算法(如生成树算法等)、端口保护功能、虚拟LAN(VLAN)功能、链路聚合功能等以及它们的各种组合结合起来使用。
虽然本文主要就一个具体交换机体系结构作了描述,但是本发明并不限于交换机体系结构。例如,在一个实施例中,一个物理交换机可分为相互独立地进行操作的多个虚拟交换机。例如,在另一实施例中,多个物理交换机可作为一个逻辑交换机进行操作。换言之,本发明的MAC地址更新功能并不限于本文为了清楚描述这类MAC地址更新功能而描述的特定交换机体系结构。
虽然本文主要就桥接以太网作了描述,但是,本发明可用于提供其它各种类型的网络(例如令牌环网、光纤分布数据接口(FDDI)网络等以及它们的各种组合)中的地址更新功能。类似地,虽然本文主要就以太网MAC地址的增强地址更新作了描述,但是,增强地址更新可用于其它各种类型的地址,具体取决于基础网络。因此,本发明并不限于在桥接以太网中实现;本发明的增强分布地址更新功能而是可在各种其它网络中实现。
图14是表示适合用于执行文中所述功能的通用计算机的高级框图。如图14所示,系统1400包括:处理器部件1402(例如中央处理器CPU));存储器1404,例如随机存取存储器(RAM)和/或只读存储器(ROM);地址更新模块1405;以及各种输入/输出装置606(例如存储设备,包括但不限于磁带驱动器、软盘驱动器、硬盘驱动器或光盘驱动器、接收器、发射器、扬声器、显示器、输出端口和用户输入装置(如键盘、小键盘、鼠标等))。
应当注意,本发明可通过软件和/或软硬件的组合来实现,例如使用专用集成电路(ASIC)、通用计算机或者其它任何硬件等效方案来实现。在一个实施例中,本地址更新过程1405可加载到存储器1404中,由处理器1402运行,以实现如上所述的功能。因此,本发明的地址更新过程1405(包括关联数据结构)可存储在例如RAM存储器、磁或光驱动器或者磁盘等的计算机可读媒体或载体中。
文中所述的作为软件方法步骤的一部分,预期可在硬件中实现,例如实现为与处理器配合工作以执行各种方法步骤的电路。本发明的若干部分可作为计算机程序产品实现,其中,计算机指令在由计算机进行处理时调整计算机的操作,以调用或者以其它方式提供本发明的方法和/或技术。用来调用本发明方法的指令可存储在固定媒体或可移动媒体中、经由广播或其它信号承载媒体中的数据流发送和/或存储在按照指令进行操作的计算装置的工作存储器中。
本文详细描述了结合本发明的教导的各种实施例,但是,本领域技术人员不难设计出仍汲取这些教导的许多其它不同的实施例。

Claims (9)

1.一种用于使有关的多个线卡的多个转发数据库同步的方法,所述线卡包括第一线卡和第二线卡,所述方法包括:
在第一线卡上接收数据包,其中所述数据包包括源地址并且经由入口端口被接收,其中所述第一线卡包括包含多个条目的转发数据库,其中所述条目中的每个条目包括相应的条目信息,所述条目信息包括源地址、入口端口和老化时间戳;
响应于确定所述转发数据库中的条目中的一个条目包括已接收包的源地址并且现有条目的关联端口未改变,确定所述条目中的所述一个条目的老化时间戳是否满足刷新阈值;
当所述条目中的所述一个条目的老化时间戳满足所述刷新阈值时,重设所述条目中的所述一个条目的老化时间戳并且针对第二线卡生成包括地址学习信息的控制包;以及
经由所述第一线卡与所述第二线卡之间的数据转发通路,向所述第二线卡传播所述控制包。
2.如权利要求1所述的方法,其中,确定所述条目中的所述一个条目的老化时间戳是否满足刷新阈值包括:
确定所接收数据包的源地址;
确定所述源地址的条目是否存在于其上所述数据包被接收的所述第一线卡的转发数据库中。
3.如权利要求2所述的方法,还包括:
如果所述源地址的条目没有存在于所述转发数据库,则执行其中包括将所述源地址的新条目添加到所述转发数据库的地址学习操作,其中,所述源地址的所述新条目包含所述源地址、关联出口端口和老化时间戳;以及
如果所述源地址的条目存在于所述转发数据库,则确定所述源地址的条目中包含的出口端口是否同与所接收数据包关联的出口端口匹配。
4.如权利要求3所述的方法,还包括:
如果所述出口端口匹配,则确定是否执行地址刷新操作,其中,确定是否执行所述地址刷新操作的步骤包括:确定所述源地址的条目的老化时间戳是否满足刷新阈值,并响应所述老化时间戳之满足所述刷新阈值而执行所述地址刷新操作,其中,执行所述地址刷新操作的步骤包括重设所述源地址的条目的老化时间戳;或者
如果所述出口端口不匹配,则执行地址再学习操作,其中,执行所述地址再学习操作的步骤包括更新所述源地址的条目的出口端口,并重设所述源地址的条目的老化时间戳。
5.如权利要求1所述的方法,其中,生成控制包的步骤包括:
生成所接收数据包的副本;以及
修改所接收数据包的副本以将所接收数据包的副本标记为所述控制包。
6.如权利要求1所述的方法,还包括:
在所述线卡中的每一个上运行地址老化过程,各老化过程包括:
对于关联转发数据库的多个条目中的每一个,确定与所述条目关联的地址老化时间戳是否满足老化阈值;
对于所述关联地址老化时间戳不满足所述老化阈值的所述多个条目中的每一个,递增与所述条目关联的所述地址老化时间戳;以及
对于所述关联地址老化时间戳满足所述老化阈值的所述多个条目中的每一个,使所述条目无效。
7.一种用于使有关的多个线卡的多个转发数据库同步的装置,所述线卡包括第一线卡和第二线卡,所述装置包括:
用于在第一线卡上接收数据包的部件,其中所述数据包包括源地址并且经由入口端口被接收,其中所述第一线卡包括包含多个条目的转发数据库,其中所述条目中的每个条目包括相应的条目信息,所述条目信息包括源地址、入口端口和老化时间戳;
用于响应于确定所述转发数据库中的条目中的一个条目包括已接收包的源地址并且现有条目的关联端口未改变,确定所述条目中的所述一个条目的老化时间戳是否满足刷新阈值的部件;
用于当所述条目中的所述一个条目的老化时间戳满足所述刷新阈值时,重设所述条目中的所述一个条目的老化时间戳并且针对第二线卡生成包括地址学习信息的控制包的部件;以及
用于经由所述第一线卡与所述第二线卡之间的数据转发通路,向所述第二线卡传播所述控制包的部件。
8.如权利要求7所述的装置,其中,用于确定所述条目中的所述一个条目的老化时间戳是否满足刷新阈值的部件包括:
用于确定所接收数据包的源地址的部件;
用于确定所述源地址的条目是否存在于所述数据包在其上被接收的所述第一线卡的转发数据库中的部件;
用于在所述源地址的条目不存在于所述转发数据库时执行地址学习操作的部件,所述地址学习操作包括将所述源地址的新条目添加到所述转发数据库,其中,所述源地址的新条目至少包含所述源地址、关联出口端口和老化时间戳;
用于在所述源地址的条目存在于所述转发数据库时、确定所述源地址的条目中包含的出口端口是否同与所接收数据包关联的出口端口匹配的部件;
用于在所述出口端口不匹配时执行地址再学习操作的部件,所述地址再学习操作包括更新所述源地址的条目的出口端口和重设所述源地址的条目的老化时间戳;
用于在所述出口端口匹配时、通过确定所述源地址的条目的老化时间戳是否满足刷新阈值来确定是否执行地址刷新操作的部件;以及
用于响应“所述老化时间戳之满足所述刷新阈值”而通过重设所述源地址的条目的老化时间戳来执行所述地址刷新操作的部件。
9.如权利要求7所述的装置,还包括:
用于在所述线卡中的每一个上运行地址老化过程的部件,其中包括:
用于对于关联转发数据库的多个条目中的每一个确定与所述条目关联的地址老化时间戳是否满足老化阈值的部件;
用于使所述关联地址老化时间戳不满足所述老化阈值的所述多个条目中的每一个的所述地址老化时间戳递增的部件;以及
用于使所述关联地址老化时间戳满足所述老化阈值的所述多个条目中的每一个无效的部件。
CN2008100909305A 2007-03-30 2008-03-28 用于媒体访问控制地址学习的方法及装置 Expired - Fee Related CN101340366B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP07251433.4 2007-03-30
EP07251433.4A EP1976195B1 (en) 2007-03-30 2007-03-30 Method and apparatus for Mac address learning

Publications (2)

Publication Number Publication Date
CN101340366A CN101340366A (zh) 2009-01-07
CN101340366B true CN101340366B (zh) 2013-06-26

Family

ID=38325282

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100909305A Expired - Fee Related CN101340366B (zh) 2007-03-30 2008-03-28 用于媒体访问控制地址学习的方法及装置

Country Status (4)

Country Link
US (1) US8295282B2 (zh)
EP (1) EP1976195B1 (zh)
CN (1) CN101340366B (zh)
WO (1) WO2008121247A1 (zh)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7046671B2 (en) * 2002-05-08 2006-05-16 Sbc Knowledge Ventures, L.P. Ethernet wide area network and method
EP1976195B1 (en) * 2007-03-30 2014-05-07 Alcatel-Lucent Method and apparatus for Mac address learning
US7876710B2 (en) * 2008-07-30 2011-01-25 Juniper Networks, Inc. Layer two MAC flushing/re-routing
JP2010177722A (ja) * 2009-01-27 2010-08-12 Nec Corp スイッチ装置、カード、fdb情報の管理方法及びプログラム
US8565249B2 (en) * 2009-02-10 2013-10-22 Telefonaktiebolaget L M Ericsson (Publ) Queue management system and methods
CA3081255C (en) 2009-04-01 2023-08-22 Nicira, Inc. Method and apparatus for implementing and managing virtual switches
US8873550B2 (en) 2010-05-18 2014-10-28 Lsi Corporation Task queuing in a multi-flow network processor architecture
US9152564B2 (en) 2010-05-18 2015-10-06 Intel Corporation Early cache eviction in a multi-flow network processor architecture
US8949582B2 (en) 2009-04-27 2015-02-03 Lsi Corporation Changing a flow identifier of a packet in a multi-thread, multi-flow network processor
US8910168B2 (en) 2009-04-27 2014-12-09 Lsi Corporation Task backpressure and deletion in a multi-flow network processor architecture
US9461930B2 (en) 2009-04-27 2016-10-04 Intel Corporation Modifying data streams without reordering in a multi-thread, multi-flow network processor
US9727508B2 (en) 2009-04-27 2017-08-08 Intel Corporation Address learning and aging for network bridging in a network processor
US8874878B2 (en) 2010-05-18 2014-10-28 Lsi Corporation Thread synchronization in a multi-thread, multi-flow network communications processor architecture
CN101877667B (zh) * 2009-04-30 2013-01-09 华为技术有限公司 一种报文转发方法、装置和系统
CN101702680B (zh) * 2009-11-26 2011-12-28 福建星网锐捷网络有限公司 媒体接入控制地址的老化方法、装置和通信设备
US8599845B2 (en) * 2010-04-07 2013-12-03 Fujitsu Limited Software-assisted VLAN aging timer scheme for distributed switching systems
US8660132B2 (en) * 2010-06-28 2014-02-25 Avaya Inc. Control plane packet processing and latency control
JP5692367B2 (ja) * 2010-09-16 2015-04-01 日本電気株式会社 ネットワークシステム及びフレーム通信方法
JP5344382B2 (ja) 2010-11-02 2013-11-20 日本電気株式会社 ネットワークシステム及びフレーム通信方法
CN102045200A (zh) * 2010-12-24 2011-05-04 武汉烽火网络有限责任公司 分布式交换机mac地址表项有条件同步的方法
US9191305B2 (en) * 2011-03-14 2015-11-17 Broadcom Corporation Convergent network architecture and path information
WO2012131697A1 (en) * 2011-03-31 2012-10-04 Tejas Networks Limited Optimizing forward database for a bursty network traffic
US9444743B2 (en) 2011-04-04 2016-09-13 Nec Corporation Network system, switch and connected terminal detection method
EP2723020B1 (en) * 2011-06-17 2019-11-06 Huawei Technologies Co., Ltd. Method and ethernet switching device for detecting loop position in ethernet
US9246939B2 (en) * 2011-06-21 2016-01-26 Telefonaktiebolaget L M Ericsson (Publ) Preventing neighbor-discovery based denial of service attacks
US8948174B2 (en) * 2011-06-29 2015-02-03 Juniper Networks, Inc. Variable-based forwarding path construction for packet processing within a network device
US20130064246A1 (en) * 2011-09-12 2013-03-14 Cisco Technology, Inc. Packet Forwarding Using an Approximate Ingress Table and an Exact Egress Table
EP2777224A4 (en) * 2011-11-08 2015-04-01 Qualcomm Inc SYNCHRONIZING DATABASE TRANSMISSION IN A NETWORK DEVICE BACKGROUND
CN102404215B (zh) * 2011-11-21 2014-06-04 北京星网锐捷网络技术有限公司 过滤数据库表项同步方法、装置及网络设备
CN102404148A (zh) * 2011-11-22 2012-04-04 华为技术有限公司 一种mac地址表管理方法及装置
US8787373B2 (en) 2012-01-19 2014-07-22 International Business Machines Corporation Multicast miss notification for a distributed network switch
US9426091B2 (en) * 2012-03-06 2016-08-23 Cisco Technology, Inc. Distributed switch with conversational learning
US20150003291A1 (en) * 2012-03-19 2015-01-01 Nec Corporation Control apparatus, communication system, communication method, and program
US9215171B2 (en) 2012-08-29 2015-12-15 International Business Machines Corporation Hashing-based routing table management
US8854973B2 (en) 2012-08-29 2014-10-07 International Business Machines Corporation Sliced routing table management with replication
US9124527B2 (en) * 2012-08-29 2015-09-01 International Business Machines Corporation Sliced routing table management
US9749173B2 (en) * 2012-09-11 2017-08-29 Ciena Corporation Systems and methods for synchronizing forwarding databases across multiple interconnected layer-2 switches
US9137154B2 (en) * 2012-11-29 2015-09-15 Lenovo Enterprise Solutions (Singapore Pte. LTD Management of routing tables shared by logical switch partitions in a distributed network switch
CN103019858B (zh) * 2012-12-03 2016-08-17 中兴通讯股份有限公司 媒体访问控制老化方法及网络处理器
US9832098B2 (en) 2013-01-09 2017-11-28 Telefonaktiebolaget L M Ericsson (Publ) Connecting a booting switch to a network
US9369372B1 (en) * 2013-03-13 2016-06-14 Altera Corporation Methods for network forwarding database flushing
CN104660526B (zh) * 2013-11-22 2018-03-16 华为技术有限公司 Mac表项学习方法和装置
CN104780055B (zh) * 2014-01-10 2018-03-06 华为技术有限公司 一种数据流的处理方法及装置
US10877951B2 (en) * 2014-01-22 2020-12-29 International Business Machines Corporation Network control software notification and invalidation of static entries
US10419267B2 (en) * 2014-01-22 2019-09-17 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Network control software notification with advance learning
US20150207664A1 (en) * 2014-01-22 2015-07-23 International Business Machines Corporation Network control software notification with denial of service protection
US9319317B1 (en) 2014-01-31 2016-04-19 Adtran, Inc. Systems and methods for disseminating addresses in distributed switching environments
WO2015147780A1 (en) * 2014-03-24 2015-10-01 Hewlett-Packard Development Company, L.P. Client-based port filter table
US10038632B2 (en) * 2015-07-23 2018-07-31 Netscout Systems, Inc. AIA enhancements to support L2 connected networks
CN105721315B (zh) * 2016-04-06 2018-11-23 烽火通信科技股份有限公司 一种集中式mac地址学习的控制方法
CN107819684B (zh) * 2016-09-12 2022-08-02 中兴通讯股份有限公司 同步处理方法及装置
CN108234422B (zh) * 2016-12-21 2020-03-06 新华三技术有限公司 资源调度方法及装置
EP3607707A1 (en) * 2017-04-07 2020-02-12 Telefonaktiebolaget LM Ericsson (publ) Technique for packet buffering
CN109413225B (zh) * 2018-11-28 2021-11-02 新华三技术有限公司 一种mac表项处理方法和设备
CN110460683B (zh) * 2019-07-05 2022-05-20 锐捷网络股份有限公司 一种通过网关处理数据报文的方法和交换设备
CN112260923B (zh) * 2019-07-22 2023-05-02 中兴通讯股份有限公司 一种桥接网络信息通告方法和设备
CN110958502B (zh) * 2019-11-27 2022-03-11 烽火通信科技股份有限公司 一种实现同一pon内不同onu之间互通的方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1319974A (zh) * 2000-03-28 2001-10-31 朗迅科技公司 译码上行链路状态标志的改进方法
US6735198B1 (en) * 1999-12-21 2004-05-11 Cisco Technology, Inc. Method and apparatus for updating and synchronizing forwarding tables in a distributed network switch
CN1553675A (zh) * 2003-05-26 2004-12-08 华为技术有限公司 网络设备的弹性分组环连接装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2944531B2 (ja) * 1996-09-12 1999-09-06 日本電気通信システム株式会社 Lan間接続装置
AU4848499A (en) 1998-07-08 2000-02-01 Broadcom Corporation Network switch utilizing packet based per head-of-line blocking prevention
US6519248B1 (en) * 1998-07-24 2003-02-11 Telefonaktiebolaget Lm Ericsson (Publ) Packet data network having distributed database
US6108702A (en) * 1998-12-02 2000-08-22 Micromuse, Inc. Method and apparatus for determining accurate topology features of a network
GB2358760B (en) * 2000-01-25 2003-06-25 3Com Corp Network switch with self-learning routing facility
US6477150B1 (en) * 2000-03-03 2002-11-05 Qualcomm, Inc. System and method for providing group communication services in an existing communication system
US7139267B2 (en) * 2002-03-05 2006-11-21 Industrial Technology Research Institute System and method of stacking network switches
US7257134B2 (en) * 2001-10-03 2007-08-14 Zarlink Semiconductor V.N. Inc. Method of pacing the synchronization of routing information in a data switching environment
JP3878014B2 (ja) * 2001-12-28 2007-02-07 富士通株式会社 Lan及びwanをインタフェースするパケットスイッチ
US7620040B2 (en) * 2002-12-11 2009-11-17 Aspen Networks, Inc. Application non disruptive task migration in a network edge switch
US7310815B2 (en) * 2003-10-29 2007-12-18 Sonicwall, Inc. Method and apparatus for datastream analysis and blocking
EP1545067B1 (en) * 2003-12-19 2006-03-01 Alcatel Network unit for forwarding an ethernet packet
US7646773B2 (en) * 2004-08-02 2010-01-12 Extreme Networks Forwarding database in a network switch device
US8509258B2 (en) * 2004-11-30 2013-08-13 Agere Systems Llc Method and apparatus for improved data channel transmission in a digital network
JP2008527772A (ja) * 2004-12-31 2008-07-24 ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー コネクションレス通信トラフィックのためのコネクション型通信スキーム
US7593400B2 (en) * 2006-05-19 2009-09-22 Corrigent Systems Ltd. MAC address learning in a distributed bridge
US7639699B2 (en) * 2006-08-04 2009-12-29 Cisco Technology, Inc. Technique for sharing a physical port among a plurality of virtual bridges on a switch in a computer network
US7697525B2 (en) * 2006-12-21 2010-04-13 Corrigent Systems Ltd. Forwarding multicast traffic over link aggregation ports
US7693164B1 (en) * 2007-02-05 2010-04-06 World Wide Packets, Inc. Configuring a packet tunnel network
EP1976195B1 (en) * 2007-03-30 2014-05-07 Alcatel-Lucent Method and apparatus for Mac address learning
US20080285437A1 (en) * 2007-05-18 2008-11-20 Adc Dsl Systems, Inc. Ethernet protection switching system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6735198B1 (en) * 1999-12-21 2004-05-11 Cisco Technology, Inc. Method and apparatus for updating and synchronizing forwarding tables in a distributed network switch
CN1319974A (zh) * 2000-03-28 2001-10-31 朗迅科技公司 译码上行链路状态标志的改进方法
CN1553675A (zh) * 2003-05-26 2004-12-08 华为技术有限公司 网络设备的弹性分组环连接装置

Also Published As

Publication number Publication date
EP1976195B1 (en) 2014-05-07
WO2008121247A1 (en) 2008-10-09
US20080240106A1 (en) 2008-10-02
CN101340366A (zh) 2009-01-07
EP1976195A1 (en) 2008-10-01
US8295282B2 (en) 2012-10-23

Similar Documents

Publication Publication Date Title
CN101340366B (zh) 用于媒体访问控制地址学习的方法及装置
EP1470674B1 (en) Forwarding packets to aggregated links using distributed ingress card processing
US7885260B2 (en) Determining packet forwarding information for packets sent from a protocol offload engine in a packet switching device
EP3337093B1 (en) Optimizing information related to a route and/or a next hop for multicase traffic
WO2015180040A1 (zh) 流表管理方法及相关设备和系统
TW201138364A (en) Method and system for management based end-to-end sleep limitation in an energy efficient ethernet network
US7606230B1 (en) Link aggregation for routed ports
US20040213284A1 (en) Frame processing
CN112333076B (zh) 通过FlexE通道承载VXLAN业务的方法及装置
EP1259035B1 (en) Pointer based binary search engine and method for use in network devices
CN100548001C (zh) 一种触发下游设备处理报文的方法及交换设备
WO2015027738A1 (zh) 一种传输、接收元数据的方法、开放流逻辑交换机
CN100450095C (zh) 为虚拟专线业务提供QoS服务的系统和方法
US20140105020A1 (en) Frame transfer apparatus and frame transfer method
JP2004159019A (ja) 拡張vlanタグswap方式
KR20060113834A (ko) 레지덴셜 이더넷에서 수퍼 프레임의 시작에 대한 주기적동기 방법
WO2023071324A1 (zh) 报文转发方法及装置
Wu Packet forwarding technologies
JP4388464B2 (ja) パケット中継装置およびパケット通信ネットワーク
CN114598570A (zh) 一种组播数据报文转发方法及设备
CN103370910A (zh) 利用链路聚合进行下一跳缩放的方法、系统和计算机可读介质
US20150043331A1 (en) Adding link aggregation group to hitless protection in packet switched networks
CN113765803B (zh) 一种路由发布方法及装置、网络设备
US20230068443A1 (en) Dynamic packet routing using prioritized groups
Chen et al. Differentiated transmission services and optimization based on two‐dimensional forwarding for Internet traffic in the AS

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: ALCATEL-LUCENT AMERICA CO., LTD.

Free format text: FORMER OWNER: LUCENT TECHNOLOGIES INC.

Effective date: 20120615

Owner name: ALCATEL-LUCENT

Free format text: FORMER OWNER: ALCATEL-LUCENT AMERICA CO., LTD.

Effective date: 20120615

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20120615

Address after: Paris France

Applicant after: ALCATEL LUCENT

Address before: New jersey, USA

Applicant before: ALCATEL-LUCENT USA Inc.

Effective date of registration: 20120615

Address after: New jersey, USA

Applicant after: ALCATEL-LUCENT USA Inc.

Address before: New jersey, USA

Applicant before: LUCENT TECHNOLOGIES INC

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130626

Termination date: 20180328