(57)【特許請求の範囲】
【請求項１】
空中網を介して連結された他ノードとデータパケットを送受信するための空中網インターフェース１００と、該空中網インターフェースを介して伝わったデータパケットのカプセル化したヘッダのそれぞれに応じてパイプライン式の順次的な処理がなされる複数のパケット処理部２００と、を備え、
複数のパケット処理部２００は、前記空中網インターフェースを介して伝わったパケットの開始部分から一部にタグを付け加えて第１パケットに出力し、残り部分を貯蔵するためのメモリを有するパケット分離プロセッサ２１０と、
該パケット分離プロセッサから伝わった前記第１パケットでカプセル化したヘッダのそれぞれに対応する分析を順次に行い、分析結果をそれぞれ前記タグに含ませて出力する複数のヘッダ分析プロセッサ２２２・２３０と、
該複数のヘッダ分析プロセッサを介して分析処理済みパケットが伝われば前記パケット分離プロセッサに貯蔵された残り部分を要請して共に出力するパケット組み合わせプロセッサ２２４と、
該パケット組み合わせプロセッサから伝わった完成パケットのタグから出力経路を把握して出力経路を決める出力経路決定プロセッサ２５０と、を備え、
前記複数のヘッダ分析プロセッサ２２２・２３０は、前記第１パケットが伝われば目的地アドレスとシステムのアドレスが一致するか否かを判断して、一致する場合はＩＰヘッダが除去された第２パケットを出力するＩＰヘッダ分析プロセッサ２２２と、
該ＩＰヘッダ分析プロセッサから前記第２パケットが伝わればプロトコル転送タイプヘッダを分析して前記タグに分析内容を反映し、転送プロトコルタイプヘッダが除去された第３パケットを出力するプロトコル転送タイプヘッダ分析プロセッサ２３０と、
前記プロトコル転送タイプヘッダ分析プロセッサから前記第１パケットが伝われば目的地アドレスをアップデートして前記パケット組み合わせプロセッサに出力し、前記プロトコル転送タイプのヘッダ分析プロセッサから前記第３パケットと共にバイパス信号が伝われば、前記第３パケットを処理せず前記パケット組み合わせプロセッサに出力するルックアッププロセッサ２４０と、を備えることを特徴とするマルチレイヤパケット処理装置。
【請求項２】
前記パケット分離プロセッサ２１０は、前記公衆網インターフェースを介して伝わったパケットがＡＴＭセルである場合、前記ＡＴＭセルをパケット状に再組合わせすることを特徴とする請求項２に記載のマルチレイヤパケット処理装置。
【請求項３】
前記出力経路決定プロセッサ２５０は、前記パケット組み合わせプロセッサから伝わった完成したパケットをＡＴＭセルに分割して出力することを特徴とする請求項２に記載のマルチレイヤパケット処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデータパケット処理装置に係り、さらに詳しくは受信されたマルチレイヤパケットを高速で処理するためにマルチプロセッサを用いるマルチレイヤパケット処理装置に関する。
【０００２】
【従来の技術】
一般に、ネットワーク上でデータ通信を行うためには、公知のＯＳＩ参照モデルに基づき上位階層から下位階層を介してデータを転送し、再び下位階層から転送されたデータを伝達され、上位階層に伝えるようにする一連の過程が先行されるべきである。この際、上位階層から下位階層に情報が伝わる時は制御情報を有するヘッダが追加されるが、これをカプセル化過程と呼ぶ。
【０００３】
また、通信におけるカプセル化は、他の構造中に一つのデータ構造を含めるものであって、最終目的地に達するまでデータ構造が隠される。例えば、一つのＴＣＰ／ＩＰ形式のデータパケットはセル単位に転送されるＡＴＭフレーム中にカプセル化しうるが、ＡＴＭフレームが送受信される情況の中、カプセル化したパケットはただＡＴＭデータ間のビットストリームと見做されるだけである。
【０００４】
ネットワーク環境下の装置の機能のうち一つは前述したようにカプセル化したデータパケットのヘッダ／トレーラに対する処理（確認、変換、アップデートなど）を行うことであり、高速通信のために早い処理速度が求められる。言い換えれば、トレーラにはデータの長さ情報及び巡回冗長検査（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ：ＣＲＣ）情報が収録される。
【０００５】
図１は従来のパケット処理動作を説明するための図であって、データパケットが入力インターフェース１−１を介してメモリ１−３に伝われば、中央理装置１−４においてメモリ１−３に貯蔵されたパケットのヘッダ情報を読み取って分析すること及び処理した後出力インターフェース１−２を介して出力する。
【０００６】
かかる従来のデータパケット処理方式は、中央処理装置（ＣＰＵ）でメモリ１−３に貯蔵されたパケットのヘッダに搭載された多種の情報をアクセスして処理すること及びメモリ１−３に貯蔵する動作を繰り返して行うので、パケットの処理速度が多少落ちるようになり、よって後続入力されるパケットがメモリで待機状態になる。
【０００７】
つまり、従来の中央集中式パケット処理方式は、パケットの高速処理において不向きであることが分かる。
【０００８】
【発明が解決しようとする課題】
本発明は前述した目的を解決するために案出されたもので、その目的はマルチプロセッサを用いて受信されたマルチレイヤパケットをハードウェア的に高速処理できるようにしたマルチレイヤパケット処理装置を提供するところにある。
【０００９】
【課題を解決するための手段】
前述した目的を達成するための本発明のマルチレイヤパケット処理装置は、空中網を介して連結された他ノードとデータパケットを送受信するための空中網インターフェースと、該空中網インターフェースを介して伝達されたデータパケットのカプセル化したヘッダのそれぞれに応じてパイプライン式の順次的な処理を行う複数のパケット処理部と、を備える。
【００１０】
【発明の実施の形態】
以下、添付した図面に基づき本発明を詳述する。
図２は本発明の実施の形態に従うマルチレイヤパケット処理装置を示すブロック図である。マルチレイヤパケット処理装置は、空中網の他ノードとデータをインターフェースする空中網インターフェース１００と、該空中網インターフェース１００を介して入力されたデータパケットのカプセル化したヘッダのそれぞれに応じてパイプライン式の順次的な処理がなされるように複数のパケット処理部２００と、内部装置または有線または無線で連結された私設網のいずれかのノードとデータパケットをインターフェースする内部インターフェース３００とを備えている。
【００１１】
複数のパケット処理部２００はパケット分離プロセッサ２１０と、ヘッダ分析プロセッサ２２２・２３０と、ルックアッププロセッサ２４０と、パケット組み合わせプロセッサ２２４と、出力経路決定プロセッサ２５０とを備えている。
【００１２】
また、ヘッダ分析プロセッサ２２２・２３０は、ＩＰヘッダ分析プロセッサ２２２と、プロトコル転送タイプヘッダ分析プロセッサ２３０とを備えている。
【００１３】
以上は、各部を機能的に表現した用語で説明したが、図では本発明の実施の形態を説明するためにＡＴＭ転送方式に合う用語で表記されているので、以下には、図に表記された部材番号及び名称を参照して本発明を説明する。
【００１４】
本発明に実施の形態に係るマルチレイヤパケット処理装置は、空中網からインターフェースを介してＡＴＭ  ＡＡＬ５プロトコルのセル形式でカプセル化された多様なタイプのパケットを受け入れ、次の表１はそのようなパケットタイプとパケット形式のリストを示す。
【００１５】
【表１】
0003602485.tif 000002
【００１６】
特に、前記表１は広帯域移動通信システム（Ｕｎｉｖｅｒｓａｌ  Ｍｏｂｉｌｅ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｙｓｔｅｍ：  以下、ＵＭＴＳと称する）に適用されるパケット形式を示す。
【００１７】
広帯域移動通信システムは、ＩＰアドレスを有するモバイル機器を介してマルチメディアデータを送受信できるようにするシステムであって、該当領域内のモバイル機器を管理するＨＡ（Ｈｏｍｅ  Ａｇｅｎｔ）とモバイル機器の移動による受信経路を再調整するＦＡ（Ｆｏｒｅｉｇｎ  Ａｇｅｎｔ）が用いられる。表１はこのような広帯域システムにも本発明が適用され得ることを示すためのものである。
【００１８】
表１に示したようなパケットがＡＴＭ  ＡＡＬ５セルにカプセルして転送される際、パケットをハードウェア的に処理するための構造を図２に示している。図２はメインモジュールインターフェース（空中網インターフェース）１００、ＡＴＭリアセンブリ部（パケット分離プロセッサ）２１０、進入（ｉｎｇｒｅｓｓ）ＩＰプロセッサ（ＩＰヘッダ分析プロセッサ）２２２、ＧＴＰ（ＧＰＲＳ  Ｔｕｎｎｅｌ  Ｐｒｏｔｏｃｏｌ）及びＵＤＰ（Ｕｓｅｒ  ＤａｔａｇｒａｍＰｒｏｔｏｃｏｌ）プロセッサ（プロトコル転送タイプヘッダ分析プロセッサ）２３０、ルックアップ（Ｌｏｏｋ−ｕｐ）プロセッサ２４０、進出（ｅｇｒｅｓｓ）ＩＰプロセッサ（パケット組み合わせプロセッサ）２２４、セグメント部（出力経路決定プロセッサ）２５０、それからＡＴＭスイッチインターフェース３００がパイプライン構造で連結された様子を示している。
【００１９】
ＡＴＭリアセンブリ部２１０は、メインモジュールインターフェース１００を介して入力されるＡＴＭセルをパケットに再組合わせし、再組み合わせしたパケットにおいてヘッダが含まれ得るように設定されたサイズの一部にタグを付け加えて第１パケットに出力する。
【００２０】
進入ＩＰプロセッサ２２２は、リアセンブリ部２１０から伝わった第１パケットのＩＰヘッダを分析し、目的地アドレスがシステムのアドレスと一致する場合はＩＰヘッダを除いた第２パケットをＧＴＰ及びＵＤＰプロセッサ２３０に出力する。もし、アドレスが一致していなければ第１パケットをバイパス信号と共に出力する。
【００２１】
ＧＴＰ及びＵＤＰプロセッサ２３０は、バイパス信号と共に第１パケットが伝わればいずれの処理なしで第１パケットをルックアッププロセッサ２４０に伝達し、第２パケットが伝わった場合はＵＤＰヘッダのポート番号をチェックし、ＧＴＰヘッダのメッセージタイプ及びＴＥＩＤ（Ｔｕｎｎｅｌ  ｅｎｄ  ｐｏｉｎｔ  ＩＤ）フィールドをチェックを通してＧＴＰパケットと判断されれば、有効インデックス値を探してタグに記録し、タグに有効インデックス値が記録された第３パケットをルックアップ＿バイパス信号と共に出力する。この際、ＵＤＰヘッダは伝達されない。
【００２２】
ルックアッププロセッサ２４０は、第３パケットがバイパス信号と共に入力されれば、いずれの処理なしで信号をバイパスし、第１パケットが伝われば、伝わったパケットの目的地アドレスがシステムのアドレスと一致していないパケットなので、目的地アドレスをルーチングして目的地アドレスがアップデートされた第１パケットを出力する。
【００２３】
進出ＩＰプロセッサ２２４は目的地アドレスがアップデートされた第１パケットまたはタグに有効インデックス値を有する第３パケットが伝われば、リアセンブリ部２１０に一時貯蔵されたパケットの残りペイロード部分を要請して目的地アドレスがアップデートされた第１パケットまたはタグに有効インデックス値を有する第３パケットと共にセグメント部２５０にパケットを出力する。
【００２４】
セグメント部２５０は進出ＩＰプロセッサ２２４において目的地アドレスがアップデートされた第１パケットと共に残りペイロード部分が伝われば、適切なＶＰＩ／ＶＣＩ値を探してＡＴＭセルに分割してメインモジュールインターフェース１００に出力し、タグに有効インデックス値を有する第３パケットＰ３と共にペイロードの残り部分が伝われば、タグをＡＴＭセルに含めてＡＴＭスイッチインターフェース３００に出力する。
【００２５】
ここで、リアセンブリ部２１０はセルメモリ２１１を有する。セルメモリ２１１はリアセンブリ部２１０から分離されたペイロードの残り部分を貯蔵する。ＧＴＰ及びＵＤＰプロセッサ２３０はＴＥＩＤルックアップテーブル２３２を有する。ルックアッププロセッサ２４０はＩＰアドレスルックアップテーブル２４２を有する。セグメント部２５０はインデックステーブル２５２を有する。このような全体的なパケット処理装置の構造を図３に示した。
【００２６】
図３〜図５に基づきＩＰプロセッサの動作を説明する。
まず、前記リアセンブリ部２１０においてメインモジュールインターフェース１００を介して伝わったＡＴＭセルのうち最初に受信された部分から各ヘッダが除去された４個のセルを寄せ集めた１９２バイトにタグを付け加えて第１パケットＰ１としてＩＰプロセッサ２２０に伝えると（ここで、第１パケットＰ１の構造は真っ先にタグが付き、その後にＩＰ２０、ＵＤＰ８、ＧＴＰ１２、そして、ペイロード最初部分が含まれる。括弧内の数字は各ヘッダのバイト数を示す。）、ＩＰプロセッサ２２０は第１パケットＰ１を受信し（Ｓ１）、ＩＰヘッダ確認を行った後、先にＩＰ目的地アドレスが自身のアドレスと一致するかを検査する（Ｓ２）。一致していない場合はＵＤＰとＧＴＰ処理が要らないので第１パケットＰ１と共にＧＴＰ＿バイパス信号をＧＴＰ及びＵＤＰプロセッサ２３０に伝達する（Ｓ２−２）。この場合、ＧＴＰ及びＵＤＰプロセッサ２３０はいずれの処理なしで第１パケットＰ１をルックアッププロセッサ２４０にバイパスする。一方、ＩＰプロセッサ２２０においてアドレスが一致することと判断（Ｓ２）された場合は、ＩＰヘッダが漏落された第２パケットＰ２をＧＴＰ及びＵＤＰプロセッサ２３０に転送する（Ｓ３）。
【００２７】
前記で伝わったパケットがモバイルＩＰならば、モバイルＩＰプロセッサ２２２−１においてどのカプセル化タイプであるかを分析し、該当タイプのジカプセレーションを行う。外部ＩＰヘッダを剥がし出した後、カプセル化したＩＰヘッダに対する確認が終われば、次の経路であるＧＴＰ及びＵＤＰプロセッサ２３０にパケットを転送する（Ｓ３）。この際、ＧＴＰ及びＵＤＰプロセッサ２３０はモバイルＩＰパケットに対する分析機能がないのでバイパス信号を共に送る。
【００２８】
また、図６及び図７において、ＧＴＰ及びＵＤＰプロセッサ２３０はＩＰプロセッサ２２０から第２パケットＰ２が受信されれば（Ｓ１１）、まずＵＤＰパケットであるのかを検査する（Ｓ１２）。ＧＧＳＮ（Ｇａｔｅｗａｙ  ＧＳＮ）＿アウトゴーイングであり、目的地アドレスがシステムのアドレスと一致する場合は常にＩＰ／ＵＤＰ／ＧＴＰの形式を有するべきなので、ＵＤＰでなければエラーと判断する（Ｓ１２−１）。ＵＤＰパケットと判断されれば、ポート番号をチェックする（Ｓ１３）。そして、再びＧＴＰパケットか否かを把握して（Ｓ１４）、ＧＴＰパケットでなければエラーと判断（Ｓ１２−１）する。ＧＴＰと判断されれば、ＴＥＩＤテーブル２３２をルックアップ（Ｓ１５）して有効インデックス値を探す。ＧＴＰパケットか否かはＧＴＰヘッダのメッセージタイプとＴＥＩＤフィールドをチェックしてメッセージタイプが２５５と判断されば、ＧＴＰパケットと判断する。そしてＴＥＩＤルックアップテーブル２３２で探したインデックス値を第２パケットＰ２のタグに記録し（Ｓ１６）、ＵＤＰヘッダを漏落させた第３パケットＰ３をルックアップ＿バイパス信号と共にルックアッププロセッサ２４０に出力（Ｓ１７）する。
【００２９】
そうすると、図６に示した通り、ルックアッププロセッサ２４０では行うべきことがないので、ルックアップ＿バイパス信号に応じていずれの処理なしで第３パケットＰ３をＩＰプロセッサ２２０にバイパスする。一方、ルックアッププロセッサ２４０は、第１パケットＰ１が伝われば、伝わったパケットの目的地アドレスがシステムのアドレスと一致していないパケットなので、目的地アドレスをルックアップテーブル（２４２）で探索して目的地アドレスをアップデートした第１パケットをＩＰプロセッサ２２０に出力する。
【００３０】
ルックアッププロセッサ２４０においてモバイルＩＰパケットに対するルックアップは、ＣＩＤＲ（Ｃｌａｓｓｌｅｓｓ  Ｉｎｔｅｒ−Ｄｏｍａｉｎ  Ｒｏｕｔｉｎｇ）基盤の最長プリフィックス（ｌｏｎｇｅｓｔ−ｐｒｅｆｉｘ）マッチルックアップでなく、完全（ｅｘａｃｔ）マッチの場合のみ結果を出力する完全マッチルックアップを行う。完全マッチが必要な理由は、ＵＭＴＳ網内部に存するモバイルノードはトポロジー（ｔｏｐｏｌｏｇｙ）基盤のプリフィックスを有することではないからである。
【００３１】
再び、図５及び図８に基づきＩＰプロセッサ２２０の動作を説明する。進出ＩＰＶＭではルックアッププロセッサから第３パケットＰ３が伝われば（Ｓ４）、タグの有効インデックス値がセットされているか否かを判断する。タグの有効インデックス値がセットされていなければ、パケットアドレスフィールドを用いてリアセンブリ部にパケットの残り部分を要請する（Ｓ５）。その間、第３パケットＰ３はセグメント部２５０に転送され（Ｓ６）、要請したペイロードの残り部分が伝われば（Ｓ６）、連続的にセグメント部２５０に出力する（Ｓ７）。ここで、ペイロード残り部分の転送が完了されるまで他のＳＯＰ（Ｓｔａｒｔ  ｏｆ  Ｐａｃｋｅｔ）はセグメント部２５０に転送しないようにする。
【００３２】
そうすれば、セグメント部２５０はタグに有効インデックス値を有する第３パケットと共に残りペイロード部分が伝わればタグをＡＴＭセルに含めてＡＴＭスイッチインターフェース３００に出力する。一方、目的地アドレスがアップデートされた第１パケットＰ１と共に残りペイロード部分が伝われば、適切なＶＰＩ／ＶＣＩ値を探してＡＴＭセルに分割してメインモジュールインターフェース１００に出力する。
【００３３】
また、本発明に係るパケット処理装置は、受信されたパケットがカプセル化したモバイルＩＰパケットならば、元々のＩＰヘッダを復旧する。そして、システムがパケットが達すべき最終目的地の中間ノードの場合ならＩＰヘッダをアップデートしなければならない。
【００３４】
【発明の効果】
以上述べた通り、パイプライン構造のマルチプロセッサがそれぞれ該当する機能を行い、次のプロセッサに処理されたヘッダ部分が除かれ出力されるようにすることで、パケットの処理速度を向上させうるようになる。また、前述したように順次にパケットを処理する場合、機能モジュールをさらに細分すればするほど同時に処理できるパケットの数が増えるので一定時間内にデータ処理量を増やせる。
【００３５】
従って、本発明は受信されたマルチレイヤパケットに対してパイプライン構造を有するマルチプロセッサを用いてハードウェア的に高速処理が可能になる。
【図面の簡単な説明】
【図１】従来のパケット処理動作を説明するための図面。
【図２】ＡＴＭ転送方式に用いられる本発明に係るマルチレイヤパケット処理装置を示したブロック図。
【図３】図２に付加される装置を共に示したブロック図。
【図４】図３のＩＰプロセッサ前処理動作を説明するための部分ブロック図。
【図５】図３のＩＰプロセッサ動作を説明するための順序図。
【図６】図３のＧＴＰ及びＵＤＰプロセッサ動作を説明するための部分ブロック図。
【図７】図３のＧＴＰ及びＵＤＰプロセッサ動作を説明するための順序図。
【図８】図３のＩＰプロセッサ後処理動作を説明するための部分ブロック図。
【符号の説明】
１００  空中網インターフェース
２００  パケット処理部
２１０  パケット分離プロセッサ
３００  内部インターフェース
【図１】
0003602485.tif 000003
【図２】
0003602485.tif 000004
【図３】
0003602485.tif 000005
【図４】
0003602485.tif 000006
【図５】
0003602485.tif 000007
【図６】
0003602485.tif 000008
【図７】
0003602485.tif 000009
【図８】
0003602485.tif 000010