CN1710879A - 数据包传送装置 - Google Patents
数据包传送装置 Download PDFInfo
- Publication number
- CN1710879A CN1710879A CNA2005100039159A CN200510003915A CN1710879A CN 1710879 A CN1710879 A CN 1710879A CN A2005100039159 A CNA2005100039159 A CN A2005100039159A CN 200510003915 A CN200510003915 A CN 200510003915A CN 1710879 A CN1710879 A CN 1710879A
- Authority
- CN
- China
- Prior art keywords
- mentioned
- address
- retrieval
- destination
- packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7453—Address table lookup; Address filtering using hashing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及数据包传送装置,利用TCAM始终高速进行路由表的检索。包括:CAM,具备第一CAM项和第二CAM项,第一CAM项设定目的地地址条件的高位位,第二CAM项设定目的地地址条件的低位位;第一检索处理部,比较输入的数据包的目的地地址的高位位和第一CAM项,检索一致的目的地地址条件;第二检索处理部,根据该检索结果,未唯一确定与上述数据包的目的地地址高位位对应的目的地地址条件的时候,对上述数据包的目的地地址低位位和第二CAM项进行比较,检索一致的目的地地址条件;以及传送信息设定部,根据在第一检索处理部或第二检索处理部检索的、与数据包的目的地地址唯一对应的目的地地址条件,设定上述数据包的传送信息。
Description
技术领域
本发明涉及具有高速的路由表检索部的数据包传送装置,特别涉及利用(content addressable memory,即,内容寻址存储器)实现路由表检索的高速化的数据包传送装置。
背景技术
构成IP(Internet Protocol:因特网协议)网络的路由器,根据输入的数据包的目的IP地址,判定传送目的地的网络装置的IP地址(下一跳IP地址(next hop IP address)),并向到达该网络装置的输出线路传送数据包。
为了判定该下一跳IP地址,路由器具有存储多个路由项(routingEntry)的路由表,路由项由作为IP地址的高位(上位(じようい))位(ビツト)的表示网络的前缀部、和由与该前缀部对应的下一跳IP地址构成。当输入数据包时,路由器搜索出各项的前缀部和标题内的目的IP地址的高位位一致的路由项,将一致的路由项内的下一跳IP地址判定为输入数据包的下一跳IP地址。
当多个路由项一致的时候,将前缀部的位长度(前缀部的长度)更长的路由项判定为一致的路由项。下面,将该一系列的判定工作称为路由表检索。
利用图13所示的路由表具体说明该路由表检索。图13的路由表1100中,用8个位表示IP地址时,表示存在6个路由项1101-1~6的情况,各路由项1101由与前缀部等价的信息-IP地址条件、和与这些各IP地址条件对应的下一跳IP地址构成。在此,IP地址条件是指将前缀部作为高位位、将IP地址的剩余的位作为掩码(mask)(*)的信息。
例如,考虑路由器中输入目的IP地址为二进制的“00010100”的数据包的情况。在此时的路由表检索中,路由项1101-1及1101-4的IP地址条件和目的IP地址一致,但是,将比前缀部长度更长的路由项1101-1内的下一跳IP地址-A判定为所输入的数据包的下一跳IP地址。
为了实现该表检索处理的高速化,提出了利用作为高速检索用程序的TCAM(Ternary Contents Addressable Memory,即,三重内容寻址存储器)的路由表检索方法。例如,非专利文献1记载了利用TCAM高速地实现路由表检索和流程识别处理的方法。
TCAM具有存储多位的一致条件的多个项,当输入检索关键字时,进行项内的一致条件和检索关键字的一致性比较,并高速输出一致的项的目的地地址中最小的地址值。再者,在TCAM中不仅仅对一致条件的每个位指定“0”及“1”,也可以指定表示检索关键字既可以是“0”也可以是“1”的掩码(记载为“*”)。
上述非专利文献1的路由表检索单元包括:将路由项的IP地址条件按其前缀部长度从长到短的顺序存储的TCAM,和存储与各IP地址条件对应的下一跳IP地址的检索结果保持表。
使IP地址条件的掩码部分与TCAM的掩码对应。当在路由表检索单元中输入数据包时,路由表检索单元将数据包标题内的目的IP地址作为检索关键字,向路由表检索单元所具有的TCAM输入。TCAM进行该检索关键字和所设定的IP地址条件的比较,判定在存储有一致的IP地址条件的地址中最小的地址。路由表检索单元将与该地址对应的检索结果保持表的下一跳IP地址,判定为输入数据包的下一跳IP地址。TCAM能够与设定项数量、即IP地址条件数量无关地进行高速检索。
利用图14的概念图说明适用上述非专利文献1的路由表检索部。图14以下两部分构成,所述两部分是:TCAM1200,将图13所示的6个路由项的IP地址条件按照前缀部长度的顺序,设定为IP地址条件1201-i;以及检索结果保持表1210,将与各IP地址条件1201-i(i=1~6)对应的下一跳IP地址,存储为下一跳IP地址1211-i(i=1~6)。
例如,输入目的IP地址为“00010101”的数据包的时候,路由表检索部的TCAM1200比较IP地址条件1201-i和该目的IP地址,输出一致的IP地址条件1201中的最小的地址“2”。
路由表检索部将与检索结果保持表1210的地址“2”对应的下一跳IP地址-B作为输入数据包的下一跳IP地址。
但是,在实现了利用上述TCAM的路由表检索单元的高速化的基础上,首先,第一,TCAM的检索性能成为瓶颈(bottleneck)。
再者,用TCAM和ASIC(Application Specific Integrated Circuit特定用途集成电路)或网络处理器等CAM控制设备构成路由表检索处理部的时候,TCAM和CAM控制设备之间的检索关键字的输入区域(入力帶域)也成为瓶颈。
并且,由于在上述非专利文献1中始终将接收的数据包的目的地地址的所有位作为检索关键字输入到TCAM,因此,最大限度地消耗了上述检索关键字的输入区域。进一步,由于TCAM也进行该较长的检索关键字和TCAM内的项的一致性比较,因此,最大限度地消耗了检索资源。因此,当TCAM的检索性能或TCAM与CAM控制设备之间的检索关键字的输入区域成为瓶颈时,存在只能实现最差的检索性能的问题。
作为解决CAM的检索性能的瓶颈问题的路径检索方法,已知有使用多个CAM的专利文献1。在专利文献1中,分为两级进行路由表检索,在第一级处理部中,利用CAM(Contents Addressable Memory)进行第一次检索,在第二级处理部中配置树(tree)来进行第二次检索。第一级处理部中,对于与路由项的前缀部长度对应的每个组都设有CAM。在该CAM中只存储各组的路由项中的、最短的前缀部长度的位。在检索时,输入与各自的CAM中设定的位对应的目的IP地址的位,CAM输出与一致的项对应的树存储器的地址。第二级处理部根据该地址进行树检索,确定下一跳IP地址。
专利文献1:日本特开2000-358064号公报。
非专利文献1:宇贺雅则、盐平公平著“采用内容可寻址存储器(content addressable memory)的流程识别方法”、社团法人电子信息通信学会,2000年综合大会讲演论文集、SB-4-2、第654页。
但是,在上述专利文献1中,通过设置多个CAM消除了关于CAM的检索功能的瓶颈,但是不能消除检索关键字的输入区域的瓶颈。关于该问题,利用如图14所示IP地址为8位、并且例如将IP地址的前缀长度为3位到5位的路由项(1201-3~6)设置到第一CAM、6位到8位的路由项(1201-1~2)设置到第二CAM的情况进行说明。
当需与前缀长度为7位的项1201-2一致的情况下,由于只需检索第二CAM即可,所以仅把目的IP地址的高位6位输入到第二CAM即可。但是,当需与4位的项1201-5一致时,在此6位之外,还需向第一CAM中输入已经输入到第二CAM的3位信息。如此,在专利文献1中,需要把相同IP地址的位多次输入到CAM中,所以CAM和CAM控制设备间的检索关键字的输入区域成为瓶颈时,存在检索性能恶化加重的问题。
发明内容
本发明是鉴于这些问题而提出的,其目的在于,通过将输入到CAM的目的IP地址信息只输入一次,有效地活用CAM和CAM控制设备之间的检索关键字的输入区域,来高速进行路由表的检索。
本发明为了实现使用CAM的路由表检索的高速化,在可设置掩码的TCAM中设定目的地地址条件的高位位,作为第一TCAM项(TCAMEntry)。当输入数据包时,执行比较此数据包的目的地地址的高位位和第一TCAM项的第一检索处理。在此时刻,可以唯一地确定一致的目的地地址条件的时候,结束检索处理,将与该目的地地址条件对应的下一跳目的地地址或输出线路号码等传送信息设定为上述数据包的传送信息。再者,上述路由表检索单元具有将检索结果保持表、检索继续信息、以及关键字信息同第一检索处理部的检索结果关联起来存储的第一检索中间表,所述检索结果保持表存储路由项内的下一跳目的地地址或输出线路号码等传送信息,所述检索继续信息指示是否要继续进行与第一TCAM项唯一对应的第一件检索处理后的检索处理,所述关键字信息与第一TCAM项唯一对应。
利用上述第一检索处理部进行第一CAM项(CAM Entry)的检索,当与一致的第一CAM项对应的检索继续信息为“不需要继续”时,将与一致的CAM项唯一对应的传送信息判定为上述数据包的传送信息。另一方面,当是“需要继续”时,利用已读出的关键字信息、上述目的地地址的低位位和目的地地址条件的低位位,在第二检索处理部进行检索,判定上述数据包的传送信息。例如,第二检索处理部在第二TCAM中把目的地地址条件的低位位和根据高位位确定的关键字信息设定为第二TCAM项,并利用从上述第一检索处理部读出的关键字信息和上述目的地地址的低位位进行第二TCAM项的检索。当存在一致的第二TCAM项时,将与此TCAM项唯一对应的检索结果保持表内的传送信息作为上述数据包的传送信息。当不存在一致的第二TCAM项时,将在第一检索处理中一致的与TCAM项唯一对应的检索结果保持表内的传送信息,判定为上述数据包的传送信息。
发明效果
因此,本发明不向TCAM输入全部目的地地址,将目的地地址的高位位的一部分作为检索关键字输入,并进行该较短的检索关键字和第一TCAM项的一致性比较。在此时刻可以结束检索处理时、即检索继续信息为“不需要继续”时,由于只进行较短检索关键字的一次输入和与其对应的TCAM的检索即可,因此,能够一边有效地利用TCAM的检索性能,一边削减检索关键字的输入区域。
而且,即使在是“需要继续”时,也只使用目的地地址的低位位进行检索。在用TCAM实现第二检索处理部时,只使用目的地地址的低位位进行检索,所以不需要再次向TCAM输入与第一检索处理部相同的检索关键字。因此,可最小限度地压缩检索关键字的输入区域,实现路由表检索的高速化。
附图说明
图1是表示本发明的一个实施方式的、路由器框图。
图2是表示路由器与外部设备发送接收信息的数据包格式的说明图。
图3是表示在路由器内部进行信息发送接收的数据包格式的说明图。
图4是表示路由器的路由表检索部结构的框图。
图5是表示路由表检索部的TCAM结构的说明图。
图6是表示设定高位位的位长的指令的一个例子的说明图。
图7是表示检索中间表A的格式的说明图。
图8是表示检索中间表B的格式的说明图。
图9是表示检索结果保持表的格式的说明图。
图10是表示在路由表检索部进行的处理的一个例子的流程图。
图11是表示在路由表检索部进行的处理的其它例子的流程图。
图12是表示5个路由项的例子的说明图。
图13是有6个路由项的8位路由表的说明图。
图14是表示现有的路由表检索的一个例子的说明图。
图15是用树结构表示6个路由项的说明图。
具体实施方式
下面,结合附图说明本发明的一个实施方式。
图1表示具备本发明的路由表检索部的路由器,下面用图1、图2及图3说明路由器的概略动作。
图1表示本发明的路由器200的框图。路由器200具有:输入数据包的N个输入线路201-i(i=1~N)、N个输出线路202-i(i=1~N)、N个接口部210-i(i=1~N)、连接接口部210-i的一个数据包中继处理部250、以及一个处理器280。并且,该处理器280接受来自控制终端10的指令。
接口部210-i包括:数据包接收电路230,进行数据包的接收处理;本发明固有的路由表检索部100,根据输入数据包的目的IP地址,判定该数据包的下一跳IP地址、和输出该数据包的线路号码(输出线路号码或通道号),并向数据包接收电路230输出这些信息;数据包发送电路270,进行从数据包中继处理部250接收的数据包的数据包发送处理;ARP(Address Resolution Protocol,即,地址解析协议)表检索部220,表示MAC地址和IP地址的对应关系。
图2表示从输入线路201-i、输出线路202-i输入输出的数据包的格式的一例。本格式由标题部310和数据部320构成。标题部310具有:数据链路层的发送端地址-发送端MAC地址311(Source MAC Address:下面称为“SMAC”);作为目的地地址的目的MAC地址312(DestinationMAC Address:下面称为“DMAC”);网络层的发送端地址(发送终端的地址)——发送端IP地址313(Source IP Address:下面称为“SIP”);目的地地址(接收终端的地址)的目的IP地址314(Destination IP Address:下面称为“DIP”)。
图3表示本发明的路由器200内部的数据包格式的一例。本格式是在上述图2的数据包格式中追加了内部标题部330。
该内部标题部330包括:输出所输入的数据包的线路号码,即输出线路号码332;接收该数据包的下一跳(路由器或终端)的IP地址——下一跳IP地址333(Next Hop IP Address:下面称为“NHIP”)。
当数据包从输入线路201-i输入时,数据包接收电路230附加内部标题部330后,存储本数据包,并且把标题部310内的DIP314作为目的IP地址信息21发送到路由表检索部100。
路由表检索部100判定上述从目的IP地址信息21内的DIP314输出数据包的输出线路的号码(输出线路号码)和下一跳IP地址,并作为数据包输出线路信息22发送到数据包接收电路230。
数据包接收电路230分别向输出线路号码332和NHIP333的各字段写入数据包输出线路信息22内的输出线路号码和下一跳IP地址,并发送到数据包中继处理部250。
接收数据包的数据包中继处理部250向与输出线路号码332对应的接口部210-i的数据包发送电路270发送数据包。数据包发送电路270存储该数据包,并且将内部标题部330的NHIP333作为下一跳IP地址信息23发送到ARP表检索部220。
ARP表检索部220判断具有下一跳IP地址信息23的下一跳的MAC地址,并作为MAC地址信息24发送到数据包发送电路270。
当数据包发送电路270接收到下一跳跃MAC地址信息24时,向DMAC312写入本信息内的MAC地址,向SMAC311写入接口部210-i的输入输出线路的MAC地址,并删除内部标题部330,向输出线路202发送存储的数据包。
下面说明图4所示的本发明的路由表检索部100的详细动作。为了简化说明,在本实施方式中说明IP地址是8位、且存在图13的6个路由项的情况。
IP地址为IP版本4的32位时、或者IP版本6的128位时,也可以同样执行下面说明的检索处理。
图15表示如上述图13所示的、记述了IP地址为8位且存在6个路由项时的路由项1101的树。并且,路由项1101-1~6分别对应[1]~[6]的节点。
位于图中的根部的[根],通过分配了0或1值的两条直线(分支)连接在用圆表示的节点(干)上。进而,节点连接到位于分支下位(在图的下方)的节点上。各节点对应如下的IP地址条件:顺序排列从根到该节点时所通过的分支上所分配的值,将不足8位的位用标志(*)表示。
例如,图中的节点[4]从根经过0→0→0→1的分支而到达,所以IP地址条件对应“0001****”。
图13的路由项1101-1~6分别对应图15的[1]~[6]的节点。到达某节点1的路径中的节点2为父节点,而且对应节点2的节点1为子节点。而且,在本实施形式中,从对应子节点的路由项看的父节点的路由项称为父路由项。例如,在图13中,路由项1101-6是路由项1101-2的父路由项。
图4表示本发明的路由表检索部100的模块图。路由表检索部100包括:存储目的IP地址信息21的目的IP地址存储部180;设置路由项的IP地址条件的高位位的、TCAM120内的高位位用TCAM120-1;存放IP地址条件的低位位的低位位用TCAM120-2;检索中间表A140及检索中间表B150;存放下一跳IP地址和输出线路号码的检索结果保持表160;设置IP地址的高位位的位长度的地址边界存储部170;检索控制部110,从存放在这些TCAM120、各表140、150、160、170及目的IP地址存储部180的信息中,判断输入到路由器200的、数据包的下一跳IP地址和输出线路号码。
本发明的路由表检索部110逻辑上将一个TCAM120分割为TCAM120-1和TCAM120-2,并使用该分割的TCAM120-1,对目的IP地址的高位位、和作为地址条件的高位位的IP地址条件高位位限定性地进行一致性比较。
此时,能判断出应该一致的IP地址条件时,从检索结果保持表160读出下一跳IP地址和输出线路号码,并结束检索处理。
此时,不能判断出应该一致的IP地址条件时,再一次使用TCAM120-2对目的地IP地址的低位位和IP地址条件低位位进行一致比较,判断应该一致的IP地址条件。
只以高位位的检索结束检索处理时,只有高位位作为检索关键字输入到TCAM120-1,TCAM120-1只需要用高位位部分的检索关键字进行检索,所以本发明的路由表检索部100能有效应用TCAM120的检索资源。
进而,用TCAM120和ASIC等的CAM控制设备实现路由表检索部100时,有效应用了TCAM120和CAM控制器件之间的图4的信号线25的频带,可实现路由表检索的高速化。
下面对地址边界存储部170内的信息为‘4’(即,设置IP地址的长度为8时、高位位长度、低位位长度都是4位)的情况进行说明,但对于其他位长度也可以同样执行下面说明的检索处理。
图5中表示高位位的位长度为‘4’时的TCAM120-1、TCAM120-2的格式,图9中示出检索结果保持表160的格式。各路由项的IP地址条件的高位4位设置到TCAM120-1的项121-i(i=1~6)中、IP地址条件低位4位设置到TCAM120-2的项131-i(i=1~6)中。
如图9所示的检索结果保持表160中,与下一跳IP地址对应的输出线路号码按路由项的前缀长度由长到短的顺序设置。例如,被分割设定为:图13的路由项1101-3的IP地址条件‘01011***’、下一跳IP地址是高位位用TCAM120-1的项121-3、低位位用TCAM120-2的项131-3和检索结果保持表160的项161-3。
在图5中,TCAM120的位位置信息是表示作为IP地址条件设置的IP地址4位的位位置的信息,[0]表示高位位、[1]表示低位位。
检索TCAM120时,通过对其他检索关键字附加位位置信息来进行检索,可以在逻辑上将TCAM120分割为两个TCAM120-1和TCAM120-2。
上述关键字信息是将IP地址条件的高位位压缩为较少个数的位(例如,1位)的标识符,在检索低位位时使用。为此,高位位用TCAM120-1的关键字信息通常为掩码(*)。
而且,高位位用TCAM120-1的项121内的IP地址条件高位位相同时,可以省略TCAM120的地址更大的项121。这是因为,与更大的地址项121一致之前,一致到小的地址项121时,本项的设置是无意义的。例如,项121-2和项121-3的IP地址条件高位位都是“0101”,项121-3可以省略。
而且,还可以省略低位位用TCAM120-2的IP地址条件低位位全部为掩码的131-4~6。
图10是表示在路由表检索部100进行的处理的一例的流程图,例如,将来自数据包接收电路230的输入作为触发(trigger)来执行。
首先,往路由表检索部100输入目的IP地址信息21,则目的IP地址存储部180存储本信息,检索控制部110开始路由表检索(步骤1001)。
检索控制部110通过参照地址边界存储部170,获得高位位的位长度,并从目的IP地址存储部180读取高位位部分(在本实施形式中是4位)的目的IP地址。
之后,将该读出的信息、和图5所示的TCAM120的关键字信息的位长度部分的信息、以及表示目的IP地址的高位位的输入的位位置信息‘0’,作为检索关键字输入到TCAM120(步骤1002)。
由于项121-i的关键字信息中设置了掩码‘*’,所以该关键字信息可取任意值。TCAM120在从检索控制部110输入此检索关键字时,与被设置的项121-i进行一致性比较,在一致的项121-i的地址中,将最小的(前缀部的位长大)地址向检索控制部110输出(步骤1003)。
检索控制部110从TCAM120接受此地址,就从检索中间表A140读取对应本地址的信息(步骤1004)。
在图7中示出检索中间表A140的格式、和图13的路由项1101存在时的设置值。本表的各项141-i(i=1~6)由检索继续信息、关键字信息、表地址构成。
检索继续信息表示根据目的IP地址的低位4位的、继续进行检索的必要性([有]=1、[无]=0)。在前缀长度与小于等于4的IP地址条件高位位一致时,没有进行一致比较的IP地址条件都为掩码,可以判断为已经与此IP地址条件一致。
因此,前缀长度与小于等于4的IP地址条件对应的检索继续信息成为‘0’。
另一方面,前缀长度与大于等于5的IP地址条件对应的检索继续信息,因为不能判断出一致的IP地址条件,而成为‘1’。例如,是否与图13的路由项1101-1一致,是不能在没有比较目的IP地址的低位位和IP地址条件低位位的“0100”的情况下进行判断。
关键字信息是将IP地址条件高位位压缩成更小的位长度的标识符,在后面的TCAM120-2的检索中使用。在图7中,与TCAM120-1的项121-1的“0001”(表地址=1)对应的关键字信息为‘0’,与项121-2及121-3的“0101”(表地址=2、3)对应的关键字信息为‘1’。
检索中间表A140的表地址是应参照的检索保持结果表160的地址。检索继续信息为‘0’时,该表地址是与路由项对应的地址,该路由项与在步骤1003一致的TCAM120-1的项121相对应。
为此,表地址成为存放该路由项的下一跳IP地址和输出线路号码的地址。例如,与项121-5对应的项141-5的表地址为‘5’。
检索继续信息为‘1’的项141-i的表地址与低位位进行一致比较的结果,不存在一致的前缀长度大于等于5的IP地址条件时,表示应该参照的检索结果保持表160的地址。
例如,考虑所输入的数据包的高位IP地址为“0001”,与图13的路由项1101-1对应的TCAM120-1的项121-1(‘0001’)一致的情况。
判断为目的地地址的低位位不是“0100”,与路由项1101-1(参照图13)的IP地址条件不一致时,应该一致的项是IP地址条件的高位位为“0001”的路由项1101-4。
为此,检索中间表A140的项141-1的表地址成为‘4’。这样检索继续信息为‘1’的项141-i的表地址是在步骤1003一致的与项121-i对应的路由项的父路由项,与在步骤1003检索确定了一致的、前缀长度小于等于‘4’的路由项的表地址相同。
检索控制部110当检索继续信息为‘0’时,读取与表地址对应的检索结果保持表160(参照图9)的下一跳IP地址和输出线路号码(步骤1011),并把本信息作为数据包输出线路信息22发送到数据包接收电路230,结束路由表检索(步骤1013)。
一方面,检索继续信息为‘1’时,检索控制部110往TCAM120输入目的IP地址存储部180内的目的IP地址的低位4位、和在步骤1004读取的关键字信息、以及表示目的IP地址的低位位的输入的位位置信息‘1’(步骤1006),作为检索关键字。
TCAM120进行与设置的项131-1的一致性比较,往检索控制部110输出在一致的项131的地址中最小的地址(前缀部的位长度大),没有一致的项131时,通知检索控制部没有一致的项(步骤1007)。
存在一致的项131时,检索控制部110读取与输出地址对应的检索中间表B150的项151-i(i=1~6)(步骤1009)。
在图8示出检索中间表B150的格式。本表的格式与图7的检索中间表A140的格式相同,各项151-i(i=1~6)分别由检索继续信息、关键字信息、表地址构成。检索继续信息由于结束了全位的检索,所以全部为‘0’,不设置关键字信息。作为表地址,设定与图13的路由项1101-1、1101-2及1101-3对应的检索结果保持表的地址为‘1’、‘2’及‘3’。
检索控制部110读取与所读取的表地址对应的下一跳IP地址和输出线路号码(步骤1010),作为数据包输出线路信息22发送到数据包接收电路230(步骤1012),并结束本检索处理(步骤1013)。
一方面没有一致的项时,读取与在步骤1004从检索中间表A140读取的表地址对应的下一跳IP地址、和输出线路号码(步骤1011),作为数据包输出线路信息22发送到数据包接收电路230(步骤1012),并结束检索处理(步骤1013)。
本发明的路由表检索部100使用TCAM120-1,首先对目的IP地址的高位位和所设置的IP地址条件高位位进行比较。在检索继续信息为‘0’时,只有步骤1003的TCAM120的检索能结束检索。
在用ASIC或网络处理器等与TCAM不同的CAM控制设备实现检索控制部110时,若检索继续信息为‘0’,则输入到TCAM120的检索关键字仅是目的IP地址的高位位。为此,本发明的路由表检索部可以比上述过去例(非专利文献1),可有效活用TCAM120和此检索控制设备之间的检索关键字的输入区域。进而,TCAM120只做目的IP地址的高位位和IP地址高位位的一致比较即可,可以有效活用TCAM120的检索资源。为此,适用本发明的路由表检索部100当TCAM的检索功能在功能上成为瓶径时,可以执行比适用了上述过去例(非专利文献1)的路由表检索部更高速的路由表检索。进而,即使检索继续信息为‘1’,也没有必要往TCAM120输入多个同一检索关键字,所以比上述过去例(专利文献1)更能有效活用TCAM120和此检索控制装置之间的检索关键字的输入区域。
目前为止针对高位位为4位、低位位为4位的实施例进行了说明。通过在图4、图1记载的控制终端10经处理器280往检索控制部110传送[往地址边界存储部170的写入指示]和[高位位的位长度],来实现对地址边界存储部170的设置。
在图6表示高位位的位长度为‘4’时控制终端10的输入画面的例子。图中左边的“set_prefix_length”表示设置高位位的位长度的指令,右侧的‘4’表示设置的位长度。
在网络中配置本发明的路由器200的网络管理者,使此IP地址条件的高位位相应于路由项的前缀长度的分布进行变化。例如,小于等于某前缀长度的路由项多时,使高位位长度与此前缀长度相同,那么可以进行把TCAM120和检索控制装置之间的检索关键字的输入区域或TCAM120的检索资源的浪费控制在最小限度的路由表检索。例如,图12所示的存在5个路由项1401-j(j=1~5)时,将IP地址条件的高位位长度置为5位即可。
前面记述了最多经2次的TCAM120的检索进行路由表检索,消减TCAM的检索资源、TCAM和CAM检索装置之间的检索关键字的输入区域的路由表检索部的实施形式。但是,还可以更有效地利用这些资源的余地。
作为例子,考虑与上述路由项1101-3(图13)应一致的目的IP地址的数据包到达的情况。在步骤1003的检索中判断为与TCAM1211的项121-2一致,继续进行判断。此时,若进行1位的检索处理,就可判断与路由项1101-3一致,但进行4位的检索处理,浪费了TCAM120的检索资源和检索关键字的输入区域。为实现更进一步的TCAM120的检索资源和检索关键字的输入区域的有效活用,通过最多3次的TCAM检索实现路由表检索,进行4位→1位→3位的检索处理,即能更快速的进行路由表检索处理。
把此检索分割为M(>2)次,从IP地址条件的高位位进行顺序检索时,路由表检索部100具备M个检索中间表K-1~M,TCAM120逻辑上被分割为M个TCAM,在地址边界存储部170中设置M-1的地址边界1~M-1。
图11所示的本检索处理的流程是在上述图10的流程上,附加了用于进行上述M次检索处理的、形成循环的步骤1501~1503,其他的构成相同。
在图11中,在步骤1501,将循环次数设为1,之后有一致的项时,在步骤1502增加L,在步骤1503直到循环次数达到规定次数M为止继续循环。
然后,在步骤1007,将对应检索次数-L的位位置信息、和由检索次数-L及地址边界1~M-1决定的应检索的目的IP地址的一部分信息,作为检索关键字输入到TCAM120,在步骤1009a,从检索中间表K-1~M读出下一跳IP地址和输出线路号码。
即,在图11中,在步骤1010a、1011a,分别使用检索中间表K的表地址,读出检索结果保持表160的表的下一跳IP地址和输出线路号码。而且,检索中间表K-1~M分别同图8的检索中间表B150相同地构成即可。此外的动作与上述图10的M=2时相同。
这样,与高位位IPv4、IPv6等数据包长度的不同或前缀长度无关,可以从目的IP地址的输出对象的信息进行高速的检索。而且,在CAM项设置所比较的IP地址的一部分,所以不用象上述过去例那样记述全部IP地址,可以没有浪费地利用TCAM120,可以有效活用高价格且耗电大的TCM120。
而且,在上述过去例(专利文献1)中,在引用的例子中在CAM中设置IP地址3位,这样当输入了符合前缀长度为6位的项的数据包时,需要进行3位的树检索。如上述3位等短位长度时问题比较小,但如IPv6地址位长度长时,在第二级进行的树检索的位数增大(例如,64位),高速检索变困难。
而且,在上述过去例(专利文献1)中,例如,在CAM-1设置具有3~5位的前缀长度的项,在CAM-2设置具有6~8位的前缀长度的项。这时,输入了符合前缀长度为6位的项的数据包时,因为只需要检索CAM-1,可以非常高速地执行检索。
但是,输入了应符合前缀长度为3位的项的数据包时,还需要检索CAM2,此时,在CAM中输入6位(CAM-1用)+3位(CAM-2用)的检索关键字,高位3位2次输入到CAM中,浪费CAM的资源。
即,输入了符合前缀长度为6位的项的数据包时,不能进行高速检索。
对此,在本发明,考虑在TCAM中设置高位6位时,前缀长度符合6位的项时,或者符合3位的项时,都往TCAM输入6位的检索关键字即可,因此,有效应用高价的TCAM,与上述过去例相比,可以减小TCAM(或CAM)的容量。因此,通过采用本发明,可以消减路由器200等数据包传送装置的制造成本,可提供低价、高性能的数据包传送装置。
产业上的可应用性
如上,本发明有效活用了CAM的检索资源或CAM和检索控制装置之间的检索关键字的输入区域,可以高速进行路由表检索,可适用到高速路由器或L3开关等的数据包传送装置。
Claims (10)
1.一种数据包传送装置,包括:
输入数据包的输入线路;
输出数据包的多个输出线路;
路由表检索部,具有多个对目的地地址的每个位指定了一致条件的目的地地址条件、和对每个目的地地址条件设定了传送信息的路由项,检索与向上述输入线路输入的数据包的目的地地址一致的上述目的地地址条件,将与上述目的地地址条件一致的数据包的传送目的地,设定为与该目的地地址条件对应的传送信息;以及
数据包传送部,向与上述传送信息对应的上述多个输出线路中的一个传送上述数据包;其特征在于,
上述路由表检索部包括:
TCAM,具有设定上述目的地地址条件的高位位的第一TCAM项;
第一检索处理部,将上述输入的数据包的目的地地址的高位位和上述第一TCAM项进行比较,检索一致的目的地地址条件;
第二检索处理部,当根据上述检索的结果,未唯一确定与上述数据包的目的地地址高位位对应的目的地地址条件时,根据上述数据包的目的地地址低位位,检索一致的目的地地址条件;
传送信息设定部,根据由上述第一检索处理部或第二检索处理部检索的、与上述数据包的目的地地址唯一对应的目的地地址条件,设定上述数据包的传送信息。
2. 如权利要求1所述的数据包传送装置,其特征在于,
上述TCAM具有多个区域,该多个区域包括设定上述目的地地址条件的高位位的第一TCAM项、和设定上述目的地地址条件的低位位的第二TCAM项;
当根据上述第一检索处理部的检索结果,未唯一确定与上述数据包的目的地地址高位位对应的目的地地址条件时,上述第二检索处理部对上述数据包的目的地地址低位位和上述第二TCAM项进行比较,检索一致的目的地地址条件。
3.如权利要求2所述的数据包传送装置,其特征在于,
上述目的地地址条件包括:将上述目的地地址的高位位的每个位设定为“0”或“1”的前缀部、和表示未指定目的地地址的低位位的掩码部;
当上述前缀部的位长超过可在上述第一TCAM设定的位长时,向上述第二TCAM设定前缀部的低位位;
上述第一检索处理部在与上述目的地地址的高位位一致的上述前缀部中,选择较长前缀部的第一TCAM项,作为与上述数据包的目的地地址一致的目的地地址条件。
4.如权利要求3所述的数据包传送装置,其特征在于,
上述路由表检索部包括:检索结果保持表,上述第一检索处理部或第二检索结果处理部,对与检索结果的目的地地址条件对应的每个表地址设定了传送信息;第一检索中间表,根据上述第一检索处理部的检索结果,设定最终表地址设定部、检索继续信息设定部、关键字信息设定部,其中,上述最终表地址设定部设定了上述检索结果保持表的表地址;上述检索继续信息设定部设定了:作为在上述第一检索处理部的检索后,是否需要在第二检索处理部中进行检索的标识符的检索继续信息;关键字信息设定部设定了与上述第一TCAM项唯一对应的关键字信息;
上述第一检索处理部对上述数据包的目的地地址高位位和第一TCAM项进行比较,从与该检索结果对应的上述第一检索中间表取得检索继续信息,当该检索继续信息表示不需要第二检索处理部中的检索时,从上述最终表地址设定部的表地址参照上述检索结果保持表,来设定传送信息;另一方面,当上述检索继续信息表示需要第二检索处理部中的检索时,根据上述关键字信息和目的地地址低位位,执行上述第二检索处理部中的检索。
5.如权利要求4所述的数据包传送装置,其特征在于,
在上述第二检索处理部中进行检索的结果,当前缀部的位长比在上述第一检索处理部中一致的目的地地址条件长的目的地地址条件不存在的时候,根据与上述第一检索处理部中的检索结果对应的表地址,从上述检索结果保持表中取得传送信息,设定到上述数据包中。
6.如权利要求1所述的数据包传送装置,其特征在于,
上述路由表检索部具有设定了上述目的地地址条件的高位位的位长的地址边界存储部,根据该位长,设定上述目的地地址条件的高位位。
7.如权利要求3所述的数据包的传送装置,其特征在于,
第一TCAM项及第二TCAM项分别包含用于识别是高位位或低位位中哪一个位的位置信息。
8.一种数据包传送装置,其特征在于,
输入数据包的输入线路;
输出数据包的多个输出线路;
路由表检索部,具有多个对目的地地址的每个位指定了一致条件的目的地地址条件、和对每个目的地地址条件设定了传送信息的路由项,检索与向上述输入线路输入的数据包的目的地地址一致的上述目的地地址条件,将与上述目的地地址条件一致的数据包的传送目的地设定为与该目的地地址条件对应的传送信息;以及
数据包传送部,向与上述传送信息对应的上述多个输出线路中的一个传送上述数据包;其特征在于,
上述路由表检索部包括:
具有多个区域的TCAM,该多个区域包含依次设定上述目的地地址条件的高位位的第一TCAM项、和将上述目的地地址条件的低位位以规定长度分割成M-1个来进行设定的第二至第M个TCAM项;
第一检索处理部,将上述输入的数据包的目的地地址的高位位和上述第一TCAM项进行比较,检索一致的目的地地址条件;
第二检索处理部,根据上述检索的结果,未唯一确定与上述数据包的目的地地址高位位对应的目的地地址条件的时候,依次比较上述数据包的目的地地址低位位和上述第二至第M个TCAM项,检索一致的目的地地址条件;
传送信息设定部,根据在上述第一检索处理部或第二检索处理部检索的、与上述数据包的目的地地址唯一对应的目的地地址条件,在上述数据包中设定上述传送信息。
9.如权利要求8所述的数据包传送装置,其特征在于,
上述路由表检索部具有第二检索中间表,上述第二检索中间表包括指示继续进行上述第二检索处理部的检索处理的检索继续信息、分别与第二至第M个TCAM项唯一对应的关键字信息、以及将与第二至第M个TCAM项对应的路由项内的传送信息存储到每个表地址中的检索结果保持表;
当与上述第二至第M个TCAM检索结果对应的检索继续信息表示不需要继续的时候,根据与上述第二至第M个TCAM项的检索结果中的最后的检索结果对应的表地址,在上述数据包中设定传送信息;
当与上述第二至第M个TCAM检索结果对应的检索继续信息表示要继续的时候,使用直至上次的检索处理中未使用的上述目的地地址、和作为第二至第M个TCAM项未设定的目的地地址条件,设定上述数据包的传送信息。
10.如权利要求8所述的数据包传送装置,其特征在于,
上述路由表检索部具有设定上述目的地地址条件中的、在上述第二至第M个TCAM项中设定的目的地地址的位长的第二地址边界存储部;
根据在上述第二地址边界存储部中存储的位长,由上述第二检索处理部进行检索。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004179612A JP4336625B2 (ja) | 2004-06-17 | 2004-06-17 | パケット転送装置 |
JP179612/2004 | 2004-06-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1710879A true CN1710879A (zh) | 2005-12-21 |
CN100581129C CN100581129C (zh) | 2010-01-13 |
Family
ID=35480488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200510003915A Expired - Fee Related CN100581129C (zh) | 2004-06-17 | 2005-01-10 | 数据包传送装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7315547B2 (zh) |
JP (1) | JP4336625B2 (zh) |
CN (1) | CN100581129C (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010031354A1 (zh) * | 2008-09-22 | 2010-03-25 | 华为技术有限公司 | 帧处理的方法、装置和系统 |
CN102291472A (zh) * | 2011-09-09 | 2011-12-21 | 华为数字技术有限公司 | 一种网络地址查找方法及装置 |
CN104580026A (zh) * | 2010-09-08 | 2015-04-29 | 日本电气株式会社 | 交换系统、交换控制系统和存储介质 |
WO2016176853A1 (zh) * | 2015-05-07 | 2016-11-10 | 华为技术有限公司 | 一种路由查询方法和网络设备 |
CN103475584B (zh) * | 2012-06-07 | 2017-08-01 | 南京中兴软件有限责任公司 | 三态内容寻址存储器(tcam)查询方法和装置 |
Families Citing this family (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8089961B2 (en) | 2007-12-07 | 2012-01-03 | University Of Florida Research Foundation, Inc. | Low power ternary content-addressable memory (TCAMs) for very large forwarding tables |
US8442043B2 (en) * | 2008-12-29 | 2013-05-14 | Cisco Technology, Inc. | Service selection mechanism in service insertion architecture data plane |
US8255496B2 (en) | 2008-12-30 | 2012-08-28 | Juniper Networks, Inc. | Method and apparatus for determining a network topology during network provisioning |
US20100326928A1 (en) * | 2009-06-25 | 2010-12-30 | Mpc Inc. | Filtration System |
JP2013511223A (ja) * | 2009-11-16 | 2013-03-28 | マーベル ワールド トレード リミテッド | 反復解析及び分類 |
US20110227757A1 (en) * | 2010-03-16 | 2011-09-22 | Telcordia Technologies, Inc. | Methods for context driven disruption tolerant vehicular networking in dynamic roadway environments |
CN101834802B (zh) * | 2010-05-26 | 2012-08-08 | 华为技术有限公司 | 转发数据包的方法及装置 |
US8660132B2 (en) * | 2010-06-28 | 2014-02-25 | Avaya Inc. | Control plane packet processing and latency control |
JP2012014397A (ja) * | 2010-06-30 | 2012-01-19 | Fujitsu Ltd | 入出力制御装置、及び情報処理装置 |
US8891406B1 (en) | 2010-12-22 | 2014-11-18 | Juniper Networks, Inc. | Methods and apparatus for tunnel management within a data center |
US8615015B1 (en) * | 2010-12-30 | 2013-12-24 | Juniper Networks, Inc. | Apparatus, systems and methods for aggregate routes within a communications network |
JP5816301B2 (ja) * | 2011-01-28 | 2015-11-18 | ナパテック アクティーゼルスカブ | データパケットを受信及び転送する装置及び方法 |
US8743885B2 (en) | 2011-05-03 | 2014-06-03 | Cisco Technology, Inc. | Mobile service routing in a network environment |
JP2012257063A (ja) * | 2011-06-09 | 2012-12-27 | Nec Corp | アクセス中継ユニット |
US8775726B2 (en) | 2012-07-27 | 2014-07-08 | International Business Machine Corporation | TCAM extended search function |
JP6170718B2 (ja) | 2012-11-21 | 2017-07-26 | ルネサスエレクトロニクス株式会社 | 検索システム |
CN104871501A (zh) * | 2012-12-19 | 2015-08-26 | 日本电气株式会社 | 分组处理装置、流表项配置方法和程序 |
US9794379B2 (en) | 2013-04-26 | 2017-10-17 | Cisco Technology, Inc. | High-efficiency service chaining with agentless service nodes |
US9577924B2 (en) * | 2013-11-14 | 2017-02-21 | Electronics And Telecommunications Research Institute | SDN-based network device with extended function and method of processing packet in the same device |
US9379931B2 (en) | 2014-05-16 | 2016-06-28 | Cisco Technology, Inc. | System and method for transporting information to services in a network environment |
US9479443B2 (en) | 2014-05-16 | 2016-10-25 | Cisco Technology, Inc. | System and method for transporting information to services in a network environment |
US10417025B2 (en) | 2014-11-18 | 2019-09-17 | Cisco Technology, Inc. | System and method to chain distributed applications in a network environment |
US9660909B2 (en) | 2014-12-11 | 2017-05-23 | Cisco Technology, Inc. | Network service header metadata for load balancing |
USRE48131E1 (en) | 2014-12-11 | 2020-07-28 | Cisco Technology, Inc. | Metadata augmentation in a service function chain |
US9935834B1 (en) | 2015-03-13 | 2018-04-03 | Cisco Technology, Inc. | Automated configuration of virtual port channels |
US9954783B1 (en) | 2015-03-31 | 2018-04-24 | Cisco Technology, Inc. | System and method for minimizing disruption from failed service nodes |
US10110668B1 (en) | 2015-03-31 | 2018-10-23 | Cisco Technology, Inc. | System and method for monitoring service nodes |
US10103995B1 (en) | 2015-04-01 | 2018-10-16 | Cisco Technology, Inc. | System and method for automated policy-based routing |
US10079725B1 (en) | 2015-04-01 | 2018-09-18 | Cisco Technology, Inc. | Route map policies for network switches |
US10382534B1 (en) | 2015-04-04 | 2019-08-13 | Cisco Technology, Inc. | Selective load balancing of network traffic |
US10033631B1 (en) | 2015-04-23 | 2018-07-24 | Cisco Technology, Inc. | Route distribution for service appliances |
US10075377B1 (en) | 2015-04-23 | 2018-09-11 | Cisco Technology, Inc. | Statistical collection in a network switch natively configured as a load balancer |
US10469389B1 (en) * | 2015-04-23 | 2019-11-05 | Cisco Technology, Inc. | TCAM-based load balancing on a switch |
US9935882B2 (en) | 2015-05-13 | 2018-04-03 | Cisco Technology, Inc. | Configuration of network elements for automated policy-based routing |
US9762402B2 (en) | 2015-05-20 | 2017-09-12 | Cisco Technology, Inc. | System and method to facilitate the assignment of service functions for service chains in a network environment |
US11044203B2 (en) | 2016-01-19 | 2021-06-22 | Cisco Technology, Inc. | System and method for hosting mobile packet core and value-added services using a software defined network and service chains |
US10187306B2 (en) | 2016-03-24 | 2019-01-22 | Cisco Technology, Inc. | System and method for improved service chaining |
US10931793B2 (en) | 2016-04-26 | 2021-02-23 | Cisco Technology, Inc. | System and method for automated rendering of service chaining |
US10419550B2 (en) | 2016-07-06 | 2019-09-17 | Cisco Technology, Inc. | Automatic service function validation in a virtual network environment |
US10320664B2 (en) | 2016-07-21 | 2019-06-11 | Cisco Technology, Inc. | Cloud overlay for operations administration and management |
US10218616B2 (en) | 2016-07-21 | 2019-02-26 | Cisco Technology, Inc. | Link selection for communication with a service function cluster |
US10225270B2 (en) | 2016-08-02 | 2019-03-05 | Cisco Technology, Inc. | Steering of cloned traffic in a service function chain |
US10218593B2 (en) | 2016-08-23 | 2019-02-26 | Cisco Technology, Inc. | Identifying sources of packet drops in a service function chain environment |
US10361969B2 (en) | 2016-08-30 | 2019-07-23 | Cisco Technology, Inc. | System and method for managing chained services in a network environment |
US10848432B2 (en) | 2016-12-18 | 2020-11-24 | Cisco Technology, Inc. | Switch fabric based load balancing |
US10225187B2 (en) | 2017-03-22 | 2019-03-05 | Cisco Technology, Inc. | System and method for providing a bit indexed service chain |
US10257033B2 (en) | 2017-04-12 | 2019-04-09 | Cisco Technology, Inc. | Virtualized network functions and service chaining in serverless computing infrastructure |
US10884807B2 (en) | 2017-04-12 | 2021-01-05 | Cisco Technology, Inc. | Serverless computing and task scheduling |
US10333855B2 (en) | 2017-04-19 | 2019-06-25 | Cisco Technology, Inc. | Latency reduction in service function paths |
US10554689B2 (en) | 2017-04-28 | 2020-02-04 | Cisco Technology, Inc. | Secure communication session resumption in a service function chain |
US10735275B2 (en) | 2017-06-16 | 2020-08-04 | Cisco Technology, Inc. | Releasing and retaining resources for use in a NFV environment |
US10798187B2 (en) | 2017-06-19 | 2020-10-06 | Cisco Technology, Inc. | Secure service chaining |
US10397271B2 (en) | 2017-07-11 | 2019-08-27 | Cisco Technology, Inc. | Distributed denial of service mitigation for web conferencing |
US10673698B2 (en) | 2017-07-21 | 2020-06-02 | Cisco Technology, Inc. | Service function chain optimization using live testing |
US11063856B2 (en) | 2017-08-24 | 2021-07-13 | Cisco Technology, Inc. | Virtual network function monitoring in a network function virtualization deployment |
US10791065B2 (en) | 2017-09-19 | 2020-09-29 | Cisco Technology, Inc. | Systems and methods for providing container attributes as part of OAM techniques |
US11082312B2 (en) | 2017-10-04 | 2021-08-03 | Cisco Technology, Inc. | Service chaining segmentation analytics |
US10965596B2 (en) | 2017-10-04 | 2021-03-30 | Cisco Technology, Inc. | Hybrid services insertion |
US10965598B1 (en) | 2017-10-04 | 2021-03-30 | Cisco Technology, Inc. | Load balancing in a service chain |
US11018981B2 (en) | 2017-10-13 | 2021-05-25 | Cisco Technology, Inc. | System and method for replication container performance and policy validation using real time network traffic |
US10541893B2 (en) | 2017-10-25 | 2020-01-21 | Cisco Technology, Inc. | System and method for obtaining micro-service telemetry data |
US10666612B2 (en) | 2018-06-06 | 2020-05-26 | Cisco Technology, Inc. | Service chains for inter-cloud traffic |
CN109587061B (zh) * | 2018-11-08 | 2022-04-22 | 华为技术有限公司 | 一种路由处理的方法、装置及设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6658002B1 (en) * | 1998-06-30 | 2003-12-02 | Cisco Technology, Inc. | Logical operation unit for packet processing |
US6289414B1 (en) * | 1998-10-08 | 2001-09-11 | Music Semiconductors, Inc. | Partially ordered cams used in ternary hierarchical address searching/sorting |
JP3569802B2 (ja) | 1999-06-17 | 2004-09-29 | 日本電信電話株式会社 | ルーティングテーブル検索装置および検索法 |
US6658458B1 (en) * | 2000-06-22 | 2003-12-02 | Cisco Technology, Inc. | Cascading associative memory arrangement |
US6900999B1 (en) * | 2003-06-30 | 2005-05-31 | Integrated Device Technology, Inc. | Ternary content addressable memory (TCAM) cells with small footprint size and efficient layout aspect ratio |
US7173837B1 (en) * | 2003-09-26 | 2007-02-06 | Netlogic Microsystems, Inc. | Content addressable memory (CAM) cell bit line architecture |
US7499450B2 (en) * | 2004-04-30 | 2009-03-03 | Infineon Technologies Ag | Router IP port for an IP router |
-
2004
- 2004-06-17 JP JP2004179612A patent/JP4336625B2/ja not_active Expired - Fee Related
-
2005
- 2005-01-10 CN CN200510003915A patent/CN100581129C/zh not_active Expired - Fee Related
- 2005-01-11 US US11/032,159 patent/US7315547B2/en active Active
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010031354A1 (zh) * | 2008-09-22 | 2010-03-25 | 华为技术有限公司 | 帧处理的方法、装置和系统 |
CN104580026A (zh) * | 2010-09-08 | 2015-04-29 | 日本电气株式会社 | 交换系统、交换控制系统和存储介质 |
CN102291472A (zh) * | 2011-09-09 | 2011-12-21 | 华为数字技术有限公司 | 一种网络地址查找方法及装置 |
CN103475584B (zh) * | 2012-06-07 | 2017-08-01 | 南京中兴软件有限责任公司 | 三态内容寻址存储器(tcam)查询方法和装置 |
WO2016176853A1 (zh) * | 2015-05-07 | 2016-11-10 | 华为技术有限公司 | 一种路由查询方法和网络设备 |
CN106416150A (zh) * | 2015-05-07 | 2017-02-15 | 华为技术有限公司 | 一种路由查询方法和网络设备 |
CN106416150B (zh) * | 2015-05-07 | 2020-01-10 | 华为技术有限公司 | 一种路由查询方法和网络设备 |
Also Published As
Publication number | Publication date |
---|---|
US7315547B2 (en) | 2008-01-01 |
US20050281257A1 (en) | 2005-12-22 |
CN100581129C (zh) | 2010-01-13 |
JP2006005636A (ja) | 2006-01-05 |
JP4336625B2 (ja) | 2009-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1710879A (zh) | 数据包传送装置 | |
CN1859316A (zh) | 数据包传送装置 | |
CN1282104C (zh) | 使用tcam对数据流进行选择性路由的方法、系统和装置 | |
CN1148917C (zh) | 用于标识分组应被转发到网络的下一跳的地址的设备及其操作方法 | |
CN1140090C (zh) | 分组网络中的接口及其操作方法 | |
EP1344152B1 (en) | Apparatus and method for performing high-speed ip route lookup and managing routing/forwarding tables | |
US6792423B1 (en) | Hybrid longest prefix match and fixed match searches | |
US8259731B2 (en) | System and method of fast adaptive TCAM sorting for IP longest prefix matching | |
CN1774900A (zh) | 有界索引可扩展的基于散列的IPv6地址查找方法 | |
CN1270728A (zh) | 快速路由查找的方法和系统 | |
CN106470158B (zh) | 报文转发方法及装置 | |
CN1150725C (zh) | 减少存储器访问次数的网络包发送查询的方法和装置 | |
JP6437693B2 (ja) | マルチキャストデータパケット転送 | |
CN1929472A (zh) | 数据网络中管理数据传输的方法、系统、信号及介质 | |
CN1354578A (zh) | 动态负载平衡器 | |
CN1784678A (zh) | 用于高效地搜索被分成具有界大小的、有界数量的子数据库的转发数据库的系统和方法 | |
CN1863142A (zh) | 给数据流提供不同的服务质量策略的方法 | |
CN1688140A (zh) | 基于网络处理器的高速多维报文分类算法的设计和实现 | |
CN1279729C (zh) | 基于tcam的分布式并行ip路由查找方法 | |
CN100339832C (zh) | 帧和协议分类的方法和系统 | |
CN1725761A (zh) | 网络设备实现链路聚合的方法 | |
CN101068212A (zh) | 一种网络地址转换转发的装置及方法 | |
CN108710629B (zh) | 基于命名数据网络的Top-k查询方法及系统 | |
CN1744563A (zh) | 在以太网交换机上实现策略路由的方法 | |
CN1905523A (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20180905 Address after: Kanagawa Patentee after: Araks Netowrk KK Address before: Tokyo, Japan, Japan Patentee before: Hitachi Ltd. |
|
TR01 | Transfer of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100113 Termination date: 20210110 |
|
CF01 | Termination of patent right due to non-payment of annual fee |