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

パケット処理装置 Download PDF

Info

Publication number
JP4342100B2
JP4342100B2 JP2000373732A JP2000373732A JP4342100B2 JP 4342100 B2 JP4342100 B2 JP 4342100B2 JP 2000373732 A JP2000373732 A JP 2000373732A JP 2000373732 A JP2000373732 A JP 2000373732A JP 4342100 B2 JP4342100 B2 JP 4342100B2
Authority
JP
Japan
Prior art keywords
packet
internal information
processor
processing
packet processing
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 - Fee Related
Application number
JP2000373732A
Other languages
English (en)
Other versions
JP2002176440A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2000373732A priority Critical patent/JP4342100B2/ja
Priority to US09/942,216 priority patent/US7058051B2/en
Priority to EP20010121713 priority patent/EP1213891B1/en
Priority to DE2001631355 priority patent/DE60131355T2/de
Publication of JP2002176440A publication Critical patent/JP2002176440A/ja
Application granted granted Critical
Publication of JP4342100B2 publication Critical patent/JP4342100B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、パケット処理装置に関し、特に通信ネットワークに対するパケットの処理を行うパケット処理装置に関する。
【0002】
【従来の技術】
近年、コンピュータや様々な情報処理機器が、ネットワークにより相互接続し、通信システムの規模は拡大している。通信システムを構築するネットワークで現在主流なのは、IP(Internet Protocol)によるネットワークである。IPは、ネットワーク層に相当するコネクションレス型のプロトコルである。
【0003】
IPネットワークにおけるパケット処理は、パケットヘッダのチェックサムの計算、宛先テーブルの検索、パケットヘッダ書き換え等のパケットを中継するのに必要な処理に加え、ネットワークにおける通信を制限するためのパケットフィルタリングの実装が求められる。
【0004】
これらの処理は、専用のハードウェアで行うには煩雑であるうえ、プロトコル自体の改訂に伴う処理手順の変更もありうるため、従来ではプロセッサによってソフトウェア処理するのが一般的であった。
【0005】
例えば、プロセッサとメモリをバスによって接続し、プロセッサがメモリ内に格納したプログラムのソフトウェア処理を行うことによって、パケット処理を実行する。
【0006】
しかし、こうしたパケット処理では、メモリへの読み出し/書き込みといったメモリへのアクセスが生じるためにオーバヘッドが増加し、さらにメモリ自身のアクセス帯域幅の制限により、パケット処理の高速化が困難であった。
【0007】
そこで、特願平11−158514号公報では、パケットデータを直接取り込むレジスタであるパケットアクセスレジスタをプロセッサ内に設け、このパケット処理プロセッサを、複数直列に接続している。
【0008】
これにより、前段のパケット処理プロセッサのパケット処理結果出力を、次のパケット処理プロセッサのデータ入力とすることにより、1つのパケットはパイプライン処理で実行される。
【0009】
このようなパイプライン処理系を構成することにより、従来のプロセッサとメモリを接続した構成よりも、効率的にパケット処理を行うことができる。
【0010】
【発明が解決しようとする課題】
しかし、上記のような従来技術では、パケット入出力部を持つプロセッサを直列に接続し、パケット処理を複数に分割して実行しても、接続したプロセッサ数に見合った性能向上は望めないといった問題があった。
【0011】
パケット処理を複数に分割して実行した場合、処理途中の状態を、前段側プロセッサから後段側プロセッサへと引き継ぐことが必要であるが、従来技術では、この引き継ぐ情報をパラメータの形で行っていた。したがって、前段側プロセッサでは、パラメータを生成する処理が、また後段側プロセッサでは、そのパラメータを解釈して判定する処理が必要とされていた。
【0012】
例えば、パケットのプロトコルタイプに応じて、対応する処理を分ける場合、パケットヘッダを解析してプロトコルタイプを判定する処理と、特定プロトコルに対して実行すべき処理と、をそれぞれ別プロセッサに分割する。
【0013】
すると、前段側プロセッサでは、プロトコル判定結果にもとづく値をパラメータに変換して後段側へ送信し、後段側プロセッサでは、そのパラメータを自身が処理対象とするプロトコルを示しているか否かを比較判定する処理が発生する。
【0014】
このような処理オーバヘッドは、所要スループットが高くなれば、高くなるほど厳しくなる。例えば、処理が5ステップとしたとき、各プロセッサの許容処理時間が命令ステップ数換算で100ステップである場合は、オーバヘッドは5%に過ぎないが、許容処理時間が10ステップになると50%に達し、さらに高いスループットを求められる場合は、事実上オーバヘッドとなる処理が大半になってしまう。
【0015】
したがって、処理プロセッサをパイプライン構成に配備し、実行すべき処理を複数の処理ステージに分割して、1プロセッサあたりの処理量を抑制しようとしても、従来技術のように、プロセッサ間での情報のやりとりをパラメータという一般化した形で行っていると、上述のようにオーバヘッドが増加してしまう。
【0016】
本発明はこのような点に鑑みてなされたものであり、オーバヘッドを抑制し、パケットの高速処理を可能にしたパケット処理装置を提供することを目的とする。
【0017】
【課題を解決するための手段】
本発明では上記課題を解決するために、図1に示すような、パケットの処理を行うパケット処理装置1において、パケットを入力するパケット入力手段11と、プロセッサ内部の情報を内部情報として引き継ぎ制御する内部情報引き継ぎ手段12と、内部情報にもとづいて、入力したパケットを演算処理するパケット演算手段13と、演算後のパケットを出力するパケット出力手段14と、から構成される複数のパケット処理プロセッサ10−1〜10−k〜10−nと、パケット処理プロセッサ10−1〜10−k〜10−nを直列接続する通信ラインLと、を有し、内部情報引き継ぎ手段12は、パケットの演算処理が終了する前の所定のタイミングで、後段のパケット処理プロセッサに対する内部情報の引き継ぎを行う、ことを特徴とするパケット処理装置1が提供される。
【0018】
ここで、パケット入力手段11は、パケットを入力する。内部情報引き継ぎ手段12は、プロセッサ内部の情報を内部情報として引き継ぎ制御する。パケット演算手段13は、内部情報にもとづいて、入力したパケットを演算処理する。パケット出力手段14は、演算後のパケットを出力する。通信ラインLは、パケット処理プロセッサ10−1〜10−k〜10−nを直列接続する。なお、内部情報引き継ぎ手段12は、パケットの演算処理が終了する前の所定のタイミングで、後段のパケット処理プロセッサに対する内部情報の引き継ぎを行う。
【0019】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。図1は本発明のパケット処理装置の原理図である。パケット処理装置1は、パケット処理プロセッサ10−1〜10−k〜10−nを含み、パケット処理プロセッサ10−1〜10−k〜10−nは、通信ラインLで直列(縦列)接続して、パイプライン処理構成をとる。
【0020】
パケット処理プロセッサ10−1〜10−k〜10−n(総称する場合は、パケット処理プロセッサ10)に対し、パケット入力手段11は、パケットを入力する。
【0021】
内部情報引き継ぎ手段12は、プロセッサ内部の情報を内部情報として引き継ぎ制御する。すなわち、前段側のパケット処理プロセッサから送信された内部情報を受信して引き継ぎ、また自己のプロセッサの内部情報を後段側のパケット処理プロセッサへ送信する。
【0022】
なお、ここでの内部情報とは、従来技術のような、内部状態を一旦変換して生成したパラメータではなく、パケット処理プロセッサの内部実行状態そのままを示す情報のことである。本発明ではこのような内部情報をプロセッサ間で引き継ぐため、パラメータの生成処理やパラメータの解釈判定処理等が不要となり、オーバヘッドを削減することができる。
【0023】
パケット演算手段13は、前段側から送信された内部情報にもとづいて、入力したパケットを演算処理する。パケット出力手段14は、演算後のパケットを後段側へ出力する。
【0024】
なお、図中、内部情報Daは、前段側から送信された内部情報である。内部情報Dbは、後段側へ送信する、パケット処理プロセッサ10の内部実行状態を示す内部情報である。パケットPaは、前段側で処理されたパケットである。パケットPbは、後段側へ送信する、パケット処理プロセッサ10で処理されたパケットである。
【0025】
次に本発明のパケット処理装置1を搭載する装置例としてスイッチング・ルータについて説明する。図2はスイッチング・ルータの構成を示す図である。
スイッチング・ルータ100は、複数のラインカードと、スイッチ部120とを含み、これらはアプリケーション・インタフェースを通じてソフトウェアからの動作設定を受ける。
【0026】
ラインカード110に対し、物理リンクから受信したデータは、レシーバ111bでデータストリームに変換され、フレーマ112を通じてパケットとして抽出される。
【0027】
パケット・クラシファイ部113は、抽出されたパケットに対し、中継先判定等のパケット・クラシファイ処理を行う。また、宛先や必要な品質制御を決定し、スイッチ・インタフェース部114を介し、スイッチ部120へとパケットを引き渡す。スイッチ部120は、パケット・クラシファイ処理によって指定された出力先に、パケットを中継する。
【0028】
一方、スイッチ部120からスイッチ・インタフェース部114を介し、パケットの中継を受けたラインカード110は、パケット・クラシファイの結果にもとづき、定められたキュー115のパケットをフレーミング処理及び物理レイヤによる物理リンクに応じた形式に変換して、フレーマ112、ドライバ111aを介して物理リンクへ送出する。
【0029】
このスイッチング・ルータ100に対する本発明のパケット処理装置1の機能は、パケット・クラシファイ部113に用いられている。そして、ここでパケットのプロトコル種別を判定し、パケットヘッダにもとづき、宛先を判定し、スイッチ・インタフェース部114、スイッチ部120に対し、どこへ中継するかの情報をパケットとともに通知し、またパケットの内容に応じて適用品質制御を決定する。
【0030】
次に本発明のパケット処理装置1の動作(第1の実施の形態とする)についてさらに詳しく説明する。図3は3段構成のパケット処理プロセッサを含むパケット処理装置の構成を示す図である。
【0031】
パケット処理装置1aは、パケット処理プロセッサ(以下、単にプロセッサと呼ぶ)10a〜10cを含み、各プロセッサはパケット入力手段11a〜11cにパケットが到着するタイミングに同期して処理プログラムを起動する。図では、パケットの到着タイミングを別信号(パケット到着タイミングT0〜T3)として伝達している。
【0032】
そして、時間の経過(内部クロックのサイクル経過)にしたがって、各プロセッサ個別に持つプログラム(またはマイクロコード)16a〜16cにもとづいて処理を実行する。個々のプロセッサは、処理スループットによって決まる許容処理時間(例えば、4サイクル)分の処理を実行すると、そのパケットに対するプログラム処理を終了する。
【0033】
入力されたパケットは、プロセッサ内部のシフトレジスタ構造のパケットアクセスレジスタ15a〜15cを経て、パケット出力手段14a〜14cへと順次送られる。また、パケット出力タイミングにあわせ、パケット到着タイミングも次段へと出力する。
【0034】
このとき、パケット到着タイミングを次段のプロセッサに引き渡すタイミングで、内部情報引き継ぎ手段12a〜12cは前段側プロセッサの内部情報を、パケット処理終了時に、後段側プロセッサに引き渡す。後段側プロセッサは、その内部情報をパケット到着タイミングと同期して自身に取り込む。
【0035】
すると、実際には、後段側プロセッサは、パケット処理を新規に開始しているにもかかわらず、前段のプロセッサの実行情報を引き継いでいるため、前段側プロセッサの処理をそのまま継続するのと同等な処理が行える。
【0036】
次に上記の内容について、図に示す3段構成のパケット処理系の例にもとづいて説明する。1段目のプロセッサ10aは、入力されたパケットデータPinをパケット入力手段11aで受け取る。そして、パケット先頭を示すパケット到着タイミングT0に同期して、自身が実行する処理プログラムを起動する。
【0037】
このとき、プロセッサ10aは、最初のプロセッサであるため、前段のプロセッサから引き継ぐ内部状態は存在しない。
パケットデータPinは、プロセッサ10a内部のパケットアクセスレジスタ15aを経て、一定のレイテンシで順次パケット出力手段14aへと送られていく。この間にパケット演算手段13aは、プログラム16aによるパケット処理を実行し、処理スループットによって決まる許容処理時間内の処理を実行して、そのパケットに対するプログラム処理を終了する。
【0038】
そして、パケット出力手段14aは、プロセッサ10aで処理したパケットP1及びパケット到着タイミングT1をプロセッサ10bへと出力する。このとき、内部情報引き継ぎ手段12aは、プロセッサ10a自身の内部状態を示す内部情報D1を出力する。
【0039】
2段目のプロセッサ10bに対し、プロセッサ10aのパケット出力手段14aからの出力を、パケット入力手段11bで受信し、パケット到着タイミング信号T1に同期して、自身が実行する処理プログラムを起動する。
【0040】
この起動に先立ち、プロセッサ10bはプロセッサ10aが出力する内部情報D1を取り込み、自身の内部状態とする。
プロセッサ10b内でパケットデータP1は、パケットアクセスレジスタ15bを通じて、一定のレイテンシでパケット出力手段14bへと送られていく。この間にパケット演算手段13bは、プログラム16bによるパケット処理を実行し、処理スループットによって決まる許容処理時間内の処理を実行して、そのパケットに対するプログラム処理を終了する。
【0041】
そして、パケット出力手段14bは、プロセッサ10bで処理したパケットP2及びパケット到着タイミングT2をプロセッサ10cへと出力する。このとき、内部情報引き継ぎ手段12bは、プロセッサ10b自身の内部状態を示す内部情報D2を出力する。
【0042】
3段目のプロセッサ10cに対し、プロセッサ10bのパケット出力手段14bからの出力を、パケット入力手段11cで受信し、パケット到着タイミングT2に同期して自身が実行する処理プログラムを起動する。
【0043】
この起動に先立ち、プロセッサ10cはプロセッサ10bが出力する内部情報D2を取り込み、自身の内部状態とする。
プロセッサ10c内でパケットデータP2は、パケットアクセスレジスタ15cを通じて、一定のレイテンシでパケット出力手段14cへと送られていく。この間にパケット演算手段13cは、プログラム16cによるパケット処理を実行し、処理スループットによって決まる許容処理時間内の処理を実行して、そのパケットに対するプログラム処理を終了する。
【0044】
そして、パケット出力手段14cは、プロセッサ10cで処理したパケットPout及びパケット到着タイミングT3を外部へ出力する。このとき、プロセッサ10cはパケット処理系の最終段であるため、プロセッサ10cの内部情報D3(図示せず)は出力する必要はない。
【0045】
図4はパケット処理装置1aに対する内部情報の引き継ぎ動作のタイミングチャートを示す図である。プロセッサ10a〜10cのそれぞれに対し、パケット到着タイミングT0〜T2、入力パケットデータPin、P1、P2、内部情報D1〜D3、実行命令M1〜M3、出力パケットデータP1、P2、Pout、を示している。
【0046】
ここで、内部情報の引き継ぎ動作について説明すると、プロセッサ10aでは、パケットデータPinを実行命令C1〜C4で処理してパケットデータP1を出力する。この際、実行命令C1〜C4に対応する内部状態がそれぞれS0〜S3であり、内部状態S4は次段のプロセッサ10bに引き継がれる。そして、プロセッサ10bでは、パケットデータP1を引き継いだ状態からパケット処理を行う(プロセッサ10aの内部状態S4は、プロセッサ10bの内部状態S0に対応している)。以降同様である。
【0047】
次に第2の実施の形態について説明する。第2の実施の形態は、プロセッサ間で引き継ぐ内部情報として、状態フラグを引き継ぐ場合である。プロセッサ10では、命令実行結果によってセット/クリアが変化し、また、その値によって命令の実行動作を変える状態フラグを備える。プロセッサ10は、各命令実行後、その実行結果を評価して、状態フラグのフラグ値を更新する。
【0048】
フラグ値には、例えば、キャリーや零等があり、命令実行結果でキャリー(桁上がり)が発生したならば、プロセッサ10は、キャリーフラグを立てる。また、こうしたフラグの値に応じて命令の動作が変わるものとして条件分岐命令や条件実行命令がある。
【0049】
すなわち、条件分岐は、指定したフラグ値が指定条件値を満たしていれば指定先の命令から処理を継続する。また、条件実行は、指定したフラグ値が指定条件値を満たしているときにその命令を実行し、満たしていなければその命令を実行しない(命令クロックサイクルは消費するので動作的にはノーオペレーションと等価になる)。
【0050】
このような状態フラグの値を内部情報として引き継ぐことにより、例えば、前段のプロセッサにおいては、フラグ値の判定処理まで実行し、後段のプロセッサではその条件値によって異なる処理をする、という処理分担が可能となる。
【0051】
次に第3の実施の形態について説明する。第3の実施の形態は、内部情報としてバンク情報を引き継ぐ場合である。図5はプログラムバンクを示す図である。プロセッサ10は、命令手順を複数のプログラムバンクに分けて格納する。また、プログラムバンクの切替え処理は、命令手順中のプログラムバンク切替え命令にしたがって行う。切替え命令が実行された後は、その命令が指定する番地へ行き、その番地のプログラムから処理を開始する。このようなことを繰り返して、最終番地まで実行していく。
【0052】
図では、プログラムバンクB1〜B4に対し、カウンタ20で指示された番地にしたがって、命令が切り替わる様子を示している。最初、プログラムバンクB1の0番地〜2番地に格納されている命令を実行し、その後、プログラムバンクB3の2番地に切り替わる。
【0053】
そして、プログラムバンクB3の2番地〜6番地に格納されている命令を実行し、その後、プログラムバンクB2の6番地に切り替わり、プログラムバンクB2の最終番地まで命令を実行する。
【0054】
このようなプログラムバンク切替え処理に対し、1つのプロセッサが担当するパケット処理を、例えば、入力パケットフォーマットに応じて、各プロセッサ間で実行する命令を変えるといったような分岐処理に適用することができる。この場合に、プロセッサ間でプログラムバンクの番地を内部情報として引き継ぐようにすれば、効率のよいパイプライン処理が可能になる。
【0055】
次に第4の実施の形態について説明する。第4の実施の形態は、内部情報として、ローカルレジスタに格納された情報を引き継ぐ場合である。プロセッサ10は、演算結果を内部で保持するためのローカルレジスタ(例えば、パケット演算手段13内に含まれる)を備えている。
【0056】
例えば、パケットから特定のフィールドを取り出した値を加工する場合、パケットから特定のフィールドを抽出し加工を行い、加工結果をローカルレジスタに格納する。そして、ローカルレジスタに格納された加工結果を内部情報として、次段のプロセッサへ引き継ぎ、次段のプロセッサで再度加工の処理を実行する。
【0057】
このように、ローカルレジスタに格納された情報を内部情報として、引き継ぐようにすれば、効率のよいパイプライン処理が可能になる。
次に第5の実施の形態について説明する。ここまでの説明では、各プロセッサの処理が、時間軸上でオーバラップしない例について説明したが、第5の実施の形態では、連続する2つのプロセッサについて前段側がパケットスループットで許容される処理時間を使い尽くすより前に、後段側のプロセッサでパケット処理を開始する場合である。
【0058】
例として、各プロセッサ内でのパケット蓄積時間が、パケットスループットで許容される処理時間より短い場合を考える。この場合、前段側のパケット処理が完了してから後段側にその実行時のプロセッサ内部の処理状態を引き継ごうとしても、その時点では後段側でのパケット処理が開始されているため、引き継ぐことができない。
【0059】
ところが、前段側ですべての処理を完了する前であっても、後段側が処理を開始するにあたり、必要な情報がすべて用意できているなら、その内部状態を後段のパケット処理に引き継げば、その後も引き続き前段側のプロセッサがそのパケットに対し残った処理を継続できる。このとき、前段側プロセッサが、その残った処理として行えるのは、後段側プロセッサに引き継ぐべき内部状態に関与しない処理である。
【0060】
第1の実施の形態では、パケット処理終了時が、内部情報の通知を行うタイミングとなっているが、第5の実施の形態では、パケット処理が終了する前に、プロセッサの内部状態を後段に通知する処理を起動するタイミングを発生する。
【0061】
具体的な方法としては、例えば、各プロセッサで発生するパケットのレイテンシによって固定的に通知時期を定める方法、プログラム実行開始から何サイクル目に内部情報を後段へ出力するかを設定する方法等がある。
【0062】
次に第6の実施の形態について説明する。第1〜第5の実施の形態では、内部情報を各プロセッサ間で必ず引き継ぐものとした。しかし、内部状態を引き継ぐことが不都合になるケースがある。
【0063】
すなわち、隣接するプロセッサ同士で実行すべき処理の関連性あるいは連続性が疎である場合に、前段の情報を引き継ぐと効率のよいパケット処理ができない。
【0064】
例えば、前段側プロセッサで処理プロトコル別にプログラムバンクを使い分けており、後段側プロセッサではプロトコル非依存の処理を行う場合に、プログラムバンクの値を引き継ぐような操作を行うと、それぞれのプログラムバンクに同じプログラム命令を記述する必要が出てきて効率的ではない。
【0065】
したがって、第6の実施の形態では、内部情報を引き継ぐか否かの設定を行えるようにする。これにより、処理形態に応じて最適なパケット処理が可能になる。
【0066】
図6は内部情報の選択的引き継ぎ制御の構成を示す図である。この例では、プログラムバンク番地と状態フラグとを、それぞれ独立に前段から引き継ぐか否かを指定することを可能としている。
【0067】
設定レジスタ131は、内部情報を引き継ぐか否かの内容を保持し、その旨をAND素子135a、135bに送信する。タイミング制御部132は、パケット到着タイミングを受信してリタイミングし、内部情報更新タイミング信号としてAND素子135a、135bに送信する。
【0068】
バンク状態保持FF123、フラグ状態保持FF124は、それぞれプロセッサ内にて実行プログラムバンク値、フラグ値を保持し、プロセッサの命令実行を制御するとともに、その実行結果によって更新される仕組みを持つ。
【0069】
AND素子135aは、設定レジスタ131がバンク状態引き継ぎ許可としているときのみバンク状態保持FF123に更新タイミング信号を出力し、バンク状態保持FF123は、このタイミング信号を受信したとき、バンク状態通知入力の値を取り込む。
【0070】
AND素子135bは、設定レジスタ131がフラグ状態引き継ぎ許可としているときのみ、フラグ状態保持FF124に更新タイミング信号を出力し、フラグ状態保持FF124は、このタイミング信号を受信したときにフラグ状態通知入力の値を取り込む。
【0071】
このように、設定レジスタ131に外部から引き継ぎ有無を設定しておいて、その設定内容に応じ、パケットタイミング信号に同期した状態フリップフロップの更新を、マスクまたは許可する。このような構成で、内部情報を選択的に引き継ぐことで、より適切なパケット処理を行うことが可能になる。
【0072】
以上説明したように、本発明のパケット処理装置1は、複数のプロセッサを直列配備し、内部情報の引き継ぎ制御を行って、処理内容を複数のプロセッサで分割する構成とした。
【0073】
これにより、プロセッサ間処理の引き継ぎに伴うオーバヘッドを抑制することができる。また、1プロセッサあたりの許容処理時間が少ない場合でも、本発明を適用したプロセッサの数を増やすことで、パケット処理スループットを維持したままパケット処理を行うことが可能になる。
【0074】
なお、上記の第1〜第6の実施の形態で内部情報を引き継ぐ場合には、内部情報すべてを引き継ぐような構成としたが、一部の情報のみを引き継ぐような構成にしてもよい。
【0075】
【発明の効果】
以上説明したように、本発明のパケット処理装置は、直列接続された複数のパケット処理プロセッサ間で、パケットの演算処理が終了する前の所定のタイミングでプロセッサ内部の情報を内部情報として引き継いで、パケットの演算処理を行う構成とした。これにより、オーバヘッドを抑制し、パケットを高速に処理することが可能になる。
【図面の簡単な説明】
【図1】本発明のパケット処理装置の原理図である。
【図2】スイッチング・ルータの構成を示す図である。
【図3】3段構成のパケット処理プロセッサを含むパケット処理装置の構成を示す図である。
【図4】パケット処理装置に対する内部情報の引き継ぎ動作のタイミングチャートを示す図である。
【図5】プログラムバンクを示す図である。
【図6】内部情報の選択的引き継ぎ制御の構成を示す図である。
【符号の説明】
1 パケット処理装置
10、10−1〜10−k〜10−n パケット処理プロセッサ
11 パケット入力手段
12 内部情報引き継ぎ手段
13 パケット演算手段
14 パケット出力手段
L 通信ライン
Da、Db 内部情報
Pa、Pb パケット

Claims (6)

  1. パケットの処理を行うパケット処理装置において、
    パケットを入力するパケット入力手段と、プロセッサ内部の情報を内部情報として引き継ぎ制御する内部情報引き継ぎ手段と、前記内部情報にもとづいて、入力したパケットを演算処理するパケット演算手段と、演算後のパケットを出力するパケット出力手段と、から構成される複数のパケット処理プロセッサと、
    前記パケット処理プロセッサを直列接続する通信ラインと、
    を有し、
    前記内部情報引き継ぎ手段は、パケットの演算処理が終了する前の所定のタイミングで、後段のパケット処理プロセッサに対する前記内部情報の引き継ぎを行う、
    ことを特徴とするパケット処理装置。
  2. 前記内部情報引き継ぎ手段は、前記内部情報として、状態フラグの値を引き継ぐことを特徴とする請求項1記載のパケット処理装置。
  3. 前記内部情報引き継ぎ手段は、前記内部情報として、パケット処理プログラムを格納するプログラムバンクの番地情報を引き継ぐことを特徴とする請求項1記載のパケット処理装置。
  4. 前記内部情報引き継ぎ手段は、前記内部情報として、ローカルレジスタに格納された演算結果を引き継ぐことを特徴とする請求項1記載のパケット処理装置。
  5. 前記内部情報引き継ぎ手段は、前記内部情報を選択的に引き継ぐことを特徴とする請求項1記載のパケット処理装置。
  6. パケットの処理を行うパケット処理プロセッサにおいて、
    パケットを入力するパケット入力手段と、
    プロセッサ内部の情報を内部情報として引き継ぎ制御する内部情報引き継ぎ手段と、
    前記内部情報にもとづいて、入力したパケットを演算処理するパケット演算手段と、
    演算後のパケットを出力するパケット出力手段と、
    を有し、
    前記内部情報引き継ぎ手段は、パケットの演算処理が終了する前の所定のタイミングで、前記パケット処理プロセッサと接続された他のパケット処理プロセッサに対する前記内部情報の引き継ぎを行う、
    ことを特徴とするパケット処理プロセッサ。
JP2000373732A 2000-12-08 2000-12-08 パケット処理装置 Expired - Fee Related JP4342100B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2000373732A JP4342100B2 (ja) 2000-12-08 2000-12-08 パケット処理装置
US09/942,216 US7058051B2 (en) 2000-12-08 2001-08-29 Packet processing device
EP20010121713 EP1213891B1 (en) 2000-12-08 2001-09-17 Packet processing device
DE2001631355 DE60131355T2 (de) 2000-12-08 2001-09-17 Paketverarbeitungsvorrichtung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000373732A JP4342100B2 (ja) 2000-12-08 2000-12-08 パケット処理装置

Publications (2)

Publication Number Publication Date
JP2002176440A JP2002176440A (ja) 2002-06-21
JP4342100B2 true JP4342100B2 (ja) 2009-10-14

Family

ID=18843051

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000373732A Expired - Fee Related JP4342100B2 (ja) 2000-12-08 2000-12-08 パケット処理装置

Country Status (4)

Country Link
US (1) US7058051B2 (ja)
EP (1) EP1213891B1 (ja)
JP (1) JP4342100B2 (ja)
DE (1) DE60131355T2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3947521B2 (ja) * 2002-03-05 2007-07-25 富士通株式会社 通信装置
SE525183C2 (sv) 2002-04-04 2004-12-21 Xelerated Ab Förfarande och medel för behandling med pipelining av datapaket
US7571258B2 (en) * 2002-12-12 2009-08-04 Adaptec, Inc. Method and apparatus for a pipeline architecture
US7701863B2 (en) * 2002-12-12 2010-04-20 Alcatel Lucent Decentralized SLS monitoring for throughput in a differentiated service environment
US7426209B2 (en) * 2002-12-13 2008-09-16 Telefonaktiebolaget L M Ericsson (Publ) System for content based message processing
US7903555B2 (en) * 2003-12-17 2011-03-08 Intel Corporation Packet tracing
US7889750B1 (en) * 2004-04-28 2011-02-15 Extreme Networks, Inc. Method of extending default fixed number of processing cycles in pipelined packet processor architecture
JP4680148B2 (ja) * 2006-08-23 2011-05-11 三菱電機株式会社 通信装置
JP2010021784A (ja) 2008-07-10 2010-01-28 Sony Corp 通信装置及び通信校正方法
US9049251B2 (en) * 2012-02-28 2015-06-02 Futurewei Technologies, Inc. Method and apparatus for internet protocol based content router

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5128932A (en) * 1990-08-27 1992-07-07 Bell Communications Research, Inc. Traffic flow control and call set-up in multi-hop broadband networks
US5841988A (en) 1996-05-23 1998-11-24 Lsi Logic Corporation Interprocessor communications data transfer and error detection in a multiprocessing environment
US6157955A (en) 1998-06-15 2000-12-05 Intel Corporation Packet processing system including a policy engine having a classification unit
US6490260B1 (en) * 1998-08-03 2002-12-03 Samsung Electronics, Co., Ltd. Transmitter with increased traffic throughput in digital mobile telecommunication system and method for operating the same
US6427039B1 (en) * 1999-01-25 2002-07-30 Massachusetts Institute Of Technology Wavelength shifting and optical switching
JP3742250B2 (ja) 1999-06-04 2006-02-01 富士通株式会社 パケットデータ処理装置及びそれを用いたパケット中継装置
US6493124B1 (en) * 1999-07-27 2002-12-10 Tellabs Operations, Inc. Looping back signals in optical switches
US6763015B1 (en) * 2000-01-12 2004-07-13 Ericsson Inc. Communication devices, methods, and computer program products for establishing concurrent calls on a single TDMA carrier frequency
US6335992B1 (en) * 2000-02-15 2002-01-01 Tellium, Inc. Scalable optical cross-connect system and method transmitter/receiver protection
US6438368B1 (en) * 2000-03-30 2002-08-20 Ikadega, Inc. Information distribution system and method

Also Published As

Publication number Publication date
US20020071433A1 (en) 2002-06-13
JP2002176440A (ja) 2002-06-21
EP1213891A2 (en) 2002-06-12
DE60131355T2 (de) 2008-10-16
DE60131355D1 (de) 2007-12-27
EP1213891A3 (en) 2003-07-30
US7058051B2 (en) 2006-06-06
EP1213891B1 (en) 2007-11-14

Similar Documents

Publication Publication Date Title
JP5304194B2 (ja) バリア同期装置、バリア同期システム及びバリア同期装置の制御方法
US6654823B2 (en) Packet-data processing apparatus
JP4203979B2 (ja) パケット処理装置
JP3489573B2 (ja) パケット処理装置
US8015392B2 (en) Updating instructions to free core in multi-core processor with core sequence table indicating linking of thread sequences for processing queued packets
US6198751B1 (en) Multi-protocol packet translator
US6978459B1 (en) System and method for processing overlapping tasks in a programmable network processor environment
USRE43825E1 (en) System and method for data forwarding in a programmable multiple network processor environment
JP4342100B2 (ja) パケット処理装置
CN103368853A (zh) 网络分组的simd处理
WO2006074047A1 (en) Providing access to data shared by packet processing threads
CN110535847B (zh) 网络处理器及网络数据的入栈处理方法
WO2010109761A1 (ja) 並列処理システム、並列処理方法、ネットワークスイッチ装置、及び並列処理プログラムの記録媒体
JP4342128B2 (ja) パケット処理プロセッサ及びパケット処理プロセッサシステム
JP2000349816A (ja) パケットデータ処理装置及びそれを用いたパケット中継装置
JP2002335275A (ja) パケット処理装置
JPH11317783A (ja) ヘッダ処理装置とそのヘッダ処理方法
US20230176932A1 (en) Processor, information processing apparatus, and information processing method
US8677103B1 (en) Asynchronous pipelined data path with data transition
WO2023231330A1 (zh) 一种池化平台的数据处理方法、装置、设备和介质
JP4183920B2 (ja) パケットデータ処理装置
JP4680148B2 (ja) 通信装置
JP2003318953A (ja) パケット処理装置
Pnevinatikatos et al. An efficient, low-cost I/O subsystem for network processors
JPS63197217A (ja) デ−タ処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090123

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090707

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090707

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

Free format text: PAYMENT UNTIL: 20120717

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120717

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130717

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees