(57)【要約】【課題】パケット中継装置が、パケット中継装置自身から出力されるパケットと、それ以外のパケットとを区別して扱うことを目的とする。【解決手段】  パケットを受信し、当該パケットを他の装置に転送するパケット中継装置であって、パケット受信部と、パケット送信部と、自装置発パケットを生成し、パケット受信部に出力するパケット生成部と、パケットに対するフロー制御の内容を決定するパケット検索部と、検索用メモリと、パケット中継処理部とを有し、パケット受信部は、受信したパケットが前記自装置発パケットであるか否かを判定し、判定の結果を示す自発フラグ及び受信したパケットのヘッダ情報をパケット検索部に出力し、パケット検索部は、自発フラグ及びヘッダ情報に基づいて検索用メモリを参照することによって、受信したパケットに対するフロー制御の内容を決定する。【選択図】図１
2015035677.tif 000002
【特許請求の範囲】
【請求項１】
一つ以上の入力回線及び一つ以上の出力回線と接続され、パケットを受信し、当該パケットを他の装置に転送するパケット中継装置であって、
前記パケット中継装置は、
前記パケットを受信するパケット受信部と、
前記出力回線からパケットを送信するパケット送信部と、
所定の操作を指示するパケットである自装置発パケットを生成し、前記パケット受信部に出力するパケット生成部と、
受信した前記パケットに対するフロー制御の内容を決定し、前記受信したパケットを出力する出力回路を検索するパケット検索部と、
前記フロー制御の内容及び前記パケットを出力する出力回路を特定するための情報を格納する検索用メモリと、
前記受信したパケットのスイッチング処理を実行するパケット中継処理部と、を有し、
前記パケット受信部は、
前記受信したパケットが前記自装置発パケットであるか否かを判定し、
前記判定の結果を示す自発フラグ及び前記受信したパケットのヘッダ情報を前記パケット検索部に出力し、
前記パケット検索部は、前記自発フラグ及び前記ヘッダ情報に基づいて前記検索用メモリを参照することによって、前記受信したパケットに対するフロー制御の内容を決定することを特徴とするパケット中継装置。
【請求項２】
請求項１に記載のパケット中継装置であって、
前記パケット検索部は、前記パケットに対するフロー制御の内容を決定するフロー検索部と、前記パケットを出力する出力回線を検索する経路検索部と、を含み、
前記検索用メモリは、前記パケットに対応するフローを特定し、当該フローに関するアドレスを出力するフロー検索用の第１のメモリと、前記フロー制御の内容を格納するフロー検索用の第２のメモリと、前記パケットを出力する前記出力回線を特定するための情報を格納する経路検索用のメモリと、を含み、
前記フロー検索用の第１のメモリは、一つ以上のビットから構成され、前記パケットに対応するフローを特定するための情報を含むエントリを一つ以上格納し、
前記エントリは、前記自発フラグに関するビットを含み、
前記フロー検索部は、
前記自発フラグ及び前記ヘッダ情報に基づいて、第１の検索キーを生成し、
前記フロー検索用の第１のメモリから前記第１の検索キーと一致するエントリを検索することによって、前記受信したパケットに対応するフローを特定し、
前記検索されたエントリから前記パケットに対するフロー制御の内容を特定するためのアドレスを取得し、
前記取得したアドレスに基づいて、前記フロー検索用の第２のメモリから前記パケットに対するフロー制御の内容を示す情報を取得し、
前記経路検索部は、前記ヘッダ情報に基づいて、前記経路検索用のメモリを参照することによって前記出力回線を特定することを特徴とするパケット中継装置。
【請求項３】
請求項２に記載のパケット中継装置であって、
前記パケット検索部は、
新規のフロー制御の追加指示を受け付けた場合、前記新規のフロー制御の追加指示に基づいて、前記フロー検索用の第１のメモリを検索するための第２の検索キーを生成し、
前記生成された第２の検索キーに基づいて、前記フロー検索用の第１のメモリに重複するエントリが設定されているか否かを判定し、
前記フロー検索用の第１のメモリに重複するエントリが設定されていると判定された場合、前記フロー検索用の第１のメモリに重複するエントリが設定される旨を通知するための警告メッセージを生成し、
前記生成された警告メッセージを出力することを特徴とするパケット中継装置。
【請求項４】
請求項３に記載のパケット中継装置であって、
前記フロー制御の追加指示は、前記パケットに対応するフローを特定するための複数の設定情報の値を含み、
前記パケット検索部は、
前記設定情報が任意の数値である場合、当該設定情報に設定される数値を設定し、
前記設定情報が当該設定情報を参照しない旨の値である場合、当該設定情報の値をマスクすることによって前記第２の検索キーを生成することを特徴とするパケット中継装置。
【請求項５】
請求項２に記載のパケット中継装置であって、
前記自装置発パケット以外のパケットに対するフロー制御の内容の追加指示を受け付けた場合、前記フロー検索部は、前記自発フラグに前記自装置発パケット以外のパケットを示す情報が設定されたエントリを前記フロー検索用の第１のメモリに追加することを特徴とするパケット中継装置。
【請求項６】
請求項２に記載のパケット中継装置であって、
前記パケットに対するフロー制御の内容は、所定の条件を満たすパケットを追加し、若しくは、破棄するフィルタ処理、又は、通信品質を維持するＱｏＳ処理の少なくともいずれかであることを特徴とするパケット中継装置。
【請求項７】
一つ以上の入力回線及び一つ以上の出力回線と接続され、パケットを受信し、当該パケットを他の装置に転送するパケット中継装置におけるパケット中継方法であって、
前記パケット中継装置は、パケット受信部と、自装置発パケットを生成するパケット生成部と、前記パケットに対するフロー制御の内容を決定し、前記パケットを出力する出力回路を検索するパケット検索部と、検索用メモリと、を有し、
前記方法は、
前記パケット受信部が、受信した前記パケットが前記自装置発パケットであるか否かを判定する第１のステップと、
前記パケット受信部が、前記判定の結果を示す自発フラグ及び前記受信したパケットのヘッダ情報を前記パケット検索部に出力する第２のステップと、
前記パケット検索部が、前記自発フラグ及び前記ヘッダ情報に基づいて前記検索用メモリを参照することによって、前記受信したパケットに対するフロー制御の内容を決定する第３のステップと、を含むことを特徴とするパケット中継方法。
【請求項８】
請求項７に記載のパケット中継方法であって、
前記パケット検索部は、フロー検索部と、経路検索部とを含み、
前記検索用メモリは、フロー検索用のメモリと、経路検索用のメモリとを含み、
前記フロー検索用のメモリは、一つ以上のビットから構成され、前記パケットに対応するフローを特定するための情報を含むエントリを一つ以上格納し、
前記エントリは、前記自発フラグに関するビットを含み、
前記第２のステップは、前記フロー検索部が、前記自発フラグ及び前記ヘッダ情報に基づいて、第１の検索キーを生成するステップを含み、
前記第３のステップは、
前記フロー検索部が、前記フロー検索用のメモリから前記第１の検索キーと一致するエントリを検索することによって、前記受信したパケットに対応するフローを特定するステップと、
前記フロー検索部が、前記検索されたエントリから前記パケットに対するフロー制御の内容を特定するためのアドレスを取得するステップと、
前記フロー検索部が、前記取得したアドレスに基づいて、前記フロー検索用のメモリから前記パケットに対するフロー制御の内容を示す情報を取得するステップと、を含み、
前記方法は、さらに、
前記経路検索部が、前記ヘッダ情報に基づいて前記経路検索用のメモリを参照することによって、前記パケットを出力する出力回線を特定するステップを含むことを特徴とするパケット中継方法。
【請求項９】
請求項８に記載のパケット中継方法であって、
前記パケット検索部が、新規のフロー制御の追加指示を受け付けた場合、前記新規のフロー制御の追加指示に基づいて、前記フロー検索用のメモリを検索するための第２の検索キーを生成するステップと、
前記パケット検索部が、前記生成された第２の検索キーに基づいて、前記フロー検索用のメモリに重複するエントリが設定されているか否かを判定するステップと、
前記パケット検索部が、前記フロー検索用のメモリに重複するエントリが設定されていると判定された場合、前記フロー検索用のメモリに重複するエントリが設定される旨を通知するための警告メッセージを生成するステップと、
前記パケット検索部が、前記生成された警告メッセージを出力するステップと、を含むことを特徴とするパケット中継方法。
【請求項１０】
請求項８に記載のパケット中継方法であって、
前記フロー検索部が、前記自装置発パケット以外のパケットに対するフロー制御の内容の追加指示を受け付けた場合、前記自発フラグに前記自装置発パケット以外のパケットを示す情報が設定されたエントリを前記フロー検索用のメモリに追加するステップを含むことを特徴とするパケット中継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケットを受信し、受信したパケットを他の装置に転送するパケット中継装置に関する。
【背景技術】
【０００２】
従来のパケット中継装置では、ＡＣＬ（Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ｌｉｓｔ）を適用したフロー制御を行っている。従来技術として、ＣＡＭ（Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｅ  ｍｅｍｏｒｙ）を用いたＡＣＬ適用のフロー制御の実現方法が知られている（例えば、特許文献１参照）。
【０００３】
特許文献１には、ＣＡＭが、送信元ＩＰアドレス等のＩＰパケットヘッダの情報に基づいて、フローエントリを特定することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２３１８９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一般的に、パケット中継装置自身から出力されるパケットは、ネットワーク制御に関する情報を含むものが多いため、他のパケットと区別して扱う必要がある。以下の説明では、パケット中継装置自身から出力されるパケットを自装置発パケットとも記載する。
【０００６】
しかし、自装置発パケットを転送するパスとしてＨＷ転送パスと同一パスが割り当てられるアーキテクチャでは、ＡＣＬの送信元ＩＰアドレス（ＳＩＰ）が「ｄ．ｃ．」と設定された場合、自装置発パケットと、その他のパケットとを区別できない。ここで、「ｄ．ｃ．」は、特定の情報（ビット）を気にしないことを示す「ｄｏｎ’ｔ  ｃａｒｅ」に対応する。
【０００７】
上記課題を解決するために、ＡＣＬにパケット中継装置のＩＰアドレスをＳＩＰとして設定することによって、自装置発パケットを識別することが可能となる。しかし、悪意のある攻撃者から、ＳＩＰが偽装されたパケットが送信された場合、パケット中継装置は、当該偽装パケットを識別できないという問題がある。
【０００８】
また、ＡＣＬのフィルタ制御を設定するＣＡＭのエントリにおいて、自装置発パケットのみを通過させる場合、自装置発パケットを除外するためには多数のエントリを設定する必要があるという問題がある。例えば、ＩＰアドレス「０」から「７」の中から、パケット中継装置のＩＰアドレス「５」を除外しようとすると、「０ｘｘ」、「１００」、及び「１１ｘ」の三つのエントリが必要となる。なお、「ｘ」は「ｄｏｎ’ｔ  ｃａｒｅ」を示す。
【０００９】
本発明は、上記問題を解決するためになされた発明である。
【課題を解決するための手段】
【００１０】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、一つ以上の入力回線及び一つ以上の出力回線と接続され、パケットを受信し、当該パケットを他の装置に転送するパケット中継装置であって、前記パケット中継装置は、前記パケットを受信するパケット受信部と、前記出力回線からパケットを送信するパケット送信部と、所定の操作を指示するパケットである自装置発パケットを生成し、前記パケット受信部に出力するパケット生成部と、受信した前記パケットに対するフロー制御の内容を決定し、前記受信したパケットを出力する出力回路を検索するパケット検索部と、前記フロー制御の内容及び前記パケットを出力する出力回路を特定するための情報を格納する検索用メモリと、前記受信したパケットのスイッチング処理を実行するパケット中継処理部と、を有し、前記パケット受信部は、前記受信したパケットが前記自装置発パケットであるか否かを判定し、前記判定の結果を示す自発フラグ及び前記受信したパケットのヘッダ情報を前記パケット検索部に出力し、前記パケット検索部は、前記自発フラグ及び前記ヘッダ情報に基づいて前記検索用メモリを参照することによって、前記受信したパケットに対するフロー制御の内容を決定することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、自発フラグに基づいて、自装置発パケットとそれ以外のパケットとを区別することができ、それぞれのパケットに対してフロー制御を適用することができる。
【００１２】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施例のパケット中継装置の構成を説明するブロック図である。
【図２】本発明の実施例におけるフロー検索ＣＡＭに格納されるフローエントリの一例を示す説明図である。
【図３Ａ】本発明の実施例におけるフロー検索ＲＡＭの一例を示す説明図である。
【図３Ｂ】本発明の実施例におけるフロー検索ＲＡＭの一例を示す説明図である。
【図４】本発明の実施例におけるパケット中継装置が扱うデータの一例を示す説明図である。
【図５】本発明の実施例におけるパケットの受信処理の一部を説明するフローチャートである。
【図６】本発明の実施例におけるフローエントリの追加処理の一例を説明するフローチャートである。
【図７】本発明の実施例における新規追加予定のフローエントリの一例を示す説明図である。
【図８】本発明の実施例におけるフロー検索ＣＡＭに対するエントリの追加例を示す説明図である。
【図９】本発明の実施例におけるフロー検索ＲＡＭに対するエントリの追加例を示す説明図である。
【発明を実施するための形態】
【００１４】
以下、図面を用いて実施例について説明する。
【実施例１】
【００１５】
図１は、本発明の実施例のパケット中継装置１０００の構成を説明するブロック図である。
【００１６】
パケット中継装置１０００は、入力されたパケットを、当該パケットのヘッダ情報に基づいて他の装置に転送する。本実施例のパケット中継装置１０００は、一つ以上の入力回線１００１、一つ以上の出力回線１００２、及び管理端末１００３と接続される。
【００１７】
入力回線１００１は、他の装置からパケットが入力される通信回線であり、出力回線１００２は、他の装置へのパケットが出力される通信回線である。管理端末１００３は、パケット中継装置１０００に対する各種設定を行うための計算機である。
【００１８】
パケット中継装置１０００は、パケット受信回路１１００、制御用プロセッサ１２００、プロセッサ送信パケット生成部１３００、受信側パケット検索部１４００、レジスタ１５００、パケット中継処理部１６００、送信側パケット検索部１７００、及びパケット送信回路１８００を備える。
【００１９】
制御用プロセッサ１２００は、パケット中継装置１０００全体を制御する演算装置である。具体的には、制御用プロセッサ１２００は、パケットの生成を指示し、レジスタ１５００に格納された設定情報に基づいて、フロー検索ＣＡＭ１４４０、及びフロー検索ＲＡＭ１４５０等に対する設定を指示する。
【００２０】
プロセッサ送信パケット生成部１３００は、制御用プロセッサ１２００からのパケットの生成指示に基づいて、パケット中継装置１０００を制御するためのパケット等を生成する。
【００２１】
パケット受信回路１１００は、パケットの受信処理を実行する回路である。パケット受信回路１１００には、一つ以上の入力回線１００１が接続される。また、本実施例のパケット受信回路１１００は、自発パケット判定部１１１０を備える。自発パケット判定部１１１０は、受信したパケットが自装置発パケットであるか否かを判定する。
【００２２】
パケット受信回路１１００は、受信側パケット検索部１４００のフロー検索キー生成部１４１１及び経路検索部１４３０に、自発パケット判定部１１１０の判定結果を含む装置内情報、及び受信したパケットのパケットヘッダ情報を出力する。また、パケット受信回路１１００は、受信側パケット検索部１４００から出力された処理結果とともに、受信したパケットをパケット中継処理部１６００に出力する。
【００２３】
受信側パケット検索部１４００は、パケットに関する受信側の判定処理を実行する。例えば、受信側パケット検索部１４００は、受信したパケットに対するフィルタ処理又はＱｏＳ処理等のフロー制御を実行する。受信側パケット検索部１４００は、フロー検索部１４１０、フロー統計採取部１４２０、及び経路検索部１４３０を備える。また、受信側パケット検索部１４００には、フロー検索ＣＡＭ１４４０及びフロー検索ＲＡＭ１４５０が接続される。
【００２４】
フロー検索部１４１０は、パケットに対応するフローを特定し、当該フローに対するフロー制御に必要な情報を検索し、また、フロー制御の内容を決定する。フロー検索部１４１０は、フロー検索キー生成部１４１１、アドレス生成部１４１２、及びアクション判定部１４１３を含む。
【００２５】
フロー検索キー生成部１４１１は、パケット受信回路１１００から入力された情報に基づいて、フロー検索ＣＡＭ１４４０がフローエントリを検索するためのフロー検索キーを生成する。また、フロー検索キー生成部１４１１は、生成されたフロー検索キーをフロー検索ＣＡＭ１４４０に出力する。
【００２６】
フロー検索ＣＡＭ１４４０は、フロー検索キー生成部１４１１から出力されたフロー検索キーに一致するフローエントリを検索し、検索されたフローエントリのアドレスをアドレス生成部１４１２に出力する。本実施例では、フロー検索ＣＡＭ１４４０は、「０」、「１」、及び「ｄ．ｃ．」が設定可能な３値ＣＡＭ（Ｔｅｒｎａｒｙ  ＣＡＭ）を用いるものとする。
【００２７】
アドレス生成部１４１２は、フロー検索ＣＡＭ１４４０から出力されたアドレスに基づいて、検索されたフローエントリに対応するフロー検索ＲＡＭ１４５０のＲＡＭエントリのアドレスを生成する。また、アドレス生成部１４１２は、生成されたアドレスをフロー検索ＲＡＭ１４５０に出力する。
【００２８】
フロー検索ＲＡＭ１４５０は、アドレス生成部１４１２から出力されたアドレスに基づいて、当該アドレスに一致するＲＡＭエントリを検索する。フロー検索ＲＡＭ１４５０は、検索されたＲＡＭエントリのフロー制御の内容をアクション判定部１４１３に出力する。
【００２９】
アクション判定部１４１３は、フロー検索ＲＡＭ１４５０から出力されたフロー制御の内容をフロー統計採取部１４２０に出力する。また、アクション判定部１４１３は、フロー制御の内容を一時的に保持する。
【００３０】
フロー統計採取部１４２０は、受信側のパケットに対するフロー制御に関する統計情報を取得する。具体的には、フロー統計採取部１４２０は、フロー制御の内容、及びパケットヘッダ情報に基づいて、フロー毎に、パケット数、バイト数等の統計情報を取得する。フロー統計採取部１４２０は、取得された統計情報をメモリ（図示省略）に格納する。
【００３１】
経路検索部１４３０は、パケット受信回路１１００から出力されたパケットヘッダ情報に基づいて、経路検索用のメモリ（図示省略）を参照し、パケットを出力するための出力回線１００２を特定する。
【００３２】
受信側パケット検索部１４００は、フロー制御の内容、出力回線１００２の情報、及びフローの統計情報等の処理結果をパケット受信回路１１００に出力する。
【００３３】
パケット中継処理部１６００は、出力回線１００２の情報に基づいて、所定のスイッチングを行い、パケット本体、パケットヘッダ情報、及び出力回線１００２等の情報をパケット送信回路１８００に出力する。
【００３４】
パケット送信回路１８００は、スイッチングされたパケットを一時的に蓄積する送信バッファ（図示省略）を備え、パケットの送信処理を実行する。また、パケット送信回路１８００は、送信側パケット検索部１７００のフロー検索部１７１０及び経路検索部１７３０に、パケットヘッダ情報等を出力する。
【００３５】
送信側パケット検索部１７００は、パケットに関する送信側の判定処理を実行する。なお、送信側パケット検索部１７００は、受信側パケット検索部１４００と同様の処理を実行する。送信側パケット検索部１７００は、フロー検索部１７１０、フロー統計採取部１７２０、及び経路検索部１７３０を備える。また、送信側パケット検索部１７００には、フロー検索ＣＡＭ１７４０及びフロー検索ＲＡＭ１７５０が接続される。
【００３６】
なお、フロー検索部１７１０、フロー統計採取部１７２０、及び経路検索部１７３０、フロー検索ＣＡＭ１７４０、及びフロー検索ＲＡＭ１７５０は、フロー検索部１４１０、フロー統計採取部１４２０、及び経路検索部１４３０、フロー検索ＣＡＭ１４４０、及びフロー検索ＲＡＭ１４５０と同様のものであるため説明を省略する。
【００３７】
送信側パケット検索部１７００は、処理結果をパケット送信回路１８００に出力する。
【００３８】
レジスタ１５００は、管理端末１００３から出力された各種設定情報を格納する。レジスタ１５００に格納される各種設定情報は、制御用プロセッサ１２００、フロー検索部１４１０、フロー統計採取部１４２０、経路検索部１４３０、フロー検索部１７１０、フロー統計採取部１７２０、及び経路検索部１７３０に出力される。
【００３９】
フロー検索部１４１０、フロー統計採取部１４２０、経路検索部１４３０、フロー検索部１７１０、フロー統計採取部１７２０、経路検索部１７３０は、それぞれ、設定情報に基づいて、メモリに格納される情報等を更新する。例えば、フロー検索部１４１０は、フロー検索ＣＡＭ１４４０若しくはフロー検索ＲＡＭ１４５０にエントリを追加し、又は、フロー検索ＣＡＭ１４４０若しくはフロー検索ＲＡＭ１４５０からエントリを削除等する。
【００４０】
次に、パケット中継装置１０００が処理する情報、及び格納する情報等について説明する。
【００４１】
図２は、本発明の実施例におけるフロー検索ＣＡＭ１４４０に格納されるフローエントリの一例を示す説明図である。
【００４２】
フロー検索ＣＡＭ１４４０には、エントリデータ２００及びエントリマスク２１０から構成されるフローエントリ２２０が一つ以上格納される。図２では、二つのフローエントリ２２０−１、２２０−２の一例を示している。
【００４３】
エントリデータ２００は、パケットに対応するフローを特定するための情報の値を格納する。具体的には、エントリデータ２００は、一つ以上のビットから構成される情報を複数含む。
【００４４】
本実施例では、エントリデータ２００の情報に「自発フラグ」が含まれる点に特徴がある。「自発フラグ」には、パケットが自装置発パケットであるか否かを識別するためのビットが格納される。本実施例では、「自発フラグ」のビットが「０」の場合、自装置発パケット以外のパケットであることを示し、「自発フラグ」のビットが「１」の場合、自装置発パケットであることを示す。
【００４５】
なお、出力回線、送信元ＭＡＣアドレス、宛先ポート番号、及び自発フラグ等の各情報を構成するビットには、「０」、「１」、又は「ｄ．ｃ．」のいずれかが格納される。
【００４６】
エントリマスク２１０は、フローエントリの検索時に参照される情報を特定するためのビットを格納する。
【００４７】
具体的には、エントリマスク２１０のうち、「１」が設定される情報は、当該情報に対応するエントリデータ２００の値が参照されないことを示す。すなわち、「１」が設定された情報は、フローエントリの検索時にマスクされる。この場合、エントリデータ２００の当該情報の値は「ｄ．ｃ．」となる。また、エントリマスク２１０のうち、「０」が設定される情報は、当該情報に対応するエントリデータの２００の値が参照されることを示す。
【００４８】
以下の説明では、情報を構成するビット全てをマスクすることをグローバルマスクと記載する。なお、情報を構成する個々のビット毎をマスクするローカルマスクを用いてもよい。例えば、「０ｘｘ」又は「１１ｘ」は、ローカルマスクに対応する。
【００４９】
図３Ａ及び図３Ｂは、本発明の実施例におけるフロー検索ＲＡＭ１４５０の一例を示す説明図である。
【００５０】
図３Ａは、フィルタ処理に用いられるフロー検索ＲＡＭ１４５０の一例を示す。図３Ｂは、ＱｏＳ処理に用いられるフロー検索ＲＡＭ１４５０の一例を示す。
【００５１】
フロー検索ＲＡＭ１４５０には、ＲＡＭエントリが一つ以上格納される。ＲＡＭエントリは、フローエントリ２２０と一対一に対応し、複数の情報から構成される。
【００５２】
図３Ａのフロー検索ＲＡＭ１４５０の場合、フローエントリ２２０−１はＲＡＭエントリ３００−１と対応づけられ、フローエントリ２２０−２はＲＡＭエントリ３００−２と対応づけられる。図３Ｂのフロー検索ＲＡＭ１４５０の場合、フローエントリ２２０−１はＲＡＭエントリ３１０−１と対応づけられ、フローエントリ２２０−２はＲＡＭエントリ３１０−２と対応づけられる。
【００５３】
なお、フロー検索ＲＡＭ１４５０には、フィルタ処理のためのＲＡＭエントリとＱｏＳ処理のためのＲＡＭエントリとが混在してもよい。
【００５４】
図４は、本発明の実施例におけるパケット中継装置１０００が扱うデータ４００の一例を示す説明図である。
【００５５】
図４に示すデータ４００は、パケットヘッダ情報４１０及び装置内情報４２０から構成される。
【００５６】
パケットヘッダ情報４１０は、各Ｌａｙｅｒの情報を格納する。例えば、Ｌａｙｅｒ２情報には、宛先ＭＡＣアドレス、送信元ＭＡＣアドレス、及びＥｔｈｅｒ  Ｔｙｐｅが含まれ、Ｌａｙｅｒ３情報にはＶｅｒｓｉｏｎ、送信元ＩＰアドレス、及び受信元ＩＰアドレス等が含まれる。
【００５７】
なお、Ｅｔｈｅｒ  Ｔｙｐｅは、パケットの転送時に用いられる通信プロトコルの種類を示す。また、自装置発パケットに用いられる通信プロトコルとしては、ＬＡＣＰ（Ｌｉｎｋ  Ａｇｇｒｅｇａｔｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）、ＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）、ＯＳＰＦ（Ｏｐｅｎ  Ｓｈｏｒｔｅｓｔ  Ｐａｔｈ  Ｆｉｒｓｔ）、又はＲＩＰ（Ｒｏｕｔｉｎｇ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）等が考えられる。自発フラグとＥｔｈｅｒ  Ｔｙｐｅとを組み合わせることによって、自装置発パケットをより詳細に制御することが可能となる。
【００５８】
なお、各Ｌａｙｅｒに含まれる情報は、公知のものであるため詳細な説明は省略する。
【００５９】
装置内情報４２０は、パケット中継装置１０００内で付与される情報である。装置内情報４２０には、入力回線、自発フラグ、シーケンス番号、その他装置内情報が含まれる。本発明では、装置内情報４２０に自発フラグが含まれる点に特徴がある。
【００６０】
なお、パケットヘッダ情報４１０及び装置内情報４２０は別々の情報として扱われてもよい。
【００６１】
図５は、本発明の実施例におけるパケットの受信処理の一部を説明するフローチャートである。
【００６２】
パケット中継装置１０００のパケット受信回路１１００は、パケットを受信すると（ステップＳ５００）、パケットの受信処理を開始する。なお、パケット受信回路１１００は、入力回線１００１又はプロセッサ送信パケット生成部１３００からパケットを受信する。
【００６３】
パケット受信回路１１００の自発パケット判定部１１１０は、受信したパケットがプロセッサ送信パケット生成部１３００から受信したパケットであるか否かを判定する（ステップＳ５０１）。すなわち、受信したパケットが自装置発パケットであるか否かが判定される。
【００６４】
自発パケット判定部１１１０は、例えば、パケットを受信したポートの識別番号等に基づいて、受信したパケットが自装置発パケットであるか否かを判定する。なお、本発明は自装置発パケットの判定方法に限定されず、他の判定方法を用いてもよい。
【００６５】
受信したパケットがプロセッサ送信パケット生成部１３００から受信したパケットであると判定された場合、自発パケット判定部１１１０は、自発フラグを「１」に設定し（ステップＳ５０２）、その後、ステップＳ５０４に進む。
【００６６】
受信したパケットがプロセッサ送信パケット生成部１３００から受信したパケットでないと判定された場合、自発パケット判定部１１１０は、自発フラグを「０」に設定し（ステップＳ５０３）、その後、ステップＳ５０４に進む。
【００６７】
パケット受信回路１１００は、自発フラグが設定された後、受信したパケットからパケットヘッダ情報４１０を取得し、また、設定された自発フラグ等の装置内情報４２０を取得し、取得されたパケットヘッダ情報４１０及び装置内情報４２０をフロー検索キー生成部１４１１に入力する（ステップＳ５０４）。このとき、パケット受信回路１１００は、経路検索部１４３０にも、取得されたパケットヘッダ情報４１０を入力する。
【００６８】
フロー検索キー生成部１４１１は、パケットヘッダ情報４１０及び装置内情報４２０を用いてフロー検索キーを生成し、生成されたフロー検索キーをフロー検索ＣＡＭ１４４０に入力する（ステップＳ５０５）。
【００６９】
フロー検索キーの生成方法は公知の技術を用いればよいため詳細な説明を省略するが、例えば、一つ以上のビットから構成される複数の情報を含むフロー検索キーが生成される。なお、本実施例では、フロー検索キーに自発フラグのビットが含まれる点に特徴がある。
【００７０】
フロー検索ＣＡＭ１４４０は、入力されたフロー検索キーに一致するフローエントリ２２０フローを検索する（ステップＳ５０６）。すなわち、受信したパケットに対応するフローが特定される。
【００７１】
具体的には、フロー検索ＣＡＭ１４４０は、エントリデータ２００の値が「ｄ．ｃ．」である情報は参照せず、それ以外の情報の値を比較することによって、フロー検索キーに一致するフローエントリ２２０を検索する。なお、フロー検索キーに基づく、フローエントリ２２０の検索方法は公知の技術を用いればよいため詳細な説明を省略する。
【００７２】
フロー検索ＣＡＭ１４４０は、検索されたフローエントリ２２０のアドレスをフローの検索結果として、アドレス生成部１４１２に入力し（ステップＳ５０７）、処理を終了する。
【００７３】
ステップＳ５０７の処理が実行された後、パケット中継装置１０００は、以下のような処理が実行される。
【００７４】
アドレス生成部１４１２は、検索されたフローエントリ２２０のアドレスに基づいて、フロー検索ＲＡＭ１４５０を参照するためのアドレスを生成し、生成されたアドレスをフロー検索ＲＡＭ１４５０に入力する。
【００７５】
フロー検索ＲＡＭ１４５０は、入力されたアドレスに基づいて、ＲＡＭエントリを検索し、検索されたＲＡＭエントリに格納されるフロー制御の内容をパケット受信回路１１００及びフロー統計採取部１４２０に出力する。
【００７６】
以上の処理によって、受信したパケットに対するフロー制御の内容が決定される。
【００７７】
なお、フロー統計採取部１４２０、経路検索部１４３０、パケット中継処理部１６００、送信側パケット検索部１７００が実行する処理は公知のものと同様の処理であるため説明を省略する。
【００７８】
図６は、本発明の実施例におけるフローエントリの追加処理の一例を説明するフローチャートである。
【００７９】
パケット中継装置１０００は、管理端末１００３からフローエントリの追加指示を受け付けると（ステップＳ６００）、レジスタ１５００を経由して、制御用プロセッサ１２００にチェック用フロー検索パケット生成を指示する（ステップＳ６０１）。なお、フローエントリの追加指示には、自装置発パケットに適用する旨の自発条件、又は自装置発パケットを除外する旨の非自発条件のいずれかが含まれる。また、フローエントリの追加指示には、フローエントリの各種設定情報の値が含まれる。
【００８０】
制御用プロセッサ１２００は、フロー検索キー生成部１４１１にチェック用フロー検索キーの生成を指示する（ステップＳ６０２）。
【００８１】
フロー検索キー生成部１４１１は、チェック用フロー検索キーを生成し（ステップＳ６０３）、生成されたチェック用フロー検索キーが含まれる検索指示をフロー検索ＣＡＭ１４４０に入力する（ステップＳ６０４）。ここで、チェック用フロー検索キーは、以下のよう生成される。
【００８２】
フローエントリの追加指示に含まれる各情報のうち、「ｄ．ｃ．」が設定される情報の場合、フロー検索キー生成部１４１１は、当該情報に対応するビットをマスクする。すなわち、フロー検索キー生成部１４１１は、検索キーにおける当該情報をグローバルマスクとして設定する。また、「０」又は「１」が設定される情報の場合、フロー検索キー生成部１４１１は、設定された値を当該情報のビットとして設定する。
【００８３】
次に、フロー検索ＣＡＭ１４４０は、チェック用フロー検索キーに基づいて、フローエントリを検索し、一致するフローエントリが存在するか否かを判定する（ステップＳ６０５）。
【００８４】
一致するフローエントリが存在する場合、フロー検索ＣＡＭ１４４０は、フロー検索部１４１０を経由して、その旨を制御用プロセッサ１２００に通知する。
【００８５】
一致するフローエントリが存在すると判定された場合、制御用プロセッサ１２００は、管理端末に１００３に、警告メッセージを通知する（ステップＳ６０６）。具体的には、制御用プロセッサ１２００は、重複するフローエントリがすでに存在する旨を通知する警告メッセージを生成し、生成された警告メッセージを管理端末１００３に送信する。
【００８６】
パケット中継装置１０００は、警告メッセージを通知した後、管理端末１００３を操作するユーザの応答を待つ。
【００８７】
パケット中継装置１０００は、管理端末１００３から警告メッセージに対する応答を受け付けた場合、フロー検索ＣＡＭ１４４０にフローエントリを追加するか否かを判定する（ステップＳ６０７）。すなわち、ユーザがフローエントリの追加を指示したか否かが判定される。
【００８８】
フロー検索ＣＡＭ１４４０にフローエントリを追加しないと判定された場合、パケット中継装置１０００は、フロー検索ＣＡＭ１４４０へのフローエントリの追加を中止し（ステップＳ６０８）、処理を終了する。
【００８９】
ステップＳ６０５において一致するフローエントリが存在しないと判定された場合、又は、ステップＳ６０７においてフロー検索ＣＡＭ１４４０にフローエントリを追加すると判定された場合、フロー検索部１４１０は、フローエントリの追加指示にしたがって、フロー検索ＣＡＭ１４４０へのフローエントリの追加処理を実行し（ステップＳ６０９）、処理を終了する。なお、フローエントリの追加処理は公知のものを用いればよいため詳細な説明は省略する。
【００９０】
なお、追加されたフローエントリに対応するＲＡＭエントリがフロー検索ＲＡＭ１４５０に追加されてもよい。
【００９１】
図７は、本発明の実施例における新規追加予定のフローエントリの一例を示す説明図である。
【００９２】
新規追加予定フローエントリ１（２２０−ｉ）のフローエントリの追加指示を受け付けた場合、フロー検索キー生成部１４１１は、新規追加予定フローエントリ１（２２０−ｉ）の全ての値を検索キーの値として、チェック用フロー検索キーを生成する。
【００９３】
この場合、新規追加予定フローエントリ１（２２０−ｉ）は、図２に示すフローエントリ２２０−１の「ｄ．ｃ．」が設定される送信元ＭＡＣアドレス及び自発フラグ以外の情報の値と一致するため、警告メッセージが通知される。
【００９４】
新規追加予定フローエントリ２（２２０−ｊ）のフローエントリの追加指示を受け付けた場合、フロー検索キー生成部１４１１は、新規追加予定フローエントリ２（２２０−ｊ）の全ての値を検索キーの値として、チェック用フロー検索キーを生成する。
【００９５】
この場合、新規追加予定フローエントリ２（２２０−ｊ）の出力回線の値は、フローエントリ２２０−１の出力回線の値と異なる。また、新規追加予定フローエントリ２（２２０−ｊ）の送信元ＭＡＣアドレスの値は、フローエントリ２２０−２の送信元ＭＡＣアドレスの値と異なる。したがって、新規追加予定フローエントリ２（２２０−ｊ）に対しては、警告メッセージは通知されない。
【００９６】
図８は、本発明の実施例におけるフロー検索ＣＡＭ１４４０に対するエントリの追加例を示す説明図である。図９は、本発明の実施例におけるフロー検索ＲＡＭ１４５０に対するエントリの追加例を示す説明図である。
【００９７】
管理者等が、管理端末１００３によって提供されるユーザインタフェースを用いて、「＃ｌｉｓｔ ｋ  ｑｏｓ  ｍａｃ  ａｎｙ  ａｎｙ  ａｃｔｉｏｎ  ｐｒｉｏｒｉｔｙ−ｃｌａｓｓ  ８  ｓｅｌｆ」と入力した場合、フロー検索ＣＡＭ１４４０には図８に示すようなフローエントリ２３０−ｋが追加され、フロー検索ＲＡＭ１４５０には図９に示すようなＲＡＭエントリ３１０−ｋが追加される。
【００９８】
ここで、「ｓｅｌｆ」は、自装置発パケットに適用することを示す文字列である。したがって、フローエントリ２３０−ｋの自発フラグには「１」が設定される。一方、「ｎｏｓｅｌｆ」の文字列は、自装置発パケット以外のパケットに適用することを示す文字列である。この場合、フローエントリの自発フラグには「０」が設定される。
【００９９】
本実施例によれば、自発フラグを設けることによって、以下のような効果がある。
【０１００】
第一に、パケット中継装置１０００は、自発フラグに基づいて自装置発パケットと他のパケットとを区別することができるという効果がある。
【０１０１】
従来、自装置発パケットと他のパケットを区別する場合、フロー検索ＣＡＭ１４４０には、パケット中継装置１０００のＩＰアドレスに関するフローエントリを追加する必要があった。
【０１０２】
ここで、送信元ＩＰアドレスが、自装置発パケット以外のパケットに対するフロー制御を設定する場合を例に、従来技術と本実施例における発明との差異について説明する。従来では、前述のようなフロー制御を実現するためには、フロー検索ＣＡＭ１４４０に、パケット中継装置１０００のＩＰアドレスを除外するためのフローエントリを二つ以上追加する必要があった。これは、フロー検索ＣＡＭ１４４０のフローエントリにはＩＰアドレスが含まれるためである。
【０１０３】
したがって、フローエントリの増加に伴って、フロー検索ＲＡＭ１４５０にも二つ以上のＲＡＭエントリを追加する必要がある。そのため、エントリ数の増大によるメモリ領域の非効率化、及び、設定の煩雑さが問題であった。また、エントリ数の増大によるＣＡＭの消費電力が増加するという問題があった。
【０１０４】
一方、本実施例の発明では、自発フラグが「０」のフローエントリを追加するだけでよい。したがって、エントリ数の増大を抑止し、及び設定の煩雑さを解消することが可能となる。また、エントリ数の増加を抑止することによって、ＣＡＭの消費電力を低減することが可能となる。さらに、ＩＰアドレス等に基づく設定が必要ないため、パケット中継装置１０００のＩＰアドレスが変更されても同一の設定を流用することができる。
【０１０５】
また、自装置発パケットに対するフロー制御を設定する場合には、自発フラグが「１」のフローエントリを追加すればよい。
【０１０６】
第二に、パケット中継装置１０００は、偽装パケットを特定することができる。従来、パケット中継装置１０００は、ｕＲＰＦ(ｕｎｉｃａｓｔ  ｒｅｖｅｒｓｅ  ｐａｔｈ  ｆｏｒｗａｒｄｉｎｇ）によって、偽装パケットを判別することができる。しかし、ｕＲＰＦによっても偽装パケットが破棄されなかった場合、本実施例のパケット中継装置１０００は、自発フラグに基づいて、偽装パケットを特定し、破棄することが可能となる。これは、自装置発パケットの場合には自発フラグの値に「１」が設定され、それ以外のパケットの場合には自発フラグの値に「０」が設定されるためである。
【０１０７】
第三に、新規フローエントリの追加時に、自発フラグをマスクし、他の情報の値が重複するフローエントリの有無を調査することによって、ユーザにフローエントリの重複及び誤り等を通知することができる。本実施例では、自発フラグを用いることによってＩＰアドレス等の値を「ｄ．ｃ．」に設定することができるため、重複するエントリ又は誤ったエントリを追加する可能性が高くなる。そのため、新規フローエントリの追加時に、図６に示すような処理を実行することによって、無駄なフローエントリ又は誤ったフローエントリの追加を抑止することが可能となる。
【０１０８】
実施例では、ハードウェアによる制御を用いた例について説明したが、その一部をソフトウェアによって実現することも可能である。
【０１０９】
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
【符号の説明】
【０１１０】
１０００  パケット中継装置
１００１  入力回線
１００２  出力回線
１００３  管理端末
１１００  パケット受信回路
１１１０  自発パケット判定部
１２００  制御用プロセッサ
１３００  プロセッサ送信パケット生成部
１４００  受信側パケット検索部
１４１０  フロー検索部
１４１１  フロー検索キー生成部
１４１２  アドレス生成部
１４１３  アクション判定部
１４２０  フロー統計採取部
１４３０  経路検索部
１４４０  フロー検索ＣＡＭ
１４５０  フロー検索ＲＡＭ
１５００  レジスタ
１６００  パケット中継処理部
１７００  送信側パケット検索部
１７１０  フロー検索部
１７２０  フロー統計採取部
１７３０  経路検索部
１７４０  フロー検索ＣＡＭ
１７５０  フロー検索ＲＡＭ
１８００  パケット送信回路
【図１】
2015035677.tif 000003
【図２】
2015035677.tif 000004
【図３Ａ】
2015035677.tif 000005
【図３Ｂ】
2015035677.tif 000006
【図４】
2015035677.tif 000007
【図５】
2015035677.tif 000008
【図６】
2015035677.tif 000009
【図７】
2015035677.tif 000010
【図８】
2015035677.tif 000011
【図９】
2015035677.tif 000012