(57)【要約】  オーバーレイネットワークシステムのトンネルエンドポイントとして機能するスイッチのトンネル設定の変更機能の向上。オーバーレイネットワークのトンネルエンドポイントとして機能するスイッチは、対向するトンネルエンドポイントと送受信するフレームのカプセル化とデカプセル化とを行うトンネル処理部と、カプセル化されたフレームを識別するためのフロー識別情報の変更指示を受信する変更指示受信部と、前記フロー識別情報の変更指示の受信後、所定期間が経過したことを条件に、前記トンネル処理部が用いるフロー識別情報を変更する変更処理部と、を備える。
2016031923.tif 000002
【特許請求の範囲】
【請求項１】
オーバーレイネットワークのトンネルエンドポイントとして、対向するトンネルエンドポイントと送受信するフレームのカプセル化とデカプセル化とを行うトンネル処理部と、
カプセル化されたフレームを識別するためのフロー識別情報の変更指示を受信する変更指示受信部と、
前記フロー識別情報の変更指示の受信後、所定期間が経過したことを条件に、前記トンネル処理部が用いるフロー識別情報を変更する変更処理部と、
を備えたことを特徴とするスイッチ。
【請求項２】
前記変更処理部は、前記フロー識別情報の変更指示に含まれる時間情報を用いて、前記所定期間を決定する請求項１のスイッチ。
【請求項３】
前記変更処理部は、前記所定期間の経過前に、異なる内容のフロー識別情報の変更指示を受信した場合、所定のルールに基づいて、前記フロー識別情報の変更指示同士の調停処理を実施する請求項１又は２のスイッチ。
【請求項４】
前記所定期間の経過に代えて、前記フロー識別情報の変更指示を所定回数受信したことを条件に、前記変更処理部が、前記トンネル処理部が用いるフロー識別情報を変更する請求項１から３いずれか一のスイッチ。
【請求項５】
さらに、他のスイッチに対し、マルチキャストで、前記フロー識別情報の変更指示を送信する変更指示送信部を備える請求項１から４いずれか一のスイッチ。
【請求項６】
前記変更指示送信部は、所定の制御装置から、前記フロー識別情報の変更指示を一意に特定するための識別情報を取得して、前記フロー識別情報の変更指示に埋め込み、
前記変更処理部は、前記識別情報に基づいて、フロー識別情報の変更指示の識別と、調停処理を実施する請求項５のスイッチ。
【請求項７】
前記フロー識別情報の変更指示は、前記トンネル処理部によってカプセル化された所定フォーマットのフレームにより授受される請求項１から６いずれか一のスイッチ。
【請求項８】
前記フロー識別情報は、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）ポート番号である請求項１から７いずれか一のスイッチ。
【請求項９】
オーバーレイネットワークのトンネルエンドポイントとして、対向するトンネルエンドポイントと送受信するフレームのカプセル化とデカプセル化とを行うトンネル処理部と、
カプセル化されたフレームを識別するためのフロー識別情報の変更指示を受信する変更指示受信部と、
前記フロー識別情報の変更指示の受信後、所定期間が経過したことを条件に、前記トンネル処理部が用いるフロー識別情報を変更する変更処理部と、
を備えたことを特徴とするスイッチを用いて構成されたオーバーレイネットワークシステム。
【請求項１０】
オーバーレイネットワークのトンネルエンドポイントとして、対向するトンネルエンドポイントと送受信するフレームのカプセル化とデカプセル化とを行うトンネル処理部を備えたスイッチにおいて、
カプセル化されたフレームを識別するためのフロー識別情報の変更指示を受信するステップと、
前記フロー識別情報の変更指示の受信後、所定期間が経過したことを条件に、前記トンネル処理部が用いるフロー識別情報を変更するステップと、
を含むトンネル設定の変更方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願についての記載］
本発明は、日本国特許出願：特願２０１４−１７３９０９号（２０１４年８月２８日出願）に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、スイッチ、オーバーレイネットワークシステム、トンネル設定の変更方法及びプログラムに関し、特に、対向するトンネルエンドポイントと送受信するフレームのカプセル化とデカプセル化とを行うトンネルエンドポイントとして機能するスイッチ、オーバーレイネットワークシステム、トンネル設定の変更方法及びプログラムに関する。
【背景技術】
【０００２】
レイヤ３ネットワーク上に、仮想的なレイヤ２ネットワークを構築するタイプのオーバーレイネットワークシステムが知られている。このうちのＶＸＬＡＮ（Ｖｉｒｔｕａｌ  ｅＸｔｅｎｓｉｂｌｅ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）は、ＵＤＰポート情報を追加ヘッダに埋め込み、これを用いて経路制御とロードバランシングを行う機能を備えている。非特許文献１は、ＶＸＬＡＮのドラフトである（Ｐａｇｅ  １０、Ｏｕｔｅｒ  ＵＤＰ  Ｈｅａｄｅｒの項参照）。【０００３】
非特許文献２、３は、本発明の関連技術であるオープンフローのホワイトペーパー及びオープンフロースイッチの仕様書である。【０００４】
特許文献１に、ＩＰ／ＭＰＬＳ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ／Ｍｕｌｔｉ−Ｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ）クラウドを用いたＩＰインターワーキングＶＬＬ（仮想専用線）を介した回線エミュレーション方法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２０１１−５１０５８５号公報
【非特許文献】
【０００６】
【非特許文献１】Ｍ．Ｍａｈａｌｉｎｇａｍほか７名、“ＶＸＬＡＮ：  Ａ  Ｆｒａｍｅｗｏｒｋ  ｆｏｒ  Ｏｖｅｒｌａｙｉｎｇ  Ｖｉｒｔｕａｌｉｚｅｄ  Ｌａｙｅｒ  ２  Ｎｅｔｗｏｒｋｓ  ｏｖｅｒ  Ｌａｙｅｒ  ３  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［平成２６（２０１４）年７月１７日検索］、インターネット〈URL:http://tools.ietf.org/pdf/draft-mahalingam-dutt-dcops-vxlan-02.pdf〉
【非特許文献２】Ｎｉｃｋ  ＭｃＫｅｏｗｎほか７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［平成２６（２０１４）年７月１７日検索］、インターネット〈URL: http://archive.openflow.org/documents/openflow-wp-latest.pdf〉
【非特許文献３】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”  Ｖｅｒｓｉｏｎ  １．１．０  Ｉｍｐｌｅｍｅｎｔｅｄ  （Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０２）、［ｏｎｌｉｎｅ］、［平成２６（２０１４）年７月１７日検索］、インターネット〈URL:http://archive.openflow.org/documents/openflow-spec-v1.1.0.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００７】
以下の分析は、本発明によって与えられたものである。上記オーバーレイネットワークシステムにおいて、物理ネットワークがフローを識別するためのフロー識別情報（ＶＸＬＡＮの場合、ＵＤＰポート番号）を動的に変更したいという要望がある。【０００８】
しかしながら、それを実現するためには、オーバーレイネットワークシステムのトンネルエンドポイントとして機能する複数のスイッチに対して、トンネル設定として、フロー識別情報の変更設定を行う必要がある。これら個々のスイッチに対して、上記設定変更を行うこととした場合、運用コストが大きくなるという問題点がある。【０００９】
また、これらスイッチに対する設定変更のタイミングがずれてしまうと、送信側で設定する宛先フロー識別情報と受信側のフロー識別情報との不一致期間が発生し、その間はネットワークの通信断が発生してしまうという問題点がある。【００１０】
本発明は、オーバーレイネットワークシステムのトンネルエンドポイントとして機能するスイッチのトンネル設定の変更機能の向上に貢献できるスイッチ、オーバーレイネットワークシステム、トンネル設定の変更方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
第１の視点によれば、オーバーレイネットワークのトンネルエンドポイントとして、対向するトンネルエンドポイントと送受信するフレームのカプセル化とデカプセル化とを行うトンネル処理部と、カプセル化されたフレームを識別するためのフロー識別情報の変更指示を受信する変更指示受信部と、前記フロー識別情報の変更指示の受信後、所定期間が経過したことを条件に、前記トンネル処理部が用いるフロー識別情報を変更する変更処理部と、を備えたスイッチが提供される。【００１２】
第２の視点によれば、上記スイッチを用いて構成されたオーバーレイネットワークシステムが提供される。【００１３】
第３の視点によれば、オーバーレイネットワークのトンネルエンドポイントとして、対向するトンネルエンドポイントと送受信するフレームのカプセル化とデカプセル化とを行うトンネル処理部を備えたスイッチにおいて、カプセル化されたフレームを識別するためのフロー識別情報の変更指示を受信するステップと、前記フロー識別情報の変更指示の受信後、所定期間が経過したことを条件に、前記トンネル処理部が用いるフロー識別情報を変更するステップと、を含むトンネル設定の変更方法が提供される。本方法は、他の装置から受信したフロー識別情報の変更指示に基づいてトンネル設定を変更するスイッチという、特定の機械に結びつけられている。【００１４】
第４の視点によれば、オーバーレイネットワークのトンネルエンドポイントとして、対向するトンネルエンドポイントと送受信するフレームのカプセル化とデカプセル化とを行うトンネル処理部を備えたスイッチに搭載されたコンピュータに、カプセル化されたフレームを識別するためのフロー識別情報の変更指示を受信する処理と、前記フロー識別情報の変更指示の受信後、所定期間が経過したことを条件に、前記トンネル処理部が用いるフロー識別情報を変更する処理と、を実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な（非トランジエントな）記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１５】
本発明によれば、オーバーレイネットワークシステムのトンネルエンドポイントとして機能するスイッチのトンネル設定の変更機能の向上に貢献することが可能となる。即ち、本発明は、背景技術に示したスイッチを、オーバーレイネットワークシステムのトンネルエンドポイントとしてより好適に機能するスイッチへと変換するものともなっている。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態のスイッチの構成を示す図である。
【図２】本発明の第１の実施形態のオーバーレイネットワークシステムの構成を示す図である。
【図３】本発明の第１の実施形態の仮想スイッチの構成を示す図である。
【図４】本発明の第１の実施形態の仮想スイッチによりカプセル化後のフレームの構成を示す図である。
【図５】本発明の第１の実施形態の仮想スイッチ内のトンネル処理部の構成を示す図である。
【図６】本発明の第１の実施形態の仮想スイッチによる送出されるＵＤＰポート番号変更通知用のフレームの構成を示す図である。
【図７】本発明の第１の実施形態の動作を表したシーケンス図である。
【発明を実施するための形態】
【００１７】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００１８】
本発明は、その一実施形態において、図１に示すように、オーバーレイネットワークのトンネルエンドポイントとして、対向するトンネルエンドポイントと送受信するフレームのカプセル化とデカプセル化とを行うトンネル処理部２６０ａと、変更指示受信部２６１ａと、変更処理部２６２ａと、を備えたスイッチ２００ａが提供される。
【００１９】
より具体的には、変更指示受信部２６１ａは、他の装置等から、カプセル化されたフレームを識別するためのフロー識別情報の変更指示（ＡＡＡ→ＢＢＢ）を受信し、変更処理部２６２ａに渡す。変更処理部２６２ａは、前記フロー識別情報の変更指示の受信後、所定期間が経過したことを条件に、前記トンネル処理部２６０ａが用いるフロー識別情報（ＵＤＰポート情報記憶部２６６ａ内のＵＤＰポート情報等）を変更する。
【００２０】
なお、前記スイッチ２００ａが、フロー識別情報を変更するまでの期間として設定される所定期間（図７のｔ０〜ｔ２参照）は、他のスイッチとの間でフロー識別情報の不一致期間（トンネル通信ができない期間）がより短くなるような期間（望ましくは最小化する）であれば、特に限定されない。例えば、あるタイミングで各スイッチにおいて一斉にフロー識別情報が変更されるような時間が設定される。また、フロー識別情報自体に、前記フロー識別情報を変更するまでの期間を埋め込むことでもよい。またこのとき、フロー識別情報の変更指示が各スイッチに到達した時刻を考慮した値が設定されるようにしてもよいし、各スイッチにおいて共通な時刻情報に基づいて、任意の時刻等を指定するようにしてもよい。
【００２１】
また、フロー識別情報の変更指示を複数回送信することとして、その最後のフロー識別情報の変更指示の受信後に、フロー識別情報を変更する方法も採用できる。この方法によれば、コネクションレス型のプロトコルを用いてフロー識別情報の変更指示を送信した場合でも、その不達による通信断を抑止することができる。
【００２２】
また、フロー識別情報の変更指示は、オペレータ等からの操作を受けた他のスイッチから受け取るようにしてもよいし、任意のスイッチ管理装置等から受け取るようにしてもよい。
【００２３】
以上の構成によれば、フロー識別情報の変更処理は自動化されることになり、個々のスイッチに対してオペレータ等が個別に設定変更を行う方式と比べて、運用コストを大幅に低減することが可能となる。また、前記所定期間に基づいたフロー識別情報の変更処理を行うことにより、トンネル通信の通信が不能となる期間を短くすることが可能となる。
【００２４】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図２は、本発明の第１の実施形態のオーバーレイネットワークシステムの構成を示す図である。図２を参照すると、オーバーレイネットワークシステムのトンネルエンドポイントとして配置された複数の仮想スイッチ２００Ａ〜２００Ｃと、これら仮想スイッチ２００を制御するフロー制御装置１００と、これら仮想スイッチ２００を利用して互いに通信する仮想マシン３００Ａ〜３００Ｅとを含む構成が示されている。仮想スイッチ２００間は、後述するＶＸＬＡＮトンネル４００ＡＢ−１〜４００ＢＣ−２が構築されている。以下、仮想スイッチ２００Ａ〜２００Ｃ、仮想マシン３００Ａ〜３００Ｅ、及びＶＸＬＡＮトンネル４００ＡＢ−１〜４００ＢＣ−２を特に区別しない場合、それぞれ「仮想スイッチ２００」、「仮想マシン３００」、「ＶＸＬＡＮトンネル４００」と記す。
【００２５】
フロー制御装置１００は、仮想スイッチ２００間に、ＶＸＬＡＮトンネル４００をメッシュ状に構築するためのフロー管理をしており、１以上の仮想スイッチ２００に対してフロー設定の指示を行う。これにより、フロー制御装置１００は、仮想マシン３００間の通信用ネットワークを実現する。なお、このようなフロー制御装置１００は、非特許文献２、３のオープンフローコントローラにトンネル管理機能を追加することで実現できる。
【００２６】
仮想スイッチ２００は、仮想マシン３００もしくは他の仮想スイッチからの入力フレームに対してフロー制御装置１００の指示によって設定されたフローエントリの中から、入力フレームに適合するマッチ条件を持つフローエントリを選択して入力フレームの処理を行う。仮想スイッチ２００は、選択したフローエントリによって入力フレームを他の仮想マシン３００との接続用のＶＸＬＡＮトンネル４００に出力し、基盤ネットワーク５００を越えて他の仮想スイッチ２００に出力したり、フロー制御装置１００に出力したり、ドロップしたりする。
【００２７】
仮想マシン３００は、他の仮想マシン３００宛てのフレームを仮想スイッチ２００に送信したり、他の仮想マシン３００を送信元とするフレームを仮想スイッチ２００から受信したりする。また、仮想マシン３００は、仮想スイッチ２００と直接接続している必要はなくレイヤ２スイッチ（Ｌ２ＳＷ）を介して接続していてもよいし、仮想マシン３００がレイヤ３スイッチ（Ｌ３ＳＷ）やルータであり、その先に別の仮想マシン３００が接続されている場合もある。
【００２８】
また、接続状態にある仮想スイッチ２００と仮想マシン３００は、サーバ仮想化技術を利用して、同一の仮想化サーバ上で動作する仮想エンティティであってもよい。
【００２９】
ＶＸＬＡＮトンネル４００は、仮想スイッチ２００間で基盤ネットワーク５００を介して通信を行うためのオーバーレイトンネルである。仮想ネットワーク識別子ＶＮＩ（ＶＸＬＡＮ  Ｎｅｔｗｏｒｋ  Ｉｄｅｎｔｉｆｉｅｒ）と通信を行う２台の仮想スイッチ２００の組み合わせにつき１個存在する。図２の例では、３台の仮想スイッチ間にそれぞれ２つのＶＮＩのＶＸＬＡＮトンネル４００が構築されている。なお以下の説明において、仮想スイッチ２００Ａと仮想スイッチ２００Ｂとの間のＶＮＩ＝１のＶＸＬＡＮトンネル４００を、ＶＸＬＡＮトンネル４００ＡＢ−１という形で表す。
【００３０】
基盤ネットワーク５００は、仮想スイッチ２００間のフレーム転送を行うためのレイヤ３ネットワーク等である。本実施形態では、基盤ネットワーク５００は、ＶＸＬＡＮにてカプセル化された際に付与される宛先ＩＰアドレスへの通信が可能であり、宛先にマルチキャストアドレスが設定されている場合には、全仮想スイッチ２００への配信が可能であるものとする。
【００３１】
図３は、第１の実施形態の仮想スイッチの構成を示す図である。図３を参照すると、フローエントリ検索部２０１と、フローエントリ記憶部２０２と、フローエントリ処理部２０３と、フロー処理部２０４と、フロー制御装置通信部２０５と、ＶＸＬＡＮ処理部２５０とを備えた構成が示されている。このうち、フローエントリ検索部２０１、フローエントリ記憶部２０２、フローエントリ処理部２０３、フロー処理部２０４、及びフロー制御装置通信部２０５が、非特許文献１のオープンフロースイッチの機能に相当する。
される。
【００３２】
ＶＸＬＡＮ処理部２５０は、コマンド処理部２５１とトンネル処理部２６０−１、２６０−２（以降、トンネル処理部２６０−１、２６０−２を特に区別しない場合、「トンネル処理部２６０」と記す。）とを備えている。トンネル処理部２６０は、ＶＸＬＡＮトンネル４００から入力されたＶＸＬＡＮカプセル化されたフレームをフローエントリ検索部２０１に渡し、フロー処理部２０４の指示に従い、必要に応じＶＸＬＡＮデカプセル化して仮想マシン３００に出力する。また、トンネル処理部２６０は、仮想マシン３００から入力されたフレームをフローエントリ検索部２０１に渡して、フロー処理部２０４の指示に従い、必要に応じＶＸＬＡＮカプセル化し、ＶＸＬＡＮトンネル４００を介して対向する仮想スイッチ２００へと転送する処理を行う。
【００３３】
コマンド処理部２５１はユーザからの操作を受け付け、トンネル処理部２６０に対して、ＵＤＰポート番号の変更指示コマンド等を出力する。
【００３４】
フローエントリ検索部２０１は、入力されたフレームからフローエントリを検索するためのフローエントリ検索条件情報を抽出し、フローエントリ検索条件情報を用いてフローエントリ記憶部２０２を検索する。フローエントリ検索部２０１は、前記検索の結果、マッチしたフローエントリのアクションと入力フレームをフロー処理部２０４に渡す。また、フローエントリ検索部２０１は、その際にマッチしたフローエントリのタイムアウト時間や統計情報などがあればこれらを更新する。
【００３５】
フローエントリ記憶部２０２は、フロー制御装置１００より設定されたフローエントリテーブル等を用いて保持する。なお、フローエントリ記憶部２０２におけるフローエントリの異動は、フロー制御装置１００に報告され、把握されている。従って、フロー制御装置１００は、仮想スイッチ２００のふるまいを把握し、制御可能となっている。
【００３６】
フローエントリ処理部２０３は、フロー制御装置通信部２０５を介してフロー制御装置１００から来るフローエントリに関する追加・削除などの操作指示や参照指示に従い、フローエントリ記憶部２０２の更新等を行う。また、フローエントリ処理部２０３は、フローエントリ記憶部２０２を参照し、フローエントリでタイムアウトしたものに関しては削除し、フロー制御装置通信部２０５を介してフロー制御装置１００に対して、該フローエントリが削除されたことを報告する。
【００３７】
フロー処理部２０４は、フローエントリ検索部２０１から、又は、フロー制御装置通信部２０５を介して、フロー制御装置１００から渡される入力フレームとそのアクションに従ってフレームの値を変更したり、仮想マシン３００にフレームを出力したり、他の仮想スイッチ２００にフレームを出力する。また、必要に応じて、フロー処理部２０４は、ＶＸＬＡＮ処理部２５０にＶＸＬＡＮカプセル化を指示し、ＶＸＬＡＮトンネル４００に出力したり、ＶＸＬＡＮトンネル４００から入力されたフレームのＶＸＬＡＮデカプセル化をしたり、フロー制御装置通信部２０５を介してフロー制御装置１００にフレームを出力したり、ドロップしたりする。
【００３８】
図４は、本発明の第１の実施形態の仮想スイッチによりＶＸＬＡＮカプセル化されたフレームの構成を示す図である。ＶＸＬＡＮ処理部２５０のトンネル処理部２６０は、ＶＸＬＡＮカプセル化する場合、オリジナルフレームに、Ｏｕｔｅｒ  ＭＡＣ、Ｏｕｔｅｒ  ＩＰ、Ｏｕｔｅｒ  ＵＤＰ、ＶＸＬＡＮ  ＩＤといった追加ヘッダにてカプセル化を行う。このうちのＯｕｔｅｒ  ＵＤＰヘッダに後記するＵＤＰポート情報番号６０１、６０２が設定され、フロー識別やこれを利用した負荷分散（ロードバランシング）に利用可能となっている。デカプセル化の場合には、上記カプセル化されたフレームから追加ヘッダを取り外す処理が行われる。
【００３９】
図５は、第１の実施形態の仮想スイッチ２００内のトンネル処理部２６０の構成を示す図である。図５を参照すると、変更指示受信部２６１と、変更指示送信部２６３と、ＶＮＩ情報記憶部２６４と、トンネル解除部（デカプセル化部）２６５と、ＵＤＰポート情報記憶部２６６と、トンネル化部（カプセル化部）２６７とを備えた構成が示されている。
【００４０】
変更指示受信部２６１は、ＶＸＬＡＮトンネル４００を介して、他の仮想スイッチ２００から出力されたＵＤＰポート番号変更通知用のフレームを受信する。また、変更指示受信部２６１は、変更処理部２６２を有している。変更処理部２６２は、ＵＤＰポート番号変更通知用のフレームの受信後、所定の時間、他の装置から異なるＵＤＰポート番号への変更を指示するＵＤＰポート番号変更通知用のフレームを受信しなかった場合、当該ＵＤＰポート番号変更通知用のフレームに定められたＵＤＰポート番号の変更処理を実行する。一方、前記所定の時間の間に、他の装置から異なるＵＤＰポート番号への変更を指示するＵＤＰポート番号変更通知用のフレームを受信した場合、変更処理部２６２は、再度所定時間、さらに異なるＵＤＰポート番号変更通知用のフレームを受信しなかったことを条件に、前記異なるＵＤＰポート番号への変更を指示するＵＤＰポート番号変更通知用のフレームに定められたＵＤＰポート番号の変更処理を実行する。なお、本実施形態においては、ＵＤＰポート番号変更通知用のフレームの処理識別番号フィールドの値を用いて、ＵＤＰポート番号変更通知用のフレームの同一性を確認可能となっている。
【００４１】
変更指示送信部２６３は、コマンド処理部２５１からのＵＤＰポート番号変更指示の入力をトリガとして、ＵＤＰポート番号変更通知用のフレームを作成する。変更指示送信部２６３は、トンネル化部（カプセル化部）２６７に対し、作成したＵＤＰポート番号変更通知用のフレームのカプセル化を依頼した上で、他の仮想スイッチ２００すべてに対しマルチキャストする。
【００４２】
ＶＮＩ情報記憶部２６４は、トンネル処理部２６０が持つＶＸＬＡＮの仮想ネットワーク識別子（ＶＮＩ）を保持する。この仮想ネットワーク識別子（ＶＮＩ）は、図４のＶＸＬＡＮヘッダに格納される。
【００４３】
トンネル解除部（デカプセル化部）２６５は、ＶＸＬＡＮトンネル４００から入力されたフレームのＶＸＬＡＮフレームから追加ヘッダの除去等を行い、デカプセル化する。
【００４４】
ＵＤＰポート情報記憶部２６６は、トンネル処理部２６０がＶＸＬＡＮトンネル４００を介して送受信を行うためのＵＤＰポート情報を保持する。ＵＤＰポート情報記憶部２６６に保持されるＵＤＰポート番号は、前記変更処理部２６２により変更される。もちろん、コマンド処理部２５１からＵＤＰポート番号変更指示により、ＵＤＰポート情報を変更できるようにしてもよい。なお、ＵＤＰポート情報記憶部２６６は、複数のトンネル処理部２６０で共有することが可能である。すなわち、複数のＶＮＩに対して１個のＵＤＰポート番号を使用することが可能である。
【００４５】
トンネル化部（カプセル化部）２６７はＶＸＬＡＮトンネル４００へ出力する際に、図４に示すようにオリジナルフレームに追加ヘッダを付加してＶＸＬＡＮカプセル化処理を行う。
【００４６】
図６は、仮想スイッチ２００により送信されるＵＤＰポート番号変更通知用のフレームの構成（フォーマット）の一例を示す図である。図６の例では、ＵＤＰポート番号変更通知用のフレームは、図４に示したＶＸＬＡＮカプセル化されたフレームと同様であり、オリジナルフレーム１００２に、ＶＸＬＡＮヘッダ部１００１を付加した構成となっている。
【００４７】
ＶＸＬＡＮヘッダ部１００１のＯｕｔｅｒ  ＩＰには、すべての仮想スイッチ２００に対して、本フレームをマルチキャストするための宛先マルチキャストグループアドレスが設定される。
【００４８】
オリジナルフレーム１００２は、Ｉｎｎｅｒ  ＭＡＣヘッダと、ＵＤＰポート番号変更指示データを含んだボディで構成される。
【００４９】
Ｉｎｎｅｒ  ＭＡＣヘッダの宛先アドレス（Ｄｓｔ  ＭＡＣ）と送信元アドレス（Ｓｒｃ  ＭＡＣ）には、予め定めたルールに従った識別用のアドレスが設定される。一例として、ＶＸＬＡＮヘッダ内の仮想ネットワーク識別子ＶＮＩと、宛先ＵＤＰポート番号とを用いてこのアドレスを作成することができる。例えば、仮想ネットワーク識別子ＶＮＩが「０ｘ１２３４５６」でＵＤＰポート番号が「０ｘＡ９８０」である場合、両者を組み合わせて「０ｘＦＦ１２３４５６Ａ９８０」というアドレスを作成することができる。また、Ｅｔｈｅｒタイプ（Ｅｔｈｅｒ  Ｔｙｐｅ）フィールドには、ＵＤＰポート番号変更通知用のフレームのために採番した値を設定するものとする。
【００５０】
ボディ部のＵＤＰポート番号変更指示データは、ＵＤＰポート番号変更指示などの要求種別を設定するためのオペコード部１７０１、変更する値であるＵＤＰポート番号１７０２、ＵＤＰポート番号変更対象の仮想ネットワーク識別子ＶＮＩ値１７０３、ＶＮＩマスク１７０４、処理識別番号１７０５、同一処理識別番号１７０５に対する送信回数１７０６等が含まれている。ここで、処理識別番号１７０５とは、ＵＤＰポート番号の変更要求毎に、仮想スイッチ２００が、フロー制御装置通信部２０５経由で、フロー制御装置１００に問い合わせて得られた、システム内で一貫性のあるシーケンス番号である。フロー制御装置１００は、一定（例えば６４ビット）の長さを持つ初期値から、問い合わせを受ける毎に、順次インクリメントさせて、一意な処理識別番号１７０５を作成することができる。
【００５１】
なお、図３、図５に示した仮想スイッチ２００の各部（処理手段）は、仮想スイッチ２００に搭載されるコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【００５２】
続いて、本実施形態の動作について図面を参照して詳細に説明する。図７は、本発明の第１の実施形態の動作を表したシーケンス図である。
【００５３】
以下、仮想ネットワーク識別子ＶＮＩ＝１の仮想ネットワークで、Ｏｕｔｅｒ  ＵＤＰヘッダに埋め込むＵＤＰポート番号を６００００から６５０００に変更する例を挙げて説明する。図２の仮想スイッチ２００Ａがコマンド処理部２５１にてユーザからＵＤＰポート番号変更指示送信操作を受け付けた場合の動作について説明する。
【００５４】
まず、仮想スイッチ２００Ａは、フロー制御装置１００に対して、システム内で一貫性のあるシーケンス番号として処理識別番号の発行を要求する（ステップＳ００１）。
【００５５】
フロー制御装置１００から処理識別番号を受け取ると（ステップＳ００２）、仮想スイッチ２００Ａは、仮想ネットワーク識別子ＶＮＩ＝１に対応するトンネル処理部（ここでは、トンネル処理部２６０−１）の変更指示送信部２６３と変更指示受信部２６１に、ＵＤＰポート番号変更指示を通知する。仮想スイッチ２００Ａの変更指示受信部２６１は、変更処理部２６２にてＵＤＰポート番号変更通知を渡してＵＤＰポート番号の変更を準備する（ステップＳ００３）。
【００５６】
一方、仮想スイッチ２００Ａの変更指示送信部２６３は、図６に示すようなフォーマットのＵＤＰポート番号変更通知用のフレームを作成して、同一仮想ネットワークのすべての仮想スイッチ２００にマルチキャストする（ステップＳ００４）。
【００５７】
ここでは、図６のＯｕｔｅｒ  ＩＰヘッダの送信先アドレスには、全仮想スイッチ２００を指定する宛先キャストアドレスが設定され、Ｏｕｔｅｒ  ＵＤＰヘッダの宛先ＵＤＰポート番号には、現行のＵＤＰポート番号である「６００００」が設定される。また、ＶＸＬＡＮヘッダにはＶＮＩ＝１が設定される。以上により、ＵＤＰポート番号変更通知用のフレームを受信した装置が自身宛てのＵＤＰポート番号変更通知であるか否かを識別できるようになる。
【００５８】
また、図６のＩｎｎｅｒ  ＭＡＣヘッダには、先述のルールにより、ＶＮＩ＝１とＵＤＰポート番号＝６００００を用いて、宛先アドレスおよび送信元アドレスに０ｘＦＦ０００００１ＥＡ６０が設定され、Ｅｔｈｅｒタイプフィールドには、ＵＤＰポート番号変更通知用のフレームであることを示す「０ｘ０８４２」が設定される。また、ＵＤＰポート番号変更通知用のフレームのボディ内のオペコード部１７０１には、ＵＤＰポート番号変換の処理要求を示す値が設定され、ＵＤＰポート番号１７０２には、変更後のポート番号である６５０００が設定される。また、ＶＮＩ値１７０３には、「１」を設定し、ＶＮＩマスク１７０４には、ＶＮＩ値の全ビットとの一致することを示す値０ｘＦＦＦＦＦＦが設定され、処理識別番号１７０５には、ステップＳ００２でフロー制御装置１００から取得した処理識別番号が設定される。送信回数１７０６は、初期値を「０」として増やして行ってもよいし、初期値を規定送信回数として減算していってもよい。
【００５９】
なお、本実施形態においては、ＵＤＰポート番号変更通知用のフレームがＵＤＰのコネクションレス通信で送信されるため、ロスする可能性を考慮し、送信回数をインクリメントしながら所定回数（例えば、１０回）繰り返してＵＤＰポート番号変更通知用のフレームを送信するものとする。
【００６０】
ＵＤＰポート番号変更通知を受け取り、ＵＤＰポート番号の変更を準備状態にある仮想スイッチ２００Ａの変更処理部２６２は、所定期間、他の仮想スイッチ２００から、処理識別番号が大きい値、即ち、より新しく発行されたＵＤＰポート番号変更通知用のフレームを受信しなかった場合、ＵＤＰポート情報記憶部２６６の番号を６００００から６５０００に変更する（ステップＳ００５ａ）。
【００６１】
一方、マルチキャストされたＵＤＰポート番号変更通知用のフレームは、仮想スイッチ２００Ｂ、２００Ｃの変更指示受信部２６１で受信され、各仮想スイッチ２００Ｂ、２００Ｃの変更処理部２６２に渡される。仮想スイッチ２００Ｂ、２００Ｃの変更処理部２６２は、所定期間、他の仮想スイッチ２００から、処理識別番号が大きい値、即ち、より新しく発行されたＵＤＰポート番号変更通知用のフレームを受信しなかった場合、ＵＤＰポート情報記憶部２６６の番号を６００００から変更６５０００に変更する（ステップＳ００５ｂ、Ｓ００５ｃ）。
【００６２】
以上、説明した通りに、ＵＤＰポート番号の変更を要求するＵＤＰポート番号変更通知用のフレームをマルチキャスト送信することにより一括でシステム内のすべての仮想スイッチ２００のＵＤＰポート番号変更が可能となる。また、前記ＵＤＰポート番号変更通知用のフレームは、全仮想スイッチ２００に対して、マルチキャストされ、所定時間経過後に一斉にＵＤＰポート番号の変更処理が行われる。これらにより、運用コスト削減が達成されるほか、通信断となる時間が短縮される。
【００６３】
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成、各要素の構成、メッセージの表現形態は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。以下、本発明の変形例を例示する。
【００６４】
例えば、上記した第１の実施形態における基盤ネットワーク５００としては、ＶＸＬＡＮヘッダに宛先にマルチキャストアドレスを設定することによりマルチキャストが可能なレイヤ３ネットワークを用いるものとして説明したが、ホップバイホップで転送を行うオープンフローネットワークでも使用可能である。
【００６５】
仮想スイッチ２００に代えて、ＶＸＬＡＮトンネルエンドポイント機能を持つ物理スイッチを用いることもできる。
【００６６】
前記ＵＤＰポート番号変更通知用のフレームの送信は、仮想スイッチ２００が実施するのではなく、オーバーレイトンネルを介して外部の仮想ネットワーク内のノードに配信するためのマルチキャストサーバに委託する形でもよい。
【００６７】
ＵＤＰポート番号変更指示は、コマンド処理部２５１を介したユーザの指示だけでなく、フロー制御装置１００からのＵＤＰポート番号変更指示を受け付けるようにしてもよい。フロー制御装置１００が、ＵＤＰポート番号変更通知用のフレームの出力要求を送信するようにしてもよい。
【００６８】
フロー制御装置１００が、処理識別番号を採番する際に、仮想ネットワーク識別子ＶＮＩとＵＤＰポート番号の対応付けを記憶することも好ましい。このようにすることで、仮想スイッチ２００の増設が行われた際に、増設した仮想スイッチ２００に対しても、整合性のある設定をすることが可能となる。
【００６９】
ＵＤＰポート番号変更通知用のフレームを受信するＵＤＰポート番号は固定値としてもよい。また、ＵＤＰポート番号変更通知用のフレームの配信はマルチキャストでなくブロードキャストとしてもよい。
【００７０】
また、第１の実施形態では、仮想スイッチがオープンフロースイッチとしての機能を備えるものとして説明したが、オープンフロー以外の手段でオーバーレイネットワークを実現した場合でも、本発明は実現可能である。
【００７１】
処理識別番号は、フロー制御装置１００以外の装置が作成してもよい。また、処理識別番号として、ＵＤＰポート番号変更通知用のフレームの優先順位を表す値を設定してもよい。この場合、最新のＵＤＰポート番号変更通知用のフレームではなく、より優先度の高いＵＤＰポート番号変更通知用のフレームが優先されることになる。
【００７２】
最後に、本発明の好ましい形態を要約する。
［第１の形態］
（上記第１の視点によるスイッチ参照）
［第２の形態］
第１の形態のスイッチにおいて、
前記変更処理部は、前記フロー識別情報の変更指示に含まれる時間情報を用いて、前記所定期間を決定するスイッチ。
［第３の形態］
第１又は第２の形態のスイッチにおいて、
前記変更処理部は、前記所定期間の経過前に、異なる内容のフロー識別情報の変更指示を受信した場合、所定のルールに基づいて、前記フロー識別情報の変更指示同士の調停処理を実施するスイッチ。
［第４の形態］
第１から第３いずれか一の形態のスイッチにおいて、
前記所定期間の経過に代えて、前記フロー識別情報の変更指示を所定回数受信したことを条件に、前記変更処理部が、前記トンネル処理部が用いるフロー識別情報を変更するスイッチ。
［第５の形態］
第１から第４いずれか一の形態のスイッチにおいて、
さらに、他のスイッチに対し、マルチキャストで、前記フロー識別情報の変更指示を送信する変更指示送信部を備えるスイッチ。
［第６の形態］
第５の形態のスイッチにおいて、
前記変更指示送信部は、所定の制御装置から、前記フロー識別情報の変更指示を一意に特定するための識別情報を取得して、前記フロー識別情報の変更指示に埋め込み、
前記変更処理部は、前記識別情報に基づいて、フロー識別情報の変更指示の識別と、調停処理を実施するスイッチ。
［第７の形態］
第１から第６いずれか一の形態のスイッチにおいて、
前記フロー識別情報の変更指示は、前記トンネル処理部によってカプセル化された所定フォーマットのフレームにより授受されるスイッチ。
［第８の形態］
第１から第７いずれか一の形態のスイッチにおいて、
前記フロー識別情報は、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）ポート番号であるスイッチ。
［第９の形態］
（上記第２の視点によるオーバーレイネットワークシステム参照）
［第１０の形態］
（上記第３の視点によるトンネル設定の変更方法参照）
［第１１の形態］
（上記第４の視点によるプログラム参照）
なお、上記第９〜第１１の形態は、第１の形態と同様に、第２〜第８の形態に展開することが可能である。
【００７３】
なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の開示の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【００７４】
１００  フロー制御装置
２００ａ  スイッチ
２００、２００Ａ〜２００Ｃ  仮想スイッチ
２０１  フローエントリ検索部
２０２  フローエントリ記憶部
２０３  フローエントリ処理部
２０４  フロー処理部
２０５  フロー制御装置通信部
２５０  ＶＸＬＡＮ処理部
２５１、２５１ａ  コマンド処理部
２６０、２６０ａ、２６０−１、２６０−２  トンネル処理部
２６１、２６１ａ  変更指示受信部
２６２、２６２ａ  変更処理部
２６３  変更指示送信部
２６４  ＶＮＩ情報記憶部
２６５  トンネル解除部（デカプセル化部）
２６６、２６６ａ  ＵＤＰポート情報記憶部
２６７  トンネル化部（カプセル化部）
３００、３００Ａ〜３００Ｅ  仮想マシン
４００、４００ＡＢ−１〜４００ＢＣ−２  ＶＸＬＡＮトンネル
５００  基盤ネットワーク
６０１  送信元ＵＤＰポート番号情報
６０２  宛先ＵＤＰポート番号情報
１００１  ＶＸＬＡＮヘッダ部
１００２  オリジナルフレーム
１７０１  オペコード部
１７０２  ＵＤＰポート番号
１７０３  ＶＮＩ値
１７０４  ＶＮＩマスク
１７０５  処理識別番号
１７０６  送信回数
【図１】
2016031923.tif 000003
【図２】
2016031923.tif 000004
【図３】
2016031923.tif 000005
【図４】
2016031923.tif 000006
【図５】
2016031923.tif 000007
【図６】
2016031923.tif 000008
【図７】
2016031923.tif 000009
【国際調査報告】
2016031923.tif 000010
2016031923.tif 000011