(57)【要約】  単一のネットワークにおいても適用できるＴｗｉｃｅ  ＮＡＴ機能を提供する。制御装置は、ホストの位置情報と、擬似ＩＰアドレスと、実ＩＰアドレスと、ホスト名とを対応付けたマッピング情報を管理するマッピング情報管理部と、前記ホストからのパケットの転送経路上の転送ノードに対し、前記マッピング情報に基づいて、送信元ＩＰアドレス及び宛先ＩＰアドレスに記載された擬似ＩＰアドレスと実アドレスとをそれぞれ対応する実アドレスと擬似ＩＰアドレスへの書き換えを指示する指示生成部と、を備える。
2014142278.tif 000002
【特許請求の範囲】
【請求項１】
ホストの位置情報と、擬似ＩＰアドレスと、実ＩＰアドレスと、ホスト名とを対応付けたマッピング情報を管理するマッピング情報管理部と、
前記ホストからのパケットの転送経路上の転送ノードに対し、前記マッピング情報に基づいて、送信元ＩＰアドレス及び宛先ＩＰアドレスに記載された擬似ＩＰアドレスと実アドレスとをそれぞれ対応する実アドレスと擬似ＩＰアドレスへの書き換えを指示する指示生成部と、
を備える制御装置。
【請求項２】
前記ホストからのパケット受信を契機に、前記マッピング情報を生成して前記マッピング情報管理部に登録する請求項１の制御装置。
【請求項３】
さらに、前記位置情報に基づいてユニークな擬似ＩＰアドレスを発行する擬似アドレス管理部を備える請求項２の制御装置。
【請求項４】
前記ホストの位置情報に基づいてユニークなホスト名を発行する請求項２又は３の制御装置。
【請求項５】
さらに、前記ホストの位置情報に基づいて、前記転送ノードから受信したパケットに対する応答パケットの出力指示を送信する応答パケット出力指示部を備える請求項１から４いずれか一の制御装置。
【請求項６】
複数のホストに対し、同一の実ＩＰアドレスを割り当てる請求項１から５いずれか一の制御装置。
【請求項７】
前記ホストからのパケットの転送経路上の転送ノードに対し、前記書き換え対象のパケットを特定するマッチ条件と、前記送信元ＩＰアドレス及び宛先ＩＰアドレスの書き換えを指示する処理内容とを対応付けた制御情報を設定することにより、前記アドレスの書き換えを指示する請求項１から６いずれか一の制御装置。
【請求項８】
ホストの位置情報と、擬似ＩＰアドレスと、実ＩＰアドレスと、ホスト名とを対応付けたマッピング情報を管理するマッピング情報管理部と、前記ホストからのパケットの転送経路上の転送ノードに対し、前記マッピング情報に基づいて、送信元ＩＰアドレス及び宛先ＩＰアドレスに記載された擬似ＩＰアドレスと実アドレスとをそれぞれ対応する実アドレスと擬似ＩＰアドレスへの書き換えを指示する指示生成部と、を備える制御装置と、
前記制御装置からの指示に従い、送信元ＩＰアドレス及び宛先ＩＰアドレスの書き換えを行う転送ノードと、
を含む通信システム。
【請求項９】
ホストの位置情報と、擬似ＩＰアドレスと、実ＩＰアドレスと、ホスト名とを対応付けたマッピング情報を管理するステップと、
前記ホストからのパケットの転送経路上の転送ノードに対し、前記マッピング情報に基づいて、送信元ＩＰアドレス及び宛先ＩＰアドレスに記載された擬似ＩＰアドレスと実アドレスとをそれぞれ対応する実アドレスと擬似ＩＰアドレスへの書き換えを指示するステップと、
を含む通信方法。
【請求項１０】
ホストの位置情報と、擬似ＩＰアドレスと、実ＩＰアドレスと、ホスト名とを対応付けたマッピング情報を管理する処理と、
前記ホストからのパケットの転送経路上の転送ノードに対し、前記マッピング情報に基づいて、送信元ＩＰアドレス及び宛先ＩＰアドレスに記載された擬似ＩＰアドレスと実アドレスとをそれぞれ対応する実アドレスと擬似ＩＰアドレスへの書き換えを指示する処理と、
前記転送ノードを制御するコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願についての記載］
本発明は、日本国特許出願：特願２０１３−０５１８６１号（２０１３年  ３月１４日出願）に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、制御装置、通信システム、通信方法及びプログラムに関し、特に、重複したＩＰアドレスを持つエンティティが存在するネットワークでの通信を実現する制御装置、通信システム、通信方法及びプログラムに関する。
【背景技術】
【０００２】
重複したＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスを許容するネットワークにおいて、擬似ＩＰアドレスと呼ばれるアドレスと、実ＩＰアドレスと呼ばれるアドレスとの組を用いる方法が知られている。例えば、クライアント機器の複数のネットワークインタフェースカード（以下、「ＮＩＣ」）の違いを識別するために内部的に、ユニークな擬似ＩＰアドレスを用いることがある。これにより、ＮＩＣは実ＩＰアドレスを共有した状態で設定できるようになる。通信処理中においては、事前に設定された書き換えポリシに基づいてパケットのＩＰアドレスの書き換えがスイッチ群によって実行される。【０００３】
送信元ＩＰアドレスと宛先ＩＰアドレスとを書き換える非特許文献１、２のＴｗｉｃｅ  ＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）機能もまた、重複したＩＰアドレスを許容するネットワークを実現するために用いることができる。【０００４】
非特許文献３には、Ｐｒｏｘｙ  ＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）と呼ばれるＡＲＰ代理応答機能の仕様が定められている。【０００５】
また、非特許文献４、５にオープンフロー（ＯｐｅｎＦｌｏｗ）という技術が提案されている。非特許文献５に仕様化されているオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するマッチ条件（Ｍａｔｃｈ  Ｆｉｅｌｄｓ）と、フロー統計情報（Ｃｏｕｎｔｅｒｓ）と、処理内容を定義したインストラクション（Ｉｎｓｔｒｕｃｔｉｏｎｓ）と、の組が定義される（非特許文献５の「５．２  Ｆｌｏｗ  Ｔａｂｌｅ」の項参照）。【０００６】
例えば、オープンフロースイッチは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するマッチ条件（非特許文献５の「５．３  Ｍａｔｃｈｉｎｇ」参照）を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、フロー統計情報（カウンタ）を更新するとともに、受信パケットに対して、当該エントリのインストラクションフィールドに記述された処理内容（指定ポートからのパケット送信、フラッディング、廃棄等）を実施する。一方、検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対してエントリ設定の要求、即ち、受信パケットを処理するための制御情報の送信要求（Ｐａｃｋｅｔ−Ｉｎメッセージ）を送信する。オープンフロースイッチは、処理内容が定められたフローエントリを受け取ってフローテーブルを更新する。このように、オープンフロースイッチは、フローテーブルに格納されたエントリを制御情報として用いてパケット転送を行う。【０００７】
その他、特許文献１に、ＤＮＳ−ＡＬＧ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｅｒｖｉｃｅ−Ａｐｐｌｉｃａｔｉｏｎ  Ｌｅｖｅｌ  Ｇａｔｅｗａｙ）とＴｗｉｃｅ  ＮＡＴ機能の連携時のＤＮＳ−ＡＬＧの処理負荷軽減と変換テーブルの削減を可能にするというアドレス変換方法が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００３−８７３３６号公報
【非特許文献】
【０００９】
【非特許文献１】ＩＰ  Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｏｒ  （ＮＡＴ）  Ｔｅｒｍｉｎｏｌｏｇｙ  ａｎｄ  Ｃｏｎｓｉｄｅｒａｔｉｏｎｓ，  ＲＦＣ  ２６６３，  Ａｕｇ  １９９９
【非特許文献２】Ｔｗｉｃｅ  ＮＡＴ機能、［ｏｎｌｉｎｅ］、［平成２５（２０１３）年３月７日検索］、インターネット〈http://www.rtpro.yamaha.co.jp/RT/docs/nat-descriptor/twice-nat.html〉
【非特許文献３】Ｕｓｉｎｇ  ＡＲＰ  ｔｏ  Ｉｍｐｌｅｍｅｎｔ  Ｔｒａｎｓｐａｒｅｎｔ  Ｓｕｂｎｅｔ  Ｇａｔｅｗａｙｓ，  ＲＦＣ  １０２７，  Ｏｃｔ  １９８７
【非特許文献４】Ｎｉｃｋ  ＭｃＫｅｏｗｎほか７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［平成２５（２０１３）年２月１８日検索］、インターネット〈URL:http://www.openflow.org/documents/openflow-wp-latest.pdf〉
【非特許文献５】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”  Ｖｅｒｓｉｏｎ  １．３．１  （Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０４）、［ｏｎｌｉｎｅ］、［平成２５（２０１３）年２月１８日検索］、インターネット〈URL:http://www.opennetworking.org/images/stories/downloads/specification/openflow-spec-v1.3.1.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【００１０】
以下の分析は、本発明によって与えられたものである。図１２は、Ｔｗｉｃｅ  ＮＡＴ機能の典型的な適用事例を示す図である。Ｔｗｉｃｅ  ＮＡＴ機能は、図１２に示すようにプライベートアドレスが衝突しているケースにおいて、始点アドレスと終点アドレスの両方の書き換えを行なうものである。その反面、Ｔｗｉｃｅ  ＮＡＴ機能は、非特許文献２に説明されているとおり順方向と逆方向のスタティックな変換を行うものであり、柔軟性に欠けるという問題点がある。【００１１】
本発明は、図１２に示すようなネットワーク構成に加え、図１に示すような単一のネットワークにおいても、重複したＩＰアドレスを持つホスト（ＶＭ；Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）間の通信を実現できるようにする制御装置、通信システム、通信方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
第１の視点によれば、ホストの位置情報と、擬似ＩＰアドレスと、実ＩＰアドレスと、ホスト名とを対応付けたマッピング情報を管理するマッピング情報管理部と、前記ホストからのパケットの転送経路上の転送ノードに対し、前記マッピング情報に基づいて、送信元ＩＰアドレス及び宛先ＩＰアドレスに記載された擬似ＩＰアドレスと実アドレスとをそれぞれ対応する実アドレスと擬似ＩＰアドレスへの書き換えを指示する指示生成部と、を備える制御装置が提供される。【００１３】
第２の視点によれば、ホストの位置情報と、擬似ＩＰアドレスと、実ＩＰアドレスと、ホスト名とを対応付けたマッピング情報を管理するマッピング情報管理部と、前記ホストからのパケットの転送経路上の転送ノードに対し、前記マッピング情報に基づいて、送信元ＩＰアドレス及び宛先ＩＰアドレスに記載された擬似ＩＰアドレスと実アドレスとをそれぞれ対応する実アドレスと擬似ＩＰアドレスへの書き換えを指示する指示生成部と、を備える制御装置と、前記制御装置からの指示に従い、送信元ＩＰアドレス及び宛先ＩＰアドレスの書き換えを行う転送ノードと、を含む通信システムが提供される。【００１４】
第３の視点によれば、ホストの位置情報と、擬似ＩＰアドレスと、実ＩＰアドレスと、ホスト名とを対応付けたマッピング情報を管理するステップと、前記ホストからのパケットの転送経路上の転送ノードに対し、前記マッピング情報に基づいて、送信元ＩＰアドレス及び宛先ＩＰアドレスに記載された擬似ＩＰアドレスと実アドレスとをそれぞれ対応する実アドレスと擬似ＩＰアドレスへの書き換えを指示するステップと、を含む通信方法が提供される。本方法は、通信装置に対してＩＰアドレスの書き換えを指示するコンピュータという、特定の機械に結びつけられている。【００１５】
第４の視点によれば、上記した制御装置の機能を実現するためのコンピュータプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な（非トランジエントな）記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１６】
本発明によれば、単一のネットワークにおいても、重複したＩＰアドレスを持つホスト間の通信を実現することが可能となる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態の概要を説明するための図である。
【図２】本発明の一実施形態の動作（初期設定）を説明するための図である。
【図３】本発明の一実施形態の動作（ヘッダ書換え用エントリの設定）を説明するための図である。
【図４】本発明の一実施形態の動作（後続パケットの処理）を説明するための図である。
【図５】本発明の一実施形態の動作（応答パケットの処理）を説明するための図である。
【図６】本発明の第１の実施形態の制御装置の構成を示す図である。
【図７】本発明の第１の実施形態の制御装置の管理データベースに保持されるエントリの構成を示す図である。
【図８】本発明の第１の実施形態の制御装置により生成されるアドレス書き換え用フローエントリの例である。
【図９】本発明の第１の実施形態の制御装置の動作を表した流れ図である。
【図１０】本発明の第２の実施形態の構成を表した図である。
【図１１】本発明の第３の実施形態の構成を表した図である。
【図１２】非特許文献１、２のＴｗｉｃｅ  ＮＡＴ機能を説明するための図である。
【発明を実施するための形態】
【００１８】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００１９】
本発明は、その一実施形態において、図１に示すように、ホストＶＭ１、ＶＭ２の位置情報と、擬似ＩＰアドレスと、実ＩＰアドレスと、ホスト名とを対応付けたマッピング情報を管理するマッピング情報管理部１１０Ａと、前記ホストからのパケットの転送経路上の転送ノード２００に対し、前記マッピング情報に基づいて、送信元ＩＰアドレス及び宛先ＩＰアドレスに記載された擬似ＩＰアドレスと実アドレスとをそれぞれ対応する実アドレスと擬似ＩＰアドレスへの書き換えを指示する指示生成部１２０Ａと、を備える制御装置１００Ａにて実現できる。
【００２０】
即ち、前記制御装置１００Ａは、擬似ＩＰアドレスの発行／割当を行って、２つのＩＰアドレスの書き換え（送信元ＩＰアドレスと、宛先ＩＰアドレスの書き換えの双方）を行う。また、ホストの位置情報としては、データパスＩＤと、ポート番号との組を用いることができる。データパスＩＤは、ホストが接続する転送ノードに一意に付与された識別子であり、ポート番号は、当該ホストが転送ノードに接続しているポートの番号である。
【００２１】
本発明の一実施形態においては、ＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）要求メッセージ、ＤＮＳ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）照会メッセージ、ＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）要求メッセージ及びレイヤ３（以下、「Ｌ３」）及びＬ３より上位レイヤのパケットは、次のように処理される。
【００２２】
１．ＤＨＣＰ要求メッセージ
図２に示すように、ホスト（例えば、ＶＭ１）がＤＨＣＰ要求メッセージを送信すると、転送ノード２００にて、ユニークな位置情報がＤＨＣＰ要求メッセージに追記された後、制御装置１００Ａに送られる（図２のＰａｃｋｅｔ−Ｉｎ）。
【００２３】
制御装置１００Ａは、次の（１）〜（３）の処理を行う。
（１）ホストの位置情報に基づいて、ホストに対し、擬似アドレス、実ＩＰアドレス及びユニークなホスト名を割り当ててマッピング情報を生成する。
（２）ＤＨＣＰ要求メッセージから抽出したホストのＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスを保存する。
（３）ＤＨＣＰ応答メッセージを用いて、ホストに対し、実ＩＰアドレスとユニークなホスト名とを応答する（図２のＰａｃｋｅｔ−Ｏｕｔ（ＤＨＣＰ応答）→ＤＨＣＰ応答）。なお、前記実ＩＰアドレスは重複するＩＰアドレスを利用できる。
【００２４】
２．ＤＮＳ照会メッセージ
本実施形態では、上記のとおり重複可能な実ＩＰアドレスを利用するため、通信中は、割り当てられたユニークなホスト名がユニークＩＤとして機能する。換言すれば、本実施形態においては、すべての通信は、ホスト名に基づいて行われる。図３に示すように、ホスト（例えば、ＶＭ１）がＤＮＳ照会メッセージを送信すると、転送ノード２００にてユニークな位置情報がＤＮＳ照会メッセージに追記された後、制御装置１００Ａに送られる（図３のＰａｃｋｅｔ−Ｉｎ）。
【００２５】
制御装置１００Ａは、次の（Ａ）〜（Ｄ）の処理を行う。
（Ａ）制御装置１００Ａは、位置情報に基づいてマッピング情報管理部１１０Ａを検索し、送信元の発行済みの擬似アドレスを調べる。
（Ｂ）次に、制御装置１００Ａは、ホスト名に基づいてマッピング情報管理部１１０Ａを検索し、宛先の発行済みの擬似アドレスを調べる。
（Ｃ）次に制御装置１００Ａは、ホストに対し、ＤＮＳ応答メッセージを送信する（図３のＰａｃｋｅｔ−Ｏｕｔ（ＤＮＳ応答）→ＤＮＳ応答）。
（Ｄ）さらに、制御装置１００Ａが、前記（Ａ）及び（Ｂ）の結果に基づいて、ヘッダの書き換え指示を生成する。そして、制御装置１００Ａは、転送ノードに対し、前記生成した書き換え指示を送信する（図３のＦｌｏｗ−Ｍｏｄ（ヘッダ書換え用エントリ））。
【００２６】
３．ＡＲＰ要求メッセージ
本実施形態では、ＡＲＰ要求メッセージは、ブロードキャストの代わりに、非特許文献３のＰｒｏｘｙ  ＡＲＰの方式を用いて処理される。即ち、ホストがＡＲＰ要求メッセージを送信すると、転送ノード２００にてユニークな位置情報がＡＲＰ要求メッセージに追記された後、制御装置１００Ａに送られる。制御装置１００Ａは、擬似ＩＰアドレスに書き換えられている宛先ＩＰアドレスに基づいて、ＭＡＣアドレス（図３のホスト（ＶＭ２）のＤＨＣＰ要求メッセージ処理時に抽出したＭＡＣアドレス）を検索する。検索の結果、制御装置１００Ａは、ホストに対し、前記ＭＡＣアドレスを含んだＡＲＰ応答メッセージを送信する。
【００２７】
４．その他Ｌ３及びＬ３より上位レイヤのパケット
以上のように、転送ノード２００に対し、ヘッダ書換え指示が送信されると、転送ノード２００は、指示された実ＩＰアドレスと擬似ＩＰアドレスに基づいた書き換えエントリをセットアップする。後続するＬ３及びＬ３より上位レイヤのパケットのＩＰアドレスは、例えば、図４、図５に示すように、転送ノード２００にて書き換えられる。
【００２８】
図４、図５を参照すると、２つのホストが、制御装置１００から通知された実ＩＰアドレスは共に１９２．１６８．１．１であり、本来であれば、互いにＬ３以上の通信はできないはずである。しかしながら、転送ノード２００において、ヘッダ中の送信元の実ＩＰアドレスを擬似ＩＰアドレスに書き換え、また、ヘッダ中の宛先に設定された擬似ＩＰアドレスを実ＩＰアドレスに書き換える処理が行われるため、矛盾なく通信を実現することができる。
【００２９】
［第１の実施形態］
続いて、非特許文献４、５のオープンフローを用いて位置ベースのＩＰアドレスの書き換えを実現する本発明の第１の実施形態について説明する。本実施形態は、オープンフローコントローラに相当する制御装置と、ＶＭインスタンス間の通信を実現するいくつかのオープンフロースイッチ（以下、「スイッチ」と記す。）とを含む構成にて実現できる。
【００３０】
なお、以降の記述において、多くの具体的事項は、説明のため、本発明の理解を助けるためになされたものである。即ち、本実施形態は、オープンフローを用いた一形態に過ぎず、オープンフローを用いた構成に限定されるものではない。また、以下の実施形態では、オープンフローコントローラにＤＨＣＰやＤＮＳ機能がビルトインされている構成を説明するが、オープンフローコントローラと独立してこれら機能が提供される形態であってもよい（図１０、図１１参照）。
【００３１】
図６は、本発明の第１の実施形態の制御装置の構成要素を表したブロック図である。図６を参照すると、制御メッセージ受信部１０１と、ＡＲＰ処理部１０２と、ＤＮＳ処理部１０３と、その他処理部１０４と、ＡＲＰ検索部１０５と、ＤＮＳ検索部１０６と、エントリ検索部１０７と、アドレス書き換え用フローエントリ生成部１０８と、フローエントリ設定部１０９と、制御メッセージ送信部１１０と、管理ＤＢ更新部１１１と、擬似アドレス管理部１１２と、１ｓｔパケット処理部１１３と、管理データベース（管理ＤＢ）１２０とを備えた構成が示されている。
【００３２】
管理データベース（管理ＤＢ）１２０は、図７に示すように、位置情報（スイッチＩＤとポート番号の組）によって特定される各ホスト（ＶＭ）の実ＩＰアドレス、擬似ＩＰアドレス、ホスト名、ＭＡＣアドレスとを対応付けたエントリ（マッピング情報）を格納するデータベースである。これらのうち、データパスＩＤとポート番号は、ホストの位置情報（第１のキー情報）である。また、擬似ＩＰアドレスが、ＡＲＰ要求に応じる際の第２のキー情報となる。さらに、ホスト名は、ＤＮＳ照会に応じる際の第３のキー情報となる。なお、図７の例では、１つのテーブルを用いてこれらの情報を管理しているが、複数のテーブルを用いてこれらを管理してもよい。
【００３３】
制御メッセージ受信部１０１は、プロトコル通信部１１４を介して、スイッチから受信したＰａｃｋｅｔ−Ｉｎメッセージを解析して、その内容に応じて、ＡＲＰ処理部１０２、ＤＮＳ処理部１０３又はその他処理部１０４のいずれかに振り分ける。具体的には、制御メッセージ受信部１０１は、ＡＲＰ要求メッセージをＡＲＰ処理部１０２に送り、ＤＮＳ照会メッセージをＤＮＳ処理部１０３に送り、ＤＨＣＰ要求メッセージやその他メッセージをその他処理部１０４に送る。
【００３４】
ＡＲＰ処理部１０２は、制御メッセージ受信部１０１から送られたＡＲＰ要求メッセージを解析して、送信元のスイッチのＩＤ（データパスＩＤ）と、ポート番号とを抽出してＡＲＰ検索部１０５に送る。
【００３５】
ＤＮＳ処理部１０３は、制御メッセージ受信部１０１から送られたＤＮＳ照会メッセージを解析して、送信元のスイッチのＩＤ（データパスＩＤ）と、ポート番号とを抽出してＤＮＳ検索部１０６に送る。
【００３６】
その他処理部１０４は、制御メッセージ受信部１０１から送られたＤＨＣＰメッセージやその他レイヤ３パケットを解析して、送信元のスイッチのＩＤ（データパスＩＤ）と、ポート番号とを抽出してエントリ検索部１０７に送る。
【００３７】
ＡＲＰ検索部１０５は、管理ＤＢ１２０を参照して、擬似ＩＰアドレスに書き換えられている宛先ＩＰアドレスに対応付けられているＭＡＣアドレスを検索する。該当するＭＡＣアドレスが見つかった場合、ＡＲＰ検索部１０５は、１ｓｔパケット処理部１１３を介して、ホスト（ＶＭ）に対し、前記ＭＡＣアドレスを含んだＡＲＰ応答メッセージを送信する。
【００３８】
ＤＮＳ検索部１０６は、管理ＤＢ１２０を参照して、ＤＮＳメッセージにて紹介を受けたホスト名（送信元／宛先）の擬似ＩＰアドレスを検索する。該当する擬似ＩＰアドレスが見つかった場合、ＤＮＳ検索部１０６は、１ｓｔパケット処理部１１３を介して、ホスト（ＶＭ）に対し、前記擬似ＩＰアドレスを含んだＤＮＳ応答メッセージを送信する。
【００３９】
エントリ検索部１０７は、以下の処理を行なう。
（１）入力された位置情報を元に、管理ＤＢ１２０を検索し、該当するエントリがあれば、アドレス書き換え用フローエントリ生成部１０８に、その内容を送る。
（２）前記検索の結果、該当するエントリが無い場合、ホスト（ＶＭ）の位置情報に基づいて、ホストに対し、擬似アドレス、実ＩＰアドレス及びユニークなホスト名を割り当てる。なお、前記位置情報を用いることで、ユニークなホスト名を生成することができる。例えば、図７の例では、ＤＰＩＤ１のポート１番に接続しているとの位置情報（ＤＰＩＤ１，ｐｏｒｔ１）から、「ｄｐｉｄ１＿１．ｄｏｍａｉｎｎａｍｅ」とのホスト名を生成する方法を採ることができる。
（３）ＤＨＣＰ要求メッセージから抽出したホストのＭＡＣアドレスを管理ＤＢ１２０に保存する。
（４）１ｓｔパケット処理部１１３を介して、ＤＨＣＰ応答メッセージを用いて、ホストに対し、実ＩＰアドレスとユニークなホスト名とを応答する。なお、前記実ＩＰアドレスとしては、重複するＩＰアドレスを利用できるが、必ずしも重複していなくともよい。
【００４０】
アドレス書き換え用フローエントリ生成部１０８は、エントリ検索部１０７からの要求に応じて、あるホストから受信した他のホスト宛てのパケットのヘッダ中の送信元の実ＩＰアドレスを擬似ＩＰアドレスに書き換えるフローエントリ（第１のフローエントリ）と、ヘッダ中の宛先に設定された擬似ＩＰアドレスを実ＩＰアドレスに書き換えるフローエントリ（第２のフローエントリ）と、を生成する。即ち、アドレス書き換え用フローエントリ生成部１０８は、受信側となるホストが、特定のホストから自身宛のパケットであることを認識できるような書き換えを実施するフローエントリを生成する。なお、アドレス書き換え用フローエントリ生成部１０８が、上述した指示生成部１２０Ａに相当する。
【００４１】
図８は、アドレス書き換え用フローエントリ生成部１０８が生成するアドレス書き換え用フローエントリの例である。例えば、図７のように、ある２つのホストの実ＩＰアドレスと擬似ＩＰアドレスとが対応付けられている場合、アドレス書き換え用フローエントリ生成部１０８は、これら２つのホスト間のパケットの宛先ＩＰアドレス（擬似ＩＰアドレス）を実ＩＰアドレスに書き換えるフローエントリと、送信元ＩＰアドレス（実ＩＰアドレス）を擬似ＩＰアドレスに書き換えるフローエントリとを生成する。なお、図８の例では、マッチ条件に入力ポート番号のみが設定されているが、その他情報をマッチ条件に含めてもよい。例えば、重複したＩＰアドレスが割り当てられていることを条件とすべく、送信元ＩＰアドレスが所定の重複ＩＰアドレスであることをマッチ条件に定めてもよい。
【００４２】
フローエントリ設定部１０９は、スイッチに、アドレス書き換え用フローエントリ生成部１０８に生成されたアドレス書き換え用フローエントリの設定を指示するための制御メッセージ（例えば、非特許文献５のＦｌｏｗ−Ｍｏｄメッセージ）を生成し、制御メッセージ送信部１１０に送る。
【００４３】
制御メッセージ送信部１１０は、フローエントリ設定部１０９又は１ｓｔパケット処理部１１３から送られた制御メッセージを指定されたスイッチに送信する。
【００４４】
擬似アドレス管理部１１２は、エントリ検索部１０７からの要求に応じて、ホストに対するユニークな擬似ＩＰアドレスを発行し、管理ＤＢ更新部１１１に送る。なお、ユニークな擬似ＩＰアドレスは、エントリ検索部１０７から受け取ったホストの位置情報を元に生成することができる。
【００４５】
管理ＤＢ更新部１１１は、擬似アドレス管理部１１２より送られた擬似ＩＰアドレスと、実ＩＰアドレスと、位置情報と、ホスト名とを管理ＤＢ１２０に登録する。
【００４６】
１ｓｔパケット処理部（応答パケット出力指示部）１１３は、ＡＲＰ検索部１０５、ＤＮＳ検索部１０６又はエントリ検索部１０７からの要求に応じて、ＡＲＰ応答メッセージ、ＤＮＳ応答メッセージ、ＤＨＣＰ応答メッセージを生成する。さらに、１ｓｔパケット処理部（第１パケット処理部）１１３は、宛先のホストに前記応答メッセージを送信させるための制御メッセージ（例えば、非特許文献５のＰａｃｋｅｔ−Ｏｕｔメッセージ）を生成し、制御メッセージ送信部１１０に送る。なお、これら制御メッセージの送信先は、ＡＲＰ検索部１０５、ＤＮＳ検索部１０６又はエントリ検索部１０７から位置情報（要求元／・照会元のホストの接続スイッチとそのポート番号）を用いればよい。
【００４７】
なお、図６に示した制御装置１００の機能モジュールは、制御装置を構成するコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【００４８】
続いて、本実施形態の動作について説明する。はじめに、ＤＨＣＰ要求メッセージ、ＤＮＳ照会メッセージ及びＡＲＰ要求メッセージの処理について説明し、最後に、Ｌ３パケット等の処理について説明する。
【００４９】
１．ＤＨＣＰ要求メッセージ
本実施形態では、ホスト（例えば、ＶＭ１）が、データプレーン上にＤＨＣＰ要求メッセージを送信すると、制御装置１００は、スイッチから、ペイロード部にＤＨＣＰ要求メッセージを含んだＰａｃｋｅｔ−Ｉｎメッセージを受信する。制御装置１００は、Ｐａｃｋｅｔ−Ｉｎメッセージから、データパスＩＤとポート番号を抽出し、ユニークな位置情報として利用する。そして、制御装置１００は、前記位置情報に基づいて当該ホストが利用すべき擬似ＩＰアドレスと実ＩＰアドレスを割り当てる。また、制御装置１００は、ＤＨＣＰ要求メッセージから該当ホストのＭＡＣアドレスを抽出し、管理ＤＢ１２０に登録する。その後、制御装置１００は、ＤＨＣＰ応答メッセージを用いて、ホストに対し、実ＩＰアドレス（重複可能な実ＩＰアドレス）と、生成されたユニークなホスト名とを送信する（図２参照）。
【００５０】
２．ＤＮＳ照会メッセージ
本実施形態では、上記のとおり重複可能な実ＩＰアドレスを利用するため、通信中は、割り当てられたユニークなホスト名がユニークＩＤとして機能する。換言すれば、本実施形態においては、ホストから見ると、すべての通信は、ホスト名に基づいて行われる。ホストがＤＮＳ照会メッセージを送信すると、制御装置１００のＤＮＳ処理部１０３は、ユニークな位置情報をＤＮＳ照会メッセージに付加した後、ＤＮＳ検索部１０６に送る。
【００５１】
ＤＮＳ検索部１０６は、次の（Ａ）〜（Ｄ）の処理を行う。
（Ａ）ＤＮＳ検索部１０６は、管理ＤＢ１２０からＤＮＳ照会メッセージに付加された位置情報に対応するエントリを検索し、送信元の発行済みの擬似アドレスを調べる。
（Ｂ）次にＤＮＳ検索部１０６は、管理ＤＢ１２０から、照会を受けたホスト名が設定されたエントリを検索し、宛先の発行済みの擬似アドレスを調べる。
（Ｃ）次にＤＮＳ検索部１０６は、１ｓｔパケット処理部１１３を介して、当該ホストに対し、ＤＮＳ応答メッセージを送信する（図３参照）。
（Ｄ）さらに、ＤＮＳ検索部１０６は、アドレス書き換え用フローエントリ生成部１０８に対し、フローエントリの生成を依頼する。アドレス書き換え用フローエントリ生成部１０８は、ＤＮＳ検索部１０６から送られた前記（Ａ）及び（Ｂ）の結果に基づいてヘッダの書き換えを指示するフローエントリを生成する。そして、生成された書き換えエントリは、制御メッセージ送信部１１０を介してスイッチに送信される（図３参照）。
【００５２】
３．ＡＲＰ要求メッセージ
本実施形態では、ＡＲＰ要求メッセージは、ブロードキャストの代わりに、非特許文献３のＰｒｏｘｙ  ＡＲＰの方式を用いて処理される。即ち、ホストがＡＲＰ要求メッセージを送信すると、ユニークな位置情報がＡＲＰ要求メッセージに追記された後、ＡＲＰ検索部１０５に送られる。ＡＲＰ検索部１０５は、擬似ＩＰアドレスに書き換えられている宛先ＩＰアドレスに基づいて、ＭＡＣアドレスを検索する。ＡＲＰ検索部１０５は、１ｓｔパケット処理部１１３を介して、当該ホストに対し、検索したＭＡＣアドレスを含んだＡＲＰ応答メッセージを送信する。
【００５３】
４．その他Ｌ３又はＬ３より上位レイヤのパケット
図９は、スイッチからＬ３又はＬ３より上位レイヤのパケットを受信した際の制御装置１００の動作を示す流れ図である。
【００５４】
図９を参照すると、ホスト（例えば、ＶＭ１）が、データプレーン上にパケットを送信すると、制御装置１００は、スイッチから、ペイロード部に受信パケットを含んだＰａｃｋｅｔ−Ｉｎメッセージを受信する（ステップＳ０１）。
【００５５】
制御装置１００は、Ｐａｃｋｅｔ−Ｉｎメッセージから、データパスＩＤとポート番号を抽出し、位置情報として特定する（ステップＳ０２）。
【００５６】
次に、制御装置１００は、前記位置情報に対応するエントリが管理ＤＢ１２０に存在するか否かを確認する（ステップＳ０３）。ここで、前記位置情報に対応するエントリが管理ＤＢ１２０に存在する場合（ステップＳ０３のＹＥＳ）、制御装置１００は、当該エントリを利用してアドレス書き換え用フローエントリを生成する（ステップＳ０４）。
【００５７】
一方、前記位置情報に対応するエントリが管理ＤＢ１２０に存在しない場合（ステップＳ０３のＮＯ）、制御装置１００は、当該ホストのホスト名及び擬似ＩＰアドレスを割り当て、管理ＤＢ１２０に登録する（ステップＳ０５）。次に、制御装置１００は、前記新規に登録したエントリを利用してアドレス書き換え用フローエントリを生成する（ステップＳ０６）。
【００５８】
次に、制御装置１００は、ステップＳ０４又はステップＳ０６で生成したフローエントリの設定を指示するための制御メッセージ（非特許文献５のＦｌｏｗ−Ｍｏｄメッセージ）を生成しスイッチに送る（ステップＳ０７）。
【００５９】
次に、制御装置１００は、ステップＳ０１で受信したパケット（１ｓｔパケット）について、前記アドレス書き換え用フローエントリと同じ内容を適用して、送信元と宛先のＩＰアドレスを書き換える（ステップＳ０８）。
【００６０】
次に、制御装置１００は、ステップＳ０８で書き換えたパケットをホストに送信させるための制御メッセージ（非特許文献５のＰａｃｋｅｔ−Ｏｕｔメッセージ）を生成する（ステップＳ０９）。最後に、制御装置１００は、前記生成した制御メッセージをスイッチに送る（ステップＳ１０）。
【００６１】
その後、スイッチが、後続するＬ３又はＬ３より上位レイヤのパケットを受信すると、上記ステップＳ０６で設定されたフローエントリに従って、アドレスの書き換えが行なわれる。
【００６２】
以上のように、図１に示すような単一のネットワークにおいても適用できるＴｗｉｃｅ  ＮＡＴ機能が実現される。
【００６３】
以上、本発明の実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した実施形態では、オープンフローの仕組みを用いてメッセージを授受するものとして説明したが、その他の方法を用いることも可能である。
【００６４】
また、上記した実施形態では、スイッチが１台である例を挙げて説明したが、複数のスイッチが存在する場合には、パケット転送経路上のスイッチに、上述したアドレス書き換え用のフローエントリを設定すればよい。例えば、パケット転送経路上の始点となるスイッチ（即ち、Ｐａｃｋｅｔ−Ｉｎメッセージを送信するスイッチ）に、アドレス書き換えを行なわせるフローエントリを設定することで、通信を実現することが可能である。
【００６５】
また例えば、上記した実施形態では、制御装置１００内にＤＮＳ検索部１０６を設けるものとして説明したが、例えば、図１０に示すように、制御装置１００が必要に応じて、外部のＤＮＳサーバ１５０から、位置情報に対応する擬似ＩＰアドレスを取得する方法も採用可能である（第２の実施形態）。
【００６６】
また、図１１に示すように、制御装置１００自らが管理ＤＢ１２０を備える構成に代えて、制御装置１００が、ＤＨＣＰサーバ１４０と、ＤＮＳサーバ１５０と連携動作する構成も採用可能である（第３の実施形態）。例えば、図１１の構成では、制御装置１００は、ＤＨＣＰサーバ１４０に対して、位置情報に対応する実アドレスと擬似アドレスを問い合わせる。また、ＤＨＣＰサーバ１４０は、必要に応じて、ＤＮＳサーバ１５０に対して、位置情報を所定の規則によりホスト名に変換してＤＮＳ照会メッセージを生成し、擬似アドレスの割り当てを要請する。ＤＨＣＰサーバ１４０は、ＤＮＳサーバ１５０からの応答を元に、ＤＨＣＰ応答メッセージを生成するとともに、少なくとも実ＩＰアドレス、擬似ＩＰアドレス、位置情報とを対応付けた管理テーブルを更新する。次回以降は、位置情報に対応するエントリが存在することになるため、ＤＨＣＰサーバ１４０は、その内容に基づいて、ＤＨＣＰ応答メッセージを生成し、制御装置１００に返すことができる。
【００６７】
最後に、本発明の好ましい形態を要約する。
［第１の形態］
（上記第１の視点による制御装置参照）
［第２の形態］
第１の形態の制御装置において、
前記ホストからのパケット受信を契機に、前記マッピング情報を生成して前記マッピング情報管理部に登録する制御装置。
［第３の形態］
第２の形態の制御装置において、
さらに、前記位置情報に基づいてユニークな擬似ＩＰアドレスを発行する擬似アドレス管理部を備える制御装置。
［第４の形態］
第２又は第３の形態の制御装置において、
前記ホストの位置情報に基づいてユニークなホスト名を発行する制御装置。
［第５の形態］
第１から第４いずれか一の形態の制御装置において、
さらに、前記ホストの位置情報に基づいて、前記転送ノードから受信したパケットに対する応答パケットの出力指示を送信する応答パケット出力指示部を備える制御装置。
［第６の形態］
第１から第５いずれか一の形態の制御装置において、
複数のホストに対し、同一の実ＩＰアドレスを割り当てる制御装置。
［第７の形態］
第１から第６いずれか一の形態の制御装置において、
前記ホストからのパケットの転送経路上の転送ノードに対し、前記書き換え対象のパケットを特定するマッチ条件と、前記送信元ＩＰアドレス及び宛先ＩＰアドレスの書き換えを指示する処理内容とを対応付けた制御情報を設定することにより、アドレスの書き換えを指示する制御装置。
［第８の形態］
（上記第２の視点による通信システム参照）
［第９の形態］
（上記第３の視点による通信方法参照）
［第１０の形態］
（上記第４の視点によるプログラム参照）
【００６８】
なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００６９】
１００、１００Ａ  制御装置
１０１  制御メッセージ受信部
１０２  ＡＲＰ処理部
１０３  ＤＮＳ処理部
１０４  その他処理部
１０５  ＡＲＰ検索部
１０６  ＤＮＳ検索部
１０７  エントリ検索部
１０８  アドレス書き換え用フローエントリ生成部
１０９  フローエントリ設定部
１１０  制御メッセージ送信部
１１０Ａ  マッピング情報管理部
１１１  管理ＤＢ更新部
１１２  擬似アドレス管理部
１１３  １ｓｔパケット処理部
１１４  プロトコル通信部
１２０  管理データベース（管理ＤＢ）
１２０Ａ  指示生成部
１４０  ＤＨＣＰサーバ
１５０  ＤＮＳサーバ
２００  転送ノード
【図１】
2014142278.tif 000003
【図２】
2014142278.tif 000004
【図３】
2014142278.tif 000005
【図４】
2014142278.tif 000006
【図５】
2014142278.tif 000007
【図６】
2014142278.tif 000008
【図７】
2014142278.tif 000009
【図８】
2014142278.tif 000010
【図９】
2014142278.tif 000011
【図１０】
2014142278.tif 000012
【図１１】
2014142278.tif 000013
【図１２】
2014142278.tif 000014
【国際調査報告】
2014142278.tif 000015
2014142278.tif 000016
2014142278.tif 000017
2014142278.tif 000018