(57)【要約】      （修正有）【課題】耐障害性や運用性を向上させるネットワークシステムおよびパケット転送方法を提供する。【解決手段】ネットワークシステム１００は、Ｌ３広域ＮＷ３とユーザ端末１のＬ２ＮＷの接続点に実装されたルータ２０と、ＤＣ１１０内のサーバ１５０とＬ３ＤＣＮＷ１３０の接続点に実装されたルータ１４０と、Ｌ３広域ＮＷ３とＤＣ１１０との接続点に配置されたＤＣ-ＧＷ１２０と、を備える。ルータ２０では、仮想Ｌ２トンネルの宛先をＤＣ-ＧＷ１２０宛としてカプセリングする。ＤＣ-ＧＷ１２０は、トンネル識別子VNIを、発着側ＶＴＥＰの組毎にユニークに付与するトンネル識別子設定部１２０ａと、管理テーブルを記憶する記憶部１２０ｂと、自宛てのパケット到着時、管理テーブルを参照して、仮想Ｌ２トンネルでカプセリングされたパケットの宛先を着側ＶＴＥＰに書き換えて転送する処理部１２０ｃとを備える。【選択図】図１
2016149701.tif 000002
【特許請求の範囲】
【請求項１】
Ｌ３（レイヤ３）ネットワーク上に仮想Ｌ２（レイヤ２）トンネルを構築して、前記Ｌ３ネットワーク上に接続されるＬ２サービス提供端末と前記Ｌ３ネットワークに接続されたＤＣ（Data Center）内のＤＣネットワークに接続される端末との間でパケットを送受信するネットワークシステムであって、
前記Ｌ３ネットワークと前記Ｌ２サービス提供端末のＬ２ネットワークの接続点に実装された発側トンネル終端ポイントと、
前記ＤＣ内の前記端末と前記ＤＣネットワークの接続点に実装された着側トンネル終端ポイントと、
前記Ｌ３ネットワークと前記ＤＣとの接続点に配置されたゲートウェイ装置と、を備え、
前記発側トンネル終端ポイントは、
前記仮想Ｌ２トンネルの宛先を前記ゲートウェイ装置宛としてパケットをカプセリングし、
前記ゲートウェイ装置は、
前記仮想Ｌ２トンネルを識別するトンネル識別子を、発着側トンネル終端ポイントの組毎にユニークに付与するトンネル識別子設定部と、
前記トンネル識別子と前記発着側トンネル終端ポイントのＩＰアドレスの対応情報を記憶する記憶部と、
自宛てのパケット到着時、前記対応情報を参照して、前記仮想Ｌ２トンネルでカプセリングされたパケットの宛先を前記着側トンネル終端ポイントに書き換えて転送する処理部とを備えることを特徴とするネットワークシステム。
【請求項２】
Ｌ３（レイヤ３）ネットワークとＬ２（レイヤ２）端末のＬ２ネットワークの接続点に実装された発側トンネル終端ポイントと、ＤＣ内の端末とＤＣネットワークの接続点に実装された着側トンネル終端ポイントと、前記Ｌ３ネットワークと前記ＤＣとの接続点に配置されたゲートウェイ装置とを有し、Ｌ３ネットワーク上に仮想Ｌ２トンネルを構築して、前記Ｌ３ネットワーク上に接続されるＬ２サービス提供端末と前記Ｌ３ネットワークに接続されたＤＣ（Data Center）内のＤＣネットワークに接続される前記端末との間でパケットを送受信するネットワークシステムのパケット転送方法であって、
前記発側トンネル終端ポイントにおいて、
前記仮想Ｌ２トンネルの宛先を前記ゲートウェイ装置宛としてパケットをカプセリングする工程と、
前記ゲートウェイ装置において、
前記仮想Ｌ２トンネルを識別するトンネル識別子を、発着側トンネル終端ポイントの組毎にユニークに付与するトンネル識別子設定工程と、
前記トンネル識別子と前記発着側トンネル終端ポイントのＩＰアドレスの対応情報を記憶する記憶工程と、
自宛てのパケット到着時、前記対応情報を参照して、前記仮想Ｌ２トンネルでカプセリングされたパケットの宛先を前記着側トンネル終端ポイントに書き換えて転送する処理工程と
を有することを特徴とするパケット転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークシステムおよびパケット転送方法に関する。
【背景技術】
【０００２】
従来のネットワーク制御は、主にＩＰ（Internet Protocol）アドレスのルーティングによって行われている。品質の確保やネットワークの利用率向上のため、フロー制御ネットワークが提案されている。フロー制御ネットワークは、パケットを送受信するフロースイッチと、フロースイッチを制御する制御サーバとを備える。フロースイッチは、制御サーバにより与えられたフローエントリを保持するフローテーブルを備える。フローエントリには受信したパケットの種別を識別するための入力物理ポート、Ｌ２（レイヤ２：データリンク層）、Ｌ３（レイヤ３：ネットワーク層）およびＬ４（レイヤ４：トランスポート層）の情報と、当該種別のパケットに対する処理（アクション）が記述される。ここでの処理は、例えば、当該種別のパケットを指定の物理ポートから送信することや、当該種別のパケットにＶＬＡＮ（Virtual Local Area Network)タグを付与することや、宛先ＭＡＣ（Media Access Control）アドレスを変更すること等である。このフロー制御ネットワークは、ＭＡＣアドレスやＩＰアドレス、ポート番号等の組み合わせによって定義されるフロー単位での経路制御を実現するネットワークである。このようなフロー制御ネットワークの例として、OpenFlowネットワークが挙げられる（非特許文献１参照）。このOpenFlowネットワークにおいて、フロースイッチにはOpenFlowスイッチ、制御サーバにはコントローラが用いられる。
【０００３】
近年、特に広域ネットワーク（以下、適宜ＮＷという）において多様なＮＷサービスを動的に利用するため、ＮＦＶ（Network Function Virtualization）によるＮＷサービスの仮想化が検討されている。ＮＦＶでは、イーサネット（登録商標）転送のみのＬ２ＮＷ（レイヤ２ネットワーク）でユーザ・サービス間を接続する必要のあるサービスも存在することが知られている。
一方、大規模な広域ＮＷは、スケール性や耐障害性の観点からＩＰルーチングを用いたＬ３ＮＷ（レイヤ３ネットワーク）で構築されることが多い。そこで、ＮＦＶにおいて、Ｌ３ＮＷ上に仮想的なＬ２トンネルを構築することでＬ２転送を実現するＮＶＯ３（Network Virtualization Over Ｌ３）が検討されている（非特許文献２参照）。
NVO3としては、ＶＸＬＡＮ（Virtual eXtensible Local Area Network）（非特許文献３参照）やＮＶＧＲＥ（Network Virtualization Generic Routing Encapsulation）をはじめとした様々な技術が検討されている（非特許文献４参照）。
【０００４】
ＶＸＬＡＮは、「VXLAN Network Identifier（VNI）」と呼ばれる２４ビットのＶＸＬＡＮ ＩＤを活用して、Ｌ２の通信をＬ３でトンネリングすることで、Ｌ３経由でＬ２の通信（ブロードキャストドメイン）を延長する。ＶＸＬＡＮでは、ハイパーバイザの仮想スイッチあるいは物理サーバ単位でＶＴＥＰ（Virtual Tunnel End Point：トンネル終端ポイント）を設置する。ＶＴＥＰは、物理Ｌ３ＮＷとＬ２ＮＷの接続点に実装される。ＶＴＥＰが各仮想マシンのＭＡＣアドレスと、その仮想マシンのVNIの対応関係をテーブルで管理する。
ＮＶＯ３では、トンネル端点にあたるルータ（ＶＴＥＰ）で宛先解決が必要である。ＶＸＬＡＮでは、宛先解決方法として、（１）宛先不明トラヒックは一度全ての端点ルータにフラッディングし、D-Planeで学習する方法と、（２）あらかじめC-Planeで学習する方法とがある（Ｅ−ＶＰＮ）（非特許文献５参照）。
【０００５】
図８は、ＮＶＯ３に係るネットワークシステムの構成を示す図である。
図８（ａ）に示すように、ＮＶＯ３に係るネットワークシステムは、ユーザ端末１１，１２が、ルータ２１，２２，２３（ここではルータ２２）を介して中継ＮＷであるＬ３ 広域ＮＷ３に接続されている。Ｌ３ 広域ＮＷ３には、ルータ４１，４２，４３を介してサービスを提供するサーバ５１〜５６が接続されている。ユーザ端末１１，１２は、ルータ２２、Ｌ３ 広域ＮＷ３、およびルータ４を経由してサーバ５１〜５６からアプリケーションなどの各種サービスＡ〜Ｆの提供を受ける。なお、ルータ２１，２２，２３を総称する場合は、ルータ２と呼び、ルータ４１，４２，４３を総称する場合は、ルータ４と呼び、サーバ５１〜５６を総称する場合は、サーバ５と呼ぶ。ユーザ端末１１，１２を特に区別しない場合にはユーザ端末１と表記する。
【０００６】
ユーザ端末１は、Ｌ３ 広域ＮＷ３を介して、サーバ５に対して、各種サービスＡ〜Ｆの提供要求を送信し、サーバ５から情報を取得する一般的なＬ２サービス提供端末である。ユーザ端末１は、例えば、一般的なパーソナルコンピュータや携帯情報端末等から構成される。
なお、本明細書中において、サービスとは、各種転送機能を有するアプリケーション（アプリ）、または、アプリにより提供されるサービスをいう。
ルータ２は、例えばマルチキャスト配信中に最終マルチキャストポイントとなるエンドルータである。
Ｌ３ 広域ＮＷ３は、Ｌ３ＮＷである。
サーバ５は、各種サービスＡ〜Ｆを提供する配信サーバである。
【０００７】
NVO3に係るネットワークシステムの転送について説明する。
例えば、ある仮想マシンが、VXLAN経由で別のサーバ上の仮想マシンと同じセグメントに属していて、これに対するＬ２の通信を開始すると、ＶＴＥＰは送信先のＭＡＣアドレスがローカルにないと判断したうえで、送信元のＶＴＥＰはそのＭＡＣフレームの前に適切な仮想Ｌ２トンネル識別子（以下、トンネル識別子という）VNI（送信元仮想マシンの属するＶＸＬＡＮセグメントのＩＤ）を付加する。ＶＴＥＰは、さらに自分のＩＰアドレスとＭＡＣアドレスを付け、送信先ＶＴＥＰのＩＰアドレスに通信を開始する。送信先のＶＴＥＰは、トンネル識別子VNIを見て確認した後、送信元のＶＴＥＰが付けた情報をすべて削除し、送信先の仮想マシンに対してこのＭＡＣフレームを送る。
【０００８】
転送を行う前に、任意のＭＡＣアドレスを持つユーザ・サービスがどのＶＴＥＰの先に存在するかを解決しなくてはならない。その方法として、NVO3では、以下の２方式のＭＡＣ取得方法が提案されている。
（１）あらかじめ設定したＶＴＥＰすべてに転送する方法。
例えば、ユーザ端末１１は、サービスＦを提供するサーバ５６に接続しようとする。この場合、ＶＴＥＰはその返信パケットを見てＭＡＣアドレスを学習し、図８（ｂ）に示すようなテーブルを学習する。図８（ｂ）は、ＶＴＥＰが管理する各仮想マシンのＭＡＣアドレスと、その仮想マシンのトンネル識別子VNIの対応関係を示すテーブルである。
図８（ｂ）の例では、ユーザ端末１が接続されるルータ２２は、該当サービスＦを提供するサーバ５６のＭＡＣアドレス（Ｌ２（ＭＡＣ））とルータ４３のＩＰアドレス（Ｌ３（RemoteＶＴＥＰ））のテーブルを学習する。
（２）ＶＴＥＰに直接接続されたＭＡＣアドレスをあらかじめＥ-ＶＰＮなどのコントロールプレーンで広告する方法。
広告されたＶＴＥＰは、図８（ｂ）に示すようなテーブルを学習する。
【０００９】
次に、図８（ａ）を参照して転送の流れを説明する。
はじめに、ユーザ端末１１がサービスＦを利用する際、ユーザ端末１１はサービスＦのＭＡＣアドレス宛パケットを送出する。そして、発側ＶＴＥＰであるルータ２は、図８（ｂ）に示すようなテーブルを保持するため、ＶＸＬＡＮ・ＧＲＥ（Generic Routing Encapsulation）ヘッダなど各NVO3で規定されたヘッダによりカプセリングし、ルータ４３宛に転送する。着側ＶＴＥＰであるルータ４３では、そのヘッダをデカプセリングしてサービスＦのＭＡＣアドレス宛にパケットを転送する。この一連の動作により、ユーザ・サービスから見るとＬ２転送が行われたように見せることができる。
【００１０】
図９は、図８のカプセリング後のフレームフォーマットを示す図である。図９は、ＶＸＬＡＮを例にして示す。
図９に示すように、図８のカプセリング後のフレームフォーマット１０は、Outer Dst. MAC、Outer Src. MAC、Outer Dst. IP(router 2)、Outer Src. IP(ルータ2１)、Outer Src. UDP、Outer Dst. UDP(VXLAN port)およびVXLAN ID(id=1)からなるＶＸＬＡＮフレーム１１と、Inner Dst. MAC(サービスA)、Inner Src. MAC(ユーザ(11))およびPayloadからなるオリジナルフレーム１２と、から構成される。
ＶＴＥＰ以外のＬ３網（広域ＮＷ）では、図９に示すヘッダ（ＶＸＬＡＮフレーム１１部分）のみを見て転送する。このため、単純なＬ３転送（ＩＰ転送）を行うのみでよい。
【００１１】
図１０は、NVO3に係るネットワークシステムおよびＤＣの構成を示す図である。
図１０に示すように、サービス機能が搭載されたサーバ５は、ＤＣ（Data Center）２０に収容される。ＤＣ２０は、ＤＣ２０内に構築されたＬ３ ＤＣ ＮＷ２１を介して広域ＮＷ３と接続される。図１０の例では、ＤＣ２０内のルータ４１，４２を着側ＶＴＥＰ（対向ＶＴＥＰともいう）とし、ルータ４１（着側ＶＴＥＰ）が、アプリケーションＡ機能（サービスＡ）を有するサーバ５１に接続される。サーバ５１は、現用系であり稼働中であるものとする。また、ルータ４２（着側ＶＴＥＰ）およびサーバ５２は、予備系である。
ルータ２（発側ＶＴＥＰ）は、ルータ４（着側ＶＴＥＰ）宛のカプセリングを行う。具体的には、ルータ２（発側ＶＴＥＰ）は、ＭＡＣフレームの前に適切なトンネル識別子VNI（送信元仮想マシンの属するＶＸＬＡＮセグメントのＩＤ）と自分および対向ルータのＩＰアドレスとＭＡＣアドレスを付け、ルータ４１（着側ＶＴＥＰ）のＩＰアドレスに通信を開始する。ルータ４１（着側ＶＴＥＰ）は、トンネル識別子VNIを見て確認した後、ルータ２（発側ＶＴＥＰ）が付けた情報をすべて削除し、送信先のサーバ５１に対してこのＭＡＣフレームを送る（図１０の破線矢印参照）。
【００１２】
また、ＤＣ２０では、物理サーバ（物理マシン）が仮想マシン化されている。仮想マシン化の利点として、異なる物理サーバ間で仮想マシンＶＭを移動させるマイグレーション（Migration）の技術により、ポータビリティを確保し、柔軟な運用が行える点が挙げられる。上記マイグレーションを実現するには、仮想マシンＶＭの切り替えの際に、仮想マシンＶＭへアクセスするためのネットワークの情報（ＶＬＡＮ（Virtual Local Area Network）情報、ルーティング情報）も追随して切り替える必要がある。
【００１３】
図１０に示すように、ＤＣ２０では、現用系のサーバ５１を予備系のサーバ５２にマイグレーションした場合、ルータ４２（着側ＶＴＥＰ）は、発側ＶＴＥＰ（図１０ではルータ２）に対してＭＡＣテーブルを更新する指示を出す。そして、ルータ２（発側ＶＴＥＰ）は、ＭＡＣフレームの前に適切なトンネル識別子VNIと自分のＩＰアドレスとＭＡＣアドレスを付け、ルータ４２（着側ＶＴＥＰ）のＩＰアドレスに通信を開始する。ルータ４２（着側ＶＴＥＰ）は、トンネル識別子VNIを見て確認した後、ルータ２（発側ＶＴＥＰ）が付けた情報をすべて削除し、送信先のサーバ５２に対してこのＭＡＣフレームを送る（図１０の実線矢印参照）。
【先行技術文献】
【非特許文献】
【００１４】
【非特許文献１】OpenFlow、[online]、[平成26年11月25日検索]、インターネット、<URL:https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-switch-v1.3.4.pdf＞
【非特許文献２】NVO3, IETF RFC7365、[online]、[平成27年2月1日検索]、インターネット、<URL: https://www.tools.ietf.org/html/rfc7365＞
【非特許文献３】VXLAN, IETF RFC7348、[online]、[平成27年2月1日検索]、インターネット、<URL: http://www.tools.ietf.org/html/rfc7348＞
【非特許文献４】NVGRE, IETF Draft、[online]、[平成27年2月1日検索]、インターネット、<URL: https://www.tools.ietf.org/html/draft-sridharan-virtualization-nvgre-07＞
【非特許文献５】E-VPN, IETF Draft、[online]、[平成27年2月1日検索]、インターネット、<URL: https://www.tools.ietf.org/html/draft-boutros-l2vpn-vxlan-evpn-04＞
【発明の概要】
【発明が解決しようとする課題】
【００１５】
しかしながら、従来技術では、ＤＣ２０内の仮想マシンＶＭのマイグレーション時、その設定がＷＡＮ（図１０では広域ＮＷ３およびルータ２）に波及してしまい、経路切替の時間がかかるという問題がある。
【００１６】
図１０を参照してより詳細に説明する。
ＤＣ２０内で障害が発生した場合、現用系のサーバ５１を予備系のサーバ５２にマイグレーションする必要がある。特に、仮想Ｌ２トンネル利用時にＤＣ２０内で障害が発生した場合、発側ＶＴＥＰ（図１０ではルータ２）で予備系への経路切り替えのために多くの時間を要する。すなわち、この切り替えのためには、ルータ４２（着側ＶＴＥＰ）は、発側ＶＴＥＰ（図１０ではルータ２）に対してＭＡＣテーブルを更新するような指示を出さなくてはならない。
例えば、上記（１）のＭＡＣ取得方法の場合、サービスＡのサーバ５１側からＤＣ２０外の全ＶＴＥＰに向かってパケットを送出し、全ＶＴＥＰは受け取ったパケットによって学習する。
また、上記（２）のＭＡＣ取得方法の場合、ＤＣ２０外の全ＶＴＥＰに対しコントロールプレーンでＭＡＣアドレスを広告し、全ＶＴＥＰは受け取った結果によって学習する。
いずれの場合もＤＣ２０側障害を受けて広域ＮＷ３（Ｌ３）側の全ＶＴＥＰに通知しなくてはならない。図１０の符号ａに示すように、この切り替えのためには、ルータ４２（着側ＶＴＥＰ）は、全ての発側ＶＴＥＰ（図１０ではルータ４）に対してＡＲＰ（Ｅ-ＶＰＮ）で即座に通知が必要である。図１０の符号ｂに示すように、広域ＮＷ３（Ｌ３）側のＶＴＥＰ数が多い場合は、ＮＷへの負荷が大きいため、切り替えに時間を要する。
このように、従来技術では、サーバ５を収容するＤＣ２０と広域ＮＷが同一Ｌ２ＮＷになってしまうため、耐障害性や運用性の観点で問題があった。
【００１７】
このような背景を鑑みて本発明がなされたのであり、本発明は、耐障害性や運用性を向上させるネットワークシステムおよびパケット転送方法を提供することを課題とする。
【課題を解決するための手段】
【００１８】
前記した課題を解決するため、請求項１に記載の発明は、Ｌ３（レイヤ３）ネットワーク上に仮想Ｌ２（レイヤ２）トンネルを構築して、前記Ｌ３ネットワーク上に接続されるＬ２サービス提供端末と前記Ｌ３ネットワークに接続されたＤＣ（Data Center）内のＤＣネットワークに接続される端末との間でパケットを送受信するネットワークシステムであって、前記Ｌ３ネットワークと前記Ｌ２サービス提供端末のＬ２ネットワークの接続点に実装された発側トンネル終端ポイントと、前記ＤＣ内の前記端末と前記ＤＣネットワークの接続点に実装された着側トンネル終端ポイントと、前記Ｌ３ネットワークと前記ＤＣとの接続点に配置されたゲートウェイ装置と、を備え、前記発側トンネル終端ポイントは、前記仮想Ｌ２トンネルの宛先を前記ゲートウェイ装置宛としてパケットをカプセリングし、前記ゲートウェイ装置は、前記仮想Ｌ２トンネルを識別するトンネル識別子を、発着側トンネル終端ポイントの組毎にユニークに付与するトンネル識別子設定部と、前記トンネル識別子と前記発着側トンネル終端ポイントのＩＰアドレスの対応情報を記憶する記憶部と、自宛てのパケット到着時、前記対応情報を参照して、前記仮想Ｌ２トンネルでカプセリングされたパケットの宛先を前記着側トンネル終端ポイントに書き換えて転送する処理部とを備えることを特徴とする。
【００１９】
また、請求項２に記載の発明は、Ｌ３（レイヤ３）ネットワークとＬ２（レイヤ２）端末のＬ２ネットワークの接続点に実装された発側トンネル終端ポイントと、ＤＣ内の端末とＤＣネットワークの接続点に実装された着側トンネル終端ポイントと、前記Ｌ３ネットワークと前記ＤＣとの接続点に配置されたゲートウェイ装置とを有し、Ｌ３ネットワーク上に仮想Ｌ２トンネルを構築して、前記Ｌ３ネットワーク上に接続されるＬ２サービス提供端末と前記Ｌ３ネットワークに接続されたＤＣ（Data Center）内のＤＣネットワークに接続される前記端末との間でパケットを送受信するネットワークシステムのパケット転送方法であって、前記発側トンネル終端ポイントにおいて、前記仮想Ｌ２トンネルの宛先を前記ゲートウェイ装置宛としてパケットをカプセリングする工程と、前記ゲートウェイ装置において、前記仮想Ｌ２トンネルを識別するトンネル識別子を、発着側トンネル終端ポイントの組毎にユニークに付与するトンネル識別子設定工程と、前記トンネル識別子と前記発着側トンネル終端ポイントのＩＰアドレスの対応情報を記憶する記憶工程と、自宛てのパケット到着時、前記対応情報を参照して、前記仮想Ｌ２トンネルでカプセリングされたパケットの宛先を前記着側トンネル終端ポイントに書き換えて転送する処理工程とを有することを特徴とする。
【００２０】
このようにすることで、ＤＣ内の仮想マシンのマイグレーション時、マイグレーションの影響をＤＣ外に波及させることなくＤＣ内に完結することができる。また、ゲートウェイ装置のみの制御により素早く経路切替が可能である。これにより、発側トンネル終端ポイントには意識させずにＤＣ側の予備系切り替えが実現でき、耐障害性や運用性を向上させることができる。
【発明の効果】
【００２１】
本発明によれば、耐障害性や運用性を向上させるネットワークシステムおよびパケット転送方法を提供することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施形態に係るネットワークシステムおよびＤＣの構成を示す図である。
【図２】本発明の実施形態に係るネットワークシステムのフレームフォーマットを示す図である。
【図３】本実施形態に係るネットワークシステムの仮想Ｌ２トンネル管理方法と従来技術の仮想Ｌ２トンネル管理方法を比較して示す図である。
【図４】本実施形態に係るネットワークシステムのトンネル識別子VNIと発着側ＶＴＥＰ ＩＰアドレスの対応を示す管理テーブルである
【図５】本発明の実施形態に係るネットワークシステムの構成を示す図である。
【図６】本発明の実施形態に係るネットワークシステムのＶＸＬＡＮフレームフォーマットを模式的に示す図である。
【図７】本発明の実施形態に係るネットワークシステムのＤＣ内のマイグレーションを説明する図である。
【図８】NVO3に係るネットワークシステムの構成を示す図である。
【図９】図８のカプセリング後のフレームフォーマットを示す図である。
【図１０】NVO3に係るネットワークシステムおよびＤＣの構成を示す図である。
【発明を実施するための形態】
【００２３】
以下、図面を参照して本発明を実施するための形態（以下、「本実施形態」という）におけるネットワークシステム等について説明する。
本実施形態は、大規模な物理ネットワーク上に仮想パスを生成する際、その中継区間における転送方法およびそれを実現するネットワークシステムに適用した例である。ＮＦＶ環境において必要となるNVO3、すなわちＬ３ＮＷ上に仮想Ｌ２ＮＷを構築する技術について説明する。
【００２４】
図１は、本発明の実施形態に係るネットワークシステムおよびＤＣの構成を示す図である。図１０と同一構成部分には、同一符号を付している。
図１に示すように、ネットワークシステム１００は、ユーザ端末１１，１２（Ｌ２サービス提供端末）が、ルータ２０（発側ＶＴＥＰ）を介してＬ３ 広域ＮＷ３に接続され、ＤＣ１１０のゲートウェイ装置であるＤＣ-ＧＷ（Gate Way）１２０を介してＬ３ ＤＣ ＮＷ１３０に接続される。そして、ＤＣ１１０内では、Ｌ３ ＤＣ ＮＷ１３０に接続されたルータ１４０１，１４０２（着側ＶＴＥＰ）を介してサービスＡ，Ｂ機能を有するサーバ１５０１，１５０２に接続される。図１は、サーバ１５０１はサービスＡのための転送機能、サーバ１５０２はサービスＢのための転送機能を有する例である。後記（図７参照）するようにサーバ１５０１，１５０２は共にサービスＡのための転送機能を有するものとし、サーバ１５０１を現用系、サーバ１５０２を予備系とする例でもよい。なお、ルータ１４０１，１４０２を総称する場合は、ルータ１４０と呼び、サーバ１５０１，１５０２を総称する場合は、サーバ１５０と呼ぶ。ユーザ端末１１，１２を特に区別しない場合にはユーザ端末１と表記する。
【００２５】
ネットワークシステム１００は、Ｌ３ 広域ＮＷ３上に仮想Ｌ２トンネルを構築して、Ｌ３ 広域ＮＷ３上に接続されるユーザ端末１とＬ３ 広域ＮＷ３に接続されたＤＣ１１０内のＬ３ ＤＣ ＮＷ１３０に接続されるサーバ１５０との間でパケットを送受信するものである。
【００２６】
ユーザ端末１は、例えば、一般的なパーソナルコンピュータや携帯情報端末等から構成されるＬ２サービス提供端末である。ユーザ端末１は、Ｌ２ＮＷによりルータ２０（発側ＶＴＥＰ）に接続される。
【００２７】
ルータ２０（発側ＶＴＥＰ）は、Ｌ３ 広域ＮＷ３とユーザ端末１のＬ２ＮＷの接続点に実装される。ルータ２０（発側ＶＴＥＰ）は、Ｌ３ 広域ＮＷ３を介して、ＤＣ１１０内のサーバ１５０に対して、各種サービスＡ，Ｂの提供要求を送信し、サーバ１５０（ここでは１５０１）から情報を取得する。
ルータ２０（発側ＶＴＥＰ）は、仮想Ｌ２トンネルの宛先をＤＣ-ＧＷ１２０宛としてパケットをカプセリングする。ルータ２０（発側ＶＴＥＰ）は、カプセリングを行う際、ＤＣ-ＧＷ１２０宛にパケットを転送する。
【００２８】
ＤＣ１１０は、ＤＣ-ＧＷ１２０を介してＬ３ 広域ＮＷ３と接続される。ＤＣ１１０は、Ｌ３ ＤＣ ＮＷ１３０、ルータ１４０（着側ＶＴＥＰ）や仮想サーバを大規模で効率的に収容する。ＤＣ１１０は、サーバやネットワーク機器などのＩＴ（Information Technology）機器を設置、運用する施設・建物の総称であり、複数のルータ１４０（着側ＶＴＥＰ）を運用するものであればどのような名称でも構わない。
ＤＣ１１０内は、Ｌ３ ＤＣ ＮＷ１３０によりネットワークが構築され、ルータ１４０（着側ＶＴＥＰ）を介してサーバ１５０が接続される。
【００２９】
ＤＣ-ＧＷ１２０は、Ｌ３ 広域ＮＷ３とＤＣ１１０との接続点に配置され、Ｌ３ 広域ＮＷ３とＤＣ１１０間を中継する。
ＤＣ-ＧＷ１２０は、仮想Ｌ２トンネルを識別するトンネル識別子VNIを、発着側ＶＴＥＰの組毎にユニークに付与するトンネル識別子設定部１２０ａと、トンネル識別子VNIと発着側ＶＴＥＰのＩＰアドレスの管理テーブル１６０（対応情報）（図４参照）を記憶する記憶部１２０ｂと、自宛てのパケット到着時、管理テーブル１６０を参照して、仮想Ｌ２トンネルでカプセリングされたパケットの宛先を着側ＶＴＥＰに書き換えて転送する処理部１２０ｃと、を備える。ＤＣ-ＧＷ１２０は、トンネル識別子VNIと発着側ＶＴＥＰのＩＰアドレスの管理テーブル１６０を管理し、宛先ＩＰアドレスを適切に書き換える。
トンネル識別子VNIと発着側ＶＴＥＰを１対１の対応とする。
なお、ＤＣ-ＧＷ１２０は、通常のゲートウェイ機能と、ファイアウォール機能とを備えるものでもよい。
【００３０】
ルータ１４０（着側ＶＴＥＰ）は、ＤＣ１１０内のサーバ１５０とＬ３ ＤＣ ＮＷ１３０の接続点に実装される。
サーバ１５０は、サービスＡ，Ｂを提供するサーバである。
【００３１】
上述したように、ルータ２０（発側ＶＴＥＰ）が接続されるＬ３ 広域ＮＷ３はＬ３ＮＷであり、ＤＣ１１０内もＬ３ＮＷである。このため、ユーザ端末１からＤＣ１１０内のサーバ１５０までのＬ２接続を確保するＬ２ over Ｌ３接続が必要となる。本実施形態では、Ｌ２ over Ｌ３接続技術として、ＶＸＬＡＮを例に採っているが、ＮＶＧＲＥ（Network Virtualization using Generic Routing Encapsulation）等であってもよい。
【００３２】
以下、上述のように構成されたネットワークシステム１００のパケット転送方法について説明する。
本実施形態では、ＤＣ-ＧＷ１２０において経路切り替えを行う。以下、ＶＴＥＰでの動作、仮想Ｌ２トンネル管理方法、ＤＣ-ＧＷ１２０での動作の３つに分けて述べる。
【００３３】
<発側ＶＴＥＰでの動作>(ＤＣ-ＧＷ１２０宛パケット転送)
本実施形態では、キャリア網（Ｌ３ 広域ＮＷ３）−ＤＣ網（Ｌ３ ＤＣ ＮＷ１３０）間のＬ２延伸は、トンネルの宛先をＤＣ-ＧＷ１２０とする。トンネルの宛先をＤＣ-ＧＷ１２０とするため、図２のフレームフォーマットを用いる。
図２は、ネットワークシステム１００のフレームフォーマットを示す図である。図２（ａ）は、ルータ２０（発側ＶＴＥＰ）がＤＣ-ＧＷ１２０宛のカプセリング動作によってＶＸＬＡＮカプセリングを行った場合のフレームフォーマットを示す。
【００３４】
図２（ａ）に示すように、図１のカプセリング後のフレームフォーマット２１０は、Outer Dst. MAC、Outer Src. MAC、Outer Dst. IP(ＤＣ-ＧＷ)、Outer Src. IP(ルータ２０)、Outer Src. UDP、Outer Dst. UDP(VXLAN port)およびVXLAN ID(id=1)からなるＶＸＬＡＮフレーム２１１と、Inner Dst. MAC(サービスA)、Inner Src. MAC(ユーザ1))およびPayloadからなるオリジナルフレーム２１２と、から構成される。
図２（ａ）の符号ａに示すように、トンネルの宛先を「Outer Dst. IP(ＤＣ-ＧＷ)」とする。これにより、ルータ２０（発側ＶＴＥＰ）は、ＤＣ-ＧＷ１２０宛のカプセリングを行う。
【００３５】
<仮想Ｌ２トンネル管理方法>(トンネル識別子と発着側ＶＴＥＰが１対１)
従来技術では、図３（ｂ）に示すように、仮想Ｌ２トンネルは、一つのトンネル識別子VNIを用いてＭＰ２ＭＰ（Multi-Point to Multi-Point）接続を実現していた。これに対して、本実施形態では、図３（ａ）に示すように、発側ＶＴＥＰと着側ＶＴＥＰ（以下、発着ＶＴＥＰという）の組毎にトンネル識別子VNIを独立に付与する。具体的には、図１に示すように、ルータ２０（発側ＶＴＥＰ）とルータ１４０１（着側ＶＴＥＰ）の組にトンネル識別子（VNI）＝１００００を付与し、これとは独立してルータ２０（発側ＶＴＥＰ）とルータ１４０２（着側ＶＴＥＰ）の組にトンネル識別子VNI＝２００００を付与する（図１参照）。これにより、ＤＣ-ＧＷ１２０は、付与されたトンネル識別子VNIを参照するだけでどのＶＴＥＰに転送すればよいかを判別可能となる。
【００３６】
<ＤＣ-ＧＷ１２０の動作>（その１）(トンネル識別子と発着側ＶＴＥＰのＩＰアドレスのテーブル管理)
本実施形態では、ＤＣ-ＧＷ１２０は、デカプセリングを行わずオリジナルフレームのＭＡＣテーブルを持たない。そのために、上記したように、ＤＣ-ＧＷ１２０では、トンネル識別子設定部１２０ａがトンネル識別子VNIをトンネル端点の組毎にユニークなものに設定する。
ルータ２０（発側ＶＴＥＰ）は、ＤＣ-ＧＷ１２０宛に仮想Ｌ２トンネルでカプセリングされたパケットを転送する。ＤＣ-ＧＷ１２０では、Inner ＭＡＣを含むオリジナルフレーム２１２を一切見ずに転送する。また、ＤＣ-ＧＷ１２０は、仮想Ｌ２トンネルのデカプセリングを行わずに処理を行う。
【００３７】
<ＤＣ-ＧＷ１２０の動作>（その２）(ＤＣ-ＧＷから着側ＶＴＥＰへの転送)
ＤＣ-ＧＷ１２０は、処理部１２０ｃがトンネル識別子VNIを見て確認した後、ルータ２０（発側ＶＴＥＰ）が付けたＶＸＬＡＮフレーム２１１（図２（ｂ）参照）をすべて削除し、ルータ１４０（着側ＶＴＥＰ）に対してオリジナルフレーム２１２を送る。この場合、ＤＣ-ＧＷ１２０は、処理部１２０ｃがトンネル識別子VNIと発着側ＶＴＥＰ ＩＰアドレスの対応を示す管理テーブル１６０（図４参照）を参照し、仮想Ｌ２トンネルでカプセリングされたパケットの宛先を着側ＶＴＥＰ（図１の着側ルータ１４０）に書き換えて転送する処理を行う。
【００３８】
図４は、トンネル識別子VNIと発着側ＶＴＥＰ ＩＰアドレスの対応を示す管理テーブル１６０である。
ネットワークシステム１００は、トンネル識別子VNIが発着側ＶＴＥＰと１対１で対応するため、ＤＣ-ＧＷ１２０はこれらを管理する管理テーブル１６０（図４参照）を保持する。
サーバ障害時には、ＤＣ-ＧＷ１２０はこの管理テーブル１６０上でサーバ側の予備系ＶＴＥＰに書き換えることで、ユーザ側のルータ２０（発側ＶＴＥＰ）に一切影響を与えずに経路切り替えが実現できる。
【００３９】
ＤＣ-ＧＷ１２０の実装例として、OpenFlowを用いて実現することができる。その際のエントリテーブルを以下に示す。
マッチ条件：宛先ＵＤＰ（User Datagram Protocol）ポート：カプセリング技術で定められたポート番号
送信元ＩＰアドレス：発側ＶＴＥＰのＩＰアドレス
宛先ＩＰアドレス：ＤＣ-ＧＷ１２０自身のＩＰアドレス
カプセリングＩＤ：仮想Ｌ２トンネルのトンネル識別子（VNI）
アクション：送信元ＩＰアドレス：ＤＣ-ＧＷ１２０自身のＩＰアドレスに書き換え
宛先ＩＰアドレス：着側ＶＴＥＰのＩＰアドレスに書き換え
出力ポート：着側ＶＴＥＰへ転送できるポートから出力
【００４０】
図２（ｂ）は、ＤＣ-ＧＷ１２０からルータ１４０（着側ＶＴＥＰ）に転送する場合のフレームフォーマットを示す図である。
図２（ｂ）に示すように、ＤＣ-ＧＷ１２０からのフレームフォーマット２１０は、Outer Dst. MAC、Outer Src. MAC、Outer Dst. IP(着側ＶＴＥＰ)、Outer Src. IP(ルータ２０)、Outer Src. UDP、Outer Dst. UDP(VXLAN port)およびVXLAN ID(id=1)からなるＶＸＬＡＮフレーム２１１と、Inner Dst. MAC(サービスA)、Inner Src. MAC(ユーザ1)およびPayloadからなるオリジナルフレーム２１２と、から構成される。
図２（ｂ）の符号ａに示すように、トンネルの宛先を「Outer Dst. IP(着側ＶＴＥＰ)」と書き換える。これにより、ＤＣ-ＧＷ１２０は、ルータ１４０（着側ＶＴＥＰ）宛に転送する。
【００４１】
このように、ＤＣ-ＧＷ１２０は、自宛のＬ２延伸パケットについて、あらかじめ設定した（またはＥ-ＶＰＮによって広告された）トンネル識別子VNIと発着側ＶＴＥＰのＩＰアドレスの組を参照し、しかるべき宛先へ転送する。本実施形態では、ＤＣ-ＧＷ１２０は、トンネル識別子VNIと発着側ＶＴＥＰのＩＰアドレスの管理テーブル１６０（図４参照）を管理し、宛先ＩＰアドレスを適切に書き換えることで、仮想Ｌ２トンネルのデカプセリングを行わずに正しく転送を行う。この場合、ＤＣ-ＧＷ１２０は、Inner ＭＡＣを含むオリジナルフレームを一切見ずに転送する。
【００４２】
トンネル識別子VNIの管理についてより詳細に説明する。
図５は、本発明の実施形態に係るネットワークシステムの構成を示す図である。図１と同一構成部分には、同一符号を付している。
図５に示すように、ネットワークシステム１００は、ルータ２０１〜２０３（発側ＶＴＥＰ）が、Ｌ３ 広域ＮＷ３を介してＤＣ-ＧＷ１２０に接続される。そして、ＤＣ-ＧＷ１２０を接続点にして、Ｌ３ ＤＣ ＮＷ１３０を介してルータ１４０１，１４０２（着側ＶＴＥＰ）に接続される。なお、ルータ２０１〜２０３を総称する場合は、ルータ２０と呼び、ルータ１４０１，１４０２を総称する場合は、ルータ１４０と呼ぶ。ルータ２０１〜２０３，１４０１，１４０２のブロック内の数と「.」は自身のＩＰアドレスである。
ＤＣ-ＧＷ１２０は、図４に示すトンネル識別子VNIと発着側ＶＴＥＰのＩＰアドレスの管理テーブル１６０（対応情報）を有する。
【００４３】
図６は、図５のネットワークシステム１００のＶＸＬＡＮフレームフォーマットを模式的に示す図である。
図６の符号ａに示すように、従来技術のＶＴＥＰでは、Inner ＭＡＣを参照して次の転送先を決定するため、複数対地（図３（ｂ）のルータ２とルータ４１，４２参照）と接続する場合でも１つのトンネル識別子（ＶＸＬＡＮ ＩＤ）とすることができた。これに対して、本実施形態のＤＣ-ＧＷ１２０は、ＶＸＬＡＮフレームのみしか参照できない。そこで、本実施形態では、図６の符号ｂに示すように、トンネル識別子VNIを用いて次の転送先を決定する。具体的には、ＤＣ-ＧＷ１２０は、図４に示す管理テーブル１６０を設け、トンネル識別子VNIと対応するＶＴＥＰを管理する。よって、転送先ＶＴＥＰを一意に決定するために、複数対地と接続する場合は別のトンネル識別子VNIを用いる。
【００４４】
図７は、本発明の実施形態に係るネットワークシステムのＤＣ１１０内のマイグレーションを説明する図である。
図７に示すように、ＤＣ１１０内のルータ１４０１（着側ＶＴＥＰ）が、アプリケーションＡ機能を有するサーバ１５０１に接続される。サーバ１５０１は、現用系であり稼働中であるものとする。また、ルータ１４０２（着側ＶＴＥＰ）およびサーバ１５０２は、予備系である。
ルータ２０（発側ＶＴＥＰ）は、ＭＡＣフレームの前に適切なVNIと自分のＩＰアドレスとＭＡＣアドレスを付け、ＤＣ-ＧＷ１２０宛のＩＰアドレスに通信を開始する。図７のＬ２トンネルに示すように、ルータ２０（発側ＶＴＥＰ）は、ＤＣ-ＧＷ１２０宛に仮想Ｌ２トンネルでカプセリングされたパケットを転送する。ＤＣ-ＧＷ１２０は、デカプセリングを行わずＭＡＣテーブルを持たない。そのために、トンネル識別子VNIをトンネル端点の組毎にユニークなものとしている。ＤＣ-ＧＷ１２０は、仮想Ｌ２トンネルでカプセリングされたパケットの宛先を着側ＶＴＥＰ（図１の着側ルータ１４０）に書き換えて転送する処理を行う（図７の破線矢印参照）。
【００４５】
ＤＣ１１０において現用系のサーバ１５０１を予備系のサーバ１５０２にマイグレーションした場合を想定する。本実施形態では、ルータ２０（発側ＶＴＥＰ）は、ＤＣ-ＧＷ１２０宛にパケットをカプセリングする。ＤＣ-ＧＷ１２０は、ＤＣ１１０内で、カプセリングされたパケットの宛先をルータ１４０（着側ＶＴＥＰ）に書き換えて転送する（図７の実線矢印参照）。したがって、マイグレーション時の影響は、ＤＣ１１０内で完結するので、ＤＣ１１０外の全ＶＴＥＰ（ここではルータ２０）に対しコントロールプレーン等でＭＡＣアドレスを広告するなどの設定は不要となり、Ｌ３ 広域ＮＷ３側に波及することはない。
このため、図７の符号ａに示すように、ルータ２０（発側ＶＴＥＰ）側から一切意識せずに予備系切り替えが実現できる。また、図７の符号ｂに示すように、ＤＣ-ＧＷ１２０の制御のみで切替可能であるので、高速切替を実現することができる。
【００４６】
以上説明したように、ネットワークシステム１００は、Ｌ３ 広域ＮＷ３とユーザ端末１（Ｌ２サービス提供端末）のＬ２ＮＷの接続点に実装されたルータ２０（発側ＶＴＥＰ）と、ＤＣ１１０内のサーバ１５０とＬ３ ＤＣ ＮＷ１３０の接続点に実装されたルータ１４０（着側ＶＴＥＰ）と、Ｌ３ 広域ＮＷ３とＤＣ１１０との接続点に配置されたＤＣ-ＧＷ１２０と、を備える。そして、ルータ２０（発側ＶＴＥＰ）では、仮想Ｌ２トンネルの宛先をＤＣ-ＧＷ１２０宛としてパケットをカプセリングする。ＤＣ-ＧＷ１２０は、仮想Ｌ２トンネルを識別するトンネル識別子VNIを、発着側ＶＴＥＰの組毎にユニークに付与するトンネル識別子設定部１２０ａと、トンネル識別子VNIと発着側ＶＴＥＰのＩＰアドレスの管理テーブル１６０を記憶する記憶部１２０ｂと、自宛てのパケット到着時、管理テーブル１６０を参照して、仮想Ｌ２トンネルでカプセリングされたパケットの宛先を着側ＶＴＥＰに書き換えて転送する処理部１２０ｃとを備える。
【００４７】
これにより、以下の効果がある。
(１)ＮＦＶ環境においてサーバ障害時の切り替え時間が短縮される。特に、ユーザ側のＶＴＥＰの数が多い環境になればなるほど顕著になる。一般に、ＮＦＶでは、ＤＣ側ＶＴＥＰよりユーザ側ＶＴＥＰの方が圧倒的に多いため、本ネットワークシステム１００による耐障害性向上は重要となる。
(２)ＤＣ故障に対してその影響が広域ＮＷまで波及しない。
以上により、耐障害性や運用性が向上する。
また、本実施形態では、ＶＸＬＡＮフレームフォーマットのトンネルの宛先をＤＣ-ＧＷ１２０にするだけでよいので、既存の装置の流用あるいは既存の装置との親和性が高く、実施が容易で汎用性のあるシステムを構築することができる。
【００４８】
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上述文書中や図面中に示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【００４９】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行するためのソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、又は、ＩＣ（Integrated Circuit）カード、ＳＤ（Secure Digital）カード、光ディスク等の記録媒体に保持することができる。
【符号の説明】
【００５０】
１，１１，１２  ユーザ端末（Ｌ２サービス提供端末）
３  Ｌ３ 広域ＮＷ
２０  ルータ（発側ＶＴＥＰ）（発側トンネル終端ポイント）
１００  ネットワークシステム
１１０  ＤＣ
１２０  ＤＣ-ＧＷ
１２０ａ  トンネル識別子設定部
１２０ｂ  記憶部
１２０ｃ  処理部
１３０  Ｌ３ ＤＣ ＮＷ
１４０，１４０１，１４０２  ルータ（着側ＶＴＥＰ）（着側トンネル終端ポイント）
１５０，１５０１，１５０２  サーバ
１６０  管理テーブル（対応情報）
ＶＮＩ  トンネル識別子
【図１】
2016149701.tif 000003
【図２】
2016149701.tif 000004
【図３】
2016149701.tif 000005
【図４】
2016149701.tif 000006
【図５】
2016149701.tif 000007
【図６】
2016149701.tif 000008
【図７】
2016149701.tif 000009
【図８】
2016149701.tif 000010
【図９】
2016149701.tif 000011
【図１０】
2016149701.tif 000012