CN103918230B - 对网络设备背景中的转发数据库进行同步 - Google Patents

对网络设备背景中的转发数据库进行同步 Download PDF

Info

Publication number
CN103918230B
CN103918230B CN201180074726.4A CN201180074726A CN103918230B CN 103918230 B CN103918230 B CN 103918230B CN 201180074726 A CN201180074726 A CN 201180074726A CN 103918230 B CN103918230 B CN 103918230B
Authority
CN
China
Prior art keywords
entry
database
synchronization value
global synchronization
controller
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
CN201180074726.4A
Other languages
English (en)
Other versions
CN103918230A (zh
Inventor
X·周
B·马
G·李
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN103918230A publication Critical patent/CN103918230A/zh
Application granted granted Critical
Publication of CN103918230B publication Critical patent/CN103918230B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/021Ensuring consistency of routing table updates, e.g. by using epoch numbers
    • 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

Abstract

对网络设备中的转发数据库进行同步。第一转发数据库可以保持在网络设备的数据库引擎部分中。转发数据库可以包括多个条目,这些条目中的每个条目包括同步字段。转发数据库还可以包括用于同步的全局同步值。网络设备中的控制器可以接收用于指示对转发数据库中的第一组一个或多个条目的一个或多个改变的消息。第一组一个或多个条目在同步字段中具有第一全局同步值。相应地,可以将全局同步值变为第二值,并且可以使用第一全局同步值来执行查询以便返回第一条目的变化。在全局同步值被改变之后发生的、对转发数据库中的其它条目的改变可以不属于查询结果的一部分。

Description

对网络设备背景中的转发数据库进行同步
技术领域
本发明通常涉及网络系统,并且更具体地说,涉及用于将转发数据库与控制器进行同步的系统和方法。
背景技术
通信网络可以包括诸如计算机、服务器、路由器、交换机、桥、集线器和其它类型的网络节点之类的各种网络设备。通过在各个设备之间传递数据分组或帧来经由数据通信网络来传输数据,从而使数据从源设备移动到目标设备。在广域通信网络(诸如互联网)中,可以由多个网络单元负责或处理分组,并且当分组从源设备移动到目标设备时分组可以穿过多条通信链路。
网络中的某些设备(例如,交换机、桥和路由器)对网络业务进行管理和调整。例如,这些设备可以对接收到的分组进行分析,并将这些分组转发到网络中的另一个设备上。当诸如交换机之类的网络设备接收到分组时,该交换机从该分组获得目标地址,并且在转发数据库中查找目标的输出端口。转发数据库包括多个表格,这些表格包括地址与相应端口之间的映射。然后,交换机将分组发送给识别出的目标端口。
网络交换系统可以通过向转发数据库注册每个输入分组的源地址和端口信息来创建转发数据库。IEEE802.1D(关于媒体访问控制(“MAC”)桥的标准)提供了用于创建转发数据库并且发送和接收网络分组的操作过程。
在网络系统中,各个网络设备(例如,交换机)对它们的转发数据库进行同步是至关重要的。当前,通过使用队列在交换机之间对转发数据库进行同步。队列对转发数据库中的表格的所有变化(包括条目增加、更新和删除)进行记录。交换机中的控制器通过读取队列来获得这些变化。
交换机包括控制器和数据库引擎,所述控制器使用转发数据库中的信息,所述数据库引擎管理该转发数据库。因为数据库引擎与控制器的处理能力上的不匹配(尤其是在高速交换机中),因此队列无法足够大以便记录等待要由控制器处理的所有临时信息。为了使该影响最小化,硬件设计者使用大的先入先出(FIFO)队列或者在需要时暂时停止数据库变化,否则这些变化将与控制器失去同步。
此外,当在控制器实际知道单个条目所发生的多个变化中的任一个变化之前,单个条目发生了多个变化时,一种用于简化交换设计的常见方法是用多个记录来记录这些变化。这种设计很容易受到拒绝服务(DoS)攻击,在这种攻击中,攻击者可以仅仅频繁地改变一个条目来耗尽FIFO队列,从而使数据库同步更新停止。
因此,期望对该领域的改进。
发明内容
本申请给出了用于对网络设备中的转发数据库进行同步的系统和方法的各种实施例。
第一转发数据库或表格可以保持在网络设备的数据库引擎部分中。数据库引擎部分可以主要在硬件中实现。此外,第二转发数据库或表格可以由网络设备的控制器部分保持。控制器部分可以实现为在网络设备的处理器上执行的软件,但是设想了其可以在硬件中实现的实施例。
第一转发数据库和第二转发数据库二者可以包括多个条目。在至少第一转发数据库中,多个条目中的每一个条目可以包括同步字段以及其它字段。如下面更加详细讨论的,第一和第二转发数据库可以包括或使用全局同步值,例如,用于对第一转发数据库到第二转发数据库的变化进行同步。额外的字段也可以用于同步,诸如更新字段(例如,用于指示现有的字段是何时更新的)以及获知或状态字段(例如,用于指示条目的状态,诸如“自动获知”、“受控获知”、“受控老化”和/或“自动老化”以及其它可能性)。其它字段可以用于辅助同步。注意:用于同步的这些字段中的一个或多个字段仅存在于第一转发数据库中,而不存在于第二转发数据库中。例如,该同步信息在第二转发数据库中可能不是必需的(例如,因为更新可能通常发生在数据库引擎部分中然后同步到控制器部分,而不是相反的方向)。然而,仍然设想了相反方向的同步(例如,当更新是从其它网络设备提供的)。在一个实施例中,这些同步可以按照不同于本文中讨论的方式发生。
在操作的过程中,变化可能发生在第一转发数据库中(例如,数据库的数据库引擎部分可以改变或添加条目)。相应地,第一和第二数据库可以变得失去同步。在一个特定的实施例中,可以执行对第一转发数据库中的第一组一个或多个条目的改变。这些改变可以包括:条目的添加、或者现有条目中的字段的值的修改。此外,这些条目可以具有设置为当前同步值的同步值。响应于这些改变,或者以定期的方式,数据库引擎部分可以向控制器发送消息(例如,中断)来指示应该执行第二转发数据库的更新。相应地,网络设备中的控制器可以接收用于指示已经发生改变的消息。
响应时,控制器可以将全局同步值从第一同步值变成第二全局同步值,并且还可以生成用于确定对第一转发数据库中的第一条目的一个或多个改变的查询。在一个实施例中,查询可以包括或使用与第一转发数据库中的字段相关联的各种值,例如全局同步值、更新值、状态值等。在一个实施例中,查询可以对具有第一全局同步值以及“受控获知”的状态字段的那些条目进行搜索。然而,应该注意的是,设想了其中可以使用全局同步值、更新值或状态值(以及其它可能字段)的任意组合的实施例。
相应地,可以执行查询以便返回查询结果(例如,从数据库引擎部分向控制器部分)。查询结果可以包括对第一组一个或多个条目的一个或多个改变(例如,通过使用第一全局同步值来识别第一组一个或多个条目)。
在已经获得查询结果之后,可以对字段中的各个字段进行重置。例如,已经同步的条目可以将更新字段值从例如“1”(启用)变成“0”(禁用)。类似地,可以将具有“受控获知”状态值的条目变成“自动获知”,例如,从而使得今后在针对第一转发数据库所做出的改变的查询中不返回这些条目。在一些实施例中,可以由更新引擎基于控制器发送的命令来执行这些改变。
此外,在控制器将全局同步值变成第二全局同步值之后发生的、对转发数据库中的其它条目的改变不属于查询结果的一部分,例如,因为那些值可以被分配第二全局同步值而不是第一全局同步值。在这些情况下,当进行这些改变(例如,修改或添加)时,其同步字段可以被设置为当前的全局同步值(在该示例中,当前的全局同步值是第二全局同步值),从而使得可以在后续的同步过程中识别出这些变化。因此,在多个同步的过程期间,全局同步值可以在两个不同值之间进行“乒乓”,以便跟踪哪些条目已经同步或尚未同步。
可以通过多种方式来使用查询结果。如上所示,控制器可以保持第二转发数据库,并且可以使用查询结果来更新第二转发数据库(例如,以便使第一转发数据库和第二转发数据库进行同步)。作为另一种可能,查询结果可以用于更新其它网络设备或者该网络设备的其它数据库引擎部分(例如,其中,网络设备包括控制器部分和多个数据库引擎部分,这可能需要使它们各自的转发数据库同步)。
附图说明
当结合附图来阅读下面对实施例的详细说明时,可以得到对本发明的更好的理解,在附图中:
图1示出了根据一个实施例的示例性网络设备;
图2示出了根据一个实施例的包括若干个网络设备的示例性系统,所述网络设备用于连接网络中的两个设备;
图3是示出用于对网络设备的控制器和数据库引擎进行同步的方法的实施例的流程图;
图4A至图4E是示出根据一个实施例,与图3的方法相对应的示例的示例性表格;
图5是根据一个实施例,在以太网交换机中的过滤数据库的示例性转发表格中的条目的状态图;以及
图6A至图6N是根据各个实施例,与图5的状态图相对应的示例性表格和条目。
虽然本发明容易有各种修改和替换形式,但是它们的具体实施例通过示例的方式在图中示出的,并且在本文中进行了详细描述。然而,应当理解的是,有关附图和详细描述并不旨在将本发明限定为所公开的特定形式,而是相反,其意图在于涵盖落入由所附权利要求所限定的本发明的范围之内的所有修改、等价物和替代物。
具体实施方式
术语
下面是本申请中使用的术语表:
存储器介质——各种类型的存储器设备或存储设备中的任意一种。术语“存储器”和“存储器介质”旨在包括:安装介质(例如,CD-ROM、软盘或磁带设备);诸如DRAM、DDR RAM、SRAM、EDO RAM、Rambus RAM等计算机系统存储器或随机存取存储器;或者诸如闪存、硬件寄存器、磁性介质(例如,硬盘驱动器)或光存储器之类的非易失性存储器。存储器介质可以包括其它类型的存储器或它们的组合。术语“存储器介质”可以包括两个或更多个存储器介质。
计算机系统——各种类型中的任一种移动或静止计算或处理系统包括:个人计算机系统(PC)、大型计算机系统、工作站、网络应用设备、互联网应用设备、移动电话、智能电话、膝上型计算机、笔记本电脑、上网本、或平板计算机系统、个人数字助理(PDA)、多媒体设备、或其它设备或设备的组合。通常,术语“计算机系统”可被广义地定义为涵盖具有执行来自存储器介质的指令的至少一个处理器的任何设备(或设备的组合)。
自动地——指的是在没有直接规定或执行动作或操作的用户输入的情况下,由计算机系统(例如,由计算机系统执行的软件)或设备(例如,电路、可编程硬件单元、ASIC等)执行的动作或操作。因此,术语“自动地”与由用户手动执行或规定的操作形成对比,在该操作中,用户提供输入以直接执行操作。自动过程可以由用户提供的输入来发起,但“自动地”执行的后续操作不是由用户规定的(即,不是“手动地”执行的),在“手动地”执行中,用户指定要执行的每个动作。例如,用户通过选择每一个字段并提供规定信息的输入(例如,通过键入信息、选择复选框、单选等)来填写电子表格是手动地填写表格,尽管计算机系统必须响应于用户动作而更新该表格。该表格可以由计算机系统自动地填写,其中,计算机系统(例如,在计算机系统上执行的软件)对表格的字段进行分析,并且在没有规定字段的答案的任何用户输入的情况下填写表格。如上所述,用户可以调用对表格的自动填写,但不参与表格的实际填写(例如,用户并不手动地规定字段的答案,相反,它们被自动地完成)。本说明书提供了响应于用户已采取的行动而自动执行操作的各种示例。
图1-示例性网络设备
图1是根据一个实施例的示例性网络设备100的框图。网络设备100可以是各种网络连接设备中的任一个,诸如交换机、路由器、网关等。
如图1中所示,网络设备100可以包括控制器125和数据库引擎150。在一些实施例中,控制器125可以至少部分由处理器(例如,网络设备100的CPU)上执行的程序指令(例如,一个或多个软件程序)来实现。在一些实施例中,控制器125可以在硬件中实现,作为网络设备100的交换机部分的一部分。
数据库引擎150可以在硬件中实现,并且可以执行网络设备100的低级交换功能。控制器125可以执行同步功能来从数据库引擎150检索变化以便向诸如OAM功能之类的上层管理应用提供数据库信息,或者使用该信息通过命令或消息来对另一个数据库引擎进行配置。在一些实施例中,数据库引擎150可以被称为网络设备100的交换机部分。
数据库引擎150可以包括命令句柄152(例如,用于处理诸如由控制器125提供的那些命令)、转发数据库154(例如,用于执行路由/交换决策)、以及更新引擎156(例如,用于执行更新)。控制器125还可以包括数据库127,例如,如本文中讨论的,该数据库127可以与转发数据库154同步。数据库127和转发数据库154根据需要可以具有相同的结构或者可以不同。例如,转发数据库154可以包括用于执行同步(例如,如本文中讨论的)的字段,这些字段在数据库127中可能不是必要的或者可能不存在。通常,本文的描述可以应用于对转发数据库154进行的改变的同步(例如,在操作的正常过程期间),然后,所述描述可以传播到数据库127。然而,更新可以按照相反方向(即,从控制器125向数据库引擎150)发生,但是这些更新可以按照与本文中所描述的不同的方式发生。此外,注意数据库127可以是可选的,但控制器125仍然可以如下所述地接收更新(例如,并且用于更新其它数据库、向上层管理应用提供,等等)因此,在一些实施例中,可能不需要数据库127。
在一些实施例中,网络设备100可以包括多个数据库引擎150,并且控制器125可以耦接(例如,控制)这些数据库引擎中的一些或全部。例如,控制器125可以从第一数据库引擎接收更新,并且将那些更新提供给(例如,位于同一网络设备内的)第二数据库引擎。在一些实施例中,根据需要,网络设备100可以包括多个控制器125和多个数据库引擎150。此外,控制器125可以使用其最新的数据库127来向(例如,位于同一网络内的)其它网络设备提供更新信息。可以使用数据库127中的更新后的信息来执行各种动作中的任何动作。
图2-包括多个网络设备的示例性网络
图2示出了包括多个网络设备100A-100D的示例性网络。更具体地说,设备200A和200B可以使用该网络进行通信,该网络可以包括网络设备100A-100D。设备200A和200B可以是能够在网络上执行通信的多种设备中的任一种,诸如台式计算机、膝上型计算机、蜂窝电话、平板电脑、上网本等。在一个实施例中,设备200A和200B可以发送分组到网络中以进行通信。网络设备100A-100D可以接收那些分组,并执行路由或交换功能以便使用多个中间网络设备将这些分组传递到它们的目的地。
在该过程中,网络设备100A-100D中的各个网络设备可以在它们之间发送对它们各自交换表格的更新或改变。例如,网络设备100A的控制器可以从其相应数据库引擎接收更新,并且可以向网络设备100B-100D中的一个或多个网络设备提供这些更新(和/或其它信息),例如,以便使网络设备100A-100D保持最新。可以由网络设备100B-100D实施类似的行为。
此外,可以使用环拓扑来实现网络。例如,网络设备100A-100D可以耦接并且可以使用环拓扑结构进行通信。注意,图2的连接中的多个连接可能不是必要的或者可能不被使用;例如,在环拓扑的一个实施例中,网络设备100B与100C之间的连接可能不存在。在一些实施例中,在这样的拓扑中,可以使用环来堆叠网络设备。还设想了其它拓扑和连接。
图3-对网络设备中的控制器和数据库引擎进行同步
图3示出了根据一个实施例的一种用于对网络设备中的控制器和数据库引擎进行同步的方法。图3中示出的方法可以与上图中示出的计算机系统或设备及其它设备中的任何一个结合使用。在各个实施例中,这些方法元素中的一些元素可以并行执行、按照与所示顺序不同的顺序执行、或者可以被省略。还可以根据需要来执行额外的方法元素。如图所示,该方法可以如下执行。
在302中,第一转发数据库或表格可以保持在网络设备的数据库引擎部分中。数据库引擎部分可以大部分在硬件中实现。
此外,在304中,可以由网络设备的控制器部分来维持第二转发数据库或表格。控制器部分可以实现为在网络设备的处理器上执行的软件。在第一时间,可以对两个数据库之间的数据进行同步。
第一转发数据库和第二转发数据库二者都可以包括多个条目。在至少第一转发数据库中,多个条目中的每个条目可以包括同步字段及其它字段。如下面更详细讨论的,第一和第二转发数据库可以包括或使用全局同步值,例如,用于将第一转发数据库的变化同步到第二转发数据库。额外的字段也可以用于同步,诸如更新字段(例如,以用于指示现有字段已更新的时刻)以及获知或状态字段(例如,用于指示条目的状态,诸如“自动获知”、“受控获知”、“受控老化”和/或“自动老化”,以及其它可能的状态)。在一些实施例中,可以使用多个其它字段(比如HIT_年龄和LOOKUP_VALID(例如,其可以用于确定条目的状态,诸如“受控获知”))来实现获知字段。关于图6A-6N的描述可以应用于该实施例。其它字段可以用于协助同步。
注意:用于同步的多个字段中的一个或多个字段仅存在于第一转发数据库中,而不存在于第二转发数据库中。例如,该同步信息可能不一定位于第二转发数据库中(例如,因为更新可能通常发生在数据库引擎部分中,然后同步到控制器部分,而不是相反的方向)。然而,还设想了相反方向的同步(例如,当更新是从其它网络设备提供的)。在一个实施例中,可以通过与本文所讨论的方式不同的方式进行这些同步。
在操作过程中,在306中,在第一转发数据库中可能发生变化(例如,数据库的数据库引擎部分可以改变或添加条目)。在一个特定的实施例中,可以执行对第一转发数据库中的第一组一个或多个条目的改变。这些改变可以包括:条目的添加,或者现有条目中的字段的值的修改。此外,这些条目可以具有设置为当前同步值的同步值。因此,在第二时刻,第一和第二数据库可以变得失去同步。
响应于这些改变、或者通过定期的方式,数据库引擎部分可以向控制器发送消息(例如,中断)来指示应该执行对第二转发数据库的更新。相应地,在308中,网络设备中的控制器可以接收用于指示第一转发数据库中已发生变化的消息。
响应时,在310中,可以(例如,由控制器)将全局同步值从第一全局同步值变为第二全局同步值。此外,在312中,可以(例如,由控制器)生成查询来确定对第一转发数据库中的第一组条目的一个或多个改变。在一个实施例中,查询可以包括或使用与第一转发数据库中的字段相关联的各种值,诸如全局同步值、更新值、状态值等。在一个实施例中,查询可以搜索具有第一全局同步值以及“受控获知”状态字段的那些条目。然而,应该指出的是,设想了可以使用以下任意组合的实施例:全局同步值、更新值、或状态值(以及其它可能的字段)。在下面针对图4A至图4E更详细地提供了该过程的示例。
因此,在314中,可以执行查询以便返回查询结果(例如,从数据库引擎部分到控制器部分)。查询结果可以包括对第一组一个或多个条目的一个或多个改变(例如,通过使用第一全局同步值和/或上面讨论的用于识别第一组一个或多个条目的其它值)。
在获得查询结果之后,可以在316中执行各个后续动作。例如,可以对(例如,第一转发数据库中的)多个字段中的各个字段进行重置。例如,已经同步的条目可以将更新字段值从例如“1”(启用)变成“0”(禁用)。类似地,可以将具有“受控获知”状态值的条目变成“自动获知”,例如,从而在今后对第一转发数据库的改变进行查询时,不返回这些条目。
此外,可以通过多种方式来使用查询结果。如上所述,控制器可以保持第二转发数据库,并且可以使用查询结果来更新第二转发数据库(例如,以便使第一和第二转发数据库同步)。作为另一种可能,查询结果可以用于更新其它网络设备或者网络设备的其它数据库引擎部分(例如,其中,网络设备包括控制器部分和几个数据库引擎部分,这可能需要同步它们各自的转发数据库)。
在一个实施例中,在控制器将全局同步值变成第二全局同步值之后、对转发数据库中的其它条目的改变不属于查询结果的一部分,例如,因为可以向那些值分配第二全局同步值,而不是第一全局同步值。在这些情况下,当进行改变(例如,修改或添加)时,它们的同步字段可以被设置为当前全局同步值(在该例中,其是第二全局同步值),从而可以在后续同步过程中识别出这些变化。因此,在几个同步过程期间,全局同步值可以在两个不同值之间进行“乒乓”,以便跟踪已经同步或尚未同步的条目。
图4A至图4E-与图3的方法相对应的示例性表格
图4A至图4E是与图3的方法相对应的、以太网交换机中的转发或过滤数据库的示例性表格。这些表格和以下描述是仅作为示例性细节而提供的,而不是旨在限制上述系统和方法的范围。
对于图4A至图4E来说,存在两个实体:数据库引擎和控制器。为了使数据库与控制器同步,数据库引擎的转发(或过滤)数据库中的每个条目可以包括同步字段。数据库引擎可以通过改变全局同步值并且向控制器告知即将发生的变化,来更新记录。然后,控制器可以改变全局同步字段的值,并且基于该全局同步字段的先前值来搜索转发数据库。
对于数据库同步来说,更新字段可以用于在更新和创建条目之间进行区分。当更新时,可以启用条目的“更新”字段(例如,通过将该值从“0”变成“1”)。在同步之后,控制器可以清除该字段(例如,通过将该值从“1”变成“0”)。在一个实施例中,控制器可以用全局同步字段的旧值和更新字段的值来搜索数据库。
更具体地说,数据库引擎可以包括:用于通过查找_有效字段、HIT_年龄字段和更新字段的单个属性或者组合、和/或其它所需要的FDB信息,来搜索条目的搜索引擎。为了对数据库的条目创建和更新进行同步,引擎可以通过CTRL_LRN(受控获知)中断或消息来通知控制器。然后,控制器可以将全局同步值从0变成1,或者反之亦然。然后,引擎可以通过使用与全局获知同步字段的新值相等的SYNC字段来创建或更新条目,从而执行受控获知。
为了对条目的更新进行同步,控制器可以通过包括更新字段等于1并且SYNC字段等于全局获知同步字段的先前值的条件来搜索引擎,以便获得所有更新后的条目。控制器可以在同步之后将所有这些条目的更新字段清除。为了对条目的创建进行同步,控制器随后可以使用包括更新字段等于0并且SYNC字段等于全局获知同步字段的先前值的条件。因此,在一些实施例中,可以根据需要将上面所讨论的查询实现成多个查询或复合查询。
为了对条目的删除进行同步,引擎可以通过CTRL_AGE(受控_老化)中断或消息来告知控制器。然后,控制器可以将全局老化值从0变成1,或者反之亦然。引擎可以通过使用与全局老化同步字段的新值相等的SYNC字段来更新条目,从而执行受控老化。然后,控制器可以使用包括查找_有效字段等于1并且HIT_年龄字段等于0并且SYNC字段等于全局获知同步字段的先前值的条件,来获得所有过期条目。控制器可以删除这些条目,例如,通过在同步之后发送具有包括查找_有效字段等于1并且HIT_年龄字段等于0并且SYNC字段等于全局获知同步字段的先前值的条件的命令。
图4A示出了第一时刻的示例性转发表格,例如,在第一时刻,控制器和数据库引擎的表格被同步。在该表格中,当前存储了两个不同的条目,一个条目对应于MAC地址00-00-00-00-00-01,而另一个条目对应于MAC地址02。
在图4B中,已经更新了对应于01的条目,以便将字段“DP”从“1”变成“2”,字段“查找_有效”从“1”变成“0”、字段“HIT_年龄”从“1”变成“2”、字段“更新”从“0”变成“1”(指示已经发生了改变),并且状态字段“条目描述”从“自动获知的条目”变成“受控获知的条目”(例如,指示该条目处于未决状态——在转发过程中是否使用该条目可以是可配置的)。此外,已经添加了新条目00-00-00-00-00-05,出于与上面01相同的原因,该新条目可以具有“受控获知的条目”的状态字段值。此外,如图4B中所示,所有的条目具有同步值“0”。
如上所述,响应于对转发表格的这些改变,可以向控制器提供消息(例如,中断)。响应时,可以将全局同步字段从“0”变成“1”,从而针对稍后的同步,可以识别在同步开始之后进行的改变。
在图4C中,在同步期间,已经添加了新条目“00-00-00-00-00-04”。如图所示,因为全局同步值是在发起同步之后改变的,所以向新条目分配同步值1。在没有该改变的情况下,可以在稍后的同步中忽略条目“00-00-00-00-00-04”。
图4D示出了针对已更新条目的查询的结果。如图所示,查询返回上文被修改的00-00-00-00-00-01和被添加的00-00-00-00-00-05二者。在一个实施例中,查询可以基于状态字段值(例如,具有状态“受控获知的条目”或“自动获知的条目”)、全局同步值(例如,具有值“0”)、和/或更新值(例如,具有值“1”)。在一个实施例中,查询可以是全局同步值与更新值的结合,以及全局同步值与状态值的结合。
如图4E中所示,在同步之后,可以对新同步的条目进行更新。更具体地说,可以将条目01的更新字段重置成“0”,并且针对条目00-00-00-00-00-01和00-00-00-00-00-05,可以将状态字段值从“受控获知的条目”设置成“自动获知的条目”。在下一轮同步中,所使用的全局同步值可以是“1”而不是“0”。因此,全局同步值可以在“1”和“0”之间进行“乒乓”,以便持续跟踪被同步的条目。
在上面的示例中,存在针对获知的两种状态:受控获知可以用于同步之前的硬件获知。之后,来自控制器的命令可以将状态变成自动获知。此外,更新字段可以用于表明:已经改变了条目的目标端口。当控制器需要知道针对某些特定端口的改变时(例如,新创建的端口以及移动到另一个端口两者),该改变可能是有用的。
图5和图6A至图6N-示例性状态图和表格
图5示出了与(例如,以太网交换机中的数据库引擎的)转发数据库(FDB)的条目相对应的示例性状态图。图6A至图6N是示出图5的状态图的构思的示例性表格。这些描述提供了与上面提供的那些描述有关的示例性细节(例如,关于条目的老化以及其它过程)。
如图5中所示,条目可以具有以下状态:“自动获知”、“受控获知”、“受控老化”以及“自动老化(无效)”。条目可以通过图5中示出的方式在这些状态之间转换,例如,自动地老化以进入“自动老化”状态,自动地获知以进入“自动获知”状态等。下面提供了关于图5中示出并且在表格6A-6N中包括的事件的进一步细节:
受控获知:入端口/虚拟端口(条目中的目标端口)被配置为受控获知模式。FDB条目不存在,并且数据库引擎可以添加该条目作为新条目。
受控刷新:入端口/虚拟端口(条目中的目标端口)被配置为受控获知模式。FDB条目存在,并且目标端口是与当前的入端口/虚拟端口相同的端口。
受控移动:入端口/虚拟端口(条目中的目标端口)被配置为受控获知模式。FDB条目存在,并且目标端口不是与当前的入端口/虚拟端口相同的端口。
自动获知:入端口/虚拟端口(条目中的目标端口)被配置为自动获知模式。FDB条目不存在,并且数据库引擎可以添加该条目作为新的条目。
自动刷新:入端口/虚拟端口(条目中的目标端口)被配置为自动获知模式。FDB条目存在,并且目标端口是与当前的入端口/虚拟端口相同的端口。
自动移动:入端口/虚拟端口(条目中的目标端口)被配置为自动获知模式。FDB条目存在,并且目标端口不是与当前的入端口/虚拟端口相同的端口。
老化:按照1到大于0的值来减少HIT_年龄。老化是自动老化或受控老化的。条目的状态保持不变。
受控老化:入端口/虚拟端口(条目中的目标端口)被配置为受控老化模式。按照1到0来减少HIT_年龄。
自动老化:入端口/虚拟端口(条目中的目标端口)被配置为自动老化模式。按照1到0来减少HIT_年龄。
在一个特定的实施例中,可能存在与每个条目相关联的两个属性:年龄值和有效值。这两个属性可以表示图6A中示出的每个条目的四个状态。如图所示,如果HIT_年龄字段大于0,则状态可以是“受控获知”或“自动获知”。如果HIT_年龄为0并且有效值为0,则条目可以是无效的。如果HIT_年龄为0并且有效值仍然为1,则条目可以处于“受控老化”状态。通常,HIT_年龄值将在每个老化周期递减,直到其达到零为止。
为了记录端口/虚拟端口的变化,可以启用受控获知和受控老化。FDB(转发数据库)引擎可以具有用于记录获知和老化的当前同步状态的两个全局值。该引擎可以通过创建或更新帧的条目来执行受控获知,并且基于全局获知同步字段的值来记录SYNC字段。当年龄值达到零时,受控老化可以基于全局老化同步字段的值来更新SYNC字段。在每个条目中还可以存在更新字段,该更新字段指示该条目是否在先前的同步中被更新。
图6B示出了“自动获知”与“自动获知”之间的状态转变。这可以在触发获知的帧的入端口/虚拟端口被设置为自动获知模式时发生。注意,当老化和刷新时,更新字段和SYNC字段可以保持不变,或者更新可以丢失。
图6C示出了“自动获知”与“受控获知”之间的状态转变。这可以在触发获知的帧的入端口/虚拟端口被设置为受控获知模式时发生。
图6D示出了“自动获知”与“受控老化”之间的状态转变。这可以在条目的目标端口被设置为受控老化模式并且老化过程将年龄值减小到零时发生。
图6E示出了“自动获知”与“无效”之间的状态转变。这可以在条目的目标端口被设置为自动老化模式并且老化过程将年龄值减小到零时发生。
图6F示出了“受控获知”与“自动获知”之间的状态转变。这可以在触发获知的帧的入端口/虚拟端口被设置为自动获知模式时发生。注意,当老化和刷新时,更新字段和SYNC字段可以保持不变,或者更新可以丢失。
图6G示出了“受控获知”与“受控获知”之间的状态转变。这可以在条目的目标端口被配置为受控获知模式时发生。注意,当老化和刷新时,更新字段和SYNC字段可以保持不变,或者更新可以丢失。
图6H示出了“受控获知”与“无效”之间的转变。这可以在条目的目标端口被设置为自动老化模式并且老化过程将年龄值减小到零时发生。
图6I示出了“受控老化”与“自动获知”之间的转变。这可以在条目的目标端口被配置为自动获知模式时发生。
图6J示出了“受控老化”与“受控获知”之间的转变。这可以在条目的目标端口被配置为受控获知模式时发生。
图6K示出了“受控老化”与“受控老化”之间的转变。这可以在条目的目标端口被设置为受控老化模式并且老化过程已经将年龄值减小到零时发生。
图6L示出了“受控老化”与“无效”之间的转变。这可以在条目的目标端口被设置为自动老化模式并且老化过程将年龄值减小到零时发生。
图6M示出了“无效”与“自动获知”之间的转变。这可以在触发获知的帧的入端口/虚拟端口被设置为自动获知模式时发生。
图6N示出了“无效”与“受控获知”之间的转变。这可以在触发获知的帧的入端口/虚拟端口被设置为受控获知模式时发生。
进一步描述
下面提供了一个特定实施例的进一步细节。然而,与上面类似,这些描述是仅作为示例提供的,而不旨在限制上面所讨论的实施例的范围。
MAC地址获知和老化:
可以在FDB表格中支持MAC地址获知和老化。
每一个FDB条目可以包括查找_有效字段。当查找_有效字段被设置为1时,该条目可获得以供使用,当查找_有效字段被设置为0时,该条目不涉及任何交换和转发过程。
每个FDB条目包括可以定义MAC地址的寿命的HIT_年龄值。老化过程减小MAC地址的寿命值,同时在获知过程期间,当(SA(源MAC地址),VID)与条目匹配时,获知过程刷新寿命值。
关键字(SA,VID)可以用于FDB查找。如果没有找到匹配,那么可以将SA识别为未知SA,并且可以将SA作为新地址由硬件添加到FDB表格,假定启用了自动获知模式或受控获知模式。
可以根据(SA,VID)关键字的哈希值,来将获知的MAC地址存储在FDB中。
MAC地址获知:
当在获知查找期间没有在FDB中找到(SA,VID)时,可以认为该地址是未知的。如果FDB具有足够的空间,那么可以获知该地址,并且由硬件自动地将该地址添加到FDB表格。可以将HIT_年龄设置为最大年龄值。
MAC地址刷新:
当在FDB中找到(SA,VID)并且目标端口是与当前入端口/虚拟端口相同的端口。可以将所找到的条目中的HIT_年龄更新为最大年龄值。
MAC地址移动:
当在FDB中找到(SA,VID)并且目标端口不是与当前的入端口/虚拟端口相同的端口。可以将所找到的条目中的HIT_年龄更新为最大年龄值。
两种MAC地址获知模式可以用于MAC地址获知。例如,可以支持刷新和移动,并且可以根据端口或根据VLAN或者根据这两者对刷新和移动进行配置,其是自动获知模式和受控获知模式。获知模式可以不仅用于MAC地址获知,而且还可以用作用于MAC地址条目刷新或移动的模式。
自动获知模式:
在查找_有效设置为1的情况下,可以添加或者更新条目。
受控获知模式:
在查找_有效设置为0的情况下,可以添加或者更新条目。条目可能不用于交换和转发过程,直到控制器或软件将查找_有效字段设置为1为止。
MAC地址老化:
MAC地址老化可以用于删除不活动的条目。在HIT_年龄值过期(这意味着HIT_年龄值达到0)之前,在可配置的间隔之后,HIT_年龄值可以由硬件自动减少1。
可以支持下面的MAC地址老化模式:自动老化模式和受控老化模式。
自动老化模式:
不管条目是通过硬件自动获知过程还是通过受控的获知过程获知的,所获知的MAC地址可以自动过期。可以从FDB表格中删除过期的条目。
受控老化模式:
在受控老化模式中,有效的条目可以不过期,除非其被控制器或被自动老化过程删除。
所给出的实施例的优点
使用上述各个实施例,FIFO队列(或类似队列)的使用对于执行网络设备中的数据库或表格之间的更新来说可以不再是必要的。此外,通常可以在不限制FIFO队列的深度的情况下加快获知速度。
当使用各个实施例时,另一个优点是:控制器和数据库引擎的能力可以是(例如,完全)分开的。因此,在一个实施例中,控制器可以执行同步(当其能够的时候(例如,当其空闲时)),而不会降低数据库引擎的性能。
虽然已经相当详细地描述了上面的实施例,但是对于本领域技术人员来说,一旦完全理解了上面的公开内容,许多变型和修改将变得显而易见。下列权利要求旨在被解释为涵盖所有这样的变型和修改。

Claims (24)

1.一种用于接收网络设备的转发数据库的更新的计算机实现的方法,所述方法包括:
在所述网络设备的数据库引擎部分中保持所述转发数据库,其中,所述转发数据库包括多个条目,其中,所述多个条目中的每个条目包括同步字段,其中,所述转发数据库包括全局同步值;
控制器将所述全局同步值改变成第二全局同步值,并生成用于确定对所述转发数据库中的第一组一个或多个条目的一个或多个改变的查询,其中,所述第一组一个或多个条目在所述同步字段中具有第一全局同步值;
执行所述查询以返回查询结果,其中,所述查询结果包括对所述第一组一个或多个条目的所述一个或多个改变,其中,所述执行使用所述第一全局同步值来识别所述第一组一个或多个条目;以及
在改变所述全局同步值之后,修改所述转发数据库中的第二条目,其中,所述第二条目的所述同步字段包括所述第二全局同步值,其中,所述查询结果不包括基于所述第二全局同步值的所述第二条目。
2.根据权利要求1所述的计算机实现的方法,还包括:
所述网络设备中的所述控制器接收用于指示对所述转发数据库中的所述第一组一个或多个条目的所述一个或多个改变的消息,其中,对所述全局同步值的所述改变是响应于所述消息而被执行的。
3.根据权利要求1所述的计算机实现的方法,其中:
在所述控制器将所述全局同步值改变成所述第二全局同步值之后发生的、对所述转发数据库中的其它条目的改变不属于所述查询结果的一部分。
4.根据权利要求1所述的计算机实现的方法,还包括:
基于所述查询结果,对所述控制器中的控制器数据库进行更新。
5.根据权利要求1所述的计算机实现的方法,还包括:
所述控制器基于所述查询结果向一个或多个其它网络设备提供更新。
6.根据权利要求2所述的计算机实现的方法,还包括:
保持所述控制器中的控制器数据库;
使用所述查询结果对所述控制器数据库进行更新;以及
执行对所述消息的所述接收、对所述全局同步值的所述改变、对所述查询的所述执行、以及对所述控制器数据库的多次所述更新以便使所述控制器数据库与所述转发数据库进行同步。
7.根据权利要求1所述的计算机实现的方法,其中,所述查询包括所述第一全局同步值。
8.根据权利要求1所述的计算机实现的方法,其中,所述多个条目中的每个条目包括更新字段,其中,所述查询包括所述更新字段的、用于确定对所述第一组一个或多个条目的所述一个或多个改变中的至少一个改变的值。
9.根据权利要求2所述的计算机实现的方法,其中,所述条目中的每个条目包括获知字段,其中,所述方法还包括:
由所述数据库引擎对所述第一组一个或多个条目中的至少一个条目进行修改以便与指示变化的状态相关联,其中,对所述消息进行所述接收是响应于所述修改而被执行的,并且其中所述查询结果是基于具有所述状态的所述至少一个条目的;
在执行所述查询之后,将所述至少一个条目的所述状态改变成其它状态。
10.根据权利要求1所述的计算机实现的方法,还包括:
响应于第二消息,所述控制器将所述全局同步值改变成所述第一全局同步值,并且生成第二查询以确定一个或多个额外的变化;以及
执行所述第二查询以返回所述第二查询结果,其中,所述第二查询结果包括新条目。
11.根据权利要求1所述的计算机实现的方法,还包括:
所述控制器在所述第一全局同步值和所述第二全局同步值之间改变所述全局同步值;并且使用先前的全局同步值来生成查询以确定所述转发数据库中的多次新变化。
12.一种用于接收网络设备的转发数据库的更新的网络设备,包括:
数据库引擎,其中,所述数据库引擎被配置为保持第一转发表格,其中,所述转发数据库包括多个条目,其中,所述多个条目中的每个条目包括同步字段,其中,所述转发数据库包括全局同步值;
耦接到所述数据库引擎的控制器,其中,所述控制器被配置为:
将所述全局同步值改变为第二全局同步值;
使用第一全局同步值来生成用于确定对所述转发数据库中的第一组一个或多个条目的一个或多个改变的查询,其中,所述第一组一个或多个条目在所述同步字段中具有第一全局同步值;
从所述数据库引擎接收查询结果,其中,所述查询结果包括对所述第一组一个或多个条目的所述一个或多个改变,其中,执行所述查询使用所述第一全局同步值来识别所述第一组一个或多个条目;并且在改变所述全局同步值之后,修改所述转发数据库中的第二条目,其中,所述第二条目的所述同步字段包括所述第二全局同步值,其中,所述查询结果不包括基于所述第二全局同步值的所述第二条目,
其中,在所述控制器将所述全局同步值变成所述第二全局同步值之后发生的、对所述转发数据库中的其它条目的改变不属于所述查询结果的一部分。
13.根据权利要求12所述的网络设备,其中,所述控制器还被配置为:
存储与所述第一转发表格相对应的第二转发表格;以及
基于所述查询结果来更新所述第二转发表格。
14.根据权利要求12所述的网络设备,其中,所述控制器还被配置为:
基于所述查询结果,向一个或多个其它网络设备提供更新。
15.根据权利要求13所述的网络设备,其中,所述控制器还被配置为:
接收用于指示对所述第一转发表格中的第一组一个或多个条目的一个或多个改变的消息,其中,对所述全局同步值进行所述改变是响应于接收所述消息而被执行的。
16.根据权利要求15所述的网络设备,其中,所述控制器还被配置为:
执行对所述消息的所述接收、对所述全局同步值的所述改变、对所述查询结果的所述接收、以及对所述第二转发表格的多次所述更新以便使所述第二转发表格与所述第一转发表格进行同步。
17.根据权利要求12所述的网络设备,其中,所述多个条目中的每个条目包括更新字段,其中,所述第一组一个或多个条目中的至少一个条目包括所述更新字段中的用于指示所述至少一个条目的变化的第一值,其中,所述查询结果是基于所述更新字段的所述第一值的。
18.根据权利要求15所述的网络设备,其中,所述条目中的每个条目包括获知字段,其中,所述数据库引擎被配置为:
由所述数据库引擎对所述第一组一个或多个条目中的至少一个条目进行修改以便与指示变化的状态相关联,其中,对所述消息进行所述接收是响应于所述修改而被执行的,并且其中所述查询结果是基于具有所述状态的所述至少一个条目的;
执行所述查询以提供所述查询结果;以及
在执行所述查询之后,将所述至少一个条目的所述状态改变成其它状态。
19.一种用于提供网络设备的转发数据库的更新的方法,包括:
在所述网络设备的数据库引擎部分中保持所述转发数据库,其中,所述转发数据库包括多个条目,其中,所述多个条目中的每个条目包括同步字段,其中,所述转发数据库包括全局同步值;
修改所述转发数据库中的第一组一个或多个条目,其中,所述第一组一个或多个条目在所述同步字段中具有第一全局同步值;
响应于来自控制器的命令,将所述全局同步值修改为第二全局同步值;
使用所述第一全局同步值来执行所述转发数据库的查询,其中,所述查询包括对所述第一组一个或多个条目的一个或多个改变,其中,在将所述全局同步值修改为所述第二全局同步值之后发生的、对所述转发数据库中的其它条目的改变不属于所述查询结果的一部分;
向所述控制器提供所述查询结果;以及
在改变所述全局同步值之后,修改所述转发数据库中的第二条目,其中,所述第二条目的所述同步字段包括所述第二全局同步值,其中,所述查询结果不包括基于所述第二全局同步值的所述第二条目。
20.根据权利要求19所述的方法,还包括:
向所述网络设备中的控制器提供用于指示对所述转发数据库的改变的消息。
21.根据权利要求19所述的方法,其中,所述控制器保持第二转发数据库,其中,所述控制器被配置为使用所述查询结果来更新所述第二转发数据库。
22.根据权利要求19所述的方法,其中,所述控制器被配置为使用所述查询结果来更新其它数据库引擎中的转发数据库。
23.根据权利要求19所述的方法,其中,所述控制器被配置为使用所述查询结果来向另一个控制器发送消息以便更新相关联的数据库引擎。
24.一种用于接收网络设备的转发数据库的更新的系统,所述系统包括:
用于在所述网络设备的数据库引擎部分中保持所述转发数据库的模块,其中,所述转发数据库包括多个条目,其中,所述多个条目中的每个条目包括具有同步值的同步字段,其中,所述转发数据库包括全局同步值;
用于将所述全局同步值变成第二全局同步值,并生成用于确定对所述转发数据库中的第一组一个或多个条目的一个或多个改变的查询的模块,其中,所述第一组一个或多个条目在所述同步字段中具有第一全局同步值;
用于执行所述查询以返回查询结果的模块,其中,所述查询结果包括对所述第一组一个或多个条目的所述一个或多个改变,其中,所述执行使用所述第一全局同步值来识别所述第一组一个或多个条目;以及
用于在改变所述全局同步值之后,修改所述转发数据库中的第二条目的模块,其中,所述第二条目的所述同步字段包括所述第二全局同步值,其中,所述查询结果不包括基于所述第二全局同步值的所述第二条目。
CN201180074726.4A 2011-11-08 2011-11-08 对网络设备背景中的转发数据库进行同步 Expired - Fee Related CN103918230B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/081911 WO2013067681A1 (en) 2011-11-08 2011-11-08 Synchronizing forwarding databases in a network device background

Publications (2)

Publication Number Publication Date
CN103918230A CN103918230A (zh) 2014-07-09
CN103918230B true CN103918230B (zh) 2017-03-22

Family

ID=48288444

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180074726.4A Expired - Fee Related CN103918230B (zh) 2011-11-08 2011-11-08 对网络设备背景中的转发数据库进行同步

Country Status (6)

Country Link
US (1) US20140289193A1 (zh)
EP (1) EP2777224A4 (zh)
JP (1) JP5813887B2 (zh)
KR (1) KR101544791B1 (zh)
CN (1) CN103918230B (zh)
WO (1) WO2013067681A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5995279B2 (ja) * 2012-10-24 2016-09-21 日本電気株式会社 ネットワーク機器、方法、及びプログラム
CN105099961B (zh) 2014-05-12 2020-01-17 中兴通讯股份有限公司 一种快速同步介质访问控制地址表的方法和装置
US9658984B2 (en) * 2014-07-15 2017-05-23 Cisco Technology, Inc. Method and apparatus for synchronizing multiple MAC tables across multiple forwarding pipelines
US9954762B2 (en) * 2015-06-23 2018-04-24 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Populating forwarding database tables in a fabric environment
CN109587202B (zh) * 2017-09-29 2021-08-13 北京国双科技有限公司 文件校验和数据处理之间的协同处理方法、装置及系统
CN110881008B (zh) * 2018-09-05 2022-02-18 瑞昱半导体股份有限公司 同步转发数据库的方法
US11356363B2 (en) 2020-03-26 2022-06-07 Red Hat, Inc. Location change notification handling
CN111858749A (zh) * 2020-06-15 2020-10-30 武汉旷视金智科技有限公司 底库同步方法、装置和电子系统
WO2023012769A1 (en) * 2021-08-06 2023-02-09 Marvell Israel (M.I.S.L) Ltd. Adapting forwarding database learning rate based on fill level of forwarding table

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101340366A (zh) * 2007-03-30 2009-01-07 卢森特技术有限公司 用于媒体访问控制地址学习的方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6310878B1 (en) * 1998-07-30 2001-10-30 Lucent Technologies Inc. Large packet switch router
US7318108B2 (en) * 2004-12-22 2008-01-08 Cisco Technology, Inc. Method and apparatus providing prioritized convergence in border gateway protocol
US8223666B2 (en) 2005-08-23 2012-07-17 Cisco Technology, Inc. Method of constructing a forwarding database for a data communications network
US7903665B2 (en) * 2007-08-24 2011-03-08 Fujitsu Limited System and method for synchronizing packet forwarding information

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101340366A (zh) * 2007-03-30 2009-01-07 卢森特技术有限公司 用于媒体访问控制地址学习的方法及装置

Also Published As

Publication number Publication date
EP2777224A4 (en) 2015-04-01
KR20140092890A (ko) 2014-07-24
CN103918230A (zh) 2014-07-09
JP2014535226A (ja) 2014-12-25
JP5813887B2 (ja) 2015-11-17
KR101544791B1 (ko) 2015-08-17
US20140289193A1 (en) 2014-09-25
WO2013067681A1 (en) 2013-05-16
EP2777224A1 (en) 2014-09-17

Similar Documents

Publication Publication Date Title
CN103918230B (zh) 对网络设备背景中的转发数据库进行同步
CN103238145B (zh) 用于网络装备中的高性能、可更新和确定的哈希表的方法和设备
CN100574281C (zh) 一种交换机路由表的管理方法
CN101866357B (zh) 一种三态内容寻址存储器的表项更新方法及装置
CN104104604A (zh) 网络交换机设备中的准确匹配哈希查找数据库
JP5594171B2 (ja) 通信処理装置、アドレス学習プログラムおよびアドレス学習方法
US7313138B2 (en) Router device and routing method
WO2010080163A1 (en) Reducing propagation of message floods in computer networks
US20060176721A1 (en) Method and apparatus for managing ternary content addressable memory
CN101729425B (zh) Vrrp组网中流量发送的方法及设备
CN102201010A (zh) 无共享架构的分布式数据库系统及其实现方法
EP3170289B1 (en) Mac table sync scheme with multiple pipelines
CN102164084B (zh) 一种组播报文转发方法及其设备
CN110636393B (zh) 一种olt设备双主控1+1并发工作方法及系统
CN102147798A (zh) 处理哈希查找冲突问题的方法和装置
CN103546380A (zh) 一种基于策略路由的报文转发方法和装置
CN101620623A (zh) 内容可寻址存储器表项管理方法和装置
CN104782087B (zh) 交换设备、控制器、交换设备配置、报文处理方法及系统
US9485179B2 (en) Apparatus and method for scalable and flexible table search in a network switch
CN104836738A (zh) 路由硬件表项资源管理方法、装置及网络设备
CN101534477A (zh) 一种表项管理方法和装置
CN105791455A (zh) 三态内容寻址存储器tcam空间的处理方法及装置
CN105991783A (zh) 一种媒体接入控制地址学习方法、设备和系统
CN100362812C (zh) 一种用户组播权限的管理方法
CN101547147B (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
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: 20170322

Termination date: 20181108