Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6512990B2 - 転送装置及び転送システム - Google Patents
[go: Go Back, main page]

JP6512990B2 - 転送装置及び転送システム - Google Patents

転送装置及び転送システム Download PDF

Info

Publication number
JP6512990B2
JP6512990B2 JP2015154691A JP2015154691A JP6512990B2 JP 6512990 B2 JP6512990 B2 JP 6512990B2 JP 2015154691 A JP2015154691 A JP 2015154691A JP 2015154691 A JP2015154691 A JP 2015154691A JP 6512990 B2 JP6512990 B2 JP 6512990B2
Authority
JP
Japan
Prior art keywords
address
data
information
network
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015154691A
Other languages
English (en)
Other versions
JP2017034575A (ja
Inventor
大 明石
大 明石
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alaxala Networks Corp
Original Assignee
Alaxala Networks Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alaxala Networks Corp filed Critical Alaxala Networks Corp
Priority to JP2015154691A priority Critical patent/JP6512990B2/ja
Priority to US15/219,333 priority patent/US10237177B2/en
Publication of JP2017034575A publication Critical patent/JP2017034575A/ja
Application granted granted Critical
Publication of JP6512990B2 publication Critical patent/JP6512990B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/58Caching of addresses or names
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、転送装置及び転送システムに関する。
ユーザ端末のトラフィックに対して検疫や監視を行う、特開2013-38715号公報(特許文献1)に記載の技術がある。この公報には、「ユーザ端末と通信対象装置との間の通信トラフィックの経路を、分析や監視等を行う所定の装置を経由するように迂回させる技術」が記載されており、Internet Protocol(IP)網に接続されるトンネル接続装置およびトンネル終端装置を制御する仮想ネットワーク制御装置が、トンネル接続装置に対して、トンネル接続装置がIP網に接続されるサーバと送受信するデータのうち、トンネル終端装置に迂回させるデータを識別する情報として動的に割り当てられることがあるIPアドレスを含む迂回指示を通知することが開示されている。
特開2013−38715号公報
特許文献1において、トンネル終端装置を経由するデータの特定に動的に割り当てられることがあるIPアドレスを用いると、変動する可能性のあるIPアドレスに追従した制御、つまり、仮想ネットワーク制御装置からの迂回指示の通知をIPアドレスの変更に合わせて行う制御が必要となる。そのため、トンネル接続装置が実行するトンネル終端装置を経由するデータの特定に関する処理が複雑となり、トンネル接続装置の処理負荷が高くなる。
そこで、特許文献1において、装置固有の情報であるMedia Access Control(MAC)アドレスを、トンネル終端装置を経由するデータの特定に用いることが考えられる。しかし、特許文献1に記載の仮想ネットワーク制御装置からの迂回指示にユーザ端末のMACアドレスを含めたとしても、トンネル接続装置がIP網から受信するデータには、ユーザ端末のMACアドレスが含まれないため、トンネル接続装置は、仮想ネットワーク制御装置から通知されたMACアドレスを用いてトンネル終端装置を経由するデータを特定することができないという課題がある。
上述の課題を解決するために、本発明の一態様である転送装置は、レイヤ3網に接続される第1のポートと、レイヤ2網に接続される第2のポートと、レイヤ2網内の通信装置のMACアドレスおよびデータの処理に関する情報を対応付けるデータ処理情報と、レイヤ2網内の通信装置のIPアドレスおよびMACアドレスを対応付けるアドレス情報と、を記憶する記憶部と、第1のポートを介してレイヤ2網内の通信装置宛てのデータを受信すると、データに含まれるIPアドレスを基にアドレス情報を検索してデータに含まれるIPアドレスに対応するMACアドレスを取得し、取得したMACアドレスを基にデータ処理情報を検索し、検索結果に応じて、取得したMACアドレスに対応するデータの処理に関する情報に基づいて第1のポートを介してデータを転送するかを制御し、第2のポートを介してレイヤ3網内の通信装置宛てのデータを受信すると、データに含まれるMACアドレスを基に記憶部のデータ処理情報を検索し、当該検索結果に応じて、データに含まれるMACアドレスに対応するデータの処理に関する情報に基づいて第1のポートを介してデータを転送するかを制御する転送部と、を備える。
本発明によれば、転送装置の処理負荷を低減することができる。上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
ネットワーク全体の構成図の例である。 ゲートウェイルータが送受信するパケットの構成例を説明する図である。 ARPテーブルの構成の例である。 ユーザMAC識別テーブルの構成の例である。 ユーザIP識別テーブルの構成の例である。 実施例1におけるゲートウェイルータが、ユーザ端末から通信対象装置へ送信されたパケットをサーバへ迂回させる処理のシーケンスの例である。 実施例1におけるゲートウェイルータが、通信対象装置からユーザ端末へ送信されたパケットをサーバへ迂回させる処理のシーケンスの例である。 実施例2におけるネットワーク全体の構成図の例である。 分散アーキテクチャで構成したゲートウェイルータが、通信対象装置からユーザ端末へ送信されたパケットをサーバへ迂回させる処理(その1)のシーケンスの例である。 分散アーキテクチャで構成したゲートウェイルータが、ユーザ端末から通信対象装置へ送信されたパケットをサーバへ迂回させる処理のシーケンスの例である。 分散アーキテクチャで構成したゲートウェイルータが、通信対象装置からユーザ端末へ送信されたパケットをサーバへ迂回させる処理(その2)のシーケンスの例である。 転送部が実行するパケットの転送処理のフローチャートの例である。 転送部が実行するパケットの転送処理のフローチャートの例である。 転送部が実行するパケットの転送処理のフローチャートの例である。 管理装置に表示されるサーバへ迂回させるトラフィックを設定する設定画面例を示す説明図である。 実施例2の変形例におけるネットワーク全体の構成図の例である。
以下、図面を参照して実施例を説明する。
(実施例1)
図1は、ネットワーク全体の構成図の例である。
ゲートウェイルータ100、ネットワーク側であるレイヤ3網(以下、「L3網」と呼ぶ。)のIP網50とユーザ側であるレイヤ2網(以下、「L2網」と呼ぶ。)60とに接続される転送装置(通信装置)であり、IP網50またはL2網60宛のデータ(以下、「トラフィック」とも呼ぶ。)を転送(中継)する。IP網50には、サーバ30−1(IPアドレス:IP_10、MACアドレス:MAC_10)、サーバ30−2(IPアドレス:IP_11、MACアドレス:MAC_11)と通信対象装置20−1(IPアドレス:IP_3、MACアドレス:MAC_3)、通信対象装置20−2(IPアドレス:IP_4、MACアドレス:MAC_4)が接続される。
L2網60には、ユーザ端末10−1(IPアドレス:IP_1、MACアドレス:MAC_1)、ユーザ端末10−2(IPアドレス:IP_2、MACアドレス:MAC_2)が接続される。なお、以下の説明で、ユーザ端末10−1、ユーザ端末10−2を区別しない場合は、ユーザ端末10と記載する。サーバ30、通信対象装置20なども同様である。
ユーザ端末10は、ゲートウェイルータ100を介して通信対象装置20とデータを送受信する。サーバ30は、サーバ30が受信するデータに対して、例えば検疫もしくは監視、分析などの処理を実行する。サーバ30が実行する処理は、検疫もしくは監視、分析に限られず、受信するデータに対して実行する処理であればどのような処理であってもよい。
ゲートウェイルータ100は、サーバ30−1、30−2との間にそれぞれトンネル80−1、トンネル80−2を確立し、例えば、ユーザ端末10−1またはユーザ端末10−2から受信した通信対象装置20−1宛または通信対象装置20−2宛のデータのうち迂回対象となる通信対象装置20−1宛のユーザ端末10−1のデータ200をカプセル化して、トンネル80−1を介してサーバ30−1へ送信する。また、トンネル80には、トンネルを一意に示すトンネル識別子が割り当てられる。また、トンネル識別子は、サーバ30を一意に示すサーバ識別子であってもよい。
以下の説明では、データの具体的な形式としてパケットを用いるが、フレームであってもよい。なお、実際のネットワークには、それぞれ複数のゲートウェイルータとL2網とユーザ端末とサーバとトンネルと通信対象装置とが存在してよい。また、本実施例をモバイルネットワークに適用してもよい。この場合、例えば、ユーザ端末10は、携帯電話端末に対応し、サーバ30は、モバイルネットワーク内のサービスに応じた優先制御や課金のルールなどを設定する各種サーバに対応し、ゲートウェイルータ100は、携帯電話端末と各種サーバとの間に接続されるゲートウェイ装置に対応する。
ゲートウェイルータ100は、制御処理部110と、転送処理部140を備える。制御処理部110は、プロセッサ104とメモリ105を備え、パケットの転送に必要な情報を生成して転送処理部140に送信して転送処理部140の動作の制御を行う機能部である。プロセッサ104は、メモリ105に格納されたプログラム(不図示)を実行(処理)することによって制御処理部110の機能を実現する。メモリ105は、パケットの転送に必要な情報として、ユーザIP識別テーブル101とAddress Resolution Protocol(ARP)テーブル102とユーザMAC識別テーブル103とを記憶(格納、保持)する。
ユーザIP識別テーブル101は、IPアドレスとゲートウェイルータ100が送受信するトラフィックに対する処理の情報(トラフィックの処理情報)との対応関係に関する情報を記憶する。トラフィックの処理情報は、ゲートウェイルータ100が送信(転送)するトラフィックの送信先であるIP網50内のサーバ30に関係(関連)する送信先情報(サーバ関連情報)である。ARPテーブル102は、IPアドレスとMACアドレスとの対応関係に関する情報を記憶する。ユーザMAC識別テーブル103は、MACアドレスとトラフィックの処理情報との対応関係に関する情報を記憶する。
また、ユーザIP識別テーブル101は、IPアドレス送信先情報(IPアドレスデータ処理情報、IPアドレスサーバ対応情報)であり、ARPテーブル102は、アドレス情報であり、ユーザMAC識別テーブル103は、MACアドレス送信先情報(MACアドレスデータ処理情報、MACアドレスサーバ対応情報)である。また、ユーザIP識別テーブル101は、ARPテーブル102とユーザMAC識別テーブル103とに基づいて生成される。
転送処理部140は、複数のポート146−1〜146−4と転送部141とメモリ142とを備え、ポート146を介して受信したパケットをパケットの宛先(制御処理部110またはL2網60またはIP網50)に転送する機能部である。複数のポート146−1〜146−4は、L2網60またはIP網50に接続されパケットを送受信する。なお、ゲートウェイルータ100は、複数のポート146それぞれが、ネットワーク側(IP網50)またはユーザ側(L2網60)のいずれに属するかの情報であるポートネットワーク対応情報(ポート146を一意に示すポート識別子とネットワークを一意に示すネットワーク識別子との対応関係)(不図示)を管理しており、パケットを受信したポート146に基づいて、パケットの送信元(IP網50またはL2網60)を特定する。なお、本実施例において、ポート146は、物理的なポートであっても、論理的なポートであってもよい。また、ポート146をインタフェース146と呼んでもよい。
また、ゲートウェイルータ100は、複数のポート146それぞれに対して、どのトンネルに属するか(どのトンネルに接続されるか)の情報であるポートトンネル対応情報(ポート識別子とトンネル識別子との対応関係)(不図示)を管理する。
転送部141は、メモリ142を参照してポート146を介して受信したパケットの宛先を検索し、検索結果に従ってパケットのヘッダ部に格納される情報(ヘッダ情報)を更新して、ポート146を介してパケットの転送を行う。ここで、ヘッダ情報とは、各装置がパケットを送受信する際に参照する制御情報であり、IPアドレスとMACアドレスを含む。また、転送部141は、パケットの転送時に必要に応じて、カプセリングおよびデカプセリングを含むパケットのヘッダ情報の更新を行う。
メモリ142は、パケットの転送に必要な情報として、ユーザIP識別テーブル143とARPテーブル144とユーザMAC識別テーブル145とを記憶する。
また、制御処理部110と転送処理部140はそれぞれ内部ポート(不図示)で接続される。
転送部141とメモリ142は、例えばField-Programmable Gate Array(FPGA)のような集積回路で設計する等によりハードウェアで実現してもよい。また、転送部141がプロセッサであり、これが、メモリ142に格納されたプログラム(不図示)を実行することによって、各機能が実現されてもよい。この場合、以下の説明において転送部141が実行する処理は、実際にはこれに相当するプロセッサによって実行される。
なお、ポート146は、転送処理部140とは異なる機能部であるネットワークインタフェース部に設けられてもよい。この場合、転送処理部140は、ネットワークインタフェース部を介して受信したL2網60またはL3網50からのパケットを転送する。
制御処理部110は、転送処理部140から転送されたパケットのプロトコルの処理もしくはポート146を介して接続される管理装置(不図示)から入力されるコンフィグに従ってARPテーブル102を生成し、更新する。パケットのプロトコルの処理とは、ゲートウェイルータ100がユーザ端末10あるいは隣接装置との間でARPリクエストとARPレスポンスを交換することで、ユーザ端末10あるいは隣接装置のIPアドレスに対応するMACアドレスを解決する処理や、ARPテーブル102の使用されていないエントリをタイムアウトによって削除する処理を指す。なお、IPアドレスに対応するMACアドレスを解決する処理やARPテーブル102の更新に関する処理であればどのような処理であってもよい。
また、制御処理部110は、管理装置から入力されるコンフィグに従ってユーザMAC識別テーブル103を生成し、更新する。また、制御処理部110は、ARPテーブル102およびユーザMAC識別テーブル103に基づいてユーザIP識別テーブル101を生成し、更新する。ユーザIP識別テーブル101の生成、更新の詳細は、後述する。
なお、管理装置は、ポート146とは異なる、管理用のポート(不図示)を介して接続されてもよい。また、管理用のポートは、制御処理部110と接続されてもよい。
制御処理部110は、マスタとなるARPテーブル102とユーザMAC識別テーブル103とユーザIP識別テーブル101を持ち、これらのテーブルの内容を更新すると、更新内容を転送処理部140に通知する。通知を受けた転送処理部140は、通知の内容に従い、保持するARPテーブル144とユーザMAC識別テーブル145とユーザIP識別テーブル143の内容をそれぞれ更新する。その結果、制御処理部110と転送処理部140が持つARPテーブルとユーザMAC識別テーブルとユーザIP識別テーブルの内容はそれぞれ同一となる。
図1を用いて、本実施例の動作概要を説明する。
まず、通信対象装置20−1が送信したユーザ端末10−1宛てのパケットについて説明する。ゲートウェイルータ100の転送部141は、IP網50に接続されるポート146−3を介してL2網60内のユーザ端末10−1宛てのパケットを受信すると、受信したパケットに含まれる送信先IPアドレスを検索キーとしてARPテーブル144を検索して送信先IPアドレスに対応するMACアドレスを取得し、取得したMACアドレスを検索キーとしてユーザMAC識別テーブル145を検索し、検索結果に応じて、取得したMACアドレスに対応するトラフィックの処理情報に従ってポート146−3を介して受信したパケットを転送するかを制御する。
受信したパケットに含まれる送信先IPアドレスに対応するMACアドレスを検索キーとしてユーザMAC識別テーブル145を検索した結果、このMACアドレスと対応するトラフィックの処理情報がユーザMAC識別テーブル145に存在する場合、転送部141は、ユーザMAC識別テーブル145からトラフィックの処理情報を取得し、取得したトラフィックの処理情報に基づいて受信したパケットをカプセリングして、トンネル80−1に属するポート(不図示)を介してカプセリングしたパケットをサーバ30−1へ送信する。なお、トンネル80−1に属するポート(不図示)はIP網50に接続される。
また、送信先IPアドレスに対応するMACアドレスを検索キーとしたユーザMAC識別テーブル145の検索の結果、このMACアドレスと対応するトラフィックの処理情報がユーザMAC識別テーブル145に存在しない場合、転送部141は、送信先IPアドレスに対応するMACアドレスに従って、L2網60に接続されるポート146−1を介して受信したパケットをユーザ端末10−1へ送信する。
そして、サーバ30−1へ送信したパケットがサーバ30−1で折り返され、転送部141は、トンネル80−1に属するポート(不図示)を介して折り返されたパケットを受信すると、パケットをデカプセリングし、デカプセリング後のパケットに含まれる送信先IPアドレスを検索キーとしてARPテーブル144を検索してMACアドレスを取得し、取得したMACアドレスに従って、ポート146−1を介してデカプセリング後のパケットをユーザ端末10−1へ送信する。
次に、ユーザ端末10−1が送信した通信対象装置20−1宛てのパケットについて説明する。転送部141は、ポート146−1を介してIP網50内の通信対象装置20−1宛てのパケットを受信すると、受信したパケットに含まれる送信元MACアドレスを検索キーとしてユーザMAC識別テーブル145を検索し、検索結果に応じて、送信元MACアドレスに対応するトラフィックの処理情報に従ってポート146−3を介して受信したパケットをサーバ30−1へ転送するかを制御する。
送信元MACアドレスを検索キーとしてユーザMAC識別テーブル145を検索した結果、このMACアドレスと対応するトラフィックの処理情報がユーザMAC識別テーブル145に存在する場合、転送部141は、ユーザMAC識別テーブル145からトラフィックの処理情報を取得し、取得したトラフィックの処理情報に基づいて受信したパケットをカプセリングして、トンネル80−1に属するポート(不図示)を介してカプセリングしたパケットをサーバ30−1へ送信する。
そして、サーバ30−1へ送信したパケットがサーバ30−1で折り返され、転送部141は、トンネル80−1に属するポート(不図示)を介して折り返されたパケットを受信すると、パケットをデカプセリングし、デカプセリング後のパケットに含まれる送信先IPアドレスに従って、ポート146−3を介してデカプセリング後のパケットを通信対象装置20−1へ送信する。
以下の説明において、通信対象装置20−1が送信したユーザ端末10−1宛てのパケットに含まれる送信先IPアドレスに対応するトラフィックの処理情報の取得に関して、ユーザIP識別テーブル143を用いた例を説明する。
なお、制御処理部110と転送処理部140が1つカード(モジュール)として構成されてもよいし、制御処理部110と転送処理部140がそれぞれ制御カード(制御モジュール)、転送カード(転送モジュール)として構成されてもよい。また、装置構成の別の形態として、ゲートウェイルータ100は転送処理部140のみを備え、制御処理部100を持つ外部装置(不図示)がゲートウェイルータ100に接続し、外部装置がゲートウェイルータ100の動作を制御する構成をとることも可能である。
さらに別の形態として、ゲートウェイルータ100は、現用系の転送処理部140と予備系の転送処理部140を保持して冗長構成をとることも可能であり、隣接装置やポート、現用系の転送処理部140で障害発生した場合にも、L2網60あるいはIP網50からのパケットを予備系の転送処理部140で処理することで、パケットの転送を継続して実施することが可能である。
さらに別の形態として、ゲートウェイルータ100は、複数の転送処理部140を保持し、L2網60からのパケットあるいはIP網50からのパケットを、複数の転送処理部140で分散して処理することも可能である。
なお、障害時に現用系の転送処理部140から切り替えて予備系の転送処理部140でパケットを受信する処理や、冗長構成において複数の転送処理部140にパケットを分散させる処理は、リンクアグリゲーションやルーティングプロトコルのマルチパス機能などの一般的なプロトコル処理で実現可能であり、実施の形態については本実施例では特に限定しない。
図3は、ARPテーブルの構成の例である。制御処理部110のARPテーブル102を例に説明するが、転送処理部140のARPテーブル144も同様である。
ARPテーブル102は、パケットの送信先のIPアドレス40とパケットの送信先のMACアドレス41とを対応付けたエントリを保持する。
図3の例では、ユーザ端末10−1のIPアドレス(IP_1)とMACアドレス(MAC_1)のエントリ、ユーザ端末10−2のIPアドレス(IP_2)とMACアドレス(MAC_2)のエントリ、通信対象装置20−1宛のパケットが経由するゲートウェイルータ100に隣接する通信装置(不図示)(ネクストホップ)のIPアドレス(IP_A)とMACアドレス(MAC_A)のエントリ、通信対象装置20−2宛のパケットが経由するネクストホップ(不図示)のIPアドレス(IP_B)とMACアドレス(MAC_B)のエントリが格納される。
制御処理部110は、IPアドレス40を検索キーにARPテーブル102を検索し、検索結果の出力としてMACアドレス41を取得する。なお、ARPテーブル102は、IPアドレス40と、パケットの送信先のインタフェースであるポート146のポート識別子と、MACアドレス41と、を対応付けて保持してもよい。この場合、制御処理部110は、IPアドレス40とポート識別子とを検索キーとしてMACアドレス41を取得する。また、ARPテーブル102は、IPアドレス40と、ポート識別子と、MACアドレス41と、を対応付けて保持することで、これらの3つの要素のうち、2つの要素を用いて残り1つの要素を探索してもよい。3つの要素を持つARPテーブル102とすることで、パケットのフローをより詳細に特定することができる。
図4は、ユーザMAC識別テーブルの構成の例である。制御処理部110のユーザMAC識別テーブル103を例に説明するが、転送処理部140のユーザMAC識別テーブル145も同様である。
ユーザMAC識別テーブル103は、ユーザ端末10を識別するユーザ端末10のMACアドレス42とパケットをIP網50内のサーバ30に送信する際の送信先情報であるトラフィックの処理情報43とを対応付けたエントリを保持する。
制御処理部110は、MACアドレス42を検索キーにユーザMAC識別テーブル103を検索し、検索結果の出力としてトラフィックの処理情報43を取得する。
トラフィックの処理情報43は、迂回先のサーバ30を特定する情報(ユーザ端末10と通信対象装置20との間の通信経路上にはないサーバ30に関する情報)である。トラフィックの処理情報43は、ポリシーベースルーティングに用いるパケットの出力先のポート146のポート識別子やネクストホップの情報(例えば、ネクストホップのIPアドレス)、あるいはパケットのヘッダ部に付加する付加ヘッダ(例えば、サーバ30の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)のヘッダなどの汎用的なトンネリングプロトコルのヘッダ)の情報のいずれか、または組み合わせなどで構成されるが、これらの情報に限定されない。例えば、トラフィックの処理情報43は、複数のサーバに対する付加ヘッダの情報と、複数のサーバに対する送信順序の情報などで構成されてもよく、Network Service Header(NSH)の情報で構成されてもよい。
図4の例では、ユーザ端末10−1のMACアドレス(MAC_1)と、ユーザ端末10−1が送受信するパケットをトンネル80−1を経由する際にカプセル化(カプセリング)に用いる付加ヘッダの情報(TID_1、IP_10)のエントリが格納される。付加ヘッダの情報(TID_1、IP_10)は、トンネル80−1のトンネル識別子である「TID_1」とカプセリングしたパケットの送信先のサーバ30−1のIPアドレスである「IP_10」である。なお、トラフィックの処理情報43を付加ヘッダの情報とする場合で、トンネルを識別する必要がないときは、少なくともサーバ30を示すサーバ識別子(サーバ30のIPアドレスなど)を有すればよい。また、カプセリング時に付加ヘッダに格納する情報でトラフィックの処理情報43以外の情報は、適宜ゲートウェイルータ100が自律的に取得すればよい。
なお、ユーザMAC識別テーブル103は、MACアドレス42と、ポート識別子と、トラフィックの処理情報43と、を対応付けて保持してもよい。この場合、制御処理部110は、MACアドレス42とポート識別子とを検索キーとしてトラフィックの処理情報43を取得する。また、ユーザMAC識別テーブル103は、MACアドレス42と、ポート識別子と、トラフィックの処理情報43と、を対応付けて保持することで、これらの3つの要素のうち、2つの要素を用いて残り1つの要素を探索してもよい。3つの要素を持つユーザMAC識別テーブル103とすることで、パケットのフローをより詳細に特定することができる。
図5は、ユーザIP識別テーブルの構成の例である。制御処理部110のユーザIP識別テーブル101を例に説明するが、転送処理部140のユーザIP識別テーブル143も同様である。
ユーザIP識別テーブル101は、IPアドレス44とトラフィックの処理情報45とを対応付けたエントリを保持する。ユーザIP識別テーブル101のエントリは、ARPテーブル102の検索キーであるIPアドレス40から取得したIPアドレスと、ユーザMAC識別テーブル103の出力であるトラフィックの処理情報43から取得したトラフィックの処理情報を組としたエントリである。
つまり、ユーザIP識別テーブル101のIPアドレス44とARPテーブル102のIPアドレス40とは同じIPアドレスが格納され、ユーザIP識別テーブル101のトラフィックの処理情報45とユーザMAC識別テーブル103のトラフィックの処理情報43とは同じトラフィックの処理情報が格納される。
図5の例では、ユーザ端末10−1のIPアドレス(IP_1)とトンネル80−1を経由する際のカプセリング情報である付加ヘッダの情報(TID_1、IP_10)のエントリが格納される。
制御処理部110は、IPアドレス44を検索キーにユーザIP識別テーブル101を検索し、検索結果の出力としてトラフィックの処理情報45を取得する。
図6は、実施例1におけるゲートウェイルータが、ユーザ端末から通信対象装置へ送信されたパケットを受信した際の転送処理のシーケンスの例である。
まず、ユーザ端末10は、通信対象装置20へパケット600を送信する(S351)。パケット600は、送信元IPアドレス:ユーザ端末10のIPアドレス、送信先IPアドレス:通信対象装置20のIPアドレス、送信元MACアドレス:ユーザ端末10のMACアドレス、送信先MACアドレス:ポート146−1のMACアドレス、のヘッダ情報を有する。
ゲートウェイルータ100は、L2網60からパケット600を受信すると、ユーザMAC識別テーブル145を検索してサーバ30へ迂回するパケットか否かを判定(識別、特定)する(S352)。
パケット600が迂回するパケットでない場合、ゲートウェイルータ100は、パケットの経路情報(送信先のIPアドレスと送信先のIPアドレスにパケットを送信する際に経由する隣接装置(ネクストホップ)のIPアドレスとネクストホップに接続されるポートのポート識別子との対応関係)を保持する経路テーブル(ルーティングテーブル)(不図示)を検索してヘッダ情報を更新したパケット620を通信対象装置20へ送信する(S353)。
パケット600が迂回するパケットである場合、ゲートウェイルータ100は、トラフィックの処理情報43を使用してパケット600に付加ヘッダを付与してカプセリングし、経路テーブルを検索してカプセリングしたパケット601をトラフィックの処理情報43に対応するサーバ30−1へ送信する(S354)。
カプセリングしたパケット601のペイロード部(データ部)はパケット600であり、パケット601のヘッダ部(パケット600に付加した付加ヘッダ)は、トラフィックの処理情報(付加ヘッダの情報)を含む。つまり、パケット601は、トンネル識別子:トンネル80−1のトンネル識別子、送信元IPアドレス:トンネル80−1に属するポート(不図示)のIPアドレス、送信先IPアドレス:サーバ30−1のIPアドレス、送信元MACアドレス:トンネル80−1に属するポート(不図示)のMACアドレス、送信先MACアドレス:サーバ30−1宛のパケット601が経由するゲートウェイルータ100に隣接する通信装置(不図示)(ネクストホップ)のMACアドレス、のヘッダ情報を有する。
サーバ30−1は、ゲートウェイルータ100から受信したパケット601に対して、検疫もしくは監視などの処理を実施し(S355)、ゲートウェイルータ100へパケット602を送信する(S356)。
ゲートウェイルータ100は、サーバ30−1からのパケット602を受信すると、デカプセリング(付加ヘッダの取り外し)し、ユーザIP識別テーブル143を検索してデカプセリングしたパケットがサーバ30へ迂回するパケットか否かを判定する(S357)。
ゲートウェイルータ100が受信するデカプセリング前のパケット602は、サーバ30−1とゲートウェイルータ100との間の通信装置(不図示)によりヘッダ情報が更新され、トンネル識別子:トンネル80−1のトンネル識別子、送信元IPアドレス:サーバ30のIPアドレス、送信先IPアドレス:トンネル80−1に属するポート(不図示)のIPアドレス、送信元MACアドレス:トンネル80−1に属するポート(不図示)宛のパケット602が経由するゲートウェイルータ100に隣接する通信装置(不図示)(ネクストホップ)のMACアドレス、送信先MACアドレス:トンネル80−1に属するポート(不図示)のMACアドレス、のヘッダ情報を有する。
デカプセリングしたパケットが迂回するパケットである場合、ゲートウェイルータ100は、トラフィックの処理情報45を使用してカプセリングしたパケット621を経路テーブルに従ってトラフィックの処理情報45に対応するサーバ30へ送信する(S358)。デカプセリングしたパケットが迂回するパケットでない場合は、ゲートウェイルータ100は、経路テーブルを検索してパケット603を通信対象装置20へ送信する(S359)。
パケット603は、送信元IPアドレス:ユーザ端末10のIPアドレス、送信先IPアドレス:通信対象装置20のIPアドレス、送信元MACアドレス:ポート146−3のMACアドレス、送信先MACアドレス:通信対象装置20宛のパケット603が経由するゲートウェイルータ100に隣接する通信装置(不図示)(ネクストホップ)のMACアドレス、のヘッダ情報を有する。
図7は、実施例1におけるゲートウェイルータが、通信対象装置からユーザ端末へ送信されたパケットを受信した際の転送処理のシーケンスの例である。
まず、通信対象装置20は、ユーザ端末10へパケット604を送信する(S361)。ゲートウェイルータ100が受信するパケット604は、送信元IPアドレス:通信対象装置20のIPアドレス、送信先IPアドレス:ユーザ端末10のIPアドレス、送信元MACアドレス:ポート146−3宛のパケット604が経由するゲートウェイルータ100に隣接する通信装置(不図示)(ネクストホップ)のMACアドレス、送信先MACアドレス:ポート146−3のMACアドレス、のヘッダ情報を有する。
ゲートウェイルータ100は、IP網50からパケット604を受信するとユーザIP識別テーブル143を検索してサーバ30へ迂回するパケットか否かを判定する(S362)。パケット604が迂回するパケットでない場合、ゲートウェイルータ100は、経路テーブルを検索してヘッダ情報を更新したパケット630をユーザ端末10へ送信する(S363)。パケット604が迂回するパケットである場合、ゲートウェイルータ100は、トラフィックの処理情報45を使用してパケット604に付加ヘッダを付与してカプセリングし、経路テーブルを検索してカプセリングしたパケット605をトラフィックの処理情報45に対応するサーバ30−1へ送信する(S364)。
パケット605は、トンネル識別子:トンネル80−1のトンネル識別子、送信元IPアドレス:トンネル80−1に属するポート(不図示)のIPアドレス、送信先IPアドレス:サーバ30−1のIPアドレス、送信元MACアドレス:トンネル80−1に属するポート(不図示)のMACアドレス、送信先MACアドレス:サーバ30−1宛のパケット605が経由するゲートウェイルータ100に隣接する通信装置(不図示)(ネクストホップ)のMACアドレス、のヘッダ情報を有する。
サーバ30−1は、ゲートウェイルータ100から受信したパケット605に対して、検疫もしくは監視などの処理を実施し(S365)、ゲートウェイルータ100へパケット606を送信する(S366)。
ゲートウェイルータ100は、サーバ30−1からのパケット606を受信すると、デカプセリングを実施し、ユーザIP識別テーブル143を検索してデカプセリングしたパケットがサーバ30へ迂回するパケットか否かを判定する(S367)。ゲートウェイルータ100が受信するデカプセリング前のパケット606は、サーバ30−1とゲートウェイルータ100との間の通信装置(不図示)によりヘッダ情報が更新され、送信元IPアドレス:サーバ30のIPアドレス、送信先IPアドレス:トンネル80−1が属するポート(不図示)のIPアドレス、送信元MACアドレス:トンネル80−1が属するポート(不図示)宛のパケット606が経由するゲートウェイルータ100に隣接する通信装置(不図示)(ネクストホップ)のMACアドレス、送信先MACアドレス:トンネル80−1が属するポート(不図示)のMACアドレス、のヘッダ情報を有する。
デカプセリングしたパケットが迂回するパケットである場合、ゲートウェイルータ100は、トラフィックの処理情報45を使用してカプセリングしたパケット631を経路テーブルに従ってトラフィックの処理情報45に対応するサーバ30へ送信する(S368)。デカプセリングしたパケットが迂回するパケットでない場合、ゲートウェイルータ100は、経路テーブルを検索してパケット607をユーザ端末10へ送信する(S369)。
パケット607は、送信元IPアドレス:通信対象装置20のIPアドレス、送信先IPアドレス:ユーザ端末10のIPアドレス、送信元MACアドレス:ポート146−1のMACアドレス、送信先MACアドレス:ユーザ端末10のMACアドレス、のヘッダ情報を有する。
図2は、ゲートウェイルータ100が送受信するパケットの構成例を説明する図である。
図2において、ゲートウェイルータ100は、IP網50内の隣接装置70に接続されており、隣接装置70を介してユーザ端末10と通信対象装置20が通信するトラフィック(パケット210、220、230、240)を中継する。ヘッダ情報211、221、231、241は、それぞれパケット210、220、230、240に含まれるヘッダ情報である。
ユーザ端末10が通信対象装置20へ送信するパケット210のヘッダ情報211は、ゲートウェイルータ100が受信する際、送信先IPアドレスが通信対象装置20のIPアドレス、送信元IPアドレスがユーザ端末10のIPアドレス、送信先MACアドレスがポート146−1のMACアドレス、送信元MACアドレスがユーザ端末10のMACアドレスで構成される。
ゲートウェイルータ100は、ユーザ端末10が送信したパケット210を通信対象装置20へ中継する際、ヘッダ情報の送信元MACアドレスをポート146−3のMACアドレス、送信先MACアドレスを隣接装置70のMACアドレスに書き換え、ヘッダ情報221を含むパケット220を隣接装置70へ送信する。
また、通信対象装置20がユーザ端末10へ送信したパケットは、隣接装置70にて、ヘッダ情報の送信元MACアドレスと送信先MACアドレスが書き換えられる。そして、ゲートウェイルータ100が隣接装置70を介して受信する通信対象装置20からのパケット230のヘッダ情報231は、ヘッダ情報の送信先IPアドレスがユーザ端末10のIPアドレス、送信元IPアドレスが通信対象装置20のIPアドレス、送信先MACアドレスがポート146−3のMACアドレス、送信元MACアドレスが隣接装置70のMACアドレスで構成される。
ゲートウェイルータ100は、通信対象装置20が送信したパケット230をユーザ端末10へ中継する際、ヘッダ情報の送信元MACアドレスをポート146−1のMACアドレス、送信先MACアドレスをユーザ端末10のMACアドレスに書き換え、ヘッダ情報241を含むパケット240をユーザ端末10へ送信する。
図2の点線部232に示すように、通信対象装置20がユーザ端末10へ送信したパケット230を、ゲートウェイルータ100が受信する際には、ヘッダ情報231の送信先MACアドレスおよび送信元MACアドレスに、ユーザ端末10のMACアドレスが含まれないため、ユーザ端末10のMACアドレスを用いて通信対象装置20からユーザ端末10へのトラフィックを特定(識別)することができない。
しかし、本実施例のゲートウェイルータ100は、パケット230を受信すると、ヘッダ情報231の送信先IPアドレスを検索キーに、ユーザ端末10のMACアドレスに基づいて生成したユーザIP識別テーブル101を検索して、ヘッダ情報231の送信先IPアドレスが示すユーザ端末10のMACアドレスに対応するトラフィックの処理情報45を取得することで、サーバ30へ迂回する通信対象装置20からユーザ端末10へのトラフィックを特定(識別)することができる。
このように、ゲートウェイルータ100がIP網50を介して通信対象装置20から受信するパケットには、ユーザ端末10のMACアドレスが含まれないため、ゲートウェイルータ100は、受信するパケットに含まれる送信先IPアドレスを用いてサーバ30に迂回させるトラフィックを特定(識別)する。
図12A、図12Bおよび図12Cは、転送部が実行するパケットの転送処理のフローチャートの例である。
転送部141は、いずれかのポート146を介してパケットを受信すると(S500)、パケットを受信したポート146が所属するネットワークを判定する(S501)。具体的には、転送部141は、ポートネットワーク対応情報を参照してパケットを受信したポート146のポート識別子と対応するポートネットワーク対応情報のネットワーク識別子を特定してネットワークを判定する(S501)。
パケットを受信したポート146が所属するネットワークが、L2網60の場合、転送部141は、ユーザMAC識別テーブル145を参照してサーバ30へ迂回するパケットか否かを判定(識別)する(S502、S503)。具体的には、転送部141は、受信したパケットのヘッダ情報に含まれる送信元MACアドレスを検索キーとしてユーザMAC識別テーブル145のMACアドレス42を検索して(S502)、該当するエントリが存在するか(ヒットするか)判定する(S503)。
該当するエントリが存在する場合、転送部141は、該当するエントリのトラフィックの処理情報43を取得し(S504)、取得したトラフィックの処理情報43を使用して受信したパケットをカプセリングする(S505)。転送部141は、カプセリングしたパケットのヘッダ情報を基に、経路テーブルを検索し(S506)、カプセリングしたパケットのヘッダ情報に含まれる送信先IPアドレスに対応するネクストホップのIPアドレスとポート識別子とを取得する(S507)。なお、経路テーブルについても他のテーブルと同様に、制御処理部110がマスタとなる経路テーブルを保持し、テーブルの更新内容を転送処理部140に通知することで、転送処理部140が保持する経路テーブルと制御処理部110が保持する経路テーブルの内容が同一となる。
転送部141は、ステップS507で取得したネクストホップのIPアドレスを検索キーとしてARPテーブル144を検索してネクストホップのMACアドレスを取得し(S508)、カプセリングしたパケットのヘッダ情報に含まれる送信先MACアドレスと送信元MACアドレスをそれぞれ取得したMACアドレスとステップS507で取得したポート識別子が示すポート146のMACアドレスに書き換えて、カプセリングしたパケットのヘッダ情報を更新する(S509)。そして、転送部141は、ステップS507にて取得したポート識別子が示すポート146を介してヘッダ情報を更新したパケットを送信して(S510)、パケットの転送処理を終了する。ステップS510で送信するパケットの送信先は、トラフィックの処理情報43に対応するサーバ30となる。
ステップS503にて該当するエントリが存在しない場合、転送部141は、受信したパケットのヘッダ情報を基に、経路テーブルを検索して(S511)、ルーティング処理に従って通信対象装置20へ送信する。具体的には、転送部141は、受信したパケットのヘッダ情報に含まれる送信先IPアドレスに対応するネクストホップのIPアドレスとポート識別子とを取得し(S512)、取得したネクストホップのIPアドレスを検索キーとしてARPテーブル144を検索してネクストホップのMACアドレスを取得し(S513)、受信したパケットのヘッダ情報に含まれる送信先MACアドレスと送信元MACアドレスをそれぞれ取得したMACアドレスとステップS512で取得したポート識別子が示すポート146のMACアドレスに書き換えて、受信したパケットのヘッダ情報を更新し(S514)、ステップS512にて取得したポート識別子が示すポート146を介してヘッダ情報を更新したパケットを送信する(S515)。ステップS515で送信するパケットの送信先は、受信したパケットのヘッダ情報に含まれる送信先IPアドレスに対応する通信対象装置20となる。
ステップS501にてパケットを受信したポート146が所属するネットワークが、IP網50の場合、転送部141は、受信したパケットがサーバ30から受信したパケットか否かを判定(識別)する(S530、S531)。具体的には、転送部141は、ポートトンネル対応情報を参照してパケットを受信したポート146のポート識別子と対応するポートトンネル対応情報のポート識別子を検索して(S530)、該当するエントリが存在するか(ヒットするか)判定する(S531)。
なお、受信したパケットがサーバ30から受信したパケットか否かを判定(識別)する方法は、ポートトンネル対応情報の検索に限られず、例えば、受信したパケットのヘッダ情報に含まれる送信元IPアドレスが、サーバ30のIPアドレスであるかを判定してもよく、ヘッダ情報に含まれる送信先IPアドレスが、パケットを受信したポート146のポート識別子が示すポート146のIPアドレスであるかを判定してもよく、ヘッダ情報にトンネル識別子が含まれているかを判定してもよく、受信したパケットがサーバ30から受信したパケットか通信対象装置20から受信したパケットかを判定することができれば、方法は問わない。
該当するエントリが存在しない場合、つまり、受信したパケットがサーバ30から受信したパケットではない場合、転送部141は、ユーザIP識別テーブル143を参照してサーバ30へ迂回するパケットか否かを判定(識別)する(S516、S517)。具体的には、転送部141は、受信したパケットのヘッダ情報に含まれる送信先IPアドレスを検索キーとしてユーザIP識別テーブル143のIPアドレス44を検索して(S516)、該当するエントリが存在するか(ヒットするか)判定する(S517)。
該当するエントリが存在する場合、転送部141は、該当するエントリのトラフィックの処理情報45を取得し(S518)、取得したトラフィックの処理情報45を使用して受信したパケットをカプセリングする(S519)。転送部141は、カプセリングしたパケットのヘッダ情報を基に、経路テーブルを検索し(S520)、カプセリングしたパケットのヘッダ情報に含まれる送信先IPアドレスに対応するネクストホップのIPアドレスとポート識別子とを取得する(S521)。
転送部141は、ステップS521で取得したネクストホップのIPアドレスを検索キーとしてARPテーブル144を検索してネクストホップのMACアドレスを取得し(S522)、カプセリングしたパケットのヘッダ情報に含まれる送信先MACアドレスと送信元MACアドレスをそれぞれ取得したMACアドレスとステップS521にて取得したポート識別子が示すポート146のMACアドレスに書き換えて、カプセリングしたパケットのヘッダ情報を更新する(S523)。そして、転送部141は、ステップS521にて取得したポート識別子が示すポート146を介してヘッダ情報を更新したパケットを送信して(S524)、パケットの転送処理を終了する。ステップS524で送信するパケットの送信先は、トラフィックの処理情報45に対応するサーバ30となる。
ステップS517にて該当するエントリが存在しない場合、転送部141は、受信したパケットのヘッダ情報を基に、経路テーブルを検索して(S525)、ルーティング処理に従ってユーザ端末10へ送信する。具体的には、受信したパケットのヘッダ情報に含まれる送信先IPアドレスに対応するネクストホップのIPアドレスとポート識別子とを取得し(S526)、取得したネクストホップのIPアドレスを検索キーとしてARPテーブル144を検索してネクストホップのMACアドレスを取得し(S527)、受信したパケットのヘッダ情報に含まれる送信先MACアドレスを取得したMACアドレスに書き換え、受信したパケットのヘッダ情報に含まれる送信元MACアドレスをステップS526にて取得したポート識別子が示すポート146のMACアドレスに書き換えて、受信したパケットのヘッダ情報を更新し(S528)、ステップS526にて取得したポート識別子が示すポート146を介してヘッダ情報を更新したパケットを送信する(S529)。ステップS529で送信するパケットの送信先は、受信したパケットのヘッダ情報に含まれる送信先IPアドレスに対応するユーザ端末10となる。
ステップS531にて該当するエントリが存在する場合、つまり、受信したパケットがサーバ30から受信したパケットである場合、転送部141は、受信したパケットをデカプセリング(付加ヘッダの取り外し、削除)する(S532)。転送部141は、サーバ30から受信したパケットに対してデカプセリングした旨を内部情報として保持する(S533)。転送部141は、デカプセリング後のパケットが、サーバ30から送信されたパケットであるかを、デカプセリングしたパケットであるという処理結果から判定する。転送部141は、処理結果を、内部情報として、例えば、フラグや付加データなどで保持する。なお、デカプセリング後のパケットがサーバ30から送信されたパケットであるかの判定の形態は、ヘッダ情報の送信元IPアドレスや送信先IPアドレスや、レイヤ7に含まれるサーバの送信順序の情報を使用してもよく、上記の例に限定しない。
転送部141は、デカプセリングしたパケットの送信先IPアドレスを検索キーとしてユーザIP識別テーブル143を検索してトラフィックの処理情報45を取得し、取得したトラフィックの処理情報45と保持した内部情報を参照して、デカプセリングしたパケットがサーバ30へ迂回するパケットか否かを判定(識別)する(S535〜S538)。
具体的には、転送部141は、デカプセリングしたパケットのヘッダ情報に含まれる送信先IPアドレスを検索キーとしてユーザIP識別テーブル143のIPアドレス44を検索して(S535−1)、該当するエントリが存在するか(ヒットするか)判定する(S536−1)。該当するエントリが存在しない場合、送信元IPアドレスを検索キーとして再度ユーザIP識別テーブル143のIPアドレス44を検索して(S535−2)、該当するエントリが存在するか(ヒットするか)判定する(S536-2)。ステップS536−1とステップS536−2のいずれかのステップにおいて該当するエントリが存在する場合、転送部141は、該当するエントリのトラフィックの処理情報45を取得し(S537)、取得したトラフィックの処理情報45と内部情報とを用いて、デカプセリングしたパケットが、サーバ30へ迂回させる対象かを判定する(S538)。なお、パケットをいずれかのサーバ30へ迂回させる対象かを判定する形態は、トラフィックの処理情報45に含まれる付加ヘッダの情報やサーバ30の送信順序の情報や、受信したパケットのヘッダ情報やデカプセリングされたパケットの5タプルの情報やレイヤ7に含まれるサーバ30の送信順序の情報を使用してもよく、上記の例に形態を限定しない。
迂回の対象である場合、転送部141は、トラフィックの処理情報45を使用してデカプセリングしたパケットをカプセリングし(S539)、カプセリングしたパケットのヘッダ情報を基に、経路テーブルの検索し(S540)、カプセリングしたパケットのヘッダ情報に含まれる送信先IPアドレスに対応するネクストホップのIPアドレスとポート識別子とを取得する(S541)。
転送部141は、ステップS541で取得したネクストホップのIPアドレスを検索キーとしてARPテーブル144を検索してネクストホップのMACアドレスを取得し(S542)、カプセリングしたパケットのヘッダ情報に含まれる送信先MACアドレスと送信元MACアドレスをそれぞれ取得したMACアドレスとステップS541にて取得したポート識別子が示すポート146のMACアドレスに書き換えて、カプセリングしたパケットのヘッダ情報を更新する(S543)。そして、転送部141は、ステップS541にて取得したポート識別子が示すポート146を介してヘッダ情報を更新したパケットを送信して(S544)、パケットの転送処理を終了する。ステップS544で送信するパケットの送信先は、トラフィックの処理情報45に対応するサーバ30となる。
ステップS536−1とステップS536−2の両ステップにおいて該当するエントリが存在しない場合、または、ステップS538にて迂回の対象ではない場合、転送部141は、デカプセリングしたパケットのヘッダ情報を基に、経路テーブルを検索して(S545)、ルーティング処理に従ってユーザ端末10または通信対象装置20へ送信する。具体的には、デカプセリングしたパケットのヘッダ情報に含まれる送信先IPアドレスに対応するネクストホップのIPアドレスとポート識別子とを取得し(S546)、取得したネクストホップのIPアドレスを検索キーとしてARPテーブル144を検索してネクストホップのMACアドレスを取得し(S547)、デカプセリングしたパケットのヘッダ情報に含まれる送信先MACアドレスと送信元MACアドレスをそれぞれ取得したMACアドレスとステップS546にて取得したポート識別子が示すポート146のMACアドレスに書き換えて、デカプセリングしたパケットのヘッダ情報を更新し(S548)、ステップS546にて取得したポート識別子が示すポート146を介してヘッダ情報を更新したパケットを送信する(S549)。ステップS549で送信するパケットの送信先は、受信したパケットのヘッダ情報に含まれる送信先IPアドレスに対応するユーザ端末10または通信対象装置20となる。
ここで、通信対象装置20が送信したユーザ端末10宛てのパケットに含まれる送信先IPアドレスに対応するトラフィックの処理情報の取得に関して、ユーザIP識別テーブル143を用いない場合は、ステップS516〜S517およびステップ535〜S536の代わりに、転送部141が、受信したパケットのヘッダ情報に含まれる送信先IPアドレスを検索キーとしてARPテーブル144のIPアドレス40を検索して、送信先IPアドレスに対応するMACアドレス41を取得する。そして、転送部141は、取得したMACアドレスを検索キーとしてユーザMAC識別テーブル145のMACアドレス42を検索して、該当するエントリが存在するか(ヒットするか)判定する。該当するエントリが存在する場合、転送部141は、該当するエントリのトラフィックの処理情報43を取得する。転送部141は、取得したトラフィックの処理情報43を使用してステップS519以降の処理およびステップS538以降の処理をそれぞれ実行する。
以上により、ゲートウェイルータが、ユーザ端末のMACアドレスを使用してトラフィックをサーバに迂回させることが可能となり、ユーザ端末のIPアドレスが変更された場合にも、コンフィグを再入力することなくユーザ端末を識別することが可能となるため、ゲートウェイルータの処理負荷を低減することができる。
次に、ユーザIP識別テーブル101、143の生成、更新の詳細を説明する。制御処理部110が、ユーザIP識別テーブル101のエントリを更新(追加あるいは削除)する契機は、ARPテーブル102のエントリの更新(追加あるいは削除)、または、ユーザMAC識別テーブル103のエントリの更新(追加あるいは削除)である。以下、それぞれの契機において、ユーザIP識別テーブル101、143のエントリを更新する処理について説明する。
ARPテーブル102へのエントリの追加を契機として、ユーザIP識別テーブル101、143にエントリを追加する処理フローを説明する。
制御処理部110は、転送処理部140を介して受信したパケットのプロトコルの処理もしくは転送処理部140を介して入力されるコンフィグに従ってARPテーブル102へエントリを追加すると、ARPテーブル102のエントリの追加に使用したIPアドレスとMACアドレスを一時的にメモリ105に保持する。次に、制御処理部110は、保持したMACアドレスを検索キーに使用してユーザMAC識別テーブル103のMACアドレス42を検索し、検索結果の出力としてトラフィックの処理情報43のトラフィックの処理情報を取得する。
制御処理部110は、保持したIPアドレスと、取得したトラフィックの処理情報の組をエントリとして、ユーザIP識別テーブル101にエントリを追加する。次に、制御処理部110は、転送処理部140に該当するエントリの追加を通知する。つまり、制御処理部110は、ユーザIP識別テーブル143に追加するエントリとして、ユーザIP識別テーブル101のエントリに追加したIPアドレスとトラフィックの処理情報の組を転送処理部140に通知する。
エントリの追加の通知を受けた転送処理部140は、通知に従ってユーザIP識別テーブル143に通知されたIPアドレスとトラフィックの処理情報の組のエントリを追加する。
なお、ARPテーブル102が、IPアドレス40とポート識別子とMACアドレス41とを対応付けて保持する場合、制御処理部110は、ARPテーブル102のエントリの追加に使用したポート識別子も一時的にメモリ105に保持する。この場合、制御処理部110は、MACアドレスとポート識別子を検索キーに使用してユーザMAC識別テーブル103からトラフィックの処理情報を取得する。
次に、ARPテーブル102のエントリの削除を契機として、ユーザIP識別テーブル101、143のエントリを削除する処理フローを説明する。
制御処理部110は、転送処理部140を介して受信したパケットのプロトコルの処理もしくは転送処理部140を介して入力されるコンフィグに従ってARPテーブル102のエントリの削除を契機として、ARPテーブル102のエントリの削除に使用したIPアドレスを検索キーとしてユーザIP識別テーブル101のIPアドレス44を検索し、一致したエントリを削除する。
次に、制御処理部110は、転送処理部140に該当するエントリの削除を通知する。つまり、制御処理部110は、削除するエントリのIPアドレスを転送処理部140に通知する。エントリの削除の通知を受けた転送処理部140は、通知に従ってユーザIP識別テーブル143から通知されたIPアドレスのエントリを削除する。
次に、ユーザMAC識別テーブル103へのエントリの追加を契機として、ユーザIP識別テーブル101、143にエントリを追加する処理フローを説明する。
制御処理部110は、転送処理部140を介して入力されるコンフィグに従ったユーザMAC識別テーブル103へのエントリの追加を契機として、ユーザMAC識別テーブル103のエントリの追加に使用したMACアドレスとトラフィックの処理情報を一時的にメモリ105に保持する。次に、制御処理部110は、保持したMACアドレスを使用してARPテーブル102のIPアドレス40を検索し、対応するIPアドレスを取得する。
制御処理部110は、取得したIPアドレスと、保持したトラフィックの処理情報の組をエントリとして、ユーザIP識別テーブル101にエントリを追加する。次に、制御処理部110は、転送処理部140に該当するエントリの追加を通知する。つまり、制御処理部110は、ユーザIP識別テーブル143に追加するエントリとして、ユーザIP識別テーブル101のエントリに追加したIPアドレスとトラフィックの処理情報の組を転送処理部140に通知する。
エントリの追加の通知を受けた転送処理部140は、通知に従ってユーザIP識別テーブル143に通知されたIPアドレスとトラフィックの処理情報の組のエントリを追加する。なお、ユーザMAC識別テーブル103が、MACアドレス42とポート識別子とトラフィックの処理情報43とを対応付けて保持する場合、制御処理部110は、ユーザMAC識別テーブル103のエントリの追加に使用したポート識別子も一時的にメモリ105に保持する。この場合、制御処理部110は、MACアドレスとポート識別子を検索キーに使用してARPテーブル102からIPアドレスを取得する。
次に、ユーザMAC識別テーブル103のエントリの削除を契機として、ユーザIP識別テーブル101、143のエントリを削除する処理フローを説明する。
制御処理部110は、転送処理部140を介して入力されるコンフィグに従ったユーザMAC識別テーブル103のエントリの削除を契機として、ユーザMAC識別テーブル103のエントリの削除に使用したMACアドレスを使用してARPテーブル102を検索し、対応するIPアドレスを取得する。取得したIPアドレスを検索キーとしてユーザIP識別テーブル101を検索し、一致したエントリを削除する。
次に、制御処理部110は、転送処理部140に該当するエントリの削除を通知する。エントリの削除の通知を受けた転送処理部140は、ユーザIP識別テーブル143からエントリを削除する。
以上のように、ゲートウェイルータ100は、ARPテーブル102の更新、または、ユーザMAC識別テーブル103の更新を契機にユーザIP識別テーブル101を更新することで、管理装置からのユーザIP識別テーブル101の更新指示を受信せずに、ユーザIP識別テーブル101を最新の状態に保つことができる。
図13は、管理装置に表示されるサーバへ迂回させるトラフィックを設定する設定画面例を示す説明図である。設定画面700には、サーバ30へ迂回させるトラフィックを設定する迂回トラフィック設定701が表示される。迂回トラフィック設定701は、サーバ30へ迂回させるトラフィックの一覧情報を表示し、一覧情報のエントリ702とトラフィックを特定するユーザ端末10のMACアドレスを設定するMACアドレス703と、サーバ30へ迂回させるトラフィックの処理情報を設定するトラフィックの処理情報704を表示する。管理装置は、管理者からのサーバ30へ迂回させるトラフィックの設定(登録)を受け付けて迂回トラフィック設定701に表示する。
「設定」のボタン705が押下されると、サーバ30へ迂回させるトラフィックの情報がコンフィグとして管理装置からゲートウェイルータ100へ送信される。制御処理部110は、管理装置から入力されるコンフィグに従ってユーザMAC識別テーブル103を生成し、更新する。
(実施例2)
実施例2は、ゲートウェイルータ100を分散アーキテクチャで構成した場合の実施例である。
図8は、実施例2におけるネットワーク全体の構成図の例である。ゲートウェイルータ100は、制御処理部110と、複数の転送処理部140とで構成される。なお、実施例1と同一の箇所または同様な機能を有する箇所には同一の参照符号を付し、重複する説明は省略して説明する。
図8では、例として転送処理部140が2つのみ記載されているが、実際には2つ以上の転送処理部が存在してよい。このような構成は一般的に分散アーキテクチャと呼ばれる。なお、以降の説明の簡略化のために、L2網60に接続される転送処理部140を第一の転送処理部140−1、IP網50に接続されるパケット転送処理部を第二の転送処理部140−2と定義する。第一の転送処理部140−1と第二の転送処理部140−2は、内部ポートで接続される形態の他に、スイッチファブリックを介して接続される構成をとることも可能である。
第一の転送処理部140−1は、L2網60からのトラフィックを識別し、第二の転送処理部140−2は、IP網50からのトラフィックを識別し、識別したトラフィックを第二の転送処理部140−2を介してサーバ30へそれぞれ迂回させる。また、転送部141は、パケットのヘッダ部の更新に加えて、ゲートウェイルータ100内で使用する内部ヘッダの付加および取り外しも実施する。
制御処理部110は、ユーザIP識別テーブル101とARPテーブル102とユーザMAC識別テーブル103とを保持し、転送処理部140−1、140−2は、ユーザIP識別テーブル143−1、143−2とARPテーブル144−1、144−2とユーザMAC識別テーブル145−1、145−2とをそれぞれ保持する。
制御処理部110がマスタとなる各テーブルを持ち、各テーブルの内容を更新すると、転送処理部140−1、140−2それぞれに各テーブルの更新内容を通知する。通知を受けた転送処理部140−1、140−2は、通知の内容に従い保持する各テーブルを更新する。その結果、制御処理部110と転送処理部140−1、140−2が持つユーザIP識別テーブルとARPテーブルとユーザMAC識別テーブルの内容はそれぞれ同一となる。
図9は、分散アーキテクチャで構成したゲートウェイルータが、通信対象装置からユーザ端末へ送信されたパケットを受信した際の転送処理(その1)のシーケンスの例である。図9では、転送処理部140がユーザIP識別テーブル145を用いずに動作する例を説明する。
まず、通信対象装置20は、ユーザ端末10へパケット800を送信する(S431)。ゲートウェイルータ100が受信するパケット800は、送信元IPアドレス:通信対象装置20のIPアドレス、送信先IPアドレス:ユーザ端末10のIPアドレス、送信元MACアドレス:ポート146−2−1宛のパケット800が経由するゲートウェイルータ100に隣接する通信装置(不図示)(ネクストホップ)のMACアドレス、送信先MACアドレス:ポート146−2−1のMACアドレス、のヘッダ情報を有する。
ゲートウェイルータ100の第二の転送処理部140−2は、パケット800を受信し、第二の転送処理部140−2が保持する経路テーブルを参照したルーティング処理に従い、第一の転送処理部140−1へ転送する(S432)。具体的には、第二の転送処理部140−2は、パケット800を受信したポート146に基づいてパケット800の送信元がIP網50であることを特定した後、パケット800のヘッダ情報を基に、経路テーブルを検索し、検索結果に従ってゲートウェイルータ100内で使用する内部ヘッダを付加し、検索結果のポート識別子が示す内部ポートを介して内部ヘッダを付加したパケット801を第一の転送処理部140−1へ転送(送信)する。
第一の転送処理部140−1は、第二の転送処理部140−2から転送されてきたパケット801を受信し、サーバ30へ迂回するパケットであるかを判定する(S433)。具体的には、第一の転送処理部140−1は、パケット801を受信した内部ポートに基づいてパケット801の送信元が第二の転送処理部140―2であることを特定した後、パケット801から内部ヘッダを除去し、内部ヘッダを除去したパケット800の送信先IPアドレス(ユーザ端末10のIPアドレス)を検索キーとしてARPテーブル144−1を検索し、パケット800の送信先IPアドレスに対応する送信先MACアドレスを決定する。第一の転送処理部140−1は、決定した送信先MACアドレスを検索キーとしてユーザMAC識別テーブル145−1を検索してサーバ30へ迂回するパケットであるか判定する(S433)。
パケット800が迂回するパケットでない場合、第一の転送処理部140−1は、経路テーブルを検索してヘッダ情報を更新したパケット840をユーザ端末10へ送信する(S434)。パケット800が迂回するパケットである場合、第一の転送処理部140−1は、トラフィックの処理情報43を使用してパケット800に付加ヘッダを付与してカプセリングし、カプセリングしたパケット802のヘッダ情報を検索キーに経路テーブルを検索し、検索結果に従って内部ヘッダを付加し、検索結果のポート識別子が示す内部ポートを介して内部ヘッダを付加したパケット803を第二の転送処理部140−2へ送信する(S436)。
第二の転送処理部140−2は、第一の転送処理部140−1から転送されてきたパケット803を経路テーブルを参照したルーティング処理に従い、パケット803に含まれるトラフィックの処理情報に対応するサーバ30−1へ送信する(S437)。具体的には、第二の転送処理部140−2は、パケット803を受信した内部ポートに基づいてパケット803の送信元が第一の転送処理部140―1であることを特定した後、パケット803から内部ヘッダを除去し、内部ヘッダを除去したパケット802のヘッダ情報を検索キーに経路テーブルを検索し、検索結果に従って、パケット802のヘッダ情報(送信先MACアドレスと送信元MACアドレス)を更新して検索結果のポート識別子が示すポート146を介してパケット802をサーバ30−1へ送信する(S437)。
パケット802は、トンネル識別子:トンネル80−1のトンネル識別子、送信元IPアドレス:トンネル80−1に属するポート(不図示)のIPアドレス、送信先IPアドレス:サーバ30−1のIPアドレス、送信元MACアドレス:トンネル80−1に属するポート(不図示)のMACアドレス、送信先MACアドレス:サーバ30−1宛のパケット802が経由するゲートウェイルータ100に隣接する通信装置(不図示)(ネクストホップ)のMACアドレス、のヘッダ情報を有する。
サーバ30−1は、ゲートウェイルータ100から受信したパケット802に対して、検疫もしくは監視などの処理を実施し(S438)、ゲートウェイルータ100へパケット804を送信する(S439)。
ゲートウェイルータ100の第二の転送処理部140−2は、サーバ30−1から受信したパケット804に対し、パケット804を受信したポート146に基づいてパケット804の送信元がIP網50であることを特定し、ポートトンネル対応情報を参照してパケット804を受信したポート146のポート識別子がポートトンネル対応情報のポート識別子と一致する場合に、パケット804に対しデカプセリングを実施する(S440)。
第二の転送処理部140−2が受信するデカプセリング前のパケット804は、サーバ30−1とゲートウェイルータ100との間の通信装置(不図示)によりヘッダ情報が更新され、トンネル識別子:トンネル80−1のトンネル識別子、送信元IPアドレス:サーバ30−1のIPアドレス、送信先IPアドレス:トンネル80−1に属するポート(不図示)のIPアドレス、送信元MACアドレス:トンネル80−1に属するポート(不図示)宛のパケット804が経由するゲートウェイルータ100に隣接する通信装置(不図示)(ネクストホップ)のMACアドレス、送信先MACアドレス:トンネル80−1に属するポート(不図示)のMACアドレス、のヘッダ情報を有する。
第二の転送処理部140−2は、デカプセリング後のパケット805がサーバ30−1から送信されたパケット804でありデカプセリングしたパケットであるという処理結果を内部情報として保持する。第二の転送処理部140−2は、パケット805のヘッダ情報を基にした経路テーブルの検索結果に従って、パケット805に内部ヘッダを付加し、検索結果のポート識別子が示す内部ポートを介して内部ヘッダを付加したパケット806を第一の転送処理部140−1へ転送する(S442)。
第一の転送処理部140−1は、パケット806を受信すると、ARPテーブル144−1を検索し、ユーザMAC識別テーブル145−1を検索してサーバ30へ迂回するパケットであるかを判定する(S443)。具体的には、第一の転送処理部140−1は、パケット806を受信した内部ポートに基づいてパケット806の送信元が第二の転送処理部140―2であることを特定し、パケット806から内部ヘッダを除去し、内部ヘッダを除去したパケット805の送信先IPアドレス(ユーザ端末10のIPアドレス)を検索キーとしてのARPテーブル144−1を検索し、パケット805の送信先IPアドレスに対応する送信先MACアドレスを決定する。
第一の転送処理部140−1は、決定した送信先MACアドレスを検索キーとしてユーザMAC識別テーブル145−1を検索して該当するエントリが存在するか(ヒットするか)判定する。該当するエントリが存在する場合、第一の転送処理部140−1は、該当するエントリのトラフィックの情報43を取得する。第一の転送処理部140−1は、取得したトラフィックの処理情報43とステップS442で保持した内部情報とから、パケット806が迂回対象ではない場合、または、ユーザMAC識別テーブル145−1の検索で該当するエントリが存在しない場合、カプセリング処理を実施しないことを決定し、パケット805のヘッダ情報を基にした経路テーブルの検索結果に従って、パケット805のヘッダ情報(送信先MACアドレスと送信元MACアドレス)を更新して検索結果のポート識別子が示すポート146を介してパケット805をユーザ端末10へ送信する(S444)。
パケット805は、送信元IPアドレス:通信対象装置20のIPアドレス、送信先IPアドレス:ユーザ端末10のIPアドレス、送信元MACアドレス:ポート146−1−1のMACアドレス、送信先MACアドレス:ユーザ端末10のMACアドレス、のヘッダ情報を有する。
また、ユーザMAC識別テーブル145−1の検索で該当するエントリが存在し、パケット806が迂回の対象である場合、第一の転送処理部140−1は、ステップS436と同様に動作して内部ヘッダを付加したパケット841を第二の転送処理部140−2へ送信する(S445)。
図10は、分散アーキテクチャで構成したゲートウェイルータが、ユーザ端末から通信対象装置へ送信されたパケットを受信した際の転送処理のシーケンスの例である。図10では、転送処理部140がユーザIP識別テーブル145を用いて動作する例を説明する。
まず、ユーザ端末10は、通信対象装置20へパケット608を送信する(S411)。パケット608は、送信元IPアドレス:ユーザ端末10のIPアドレス、送信先IPアドレス:通信対象装置20のIPアドレス、送信元MACアドレス:ユーザ端末10のMACアドレス、送信先MACアドレス:ポート146−1−1のMACアドレス、のヘッダ情報を有する。
ゲートウェイルータ100の第一の転送処理部140−1は、ユーザ端末10が送信したパケット608を受信して、ユーザMAC識別テーブル145−1を検索してサーバ30へ迂回するパケットであるかを判定して第二の転送処理部140−2へ転送する(S412〜S414)。具体的には、第一の転送処理部140−1は、パケット608を受信したポート146に基づいてパケット608の送信元がL2網60であることを特定し、受信したパケット608の送信元MACアドレス(ユーザ端末10のMACアドレス)を検索キーとしてユーザMAC識別テーブル145−1を検索して該当するエントリが存在するか(ヒットするか)判定する(S412)。つまり、第一の転送処理部140−1は、ステップS412において、パケット608の送信元MACアドレスを基に、サーバ30へ迂回するパケットか否かを判定する。
第一の転送処理部140−1は、ステップS412において、該当するエントリが存在しない場合は、パケット608のヘッダ情報を基にした経路テーブルの検索結果に従って、パケット608に内部ヘッダを付加し、内部ポートを介して内部ヘッダを付加したパケット843を第二の転送処理部140−2へ送信する(S413)。
ステップS412において、該当するエントリが存在する場合、第一の転送処理部140−1は、パケット608はサーバ30へ迂回するパケットであると判定し、該当するエントリのトラフィックの処理情報43を取得し、取得したトラフィックの処理情報を使用してパケット608をカプセリングし、カプセリングしたパケット609のヘッダ情報を検索キーに経路テーブルを検索し、検索結果に従って内部ヘッダを付加し、検索結果のポート識別子が示す内部ポートを介して内部ヘッダを付加したパケット610を第二の転送処理部140−2へ送信する(S414)。
第二の転送処理部140−2は、第一の転送処理部140−1から転送されてきたパケット843から内部ヘッダを除去したパケット844を経路テーブルを参照したルーティング処理に従い、通信対象装置20へ送信する(S446)。また、第二の転送処理部140−2は、第一の転送処理部140−1から転送されてきたパケット610を経路テーブルを参照したルーティング処理に従い、パケット610に含まれるトラフィックの処理情報に対応するサーバ30−1へ送信する(S415)。具体的には、第二の転送処理部140−2は、パケット610を受信した内部ポートに基づいてパケット610の送信元が第一の転送処理部140―1であることを特定した後、パケット610から内部ヘッダを除去し、内部ヘッダを除去したパケット609のヘッダ情報を基にした経路テーブルの検索結果に従って、パケット609のヘッダ情報(送信先MACアドレスと送信元MACアドレス)を更新し、検索結果のポート識別子が示すポート146を介してパケット609をサーバ30−1へ送信する(S415)。
パケット609は、トンネル識別子:トンネル80−1のトンネル識別子、送信元IPアドレス:トンネル80−1に属するポート(不図示)のIPアドレス、送信先IPアドレス:サーバ30−1のIPアドレス、送信元MACアドレス:トンネル80−1に属するポート(不図示)のMACアドレス、送信先MACアドレス:サーバ30−1宛のパケット611が経由するゲートウェイルータ100に隣接する通信装置(不図示)(ネクストホップ)のMACアドレス、のヘッダ情報を有する。
サーバ30−1は、ゲートウェイルータ100から受信したパケット609に対して、検疫もしくは監視などの処理を実施し(S416)、ゲートウェイルータ100へパケット612を送信する(S417)。
ゲートウェイルータ100の第二の転送処理部140−2は、サーバ30−1からのパケット612を受信すると、パケット612を受信したポート146に基づいてパケット612の送信元がIP網50であることを特定し、ポートトンネル対応情報を参照し、パケット612を受信したポート146のポート識別子がポートトンネル対応情報のポート識別子と一致する場合、受信したパケット612に対しデカプセリングを実施する(S418)。
第二の転送処理部140−2が受信するデカプセリング前のパケット612は、サーバ30−1とゲートウェイルータ100との間の通信装置(不図示)によりヘッダ情報が更新され、トンネル識別子:トンネル80−1のトンネル識別子、送信元IPアドレス:サーバ30のIPアドレス、送信先IPアドレス:トンネル80−1に属するポート(不図示)のIPアドレス、送信元MACアドレス:トンネル80−1に属するポート(不図示)宛のパケット612が経由するゲートウェイルータ100に隣接する通信装置(不図示)(ネクストホップ)のMACアドレス、送信先MACアドレス:トンネル80−1に属するポート(不図示)のMACアドレス、のヘッダ情報を有する。
第二の転送処理部140−2は、ユーザIP識別テーブル143を検索してサーバ30へ迂回するパケットであるかを判定する(S419)。具体的には、第二の転送処理部140−2は、デカプセリング後のパケット613が、サーバ30−1が送信したパケット612でありデカプセリングしたパケットであるという処理結果の内部情報を保持する。第二の転送処理部140−2は、パケット613の送信先IPアドレス(通信対象装置20のIPアドレス)を検索キーとしてユーザIP識別テーブル143を検索して、該当するエントリが存在するか(ヒットするか)判定する。該当するエントリが存在しない場合、パケット613の送信元IPアドレス(ユーザ端末10のIPアドレス)を検索キーとして、再度ユーザIP識別テーブル143を検索して、該当するエントリが存在するか(ヒットするか)判定する。
該当するエントリが存在する場合、第二転送処理部140−2は、該当するエントリのトラフィックの処理情報45を取得する。そして、第二の転送処理部140−2は、取得したトラフィックの処理情報45と保持した内部情報とから、パケット613が、サーバ30へ迂回するパケットであるかを判定する(S419)。
迂回の対象である場合、トラフィックの処理情報45を使用してパケット613をカプセリングし、カプセリングしたパケット845のヘッダ情報を基にした経路テーブルの検索結果に従って、パケット845のヘッダ情報を更新して迂回先のサーバ30へ送信する(S447)。
第二の転送処理部140−2は、ユーザIP識別テーブル143の検索で該当するエントリが存在しない場合、または、ステップS419において、受信したパケット613がサーバ30へ迂回させる対象でない場合は、パケット613のヘッダ情報を基にした経路テーブルの検索結果に従って、パケット613のヘッダ情報(送信先MACアドレスと送信元MACアドレス)を更新して検索結果のポート識別子が示すポート146を介して通信対象装置20へ送信する(S420)。
パケット613は、送信元IPアドレス:ユーザ端末10のIPアドレス、送信先IPアドレス:通信対象装置20のIPアドレス、送信元MACアドレス:ポート146−2−1のMACアドレス、送信先MACアドレス:通信対象装置20宛のパケット613が経由するゲートウェイルータ100に隣接する通信装置(不図示)(ネクストホップ)のMACアドレス、のヘッダ情報を有する。
図11は、分散アーキテクチャで構成したゲートウェイルータが、通信対象装置からユーザ端末へ送信されたパケットを受信した際の転送処理(その2)のシーケンスの例である。図11では、転送処理部140がユーザIP識別テーブル145を用いて動作する例を説明する。
図11の処理(その2)は、図9の処理(その1)のサーバ30へ迂回するパケットであるかを判定する処理(図9のステップS432からステップS436にかけての一連の処理)で生じるゲートウェイルータ100内の転送帯域の消費を抑制しつつ、ユーザ端末10のMACアドレスを使用してパケットをサーバ30へ迂回させる処理である。
まず、通信対象装置20は、ユーザ端末10へパケット614を送信する(S431)。パケット614は、送信元IPアドレス:通信対象装置20のIPアドレス、送信先IPアドレス:ユーザ端末10のIPアドレス、送信元MACアドレス:ポート146−2−1宛のパケット614が経由するゲートウェイルータ100に隣接する通信装置(不図示)(ネクストホップ)のMACアドレス、送信先MACアドレス:ポート146−2−1のMACアドレス、のヘッダ情報を有する。
ゲートウェイルータ100の第二の転送処理部140−2は、通信対象装置20が送信したパケット614を受信して、ユーザIP識別テーブル143−2を検索してサーバ30へ迂回するパケットであるかを判定する(S461)。具体的には、第二の転送処理部140−2は、パケット614を受信したポート146に基づいてパケット614の送信元がIP網50であることを特定し、受信したパケット614の送信先IPアドレス(ユーザ端末10のIPアドレス)を検索キーとしてユーザIP識別テーブル143−2を検索して該当するエントリが存在するか(ヒットするか)判定する(S461)。
ステップS461において、該当するエントリが存在しない場合、第二の転送処理部140−2は、パケット614はサーバ30へ迂回するパケットではなく、ユーザ端末10へ送信するパケットであると判定し、パケット614のヘッダ情報を基に経路テーブルを検索した検索結果に従って内部ヘッダを付加し、内部ヘッダを付加したパケット846を第一の転送処理部140−1へ転送(送信)する(S462)。第一の転送処理部140−1は、パケット846から内部ヘッダを除去したパケット847を経路テーブルを参照したルーティング処理に従い、ユーザ端末10へ送信する(S463)
ステップS461において、該当するエントリが存在する場合、第二の転送処理部140−2は、パケット614はサーバ30へ迂回するパケットであると判定し、該当するエントリのトラフィックの処理情報45を取得し、取得したトラフィックの処理情報を使用してパケット614をカプセリングし、カプセリングしたパケット615のヘッダ情報を基にした経路テーブルの検索結果に従って、カプセリングしたパケット615のヘッダ情報(送信先MACアドレスと送信元MACアドレス)を更新し、検索結果のポート識別子が示すポート146を介してパケット615を、パケット615に含まれるトラフィックの処理情報に対応するサーバ30−1へ送信する(S437)。
パケット615は、トンネル識別子:トンネル80−1のトンネル識別子、送信元IPアドレス:トンネル80−1が属するポート(不図示)のIPアドレス、送信先IPアドレス:サーバ30−1のIPアドレス、送信元MACアドレス:トンネル80−1が属するポート(不図示)のMACアドレス、送信先MACアドレス:サーバ30−1宛のパケット615が経由するゲートウェイルータ100に隣接する通信装置(不図示)(ネクストホップ)のMACアドレス、のヘッダ情報を有する。
サーバ30−1は、ゲートウェイルータ100から受信したパケット615に対して、検疫もしくは監視などの処理を実施し(S438)、ゲートウェイルータ100へパケット616を送信する(S439)。
ゲートウェイルータ100の第二の転送処理部140−2は、サーバ30−1から受信したパケット616に対し、パケット616を受信したポート146に基づいてパケット616の送信元がIP網50であることを特定し、ポートトンネル対応情報を参照してパケット616を受信したポート146のポート識別子がポートトンネル対応情報のポート識別子と一致する場合に、パケット616に対しデカプセリング処理を実施する(S440)。
第二の転送処理部140−2が受信するデカプセリング前のパケット616は、サーバ30−1とゲートウェイルータ100との間の通信装置(不図示)によりヘッダ情報が更新され、トンネル識別子:トンネル80−1のトンネル識別子、送信元IPアドレス:サーバ30のIPアドレス、送信先IPアドレス:トンネル80−1が属するポート(不図示)のIPアドレス、送信元MACアドレス:トンネル80−1が属するポート(不図示)宛のパケット616が経由するゲートウェイルータ100に隣接する通信装置(不図示)(ネクストホップ)のMACアドレス、送信先MACアドレス:トンネル80−1が属するポート(不図示)のMACアドレス、のヘッダ情報を有する。
第二の転送処理部140−2は、ユーザIP識別テーブル143を検索してサーバ30あるいは別のいずれかのサーバへ迂回するパケットであるかを判定する(S441)。具体的には、第二の転送処理部140−2は、デカプセリング後のパケット617が、サーバ30−1から送信されたパケット616でありデカプセリングしたパケットであるという処理結果の内部情報を保持する。第二の転送処理部140−2は、パケット617の送信先IPアドレス(ユーザ端末10のIPアドレス)を検索キーとしてユーザIP識別テーブル143−2を検索して、該当するエントリが存在するか(ヒットするか)判定する。
該当するエントリが存在する場合、第二転送処理部140−2は、該当するエントリのトラフィックの処理情報45を取得する。そして、第二の転送処理部140−2は、取得したトラフィックの処理情報45と保持した内部情報とからパケット617がサーバ30へ迂回させる対象かを判定する(S441)。
迂回の対象である場合、トラフィックの処理情報45を使用してパケット617をカプセリングし、カプセリングしたパケット848のヘッダ情報を基にした経路テーブルの検索結果に従って、パケット848のヘッダ情報を更新して迂回先のサーバ30へ送信する(S464)。
第二の転送処理部140−2は、ユーザIP識別テーブル143の検索で該当するエントリが存在しない場合、または、ステップS441において、パケット617がサーバ30へ迂回させる対象でない場合は、パケット617のヘッダ情報を基にした経路テーブルの検索結果に従って、パケット617に内部ヘッダを付加し、内部ポートを介して内部ヘッダを付加したパケット618を第一の転送処理部140−1へ送信(転送)する(S442)。
第一の転送処理部140−1は、第二の転送処理部140−2から転送されてきたパケット618を経路テーブルを参照したルーティング処理に従い、ユーザ端末10へ送信する(S443)。具体的には、第二の転送処理部140−2は、パケット618を受信した内部ポートに基づいてパケット618の送信元が第二の転送処理部140―2であることを特定した後、パケット618から内部ヘッダを除去し、内部ヘッダを除去したパケット617のヘッダ情報を基にした経路テーブルの検索結果に従って、パケット617のヘッダ情報(送信先MACアドレスと送信元MACアドレス)を更新し、検索結果のポート識別子が示すポート146を介してパケット617をユーザ端末10へ送信する(S443)。
パケット617は、送信元IPアドレス:通信対象装置20のIPアドレス、送信先IPアドレス:ユーザ端末10のIPアドレス、送信元MACアドレス:ポート146−1−1のMACアドレス、送信先MACアドレス:ユーザ端末10のMACアドレス、のヘッダ情報を有する。
パケットをサーバ30へ迂回させる際のゲートウェイルータ100内の転送帯域の消費について、図9のステップS433で、送信先MACアドレスを決定するために、ステップS432において、第二の転送処理部140−2から第一の転送処理部140−1へパケットを転送し、送信先MACアドレスの決定後、パケットの中継先がIP網50である場合、ステップS436において、第一の転送処理部140−1から第二の転送処理部140−2へパケットを折り返す形で再度転送するので、パケットをサーバ30へ迂回させる際にゲートウェイルータ100内の転送帯域を消費する。
一方、図11のステップS461、S462、S437において、ゲートウェイルータ100の第二の転送処理部140−2は、第一の転送処理部140−1へパケットを転送することなく、パケットをサーバ30へ迂回させる。そのため、図11の処理(その2)は、図9のステップS432〜S437と比較して、パケットをサーバ30へ迂回させる際のゲートウェイルータ100内の転送帯域の消費を抑えることができる。
また、図11のステップS461、S462、S437において、第二の転送処理部140−2は、IP網50からのパケットを受信した際に、ARPテーブル144−2を検索してMACアドレスを取得し、取得したMACアドレスを使用してユーザMAC識別テーブル145−2を検索することで、第一の転送処理部140−1にパケットを転送せず、サーバ30へパケットを迂回させる処理の形態も考えられる。
転送処理部140は、パケットの転送処理を高速化するために、ARPテーブル144の検索やルーティングの処理などのプロトコルの処理は専用のハードウェアで実装されることが一般的であるため、複数の検索処理による処理時間や回路規模の観点から、図11の処理(その2)は、処理遅延や回路規模の増大を抑制することができる。
以上により、分散アーキテクチャで構成されるゲートウェイルータが、ユーザ端末のMACアドレスを使用してトラフィックをサーバに迂回させることが可能である。また、分散アーキテクチャで構成されるゲートウェイルータが、ゲートウェイルータ内の転送帯域の消費を抑えつつ、ユーザ端末のMACアドレスを使用してトラフィックをサーバに迂回させることが可能である。
次に、ユーザIP識別テーブル101、143−1、143−2の生成、更新の詳細を実施例1との差分を中心に説明する。
ARPテーブル102へのエントリの追加を契機として、ユーザIP識別テーブル101、143−1、143−2にエントリを追加する処理フローを説明する。制御処理部110は、プロトコルの処理もしくは入力されるコンフィグに従ったARPテーブル102へのエントリの追加を契機として、実施例1と同様に、ユーザIP識別テーブル101にエントリを追加する。
実施例1と異なる点は、制御処理部110が、ユーザIP識別テーブル101にエントリを追加すると、該当するエントリの追加を複数の転送処理部140−1、140−2に通知し、それぞれの転送処理部140−1、140−2が、通知に従ってユーザIP識別テーブル143−1、143−2にそれぞれエントリを追加する点である。
また、ARPテーブル102のエントリの削除を契機としたユーザIP識別テーブル101、143−1、143−2からのエントリの削除の場合、実施例1と異なる点は、制御処理部110が、ARPテーブル102からのエントリの削除を契機として、ユーザIP識別テーブル101からエントリを削除すると、該当するエントリの削除を複数の転送処理部140−1、140−2に通知し、それぞれの転送処理部140−1、140−2が、通知に従ってユーザIP識別テーブル143−1、143−2からそれぞれエントリを削除する点である。
また、ユーザMAC識別テーブル103へのエントリの追加を契機としたユーザIP識別テーブル101、143−1、143−2へのエントリの追加の場合、実施例1と異なる点は、制御処理部110が、ユーザMAC識別テーブル103へのエントリの追加を契機として、ユーザIP識別テーブル101にエントリを追加すると、該当するエントリの追加を複数の転送処理部140−1、140−2に通知し、それぞれの転送処理部140−1、140−2が、通知に従ってユーザIP識別テーブル143―1、143−2にそれぞれエントリを追加する点である。
また、ユーザMAC識別テーブル103のエントリの削除を契機としたユーザIP識別テーブル101、143−1、143−2からのエントリの削除の場合、実施例1と異なる点は、制御処理部110が、ユーザMAC識別テーブル103のエントリの削除を契機として、ユーザIP識別テーブル101からエントリを削除すると、該当するエントリの削除を複数の転送処理部140−1、140−2に通知し、それぞれの転送処理部140−1、140−2が、通知に従ってユーザIP識別テーブル143−1、143−2からそれぞれエントリを削除する点である。
なお、制御処理部110がユーザMAC識別テーブル103とユーザIP識別テーブル101の更新内容を第一の転送処理部140−1と第二の転送処理部140−2に通知する他の形態として、制御処理部110は、第一の転送処理部140−1と第二の転送処理部140−2の各転送処理部140に対して、それぞれの転送処理部140が使用するエントリだけを通知する形態を取ることも可能である。これにより、第一の転送処理部140−1と第二の転送処理部140−2のメモリ使用量を節約することができる。
(実施例2の変形例)
図14は、実施例2の変形例におけるネットワーク全体の構成図の例である。実施例2の更に詳細な例として、転送処理部140は、図14のような構成を取ることも可能である。第一の転送処理部140−1と第二の転送処理部140−2は、ユーザ識別処理部300とルーティング処理部301で構成される。ユーザ識別処理部300は、アセンブラやC言語などの比較的高レイヤな言語により機能を実装可能なネットワークプロセッサで構成される。ルーティング処理部301は、ARP処理やルーティング処理などの機能を実装した専用のApplication Specific Integrated Circuit(ASIC)あるいはFPGAなどのハードウェアで構成される。
ユーザ識別処理部300は、ユーザMAC識別テーブル145とユーザIP識別テーブル143を格納したメモリに接続し、テーブルの検索機能と、検索結果に従ってユーザ端末を識別し、パケットをカプセリングする機能を備える。ルーティング処理部301は、ARPテーブル144と経路テーブル(不図示)を格納したメモリに接続し、テーブルの検索機能と、パケットの送信先を決定する機能と検索結果に従ってパケットのヘッダ情報を更新する機能を備える。
また、ユーザ識別処理部300とそれに接続するメモリはラインカード(ラインモジュール)として実装し、ルーティング処理部301はラインカードを収容するスロットカード(スロットモジュール)として実装する。図14の構成により、転送処理部140を実装することで、ルーティング処理やARP処理などの汎用的な処理については、既存のASICあるいはFPGAを使用することができ、ユーザMAC識別テーブル145の検索あるいはユーザIP識別テーブル143の検索によるユーザ端末の識別の処理や、カプセリング処理は高レイヤのプログラミングが可能になるため、開発の費用と時間を削減することができる。 なお、上記の実施例1および実施例2の説明では、ゲートウェイルータ100がサーバ30とトンネル80を確立し、ゲートウェイルータ100がサーバ30へパケットを迂回させる際、カプセリングして転送することを例として記載したが、ゲートウェイルータ100とサーバ30の接続の形態と、ゲートウェイルータ100とサーバ30の間のパケットの転送の形態は上記の例に限定しない。例えば、ゲートウェイルータ100とサーバ30は直結し、ゲートウェイルータ100は、ユーザIP識別テーブル143を使用して識別したパケットを、ポリシーベースルーティングを使用してサーバ30に迂回させることも可能である。
また、ゲートウェイルータ100がL2網60あるいはIP網50から受信したパケットをカプセリングし、カプセリングしたパケットを経路テーブルを検索することでサーバ30へ迂回させる例を記載したが、サーバ30へ送信することを決定する処理の形態は経路テーブルの検索だけに限定せず、ポリシーベースルーティングのテーブル(不図示)を検索してもよい。
また、サーバ30がゲートウェイルータ100から受信したパケットを処理する例として、検疫や分析や監視を行う例を説明したが、サーバ30が行う処理の形態は上記の例に限定しない。例えば、サーバ30がIDS(Intrusion Detection System)や、IPS(Intrusion Protection System)や、Firewall装置や、DPI(Deep Packet Inspection)装置やモニタリング装置である場合は、サーバ30はパケットの分析や監視や検疫を実施するが、サーバ30が行う処理はNAT(Network Address Translation)装置やTCP(Transmission Control Protocol)高速化装置などの他の形態をとることも可能であり、サーバ30は形態に応じた処理を実施する。
また、ゲートウェイルータ100が、サーバ30から受信したパケットを処理する例として、ユーザ端末10または通信対象装置20へパケットを送信する例を示したが、ゲートウェイルータ100が、サーバ30から受信したパケットを処理する形態は上記の例に限定しない。例えば、ゲートウェイルータ100は、サーバ30−1からパケットを受信した場合、パケットに含まれるヘッダ情報を使用して、ユーザIP識別テーブル143からトラフィックの処理情報を取得する。ゲートウェイルータ100は、取得したトラフィックの処理情報に含まれるサーバ30−1、30−2への送信順序の情報やカプセリング処理の情報を使用して、受信したパケットに対して再度カプセリングの処理を実施し、別のサーバ30−2にパケットを送信することも可能である。
また、本実施例では、ゲートウェイルータ100がIP網50に接続する例と、L2のプロトコルとしてMACアドレスを使用する例と、L3のプロトコルとしてIPとARPを使用する例を示したが、ゲートウェイルータが接続するL3網の形態はIP網に限定せず、またL2とL3のプロトコルの形態は上記の例に限定しない。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えばFPGAのような集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、IC(Integrated Circuit)カード、SDカード、DVD等の記録媒体に置くことができる。
また、「aaaテーブル」の表現にて各種情報を説明したが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「aaaテーブル」を「aaa情報」と呼ぶことができる。また、「格納する」の表現にて各種テーブルに各情報を記録することを説明したが、「登録する」または「設定する」と表現されてもよい。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
100 ゲートウェイルータ
101、143 ユーザIP識別テーブル
102、144 ARPテーブル
103、145 ユーザMAC識別テーブル
110 制御処理部
140 パケット転送処理部
141 転送部
200 トラフィック

Claims (13)

  1. レイヤ3網に接続される第1のポートと、
    レイヤ2網に接続される第2のポートと、
    前記レイヤ2網内の通信装置のMedia Access Control(MAC)アドレスおよびデータの処理に関する情報を対応付けるデータ処理情報と、前記レイヤ2網内の前記通信装置のInternet Protocol(IP)アドレスおよび前記MACアドレスを対応付けるアドレス情報と、を記憶する記憶部と、
    前記第1のポートを介して前記レイヤ2網内の前記通信装置宛てのデータを受信すると、前記データに含まれるIPアドレスを基に前記アドレス情報を検索して前記データに含まれる前記IPアドレスに対応するMACアドレスを取得し、前記取得したMACアドレスを基に前記データ処理情報を検索し、検索結果に応じて、前記取得したMACアドレスに対応するデータの処理に関する情報に基づいて前記第1のポートを介して前記データを転送するかを制御し、前記第2のポートを介して前記レイヤ3網内の通信装置宛てのデータを受信すると、前記データに含まれるMACアドレスを基に前記記憶部の前記データ処理情報を検索し、当該検索結果に応じて、前記データに含まれる前記MACアドレスに対応するデータの処理に関する情報に基づいて前記第1のポートを介して前記データを転送するかを制御する転送部と、
    を備える転送装置。
  2. 請求項1に記載の転送装置であって、
    前記データの処理に関する情報は、前記レイヤ3網内のデータの送信先に関するレイヤ3網送信先情報であり、
    前記データ処理情報は、前記レイヤ2網内の通信装置の前記MACアドレスおよび前記レイヤ3網送信先情報を対応付ける第1の送信先情報であり、
    前記転送部は、
    前記検索結果に応じて、前記取得したMACアドレスに対応するレイヤ3網送信先情報の送信先に前記第1のポートを介して前記データを転送するかを制御する、
    転送装置。
  3. 請求項2に記載の転送装置であって、
    前記記憶部の前記第1の送信先情報および前記アドレス情報に基づいて、前記アドレス情報の前記IPアドレスと前記第1の送信先情報の前記レイヤ3網送信先情報とを対応付ける第2の送信先情報を生成し、前記生成した第2の送信先情報を前記記憶部に記憶させる制御部を、
    さらに備え、
    前記転送部は、
    前記第1のポートを介して前記レイヤ2網内の前記通信装置宛てのデータを受信すると、前記データに含まれるIPアドレスを基に前記第2の送信先情報を検索し、検索結果に応じて、前記データに含まれる前記IPアドレスに対応するレイヤ3網送信先情報の送信先に前記第1のポートを介して前記データを転送する、
    転送装置。
  4. 請求項3に記載の転送装置であって、
    前記転送部は、
    前記第1のポートを介して前記レイヤ2網内の前記通信装置宛ての第1のデータを受信すると、前記第1のデータに含まれる送信先IPアドレスを基に前記記憶部の前記第2の送信先情報を検索し、前記第1のデータに含まれる前記送信先IPアドレスに対応するレイヤ3網送信先情報の送信先に前記第1のポートを介して前記第1のデータを転送し、
    前記第2のポートを介して前記レイヤ3網内の通信装置宛ての第2のデータを受信すると、前記第2のデータに含まれる送信元MACアドレスを基に前記記憶部の前記第1の送信先情報を検索し、前記第2のデータに含まれる前記送信元MACアドレスに対応するレイヤ3網送信先情報の送信先に前記第1のポートを介して前記第2のデータを転送する、
    転送装置。
  5. 請求項3に記載の転送装置であって、
    前記転送部は、
    前記第1のポートを介してデータを受信すると、前記受信したデータが、前記第1のポートを介して前記送信先に転送した、前記レイヤ2網内の前記通信装置宛てのデータである場合、前記受信したデータを前記第1のポートまたは前記第2のポートの何れかのポートを介して転送する、
    転送装置。
  6. 請求項3に記載の転送装置であって、
    前記転送部は、
    前記第1のポートを介して前記レイヤ2網内の前記通信装置宛てのデータを受信すると、受信した前記データのヘッダ情報に含まれるIPアドレスと前記記憶部の前記第2の送信先情報とに基づき、前記ヘッダ情報に含まれる前記IPアドレスに対応する前記レイヤ3網送信先情報が示す前記レイヤ3網内の送信先に、受信した前記データを前記第1のポートを介して転送する、
    転送装置。
  7. 請求項3に記載の転送装置であって、
    前記制御部は、
    所定の契機によって、前記記憶部の前記第1の送信先情報または前記アドレス情報を更新すると、前記第2の送信先情報を更新する、
    転送装置。
  8. 請求項7に記載の転送装置であって、
    前記制御部は、
    前記アドレス情報を更新すると、前記更新したアドレス情報のMACアドレスを基に、前記第1の送信先情報を検索し、前記更新したアドレス情報の前記MACアドレスに対応するレイヤ3網送信先情報を取得し、前記取得したレイヤ3網送信先情報と前記更新したアドレス情報のIPアドレスとに基づいて、前記第2の送信先情報を更新する、
    転送装置。
  9. 請求項1に記載の転送装置であって、
    前記データの処理に関する情報は、前記レイヤ3網内のデータの送信先に関するレイヤ3網送信先情報であり、
    前記データ処理情報は、前記レイヤ2網内の通信装置の前記MACアドレスおよび前記レイヤ3網送信先情報を対応付ける送信先情報であり、
    前記転送部は、
    前記レイヤ2網内の前記通信装置宛てのデータを受信した場合の前記送信先情報の検索結果に応じて、前記取得したMACアドレスに対応するレイヤ3網送信先情報の送信先に前記第1のポートを介して前記レイヤ2網内の前記通信装置宛てのデータを転送するかを制御し、
    前記レイヤ3網内の通信装置宛てのデータを受信した場合の前記送信先情報の検索結果に応じて、前記データに含まれる前記MACアドレスに対応するレイヤ3網送信先情報の送信先に前記第1のポートを介して前記レイヤ3網内の前記通信装置宛てのデータを転送するかを制御する、
    転送装置。
  10. 請求項2に記載の転送装置であって、
    前記転送部は、
    前記第1のポートを介して前記データを転送する場合、前記レイヤ3網送信先情報を用いて前記データをカプセリングする、
    転送装置。
  11. レイヤ2網に接続される第1のポートと、
    レイヤ3網に接続される第2のポートと、
    前記第1のポートに接続される第1の転送部と、
    前記第2のポートに接続される第2の転送部と、
    前記レイヤ2網内の通信装置のMedia Access Control(MAC)アドレスおよび前記レイヤ3網内のデータの送信先に関するレイヤ3網送信先情報を対応付ける送信先情報と、前記レイヤ2網内の前記通信装置のInternet Protocol(IP)アドレスおよび前記MACアドレスを対応付けるアドレス情報と、を記憶する記憶部と、
    を備え、
    前記第2の転送部は、
    前記第2のポートを介して前記レイヤ2網内の前記通信装置宛てのデータを受信すると、前記データを前記第1の転送部へ転送し、
    前記第1の転送部は、
    前記第2の転送部から転送された前記データに含まれるIPアドレスを基に前記アドレス情報を検索して前記データに含まれる前記IPアドレスに対応するMACアドレスを取得し、前記取得したMACアドレスを基に前記送信先情報を検索し、検索結果に応じて、前記第1のポートを介して前記通信装置へ前記データを転送するか、または、前記取得したMACアドレスに対応するレイヤ3網送信先情報に基づいて前記データを前記第2の転送部へ転送するか、のいずれかを実行し、
    前記第2の転送部は、
    前記第1の転送部から前記レイヤ3網送信先情報に基づいた前記データを受信すると、当該データを前記レイヤ3網送信先情報の送信先に前記第2のポートを介して転送する、
    転送装置。
  12. 請求項11に記載の転送装置であって、
    前記第1の転送部は、
    前記第1のポートを介して前記レイヤ3網内の通信装置宛てのデータを受信すると、当該データに含まれるIPアドレスを基に前記アドレス情報を検索して前記データに含まれる前記IPアドレスに対応するMACアドレスを取得し、前記取得したMACアドレスを基に前記送信先情報を検索し、検索結果に応じて、前記第2の転送部へ前記データを第1のデータとして転送するか、または、前記取得したMACアドレスに対応するレイヤ3網送信先情報に基づいて前記データを第2のデータとして前記第2の転送部へ転送するか、のいずれかを実行し、
    前記第2の転送部は、
    前記第1の転送部から前記第1のデータを受信すると、前記レイヤ3網内の前記通信装置に前記第2のポートを介して前記第1のデータを転送し、前記第1の転送部から前記第2のデータを受信すると、前記送信先に前記第2のポートを介して前記第2のデータを転送する、
    転送装置。
  13. レイヤ2網に接続される第1の通信装置と、
    レイヤ3網に接続される第2の通信装置およびサーバと、
    前記レイヤ2網および前記レイヤ3網の間に接続される転送装置と、
    を備える転送システムであって、
    前記転送装置は、
    前記第1の通信装置のMedia Access Control(MAC)アドレスおよび前記サーバに関するサーバ関連情報を対応付けるMACサーバ対応情報と、前記第1の通信装置のInternet Protocol(IP)アドレスおよび前記MACアドレスを対応付けるアドレス情報と、を記憶し、
    前記第2の通信装置から前記第1の通信装置宛ての第1のデータを受信すると、前記第1のデータに含まれるIPアドレスを基に前記アドレス情報を検索して前記第1のデータに含まれる前記IPアドレスに対応するMACアドレスを取得し、前記取得したMACアドレスを基に前記MACサーバ対応情報を検索し、検索結果に応じて、前記取得したMACアドレスに対応するサーバ関連情報に基づいて前記サーバへ前記第1のデータを転送するかを制御し、
    前記第1の通信装置から前記第2の通信装置宛ての第2のデータを受信すると、前記第2のデータに含まれるMACアドレスを基に前記MACサーバ対応情報を検索し、検索結果に応じて、前記第2のデータに含まれる前記MACアドレスに対応するサーバ関連情報に基づいて前記サーバへ前記第2のデータを転送するかを制御する、
    転送システム。
JP2015154691A 2015-08-05 2015-08-05 転送装置及び転送システム Active JP6512990B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015154691A JP6512990B2 (ja) 2015-08-05 2015-08-05 転送装置及び転送システム
US15/219,333 US10237177B2 (en) 2015-08-05 2016-07-26 Transfer device and transfer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015154691A JP6512990B2 (ja) 2015-08-05 2015-08-05 転送装置及び転送システム

Publications (2)

Publication Number Publication Date
JP2017034575A JP2017034575A (ja) 2017-02-09
JP6512990B2 true JP6512990B2 (ja) 2019-05-15

Family

ID=57989511

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015154691A Active JP6512990B2 (ja) 2015-08-05 2015-08-05 転送装置及び転送システム

Country Status (2)

Country Link
US (1) US10237177B2 (ja)
JP (1) JP6512990B2 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10904144B2 (en) 2012-12-27 2021-01-26 Sitting Man, Llc Methods, systems, and computer program products for associating a name with a network path
US10374938B1 (en) 2012-12-27 2019-08-06 Sitting Man, Llc Routing methods, systems, and computer program products
US10397100B1 (en) 2012-12-27 2019-08-27 Sitting Man, Llc Routing methods, systems, and computer program products using a region scoped outside-scope identifier
US10404582B1 (en) 2012-12-27 2019-09-03 Sitting Man, Llc Routing methods, systems, and computer program products using an outside-scope indentifier
US10447575B1 (en) 2012-12-27 2019-10-15 Sitting Man, Llc Routing methods, systems, and computer program products
US10411997B1 (en) 2012-12-27 2019-09-10 Sitting Man, Llc Routing methods, systems, and computer program products for using a region scoped node identifier
US10212076B1 (en) 2012-12-27 2019-02-19 Sitting Man, Llc Routing methods, systems, and computer program products for mapping a node-scope specific identifier
US10587505B1 (en) 2012-12-27 2020-03-10 Sitting Man, Llc Routing methods, systems, and computer program products
US10419334B1 (en) 2012-12-27 2019-09-17 Sitting Man, Llc Internet protocol routing methods, systems, and computer program products
US10476787B1 (en) 2012-12-27 2019-11-12 Sitting Man, Llc Routing methods, systems, and computer program products
US10419335B1 (en) 2012-12-27 2019-09-17 Sitting Man, Llc Region scope-specific outside-scope indentifier-equipped routing methods, systems, and computer program products
US10411998B1 (en) 2012-12-27 2019-09-10 Sitting Man, Llc Node scope-specific outside-scope identifier-equipped routing methods, systems, and computer program products
US10404583B1 (en) 2012-12-27 2019-09-03 Sitting Man, Llc Routing methods, systems, and computer program products using multiple outside-scope identifiers
US10397101B1 (en) 2012-12-27 2019-08-27 Sitting Man, Llc Routing methods, systems, and computer program products for mapping identifiers
US10165093B2 (en) * 2015-08-31 2018-12-25 Cisco Technology, Inc. Generating segment routing conduit in service provider network for routing packets
US10122631B1 (en) * 2016-05-06 2018-11-06 Adtran, Inc. Systems and methods for prioritizing packets
US10404788B2 (en) * 2016-06-30 2019-09-03 Alibaba Group Holding Limited Express route transmissions between virtual machines and cloud service computing devices
US10419330B2 (en) 2016-07-21 2019-09-17 Alibaba Group Holding Limited Express route transmissions between virtual machines and cloud service computing devices
US10560407B2 (en) * 2016-10-06 2020-02-11 Sap Se Payload description for computer messaging
US10419389B2 (en) * 2017-07-20 2019-09-17 Arista Networks, Inc. Method and system for using a top of rack switch as an overlay routing intermediate point
JP6764433B2 (ja) * 2018-03-01 2020-09-30 日本電信電話株式会社 通信装置、通信方法及びプログラム
CN113098702A (zh) * 2019-12-23 2021-07-09 中兴通讯股份有限公司 分配和确定网元ip地址的方法、网元、管理域网络
CN113132220B (zh) * 2019-12-31 2022-12-06 华为技术有限公司 一种路由信息的处理方法及装置
WO2021212378A1 (zh) * 2020-04-22 2021-10-28 深圳市汇顶科技股份有限公司 数据处理方法、装置、研发端工具及产线端工具
JP7492127B2 (ja) * 2020-06-09 2024-05-29 富士通株式会社 通信装置及び通信方法
JP7502116B2 (ja) * 2020-08-28 2024-06-18 ファナック株式会社 ネットワークシステム
WO2022258199A1 (en) * 2021-06-11 2022-12-15 Huawei Technologies Co., Ltd. Instance-affine service scheduling
CN113810511B (zh) * 2021-08-06 2024-03-19 锐捷网络股份有限公司 Arp表的更新方法及装置
CN117857481A (zh) * 2022-09-30 2024-04-09 明泰科技股份有限公司 用于三层交换机的路由信息管理方法及系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4236398B2 (ja) * 2001-08-15 2009-03-11 富士通株式会社 通信方法、通信システム及び通信接続プログラム
CN101129035A (zh) * 2005-02-28 2008-02-20 日本电气株式会社 通信装置、通信系统、通信方法以及程序
US20070058646A1 (en) * 2005-08-25 2007-03-15 Siemens Aktiengesellschaft Device and method for forwarding multicast traffic in a hybrid device
JP4855162B2 (ja) * 2006-07-14 2012-01-18 株式会社日立製作所 パケット転送装置及び通信システム
US8166205B2 (en) * 2007-07-31 2012-04-24 Cisco Technology, Inc. Overlay transport virtualization
EP2210371A4 (en) * 2007-11-14 2011-10-05 Ericsson Telefon Ab L M METHOD FOR REDUCING MEMORY CAPACITY REQUIRED OF SWITCHES USING MAC ADDRESSES FICTIVE SOURCES
WO2011083567A1 (ja) * 2010-01-06 2011-07-14 富士通株式会社 負荷分散システム及びその方法
JP5445262B2 (ja) * 2010-03-23 2014-03-19 日本電気株式会社 検疫ネットワークシステム、検疫管理サーバ、仮想端末へのリモートアクセス中継方法およびそのプログラム
JP5670279B2 (ja) 2011-08-10 2015-02-18 エヌ・ティ・ティ・コミュニケーションズ株式会社 仮想ネットワーク制御装置、仮想ネットワーク制御方法、仮想ネットワーク制御システム、及びプログラム
US9240944B2 (en) * 2012-10-19 2016-01-19 Cisco Technology, Inc. Overlay services in communication networks
US9571507B2 (en) * 2012-10-21 2017-02-14 Mcafee, Inc. Providing a virtual security appliance architecture to a virtual cloud infrastructure
CN105745886B (zh) * 2013-09-23 2019-06-04 迈克菲有限公司 在两个实体之间提供快速路径

Also Published As

Publication number Publication date
US20170041223A1 (en) 2017-02-09
JP2017034575A (ja) 2017-02-09
US10237177B2 (en) 2019-03-19

Similar Documents

Publication Publication Date Title
JP6512990B2 (ja) 転送装置及び転送システム
US10791066B2 (en) Virtual network
US10237377B2 (en) Packet rewriting apparatus, control apparatus, communication system, packet transmission method and program
US8942238B2 (en) Apparatus and method for establishing tunnels between nodes in a communication network
US11750515B2 (en) Data transmission method and apparatus
US9191139B1 (en) Systems and methods for reducing the computational resources for centralized control in a network
US11310081B2 (en) Packet transmission method and apparatus
US9491000B2 (en) Data transport system, transmission method, and transport apparatus
US11336485B2 (en) Hitless linkup of ethernet segment
US20150358232A1 (en) Packet Forwarding Method and VXLAN Gateway
CN115225568B (zh) 对以太网虚拟私有网络—虚拟可扩展局域网的快速重路由
US20150117451A1 (en) Communication between hetrogenous networks
EP3913870A1 (en) Packet forwarding method and network device
EP3902207B1 (en) Packet forwarding method and network device
US11012412B2 (en) Method and system for network traffic steering towards a service device
EP3192221B1 (en) Method and network node for scalable computer network partitioning
JP6402078B2 (ja) ネットワークシステムおよびパケット転送方法
US12126598B2 (en) Managing exchanges between edge gateways in a cloud environment to support a private network connection
US20130336321A1 (en) Relay forward system, path control device, and edge apparatus
WO2014064976A1 (ja) ネットワーク機器、制御方法、及びプログラム
WO2015137977A1 (en) A switching fabric including a virtual switch
CN117097656A (zh) 一种报文处理的方法及相关设备
JP2018019232A (ja) パケット伝送装置、及び、経路切替制御方法
US11824780B2 (en) Managing tunnel interface selection between gateways in a computing environment
US20230239273A1 (en) Managing exchanges between edge gateways and hosts in a cloud environment to support a private network connection

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170119

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170125

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171211

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171211

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20180223

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20180314

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181217

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190402

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190409

R150 Certificate of patent or registration of utility model

Ref document number: 6512990

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250