CN1859316A - 数据包传送装置 - Google Patents

数据包传送装置 Download PDF

Info

Publication number
CN1859316A
CN1859316A CNA2006100771692A CN200610077169A CN1859316A CN 1859316 A CN1859316 A CN 1859316A CN A2006100771692 A CNA2006100771692 A CN A2006100771692A CN 200610077169 A CN200610077169 A CN 200610077169A CN 1859316 A CN1859316 A CN 1859316A
Authority
CN
China
Prior art keywords
routing table
transmission information
information
project
transmission
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.)
Pending
Application number
CNA2006100771692A
Other languages
English (en)
Inventor
奥野通贵
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of CN1859316A publication Critical patent/CN1859316A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/742Route cache; Operation thereof

Landscapes

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

Abstract

一种数据包传送装置,不增加记录包的传送信息的路由表所需要的总存储量,即可增加可以注册于路由表中的项目数。而且,快速实施路由表检索。数据包传送装置的各个线路卡具备具有两种不同作用的路由表。第一路由表是把频繁使用的传送信息记录为一系列的小组的本地路由表。第二路由表是分散记录传送信息使与数据包传送装置内的其他线路卡不一致,而在合并所有的分散信息时使与数据包传送装置保存的所有传送信息一致的分散共享路由表。

Description

数据包传送装置
技术领域
本发明涉及设于网络中继点的数据包传送装置使用的路由表(路径检索表)的构成方法。
背景技术
近年来,伴随因特网业务量的迅速增加,对设于网络中继点的数据包传送装置要求更高速的数据包传送技术。数据包传送装置根据到达包保持的发送目标地址判断并传送是否应该向自身连接的哪个网络传送所到达的包。为了根据所述发送目标地址确定包的传送地点,数据包传送装置使用路由表(路径检索表)。
路由表存储有多个路径项目,该路径项目由作为IP地址的上位比特的表示网络的前缀、对应该前缀的下一跳跃IP地址、和输出线路序号构成。数据包传送装置在有包输入时,寻找路由表内的前缀和包内的发送目标IP地址的上位比特一致的路径项目,把一致的路径项目的内容判定为输入包的下一跳跃IP地址和输出线路序号。
所述的发送目标检索动作是成为数据包传送处理的瓶颈的处理,伴随网络的线路速度的提高成为更加明显的问题。另外,伴随近年来因特网业务量的急速增加,路由表所需要的注册项目数急剧增加,这对于数据包传送装置也成为问题。因此,如非专利文献1公开的那样,为了有效利用IP地址空间,在1990年中期导入了根据任意的前缀位置把IP地址划分为网络地址和主机地址的CIDR(Classless Inter-Domain Routing)。根据CIDR,可以利用单一项目(entry)表述多个项目,所以路由表的必要项目数的增加率略微稳定,但是,根据http://bgp.potaroo.net/indes-bgp.html披露的IPv4 BGP(BorderGateway Protocol)Report,网络核心的数据包传送装置所需要的路由表项目数在2004年末时约达到了18万项目之多。
CIDR的导入带来了可以削减路由表的必要项目数的好处,但由于需要最长前缀匹配(最长一致检索),所以与导入CIDR之前使用的固定长度比较(完全一致检索)相比,同时产生了路由表检索处理变复杂的不利之处。即,检索的结果为有可能路由表的多个项目与检索条件一致,所以需要从一致的检索结果中选择比特一致最多的结果(最长前缀匹配)。
使用图2所示的路由表具体说明该路由表检索。图2表示路由表1000在IP地址利用8比特表述时存在6个项目1000-1~6,各个项目1000-1~6由与前缀等效的信息即IP地址条件、和对应这些各个IP地址条件的下一跳跃IP地址和输出线路序号构成。此处,IP地址条件指把前缀作为上位比特,把IP地址的剩余比特作为掩码(*)的信息。例如,项目1000-2的“01111***”表示上位5比特是“01111”,下位3比特是“000、001、010、011、100、101、110、111”中的任一个。并且,1000-2~6的“01111***”表述为“01111/5”,“0110****”表述为“0110/4”,“1010****”表述为“1010/4”,“101*****”表述为“101/3”,“01******”表述为“01/2”。斜线符号后面的数字称为前缀长度,表示除前缀的掩码以外的部分的长度。
例如,说明发送目标IP地址被输入了二进位数“01111010”的包的情况。该情况时,虽然项目1000-2和1000-6这两个项目的IP地址条件和所输入的发送目标IP地址一致,但结果判定为前缀长度最长的项目1000-2的下一跳跃IP地址B和输出线路序号3一致。
为了使上述的路由表检索快速化,近年来的高端数据包传送装置多使用被称为TCAM(Ternary Contents Addressable Memory)的存储器装置。例如,非专利文献2和非专利文献3中记载了利用TCAM快速实现路由表检索和流识别处理的方法。
TCAM对条件一致的每个比特除“0”、“1”外,还可以指定表示可以是“0”也可以是“1”的“*(Don’t Care,Mask)”第三种数值。TCAM包括存储多个比特的一致条件的多个项目,在输入检索键(key)后,对所有项目同时进行项目内的一致条件和检索键的一致比较,输出一致项目的地址中优先度最高(例如最小)的地址值。通过把具有最长前缀的IP地址条件存储在优先度较高的项目中,TCAM可以实现最长前缀匹配。
所述TCAM是适合快速路由表检索的存储器装置,但是与DRAM(Dynamic Random Access Memory)和SRAM(Static Random AccessMemory)相比,消耗电力提高约一位数至两位数,同样集成度降低,也是最昂贵的装置,这些成为问题。
现在的数据包传送装置如图3所示,控制卡300具有路由表的主体301,把与控制卡300的路由表301内容相同的复制品作为硬件容易检索的形式的完全路由表210,以使各个线路卡100-i(i=1~N)可以独立地快速检索路由表信息。在近年来的高端数据包传送装置中,各个线路卡的常见的路由表使用所述TCAM的结构。
在专利文献1中,为了改善网络传送装置中的路由表及其检索机构,实现网络传送装置的大容量化、低延时化(快速化)、低成本化,提出在各个线路卡(line card)中把划分控制卡的路由表的部分集合的信息作为分散路由表配置的方法。另外提出下述结构,分散路由表具有存储路由表具有的信息的一部分复制品的路由表高速缓冲存储器,在某个路由表高速缓冲存储器中检索不成功时,检索对应该路由表高速缓冲存储器的路由表,并检索发送目标。
专利文献1 日本专利特开2004-221807号公报
非专利文献1 RFC1519
非专利文献2 “Next Generation Routers”invitedpaper,IEEE Procedding,vol.90,no.9,pp.1518-1588,Sep.2002
非专利文献3 IDT White Paper“Optimum Search Methods forSwitch/Router Databases in Access and Metro Edge Networks”
由于对应发送目标地址的传送信息日益增加,用于记录搭载于数据包传送装置的各个线路卡上的所述传送信息的路由表所需要的存储量也必须增加。不久,各个线路卡的必要存储量有可能超过实际安装的允许范围,需要在不增加必要的总存储量的情况下,增加可以注册于路由表中的项目数。而且,路由表检索是成为数据包传送装置中的瓶颈的处理,所以需要实现快速路径检索。
如前述的图3所示,把控制卡300的路由表的主体301的复制品存储在搭载于各个线路卡100的TCAM中的方法,在路由表变为大容量时,需要增加TCAM的安装量,产生导致装置整体的消耗电力和成本增加的问题。
并且,如专利文献1所示,在数据包传送装置内基本上只搭载了一个路由表,各个线路卡只将所述路由表的各部分分散配置,这种方法在路由表变为大容量时所搭载的存储量不怎么增加,从这一点讲比较理想。但是,在多个线路卡检索某个线路卡的路由表时,如果仅单纯地分散配置路由表的各个部分,则产生因存储竞争造成的检索速度降低的问题。因此,在专利文献1中必然要搭载路由表高速缓冲存储器,但该路由表高速缓冲存储器只能存储完全一致的发送目标IP地址信息的项目,高速缓存错误的可能性较大,并且具有把对应高速缓存错误时的IP地址信息存储到该高速缓冲存储器中为止的等数时间较长的缺点。
发明内容
本发明就是鉴于上述问题而提出的,其目的在于,把两种路由表配置在各个线路卡中进行控制,从而使路由表大容量化,即增加可以注册于路由表中的项目数。并且,其目的在于同时实现路由表检索的快速化。
在本发明中,数据包传送装置的各个线路卡具备两种具有不同作用的路由表。第一路由表是把频繁使用的传送信息记录为一系列的小组的自身线路卡专用的本地路由表。第二路由表是分散记录传送信息使与其他线路卡不一致,而在合并所有的分散信息时使与数据包传送装置保存的所有传送信息一致的分散共享路由表。
各个线路卡可以利用依赖于所连接的网络线路的发送目标检索的局部性,即可以利用完全相同的发送目标和前缀的上位部相同的发送目标容易出现的性质。因此,本地路由表不需要一次性地记录数据包传送装置保存的所有传送信息,可以利用容量较小的存储器实现。各个线路卡在实施包的发送目标检索时,首先检索本地路由表,如果有该传送信息即使用。如果没有该传送信息,则从对应的分散共享路由表中,把判断为与检索使用的发送目标地址相关联的所有传送信息复制到本地路由表中后使用。
通过采用分散共享路由表,不增加整个数据包传送装置的总存储量,即可增加可以注册于路由表中的项目数。通过采用本地路由表,自身线路卡不会妨碍其他线路卡,可以使用频繁使用的传送信息,所以能够快速进行路由表检索。
并且,从分散共享路由表向本地路由表复制判断为与发送目标地址相关联的所有传送信息,与从分散共享路由表只复制与发送目标地址完全对应的唯一的传送信息的单纯高速缓存方式相比,检索分散共享路由表的频次减少,所以能够消除多个线路卡检索分散共享路由表而产生的存储器存取瓶颈现象。
附图说明
图1是表示本发明的数据包传送装置的一实施方式的方框图。
图2是表示具有6个项目的路由表的示例说明图。
图3是以往的数据包传送装置的一实施方式的方框图。
图4是表示第一、第二、第三路由表的包含关系的一例的说明图。
图5是前缀长度的分布情况。
图6是表示本地路由表的结构示例和项目内容的一实施方式的说明图。
图7是表示分散共享路由表的结构示例和项目内容的一实施方式的说明图。
图8是表示本地、分散共享路由表的物理结构的示例说明图。
图9是表示无效化型分散共享路由表的更新动作的示例的流程图。
图10是表示路由表检索动作的示例的流程图。
具体实施方式
以下,参照附图在实施例中详细说明本发明的内容。
(实施例1)
图1是表示使用了本发明的数据包传送装置的方框图。数据包传送装置由以下部分构成:输入包的N个输入线路10-i(i=1~N);N个输出线路20-i(i=1~N);实施一系列的包(packet)处理的N个线路卡(line card)100-i(i=1~N);控制整个数据包传送装置的控制卡300;用于接合所述线路卡100-i和所述控制卡300的交换结构部400。
所述线路卡100-i由以下部分构成:进行与网络侧的包的收发的网络接口部102;实施包处理的包处理部103;实施包处理中的路由表检索的路径检索控制部105;用于保存自身线路卡使用的传送信息的第一路由表(本地路由表)201;在数据包传送装置内的所有线路卡之间分散共享传送信息的第二路由表(分散共享路由表)202;与交换结构部进行包的收发的交换结构部接口104;和控制用的CPU110。
所述线路卡300保存第三路由表(完全路由表)301,完全路由表301与所述分散共享路由表202的和集合一致。
首先,概要说明数据包传送装置的动作。在从输入线路10-i输入了包时,网络接口部102把包转换为包处理部103可以识别的格式并传送。
包处理部103存储接收包,把从接收包抽取的发送目标IP地址传送给路径检索控制部105。
路径检索控制部105使用本地路由表201、分散共享路由表202,判定下一跳跃IP地址和输出线路序号,把结果传送给包处理部103,包处理部再传送给交换结构部接口104。
交换结构部接口104把接收包传送给交换结构部400,交换结构部400把该包传送给相当于接收包中记录的输出线路序号的线路卡100-i。
接收了包的该线路卡100-i通过交换结构部接口104把该包传送给包处理部103。所述包处理部103把所述包包含的下一跳跃IP地址传送给路径检索控制部105。所述路径检索控制部105从所述下一跳跃IP地址判定下一跳跃的MAC(Media Access Control)地址,并作为MAC地址信息传送给所述包处理部103。所述包处理部103把下一跳跃MAC地址写入包的发送目标MAC地址,把发件人MAC地址改写为下一线路卡的网络接口部102的MAC地址,向输出线路20-i发送包。
下面,说明本发明的数据包传送装置的路由表控制方法和检索方法的具体动作。首先,图4表示本地路由表201-n(n=1、2、3)和分散共享路由表202-n、完全路由表301保存的IP地址条件的关系。在该图4中,为了容易理解,以IPv4的IP地址为例,把注册于完全路由表301中的IP地址条件分为6组。实际上存在更多的小组。并且,不限于IPv4地址,也可以是IPv6地址等。
分散共享路由表202-n分别保存完全路由表301的注册信息的各部分并且使其互不重复。在图4的示例中,线路卡100-1的分散共享路由表202-1保存小组(group)1和小组2,线路卡100-2的分散共享路由表202-2保存小组3和小组4,线路卡100-3的分散共享路由表202-3保存小组5和小组6。小组划分由控制卡300进行。
此处,所谓小组指实施最长前缀匹配时应该检查的所有地址条件。即,在具有多个IP地址条件时,在前缀部分包含于其他IP地址条件中时,把这些IP地址条件组称为同一小组。例如,在图4中,100.132.10.8/30包含于100.132.10.0/24中。因此,属于同一小组。小组2~6也基于相同理由形成小组。
此处,前缀长度例如为1时,所有IP地址条件成为同一小组,原本进行小组划分的意义消失。但是,如果是http://bgp.potaroo.net/index-bgp.html的数据,则在IPv4中小于8的前缀长度事实上不被利用。同样,在IPv6中小于20的前缀长度事实上不被利用。因此,如果是IPv4,则可以期待划分为至少256以上的小组,如果是IPv6,则可以期待划分为至少1兆(1048576)以上的小组。
并且,图5表示作为代表性的IPv4的路由表信息的示例,表示前缀长度和对应的项目数的关系。许多IPv4的路由表呈现相同趋势,在整个前缀长度24中占据的比率非常高,其次较高的是前缀长度为16到23的,仅仅这些16到24的9种前缀长度就占据了整体的80%的情况居多。如果前缀长度较长的IP地址条件未包含于前缀长度较短的IP地址条件中(如果不是同一小组),则存在比以上叙述的最低数更多的小组。
本地路由表201从分散共享路由表中复制使用含有用于检索的IP地址的IP地址条件的小组。通常,高端(high end)的数据包传送装置具备多个(例如16个)线路卡和与所述线路卡数量相同或更多的网络线路。从网络输入某个线路卡的包组对所有IP地址区域进行存取的情况非常稀少。因此,数据包传送装置的各个线路卡中特定的频繁使用的IP地址条件的小组不同的可能性较大。如果利用该性质,则本地路由表201不需要保存所有分散共享路由表202的所有IP地址条件,即不需要保存与完全路由表301相同的IP地址条件。因此,本地路由表201不需要非常大。
在图4的示例中,表示本地路由表201-1复制保存小组1的状态、本地路由表201-2复制保存小组1和小组3的状态、本地路由表201-3复制保存小组5的IP地址条件的状态。并且,各个本地路由表201全部保存有自身未保存的IP地址条件的小组被保存在哪个分散共享路由表中的指针信息。不存在所述指针信息的IP地址条件也没有注册在完全路由表301中,由于发送目标不明,所以作为默认路径进行处理。
下面,在示出更加具体的本地路由表201、分散共享路由表202的结构示例后,说明IP地址条件的注册方法、存取方法。
首先,作为本地路由表201、分散共享路由表202的结构示例,使用图6和图7说明作为不增加消耗电力即可保存许多项目的手段,不使用TCAM,而使用并列排列使用多个DRAM或SRAM的m-Trie(Multi-level Trie)算法的实施例。
首先,把检索时使用的检索键即发送目标IP地址划分为多个块。如果是IPv4,则把32比特地址例如划分为K0、K1、K2三部分。例如,K0=16比特、K1=8比特、K2=8比特是代表性的划分方法。按照划分部位生成检索用的节点。在该示例中,最上位的根节点K0具有216个项目。下一水平的节点K1具备多个具有28个项目的节点。同样,最下位的节点K2具备多个具有28个项目的节点。水平1节点和水平2节点的多个为现实的安装量的折中选择,例如为4096个。各个节点可以利用多个DRAM或SRAM构成。
然后,根据所划分的IPv4的上位16比特,选择根节点内的项目,获得向水平1节点的指针。利用所获得的相对所述水平1的指针,选择水平1节点,在所述水平1节点中,根据IPv4的下一个8比特,选择该水平1节点内的项目,获得向水平2节点的指针。利用所获得的向所述水平2的指针,选择水平2节点,在所述水平2节点中,根据IPv4的最后8比特,选择该水平2节点内的项目,获得检索结果即向存储了“下一个跳跃IP地址和输出线路序号”的存储器的指针。下面,说明在最后水平节点中存储了检索结果。
图6是利用K0=16比特、K1=8比特、K2=8比特的m-Trie构成本地路由表201的示例。具有64k项目的水平0根节点500利用1个构成,具有256项目的水平1节点510利用4096个构成,具有256项目的水平2节点520利用4096个构成。下面表示各个节点的项目内容。
根节点的项目501由有效位502、前缀长度信息503、信息源线路卡序号504、本地节点已注册位(bit)505和指针506构成。在有效位502被设定时,该项目有效。前缀长度信息503指该项目的IP地址条件的前缀长度。信息源线路卡序号504表示记录有该IP地址条件的分散共享路由表202的线路卡序号。本地节点已注册位505表示该项目被复制到本地路由表201中。指针506是选择水平1节点用的指针。在该示例中,指具有4096个的水平1节点中的一个。
水平1节点的项目511由有效位512、前缀长度信息513、(相对水平2节点的)指针514构成。
水平2节点的项目521由有效位522、前缀长度信息523和检索结果524构成。
图7是利用K0=16比特、K1=8比特、K2=8比特的m-Trie构成分散共享路由表202的示例。具有64k项目的水平0根节点500利用1个构成,具有256项目的水平1节点510利用4096个构成,具有256项目的水平2节点520利用4096个构成。虽然示例了与前述本地路由表201相同的结构,但水平1节点、水平2节点的数量可以多于本地路由表201。下面表示各个节点的项目内容。
根节点的项目601由有效位602、前缀长度信息603、共享线路卡信息604、和指针605构成。在有效位602被设定时,该项目有效。前缀长度信息603指该项目的IP地址条件的前缀长度。共享线路卡信息604表示复制了该IP地址条件的本地路由表201的某个线路卡序号。由于有可能被多个线路卡共用,所以利用1比特表述一个线路卡的形式比较适合。指针605是选择水平1节点用的指针。在该示例中,指具有4096个的水平1节点中的一个。
水平1节点的项目611由有效位612、前缀长度信息613、(相对水平2节点的)指针614构成。
水平2节点的项目621由有效位622、前缀长度信息623和检索结果624构成。
本地路由表201和分散共享路由表202的各个节点如前面所述不使用TCAM,而使用DRAM或SRAM构成。图8表示利用DRAM构成各个节点的示例。各个表的基本结构相同,由以下部分构成:根节点500;包括可以根据ROW地址选择的4096个节点的水平1节点510;可以根据COLUMN地址选择的256个水平1节点的项目的选择器519;包括可以根据ROW地址选择的4096个节点的水平2节点520;可以根据COLUMN地址选择的256个水平2节点的项目的选择器529。
各个节点使用独立的DRAM。DRAM可以使用通用封装体的DDR-SDRAM(Double Data Rate-Synchronous DRAM)和FCRAM(Fast CycleRAM),也可以采用装入与路径检索控制部105相同的LSI封装体中的DRAM方式。后者的装配式DRAM虽然制造成本升高,但能够缩短存取等数时间,而且可以利用专用的较宽的DRAM内部总线,在DRAM和路径检索控制部105之间可以一次性地进行大量的数据交换,从这一点讲比较有利。
下面,使用图10所示的无效式分散共享路由表的更新动作示例的流程图,说明重新把IP地址条件注册到数据包传送装置中时的动作。此处,所谓无效式指更新分散共享路由表202时,将具有对应的IP地址条件的本地路由表201的该项目废弃(无效)。
数据包传送装置保存的完全路由表由控制卡300具备的完全路由表301管理。在向完全路由表301追加新的IP地址条件后(图9的801→802),控制卡300把所述IP地址条件以图7所示的项目形式,向对应的分散共享路由表202注册到节点的相关联的所有项目中(图9的803)。
此处,所谓相关联的项目,例如在IP地址条件为111.222.3.4/15时,在根节点500中指111.222和111.223这两个项目,两个项目的指针506在水平1节点510中均为相同节点。由于是前缀长度15,所以水平1、2节点内的该节点的256项目全部成为该项目。
列举几个相同的示例,在IP地址条件为111.222.3.4/14时,所谓相关联的项目,在根节点500中指111.220和111.221、111.222、111.223这四个项目,所有项目的指针506在水平1节点510中均为相同节点。由于是前缀长度14,所以水平1、2节点内的该节点的256项目全部成为该项目。
在IP地址条件为111.222.3.4/24时,所谓相关联的项目,在根节点500中仅指111.222这一个项目,所述项目的指针506指水平1节点510的某一个节点。在水平1节点510的该节点中,IP地址条件的下一个8比特表示的项目3是相关联的项目。在水平2节点520的该节点中,由于是前缀长度24,所以该水平2节点的256项目是相关联的项目。
在IP地址条件为111.222.3.4/30时,所谓相关联的项目,在根节点500中仅指111.222这一个项目,所述项目的指针506指水平1节点510的某一个节点。在水平1节点510的该节点中,IP地址条件的下一个8比特表示的项目3是相关联的项目。在水平2节点520的该节点中,由于是前缀长度28、且最后的8比特是4,所以该水平2节点的项目4、5、6、7这四个项目是相关联的项目。
综上所述,在利用L表述前缀长度时,在L小于16时(根据图5的示例,通常L大于等于8),在根节点500中,2(L-16)个项目被装满相同内容,该水平1节点510、水平2节点520的256项目全部被装满相同内容。
在L大于等于16小于24时,根节点500只使用一个项目,该水平1节点510的对应的2(24-L)个项目被装满相同内容,该水平2节点520的256项目全部被装满相同内容。在L大于等于24时,根节点500和水平1节点510只使用一个项目,该水平2节点520的对应的2(32-L)个项目被装满相同内容。
以上示出了“相关联项目”的示例。此处,如果没有包含所述IP地址条件的小组则重新生成,把所述小组被注册到所有本地路由表201的根节点中的分散共享路由表202所在的线路卡序号,注册为“信息源线路卡序号504”,设定有效位502,并结束更新处理(图9中的804→805→808)。
如果存在包含所述IP地址条件的小组,则参照分散共享路由表202的根节点项目601的共享线路卡信息604,确认该小组是否被复制到任一个本地路由表201中(图9中的806)。如果被复制到任一个本地路由表201中,为了维护装置内部的本地路由表信息的一贯性,对所述复制内容进行无效或更新处理。首先,无效式的优点是与更新式相比容易实施控制逻辑。采用无效式处理时,将该本地路由表201的该IP地址条件废弃,并结束更新处理(图9中的807→808)。另外,在废弃时,参照本地路由表201的相关联节点的项目的前缀长度信息503、513、523,只将有废弃请求的前缀长度的IP地址条件废弃。例如,作为IP地址条件分别注册了111.222.0.0/16和111.222.0.0/24时,111.222.0.0/24相当于111.222.0.0/16的分支项目。此处,在将111.222.0.0/16废弃时,111.222.0.0/24不废弃仍保留。
另外,如果不是无效式而是更新式的分散更新路由表202,在图9所示的状态807中,把该本地路由表201的该IP地址条件更新为新条件,并结束处理。并且,在进行所述更新时,更新信息只传送前次注册部分和重新注册部分的差分即可。更新式与无效式相比,控制比较复杂,所以逻辑实施比较困难,但具有可以削减控制路由表的信息的通信量的优点。
下面,使用图10所示的流程图,说明线路卡100的路径检索控制部105进行路径检索时的动作。路径检索控制部105把从接收包抽取的发送目标IP地址用作检索键,首先检索本地路由表201的根节点500(图10中的901→902)。当与检索键的上位16比特一致的IP地址条件存在于本地路由表201的根节点500上时(该项目的本地路由表已注册位505被设定),利用该项目的指针506重复下一水平以后的节点的检索直到到达末端节点。
在该示例中,利用根节点500的项目指针506选择水平1节点510,利用检索键的下一个8比特选择该水平1节点510内的项目,利用该项目内的指针514选择水平2节点520,利用检索键的最后8比特选择该水平2节点520内的项目。通过以上操作,获得作为结果的信息(下一跳跃IP地址和输出线路序号)(图10中的903→907→908→907→908→909)。
并且,当本地路由表201的根节点500不存在与检索键的上位16比特一致的IP地址条件时,参照信息源线路卡序号504,向对应的分散共享路由表202请求IP地址条件的信息(图10中的903→904)。
对应线路卡100的分散共享路由表202从根节点600、水平1节点610、水平2节点620读出对应的项目信息,把其复制品汇总发送给请求方线路卡100。同时,把该项目的信息被特定线路卡共用的情况,记录在分散共享路由表202的根节点项目601的共享线路卡信息604中(图10中的905)。
请求方线路卡的本地路由表201把发送过来的所述项目信息记录在对应的根节点500、水平1节点510、水平2节点520中,再次检索本地路由表的根节点500(图10中的906)。在该检索中,目标结果已经注册在本地路由表500中,所以追溯前面示出的图10中的903→907的流程,可以获得检索结果。
另外,有可能产生本地路由表201的水平1节点510和水平2节点520的节点不足的情况。在产生节点项目不足时,按照无作为(随机)或FIFO(First In First Out)、LRU(Least Recently Used)等算法,释放正在使用中的节点项目以便重新使用。
所释放的项目从分散共享路由表202侧观看不是共享状态,所以更新对应的分散共享路由表202的根节点600的该项目的共享线路卡信息604的内容。
以上,举例说明了具体的实施方式。通过把在本实施例中示出的分散共享路由表202适用于数据包传送装置,可以削减整个数据包传送装置需要的路由表用存储量。并且,换个角度讲,与现有方法相比,在整个数据包传送装置中可以注册与线路卡数成比例的许多传送信息。
另外,频繁使用的传送信息,各个线路卡可以利用专用的本地路由表201快速检索。本地路由表201适合于像TCAM那样快速的最长前缀匹配,但消耗电力大,即使不使用注册项目数较少的存储器,像本实施例这样各个节点使用DRAM或SRAM,采用使各个节点以管线方式一个周期依次存取一个节点的方式,从而可以做到快速化。
并且,由于从分散共享路由表202向本地路由表201复制判断为与发送目标地址相关联的所有传送信息,与从分散共享路由表202只复制完全对应发送目标地址的唯一的传送信息的方式相比,检索分散共享路由表202的频次减少,所以能够消除多个线路卡100检索分散共享路由表202而产生的存储器存取瓶颈现象。
本实施例中使用的数值毕竟是参考例,使用m-Trie的节点数、作为检索键的IP地址的划分位置、项目数等其他数值,同样可以实施各种结构。例如,可以应用于不使用最长前缀匹配的MAC地址等的检索。MAC地址用路由表由于不存在前缀长度的概念,所以不需要路由表的前缀长度用的字段,并且从本地路由表201的上位到下位的各个节点的项目一定是逐个项目的使用。
并且,本实施例作为同样使用最长前缀匹配的Ipv6用的路由表,可以利用相同的思考方式实施。
(实施例2)
在实施例1中,说明了控制线路卡300具有完全路由表301的方式,但也可以是不具有完全路由表301的数据包传送装置。该情况时,各个线路卡100的分散共享路由表202及其控制CPU110独自管理分别负责的地址检索条件区域。
该情况时,使OSPF(Open Shortest Path First)和RIP(RoutingInformation Protocol)和BGP等路由协议在各个线路卡100的控制CPU110上动作,各个CPU只对自己管理的分散的地址进行路由表的管理。在从其他数据包传送装置侧观看时,路由协议通过单一的CPU而动作,但在该数据包传送装置内部,通过多个控制CPU110协调动作来管理分散共享路由表202。
本地路由表201的注册、存取方法和更新方法、分散共享路由表202的存取方法等,除了没有完全路由表301之外,进行与实施例1相同的处理。
在该实施例2中,不使用控制卡300来构成数据包传送装置,由此可以减少数据包传送装置的搭载资源。
(实施例3)
在以上实施例中,示出了可以对应最长前缀匹配的本地路由表的结构和分散共享路由表的结构。在网络的终端之间,使数据形成为多个包来进行收发,所以在短时间内大量出现具有相同IP地址信息的包的时间区域性(locality)情况比较明显。因此,考虑到下述实施例,通过在前面的分散共享路由表的实施例中,组合由比构成本地路由表的存储器还快速的存储器构成的路由表高速缓冲存储器,实现更加快速的路由表存取。
具体讲,在图1所示的线路卡100中,路径检索控制部105具备独立于本地路由表201和分散共享路由表202之外的路由表高速缓冲存储器,所述路由表高速缓冲存储器以与把本地路由表201的一部分信息用作检索键的IP地址完全一致的形式保存项目。
例如,在分散共享路由表202保存111.222.3.4/24的IP地址条件时,将末尾的IP地址从111.222.3.1起逐一增加到100时,连续实施10次使用直到111.222.3.100的IP地址键的检索,,下面说明该情况时的动作示例。
在所述情况下,本地路由表201通过一次一系列的注册操作,从分散共享路由表202复制对应111.222.3.4/24的IP地址条件,最初的111.222.3.1的检索比较花费时间,但一直到以后的111.222.3.100由于已经注册在本地路由表201中,所以检索不会像最初的111.222.3.1那样花费时间。以后9次的从111.222.3.1到111.222.3.100的连续检索可以只在本地路由表201中实施。
然后,路由表高速缓冲存储器使从111.222.3.1到111.222.3.100的检索全部产生高速缓存错误,每次都需要从本地路由表201向不同的路由表高速缓冲存储器项目复制作为对应结果的信息(下一跳跃IP地址和输出线路序号)。以后9次的从111.222.3.1到111.222.3.100的连续检索可以只在路由表高速缓冲存储器中实施,借助于快速的路由表高速缓冲存储器的作用,可以期待缩短检索时间。
另外,在使用路由表高速缓冲存储器时,在本地路由表201的某个项目被废弃或更新时,对应的路由表高速缓冲存储器项目同样进行废弃或更新。
本实施例在路由表高速缓冲存储器外还需要专用存储器和控制机构,所以是适合于即使允许增加硬件容量也想要实施快速的路由表检索的手段。
如上所述,本发明的路由表分散管理方式通过并用两种路由表,可以增加能够注册于路由表中的项目数,并且实现快速的路由表检索。因此,可以适用于以路由器和L3交换器为代表的高速数据包传送装置。

Claims (12)

1.一种具有多个线路卡和控制卡和交换结构部的数据包传送装置,其特征在于,
所述多个线路卡分别具有:
从装置外部的网络输入包的一个以上的输入线路;
向装置外部的网络输出包的一个以上的输出线路;
与装置内部的网络进行包的收发的内部线路;
记录多个对应于发送目标地址的传送信息的第一路由表;
记录多个对应于所述发送目标地址的传送信息的第二路由表;
把从所述输入线路接收的包具有的发送目标地址作为检索键,从所述第一或第二路由表检索对应于所述发送目标地址的传送信息的路径检索部;
向所述路径检索部发出检索请求,接收作为所述检索的结果的所述传送信息,在对包实施了必要的处理后,向所述内部线路或所述输出线路传送的包处理部;和
控制CPU;
所述控制卡具有:
记录多个对应于所述发送目标地址的传送信息的第三路由表;和
具有管理所述第三路由表的功能的控制CPU,
所述交换结构部在装置内部向所指定的所述输出线路的某个所述包处理部传送包,
所述第三路由表记录所述数据包传送装置内的所有传送信息,
所述第二路由表分散记录所述第三路由表的传送信息,使得不与其他的所述第二路由表之间重复,
所述第一路由表从保存所述传送信息的所述第二路由表中,只读出并记录所述第二路由表的传送信息中在传送中使用的发送目标、以及判断为属于和所述发送目标相同的小组的传送信息。
2.一种数据包传送装置,其特征在于,具有:
记录多个对应于发送目标地址的传送信息的多个第一路由表;和
记录多个对应于所述发送目标地址的传送信息的多个第二路由表,
所述多个第二路由表分别分散记录该数据包传送装置内的路由表的传送信息,使得不与其他的所述第二路由表之间重复,
所述第一路由表从保存所述传送信息的所述第二路由表中,只读出并记录所述第二路由表的传送信息中在传送中使用的发送目标、以及判断为属于和所述发送目标相同的小组的传送信息,
所述第一路由表保存与发送目标地址对应的传送信息是否记录在所述第一、第二的任一路由表中的信息,
所述第二路由表保存与发送目标地址对应的传送信息记录在哪个所述第一路由表中的信息。
3.一种数据包传送装置,具有:记录多个对应于发送目标地址的传送信息的多个第一路由表;记录多个对应于所述发送目标地址的传送信息的多个第二路由表;把从所述输入线路接收的包具有的发送目标地址用作检索键,检索所述第一或第二路由表的路径检索部;和记录多个对应所述发送目标地址的传送信息的第三路由表,
所述第三路由表记录所述数据包传送装置内的所有传送信息,
所述第二路由表分散记录所述第三路由表的传送信息,以便不会与其他的所述第二路由表之间重复,
所述第一路由表从保存所述传送信息的所述第二路由表中,只读出并记录所述第二路由表的传送信息中在传送中使用的发送目标、以及判断为属于和所述发送目标相同的小组的传送信息,
使用m-Trie算法构成所述第一路由表和所述第二路由表,
所述第一路由表和所述第二路由表使用SRAM或DRAM。
4.根据权利要求1所述的数据包传送装置,其特征在于,所述第一路由表记录的所述传送信息的小组是可以进行最长的一致检索的所有传送信息。
5.根据权利要求1所述的数据包传送装置,其特征在于,
所述第一路由表和所述第二路由表由保持多个项目的多个节点构成,
所述第一路由表的最上位节点的各个项目至少具有:
表示所述项目登录在装置内的信息;
表示所述项目登录在所述第一路由表中的信息;
表示发送目标IP地址的前缀长度的信息;
表示具有存在该项目的第二路由表的线路卡序号的信息;和
表示所述项目的下位节点的指针,
所述第二路由表的最上位节点的各个项目具有:
表示所述项目的有效性的信息;
表示发送目标IP地址的前缀长度的信息;
表示具有该项目被复制的地点的第一路由表的线路卡序号的信息;和
表示所述项目的下位节点的指针,
所述第一和第二路由表的非最下位的下位节点的各个项目具有:
表示所述项目的有效性的信息;
表示发送目标IP地址的前缀长度的信息;和
表示所述项目的下位节点的指针,
所述第一和第二路由表的最下位节点的各个项目具有:
表示所述项目的有效性的信息;
表示发送目标IP地址的前缀长度的信息;和
表示传送信息或存储该传送信息的存储器上的项目的指针。
6.根据权利要求1所述的数据包传送装置,其特征在于,
所述路径检索部首先检索所述第一路由表,
在所述第一路由表中具有对应于所述检索键的传送信息时,从所述第一路由表读出该传送信息,
在所述第一路由表中没有对应于所述检索键的传送信息时,向对应的所述第二路由表请求该传送信息,
所述对应的第二路由表记录作为请求源的具有所述第一路由表的线路卡序号,
然后将该传送信息和所述传送信息的小组一并发送给作为所述请求源的所述第一线路卡,
作为所述请求源的所述第一线路卡利用所述传送信息和所述传送信息的小组更新所述第一路由表的相应项目,记录该传送信息位于所述第一路由表中的情况,并读出该传送信息。
7.根据权利要求1所述的数据包传送装置,其特征在于,
所述控制卡的所述控制CPU与其他数据包传送装置通信,进行所述第三路由表的更新,
向具有相应的所述传送信息的项目的所述线路卡输出更新请求,
该线路卡根据所述更新请求更新所述第二路由表的该项目,
如果所述第二路由表的所述项目被包括自身卡的所述第一路由表共享,则将所需信息传送到所述线路卡,
所述相应的线路卡利用所述信息更新或无效所述第一路由表。
8.根据权利要求1所述的数据包传送装置,其特征在于,
所述第三路由表与所述第二路由表相同分散保存在所述各个线路卡中,
所述各个线路卡的所述控制CPU独立实施所承担的所述第三路由表部分的更新。
9.根据权利要求1所述的数据包传送装置,其特征在于,不存在所述第三路由表,所述第二路由表也具有所述第三路由表的功能。
10.根据权利要求1所述的数据包传送装置,其特征在于,在所述第一路由表中没有所述传送信息,而向所述第二路由表请求所述传送信息时,
通过与数据包传送所使用的所述交换结构部不同的专用交换结构,与其他所述线路卡的所述第二路由表通信。
11.根据权利要求1所述的数据包传送装置,其特征在于,在所述第二路由表被更新时,只把所述更新的差分信息更新到处于共享状态的所述第一路由表中。
12.根据权利要求1所述的数据包传送装置,其特征在于,在所述第一路由表和所述路径检索部之间,具有把频繁使用的所述项目以完全一致的状态记录的路由表高速缓冲存储器。
CNA2006100771692A 2005-05-06 2006-04-27 数据包传送装置 Pending CN1859316A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005134733A JP4556761B2 (ja) 2005-05-06 2005-05-06 パケット転送装置
JP134733/2005 2005-05-06

Publications (1)

Publication Number Publication Date
CN1859316A true CN1859316A (zh) 2006-11-08

Family

ID=37298179

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006100771692A Pending CN1859316A (zh) 2005-05-06 2006-04-27 数据包传送装置

Country Status (3)

Country Link
US (1) US7630373B2 (zh)
JP (1) JP4556761B2 (zh)
CN (1) CN1859316A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108134986A (zh) * 2016-12-01 2018-06-08 华为技术有限公司 报文传输方法及装置
CN108965137A (zh) * 2018-07-20 2018-12-07 新华三技术有限公司 一种报文处理方法和装置

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001099344A2 (en) * 2000-06-14 2001-12-27 Williams Communications, Llc Route selection within a network with peering connections
JP4926763B2 (ja) * 2007-03-06 2012-05-09 三菱電機株式会社 パケット転送方法および制御装置
US8161095B2 (en) 2007-03-12 2012-04-17 Microsoft Corporation Distributed routing table interface
US9014047B2 (en) 2007-07-10 2015-04-21 Level 3 Communications, Llc System and method for aggregating and reporting network traffic data
JP4818249B2 (ja) * 2007-12-14 2011-11-16 アラクサラネットワークス株式会社 ネットワーク中継システム、ネットワーク中継システムの制御方法、および、ネットワーク中継システムにおける管理装置
US7987290B2 (en) * 2007-12-21 2011-07-26 Microsoft Corporation Security modes for a routing table distributed across multiple mesh nodes
US8249067B2 (en) * 2008-02-27 2012-08-21 Broadcom Corporation Separation of fabric and packet processing source in a system
US8775817B2 (en) * 2008-05-12 2014-07-08 Microsoft Corporation Application-configurable distributed hash table framework
GB2461955A (en) * 2008-07-25 2010-01-27 Gnodal Ltd Ethernet bridge or router employing a distributed MAC address table
EP2157745A1 (en) * 2008-08-19 2010-02-24 Nokia Siemens Networks OY Method for routing data traffic in an access node and access node
US7869349B2 (en) * 2008-10-14 2011-01-11 International Business Machines Corporation Method and system for deducing network routes by querying routers
CN101388842B (zh) * 2008-10-30 2012-04-04 华为技术有限公司 一种存储方法和装置
US8798045B1 (en) * 2008-12-29 2014-08-05 Juniper Networks, Inc. Control plane architecture for switch fabrics
US8918631B1 (en) 2009-03-31 2014-12-23 Juniper Networks, Inc. Methods and apparatus for dynamic automated configuration within a control plane of a switch fabric
EP2482197A4 (en) * 2009-09-25 2013-12-18 Fujitsu Ltd INFORMATION PROCESSING METHOD AND DEVICE SETTING METHOD
US8149713B2 (en) * 2009-09-29 2012-04-03 Cisco Technology, Inc. Forwarding of packets based on a filtered forwarding information base
US8694654B1 (en) 2010-03-23 2014-04-08 Juniper Networks, Inc. Host side protocols for use with distributed control plane of a switch
CN101834802B (zh) * 2010-05-26 2012-08-08 华为技术有限公司 转发数据包的方法及装置
US8560660B2 (en) 2010-12-15 2013-10-15 Juniper Networks, Inc. Methods and apparatus for managing next hop identifiers in a distributed switch fabric system
WO2012124448A1 (ja) * 2011-03-17 2012-09-20 日本電気株式会社 ルーティングテーブル生成装置、分散処理装置、分散処理システム、ルーティングテーブル生成方法、および、記憶媒体
US8539135B2 (en) * 2011-05-12 2013-09-17 Lsi Corporation Route lookup method for reducing overall connection latencies in SAS expanders
CN102291472A (zh) * 2011-09-09 2011-12-21 华为数字技术有限公司 一种网络地址查找方法及装置
JP5782999B2 (ja) 2011-11-10 2015-09-24 富士通株式会社 経路決定装置、ノード装置及び経路決定方法
JP2013187601A (ja) * 2012-03-06 2013-09-19 Sony Corp ルータ、ルータ内記憶部の電源供給方法
US8792498B2 (en) * 2012-03-23 2014-07-29 Wind River Systems, Inc. System and method for enhanced updating layer-2 bridge address table on asymmetric multiprocessing systems
US9680747B2 (en) * 2012-06-27 2017-06-13 Futurewei Technologies, Inc. Internet protocol and Ethernet lookup via a unified hashed trie
US8902902B2 (en) 2012-07-18 2014-12-02 Netronome Systems, Incorporated Recursive lookup with a hardware trie structure that has no sequential logic elements
BR112015014211A2 (pt) * 2012-12-19 2017-07-11 Nec Corp aparelho de processamento de pacotes, método de configuração de entrada de fluxo e programa
JP6268943B2 (ja) 2013-11-06 2018-01-31 富士通株式会社 情報処理システム,スイッチ装置及び情報処理システムの制御方法
US9602407B2 (en) 2013-12-17 2017-03-21 Huawei Technologies Co., Ltd. Trie stage balancing for network address lookup
JP2016082479A (ja) 2014-10-20 2016-05-16 株式会社リコー 通信装置、通信方法およびプログラム
US10917345B2 (en) 2015-07-17 2021-02-09 Hewlett Packard Enterprise Development Lp Generating a hash table in accordance with a prefix length
JP6582723B2 (ja) 2015-08-19 2019-10-02 富士通株式会社 ネットワークシステム、スイッチ装置、及びネットワークシステム制御方法
US10516613B1 (en) 2015-10-14 2019-12-24 Innovium, Inc. Network device storage of incremental prefix trees
CN110753133B (zh) * 2018-07-23 2022-03-29 华为技术有限公司 处理地址的方法和网络设备
US11140078B1 (en) 2018-10-18 2021-10-05 Innovium, Inc. Multi-stage prefix matching enhancements
US11316796B2 (en) * 2019-12-30 2022-04-26 Juniper Networks, Inc. Spraying for unequal link connections in an internal switch fabric

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06197111A (ja) * 1992-10-26 1994-07-15 Hitachi Ltd インタネットワーク装置
JPH07273787A (ja) * 1994-03-30 1995-10-20 Sumitomo Electric Ind Ltd ルーティング情報管理方式
JP3935621B2 (ja) * 1997-07-24 2007-06-27 富士通株式会社 データリンク層パス情報記憶方法、データリンク層パス情報検索方法、該データリンク層パス情報検索方法を実施するための通信装置、そして、これらデータリンク層パス情報記憶方法およびデータリンク層パス情報検索方法をそれぞれ実行するプログラムを記録した媒体
JP3591420B2 (ja) * 2000-04-07 2004-11-17 日本電気株式会社 ルータにおけるキャッシュテーブル管理装置およびプログラム記録媒体
JP3620719B2 (ja) * 2001-06-22 2005-02-16 日本電気株式会社 データ交換装置におけるルーティング処理システム
JP3957570B2 (ja) * 2002-06-17 2007-08-15 日本電気株式会社 ルータ装置
US20040030766A1 (en) * 2002-08-12 2004-02-12 Michael Witkowski Method and apparatus for switch fabric configuration
JP2004221807A (ja) * 2003-01-14 2004-08-05 Hitachi Ltd 分散ルーティングテーブル管理方式およびルータ
US7437354B2 (en) * 2003-06-05 2008-10-14 Netlogic Microsystems, Inc. Architecture for network search engines with fixed latency, high capacity, and high throughput
US7210053B2 (en) * 2004-08-31 2007-04-24 Emc Corporation Systems and methods for assigning tasks to derived timers of various resolutions in real-time systems to maximize timer usage

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108134986A (zh) * 2016-12-01 2018-06-08 华为技术有限公司 报文传输方法及装置
CN108134986B (zh) * 2016-12-01 2020-08-07 华为技术有限公司 报文传输方法及装置
CN108965137A (zh) * 2018-07-20 2018-12-07 新华三技术有限公司 一种报文处理方法和装置
CN108965137B (zh) * 2018-07-20 2021-03-19 新华三技术有限公司 一种报文处理方法和装置

Also Published As

Publication number Publication date
JP4556761B2 (ja) 2010-10-06
US20060253606A1 (en) 2006-11-09
JP2006313949A (ja) 2006-11-16
US7630373B2 (en) 2009-12-08

Similar Documents

Publication Publication Date Title
CN1859316A (zh) 数据包传送装置
JP5529976B2 (ja) 高速ipルックアップのためのシストリック・アレイ・アーキテクチャ
Eatherton et al. Tree bitmap: hardware/software IP lookups with incremental updates
CN1784678A (zh) 用于高效地搜索被分成具有界大小的、有界数量的子数据库的转发数据库的系统和方法
US7526603B1 (en) High-speed low-power CAM-based search engine
JP2005198285A (ja) ハードウエアにおけるipルックアップソリューションを効率的に実現するためにハッシングを使用する装置及び方法
Le et al. Scalable tree-based architectures for IPv4/v6 lookup using prefix partitioning
US7706375B2 (en) System and method of fast adaptive TCAM sorting for IP longest prefix matching
Bando et al. FlashTrie: beyond 100-Gb/s IP route lookup using hash-based prefix-compressed trie
US20090327316A1 (en) Dynamic Tree Bitmap for IP Lookup and Update
CN101620623A (zh) 内容可寻址存储器表项管理方法和装置
Le et al. Memory-efficient and scalable virtual routers using FPGA
US6574701B2 (en) Technique for updating a content addressable memory
TWI638554B (zh) 用於網路交換機中的可擴展且靈活的表格搜索的裝置和方法
CN103270727B (zh) 存储体感知多位特里结构
US6532516B1 (en) Technique for updating a content addressable memory
Wuu et al. A longest prefix first search tree for IP lookup
CN1441579A (zh) 支持多nexthop的TCAM高速查找方法及其系统
Le et al. Scalable high throughput and power efficient ip-lookup on fpga
CN1787477A (zh) IPv6路由表的查找方法
CN103457855B (zh) 无类域间路由表建立、以及报文转发的方法和装置
Chang et al. LayeredTrees: Most specific prefix-based pipelined design for on-chip IP address lookups
RU2233473C2 (ru) Устройство и способ выполнения высокоскоростного поиска маршрутов протокола интернет и управления таблицами маршрутизации/пересылки
Erdem et al. Value-coded trie structure for high-performance IPv6 lookup
Li et al. Address lookup algorithms for IPv6

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20061108