(57)【特許請求の範囲】
【請求項１】
レイヤ３網に接続される第１のポートと、
レイヤ２網に接続される第２のポートと、
前記レイヤ２網内の通信装置のMedia Access Control(MAC)アドレスおよびデータの処理に関する情報を対応付けるデータ処理情報と、前記レイヤ２網内の前記通信装置のInternet Protocol(IP)アドレスおよび前記MACアドレスを対応付けるアドレス情報と、を記憶する記憶部と、
前記第１のポートを介して前記レイヤ２網内の前記通信装置宛てのデータを受信すると、前記データに含まれるIPアドレスを基に前記アドレス情報を検索して前記データに含まれる前記IPアドレスに対応するMACアドレスを取得し、前記取得したMACアドレスを基に前記データ処理情報を検索し、検索結果に応じて、前記取得したMACアドレスに対応するデータの処理に関する情報に基づいて前記第１のポートを介して前記データを転送するかを制御し、前記第２のポートを介して前記レイヤ３網内の通信装置宛てのデータを受信すると、前記データに含まれるMACアドレスを基に前記記憶部の前記データ処理情報を検索し、当該検索結果に応じて、前記データに含まれる前記MACアドレスに対応するデータの処理に関する情報に基づいて前記第１のポートを介して前記データを転送するかを制御する転送部と、
を備える転送装置。
【請求項２】
請求項１に記載の転送装置であって、
前記データの処理に関する情報は、前記レイヤ３網内のデータの送信先に関するレイヤ３網送信先情報であり、
前記データ処理情報は、前記レイヤ２網内の通信装置の前記MACアドレスおよび前記レイヤ３網送信先情報を対応付ける第１の送信先情報であり、
前記転送部は、
前記検索結果に応じて、前記取得したMACアドレスに対応するレイヤ３網送信先情報の送信先に前記第１のポートを介して前記データを転送するかを制御する、
転送装置。
【請求項３】
請求項２に記載の転送装置であって、
前記記憶部の前記第１の送信先情報および前記アドレス情報に基づいて、前記アドレス情報の前記IPアドレスと前記第１の送信先情報の前記レイヤ３網送信先情報とを対応付ける第２の送信先情報を生成し、前記生成した第２の送信先情報を前記記憶部に記憶させる制御部を、
さらに備え、
前記転送部は、
前記第１のポートを介して前記レイヤ２網内の前記通信装置宛てのデータを受信すると、前記データに含まれるIPアドレスを基に前記第２の送信先情報を検索し、検索結果に応じて、前記データに含まれる前記IPアドレスに対応するレイヤ３網送信先情報の送信先に前記第１のポートを介して前記データを転送する、
転送装置。
【請求項４】
請求項３に記載の転送装置であって、
前記転送部は、
前記第１のポートを介して前記レイヤ２網内の前記通信装置宛ての第１のデータを受信すると、前記第１のデータに含まれる送信先IPアドレスを基に前記記憶部の前記第２の送信先情報を検索し、前記第１のデータに含まれる前記送信先IPアドレスに対応するレイヤ３網送信先情報の送信先に前記第１のポートを介して前記第１のデータを転送し、
前記第２のポートを介して前記レイヤ３網内の通信装置宛ての第２のデータを受信すると、前記第２のデータに含まれる送信元MACアドレスを基に前記記憶部の前記第１の送信先情報を検索し、前記第２のデータに含まれる前記送信元MACアドレスに対応するレイヤ３網送信先情報の送信先に前記第１のポートを介して前記第２のデータを転送する、
転送装置。
【請求項５】
請求項３に記載の転送装置であって、
前記転送部は、
前記第１のポートを介してデータを受信すると、前記受信したデータが、前記第１のポートを介して前記送信先に転送した、前記レイヤ２網内の前記通信装置宛てのデータである場合、前記受信したデータを前記第１のポートまたは前記第２のポートの何れかのポートを介して転送する、
転送装置。
【請求項６】
請求項３に記載の転送装置であって、
前記転送部は、
前記第１のポートを介して前記レイヤ２網内の前記通信装置宛てのデータを受信すると、受信した前記データのヘッダ情報に含まれるIPアドレスと前記記憶部の前記第２の送信先情報とに基づき、前記ヘッダ情報に含まれる前記IPアドレスに対応する前記レイヤ３網送信先情報が示す前記レイヤ３網内の送信先に、受信した前記データを前記第１のポートを介して転送する、
転送装置。
【請求項７】
請求項３に記載の転送装置であって、
前記制御部は、
所定の契機によって、前記記憶部の前記第１の送信先情報または前記アドレス情報を更新すると、前記第２の送信先情報を更新する、
転送装置。
【請求項８】
請求項７に記載の転送装置であって、
前記制御部は、
前記アドレス情報を更新すると、前記更新したアドレス情報のMACアドレスを基に、前記第１の送信先情報を検索し、前記更新したアドレス情報の前記MACアドレスに対応するレイヤ３網送信先情報を取得し、前記取得したレイヤ３網送信先情報と前記更新したアドレス情報のIPアドレスとに基づいて、前記第２の送信先情報を更新する、
転送装置。
【請求項９】
請求項１に記載の転送装置であって、
前記データの処理に関する情報は、前記レイヤ３網内のデータの送信先に関するレイヤ３網送信先情報であり、
前記データ処理情報は、前記レイヤ２網内の通信装置の前記MACアドレスおよび前記レイヤ３網送信先情報を対応付ける送信先情報であり、
前記転送部は、
前記レイヤ２網内の前記通信装置宛てのデータを受信した場合の前記送信先情報の検索結果に応じて、前記取得したMACアドレスに対応するレイヤ３網送信先情報の送信先に前記第１のポートを介して前記レイヤ２網内の前記通信装置宛てのデータを転送するかを制御し、
前記レイヤ３網内の通信装置宛てのデータを受信した場合の前記送信先情報の検索結果に応じて、前記データに含まれる前記MACアドレスに対応するレイヤ３網送信先情報の送信先に前記第１のポートを介して前記レイヤ３網内の前記通信装置宛てのデータを転送するかを制御する、
転送装置。
【請求項１０】
請求項２に記載の転送装置であって、
前記転送部は、
前記第１のポートを介して前記データを転送する場合、前記レイヤ３網送信先情報を用いて前記データをカプセリングする、
転送装置。
【請求項１１】
レイヤ２網に接続される第１のポートと、
レイヤ３網に接続される第２のポートと、
前記第１のポートに接続される第１の転送部と、
前記第２のポートに接続される第２の転送部と、
前記レイヤ２網内の通信装置のMedia Access Control(MAC)アドレスおよび前記レイヤ３網内のデータの送信先に関するレイヤ３網送信先情報を対応付ける送信先情報と、前記レイヤ２網内の前記通信装置のInternet Protocol(IP)アドレスおよび前記MACアドレスを対応付けるアドレス情報と、を記憶する記憶部と、
を備え、
前記第２の転送部は、
前記第２のポートを介して前記レイヤ２網内の前記通信装置宛てのデータを受信すると、前記データを前記第１の転送部へ転送し、
前記第１の転送部は、
前記第２の転送部から転送された前記データに含まれるIPアドレスを基に前記アドレス情報を検索して前記データに含まれる前記IPアドレスに対応するMACアドレスを取得し、前記取得したMACアドレスを基に前記送信先情報を検索し、検索結果に応じて、前記第１のポートを介して前記通信装置へ前記データを転送するか、または、前記取得したMACアドレスに対応するレイヤ３網送信先情報に基づいて前記データを前記第２の転送部へ転送するか、のいずれかを実行し、
前記第２の転送部は、
前記第１の転送部から前記レイヤ３網送信先情報に基づいた前記データを受信すると、当該データを前記レイヤ３網送信先情報の送信先に前記第２のポートを介して転送する、
転送装置。
【請求項１２】
請求項１１に記載の転送装置であって、
前記第１の転送部は、
前記第１のポートを介して前記レイヤ３網内の通信装置宛てのデータを受信すると、当該データに含まれるIPアドレスを基に前記アドレス情報を検索して前記データに含まれる前記IPアドレスに対応するMACアドレスを取得し、前記取得したMACアドレスを基に前記送信先情報を検索し、検索結果に応じて、前記第２の転送部へ前記データを第１のデータとして転送するか、または、前記取得したMACアドレスに対応するレイヤ３網送信先情報に基づいて前記データを第２のデータとして前記第２の転送部へ転送するか、のいずれかを実行し、
前記第２の転送部は、
前記第１の転送部から前記第１のデータを受信すると、前記レイヤ３網内の前記通信装置に前記第２のポートを介して前記第１のデータを転送し、前記第１の転送部から前記第２のデータを受信すると、前記送信先に前記第２のポートを介して前記第２のデータを転送する、
転送装置。
【請求項１３】
レイヤ２網に接続される第１の通信装置と、
レイヤ３網に接続される第２の通信装置およびサーバと、
前記レイヤ２網および前記レイヤ３網の間に接続される転送装置と、
を備える転送システムであって、
前記転送装置は、
前記第１の通信装置のMedia Access Control(MAC)アドレスおよび前記サーバに関するサーバ関連情報を対応付けるMACサーバ対応情報と、前記第１の通信装置のInternet Protocol(IP)アドレスおよび前記MACアドレスを対応付けるアドレス情報と、を記憶し、
前記第２の通信装置から前記第１の通信装置宛ての第１のデータを受信すると、前記第１のデータに含まれるIPアドレスを基に前記アドレス情報を検索して前記第１のデータに含まれる前記IPアドレスに対応するMACアドレスを取得し、前記取得したMACアドレスを基に前記MACサーバ対応情報を検索し、検索結果に応じて、前記取得したMACアドレスに対応するサーバ関連情報に基づいて前記サーバへ前記第１のデータを転送するかを制御し、
前記第１の通信装置から前記第２の通信装置宛ての第２のデータを受信すると、前記第２のデータに含まれるMACアドレスを基に前記MACサーバ対応情報を検索し、検索結果に応じて、前記第２のデータに含まれる前記MACアドレスに対応するサーバ関連情報に基づいて前記サーバへ前記第２のデータを転送するかを制御する、
転送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、転送装置及び転送システムに関する。
【背景技術】
【０００２】
ユーザ端末のトラフィックに対して検疫や監視を行う、特開2013-38715号公報（特許文献１）に記載の技術がある。この公報には、「ユーザ端末と通信対象装置との間の通信トラフィックの経路を、分析や監視等を行う所定の装置を経由するように迂回させる技術」が記載されており、Internet Protocol(IP)網に接続されるトンネル接続装置およびトンネル終端装置を制御する仮想ネットワーク制御装置が、トンネル接続装置に対して、トンネル接続装置がIP網に接続されるサーバと送受信するデータのうち、トンネル終端装置に迂回させるデータを識別する情報として動的に割り当てられることがあるIPアドレスを含む迂回指示を通知することが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−３８７１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１において、トンネル終端装置を経由するデータの特定に動的に割り当てられることがあるIPアドレスを用いると、変動する可能性のあるIPアドレスに追従した制御、つまり、仮想ネットワーク制御装置からの迂回指示の通知をIPアドレスの変更に合わせて行う制御が必要となる。そのため、トンネル接続装置が実行するトンネル終端装置を経由するデータの特定に関する処理が複雑となり、トンネル接続装置の処理負荷が高くなる。
【０００５】
そこで、特許文献１において、装置固有の情報であるMedia Access Control(MAC)アドレスを、トンネル終端装置を経由するデータの特定に用いることが考えられる。しかし、特許文献１に記載の仮想ネットワーク制御装置からの迂回指示にユーザ端末のMACアドレスを含めたとしても、トンネル接続装置がIP網から受信するデータには、ユーザ端末のMACアドレスが含まれないため、トンネル接続装置は、仮想ネットワーク制御装置から通知されたMACアドレスを用いてトンネル終端装置を経由するデータを特定することができないという課題がある。
【課題を解決するための手段】
【０００６】
上述の課題を解決するために、本発明の一態様である転送装置は、レイヤ３網に接続される第１のポートと、レイヤ２網に接続される第２のポートと、レイヤ２網内の通信装置のMACアドレスおよびデータの処理に関する情報を対応付けるデータ処理情報と、レイヤ２網内の通信装置のIPアドレスおよびMACアドレスを対応付けるアドレス情報と、を記憶する記憶部と、第１のポートを介してレイヤ２網内の通信装置宛てのデータを受信すると、データに含まれるIPアドレスを基にアドレス情報を検索してデータに含まれるIPアドレスに対応するMACアドレスを取得し、取得したMACアドレスを基にデータ処理情報を検索し、検索結果に応じて、取得したMACアドレスに対応するデータの処理に関する情報に基づいて第１のポートを介してデータを転送するかを制御し、第２のポートを介してレイヤ３網内の通信装置宛てのデータを受信すると、データに含まれるMACアドレスを基に記憶部のデータ処理情報を検索し、当該検索結果に応じて、データに含まれるMACアドレスに対応するデータの処理に関する情報に基づいて第１のポートを介してデータを転送するかを制御する転送部と、を備える。
【発明の効果】
【０００７】
本発明によれば、転送装置の処理負荷を低減することができる。上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【０００８】
【図１】ネットワーク全体の構成図の例である。
【図２】ゲートウェイルータが送受信するパケットの構成例を説明する図である。
【図３】ARPテーブルの構成の例である。
【図４】ユーザMAC識別テーブルの構成の例である。
【図５】ユーザIP識別テーブルの構成の例である。
【図６】実施例１におけるゲートウェイルータが、ユーザ端末から通信対象装置へ送信されたパケットをサーバへ迂回させる処理のシーケンスの例である。
【図７】実施例１におけるゲートウェイルータが、通信対象装置からユーザ端末へ送信されたパケットをサーバへ迂回させる処理のシーケンスの例である。
【図８】実施例２におけるネットワーク全体の構成図の例である。
【図９】分散アーキテクチャで構成したゲートウェイルータが、通信対象装置からユーザ端末へ送信されたパケットをサーバへ迂回させる処理（その１）のシーケンスの例である。
【図１０】分散アーキテクチャで構成したゲートウェイルータが、ユーザ端末から通信対象装置へ送信されたパケットをサーバへ迂回させる処理のシーケンスの例である。
【図１１】分散アーキテクチャで構成したゲートウェイルータが、通信対象装置からユーザ端末へ送信されたパケットをサーバへ迂回させる処理（その２）のシーケンスの例である。
【図１２Ａ】転送部が実行するパケットの転送処理のフローチャートの例である。
【図１２Ｂ】転送部が実行するパケットの転送処理のフローチャートの例である。
【図１２Ｃ】転送部が実行するパケットの転送処理のフローチャートの例である。
【図１３】管理装置に表示されるサーバへ迂回させるトラフィックを設定する設定画面例を示す説明図である。
【図１４】実施例２の変形例におけるネットワーク全体の構成図の例である。
【発明を実施するための形態】
【０００９】
以下、図面を参照して実施例を説明する。
（実施例１）
図１は、ネットワーク全体の構成図の例である。
ゲートウェイルータ１００、ネットワーク側であるレイヤ３網（以下、「L3網」と呼ぶ。）のIP網５０とユーザ側であるレイヤ２網（以下、「L2網」と呼ぶ。）６０とに接続される転送装置（通信装置）であり、IP網５０またはL2網６０宛のデータ（以下、「トラフィック」とも呼ぶ。）を転送（中継）する。IP網５０には、サーバ３０−１（IPアドレス：IP_10、MACアドレス：MAC_10）、サーバ３０−２（IPアドレス：IP_11、MACアドレス：MAC_11）と通信対象装置２０−１（IPアドレス：IP_3、MACアドレス：MAC_3）、通信対象装置２０−２（IPアドレス：IP_4、MACアドレス：MAC_4）が接続される。
【００１０】
L2網６０には、ユーザ端末１０−１（IPアドレス：IP_1、MACアドレス：MAC_1）、ユーザ端末１０−２（IPアドレス：IP_2、MACアドレス：MAC_2）が接続される。なお、以下の説明で、ユーザ端末１０−１、ユーザ端末１０−２を区別しない場合は、ユーザ端末１０と記載する。サーバ３０、通信対象装置２０なども同様である。
【００１１】
ユーザ端末１０は、ゲートウェイルータ１００を介して通信対象装置２０とデータを送受信する。サーバ３０は、サーバ３０が受信するデータに対して、例えば検疫もしくは監視、分析などの処理を実行する。サーバ３０が実行する処理は、検疫もしくは監視、分析に限られず、受信するデータに対して実行する処理であればどのような処理であってもよい。
【００１２】
ゲートウェイルータ１００は、サーバ３０−１、３０−２との間にそれぞれトンネル８０−１、トンネル８０−２を確立し、例えば、ユーザ端末１０−１またはユーザ端末１０−２から受信した通信対象装置２０−１宛または通信対象装置２０−２宛のデータのうち迂回対象となる通信対象装置２０−１宛のユーザ端末１０−１のデータ２００をカプセル化して、トンネル８０−１を介してサーバ３０−１へ送信する。また、トンネル８０には、トンネルを一意に示すトンネル識別子が割り当てられる。また、トンネル識別子は、サーバ３０を一意に示すサーバ識別子であってもよい。
【００１３】
以下の説明では、データの具体的な形式としてパケットを用いるが、フレームであってもよい。なお、実際のネットワークには、それぞれ複数のゲートウェイルータとL2網とユーザ端末とサーバとトンネルと通信対象装置とが存在してよい。また、本実施例をモバイルネットワークに適用してもよい。この場合、例えば、ユーザ端末１０は、携帯電話端末に対応し、サーバ３０は、モバイルネットワーク内のサービスに応じた優先制御や課金のルールなどを設定する各種サーバに対応し、ゲートウェイルータ１００は、携帯電話端末と各種サーバとの間に接続されるゲートウェイ装置に対応する。
【００１４】
ゲートウェイルータ１００は、制御処理部１１０と、転送処理部１４０を備える。制御処理部１１０は、プロセッサ１０４とメモリ１０５を備え、パケットの転送に必要な情報を生成して転送処理部１４０に送信して転送処理部１４０の動作の制御を行う機能部である。プロセッサ１０４は、メモリ１０５に格納されたプログラム（不図示）を実行（処理）することによって制御処理部１１０の機能を実現する。メモリ１０５は、パケットの転送に必要な情報として、ユーザIP識別テーブル１０１とAddress Resolution Protocol(ARP)テーブル１０２とユーザMAC識別テーブル１０３とを記憶（格納、保持）する。
【００１５】
ユーザIP識別テーブル１０１は、IPアドレスとゲートウェイルータ１００が送受信するトラフィックに対する処理の情報（トラフィックの処理情報）との対応関係に関する情報を記憶する。トラフィックの処理情報は、ゲートウェイルータ１００が送信（転送）するトラフィックの送信先であるIP網５０内のサーバ３０に関係（関連）する送信先情報（サーバ関連情報）である。ARPテーブル１０２は、IPアドレスとMACアドレスとの対応関係に関する情報を記憶する。ユーザMAC識別テーブル１０３は、MACアドレスとトラフィックの処理情報との対応関係に関する情報を記憶する。
【００１６】
また、ユーザＩＰ識別テーブル１０１は、ＩＰアドレス送信先情報（IPアドレスデータ処理情報、IPアドレスサーバ対応情報）であり、ＡＲＰテーブル１０２は、アドレス情報であり、ユーザＭＡＣ識別テーブル１０３は、ＭＡＣアドレス送信先情報（MACアドレスデータ処理情報、MACアドレスサーバ対応情報）である。また、ユーザIP識別テーブル１０１は、ARPテーブル１０２とユーザMAC識別テーブル１０３とに基づいて生成される。
【００１７】
転送処理部１４０は、複数のポート１４６−１〜１４６−４と転送部１４１とメモリ１４２とを備え、ポート１４６を介して受信したパケットをパケットの宛先（制御処理部１１０またはL2網６０またはIP網５０）に転送する機能部である。複数のポート１４６−１〜１４６−４は、L2網６０またはIP網５０に接続されパケットを送受信する。なお、ゲートウェイルータ１００は、複数のポート１４６それぞれが、ネットワーク側（IP網５０）またはユーザ側（L2網６０）のいずれに属するかの情報であるポートネットワーク対応情報（ポート１４６を一意に示すポート識別子とネットワークを一意に示すネットワーク識別子との対応関係）（不図示）を管理しており、パケットを受信したポート１４６に基づいて、パケットの送信元（IP網５０またはL2網６０）を特定する。なお、本実施例において、ポート１４６は、物理的なポートであっても、論理的なポートであってもよい。また、ポート１４６をインタフェース１４６と呼んでもよい。
また、ゲートウェイルータ１００は、複数のポート１４６それぞれに対して、どのトンネルに属するか（どのトンネルに接続されるか）の情報であるポートトンネル対応情報（ポート識別子とトンネル識別子との対応関係）（不図示）を管理する。
【００１８】
転送部１４１は、メモリ１４２を参照してポート１４６を介して受信したパケットの宛先を検索し、検索結果に従ってパケットのヘッダ部に格納される情報（ヘッダ情報）を更新して、ポート１４６を介してパケットの転送を行う。ここで、ヘッダ情報とは、各装置がパケットを送受信する際に参照する制御情報であり、IPアドレスとMACアドレスを含む。また、転送部１４１は、パケットの転送時に必要に応じて、カプセリングおよびデカプセリングを含むパケットのヘッダ情報の更新を行う。
【００１９】
メモリ１４２は、パケットの転送に必要な情報として、ユーザIP識別テーブル１４３とARPテーブル１４４とユーザMAC識別テーブル１４５とを記憶する。
また、制御処理部１１０と転送処理部１４０はそれぞれ内部ポート（不図示）で接続される。
【００２０】
転送部１４１とメモリ１４２は、例えばField-Programmable Gate Array(FPGA)のような集積回路で設計する等によりハードウェアで実現してもよい。また、転送部１４１がプロセッサであり、これが、メモリ１４２に格納されたプログラム（不図示）を実行することによって、各機能が実現されてもよい。この場合、以下の説明において転送部１４１が実行する処理は、実際にはこれに相当するプロセッサによって実行される。
なお、ポート１４６は、転送処理部１４０とは異なる機能部であるネットワークインタフェース部に設けられてもよい。この場合、転送処理部１４０は、ネットワークインタフェース部を介して受信したL2網６０またはL3網５０からのパケットを転送する。
【００２１】
制御処理部１１０は、転送処理部１４０から転送されたパケットのプロトコルの処理もしくはポート１４６を介して接続される管理装置（不図示）から入力されるコンフィグに従ってARPテーブル１０２を生成し、更新する。パケットのプロトコルの処理とは、ゲートウェイルータ１００がユーザ端末１０あるいは隣接装置との間でARPリクエストとARPレスポンスを交換することで、ユーザ端末１０あるいは隣接装置のIPアドレスに対応するMACアドレスを解決する処理や、ARPテーブル１０２の使用されていないエントリをタイムアウトによって削除する処理を指す。なお、IPアドレスに対応するMACアドレスを解決する処理やARPテーブル１０２の更新に関する処理であればどのような処理であってもよい。
【００２２】
また、制御処理部１１０は、管理装置から入力されるコンフィグに従ってユーザMAC識別テーブル１０３を生成し、更新する。また、制御処理部１１０は、ARPテーブル１０２およびユーザMAC識別テーブル１０３に基づいてユーザIP識別テーブル１０１を生成し、更新する。ユーザIP識別テーブル１０１の生成、更新の詳細は、後述する。
なお、管理装置は、ポート１４６とは異なる、管理用のポート（不図示）を介して接続されてもよい。また、管理用のポートは、制御処理部１１０と接続されてもよい。
【００２３】
制御処理部１１０は、マスタとなるARPテーブル１０２とユーザMAC識別テーブル１０３とユーザIP識別テーブル１０１を持ち、これらのテーブルの内容を更新すると、更新内容を転送処理部１４０に通知する。通知を受けた転送処理部１４０は、通知の内容に従い、保持するARPテーブル１４４とユーザMAC識別テーブル１４５とユーザIP識別テーブル１４３の内容をそれぞれ更新する。その結果、制御処理部１１０と転送処理部１４０が持つARPテーブルとユーザMAC識別テーブルとユーザIP識別テーブルの内容はそれぞれ同一となる。
【００２４】
図１を用いて、本実施例の動作概要を説明する。
まず、通信対象装置２０−１が送信したユーザ端末１０−１宛てのパケットについて説明する。ゲートウェイルータ１００の転送部１４１は、IP網５０に接続されるポート１４６−３を介してL２網６０内のユーザ端末１０−１宛てのパケットを受信すると、受信したパケットに含まれる送信先IPアドレスを検索キーとしてARPテーブル１４４を検索して送信先IPアドレスに対応するMACアドレスを取得し、取得したMACアドレスを検索キーとしてユーザMAC識別テーブル１４５を検索し、検索結果に応じて、取得したMACアドレスに対応するトラフィックの処理情報に従ってポート１４６−３を介して受信したパケットを転送するかを制御する。
【００２５】
受信したパケットに含まれる送信先IPアドレスに対応するMACアドレスを検索キーとしてユーザMAC識別テーブル１４５を検索した結果、このMACアドレスと対応するトラフィックの処理情報がユーザMAC識別テーブル１４５に存在する場合、転送部１４１は、ユーザMAC識別テーブル１４５からトラフィックの処理情報を取得し、取得したトラフィックの処理情報に基づいて受信したパケットをカプセリングして、トンネル８０−１に属するポート（不図示）を介してカプセリングしたパケットをサーバ３０−１へ送信する。なお、トンネル８０−１に属するポート（不図示）はＩＰ網５０に接続される。
【００２６】
また、送信先IPアドレスに対応するMACアドレスを検索キーとしたユーザMAC識別テーブル１４５の検索の結果、このMACアドレスと対応するトラフィックの処理情報がユーザMAC識別テーブル１４５に存在しない場合、転送部１４１は、送信先IPアドレスに対応するMACアドレスに従って、L2網６０に接続されるポート１４６−１を介して受信したパケットをユーザ端末１０−１へ送信する。
【００２７】
そして、サーバ３０−１へ送信したパケットがサーバ３０−１で折り返され、転送部１４１は、トンネル８０−１に属するポート（不図示）を介して折り返されたパケットを受信すると、パケットをデカプセリングし、デカプセリング後のパケットに含まれる送信先IPアドレスを検索キーとしてARPテーブル１４４を検索してMACアドレスを取得し、取得したMACアドレスに従って、ポート１４６−１を介してデカプセリング後のパケットをユーザ端末１０−１へ送信する。
【００２８】
次に、ユーザ端末１０−１が送信した通信対象装置２０−１宛てのパケットについて説明する。転送部１４１は、ポート１４６−１を介してIP網５０内の通信対象装置２０−１宛てのパケットを受信すると、受信したパケットに含まれる送信元MACアドレスを検索キーとしてユーザMAC識別テーブル１４５を検索し、検索結果に応じて、送信元MACアドレスに対応するトラフィックの処理情報に従ってポート１４６−３を介して受信したパケットをサーバ３０−１へ転送するかを制御する。
【００２９】
送信元MACアドレスを検索キーとしてユーザMAC識別テーブル１４５を検索した結果、このMACアドレスと対応するトラフィックの処理情報がユーザMAC識別テーブル１４５に存在する場合、転送部１４１は、ユーザMAC識別テーブル１４５からトラフィックの処理情報を取得し、取得したトラフィックの処理情報に基づいて受信したパケットをカプセリングして、トンネル８０−１に属するポート（不図示）を介してカプセリングしたパケットをサーバ３０−１へ送信する。
【００３０】
そして、サーバ３０−１へ送信したパケットがサーバ３０−１で折り返され、転送部１４１は、トンネル８０−１に属するポート（不図示）を介して折り返されたパケットを受信すると、パケットをデカプセリングし、デカプセリング後のパケットに含まれる送信先IPアドレスに従って、ポート１４６−３を介してデカプセリング後のパケットを通信対象装置２０−１へ送信する。
【００３１】
以下の説明において、通信対象装置２０−１が送信したユーザ端末１０−１宛てのパケットに含まれる送信先IPアドレスに対応するトラフィックの処理情報の取得に関して、ユーザIP識別テーブル１４３を用いた例を説明する。
【００３２】
なお、制御処理部１１０と転送処理部１４０が１つカード（モジュール）として構成されてもよいし、制御処理部１１０と転送処理部１４０がそれぞれ制御カード（制御モジュール）、転送カード（転送モジュール）として構成されてもよい。また、装置構成の別の形態として、ゲートウェイルータ１００は転送処理部１４０のみを備え、制御処理部１００を持つ外部装置（不図示）がゲートウェイルータ１００に接続し、外部装置がゲートウェイルータ１００の動作を制御する構成をとることも可能である。
【００３３】
さらに別の形態として、ゲートウェイルータ１００は、現用系の転送処理部１４０と予備系の転送処理部１４０を保持して冗長構成をとることも可能であり、隣接装置やポート、現用系の転送処理部１４０で障害発生した場合にも、L2網６０あるいはIP網５０からのパケットを予備系の転送処理部１４０で処理することで、パケットの転送を継続して実施することが可能である。
【００３４】
さらに別の形態として、ゲートウェイルータ１００は、複数の転送処理部１４０を保持し、L2網６０からのパケットあるいはIP網５０からのパケットを、複数の転送処理部１４０で分散して処理することも可能である。
【００３５】
なお、障害時に現用系の転送処理部１４０から切り替えて予備系の転送処理部１４０でパケットを受信する処理や、冗長構成において複数の転送処理部１４０にパケットを分散させる処理は、リンクアグリゲーションやルーティングプロトコルのマルチパス機能などの一般的なプロトコル処理で実現可能であり、実施の形態については本実施例では特に限定しない。
【００３６】
図３は、ARPテーブルの構成の例である。制御処理部１１０のARPテーブル１０２を例に説明するが、転送処理部１４０のARPテーブル１４４も同様である。
ARPテーブル１０２は、パケットの送信先のIPアドレス４０とパケットの送信先のMACアドレス４１とを対応付けたエントリを保持する。
【００３７】
図３の例では、ユーザ端末１０−１のIPアドレス（IP_1）とMACアドレス（MAC_1）のエントリ、ユーザ端末１０−２のIPアドレス（IP_2）とMACアドレス（MAC_2）のエントリ、通信対象装置２０−１宛のパケットが経由するゲートウェイルータ１００に隣接する通信装置（不図示）（ネクストホップ）のIPアドレス(IP_A)とMACアドレス（MAC_A）のエントリ、通信対象装置２０−２宛のパケットが経由するネクストホップ（不図示）のIPアドレス(IP_B)とMACアドレス（MAC_B）のエントリが格納される。
【００３８】
制御処理部１１０は、IPアドレス４０を検索キーにARPテーブル１０２を検索し、検索結果の出力としてMACアドレス４１を取得する。なお、ARPテーブル１０２は、IPアドレス４０と、パケットの送信先のインタフェースであるポート１４６のポート識別子と、MACアドレス４１と、を対応付けて保持してもよい。この場合、制御処理部１１０は、IPアドレス４０とポート識別子とを検索キーとしてMACアドレス４１を取得する。また、ARPテーブル１０２は、IPアドレス４０と、ポート識別子と、MACアドレス４１と、を対応付けて保持することで、これらの３つの要素のうち、２つの要素を用いて残り１つの要素を探索してもよい。３つの要素を持つARPテーブル１０２とすることで、パケットのフローをより詳細に特定することができる。
【００３９】
図４は、ユーザMAC識別テーブルの構成の例である。制御処理部１１０のユーザMAC識別テーブル１０３を例に説明するが、転送処理部１４０のユーザMAC識別テーブル１４５も同様である。
ユーザMAC識別テーブル１０３は、ユーザ端末１０を識別するユーザ端末１０のMACアドレス４２とパケットをIP網５０内のサーバ３０に送信する際の送信先情報であるトラフィックの処理情報４３とを対応付けたエントリを保持する。
制御処理部１１０は、MACアドレス４２を検索キーにユーザMAC識別テーブル１０３を検索し、検索結果の出力としてトラフィックの処理情報４３を取得する。
【００４０】
トラフィックの処理情報４３は、迂回先のサーバ３０を特定する情報（ユーザ端末１０と通信対象装置２０との間の通信経路上にはないサーバ３０に関する情報）である。トラフィックの処理情報４３は、ポリシーベースルーティングに用いるパケットの出力先のポート１４６のポート識別子やネクストホップの情報（例えば、ネクストホップのIPアドレス）、あるいはパケットのヘッダ部に付加する付加ヘッダ（例えば、サーバ３０のIPアドレスを含むIP in IPのヘッダや、Generic Routing Encapsulation(GRE)のヘッダ、Network Virtualization using GRE(NVGRE)のヘッダや、Stateless Transport Tunneling(STT)のヘッダや、Virtual eXtensible Local Area Network(VXLAN)のヘッダやMulti Protocol Label Switching(MPLS)のヘッダなどの汎用的なトンネリングプロトコルのヘッダ）の情報のいずれか、または組み合わせなどで構成されるが、これらの情報に限定されない。例えば、トラフィックの処理情報４３は、複数のサーバに対する付加ヘッダの情報と、複数のサーバに対する送信順序の情報などで構成されてもよく、Network Service Header(NSH)の情報で構成されてもよい。
【００４１】
図４の例では、ユーザ端末１０−１のMACアドレス（MAC_1）と、ユーザ端末１０−１が送受信するパケットをトンネル８０−１を経由する際にカプセル化（カプセリング）に用いる付加ヘッダの情報（TID_1、IP_10）のエントリが格納される。付加ヘッダの情報（TID_1、IP_10）は、トンネル８０−１のトンネル識別子である「TID_1」とカプセリングしたパケットの送信先のサーバ３０−１のIPアドレスである「IP_10」である。なお、トラフィックの処理情報４３を付加ヘッダの情報とする場合で、トンネルを識別する必要がないときは、少なくともサーバ３０を示すサーバ識別子（サーバ３０のIPアドレスなど）を有すればよい。また、カプセリング時に付加ヘッダに格納する情報でトラフィックの処理情報４３以外の情報は、適宜ゲートウェイルータ１００が自律的に取得すればよい。
【００４２】
なお、ユーザMAC識別テーブル１０３は、MACアドレス４２と、ポート識別子と、トラフィックの処理情報４３と、を対応付けて保持してもよい。この場合、制御処理部１１０は、MACアドレス４２とポート識別子とを検索キーとしてトラフィックの処理情報４３を取得する。また、ユーザMAC識別テーブル１０３は、MACアドレス４２と、ポート識別子と、トラフィックの処理情報４３と、を対応付けて保持することで、これらの３つの要素のうち、２つの要素を用いて残り１つの要素を探索してもよい。３つの要素を持つユーザMAC識別テーブル１０３とすることで、パケットのフローをより詳細に特定することができる。
【００４３】
図５は、ユーザIP識別テーブルの構成の例である。制御処理部１１０のユーザIP識別テーブル１０１を例に説明するが、転送処理部１４０のユーザIP識別テーブル１４３も同様である。
ユーザIP識別テーブル１０１は、IPアドレス４４とトラフィックの処理情報４５とを対応付けたエントリを保持する。ユーザIP識別テーブル１０１のエントリは、ARPテーブル１０２の検索キーであるIPアドレス４０から取得したIPアドレスと、ユーザMAC識別テーブル１０３の出力であるトラフィックの処理情報４３から取得したトラフィックの処理情報を組としたエントリである。
【００４４】
つまり、ユーザIP識別テーブル１０１のIPアドレス４４とARPテーブル１０２のIPアドレス４０とは同じIPアドレスが格納され、ユーザIP識別テーブル１０１のトラフィックの処理情報４５とユーザMAC識別テーブル１０３のトラフィックの処理情報４３とは同じトラフィックの処理情報が格納される。
【００４５】
図５の例では、ユーザ端末１０−１のIPアドレス（IP_1）とトンネル８０−１を経由する際のカプセリング情報である付加ヘッダの情報（TID_1、IP_10）のエントリが格納される。
制御処理部１１０は、IPアドレス４４を検索キーにユーザIP識別テーブル１０１を検索し、検索結果の出力としてトラフィックの処理情報４５を取得する。
【００４６】
図６は、実施例１におけるゲートウェイルータが、ユーザ端末から通信対象装置へ送信されたパケットを受信した際の転送処理のシーケンスの例である。
まず、ユーザ端末１０は、通信対象装置２０へパケット６００を送信する（Ｓ３５１）。パケット６００は、送信元IPアドレス：ユーザ端末１０のIPアドレス、送信先IPアドレス：通信対象装置２０のIPアドレス、送信元MACアドレス：ユーザ端末１０のMACアドレス、送信先MACアドレス：ポート１４６−１のMACアドレス、のヘッダ情報を有する。
【００４７】
ゲートウェイルータ１００は、L2網６０からパケット６００を受信すると、ユーザMAC識別テーブル１４５を検索してサーバ３０へ迂回するパケットか否かを判定（識別、特定）する（S３５２）。
【００４８】
パケット６００が迂回するパケットでない場合、ゲートウェイルータ１００は、パケットの経路情報（送信先のIPアドレスと送信先のIPアドレスにパケットを送信する際に経由する隣接装置（ネクストホップ）のIPアドレスとネクストホップに接続されるポートのポート識別子との対応関係）を保持する経路テーブル（ルーティングテーブル）（不図示）を検索してヘッダ情報を更新したパケット６２０を通信対象装置２０へ送信する（Ｓ３５３）。
【００４９】
パケット６００が迂回するパケットである場合、ゲートウェイルータ１００は、トラフィックの処理情報４３を使用してパケット６００に付加ヘッダを付与してカプセリングし、経路テーブルを検索してカプセリングしたパケット６０１をトラフィックの処理情報４３に対応するサーバ３０−１へ送信する（Ｓ３５４）。
【００５０】
カプセリングしたパケット６０１のペイロード部（データ部）はパケット６００であり、パケット６０１のヘッダ部（パケット６００に付加した付加ヘッダ）は、トラフィックの処理情報（付加ヘッダの情報）を含む。つまり、パケット６０１は、トンネル識別子：トンネル８０−１のトンネル識別子、送信元IPアドレス：トンネル８０−１に属するポート（不図示）のIPアドレス、送信先IPアドレス：サーバ３０−１のIPアドレス、送信元MACアドレス：トンネル８０−１に属するポート（不図示）のMACアドレス、送信先MACアドレス：サーバ３０−１宛のパケット６０１が経由するゲートウェイルータ１００に隣接する通信装置（不図示）（ネクストホップ）のMACアドレス、のヘッダ情報を有する。
【００５１】
サーバ３０−１は、ゲートウェイルータ１００から受信したパケット６０１に対して、検疫もしくは監視などの処理を実施し（Ｓ３５５）、ゲートウェイルータ１００へパケット６０２を送信する（Ｓ３５６）。
【００５２】
ゲートウェイルータ１００は、サーバ３０−１からのパケット６０２を受信すると、デカプセリング（付加ヘッダの取り外し）し、ユーザＩＰ識別テーブル１４３を検索してデカプセリングしたパケットがサーバ３０へ迂回するパケットか否かを判定する（Ｓ３５７）。
【００５３】
ゲートウェイルータ１００が受信するデカプセリング前のパケット６０２は、サーバ３０−１とゲートウェイルータ１００との間の通信装置（不図示）によりヘッダ情報が更新され、トンネル識別子：トンネル８０−１のトンネル識別子、送信元IPアドレス：サーバ３０のIPアドレス、送信先IPアドレス：トンネル８０−１に属するポート（不図示）のIPアドレス、送信元MACアドレス：トンネル８０−１に属するポート（不図示）宛のパケット６０２が経由するゲートウェイルータ１００に隣接する通信装置（不図示）（ネクストホップ）のMACアドレス、送信先MACアドレス：トンネル８０−１に属するポート（不図示）のMACアドレス、のヘッダ情報を有する。
【００５４】
デカプセリングしたパケットが迂回するパケットである場合、ゲートウェイルータ１００は、トラフィックの処理情報４５を使用してカプセリングしたパケット６２１を経路テーブルに従ってトラフィックの処理情報４５に対応するサーバ３０へ送信する（Ｓ３５８）。デカプセリングしたパケットが迂回するパケットでない場合は、ゲートウェイルータ１００は、経路テーブルを検索してパケット６０３を通信対象装置２０へ送信する（Ｓ３５９）。
【００５５】
パケット６０３は、送信元IPアドレス：ユーザ端末１０のIPアドレス、送信先IPアドレス：通信対象装置２０のIPアドレス、送信元MACアドレス：ポート１４６−３のMACアドレス、送信先MACアドレス：通信対象装置２０宛のパケット６０３が経由するゲートウェイルータ１００に隣接する通信装置（不図示）（ネクストホップ）のMACアドレス、のヘッダ情報を有する。
【００５６】
図７は、実施例１におけるゲートウェイルータが、通信対象装置からユーザ端末へ送信されたパケットを受信した際の転送処理のシーケンスの例である。
まず、通信対象装置２０は、ユーザ端末１０へパケット６０４を送信する（Ｓ３６１）。ゲートウェイルータ１００が受信するパケット６０４は、送信元IPアドレス：通信対象装置２０のIPアドレス、送信先IPアドレス：ユーザ端末１０のIPアドレス、送信元MACアドレス：ポート１４６−３宛のパケット６０４が経由するゲートウェイルータ１００に隣接する通信装置（不図示）（ネクストホップ）のMACアドレス、送信先MACアドレス：ポート１４６−３のMACアドレス、のヘッダ情報を有する。
【００５７】
ゲートウェイルータ１００は、ＩＰ網５０からパケット６０４を受信するとユーザIP識別テーブル１４３を検索してサーバ３０へ迂回するパケットか否かを判定する（Ｓ３６２）。パケット６０４が迂回するパケットでない場合、ゲートウェイルータ１００は、経路テーブルを検索してヘッダ情報を更新したパケット６３０をユーザ端末１０へ送信する（Ｓ３６３）。パケット６０４が迂回するパケットである場合、ゲートウェイルータ１００は、トラフィックの処理情報４５を使用してパケット６０４に付加ヘッダを付与してカプセリングし、経路テーブルを検索してカプセリングしたパケット６０５をトラフィックの処理情報４５に対応するサーバ３０−１へ送信する（Ｓ３６４）。
【００５８】
パケット６０５は、トンネル識別子：トンネル８０−１のトンネル識別子、送信元IPアドレス：トンネル８０−１に属するポート（不図示）のIPアドレス、送信先IPアドレス：サーバ３０−１のIPアドレス、送信元MACアドレス：トンネル８０−１に属するポート（不図示）のMACアドレス、送信先MACアドレス：サーバ３０−１宛のパケット６０５が経由するゲートウェイルータ１００に隣接する通信装置（不図示）（ネクストホップ）のMACアドレス、のヘッダ情報を有する。
【００５９】
サーバ３０−１は、ゲートウェイルータ１００から受信したパケット６０５に対して、検疫もしくは監視などの処理を実施し（Ｓ３６５）、ゲートウェイルータ１００へパケット６０６を送信する（Ｓ３６６）。
【００６０】
ゲートウェイルータ１００は、サーバ３０−１からのパケット６０６を受信すると、デカプセリングを実施し、ユーザＩＰ識別テーブル１４３を検索してデカプセリングしたパケットがサーバ３０へ迂回するパケットか否かを判定する（Ｓ３６７）。ゲートウェイルータ１００が受信するデカプセリング前のパケット６０６は、サーバ３０−１とゲートウェイルータ１００との間の通信装置（不図示）によりヘッダ情報が更新され、送信元IPアドレス：サーバ３０のIPアドレス、送信先IPアドレス：トンネル８０−１が属するポート（不図示）のIPアドレス、送信元MACアドレス：トンネル８０−１が属するポート（不図示）宛のパケット６０６が経由するゲートウェイルータ１００に隣接する通信装置（不図示）（ネクストホップ）のMACアドレス、送信先MACアドレス：トンネル８０−１が属するポート（不図示）のMACアドレス、のヘッダ情報を有する。
【００６１】
デカプセリングしたパケットが迂回するパケットである場合、ゲートウェイルータ１００は、トラフィックの処理情報４５を使用してカプセリングしたパケット６３１を経路テーブルに従ってトラフィックの処理情報４５に対応するサーバ３０へ送信する（Ｓ３６８）。デカプセリングしたパケットが迂回するパケットでない場合、ゲートウェイルータ１００は、経路テーブルを検索してパケット６０７をユーザ端末１０へ送信する（Ｓ３６９）。
【００６２】
パケット６０７は、送信元IPアドレス：通信対象装置２０のIPアドレス、送信先IPアドレス：ユーザ端末１０のIPアドレス、送信元MACアドレス：ポート１４６−１のMACアドレス、送信先MACアドレス：ユーザ端末１０のMACアドレス、のヘッダ情報を有する。
【００６３】
図２は、ゲートウェイルータ１００が送受信するパケットの構成例を説明する図である。
図２において、ゲートウェイルータ１００は、IP網５０内の隣接装置７０に接続されており、隣接装置７０を介してユーザ端末１０と通信対象装置２０が通信するトラフィック（パケット２１０、２２０、２３０、２４０）を中継する。ヘッダ情報２１１、２２１、２３１、２４１は、それぞれパケット２１０、２２０、２３０、２４０に含まれるヘッダ情報である。
【００６４】
ユーザ端末１０が通信対象装置２０へ送信するパケット２１０のヘッダ情報２１１は、ゲートウェイルータ１００が受信する際、送信先IPアドレスが通信対象装置２０のIPアドレス、送信元IPアドレスがユーザ端末１０のIPアドレス、送信先MACアドレスがポート１４６−１のMACアドレス、送信元MACアドレスがユーザ端末１０のMACアドレスで構成される。
【００６５】
ゲートウェイルータ１００は、ユーザ端末１０が送信したパケット２１０を通信対象装置２０へ中継する際、ヘッダ情報の送信元MACアドレスをポート１４６−３のMACアドレス、送信先MACアドレスを隣接装置７０のMACアドレスに書き換え、ヘッダ情報２２１を含むパケット２２０を隣接装置７０へ送信する。
【００６６】
また、通信対象装置２０がユーザ端末１０へ送信したパケットは、隣接装置７０にて、ヘッダ情報の送信元MACアドレスと送信先MACアドレスが書き換えられる。そして、ゲートウェイルータ１００が隣接装置７０を介して受信する通信対象装置２０からのパケット２３０のヘッダ情報２３１は、ヘッダ情報の送信先IPアドレスがユーザ端末１０のIPアドレス、送信元IPアドレスが通信対象装置２０のIPアドレス、送信先MACアドレスがポート１４６−３のMACアドレス、送信元MACアドレスが隣接装置７０のMACアドレスで構成される。
【００６７】
ゲートウェイルータ１００は、通信対象装置２０が送信したパケット２３０をユーザ端末１０へ中継する際、ヘッダ情報の送信元MACアドレスをポート１４６−１のMACアドレス、送信先MACアドレスをユーザ端末１０のMACアドレスに書き換え、ヘッダ情報２４１を含むパケット２４０をユーザ端末１０へ送信する。
【００６８】
図２の点線部２３２に示すように、通信対象装置２０がユーザ端末１０へ送信したパケット２３０を、ゲートウェイルータ１００が受信する際には、ヘッダ情報２３１の送信先MACアドレスおよび送信元MACアドレスに、ユーザ端末１０のMACアドレスが含まれないため、ユーザ端末１０のMACアドレスを用いて通信対象装置２０からユーザ端末１０へのトラフィックを特定（識別）することができない。
【００６９】
しかし、本実施例のゲートウェイルータ１００は、パケット２３０を受信すると、ヘッダ情報２３１の送信先IPアドレスを検索キーに、ユーザ端末１０のMACアドレスに基づいて生成したユーザIP識別テーブル１０１を検索して、ヘッダ情報２３１の送信先IPアドレスが示すユーザ端末１０のMACアドレスに対応するトラフィックの処理情報４５を取得することで、サーバ３０へ迂回する通信対象装置２０からユーザ端末１０へのトラフィックを特定（識別）することができる。
【００７０】
このように、ゲートウェイルータ１００がIP網５０を介して通信対象装置２０から受信するパケットには、ユーザ端末１０のMACアドレスが含まれないため、ゲートウェイルータ１００は、受信するパケットに含まれる送信先IPアドレスを用いてサーバ３０に迂回させるトラフィックを特定（識別）する。
【００７１】
図１２Ａ、図１２Ｂおよび図１２Ｃは、転送部が実行するパケットの転送処理のフローチャートの例である。
転送部１４１は、いずれかのポート１４６を介してパケットを受信すると（Ｓ５００）、パケットを受信したポート１４６が所属するネットワークを判定する（Ｓ５０１）。具体的には、転送部１４１は、ポートネットワーク対応情報を参照してパケットを受信したポート１４６のポート識別子と対応するポートネットワーク対応情報のネットワーク識別子を特定してネットワークを判定する（Ｓ５０１）。
【００７２】
パケットを受信したポート１４６が所属するネットワークが、L2網６０の場合、転送部１４１は、ユーザMAC識別テーブル１４５を参照してサーバ３０へ迂回するパケットか否かを判定（識別）する（Ｓ５０２、Ｓ５０３）。具体的には、転送部１４１は、受信したパケットのヘッダ情報に含まれる送信元MACアドレスを検索キーとしてユーザMAC識別テーブル１４５のMACアドレス４２を検索して（Ｓ５０２）、該当するエントリが存在するか（ヒットするか）判定する（Ｓ５０３）。
【００７３】
該当するエントリが存在する場合、転送部１４１は、該当するエントリのトラフィックの処理情報４３を取得し（Ｓ５０４）、取得したトラフィックの処理情報４３を使用して受信したパケットをカプセリングする（Ｓ５０５）。転送部１４１は、カプセリングしたパケットのヘッダ情報を基に、経路テーブルを検索し（Ｓ５０６）、カプセリングしたパケットのヘッダ情報に含まれる送信先IPアドレスに対応するネクストホップのIPアドレスとポート識別子とを取得する（Ｓ５０７）。なお、経路テーブルについても他のテーブルと同様に、制御処理部１１０がマスタとなる経路テーブルを保持し、テーブルの更新内容を転送処理部１４０に通知することで、転送処理部１４０が保持する経路テーブルと制御処理部１１０が保持する経路テーブルの内容が同一となる。
【００７４】
転送部１４１は、ステップＳ５０７で取得したネクストホップのIPアドレスを検索キーとしてARPテーブル１４４を検索してネクストホップのMACアドレスを取得し（Ｓ５０８）、カプセリングしたパケットのヘッダ情報に含まれる送信先MACアドレスと送信元MACアドレスをそれぞれ取得したMACアドレスとステップＳ５０７で取得したポート識別子が示すポート１４６のMACアドレスに書き換えて、カプセリングしたパケットのヘッダ情報を更新する（Ｓ５０９）。そして、転送部１４１は、ステップＳ５０７にて取得したポート識別子が示すポート１４６を介してヘッダ情報を更新したパケットを送信して（Ｓ５１０）、パケットの転送処理を終了する。ステップＳ５１０で送信するパケットの送信先は、トラフィックの処理情報４３に対応するサーバ３０となる。
【００７５】
ステップＳ５０３にて該当するエントリが存在しない場合、転送部１４１は、受信したパケットのヘッダ情報を基に、経路テーブルを検索して（Ｓ５１１）、ルーティング処理に従って通信対象装置２０へ送信する。具体的には、転送部１４１は、受信したパケットのヘッダ情報に含まれる送信先IPアドレスに対応するネクストホップのIPアドレスとポート識別子とを取得し（Ｓ５１２）、取得したネクストホップのIPアドレスを検索キーとしてARPテーブル１４４を検索してネクストホップのMACアドレスを取得し（Ｓ５１３）、受信したパケットのヘッダ情報に含まれる送信先MACアドレスと送信元MACアドレスをそれぞれ取得したMACアドレスとステップＳ５１２で取得したポート識別子が示すポート１４６のMACアドレスに書き換えて、受信したパケットのヘッダ情報を更新し（Ｓ５１４）、ステップＳ５１２にて取得したポート識別子が示すポート１４６を介してヘッダ情報を更新したパケットを送信する（Ｓ５１５）。ステップＳ５１５で送信するパケットの送信先は、受信したパケットのヘッダ情報に含まれる送信先IPアドレスに対応する通信対象装置２０となる。
【００７６】
ステップＳ５０１にてパケットを受信したポート１４６が所属するネットワークが、IP網５０の場合、転送部１４１は、受信したパケットがサーバ３０から受信したパケットか否かを判定（識別）する（Ｓ５３０、Ｓ５３１）。具体的には、転送部１４１は、ポートトンネル対応情報を参照してパケットを受信したポート１４６のポート識別子と対応するポートトンネル対応情報のポート識別子を検索して（Ｓ５３０）、該当するエントリが存在するか（ヒットするか）判定する（Ｓ５３１）。
【００７７】
なお、受信したパケットがサーバ３０から受信したパケットか否かを判定（識別）する方法は、ポートトンネル対応情報の検索に限られず、例えば、受信したパケットのヘッダ情報に含まれる送信元IPアドレスが、サーバ３０のIPアドレスであるかを判定してもよく、ヘッダ情報に含まれる送信先IPアドレスが、パケットを受信したポート１４６のポート識別子が示すポート１４６のIPアドレスであるかを判定してもよく、ヘッダ情報にトンネル識別子が含まれているかを判定してもよく、受信したパケットがサーバ３０から受信したパケットか通信対象装置２０から受信したパケットかを判定することができれば、方法は問わない。
【００７８】
該当するエントリが存在しない場合、つまり、受信したパケットがサーバ３０から受信したパケットではない場合、転送部１４１は、ユーザIP識別テーブル１４３を参照してサーバ３０へ迂回するパケットか否かを判定（識別）する（Ｓ５１６、Ｓ５１７）。具体的には、転送部１４１は、受信したパケットのヘッダ情報に含まれる送信先IPアドレスを検索キーとしてユーザIP識別テーブル１４３のIPアドレス４４を検索して（Ｓ５１６）、該当するエントリが存在するか（ヒットするか）判定する（Ｓ５１７）。
【００７９】
該当するエントリが存在する場合、転送部１４１は、該当するエントリのトラフィックの処理情報４５を取得し（Ｓ５１８）、取得したトラフィックの処理情報４５を使用して受信したパケットをカプセリングする（Ｓ５１９）。転送部１４１は、カプセリングしたパケットのヘッダ情報を基に、経路テーブルを検索し（Ｓ５２０）、カプセリングしたパケットのヘッダ情報に含まれる送信先IPアドレスに対応するネクストホップのIPアドレスとポート識別子とを取得する（Ｓ５２１）。
【００８０】
転送部１４１は、ステップＳ５２１で取得したネクストホップのIPアドレスを検索キーとしてARPテーブル１４４を検索してネクストホップのMACアドレスを取得し（Ｓ５２２）、カプセリングしたパケットのヘッダ情報に含まれる送信先MACアドレスと送信元MACアドレスをそれぞれ取得したMACアドレスとステップＳ５２１にて取得したポート識別子が示すポート１４６のMACアドレスに書き換えて、カプセリングしたパケットのヘッダ情報を更新する（Ｓ５２３）。そして、転送部１４１は、ステップＳ５２１にて取得したポート識別子が示すポート１４６を介してヘッダ情報を更新したパケットを送信して（Ｓ５２４）、パケットの転送処理を終了する。ステップＳ５２４で送信するパケットの送信先は、トラフィックの処理情報４５に対応するサーバ３０となる。
【００８１】
ステップＳ５１７にて該当するエントリが存在しない場合、転送部１４１は、受信したパケットのヘッダ情報を基に、経路テーブルを検索して（Ｓ５２５）、ルーティング処理に従ってユーザ端末１０へ送信する。具体的には、受信したパケットのヘッダ情報に含まれる送信先IPアドレスに対応するネクストホップのIPアドレスとポート識別子とを取得し（Ｓ５２６）、取得したネクストホップのIPアドレスを検索キーとしてARPテーブル１４４を検索してネクストホップのMACアドレスを取得し（Ｓ５２７）、受信したパケットのヘッダ情報に含まれる送信先MACアドレスを取得したMACアドレスに書き換え、受信したパケットのヘッダ情報に含まれる送信元MACアドレスをステップＳ５２６にて取得したポート識別子が示すポート１４６のMACアドレスに書き換えて、受信したパケットのヘッダ情報を更新し（Ｓ５２８）、ステップＳ５２６にて取得したポート識別子が示すポート１４６を介してヘッダ情報を更新したパケットを送信する（Ｓ５２９）。ステップＳ５２９で送信するパケットの送信先は、受信したパケットのヘッダ情報に含まれる送信先IPアドレスに対応するユーザ端末１０となる。
【００８２】
ステップＳ５３１にて該当するエントリが存在する場合、つまり、受信したパケットがサーバ３０から受信したパケットである場合、転送部１４１は、受信したパケットをデカプセリング（付加ヘッダの取り外し、削除）する（Ｓ５３２）。転送部１４１は、サーバ３０から受信したパケットに対してデカプセリングした旨を内部情報として保持する（Ｓ５３３）。転送部１４１は、デカプセリング後のパケットが、サーバ３０から送信されたパケットであるかを、デカプセリングしたパケットであるという処理結果から判定する。転送部１４１は、処理結果を、内部情報として、例えば、フラグや付加データなどで保持する。なお、デカプセリング後のパケットがサーバ３０から送信されたパケットであるかの判定の形態は、ヘッダ情報の送信元IPアドレスや送信先IPアドレスや、レイヤ７に含まれるサーバの送信順序の情報を使用してもよく、上記の例に限定しない。
【００８３】
転送部１４１は、デカプセリングしたパケットの送信先IPアドレスを検索キーとしてユーザIP識別テーブル１４３を検索してトラフィックの処理情報４５を取得し、取得したトラフィックの処理情報４５と保持した内部情報を参照して、デカプセリングしたパケットがサーバ３０へ迂回するパケットか否かを判定（識別）する（Ｓ５３５〜Ｓ５３８）。
【００８４】
具体的には、転送部１４１は、デカプセリングしたパケットのヘッダ情報に含まれる送信先IPアドレスを検索キーとしてユーザIP識別テーブル１４３のIPアドレス４４を検索して（Ｓ５３５−１）、該当するエントリが存在するか（ヒットするか）判定する（Ｓ５３６−１）。該当するエントリが存在しない場合、送信元IPアドレスを検索キーとして再度ユーザIP識別テーブル１４３のIPアドレス４４を検索して（Ｓ５３５−２）、該当するエントリが存在するか（ヒットするか）判定する（Ｓ５３６-２）。ステップＳ５３６−１とステップＳ５３６−２のいずれかのステップにおいて該当するエントリが存在する場合、転送部１４１は、該当するエントリのトラフィックの処理情報４５を取得し（Ｓ５３７）、取得したトラフィックの処理情報４５と内部情報とを用いて、デカプセリングしたパケットが、サーバ３０へ迂回させる対象かを判定する（Ｓ５３８）。なお、パケットをいずれかのサーバ３０へ迂回させる対象かを判定する形態は、トラフィックの処理情報４５に含まれる付加ヘッダの情報やサーバ３０の送信順序の情報や、受信したパケットのヘッダ情報やデカプセリングされたパケットの５タプルの情報やレイヤ７に含まれるサーバ３０の送信順序の情報を使用してもよく、上記の例に形態を限定しない。
【００８５】
迂回の対象である場合、転送部１４１は、トラフィックの処理情報４５を使用してデカプセリングしたパケットをカプセリングし（Ｓ５３９）、カプセリングしたパケットのヘッダ情報を基に、経路テーブルの検索し（Ｓ５４０）、カプセリングしたパケットのヘッダ情報に含まれる送信先IPアドレスに対応するネクストホップのIPアドレスとポート識別子とを取得する（Ｓ５４１）。
【００８６】
転送部１４１は、ステップＳ５４１で取得したネクストホップのIPアドレスを検索キーとしてARPテーブル１４４を検索してネクストホップのMACアドレスを取得し（Ｓ５４２）、カプセリングしたパケットのヘッダ情報に含まれる送信先MACアドレスと送信元MACアドレスをそれぞれ取得したMACアドレスとステップＳ５４１にて取得したポート識別子が示すポート１４６のMACアドレスに書き換えて、カプセリングしたパケットのヘッダ情報を更新する（Ｓ５４３）。そして、転送部１４１は、ステップＳ５４１にて取得したポート識別子が示すポート１４６を介してヘッダ情報を更新したパケットを送信して（Ｓ５４４）、パケットの転送処理を終了する。ステップＳ５４４で送信するパケットの送信先は、トラフィックの処理情報４５に対応するサーバ３０となる。
【００８７】
ステップＳ５３６−１とステップＳ５３６−２の両ステップにおいて該当するエントリが存在しない場合、または、ステップＳ５３８にて迂回の対象ではない場合、転送部１４１は、デカプセリングしたパケットのヘッダ情報を基に、経路テーブルを検索して（Ｓ５４５）、ルーティング処理に従ってユーザ端末１０または通信対象装置２０へ送信する。具体的には、デカプセリングしたパケットのヘッダ情報に含まれる送信先IPアドレスに対応するネクストホップのIPアドレスとポート識別子とを取得し（Ｓ５４６）、取得したネクストホップのIPアドレスを検索キーとしてARPテーブル１４４を検索してネクストホップのMACアドレスを取得し（Ｓ５４７）、デカプセリングしたパケットのヘッダ情報に含まれる送信先MACアドレスと送信元MACアドレスをそれぞれ取得したMACアドレスとステップＳ５４６にて取得したポート識別子が示すポート１４６のMACアドレスに書き換えて、デカプセリングしたパケットのヘッダ情報を更新し（Ｓ５４８）、ステップＳ５４６にて取得したポート識別子が示すポート１４６を介してヘッダ情報を更新したパケットを送信する（Ｓ５４９）。ステップＳ５４９で送信するパケットの送信先は、受信したパケットのヘッダ情報に含まれる送信先IPアドレスに対応するユーザ端末１０または通信対象装置２０となる。
【００８８】
ここで、通信対象装置２０が送信したユーザ端末１０宛てのパケットに含まれる送信先IPアドレスに対応するトラフィックの処理情報の取得に関して、ユーザIP識別テーブル１４３を用いない場合は、ステップＳ５１６〜Ｓ５１７およびステップ５３５〜S５３６の代わりに、転送部１４１が、受信したパケットのヘッダ情報に含まれる送信先IPアドレスを検索キーとしてARPテーブル１４４のIPアドレス４０を検索して、送信先IPアドレスに対応するMACアドレス４１を取得する。そして、転送部１４１は、取得したMACアドレスを検索キーとしてユーザMAC識別テーブル１４５のMACアドレス４２を検索して、該当するエントリが存在するか（ヒットするか）判定する。該当するエントリが存在する場合、転送部１４１は、該当するエントリのトラフィックの処理情報４３を取得する。転送部１４１は、取得したトラフィックの処理情報４３を使用してステップS５１９以降の処理およびステップS５３８以降の処理をそれぞれ実行する。
【００８９】
以上により、ゲートウェイルータが、ユーザ端末のMACアドレスを使用してトラフィックをサーバに迂回させることが可能となり、ユーザ端末のIPアドレスが変更された場合にも、コンフィグを再入力することなくユーザ端末を識別することが可能となるため、ゲートウェイルータの処理負荷を低減することができる。
【００９０】
次に、ユーザIP識別テーブル１０１、１４３の生成、更新の詳細を説明する。制御処理部１１０が、ユーザIP識別テーブル１０１のエントリを更新（追加あるいは削除）する契機は、ARPテーブル１０２のエントリの更新（追加あるいは削除）、または、ユーザMAC識別テーブル１０３のエントリの更新（追加あるいは削除）である。以下、それぞれの契機において、ユーザIP識別テーブル１０１、１４３のエントリを更新する処理について説明する。
【００９１】
ARPテーブル１０２へのエントリの追加を契機として、ユーザIP識別テーブル１０１、１４３にエントリを追加する処理フローを説明する。
制御処理部１１０は、転送処理部１４０を介して受信したパケットのプロトコルの処理もしくは転送処理部１４０を介して入力されるコンフィグに従ってARPテーブル１０２へエントリを追加すると、ARPテーブル１０２のエントリの追加に使用したIPアドレスとMACアドレスを一時的にメモリ１０５に保持する。次に、制御処理部１１０は、保持したMACアドレスを検索キーに使用してユーザMAC識別テーブル１０３のMACアドレス４２を検索し、検索結果の出力としてトラフィックの処理情報４３のトラフィックの処理情報を取得する。
【００９２】
制御処理部１１０は、保持したIPアドレスと、取得したトラフィックの処理情報の組をエントリとして、ユーザIP識別テーブル１０１にエントリを追加する。次に、制御処理部１１０は、転送処理部１４０に該当するエントリの追加を通知する。つまり、制御処理部１１０は、ユーザIP識別テーブル１４３に追加するエントリとして、ユーザIP識別テーブル１０１のエントリに追加したIPアドレスとトラフィックの処理情報の組を転送処理部１４０に通知する。
【００９３】
エントリの追加の通知を受けた転送処理部１４０は、通知に従ってユーザIP識別テーブル１４３に通知されたIPアドレスとトラフィックの処理情報の組のエントリを追加する。
なお、ARPテーブル１０２が、IPアドレス４０とポート識別子とMACアドレス４１とを対応付けて保持する場合、制御処理部１１０は、ARPテーブル１０２のエントリの追加に使用したポート識別子も一時的にメモリ１０５に保持する。この場合、制御処理部１１０は、MACアドレスとポート識別子を検索キーに使用してユーザMAC識別テーブル１０３からトラフィックの処理情報を取得する。
【００９４】
次に、ARPテーブル１０２のエントリの削除を契機として、ユーザIP識別テーブル１０１、１４３のエントリを削除する処理フローを説明する。
制御処理部１１０は、転送処理部１４０を介して受信したパケットのプロトコルの処理もしくは転送処理部１４０を介して入力されるコンフィグに従ってARPテーブル１０２のエントリの削除を契機として、ARPテーブル１０２のエントリの削除に使用したIPアドレスを検索キーとしてユーザIP識別テーブル１０１のIPアドレス４４を検索し、一致したエントリを削除する。
【００９５】
次に、制御処理部１１０は、転送処理部１４０に該当するエントリの削除を通知する。つまり、制御処理部１１０は、削除するエントリのIPアドレスを転送処理部１４０に通知する。エントリの削除の通知を受けた転送処理部１４０は、通知に従ってユーザIP識別テーブル１４３から通知されたIPアドレスのエントリを削除する。
【００９６】
次に、ユーザMAC識別テーブル１０３へのエントリの追加を契機として、ユーザIP識別テーブル１０１、１４３にエントリを追加する処理フローを説明する。
制御処理部１１０は、転送処理部１４０を介して入力されるコンフィグに従ったユーザMAC識別テーブル１０３へのエントリの追加を契機として、ユーザMAC識別テーブル１０３のエントリの追加に使用したMACアドレスとトラフィックの処理情報を一時的にメモリ１０５に保持する。次に、制御処理部１１０は、保持したMACアドレスを使用してARPテーブル１０２のIPアドレス４０を検索し、対応するIPアドレスを取得する。
【００９７】
制御処理部１１０は、取得したIPアドレスと、保持したトラフィックの処理情報の組をエントリとして、ユーザIP識別テーブル１０１にエントリを追加する。次に、制御処理部１１０は、転送処理部１４０に該当するエントリの追加を通知する。つまり、制御処理部１１０は、ユーザIP識別テーブル１４３に追加するエントリとして、ユーザIP識別テーブル１０１のエントリに追加したIPアドレスとトラフィックの処理情報の組を転送処理部１４０に通知する。
【００９８】
エントリの追加の通知を受けた転送処理部１４０は、通知に従ってユーザIP識別テーブル１４３に通知されたIPアドレスとトラフィックの処理情報の組のエントリを追加する。なお、ユーザMAC識別テーブル１０３が、MACアドレス４２とポート識別子とトラフィックの処理情報４３とを対応付けて保持する場合、制御処理部１１０は、ユーザMAC識別テーブル１０３のエントリの追加に使用したポート識別子も一時的にメモリ１０５に保持する。この場合、制御処理部１１０は、MACアドレスとポート識別子を検索キーに使用してARPテーブル１０２からIPアドレスを取得する。
【００９９】
次に、ユーザMAC識別テーブル１０３のエントリの削除を契機として、ユーザIP識別テーブル１０１、１４３のエントリを削除する処理フローを説明する。
制御処理部１１０は、転送処理部１４０を介して入力されるコンフィグに従ったユーザMAC識別テーブル１０３のエントリの削除を契機として、ユーザMAC識別テーブル１０３のエントリの削除に使用したMACアドレスを使用してARPテーブル１０２を検索し、対応するIPアドレスを取得する。取得したIPアドレスを検索キーとしてユーザIP識別テーブル１０１を検索し、一致したエントリを削除する。
次に、制御処理部１１０は、転送処理部１４０に該当するエントリの削除を通知する。エントリの削除の通知を受けた転送処理部１４０は、ユーザIP識別テーブル１４３からエントリを削除する。
【０１００】
以上のように、ゲートウェイルータ１００は、ARPテーブル１０２の更新、または、ユーザMAC識別テーブル１０３の更新を契機にユーザIP識別テーブル１０１を更新することで、管理装置からのユーザIP識別テーブル１０１の更新指示を受信せずに、ユーザIP識別テーブル１０１を最新の状態に保つことができる。
【０１０１】
図１３は、管理装置に表示されるサーバへ迂回させるトラフィックを設定する設定画面例を示す説明図である。設定画面７００には、サーバ３０へ迂回させるトラフィックを設定する迂回トラフィック設定７０１が表示される。迂回トラフィック設定７０１は、サーバ３０へ迂回させるトラフィックの一覧情報を表示し、一覧情報のエントリ７０２とトラフィックを特定するユーザ端末１０のMACアドレスを設定するMACアドレス７０３と、サーバ３０へ迂回させるトラフィックの処理情報を設定するトラフィックの処理情報７０４を表示する。管理装置は、管理者からのサーバ３０へ迂回させるトラフィックの設定（登録）を受け付けて迂回トラフィック設定７０１に表示する。
【０１０２】
「設定」のボタン７０５が押下されると、サーバ３０へ迂回させるトラフィックの情報がコンフィグとして管理装置からゲートウェイルータ１００へ送信される。制御処理部１１０は、管理装置から入力されるコンフィグに従ってユーザMAC識別テーブル１０３を生成し、更新する。
【０１０３】
（実施例２）
実施例２は、ゲートウェイルータ１００を分散アーキテクチャで構成した場合の実施例である。
【０１０４】
図８は、実施例２におけるネットワーク全体の構成図の例である。ゲートウェイルータ１００は、制御処理部１１０と、複数の転送処理部１４０とで構成される。なお、実施例１と同一の箇所または同様な機能を有する箇所には同一の参照符号を付し、重複する説明は省略して説明する。
【０１０５】
図８では、例として転送処理部１４０が２つのみ記載されているが、実際には２つ以上の転送処理部が存在してよい。このような構成は一般的に分散アーキテクチャと呼ばれる。なお、以降の説明の簡略化のために、L2網６０に接続される転送処理部１４０を第一の転送処理部１４０−１、IP網５０に接続されるパケット転送処理部を第二の転送処理部１４０−２と定義する。第一の転送処理部１４０−１と第二の転送処理部１４０−２は、内部ポートで接続される形態の他に、スイッチファブリックを介して接続される構成をとることも可能である。
【０１０６】
第一の転送処理部１４０−１は、L2網６０からのトラフィックを識別し、第二の転送処理部１４０−２は、IP網５０からのトラフィックを識別し、識別したトラフィックを第二の転送処理部１４０−２を介してサーバ３０へそれぞれ迂回させる。また、転送部１４１は、パケットのヘッダ部の更新に加えて、ゲートウェイルータ１００内で使用する内部ヘッダの付加および取り外しも実施する。
【０１０７】
制御処理部１１０は、ユーザIP識別テーブル１０１とARPテーブル１０２とユーザMAC識別テーブル１０３とを保持し、転送処理部１４０−１、１４０−２は、ユーザIP識別テーブル１４３−１、１４３−２とARPテーブル１４４−１、１４４−２とユーザMAC識別テーブル１４５−１、１４５−２とをそれぞれ保持する。
【０１０８】
制御処理部１１０がマスタとなる各テーブルを持ち、各テーブルの内容を更新すると、転送処理部１４０−１、１４０−２それぞれに各テーブルの更新内容を通知する。通知を受けた転送処理部１４０−１、１４０−２は、通知の内容に従い保持する各テーブルを更新する。その結果、制御処理部１１０と転送処理部１４０−１、１４０−２が持つユーザIP識別テーブルとARPテーブルとユーザMAC識別テーブルの内容はそれぞれ同一となる。
【０１０９】
図９は、分散アーキテクチャで構成したゲートウェイルータが、通信対象装置からユーザ端末へ送信されたパケットを受信した際の転送処理（その１）のシーケンスの例である。図９では、転送処理部１４０がユーザIP識別テーブル１４５を用いずに動作する例を説明する。
【０１１０】
まず、通信対象装置２０は、ユーザ端末１０へパケット８００を送信する（Ｓ４３１）。ゲートウェイルータ１００が受信するパケット８００は、送信元IPアドレス：通信対象装置２０のIPアドレス、送信先IPアドレス：ユーザ端末１０のIPアドレス、送信元MACアドレス：ポート１４６−２−１宛のパケット８００が経由するゲートウェイルータ１００に隣接する通信装置（不図示）（ネクストホップ）のMACアドレス、送信先MACアドレス：ポート１４６−２−１のMACアドレス、のヘッダ情報を有する。
【０１１１】
ゲートウェイルータ１００の第二の転送処理部１４０−２は、パケット８００を受信し、第二の転送処理部１４０−２が保持する経路テーブルを参照したルーティング処理に従い、第一の転送処理部１４０−１へ転送する（Ｓ４３２）。具体的には、第二の転送処理部１４０−２は、パケット８００を受信したポート１４６に基づいてパケット８００の送信元がIP網５０であることを特定した後、パケット８００のヘッダ情報を基に、経路テーブルを検索し、検索結果に従ってゲートウェイルータ１００内で使用する内部ヘッダを付加し、検索結果のポート識別子が示す内部ポートを介して内部ヘッダを付加したパケット８０１を第一の転送処理部１４０−１へ転送（送信）する。
【０１１２】
第一の転送処理部１４０−１は、第二の転送処理部１４０−２から転送されてきたパケット８０１を受信し、サーバ３０へ迂回するパケットであるかを判定する（Ｓ４３３）。具体的には、第一の転送処理部１４０−１は、パケット８０１を受信した内部ポートに基づいてパケット８０１の送信元が第二の転送処理部１４０―２であることを特定した後、パケット８０１から内部ヘッダを除去し、内部ヘッダを除去したパケット８００の送信先IPアドレス（ユーザ端末１０のIPアドレス）を検索キーとしてARPテーブル１４４−１を検索し、パケット８００の送信先IPアドレスに対応する送信先MACアドレスを決定する。第一の転送処理部１４０−１は、決定した送信先MACアドレスを検索キーとしてユーザMAC識別テーブル１４５−１を検索してサーバ３０へ迂回するパケットであるか判定する（Ｓ４３３）。
【０１１３】
パケット８００が迂回するパケットでない場合、第一の転送処理部１４０−１は、経路テーブルを検索してヘッダ情報を更新したパケット８４０をユーザ端末１０へ送信する（Ｓ４３４）。パケット８００が迂回するパケットである場合、第一の転送処理部１４０−１は、トラフィックの処理情報４３を使用してパケット８００に付加ヘッダを付与してカプセリングし、カプセリングしたパケット８０２のヘッダ情報を検索キーに経路テーブルを検索し、検索結果に従って内部ヘッダを付加し、検索結果のポート識別子が示す内部ポートを介して内部ヘッダを付加したパケット８０３を第二の転送処理部１４０−２へ送信する（Ｓ４３６）。
【０１１４】
第二の転送処理部１４０−２は、第一の転送処理部１４０−１から転送されてきたパケット８０３を経路テーブルを参照したルーティング処理に従い、パケット８０３に含まれるトラフィックの処理情報に対応するサーバ３０−１へ送信する（Ｓ４３７）。具体的には、第二の転送処理部１４０−２は、パケット８０３を受信した内部ポートに基づいてパケット８０３の送信元が第一の転送処理部１４０―１であることを特定した後、パケット８０３から内部ヘッダを除去し、内部ヘッダを除去したパケット８０２のヘッダ情報を検索キーに経路テーブルを検索し、検索結果に従って、パケット８０２のヘッダ情報（送信先MACアドレスと送信元MACアドレス）を更新して検索結果のポート識別子が示すポート１４６を介してパケット８０２をサーバ３０−１へ送信する（S４３７）。
【０１１５】
パケット８０２は、トンネル識別子：トンネル８０−１のトンネル識別子、送信元IPアドレス：トンネル８０−１に属するポート（不図示）のIPアドレス、送信先IPアドレス：サーバ３０−１のIPアドレス、送信元MACアドレス：トンネル８０−１に属するポート（不図示）のMACアドレス、送信先MACアドレス：サーバ３０−１宛のパケット８０２が経由するゲートウェイルータ１００に隣接する通信装置（不図示）（ネクストホップ）のMACアドレス、のヘッダ情報を有する。
【０１１６】
サーバ３０−１は、ゲートウェイルータ１００から受信したパケット８０２に対して、検疫もしくは監視などの処理を実施し（Ｓ４３８）、ゲートウェイルータ１００へパケット８０４を送信する（Ｓ４３９）。
【０１１７】
ゲートウェイルータ１００の第二の転送処理部１４０−２は、サーバ３０−１から受信したパケット８０４に対し、パケット８０４を受信したポート１４６に基づいてパケット８０４の送信元がIP網５０であることを特定し、ポートトンネル対応情報を参照してパケット８０４を受信したポート１４６のポート識別子がポートトンネル対応情報のポート識別子と一致する場合に、パケット８０４に対しデカプセリングを実施する（Ｓ４４０）。
【０１１８】
第二の転送処理部１４０−２が受信するデカプセリング前のパケット８０４は、サーバ３０−１とゲートウェイルータ１００との間の通信装置（不図示）によりヘッダ情報が更新され、トンネル識別子：トンネル８０−１のトンネル識別子、送信元IPアドレス：サーバ３０−１のIPアドレス、送信先IPアドレス：トンネル８０−１に属するポート（不図示）のIPアドレス、送信元MACアドレス：トンネル８０−１に属するポート（不図示）宛のパケット８０４が経由するゲートウェイルータ１００に隣接する通信装置（不図示）（ネクストホップ）のMACアドレス、送信先MACアドレス：トンネル８０−１に属するポート（不図示）のMACアドレス、のヘッダ情報を有する。
【０１１９】
第二の転送処理部１４０−２は、デカプセリング後のパケット８０５がサーバ３０−１から送信されたパケット８０４でありデカプセリングしたパケットであるという処理結果を内部情報として保持する。第二の転送処理部１４０−２は、パケット８０５のヘッダ情報を基にした経路テーブルの検索結果に従って、パケット８０５に内部ヘッダを付加し、検索結果のポート識別子が示す内部ポートを介して内部ヘッダを付加したパケット８０６を第一の転送処理部１４０−１へ転送する（Ｓ４４２）。
【０１２０】
第一の転送処理部１４０−１は、パケット８０６を受信すると、ＡＲＰテーブル１４４−１を検索し、ユーザMAC識別テーブル１４５−１を検索してサーバ３０へ迂回するパケットであるかを判定する（S４４３）。具体的には、第一の転送処理部１４０−１は、パケット８０６を受信した内部ポートに基づいてパケット８０６の送信元が第二の転送処理部１４０―２であることを特定し、パケット８０６から内部ヘッダを除去し、内部ヘッダを除去したパケット８０５の送信先IPアドレス（ユーザ端末１０のIPアドレス）を検索キーとしてのARPテーブル１４４−１を検索し、パケット８０５の送信先IPアドレスに対応する送信先MACアドレスを決定する。
【０１２１】
第一の転送処理部１４０−１は、決定した送信先MACアドレスを検索キーとしてユーザMAC識別テーブル１４５−１を検索して該当するエントリが存在するか（ヒットするか）判定する。該当するエントリが存在する場合、第一の転送処理部１４０−１は、該当するエントリのトラフィックの情報４３を取得する。第一の転送処理部１４０−１は、取得したトラフィックの処理情報４３とステップＳ４４２で保持した内部情報とから、パケット８０６が迂回対象ではない場合、または、ユーザMAC識別テーブル１４５−１の検索で該当するエントリが存在しない場合、カプセリング処理を実施しないことを決定し、パケット８０５のヘッダ情報を基にした経路テーブルの検索結果に従って、パケット８０５のヘッダ情報（送信先MACアドレスと送信元MACアドレス）を更新して検索結果のポート識別子が示すポート１４６を介してパケット８０５をユーザ端末１０へ送信する（Ｓ４４４）。
【０１２２】
パケット８０５は、送信元IPアドレス：通信対象装置２０のIPアドレス、送信先IPアドレス：ユーザ端末１０のIPアドレス、送信元MACアドレス：ポート１４６−１−１のMACアドレス、送信先MACアドレス：ユーザ端末１０のMACアドレス、のヘッダ情報を有する。
【０１２３】
また、ユーザMAC識別テーブル１４５−１の検索で該当するエントリが存在し、パケット８０６が迂回の対象である場合、第一の転送処理部１４０−１は、ステップS４３６と同様に動作して内部ヘッダを付加したパケット８４１を第二の転送処理部１４０−２へ送信する（S４４５）。
【０１２４】
図１０は、分散アーキテクチャで構成したゲートウェイルータが、ユーザ端末から通信対象装置へ送信されたパケットを受信した際の転送処理のシーケンスの例である。図１０では、転送処理部１４０がユーザIP識別テーブル１４５を用いて動作する例を説明する。
まず、ユーザ端末１０は、通信対象装置２０へパケット６０８を送信する（Ｓ４１１）。パケット６０８は、送信元IPアドレス：ユーザ端末１０のIPアドレス、送信先IPアドレス：通信対象装置２０のIPアドレス、送信元MACアドレス：ユーザ端末１０のMACアドレス、送信先MACアドレス：ポート１４６−１−１のMACアドレス、のヘッダ情報を有する。
【０１２５】
ゲートウェイルータ１００の第一の転送処理部１４０−１は、ユーザ端末１０が送信したパケット６０８を受信して、ユーザMAC識別テーブル１４５−１を検索してサーバ３０へ迂回するパケットであるかを判定して第二の転送処理部１４０−２へ転送する（S４１２〜S４１４）。具体的には、第一の転送処理部１４０−１は、パケット６０８を受信したポート１４６に基づいてパケット６０８の送信元がL2網６０であることを特定し、受信したパケット６０８の送信元MACアドレス（ユーザ端末１０のMACアドレス）を検索キーとしてユーザMAC識別テーブル１４５−１を検索して該当するエントリが存在するか（ヒットするか）判定する（Ｓ４１２）。つまり、第一の転送処理部１４０−１は、ステップＳ４１２において、パケット６０８の送信元MACアドレスを基に、サーバ３０へ迂回するパケットか否かを判定する。
【０１２６】
第一の転送処理部１４０−１は、ステップＳ４１２において、該当するエントリが存在しない場合は、パケット６０８のヘッダ情報を基にした経路テーブルの検索結果に従って、パケット６０８に内部ヘッダを付加し、内部ポートを介して内部ヘッダを付加したパケット８４３を第二の転送処理部１４０−２へ送信する（S４１３）。
【０１２７】
ステップＳ４１２において、該当するエントリが存在する場合、第一の転送処理部１４０−１は、パケット６０８はサーバ３０へ迂回するパケットであると判定し、該当するエントリのトラフィックの処理情報４３を取得し、取得したトラフィックの処理情報を使用してパケット６０８をカプセリングし、カプセリングしたパケット６０９のヘッダ情報を検索キーに経路テーブルを検索し、検索結果に従って内部ヘッダを付加し、検索結果のポート識別子が示す内部ポートを介して内部ヘッダを付加したパケット６１０を第二の転送処理部１４０−２へ送信する（Ｓ４１４）。
【０１２８】
第二の転送処理部１４０−２は、第一の転送処理部１４０−１から転送されてきたパケット８４３から内部ヘッダを除去したパケット８４４を経路テーブルを参照したルーティング処理に従い、通信対象装置２０へ送信する（S４４６）。また、第二の転送処理部１４０−２は、第一の転送処理部１４０−１から転送されてきたパケット６１０を経路テーブルを参照したルーティング処理に従い、パケット６１０に含まれるトラフィックの処理情報に対応するサーバ３０−１へ送信する（S４１５）。具体的には、第二の転送処理部１４０−２は、パケット６１０を受信した内部ポートに基づいてパケット６１０の送信元が第一の転送処理部１４０―１であることを特定した後、パケット６１０から内部ヘッダを除去し、内部ヘッダを除去したパケット６０９のヘッダ情報を基にした経路テーブルの検索結果に従って、パケット６０９のヘッダ情報（送信先MACアドレスと送信元MACアドレス）を更新し、検索結果のポート識別子が示すポート１４６を介してパケット６０９をサーバ３０−１へ送信する（Ｓ４１５）。
【０１２９】
パケット６０９は、トンネル識別子：トンネル８０−１のトンネル識別子、送信元IPアドレス：トンネル８０−１に属するポート（不図示）のIPアドレス、送信先IPアドレス：サーバ３０−１のIPアドレス、送信元MACアドレス：トンネル８０−１に属するポート（不図示）のMACアドレス、送信先MACアドレス：サーバ３０−１宛のパケット６１１が経由するゲートウェイルータ１００に隣接する通信装置（不図示）（ネクストホップ）のMACアドレス、のヘッダ情報を有する。
【０１３０】
サーバ３０−１は、ゲートウェイルータ１００から受信したパケット６０９に対して、検疫もしくは監視などの処理を実施し（Ｓ４１６）、ゲートウェイルータ１００へパケット６１２を送信する（Ｓ４１７）。
【０１３１】
ゲートウェイルータ１００の第二の転送処理部１４０−２は、サーバ３０−１からのパケット６１２を受信すると、パケット６１２を受信したポート１４６に基づいてパケット６１２の送信元がIP網５０であることを特定し、ポートトンネル対応情報を参照し、パケット６１２を受信したポート１４６のポート識別子がポートトンネル対応情報のポート識別子と一致する場合、受信したパケット６１２に対しデカプセリングを実施する（Ｓ４１８）。
【０１３２】
第二の転送処理部１４０−２が受信するデカプセリング前のパケット６１２は、サーバ３０−１とゲートウェイルータ１００との間の通信装置（不図示）によりヘッダ情報が更新され、トンネル識別子：トンネル８０−１のトンネル識別子、送信元IPアドレス：サーバ３０のIPアドレス、送信先IPアドレス：トンネル８０−１に属するポート（不図示）のIPアドレス、送信元MACアドレス：トンネル８０−１に属するポート（不図示）宛のパケット６１２が経由するゲートウェイルータ１００に隣接する通信装置（不図示）（ネクストホップ）のMACアドレス、送信先MACアドレス：トンネル８０−１に属するポート（不図示）のMACアドレス、のヘッダ情報を有する。
【０１３３】
第二の転送処理部１４０−２は、ユーザIP識別テーブル１４３を検索してサーバ３０へ迂回するパケットであるかを判定する（Ｓ４１９）。具体的には、第二の転送処理部１４０−２は、デカプセリング後のパケット６１３が、サーバ３０−１が送信したパケット６１２でありデカプセリングしたパケットであるという処理結果の内部情報を保持する。第二の転送処理部１４０−２は、パケット６１３の送信先IPアドレス（通信対象装置２０のIPアドレス）を検索キーとしてユーザIP識別テーブル１４３を検索して、該当するエントリが存在するか（ヒットするか）判定する。該当するエントリが存在しない場合、パケット６１３の送信元ＩＰアドレス（ユーザ端末１０のＩＰアドレス）を検索キーとして、再度ユーザＩＰ識別テーブル１４３を検索して、該当するエントリが存在するか（ヒットするか）判定する。
【０１３４】
該当するエントリが存在する場合、第二転送処理部１４０−２は、該当するエントリのトラフィックの処理情報４５を取得する。そして、第二の転送処理部１４０−２は、取得したトラフィックの処理情報４５と保持した内部情報とから、パケット６１３が、サーバ３０へ迂回するパケットであるかを判定する（Ｓ４１９）。
【０１３５】
迂回の対象である場合、トラフィックの処理情報４５を使用してパケット６１３をカプセリングし、カプセリングしたパケット８４５のヘッダ情報を基にした経路テーブルの検索結果に従って、パケット８４５のヘッダ情報を更新して迂回先のサーバ３０へ送信する（S４４７）。
【０１３６】
第二の転送処理部１４０−２は、ユーザIP識別テーブル１４３の検索で該当するエントリが存在しない場合、または、ステップＳ４１９において、受信したパケット６１３がサーバ３０へ迂回させる対象でない場合は、パケット６１３のヘッダ情報を基にした経路テーブルの検索結果に従って、パケット６１３のヘッダ情報（送信先MACアドレスと送信元MACアドレス）を更新して検索結果のポート識別子が示すポート１４６を介して通信対象装置２０へ送信する（Ｓ４２０）。
【０１３７】
パケット６１３は、送信元IPアドレス：ユーザ端末１０のIPアドレス、送信先IPアドレス：通信対象装置２０のIPアドレス、送信元MACアドレス：ポート１４６−２−１のMACアドレス、送信先MACアドレス：通信対象装置２０宛のパケット６１３が経由するゲートウェイルータ１００に隣接する通信装置（不図示）（ネクストホップ）のMACアドレス、のヘッダ情報を有する。
【０１３８】
図１１は、分散アーキテクチャで構成したゲートウェイルータが、通信対象装置からユーザ端末へ送信されたパケットを受信した際の転送処理（その２）のシーケンスの例である。図１１では、転送処理部１４０がユーザIP識別テーブル１４５を用いて動作する例を説明する。
【０１３９】
図１１の処理（その２）は、図９の処理（その１）のサーバ３０へ迂回するパケットであるかを判定する処理（図９のステップＳ４３２からステップＳ４３６にかけての一連の処理）で生じるゲートウェイルータ１００内の転送帯域の消費を抑制しつつ、ユーザ端末１０のMACアドレスを使用してパケットをサーバ３０へ迂回させる処理である。
【０１４０】
まず、通信対象装置２０は、ユーザ端末１０へパケット６１４を送信する（Ｓ４３１）。パケット６１４は、送信元IPアドレス：通信対象装置２０のIPアドレス、送信先IPアドレス：ユーザ端末１０のIPアドレス、送信元MACアドレス：ポート１４６−２−１宛のパケット６１４が経由するゲートウェイルータ１００に隣接する通信装置（不図示）（ネクストホップ）のMACアドレス、送信先MACアドレス：ポート１４６−２−１のMACアドレス、のヘッダ情報を有する。
【０１４１】
ゲートウェイルータ１００の第二の転送処理部１４０−２は、通信対象装置２０が送信したパケット６１４を受信して、ユーザIP識別テーブル１４３−２を検索してサーバ３０へ迂回するパケットであるかを判定する（S４６１）。具体的には、第二の転送処理部１４０−２は、パケット６１４を受信したポート１４６に基づいてパケット６１４の送信元がIP網５０であることを特定し、受信したパケット６１４の送信先IPアドレス（ユーザ端末１０のIPアドレス）を検索キーとしてユーザIP識別テーブル１４３−２を検索して該当するエントリが存在するか（ヒットするか）判定する（Ｓ４６１）。
【０１４２】
ステップＳ４６１において、該当するエントリが存在しない場合、第二の転送処理部１４０−２は、パケット６１４はサーバ３０へ迂回するパケットではなく、ユーザ端末１０へ送信するパケットであると判定し、パケット６１４のヘッダ情報を基に経路テーブルを検索した検索結果に従って内部ヘッダを付加し、内部ヘッダを付加したパケット８４６を第一の転送処理部１４０−１へ転送（送信）する（S４６２）。第一の転送処理部１４０−１は、パケット８４６から内部ヘッダを除去したパケット８４７を経路テーブルを参照したルーティング処理に従い、ユーザ端末１０へ送信する（S４６３）
ステップＳ４６１において、該当するエントリが存在する場合、第二の転送処理部１４０−２は、パケット６１４はサーバ３０へ迂回するパケットであると判定し、該当するエントリのトラフィックの処理情報４５を取得し、取得したトラフィックの処理情報を使用してパケット６１４をカプセリングし、カプセリングしたパケット６１５のヘッダ情報を基にした経路テーブルの検索結果に従って、カプセリングしたパケット６１５のヘッダ情報（送信先MACアドレスと送信元MACアドレス）を更新し、検索結果のポート識別子が示すポート１４６を介してパケット６１５を、パケット６１５に含まれるトラフィックの処理情報に対応するサーバ３０−１へ送信する（Ｓ４３７）。
【０１４３】
パケット６１５は、トンネル識別子：トンネル８０−１のトンネル識別子、送信元IPアドレス：トンネル８０−１が属するポート（不図示）のIPアドレス、送信先IPアドレス：サーバ３０−１のIPアドレス、送信元MACアドレス：トンネル８０−１が属するポート（不図示）のMACアドレス、送信先MACアドレス：サーバ３０−１宛のパケット６１５が経由するゲートウェイルータ１００に隣接する通信装置（不図示）（ネクストホップ）のMACアドレス、のヘッダ情報を有する。
【０１４４】
サーバ３０−１は、ゲートウェイルータ１００から受信したパケット６１５に対して、検疫もしくは監視などの処理を実施し（Ｓ４３８）、ゲートウェイルータ１００へパケット６１６を送信する（Ｓ４３９）。
ゲートウェイルータ１００の第二の転送処理部１４０−２は、サーバ３０−１から受信したパケット６１６に対し、パケット６１６を受信したポート１４６に基づいてパケット６１６の送信元がIP網５０であることを特定し、ポートトンネル対応情報を参照してパケット６１６を受信したポート１４６のポート識別子がポートトンネル対応情報のポート識別子と一致する場合に、パケット６１６に対しデカプセリング処理を実施する（Ｓ４４０）。
【０１４５】
第二の転送処理部１４０−２が受信するデカプセリング前のパケット６１６は、サーバ３０−１とゲートウェイルータ１００との間の通信装置（不図示）によりヘッダ情報が更新され、トンネル識別子：トンネル８０−１のトンネル識別子、送信元IPアドレス：サーバ３０のIPアドレス、送信先IPアドレス：トンネル８０−１が属するポート（不図示）のIPアドレス、送信元MACアドレス：トンネル８０−１が属するポート（不図示）宛のパケット６１６が経由するゲートウェイルータ１００に隣接する通信装置（不図示）（ネクストホップ）のMACアドレス、送信先MACアドレス：トンネル８０−１が属するポート（不図示）のMACアドレス、のヘッダ情報を有する。
【０１４６】
第二の転送処理部１４０−２は、ユーザIP識別テーブル１４３を検索してサーバ３０あるいは別のいずれかのサーバへ迂回するパケットであるかを判定する（Ｓ４４１）。具体的には、第二の転送処理部１４０−２は、デカプセリング後のパケット６１７が、サーバ３０−１から送信されたパケット６１６でありデカプセリングしたパケットであるという処理結果の内部情報を保持する。第二の転送処理部１４０−２は、パケット６１７の送信先IPアドレス（ユーザ端末１０のIPアドレス）を検索キーとしてユーザIP識別テーブル１４３−２を検索して、該当するエントリが存在するか（ヒットするか）判定する。
【０１４７】
該当するエントリが存在する場合、第二転送処理部１４０−２は、該当するエントリのトラフィックの処理情報４５を取得する。そして、第二の転送処理部１４０−２は、取得したトラフィックの処理情報４５と保持した内部情報とからパケット６１７がサーバ３０へ迂回させる対象かを判定する（Ｓ４４１）。
【０１４８】
迂回の対象である場合、トラフィックの処理情報４５を使用してパケット６１７をカプセリングし、カプセリングしたパケット８４８のヘッダ情報を基にした経路テーブルの検索結果に従って、パケット８４８のヘッダ情報を更新して迂回先のサーバ３０へ送信する（S４６４）。
【０１４９】
第二の転送処理部１４０−２は、ユーザIP識別テーブル１４３の検索で該当するエントリが存在しない場合、または、ステップＳ４４１において、パケット６１７がサーバ３０へ迂回させる対象でない場合は、パケット６１７のヘッダ情報を基にした経路テーブルの検索結果に従って、パケット６１７に内部ヘッダを付加し、内部ポートを介して内部ヘッダを付加したパケット６１８を第一の転送処理部１４０−１へ送信（転送）する（Ｓ４４２）。
【０１５０】
第一の転送処理部１４０−１は、第二の転送処理部１４０−２から転送されてきたパケット６１８を経路テーブルを参照したルーティング処理に従い、ユーザ端末１０へ送信する（S４４３）。具体的には、第二の転送処理部１４０−２は、パケット６１８を受信した内部ポートに基づいてパケット６１８の送信元が第二の転送処理部１４０―２であることを特定した後、パケット６１８から内部ヘッダを除去し、内部ヘッダを除去したパケット６１７のヘッダ情報を基にした経路テーブルの検索結果に従って、パケット６１７のヘッダ情報（送信先MACアドレスと送信元MACアドレス）を更新し、検索結果のポート識別子が示すポート１４６を介してパケット６１７をユーザ端末１０へ送信する（Ｓ４４３）。
【０１５１】
パケット６１７は、送信元IPアドレス：通信対象装置２０のIPアドレス、送信先IPアドレス：ユーザ端末１０のIPアドレス、送信元MACアドレス：ポート１４６−１−１のMACアドレス、送信先MACアドレス：ユーザ端末１０のMACアドレス、のヘッダ情報を有する。
【０１５２】
パケットをサーバ３０へ迂回させる際のゲートウェイルータ１００内の転送帯域の消費について、図９のステップＳ４３３で、送信先MACアドレスを決定するために、ステップＳ４３２において、第二の転送処理部１４０−２から第一の転送処理部１４０−１へパケットを転送し、送信先MACアドレスの決定後、パケットの中継先がIP網５０である場合、ステップＳ４３６において、第一の転送処理部１４０−１から第二の転送処理部１４０−２へパケットを折り返す形で再度転送するので、パケットをサーバ３０へ迂回させる際にゲートウェイルータ１００内の転送帯域を消費する。
【０１５３】
一方、図１１のステップＳ４６１、S４６２、S４３７において、ゲートウェイルータ１００の第二の転送処理部１４０−２は、第一の転送処理部１４０−１へパケットを転送することなく、パケットをサーバ３０へ迂回させる。そのため、図１１の処理（その２）は、図９のステップＳ４３２〜Ｓ４３７と比較して、パケットをサーバ３０へ迂回させる際のゲートウェイルータ１００内の転送帯域の消費を抑えることができる。
【０１５４】
また、図１１のステップＳ４６１、S４６２、S４３７において、第二の転送処理部１４０−２は、IP網５０からのパケットを受信した際に、ARPテーブル１４４−２を検索してMACアドレスを取得し、取得したMACアドレスを使用してユーザMAC識別テーブル１４５−２を検索することで、第一の転送処理部１４０−１にパケットを転送せず、サーバ３０へパケットを迂回させる処理の形態も考えられる。
【０１５５】
転送処理部１４０は、パケットの転送処理を高速化するために、ARPテーブル１４４の検索やルーティングの処理などのプロトコルの処理は専用のハードウェアで実装されることが一般的であるため、複数の検索処理による処理時間や回路規模の観点から、図１１の処理（その２）は、処理遅延や回路規模の増大を抑制することができる。
【０１５６】
以上により、分散アーキテクチャで構成されるゲートウェイルータが、ユーザ端末のMACアドレスを使用してトラフィックをサーバに迂回させることが可能である。また、分散アーキテクチャで構成されるゲートウェイルータが、ゲートウェイルータ内の転送帯域の消費を抑えつつ、ユーザ端末のMACアドレスを使用してトラフィックをサーバに迂回させることが可能である。
【０１５７】
次に、ユーザIP識別テーブル１０１、１４３−１、１４３−２の生成、更新の詳細を実施例１との差分を中心に説明する。
ARPテーブル１０２へのエントリの追加を契機として、ユーザIP識別テーブル１０１、１４３−１、１４３−２にエントリを追加する処理フローを説明する。制御処理部１１０は、プロトコルの処理もしくは入力されるコンフィグに従ったARPテーブル１０２へのエントリの追加を契機として、実施例１と同様に、ユーザIP識別テーブル１０１にエントリを追加する。
【０１５８】
実施例１と異なる点は、制御処理部１１０が、ユーザIP識別テーブル１０１にエントリを追加すると、該当するエントリの追加を複数の転送処理部１４０−１、１４０−２に通知し、それぞれの転送処理部１４０−１、１４０−２が、通知に従ってユーザIP識別テーブル１４３−１、１４３−２にそれぞれエントリを追加する点である。
【０１５９】
また、ARPテーブル１０２のエントリの削除を契機としたユーザIP識別テーブル１０１、１４３−１、１４３−２からのエントリの削除の場合、実施例１と異なる点は、制御処理部１１０が、ARPテーブル１０２からのエントリの削除を契機として、ユーザIP識別テーブル１０１からエントリを削除すると、該当するエントリの削除を複数の転送処理部１４０−１、１４０−２に通知し、それぞれの転送処理部１４０−１、１４０−２が、通知に従ってユーザIP識別テーブル１４３−１、１４３−２からそれぞれエントリを削除する点である。
【０１６０】
また、ユーザMAC識別テーブル１０３へのエントリの追加を契機としたユーザIP識別テーブル１０１、１４３−１、１４３−２へのエントリの追加の場合、実施例１と異なる点は、制御処理部１１０が、ユーザMAC識別テーブル１０３へのエントリの追加を契機として、ユーザIP識別テーブル１０１にエントリを追加すると、該当するエントリの追加を複数の転送処理部１４０−１、１４０−２に通知し、それぞれの転送処理部１４０−１、１４０−２が、通知に従ってユーザIP識別テーブル１４３―１、１４３−２にそれぞれエントリを追加する点である。
【０１６１】
また、ユーザMAC識別テーブル１０３のエントリの削除を契機としたユーザIP識別テーブル１０１、１４３−１、１４３−２からのエントリの削除の場合、実施例１と異なる点は、制御処理部１１０が、ユーザMAC識別テーブル１０３のエントリの削除を契機として、ユーザIP識別テーブル１０１からエントリを削除すると、該当するエントリの削除を複数の転送処理部１４０−１、１４０−２に通知し、それぞれの転送処理部１４０−１、１４０−２が、通知に従ってユーザIP識別テーブル１４３−１、１４３−２からそれぞれエントリを削除する点である。
【０１６２】
なお、制御処理部１１０がユーザMAC識別テーブル１０３とユーザIP識別テーブル１０１の更新内容を第一の転送処理部１４０−１と第二の転送処理部１４０−２に通知する他の形態として、制御処理部１１０は、第一の転送処理部１４０−１と第二の転送処理部１４０−２の各転送処理部１４０に対して、それぞれの転送処理部１４０が使用するエントリだけを通知する形態を取ることも可能である。これにより、第一の転送処理部１４０−１と第二の転送処理部１４０−２のメモリ使用量を節約することができる。
【０１６３】
（実施例２の変形例）
図１４は、実施例２の変形例におけるネットワーク全体の構成図の例である。実施例２の更に詳細な例として、転送処理部１４０は、図１４のような構成を取ることも可能である。第一の転送処理部１４０−１と第二の転送処理部１４０−２は、ユーザ識別処理部３００とルーティング処理部３０１で構成される。ユーザ識別処理部３００は、アセンブラやC言語などの比較的高レイヤな言語により機能を実装可能なネットワークプロセッサで構成される。ルーティング処理部３０１は、ARP処理やルーティング処理などの機能を実装した専用のＡｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ（ＡＳＩＣ）あるいはＦＰＧＡなどのハードウェアで構成される。
【０１６４】
ユーザ識別処理部３００は、ユーザMAC識別テーブル１４５とユーザIP識別テーブル１４３を格納したメモリに接続し、テーブルの検索機能と、検索結果に従ってユーザ端末を識別し、パケットをカプセリングする機能を備える。ルーティング処理部３０１は、ARPテーブル１４４と経路テーブル（不図示）を格納したメモリに接続し、テーブルの検索機能と、パケットの送信先を決定する機能と検索結果に従ってパケットのヘッダ情報を更新する機能を備える。
【０１６５】
また、ユーザ識別処理部３００とそれに接続するメモリはラインカード（ラインモジュール）として実装し、ルーティング処理部３０１はラインカードを収容するスロットカード（スロットモジュール）として実装する。図１４の構成により、転送処理部１４０を実装することで、ルーティング処理やARP処理などの汎用的な処理については、既存のＡＳＩＣあるいはＦＰＧＡを使用することができ、ユーザMAC識別テーブル１４５の検索あるいはユーザIP識別テーブル１４３の検索によるユーザ端末の識別の処理や、カプセリング処理は高レイヤのプログラミングが可能になるため、開発の費用と時間を削減することができる。  なお、上記の実施例１および実施例２の説明では、ゲートウェイルータ１００がサーバ３０とトンネル８０を確立し、ゲートウェイルータ１００がサーバ３０へパケットを迂回させる際、カプセリングして転送することを例として記載したが、ゲートウェイルータ１００とサーバ３０の接続の形態と、ゲートウェイルータ１００とサーバ３０の間のパケットの転送の形態は上記の例に限定しない。例えば、ゲートウェイルータ１００とサーバ３０は直結し、ゲートウェイルータ１００は、ユーザIP識別テーブル１４３を使用して識別したパケットを、ポリシーベースルーティングを使用してサーバ３０に迂回させることも可能である。
【０１６６】
また、ゲートウェイルータ１００がL2網６０あるいはIP網５０から受信したパケットをカプセリングし、カプセリングしたパケットを経路テーブルを検索することでサーバ３０へ迂回させる例を記載したが、サーバ３０へ送信することを決定する処理の形態は経路テーブルの検索だけに限定せず、ポリシーベースルーティングのテーブル（不図示）を検索してもよい。
【０１６７】
また、サーバ３０がゲートウェイルータ１００から受信したパケットを処理する例として、検疫や分析や監視を行う例を説明したが、サーバ３０が行う処理の形態は上記の例に限定しない。例えば、サーバ３０がIDS(Intrusion Detection System)や、IPS(Intrusion Protection System)や、Firewall装置や、DPI(Deep Packet Inspection)装置やモニタリング装置である場合は、サーバ３０はパケットの分析や監視や検疫を実施するが、サーバ３０が行う処理はNAT(Network Address Translation)装置やTCP(Transmission Control Protocol)高速化装置などの他の形態をとることも可能であり、サーバ３０は形態に応じた処理を実施する。
【０１６８】
また、ゲートウェイルータ１００が、サーバ３０から受信したパケットを処理する例として、ユーザ端末１０または通信対象装置２０へパケットを送信する例を示したが、ゲートウェイルータ１００が、サーバ３０から受信したパケットを処理する形態は上記の例に限定しない。例えば、ゲートウェイルータ１００は、サーバ３０−１からパケットを受信した場合、パケットに含まれるヘッダ情報を使用して、ユーザIP識別テーブル１４３からトラフィックの処理情報を取得する。ゲートウェイルータ１００は、取得したトラフィックの処理情報に含まれるサーバ３０−１、３０−２への送信順序の情報やカプセリング処理の情報を使用して、受信したパケットに対して再度カプセリングの処理を実施し、別のサーバ３０−２にパケットを送信することも可能である。
【０１６９】
また、本実施例では、ゲートウェイルータ１００がIP網５０に接続する例と、L2のプロトコルとしてMACアドレスを使用する例と、L3のプロトコルとしてIPとARPを使用する例を示したが、ゲートウェイルータが接続するL3網の形態はIP網に限定せず、またL2とL3のプロトコルの形態は上記の例に限定しない。
【０１７０】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えばＦＰＧＡのような集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD（Solid State Drive）等の記録装置、または、IC(Integrated Circuit)カード、SDカード、DVD等の記録媒体に置くことができる。 
また、「ａａａテーブル」の表現にて各種情報を説明したが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「ａａａテーブル」を「ａａａ情報」と呼ぶことができる。また、「格納する」の表現にて各種テーブルに各情報を記録することを説明したが、「登録する」または「設定する」と表現されてもよい。
【０１７１】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１７２】
１００  ゲートウェイルータ
１０１、１４３  ユーザIP識別テーブル
１０２、１４４  ARPテーブル
１０３、１４５  ユーザMAC識別テーブル
１１０  制御処理部
１４０  パケット転送処理部
１４１  転送部
２００  トラフィック
【図１】
0006512990.tif 000002
【図２】
0006512990.tif 000003
【図３】
0006512990.tif 000004
【図４】
0006512990.tif 000005
【図５】
0006512990.tif 000006
【図６】
0006512990.tif 000007
【図７】
0006512990.tif 000008
【図８】
0006512990.tif 000009
【図９】
0006512990.tif 000010
【図１０】
0006512990.tif 000011
【図１１】
0006512990.tif 000012
【図１２Ａ】
0006512990.tif 000013
【図１２Ｂ】
0006512990.tif 000014
【図１２Ｃ】
0006512990.tif 000015
【図１３】
0006512990.tif 000016
【図１４】
0006512990.tif 000017