JP3028414B1 - パケットフィルタ回路 - Google Patents

パケットフィルタ回路

Info

Publication number
JP3028414B1
JP3028414B1 JP31573298A JP31573298A JP3028414B1 JP 3028414 B1 JP3028414 B1 JP 3028414B1 JP 31573298 A JP31573298 A JP 31573298A JP 31573298 A JP31573298 A JP 31573298A JP 3028414 B1 JP3028414 B1 JP 3028414B1
Authority
JP
Japan
Prior art keywords
information
packet
packet filter
entry
matching
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 - Lifetime
Application number
JP31573298A
Other languages
English (en)
Other versions
JP2000151627A (ja
Inventor
聡 野島
Original Assignee
株式会社超高速ネットワーク・コンピュータ技術研究所
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 株式会社超高速ネットワーク・コンピュータ技術研究所 filed Critical 株式会社超高速ネットワーク・コンピュータ技術研究所
Priority to JP31573298A priority Critical patent/JP3028414B1/ja
Application granted granted Critical
Publication of JP3028414B1 publication Critical patent/JP3028414B1/ja
Publication of JP2000151627A publication Critical patent/JP2000151627A/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

【要約】 【課題】 高速な処理性能を実現し、ハードウェア量の
増大を抑制する。 【解決手段】 個別情報判定CAM(内容検索型メモ
リ)1−1,1−2,1−3は、パケットフィルタ条件
を構成する各種情報の種別毎に設けられる。一致アドレ
ス出力回路13−1,13−2,13−3は、入力パケ
ットの情報と一致する情報を保持しているエントリが存
在するとき、一致エントリのアドレスを出力する。CA
Mセルアレイ31は、一致エントリアドレスの集合をパ
ケットフィルタ条件として格納する。一致信号出力回路
32は、レジスタ2から出力された一致エントリアドレ
スの集合がCAMセルアレイ31のパケットフィルタ条
件と一致したとき、一致信号を出力する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ネットワーク間を
接続するゲートウェイ装置等のパケット中継装置に係
り、特にある一定の条件を満たすパケットを転送あるい
は廃棄するというパケットフィルタ機能を実現するパケ
ットフィルタ回路に関するものである。
【0002】
【従来の技術】従来より、ネットワーク間を接続するゲ
ートウェイ装置等のパケット中継装置においては、IP
アドレス、MACアドレス、TCPポート番号等々の、
パケットヘッダに格納されている各種の情報を用いて、
その各々がある一定の条件(パケットフィルタ条件)を
満足した場合に、該パケットを転送あるいは廃棄すると
いうパケットフィルタ機能が必要とされる。
【0003】このフィルタ判別は、以下の要件を要求す
る。 (A)パケットフィルタ条件は、IPアドレス、MAC
アドレス、TCPポート番号等の各種情報のベクトル条
件(集合)で設定される場合が一般的である。 (B)パケットフィルタ条件を構成する各種情報は、ゲ
ートウェイ装置の場合の常として、長いビット長(例え
ば、IPアドレスで32ビット)を持つが、ある箇所の
ゲートウェイ装置では、そのビット長が示す数値空間の
中で狭い数量しか必要としない。
【0004】パケットフィルタ回路を構成する上での問
題点は、それぞれの情報の持つ数値空間全体に対して、
必要とされる条件エントリの数は微小であり、有効な構
成物量で必要な条件エントリを保持、検索させることが
困難なことである。また、上述のように、パケットフィ
ルタ条件は各種情報のベクトル条件であるため、入力パ
ケットがパケットフィルタ条件を満たすか否かを判定す
るには、必要な全ての組み合わせを記憶した上で比較判
定することが必要となり、この場合、上記した構成物量
の無駄はより大きな問題を引き起こす。
【0005】従来は、このようなパケットフィルタの構
成の多くはソフトウェアに依存し、パケットフィルタ条
件を具現化する判断分岐(フローチャート)を処理する
ことで実現される。ハードウェアによる構成の場合に
は、各種情報の必要な全ての組み合わせを記憶した内容
検索型メモリ(Content Addressable Memory、以下、C
AMとする))の利用が考えられる。
【0006】図4はCAMを利用した従来のパケットフ
ィルタ回路のブロック図である。図4の例では、IPア
ドレスとMACアドレスとTPCポート番号の集合から
パケットフィルタ条件が構成される場合を示し、CAM
41の1行が1つのパケットフィルタ条件を格納したエ
ントリとなっている。このように判定に必要な全てのパ
ケットフィルタ条件をCAM41のエントリに格納した
形となっている。よって、IPアドレスが同じであって
も、MACアドレスあるいはポート番号が異なるパケッ
トフィルタ条件を設定する必要がある場合には、異なる
エントリをCAM41に設ける必要がある。つまり、パ
ケットフィルタ条件を構成する個別の情報に重複するも
のがあったとしても、パケットフィルタ条件の総数と等
しいエントリ数が必要となる。
【0007】図4の例では、パケットフィルタ条件をI
PアドレスとMACアドレスとTPCポート番号の3種
類からなるものとしたが、通常、より多種の情報(アド
レスであれば、送信元アドレス、受信先アドレスの2種
類など)が要求される。よって、CAM41の1エント
リが更に長くなることが予想され、現状実現されている
CAMのエントリビット長が64から128程度である
ことを考慮した場合、十分なパケットフィルタ条件を設
定することは困難である。
【0008】
【発明が解決しようとする課題】以上のように、パケッ
トフィルタをソフトウェアで実現した場合、複数のパケ
ットフィルタ条件と入力パケットとの比較判定がシリア
ルで処理されるため、多くの処理ステップが必要とな
り、処理に時間がかかるという問題点があった。また、
パケットフィルタをCAM等のハードウェアで実現した
場合、非常に長いワード(エントリ)長を必要とし、多
くのハードウェア量を必要とするという問題点があっ
た。本発明は、上記課題を解決するためになされたもの
で、ソフトウェア処理よりも高速な処理性能を実現する
と共に、ハードウェア量の増大を抑制することができる
パケットフィルタ回路を提供することを目的とする。
【0009】
【課題を解決するための手段】本発明のパケットフィル
タ回路は、請求項1に記載のように、パケットフィルタ
条件を構成する各種情報の種別毎に設けられ、該当種別
の情報を格納するエントリを備え、各エントリに格納さ
れた情報と入力パケットが有する該当種別の情報とを比
較して、一致する情報を格納しているエントリが存在す
るとき、この一致エントリのアドレスを出力する複数の
第1の内容検索型メモリと、各種情報の集合からなるパ
ケットフィルタ条件の代わりに、これら情報を格納して
いる第1の内容検索型メモリの一致エントリアドレスの
集合をパケットフィルタ条件として記憶し、複数の第1
の内容検索型メモリからそれぞれ出力された一致エント
リアドレスの集合がパケットフィルタ条件と一致したと
き、一致信号を出力する第2の内容検索型メモリとを有
するものである。このように、第1の内容検索型メモリ
によってパケットフィルタ条件を構成する各種情報の種
別毎に検索を行い、第2の内容検索型メモリによって第
1の内容検索型メモリからの一致エントリアドレスの集
合がパケットフィルタ条件と一致するか否かを判定する
ことにより、入力パケットの属性を判断することができ
る。
【0010】また、請求項2に記載のように、パケット
フィルタ条件を構成する各種情報の種別毎に設けられ、
該当種別の情報を格納するエントリを備え、各エントリ
に格納された情報と入力パケットが有する該当種別の情
報とを比較して、一致する情報を格納しているエントリ
が存在するとき、この一致エントリの情報を表すコード
を出力する複数の第1の内容検索型メモリと、各種情報
の集合からなるパケットフィルタ条件の代わりに、これ
ら情報を表すコードの集合をパケットフィルタ条件とし
て記憶し、複数の第1の内容検索型メモリからそれぞれ
出力されたコードの集合がパケットフィルタ条件と一致
したとき、一致信号を出力する第2の内容検索型メモリ
とを有するものである。このように、第1の内容検索型
メモリによってパケットフィルタ条件を構成する各種情
報の種別毎に検索を行い、第2の内容検索型メモリによ
って第1の内容検索型メモリからのコードの集合がパケ
ットフィルタ条件と一致するか否かを判定することによ
り、入力パケットの属性を判断することができる。ま
た、請求項3に記載のように、複数の第1の内容検索型
メモリの出力を所定の順序に配列して、これを第2の内
容検索型メモリに与えるレジスタを有するものである。
【0011】
【発明の実施の形態】[実施の形態の1]次に、本発明
の実施の形態について図面を参照して詳細に説明する。
図1は本発明の第1の実施の形態となるパケットフィル
タ回路のブロック図である。本実施の形態のパケットフ
ィルタ回路は、パケットフィルタ条件を構成する各種情
報の種別毎に設けられた、個別情報判定CAM(第1の
内容検索型メモリ)1−1,1−2,1−3を有してい
る。
【0012】各個別情報判定CAM1−1,1−2,1
−3は、入力パケットのパケットヘッダから該当種別の
情報(検索ワード)を抽出するラッチ回路11−1,1
1−2,11−3と、該当種別の情報(被検索ワード)
を格納するための複数のエントリを有するCAMセルア
レイ12−1,12−2,12−3と、ラッチ回路11
−1,11−2,11−3から出力された情報と一致す
る情報を保持しているエントリが存在するとき、この一
致エントリのアドレスを出力する一致アドレス出力回路
13−1,13−2,13−3とから構成されている。
【0013】個別情報判定CAM1−1は、パケットフ
ィルタ条件を構成する各種情報のうちIP(Internet
Protocol)アドレスに対応するものである。ラッチ回路
11−1は、入力パケットのパケットヘッダからIPア
ドレスを抽出し、CAMセルアレイ12−1は、IPア
ドレスを被検索ワードとして格納している。一致アドレ
ス出力回路13−1は、ラッチ回路11−1から出力さ
れたIPアドレスと一致するIPアドレスを保持してい
るエントリがCAMセルアレイ12−1に存在すると
き、この一致エントリのアドレスを出力する。
【0014】個別情報判定CAM1−2は、パケットフ
ィルタ条件を構成する各種情報のうちMAC(Media Ac
cess Control)アドレスに対応するものである。ラッチ
回路11−2は、入力パケットのパケットヘッダからM
ACアドレスを抽出し、CAMセルアレイ12−2は、
MACアドレスを被検索ワードとして格納している。一
致アドレス出力回路13−2は、ラッチ回路11−2か
ら出力されたMACアドレスと一致するMACアドレス
を保持しているエントリがCAMセルアレイ12−2に
存在するとき、この一致エントリのアドレスを出力す
る。
【0015】個別情報判定CAM1−3は、パケットフ
ィルタ条件を構成する各種情報のうちTCP(Transmis
sion Control Protocol )ポート番号に対応するもので
ある。ラッチ回路11−3は、入力パケットのパケット
ヘッダからTCPポート番号を抽出し、CAMセルアレ
イ12−3は、TCPポート番号を被検索ワードとして
格納している。一致アドレス出力回路13−3は、ラッ
チ回路11−3から出力されたTCPポート番号と一致
するTCPポート番号を保持しているエントリがCAM
セルアレイ12−3に存在するとき、この一致エントリ
のアドレスを出力する。
【0016】以上のように、各個別情報判定CAM1−
1,1−2,1−3は、それぞれが対応する情報に関し
ての一致検索を実施する。レジスタ2は、各個別情報判
定CAM1−1,1−2,1−3から出力された一致エ
ントリアドレスを所定の順序に配列するためのもので、
各個別情報判定CAM1−1,1−2,1−3から出力
された一致エントリアドレスをいったん格納し、これら
を所定の順序で出力する。
【0017】次に、本実施の形態のパケットフィルタ回
路では、従来のような各種情報の集合からなるパケット
フィルタ条件の代わりに、これら情報を格納している各
個別情報判定CAM1−1,1−2,1−3の一致エン
トリアドレスの集合をパケットフィルタ条件としてい
る。
【0018】フィルタ条件判定CAM(第2の内容検索
型メモリ)3は、個別情報判定CAM1−1,1−2,
1−3の一致エントリアドレスの集合をパケットフィル
タ条件として格納するCAMセルアレイ31と、レジス
タ2から出力された一致エントリアドレスの集合がCA
Mセルアレイ31のパケットフィルタ条件と一致したと
き、一致信号を出力する一致信号出力回路32とから構
成されている。
【0019】このように、本実施の形態では、個別情報
判定CAM1−1,1−2,1−3により、パケットフ
ィルタ条件を構成する各種情報の種別毎に検索を行い、
各個別情報判定CAM1−1,1−2,1−3から出力
された一致エントリアドレスをレジスタ2によって所定
の順序に配列して、フィルタ条件判定CAM3に入力す
る。そして、フィルタ条件判定CAM3によってレジス
タ2からの一致エントリアドレスの集合がパケットフィ
ルタ条件と一致するか否かを判定することにより、入力
パケットの属性を判断することができ、一致信号の出力
に応じて入力パケットの転送あるいは廃棄を行うことが
できる。
【0020】なお、レジスタ2から出力される一致エン
トリアドレスの順序は、CAMセルアレイ31に格納さ
れた一致エントリアドレスの順序と同じであることは言
うまでもない。例えば、CAMセルアレイ31に格納さ
れたパケットフィルタ条件がCAM1−1のエントリア
ドレス、CAM1−2のエントリアドレス、CAM1−
3のエントリアドレスの順に設定されているとすれば、
レジスタ2は、この順序で各個別情報判定CAM1−
1,1−2,1−3からの一致エントリアドレスを出力
する。
【0021】図2は本実施の形態のパケットフィルタ回
路の動作を説明するための説明図である。図2におい
て、個別情報判定CAM1−1,1−2,1−3及びフ
ィルタ条件判定CAM3の各行は、エントリを示してい
る。入力パケットのパケットヘッダにIPアドレス=
c、MACアドレス=b、ポート番号=iiiが設定さ
れていたとすると、個別情報判定CAM1−1,1−
2,1−3からは一致エントリアドレスとして、それぞ
れアドレスma,mb,mcが出力される。このとき、
フィルタ条件判定CAM3のCAMセルアレイ31にエ
ントリアドレスma,mb,mcの組み合わせがパケッ
トフィルタ条件として設定されていれば、一致信号出力
回路32より一致信号が出力される。
【0022】[実施の形態の2]図3は本発明の第2の
実施の形態となるパケットフィルタ回路のブロック図で
あり、図1と同一の構成には同一の符号を付してある。
本実施の形態において、個別情報判定CAM1a−1,
1a−2,1a−3内のCAMセルアレイ12a−1,
12a−2,12a−3は、図1のCAMセルアレイ1
2−1,12−2,12−3と同様の情報とこの情報を
表すコード(符号)とを各エントリに格納している。
【0023】符号出力回路14−1,14−2,14−
3は、ラッチ回路11−1,11,2,11−3から出
力された情報と一致する情報を保持しているエントリが
CAMセルアレイ12a−1,12a−2,12a−3
に存在するとき、この一致エントリに格納されたコード
を出力する。
【0024】本実施の形態のパケットフィルタ回路で
は、各種情報の集合からなるパケットフィルタ条件の代
わりに、各種情報をコード化して、コードの集合をパケ
ットフィルタ条件としている。フィルタ条件判定CAM
3aは、コードの集合をパケットフィルタ条件として格
納するCAMセルアレイ31aと、レジスタ2から出力
されたコードの集合がCAMセルアレイ31aのパケッ
トフィルタ条件と一致したとき、一致信号を出力する一
致信号出力回路32aとから構成されている。その他の
構成は、実施の形態の1と全く同じである。
【0025】
【発明の効果】本発明によれば、パケットフィルタ回路
を内容検索型メモリというハードウェアで構成したの
で、ソフトウェア処理よりも高速な処理性能を実現する
ことができる。また、第1の内容検索型メモリの各々は
同一の情報を重複して持つ必要がなく、パケットフィル
タ条件を構成する各種情報の種別毎に第1の内容検索型
メモリを設けるため、パケットフィルタ条件が多種類の
情報から構成される場合であっても、実現性が高く、従
来のパケットフィルタ回路よりもハードウェア量を低減
することができる。さらに、第2の内容検索型メモリは
一致エントリアドレスの集合あるいは情報を表すコード
の集合をパケットフィルタ条件として記憶するため、パ
ケットフィルタ条件を表す必要ビット数が最低限度の量
で事足りるので、ハードウェア量を更に低減することが
できる。
【図面の簡単な説明】
【図1】 本発明の第1の実施の形態となるパケットフ
ィルタ回路のブロック図である。
【図2】 図1のパケットフィルタ回路の動作を説明す
るための説明図である。
【図3】 本発明の第2の実施の形態となるパケットフ
ィルタ回路のブロック図である。
【図4】 従来のパケットフィルタ回路のブロック図で
ある。
【符号の説明】
1−1、1−2、1−3、1a−1、1a−2、1a−
3…個別情報判定CAM、2…レジスタ、3、3a…フ
ィルタ条件判定CAM、11−1、11−2、11−3
…ラッチ回路、12−1、12−2、12−3、12a
−1、12a−2、12a−3…CAMセルアレイ、1
3−1、13−2、13−3…一致アドレス出力回路、
14−1、14−2、14−3…符号出力回路、31、
31a…CAMセルアレイ、32、32a…一致信号出
力回路。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平10−190744(JP,A) 特開 平9−162922(JP,A) 特開 平8−288950(JP,A) 特開 平6−205025(JP,A) 電子情報通信学会技術研究報告,Vo l.98 No.328,(IN98−100), 阿比留 健一 他「高速ゲートウェイ構 成方法,第83−90頁 1998年,電子情報通信学会通信ソサィ エティ大会講演論文集2,B−7−78, 梅崎 康之 他「高速ゲートウェイにお ける宛先決定処理の構成」,第199頁 (58)調査した分野(Int.Cl.7,DB名) H04L 12/28 H04L 12/56 JICSTファイル(JOIS)

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 ネットワーク間でパケット中継を実現す
    るパケット中継装置において、入力パケットの転送ある
    いは廃棄を決定するために入力パケットの属性を判断す
    るパケットフィルタ回路であって、 パケットフィルタ条件を構成する各種情報の種別毎に設
    けられ、該当種別の情報を格納するエントリを備え、各
    エントリに格納された情報と入力パケットが有する該当
    種別の情報とを比較して、一致する情報を格納している
    エントリが存在するとき、この一致エントリのアドレス
    を出力する複数の第1の内容検索型メモリと、 各種情報の集合からなるパケットフィルタ条件の代わり
    に、これら情報を格納している第1の内容検索型メモリ
    の一致エントリアドレスの集合をパケットフィルタ条件
    として記憶し、複数の第1の内容検索型メモリからそれ
    ぞれ出力された一致エントリアドレスの集合がパケット
    フィルタ条件と一致したとき、一致信号を出力する第2
    の内容検索型メモリとを有することを特徴とするパケッ
    トフィルタ回路。
  2. 【請求項2】 ネットワーク間でパケット中継を実現す
    るパケット中継装置において、入力パケットの転送ある
    いは廃棄を決定するために入力パケットの属性を判断す
    るパケットフィルタ回路であって、 パケットフィルタ条件を構成する各種情報の種別毎に設
    けられ、該当種別の情報を格納するエントリを備え、各
    エントリに格納された情報と入力パケットが有する該当
    種別の情報とを比較して、一致する情報を格納している
    エントリが存在するとき、この一致エントリの情報を表
    すコードを出力する複数の第1の内容検索型メモリと、 各種情報の集合からなるパケットフィルタ条件の代わり
    に、これら情報を表すコードの集合をパケットフィルタ
    条件として記憶し、複数の第1の内容検索型メモリから
    それぞれ出力されたコードの集合がパケットフィルタ条
    件と一致したとき、一致信号を出力する第2の内容検索
    型メモリとを有することを特徴とするパケットフィルタ
    回路。
  3. 【請求項3】 請求項1又は2記載のパケットフィルタ
    回路において、 複数の第1の内容検索型メモリの出力を所定の順序に配
    列して、これを第2の内容検索型メモリに与えるレジス
    タを有することを特徴とするパケットフィルタ回路。
JP31573298A 1998-11-06 1998-11-06 パケットフィルタ回路 Expired - Lifetime JP3028414B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31573298A JP3028414B1 (ja) 1998-11-06 1998-11-06 パケットフィルタ回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31573298A JP3028414B1 (ja) 1998-11-06 1998-11-06 パケットフィルタ回路

Publications (2)

Publication Number Publication Date
JP3028414B1 true JP3028414B1 (ja) 2000-04-04
JP2000151627A JP2000151627A (ja) 2000-05-30

Family

ID=18068877

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31573298A Expired - Lifetime JP3028414B1 (ja) 1998-11-06 1998-11-06 パケットフィルタ回路

Country Status (1)

Country Link
JP (1) JP3028414B1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3998983B2 (ja) 2002-01-17 2007-10-31 松下電器産業株式会社 ユニキャスト−マルチキャスト変換装置および映像監視システム
JP4320603B2 (ja) 2004-02-26 2009-08-26 日本電気株式会社 加入者回線収容装置およびパケットフィルタリング方法
JP4665007B2 (ja) * 2008-03-28 2011-04-06 パナソニック株式会社 監視映像送信装置および方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
1998年,電子情報通信学会通信ソサィエティ大会講演論文集2,B−7−78,梅崎 康之 他「高速ゲートウェイにおける宛先決定処理の構成」,第199頁
電子情報通信学会技術研究報告,Vol.98 No.328,(IN98−100),阿比留 健一 他「高速ゲートウェイ構成方法,第83−90頁

Also Published As

Publication number Publication date
JP2000151627A (ja) 2000-05-30

Similar Documents

Publication Publication Date Title
US7237058B2 (en) Input data selection for content addressable memory
US7830892B2 (en) VLAN translation in a network device
US6738862B1 (en) Block mask ternary CAM
US7313667B1 (en) Methods and apparatus for mapping fields of entries into new values and combining these mapped values into mapped entries for use in lookup operations such as for packet processing
US6650642B1 (en) Network relaying apparatus and network relaying method capable of high-speed routing and packet transfer
US6988106B2 (en) Strong and searching a hierarchy of items of particular use with IP security policies and security associations
EP0627835B1 (en) Improved network layer packet structure
US20030009466A1 (en) Search engine with pipeline structure
US6922410B1 (en) Organization of databases in network switches for packet-based data communications networks
US7085271B2 (en) Method and system for performing flow based hash transformation to generate hash pointers for a network device
US20060140130A1 (en) Mirroring in a network device
US20030225881A1 (en) Efficient cascaded lookups at a network node
US20060227779A1 (en) Network based routing scheme
JPH09307581A (ja) ブリッジ装置
US6804230B1 (en) Communication device with forwarding database having a trie search facility
US6658003B1 (en) Network relaying apparatus and network relaying method capable of high-speed flow detection
JP2013511223A (ja) 反復解析及び分類
US7403526B1 (en) Partitioning and filtering a search space of particular use for determining a longest prefix match thereon
US7373412B2 (en) Apparatus for selecting and sorting packets from a packet data transmission network
US20030053474A1 (en) Virtual egress packet classification at ingress
US6201755B1 (en) Method and system for storing and retrieving information in a communications node
EP1777889B1 (en) Method of processing information packets and telecommunication apparatus using the same
US7219187B1 (en) Search parameter table in a content addressable memory
US7145911B2 (en) Method and system for parallel hash transformation for an address input
JP3028414B1 (ja) パケットフィルタ回路