(57)【特許請求の範囲】
【請求項１】
通信装置であって、
ネットワークに接続されるネットワークインタフェイス部を有するパケット解析部と、
前記パケット解析部に接続され、予め定められた複数のプロトコルに対応するパケット処理部と、を備え、
前記パケット解析部は、前記ネットワークインタフェイス部を介して受信したフレームが有する情報から識別可能なプロトコルについて、前記パケット処理部が対応可能か否かに基づいて前記パケット処理部にフォーマットを変換してから出力するか、フォーマットを変換せずに出力するかを定義したテーブルを有し、前記テーブルに基づきプロトコルを識別して、前記パケット解析部における処理を実行し、前記パケット処理部にパケットを送り、
前記パケット処理部は、前記パケット解析部から受信したパケットの宛先検索を行い、前記宛先検索の結果を含む出力パケットを生成し、前記出力パケットを前記パケット解析部に出力し、
前記パケット解析部は、前記パケット処理部から受信した出力パケットが前記フォーマットを変換したパケットの場合には、前記出力パケットにフォーマット変換処理を行う
ことを特徴とする通信装置。
【請求項２】
請求項１記載の通信装置であって、
前記パケット解析部は、前記テーブルと、前記処理を実行するプログラムとを保持するメモリを備え、
前記パケット解析部は、
前記プロトコルを識別した結果と前記対応付けとに基づいて前記受信したパケットのヘッダ情報を前記パケット処理部が宛先検索処理可能な追加情報に変換して、前記受信したパケットのヘッダに付加して前記パケット処理部に送り、
前記出力パケットの前記宛先検索の結果に基づいて、前記パケット処理部から受信した出力パケットが前記フォーマットを変換したパケットの場合には前記出力パケットに対しヘッダ情報の変換処理を行い、前記変換されたパケットを送信する、通信装置。
【請求項３】
請求項２記載の通信装置であって、
前記パケット処理部は、
前記追加情報に基づいて前記宛先検索を実行し、前記追加情報に対応する変換情報、宛先ＭＡＣアドレス及び送信元ＭＡＣアドレスを含む前記宛先検索の結果を前記出力パケットのヘッダに付加する、通信装置。
【請求項４】
請求項２記載の通信装置であって、
前記パケット処理部は、
前記追加情報と前記パケットとに基づいて前記宛先検索を実行し、
前記宛先検索により特定される宛先ＭＡＣアドレス及び送信元ＭＡＣアドレスを含むパケットに前記追加情報に対応する変換情報を付与すべきか否かを、前記追加情報の有無に基づいて判別する、通信装置。
【請求項５】
請求項２ないし４記載の通信装置であって、
前記パケット処理部は、さらに、ネットワークに接続される回線インタフェイス部に接続され、
前記追加情報と前記パケットとに基づいて前記宛先検索を実行し、
前記プロトコルを識別した結果に基づき前記出力パケットを出力する、通信装置。
【請求項６】
請求項１ないし５記載の通信装置であって、
前記プロトコルは、イーサネットプロトコルより上位のプロトコルである、通信装置。
【請求項７】
請求項１ないし６記載の通信装置であって、
前記テーブルは、イーサネットタイプに規定されたプロトコルと前記プロトコルに対応する処理が定義されたものである、通信装置。
【請求項８】
請求項２記載の通信装置であって、
外部からの入力に応じて、前記テーブルの前記メモリへの更新およびプログラムの前記メモリへの追加の少なくとも一つを実行する、通信装置。
【請求項９】
請求項１記載の通信装置であって、
前記パケット解析部は、前記テーブルと、前記処理を実行するプログラムとを保持するメモリを備え、
前記パケット解析部は、
前記受信したパケットのプロトコルがＭＰＬＳと識別された場合、前記テーブルを参照し、前記受信したパケットに含まれるＭＰＬＳのラベル値に基づいて前記パケット処理部が宛先検索処理可能な追加情報を前記受信したパケットに付与し、前記受信したパケットを前記パケット処理部に送り、
前記パケット処理部からの出力パケットに含まれる情報に基づいて、前記ＭＰＬＳのラベル値を生成してパケットに付加し、前記ネットワークに送信する、通信装置。
【請求項１０】
請求項１記載の通信装置であって、
前記パケット解析部は、プログラマブルに処理内容を書き換えられるプロセッサを備え、
前記パケット処理部は、予め定められた複数のプロトコルのパケット処理に特化したハードウェアを有し、
前記プロセッサは、受信したパケットのプロトコルを識別し、前記ハードウェアが処理可能なプロトコルか否かを判別し、判別の結果に基づいて前記ハードウェアが処理可能でないプロトコルの場合には、受信パケットに前記ハードウェアが処理可能な追加情報を付加することで前記パケットのフォーマットを変換し、
前記ハードウェアは、前記プロセッサから受信したパケットに基づいて宛先検索を行い、出力先情報と前記追加情報が付加されていた場合には変換情報を付加して前記プロセッサに出力する、通信装置。
【請求項１１】
ネットワークインタフェイス部を有する通信装置におけるパケット転送方法であって、
前記ネットワークインタフェイス部を介して、パケットを受信し、
受信したフレームが有する情報から識別可能な上位のプロトコルを特定し、前記プロトコルが宛先検索が可能か否かに基づいて、宛先検索が可能なプロトコルの場合にはフォーマット変換を実行せずに宛先検索を実行し、宛先検索が可能でないプロトコルの場合には前記受信したパケットの宛先検索を可能とする追加情報を付加するフォーマット変換を行って宛先検索を実行し、
前記追加情報が付加されたパケットには、前記宛先検索の実行の結果に変換情報を付与し、
前記付与された変換データと前記パケットに基づいてパケットを生成し、前記生成されたパケットを送信する、パケット送信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置及び、パケット転送方法に関する。
【背景技術】
【０００２】
従来の中継装置のパケットフォーマット解析および転送は、それらの処理に特化した専用のハードウェアか、パケットフォーマット解析、パケット転送処理を記述したプログラムを書き込むことで、処理内容を決めるプログラマブルデバイスによって行われてきた。  また特許文献１では、受信パケットに含まれるアドレス情報及びあらかじめ記憶された中継経路選択情報により経路検索を行なうルーティング処理が可能なルーティングモジュールと、パケット加工やプロトコル処理などの付加機能を実行する機能拡張モジュールとを有するインターネットワーク装置が開示される。このインターネットワーク装置では、ルーティングモジュールにより機能拡張モジュールに転送されたパケットに対して付加機能が実行され、実行結果のパケットは、再びルーティングモジュールでルーティング処理が実行される。【０００３】
また特許文献２では、ノード装置が有する回線収容部に、回線インタフェース、拡張機能実行用プロセッサを備え、パケット転送部や装置制御部の代わりに拡張機能実行用プロセッサが、受信パケットに対するアドレス変換、フィルタ更新、代理応答機能を実行する構成が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２８１０７２
【特許文献２】特開２００８−０６０７６３
【発明の概要】
【発明が解決しようとする課題】
【０００５】
通信装置に搭載されるパケット転送・解析専用のハードウェアは、設計段階で作りこまれたパケットフォーマットの解析や、パケットの宛先検索・転送、フィルタ処理などを高速に行う。しかし、高速処理が可能な反面、設計段階で作りこまれていないパケットフォーマットの解析・転送はできない。【０００６】
一方プログラマブルデバイスは、汎用性のあるものや、パケットフォーマット解析、パケット転送処理に特化したものがあり、通信装置では、パケットフォーマット解析、パケット転送処理に特化したプログラマブルデバイスを使用することが多い。このプログラマブルデバイスは、処理の追加が容易に行え、新たなパケットフォーマットが登場しても、内部処理内容を更新することで、パケットフォーマットの解析やパケット転送処理が可能になる。しかしパケット転送・解析処理専用のハードウェアに比べて、処理速度が遅いことや、プログラマブルデバイスのみでフォーマットの解析やパケットフィルタ、ＱｏＳ処理を実行しようとすると、処理量に応じてプログラム量が増加し、性能が低下する。よって最適なプログラム行数で処理を行う必要がある。【０００７】
特許文献１では、ルーティングモジュールと拡張機能実行モジュールを複数個、並列に接続することで、ハードウェアに新たな機能を付加でき、１台のノードに複数の機能を盛り込むことが出来るとあるが、拡張機能実行モジュールを搭載した場合、入力パケット側のルーティングモジュールと、出力側ルーティングモジュールと、２重の検索処理が必要となり、レイテンシが増加し、スループットの低下が考えられる。つまり、ルーティングモジュールを介した後でないと拡張機能実行モジュールで、パケットの加工ができず、加工の前後でルーティングモジュールをそれぞれ通る必要がある。【０００８】
特許文献２では、ブリッジは、パケットの入力元（パケット転送部、回線インターフェース、内部ネットワーク）に応じて、出力先を決定する。よって、パケット転送プロセッサ側で処理できないパケットフォーマットを処理する場合、拡張機能実行プロセッサに転送するしかなく、拡張機能実行プロセッサにてフォーマットの解析から、パケット変換、パケットの宛先検索までを実行しなければならず、拡張機能実行プロセッサのプログラム量が増え、スループットの低下が懸念される。【０００９】
ブリッジにより拡張機能実行プロセッサと、パケット転送用プロセッサの処理を分担しており、それらのプロセッサは独立して動作している。この構成では特許文献１に示したレイテンシの増加やスループットの低下といった課題は解決可能であるが、両プロセッサ間には連動性がないため、パケット転送プロセッサ側で処理できないフォーマットのパケットを処理するためには拡張機能実行プロセッサで全ての処理を実行する必要があり、拡張機能実行プロセッサのプログラム量が増えスループットの低下が懸念される。
【課題を解決するための手段】
【００１０】
少なくとも一の課題を解決するために、本発明の態様の一つとして、通信装置は、ネットワークに接続されるネットワークインタフェイス部を有するパケット解析部と、前記パケット解析部に接続され、予め定められた複数のプロトコルに対応するパケット処理部と、を備え、前記パケット解析部は、前記ネットワークインタフェイス部を介して受信したフレームが有する情報から識別可能なプロトコルについて、前記パケット処理部が対応可能か否かに基づいて前記パケット処理部にフォーマットを変換してから出力するか、フォーマットを変換せずに出力するかを定義したテーブルを有し、前記テーブルに基づきプロトコルを識別して、前記パケット解析部における処理を実行し、前記パケット処理部にパケットを送り、前記パケット処理部は、前記パケット解析部から受信したパケットの宛先検索を行い、前記宛先検索の結果を含む出力パケットを生成し、前記出力パケットを前記パケット解析部に出力し、前記パケット解析部は、前記パケット処理部から受信した出力パケットが前記フォーマットを変換したパケットの場合には、前記出力パケットにフォーマット変換処理を行う。
【発明の効果】
【００１１】
複数のプロトコルのパケット転送制御が可能となる。
【図面の簡単な説明】
【００１２】
【図１】通信装置１の構成図
【図２】イーサネットタイプ検索テーブルを示す図である。
【図３】入力パケット変換テーブルを示す図である。
【図４】パケット検索テーブルを示す図である。
【図５】出力パケット変換テーブルを示す図である。
【図６】通信装置１の処理フローチャートを示す図である。
【図７】ＩＰｖ４パケットフォーマット遷移を示す図である。
【図８】パケット解析プロセッサ４０１の処理フローチャートを示す図である。
【図９】パケット処理専用ハードウェア３０１のパケット処理フローチャートを示す図である。
【図１０】パケット解析プロセッサ４０１の処理フローチャートを示す図である。
【図１１】拡張機能ボード６０の処理フローチャートを示す図である。
【図１２】ＭＰＬＳ網とＩＰ網の構成図を示す図である。
【図１３】ＭＰＬＳパケットフォーマット遷移を示す図である。
【図１４】変形例である通信装置を示す図である。
【発明を実施するための形態】
【００１３】
実施形態について図面を参照し説明する。
【００１４】
図１は、通信装置１の構成図で、通信装置１を制御する装置制御部１０と、装置制御部１０と信号線Ｌ１０で接続されたクロスバースイッチ２０と、クロスバースイッチ２０と信号線Ｌ２０で接続された、パケット処理部３０と、クロスバースイッチ２０とＬ２０ｎで接続されたパケット処理部３０ｎと、信号線Ｌ３０で接続されたパケット解析部４０と、信号線Ｌ５０で接続された回線インタフェイス部５０と、パケット処理部３０ｎと信号線Ｌ６０で接続された拡張機能ボード６０と、パケット処理部３０ｎと信号線Ｌ４ｎで接続されたパケット解析部４０ｎで構成されている。
【００１５】
また、通信装置１は、テーブル情報や、パケット解析プログラムのアップデートを行う管理端末２と接続される。
【００１６】
装置制御部１０は、装置制御プロセッサ１１と、装置制御プロセッサ用のメモリ１２と、メモリ１２内に、テーブル変換用の情報領域であるテーブル情報１２０と、パケット解析部４０や、拡張機能ボード６０の処理内容を更新するプログラム領域である処理プログラム情報部１２１と、パケット処理部３０、パケット解析部４０、拡張機能ボード６０に、プログラムを格納するために接続された、信号線Ｌ１０〜Ｌ１ｎで構成される。装置制御プロセッサ１１は、信号線を介して管理端末２からの入力に応じて、パケット解析部４０や拡張機能ボード６０の処理内容を更新する。また、装置制御プロセッサ１１は、パケット解析部４０が利用するテーブルの設定を行なう。
【００１７】
パケット処理部３０は、パケット処理に特化した、パケット処理専用ハードウェア３０１と、パケット処理専用ハードウェア３０１内で、入力パケットの宛先検索を行うパケット検索部３０２と、パケット検索部３０２が入力パケットの宛先検索とパケット変換情報を決定する、パケット検索テーブル３０３０を格納したメモリ３０３と、パケット解析部４０で使用するパケット変換情報を付加する、パケット変換情報付加部３０４で構成される。
【００１８】
パケット検索部３０２は、内部に通常のＬ２フレーム（ＯＳＩ参照モデルの第２層であるデータリンク層で規定されるフレーム）/Ｌ３パケット（ＯＳＩ参照モデルの第３層であるネットワーク層で規定されるパケット）、パケット解析プロセッサで変換された特定のフォーマットを検索する機能と、出力先を決定する機能とを有する。パケット変換情報付加部３０４は、パケット検索部３０２にて、入力パケットの宛先検索結果として出力されるパケット変換情報を、入力パケットにヘッダとして付加する。
【００１９】
パケット処理専用ハードウェア３０１は、検索結果として、出力先情報と、パケット変換情報を出力する。パケット変換情報付加部３０４で付加された、パケット変換情報はパケット解析プロセッサ４０１がパケットを生成するときに参照される。
【００２０】
また、パケット処理部３０は、パケット解析部４０が接続されているか、判定する。パケット解析プロセッサが接続されていない場合、パケット処理部３０は、パケット変換情報を削除し、パケット解析プロセッサが接続されている場合は、パケット変換情報を出力先ポート情報と共に出力側のパケット解析プロセッサへ転送する。
【００２１】
パケット解析部４０は、パケット解析プロセッサ４０１とネットワークインタフェイス部４０５と、メモリ４０４、とを有する。パケット解析プロセッサ４０１は、入力パケットフォーマット解析を行うパケットフォーマット解析部４０２と、解析後にパケットフォーマットを変換するパケット変換部４０３とを有する。
【００２２】
メモリ４０４は、パケットフォーマット解析部４０２またはパケット変換部４０３で使用する、テーブル情報と、プログラム情報を格納する。具体的には、メモリ４０４は、パケットフォーマット解析部４０２、パケット変換部４０３の処理内容を決定するプログラムを格納する領域４０４０を備える。メモリ４０４は、イーサネットタイプ検索テーブル４０４１と、入力パケット変換テーブル４０４２と、出力パケット変換テーブル４０４３と、を格納する（イーサネット、Ｅｔｈｅｒｎｅｔは、登録商標）。
【００２３】
イーサネットタイプ検索テーブル４０４１は、入力パケットのイーサネットタイプから、パケット処理部３０で処理可能なパケットであるかを判別するために用いられる。入力パケット変換テーブル４０４２は、イーサネットタイプ検索テーブルで処理不可と判定された場合に参照される。出力パケット変換テーブル４０４３は、パケット処理部３０にて入力パケットの宛先検索が終了してから、出力ネットワークのフォーマットに合わせるために参照される。
【００２４】
パケット解析プロセッサ４０１は、ネットワーク（回線Ｎ１０）に接続されるネットワークインタフェイス部４０５と、パケット処理専用ハードウェア３０１用のインタフェイスを持ち、パケット処理専用ハードウェア３０１はパケット解析プロセッサ４０１と接続するためのインタフェイスを持つ。
【００２５】
パケット解析プロセッサ４０１は、パケット解析プロセッサ４０１用のメモリ４０４にパケット処理専用ハードウェア３０１が処理できるフォーマットの情報(例：タイプ情報)を格納する。パケット解析プロセッサ４０１は、ネットワークインタフェイス部４０５からパケットが入力されると、フォーマットの情報を参照して、処理可能であれば、パケット変換処理は行わず、そのままパケット処理専用ハードウェア３０１側のインタフェイスへ転送する。パケット解析プロセッサ４０１は、パケット処理専用ハードウェア３０１が処理出来ないイーサネットタイプの場合は、パケット処理専用ハードウェア３０１が処理可能な、特定のフォーマットへ変換し、パケット処理専用ハードウェア３０１側のインタフェイスへ転送する。
【００２６】
パケット解析プロセッサ４０１は、パケット処理専用ハードウェア３０１から出力されたパケットを受信し、そのパケットが通常のＬ２フレーム／Ｌ３パケットであれば、そのまま接続されたネットワークに出力する。一方パケット処理専用ハードウェア３０１から、パケット変換情報の入ったヘッダ付パケットを受信した場合、パケット解析プロセッサ４０１は、変換情報を元に、出力するネットワークのフォーマットに合わせたパケットを作成し、転送する。
【００２７】
拡張機能ボード６０は、パケットのＰａｙｌｏａｄ部を解析する、ＤＰＩ処理部６０２とＤＰＩ処理部６０２を制御する、拡張機能ボード制御プロセッサ６０１と、ＤＰＩ処理のデータベースとして搭載されるメモリ６０４で構成される。
【００２８】
回線インタフェイス部５０は、パケット処理部３０のインターフェイスであり、パケット処理部３０に受信パケットを出力し、または、パケット処理部３０が決定した宛先に向けて、ネットワークにパケットを出力する。
なお、通信装置１は、同様の構成を備える複数のパケット処理部３０、３０ｎ、及び複数のパケット解析部４０、４０ｎを含んでもよい。パケット解析部４０、４０ｎは、ネットワーク（回線Ｎ１０、Ｎ３０）に接続される。
図２は、パケット解析部４０内のメモリ４０４に格納した、イーサネットタイプ検索テーブル４０４１である。イーサネットタイプ検索テーブル４０４１は、パケットのプロトコルごとに、パケット解析部４０がそのパケットに対して実行するアクションが定義される。イーサネットタイプ検索テーブル４０４１は、パケットに含まれるプロトコルを特定するタイプ情報４０４１０ごとに、パケット解析部４０がそのパケットに対して実行するアクションが定義される。タイプ情報４０４１０は、イーサネットタイプ情報（Ｅｔｈｅｒｎｅｔタイプ番号）である。イーサネットタイプ情報（Ｅｔｈｅｒｎｅｔタイプ番号）は、パケットに含まれるデータ部についてイーサネットプロトコルより上位層のプロトコルを識別する為の番号のことであり、Ｅｔｈｅｒｎｅｔヘッダに含まれる１６ビットの情報である。例えば、タイプ番号が０８００の場合はＩｎｔｅｒｎｅｔ  ＩＰ（ＩＰｖ４）、０８０６の場合はＡｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ（ＡＲＰ）のプロトコルであることを示す番号である。また、タイプ番号が８８４７の場合はＭＰＬＳ（Ｍｕｌｔｉ  Ｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ）のユニキャストパケットであることを示す番号で、８８４８の場合は、ＭＰＬＳのマルチキャストパケットであることを示す番号である。また、タイプ番号が８８６３の場合はＰＰＰｏＥ  Ｄｉｓｃｏｖｅｒｙ  Ｓｔａｇｅであることを示す番号である。
【００２９】
本テーブル４０４１では、タイプ情報４０４１０は検索キーであり、検索結果４０４１１の「入力パケットに対する処理」は、パケット処理専用ハードウェア３０１が処理可能なパケットフォーマットの場合と、処理不可能なパケットフォーマットの場合にパケット解析部４０が行う処理を示す。「入力パケットに対する処理」４０４１１には、処理不可能なパケットフォーマットの場合は、そのタイプ番号で特定されるプロトコルのパケットの特定の項目を参照して変換する、という記述があってもよい。イーサネットタイプ検索テーブル４０４１は、パケット解析部４０が、パケットのフォーマット変換の要否を判断する場合に参照される。そして、パケット解析部４０は、入力パケットフォーマットを解析し、解析結果とイーサネットタイプ検索テーブル４０４１とにより、入力パケットのフォーマット変換が必要か、判定する。
【００３０】
図３は、パケット解析部４０内のメモリ４０４に格納される、入力パケット変換テーブル４０４２を示す。パケット変換テーブル４０４２は、イーサネットタイプ検索テーブル４０４１でパケット処理専用ハードウェア３０１で処理不可と判定されたパケットをパケット解析部４０からパケット処理部３０へパケットを転送する際に使用される。
入力パケットヘッダ情報４０４２０は、入力パケットのヘッダのどの項目をみるかを指定する情報である。例えば、ＩＰｖ４であれば宛先アドレス、ＭＰＬＳであればラベル情報、ＤＰＩであればＶＬＡＮタグが指定される。入力パケットヘッダ情報４０４２０は、検索キーとなる。パケット検索部３０２用検索キー４０４２１は、本テーブルの検索結果で、入力パケットヘッダ情報４０４２０に対応する検索キー４０４２１がパケットに付加され、パケット処理専用ハードウェア３０１内のパケット検索部３０２が処理できるフォーマットとなる。
【００３１】
パケット変換テーブル４０４２は、パケット検索部３０２が処理できない、入力パケットの宛先検索に使用する情報を、パケット検索部３０２が処理可能なフォーマットへの変換を示し、入力パケットをパケット検索部３０２が処理できる、パケットフォーマットに変換する。
【００３２】
図４はパケット検索テーブル３０３０を示す。パケット検索テーブル３０３０は、パケット処理部３０内のメモリ３０３に格納される。パケット検索部３０２は、パケット検索テーブル３０３０を使用し、図３のパケット変換テーブル４０４２検索結果、もしくは入力パケットのヘッダ情報をパケット検索部３０２用検索キー３０３００として、入力パケットの宛先を検索する。検索キー３０３００にて、入力パケットの宛先検索の結果として、出力パケット変換情報３０３０１、ＭＡＣアドレス３０３０２、出力ポート３０３０３を決定し、パケット検索部３０２にてＮｅｘｔ ｈｏｐの決定を行う。
【００３３】
なおパケット検索部３０２は、出力パケット変換情報３０３０１を、入力パケットのヘッダ情報で検索の場合は、そのままＮｅｘｔ Ｈｏｐを示す情報とし扱い、それ以外は、パケット解析部４０で使用する、パケット変換情報として扱う。
【００３４】
図５は、出力パケット変換テーブル４０４３を示す。出力パケット変換テーブル４０４３は、パケット解析部４０内のメモリ４０４に格納される。パケット変換テーブル４０４３は、図４に示したパケット処理部３０のパケット検索部３０２で決定した、パケット変換情報３０３０１を使用し、パケット解析部４０で、出力パケットフォーマットを変換するために使用される。出力パケット変換情報４０４３０は、パケット検索テーブル３０３０の検索結果３０３０１で、本テーブルの検索キーである。出力パケットヘッダ情報は、本テーブルの検索結果４０４３１である。図５は、図３の逆変換を示すテーブルに対応していてもよい。
【００３５】
パケット変換部４０３は、出力パケット変換テーブル４０４３で、出力先のネットワークのパケットフォーマットに対応するパケットフォーマットを変換する。
【００３６】
図６は、通信装置１の処理を示したフローチャートである。図１の通信装置１で、ＩＰ転送、ＭＰＬＳ転送、ＤＰＩによるフィルタ処理を実施した場合の例をそれぞれ示す。
【００３７】
図６は、通信装置１の処理を示したフローチャートである。まず、通信装置１の処理を、図６に示したフローチャートに沿って説明する。ネットワークからパケットがパケット解析部４０に入力される(ステップ５０)。パケット解析部４０は、パケットが入力されると、パケットに含まれるイーサネットタイプに基づいてパケット処理部３０で検索可能なパケットフォーマットか判別し、検索可能でないフォーマットについては、パケット変換情報をパケットに付与する。変換情報が付与されたパケットあるいは、検索可能な場合は入力パケットのままで、パケット処理部３０へパケットを転送する(ステップ５１)。
【００３８】
パケット解析部４０からパケットを受信したパケット処理部３０は、パケット解析部４０で付加したパケット変換情報、もしくは入力パケットヘッダの宛先アドレスをキーに、入力パケットの宛先検索を行い、クロスバースイッチ２０へパケットを転送する(ステップ５２)。クロスバースイッチ２０では、パケット処理部３０の検索結果に基づき、次に転送すべきパケット処理部３０〜３０ｎを決定し、再びパケットを送信する(ステップ５３)。
【００３９】
本例では、パケット処理部３０に転送する。クロスバースイッチ２０から、パケットを受信したパケット処理部３０は、検索結果から、所定のボードにパケットを送信する。本例の構成では、パケット解析部４０、回線インタフェイス部５０、拡張機能ボード６０のいずれかにパケットが送信される(ステップ５４)。パケット処理部３０からパケット解析部４０に転送された場合、パケット解析部４０は、パケットにパケット変換情報が付加された場合には、パケット変換情報を元に、パケット変換テーブル４０４３で出力先のパケットフォーマットに変換し、パケット変換情報が削除されている場合には、フォーマットを変換することなく、ネットワーク（Ｎ１０、Ｎ３０）へパケットを出力する。
【００４０】
パケット処理部３０から拡張機能ボード６０に転送された場合には、入力したパケットに対し、ＤＰＩ処理部６０２にて、ｐａｙｌｏａｄ部を参照し、予め設定された、条件に該当するか判定し、該当する場合は廃棄し、該当していない場合は、パケット処理部３０ｎへ再度転送する。回線インタフェイス部５０に転送された場合は、回線インタフェイス部５０は、パケット処理部３０にて決定したパケットの宛先情報を元に、出力するインタフェイスを決定し、回線Ｎ２０に出力する（ステップ５５）。
【００４１】
図７は、通信装置１内で、ＩＰｖ４パケット処理時の、パケットフォーマット遷移図である。図６のフローチャートに沿って説明する。パケット９００は通信装置１に入力したＩＰパケットであり、ステップ５０のときのパケットフォーマットである。パケット９００には、宛先ＭＡＣアドレス９０、送信元ＭＡＣアドレス９１、タイプ情報（Ｅｔｈｅｒｎｅｔタイプ番号）９２、ＩＰヘッダ９３、ｐａｙｌｏａｄ９４とＦＣＳ９５を含む。  ステップ５１にて、タイプ９２とイーサネットタイプ検索テーブル４０４１とに基づいて、入力パケットヘッダ情報４０４２０に対応する検索キー４０４２１が検索キー９６としてパケット９００に付加され、パケット９０１のフォーマットとなる。
パケット９０１は、ステップ５２にて、検索処理の結果、パケット変換情報が必要な場合は、パケット９０３のフォーマットとなり、クロスバースイッチ２０へ転送される。パケット９０３は、パケット９０１に比べて、検索キー９６が外れ、宛先ＭＡＣアドレス９０及び送信元ＭＡＣアドレス９１が更新され、更新された宛先ＭＡＣアドレス９７及び送信元ＭＡＣアドレス９８が含まれる。さらに、パケット変換情報９９が、パケット９０３の先頭に付加される。
【００４２】
一方、パケット変換情報が必要ない場合にはパケット９０２が、クロスバースイッチ２０へ転送される。パケット９０２は、パケット９００に比べて、検索キー９６が外れ、宛先ＭＡＣアドレス９０及び送信元ＭＡＣアドレス９１が更新され、更新された宛先ＭＡＣアドレス９７及び送信元ＭＡＣアドレス９８が含まれる。パケット９０２の場合、ステップ５３ではフォーマットの変換はない。ステップ５４にて、パケット解析部４０へパケットが送信された場合、パケット９０３の場合には、４０３用パケット変換情報９９を元にパケット変換を行い、パケット９０２の場合は、変換せずパケットを出力する。
【００４３】
次に、図６のフローチャートの各ステップについて、ＩＰｖ４パケット、ＭＰＬＳラベル転送を例に説明する。  図８は、ネットワークインタフェイス部４０５からパケット解析部４０に入力した場合の、パケット解析プロセッサ４０１の処理を示したフローチャートである。  
ＩＰｖ４のパケットが、ネットワークインタフェイス部４０５からパケット解析部４０内部のパケット解析プロセッサ４０１に入力され、パケット解析プロセッサ４０１は、図８のフローチャートに沿って処理をする。
【００４４】
ノードに接続されたネットワークから、パケット９００が、ネットワークインタフェイス部４０５に入力し、パケット解析プロセッサ４０１に転送される（ステップ５１０）。パケット解析プロセッサ４０１は、入力パケット９００のイーサネットタイプ９２に格納されている０８００をキーに、パケット処理専用ハードウェア３０１が検索可能なフォーマットか、イーサネットタイプ検索テーブル４０４１で検索する(ステップ５１１)。検索の結果から、パケット解析プロセッサ４０１は、パケット処理専用ハードウェア３０１が処理可能なパケットフォーマットか判定する(ステップ５１２)。
【００４５】
パケットフォーマット解析部４０２は、イーサネットタイプ０８００を、パケット処理専用ハードウェア３０１が処理できるパケットフォーマットと判定し、パケット変換部４０３にパケットを送信する（ステップ５１３）。パケット９００は、パケット処理専用ハードウェア３０１が処理可能なフォーマットのため、パケット変換部４０３で処理はせず、パケット処理部３０にパケット９００のフォーマットのまま送信される（ステップ５１４）。
【００４６】
なお、本例ではパケット９００を送信したが、パケット処理専用ハードウェア３０１が処理可能なフォーマットであっても、パケット検索部３０２用の検索キー９６を、付加したパケット９０１で、転送してもよい。またステップ５１２にて処理不可能と判定した場合には、パケット変換部４０３のパケット変換テーブル４０４２により、パケット検索部３０２が処理可能なフォーマットに変換する(ステップ５１６)。詳細は、後述するＭＰＬＳ転送の実施例に示す。
【００４７】
図９は、パケット処理部３０内、パケット処理専用ハードウェア３０１の処理を示したフローチャートである。パケット解析部４０からのパケット９００を受信した、パケット処理部３０内のパケット処理専用ハードウェア３０１は、図９のフローチャートに沿って処理を行う。
【００４８】
パケット処理専用ハードウェア３０１は、パケット９００が入力すると（ステップ５２０）、クロスバースイッチ２０からのパケットか、パケット解析部４０からのパケットか判定する（ステップ５２１）。パケット検索部３０２において、検索結果を出力する際に、検索が完了したことを示すフラグ情報をパケットに付加している。よってクロスバースイッチからパケットが転送される場合は、すでにパケット検索部３０２にて検索が行われているため、クロスバースイッチからの転送判定は、パケット検索部３０２にて付加された、フラグ情報を元に行われる。
パケット解析部４０からのパケットと判定した場合、パケット処理専用ハードウェア３０１は、パケット検索部３０２にて、タグＶＬＡＮによる転送か判定する。タグＶＬＡＮでないと判定した、パケット検索部３０２は、パケット解析部４０で付加される、３０２用検索キー９６がヘッダとして付加されている、パケットフォーマット９０１か、入力パケットフォーマット９００か、判定する（ステップ５２５）。
【００４９】
３０２用検索キー９６が付加されていないと判定した場合、パケット検索部３０２は、ＩＰヘッダ９３内の宛先ＩＰアドレスをキーに、パケット９００の宛先を検索する。検索は、パケット検索部３０２にて、メモリ３０３内の検索テーブル３０３０を使用し、実行される(ステップ５２６)。パケット検索部３０２は、検索の結果として出力パケット変換情報９９の決定と、出力先ポートの決定と、ＭＡＣアドレスの解決を行う(ステップ５２７)。
【００５０】
パケット検索部３０２では、ＭＡＣアドレス解決の結果から、パケット９００の、宛先ＭＡＣアドレス９０と、送信元ＭＡＣアドレス９１を書き換え、宛先ＭＡＣアドレス９７と、送信元ＭＡＣアドレス９８を含む、パケット９０２を作成する(ステップ５２８)。
【００５１】
パケット９０２は、パケット変換情報付加部３０４に転送され、パケット変換情報９９を付加されることなく、クロスバースイッチ２０へパケットを転送される（ステップ５２９）。なお、本例では、パケット処理専用ハードウェア３０１が処理可能なパケットフォーマットのため、パケット変換情報９９を削除したが、削除せずにパケット９０３として、パケット解析プロセッサ４０１に転送してもよい。
【００５２】
クロスバースイッチ２０に転送されたパケット９０２は、パケット検索部３０２で決定した出力先ポート情報に従い、パケット処理部３０〜３０ｎのいずれかに転送される。本例では、パケット処理部３０に転送するものとする。
【００５３】
クロスバースイッチ２０経由でパケット９０２を受信したパケット処理部３０内部のパケット処理専用ハードウェア３０１は、図９の処理フローチャートに従い処理を行う。クロスバースイッチ２０からパケット処理専用ハードウェア３０１へ、パケットが入力すると(ステップ５２０)、パケット処理専用ハードウェア３０１内のパケット検索部３０２は、パケット解析部４０からのパケットか、クロスバースイッチ２０からのパケットか判定する（ステップ５２１）。クロスバースイッチ２０からのパケットと判定した、パケット検索部３０２は、出力先ポートへパケット９０２を転送する。本例では、出力先にパケット解析部４０が接続されているものとする。
【００５４】
ＩＰパケット転送以外で、タグVＬAＮによる転送の場合は、ＤＰＩ処理を実施するため、拡張機能ボード６０へ転送(ステップ５２３)し、ＤＰＩ処理を実施する(ステップ５２４)。またパケットフォーマットが、パケット解析部４０にて変換されている場合には、パケット解析部４０で付加されたヘッダでパケットの宛先を検索し(ステップ５３０)、パケット変換情報を決定する(ステップ５３１)。
【００５５】
図１０は、パケット処理部３０から、パケット解析部４０にパケットが転送された場合の、パケット解析プロセッサ４０１の処理を示したフローチャートである。
【００５６】
パケット処理部３０からパケット９０２を受信したパケット解析部４０内のパケット解析プロセッサ４０１は、図１０のフローチャートに沿って処理を行う。
パケット解析プロセッサ４０１にパケット９０２が入力される（ステップ５５０）。パケット解析プロセッサ４０１内のパケットフォーマット解析部４０２は、パケット変換情報９９の有無を判定する（ステップ５５１）。パケット変換情報９９がなく、パケットフォーマット９０２での転送と判定した、パケットフォーマット解析部４０２は、フォーマットを変更することなく、接続されたネットワークへパケットを転送する（ステップ５５２）。  図１２は実施例１で示すＭＰＬＳ網の構成図である。ＭＰＬＳ網８１は、ＩＰ網８０、８２に接続される。ＭＰＬＳ網は、複数のノード８１０、８１１、８１２、８１３、８１４、８１５、８１６を含み、ノード間でＭＰＬＳ転送が行なわれる。本実施例では、ＭＰＬＳ網８１内のノード８１２が、図１の装置構成を有するものとして説明する。ノード８１２は、ＭＰＬＳエッジノード８１０から入力したパケットは、ノード８１２を経由して８１３へ転送される。  図１３は、本実施例における、イーサネットタイプＭＰＬＳの、パケットフォーマット遷移図である。ＭＰＬＳの検索に使われるＳｈｉｍヘッダ９０４の構成として、検索キーになるラベル情報１０３、ＱｏＳ情報をあらわすＥｘＰ  １０４、ラベルの終了を表すＳ１０５、ＴＴＬ（Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ）情報１０６である。そのほか、図７のパケット９００と同様に、パケット９０５は、宛先ＭＡＣアドレス１００、送信元ＭＡＣアドレス１０１、タイプ情報（Ｅｔｈｅｒｎｅｔタイプ番号）１０２、ＩＰヘッダ１０７、ｐａｙｌｏａｄ１０８とＦＣＳ１０９を含む。
【００５７】
図１３のＭＰＬＳ転送時のパケット遷移を、図６のフローチャートに沿って説明する。ステップ５０で、パケット解析部４０にパケット９０５が入力する。パケット９０５を受信したパケット解析部４０は、ステップ５１にて、パケットフォーマットの解析を行い、パケットに含まれるタイプ１０２を用いてイーサネットタイプ検索テーブル４０４１を検索すると、タイプ番号が８８４７または８８４８に該当するので、処理不可能と判定する。パケット解析部４０は、「入力パケットに対する処理」４０４１１に従ってパケット処理部３０が検索可能な、パケットフォーマット９０６に変換する。変換されたパケットフォーマット９０６は、パケット９０５に検索キー１１０が付加される。パケット処理部３０は、ステップ５２にて、パケット９０６を参照して、入力パケットの宛先検索を実施、検索結果として更新した宛先ＭＡＣアドレス１１２及び送信元ＭＡＣアドレス１１３、パケット変換情報１１１を付加する。パケット９０７は、パケット９０６に比較すると、検索キー１１０が外れパケット変換情報１１１が付加され、宛先ＭＡＣアドレス及び送信元ＭＡＣアドレスが更新されたものとなる。パケット処理部３０は、パケット９０７を、クロスバースイッチ２０へ転送する。ステップ５５で、パケット解析部４０にパケットが入力され、パケット９０７に含まれるパケット変換情報１１１を用いて、パケット解析部４０にてパケット９０９が生成される。パケット９０９は、パケット９０７からパケット変換情報１１１が削除され、更新されたＬａｂｅｌ１１４、ＴＴＬ１１５を含むｓｈｉｍヘッダ９０８を有する。
【００５８】
図１に示す、通信装置１がＭＰＬＳのパケット９０５をネットワークから受信した場合の、パケット処理部４０内の、パケット解析プロセッサ４０１は、ＩＰｖ４パケット同様に図８のフローチャートに沿って処理を行う。
【００５９】
ＭＰＬＳのパケット９０５がパケット解析プロセッサ４０１に入力する（ステップ５１０）。パケット解析プロセッサ４０１は、ＩＰパケット検索時と同様に、イーサネットタイプ８８４７で特定されるプロトコルのフォーマットが、パケット処理専用ハードウェア３０１が処理できるフォーマットか、パケットフォーマット解析部４０２にて判定する（ステップ５１１）。検索の結果、ＭＰＬＳに対応するタイプ番号８８４７は、パケット処理専用ハードウェア３０１が処理不可能と判定される（ステップ５１２）。処理不可能と判定されたパケット９０５は、パケット変換部４０３に転送される（ステップ５１５）。パケット変換部４０３は、「入力パケットに対する処理」４０４１１に従ってＭＰＬＳのｓｈｉｍヘッダ９０４のラベル１０３の値をキーに、パケット変換テーブル４０４２を参照し、パケット処理専用ハードウェア３０１が検索可能な、パケット９０６を生成する（ステップ５１６）。
【００６０】
例えば、ｓｈｉｍヘッダ９０４内のラベル値１０３が“Ａ”の場合、ラベル"Ａ"をキーに、変換テーブル４０４２で検索し、検索結果としてラベルAに対応している０.０.０.Ａを出力する。検索結果０.０.０.Ａは、パケット変換部４０３にて、ヘッダ１１０として入力パケット９０５に付加され、パケット９０６として、パケット処理専用ハードウェア３０１へ転送される(ステップ５１４)。ただしパケット９０６は一例であり、別のフォーマットにしてもよい。
【００６１】
パケット解析プロセッサ４０１から、パケット９０６を受信した、パケット処理専用ハードウェア３０１は、図９のフローチャートに従い処理を行う。パケット処理専用ハードウェア３０１にパケット９０６が入力する（ステップ５２０）。ＩＰｖ４パケット検索時と同様に、ステップ５２１にて、パケット解析プロセッサ４０１からのパケットと判定し、ステップ５２２でＶｌａｎ  Ｔａｇ付のパケットでないと判定し、ステップ５２５にて、ヘッダ１１０でパケット９０６の宛先検索と判定する。ヘッダ１１０の検索と判定したパケット検索部３０２は、メモリ３０３内の検索テーブル３０３０を使用し、パケット９０６の宛先検索を実行する（ステップ５３０）。検索は、パケット検索部３０２で、ヘッダ１１０の０．０．０．Ａをキーに検索テーブル３０３０を使用し実行する。パケット検索部３０２は、検索結果として０．０．０．Ａに対応した０．０．０．Ｅをパケット変換情報１１１として出力し、出力先ポート決定と、ＭＡＣアドレス解決を行い、パケット変換情報付加部３０４に転送する（ステップ５３１）。
【００６２】
またパケット変換情報付加部３０４は、パケット変換情報１１１を付加し、図１３のパケットフォーマット９０７を作成する（ステップ５３２）。Ｌ２ヘッダはＩＰｖ４パケットの場合と同様にパケット検索部３０２で更新され、クロスバースイッチ２０へパケット９０７を転送する（ステップ５２９）。
【００６３】
クロスバースイッチ２０に転送されたパケット９０７は、ＩＰv４パケット検索と同様にクロスバースイッチ２０から、パケット処理部３０に転送され、その後パケット解析部４０に転送される。
【００６４】
パケット処理部３０からパケットを受信した、パケット解析部４０内のパケット解析プロセッサ４０１は、図１０のフローチャートに従い処理を行う。パケット解析プロセッサ４０１内のパケット解析部４０２にパケット９０７が入力する（ステップ５５０）。パケットフォーマット解析部４０２は、ヘッダ１１１を認識し（ステップ５５１）、パケット変換情報１１１に格納されている変換情報０．０．０．Ｅをキーに、メモリ４０４に格納された、図５に示す変換テーブル４０４３で検索し、出力先のラベル情報”Ｅ”を決定する。決定したラベル値“Ｅ”は、パケット変換部４０３にて、Ｓｈｉｍヘッダのラベル情報の更新に使用され、新たなラベル１１４を生成し、減算したＴＴＬ１１５を入れ、パケット９０９を生成する（ステップ５５３）。生成したパケット９０９を接続されたネットワークへ転送する（ステップ５５２）。以上の実施例により、通信装置１は、タイプ１０２で識別されるプロトコルがＭＰＬＳのように、パケット処理専用ハードウェア３０１が認識できないプロトコルのパケットであってもパケット転送処理を行う。
【００６５】
次に回線インタフェイス部５０を接続した場合の処理例を示す。回線インタフェイス部５０は、パケットの送・受信を行う。パケット処理部３０は、単独でも動作が可能なハードウェアであるため、処理可能なフォーマットであれば、パケット解析部４０が接続されていなくても、パケットの宛先検索を行う。検索は、ＩＰｖ４転送の例に示したパケット処理専用ハードウェア３０１処理と同じである。
【００６６】
次に拡張機能ボード６０に転送する例を示す。本例では、イーサネットタイプ８１００のパケットを拡張機能ボード６０のＤＰＩ処理部６０３で、ＵＲＬを参照したフィルタリングを実施した場合を示す。
【００６７】
パケット解析部４０にて図８のフローチャートに従い、ＩＰｖ４転送の例と同じように、パケット処理専用ハードウェア３０１が処理可能なフォーマットと判定し、パケット処理専用ハードウェア３０１にパケットを転送する。パケット処理専用ハードウェア３０１では、図９のフローチャート（ステップ５２１、５２２）に従い、パケットを拡張機能ボード６０へ転送する。図９のステップ５２１にて、パケットがクロスバースイッチ２０からでないと判定したパケット検索部３０２は、入力パケットＶＬＡＮ  ｔａｇによる転送か判定し（ステップ５２５）、ＶＬＡＮ  ｔａｇが付加されている場合、パケット検索部３０２は拡張機能ボード６０へパケットを転送する（ステップ５２３）。ＶＬＡＮ  ｔａｇは、タイプ８１００として、図７のパケット９００の送信元ＭＡＣアドレス９１及びタイプ９２の間に挿入されている。拡張機能ボード６０に転送されたパケットは、図１１のフローチャートに沿って処理を行う。
【００６８】
図１１は、拡張機能ボード６０の処理をフローチャートで示したものである。
【００６９】
図１１のフローチャートよりパケット処理専用ハードウェア３０１から、パケットが拡張機能ボード６０へ入力する（ステップ７００）。パケットを受信した拡張機能ボード６０は、内部のＤＰＩ処理部６０２にパケットを転送する（ステップ７０１）。ＤＰＩ処理部６０２では、入力パケットのｐａｙｌｏａｄ部を、予め管理者によってメモリ６０４に登録したアクセス禁止ＵＲＬリストを参照し、アクセス禁止のＵＲＬ宛のパケットか判定する（ステップ７０２）。リストに一致したＵＲＬの場合は、ＤＰＩ処理部６０２で廃棄し（ステップ７０４）、不一致の場合は、ＶＬＡＮ  ｔａｇを削除し、パケットの宛先検索のため、再びパケット処理部３０へ転送する（ステップ７０３）。ステップ７０３以降の処理は、パケット検索部３０２での処理となり、図９のステップ５２４から処理を実行する。ステップ５２５から処理とパケットフォーマットは、ＩＰｖ４転送の例に示したものと同じである。
【００７０】
本例ではＶＬＡＮ  ｔａｇとしたが、ＭＰＬＳ検索の例ように、パケット処理専用ハードウェア３０１が処理不可能なフォーマットの場合、パケット解析部４０にて、ＶＬＡＮ  ｔａｇに相当する、拡張機能ボード６０に転送するためのデータを含む、パケットフォーマットに変換し、その付加した情報を元に、拡張機能ボード６０へパケットを転送してもよい。また、拡張機能ボード６０の処理の例として、ＤＰＩ処理部６０２を有する例を説明したが、ＤＰＩ処理部６０２以外の例えば、処理不可能なフォーマットの履歴を管理するログ管理部を有してもよい。この場合、パケット解析部４０は、処理不可能なフォーマットとして判断し、拡張機能ボード６０に転送するためのデータを含む、パケットフォーマットに変換し、拡張機能ボード６０に転送する。転送されたパケットを、ログ管理部が、処理不可能なフォーマットであるパケットを受信した履歴を管理する。
次にパケット解析部４０の各種テーブル情報と、処理内容を記述したプログラムのアップデート方法を示す。
通信装置１に接続された、管理端末２より、装置制御部１０内のメモリ１２へ、更新に必要なテーブル情報が格納される。装置制御プロセッサ１１は、信号線Ｌ１０〜Ｌ１ｎ経由でメモリ１２内の情報を、パケット解析部４０内の、テーブル４０４１、４０４２、４０４３からアップデートするテーブルを選択し、テーブル情報を更新する。
【００７１】
テーブルの更新は、通信装置１が設置されるネットワーク環境で、新たなパケットフォーマットによる転送が必要になった場合や、使用しなくなったプロトコルに対応した処理プログラムや、テーブル情報を削除する際に、実施される。
例えば、実施例に記述したＭＰＬＳ転送の場合、管理端末２より、パケット変換テーブルの検索キーにＭＰＬＳのラベル情報を、検索結果にパケット変換情報を、それぞれ追加し、信号線Ｌ２経由でテーブル情報１２０に更新したテーブル情報を登録し、信号線Ｌ１０経由でパケット変換テーブル４０４２，４０４３をそれぞれ更新する。また管理端末２より、処理プログラム情報部１２１に信号線Ｌ２経由で、イーサネットタイプＭＰＬＳのフォーマット情報と、ラベル情報抽出処理と、抽出したラベル情報の変換処理、を実行するプログラムを登録し、信号線Ｌ１０経由でプログラム用メモリ領域４０４０に格納している処理内容を更新する。
【００７２】
また使用しなくなったプロトコルを削除する場合も、管理端末２より設定する。例えば、パケット変換テーブル４０４２，４０４３からラベル情報を削除したい場合、テーブル情報を追加する場合と同様に、管理端末２でＭＰＬＳ転送関連の検索キー、検索結果を削除したテーブルを、テーブル情報１２０に登録し、パケット変換テーブル４０４２，４０４３を上書きする。また処理プログラムの削除も処理プログラム追加の例と同様に、管理端末２より、ＭＰＬＳ転送の一連の処理を削除したプログラムを、処理プログラム情報部１２１から信号線Ｌ１０経由でプログラム用メモリ領域４０４０に登録する。よって管理端末２にて、テーブルおよび処理プログラムの追記、削除を行い、データをテーブルや処理プログラム用のメモリに書き込むことで、テーブル更新、処理プログラム更新を行う。本例では、パケット変換テーブル情報全体を更新したが、特定の検索キー、と検索結果を指定して削除してもよい。
【００７３】
またパケット解析部４０の処理内容を決定するプログラムのアップデートは、管理端末２でプログラムを作成し、装置制御部１０の、装置制御用メモリ１２に、処理内容を書き込む。テーブル情報のアップデート同様に、信号線Ｌ１０〜Ｌ１ｎ経由でパケット解析部４０内のメモリ４０４内、プログラム用メモリ領域４０４０にアクセスし、プログラムを書き換える。
【００７４】
つまり、通信装置１は、パケット解析部４０のパケット変換テーブル４０４２,４０４３と、処理内容を記述したプログラムを更新するだけで、パケット処理専用ハードウェアが処理できないパケットフォーマットに対しても、ハードウェアによる高速検索処理が可能になる。よって新たなプロトコルを処理するためには、テーブルの更新とパケット解析プロセッサの処理内容を変更で済む。  図１４は、通信装置１の変形例３を示す。通信装置３では、クロスバースイッチ２０を設けていない点を除いては、図１の構成と同様である。またこの通信装置３も、上述の実施例のように、ＩＰパケット転送、ＭＰＬＳラベル転送を行う。
【００７５】
上述の実施例により、パケット転送プロセッサのハードウェアの性能を維持し、プログラマブルデバイスを用いたパケットの転送処理を行える。
【００７６】
上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置いてもよい。  また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【００７７】
変形例としては、以下の態様がある。通信装置において、パケット検索・転送処理、フィルタ処理、ＱｏＳ処理を行うパケット処理専用ハードウェアと、パケット処理専用ハードウェアが検索で参照するテーブル情報を格納するメモリとを搭載したパケット処理部と、プログラマブルにパケットフォーマット解析、パケット転送処理が可能なパケット解析プロセッサと、パケット解析プロセッサが、検索やパケット変換を行う際に使用するメモリとを搭載したパケット解析部を設ける。パケット解析プロセッサは、ネットワークのインタフェイスと、パケット処理専用ハードウェア用のインタフェイスを持ち、パケット処理専用ハードウェアはパケット解析プロセッサと接続するためのインタフェイスを有する。
【００７８】
パケット解析プロセッサは、パケット解析プロセッサ用のメモリにパケット処理専用ハードウェアが処理できるフォーマットの情報(例：タイプ情報、プロトコル)を格納しており、ネットワークのインタフェイス部からパケットが入力されると前記フォーマットの情報を参照して、処理可能であれば、パケット変換処理は行わず、そのままパケット処理専用ハードウェア側のインタフェイスへ転送する。パケット処理専用ハードウェアが処理出来ないタイプやプロトコルの場合は、パケット処理専用ハードウェアが処理可能な、特定のフォーマットへ変換し、パケット処理専用ハードウェア側のインタフェイスへ転送する。
【００７９】
パケット処理専用ハードウェアは、通常のＬ２（ＯＳＩ参照モデルで規定される第２層（レイヤ２）のフォワーディング機能）フレーム/Ｌ３（ＯＳＩ参照モデルで規定される第３層のルーティング機能、ＩＰプロトコル）パケット、パケット解析プロセッサで変換された特定のフォーマットを検索する機能と、出力先を決定する機能とを持ち、検索結果として出力先情報と、パケット変換情報を出力する。パケット変換情報はパケット解析プロセッサがパケットを生成するときに使われ、パケット解析プロセッサが接続されていない場合は削除し、パケット解析プロセッサが接続されている場合は出力先ポート情報と共に出力側のパケット解析プロセッサへ転送する。
パケット処理専用ハードウェアから出力されたパケットを受信するパケット解析プロセッサでは、通常のＬ２フレーム/Ｌ３パケットであれば、そのまま接続されたネットワークに出力する。一方パケット処理専用ハードウェアから、パケット変換情報の入ったヘッダ付パケットを受信したパケット解析プロセッサは、変換情報を元に、出力するネットワークのフォーマットに合わせたパケットを生成し、転送する。
【００８０】
本実施例によると、パケット処理専用ハードウェアにとって、未知のパケットフォーマットであっても、ハードウェアを更新することなく、処理することが可能となる。
【００８１】
本実施例によると、パケット解析用プロセッサに搭載する機能を、入力パケットフォーマット解析、パケット変換、パケット転送に限定できるため、パケット解析プロセッサのプログラムリソースを確保することができ、性能劣化を抑えつつ拡張性を保持することができる。
【００８２】
本実施例によると、パケット処理専用ハードウェアは通常のＬ２フレーム/Ｌ３パケットを検索することができるため、プログラマビリティが不要な場合には転送専用ハードウェアだけで装置を構成することが可能であり、必要に応じてパケット処理専用ハードウェアの入力側と、出力側にそれぞれパケット解析プロセッサを配備することができ、性能、コスト、電力において最適なモジュール構成で装置を構成することが可能になる。以上が別の態様例である。
【符号の説明】
【００８３】
１  通信装置
２  管理端末
１０  装置制御部、２０  クロスバースイッチ
３０  パケット処理部
３０１  パケット処理専用ハードウェア
３０２  パケット検索部
３０３  パケット変換情報付加部
４０  パケット解析部
４０１  パケット解析プロセッサ
４０２  パケットフォーマット解析部
４０３  パケット変換部
４０４  パケット解析部用メモリ
４０４０  パケット解析プロセッサ、プログラム用メモリ
４０４１  イーサネットタイプ検索テーブル
４０４２  入力パケット変換テーブル
４０４３  出力パケット変換テーブル
５０  回線インタフェイス部
６０  拡張機能ボード
６０１  パケット変換部
【図１】
0005961745.tif 000002
【図２】
0005961745.tif 000003
【図３】
0005961745.tif 000004
【図４】
0005961745.tif 000005
【図５】
0005961745.tif 000006
【図６】
0005961745.tif 000007
【図７】
0005961745.tif 000008
【図８】
0005961745.tif 000009
【図９】
0005961745.tif 000010
【図１０】
0005961745.tif 000011
【図１１】
0005961745.tif 000012
【図１２】
0005961745.tif 000013
【図１３】
0005961745.tif 000014
【図１４】
0005961745.tif 000015