JP2002374289A - 検索システム及びそれに用いる検索条件cam登録方法並びにそのプログラム - Google Patents

検索システム及びそれに用いる検索条件cam登録方法並びにそのプログラム

Info

Publication number
JP2002374289A
JP2002374289A JP2001177856A JP2001177856A JP2002374289A JP 2002374289 A JP2002374289 A JP 2002374289A JP 2001177856 A JP2001177856 A JP 2001177856A JP 2001177856 A JP2001177856 A JP 2001177856A JP 2002374289 A JP2002374289 A JP 2002374289A
Authority
JP
Japan
Prior art keywords
search
cam
entry
retrieval
condition
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
Application number
JP2001177856A
Other languages
English (en)
Other versions
JP3711895B2 (ja
Inventor
Takeshi Fujiyoshi
猛 藤吉
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2001177856A priority Critical patent/JP3711895B2/ja
Publication of JP2002374289A publication Critical patent/JP2002374289A/ja
Application granted granted Critical
Publication of JP3711895B2 publication Critical patent/JP3711895B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 【課題】 検索ヒット条件を少ないエントリ数で登録可
能とし、検索性能を向上可能な検索システムを提供す
る。 【解決手段】 検索エンジン1はルータ装置から入力さ
れるヘッダ情報を検索キーとしてCAM2へ入力し、C
AM2に対する検索が失敗すると、ヘッダ情報をCPU
4へ入力する。CPU4はヘッダ情報を検索キーとして
大容量低速メモリ5を検索し、その検索結果を検索エン
ジン1へ受渡し、検索エンジン1がこれを本検索システ
ムの出力とする。この時、CPU4は得られた検索エン
トリをCAM2及び小容量高速メモリ3に登録するが、
宛先ポートが[下限〜上限]の範囲条件で与えられてい
るため、所定のアルゴリズムを用いて宛先ポートの[下
限〜上限]の範囲を分割し、CAM2に登録すべき複数
のエントリを求める。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は検索システム及びそ
れに用いる検索条件CAM登録方法並びにそのプログラ
ムに関し、特にルータ装置に用いられるCAM(Con
tent−Addressable Memory)へ
の検索条件の登録方法に関する。
【0002】
【従来の技術】近年、ルータ装置においては、転送処理
の性能を向上させるために、検索システムにCAMを使
用する場合が増えており、CPU(中央処理装置)が管
理する転送テーブルの一部のエントリをCAMにキャッ
シュすることで、全体的な処理性能を向上させる処理が
行われている。
【0003】このようなルータ装置でフィルタリング処
理を行う場合、CAMを用いることで装置全体の負荷が
小さくなり、性能が向上すると考えられる。ここで、フ
ィルタリングとは、予め設定された条件(フィルタリン
グ条件)に基いて、受信したパケットを通過させるか、
廃棄するか等を決める処理である。
【0004】フィルタリング条件としてはIP(Int
ernet Protocol)アドレスやTCP/U
DP(Transmission Control P
rotocol/User Datagram Pro
tocol)ポート番号の範囲指定(下限及び上限)が
設定されることがある。
【0005】
【発明が解決しようとする課題】上述した従来の検索シ
ステムでは、フィルタリング条件をキャッシュとしてC
AMに登録するため、その範囲に含まれる個々の要素を
別々のエントリとしてCAMに登録している。
【0006】しかしながら、フィルタリング条件の範囲
が広くなると、登録されるべきエントリが増加し、その
結果、検索ヒット率が下がり、さらにCPUによる転送
テーブルの検索回数及びCAMへの登録回数が増加し、
装置全体の性能を低下させてしまうという問題がある。
【0007】そこで、本発明の目的は上記の問題点を解
消し、検索ヒット条件を少ないエントリ数で登録するこ
とができ、検索性能を向上させることができる検索シス
テム及びそれに用いる検索条件CAM登録方法並びにそ
のプログラムを提供することにある。
【0008】
【課題を解決するための手段】本発明による検索システ
ムは、範囲指定される検索ヒット条件を含むエントリを
CAM(Content−Addressable M
emory)へ登録し、パケットのヘッダ情報に対応す
るフロー識別子を検索する検索システムであって、前記
エントリにおいて範囲指定される検索ヒット条件を所定
アルゴリズムを用いて複数に分割して前記CAMに登録
する手段を備えている。
【0009】本発明による検索条件CAM登録方法は、
範囲指定される検索ヒット条件を含むエントリをCAM
(Content−Addressable Memo
ry)へ登録し、パケットのヘッダ情報に対応するフロ
ー識別子を検索する検索システムの検索条件CAM登録
方法であって、前記エントリにおいて範囲指定される検
索ヒット条件を所定アルゴリズムを用いて複数に分割し
て前記CAMに登録するようにしている。
【0010】本発明による検索条件CAM登録方法のプ
ログラムは、範囲指定される検索ヒット条件を含むエン
トリをCAM(Content−Addressabl
eMemory)へ登録し、パケットのヘッダ情報に対
応するフロー識別子を検索する検索システムの検索条件
CAM登録方法のプログラムであって、コンピュータ
に、前記エントリにおいて範囲指定される検索ヒット条
件を所定アルゴリズムを用いて複数に分割して前記CA
Mに登録する処理を実行させている。
【0011】すなわち、本発明の検索条件CAM登録方
法は、検索ヒット条件に範囲指定エントリをCAM(C
ontent−Addressable Memor
y)へ登録する際に、CAMのマスク機能(Don’t
Care機能)[検索ヒット情報の情報をマスク情報
にてマスクしてから検索を行うための機能であり、マス
クする部分はどのような値でもよい(Don’t Ca
re)]を上手く使うことによって、少ないエントリ数
で、一度にその範囲を含む検索条件を全て登録すること
が可能となる。
【0012】したがって、CAMのマスク機能を使うこ
とで、その範囲に属する全ての要素の検索ヒット条件を
少ないエントリ数で登録することが可能となるので、検
索システムの性能を向上させることが可能となる。
【0013】
【発明の実施の形態】次に、本発明の一実施例について
図面を参照して説明する。図1は本発明の一実施例によ
る検索システムの構成を示すブロック図である。図1に
おいて、本発明の一実施例による検索システムはルータ
装置における検索システムの構成例を示しており、パケ
ットのヘッダ情報を入力とし、そのパケットが属するフ
ロー識別子を出力するシステムである。
【0014】ここで、ヘッダ情報とは受信パケットのヘ
ッダに含まれるMAC(MediaAccess Co
ntrol)アドレスやIP(Internet Pr
otocol)アドレス、L4(レイヤ4)ポート番号
等の組合わせである。フロー識別子とはそのヘッダ情報
を持つパケットに対してルータ装置が行うべき転送処理
を特定するための識別子である。
【0015】上記の検索システムは検索エンジン1と、
CAM(Content−Addressable M
emory)2と、小容量高速メモリ3と、CPU(中
央処理装置)4と、大容量低速メモリ5と、記録媒体6
とから構成されており、検索エンジン1及びCPU4が
実行するプログラムは記録媒体6に格納されている。
【0016】検索エンジン1はパケットのヘッダ情報が
入力されると、CAM2と小容量高速メモリ3とを用い
てヘッダ情報に対応するフロー識別子を検索し、検索が
成功すると、その検索結果として得られたフロー識別子
を出力する。また、検索エンジン1は検索が失敗する
と、CPU4と大容量低速メモリ5とを用いて再検索を
行い、その検索結果として得られたフロー識別子を出力
する。
【0017】CAM2及び小容量高速メモリ3は高速で
あり、検索キーに対する検索結果を瞬時に出力する。C
AM2は検索ヒット情報の情報をマスク情報にてマスク
してから検索を行うためのマスク機能(Don’t C
are機能)を持っており、その場合、マスクする部分
はどのような値でもよい(Don’t Care)。
【0018】一方、CPU4はソフトウェア処理のた
め、CAM2に比べて検索に長い時間を要する。大容量
低速メモリ5にはルータ装置(図示せず)が扱う全ての
ヘッダ情報とフロー識別子との対応が検索エントリとし
て格納されている。
【0019】図2は図1の大容量低速メモリ5に格納さ
れる検索エントリの具体例を示す図である。図2におい
て、大容量低速メモリ5の各エントリ#21〜#24に
はヘッダ情報として送信元アドレス[「SA(Sour
ce Address)#1」,「SA#2」,「SA
#3」,「SA#4」]と、宛先アドレス[「DA(D
estination Address)#1」,「D
A#2」,「DA#3」,「DA#4」]と、宛先ポー
ト(「20〜150」,「5000〜6000」,「1
00〜200」,「10000〜20000」)とが格
納され、それに対応するフロー識別子(「3」,
「1」,「5」,「8」)が格納されている。ここで、
各エントリ#21〜#24の宛先ポートは「下限〜上
限」のような範囲指定の形式で与えられる点に注意す
る。
【0020】図3は図1のCAM2及び小容量高速メモ
リ3に格納される検索エントリの具体例を示す図であ
る。図3において、CAM2の各エントリ#31〜#3
6には送信元アドレス(32ビット)のデータ「SA#
3」及びマスク情報「1111・・・1」と、宛先アド
レス(32ビット)のデータ「DA#3」及びマスク情
報「1111・・・1」と、宛先ポート(16ビット)
のデータ「00000000 01100100」,
「00000000 01101000」,「0000
0000 01110000」,「00000000
10000000」,「00000000 11001
000」,「00000000 11000000」及
びマスク情報「11111111 1111110
0」,「11111111 11111000」,「1
1111111 11110000」,「111111
11 10000000」,「11111111 11
111111」,「11111111 1111100
0」とが格納され、小容量高速メモリ3の各エントリに
はそれに対応してフロー識別子「5]が格納されてい
る。
【0021】図4(a),(b)は本発明の一実施例で
用いられるパケットの構成例を示す図であり、図5は本
発明の一実施例による検索システムのアルゴリズムを示
すフローチャートである。これら図1〜図5を参照して
本発明の一実施例による検索システムの動作について説
明する。図5に示すアルゴリズムはCPU4が記録媒体
6のプログラムを実行することで実現される。
【0022】CPU4は検索エンジン1からヘッダ情報
が与えられると、そのヘッダ情報を持つ検索エントリを
大容量低速メモリ5から検索し、対応するフロー識別子
を検索エンジン1へ出力する。例えば、図4(a)に示
すパケット#41のヘッダ情報がCPU4に与えられる
と、大容量低速メモリ5から図2に示すエントリ#23
を検索し、そのエントリのフロー識別子=5を検索エン
ジン1へ出力する。
【0023】CPU4は大容量低速メモリ5を検索した
後、得られた検索エントリのヘッダ情報をCAM2に登
録し、フロー識別子を小容量高速メモリ3へ登録する。
この時、図2に示すエントリの宛先ポートのような範囲
指定が検索ヒット条件に含まれる場合には、図5に示す
アルゴリズムを用いて複数のエントリに分割したものを
CAM2へ登録する。例えば、大容量低速メモリ5から
図2に示すエントリ#23を検索した時、図3に示すよ
うな検索エントリがCAM2及び小容量高速メモリ3に
追加登録される。
【0024】CAM2は各エントリがデータエントリと
マスクエントリとから構成されるターナリCAMであ
り、各ビットについて“0”、“1”、または“Do
n’tCare”のいずれかの値を検索条件として指定
することができる。CAM2は検索エンジン1から検索
キーとしてヘッダ情報が入力されると、そのヘッダ情報
に一致するエントリを瞬時に見つけ出し、そのアドレス
を小容量高速メモリ3へ受渡す。
【0025】小容量高速メモリ3はCAM2からエント
リのアドレスが入力されると、そのアドレスに格納され
たフロー識別子を検索エンジン1へ出力する。例えば、
CAM2及び小容量高速メモリ3に図3に示すようなエ
ントリが格納されており、図4(a)に示すパケット#
41のヘッダ情報が検索エンジン1から与えられた時、
CAM2はエントリ#33を瞬時に見つけ出し、小容量
高速メモリ3に格納されたフロー識別子=5が検索エン
ジン1へ出力される。CAM2及び小容量高速メモリ3
に登録されたエントリは、CPU4によって最近検索さ
れなくなったものから定期的に削除されるものとする。
【0026】図5に示すフローチャートは検索ヒット条
件として範囲条件A〜Bが与えられた時、CAM2へ登
録すべき複数のデータエントリD[0],D
[1],...,D[n−1]、マスクエントリM
[0],M[1],...,M[n−1]及びエントリ
数nを求めるアルゴリズムを示す。図5に示すフローチ
ャート中のA,B,D[i],M[i]及びA’、B’
は固定長ビット幅の変数であり、計算式中のOR、XO
R、NOTはそれぞれビット毎のOR、Exclusi
veOR、NOTの論理演算を意味する。
【0027】図1に示す検索システムの初期状態とし
て、大容量低速メモリ5には図2に示す検索エントリが
格納されており、CAM2及び小容量高速メモリ3には
有効なエントリが1つも格納されていないものとする。
【0028】ルータ装置が図4(a)に示すパケット#
41を受信し、そのヘッダ情報として送信元アドレス=
SA3、宛先IPアドレス=DA3、宛先ポート=12
1が検索エンジン1に入力されると、検索エンジン1は
これらのヘッダ情報を検索キーとしてCAM2へ入力す
る。この時点でCAM2には対応するエントリが存在し
ないため、CAM2に対する検索は失敗し、検索エンジ
ン1はヘッダ情報をCPU4へ入力する。
【0029】CPU4はこのヘッダ情報を検索キーとし
て大容量低速メモリ5を検索し、図2に示すエントリ#
23を得る。このエントリ#23に含まれるフロー識別
子=5を検索エンジン1へ受渡し、検索エンジン1はこ
れを本検索システムの出力とする。
【0030】この時、CPU4は得られた検索エントリ
#23をCAM2及び小容量高速メモリ3に登録する
が、宛先ポートが[下限〜上限]の範囲条件で与えられ
ているため、図5に示すアルゴリズムを用いて宛先ポー
トの[下限〜上限]の範囲をマスク情報にてマスクしや
すいように分割し、CAM2に登録すべき複数のエント
リを求める。以下、複数のエントリを求める処理につい
て説明する。
【0031】初期値として、エントリ#23の範囲条件
の下限A=100、上限B=200を設定する。最初に
登録すべきエントリは、下限をA=100とし、計算式
#a1[A’←A OR (A−1)]によって上限
A’=103が得られる。
【0032】条件式#a2(A’>B)によって、上限
A’=103が最終的な上限B=200以下であること
を確認し、計算式#a3[D[n]←A,M[n]←N
OT(A XOR A’)]によってデータエントリD
[0]=100=00000000,01100100
(2進)と、マスクエントリM[0]=1111111
1,11111100(2進)とが求まる(図3に示す
エントリ#31)。このエントリは宛先ポートが100
〜103の検索キーにヒットする。
【0033】2番目のエントリは計算式#a4(n←n
+1,A←A’+1)によって下限A=104、計算式
#a1によって上限A’=111がそれぞれ得られる。
条件式#a2によって上限A’=111が最終的な上限
B=200以下であることを確認し、計算式#a3によ
ってデータエントリD[1]=104=0000000
0,01101000(2進)と、マスクエントリM
[1]=11111111,11111000(2進)
とが求まる(図3に示すエントリ#32)。このエント
リは宛先ポートが104〜111の検索キーにヒットす
る。
【0034】3番目のエントリは計算式#a4によって
下限A=112、計算式#a1によって上限A’=12
7がそれぞれ得られる。条件式#a2によって上限A’
=127が最終的な上限B=200以下であることを確
認し、計算式#a3によってデータエントリD[2]=
112=00000000,01110000(2進)
と、マスクエントリM[2]=11111111,11
110000(2進)とが求まる(図3に示すエントリ
#33)。このエントリは宛先ポートが112〜127
の検索キーにヒットする。
【0035】4番目のエントリは計算式#a4によって
下限A=128、計算式#a1によって上限A’=19
1がそれぞれ得られる。条件式#a2によって上限A’
=191が最終的な上限B=200以下であることを確
認し、計算式#a3によってデータエントリD[3]=
128=00000000,10000000(2進)
と、マスクエントリM[3]=11111111,10
000000(2進)とが求まる(図3に示すエントリ
#34)。このエントリは宛先ポートが128〜191
の検索キーにヒットする。
【0036】5番目のエントリは計算式#a4によって
下限A=192、計算式#a1によって上限A’=25
5がそれぞれ得られる。しかしながら、条件式#a2に
よって上限A’=255が最終的な上限B=200を超
えていることが確認されるため、データエントリ及びマ
スクエントリの計算は行わず、#b1の処理に移り、残
りの宛先ポートが下限A=192から上限B=200の
検索キーにヒットするエントリを求める。
【0037】5番目のエントリは上限B=200とし、
計算式#b1[B’←B ANDNOT(NOT(B)
−1)]によって下限B’=200が得られる。条件式
#b2(A>B’)によって、下限B’=200がA=
192以上であることを確認し、計算式#b3[D
[n]←B’,M[n]←NOT(B XOR
B’)]によってデータエントリD[4]=200=0
0000000,11001000(2進)と、マスク
エントリM[4]=11111111,1111111
1(2進)とが求まる(図3に示すエントリ#35)。
このエントリは宛先ポートが200の検索キーにヒット
する。
【0038】6番目のエントリは計算式#b4(n←n
+1,B←B’−1)によって上限B=199、計算式
#b1によって下限B’=192がそれぞれ得られる。
条件式#b2によって下限B’=192がA=192以
上であることを確認し、計算式#b3によってデータエ
ントリD[5]=192=00000000,1100
0000(2進)と、マスクエントリM[5]=111
11111,11111000(2進)とが求まる(図
3に示すエントリ#36)。このエントリは宛先ポート
が192〜199の検索キーにヒットする。
【0039】7番目のエントリは計算式#b4によって
上限B=191,下限B’=128がそれぞれ得られる
が、条件式#b2によって下限B’=128がA=19
2未満であるため、ここで処理を終了する。
【0040】以上の処理によって、図3に示すCAM2
の宛先ポートフィールドに登録すべきデータエントリD
[0],D[1],...,D[5]及びマスクエント
リM[0],M[1],...,M[5]が得られる。
CPU4はこれらを用いてCAM2及び小容量高速メモ
リ3に、図3に示すように、エントリ登録を行い、パケ
ット#41に関する処理を終了する。
【0041】パケット#41に続いてルータ装置が図4
(b)に示すパケット#42を受信すると、そのヘッダ
情報として送信元アドレス=SA3、宛先アドレス=D
A3、宛先ポート=153がそれぞれ検索エンジン1へ
入力され、検索エンジン1は検索キーとしてそれをCA
M2へ入力する。
【0042】CAM2には既に、図3に示すエントリが
登録されており、入力されたヘッダ情報はエントリ#3
4にヒットする。検索エンジン1は小容量高速メモリ3
から対応するフロー識別子=5を受取り、それを検索シ
ステムの出力とする。
【0043】このように、同一の検索エントリに属する
パケットを再び受信した時に、CAM2及び小容量高速
メモリ3に既にエントリが存在するため、CPU4と大
容量低速メモリ5とによる低速な検索処理を必要とせ
ず、非常に短時間で対応するフロー識別子を得ることが
できる。
【0044】検索ヒット条件に範囲指定が含まれる検索
エントリをCAM2に登録する場合、従来、その範囲に
属する個々の要素毎にエントリを登録しているため、C
AM2に登録するエントリ数が増加し、検索システムの
性能の低下につながってしまう。
【0045】これに対し、本発明ではCAM2のマスク
機能(Don’t Care機能)を使うことで、その
範囲に属する全ての要素の検索ヒット条件を少ないエン
トリ数で登録することができ、検索システムの性能を向
上させることができる。
【0046】上記のように、1つのCAM2によって多
くの検索ヒット条件を登録することができるため、CA
M2の1つ当たりの検索性能を向上させることができ
る。また、所望の性能を出すために必要となるCAM2
のエントリ数を少なくすることができるため、コスト及
び消費電力を小さくすることができる。
【0047】さらに、CAM2へのエントリ登録回数が
少なくなり、CPU4の負荷を小さくすることができ
る。さらにまた、CAM2の検索ヒット率が高くなるた
め、CPU4からCAM2へのエントリ登録回数が少な
くなり、CPU4の負荷を小さくすることができる。
【0048】上述した本発明の一実施例によるCAM2
への検索条件の登録方法では、特に範囲の上限と下限と
の差が大きいほど、従来のCAM2への検索条件の登録
方法に比べてその効果が大きくなる。
【0049】尚、上記の説明ではヘッダ情報のうち、範
囲指定される宛先ポートのみを分割して複数のエントリ
を求め、それら複数のエントリを一括してCAM2へ登
録する処理について述べたが、ヘッダ情報の送信元アド
レスや宛先アドレスも範囲指定される場合には、上記と
同様の方法で、CAM2へ登録することができる。
【0050】
【発明の効果】以上説明したように本発明によれば、範
囲指定される検索ヒット条件を含むエントリをCAMへ
登録し、パケットのヘッダ情報に対応するフロー識別子
を検索する検索システムにおいて、エントリにおける範
囲指定される検索ヒット条件を所定アルゴリズムを用い
て複数に分割してCAMに登録することによって、検索
ヒット条件を少ないエントリ数で登録することができ、
検索性能を向上させることができるという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例による検索システムの構成を
示すブロック図である。
【図2】図1の大容量低速メモリに格納される検索エン
トリの具体例を示す図である。
【図3】図1のCAM及び小容量高速メモリに格納され
る検索エントリの具体例を示す図である。
【図4】(a),(b)は本発明の一実施例で用いられ
るパケットの構成例を示す図である。
【図5】本発明の一実施例による検索システムのアルゴ
リズムを示すフローチャートである。
【符号の説明】
1 検索エンジン 2 CAM 3 小容量高速メモリ 4 CPU 5 大容量低速メモリ 6 記録媒体

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 範囲指定される検索ヒット条件を含むエ
    ントリをCAM(Content−Addressab
    le Memory)へ登録し、パケットのヘッダ情報
    に対応するフロー識別子を検索する検索システムであっ
    て、前記エントリにおいて範囲指定される検索ヒット条
    件を所定アルゴリズムを用いて複数に分割して前記CA
    Mに登録する手段を有することを特徴とする検索システ
    ム。
  2. 【請求項2】 前記エントリは、前記ヘッダ情報のうち
    の少なくとも送信元アドレスと宛先アドレスと宛先ポー
    トとを格納するようにしたことを特徴とする請求項1記
    載の検索システム。
  3. 【請求項3】 前記検索ヒット条件は、前記ヘッダ情報
    のうちの下限及び上限で範囲指定される情報であること
    を特徴とする請求項1または請求項2記載の検索システ
    ム。
  4. 【請求項4】 前記検索ヒット条件は、前記下限及び上
    限で範囲指定される宛先ポートであることを特徴とする
    請求項3記載の検索システム。
  5. 【請求項5】 前記所定アルゴリズムは、前記範囲指定
    される検索ヒット条件をマスク情報にてマスク可能に分
    割するアルゴリズムであることを特徴とする請求項1か
    ら請求項4のいずれか記載の検索システム。
  6. 【請求項6】 範囲指定される検索ヒット条件を含むエ
    ントリをCAM(Content−Addressab
    le Memory)へ登録し、パケットのヘッダ情報
    に対応するフロー識別子を検索する検索システムの検索
    条件CAM登録方法であって、前記エントリにおいて範
    囲指定される検索ヒット条件を所定アルゴリズムを用い
    て複数に分割して前記CAMに登録するようにしたこと
    を特徴とする検索条件CAM登録方法。
  7. 【請求項7】 前記エントリは、前記ヘッダ情報のうち
    の少なくとも送信元アドレスと宛先アドレスと宛先ポー
    トとを格納するようにしたことを特徴とする請求項6記
    載の検索条件CAM登録方法。
  8. 【請求項8】 前記検索ヒット条件は、前記ヘッダ情報
    のうちの下限及び上限で範囲指定される情報であること
    を特徴とする請求項6または請求項7記載の検索条件C
    AM登録方法。
  9. 【請求項9】 前記検索ヒット条件は、前記下限及び上
    限で範囲指定される宛先ポートであることを特徴とする
    請求項8記載の検索条件CAM登録方法。
  10. 【請求項10】 前記所定アルゴリズムは、前記範囲指
    定される検索ヒット条件をマスク情報にてマスク可能に
    分割するアルゴリズムであることを特徴とする請求項6
    から請求項9のいずれか記載の検索条件CAM登録方
    法。
  11. 【請求項11】 範囲指定される検索ヒット条件を含む
    エントリをCAM(Content−Addressa
    ble Memory)へ登録し、パケットのヘッダ情
    報に対応するフロー識別子を検索する検索システムの検
    索条件CAM登録方法のプログラムであって、コンピュ
    ータに、前記エントリにおいて範囲指定される検索ヒッ
    ト条件を所定アルゴリズムを用いて複数に分割して前記
    CAMに登録する処理を実行させるためのプログラム。
JP2001177856A 2001-06-13 2001-06-13 検索システム及びそれに用いる検索条件cam登録方法並びにそのプログラム Expired - Fee Related JP3711895B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001177856A JP3711895B2 (ja) 2001-06-13 2001-06-13 検索システム及びそれに用いる検索条件cam登録方法並びにそのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001177856A JP3711895B2 (ja) 2001-06-13 2001-06-13 検索システム及びそれに用いる検索条件cam登録方法並びにそのプログラム

Publications (2)

Publication Number Publication Date
JP2002374289A true JP2002374289A (ja) 2002-12-26
JP3711895B2 JP3711895B2 (ja) 2005-11-02

Family

ID=19018640

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001177856A Expired - Fee Related JP3711895B2 (ja) 2001-06-13 2001-06-13 検索システム及びそれに用いる検索条件cam登録方法並びにそのプログラム

Country Status (1)

Country Link
JP (1) JP3711895B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007525883A (ja) * 2004-01-14 2007-09-06 リヴァーストーン ネットワークス インコーポレーテッド ネットワークノードにおける処理利用管理
JP2011124799A (ja) * 2009-12-10 2011-06-23 Nec Engineering Ltd データ転送装置
JP2013164814A (ja) * 2012-02-13 2013-08-22 Canon Inc 情報処理装置およびその制御方法
US8775726B2 (en) 2012-07-27 2014-07-08 International Business Machine Corporation TCAM extended search function

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007525883A (ja) * 2004-01-14 2007-09-06 リヴァーストーン ネットワークス インコーポレーテッド ネットワークノードにおける処理利用管理
JP2011124799A (ja) * 2009-12-10 2011-06-23 Nec Engineering Ltd データ転送装置
JP2013164814A (ja) * 2012-02-13 2013-08-22 Canon Inc 情報処理装置およびその制御方法
US8775726B2 (en) 2012-07-27 2014-07-08 International Business Machine Corporation TCAM extended search function

Also Published As

Publication number Publication date
JP3711895B2 (ja) 2005-11-02

Similar Documents

Publication Publication Date Title
US10389633B2 (en) Hash-based address matching
US7437354B2 (en) Architecture for network search engines with fixed latency, high capacity, and high throughput
US20190058661A1 (en) Storing keys with variable sizes in a multi-bank database
US7389377B2 (en) Access control list processor
US9537771B2 (en) Exact match hash lookup databases in network switch devices
EP1623347B1 (en) Comparison tree data structures and lookup operations
US8181258B2 (en) Access control list constructed as a tree of matching tables
US6307855B1 (en) Network routing table using content addressable memory
US7480299B2 (en) Rules engine for access control lists in network units
US8599859B2 (en) Iterative parsing and classification
US20070028039A1 (en) Controlling a searchable range within a network search engine
US20060248095A1 (en) Efficient RAM lookups by means of compressed keys
JP2005130489A (ja) ルータ用の改良型アクセス制御リスティング機構
KR20150026979A (ko) 어드밴스드 피처를 갖는 정규 표현식 패턴에 대한 비결정성 유한 오토마톤 (nfa) 생성
US7861291B2 (en) System and method for implementing ACLs using standard LPM engine
US6529897B1 (en) Method and system for testing filter rules using caching and a tree structure
US7644085B2 (en) Directed graph approach for constructing a tree representation of an access control list
US20200228449A1 (en) Exact match and ternary content addressable memory (tcam) hybrid lookup for network device
US7403526B1 (en) Partitioning and filtering a search space of particular use for determining a longest prefix match thereon
US20040233692A1 (en) Magnitude comparator based content addressable memory for search and sorting
US7739445B1 (en) Circuit, apparatus, and method for extracting multiple matching entries from a content addressable memory (CAM) device
US9305115B1 (en) Method and apparatus for reducing power consumption during rule searches in a content search system
WO2024067746A1 (zh) 一种基于fpga实现的掩码匹配方法及系统
JP2002374289A (ja) 検索システム及びそれに用いる検索条件cam登録方法並びにそのプログラム
JP3558151B2 (ja) データ検索回路

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040922

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041005

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050314

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050726

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050808

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080826

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090826

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090826

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100826

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110826

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110826

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120826

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130826

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees