JPH11261647A - ルータ及び最長一致検索装置 - Google Patents

ルータ及び最長一致検索装置

Info

Publication number
JPH11261647A
JPH11261647A JP6111098A JP6111098A JPH11261647A JP H11261647 A JPH11261647 A JP H11261647A JP 6111098 A JP6111098 A JP 6111098A JP 6111098 A JP6111098 A JP 6111098A JP H11261647 A JPH11261647 A JP H11261647A
Authority
JP
Japan
Prior art keywords
data
mask
entry
output
entry data
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
JP6111098A
Other languages
English (en)
Other versions
JP3166700B2 (ja
Inventor
Tsutomu Murase
勉 村瀬
Naoshi Ogura
直志 小倉
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 JP6111098A priority Critical patent/JP3166700B2/ja
Priority to US09/266,466 priority patent/US6570866B1/en
Priority to CA002265302A priority patent/CA2265302C/en
Publication of JPH11261647A publication Critical patent/JPH11261647A/ja
Application granted granted Critical
Publication of JP3166700B2 publication Critical patent/JP3166700B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/74Address processing for routing
    • H04L45/742Route cache; Operation thereof
    • 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/745Address table lookup; Address filtering
    • H04L45/74591Address table lookup; Address filtering using content-addressable memories [CAM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

Abstract

(57)【要約】 【課題】 最長一致データの検索を高速に行えると共
に、エントリーデータの拡張にも容易に対応可能とす
る。 【解決手段】 一次検索装置11〜13はそれぞれ、原
検索データを各エントリーデータと比較し、一致するも
ののうちでマスク以外の部分がもっとも長いエントリー
データに対応するマスクデータを出力する。これらのマ
スクデータは、論理和回路21によって論理和がとられ
る。CAM31〜33には、アドレスデータと演算装置
20の出力データとを並べたデータとが入力され、対応
するエントリーデータがあったときに、CAM31〜3
3は、連想記憶されているデータを出力する。CAM3
1〜33の出力データは、ワイヤードORがとられて最
終結果アドレス(最長一致データ)となる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ルータ及び最長一
致検索装置に関し、特にIPルータと呼ばれるパケット
交換装置に適用するのに好適なものに関する。
【0002】
【従来の技術】IPルータと呼ばれるパケット交換装置
(以下、従来の技術の説明中において単に「ルータ」と
いう)は、入力されたパケットに付されている最終出力
先のアドレスから次の出力先を決定し、該決定した出力
先にパケットを出力する。このパケットの出力先は、パ
ケットに付されているアドレスに対して最長一致検索デ
ータを検索することによって決定される。
【0003】このような最長一致データの検索の方法と
して、例えば、ユニックスマガジン1997年4月号の
「カーネルを読もう(8)」の記事として記載されてい
るように、図20に示すRadix Treeを用いたものが知ら
れている。この方法では、Radix Treeの経路を辿ること
によって、最長一致データと対応するマスクデータを容
易に得ることができる。
【0004】
【発明が解決しようとする課題】しかしながら、上記従
来例では、最長一致データの検索をソフトウェアによっ
て実現しているために、処理に時間がかかるという問題
があった。すなわち、このようなルータを待ち行列モデ
ルとして見た場合に、平均サービス時間が非常に大きい
ため、応答時間が大きくなる。このため、従来例のルー
タでは、特にトラフィックの大きいルータにおいてパケ
ットの伝送に遅延が生じるという問題点があった。
【0005】これに対して、上記のようにソフトウェア
処理しているのと同一の処理を行う論理回路をハードウ
ェアによって構成して、最長一致データを高速に検索す
ることも理論的には可能である。
【0006】しかしながら、このように最長一致検索装
置をハードウェアによって構成する場合は、エントリー
データの追加に対して結線を変えなければならないの
で、エントリーデータの拡張が困難であり、とりわけコ
スト的な問題から実現性に乏しかった。
【0007】本発明は、上記従来例の問題点を解消する
ためになされたものであり、最長一致データの検索を高
速に行えると共に、エントリーデータの拡張にも容易に
対応することができる最長一致検索装置を提供すること
を目的とする。
【0008】本発明は、また、このような最長一致検索
装置を適用することによって、入力されたパケットを適
切な出力先へ高速に出力することができるルータを提供
することを目的とする。
【0009】
【課題を解決するための手段】上記目的を達成するた
め、本発明の第1の観点にかかる最長一致検索装置は、
マスクされた第1のエントリーデータと該第1のエント
リーデータに対応するマスクデータとを対応付けてそれ
ぞれ少なくとも1つ記憶し、外部から入力された検索す
べきデータと一致する第1のエントリーデータのうちで
マスク以外の部分が最も長いものに対応するマスクデー
タをそれぞれ出力する複数個の一次検索装置と、前記複
数個の一次検索装置から出力されたマスクデータのうち
でマスク以外の部分が最も長いマスクデータを出力する
演算装置と、前記第1のエントリーデータと前記マスク
データとを並べた第2のエントリーデータに前記第1の
エントリーデータを連想させて記憶し、前記検索すべき
データと前記演算装置から出力されたマスクデータとを
並べたデータを入力して対応する第1のエントリーデー
タを出力する、少なくとも1つからなる連想メモリと、
を備えることを特徴とする。
【0010】上記最長一致検索装置においてデータの検
索に用いるための第1のエントリーデータを追加したい
場合には、各一次検索装置の容量がいっぱいであって
も、新たな一次検索装置を追加し、さらに連想メモリに
第2のエントリーデータと第1のエントリーデータとを
追加することによって対応できる。連想メモリの容量が
いっぱいの場合には、連想メモリの数を追加することに
よってエントリーデータの追加に対して対応できる。ま
た、上記最長一致検索装置は、各構成要素がハードウェ
アによって構成可能なため、最長一致データの検索を高
速に行えると共に、エントリーデータの拡張にも容易に
対応することができる。
【0011】上記最長一致検索装置において、前記演算
装置は、前記複数の一次検索装置のそれぞれから出力さ
れたマスクデータの論理和をとる論理和回路によって構
成されたものとすることができる。
【0012】また、前記演算装置は、前記複数の一次検
索装置のそれぞれから出力されたマスクデータの最大値
を求める最大値回路によって構成されたものとすること
ができる。
【0013】上記目的を達成するため、本発明の第2の
観点にかかる最長一致検索装置は、マスクされた第1の
エントリーデータと該第1のエントリーデータに対応す
るマスクデータとを対応付けてそれぞれ少なくとも1つ
記憶し、外部から入力された検索すべきデータと一致す
る第1のエントリーデータのうちでマスク以外の部分が
最も長いものに対応するマスクデータをそれぞれ出力す
る複数個の一次検索装置と、前記複数個の一次検索装置
から出力されたマスクデータのうちでマスク以外の部分
が最も長いマスクデータを求め、該求めたマスクデータ
と一致すマスクデータを出力している前記複数の一次検
索装置に対応してイネーブル信号を出力する演算装置
と、それぞれ対応する前記複数個の一次検索装置に記憶
されている第1のエントリーデータに該第1のエントリ
ーデータを連想させて記憶し、前記検索すべきデータを
入力して対応する第1のエントリーデータを出力する複
数の連想メモリと、を備えることを特徴とする。
【0014】上記最長一致検索装置においてデータの検
索に用いるためのエントリーデータを追加したい場合に
は、各一次検索装置の容量がいっぱいであっても、新た
な一次検索装置を追加し、さらに連想メモリに同じエン
トリーデータを追加することによって対応できる。ま
た、連想メモリの容量がいっぱいの場合には、連想メモ
リの数を追加することによってエントリーデータの追加
に対して対応できる。また、上記最長一致検索装置は、
各構成要素がハードウェアによって構成可能なため、最
長一致データの検索を高速に行えると共に、エントリー
データの拡張にも容易に対応することができる。
【0015】上記目的を達成するため、本発明の第3の
観点にかかる最長一致検索装置は、マスクされたエント
リーデータと該エントリーデータに対応するマスクデー
タとをそれぞれ少なくとも1つ記憶し、外部から入力さ
れた検索すべきデータと一致するエントリーデータのう
ちでマスク以外の部分が最も長いものに対応するマスク
データをそれぞれ出力し、前記出力されたマスクデータ
に対応するエントリーデータをさらに出力する複数個の
一次検索装置と、前記複数個の一次検索装置から出力さ
れたマスクデータのうちでマスク以外の部分が最も長い
マスクデータに対応する前記複数個の一次検索装置から
出力されたエントリーデータを出力する演算装置と、を
備えることを特徴とする。
【0016】上記最長一致検索装置においてデータの検
索に用いるためのエントリーデータを追加したい場合に
は、各一次検索装置の容量がいっぱいであっても、新た
な一次検索装置を追加し、追加した一次検索装置を演算
装置と接続することによって対応できる。また、上記最
長一致検索装置は、各構成要素がハードウェアによって
構成可能なため、最長一致データの検索を高速に行える
と共に、エントリーデータの拡張にも容易に対応するこ
とができる。
【0017】上記目的を達成するため、本発明の第4の
観点にかかる最長一致検索装置は、マスクされたエント
リーデータと該エントリーデータに対応する第1のマス
クデータとをそれぞれ少なくとも1つ記憶し、外部から
入力された検索すべきデータと一致するエントリーデー
タのうちでマスク以外の部分が最も長いものに対応する
第1のマスクデータをそれぞれ出力し、入力された第2
のマスクデータに対応するエントリーデータをさらに出
力する複数個の一次検索装置と、前記複数個の一次検索
装置から出力された第1のマスクデータのうちでマスク
以外の部分が最も長いものを前記複数個の一次検索装置
のそれぞれに入力する前記第2のマスクデータとして出
力する第1の演算装置と、前記複数個の一次検索装置か
ら出力されたエントリーデータのうちで前記第1の演算
装置が出力した前記第2のマスクデータに対応するもの
を出力する第2の演算装置と、を備えることを特徴とす
る。
【0018】上記最長一致検索装置においてデータの検
索に用いるためのエントリーデータを追加したい場合に
は、各一次検索装置の容量がいっぱいであっても、新た
な一次検索装置を追加し、追加した一次検索装置を演算
装置と接続することによって対応できる。また、上記最
長一致検索装置は、各構成要素がハードウェアによって
構成可能なため、最長一致データの検索を高速に行える
と共に、エントリーデータの拡張にも容易に対応するこ
とができる。
【0019】上記目的を達成するため、本発明の第5の
観点にかかる最長一致検索装置は、マスクされたエント
リーデータと該エントリーデータに対応する第1のマス
クデータとをそれぞれ少なくとも1つ記憶し、外部から
入力された検索すべきデータと一致するエントリーデー
タのうちでマスク以外の部分が最も長いものに対応する
第1のマスクデータをそれぞれ出力し、入力された第2
のマスクデータに対応するエントリーデータをさらに出
力する複数個の一次検索装置と、前記複数個の一次検索
装置から出力された第1のマスクデータの論理和をとっ
て、前記複数個の一次検索装置のそれぞれに入力する前
記第2のマスクデータとして出力する第1の論理和回路
と、前記複数個の一次検索装置から出力されたエントリ
ーデータの論理和をとる第2の論理和回路と、を備える
ことを特徴とする。
【0020】上記第5の観点にかかる最長一致検索装置
において、例えば、前記第1、第2の論理和回路はそれ
ぞれ、出力線の対応するビット毎を直接つないだワイヤ
ード論理和回路によって構成されたものとすることがで
きる。
【0021】上記最長一致検索装置においてデータの検
索に用いるためのエントリーデータを追加したい場合に
は、各一次検索装置の容量がいっぱいであっても、新た
な一次検索装置を追加することによって対応できる。し
かも、前記第1、第2の論理和回路をワイヤード論理和
回路によって構成すれば、一次検索装置の数がいくつに
なっても、エントリーデータの拡張が容易になる。ま
た、上記最長一致検索装置は、各構成要素がハードウェ
アによって構成可能なため、最長一致データの検索を高
速に行えると共に、エントリーデータの拡張にも容易に
対応することができる。
【0022】上記目的を達成するため、本発明の第6の
観点にかかる最長一致検索装置は、マスクされたエント
リーデータと該エントリーデータに対応する第1のマス
クデータとをそれぞれ少なくとも1つ記憶し、第1のク
ロックに応答して外部から入力された検索すべきデータ
と一致するエントリーデータのうちでマスク以外の部分
が最も長いものに対応する第1のマスクデータをそれぞ
れ出力し、第2のクロックに応答して入力された第2の
マスクデータに対応するエントリーデータをさらに出力
する複数個の一次検索装置と、前記複数個の一次検索装
置から出力された第1のマスクデータのうちでマスク以
外の部分が最も長いものを、前記複数個の一次検索装置
のそれぞれに入力する前記第2のマスクデータとして前
記第1のクロックに応答して出力する第1の演算装置
と、前記複数個の一次検索装置から出力されたエントリ
ーデータのうちでマスク以外の部分が最も長いものを、
前記第2のクロックに応答して出力する第2の演算装置
と、を備えることを特徴とする。
【0023】上記第6の観点にかかる最長一致検索装置
において、前記第1、第2の演算装置は、同一の論理和
回路によって構成してもよい。
【0024】上記最長一致検索装置においてデータの検
索に用いるためのエントリーデータを追加したい場合に
は、各一次検索装置の容量がいっぱいであっても、新た
な一次検索装置を追加し、追加した一次検索装置を演算
装置と接続することによって対応できる。また、上記最
長一致検索装置は、各構成要素がハードウェアによって
構成可能なため、最長一致データの検索を高速に行える
と共に、エントリーデータの拡張にも容易に対応するこ
とができる。
【0025】上記目的を達成するため、本発明の第7の
観点にかかるルータは、外部から入力されたパケットか
ら、該パケットに付されているアドレスデータを抽出す
るアドレスデータ抽出回路と、マスクされた第1のエン
トリーデータと該第1のエントリーデータに対応するマ
スクデータとを対応付けてそれぞれ少なくとも1つ記憶
し、前記アドレスデータ抽出回路が抽出したアドレスデ
ータと一致する第1のエントリーデータのうちでマスク
以外の部分が最も長いものに対応するマスクデータをそ
れぞれ出力する複数個の一次検索装置と、前記複数個の
一次検索装置から出力されたマスクデータのうちでマス
ク以外の部分が最も長いマスクデータを出力する演算装
置と、前記第1のエントリーデータと前記マスクデータ
とを並べた第2のエントリーデータに前記第1のエント
リーデータを連想させて記憶し、前記検索すべきデータ
と前記演算装置から出力されたマスクデータとを並べた
データを入力して対応する第1のエントリーデータを出
力する、少なくとも1つからなる連想メモリと、前記連
想メモリから出力された第1のエントリーデータに従っ
て出力先を切り換えて、前記パケットを出力するスイッ
チ回路と、を備えることを特徴とする。
【0026】上記目的を達成するため、本発明の第8の
観点にかかるルータは、外部から入力されたパケットか
ら、該パケットに付されているアドレスデータを抽出す
るアドレスデータ抽出回路と、マスクされたエントリー
データと該エントリーデータに対応するマスクデータと
を対応付けてそれぞれ少なくとも1つ記憶し、前記アド
レスデータ抽出回路が抽出したアドレスデータと一致す
るエントリーデータのうちでマスク以外の部分が最も長
いものに対応するマスクデータをそれぞれ出力する複数
個の一次検索装置と、前記複数個の一次検索装置から出
力されたマスクデータのうちでマスク以外の部分が最も
長いマスクデータを求め、該求めたマスクデータと一致
すマスクデータを出力している前記複数の一次検索装置
に対応してイネーブル信号を出力する演算装置と、それ
ぞれ対応する前記複数個の一次検索装置に記憶されてい
るエントリーデータに該エントリーデータを連想させて
記憶し、前記検索すべきデータを入力して対応するエン
トリーデータを出力する複数の連想メモリと、前記連想
メモリから出力されたエントリーデータに従って出力先
を切り換えて、前記パケットを出力するスイッチ回路
と、を備えることを特徴とする。
【0027】上記目的を達成するため、本発明の第9の
観点にかかるルータは、外部から入力されたパケットか
ら、該パケットに付されているアドレスデータを抽出す
るアドレスデータ抽出回路と、マスクされたエントリー
データと該エントリーデータに対応するマスクデータと
をそれぞれ少なくとも1つ記憶し、前記アドレスデータ
抽出回路が抽出したアドレスデータと一致するエントリ
ーデータのうちでマスク以外の部分が最も長いものに対
応するマスクデータをそれぞれ出力し、前記出力された
マスクデータに対応するエントリーデータをさらに出力
する複数個の一次検索装置と、前記複数個の一次検索装
置から出力されたマスクデータのうちでマスク以外の部
分が最も長いマスクデータに対応する前記複数個の一次
検索装置から出力されたエントリーデータを出力する演
算装置と、前記演算装置から出力されたエントリーデー
タに従って出力先を切り換えて、前記パケットを出力す
るスイッチ回路と、を備えることを特徴とする。
【0028】上記目的を達成するため、本発明の第10
の観点にかかるルータは、外部から入力されたパケット
から、該パケットに付されているアドレスデータを抽出
するアドレスデータ抽出回路と、マスクされたエントリ
ーデータと該エントリーデータに対応する第1のマスク
データとをそれぞれ少なくとも1つ記憶し、前記アドレ
スデータ抽出回路が抽出したアドレスデータと一致する
エントリーデータのうちでマスク以外の部分が最も長い
ものに対応する第1のマスクデータをそれぞれ出力し、
入力された第2のマスクデータに対応するエントリーデ
ータをさらに出力する複数個の一次検索装置と、前記複
数個の一次検索装置から出力された第1のマスクデータ
のうちでマスク以外の部分が最も長いものを前記複数個
の一次検索装置のそれぞれに入力する前記第2のマスク
データとして出力する第1の演算装置と、前記複数個の
一次検索装置から出力されたエントリーデータのうちで
前記第1の演算装置が出力した前記第2のマスクデータ
に対応するものを出力する第2の演算装置と、前記第2
の演算装置から出力されたエントリーデータに従って出
力先を切り換えて、前記パケットを出力するスイッチ回
路と、を備えることを特徴とする。
【0029】上記目的を達成するため、本発明の第11
の観点にかかるルータは、外部から入力されたパケット
から、該パケットに付されているアドレスデータを抽出
するアドレスデータ抽出回路と、マスクされたエントリ
ーデータと該エントリーデータに対応する第1のマスク
データとをそれぞれ少なくとも1つ記憶し、前記アドレ
スデータ抽出回路が抽出したアドレスデータと一致する
エントリーデータのうちでマスク以外の部分が最も長い
ものに対応する第1のマスクデータをそれぞれ出力し、
入力された第2のマスクデータに対応するエントリーデ
ータをさらに出力する複数個の一次検索装置と、前記複
数個の一次検索装置から出力された第1のマスクデータ
の論理和をとって、前記複数個の一次検索装置のそれぞ
れに入力する前記第2のマスクデータとして出力する第
1の論理和回路と、前記複数個の一次検索装置から出力
されたエントリーデータの論理和をとる第2の論理和回
路と、前記第2の論理和回路の演算結果に従って出力先
を切り換えて、前記パケットを出力するスイッチ回路
と、を備えることを特徴とする。
【0030】上記目的を達成するため、本発明の第12
の観点にかかるルータは、外部から入力されたパケット
から、該パケットに付されているアドレスデータを抽出
するアドレスデータ抽出回路と、マスクされたエントリ
ーデータと該エントリーデータに対応する第1のマスク
データとをそれぞれ少なくとも1つ記憶し、第1のクロ
ックに応答して前記アドレスデータ抽出回路が抽出した
アドレスデータと一致するエントリーデータのうちでマ
スク以外の部分が最も長いものに対応する第1のマスク
データをそれぞれ出力し、第2のクロックに応答して入
力された第2のマスクデータに対応するエントリーデー
タをさらに出力する複数個の一次検索装置と、前記複数
個の一次検索装置から出力された第1のマスクデータの
うちでマスク以外の部分が最も長いものを、前記複数個
の一次検索装置のそれぞれに入力する前記第2のマスク
データとして前記第1のクロックに応答して出力する第
1の演算装置と、前記複数個の一次検索装置から出力さ
れたエントリーデータのうちでマスク以外の部分が最も
長いものを、前記第2のクロックに応答して出力する第
2の演算装置と、前記第2の演算装置から出力されたエ
ントリーデータに従って出力先を切り換えて、前記パケ
ットを出力するスイッチ回路と、を備えることを特徴と
する。
【0031】
【発明の実施の形態】以下、添付図面を参照して、本発
明の実施の形態について説明する。
【0032】[第1の実施の形態]この実施の形態にお
いては、説明の便宜上、最長一致検索をすべきアドレス
データは、2ビット毎に区切られた8ビットで構成さ
れ、例えば、4進表現を用いて(1,2,3,0)のよ
うに表される。このようなかっこ内表記は、以下では特
に断りが内限り、すべて4進表現されているものとす
る。また、後述するマスクは、アドレスの区切りと同じ
2ビットを単位とするものとし、後述するエントリーデ
ータ中のマスクされた2ビットを“*”で表すものとす
る。
【0033】図1は、この実施の形態にかかるルータが
適用されるパケット交換ネットワークの構成を示すブロ
ック図である。このネットワークには、複数のルータR
1、R2−1〜R2−4、R3−1〜R3−4が含まれ
る。
【0034】ルータR1は、入力したパケットに付され
ている出力先のアドレスデータに対する最長一致データ
を検索し、次のルータとして検索した最長一致データに
対応するアドレスを有するルータR2−1〜R2−2、
R3−1〜R3−4にパケットを出力する。例えば、入
力したパケットに付されていたアドレスが(2,1,
1,1)であったときは、ルータR2−1〜R2−3の
いずれもパケットの出力先の方向としては正しいが、ル
ータR1は、最長一致データとなるアドレスを有するル
ータR2−3にパケットを出力する。
【0035】図2は、この実施の形態にかかるルータR
1の構成を示すブロック図である。図示するように、ル
ータR1は、アドレス検索回路1と、ヘッダ抽出回路2
と、スイッチ3とから構成されている。
【0036】ヘッダ抽出回路2は、入力されたパケット
のうちのアドレスが付されている部分であるヘッダを抽
出し、アドレス検索回路1に供給する。アドレス検索回
路1は、ヘッダ抽出回路2から供給されたアドレスに対
して最長一致データとなる最終結果アドレスを検索す
る。アドレス検索回路1の構成については、詳しく後述
する。スイッチ3は、アドレス検索回路1によって検索
された最終結果アドレスに従って、ヘッダ抽出回路2を
介して入力されたパケットを、ルータR2−1〜R2−
4、R3−1〜R3−4のいずれかに出力する。
【0037】図3は、図2のルータ2に含まれるアドレ
ス検索回路1の構成を示すブロック図である。図示する
ように、このアドレス検索回路1は、一次検索装置11
〜13と、演算装置20と、連想記憶装置(CAM:Co
ntents Associated Memory)31〜33とから構成され
ている。なお、図中の各信号線は、8ビットで構成され
る。
【0038】一次検索装置11〜13はそれぞれ、アド
レスデータデータがマスクされたエントリーデータと、
各エントリーデータに対応するマスクデータとを格納す
る。一次検索装置11〜13はそれぞれ、後述するよう
に入力されたアドレスデータ(原検索データ)を各エン
トリーデータと比較し、一致するもののうちでマスク以
外の部分がもっとも長いエントリーデータに対応するマ
スクデータを出力する。
【0039】この実施の形態において、一次検索装置1
1には、エントリーデータとして(3,2,*,*)と
(2,2,2,*)とが、これらのエントリーデータに
対応するマスクデータとして(3,3,0,0)と
(3,3,3,0)とが、格納されているものとする。
一次検索装置12には、エントリーデータとして(3,
*,*,*)と(2,2,*,*)とが、マスクデータ
として(3,0,0,0)と(3,3,0,0)とが、
格納されているものとする。一次検索装置13には、エ
ントリーデータとして(3,2,1,*)と(2,*,
*,*)とが、マスクデータとして(3,3,3,0)
と(3,0,0,0)とが、格納されているものとす
る。
【0040】演算装置20は、一次検索装置11〜13
の出力線の対応するビット毎を直接つないだワイヤード
OR回路によって構成されている。例えば、一次検索装
置11〜13の出力データがそれぞれ、(3,3,3,
0)、(3,3,0,0)、(3,0,0,0)である
時は、演算装置20の出力データは、(3,3,3,
0)となる。
【0041】CAM31〜33はそれぞれ、一次検索装
置11〜13に格納されたエントリーデータ(上位)と
マスクデータ(下位)とを並べたデータを、エントリー
データとして記憶する。CAM31〜33はそれぞれ、
これらのエントリーデータから連想されて出力されるデ
ータとして、対応する一次検索装置11〜13のエント
リーデータを記憶する。CAM31〜33には、アドレ
スデータと演算装置20の出力データとを並べたデータ
とが入力され、対応するエントリーデータがあったとき
に、CAM31〜33は、連想記憶されているデータを
出力する。CAM31〜33の出力データは、ワイヤー
ドORがとられて最終結果アドレス(最長一致データ)
となる。
【0042】この実施の形態において、CAM31は、
(3,2,*,*,3,3,0,0)と(2,2,2,
*,3,3,3,0)をエントリーデータとして記憶
し、それぞれに対応して(3,2,*,*)と(2,
2,2,*)とを連想記憶する。CAM32は、(3,
*,*,*,3,0,0,0)と(2,2,*,*,
3,3,0,0)をエントリーデータとして記憶し、そ
れぞれに対応して(3,*,*,*)と(2,2,*,
*)とを連想記憶する。CAM33は、(3,2,1,
*,3,3,3,0)と(2,*,*,*,3,0,
0,0)をエントリーデータとして記憶し、それぞれに
対応して(3,2,1,*)と(2,*,*,*)とを
連想記憶する。
【0043】以下、この実施の形態にかかるルータR1
の動作について、説明する。ルータR1に入力されたパ
ケットは、まず、ヘッダ抽出回路2に供給される。ヘッ
ダ抽出回路2は、入力されたパケットをそのままスイッ
チ3に出力し、また、パケットのヘッダであるアドレス
データを抽出する。抽出されたアドレスデータは、アド
レス検索回路1に入力される。
【0044】こうしてアドレス検索回路1に入力された
アドレスデータが、例えば、(3,2,1,0)である
場合、アドレス検索回路1は、このアドレスデータを原
検索データとして、図4に示すように動作する。
【0045】原検索データである(3,2,1,0)
は、一次検索装置11〜13のそれぞれに入力され、一
次検索装置11〜13に記憶されているエントリーデー
タと順次比較される。一次検索装置11〜13はそれぞ
れ、この比較の結果、原検索データに一致するエントリ
ーデータのうちのマスクなしの部分がもっとも長いエン
トリーデータに対応するマスクデータ(3,3,0,
0)、(3,0,0,0)、(3,3,3,0)を出力
する。
【0046】一次検索装置11〜13のそれぞれから出
力されたマスクデータ(3,3,0,0)、(3,0,
0,0)及び(3,3,3,0)は、演算装置20によ
って論理和がとられ、演算装置20から(3,3,3,
0)が出力される。この演算装置20の出力データ
(3,3,3,0)は、下位のデータとしてCAM31
〜33に入力される。一方、原検索データである(3,
2,1,0)が、上位のデータとしてCAM31〜33
に入力される。
【0047】CAM31〜33はそれぞれ、これらの上
位、下位のデータを合わせた(3,2,1,0,3,
3,3,0)を、内部に記憶しているエントリーデータ
と比較する。
【0048】ここで、CAM31、32は、(3,2,
1,0,3,3,3,0)に一致するエントリーデータ
を記憶していないため、データを出力しない。一方、C
AM33は、(3,2,1,0,3,3,3,0)に一
致するエントリデータ(3,2,1,*,3,3,3,
0)を記憶しているため、連想記憶されているデータ
(3,2,1,*)を出力する。
【0049】CAM31、32からはデータが出力され
ていないため、CAM33の出力データ(3,2,1,
*)は、CAM31、32の出力データとワイヤードO
Rがとられても、そのまま最終結果アドレス(最長一致
データ)となり、アドレス検索回路1から出力される。
【0050】アドレス検索回路1から最長一致データと
して(3,2,1,*)が出力され、スイッチ3に供給
されると、スイッチ3は、ヘッダ抽出回路3から供給さ
れたパケットを、アドレス(3,2,1,*)で示され
るルータR3−3に出力する。
【0051】ところで、この実施の形態にかかるネット
ワークシステムにおいて、ルータR1と、アドレスが
(3,2,2,*)であるルータR3−4とが新たに直
接接続されたとする。
【0052】この場合、アドレス検索回路1に、図5に
示すように、一次検索装置10とCAM30とを追加す
ればよい。ここで、一次検索装置10には、エントリー
データとして、(3,2,2,*)をマスクデータとし
て(3,3,3,0)を記憶させる。一方、CAM30
には、(3,2,2,*,3,3,3,0)をエントリ
ーデータとし、(3,2,2,*)を連想させて記憶さ
せる。或いは、一次検索装置11〜13及びCAM31
〜33のいずれかの容量に余裕がある場合には、これら
のデータをその余裕のある部分に記憶させる。
【0053】例えば、最終出力先のアドレスとして
(3,2,2,1)が付されていたパケットは、拡張前
の状態では、ルータR1から次にルータR3−1に出力
され、さらにルータR3−2、R3−4の順で出力され
ていたのに対して、拡張後の状態では、ルータR1から
ルータR3−4に直接出力されることとなる。
【0054】以上説明したように、この実施の形態のル
ータR1は、アドレス検索回路1を上記のように構成す
ることによって、パケットの次の出力先となるエントリ
ーデータの追加を容易に行うことができる。
【0055】しかも、この実施の形態のルータR1は、
アドレス検索回路1をハードウェアによって構成してい
るため、パケットの次の出力先を高速に決定することが
できる。
【0056】[第2の実施の形態]この実施の形態にか
かるネットワーク、アドレスデータ及びルータは、第1
の実施の形態のものとほぼ同じに構成されているが、ア
ドレス検索回路1の構成が第1の実施の形態のものと異
なる。
【0057】図6は、この実施の形態にかかるアドレス
検索回路1の構成を示すブロック図である。アドレス検
索回路1において、第1の実施の形態ではマスク型検索
装置11〜13と同数のCAM31〜33が設けられて
いたのに対して、この実施の形態では、図6に示すよう
にただ1つのCAM34が設けられている。
【0058】CAM34は、第1の実施の形態のCAM
31〜33がそれぞれ有していたエントリーデータのす
べてを有する。一次検索装置11〜13及び演算装置2
0は、第1の実施の形態のものと同じである。
【0059】この実施の形態にかかるルータの動作は、
第1の実施の形態のものとほぼ同じであるが、第1の実
施の形態のようにワイヤードORをとることなく、CA
M34の出力データが最終結果アドレスとなる。
【0060】以上説明したように、CAM34の容量が
一次検索装置11〜13の容量よりも大きければ、CA
Mの数を一次検索装置の数よりも少なくしても正しい最
終結果アドレス(最長一致データ)を得ることができ
る。
【0061】[第3の実施の形態]この実施の形態にか
かるネットワーク、アドレスデータ及びルータは、第1
の実施の形態のものとほぼ同じに構成されているが、ア
ドレス検索回路1の構成が第1の実施の形態のものと異
なる。
【0062】図7は、この実施の形態にかかるアドレス
検索回路1の構成を示すブロック図である。アドレス検
索回路1において、第1の実施の形態ではマスク型検索
装置11〜13と同数のCAM31〜33が設けられて
いたのに対して、この実施の形態では、図7に示すよう
に4つのCAM35〜38が設けられている。
【0063】CAM35〜38は、第1の実施の形態の
CAM31〜33の3つで有していたエントリーデータ
を、それぞれに分けて有する。一次検索装置11〜13
及び演算装置20は、第1の実施の形態のものと同じで
ある。
【0064】この実施の形態にかかるルータの動作は、
第1の実施の形態のものと同じであり、CAM35〜3
8の出力データに対してワイヤードORをとった結果
が、最終結果アドレスとなる。
【0065】以上説明したように、一次検索装置11〜
13よりも小容量のCAM35〜38を用いても、CA
Mの数を一次検索装置の数よりも多くすることによって
正しい最終結果アドレス(最長一致データ)を得ること
ができる。以上第1〜第3の実施の形態で示したよう
に、一次検索装置の数とCAMの数との関係は、その容
量に従って任意に設定することができる。
【0066】[第4の実施の形態]この実施の形態にか
かるネットワーク、アドレスデータ及びルータは、第1
の実施の形態のものとほぼ同じに構成されているが、ア
ドレス検索回路1の構成が第1の実施の形態のものと異
なる。
【0067】図8は、この実施の形態にかかるアドレス
検索回路1の構成を示すブロック図である。この実施の
形態のアドレス検索回路1では、演算装置21の構成が
第1の実施の形態のものと異なる。CAM41〜43へ
の入力データは、原検索データのみとなる。CAM41
が記憶するエントリーデータはそれぞれ、一次検索装置
11〜13が記憶するエントリーデータに一致する。
【0068】図9は、図8の演算装置21の構成を詳細
に示すブロック図である。演算装置21は、図9に示す
ように、論理和回路21aと一致回路21bとから構成
されている。
【0069】論理和回路21aは、ワイヤードORによ
って構成され、一次検索装置11〜13のそれぞれから
出力されたマスクデータの論理和をとる。一致回路21
bは、一次検索装置11〜13の出力されたマスクデー
タと論理和回路21aの出力データとをそれぞれ比較
し、一致する場合にはenable信号を、一致しない場合に
はdisable信号を対応するCAM41〜43に出力す
る。
【0070】CAM41〜43は、enable信号が入力さ
れた場合には、原検索データと一致するエントリーデー
タに連想されて記憶されているデータを出力する。一
方、disable信号が入力された場合には、CAM41〜
43は、動作が停止される。
【0071】以下、この実施の形態にかかるルータR1
において、第1の実施の形態のものと異なるアドレス検
索回路1の動作について、説明する。一次検索装置11
〜13は、第1の実施の形態のものと同一であり、原検
索データとして(3,2,1,0)が入力されると、そ
れぞれマスクデータ(3,3,0,0)、(3,0,
0,0)、(3,3,3,0)を出力する。
【0072】一次検索装置11〜13のそれぞれから出
力されたマスクデータ(3,3,0,0)、(3,0,
0,0)及び(3,3,3,0)は、演算装置21の論
理和回路21aによって論理和がとられ、論理和回路2
1aから(3,3,3,0)が出力される。論理和回路
21aの出力データ(3,3,3,0)は、一次検索装
置13から出力されたマスクデータと一致し、他の一次
検索装置11、12から出力されたマスクデータとは一
致しない。このため、一致回路21bは、CAM41、
42にdisable信号を送り、CAM43にenable信号を
送る。
【0073】enable信号が入力されたCAM43は、原
検索データ(3,2,1,0)に一致するエントリーデ
ータ(3,2,1,*)に連想記憶されているデータ
(3,2,1,*)を出力する。一方、disable信号が
入力されたCAM41、42からは、動作が停止され、
何のデータも出力されない。このため、CAM43の出
力データ(3,2,1,*)は、CAM41、42の出
力データとワイヤードORがとられても、そのまま最終
結果アドレス(最長一致データ)となり、アドレス検索
回路1から出力される。
【0074】なお、この実施の形態にかかるアドレス検
索回路1を拡張する場合には、第1の実施の形態の場合
と同様に、一次検索装置とCAMとをそれぞれ追加すれ
ばよい。
【0075】以上説明したように、この実施の形態のル
ータR1においても、パケットの次の出力先となるエン
トリーデータの追加を容易に行うことができる。しか
も、アドレス検索回路1がハードウェアによって構成さ
れているため、パケットの出力先の決定が高速に行え
る。
【0076】[第5の実施の形態]この実施の形態にか
かるネットワーク、アドレスデータ及びルータは、第1
の実施の形態のものとほぼ同じに構成されているが、ア
ドレス検索回路1の構成が第1の実施の形態のものと異
なる。
【0077】図10は、この実施の形態にかかるアドレ
ス検索回路1の構成を示すブロック図である。この実施
の形態のアドレス検索回路1は、図10に示すように、
一次検索装置51〜53と、演算装置22とから構成さ
れている。
【0078】一次検索装置51〜53はそれぞれ、アド
レスデータデータがマスクされたエントリーデータと、
各エントリーデータに対応するマスクデータとを格納す
る。一次検索装置51〜53はそれぞれ、後述するよう
に入力されたアドレスデータ(原検索データ)を各エン
トリーデータと比較し、一致するもののうちでマスクな
しの部分がもっとも長いエントリーデータに対応するマ
スクデータを出力する。
【0079】一次検索装置51〜53は、また、入力さ
れたアドレスデータに一致するエントリーデータのうち
で、マスク以外の部分がもっとも長いエントリーデータ
を、一致アドレスとして出力する。
【0080】この実施の形態において、一次検索装置5
1には、エントリーデータとして(3,*,*,*)と
(3,2,1,*)とが、これらのエントリーデータに
対応するマスクデータとして(3,0,0,0)と
(3,3,3,0)とが、格納されているものとする。
一次検索装置52には、エントリーデータとして(3,
2,*,*)と(3,2,0,*)とが、マスクデータ
として(3,3,0,0)と(3,3,3,0)とが、
格納されているものとする。一次検索装置53には、エ
ントリーデータとして(3,1,*,*)と(3,3,
*,*)とが、マスクデータとして(3,3,0,0)
と(3,3,0,0)とが、格納されているものとす
る。
【0081】演算装置22は、図11に示すように、論
理和回路22aと、一致回路22b〜22dと、論理和
回路22eとから構成されている。論理和回路22a
は、ワイヤードORによって構成され、一次検索装置5
1〜53のそれぞれから出力されたマスクデータの論理
和をとり、その結果を一致回路22b〜22dに出力す
る。
【0082】一致回路22b〜22dは、それぞれ一次
検索装置51〜53から出力されたマスクデータと、論
理和回路22aの出力データと、一次検索回路51〜5
3から出力された一致アドレスとの入力端子を有する。
一致回路22a〜22dは、一次検索装置51〜53か
ら出力されたマスクデータと論理和回路22aの出力デ
ータとを比較し、両者が一致する場合には、入力した一
致アドレスを出力する。
【0083】論理和回路22eは、ワイヤードORによ
って構成され、一致回路22b〜22dの出力データの
論理和をとって、最終結果アドレス(最長一致データ)
として出力する。
【0084】以下、この実施の形態にかかるルータR1
において、第1の実施の形態のものと異なるアドレス検
索回路1の動作について、図12を参照して説明する。
一次検索装置51〜53は、原検索データとして(3,
2,1,0)が入力されると、それぞれマスクなしの部
分がもっとも長いエントリーデータに対応するマスクデ
ータ(3,3,3,0)、(3,3,0,0)、(0,
0,0,0)を出力する。
【0085】一次検索装置51〜53には、それぞれが
出力したマスクデータ(3,3,3,0)、(3,3,
0,0)、(0,0,0,0)が入力される。一次検索
装置51、52は、入力されたマスクデータに従って、
一致アドレス(3,2,1,*)、(3,2,*,*)
を出力する。一次検索装置53は、出力するマスクデー
タが(0,0,0,0)であり、対応するエントリーデ
ータがないため、一致アドレスを出力しない。
【0086】一方、演算装置22において、論理和回路
22aは、一次検索装置51〜53から出力されたマス
クデータ(3,3,3,0)、(3,3,0,0)、
(0,0,0,0)の論理和をとり、(3,3,3,
0)を比較回路22b〜22dに出力する。
【0087】比較回路22b〜22dは、まず、それぞ
れ一次検索装置51〜53から出力されたマスクデータ
(3,3,3,0)、(3,3,0,0)、(0,0,
0,0)を、論理和回路22aの出力データ(3,3,
3,0)と比較する。ここで、比較回路22bは、その
比較結果が一致となるので、一次検索装置51からの一
致アドレス(3,2,1,*)を出力する。一方、比較
回路22c、22dは、その比較結果が一致とならない
ため、一次検索装置52、53からの一致アドレスを出
力しない。
【0088】そして、論理和回路22eを介することに
よって、比較回路22bから出力された(3,2,1,
*)が、最終結果アドレスとして出力される。
【0089】なお、この実施の形態にかかるアドレス検
索回路1を拡張する場合には、一次検索装置を追加し、
それに合わせて演算装置22の構成を拡張すればよい。
【0090】以上説明したように、この実施の形態のル
ータR1においても、パケットの次の出力先となるエン
トリーデータの追加を容易に行うことができる。しか
も、アドレス検索回路1がハードウェアによって構成さ
れているため、パケットの出力先の決定が高速に行え
る。
【0091】[第6の実施の形態]この実施の形態にか
かるネットワーク、アドレスデータ及びルータは、第1
の実施の形態のものとほぼ同じに構成されているが、ア
ドレス検索回路1の構成が第1の実施の形態のものと異
なる。
【0092】図13は、この実施の形態にかかるアドレ
ス検索回路1の構成を示すブロック図である。この実施
の形態のアドレス検索回路1は、図13に示すように、
一次検索装置51〜53と、演算装置23とから構成さ
れている。
【0093】一次検索装置51〜53は、第5の実施の
形態のものと同一であるが、この実施の形態では、自身
が出力したマスクデータの代わりに、後述する演算装置
23の論理和回路の出力データが入力される。
【0094】演算装置23は、図14に示すように、論
理和回路23aと、最大値検出回路23bと、セレクタ
23cとから構成される。論理和回路23aは、一次検
索装置51〜53から出力されたマスクデータの論理和
をとって出力する。論理和回路23aの出力データは、
一次検索装置51〜53のそれぞれに入力される。この
データに基づいて、一次検索装置51〜53は、一致ア
ドレスを出力する。
【0095】最大値検出回路23bは、一次検索装置5
1〜53から出力されたマスクデータのうちで、最大値
をとるものを検出し、その検出結果に対応する選択信号
をセレクタ23cに出力する。セレクタ23cは、最大
値検出回路23bから入力された選択信号に基づいて、
一次検出装置51〜53のそれぞれから出力された一致
アドレスを選択して出力する。
【0096】以下、この実施の形態にかかるルータR1
において、第1の実施の形態のものと異なるアドレス検
索回路1の動作について、図15を参照して説明する。
一次検索装置51〜53は、原検索データとして(3,
2,1,0)が入力されると、それぞれマスクなしの部
分がもっとも長いエントリーデータに対応するマスクデ
ータ(3,3,3,0)、(3,3,0,0)、(0,
0,0,0)を出力する。
【0097】論理和回路23aは、一次検索装置51〜
53から出力されたマスクデータ(3,3,3,0)、
(3,3,0,0)、(0,0,0,0)の論理和をと
り、(3,3,3,0)を一次検索装置51〜53に出
力する。一次検索装置51はそれぞれ、入力されたマス
クデータ(3,3,3,0)に基づいて、一致アドレス
(3,2,1,*)を出力する。一方、一次検索装置5
2、53は、対応するエントリーデータがないため、一
致アドレスを出力しない。
【0098】一方、最大値検出回路23bは、一次検索
装置51〜53から出力されたマスクデータ(3,3,
3,0)、(3,3,0,0)、(0,0,0,0)の
うち(3,3,3,0)が最大値となることを検出し、
対応する選択信号をセレクタ23cに出力する。この選
択信号に基づいて、セレクタ23cは、一次検索装置5
1から出力された一致アドレス(3,2,1,*)を、
最終結果アドレスとして出力する。
【0099】なお、この実施の形態にかかるアドレス検
索回路1を拡張する場合には、一次検索装置を追加し、
それに合わせて演算装置23の構成を拡張すればよい。
【0100】以上説明したように、この実施の形態のル
ータR1においても、パケットの次の出力先となるエン
トリーデータの追加を容易に行うことができる。しか
も、アドレス検索回路1がハードウェアによって構成さ
れているため、パケットの出力先の決定が高速に行え
る。
【0101】[第7の実施の形態]この実施の形態にか
かるネットワーク、アドレスデータ及びルータは、第1
の実施の形態のものとほぼ同じに構成されているが、ア
ドレス検索回路1の構成が第1の実施の形態のものと異
なる。
【0102】図16は、この実施の形態にかかるアドレ
ス検索回路1の構成を示すブロック図である。この実施
の形態にかかるアドレス検索回路1は、図16に示すよ
うに、一次検索装置51〜53から構成されている。一
次検索装置51〜53は、第5の実施の形態のものと同
一である。
【0103】この実施の形態において、一次検索装置5
1〜53のそれぞれから出力されたマスクデータは、ワ
イヤードOR71によって論理和がとられ、一次検索装
置51〜53に入力される。一次検索装置51〜53の
それぞれから出力された一致アドレスは、ワイヤードO
R72によって論理和がとられ、最終結果アドレスとし
て出力される。
【0104】なお、この実施の形態にかかるアドレス検
索回路1を拡張する場合には、一次検索装置を追加し、
追加した一次検索装置を配線接続して、さらにワイヤー
ドOR71、72によってその出力データの論理和をと
ればよい。
【0105】以上説明したように、この実施の形態のル
ータR1では、パケットの次の出力先となるエントリー
データの追加は、一次検索装置の追加と配線だけによっ
て行うことができるため、第1〜第6の実施の形態のも
のよりもさらに容易である。しかも、アドレス検索回路
1がハードウェアによって構成されているため、パケッ
トの出力先の決定が高速に行える。
【0106】[第8の実施の形態]この実施の形態にか
かるネットワーク、アドレスデータ及びルータは、第1
の実施の形態のものとほぼ同じに構成されているが、ア
ドレス検索回路1の構成が第1の実施の形態のものと異
なる。
【0107】図17は、この実施の形態にかかるアドレ
ス検索回路1の構成を示すブロック図である。この実施
の形態のアドレス検索回路1は、図17に示すように、
一次検索装置61〜63と、演算装置24とから構成さ
れている。
【0108】一次検索装置61〜63はそれぞれ、アド
レスデータデータがマスクされたエントリーデータと、
各エントリーデータに対応するマスクデータとを格納す
る。一次検索装置61〜63はそれぞれ、後述するよう
に入力されたアドレスデータ(原検索データ)を各エン
トリーデータと比較し、第1のクロック(以下、クロッ
ク1という)が入力されたときに、一致するもののうち
でマスク以外の部分がもっとも長いエントリーデータに
対応するマスクデータを出力する。一次検索装置61〜
63は、第2のクロック(以下、クロック2という)が
入力されたときに、演算装置24から入力されてきたデ
ータに対応するエントリーデータを出力する。
【0109】この実施の形態において、一次検索装置6
1〜63にはそれぞれ、第1の実施の形態の一次検索装
置11と同一のエントリーデータとマスクデータとが記
憶されている。
【0110】演算装置24は、クロック入力端子付きの
論理和回路によって構成されている。演算装置24は、
クロック1が入力されたときには、一次検索装置61〜
63の出力データの論理和をとり、一次検索装置61〜
63に出力する。演算装置24は、クロック2が入力さ
れたときには、一次検索装置61〜63の出力データの
論理和をとり、最終結果アドレスとして出力する。
【0111】なお、クロック1及びクロック2の長さ
は、一次検索装置61〜63及び演算装置24における
出力データの伝播遅延に比べて十分な長さがあるものと
する。
【0112】以下、この実施の形態にかかるルータR1
において、第1の実施の形態のものと異なるアドレス検
索回路1の動作について、図18及び図19を参照して
説明する。
【0113】クロック1が入力されたとき、原検索デー
タとして(3,2,1,0)が入力されると、一次検索
装置51〜53は、図18に示すように、それぞれマス
クなしの部分がもっとも長いエントリーデータに対応す
るマスクデータ(3,3,3,0)、(3,3,0,
0)、(0,0,0,0)を出力する。
【0114】これらのマスクデータ(3,3,3,
0)、(3,3,0,0)、(0,0,0,0)は、演
算装置24によって論理和がとられ、その演算結果であ
る(3,3,3,0)が一次検索装置61〜63に入力
される。
【0115】クロック2が入力されたときには、図19
に示すように、一次検索装置63は、クロック1のタイ
ミングで演算装置24から入力されてきたデータ(3,
3,3,0)に従って、一致アドレス(3,2,1,
*)を出力する。一方、一次検索装置61、62は、演
算装置24から入力されたデータに対応し、しかも入浴
されたアドレス(原検索データ)である(3,2,1,
0)に対応するエントリーデータを記憶していないた
め、一次検索装置61、62からはデータが出力されな
い。このため、演算装置24から(3,2,1,*)が
最終結果アドレスとして出力される。
【0116】なお、この実施の形態にかかるアドレス検
索回路1を拡張する場合には、一次検索装置を追加し、
それに合わせて演算装置24の構成を拡張すればよい。
【0117】以上説明したように、この実施の形態のル
ータR1においても、パケットの次の出力先となるエン
トリーデータの追加を容易に行うことができる。しか
も、アドレス検索回路1がハードウェアによって構成さ
れているため、パケットの出力先の決定が高速に行え
る。
【0118】[実施の形態の変形]本発明は、上記の第
1〜第8の実施の形態のものに限られず、種々の変形が
可能である。以下、上記の第1〜第8の実施の形態の変
形態様について、説明する。
【0119】上記の第1〜第8の実施の形態では、ワイ
ヤードORによって論理和回路を構成していた。しかし
ながら、トランジスタやダイオードなどのアクティブ素
子の組み合わせによって構成した論理和回路を用いても
よい。
【0120】上記の第1〜第4、第8の実施の形態で
は、演算装置21、24に論理和回路を用いていた。し
かしながら、演算装置21、24には、入力データのう
ちの最大値を出力する回路や、論理積回路(負論理)を
用いてもよい。オープンドレインにしたベクトルをバス
結合して、これらのバスをプルアップしてもよい。
【0121】上記の第1〜第8の実施の形態では、原検
索データとなるアドレスデータは、2ビットずつに区切
られた8ビットで構成され、また、マスクデータも2ビ
ットを単位としていた。しかしながら、原検索データと
なるアドレスデータの構成ビット数は、任意である。ま
た、マスクデータも2ビットを単位とするものに限られ
ず、1ビット以上の任意のビット数を単位とすることが
できる。
【0122】
【発明の効果】以上説明したように、本発明によれば、
最長一致データの検索を高速に行えると共に、エントリ
ーデータの拡張にも容易に対応することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態にかかるルータが適
用されるパケット交換ネットワークの構成を示す図であ
る。
【図2】図1のルータの構成を示すブロック図である。
【図3】本発明の第1の実施の形態にかかるアドレス検
索回路の構成を示すブロック図である。
【図4】本発明の第1の実施の形態にかかるアドレス検
索回路の動作を説明する図である。
【図5】本発明の第1の実施の形態にかかるアドレス検
索回路の拡張例を示す図である。
【図6】本発明の第2の実施の形態にかかるアドレス検
索回路の構成を示すブロック図である。
【図7】本発明の第3の実施の形態にかかるアドレス検
索回路の構成を示すブロック図である。
【図8】本発明の第4の実施の形態にかかるアドレス検
索回路の構成を示すブロック図である。
【図9】図8の演算装置の構成を示すブロック図であ
る。
【図10】本発明の第5の実施の形態にかかるアドレス
検索回路の構成を示すブロック図である。
【図11】図10の演算装置の構成を示すブロック図で
ある。
【図12】本発明の第5の実施の形態にかかるアドレス
検索回路の動作を説明する図である。
【図13】本発明の第6の実施の形態にかかるアドレス
検索回路の構成を示すブロック図である。
【図14】図13の演算装置の構成を示すブロック図で
ある。
【図15】本発明の第6の実施の形態にかかるアドレス
検索回路の動作を説明する図である。
【図16】本発明の第7の実施の形態にかかるアドレス
検索回路の構成を示すブロック図である。
【図17】本発明の第8の実施の形態にかかるアドレス
検索回路の構成を示すブロック図である。
【図18】本発明の第8の実施の形態にかかるアドレス
検索回路の動作を説明する図である。
【図19】本発明の第8の実施の形態にかかるアドレス
検索回路の動作を説明する図である。
【図20】従来例の最長一致データの検索に用いられる
Radix Treeを説明する図である。
【符号の説明】
R1、R2−1〜R2−3、R3−1〜R3−3 ルー
タ 1 アドレス検索回路 2 ヘッダ抽出回路 3 スイッチ 10〜13 一次検索装置 20〜24 演算装置 21a 論理和回路 21b 一致回路 22a 論理和回路 22b〜22d 一致回路 22e 論理和回路 23a 論理和回路 23b〜23d 一致回路 23e 論理和回路 30〜38、41〜43 CAM(連想記憶装置) 51〜53 一次検索装置 61〜63 一次検索装置 71、72 ワイヤードOR

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】マスクされた第1のエントリーデータと該
    第1のエントリーデータに対応するマスクデータとを対
    応付けてそれぞれ少なくとも1つ記憶し、外部から入力
    された検索すべきデータと一致する第1のエントリーデ
    ータのうちでマスク以外の部分が最も長いものに対応す
    るマスクデータをそれぞれ出力する複数個の一次検索装
    置と、 前記複数個の一次検索装置から出力されたマスクデータ
    のうちでマスク以外の部分が最も長いマスクデータを出
    力する演算装置と、 前記第1のエントリーデータと前記マスクデータとを並
    べた第2のエントリーデータに前記第1のエントリーデ
    ータを連想させて記憶し、前記検索すべきデータと前記
    演算装置から出力されたマスクデータとを並べたデータ
    を入力して対応する第1のエントリーデータを出力す
    る、少なくとも1つからなる連想メモリと、を備えるこ
    とを特徴とする最長一致検索装置。
  2. 【請求項2】前記演算装置は、前記複数の一次検索装置
    のそれぞれから出力されたマスクデータの論理和をとる
    論理和回路によって構成されていることを特徴とする請
    求項1に記載の最長一致検索装置。
  3. 【請求項3】前記演算装置は、前記複数の一次検索装置
    のそれぞれから出力されたマスクデータの最大値を求め
    る最大値回路によって構成されていることを特徴とする
    請求項1に記載の最長一致検索装置。
  4. 【請求項4】マスクされた第1のエントリーデータと該
    エントリーデータに対応するマスクデータとを対応付け
    てそれぞれ少なくとも1つ記憶し、外部から入力された
    検索すべきデータと一致するエントリーデータのうちで
    マスク以外の部分が最も長いものに対応するマスクデー
    タをそれぞれ出力する複数個の一次検索装置と、 前記複数個の一次検索装置から出力されたマスクデータ
    のうちでマスク以外の部分が最も長いマスクデータを求
    め、該求めたマスクデータと一致すマスクデータを出力
    している前記複数の一次検索装置に対応してイネーブル
    信号を出力する演算装置と、 それぞれ対応する前記複数個の一次検索装置に記憶され
    ているエントリーデータに該エントリーデータを連想さ
    せて記憶し、前記検索すべきデータを入力して対応する
    エントリーデータを出力する複数の連想メモリと、を備
    えることを特徴とする最長一致検索装置。
  5. 【請求項5】マスクされたエントリーデータと該エント
    リーデータに対応するマスクデータとをそれぞれ少なく
    とも1つ記憶し、外部から入力された検索すべきデータ
    と一致するエントリーデータのうちでマスク以外の部分
    が最も長いものに対応するマスクデータをそれぞれ出力
    し、前記出力されたマスクデータに対応するエントリー
    データをさらに出力する複数個の一次検索装置と、 前記複数個の一次検索装置から出力されたマスクデータ
    のうちでマスク以外の部分が最も長いマスクデータに対
    応する前記複数個の一次検索装置から出力されたエント
    リーデータを出力する演算装置と、を備えることを特徴
    とする最長一致検索装置。
  6. 【請求項6】マスクされたエントリーデータと該エント
    リーデータに対応する第1のマスクデータとをそれぞれ
    少なくとも1つ記憶し、外部から入力された検索すべき
    データと一致するエントリーデータのうちでマスク以外
    の部分が最も長いものに対応する第1のマスクデータを
    それぞれ出力し、入力された第2のマスクデータに対応
    するエントリーデータをさらに出力する複数個の一次検
    索装置と、 前記複数個の一次検索装置から出力された第1のマスク
    データのうちでマスク以外の部分が最も長いものを前記
    複数個の一次検索装置のそれぞれに入力する前記第2の
    マスクデータとして出力する第1の演算装置と、 前記複数個の一次検索装置から出力されたエントリーデ
    ータのうちで前記第1の演算装置が出力した前記第2の
    マスクデータに対応するものを出力する第2の演算装置
    と、を備えることを特徴とする最長一致検索装置。
  7. 【請求項7】マスクされたエントリーデータと該エント
    リーデータに対応する第1のマスクデータとをそれぞれ
    少なくとも1つ記憶し、外部から入力された検索すべき
    データと一致するエントリーデータのうちでマスク以外
    の部分が最も長いものに対応する第1のマスクデータを
    それぞれ出力し、入力された第2のマスクデータに対応
    するエントリーデータをさらに出力する複数個の一次検
    索装置と、 前記複数個の一次検索装置から出力された第1のマスク
    データの論理和をとって、前記複数個の一次検索装置の
    それぞれに入力する前記第2のマスクデータとして出力
    する第1の論理和回路と、 前記複数個の一次検索装置から出力されたエントリーデ
    ータの論理和をとる第2の論理和回路と、を備えること
    を特徴とする最長一致検索装置。
  8. 【請求項8】前記第1、第2の論理和回路はそれぞれ、
    出力線の対応するビット毎を直接つないだワイヤード論
    理和回路によって構成されていることを特徴とする請求
    項7に記載の最長一致検索装置。
  9. 【請求項9】マスクされたエントリーデータと該エント
    リーデータに対応する第1のマスクデータとをそれぞれ
    少なくとも1つ記憶し、第1のクロックに応答して外部
    から入力された検索すべきデータと一致するエントリー
    データのうちでマスク以外の部分が最も長いものに対応
    する第1のマスクデータをそれぞれ出力し、第2のクロ
    ックに応答して入力された第2のマスクデータに対応す
    るエントリーデータをさらに出力する複数個の一次検索
    装置と、 前記複数個の一次検索装置から出力された第1のマスク
    データのうちでマスク以外の部分が最も長いものを、前
    記複数個の一次検索装置のそれぞれに入力する前記第2
    のマスクデータとして前記第1のクロックに応答して出
    力する第1の演算装置と、 前記複数個の一次検索装置から出力されたエントリーデ
    ータのうちでマスク以外の部分が最も長いものを、前記
    第2のクロックに応答して出力する第2の演算装置と、
    を備えることを特徴とする最長一致検索装置。
  10. 【請求項10】前記第1、第2の演算装置は、同一の論
    理和回路によって構成されていることを特徴とする請求
    項9に記載の最長一致検索装置。
  11. 【請求項11】外部から入力されたパケットから、該パ
    ケットに付されているアドレスデータを抽出するアドレ
    スデータ抽出回路と、 マスクされた第1のエントリーデータと該第1のエント
    リーデータに対応するマスクデータとを対応付けてそれ
    ぞれ少なくとも1つ記憶し、前記アドレスデータ抽出回
    路が抽出したアドレスデータと一致する第1のエントリ
    ーデータのうちでマスク以外の部分が最も長いものに対
    応するマスクデータをそれぞれ出力する複数個の一次検
    索装置と、 前記複数個の一次検索装置から出力されたマスクデータ
    のうちでマスク以外の部分が最も長いマスクデータを出
    力する演算装置と、 前記第1のエントリーデータと前記マスクデータとを並
    べた第2のエントリーデータに前記第1のエントリーデ
    ータを連想させて記憶し、前記検索すべきデータと前記
    演算装置から出力されたマスクデータとを並べたデータ
    を入力して対応する第1のエントリーデータを出力す
    る、少なくとも1つからなる連想メモリと、 前記連想メモリから出力された第1のエントリーデータ
    に従って出力先を切り換えて、前記パケットを出力する
    スイッチ回路と、を備えることを特徴とするルータ。
  12. 【請求項12】外部から入力されたパケットから、該パ
    ケットに付されているアドレスデータを抽出するアドレ
    スデータ抽出回路と、 マスクされたエントリーデータと該エントリーデータに
    対応するマスクデータとを対応付けてそれぞれ少なくと
    も1つ記憶し、前記アドレスデータ抽出回路が抽出した
    アドレスデータと一致するエントリーデータのうちでマ
    スク以外の部分が最も長いものに対応するマスクデータ
    をそれぞれ出力する複数個の一次検索装置と、 前記複数個の一次検索装置から出力されたマスクデータ
    のうちでマスク以外の部分が最も長いマスクデータを求
    め、該求めたマスクデータと一致すマスクデータを出力
    している前記複数の一次検索装置に対応してイネーブル
    信号を出力する演算装置と、 それぞれ対応する前記複数個の一次検索装置に記憶され
    ているエントリーデータに該エントリーデータを連想さ
    せて記憶し、前記検索すべきデータを入力して対応する
    エントリーデータを出力する複数の連想メモリと、 前記連想メモリから出力されたエントリーデータに従っ
    て出力先を切り換えて、前記パケットを出力するスイッ
    チ回路と、を備えることを特徴とするルータ。
  13. 【請求項13】外部から入力されたパケットから、該パ
    ケットに付されているアドレスデータを抽出するアドレ
    スデータ抽出回路と、 マスクされたエントリーデータと該エントリーデータに
    対応するマスクデータとをそれぞれ少なくとも1つ記憶
    し、前記アドレスデータ抽出回路が抽出したアドレスデ
    ータと一致するエントリーデータのうちでマスク以外の
    部分が最も長いものに対応するマスクデータをそれぞれ
    出力し、前記出力されたマスクデータに対応するエント
    リーデータをさらに出力する複数個の一次検索装置と、 前記複数個の一次検索装置から出力されたマスクデータ
    のうちでマスク以外の部分が最も長いマスクデータに対
    応する前記複数個の一次検索装置から出力されたエント
    リーデータを出力する演算装置と、 前記演算装置から出力されたエントリーデータに従って
    出力先を切り換えて、前記パケットを出力するスイッチ
    回路と、を備えることを特徴とするルータ。
  14. 【請求項14】外部から入力されたパケットから、該パ
    ケットに付されているアドレスデータを抽出するアドレ
    スデータ抽出回路と、 マスクされたエントリーデータと該エントリーデータに
    対応する第1のマスクデータとをそれぞれ少なくとも1
    つ記憶し、前記アドレスデータ抽出回路が抽出したアド
    レスデータと一致するエントリーデータのうちでマスク
    以外の部分が最も長いものに対応する第1のマスクデー
    タをそれぞれ出力し、入力された第2のマスクデータに
    対応するエントリーデータをさらに出力する複数個の一
    次検索装置と、 前記複数個の一次検索装置から出力された第1のマスク
    データのうちでマスク以外の部分が最も長いものを前記
    複数個の一次検索装置のそれぞれに入力する前記第2の
    マスクデータとして出力する第1の演算装置と、 前記複数個の一次検索装置から出力されたエントリーデ
    ータのうちで前記第1の演算装置が出力した前記第2の
    マスクデータに対応するものを出力する第2の演算装置
    と、 前記第2の演算装置から出力されたエントリーデータに
    従って出力先を切り換えて、前記パケットを出力するス
    イッチ回路と、を備えることを特徴とするルータ。
  15. 【請求項15】外部から入力されたパケットから、該パ
    ケットに付されているアドレスデータを抽出するアドレ
    スデータ抽出回路と、 マスクされたエントリーデータと該エントリーデータに
    対応する第1のマスクデータとをそれぞれ少なくとも1
    つ記憶し、前記アドレスデータ抽出回路が抽出したアド
    レスデータと一致するエントリーデータのうちでマスク
    以外の部分が最も長いものに対応する第1のマスクデー
    タをそれぞれ出力し、入力された第2のマスクデータに
    対応するエントリーデータをさらに出力する複数個の一
    次検索装置と、 前記複数個の一次検索装置から出力された第1のマスク
    データの論理和をとって、前記複数個の一次検索装置の
    それぞれに入力する前記第2のマスクデータとして出力
    する第1の論理和回路と、 前記複数個の一次検索装置から出力されたエントリーデ
    ータの論理和をとる第2の論理和回路と、 前記第2の論理和回路の演算結果に従って出力先を切り
    換えて、前記パケットを出力するスイッチ回路と、を備
    えることを特徴とするルータ。
  16. 【請求項16】外部から入力されたパケットから、該パ
    ケットに付されているアドレスデータを抽出するアドレ
    スデータ抽出回路と、 マスクされたエントリーデータと該エントリーデータに
    対応する第1のマスクデータとをそれぞれ少なくとも1
    つ記憶し、第1のクロックに応答して前記アドレスデー
    タ抽出回路が抽出したアドレスデータと一致するエント
    リーデータのうちでマスク以外の部分が最も長いものに
    対応する第1のマスクデータをそれぞれ出力し、第2の
    クロックに応答して入力された第2のマスクデータに対
    応するエントリーデータをさらに出力する複数個の一次
    検索装置と、 前記複数個の一次検索装置から出力された第1のマスク
    データのうちでマスク以外の部分が最も長いものを、前
    記複数個の一次検索装置のそれぞれに入力する前記第2
    のマスクデータとして前記第1のクロックに応答して出
    力する第1の演算装置と、 前記複数個の一次検索装置から出力されたエントリーデ
    ータのうちでマスク以外の部分が最も長いものを、前記
    第2のクロックに応答して出力する第2の演算装置と、 前記第2の演算装置から出力されたエントリーデータに
    従って出力先を切り換えて、前記パケットを出力するス
    イッチ回路と、を備えることを特徴とするルータ。
JP6111098A 1998-03-12 1998-03-12 ルータ及び最長一致検索装置 Expired - Fee Related JP3166700B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP6111098A JP3166700B2 (ja) 1998-03-12 1998-03-12 ルータ及び最長一致検索装置
US09/266,466 US6570866B1 (en) 1998-03-12 1999-03-11 High-speed flexible longest match retrieval
CA002265302A CA2265302C (en) 1998-03-12 1999-03-11 High-speed flexible longest match retrieval

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6111098A JP3166700B2 (ja) 1998-03-12 1998-03-12 ルータ及び最長一致検索装置

Publications (2)

Publication Number Publication Date
JPH11261647A true JPH11261647A (ja) 1999-09-24
JP3166700B2 JP3166700B2 (ja) 2001-05-14

Family

ID=13161625

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6111098A Expired - Fee Related JP3166700B2 (ja) 1998-03-12 1998-03-12 ルータ及び最長一致検索装置

Country Status (3)

Country Link
US (1) US6570866B1 (ja)
JP (1) JP3166700B2 (ja)
CA (1) CA2265302C (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002091386A1 (fr) * 2001-04-25 2002-11-14 Terminus Technology Limited Memoire associative, procede de recherche dans ladite memoire, dispositif de reseau et systeme de reseau
EP1300854A1 (en) * 2000-06-16 2003-04-09 Terminus Technology Limited Associative memory, its retrieval method, router, and network system
US6839703B2 (en) 2000-05-15 2005-01-04 Fujitsu Limited Information apparatus, table retrieval apparatus, table retrieval method, and recording medium
WO2005013566A1 (ja) * 2003-07-31 2005-02-10 Fujitsu Limited データ検索方法及び装置
US7464200B2 (en) 2002-08-23 2008-12-09 Fujitsu Limited Output port determining apparatus
WO2014102924A1 (ja) * 2012-12-26 2014-07-03 株式会社高速屋 ビット判定回路、ビット列データ選択回路及びビット列データ選択方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7191168B1 (en) 1999-08-27 2007-03-13 At&T Corp. Fast prefix matching of bounded strings
US7296089B2 (en) * 1999-08-27 2007-11-13 At&T Corp. Method for improving web performance by adapting servers based on client cluster characterization
US7219160B1 (en) * 1999-08-27 2007-05-15 At&T Corp. Method for fast network-aware clustering
EP1250775A2 (en) * 1999-12-10 2002-10-23 Mosaid Technologies Incorporated Method and apparatus for longest match address lookup
US6880064B1 (en) * 2000-06-21 2005-04-12 Mosaid Technologies, Inc. Method and apparatus for physical width expansion of a longest prefix match lookup table
US6789180B1 (en) * 2001-09-28 2004-09-07 Cypress Semiconductor Corp. Method and apparatus for mask and/or counter address registers readback on the address bus in synchronous single and multi-port memories
US7362744B2 (en) * 2002-08-15 2008-04-22 International Business Machines Corporation Database management system and method of using it to transmit packets
US7796464B1 (en) 2003-06-27 2010-09-14 Cypress Semiconductor Corporation Synchronous memory with a shadow-cycle counter
US7433355B2 (en) * 2004-02-09 2008-10-07 Alcatel Lucent Filter based longest prefix match algorithm
US7403526B1 (en) * 2004-05-17 2008-07-22 Cisco Technology, Inc. Partitioning and filtering a search space of particular use for determining a longest prefix match thereon
US7746865B2 (en) 2004-12-07 2010-06-29 Intel Corporation Maskable content addressable memory
FR2916595A1 (fr) 2007-05-24 2008-11-28 Thomson Licensing Sas Procede de transmission de paquets de donnees
CN114268608A (zh) * 2021-12-20 2022-04-01 卓米私人有限公司 一种地址段检索方法、装置、电子设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5841874A (en) * 1996-08-13 1998-11-24 Motorola, Inc. Ternary CAM memory architecture and methodology
US5920886A (en) * 1997-03-14 1999-07-06 Music Semiconductor Corporation Accelerated hierarchical address filtering and translation using binary and ternary CAMs
US6181698B1 (en) * 1997-07-09 2001-01-30 Yoichi Hariguchi Network routing table using content addressable memory
US6370613B1 (en) * 1999-07-27 2002-04-09 Integrated Device Technology, Inc. Content addressable memory with longest match detect

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6839703B2 (en) 2000-05-15 2005-01-04 Fujitsu Limited Information apparatus, table retrieval apparatus, table retrieval method, and recording medium
EP1300854A1 (en) * 2000-06-16 2003-04-09 Terminus Technology Limited Associative memory, its retrieval method, router, and network system
EP1300854A4 (en) * 2000-06-16 2006-02-01 Terminus Technology Ltd ASSOCIATIVE MEMORY, EXTRACTION METHOD, ROUTER AND NETWORK SYSTEM
WO2002091386A1 (fr) * 2001-04-25 2002-11-14 Terminus Technology Limited Memoire associative, procede de recherche dans ladite memoire, dispositif de reseau et systeme de reseau
EP1385173A1 (en) * 2001-04-25 2004-01-28 Terminus Technology Limited Associative memory, method for searching the same, network device, and network system
US6956756B2 (en) 2001-04-25 2005-10-18 Terminus Technology Limited Associative memory, method for searching the same, network device, and network system
EP1385173A4 (en) * 2001-04-25 2005-10-26 Terminus Technology Ltd ASSOCIATIVE MEMORY, HIS SEARCH, NETWORK DEVICE AND NETWORK SYSTEM METHOD
US7397682B2 (en) 2001-04-25 2008-07-08 Terminus Technology Limited Associative memory having a mask function for use in network devices and network system
US7464200B2 (en) 2002-08-23 2008-12-09 Fujitsu Limited Output port determining apparatus
WO2005013566A1 (ja) * 2003-07-31 2005-02-10 Fujitsu Limited データ検索方法及び装置
WO2014102924A1 (ja) * 2012-12-26 2014-07-03 株式会社高速屋 ビット判定回路、ビット列データ選択回路及びビット列データ選択方法
JPWO2014102924A1 (ja) * 2012-12-26 2017-01-12 株式会社高速屋 ビット判定回路、ビット列データ選択回路及びビット列データ選択方法

Also Published As

Publication number Publication date
US6570866B1 (en) 2003-05-27
CA2265302A1 (en) 1999-09-12
JP3166700B2 (ja) 2001-05-14
CA2265302C (en) 2005-01-25

Similar Documents

Publication Publication Date Title
JP3166700B2 (ja) ルータ及び最長一致検索装置
US6392910B1 (en) Priority encoder with multiple match function for content addressable memories and methods for implementing the same
US6665297B1 (en) Network routing table
US7237058B2 (en) Input data selection for content addressable memory
US7349382B2 (en) Reverse path forwarding protection of packets using automated population of access control lists based on a forwarding information base
US6430190B1 (en) Method and apparatus for message routing, including a content addressable memory
US6452908B1 (en) Route searching circuit and communication apparatus using the same
US8130525B2 (en) Method and apparatus for configuring a content-addressable memory (CAM) design as binary CAM or ternary CAM
US20070058633A1 (en) Configurable network connection address forming hardware
CN112667526B (zh) 一种访问控制列表电路实现方法及其电路
US7035844B2 (en) FFS search and edit pipeline separation
CN109981464B (zh) 一种在fpga中实现的tcam电路结构及其匹配方法
US20180316613A1 (en) Scaling of switching tables with high bandwidth
US20040170042A1 (en) Multi-match detection circuit for use with content-addressable memories
US7107392B2 (en) Content addressable memory (CAM) device employing a recirculating shift register for data storage
JP3604548B2 (ja) アドレス一致検出装置、通信制御システム及びアドレス一致検出方法
CN110971526A (zh) 一种混合交换机fdb资源的流表扩展方法及装置
US6577520B1 (en) Content addressable memory with programmable priority weighting and low cost match detection
US6809944B2 (en) CAM with automatic next free address pointer
JP3558151B2 (ja) データ検索回路
JP2000030469A (ja) 連想メモリセル及び連想メモリ
JP2011002910A (ja) 検索処理装置及び検索処理方法
US6822886B2 (en) Reducing signal swing in a match detection circuit
US6934172B2 (en) Priority encoder for successive encoding of multiple matches in a CAM
JPH10190744A (ja) 情報記憶装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010206

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

Free format text: PAYMENT UNTIL: 20080309

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090309

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090309

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100309

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100309

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110309

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110309

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120309

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120309

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130309

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20130309

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20140309

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees