(57)【特許請求の範囲】
【請求項１】
プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続されるネットワークインタフェースと、を有するパケット中継装置であって、
前記メモリは、解析の対象となるパケットの検出条件と、前記検出条件を満たすパケットが送信されるトンネルの識別子と、ルーティングテーブルと、を保持し、
前記プロセッサは、
受信したパケットがカプセル化されている場合、前記受信したパケットのカプセル化ヘッダに含まれる、前記受信したパケットが経由したトンネルの識別子を受信トンネル情報として前記メモリに保持して、前記受信したパケットから前記カプセル化ヘッダを削除し、
前記受信したパケットが前記検出条件を満たす場合、前記検出条件を満たすパケットが送信されるトンネルの識別子と、前記受信したパケットが経由したトンネルの識別子とを比較した結果に基づいて、前記受信したパケットを、前記検出条件を満たすパケットが送信されるトンネルを経由して送信するか否かを判定し、
前記検出条件を満たすパケットが送信されるトンネルの識別子と、前記受信トンネル情報として保持されたトンネルの識別子とが同一である場合、前記受信したパケットをカプセル化せずに前記ルーティングテーブルに従って送信し、
前記検出条件を満たすパケットが送信されるトンネルの識別子と、前記受信トンネル情報として保持されたトンネルの識別子とが同一でない場合、前記検出条件を満たすパケットが送信されるトンネルの識別子を含むカプセル化ヘッダを付加することによって前記受信したパケットをカプセル化して前記ルーティングテーブルに従って送信することを特徴とするパケット中継装置。
【請求項２】
プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続されるネットワークインタフェースと、を有するパケット中継装置であって、
前記メモリは、解析の対象となるパケットの検出条件と、前記検出条件を満たすパケットが送信されるトンネルの識別子と、ルーティングテーブルと、を保持し、
前記プロセッサは、
受信したパケットがカプセル化されている場合、前記受信したパケットのカプセル化ヘッダに含まれる、前記受信したパケットが経由したトンネルの識別子を受信トンネル情報として前記メモリに保持して、前記受信したパケットから前記カプセル化ヘッダを削除し、
前記受信したパケットが前記検出条件を満たす場合、前記検出条件を満たすパケットが送信されるトンネルの識別子と、前記受信したパケットが経由したトンネルの識別子とを比較した結果に基づいて、前記受信したパケットを、前記検出条件を満たすパケットが送信されるトンネルを経由して送信するか否かを判定し、
前記検出条件を満たすパケットが送信されるトンネルの識別子と、前記受信トンネル情報として保持されたトンネルの識別子とが同一でない場合、前記受信したパケットをカプセル化せずに前記ルーティングテーブルに従って送信し、
前記検出条件を満たすパケットが送信されるトンネルの識別子と、前記受信トンネル情報として保持されたトンネルの識別子とが同一である場合、前記検出条件を満たすパケットが送信されるトンネルの識別子を含むカプセル化ヘッダを付加することによって前記受信したパケットをカプセル化して前記ルーティングテーブルに従って送信することを特徴とするパケット中継装置。
【請求項３】
プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続されるネットワークインタフェースと、を有するパケット中継装置が実行するパケット中継方法であって、
前記メモリは、解析の対象となるパケットの検出条件と、前記検出条件を満たすパケットが送信されるトンネルの識別子と、ルーティングテーブルと、を保持し、
前記パケット中継方法は、
受信したパケットがカプセル化されている場合、前記プロセッサが、前記受信したパケットのカプセル化ヘッダに含まれる、前記受信したパケットが経由したトンネルの識別子を受信トンネル情報として前記メモリに保持して、前記受信したパケットから前記カプセル化ヘッダを削除する第１手順と、
前記プロセッサが、前記受信したパケットが前記検出条件を満たすか否かを判定する第２手順と、
前記受信したパケットが前記検出条件を満たす場合、前記プロセッサが、前記検出条件を満たすパケットが送信されるトンネルの識別子と、前記受信したパケットが経由したトンネルの識別子とを比較した結果に基づいて、前記受信したパケットを、前記検出条件を満たすパケットが送信されるトンネルを経由して送信するか否かを判定する第３手順と、を含み、
前記第３手順において、前記検出条件を満たすパケットが送信されるトンネルの識別子と、前記受信トンネル情報として保持されたトンネルの識別子とが同一である場合、前記プロセッサは、前記受信したパケットをカプセル化せずに前記ルーティングテーブルに従って送信し、
前記第３手順において、前記検出条件を満たすパケットが送信されるトンネルの識別子と、前記受信トンネル情報として保持されたトンネルの識別子とが同一でない場合、前記プロセッサは、前記検出条件を満たすパケットが送信されるトンネルの識別子を含むカプセル化ヘッダを付加することによって前記受信したパケットをカプセル化して前記ルーティングテーブルに従って送信することを特徴とするパケット中継方法。
【請求項４】
プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続されるネットワークインタフェースと、を有するパケット中継装置が実行するパケット中継方法であって、
前記メモリは、解析の対象となるパケットの検出条件と、前記検出条件を満たすパケットが送信されるトンネルの識別子と、ルーティングテーブルと、を保持し、
前記パケット中継方法は、
受信したパケットがカプセル化されている場合、前記プロセッサが、前記受信したパケットのカプセル化ヘッダに含まれる、前記受信したパケットが経由したトンネルの識別子を受信トンネル情報として前記メモリに保持して、前記受信したパケットから前記カプセル化ヘッダを削除する第１手順と、
前記プロセッサが、前記受信したパケットが前記検出条件を満たすか否かを判定する第２手順と、
前記受信したパケットが前記検出条件を満たす場合、前記プロセッサが、前記検出条件を満たすパケットが送信されるトンネルの識別子と、前記受信したパケットが経由したトンネルの識別子とを比較した結果に基づいて、前記受信したパケットを、前記検出条件を満たすパケットが送信されるトンネルを経由して送信するか否かを判定する第３手順と、を含み、
前記第３手順において、前記検出条件を満たすパケットが送信されるトンネルの識別子と、前記受信トンネル情報として保持されたトンネルの識別子とが同一でない場合、前記プロセッサは、前記受信したパケットをカプセル化せずに前記ルーティングテーブルに従って送信し、
前記第３手順において、前記検出条件を満たすパケットが送信されるトンネルの識別子と、前記受信トンネル情報として保持されたトンネルの識別子とが同一である場合、前記プロセッサは、前記検出条件を満たすパケットが送信されるトンネルの識別子を含むカプセル化ヘッダを付加することによって前記受信したパケットをカプセル化して前記ルーティングテーブルに従って送信することを特徴とするパケット中継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して接続されるパケット中継装置に関する。
【背景技術】
【０００２】
ユーザ端末のトラフィックを複製又は転送して、フィルタリング又は統計監視等を行う技術が知られている。例えば、特許文献１には、「アプリケーション識別システムは、フローを構成するパケットのデータ部分を識別するアプリケーション識別装置と、設定されたポリシに合致するフローをアプリケーション識別装置へ転送して、共用する複数のパケットヘッダ識別制御部を備える。アプリケーション識別装置は、フローの宛先に合致するポリシを当該フローに適用したならば宛先ポリシ適用済みタグを付与し、パケットヘッダ識別制御部は、フローを構成するパケットにタグが付与されていたならば、宛先ポリシ適用済みタグを削除して、フローをルーティングに基づき転送し、フローを構成するパケットにタグが付与されていなかったならば、フローが設定されたポリシに合致するか否かを判断し、設定されたポリシに合致するならばアプリケーション識別装置へ転送する。」と記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１６２６９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ユーザ端末のトラフィックのフィルタリング又は統計監視等を行うために、コアネットワークとユーザネットワークの境界に位置し、ユーザ端末を収容するパケット中継装置（いわゆるエッジルータ）が、ユーザ端末から受信した又はユーザ端末に送信するパケット又はパケットの複製をＤＰＩ（Ｄｅｅｐ  Ｐａｃｋｅｔ  Ｉｎｓｐｅｃｔｉｏｎ）装置に転送する方法が用いられる。この方法を実現するために、コアネットワークにエッジルータと同数のＤＰＩ装置を配置し、それぞれのエッジルータに一つずつＤＰＩ装置を接続してもよい。しかし、ＤＰＩ装置は高価であるため、コストの削減を目的として、ＤＰＩ装置をコアネットワーク内のデータセンタ拠点に配置し、そのＤＰＩ装置を収容するゲートウェイルータが複数のエッジルータとトンネル接続してコアネットワーク全体でＤＰＩ装置を共有する運用方法が提案されている。
【０００５】
特許文献１には、コアネットワーク全体でＤＰＩ装置を共有する運用方法の一例が記載されている。特許文献１によれば、送信元のユーザ端末を収容するエッジルータは、送信元のユーザ端末から受信したパケットが所定のポリシに合致する場合に、そのパケットをアプリケーション識別装置（ＤＰＩ装置に相当）に転送する。このとき、エッジルータは、当該パケットの送信元がポリシに合致する場合だけでなく、当該パケットの宛先がポリシに合致する場合にもアプリケーション識別装置に転送し、アプリケーション識別装置は宛先に対する解析が終わったときに宛先ポリシ適用済みタグを付与してエッジルータに返す。その後、エッジルータは、宛先のユーザ端末を収容するエッジルータにパケットを転送する。このパケットを受信したエッジルータは、受信したパケットから宛先ポリシ適用済みタグを削除して、再びアプリケーション識別装置に転送することなく宛先のユーザ端末に転送する。
【０００６】
一方、特許文献１とは別の一例として、送信元のユーザ端末を収容するエッジルータが、受信したパケットの送信元がポリシに合致する場合にそのパケットをコアネットワーク全体で共有するＤＰＩ装置に転送し、宛先のユーザ端末を収容するエッジルータが、受信したパケットの宛先がポリシに合致する場合にそのパケットを同じＤＰＩ装置に転送するという運用方法も考えられる。しかし、この場合、宛先のユーザ端末を収容するエッジルータは、受信したパケットがＤＰＩ装置から転送された（すなわち当該エッジルータから一度ＤＰＩ装置に転送され、ＤＰＩ装置による解析が終了して戻ってきた）ものであっても、そのパケットの宛先がポリシに合致する限り、再度ＤＰＩ装置に転送してしまうため、ここでループが発生する。
【課題を解決するための手段】
【０００７】
本発明の代表的な一例を示せば、プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続されるネットワークインタフェースと、を有するパケット中継装置であって、前記メモリは、解析の対象となるパケットの検出条件と、前記検出条件を満たすパケットが送信されるトンネルの識別子と、ルーティングテーブルと、を保持し、前記プロセッサは、受信したパケットがカプセル化されている場合、前記受信したパケットのカプセル化ヘッダに含まれる、前記受信したパケットが経由したトンネルの識別子を受信トンネル情報として前記メモリに保持して、前記受信したパケットから前記カプセル化ヘッダを削除し、前記受信したパケットが前記検出条件を満たす場合、前記検出条件を満たすパケットが送信されるトンネルの識別子と、前記受信したパケットが経由したトンネルの識別子とを比較した結果に基づいて、前記受信したパケットを、前記検出条件を満たすパケットが送信されるトンネルを経由して送信するか否かを判定し、前記検出条件を満たすパケットが送信されるトンネルの識別子と、前記受信トンネル情報として保持されたトンネルの識別子とが同一である場合、前記受信したパケットをカプセル化せずに前記ルーティングテーブルに従って送信し、前記検出条件を満たすパケットが送信されるトンネルの識別子と、前記受信トンネル情報として保持されたトンネルの識別子とが同一でない場合、前記検出条件を満たすパケットが送信されるトンネルの識別子を含むカプセル化ヘッダを付加することによって前記受信したパケットをカプセル化して前記ルーティングテーブルに従って送信することを特徴とする。
【発明の効果】
【０００８】
本願において開示される発明のうち代表的なものによって得られる効果を簡潔に説明すれば、下記の通りである。すなわち、例えばエッジルータがＤＰＩ装置からトンネルを経由して受信したパケットがＤＰＩ解析対象として再度ＤＰＩ装置にトンネルを経由して送信される状況において、ルーティングループの発生を防止可能なパケット中継装置を提供できる。
【０００９】
上記した以外の課題、及び構成は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施例１のネットワークシステムの構成図である。
【図２】本発明の実施例１のエッジルータの全体構成の説明図である。
【図３】本発明の実施例１のエッジルータのＤＰＩ解析パケット検出条件の説明図である。
【図４】本発明の実施例１のエッジルータの受信トンネル情報の説明図である。
【図５】本発明の実施例１のエッジルータのパケット受信時の処理のフローチャートである。
【図６】本発明の実施例２のネットワークシステムの構成図である。
【図７】本発明の実施例２のエッジルータの受信トンネル情報の説明図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施例について、図面を参照しながら詳細に説明する。なお、実質的に同一の箇所には同じ符号を付与し、説明を繰り返さないこととする。
【実施例１】
【００１２】
以下において、本発明の実施例１を図１〜図５を用いて説明する。
【００１３】
図１は、本発明の実施例１のネットワークシステムの構成図である。
【００１４】
本ネットワークシステムは、コアネットワーク２００とアクセスネットワークＡ２０１とアクセスネットワークＢ２０２とを含む。
【００１５】
コアネットワーク２００は、エッジルータＡ１０１、エッジルータＢ１０２、ＤＰＩゲートウェイルータ２０３、及びＤＰＩ装置２０４を有する。以下では、エッジルータＡ１０１及びエッジルータＢ１０２を総称する場合には、エッジルータ１００と記載する。
【００１６】
アクセスネットワークＡ２０１は、エッジルータＡ１０１が収容するネットワークであり、情報処理端末であるユーザＡ２０５及びユーザＢ２０６を有する。
【００１７】
アクセスネットワークＢ２０２は、エッジルータＢ１０２が収容するネットワークであり、情報処理端末であるユーザＣ２０７を有する。以下では、アクセスネットワークＡ２０１及びアクセスネットワークＢ２０２を総称する場合には、アクセスネットワーク２０１と記載する。
【００１８】
ＤＰＩ装置２０４は、回線２０８及び回線２０９を介してＤＰＩゲートウェイルータ２０３に接続される。エッジルータ１００とＤＰＩゲートウェイルータ２０３は、コアネットワーク２００を介してトンネリングプロトコルによって接続される。エッジルータＡ１０１は、上りＡトンネル２１０、及び下りＡトンネル２１１を介してＤＰＩゲートウェイルータ２０３に接続される。エッジルータＢ１０２は、上りＢトンネル２１２、及び下りＢトンネル２１３を介してＤＰＩゲートウェイルータ２０３に接続される。エッジルータＢ１０２は、回線２１４を介してエッジルータＡ１０１に接続される。エッジルータＡ１０１とエッジルータＢ１０２は、直接接続されなくてもよく、例えば、スイッチ又はルータを介して接続してもよい。ユーザＡ２０５とユーザＢ２０６はエッジルータＡ１０１に接続される。ユーザＣ２０７はエッジルータＢ１０２に接続される。以下では、ユーザＡ２０５〜ユーザＣ２０７を総称する場合には、ユーザと記載する。
【００１９】
各装置について説明する。
【００２０】
まず、ＤＰＩ装置２０４について説明する。ＤＰＩ装置２０４は、ユーザの送受信するパケットのペイロード部を解析する。ＤＰＩ装置２０４は、ＤＰＩ装置２０４に設定されたフィルタやＱｏＳ情報を適用して、ユーザが送受信するパケットの統計情報を取得する。ＤＰＩ装置２０４は、２種類のインタフェースを持つ。ＤＰＩゲートウェイルータ２０３と回線２０８で接続されるインタフェースは、エッジルータ１００がユーザからパケットを受信する方向のパケットを受信する際に使用される。ＤＰＩゲートウェイルータ２０３と回線２０９で接続されるインタフェースは、エッジルータ１００がユーザにパケットを中継する方向のパケットを受信する際に使用される。
【００２１】
解析するパケットの送信元と宛先がともにＤＰＩ解析対象である場合は、ＤＰＩ装置２０４へのパケット中継を２回実施する必要がある。１回目はエッジルータがユーザからパケットを受信した時で、２回目はエッジルータがユーザにパケットを中継する時である。解析後のパケットは受信時と対となる反対のインタフェースから送信される。つまり、ＤＰＩ装置２０４は、回線２０８から受信したパケットは、解析後、回線２０９から送信し、回線２０９から受信したパケットは、解析後、回線２０８から送信される。
【００２２】
次に、ＤＰＩゲートウェイルータ２０３について説明する。ＤＰＩゲートウェイルータ２０３は、エッジルータ１００と、コアネットワーク２００を介してトンネリングプロトコルによって接続される。ＤＰＩゲートウェイルータ２０３とエッジルータとの間には、用途の異なる２つのトンネルが確立される。１つはエッジルータ１００がユーザからパケットを受信した時のＤＰＩ装置２０４への転送に使用され、もう１つはエッジルータ１００がユーザにパケットを中継する時のＤＰＩ装置２０４への転送に使用される。
【００２３】
図１の例において、上りＡトンネル２１０及び上りＢトンネル２１２は、エッジルータ１００がユーザからパケットを受信した時のＤＰＩ装置２０４への転送に使用される。以下では、上りＡトンネル２１０と上りＢトンネル２１２を総称する場合、上りトンネルと記載する。下りＡトンネル２１１及び下りＢトンネル２１３は、エッジルータ１００がユーザにパケットを中継する時のＤＰＩ装置２０４への転送に使用される。以下では、下りＡトンネル２１１と下りＢトンネル２１３を総称する場合、下りトンネルと記載する。
【００２４】
ＤＰＩゲートウェイルータ２０３は、上りトンネルから受信したパケットを回線２０８を経由してＤＰＩ装置２０４に中継する。ＤＰＩゲートウェイルータ２０３は、下りトンネルから受信したパケットを回線２０９を経由してＤＰＩ装置２０４に中継する。ＤＰＩ装置２０４から折り返されたパケットは、ＤＰＩゲートウェイルータ２０３がエッジルータ１００からパケットを受信した時と同じトンネルを介して送信する。
【００２５】
次に、ユーザについて説明する。ユーザが送受信するパケットは、ＤＰＩ装置２０４において、解析の対象となる。ユーザが送受信するパケットは、ユーザを収容するエッジルータ１００によってＤＰＩ装置２０４に転送される。
【００２６】
次に、エッジルータ１００について説明する。エッジルータ１００は、アクセスネットワークを収容し、コアネットワーク２００とアクセスネットワークの境界に位置する。エッジルータ１００は、コアネットワーク２００から受信したパケットに対して、パケットの宛先が、その宛先を収容するアクセスネットワークのＤＰＩ解析対象ユーザかを判定し、解析が必要なパケットは下りトンネルを経由してＤＰＩ装置２０４に転送する。エッジルータ１００は、アクセスネットワークから受信したパケットに対して、パケットの送信元が、その送信元を収容するアクセスネットワークのＤＰＩ解析対象ユーザかを判定し、解析が必要なパケットは下りトンネルを経由してＤＰＩ装置２０４に転送する。なお、エッジルータ１００の詳細は、図２で説明する。
【００２７】
図２は、本発明の実施例１のエッジルータ１００の全体構成の説明図である。
【００２８】
エッジルータ１００は、ハードウェア構成として、ＣＰＵ１２１、メモリ１２２、及びネットワークインタフェース１２３を有する。
【００２９】
ＣＰＵ１２１は、メモリ１２２上の各種プログラムを実行し、メモリ１２２上の各種情報を参照する。ネットワークインタフェース１２３は、アクセスＮＷ接続インタフェース１１７と、コアＮＷ接続インタフェース１１８とに分かれており、それぞれエッジルータ１００の外部とデータを通信するためのインタフェースである。アクセスＮＷ接続インタフェース１１７は、アクセスネットワーク内の装置と接続される。コアＮＷ接続インタフェース１１８は、コアネットワーク２００内の装置と接続される。
【００３０】
ＣＰＵ１２１上では、経路検索部１１１、パケット検出部１１２、及びトンネル制御部１１３が動作する。これらの機能は、対応するプログラムをＣＰＵ１２１が実行することによって実現される。
【００３１】
経路検索部１１１は、ルーティングテーブル１１４を参照し、受信したパケットに設定された宛先に応じて次の転送先を決定し、パケットをネットワークインタフェース１２３に転送する。
【００３２】
パケット検出部１１２は、受信したパケットに設定されている情報から、送信元、及び宛先のユーザを特定する。パケット検出部１１２は、ＤＰＩ解析パケット検出条件１１５、及び受信トンネル情報１１６を参照し、特定したユーザのパケットをＤＰＩ装置２０４に転送する必要があるかを判定する。必要がある場合は、パケットをカプセル化するために、パケットをトンネル制御部１１３に転送する。必要がない場合は、パケットに設定された宛先に転送するため、パケットを経路検索部１１１に転送する。
【００３３】
トンネル制御部１１３は、トンネリングプロトコルへのカプセル化、及びデカプセル化を行う。また、トンネル制御部１１３は、パケットをデカプセル化する際に、トンネリングプロトコルのヘッダに設定されたトンネルを識別する情報を受信トンネル情報１１６に設定する。デカプセル化後のパケットは、ＤＰＩ装置２０４への転送が必要か判定するために、パケット検出部１１２に転送される。カプセル化後のパケットは装置外部に送信するために、経路検索部１１１に転送される。
【００３４】
メモリ１２２には、ルーティングテーブル１１４、ＤＰＩ解析パケット検出条件１１５、及び、受信トンネル情報１１６が記憶される。
【００３５】
ルーティングテーブル１１４は、パケットをルーティングするために必要な情報であり、宛先ネットワーク及びネクストホップ情報から構成される。
【００３６】
ＤＰＩ解析パケット検出条件１１５は、エッジルータ１００が受信するパケットを解析のためにＤＰＩ装置２０４に転送する必要があるかどうかを判定するための条件である。ＤＰＩ解析パケット検出条件１１５の詳細は、図３を参照して説明する。
【００３７】
受信トンネル情報１１６は、デカプセル化時にトンネルを識別する情報を一時的に保持するための格納領域である。受信トンネル情報１１６は、図４を参照して説明する。
【００３８】
図３（ａ）、及び図３（ｂ）は、本発明の実施例１のエッジルータ１００のＤＰＩ解析パケット検出条件１１５の説明図である。
【００３９】
ＤＰＩ解析パケット検出条件１１５は、送信元３０１、宛先３０２、受信インタフェース３０３及び転送先トンネル３０４で構成される。送信元３０１は、受信したパケットに設定されたパケットの送信元を識別する情報で、例えば、ＩＰヘッダに設定されたＳｏｕｒｃｅ  Ａｄｄｒｅｓｓフィールドの値である。宛先３０２は、受信したパケットに設定されたパケットの宛先を識別する情報で、例えば、ＩＰヘッダに設定されたＤｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓフィールドの値である。受信インタフェース３０３は、エッジルータ１００がパケットを受信したインタフェースを識別する情報である。転送先トンネル３０４は、送信元３０１、宛先３０２、及び受信インタフェース３０３の全ての条件を満たした場合にパケットを転送するトンネルを識別する情報である。
【００４０】
トンネルは、トンネリングプロトコルでカプセル化する際のカプセル化ヘッダに設定される値で識別される。この値は、例えば、カプセル化後のＩＰヘッダに設定されたＳｏｕｒｃｅ  Ａｄｄｒｅｓｓフィールドの値、Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓフィールドの値、又は、トンネリングプロトコルにＶＸＬＡＮプロトコルを使用している場合は、ＶＸＬＡＮヘッダに設定されたＶＮＩフィールドの値などである。
【００４１】
ＤＰＩ解析パケット検出条件１１５に設定されるレコードは、管理者がエッジルータ１００に対してコンフィグレーションで設定してもよく、図示しない管理サーバによってネットワーク経由で設定されてもよい。あるいは、エッジルータ１００がＲＡ（Ｒｏｕｔｅｒ  Ａｄｖｅｒｔｉｓｅｍｅｎｔ）機能又はＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）サーバ機能を併せて有しているなら、ユーザに対してＩＰアドレスを払い出すタイミングでレコードを設定してもよい。
【００４２】
図４（ａ）、及び図４（ｂ）は、本発明の実施例１のエッジルータ１００の受信トンネル情報１１６の説明図である。
【００４３】
受信トンネル情報１１６は、トンネル識別子４０１で構成される。トンネル識別子４０１は、ＤＰＩ解析パケット検出条件１１５の転送先トンネル３０４と同じ形式で保持される情報である。トンネル識別子４０１は、トンネルを経由して受信したパケットのカプセル化ヘッダに設定された値が格納される。トンネル識別子４０１は、受信パケットをデカプセル化する際に設定される一時的な情報であり、パケットの転送処理が終了すると削除される。
【００４４】
図５は、本発明の実施例１のエッジルータ１００のパケット受信時の処理のフローチャートである。
【００４５】
パケット受信時の処理は、ネットワークインタフェース１２３が外部からのパケットを受信したタイミングでＣＰＵ１２１によって実行される（Ｓ５０１）。
【００４６】
まず、ネットワークインタフェース１２３は、受信したパケットとパケットを受信したインタフェースを識別する情報とをトンネル制御部１１３に転送する（Ｓ５０２）。
【００４７】
トンネル制御部１１３は、転送されたパケットを解析し、パケットがカプセル化されているか判定する（Ｓ５０３）。
【００４８】
Ｓ５０３の処理において、トンネル制御部１１３は、パケットがカプセル化されている場合は、カプセル化ヘッダに設定されたトンネルを識別する情報を受信トンネル情報１１６のトンネル識別子４０１に設定する（Ｓ５０４）。
【００４９】
トンネル制御部１１３は、受信したパケットをデカプセル化する（Ｓ５０５）。すなわち、受信したパケットからカプセル化ヘッダが削除される。
【００５０】
トンネル制御部１１３は、Ｓ５０３の処理においてパケットがカプセル化されていない場合、またはＳ５０５の処理でデカプセル化が行われた後、受信したインタフェースを識別する情報とともにパケットをパケット検出部１１２に転送する（Ｓ５０６）。
【００５１】
パケット検出部１１２は、転送されたパケットを解析し、送信元のユーザ、及び宛先のユーザを特定する。パケット検出部１１２は、ＤＰＩ解析パケット検出条件１１５を読み出し、特定した送信元のユーザと宛先のユーザ、及びパケットを受信したインタフェースを、ＤＰＩ解析パケット検出条件１１５に設定されたレコードの送信元３０１と宛先３０２、及び受信インタフェース３０３と照合し、条件に一致するレコードがあるかを判定する（Ｓ５０７）。
【００５２】
Ｓ５０７の処理において、条件に一致するレコードがある場合、パケット検出部１１２は、更に受信トンネル情報１１６を読み出し、条件に一致したレコードの転送先トンネル３０４と、受信トンネル情報１１６に設定されたトンネル識別子４０１を照合し、一致するかを判定する（Ｓ５０８）。
【００５３】
Ｓ５０８の処理において、転送先トンネル３０４とトンネル識別子４０１とが一致しないか、又は、トンネル識別子４０１に値が設定されていない場合、パケット検出部１１２は、条件に一致したレコードの転送先トンネル３０４で指定されるトンネルに送信するため、条件に一致したレコードの転送先トンネル３０４とともにパケットをトンネル制御部１１３に転送する（Ｓ５０９）。
【００５４】
トンネル制御部１１３は、転送されたパケットを、転送先トンネル３０４を用いてカプセル化する（Ｓ５１０）。すなわち、トンネル制御部１１３は、トンネルを識別する情報として転送先トンネル３０４の値を含むカプセル化ヘッダを、転送されたパケットに付加する。
【００５５】
パケット検出部１１２は、Ｓ５０７の処理において、条件に一致するレコードがない場合、または、Ｓ５１０の処理が行われた後、パケットに設定された宛先に転送するため、パケットを経路検索部１１１に転送する（Ｓ５１１）。
【００５６】
Ｓ５０８の処理において、転送先トンネル３０４とトンネル識別子４０１とが一致する場合、パケット検出部１１２は、Ｓ５０９及びＳ５１０を実行せずにＳ５１１を実行する。
【００５７】
経路検索部１１１は、ルーティングテーブル１１４を読み出し、パケットに設定された宛先から転送先を決定し、ネットワークインタフェース１２３を経由して、パケットを装置外部に送信する（Ｓ５１２）。
【００５８】
Ｓ５０１及びＳ５０２はネットワークインタフェース１２３による処理である。
【００５９】
Ｓ５０３〜Ｓ５０６及びＳ５１０はトンネル制御部１１３による処理である。
【００６０】
Ｓ５０７〜Ｓ５０９はパケット検出部１１２による処理である。
【００６１】
Ｓ５０７において不一致と判定された場合のＳ５１１はパケット検出部１１２による処理である。Ｓ５０７において一致と判定され、Ｓ５１０が実行された後のＳ５１１は、トンネル制御部１１３による処理である。
【００６２】
Ｓ５１２は経路検索部１１１による処理である。
【００６３】
図１における、ユーザが送信するパケットのＤＰＩ解析手順を具体的に説明する。
【００６４】
図３（ａ）は、エッジルータＡ１０１があらかじめ保持するＤＰＩ解析パケット検出条件１１５のレコードを示している。
【００６５】
図３（ｂ）は、エッジルータＢ１０２があらかじめ保持するＤＰＩ解析パケット検出条件１１５のレコードを示している。
【００６６】
図４（ａ）は、エッジルータＡ１０１の処理途中における受信トンネル情報１１６の状態を示している。
【００６７】
図４（ｂ）は、エッジルータＢ１０２の処理途中における受信トンネル情報１１６の状態を示している。
【００６８】
受信トンネル情報１１６が図４（ａ）、及び図４（ｂ）の状態になるタイミングは、以下の文中にて説明する。
【００６９】
図１のフローＦ１２１は、エッジルータＡ１０１に収容されるユーザＡ２０５が、同じくエッジルータＡ１０１に収容されるユーザＢ２０６にパケットを送信した場合の中継経路を示している。
【００７０】
ユーザＡ２０５が送信したパケットは、エッジルータＡ１０１のアクセスＮＷ接続インタフェース１１７によって受信される。エッジルータＡ１０１は、受信したパケットがカプセル化されていないため、デカプセル化しない（Ｓ５０３：ＮＯ）。エッジルータＡ１０１は、エッジルータＡ１０１が収容するユーザＡ２０５を送信元とするパケットをアクセスＮＷ接続インタフェース１１７から受け取ったため、このパケットは図３（ａ）に示すＤＰＩ解析パケット検出条件１１５の１つ目のレコードの条件と一致する（Ｓ５０７：一致）。また、転送先トンネル３０４が上りＡトンネル２１０に対して、受信トンネル情報１１６にトンネル識別子４０１が設定されていないため（Ｓ５０８：未設定）、エッジルータＡ１０１は、上りＡトンネル２１０宛にパケットをカプセル化する（Ｓ５１０）。エッジルータＡ１０１は、カプセル化したパケットを上りＡトンネル２１０を経由してＤＰＩゲートウェイルータ２０３に転送する（Ｓ５１２）。
【００７１】
ＤＰＩゲートウェイルータ２０３は、上りＡトンネル２１０から受信したパケットを、回線２０８を経由してＤＰＩ装置２０４に転送する。
【００７２】
ＤＰＩ装置２０４は、回線２０８を経由して受信したパケットに対して、ユーザからパケットを受信した時の解析を行い、回線２０９を経由してＤＰＩゲートウェイルータ２０３に転送する。
【００７３】
ＤＰＩゲートウェイルータ２０３は、回線２０９を経由してＤＰＩ装置２０４から受信したパケットを、上りＡトンネル２１０を経由してエッジルータＡ１０１に転送する。
【００７４】
エッジルータＡ１０１は、上りＡトンネル２１０を経由して受信したパケットをデカプセル化する（Ｓ５０３：ＹＥＳ、Ｓ５０５）。この際、エッジルータＡ１０１は、受信トンネル情報１１６のトンネル識別子４０１に、上りＡトンネル２１０のトンネルを識別する情報を設定する（Ｓ５０４）。エッジルータＡ１０１が収容するユーザＢ２０６を宛先とするパケットをコアＮＷ接続インタフェース１１８から受け取ったため、このパケットは図３（ａ）に示すＤＰＩ解析パケット検出条件１１５の４つ目のレコードの条件と一致する（Ｓ５０７：一致）。また、当該４つ目のレコードの転送先トンネル３０４が「下りＡトンネル２１１」であるのに対して、受信トンネル情報１１６のトンネル識別子４０１が「上りＡトンネル２１０」であり（Ｓ５０８：不一致）、同一トンネルへの折り返しとならないことから、エッジルータＡ１０１は、パケットをカプセル化する（Ｓ５１０）。エッジルータＡ１０１は、カプセル化したパケットを、下りＡトンネル２１１を経由してＤＰＩゲートウェイルータ２０３に転送する（Ｓ５１２）。
【００７５】
上記のように、Ｓ５０４においてトンネル識別子４０１を保持しておくことによって、パケットをデカプセル化した後にＳ５０８の判定を行うことが可能になる。Ｓ５０８の判定処理が終了するか、又は、Ｓ５０７で不一致と判定され、パケット検出部からトンネル制御部又は経路検索部に処理が以降するタイミングで、トンネル識別子４０１が未設定の状態にリセットされてもよい。なお、あるパケットについてＳ５０８の判定処理が終了する前にエッジルータＡ１０１が次のパケットを受信する場合には、例えば受信トンネル情報１１６に複数のパケットのトンネル識別子を格納する領域を用意しておき、それらの領域に、受信したパケットのカプセル化ヘッダから取り出したトンネル識別子を順次格納してもよい。この場合、Ｓ５０８では、それぞれのパケットに対応する領域のトンネル識別子が参照される。
【００７６】
Ｓ５１２においてパケットが送信されると、ＤＰＩゲートウェイルータ２０３は、下りＡトンネル２１１から受信したパケットを、回線２０９を経由してＤＰＩ装置２０４に転送する。
【００７７】
ＤＰＩ装置２０４は、回線２０９を経由して受信したパケットに対して、ユーザにパケットを中継する時の解析を行い、回線２０８を経由してＤＰＩゲートウェイルータ２０３に転送する。
【００７８】
ＤＰＩゲートウェイルータ２０３は、回線２０８を経由してＤＰＩ装置２０４から受信したパケットを、下りＡトンネル２１１を経由してエッジルータＡ１０１に転送する。
【００７９】
エッジルータＡ１０１は、下りＡトンネル２１１を経由して受信したパケットをデカプセル化する（Ｓ５０３：ＹＥＳ、Ｓ５０５）。この際、エッジルータＡ１０１は、受信トンネル情報１１６のトンネル識別子４０１に、下りＡトンネル２１１のトンネルを識別する情報を設定する（Ｓ５０４）（図４（ａ））。エッジルータＡ１０１が収容するユーザＢ２０６を宛先とするパケットをコアＮＷ接続インタフェース１１８から受け取ったため、このパケットは図３（ａ）に示すＤＰＩ解析パケット検出条件１１５の４つ目のレコードの条件と一致する（Ｓ５０７：一致）。
【００８０】
しかし、当該４つ目のレコードの転送先トンネル３０４が「下りＡトンネル２１１」であるのに対して、受信トンネル情報１１６のトンネル識別子４０１が「下りＡトンネル２１１」であり（Ｓ５０８：一致）、同一トンネルへの折り返しとなる。このことは、当該受信したパケットが既にエッジルータＡ１０１において一度上記の４つ目のレコードの条件と一致したと判定され、ＤＰＩゲートウェイルータ２０３に送信されたこと、すなわち、このパケットをこれからＤＰＩゲートウェイルータ２０３に送信することによってループが発生することを意味する。このため、エッジルータＡ１０１はパケットのカプセル化を行わず、カプセル化されていないパケットの宛先であるユーザＢ２０６にパケットを転送する（Ｓ５１２）。
【００８１】
フローＦ１２２は、エッジルータＡ１０１に収容されるユーザＡ２０５が、エッジルータＢ１０２に収容されるユーザＣ２０７にパケットを送信した場合の中継経路を示している。
【００８２】
ユーザＡ２０５がパケットを送信してから、ＤＰＩ装置２０４がユーザからパケットを受信した時の解析を行い、上りＡトンネル２１０を経由してエッジルータＡ１０１に転送されるまでの処理は、ユーザＢ２０６への送信時と同一であるため、説明を省略する。
【００８３】
エッジルータＡ１０１は、上りＡトンネル２１０を経由して受信したパケットをデカプセル化する（Ｓ５０３：ＹＥＳ、Ｓ５０５）。この際、エッジルータＡ１０１は、受信トンネル情報１１６のトンネル識別子４０１に、上りＡトンネル２１０のトンネルを識別する情報を設定する（Ｓ５０４）。宛先がエッジルータＡ１０１の収容するユーザではないパケットをコアＮＷ接続インタフェース１１８から受け取ったため、このパケットは図３（ａ）に示すＤＰＩ解析パケット検出条件１１５のいずれのレコードの条件とも一致しない（Ｓ５０７：不一致）。従って、エッジルータＡ１０１は、カプセル化されていないパケットの宛先であるユーザＢ２０６に転送するため、ルーティングテーブルに従い、ユーザＢ２０６を収容するエッジルータＢ１０２にパケットを転送する。
【００８４】
エッジルータＢ１０２は、受信したパケットがカプセル化されていないため（Ｓ５０３：ＮＯ）、デカプセル化しない。エッジルータＢ１０２は、エッジルータＢ１０２が収容するユーザＣ２０７を宛先とするパケットをコアＮＷ接続インタフェース１１８から受け取ったため、このパケットは図３（ｂ）に示すＤＰＩ解析パケット検出条件１１５の２つ目のレコードの条件と一致する（Ｓ５０７：「一致」）。また、当該２つ目のレコードの転送先トンネル３０４が「下りＢトンネル２１３」であるのに対して、受信トンネル情報１１６にトンネル識別子４０１が設定されていないため（Ｓ５０８：「未設定」）、エッジルータＢ１０２は、下りＢトンネル２１３宛にパケットをカプセル化する（Ｓ５１０）。エッジルータＢ１０２は、カプセル化したパケットを下りＢトンネル２１３を経由してＤＰＩゲートウェイルータ２０３に転送する（Ｓ５１２）。
【００８５】
ＤＰＩゲートウェイルータ２０３は、下りＢトンネル２１３から受信したパケットを、回線２０９を経由してＤＰＩ装置２０４に転送する。
【００８６】
ＤＰＩ装置２０４は、回線２０９を経由して受信したパケットに対して、ユーザにパケットを中継する時の解析を行い、回線２０８を経由してＤＰＩゲートウェイルータ２０３に転送する。
【００８７】
ＤＰＩゲートウェイルータ２０３は、回線２０８を経由してＤＰＩ装置２０４から受信したパケットを、下りＢトンネル２１３を経由してエッジルータＢ１０２に転送する。
【００８８】
エッジルータＢ１０２は、下りＢトンネル２１３を経由して受信したパケットをデカプセル化する（Ｓ５０３：ＹＥＳ、Ｓ５０５）。この際、エッジルータＢ１０２は、受信トンネル情報１１６のトンネル識別子４０１に、下りＢトンネル２１３のトンネルを識別する情報を設定する（Ｓ５０４）（図４（ｂ））。エッジルータＢ１０２が収容するユーザＣ２０７を宛先とするパケットをコアＮＷ接続インタフェース１１８から受け取ったため、このパケットは図３（ｂ）に示すＤＰＩ解析パケット検出条件１１５の２つ目のレコードの条件と一致する（Ｓ５０７：一致）。
【００８９】
しかし、当該２つ目のレコードの転送先トンネル３０４が「下りＢトンネル２１３」であるのに対して、受信トンネル情報１１６のトンネル識別子４０１が「下りＢトンネル２１３」であり（Ｓ５０８：一致）、同一トンネルへの折り返しとなる。このことは、当該受信したパケットが既にエッジルータＢ１０２において一度上記の２つ目のレコードの条件と一致したと判定され、ＤＰＩゲートウェイルータ２０３に送信されたこと、すなわち、このパケットをこれからＤＰＩゲートウェイルータ２０３に送信することによってループが発生することを意味する。このため、エッジルータＢ１０２はパケットのカプセル化を行わない。エッジルータＢ１０２は、カプセル化されていないパケットの宛先であるユーザＣ２０７にパケットを転送する（Ｓ５１２）。
【００９０】
以上のように、本実施例では、受信トンネル情報１１６を用いることで、同一トンネルへの折り返しを抑止できるため、同じトンネルに折り返し続けることで発生するルーティングループを防ぎ、期待する宛先に正しく転送することが可能である。この処理を実現するために、ＤＰＩ装置２０４は、ＤＰＩ解析パケット検出条件を保持する必要も、それに基づいてパケットにタグを付加する必要もない。
【実施例２】
【００９１】
以下において、本発明の実施例２を図６及び図７を用いて説明する。以下に説明する相違点を除き、実施例２のシステムの各部は、図１〜図５に示された実施例１の同一の符号を付された各部と同一の機能を有するため、それらの説明は省略する。
【００９２】
実施例１において、ＤＰＩゲートウェイルータ２０３は、エッジルータ１００からトンネルを経由して受信したパケットをＤＰＩ装置２０４に送信し、そのパケットの解析が終了してＤＰＩ装置２０４から送信されたパケットを、エッジルータ１００から受信した時と同じトンネルを経由してエッジルータ１００に送信していた。実施例２は、ＤＰＩゲートウェイルータ２０３が、エッジルータ１００から受信した時のトンネルと対となる反対側のトンネルを使用してエッジルータ１００に送信することによって発生するルーティングループを解消する。
【００９３】
図５において説明した本発明の実施例１のエッジルータ１００のパケット受信時の処理のフローと、実施例２のエッジルータ１００のパケット受信時の処理のフローの相違点を説明する。
【００９４】
実施例２のエッジルータ１００は、送信時に経由したものと対となる反対側のトンネルを経由してＤＰＩゲートウェイルータ２０３からパケットを受信するため、エッジルータ１００とＤＰＩ装置２０４間のルーティングループは、エッジルータ１００が受信時のトンネルと対となる反対側のトンネルに折り返す状況において発生する。
【００９５】
従って、実施例１の図５のＳ５０８において、受信トンネル情報１１６のトンネル識別子４０１と、ＤＰＩ解析パケット検出条件１１５の転送先トンネル３０４が一致する場合にカプセル化を抑止していたところを、一致しない場合にカプセル化を抑止するように処理を変えるだけで、ルーティングループを解消することができる。具体的には、Ｓ５０８の処理において、転送先トンネル３０４とトンネル識別子４０１とが一致したか、又は、トンネル識別子４０１に値が設定されていない場合、パケット検出部１１２は、Ｓ５０９及びＳ５１０を実行し、その後、Ｓ５１１を実行する。一方、転送先トンネル３０４とトンネル識別子４０１とが一致しない場合、パケット検出部１１２は、Ｓ５０９及びＳ５１０を実行せずにＳ５１１を実行する。
【００９６】
図６は、本発明の実施例２のネットワークシステムの構成図である。
【００９７】
実施例２のネットワークシステムにおける装置の構成は、実施例１のネットワークシステムの構成図に示したものと同様である。但し、実施例２のＤＰＩゲートウェイルータ２０３は、エッジルータ１００にパケットを送信するときに、実施例１のＤＰＩゲートウェイルータ２０３と異なり、受信時のトンネルと対となる反対側のトンネルを経由して送信する。
【００９８】
図６における、ユーザが送信するパケットのＤＰＩ解析手順を具体的に説明する。
【００９９】
図３（ａ）は、エッジルータＡ１０１があらかじめ保持するＤＰＩ解析パケット検出条件１１５のレコードを示している。
【０１００】
図３（ｂ）は、エッジルータＢ１０２があらかじめ保持するＤＰＩ解析パケット検出条件１１５のレコードを示している。
【０１０１】
図７（ａ）、及び図７（ｂ）は、本発明の実施例２のエッジルータ１００の受信トンネル情報１１６の説明図である。
【０１０２】
具体的には、図７（ａ）は、エッジルータＡ１０１の処理途中における受信トンネル情報１１６の状態を示している。
【０１０３】
図７（ｂ）は、エッジルータＢ１０２の処理途中における受信トンネル情報１１６の状態を示している。
【０１０４】
受信トンネル情報１１６が図７（ａ）、及び図７（ｂ）の状態になるタイミングは、以下の文中にて説明する。
【０１０５】
フローＦ６０１は、エッジルータＡ１０１に収容されるユーザＡ２０５が、同じくエッジルータＡ１０１に収容されるユーザＢ２０６にパケットを送信した場合の中継経路を示している。
【０１０６】
ユーザＡ２０５が送信したパケットは、エッジルータＡ１０１のアクセスＮＷ接続インタフェース１１７によって受信される。エッジルータＡ１０１は、受信したパケットがカプセル化されていないため、デカプセル化しない（Ｓ５０３：ＮＯ）。エッジルータＡ１０１は、エッジルータＡ１０１が収容するユーザＡ２０５を送信元とするパケットをアクセスＮＷ接続インタフェース１１７から受け取ったため、このパケットは図３（ａ）に示すＤＰＩ解析パケット検出条件１１５の１つ目のレコードの条件と一致する（Ｓ５０７：一致）。また、転送先トンネル３０４が上りＡトンネル２１０に対して、受信トンネル情報１１６にトンネル識別子４０１が設定されていないため（Ｓ５０８：未設定）、エッジルータＡ１０１は、上りＡトンネル２１０宛にパケットをカプセル化する（Ｓ５１０）。エッジルータＡ１０１は、カプセル化したパケットを上りＡトンネル２１０を経由してＤＰＩゲートウェイルータ２０３に転送する（Ｓ５１２）。
【０１０７】
ＤＰＩゲートウェイルータ２０３は、上りＡトンネル２１０から受信したパケットを、回線２０８を経由してＤＰＩ装置２０４に転送する。
【０１０８】
ＤＰＩ装置２０４は、回線２０８を経由して受信したパケットに対して、ユーザからパケットを受信した時の解析を行い、回線２０９を経由してＤＰＩゲートウェイルータ２０３に転送する。
【０１０９】
ＤＰＩゲートウェイルータ２０３は、回線２０９を経由してＤＰＩ装置２０４から受信したパケットを、下りＡトンネル２１１を経由してエッジルータＡ１０１に転送する。
【０１１０】
エッジルータＡ１０１は、下りＡトンネル２１１を経由して受信したパケットをデカプセル化する（Ｓ５０３：ＹＥＳ、Ｓ５０５）。この際、エッジルータＡ１０１は、受信トンネル情報１１６のトンネル識別子４０１に、下りＡトンネル２１１のトンネルを識別する情報を設定する（Ｓ５０４）。エッジルータＡ１０１が収容するユーザＢ２０６を宛先とするパケットをコアＮＷ接続インタフェース１１８から受け取ったため、このパケットは図３（ａ）に示すＤＰＩ解析パケット検出条件１１５の４つ目のレコードの条件と一致する（Ｓ５０７：一致）。また、当該４つ目のレコードの転送先トンネル３０４が「下りＡトンネル２１１」であるのに対して、受信トンネル情報１１６のトンネル識別子４０１が「下りＡトンネル２１１」であり（Ｓ５０８：一致）、同一トンネルへの折り返しとなることから、パケットをカプセル化する（Ｓ５１０）。エッジルータＡ１０１は、カプセル化したパケットを下りＡトンネル２１１を経由してＤＰＩゲートウェイルータ２０３に転送する（Ｓ５１２）。
【０１１１】
ＤＰＩゲートウェイルータ２０３は、下りＡトンネル２１１から受信したパケットを、回線２０９を経由してＤＰＩ装置２０４に転送する。
【０１１２】
ＤＰＩ装置２０４は、回線２０９を経由して受信したパケットに対して、ユーザにパケットを中継する時の解析を行い、回線２０８を経由してＤＰＩゲートウェイルータ２０３に転送する。
【０１１３】
ＤＰＩゲートウェイルータ２０３は、回線２０８を経由してＤＰＩ装置２０４から受信したパケットを、上りＡトンネル２１０を経由してエッジルータＡ１０１に転送する。
【０１１４】
エッジルータＡ１０１は、上りＡトンネル２１０を経由して受信したパケットをデカプセル化する（Ｓ５０３：ＹＥＳ、Ｓ５０５）。この際、エッジルータＡ１０１は、受信トンネル情報１１６のトンネル識別子４０１に、上りＡトンネル２１０のトンネルを識別する情報を設定する（Ｓ５０４）（図７（ａ））。エッジルータＡ１０１が収容するユーザＢ２０６を宛先とするパケットをコアＮＷ接続インタフェース１１８から受け取ったため、このパケットは図３（ａ）に示すＤＰＩ解析パケット検出条件１１５の４つ目のレコードの条件と一致する（Ｓ５０７：一致）。
【０１１５】
しかし、当該４つ目のレコードの転送先トンネル３０４が「下りＡトンネル２１１」であるのに対して、受信トンネル情報１１６のトンネル識別子４０１が「上りＡトンネル２１０」であり（Ｓ５０８：不一致）、異なるトンネルへの折り返しとなる。このことは、当該受信したパケットが既にエッジルータＡ１０１において一度上記の４つ目のレコードの条件と一致したと判定され、ＤＰＩゲートウェイルータ２０３に送信されたこと、すなわち、このパケットをこれからＤＰＩゲートウェイルータ２０３に送信することによってループが発生することを意味する。このため、エッジルータＡ１０１はパケットのカプセル化を行わず、カプセル化されていないパケットの宛先であるユーザＢ２０６にパケットを転送する（Ｓ５１２）。
【０１１６】
フローＦ６０２は、エッジルータＡ１０１に収容されるユーザＡ２０５が、エッジルータＢ１０２に収容されるユーザＣ２０７にパケットを送信した場合の中継経路を示している。
【０１１７】
ユーザＡ２０５がパケットを送信してから、ＤＰＩ装置２０４がユーザからパケットを受信した時の解析を行い、下りＡトンネル２１１を経由してエッジルータＡ１０１に転送されるまでの処理は、ユーザＢ２０６への送信時と同一であるため、説明を省略する。
【０１１８】
エッジルータＡ１０１は、下りＡトンネル２１１を経由して受信したパケットをデカプセル化する（Ｓ５０３：ＹＥＳ、Ｓ５０５）。この際、エッジルータＡ１０１は、受信トンネル情報１１６のトンネル識別子４０１に、下りＡトンネル２１１のトンネルを識別する情報を設定する（Ｓ５０４）。宛先がエッジルータＡ１０１の収容するユーザではないパケットをコアＮＷ接続インタフェース１１８から受け取ったため、このパケットは図３（ａ）に示すＤＰＩ解析パケット検出条件１１５のいずれのレコードの条件とも一致しない（Ｓ５０７：不一致）。従って、エッジルータＡ１０１は、カプセル化されていないパケットの宛先であるユーザＢ２０６に転送するため、ルーティングテーブルに従い、ユーザＢ２０６を収容するエッジルータＢ１０２にパケットを転送する。
【０１１９】
エッジルータＢ１０２は、受信したパケットがカプセル化されていないため（Ｓ５０３：ＮＯ）、デカプセル化しない。エッジルータＢ１０２は、エッジルータＢ１０２が収容するユーザＣ２０７を宛先とするパケットをコアＮＷ接続インタフェース１１８から受け取ったため、このパケットは図３（ｂ）に示すＤＰＩ解析パケット検出条件１１５の２つ目のレコードの条件と一致する（Ｓ５０７：「一致」）。また、当該２つ目のレコードの転送先トンネル３０４が「下りＢトンネル２１３」であるのに対して、受信トンネル情報１１６にトンネル識別子４０１が設定されていないため（Ｓ５０８：「未設定」）、エッジルータＢ１０２は、下りＢトンネル２１３宛にパケットをカプセル化する（Ｓ５１０）。エッジルータＢ１０２は、カプセル化したパケットを下りＢトンネル２１３を経由してＤＰＩゲートウェイルータ２０３に転送する（Ｓ５１２）。
【０１２０】
ＤＰＩゲートウェイルータ２０３は、下りＢトンネル２１３から受信したパケットを、回線２０９を経由してＤＰＩ装置２０４に転送する。
【０１２１】
ＤＰＩ装置２０４は、回線２０９を経由して受信したパケットに対して、ユーザにパケットを中継する時の解析を行い、回線２０８を経由してＤＰＩゲートウェイルータ２０３に転送する。
【０１２２】
ＤＰＩゲートウェイルータ２０３は、回線２０８を経由してＤＰＩ装置２０４から受信したパケットを、上りＢトンネル２１２を経由してエッジルータＢ１０２に転送する。
【０１２３】
エッジルータＢ１０２は、上りＢトンネル２１２を経由して受信したパケットをデカプセル化する（Ｓ５０３：ＹＥＳ、Ｓ５０５）。この際、エッジルータＢ１０２は、受信トンネル情報１１６のトンネル識別子４０１に、上りＢトンネル２１２のトンネルを識別する情報を設定する（Ｓ５０４）（図７（ｂ））。エッジルータＢ１０２が収容するユーザＣ２０７を宛先とするパケットをコアＮＷ接続インタフェース１１８から受け取ったため、このパケットは図３（ｂ）に示すＤＰＩ解析パケット検出条件１１５の２つ目のレコードの条件と一致する（Ｓ５０７：一致）。
【０１２４】
しかし、当該２つ目のレコードの転送先トンネル３０４が「下りＢトンネル２１３」であるのに対して、受信トンネル情報１１６のトンネル識別子４０１が「上りＢトンネル２１２」であり（Ｓ５０８：不一致）、異なるトンネルへの折り返しとなる。このことは、当該受信したパケットが既にエッジルータＢ１０２において一度上記の２つ目のレコードの条件と一致したと判定され、ＤＰＩゲートウェイルータ２０３に送信されたこと、すなわち、このパケットをこれからＤＰＩゲートウェイルータ２０３に送信することによってループが発生することを意味する。このため、エッジルータＢ１０２はパケットのカプセル化を行わず、カプセル化されていないパケットの宛先であるユーザＣ２０７にパケットを転送する（Ｓ５１２）。
【０１２５】
以上のように、本実施例では、受信トンネル情報１１６を用いることで、異なるトンネルへの折り返しを抑止できるため、ＤＰＩゲートウェイルータ２０３から折り返されるパケットが受信時と異なるトンネルを経由する場合であっても、ルーティングループを防ぎ、期待する宛先に正しく転送することが可能である。この処理を実現するために、ＤＰＩ装置２０４は、ＤＰＩ解析パケット検出条件を保持する必要も、それに基づいてパケットにタグを付加する必要もない。
【０１２６】
なお、ここまでに説明した通り、実施例１と実施例２の相違点は、以下の２点である。すなわち、第１に、実施例１のＤＰＩゲートウェイルータ２０３が、エッジルータ１００からトンネルを経由して受信したパケットをＤＰＩ装置２０４に送信し、ＤＰＩ装置２０４から戻ってきたパケットを受信時と同じトンネルを経由してエッジルータに返すのに対して、実施例２のＤＰＩゲートウェイルータ２０３は、ＤＰＩ装置２０４から戻ってきたパケットを受信時のトンネルと対をなす反対側のトンネルを経由してエッジルータに返す点である。第２に、実施例１のエッジルータ１００が、Ｓ５０８において、転送先トンネル３０４とトンネル識別子４０１とが一致する場合にＳ５０９及びＳ５１０を実行しないのに対して、実施例１のエッジルータ１００は、転送先トンネル３０４とトンネル識別子４０１とが一致しない場合にＳ５０９及びＳ５１０を実行しない点である。
【０１２７】
このため、例えば、Ｓ５０８の判定条件として実施例１の判定条件及び実施例２の判定条件の両方を用意し、設定によって一方を選択可能となるようにエッジルータ１００を設計してもよい。このようなエッジルータ１００を用いることによって、例えば実施例１のように動作するＤＰＩゲートウェイルータ２０３が使用されたコアネットワーク２００においては、実施例１の判定条件を使用し、実施例２のように動作するＤＰＩゲートウェイルータ２０３が使用されたコアネットワーク２００においては、実施例２の判定条件を使用するように、エッジルータ１００の設定を切り替えることができる。このようなエッジルータを使用することによって、コアネットワーク２００にいずれのＤＰＩゲートウェイルータ２０３が使用された場合にも、ＤＰＩ装置２０４がパケットにタグを付加することなくループの発生を防止することができる。
【０１２８】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明のより良い理解のために詳細に説明したのであり、必ずしも説明の全ての構成を備えるものに限定されものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることが可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０１２９】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によってハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによってソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、不揮発性半導体メモリ、ハードディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶デバイス、または、ＩＣカード、ＳＤカード、ＤＶＤ等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【０１３０】
また、制御線及び情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線及び情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１３１】
１００  エッジルータ
１０１  エッジルータＡ
１０２  エッジルータＢ
１１１  経路検索部
１１２  パケット検出部
１１３  トンネル制御部
１１４  ルーティングテーブル
１１５  ＤＰＩ解析パケット検出条件
１１６  受信トンネル情報
１１７  アクセスＮＷ接続インタフェース
１１８  コアＮＷ接続インタフェース
１２１  ＣＰＵ
１２２  メモリ
１２３  ネットワークインタフェース
２００  コアネットワーク
２０１  アクセスネットワークＡ
２０２  アクセスネットワークＢ
２０３  ＤＰＩゲートウェイルータ
２０４  ＤＰＩ装置
２０５〜２０７  ユーザ
２１０  上りＡトンネル
２１１  下りＡトンネル
２１２  上りＢトンネル
２１３  下りＢトンネル
【図１】
0006629645.tif 000002
【図２】
0006629645.tif 000003
【図３】
0006629645.tif 000004
【図４】
0006629645.tif 000005
【図５】
0006629645.tif 000006
【図６】
0006629645.tif 000007
【図７】
0006629645.tif 000008