JP3233353B2 - ヘッダ処理装置とそのヘッダ処理方法 - Google Patents

ヘッダ処理装置とそのヘッダ処理方法

Info

Publication number
JP3233353B2
JP3233353B2 JP1600699A JP1600699A JP3233353B2 JP 3233353 B2 JP3233353 B2 JP 3233353B2 JP 1600699 A JP1600699 A JP 1600699A JP 1600699 A JP1600699 A JP 1600699A JP 3233353 B2 JP3233353 B2 JP 3233353B2
Authority
JP
Japan
Prior art keywords
header
data
packet
sequencer
register
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
JP1600699A
Other languages
English (en)
Other versions
JPH11317783A (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 JP1600699A priority Critical patent/JP3233353B2/ja
Publication of JPH11317783A publication Critical patent/JPH11317783A/ja
Application granted granted Critical
Publication of JP3233353B2 publication Critical patent/JP3233353B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、パケットのヘッダ
処理装置及びヘッダ処理方法に関し、特にパケット転送
用手段を有してパケットを高速に処理するヘッダ処理装
置及びヘッダ処理方法に関する。
【0002】
【従来の技術】従来、公衆電話回線はアナログの音声通
信であったが、情報化時代に入ってからデータの通信が
盛んになり、今後益々データの交錯状態が増加し、更に
大量のデータを高速に送信するために、パケット形式
で、伝送されることが多くなっている。
【0003】このパケット形式によるヘッダ処理は、パ
ケットの宛先のある出力インタフェースを求めること
と、該出力インタフェースに適するヘッダに変換するた
めの情報を求めることにある。これらの作業は、ヘッダ
の各種フィールドなどとフォーワーディングテーブルを
用いて行うもので、非常に多数の処理ステップを必要と
する。例えば、マルチレイヤスイッチ(これは物理レイ
ヤの上位レイヤであるレイヤーL2とL3の処理を、1
つの装置あるいはLSIチップにおいて行うスイッチで
ある。)においては、L2のパケット(MACパケッ
ト)のヘッダからMAC(媒体アクセス制御:Media Ac
cess Control)のアドレスを取り出し、下記の4種類の
MACフォーマットのどちらであるかを識別し、識別結
果に応じて決まるヘッダ位置から、L3のパケット(I
Pパケット)を取り出し、IPパケットのヘッダからI
Pのアドレスを取り出す。
【0004】さらに、MACアドレスが所定のアドレス
であるかどうかをテスト(ルータテスト)し、そうでな
いときには、L2の処理を行い、所定のアドレスである
ときにはL3の処理を行う。前記識別結果によっては、
L3のパケットを取り出す処理を行わず、L2処理を行
う。ルータテストについて、L2及びL3の処理では、
フォワーディングテーブルを検索するという処理を行
う。このフォワーディングテーブルは一般にかなり大き
いため、この検索処理は非常に時間のかかるものとな
る。
【0005】4種類のMACフォーマットとは、図14
に示すように、Ethernet IIとも呼ばれるDIX規定と
IEEE802.3規定という2つの標準形式と、それ
ぞれに802.1Q規定とも呼ばれる仮想LANの識別
子がついているかいないかの2種類との積で4通りであ
る。例えば、DIX規定と802.1Q規定との組合せ
では、IP PDUとVLAN IDとがDIX規定の
単独に対して余分に設定されている。また、LANエミ
ュレーションの標準化の折、そのサービスは既存のイー
サネット及びトークンリンクのLANのアプリケーショ
ンをエミュレートするもので、相互接続・運用の際にM
ACレベルでの接続が必須である。さらに、このMAC
パケットのペイロードとして、IPパケットがあり、さ
らにそのIPパケットのペイロードとして、TCPパケ
ット、UDPパケットのいずれかがある。
【0006】このようにパケットヘッダは、それを順に
解析して始めて、内容フォーマットが明らかになるもの
であるため、ヘッダ解析前のパケット受信時には、パケ
ットヘッダがどこまでなのかは不明である。しかし、取
り扱うプロトコルは定まっているため、最大のヘッダを
想定して、この部分つまり、ヘッダを必ず含むようなパ
ケットの一部分(ヘッダ可能性部分と呼ぶ)をパケット
から取り出しておけば、不要な情報が含まれている可能
性はあるが、必要な情報を取りこぼすことはない。さら
に、検索結果を適当に加工して、パケットを宛先に送出
する準備を行う必要がある。この準備には、パケットを
宛先行きの待ち行列に加える、パケットヘッダを書き換
える、パケットをコピーするなどの処理がある。
【0007】以上のようなヘッダ処理を1つのCPUで
順に行うことで、1つのパケットの処理が終了する。高
速化を図るためには、この処理を高速に行う必要があ
る。
【0008】また、汎用のCPUを用いた場合には、論
理回路で構成したハードウエアでは、1ステップ、つま
り1クロックで実行できる機能を、2クロック以上必要
とすることがある。
【0009】例えば、ハードウエア論理回路において、
メモリAとメモリBの内容を2倍したものの加算を行
い、メモリCに保存する(C=2×A+2×B)には、
1クロック目でメモリA,Bを同時に読み出してレジス
タに入れ、2クロック目でそのレジスタを1ビットシフ
トしながら(2倍化)、加算し、その結果をメモリCに
書き込むことができる(特殊演算と呼ぶ)。
【0010】一方、汎用CPUの場合には、加算やシフ
トといった最も基本的な演算(基本演算と呼ぶ)を用い
て、メモリAをレジスタに読み出し(1クロック目)、
メモリBをレジスタに読み出し(2クロック目)、メモ
リAのレジスタを1ビットシフトして(3クロック
目)、メモリBのレジスタを1ビットシフトして(4ク
ロック目)、メモリAのレジスタとBのレジスタを加算
して(5クロック目)、結果をメモリCに書き込む(6
クロック目)ことになる。
【0011】この例で示すように、前者は2クロック
で、後者は6クロックを要し、論理回路で構成したハー
ドウエアは、汎用CPUよりも高速に処理ができる。た
だし、ハードウエア論理回路は、修正変更や将来の機能
追加が困難である。そのため、ハードウエア論理回路は
設計変更の柔軟性に欠ける。従来、ハードウエア論理回
路におけるこの柔軟性を欠くという欠点を改善するため
にシーケンサというプログラマブルな専用CPUを用い
る方法があり、信号処理などの分野で使用されていた。
【0012】シーケンサも汎用CPUも、一般に、RO
M/RAMに入れられたプログラムを持ち、プログラム
カウンタと呼ばれるポインタが指し示すアドレスの内容
(命令)が取り出され、命令が解読(デコード)され、
デコード信号が出され、デコード信号を受けた演算回路
が動作するというものである。
【0013】しかしながら、シーケンサでは、演算回路
が専用に作られており、例えば、レジスタAとレジスタ
Bの内容をそれぞれ2倍して加算するという演算を、1
クロックで行なうような演算を組み込むことができる。
従って、汎用CPUよりも高速に演算が行われる。信号
処理のシーケンサでは、X,Yを変数とし、A,Bを媒
介変数とする、Y=AX+B等の一次関数の演算が演算
回路として組まれている。しかしながら、パケットのヘ
ッダを処理するためのシーケンサはなかった。
【0014】
【発明が解決しようとする課題】上記従来技術の第1の
問題点は、ヘッダ処理において、順序よく行うべきこと
と、同時並行的に(独立に)行うことが可能ではある
が、汎用CPUにおいては、すべて順に行われていたこ
とにある。従って、高速化を図るには汎用CPUの能力
を上げる必要があるが、能力を上げることは、汎用CP
Uそのものの性能アップのため、コスト高につながる。
【0015】また、汎用CPUを多数用意し、パイプラ
イン処理を行う場合には、適当なパイプライン数に設計
しなければ、やはりコスト高になる。あるいはフォワー
ディングテーブルのような資源がボトルネックになり、
汎用CPUが能力を十分活かせなくなる恐れがある。
【0016】また、第2の問題点は、汎用CPUのかわ
りにハードウエア論理回路を用いた場合には、設計変更
の柔軟性に欠けるという問題がある。これに対し、シー
ケンサというプログラマブルな専用CPUを用いる方法
があり、信号処理などの分野で使用されていた。しかし
ながら、パケットのヘッダ処理を高速に行なうためのこ
のようなシーケンサは、いまだ公開されていない。
【0017】[発明の目的]本発明は、ボトルネックに
なるフォワーディングテーブルのような資源で制約され
る速度まで、パケット等のヘッダ処理の高速化を汎用C
PUを用いて低コストで行うことを目的とする。また、
パケットヘッダ処理をプログラマブルなハードウエア論
理回路、即ちシーケンス処理で実現することで、高速性
を保ちながら、設計変更や将来の機能追加を低コストで
実現することを目的とする。
【0018】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、パケットから抽出されたヘッダを含むパ
ケットの一部分から、プロトコルヘッダの各フィールド
のデータを抽出し、指定された記憶場所に入力する第1
の手段と、該指定された記憶場所のデータを検索キーに
して検索を行い、該検索キーに一致するテーブルエント
リの内容を出力する第2の手段と、該第2の手段の出力
内容と前記記憶場所のデータとから、前記パケットの送
出先とヘッダ更新情報の属性情報を作成する第3の手段
、を有し、 前記第1〜第3の各手段は、それぞれあら
かじめ決められた固定時間の始まりあるいは終わりに、
現固定時間内に、あるいは次の固定時間内にどの処理プ
ログラムを実行するかを、決定することを特徴とする
ッダ処理装置を提供するものである。また本発明は、パ
ケットから抽出されたヘッダを含むパケットの一部分か
ら、プロトコルヘッダの各フィールドのデータを抽出
し、指定された記憶場所に入力する第1の手段と、該指
定された記憶場所のデータを検索キーにして検索を行
い、該検索キーに一致するテーブルエントリの内容を出
力する第2の手段と、該第2の手段の出力内容と前記記
憶場所のデータとから、前記パケットの送出先とヘッダ
更新情報の属性情報を作成する第3の手段と、を有し、
前記第1〜第3の各手段は、それぞれあらかじめ決めら
れた命令数の整数倍で処理を終了し、処理終了時あるい
は開始時に、他の手段の処理の終了あるいは開始を確認
し、少なくとも他の1つの手段において終了あるいは開
始が確認できない場合には、命令の実行を一時停止し、
全手段が処理の終了あるいは開始状態になるのを待つこ
とを特徴とするヘッダ処理装置を提供するものである。
また本発明は、パケットから抽出されたヘッダを含むパ
ケットの一部分から、プロトコルヘッダの各フィールド
のデータを抽出し、指定された記憶場所に入力する第1
の手段と、該指定された記憶場所のデータを検索キーに
して検索を行い、該検索キーに一致するテーブルエント
リの内容を出力する第2の手段と、該第 2の手段の出力
内容と前記記憶場所のデータとから、前記パケットの送
出先とヘッダ更新情報の属性情報を作成する第3の手段
と、を有し、 前記第1の手段における記憶場所として、
1つの共用部分と2つの個別部分を有し、該共用部分
は、一部あるいは全てのフィールドデータを前記第2の
手段と前記第3の手段で共用して使用するような記憶場
所として用い、前記個別部分は、各個別部分に同一内容
のデータを持ち且つ各個別部分のそれぞれを、前記第2
の手段と、前記第3の手段で独立に用いることを特徴と
するヘッダ処理装置を提供するものである。
【0019】また本発明はパケットから抽出されたヘ
ッダを含むパケットの一部分から、プロトコルヘッダの
各フィールドのデータを抽出し、指定された記憶場所に
入力する第1の手順と、該指定された記憶場所のデータ
を検索キーにして検索を行い、前記検索キーに一致する
テーブルエントリの内容を出力する第2の手順と、該第
2の手順の出力内容と前記記憶場所のデータとから、前
記パケットの送出先とヘッダ更新情報の属性情報を作成
する第3の手順と、を有し、 前記第1〜第3の各手順
は、それぞれあらかじめ決められた固定時間の始まりあ
るいは終わりに、現固定時間内に、あるいは次の固定時
間内にどの処理プログラムを実行するかを、決定する
ッダ処理方法を提供するものである。
【0020】[作用]パケットのヘッダ処理には、処理
時間に注目すると主に以下の3つの処理が大半を占め
る。すなわち、第1の処理として、パケットのヘッダの
構造を明らかにし、ヘッダの書くフィールドを抽出する
こと、第2の処理として、アドレスフィールドの情報、
つまりアドレスからパケットの行き先を決定すること、
第3の処理として、パケットの行き先へパケットを送出
するのに必要なヘッダ変換を行うことである。
【0021】かかる処理を行うCPUの構成概念図を図
5に示す。CPUによる場合、CPU10内には加算器
(+)と乗算器(×)とレジスタR1,R2,R3と命
令デコーダとから成り、バスラインを介してCPU10
の基本ソフトのOS11とプログラム12とから構成さ
れる。かかる構成の場合、プログラム12の内容の例に
よれば、A〜Dの数値と各レジスタとから、3A+3B
=Dを得るのに9ステップを要しているが、コストパフ
ォーマンスとしては申し分ない。
【0022】また、専用のシーケンスによる構成概念図
を図2に示す。専用のシーケンスとしては、命令デコー
ダを有するシーケンサ20と、機能処理F1(21),
F2(22)と、シーケンサ20が動作する手順を格納
するプログラム23とから構成される。かかる構成の場
合、専用の機能処理手段を有しているので、図5と同様
な結果を得るために、2ステップでよく、高速化のため
に優れている。
【0023】さらに、本発明により、パケットヘッダの
一連の第1〜第3の処理をパイプライン的に行うため
に、順に行うことが必要な前記3つの部分に分け、なお
かつボトルネックになる資源の使用を最小限にとどめ、
なおかつ該資源を使用するCPUが100%稼動するよ
うな分割とし、各部分では、それぞれのCPUを割り当
てて独立に処理を行うことができる。これにより、最適
なCPU数が選択でき、最も負荷がかかるCPUを10
0%あるいは100%近くまで活用することができる。
【0024】また、高速にパケットヘッダの処理を行う
にはこれらを高速に行う必要がある。従来は、1つのC
PUが上記3処理を順に行っていたが、ハードウエアで
同様のことを行う場合、3処理を別々に行うことで、パ
イプライン処理が可能となる。
【0025】かかるパイプライン的な構成による処理の
概念的な例を図3に示す。処理Aと処理B,処理Cとは
同一の固定時間で処理が終わり、スタートしてから終了
するまでも固定時間に設定されており、一連の処理が必
要な場合、同一の固定時間で処理可能な処理Aと処理
B,処理Cとがあり、CPU1で処理Aが終了してから
CPU2で処理Bが開始されるとともにCPU1で次の
処理Aが開始される、CPU2で処理Bが終了してから
CPU3で処理Cが開始されるとともにCPU2で次の
処理Bが開始されるような処理をパイプライン的な処理
と称している。
【0026】また、処理A〜Cが同一の固定時間で処理
が終わらない場合に、プログラム処理する際には、種々
な方式があり、その3例を図4に示して説明する。ここ
では、CPUをシーケンサに置き換えて説明する。図4
(a)は各処理の時間が異なる場合、処理プログラムA
41が処理プログラムB42より短いとき、処理プログ
ラムB42が終了するまでレジスタ43の処理プログラ
ムB42に対応するフラグが立たないので、処理プログ
ラムA41を処理するシーケンサ1は待ち受け状態と
し、処理プログラムB42が終了してレジスタ43のフ
ラグが立って、シーケンサ1は続く処理プログラムAを
処理する。また、図4(b)では、処理プログラムA4
1が処理プログラムB42より短いとき、シーケンサ1
は処理プログラムA41が終了してから所定の一定時間
を待って、レジスタ43の処理プログラムB42に対応
するフラグが立っているのかどうかを検出し、フラグが
立った場合は次の処理プログラムA41を処理する。一
方、フラッグが立っていない場合は所定の一定時間を待
ち、再度、レジスタ43の処理プログラムB42に対応
するフラグが立っているのかどうかを検出する。即ち、
待ち受け状態に一定時間を設定しておくことで、シーケ
ンサ1の負担を軽減している。さらに、図4(c)で
は、処理プログラムA41が処理プログラムB42より
短いとき、所定の一定クロック数毎に、シーケンサ1が
レジスタ43の処理プログラムB42に対応するフラグ
が立っているのかどうかを検出するもので、所定の一定
クロック数の複数倍毎にフラグを検出することで、更に
シーケンサの負担を軽減することができる。
【0027】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して詳細に説明する。
【0028】<第1の実施形態>本発明の第1の実施形
態は、図1に示すように、第1〜第3の手段となる3つ
の汎用CPUと各種レジスタから構成される。CPU
(前処理)と名づけられた第1の汎用CPU101は、
ヘッダレジスタ群(単にヘッダレジスタと称する)12
0の情報から、検索キーレジスタ群(単に検索キーレジ
スタと呼ぶ)121の内容を生成する。
【0029】CPU(検索(サーチ)/学習エンジン)
と名づけられた第2の汎用CPU102は、検索キーレ
ジスタ121の情報からフォワーディングテーブル10
9を検索し、検索結果により検索結果レジスタ群(単に
検索結果レジスタと呼ぶ)122を生成する。
【0030】さらに、CPU(後処理)と名づけられた
第3の汎用CPU103は、検索結果レジスタ122の
情報からキューバッファ準備レジスタ群(単にキューバ
ッファ準備レジスタと呼ぶ)123の内容を生成する。
【0031】ヘッダレジスタ120とキューバッファ準
備レジスタ123は、受信インタフェース数、すなわち
同時にパケットが到着する数Nだけ必要である。検索結
果レジスタ122は、1つしかないフォワーディングテ
ーブル109の検索に関係するので、N以下でよいが、
任意の1つのレジスタのアクセスを2つの汎用CPUが
同時に行わないという制約のもとで動作させるため、3
つ必要である。
【0032】その3つの検索結果レジスタ122は、そ
れぞれ、前処理汎用CPU101の書き込み、サーチ/
学習エンジン102の書き込み、後処理汎用CPU10
3の読み取りに同時に使用される。この検索結果レジス
タ122と対応させて制御させるため、検索キーレジス
タ121も3つ用意する。ただし、検索キーレジスタ1
21においては、その2つは、それぞれ、前処理汎用C
PU101の書き込み、検索エンジン102の読み取り
に同時に使用され、1つは休止となる。
【0033】以下、3つの汎用CPUについて説明す
る。パケットあたりの処理において、検索/学習エンジ
ン102がフォワーディングテーブル109の検索に時
間がかかるため、もっともボトルネックとなる。また、
この時間をできるだけ短縮するために、検索回数を最小
限にするための処理を前処理汎用CPU101と後処理
汎用CPU103に任せる。
【0034】前処理と後処理のそれぞれの汎用CPU1
01,103の処理を説明する。前処理汎用CPU10
1は、ヘッダ解析を行い、MACパケットのヘッダフォ
ーマットの決定および必要に応じて、MACパケットの
ぺイロード、つまりIPパケットのヘッダ解析を行う。
MACパケットのペイロードは必ずしもIPパケットで
はない。これは、MACアドレスがルータのMACアド
レスであれば、該パケットはIPパケットとしてレイヤ
ーL3を処理し、そうでなければIPパケットであるか
どうかを調べる必要はなく、レイヤーL2の処理を行
う。従来の技術では、MACアドレスがルータ宛てのM
ACアドレスかどうかは、フォワーディングテーブル1
09を検索していた。しかし、これは検索エンジン10
2の負荷になるので、この前処理汎用CPU101に
て、その判定を行う。
【0035】また、判定でルータ宛先の解析が必要で、
つまりL3の処理を行う必要がある場合には、IPパケ
ットのヘッダの解析に入る。IPヘッダについては、宛
先IPアドレスを抽出し、それを検索キーとして検索キ
ーレジスタ121に入力する。また、受信ポート番号や
VLAN−IDといった情報は、検索キーレジスタ12
1に書き込むとともに検索結果レジスタ122にも書き
込む。これらの情報は、キューバッファ準備レジスタ1
23への書き込み時にも必要だからである。
【0036】後処理汎用CPU103は、検索結果レジ
スタ122の受信ポート番号と一致する番号のレジスタ
を指定するとともに、検索エンジン102により検索結
果レジスタ122に入力された検索結果をキュー準備レ
ジスタ123において指定されたフォーマットに変換す
る。例えば、宛先がマルチキャストである場合には、検
索エンジン102は、フォワーディングテーブル109
から、ビットマップを引き出してきて、それを検索結果
レジスタ122に入力するので、それを後処理汎用CP
U103が、そのビットマップを解析し、ビットのon
/offをそのビットに対応する出力ポートへのパケッ
ト送出という命令列に変換する。
【0037】検索/学習エンジン102は、検索キーレ
ジスタ121に入力された検索キーと、L2であるかL
3であるかどちらの処理を行うべきかを示す情報を用い
て、それに対応するフォワーディングテーブル109を
検索する。検索により、キーと一致するものが発見され
た場合には、そのテーブル内で発見されたキーに結合さ
れている情報を引き出す。該情報としては、出力ポート
番号、出力時に変更すべきアドレスフィールド名と、変
更に用いるアドレス、などが含まれている。
【0038】以上のように3つの汎用CPUにより独立
に処理を行うことで、一つの汎用CPUで処理を行う場
合に問題になる高速化の限界を超えることができる。ま
た、汎用CPUを4つ以上使用する必要がなく、3つで
十分に処理を分散することができる。
【0039】なお、上記実施形態では、処理の一部は前
処理を経過して行う処理が必要であるが、重複して処理
を行うことができるので、図5に示したCPUによりシ
ーケンス的にパケット処理の高速化が達成できる。
【0040】<第2の実施形態>本発明の第2の実施形
態は、第1の実施形態における各汎用CPUの代わりに
シーケンサを用いる構成である。これにより、汎用CP
Uを用いた場合よりもさらに高速化できる。図6にシー
ケンサによる処理の例を示している。シーケンサの動作
及びシーケンサの構成は、図2に示したものであり、本
実施形態による動作は、図1に示した第1の実施形態と
同様なので、説明を省略する。なお、処理ステップが機
能処理により極めて短時間で処理することが可能であ
る。
【0041】<第3の実施形態>本発明の第3の実施形
態は、第1あるいは第2の実施形態において、各CP
U、又は各シーケンサがパイプラインとして動作し、以
下のような構造を持つものである。図7は各シーケンサ
がパイプラインとして動作する場合を示す図である。
【0042】各シーケンサ101,102,103は、
固定時間でその処理を終わるように固定時間(周期)を
決めてある。システムを動作開始させるときに、同一の
タイミングで信号が出るような周期そろえクロックを周
期タイマ201から、シーケンサ101,102,10
3に同時に入力することで、周期の始まりを同一にす
る。これにより各シーケンサにおける処理は、次の手段
のことを考慮せずに独立に動作することが可能となる。
図7において、シーケンサに代えて汎用CPUを用いる
ことも可能である。
【0043】これにより、汎用CPUあるいはシーケン
サ制御において、汎用CPU間の連絡に必要な手続きが
削除でき、或いは各シーケンサ間の連絡に必要な手続き
が削除できるので、その分を本来の処理に向けることが
でき、さらなる高速化がはかれる。
【0044】<第4の実施形態>本発明の第4の実施形
態は、図6の第2の実施形態において、図8に示すよう
に、以下のような構造を持つものである。
【0045】各レジスタ群120〜123は、それぞれ
処理を行なうために必要なデータ、すなわち処理の入力
データがあるかどうかを示す第1のレディレジスタをそ
れぞれ持つ。即ち、各レジスタ群120〜123の各レ
ジスタ120a〜120c,121a〜121c,12
2a〜122c,123a〜123cはそれぞれレディ
レジスタ301,302,303を持っている。さら
に、各レジスタ群120〜123は、処理の結果を出力
するための記憶場所が使用できるかどうか、すなわち前
パケットのヘッダ処理の結果が、次の手段で入力として
使用済みかどうかを示す第2のレディレジスタをそれぞ
れ持つ。即ち、各レジスタ群120〜123の各レジス
タ120a〜120c,121a〜121c,122a
〜122c,123a〜123cはそれぞれレディレジ
スタ401,402,403を持っている。
【0046】以下、上記構造の動作について説明する。
【0047】例えば、シーケンサ102は、処理の最初
において、読み出し側レジスタ群(検索キーレジスタ
群)121の第1のレジスタ121aの第1のレディレ
ジスタ301と書き込み側レジスタ群(検索結果レジス
タ群)122のレジスタ122aの第2のレディレジス
タ401を常に読み出し、第1のレディレジスタ301
が「入力データあり」の場合で、かつ、第2のレディレ
ジスタ401が「書き込みOK」の場合にのみ、読み出
し側レジスタ群121のレジスタ121aからデータを
読み、データ処理して書き込み側レジスタ群122のレ
ジスタ122aにデータを書き込む。その後、読み出し
側レジスタ群121のレジスタ121aの第2のレディ
レジスタ401に「書き込みOK」をセットし、書き込
み側レジスタ群122のレジスタ122aの第1のレデ
ィレジスタ301に「入力データあり」をセットする。
さらに、読み出し側レジスタ群121のレジスタ121
aの第1のレディレジスタ301に「入力データなし」
をセットし、書き込み側レジスタ群122のレジスタ1
22aの第2のレディレジスタ401に「書き込み禁
止」をセットする。
【0048】一方、読み出し側レジスタ群121のレジ
スタ121aの第1のレディレジスタ301が「入力デ
ータなし」の場合、あるいは書き込み側レジスタ群12
2のレジスタ122aの第2のレディレジスタ401が
「書き込み禁止」の場合には、処理を開始せず、第1の
レディレジスタ301あるいは第2のレディレジスタ4
01を読み出すだけのウエイト状態を続ける。
【0049】2つのシーケンサは少なくとも3つのレジ
スタを有し、これらの3つのレジスタは2つのシーケン
サによって排他的に用いられる。例えば、シーケンサ1
01が検索キーレジスタ群121の1つのレジスタ12
1aのデータ書き込みを行っている場合、シーケンサ1
02は検索キーレジスタ群121の他の1つのレジスタ
121bからデータの読み込みを行い、検索キーレジス
タ群121の残りの1つのレジスタ121cは休止とな
る。
【0050】上記排他的動作について、各レジスタ群と
各シーケンサの動作を示す図8を用いて、さらに説明す
る。
【0051】複数のシーケンサはあるレジスタを用いて
データを受け渡すのであるが、レジスタへの書き込みと
読み出しとが同時に起こると、データの妥当性が無くな
る恐れがあるために、書き込みと読み出しを排他的に制
御することが求められる。以下、排他的な動作について
説明する。
【0052】例えば、検索キーレジスタ群121の動作
に着目して説明すると、検索キーレジスタ群121の第
1のレジスタ121aがシーケンサ101の書き込みに
使用されているときには、検索キーレジスタ群121の
第2のレジスタ121bは、シーケンサ102の読み出
しに使用されており、検索キーレジスタ群121の第3
のレジスタ121cはどこからもアクセスされない状
態、またはシーケンサ101,102のどちらか一方の
使用が可能な状態である。
【0053】シーケンサ101,102は、各々の処理
を終了したら、次の処理のために別のレジスタを使用す
る。つまり、検索キーレジスタ群121の第2のレジス
タ121bはシーケンサ101の書き込みに使用され、
検索キーレジスタ群121の第3のレジスタ121c
は、シーケンサ102の読み出しに使用されており、検
索キーレジスタ群121の第1のレジスタ121aはど
こからもアクセスされない状態、またはシーケンサ10
1,102のどちらか一方の使用が可能な状態となる。
【0054】このような動作を行うことで、各レジスタ
は読み込みと書き込みが排他的に行われるため、レジス
タへの書き込みと読み出しが同時に起こることに起因す
るデータの妥当性の心配は解消される。
【0055】以上説明したように、本実施形態では、ハ
ンドシェイクを用いた確実なパイプライン制御が行な
え、あるいは各手段で周期が異なることも可能である
し、周期の始まりを一致させる必要もなくなり、パイプ
ライン制御の場合には、もっとも周期の長いものに全手
段を合わせる必要があるのに比べて、より短時間で処理
を終了することができる。なお、図8において、シーケ
ンサに代えて汎用CPUを用いて第1の実施形態の構成
に用いることも可能である。
【0056】<第5の実施形態>上記本発明の第4の実
施形態においては、シーケンサ101〜103の各シー
ケンサは、第1のレディレジスタが「入力データな
し」、あるいは第2のレディレジスタが「書き込み禁
止」の場合、常に読み出しを行うウエイト状態としてい
たが、本第5の実施形態では図4(b)を用いて説明し
た動作と同様に、決められたウエイト時間の間、読み出
しを行わないウエイト状態になる構成とした。これによ
り、制御がさらに簡単になるため、そのぶん処理を高速
化できる。
【0057】なお、本実施形態ではそれぞれあらかじめ
決められた固定時間の始まりに現固定時間内にどの処理
プログラムを実行するかを決定しても、固定時間の終わ
りに、次の固定時間内にどの処理プログラムを実行する
かを、決定してもよい。
【0058】<第6の実施形態>本発明の第6の実施形
態は、第5の実施形態において、シーケンサの処理時間
が一定ではないが、ある決められた基準周期の整数倍と
なる場合である。
【0059】例えば、シーケンサ101とシーケンサ1
02との処理時間がともにある決められた基準周期の整
数倍であるが、その処理時間が異なる場合に、シーケン
サ101とシーケンサ102との処理時間の差も基準周
期の整数倍となる。そのため、本実施形態では第5の実
施形態における決められたウエイト時間を基準周期の整
数倍とした。
【0060】例えば、図4(c)を用いて具体的に説明
すると、例えば基準周期を100クロックとした場合、
シーケンサ1は処理プログラムAの終了後、100クロ
ック毎にレジスタを読み出して、処理プログラムB用の
レジスタのフラグの状態を検出する。また、100クロ
ック毎とせず、100クロックの整数倍の400クロッ
ク目にレジスタの状態を読み出し、フラグが立っていた
ならば、次の処理プログラムAの処理を開始する。これ
により、処理を開始する必要のない時刻が決まるため、
制御が簡単になるため、そのぶん処理を高速化できる。
【0061】<第7の実施形態>本発明の第7の実施形
態は、図10に示すように、第2の実施形態において、
第1のシーケンサ101が処理結果を蓄積するレジスタ
として、キーレジスタ121と検索結果レジスタ122
を両方使用し、第2のシーケンサ102が処理結果を蓄
積するレジスタとして、検索結果レジスタ122を使用
し、第3のシーケンサ103が処理結果を蓄積するレジ
スタとして、キュー準備レジスタ123を使用する構成
である。つまり、検索結果レジスタ122は、第1のシ
ーケンサ101と第2のシーケンサ102の両方から書
き込みがあるレジスタである。ただし、検索結果レジス
タ122は、該両方のシーケンサ101,102から同
時にアクセスされることはない。これは、第1の実施形
態でも述べたように、レジスタ122は、3個用意され
ており、3つのシーケンサそれぞれが、1つを読むある
いは書くことに使用しているためである。
【0062】第1のシーケンサ101は、第1のレジス
タ121に検索に必要な情報を書き込み、同時に第2の
レジスタ122に第3のシーケンサ103が必要とする
情報(スルー情報)をパケットヘッダ可能部分から抽出
して、書き込む。その他は、(CPUをシーケンサに書
き換えた)第1の実施形態と同様である。
【0063】これにより、(CPUをシーケンサに書き
換えた)第1の実施形態においては必要である第2のシ
ーケンサ102がスルー情報をレジスタ122からレジ
スタ123へ移動させるという処理が必要ではなくなる
ことで、制御が簡単になるため、そのぶん処理を高速化
できる。
【0064】本実施形態で、シーケンサに代えて汎用C
PUを用いる構成も可能である。また、シーケンサ10
1はサーチ/学習シーケンサ102が管理する検索結果
レジスタ122に直接作用することを示したが、サーチ
/学習シーケンサ102がキュー準備レジスタ123に
直接書き込むことも可能である。
【0065】<第8の実施形態>本発明の第8の実施形
態は、図11,図12,図13に示すように、第2〜7
の実施形態における各シーケンサの行なう処理におい
て、該処理は複数の命令から構成されており、図12に
示すように、1つの命令の実行が加算やシフト算や、比
較算のように汎用CPUにおいて用いられているような
基本演算を用いて、あるいは1つの命令が、あるデータ
の加算した結果を比較しながら同時に別のデータをシフ
トするといったような該基本演算の並列あるいは順次的
組み合わせで構成されている特殊演算を用いて実行され
る演算と命令で構成されている。これらの演算はどちら
もハードウエアで構成されている。
【0066】以下、汎用CPUとシーケンサの処理クロ
ック数の比較について説明する。
【0067】図11に示すように、汎用CPU600に
おいては、命令セット604から取り出された命令は、
レジスタ603の情報を用いて、第1の基本演算601
あるいは第2の基本演算602を用いて演算結果を出
し、再度レジスタ603に書き込む。
【0068】また、図12に示すように、本実施形態の
シーケンサ700においては、命令セット704から取
り出された命令は、レジスタ703の情報を用いて、特
殊演算701あるいは基本演算602あるいは基本演算
601を用いて演算結果を出し、再度レジスタ703に
書き込む。
【0069】例えば、XとYという2つの情報があるレ
ジスタにあり、この2つを用いて、Z=2×X+2×Y
を求め、ZをレジスタZに書き込むという処理を行な
う。基本演算としては、図12に示すように加算602
及びシフト601を持っており、基本演算を用いて、命
令を並べると以下のようになる。各命令は1クロックで
実行する。レジスタXを1ビットシフトして(1クロッ
ク目)、レジスタYを1ビットシフトして(2クロック
目)、レジスタXとレジスタYとを加算して(3クロッ
ク目)、結果をレジスタZに書き込む(4クロック
目)。
【0070】一方、図13に示すように特殊演算701
は、ビットシフト801とビットシフト802と加算8
03とを持ち、Z=2×X+2×Yを求め、Zをレジス
タZ813に書き込むという処理を1クロックで行なう
演算(演算Zと呼ぶ)である。従って、特殊演算を用い
て命令を構成すると、演算Z(1クロック目)だけとな
る。このように、あらかじめ必要な演算を特殊命令とし
て、ハードウエアで実現しているため、処理の高速化が
行なえる。一方、基本演算を組み合わせることで、特殊
演算を実現できるようにしておけば、ハードウエアでは
汎用CPUよりも同じ処理を高速に実現できるため高速
化が行なえ、また命令の組み合わせの変更で演算の組み
合わせの変更が可能になるため、柔軟性も得られ、設計
変更や新規処理の追加が高速性という利点を保ちつつ、
低コストで実現できる。
【0071】上記各実施形態において、パケットのヘッ
ダ処理装置及びヘッダ処理方法について説明したが、こ
れらはMACヘッダやTCP/IPヘッダに限らず、他
のヘッダ処理にも適用できるものである。また、汎用C
PUやシーケンサの数を3個として説明したが、もっと
多数の汎用CPU或いはシーケンサを用いることで更な
る高速化を図ることができる。
【0072】また、各実施形態において、第1〜第3の
手段をCPU101〜103又はシーケンサ101〜1
03で構成した例を示したが、第1〜第3の手段は1つ
のシーケンサと2つのCPU、2つのシーケンサと1つ
のCPU、独立した3つのシーケンサ、独立した3つの
CPUで構成してもよく、また、共有される(第1〜第
3の手段のうち二つの手段が共有される)シーケンサと
一つのシーケンサあるいは一つのCPU、共有されるC
PUと一つのシーケンサあるいは一つのCPUで構成し
てもよい。図9は、図1において三つのCPUのうち一
つのCPUを一つのシーケンサに置き換えた場合を示す
システムの概念ブロック図である。
【0073】
【発明の効果】本発明によれば、汎用CPUを用いてボ
トルネックになる資源で制約される速度までヘッダ処理
が低コストで高速化できる。また、シーケンサを用い
て、パケットヘッダ処理をプログラマブルなハードウエ
ア論理回路で実現することで、高速性を保ちながら、設
計変更や将来の機能追加を低コストで実現できる。さら
に、複数の処理をパイプラインとして動作させて、ヘッ
ダ処理、例えば次のルータの宛先の検索とパケットに宛
先データの挿入等のルーティング処理等を高速に実行で
きる。
【図面の簡単な説明】
【図1】本発明の一実施形態のシステムの概念ブロック
図である。
【図2】本発明のヘッダ処理のシステムの概念ブロック
図である。
【図3】本発明のヘッダ処理のシステムの概念ブロック
図である。
【図4】本発明のヘッダ処理のシステムの概念ブロック
図である。
【図5】本発明のヘッダ処理のシステムの概念ブロック
図である。
【図6】本発明の一実施形態のシステムの概念ブロック
図である。
【図7】本発明の一実施形態のシステムの概念ブロック
図である。
【図8】本発明の一実施形態のシステム処理の概念ブロ
ック図である。
【図9】図5において一つのCPUを一つのシーケンサ
に置き換えた場合を示すシステムの概念ブロック図であ
る。
【図10】本発明の一実施形態のシステムの概念ブロッ
ク図である。
【図11】本発明の一実施形態のシステムの概念ブロッ
ク図である。
【図12】本発明の一実施形態のシステムの概念ブロッ
ク図である。
【図13】本発明の一実施形態のシステムの概念ブロッ
ク図である。
【図14】DIX規定とIEEE802.3規定の80
2.1Q規定とのフォーマットである。
【符号の説明】
101 前処理シーケンサ 102 サーチ/学習エンジン 103 後処理シーケンサ 120 ヘッダレジスタ 121 検索キーレジスタ 122 検索結果レジスタ 123 キュー準備レジスタ 201 同期タイマ 301,302,303 レディレジスタ 401,402,403 レディレジスタ
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) H04L 29/02 H04L 12/56

Claims (15)

    (57)【特許請求の範囲】
  1. 【請求項1】 パケットから抽出されたヘッダを含むパ
    ケットの一部分から、プロトコルヘッダの各フィールド
    のデータを抽出し、指定された記憶場所に入力する第1
    の手段と、 該指定された記憶場所のデータを検索キーにして検索を
    行い、該検索キーに一致するテーブルエントリの内容を
    出力する第2の手段と、 該第2の手段の出力内容と前記記憶場所のデータとか
    ら、前記パケットの送出先とヘッダ更新情報の属性情報
    を作成する第3の手段と、 を有し、 前記第1〜第3の各手段は、それぞれあらかじめ決めら
    れた固定時間の始まりあるいは終わりに、現固定時間内
    に、あるいは次の固定時間内にどの処理プログラムを実
    行するかを、決定することを特徴とするヘッダ処理装
    置。
  2. 【請求項2】 パケットから抽出されたヘッダを含むパ
    ケットの一部分から、プロトコルヘッダの各フィールド
    のデータを抽出し、指定された記憶場所に入力する第1
    の手段と、 該指定された記憶場所のデータを検索キーにして検索を
    行い、該検索キーに一致するテーブルエントリの内容を
    出力する第2の手段と、 該第2の手段の出力内容と前記記憶場所のデータとか
    ら、前記パケットの送出先とヘッダ更新情報の属性情報
    を作成する第3の手段と、 を有し、 前記第1〜第3の各手段は、それぞれあらかじめ決めら
    れた命令数の整数倍で処理を終了し、処理終了時あるい
    は開始時に、他の手段の処理の終了あるいは開始を確認
    し、少なくとも他の1つの手段において終了あるいは開
    始が確認できない場合には、命令の実行を一時停止し、
    全手段が処理の終了あるいは開始状態になるのを待つこ
    とを特徴とするヘッダ処理装置。
  3. 【請求項3】 パケットから抽出されたヘッダを含むパ
    ケットの一部分から、プロトコルヘッダの各フィールド
    のデータを抽出し、指定された記憶場所に入力する第1
    の手段と、 該指定された記憶場所のデータを検索キーにして検索を
    行い、該検索キーに一 致するテーブルエントリの内容を
    出力する第2の手段と、 該第2の手段の出力内容と前記記憶場所のデータとか
    ら、前記パケットの送出先とヘッダ更新情報の属性情報
    を作成する第3の手段と、 を有し、 前記第1の手段における記憶場所として、1つの共用部
    分と2つの個別部分を有し、該共用部分は、一部あるい
    は全てのフィールドデータを前記第2の手段と前記第3
    の手段で共用して使用するような記憶場所として用い、
    前記個別部分は、各個別部分に同一内容のデータを持ち
    且つ各個別部分のそれぞれを、前記第2の手段と、前記
    第3の手段で独立に用いることを特徴とするヘッダ処理
    装置。
  4. 【請求項4】 請求項1〜3のいずれか1項に記載のヘ
    ッダ処理装置において、前記第1〜第3の手段は、1つ
    のシーケンサと2つのCPU、2つのシーケンサと1つ
    のCPU、3つのシーケンサ、3つのCPU、のいずれ
    かにより構成されることを特徴とするヘッダ処理装置。
  5. 【請求項5】 請求項1〜3のいずれか1項に記載のヘ
    ッダ処理装置において、前記第1〜第3の手段は、共有
    されるシーケンサと一つのシーケンサあるいは一つのC
    PU、共有されるCPUと一つのシーケンサあるいは一
    つのCPU、のいずれかにより構成されることを特徴と
    するヘッダ処理装置。
  6. 【請求項6】 請求項1〜5のいずれか1項に記載のヘ
    ッダ処理装置において、前記第1〜第3の手段をそれぞ
    れパイプライン処理する手段を有することを特徴とする
    ヘッダ処理装置。
  7. 【請求項7】 請求項に記載のヘッダ処理装置におい
    て、前記パイプライン処理について前記第1〜第3の手
    段のいずれかで制御の受け渡しをハンドシェイクを用い
    て行うことを特徴とするヘッダ処理装置。
  8. 【請求項8】 請求項4〜7のいずれか1項に記載のヘ
    ッダ処理装置において、前記第1の手段におけるシーケ
    ンサの命令として、ヘッダ可能性部分から、MAC(Me
    dia Access Control)パケットのヘッダのMACアドレ
    スにより識別される、DIX規格とIEEE規格80
    2.3規定の2つの標準形式と該2つの標準形式に80
    2.1Q規定の仮想LANの識別子がついているか否か
    の2種類との4通りのMACフォーマットを抽出し、必
    要に応じて、該MACパケットの ペイロードとしてのI
    Pパケットを抽出する特殊演算からなる第1の命令セッ
    トと、任意の複数ビットを抽出する基本演算からなる第
    2の命令セットとを持ち、前記第1の命令セットと前記
    第2の命令セットの命令を各々固有のハードウエアで処
    理することを特徴とするヘッダ処理装置。
  9. 【請求項9】 請求項4〜7のいずれか1項に記載のヘ
    ッダ処理装置において、前記第2の手段におけるシーケ
    ンサの命令として、テーブルへの検索データ入力と前記
    テーブルからの検索結果のレジスタへの蓄積を行う特殊
    演算からなる第1の命令セットと、任意の複数ビットを
    レジスタからレジスタへ移動する基本演算からなる第2
    の命令セットとを持ち、前記第1の命令セットと前記第
    2の命令セットの命令を各々固有のハードウエアで処理
    することを特徴とするヘッダ処理装置。
  10. 【請求項10】 請求項4〜7のいずれか1項に記載の
    ヘッダ処理装置において、前記第3の手段におけるシー
    ケンサの命令として、検索結果出力から装置内パケット
    ヘッダの作成を行なう特殊演算からなる第1の命令セッ
    トと、任意の複数ビットをレジスタからレジスタへ移動
    する基本演算からなる第2の命令セットとを持ち、前記
    第1の命令セットと前記第2の命令セットの命令を各々
    固有のハードウエアで処理することを特徴とするヘッダ
    処理装置。
  11. 【請求項11】 パケットから抽出されたヘッダを含む
    パケットの一部分から、プロトコルヘッダの各フィール
    ドのデータを抽出し、指定された記憶場所に入力する第
    1の手順と、該指定された記憶場所のデータを検索キー
    にして検索を行い、前記検索キーに一致するテーブルエ
    ントリの内容を出力する第2の手順と、該第2の手順の
    出力内容と前記記憶場所のデータとから、前記パケット
    の送出先とヘッダ更新情報の属性情報を作成する第3の
    手順と、を有し、 前記第1〜第3の各手順は、それぞれあらかじめ決めら
    れた固定時間の始まりあるいは終わりに、現固定時間内
    に、あるいは次の固定時間内にどの処理プログラムを実
    行するかを、決定するヘッダ処理方法。
  12. 【請求項12】 請求項11に記載のヘッダ処理方法に
    おいて、前記第1〜第3の手順は、1つのシーケンサと
    2つのCPU、2つのシーケンサと1つのCPU、3つ
    のシーケンサ、3つのCPU、のいずれかを用いて実行
    されることを特徴とするヘッダ処理方法。
  13. 【請求項13】 請求項11に記載のヘッダ処理方法に
    おいて、前記第1〜第3の手順は、共有されるシーケン
    サと一つのシーケンサあるいは一つのCPU、共有され
    るCPUと一つのシーケンサあるいは一つのCPU、の
    いずれかを用いて実行されることを特徴とするヘッダ処
    理方法。
  14. 【請求項14】 請求項11〜13のいずれか1項に記
    載のヘッダ処理方法において、前記第1〜第3の手順を
    それぞれパイプライン処理によって行うことを特徴とす
    るヘッダ処理方法。
  15. 【請求項15】 請求項14に記載のヘッダ処理方法に
    おいて、前記パイプライン処理について前記第1〜第3
    の手順のいずれかで制御の受け渡しをハンドシェイクを
    用いて行うことを特徴とするヘッダ処理方法。
JP1600699A 1998-01-23 1999-01-25 ヘッダ処理装置とそのヘッダ処理方法 Expired - Lifetime JP3233353B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1600699A JP3233353B2 (ja) 1998-01-23 1999-01-25 ヘッダ処理装置とそのヘッダ処理方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP10-11437 1998-01-23
JP1143798 1998-01-23
JP1600699A JP3233353B2 (ja) 1998-01-23 1999-01-25 ヘッダ処理装置とそのヘッダ処理方法

Publications (2)

Publication Number Publication Date
JPH11317783A JPH11317783A (ja) 1999-11-16
JP3233353B2 true JP3233353B2 (ja) 2001-11-26

Family

ID=26346862

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1600699A Expired - Lifetime JP3233353B2 (ja) 1998-01-23 1999-01-25 ヘッダ処理装置とそのヘッダ処理方法

Country Status (1)

Country Link
JP (1) JP3233353B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4203979B2 (ja) 2000-08-02 2009-01-07 富士通株式会社 パケット処理装置
KR100699470B1 (ko) 2000-09-27 2007-03-26 삼성전자주식회사 멀티레이어 패킷 처리 장치
WO2003075537A1 (fr) 2002-03-05 2003-09-12 Fujitsu Limited Appareil de communication
JP3789395B2 (ja) 2002-06-07 2006-06-21 富士通株式会社 パケット処理装置
JP5966347B2 (ja) * 2011-12-21 2016-08-10 ソニー株式会社 画像処理装置および方法
JP5966346B2 (ja) * 2011-12-21 2016-08-10 ソニー株式会社 画像処理装置および方法
CN108989311A (zh) * 2013-05-31 2018-12-11 华为技术有限公司 生成输入参数的方法及设备

Also Published As

Publication number Publication date
JPH11317783A (ja) 1999-11-16

Similar Documents

Publication Publication Date Title
US9110714B2 (en) Systems and methods for multi-tasking, resource sharing, and execution of computer instructions
US11677664B2 (en) Apparatus and method of generating lookups and making decisions for packet modifying and forwarding in a software-defined network engine
US6330584B1 (en) Systems and methods for multi-tasking, resource sharing and execution of computer instructions
US7089407B2 (en) Packet processing device processing input packet data in a packet routing device
TW200301429A (en) A method of improving the lookup performance of tree-type knowledge base searches
WO1996034479A1 (en) Packet switching engine
JP2001251349A (ja) パケットプロセッサ
US7937495B2 (en) System and method for modifying data transferred from a source to a destination
US5784373A (en) Switching device for LAN
JP3233353B2 (ja) ヘッダ処理装置とそのヘッダ処理方法
CN116860488B (zh) 一种进程通信方法和相关装置
JP2000196672A (ja) ネットワ―ク間中継装置
KR100512980B1 (ko) 메인프로세서의 패킷 헤더 처리 효율 향상을 위해 패킷헤더 필더를 추출해 정렬하는 패킷프로세서,버퍼메모리제어장치 및 그 방법
US7058051B2 (en) Packet processing device
JP3837670B2 (ja) データ中継装置、連想メモリデバイス、および連想メモリデバイス利用情報検索方法
JP2000349816A (ja) パケットデータ処理装置及びそれを用いたパケット中継装置
CN110933001A (zh) 一种可扩展的可重构交换机包解析器基本处理单元结构
JP3935021B2 (ja) パケット処理方法及び装置
CN114827655B (zh) 内容存储转发方法及装置、电子设备、存储介质
CN108599907A (zh) 网络接口控制器
JP3058010B2 (ja) プロセッサ間通信方法及び装置
JP3670372B2 (ja) データ転送装置
JP3171726B2 (ja) 伝送データの管理装置
CN118200258A (zh) 基于高位宽流水结构的协议无关百吉交换包头识别装置
JP4423728B2 (ja) データ伝送装置及び方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080921

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20080921

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090921

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090921

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100921

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110921

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120921

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130921

Year of fee payment: 12

EXPY Cancellation because of completion of term