(57)【要約】【課題】複数のプロトコルにより処理されたパケットが外部装置から到着する可能性がある場合、スイッチに複数の上位（レイヤ３以上）プロトコルを判別・処理する手段を用意する必要がある。また、スイッチにおいてパケット振り分け方向の片寄りを解消するために負荷分散処理を行った場合、パケット送信順序が逆転する恐れがある。【解決手段】パケット振り分け装置１は、複数の回線処理部４〜６から入力されるパケットに記されたヘッダ情報を元にしてパラメータを作成し、前記パラメータを利用して前記パケットの振り分け処理を行うスイッチ２と、前記パケット振り分け装置の管理処理とレイヤ３以上の上位レイヤでのパケット処理を行うプロセッサ３とから構成される。これにより、レイヤ３以上の上位レイヤの処理をスイッチに実装することなくパケット振り分けが可能となり、また、パケットフローの順序を保証できる。【選択図】　　　図１
2004120636.tif 000002
【特許請求の範囲】
【請求項１】
データ転送において入出力されるパケットを振り分けるパケット振り分け装置であって、
前記パケット振り分け装置は、
それぞれ異なった回線と接続され、前記回線から前記パケットを入出力する複数の回線処理部と、
前記複数の回線処理部から入力されるパケットに記されたヘッダ情報を元にしてパラメータを作成し、前記パラメータを利用して前記パケットの振り分け処理を行うスイッチと、
前記パケット振り分け装置の管理処理と、レイヤ３以上の上位レイヤでのパケット処理を行うプロセッサと、
から構成されることを特徴とするパケット振り分け装置。
【請求項２】
前記スイッチは、
前記回線処理部から入力されたパケットを前記スイッチ内部へ取り込む処理と、当該スイッチ内部から入力されたパケットを当該回線処理部へ出力する処理と、当該スイッチの監視制御信号の送受信処理を行う複数の回線処理部Ｉ／Ｆと、複数の前記回線ごとに、当該回線を通過するパケットのヘッダ部情報に対応する情報テーブルを保持しているレジスタと、
複数の前記回線処理部Ｉ／Ｆと各々接続され、前記ヘッダ部情報と前記情報テーブルに記載された情報を用いてヘッダ部情報の更新を行うヘッダ処理部と、
前記ヘッダ処理部から出力された更新ヘッダ部情報を持つパケットを受信し、前記パケット処理部側へ前記ヘッダ部情報内の送信先情報に基づいてルーティングを行う処理と、当該パケット処理部側から入力されたパケットを受信し、当該ヘッダ処理部へ当該ヘッダ部情報内の送信先情報に基づいてルーティングを行う処理とを行うルーティング処理部と、
前記ルーティング処理部から入力されたパケットを前記パケット処理部へ出力する処理と、当該パケット処理部から入力されたパケットを当該ルーティング処理部へ出力する処理と、当該スイッチの監視制御信号の送受信処理を行う複数のパケット処理部Ｉ／Ｆと、
前記複数の回線処理部Ｉ／Ｆ、前記複数のヘッダ処理部、前記複数のパケット処理部Ｉ／Ｆ、前記レジスタとの間で、当該スイッチの監視制御信号の送受信処理を行う監視制御部と、
から構成されていることを特徴とする請求項１記載のパケット振り分け装置。
【請求項３】
前記ヘッダ処理部において、前記ヘッダ部情報内のパケットタイプ情報と、前記レジスタ内に保存されているタイプ管理テーブルのタイプ情報を比較し、その比較結果の一致／不一致により、前記パケット処理装置内部で扱われる装置内パケットであるか、あるいは前記パケット処理装置と他のパケット処理装置との間で扱われる装置間パケットであるかを判定することを特徴とする請求項２記載のパケット振り分け装置。
【請求項４】
前記回線処理部Ｉ／Ｆは、内部に複数のバッファと、そのバッファの切り替えを前記監視制御部からの監視制御信号により制御するバッファ制御部とを備え、当該バッファ制御部は、当該複数のバッファの内で、現在パケットを送信している送信中バッファの状態を確認し、前記送信中バッファが空になるまで送信を継続させ、当該送信中バッファが空になったのを確認した後、当該送信中バッファ以外の次送信バッファへ切り替えを行い、新たに切り替えられた前記次送信バッファからパケット送信を開始させることを特徴とする請求項２記載のパケット振り分け装置。
【請求項５】
前記レジスタ内の前記情報テーブルに、パケットの前記ヘッダ情報に関連付けた複数の比較値と、前記複数の比較値に対応した複数のパケット送信先情報を用意し、
前記ヘッダ処理部において、当該ヘッダ情報を用いて当該複数の比較値の内の一つの比較値を検索し、値が一致した比較値に対応した送信先に、当該パケットを送信することを特徴とする請求項２記載のパケット振り分け装置。
【請求項６】
前記比較値として、ＩＰパケットのヘッダにおける情報であるＴＯＳ（Ｔｙｐｅ　Ｏｆ　Ｓｅｒｖｉｃｅ）フィールドの値を使用することを特徴とする請求項５記載のパケット振り分け装置。
【請求項７】
前記スイッチにおいて、前記複数のヘッダ処理部を複数の前段パケット処理部に置き換え、前記ルーティング処理部と前記複数のパケット処理部Ｉ／Ｆとの間に、新たに複数の後段ヘッダ処理部を備えることを特徴とする請求項２記載のパケット振り分け装置。
【請求項８】
前記前段パケット処理部は、前記パケット処理部における処理の内、前記回線処理部Ｉ／Ｆから前記ルーティング処理部方向へ送信されるパケットに対する処理のみを行うことを特徴とする請求項７記載のパケット振り分け装置。
【請求項９】
前記後段パケット処理部は、前記パケット処理部における処理の内、前記パケット処理部Ｉ／Ｆから前記ルーティング処理部方向へ送信されるパケットに対する処理のみを行うことを特徴とする請求項７記載のパケット振り分け装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はパケット振り分け装置に関し、特に、上位プロトコルの処理を簡略化し、ハード的に単純な方法で振り分けることを可能とするパケット振り分け装置に関する。
【０００２】
【従来の技術】
従来のパケット振り分け装置は、一般的に、スイッチとパケット処理部から構成されている。（例えば、特許文献１参照）
ここで、スイッチ（特許文献１のＳＷ１）は、入力されたパケットを複数のパケット処理部（特許文献１のバッファ１〜３）にスイッチする。そして、パケット処理部では、スイッチから入力されたパケットに対して上位レイヤの処理を行う。
【０００３】
このような従来のパケット処理装置においては、入力されたパケットをスイッチ経由でパケット処理部に送信する際、送信すべきパケットをある特定のパケット処理部に固定するのではなく、複数のパケット処理部へ振り分けることにより負荷を分散させている。
【特許文献１】
特開平５−２２７２１０号公報（第５頁、第１図）
【０００４】
【発明が解決しようとする課題】
しかしながら、このパケット処理部への振り分け処理をスイッチに実装する場合、以下のような問題が発生する。
【０００５】
まず、複数のプロトコルにより処理されたパケットが外部装置から到着する可能性がある場合、スイッチに複数のプロトコルを判別する手段を用意しなければならないという問題がある。この理由は、パケット振り分け時に利用されるパラメータをパケット内のヘッダ部分から探し出すために、振り分けるべきパケットに対して処理されているプロトコルを判別する必要があるためである。
【０００６】
また、上記のパラメータの探索をパケット内部のチェックにより行うため、上位（レイヤ３以上）のプロトコルを実装しなければならないという問題がある。
【０００７】
また、スイッチにおいて振り分け処理を行った時点で、振り分け方向、すなわち送信すべきパケット処理部に片寄りがある場合、片寄りを解消するために負荷分散処理を行うが、その処理によりパケット送信順序が逆転する恐れがある。この理由は、振り分け方向が変更になった際に、同じパケットフローで異なる処理部へ送信されてしまうことが発生し、これにより処理部内の負荷状況により処理部から送出される時間に差が発生するために、結果として順序逆転が発生する可能性があるためである。
【０００８】
さらに、複数のパケット振り分け装置間において、ネットワーク経由でパケットの振り分けを行う場合には、各パケット振り分け装置内にネットワーク接続用に機能を拡張した回線処理部も用意しなければならないという問題がある。
【０００９】
そこで、本発明の目的は上記の問題を解消した、パケット振り分け装置を提供することにある。
【００１０】
【課題を解決するための手段】
上記課題を解決するために、本発明のパケット振り分け装置では、それぞれ異なった回線と接続され、前記回線から前記パケットを入出力する複数の回線処理部と、前記複数の回線処理部から入力されるパケットに記されたヘッダ情報を元にしてパラメータを作成し、前記パラメータを利用して前記パケットの振り分け処理を行うスイッチと、前記パケット振り分け装置の管理処理と、レイヤ３以上の上位レイヤでのパケット処理を行うプロセッサと、から構成されることを特徴とする。
【００１１】
このような構成を採用することにより、本発明のパケット振り分け装置では、レイヤ３以上の上位レイヤの処理をスイッチに実装することなくパケット振り分けが可能となり、スイッチの処理を簡略化できる。また、振り分け時に使用するパラメータを任意に変更できる。また、振り分け方向の切り替え後、パケットフローの順序を保証できる。さらに、装置間ルーティング時に、装置間接続用の回線や装置の相互接続が不要となる。
【００１２】
【発明の実施の形態】
以下では、図１から図６を参照しつつ、本発明の実施例について説明する。まずは、本願発明のパケット振り分け装置の内部構成を示す。
【００１３】
図１は、パケット振り分け装置１の全体構成を示すブロック図であり、回線処理部４，５，６、スイッチ２、パケット処理部７，８，９、プロセッサ３から構成されている。このパケット振り分け装置１は、回線処理部４〜６に入力されるパケットに付加されている装置内ヘッダの情報を用いて、パケットのルーティング処理を行うものである。
【００１４】
回線処理部４〜６は、低レイヤ（レイヤ２相当）でのパケット処理を行う。スイッチ２は、回線処理部４〜６、パケット処理部７〜９、プロセッサ３へのパケットのルーティング処理を行う。パケット処理部７〜９は、上位レイヤ（レイヤ３以上）でのパケット処理を実行する。プロセッサ３は、パケット振り分け装置１の管理やパケット処理部７〜９と連携した上位レイヤのパケット処理等を行う。なお、図１においては、スイッチ２と接続される回線処理部およびパケット処理部を３個ずつとしているが、これらの個数は３に限定されるものではない。
【００１５】
図２は、スイッチ２の詳細な構成例を示したものである。スイッチ２は、回線処理部インタフェース（Ｉ／Ｆ）１０〜１２、ヘッダ処理部１３〜１５、ルーティング処理部１７、パケット処理部側インタフェース（Ｉ／Ｆ）１８〜２０、監視制御部９０、レジスタ１６で構成される。
【００１６】
ここで、回線処理部Ｉ／Ｆ１０〜１２は、回線処理部４〜６、ヘッダ処理部１３〜１５、監視制御部９０と接続されている。回線処理部Ｉ／Ｆ１０〜１２は、回線処理部４〜６から受信したパケットをヘッダ処理部１３〜１５へ送信する役割と、ヘッダ処理部１３〜１５から受信したパケットを回線処理部４〜６へ送信するインタフェースの役割を持つ。さらに、回線処理部Ｉ／Ｆ１０〜１２は、監視制御部９０からの制御情報を受信する仕組みも持つ。
【００１７】
図３は、回線処理部Ｉ／Ｆ１０〜１２の構成例を示したものである。回線処理部側からヘッダ処理部側へは、回線受信部３０２を経由してパケットが送信される。
【００１８】
一方、ヘッダ処理部側から回線処理部側へは、回線送信部３０１を経由してパケットが送信される。そして、この回線送信部３０１は、切り替え番号判定部３０７、バッファＡ３０５、バッファＢ３０６、バッファ制御部３０４、送信部３０３から構成されている。
【００１９】
切り替え番号判定部３０７では、監視制御部９０からの情報を元に、入力パケットのヘッダ部分に記載されている切り替え番号をチェックし、バッファＡ３０５あるいはバッファＢ３０６の一方へパケットを振り分ける。ここで、パケットの構成は、例えば図７のようなものであり、切り替え番号３６の情報は、装置内ヘッダ３１に記載されている。
【００２０】
バッファ制御部３０４では、監視制御部９０からの切り替え信号の内容とバッファＡ３０５、バッファＢ３０６の状態を監視する。さらに、バッファ制御部３０４は、上記監視状態の情報を用いて、出力すべきパケットが保存されているバッファを判断し、そのバッファから送信部３０３へパケットを送信させる。
【００２１】
送信部３０３では、バッファから送信されたパケットを回線処理部側へ出力する。
【００２２】
また、ヘッダ処理部１３〜１５は、図２に示すように、回線処理部Ｉ／Ｆ１０〜１２、ルーティング処理部１７、監視制御部９０、レジスタ１６に接続されている。このヘッダ処理部１３〜１５は、レジスタ１６から必要な情報の読み出しを行う。ここで、レジスタ１６に設定されている情報としては、一例として図８のタイプ検索テーブル４１に示すように、タイプ情報４２、ポイント情報４３、振り分け／固定情報４４等がある。なお、各設定値は、回線毎に用意されている。
【００２３】
次に、ヘッダ処理部１３〜１５は、回線処理部Ｉ／Ｆ１０〜１２からの入力されたパケットのヘッダ処理をした後、ルーティング処理部１７へ送信する。一方、ルーティング処理部１７からのパケットは、ヘッダ処理部でヘッダ処理を行った後、回線処理部Ｉ／Ｆへ送信される。また、監視制御部９０からは、切り替え番号等の制御信号を受信する。
【００２４】
図４は、ヘッダ処理部１３〜１５の構成例を示したものである。この図４を用いて、ヘッダ処理部におけるヘッダ処理の内容を説明する。回線処理部Ｉ／Ｆ１０〜１２からルーティング処理部１７方向へは、行き先判定部２１、タイプ判定部２２、内外判定部Ａ２３、ポイント確認／計算部２４、装置間ヘッダ削除部２７、装置内ヘッダ生成／付与部２５、送信処理部Ａ２６から構成される。これらの各部では以下のような処理を行う。
【００２５】
行き先判定部２１では、パケットのルーティング先のチェックを行う。タイプ判定部２２では、パケットの装置内ヘッダ３１に記載されたパケットタイプ情報３５（図７参照）の情報と、レジスタ１６内に記憶されているタイプ検索テーブル４１（図８参照）のタイプ情報４２を比較し、検索を行う。検索結果より、パケットタイプ情報３５と同じ値を持つタイプ情報４２の存在する行（例えば、タイプ情報の値がＸ１の行）を得る。
【００２６】
内外判定部Ａ２３では、パケットが装置内ルーティングであるか、装置外（装置間）ルーティングであるかを、装置内ヘッダ３１の内外判別情報３３により判定する。パケットは、装置間ルーティングの場合には装置間ヘッダ削除部２７へ送信され、装置内ルーティングの場合にはポイント確認／計算部２４へ送信される。
【００２７】
装置間ヘッダ削除部２７では、自装置内で使用された装置内ヘッダ７１（図１３参照）を削除し、さらに、タイプ判定部２２で得られたパケットタイプ情報４２からタイプヘッダ７２（図１３参照）を削除し、送信処理部Ａ２６へ送信する。
【００２８】
ポイント確認／計算部２４では、タイプ判定部２２で得られた結果を利用し、タイプ情報４２に対応するポイント情報４３の検索を行う。検索結果より得られたポイント情報４３とポイント値のマスク情報４５を用いて計算を行う（計算内容の詳細は後述）。この計算結果から送信先が決定される。
【００２９】
装置内ヘッダ生成／付与部２５では、ポイント確認／計算部２４で得られた送信先情報３４と監視制御部９０からの切り替え番号３６の情報を追加して、装置内ヘッダ３１（図７参照）を生成し、パケットデータに付与する。
【００３０】
送信処理部Ａ２６は、装置内ヘッダ生成／付与部２５からのパケットと装置間ヘッダ削除部２７からのパケットを、到着順にルーティング処理部１７へと送信する。
【００３１】
一方、ルーティング処理部１７から回線処理部Ｉ／Ｆ１０〜１２方向へは、内外判定部Ｂ３０、装置間ヘッダ付与部２９、送信処理部Ｂ２８から構成される。
【００３２】
内外判定部Ｂ３０では、パケットが装置内ルーティングであるか、装置外（装置間）ルーティングであるかを、装置内ヘッダ３１の内外判別情報３３により判定する。パケットは、装置間ルーティングの場合には装置間ヘッダ付与部２９へ送信され、装置内ルーティングの場合には送信処理部Ｂ２８へ送信される。
【００３３】
装置間ヘッダ付与部２９では、装置間のタイプ値より付与するヘッダを検索し付与した後、さらに必要な装置内ヘッダを付与して送信処理部Ｂ２８へ送信する。具体的には、「他装置間用の装置内ヘッダの更新（内外判別情報を内部に変更。送信先情報を、図１２の自回線番号６３に相当する送信先情報６４に変更。）」、「タイプヘッダの付与（他装置間用の装置内ヘッダのパケットタイプ情報から、図１１のテーブルを検索し、準備されているタイプヘッダを付与。）」、および「自装置内用の装置内ヘッダの付与（内外判別情報を外部に変更。送信先情報は、接続されている回線番号で固定設定。パケットタイプ情報は、他装置間用の装置内ヘッダのパケットタイプ情報をコピーして作成。すなわち、図７の装置内ヘッダ３１の付与。）」という順序で処理を行う。
【００３４】
送信処理部Ｂ２８では、内外判定部Ｂ３０からのパケットと装置間ヘッダ付与部２９からのパケットを、到着順に回線処理部Ｉ／Ｆ１０〜１２へ送信する。
【００３５】
また、パケット処理部Ｉ／Ｆ１８〜２０は、ルーティング処理部１７とパケット処理部７〜９に接続されている。そして、パケット処理部Ｉ／Ｆ１８〜２０は、ルーティング処理部１７から受信したパケットをパケット処理部７〜９へ送信する動作と、パケット処理部７〜９から受信したパケットをルーティング処理部１７へ送信する動作を実行する。
【００３６】
図５は、パケット処理部Ｉ／Ｆ１８〜２０の構成例を示したものである。パケット処理部７〜９からルーティング処理部１７方向への処理の場合、パケット処理受信部４０２で処理が行われる。パケット処理受信部４０２の内部構成としては、パケット判定部４０５を持つ。このパケット判定部４０５では、パケット処理部７〜９から送信されてくるパケットにおいて、その装置内ヘッダ３１内に記録された切り替え番号３６の内容をチェックし、切り替え通知パケットかどうかを判定する。切り替え通知パケットの場合は、監視制御部９０へ切り替え通知パケットが到着したことを、装置内ヘッダ３１内の切り替え番号と共に通知する。
【００３７】
一方、ルーティング処理部１７からパケット処理部７〜９方向へは、バッファ４０４と状態通知部４０３から構成される。状態通知部４０３は、バッファ４０４の状態を監視し、バッファ４０４の記憶領域がパケットのデータにより一杯になったとき、監視制御部９０に通知を行う。
【００３８】
図６は、監視制御部９０の構成例を示したものである。この監視制御部９０は、バッファ状態管理部５０３、切り替え番号制御部５０２、バッファ切り替え部５０１から構成される。
【００３９】
バッファ状態管理部５０３は、パケット処理部Ｉ／Ｆ１８〜２０および切り替え番号制御部５０２と接続されている。そして、バッファ管理部５０３は、パケット処理部Ｉ／Ｆ１８〜２０内にある状態通知部４０３からの通知により、バッファ４０４の記憶領域が一杯になったという状態を検出すると、切り替え番号制御部５０２に更新通知を送信する。
【００４０】
切り替え番号制御部５０２は、バッファ状態管理部５０３、バッファ切り替え部５０１、ヘッダ処理部１３〜１５、レジスタ１６、回線処理部Ｉ／Ｆ１０〜１２と接続されている。そして、切り替え番号制御部５０２は、バッファ状態管理部５０３からの更新通知を受信すると、レジスタ１６内のポイント値のマスク情報４５（図８参照）のマスクビット（“１”）を変更し、チェック箇所の変更を行う。また、切り替え番号３６を、その番号値をカウントアップすることにより更新する。これらの処理後、切り替え番号制御部５０２は、バッファ切り替え部５０１に切り替え通知を送信すると共に、ヘッダ処理部１３〜１６および回線処理部Ｉ／Ｆ１０〜１２に対して更新した切り替え番号３６を通知する。
【００４１】
以下では、実施例の詳細動作について説明する。
【００４２】
＜基本振り分け動作＞
まず、図１のパケット処理装置１における、回線処理部４〜６からパケット処理部７〜９方向への動作について説明する。
【００４３】
回線処理部４〜６へ入力されたパケットは、レイヤ２（データリンク層）のヘッダの処理が行われ、設定されたパケット処理部宛てにスイッチ２経由で送信される。すなわち、回線処理部４〜６では、入力パケットからレイヤ２（データリンク層）ヘッダを削除し、図７に示す装置内ヘッダ３１をパケットデータ３２に付与し、スイッチ２へ送信する。
【００４４】
ここで、装置内ヘッダ３１の情報としては、装置内で必要な情報を定義すれば良いが、本実施例では最低限必要な情報として、切り替え番号３６、内外判別情報３３、送信先情報３４、パケットタイプ情報３５を規定している。そして、回線処理部４〜６では、入力パケットに初期設定されている宛先情報が送信先情報３４に付与され、レイヤ２ヘッダ内のパケットタイプ情報がパケットタイプ情報３５にコピーされる。例えば、入力パケットがＥｔｈｅｒｎｅｔ（登録商標）パケットの場合には、Ｅｔｈｅｒｎｅｔ（登録商標）パケットヘッダのタイプフィールド情報がパケットタイプ情報３５にコピーされる。以下では、一例として、レイヤ２ヘッダをＥｔｈｅｒｎｅｔ（登録商標）パケットヘッダ、パケットタイプをＩＰパケットとして説明をする。
【００４５】
スイッチ２へ入力されたパケットは、回線処理部Ｉ／Ｆ１０〜１２を経由してヘッダ処理部１３〜１５へと送信される。ヘッダ処理部１３〜１５へ入力されたパケットは、まず行き先判定部２１で装置内ヘッダ３１内の送信先情報３４をチェックされる。
【００４６】
チェックの結果、プロセッサ３宛のパケット（例えば制御情報パケット）であれば、送信処理部Ａ２６に直接送信され、ヘッダ処理部１３〜１５からルーティング処理部１７へ入力される。そして、ルーティング処理部１７において装置間ヘッダ内の送信先情報３４に従い、プロセッサ３へルーティングされる。
【００４７】
また、チェック結果、パケット処理部７〜９宛のパケットである場合、タイプ判定部２２へ送信される。タイプ判定部２２は、装置内ヘッダ３１内のパケットタイプ情報３５と、レジスタ１６内に記憶されているタイプ検索テーブル４１（図８参照）のタイプ情報４２を比較し、検索を行う。検索結果より、パケットタイプ情報３５と同じ値を持つタイプ情報４２が、タイプ検索テーブル４１内で存在する行（例えば、タイプ情報の値がＸ１の行）を得ることができる。
【００４８】
なお、パケットタイプ情報３５とタイプ情報４２の値が一致しない場合には、そのパケットタイプ情報３５を装置内ヘッダ３１に持つパケットを廃棄処理する。または、廃棄処理を行わずに送信処理部Ａ２６へ直接送信し、ルーティング処理部１７において装置内ヘッダ３１の送信先情報３４に記載された送信先へルーティングを行う。
【００４９】
タイプ判定部２２での検索結果より、タイプ情報４２を得られたパケットは、内外判定部Ａ２３へ送信される。内外判定部２３では、あらかじめ内部外部判定用に設定しておいた値と、装置内ヘッダ３１の内外判別情報３３を比較し、その比較結果により装置内部で扱われるパケットであるか、装置間（装置外）で扱われるパケットであるかを判定する。本実施例では、まず装置内部で扱われるパケットと判定された場合の処理内容を＜装置内ルーティング＞において説明し、続いて、装置間で扱われるパケットと判定された場合の処理内容を＜装置間ルーティング＞において説明する。
【００５０】
＜装置内ルーティング＞
まず、内外判定部Ａ２３において、装置内部で扱われるパケットと判定された場合の処理内容について詳細説明をする。装置内と判定されたパケットは、ポイント確認／計算部２４へ送信される。ポイント確認／計算部２４では、振り分け処理と固定処理のどちらを行うかを決定する。また、ポイント確認／計算部２４は、タイプ判定部２２での判定処理で得られたタイプ情報４２（例えばＸ１）に対応するポイント情報４３（例えばＹ１）とポイント値のマスク情報４５から、ポイント確認を行う個所を見つけ、計算を行うことにより、パケットの送信先を決定する処理を行う。
【００５１】
具体的には、ポイント確認／計算部２４は、以下のような処理を行っている。図１０に示されるポイント値５３は、任意のビット数としてパケット内に設定されており、そのビットをポイント値のマスク情報４５を用いてマスクすることにより、ポイント値５３からチェックしたい有効なビット部分を取り出すことを可能としている。例えば、ポイント値のマスク情報４５において、“０”の箇所は有効とし、“１”の箇所はマスクとして無効とする。そして有効の箇所だけ取り出して計算に使用する。
【００５２】
ここで、ポイント値５３の設定箇所の例としては、ＩＰパケットヘッダのソースＩＰアドレスの部分が考えられる。図１０に示すように、ポイント値５３が設定されるソースＩＰアドレスの位置は、パケット５１の先頭から図１０のポイント情報５２だけ後方にずれた位置となる。なお、ポイント情報５２の値はポイント情報４３と同一であり、タイプ検索テーブル４１より得られる。
【００５３】
また、ソースＩＰアドレスのどこの部分をチェックすべきかは、ポイント値のマスク情報４５のマスクビット（“１”）により設定される。例えば、パケット５１内のポイント値５３の部分にポイント値のマスク情報４５を重ね合わせ、このポイント値のマスク情報４５が“１”となっているビット部分を無視し、“０”となっているビット部分がポイント値５３でどのように設定されているかをチェックする。すなわち、このポイント値のマスク情報４５のマスクビット“１”の位置を変更することにより、振り分けられるパケットのソースＩＰアドレスが変更されることになる。
【００５４】
また、ポイント確認／計算部２４における計算方法は各種考えられるが、一例として、単純な計算例を用いて説明する。パケットの振り分け処理の場合、ポイント値のマスク情報４５を用いてポイント値５３から取り出した有効な値を、別途設定しておいた振り分け値４６（図８参照）を用いて割り算する。ここで、振り分け値４６に振り分けたい数を設定しておくと、その割り算結果の剰余で得られる数は振り分けの数と一致する。例えば、振り分け数が３の場合には、図８に示すように振り分け値を４６を２進数表記の“１１”とする。すなわち、図９に示すように、振り分けるべき送信先数と等しい剰余４７が得られるように振り分け値４６を設定し、剰余４７に関連付けて送信先４８を設定しておく。
【００５５】
これにより、計算結果から得られた剰余４７を用いて送信先４８が決定される。ここで、送信先４８に回線処理部４〜６を指定することにより、パケット処理装置１から回線処理部４〜６に接続された他の装置への装置間ルーティングが可能となる。装置間ルーティングの詳細動作に関しては後述する。
【００５６】
なお、パケットを振り分けずに、ある決まった他装置に送信する固定処理の場合は、ポイント確認／計算部２４におけるポイント値４５のチェック等が不要であるので、剰余４７の値として“０”等の固定値を指定する仕組みにすれば良い。
【００５７】
次に、ポイント確認／計算部２４で送信先が決定されたパケットは、装置内ヘッダ生成／付与部２５において、装置内ヘッダ３１の付け替えが行われる。付け替え時に更新される情報は、切り替え番号３６、決定された送信先情報３４、内外判別情報３３である。ここで、内外判別情報３３の値は、送信先が回線処理部４〜６方向ならば外部、パケット処理部７〜９方向ならば内部となるように設定される。
【００５８】
そして、新たな装置内ヘッダが付与されたパケットは、送信処理部Ａ２６へ送信される。送信処理部２６では、到着したパケットを順番にルーティング処理部１７へ送信する。
【００５９】
ルーティング部１７では、装置内ヘッダ３１内の送信先情報３４に従い、装置内であるパケット処理部７〜９方向へパケットのルーティングが行われる。すなわち、ルーティングによりパケット処理部Ｉ／Ｆ１８〜２０に到着したパケットは、パケット処理部７〜９へ送信される。
【００６０】
パケット処理部７〜９では、上位レイヤのパケット処理が行われ、処理終了後に再びスイッチ２へ返信される。なお、パケット処理部７〜９における動作に関しては、一般的な事項であるので省略する。
【００６１】
次に、パケット処理部７〜９から回線部４〜６方向への動作について説明を行う。
【００６２】
パケット処理部７〜９で処理された後、スイッチ２に返信されたパケットは、パケット処理部Ｉ／Ｆ１８〜２０を経由してルーティング処理部１７へ送信される。ここで、ルーティング部１７の動作は上述の逆方向の場合と同様である。
【００６３】
そして、ルーティング処理部１７からヘッダ処理部１３〜１５に到着したパケットは、内外判定部Ｂ３０へ送信される。内外判定部Ｂ３０では、装置内ヘッダ３１内の内外判別情報３３をチェックし判定を行う。そして、装置内パケットであると判定された場合には、そのまま送信処理部Ｂ２８へ送信する。
【００６４】
また、装置間パケットであると判定された場合には、装置間ヘッダ付与部２９へ送信される。なお、装置間ヘッダ付与部２９の動作については、＜装置間ルーティング＞において後述する。
【００６５】
送信処理部Ｂ２８では、内外判定部Ｂ３０と装置間ヘッダ付与部２９から入力されるパケットを順番に制御し、回線処理部Ｉ／Ｆ１０〜１２へ送信する。
【００６６】
回線処理部Ｉ／Ｆ１０〜１２内では、ヘッダ処理部１３〜１５から入力されたパケットを切り替え番号判定部３０７でチェックする。切り替え番号判定部３０７では、監視制御部９０からのバッファ切り替え番号情報と、装置内ヘッダ３１内の切り替え番号３６と比較し、該当するバッファＡ３０５またはバッファＢ３０６のどちらかへ送信する。一例として、（バッファＡ３０５−切り替え番号１）、（バッファＢ３０６−切り替え番号２）というバッファ切り替え番号情報が監視制御部９０から入力されている場合、該当する切り替え番号を持つパケットを対応するバッファへ送信する。
【００６７】
なお、監視制御部からの番号の更新は、一例として、古い方から順番に行うことが考えられる。すなわち、上記のバッファ切り替え番号情報が設定されている場合、次の更新時には（バッファＡ３０５−切り替え番号３）、（バッファＢ５０６−切り替え番号２）となる。また、切り替え番号が該当しないパケット（プロセッサ３からのパケット等）は、一例として、更新された番号が新しい（大きい）バッファへ送信するものとする。
【００６８】
バッファ制御部３０４では、送信部３０３へ送信するパケットの読み出しバッファを、バッファＡ３０５、バッファＢ３０６から選択し切り替える。この切り替えは、監視制御部９０からのバッファ切り替え番号情報を受信した際に、その新しい切り替え番号に対応するバッファを選択することにより実行される。ただし、このバッファ切り替え処理は、バッファ切り替え番号情報を受信した直後に行なわれるのではなく、該当するバッファ以外のバッファから送信部３０３へのパケット送信完了を検出した後に、該当するバッファへ切り替えるようにする。そして、バッファ切り替え後、送信部３０３では、バッファＡ３０５あるいはバッファＢ３０６から送信されるパケットを回線処理部４〜６へ出力する。
【００６９】
回線処理部４〜６では、パケットから装置内ヘッダ３１を削除し、低レイヤのヘッダを付与した後、パケット処理装置１の外部（他装置）へパケットを出力する。
【００７０】
＜装置間ルーティング＞
以下では、パケット処理装置１と他パケット処理装置との装置間にパケットが送信される場合の動作に関して説明を行う。
【００７１】
まず、スイッチ２のヘッダ処理部１３〜１５内において、回線処理部Ｉ／Ｆ１０〜１２からルーティング処理部１７方向へ装置間ルーティングが行なわれる場合の動作について説明する。回線処理部Ｉ／Ｆ１０〜１２から送信されたパケットは、行き先判定部２１とタイプ判定部２２を経由した後、内外判定部Ａ２３で装置間ルーティングパケットと判定され、装置間ヘッダ削除部２７へ送信される。ここで、装置間ルーティング用のパケット構成は、一例として図１３に示すように、２種類の装置内ヘッダ７１，７３とタイプヘッダ７２が、パケットデータ７４に付加されたものとなっている。
【００７２】
装置間ヘッダ削除部２７では、図１３の装置間ルーティングパケットから自装置内ルーティング用の装置内ヘッダ７１とタイプヘッダ７２を削除する。タイプヘッダ７２として削除されるヘッダ長は、タイプ判定部２２で得られたタイプ情報４２を用いて計算される。ここで、タイプ情報４２は、パケットの種類（ＩＰｖ４等）を表しているため、タイプ情報４２から何バイトがヘッダであるかを判別できる。よって、タイプ情報４２を検索した後、あらかじめタイプ情報４２と関連付けられているヘッダバイト長分を削除することにより、タイプヘッダ分だけを削除することが可能となる。これら２つのヘッダの削除により、他装置間ルーティング用の装置内ヘッダ７３が表れるので、そのヘッダのみを持つパケットを送信処理部Ａ２６へ送信し、ルーティング処理部１７へ出力する。
【００７３】
次に、ルーティング処理部１７から回線処理部Ｉ／Ｆ方向へ装置間ルーティングが行なわれる場合の動作について説明をする。内外判定部Ｂ３０において装置間ルーティングパケットと判定されたパケットは、装置間ヘッダ付与部２９へ送信される。
【００７４】
装置間ヘッダ付与部２９では、図１３に示すように、他装置間用装置内ヘッダ７３内の送信先情報（図示せず）の変更と、タイプヘッダ７２と自装置内用装置内ヘッダ７１の付与を行う。ここで、図１２に示すように、自回線番号６３と送信先情報６４からなるテーブルをレジスタ１６に用意しておき、自回線番号６３に対応する送信先情報６４を用いて、他装置間用装置内ヘッダ７３に記載される送信先情報の変更を行う。このテーブル設定は、他装置にパケットを送信する場合に、回線処理部４〜６内のどの処理部にパケットを振り分けるかを示している。
【００７５】
また、新たに付与するタイプヘッダ７２は以下のように得られる。まず、他装置間用装置内ヘッダ７３内のパケットタイプ情報（図示せず）を確認し、図１１に示される、タイプ検索テーブル４１を検索する。検索結果より、関連づけられてレジスタ１６にて用意されているＸ１タイプヘッダ６１とＸ２タイプヘッダ６２を選択する。
【００７６】
さらに、自装置内用装置間ヘッダ７１は、送信先情報（図示せず）を接続されている回線処理部の値とし、パケットタイプ情報（図示せず）は他装置間用装置内ヘッダ７３のパケットタイプ情報値をコピーして作成する。
【００７７】
これらの各種ヘッダ７１〜７３が変更および付与された装置間ルーティングパケットは、送信処理部Ｂ２８へ送信される。
【００７８】
＜振り分け情報の自動更新＞
以下では、振り分け情報の自動更新機構について説明をする。自動更新のトリガとなるのは、スイッチ２におけるパケット処理部Ｉ／Ｆ１８〜２０内のバッファ４０４の状態である。
【００７９】
バッファ４０４が一杯となり溢れが生じた場合、状態通知部４０３がそのバッファ溢れ状態を検出し、その検出結果を監視制御部９０内のバッファ状態管理部５０３へと送信する。
【００８０】
バッファ溢れの検出結果を受信したバッファ状態管理部５０３は、パケットの振り分け処理のために使用している情報（ポイント値のマスク情報４５）を更新するために、切り替え番号制御部５０２へ更新指示信号を送信する。
【００８１】
更新指示信号を受信した切り替え番号制御部５０２は、レジスタ１６にアクセスする。そして、振り分け情報（ポイント値のマスク情報４５）と切り替え番号の更新を行い、ヘッダ処理部１３〜１５と回線処理部Ｉ／Ｆ１０〜１２に更新された切り替え番号を通知する。
【００８２】
更新された切り替え番号を受信した回線処理部Ｉ／Ｆ１０〜１２は、内部の切り替え番号判定部３０７の古い番号情報を更新する。
【００８３】
また、同様に更新された切り替え番号を受信したヘッダ処理部１３〜１５は、レジスタ１６からのレジスタ値の再読み込み、装置内ヘッダ３１に付与する切り替え番号３６の更新、切り替え通知パケットの作成および送出を行う。この切り替え通知パケットの装置内ヘッダ３１においては、切り替え番号３６の一部に切り替え通知パケット用のチェックビットを設けておき、そこのビットをチェックすることにより切り替え通知パケットか否かを判断する。
【００８４】
切り替え通知パケットにおいては、装置内ヘッダ３１内の送信先情報３４を、パケット処理部７〜９のどれか１つに設定する。例えば、図１のパケット処理装置１の構成では、回線処理部４〜６とパケット処理部７〜８を、事前に１対１の関係となるように設定しておけば良い。また、更新された切り替え番号と切り替え通知パケット用のチェックビットを切り替え番号３６に設定する以外には、他の装置内ヘッダ部分やパケットデータ３２の設定変更を行う必要はない。
【００８５】
この切り替え通知パケットが、パケット処理部７〜９側で受信された場合には、特別な処理を行うことをせずに、スイッチ２に返信するようにする。すなわち、切り替え通知パケットにより確認したい点は、各パケット処理部７〜９に更新前の古い切り替え番号情報が残っているかどうかである。この切り替え通知パケットが処理部から返信された場合には、スイッチ２内のパケット処理部Ｉ／Ｆ１８〜２０において、切り替え通知パケットであることを判定する。ここで、切り替え通知パケットが返送されてきたということは、切り替え通知パケットを返信したパケット処理部には、更新前の古い切り替え番号情報は残っておらず、更新されたの切り替え番号のパケットになっていることを示す。そして、切り替え通知パケットを受信したパケット処理部Ｉ／Ｆ１８〜２０内のパケット判定部４０５は、監視制御部９０内のバッファ切り替え部５０１へパケットの受信通知を行う。
【００８６】
すべてのパケット処理部Ｉ／Ｆ１８〜２０内のパケット判定部４０５から、切り替え通知パケットの受信通知を受けたバッファ切り替え部５０１は、同時に切り替え番号制御部５０２からの切り替え指示も受けた場合、回線処理部Ｉ／Ｆ１０〜１２内のバッファ制御部３０４へバッファ切り替えの指示を通知する。
【００８７】
バッファ切り替え通知を受信したバッファ制御部３０４は、現在、パケットを送信しているバッファの状態を確認し、そのバッファが空になるまで送信を継続させる。そして、パケットを送信していたバッファが空になったのを確認した後、バッファ切り替えを行い、新たに切り替えられたバッファからパケット送信を開始する。これにより、同じバッファに格納されているパケットに対して、フロー内での処理順序が逆転しないことが保証可能となる。
【００８８】
次に、本願発明の他の実施例について説明する。
【００８９】
第２の実施例として、図１４に示すように、ポイント値のマスク値４５と関連付けた比較値８１と送信先８２をレジスタ１６に複数用意することにより、同じポイントにおいて複数の比較値８１により振り分けが可能となる。
【００９０】
この場合の振り分け動作としては、ポイントのチェック時にポイント値のマスク値４５で有効とされている箇所（“０”）と比較値８１を検索する。そして、検索結果より、一致した比較値を持つ送信先を指定する。これにより、同じポイント値のマスク情報４５を用いて、固定値による振り分けが実現できる。使用例として、ＩＰヘッダのＴＯＳ（Ｔｙｐｅ　Ｏｆ　Ｓｅｒｖｉｃｅ）フィールドの値を複数の比較値として使用することにより、ＴＯＳフィールドに設定された優先度で振り分けるを行うことが可能となる。この第２の実施例により、計算によるランダムな振り分け方だけではなく、同じポイント値のマスク情報４５を用いて、任意の値について振り分けることが可能となる。
【００９１】
さらに、第３の実施例を、図１５および図１６を用いて説明をする。スイッチ２の構成を図１５に示すようなものとし、装置内ヘッダ３１内の内外判別情報３３を用いて、パケット処理部Ｉ／Ｆ１８〜２０側からパケットをスイッチ２へ送信することにより、パケット処理部７〜９同士の装置間ルーティング処理が可能となる。
【００９２】
図１５は、図２に示した第１の実施例におけるスイッチ２の構成に、新たにヘッダ処理部Ｂ１３１〜１５１を、ルーティング処理部１７とパケット処理部Ｉ／Ｆ１８〜２０の間にも置いた構成である。
【００９３】
また、図１６は、図１５におけるヘッダ処理部Ａ１３０〜１５０とヘッダ処理部Ｂ１３１〜１５１の構成を示したものである。図４に示した第１の実施例におけるヘッダ処理部１３〜１５と比較すると、回線処理部Ｉ／Ｆ１０〜１２からルーティング処理部１７方向の処理をヘッダ処理部Ａ１３０〜１５０に、ルーティング処理部１７から回線処理部Ｉ／Ｆ方向の処理をヘッダ処理部Ｂ１３１〜１５１に実装している。
【００９４】
ここで、ヘッダ処理部Ａ１３０〜１５０の動作は、第１の実施例におけるヘッダ処理部１３〜１５と同様である。ただし、第３の実施例の構成の場合、回線処理部Ｉ／Ｆ１０〜１２方向へはパケット振り分け時の設定を行わないこととする。
【００９５】
また、ヘッダ処理部Ｂ１３１〜１５１では、パケット処理部Ｉ／Ｆ１８〜２０側から入力されたパケットを内外判定部Ｂ３０において判定処理する。判定結果が装置内部のパケットである場合には、送信処理部Ｂ２８へ送信された後、ルーティング処理部１７で装置内の送信先にルーティングされる。装置外の装置間パケットである場合には、装置間ヘッダ付与部２９０に送信される。
【００９６】
装置間ヘッダ付与部２９０では、図１３に示す装置間ルーティングパケットを生成する。タイプヘッダ７２の生成方法は、第１の実施例の場合と同様であるが、他装置間用装置内ヘッダ７３と自装置内用装置内ヘッダ７１の生成方法は異なる。
【００９７】
まず、他装置間用装置内ヘッダ７３は、特に何も処理する必要がなくヘッダ処理部により、生成されたものをそのまま使用する。また、自装置内用装置内ヘッダ７１においては、パケットタイプ情報３５を他装置間用装置内ヘッダ７３からコピーするという点は同様であるが、送信先情報３４の指定方法が異なる。すなわち、送信先情報３４に指定される回線は、レジスタ１６において事前に設定された設定値を用いて指定する。この第３の実施例により、回線処理部４〜６側でのみ装置間ルーティングを行うのではなく、パケット処理部７〜９の間での装置間ルーティングも可能としている。
【００９８】
【発明の効果】
本発明は、以下に記載するような効果を奏する。
【００９９】
第１の効果は、レイヤ３以上の上位レイヤの処理をスイッチ２に実装することなくパケット振り分けが可能となり、スイッチ２の処理を簡略化できることである。その理由は、パケットタイプ情報３５を用いて、あらかじめタイプ検索テーブル４１に設定しておいたポイント情報４３をチェックしているからである。
【０１００】
第２の効果は、振り分けに使用するパラメータを任意に変更できることである。その理由は、チェックするパラメータの位置を設定により与えているためである。
【０１０１】
第３の効果は、振り分け方向の切り替え後、パケットフローの順序を保証できることである。その理由は、切り替え番号の制御とバッファの管理を、切り替え通知パケットによる切り替え情報を用いて行っているためである。
【０１０２】
第４の効果は、装置間ルーティング時に、装置間接続用の回線や装置の相互接続が不要であることである。その理由は、タイプ検索テーブル４１のタイプ情報４２に関連づけられたパケットヘッダを設定しているためである。
【図面の簡単な説明】
【図１】本発明のパケット振り分け装置の全体構成例を示すブロック図である。
【図２】本発明のパケット振り分け装置内におけるスイッチの構成例を示すブロック図である。
【図３】本発明のパケット振り分け装置内における回線処理部Ｉ／Ｆの構成例を示すブロック図である。
【図４】本発明のパケット振り分け装置内におけるヘッダ処理部の構成例を示すブロック図である。
【図５】本発明のパケット振り分け装置内におけるパケット処理部Ｉ／Ｆの構成例を示すブロック図である。
【図６】本発明のパケット振り分け装置内における監視制御部の構成例を示すブロック図である。
【図７】パケットの装置内ヘッダの構成例を示す図である。
【図８】レジスタ内のタイプ検索テーブルの構成例を示す図である。
【図９】ポイント確認／計算部における剰余値とパケット送信先の関係を示す図である。
【図１０】パケットにおけるポイント情報とポイント値の関係を示す図である。
【図１１】タイプ検索テーブルとＸ１およびＸ２タイプヘッダとの関係を示す図である。
【図１２】自回線番号とパケット送信の関係を示す図である。
【図１３】装置間をルーティングするパケットの構成例を示す図である。
【図１４】本発明の第２の実施例における、ポイント値と比較値およびパケット送信先の関係を示す図である。
【図１５】本発明の第３の実施例における、スイッチの構成例を示すブロック図である。
【図１６】本発明の第３の実施例における、ヘッダ処理部の構成例を示すブロック図である。
【符号の説明】
１　パケット振り分け装置
２　スイッチ
３　プロセッサ
４〜６　回線処理部
７〜９　パケット処理部
【図１】
2004120636.tif 000003
【図２】
2004120636.tif 000004
【図３】
2004120636.tif 000005
【図４】
2004120636.tif 000006
【図５】
2004120636.tif 000007
【図６】
2004120636.tif 000008
【図７】
2004120636.tif 000009
【図８】
2004120636.tif 000010
【図９】
2004120636.tif 000011
【図１０】
2004120636.tif 000012
【図１１】
2004120636.tif 000013
【図１２】
2004120636.tif 000014
【図１３】
2004120636.tif 000015
【図１４】
2004120636.tif 000016
【図１５】
2004120636.tif 000017
【図１６】
2004120636.tif 000018