JP3489573B2 - パケット処理装置 - Google Patents

パケット処理装置

Info

Publication number
JP3489573B2
JP3489573B2 JP2001210161A JP2001210161A JP3489573B2 JP 3489573 B2 JP3489573 B2 JP 3489573B2 JP 2001210161 A JP2001210161 A JP 2001210161A JP 2001210161 A JP2001210161 A JP 2001210161A JP 3489573 B2 JP3489573 B2 JP 3489573B2
Authority
JP
Japan
Prior art keywords
packet
search
search information
cam
destination
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
JP2001210161A
Other languages
English (en)
Other versions
JP2003023437A (ja
Inventor
晴大 加賀野井
大 鎮目
康行 生貝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2001210161A priority Critical patent/JP3489573B2/ja
Priority to US10/091,392 priority patent/US7095742B2/en
Priority to CA 2375397 priority patent/CA2375397C/en
Priority to CN02119229A priority patent/CN1396748A/zh
Publication of JP2003023437A publication Critical patent/JP2003023437A/ja
Application granted granted Critical
Publication of JP3489573B2 publication Critical patent/JP3489573B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • 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/7453Address table lookup; Address filtering using hashing

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ルータなどにおい
てパケットの宛先解決等を行うパケット処理装置に関す
る。
【0002】
【従来の技術】従来から、ルータなどにおいて、パケッ
トの宛先解決等を行うために、パケット処理装置が使用
されている。従来、パケット処理装置において、パケッ
トの宛先解決処理、QoS情報の解決処理、あるいは、
必要に応じてパケットヘッダの更新処理等を、ソフトウ
ェア処理によって行う方法がある。
【0003】
【発明が解決しようとする課題】パケットの宛先解決等
をソフトウェア処理によって行う方法では、高速な処理
を実現できないという問題がある。この問題を解決する
方法として、ハードウェア構成によって実現する方法が
考えられる。
【0004】しかしながら、ハードウェアで実現する場
合、マルチプロトコル、マルチレイヤの処理を行うため
には、例えば、パケットフローを識別するためにマルチ
フィールドによって分類を行うテーブルであるMF(Mu
lti Field)Classsifyテーブル、フローを意
識したフォワードを行うためのフロー宛先解決テーブル
等の複数の検索テーブルを実装する必要があり、単に、
その各々を個別に処理するための回路やテーブルを用意
するような構成では、回路規模の増加を招いてしまうと
いう問題がある。
【0005】本発明は、パケットの宛先解決等の処理
を、簡単な構成で、高速に行なえるようにすることを課
題としている。
【0006】
【課題を解決するための手段】本発明によれば、伝送路
から受信したパケットの宛先解決を行った後に前記伝送
路へ前記パケットを出力するパケット処理装置におい
て、前記伝送路を介して受信したパケットを所定長のセ
ルに分割して出力するパケット受信手段と、前記パケッ
ト受信手段から受信した前記セルから所定の検索キーを
抽出する検索キー抽出手段と、前記検索キー抽出手段で
抽出した前記検索キーに基づく検索を行って、前記キー
に対応するメモリアドレスを出力するCAMと、少なく
とも宛先情報を記憶し、入力されたメモリアドレスに記
憶した情報を出力する検索情報記憶手段と、前記CAM
から受信した前記メモリアドレスに基づいて前記検索情
報記憶手段のメモリアドレスを算出し、前記検索情報記
憶手段に供給する検索情報読み出し手段と、前記検索情
報読み出し手段で読み出した前記検索情報記憶手段の情
報に基づいて、当該セルの宛先解決を行う宛先解決手段
と、前記宛先解決手段からのセルをパケット戻して前記
伝送路へ出力するパケット出力手段とを備えて成り、前
記パケット受信手段、検索キー抽出手段、CAM、検索
情報記憶手段、検索情報読み出し手段、宛先解決手段、
パケット出力手段はパイプライン処理を行うことを特徴
とするパケット処理装置が提供される。
【0007】パケット受信手段は、前記伝送路を介して
受信したパケットを所定長のセルに分割して出力する。
検索キー抽出手段は、前記パケット受信手段から受信し
た前記セルから所定の検索キーを抽出する。CAMは、
前記検索キー抽出手段で抽出した前記検索キーに基づく
検索を行って、前記キーに対応するメモリアドレスを出
力する。検索情報読み出し手段は、前記CAMから受信
した前記メモリアドレスに基づいて前記検索情報記憶手
段のメモリアドレスを算出し、前記検索情報記憶手段に
供給する。宛先解決手段は、前記検索情報読み出し手段
で読み出した前記検索情報記憶手段の情報に基づいて、
当該セルの宛先解決を行う。パケット出力手段は、前記
宛先解決手段からのセルをパケット戻して前記伝送路へ
出力する。このとき、前記パケット受信手段、検索キー
抽出手段、CAM、検索情報記憶手段、検索情報読み出
し手段、宛先解決手段、パケット出力手段はパイプライ
ン処理を行う。
【0008】ここで、前記パケット受信手段、検索キー
抽出手段、CAM、検索情報記憶手段、検索情報読み出
し手段、宛先解決手段、パケット出力手段の各ステージ
は、前記パケット受信手段に入力されるパケットの到達
間隔以下に設定されているように構成してもよい。ま
た、前記パケット受信手段、検索キー抽出手段、CA
M、検索情報記憶手段、検索情報読み出し手段、宛先解
決手段、パケット出力手段の処理時間は各ステージの時
間よりも短く設定されているように構成してもよい。
【0009】また、前記ステージの空き時間に前記CA
M及び検索情報記憶手段の少なくとも一方の保守を行う
保守手段を備えて成るように構成してもよい。また、前
記伝送路と前記パケット受信手段の間、及び、前記伝送
路と前記パケット出力手段の間に、タイミング調整用の
バッファ手段を備えて成るように構成してもよい。ま
た、前記パケット受信手段の後段と前記パケット出力手
段の前段の少なくとも一方に前記セルに対する所定の処
理を行う演算処理手段を備えて成るように構成してもよ
い。
【0010】
【発明の実施の形態】図1は、本発明の第1の実施の形
態に係るパケット処理装置のブロック図である。本第1
の実施の形態に係るパケット処理装置を備える装置とし
て、例えば、ルータがあげられる。図1において、11
はパケット受信手段としてのパケット入力回路、12は
検索キー抽出手段としての検索キー抽出回路、13はパ
イプライン検索が可能なCAM(Content Addressable
Memory)、14は検索情報抽出手段としての検索情報ア
ドレス送受信回路、15は検索情報記憶手段としての検
索情報格納メモリ、16は宛先解決手段としての検索情
報受信回路、17はパケット出力手段としてのパケット
出力回路で、いずれもハードウェアによって構成されて
いる。
【0011】ここで、CAM13はメモリ機能のみなら
ず検索機能を有しており、CAM13に予め記憶されて
いるデータと同一のデータをCAM13に入力すると、
CAM13は該データが記憶されているCAM13のア
ドレスを出力する。CAM13は、LPM(Longest Pr
efix Match)検索、様々な検索ビット幅による検索が可
能であり、検索キーの種類やビット幅に依存しないで高
速な検索が可能である。また、CAM13の記憶データ
が増加した場合にも検索性能の劣化がないという特性を
有しているため、CAM13のデータ量が多量の場合に
も、迅速な検索が可能である。
【0012】一方、検索情報格納メモリ15には、パケ
ットの宛先情報やクラス情報等が格納されている。尚、
パケット入力回路11、検索キー抽出回路12、検索情
報アドレス送受信回路14、検索情報受信回路16、パ
ケット出力回路17は、パケット処理手段としてのパケ
ット処理部10を構成している。パケット入力回路11
は、例えば、IP(Internet Protocol)パケットのよ
うな可変長のパケットを受信して、ATM(Asynchrono
us Transfer Mode)セルのように固定長に区切られた形
態の信号を出力する。ここで、パケット入力回路11か
ら出力される信号を今後セルと呼ぶことにする。
【0013】パケット入力回路11から出力されたセル
は、1ステージあたりnクロックのパイプラインで、パ
ケット処理装置の各構成要素(パケット入力回路11、
検索キー抽出回路12、CAM13、検索情報アドレス
送受信回路14、検索情報格納メモリ15、検索情報受
信回路16、パケット出力回路17)の各ステージを切
り替えながら処理が行われる。
【0014】IPパケットなどの宛先情報やQoSの情
報は多くの場合ヘッダ部分に格納されているので、仮に
セルよりも大きいサイズのパケットがパケット入力回路
11に入力され、パケット入力回路11から複数のセル
に分割されて出力される場合、各ステージにおいては先
頭のセルについてのみ処理を行い、2番目以降のセルに
ついては特に何の処理もする必要はない。従って、以降
の処理は先頭セルについてのみ行われ、後続する他のセ
ルについては何の処理もせずにパイプラインの各ステー
ジが切り替わる。
【0015】まず、検索キー抽出回路12は、パケット
入力回路11から受信したセルの中から必要な検索キー
を抽出し、次に、前記検索キーをパイプライン検索が可
能なCAM13に入力することにより、CAM13で検
索が実行される。ここで、検索キーは、パケットをどこ
へ転送するかを解決したり、どのような種類のパケット
が転送されてきたのか等を詳細に識別(Classificatio
n)するためのキーであり、例えばIPパケットの場
合、ヘッダの宛先アドレス、送信元アドレス、プロトコ
ルタイプ、サービスタイプ等のフィールドが検索キーと
して使用される。
【0016】CAM13は、検索キー抽出回路12から
入力された検索キーに基づいて検索処理を行い、検索の
結果ヒットしたCAM13のメモリアドレス(検索キー
が記憶されているCAM13のメモリアドレス)を出力
する。検索情報アドレス送受信回路14は、CAM13
から前記メモリアドレスを受信し、前記メモリアドレス
から、実際の検索情報が格納されている検索情報格納メ
モリ15のメモリアドレスを、CAM13のアドレスと
検索情報格納メモリ15のアドレスとを予め関連付けた
規則に基づいて算出する。
【0017】そして、検索情報アドレス送受信回路14
が該メモリアドレスを検索情報格納メモリ15に与える
ことにより、検索情報メモリアドレス15から、実際の
検索情報が得られることになる。即ち、検索情報格納メ
モリ15は、検索情報アドレス送受信回路14から入力
された前記メモリアドレスに記憶しているデータ(検索
情報)を検索情報受信回路16に出力する。検索情報受
信回路16は、前記検索情報に基づいて、パケット(直
接的にはセル)に対して必要なヘッダ更新や宛先の解決
を行った後、パケット出力回路17に出力する。パケッ
ト出力回路17は、入力回路11によって分割された複
数のセルを合成して一つのパケットとし、該更新された
パケットをネットワークに出力する。
【0018】nクロックによって構成されるパイプライ
ンの1ステージを、最短のパケット到着間隔(固定長セ
ルサイズに等しい)と同じかそれよりも小さい値にする
ことにより、本構成のパイプラインでパケット入力回路
11から連続的にパケットが到着したとしても、滞るこ
となくそのままの速度でパケット処理が可能となる。ま
た1ステージあたりnクロックのパイプラインとするこ
とにより、検索キー抽出回路12、CAM13での検索
処理が1パケットあたり1回の検索に限らずに複数回の
検索を行うことができ、1つのパケットに対して単一の
処理ではなく複数の処理を実行するために必要な情報を
得ることができる。
【0019】更に、前記パイプライン構成を実際にパケ
ット入力回路11からパケットが到着する速度よりも少
し速く動作させることにより、定期的にパイプライン処
理の各ステージに空き時間を作ることが可能になり、前
記空き時間を使って、図示しない保守手段により、CA
M13や外部メモリ15に記憶したデータの点検や更新
等の保守を行うことが可能になる。
【0020】図2は、図1に示すパケット処理装置のタ
イミング図である。図2では、説明を簡単にするために
3つのセルが連続して到着している場合の図を示してい
る。また、パイプラインのクロックサイクル(1ステー
ジあたりのクロック数n)は8クロックとしている。処
理の全体は、符号11〜符号17で示す7つのパイプラ
インステージで構成されており、符号11〜符号17
は、各々、パケット処理装置の構成要素である図1のパ
ケット入力回路11〜パケット出力回路17中の対応す
る符号を有する構成要素の処理を表している。以下、図
1及び図2を用いて本第1の実施の形態の動作を詳細に
説明する。
【0021】パケット入力回路11は伝送路1を介して
ネットワークからパケットを受信し、受信したパケット
を所定長にのセルに分割して出力する。本実施の形態で
は、前記セルは8クロック分の長さにされる。前記セル
は、その後も8クロックのパイプラインで検索キー抽出
回路12〜パケット出力回路17の各ステージを切り替
えながら処理が行われる。
【0022】まず、パケット入力回路11でパケットを
受信しつつどのようなパケットを受信したかとそれに必
要となる検索キーがどのようなものかを決定する。パケ
ット種別の判別方法としては、例えば、IPパケットを
カプセル化したイーサネット(登録商標)フレームの場
合、イーサネットのヘッダ中のフィールド(Payload Ty
pe)を判別することにより、IPパケットであることを
判別することができる。また、検索キーとしては、前述
したように、例えばIPパケットの場合、ヘッダの宛先
アドレス、送信元アドレス、プロトコルタイプ、サービ
スタイプ等のフィールドがある。
【0023】次に検索キー抽出回路12でセルの中から
必要な検索キーを抽出し、CAM13に前記検索キーを
出力して検索指示を与える。ここで、CAM13はパイ
プライン検索すなわち各クロックに応答して検索を行う
ことが可能なものを前提としている。従って検索キー抽
出回路12が処理を行うステージでは、1種類の検索キ
ーを抽出するだけでなく、1ステージ内に収まる範囲
(本実施の形態では1ステージあたり8クロックである
ため最大8回の検索が可能)で複数種類の検索キーを抽
出し、CAM13に検索指示を与えることもできる。更
に検索種類を増やしたい場合には、検索キー抽出回路1
2が処理を行うステージの数を増やすか、パイプライン
クロックのサイクル数nを増やせばよい。
【0024】CAM13は、検索キー抽出回路12から
検索キーを受信して、m(m:自然数)クロックのレイ
テンシをもって検索の結果ヒットしたアドレスを送出す
るので、検索情報アドレス送受信回路14はそれを受信
し実際の検索情報が格納されている検索情報格納メモリ
15のアドレス(検索情報アドレス)を算出し、該検索
情報アドレスを検索情報格納メモリ15に与える。検索
キー抽出回路12の処理ステージ12で複数種類の検索
を実行した場合には、それぞれの検索に対して上記動作
が繰り返えされる。
【0025】ここで、検索キー抽出回路12からCAM
13への検索キーの引き渡し処理とCAM13から検索
情報アドレス送受信回路14への検索情報アドレスの出
力処理、さらに前記検索情報アドレスを元にした検索情
報メモリ15への検索情報の読み出し指示が並列に実行
されるため、無駄なく常に検索処理を行うことが可能と
なる。
【0026】検索の結果得られた検索情報は、検索情報
格納メモリ15から検索情報受信回路16に出力され、
検索情報受信回路16は、前記検索情報に基づいて、パ
ケット(直接的にはセル)に対して必要なヘッダ更新や
宛先の解決を行う。ここで、検索キー抽出回路12にお
いて複数種類の検索指示が与えられている場合、検索情
報としても複数種類得ることができるので、その各々の
検索結果得られる検索情報に応じた処理を行ってもよい
し、複数種類の検索情報を合わせてあるいは、優先度を
付けて必要な処理を実行してもよい。
【0027】そして最後に、更新されたパケットがパケ
ット出力回路17から、伝送路2を介してネットワーク
へ出力される。図2では3つのセルが連続して到着して
いるが、例えばこのうち最初に到着したセルと2番目に
到着したセルで1つのパケットを構成している場合に
は、パケット入力回路11または検索キー抽出回路12
のステージにおいて、先頭セルかどうかを判別し、先頭
セルでない場合には上記処理は行わずに各パイプライン
ステージが切り替わるだけとなる。更に、このパイプラ
イン構成を、実際にパケット入力回路11からパケット
が到着する速度よりも少し速く動作させることにより、
定期的にパイプライン処理に空き時間(ステージ)を作
ることが可能になり、前記空き時間を使って図示しない
保守手段により、CAM13や外部メモリ15の保守を
行うことが可能になる。
【0028】以上述べたように、本第1の実施の形態に
係るパケット処理装置は、特に、伝送路から受信したパ
ケットの宛先解決を行った後に前記伝送路へ前記パケッ
トを出力するパケット処理装置において、伝送路1を介
して受信したパケットを所定長のセルに分割して出力す
るパケット入力回路11と、パケット入力回路11から
受信した前記セルから所定の検索キーを抽出する検索キ
ー抽出回路12と、検索キー抽出回路12で抽出した前
記検索キーに基づく検索を行って、前記キーに対応する
メモリアドレスを出力するCAM13と、少なくとも宛
先情報を記憶し、入力されたメモリアドレスに記憶した
情報を出力する検索情報角の梅森15と、CAM13か
ら受信した前記メモリアドレスに基づいて、CAM13
の前記メモリアドレスに対応する検索情報格納メモリ1
5のメモリアドレスを算出し、検索情報格納メモリ15
に供給する検索情報アドレス送受信回路14と、検索情
報アドレス送受信回路14で読み出した検索情報格納メ
モリ15の情報に基づいて、当該セルの宛先解決を行う
検索情報受信回路16と、検索情報受信回路16からの
セルを合成することによってパケットを生成し伝送路2
へ出力するパケット出力回路17とを備えて成り、パケ
ット入力回路11、検索キー抽出回路12、CAM1
3、検索情報格納メモリ15、検索情報アドレス送受信
回路14、検索情報受信回路16、パケット出力回路1
7はパイプライン処理を行うことを特徴としている。
【0029】したがって、nクロックを最短のパケット
到着間隔(固定長セルサイズ)と同じかそれよりも小さ
い値にすれば、本構成のパイプラインでパケット入力回
路11から連続的にパケットが到着したとしても滞るこ
となくそのままの速度でパケット処理が可能となり、例
えば超高速ルータのフォワーディングエンジンとして用
いることができる。
【0030】また、1ステージあたりnクロックのパイ
プラインとすることにより検索キー抽出回路12、CA
M13での検索処理が1パケットあたり1回の検索に限
らずに複数回の検索を行うことができ、1つのパケット
に対して単一の処理ではなく複数の処理を実行する、あ
るいは複数の検索を通じて優先度を付けてある一種類の
検索情報を得て、それに対する処理を実行することがで
きる。また、複数のテーブルを1つのCAM13に実装
し、1つの回路で制御、検索することが可能であり、回
路規模を削減できる。
【0031】図3は本発明の第2の実施の形態に係るパ
ケット処理装置のブロック図で、図1と同一部分には同
一符号を付している。また、図4は、図3に示すパケッ
ト処理装置のタイミング図である。本第2の実施の形態
では、パケットを受信してパケット入力回路11に出力
する処理タイミング調整用のバッファ手段としての入力
バッファ18およびパケット出力回路17からパケット
を受信して出力する処理タイミング調整用のバッファ手
段としての出力バッファ19を備えている点で、前記第
1の実施の形態と相違している。
【0032】本第2の実施の形態では、入力バッファ1
8へ入力されるパケットの周期や出力バッファ19から
出力されるパケットの周期よりも、パケット入力回路1
1からパケット出力回路17のパイプラインステージが
短い周期となっており、そのために入力バッファ18と
出力バッファ19を実装し、伝送路1、2との間で送受
信するパケットの周期と、パケット処理装置における処
理タイミングの調整を行っている。
【0033】このように、パケット処理装置内部のパイ
プラインサイクルを、外部から到着するパケットの周期
よりも短くすることにより、パケット処理装置内部で何
の処理もせずにすむ空き時間(図4の「M」)を作るこ
とができる。ここでできた空き時間を利用して、複雑な
競合制御を行うことなくCAM13や検索情報格納メモ
リ15のデータ更新を行うことができる。
【0034】そのタイミング図の一例が図4となるが、
ここでは、入力バッファ18に入力されるセル周期と出
力バッファ19から出力されるセル周期は共に等しく、
且つ、入力バッファ18に入力されるセル周期及び出力
バッファ19から出力されるセル周期の4/5の周期
で、パケット入力回路11からパケット出力回路17に
至るパイプライン処理が実行されている。
【0035】従って仮に入力バッファ18や出力バッフ
ァ19のサイクルで連続的にセルが到着しても、パケッ
ト入力回路11からパケット出力回路17のステージに
ついては、5サイクルに1サイクルは必ず処理を行わな
くてよいステージが存在することになり、ここでCAM
13や検索情報格納メモリ15のメンテナンスを複雑な
競合制御をすることなく行うことが可能となる。
【0036】図5は本発明の第3の実施の形態に係るパ
ケット処理装置のブロック図で、図1と同一部分には同
一符号を付している。本第3の実施の形態では、パケッ
ト入力回路11と検索キー抽出回路12のステージの間
に演算処理回路110を設けている点で、前記第1の実
施の形態と相違している。
【0037】前記第1、第2の実施例では可変長パケッ
トを受信した際に先頭セルだけを処理する事としていた
が、ルータ等においては例えばパケットの暗号化のよう
にパケット全体に渡って所定の演算をしなければいけな
いようなこともありえる。そのために演算処理回路11
0を設け、演算処理回路110に関しては先頭セルだけ
でなく、他のセルに対しても、ある所定の演算処理を実
行する。ここで、パケットに対する所定の演算処理の例
としては、例えば、イーサネットのパケットの最後にF
CS(Frame Check Sequence)を付ける処理がある。こ
れにより、可変長パケット全体に渡ってある演算処理を
実行したい場合にも対応することが可能となる。
【0038】図6は本発明の第4の実施の形態に係るパ
ケット処理装置のブロック図で、図3と同一部分には同
一符号を付している。本第4の実施の形態では、演算処
理回路110を、検索情報受信回路16とパケット出力
回路17との間に設けている点で、前記第3の実施の形
態と相違している。前記第3の実施の形態では、更新前
のパケット全体に対して所定の演算が実行できるが、本
第4の実施の形態では、検索情報受信回路16によるヘ
ッダ情報の更新後にパケット全体に対して所定の演算処
理が実行できる点が異なる。ここで、前記所定の演算処
理の例としては、前述したように例えば、イーサネット
のパケットの最後にFCS(Frame Check Sequence)を
付ける処理がある。これにより、可変長パケット全体に
渡ってある演算処理を実行したい場合にも対応すること
が可能となる。
【0039】図7は本発明の第5の実施の形態に係るパ
ケット処理装置のブロック図で、図1、図3、図5、図
6と同一部分には同一符号を付している。本第5の実施
の形態は、第2〜第4の実施の形態の構成要素を全て組
み込んだ構成のものであり、CAM13や検索情報格納
メモリ15のメンテナンスを、複雑な競合制御をするこ
となく行うことが可能になる。
【0040】また、前記第3〜第5の実施の形態のよう
に、パケット入力回路11の後段とパケット出力回路1
7の前段の少なくとも一方に、セルに対する所定の処理
を行うことによって、パケット全体にわたって所定の処
理(例えば、暗号化処理あるいはFCSの挿入処理)を
行う演算処理回路110を備えることにより、受信時の
パケット全体に対して特定の演算処理行ったり、ヘッダ
情報更新後にパケット全体に対して所定の演算処理が実
行できるようになる。
【0041】
【発明の効果】本発明によれば、パケットの宛先解決等
の処理を、簡単な構成で、高速に行なうことが可能にな
る。
【図面の簡単な説明】
【図1】 本発明の第1の実施の形態に係るパケット処
理装置のブロック図である。
【図2】 本発明の第1の実施の形態に係るパケット処
理装置のタイミング図である。
【図3】 本発明の第2の実施の形態に係るパケット処
理装置のブロック図である。
【図4】 本発明の第2の実施の形態に係るパケット処
理装置のタイミング図である。
【図5】 本発明の第3の実施の形態に係るパケット処
理装置のブロック図である。
【図6】 本発明の第4の実施の形態に係るパケット処
理装置のブロック図である。
【図7】 本発明の第5の実施の形態に係るパケット処
理装置のブロック図である。
【符号の説明】
10・・・パケット処理手段としてのパケット処理部 11・・・パケット受信手段としてのパケット入力回路 12・・・検索キー抽出手段としての検索キー抽出回路 13・・・CAM 14・・・検索情報読み出し手段としての検索情報アド
レス送受信回路 15・・・検索情報記憶手段としての検索情報格納メモ
リ 16・・・宛先解決手段としての検索情報受信回路 17・・・パケット出力手段としてのパケット出力回路 18・・・入力バッファ手段としての入力バッファ回路 19・・・出力バッファ手段としての出力バッファ回路 110・・・演算処理手段としての演算処理回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 生貝 康行 千葉県我孫子市日の出1131 日本電気株 式会社NECネットワークスIPネット ワーク事業部内 (56)参考文献 特開2000−244571(JP,A) 特開2000−151709(JP,A) (58)調査した分野(Int.Cl.7,DB名) H04L 12/46 H04L 12/56

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 伝送路から受信したパケットの宛先解決
    を行った後に前記伝送路へ前記パケットを出力するパケ
    ット処理装置において、 前記伝送路を介して受信したパケットを所定長のセルに
    分割して出力するパケット受信手段と、 前記パケット受信手段から受信した前記セルから所定の
    検索キーを抽出する検索キー抽出手段と、 前記検索キー抽出手段で抽出した前記検索キーに基づく
    検索を行って、前記キーに対応するメモリアドレスを出
    力するCAMと、 少なくとも宛先情報を記憶し、入力されたメモリアドレ
    スに記憶した情報を出力する検索情報記憶手段と、 前記CAMから受信した前記メモリアドレスに基づいて
    前記検索情報記憶手段のメモリアドレスを算出し、前記
    検索情報記憶手段に供給する検索情報読み出し手段と、 前記検索情報読み出し手段で読み出した前記検索情報記
    憶手段の情報に基づいて、当該セルの宛先解決を行う宛
    先解決手段と、 前記宛先解決手段からのセルをパケットに戻して前記伝
    送路へ出力するパケット出力手段とを備え、 前記パケット受信手段、検索キー抽出手段、CAM、検
    索情報記憶手段、検索情報読み出し手段、宛先解決手
    段、パケット出力手段はパイプライン処理を行うと共
    に、前記検索キー抽出手段、CAM、検索情報記憶手
    段、検索情報読み出し手段、宛先解決手段、パケット出
    力手段は前記パケット受信手段からの先頭のセルに対し
    て各処理を行い、 前記パケット受信手段、検索キー抽出手段、CAM、検
    索情報記憶手段、検索情報読み出し手段、宛先解決手
    段、パケット出力手段の各ステージは、前記パケット受
    信手段に入力されるパケットの到達間隔以下に設定され
    ると共に、前記パケット受信手段、検索キー抽出手段、
    CAM、検索情報記憶手段、検索情報読み出し手段、宛
    先解決手段、パケット出力手段の処理時間は各ステージ
    の時間よりも短く設定されていることを特徴とするパケ
    ット処理装置。
  2. 【請求項2】 前記ステージの空き時間に前記CAM及
    び検索情報記憶手段の少なくとも一方の保守を行う保守
    手段を備えて成ることを特徴とする請求項1記載のパケ
    ット処理装置。
  3. 【請求項3】 前記伝送路と前記パケット受信手段の
    間、及び、前記伝送路と前記パケット出力手段の間に、
    タイミング調整用のバッファ手段を備えて成ることを特
    徴とする請求項1又は2記載のパケット処理装置。
  4. 【請求項4】 前記パケット受信手段の後段と前記パケ
    ット出力手段の前段の少なくとも一方に前記セルに対す
    る所定の処理を行う演算処理手段を備えて成ることを特
    徴とする請求項1乃至3のいずれか一に記載のパケット
    処理装置。
JP2001210161A 2001-07-11 2001-07-11 パケット処理装置 Expired - Lifetime JP3489573B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2001210161A JP3489573B2 (ja) 2001-07-11 2001-07-11 パケット処理装置
US10/091,392 US7095742B2 (en) 2001-07-11 2002-03-07 Packet processing unit
CA 2375397 CA2375397C (en) 2001-07-11 2002-03-08 Packet processing unit
CN02119229A CN1396748A (zh) 2001-07-11 2002-03-09 分组处理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001210161A JP3489573B2 (ja) 2001-07-11 2001-07-11 パケット処理装置

Publications (2)

Publication Number Publication Date
JP2003023437A JP2003023437A (ja) 2003-01-24
JP3489573B2 true JP3489573B2 (ja) 2004-01-19

Family

ID=19045674

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001210161A Expired - Lifetime JP3489573B2 (ja) 2001-07-11 2001-07-11 パケット処理装置

Country Status (4)

Country Link
US (1) US7095742B2 (ja)
JP (1) JP3489573B2 (ja)
CN (1) CN1396748A (ja)
CA (1) CA2375397C (ja)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7596139B2 (en) 2000-11-17 2009-09-29 Foundry Networks, Inc. Backplane interface adapter with error control and redundant fabric
JP3965283B2 (ja) * 2001-07-02 2007-08-29 株式会社日立製作所 複数種類のパケット制御機能を備えたパケット転送装置
US6868476B2 (en) * 2001-08-27 2005-03-15 Intel Corporation Software controlled content addressable memory in a general purpose execution datapath
US7216204B2 (en) * 2001-08-27 2007-05-08 Intel Corporation Mechanism for providing early coherency detection to enable high performance memory updates in a latency sensitive multithreaded environment
US7225281B2 (en) * 2001-08-27 2007-05-29 Intel Corporation Multiprocessor infrastructure for providing flexible bandwidth allocation via multiple instantiations of separate data buses, control buses and support mechanisms
US7487505B2 (en) * 2001-08-27 2009-02-03 Intel Corporation Multithreaded microprocessor with register allocation based on number of active threads
US7610451B2 (en) * 2002-01-25 2009-10-27 Intel Corporation Data transfer mechanism using unidirectional pull bus and push bus
SE525183C2 (sv) * 2002-04-04 2004-12-21 Xelerated Ab Förfarande och medel för behandling med pipelining av datapaket
JP3936883B2 (ja) * 2002-04-08 2007-06-27 株式会社日立製作所 フロー検出装置およびフロー検出機能を備えたパケット転送装置
US20120155466A1 (en) * 2002-05-06 2012-06-21 Ian Edward Davis Method and apparatus for efficiently processing data packets in a computer network
US7649885B1 (en) * 2002-05-06 2010-01-19 Foundry Networks, Inc. Network routing system for enhanced efficiency and monitoring capability
US7266117B1 (en) * 2002-05-06 2007-09-04 Foundry Networks, Inc. System architecture for very fast ethernet blade
US7468975B1 (en) * 2002-05-06 2008-12-23 Foundry Networks, Inc. Flexible method for processing data packets in a network routing system for enhanced efficiency and monitoring capability
US7187687B1 (en) 2002-05-06 2007-03-06 Foundry Networks, Inc. Pipeline method and system for switching packets
JP3789395B2 (ja) * 2002-06-07 2006-06-21 富士通株式会社 パケット処理装置
US7136960B2 (en) * 2002-06-14 2006-11-14 Integrated Device Technology, Inc. Hardware hashing of an input of a content addressable memory (CAM) to emulate a wider CAM
US7013367B2 (en) * 2002-07-18 2006-03-14 Intel Corporation Caching associative memory using non-overlapping data
US7337275B2 (en) * 2002-08-13 2008-02-26 Intel Corporation Free list and ring data structure management
US6941438B2 (en) * 2003-01-10 2005-09-06 Intel Corporation Memory interleaving
KR100542361B1 (ko) * 2003-02-12 2006-01-10 삼성전자주식회사 피피피오이 네트워크 시스템 및 이 시스템의 접속 방법
US8477780B2 (en) * 2003-03-26 2013-07-02 Alcatel Lucent Processing packet information using an array of processing elements
US7747731B2 (en) * 2003-03-27 2010-06-29 Nokia Corporation Minimizing message processing latency in a communication network
US6901072B1 (en) * 2003-05-15 2005-05-31 Foundry Networks, Inc. System and method for high speed packet transmission implementing dual transmit and receive pipelines
FR2857539B1 (fr) * 2003-07-11 2005-09-30 Cit Alcatel Description de contenu de paquets dans un reseau de communication par paquets
CN100358319C (zh) * 2003-08-12 2007-12-26 华为技术有限公司 一种实现数据报文传输的方法和系统
WO2005015837A1 (fr) * 2003-08-07 2005-02-17 Huawei Technologies Co., Ltd. Procede et systeme de mise en oeuvre d'emission de paquets de donnees
EP1657859B1 (en) * 2003-08-20 2013-05-15 Nippon Telegraph And Telephone Corporation Protocol speed increasing device
US7213099B2 (en) * 2003-12-30 2007-05-01 Intel Corporation Method and apparatus utilizing non-uniformly distributed DRAM configurations and to detect in-range memory address matches
US7058424B2 (en) * 2004-01-20 2006-06-06 Lucent Technologies Inc. Method and apparatus for interconnecting wireless and wireline networks
US7251707B1 (en) * 2004-02-06 2007-07-31 Netlogic Microsystems, Inc. Content based content addressable memory block enabling using search key
US7440460B2 (en) * 2004-03-05 2008-10-21 Samsung Electronics Co., Ltd. Apparatus and method for forwarding mixed data packet types in a high-speed router
US7817659B2 (en) 2004-03-26 2010-10-19 Foundry Networks, Llc Method and apparatus for aggregating input data streams
US8730961B1 (en) 2004-04-26 2014-05-20 Foundry Networks, Llc System and method for optimizing router lookup
KR100735577B1 (ko) 2004-08-12 2007-07-04 삼성전자주식회사 무선 네트워크의 적응형 키검색장치 및 방법
GB2417399B (en) * 2004-08-12 2007-04-25 Samsung Electronics Co Ltd Reconfigurable key search engine
GB2431320B (en) * 2004-08-12 2007-12-05 Samsung Electronics Co Ltd Reconfigurable key search engine
US7657703B1 (en) * 2004-10-29 2010-02-02 Foundry Networks, Inc. Double density content addressable memory (CAM) lookup scheme
JP2006135660A (ja) * 2004-11-05 2006-05-25 Alaxala Networks Corp 連想メモリ及びパケット転送装置
US20060187920A1 (en) * 2005-02-18 2006-08-24 Broadcom Corporation Flexible packet modification engine
US7983291B2 (en) * 2005-02-18 2011-07-19 Broadcom Corporation Flexible packet modification engine for a network device
US8448162B2 (en) 2005-12-28 2013-05-21 Foundry Networks, Llc Hitless software upgrades
US7903654B2 (en) * 2006-08-22 2011-03-08 Foundry Networks, Llc System and method for ECMP load sharing
US8238255B2 (en) 2006-11-22 2012-08-07 Foundry Networks, Llc Recovering from failures without impact on data traffic in a shared bus architecture
US7978614B2 (en) 2007-01-11 2011-07-12 Foundry Network, LLC Techniques for detecting non-receipt of fault detection protocol packets
US7813337B2 (en) * 2007-01-19 2010-10-12 Broadcom Corporation Network packet processing using multi-stage classification
US8037399B2 (en) * 2007-07-18 2011-10-11 Foundry Networks, Llc Techniques for segmented CRC design in high speed networks
US8271859B2 (en) * 2007-07-18 2012-09-18 Foundry Networks Llc Segmented CRC design in high speed networks
US8509236B2 (en) 2007-09-26 2013-08-13 Foundry Networks, Llc Techniques for selecting paths and/or trunk ports for forwarding traffic flows
CN101221538B (zh) * 2008-01-24 2010-10-13 杭州华三通信技术有限公司 实现对缓存中数据快速查找的系统和方法
US8090901B2 (en) 2009-05-14 2012-01-03 Brocade Communications Systems, Inc. TCAM management approach that minimize movements
US8599850B2 (en) 2009-09-21 2013-12-03 Brocade Communications Systems, Inc. Provisioning single or multistage networks using ethernet service instances (ESIs)
CN102447607B (zh) * 2010-10-08 2014-08-13 中兴通讯股份有限公司 采用地址冗余技术实现包重组的方法、装置及系统
KR20130093707A (ko) * 2011-12-23 2013-08-23 한국전자통신연구원 패킷 분류 장치 및 그것의 패킷 분류 방법
US20130238782A1 (en) * 2012-03-09 2013-09-12 Alcatel-Lucent Usa Inc. Method and apparatus for identifying an application associated with an ip flow using dns data
JP5889218B2 (ja) * 2013-01-23 2016-03-22 アラクサラネットワークス株式会社 データ転送装置及びデータ転送方法
JP2016132110A (ja) * 2015-01-16 2016-07-25 セイコーエプソン株式会社 印刷物の製造方法および印刷物
JP6907903B2 (ja) * 2017-11-24 2021-07-21 日本電信電話株式会社 パケット識別装置および方法
US11722248B1 (en) * 2022-01-26 2023-08-08 Zurn Industries, Llc Cloud communication for an edge device

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020101871A1 (en) * 1991-01-31 2002-08-01 Fujitsu Limited Connectionless communication system
US5438535A (en) 1994-03-29 1995-08-01 Panasonic Technologies, Inc. Content addressable memory system
US6181698B1 (en) * 1997-07-09 2001-01-30 Yoichi Hariguchi Network routing table using content addressable memory
US6549519B1 (en) * 1998-01-23 2003-04-15 Alcatel Internetworking (Pe), Inc. Network switching device with pipelined search engines
JP2000151709A (ja) 1998-11-12 2000-05-30 Nec Corp ルーティングアドレス検索システム
JP2000172651A (ja) * 1998-12-03 2000-06-23 Nec Corp 非同期転送モード(atm)セルパイプライン処理装置
JP3645734B2 (ja) 1999-02-24 2005-05-11 株式会社日立製作所 ネットワーク中継装置及びネットワーク中継方法
JP2001045061A (ja) * 1999-08-02 2001-02-16 Hitachi Ltd 通信ノード装置
US6374326B1 (en) * 1999-10-25 2002-04-16 Cisco Technology, Inc. Multiple bank CAM architecture and method for performing concurrent lookup operations
JP3381687B2 (ja) 1999-11-25 2003-03-04 日本電気株式会社 フロー識別装置、フロー処理装置、フロー識別方法及びフロー処理方法
US6606681B1 (en) * 2001-02-23 2003-08-12 Cisco Systems, Inc. Optimized content addressable memory (CAM)

Also Published As

Publication number Publication date
CA2375397C (en) 2007-07-24
CA2375397A1 (en) 2003-01-11
US7095742B2 (en) 2006-08-22
JP2003023437A (ja) 2003-01-24
CN1396748A (zh) 2003-02-12
US20030012198A1 (en) 2003-01-16

Similar Documents

Publication Publication Date Title
JP3489573B2 (ja) パケット処理装置
US6683885B1 (en) Network relaying apparatus and network relaying method
US6650642B1 (en) Network relaying apparatus and network relaying method capable of high-speed routing and packet transfer
US8737403B2 (en) Context-switched multi-stream pipelined reorder engine
US6654701B2 (en) Method and apparatus for measuring protocol performance in a data communication network
EP3085036B1 (en) Increasing packet process rate in a network device
JP4779955B2 (ja) パケット処理装置及びパケット処理方法
US20030037154A1 (en) Protocol processor
JP2001045061A (ja) 通信ノード装置
JP4890613B2 (ja) パケットスイッチ装置
US10122735B1 (en) Switch having dynamic bypass per flow
US6658003B1 (en) Network relaying apparatus and network relaying method capable of high-speed flow detection
EP1031216A1 (en) System and method for processing data packets
US9083641B2 (en) Method and apparatus for improving packet processing performance using multiple contexts
US8050262B2 (en) System and method for parsing frames
US7937495B2 (en) System and method for modifying data transferred from a source to a destination
US9276851B1 (en) Parser and modifier for processing network packets
JP3645735B2 (ja) ネットワーク中継装置及びネットワーク中継方法
US20060155771A1 (en) Method and apparatus for processing data
KR20120102722A (ko) 데이터 패킷들을 판독 및 순서화하는 복수의 분석 수단을 동작시키는 장치, 어셈블리, 및 방법
Kurihara et al. List interest: Packing interests for reduction of router workload in ccn 1.0
JP2002164924A (ja) パケット処理装置
JP6907903B2 (ja) パケット識別装置および方法
US20040090961A1 (en) Parallel processing routing device
JP5359357B2 (ja) パケット処理装置、該処理装置に用いられるパケット処理順序制御方法及びパケット処理順序制御プログラム

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
R150 Certificate of patent or registration of utility model

Ref document number: 3489573

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20071107

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081107

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20081107

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091107

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20091107

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101107

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111107

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20111107

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121107

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20121107

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20131107

Year of fee payment: 10

EXPY Cancellation because of completion of term