【文献】
adzuki,大規模VPNネットワーク設定のツボ,SoftwareDesign No.200,日本,(株)技術評論社,2007年,第67−77頁
【文献】
Mahalingam, M.,VXLAN: A Framework for Overlaying Virtualized Layer 2 Networks overLayer 3 Networks,draft-mahalingam-dutt-dcops-vxlan-00.txt,2011年
(58)【調査した分野】(Int.Cl.,DB名)
前記VONゲートウェイは、特定の受信パケットに対してサービスを実行するために、前記VONゲートウェイのポート上で受信されるネットワーク・トラフィックに対してアクセス制御リスト(ACL)を適用して、前記特定の受信パケットを前記オーバーレイ・ネットワーク・デバイスへ誘導するようになっている、請求項4に記載のシステム。
サービスを実行されるパケットのタイプは、前記VONゲートウェイに、前記VONゲートウェイのポート上で受信される前記ネットワーク・トラフィックに対して別のACLを適用させることによって変更される、請求項5に記載のシステム。
【発明を実施するための形態】
【0010】
以下の説明は、本発明の一般的な原理を示すように構成されており、本願において特許請求される発明概念を限定することは意図されていない。さらに、本願明細書に記載される特定の特徴は、様々な可能な組み合わせおよび置換のそれぞれにおいて、記載されている他の特徴と組み合わせて使用可能である。
【0011】
本願明細書で明確に別途定義されない限り、すべての用語には、当業者により理解される意味もしくは辞書、論文などで定義されている意味、またはその両方のみならず、明細書が示唆する意味をも含む、最大限広範な解釈が与えられるものとする。
【0012】
さらに、明細書および添付の特許請求の範囲で使用される単数形の「ある」(a、an)および「該」(the)は、別途指定がない限り、複数の指示対象を含むことに留意されたい。
【0013】
一手法において、仮想ローカル・エリア・ネットワーク(VLAN:virtual local area network)ゲートウェイおよびインターネットワーク構成要素(INE)は、仮想オーバーレイ・ネットワーク・トラフィックを転送する間、内部パケットのネイティブな(native)可視性の欠如を克服するために、ディープ・パケット・インスペクション・サービスを提供するデバイスを利用してもよい。
【0014】
一般的な一実施形態では、システムは、オーバーレイ・ネットワーク・デバイスを含み、オーバーレイ・ネットワーク・デバイスは、仮想オーバーレイ・ネットワーク(VON)ゲートウェイと電気通信するようになっているインターフェースと、VONゲートウェイから複数のパケットを受信する手段と、複数のパケットがオーバーレイ・ヘッダを含むかどうかを判断する手段と、オーバーレイ・ヘッダを含むパケットの内部パケットをカプセル化解除する手段と、複数のパケットまたはカプセル化解除された内部パケットに対してサービスを実行する手段と、サービスを受けた内部パケットまたはサービスを受けたパケットを、仮想ネットワーク内の宛先アドレスへスイッチングされるよう、オーバーレイ・ヘッダを用いてカプセル化し、カプセル化されたパケットをVONゲートウェイへ送信する手段、またはサービスを受けたパケットを、非仮想ネットワーク内の宛先アドレスへスイッチングされるよう、オーバーレイ・ヘッダを用いてパケットをカプセル化せずにVONゲートウェイへ送信する手段とを含む。
【0015】
別の一般的な実施形態では、仮想オーバーレイ・ネットワーク上のネットワーク・トラフィックにサービスを提供する方法は、複数のパケットを含むネットワーク・トラフィックを受信するステップと、複数のパケットがオーバーレイ・ヘッダを含むかどうかを判断するステップと、トンネルを終了し、オーバーレイ・ヘッダを含むパケットの内部パケットをカプセル化解除するステップと、複数のパケットまたはカプセル化解除された内部パケットに対してサービスを実行するステップと、トンネルを開始し、サービスを受けた内部パケットまたはサービスを受けたパケットを、仮想ネットワーク内の宛先アドレスへスイッチングされるよう、オーバーレイ・ヘッダを用いてカプセル化し、カプセル化されたパケットを送信するステップ、またはサービスを受けたパケットを、非仮想ネットワーク内の宛先アドレスへスイッチングされるよう、オーバーレイ・ヘッダを用いてパケットをカプセル化せずに送信するステップとを含む。
【0016】
さらに別の一般的な実施形態では、仮想オーバーレイ・ネットワーク上のネットワーク・トラフィックにサービスを提供するためのコンピュータ・プログラム製品は、コンピュータ可読ストレージ媒体を用いて具現化されたコンピュータ可読プログラム・コードを有するコンピュータ可読ストレージ媒体を含み、コンピュータ可読プログラム・コードは、複数のパケットを含むネットワーク・トラフィックをVONゲートウェイから受信するよう構成されたコンピュータ可読プログラム・コードと、複数のパケットがオーバーレイ・ヘッダを含むかどうかを判断するよう構成されたコンピュータ可読プログラム・コードと、オーバーレイ・ヘッダを含むパケットの内部パケットをカプセル化解除するよう構成されたコンピュータ可読プログラム・コードと、複数のパケットまたはカプセル化解除された内部パケットに対してサービスを実行するよう構成されたコンピュータ可読プログラム・コードと、内部パケットまたは複数のパケットを、仮想ネットワーク内の宛先アドレスへスイッチングされるよう、オーバーレイ・ヘッダを用いてカプセル化し、カプセル化されたパケットをVONゲートウェイへ送信すること、またはサービスを受けたパケットを、非仮想ネットワーク内の宛先アドレスへスイッチングされるよう、オーバーレイ・ヘッダを用いてパケットをカプセル化せずにVONゲートウェイへ送信することを、択一的に行うよう構成されたコンピュータ可読プログラム・コードとを含む。
【0017】
別の一般的な実施形態によれば、システムは、1つ以上の仮想ネットワークおよび1つ以上の非仮想ネットワークと電気通信するようになっている1つ以上のインターフェースと、複数のパケットを含むネットワーク・トラフィックを受信する手段と、パケットがオーバーレイ・ヘッダを含むかどうかを判断する手段と、トンネルを終了し、オーバーレイ・ヘッダを含むパケットの内部パケットをカプセル化解除する手段と、パケットに対してサービスが実行されることを判断し、パケットに対してサービスを実行する手段と、トンネルを開始し、サービスを受けたパケットを、オーバーレイ・ヘッダを用いてカプセル化して、カプセル化された、サービスを受けたパケットを、仮想ネットワーク内の宛先アドレスへスイッチングする手段、またはサービスを受けたパケットを、オーバーレイ・ヘッダを用いてパケットをカプセル化せずに非仮想ネットワーク内の宛先アドレスへスイッチングする手段とを含む。
【0018】
当業者であれば当然のことであるが、本発明の各側面は、システム、方法、またはコンピュータ・プログラム製品として具現化され得る。したがって、本発明の各側面は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、または本願明細書においてすべて概して「論理」、「回路」、「モジュール」、もしくは「システム」と呼ばれ得る、ソフトウェアおよびハードウェアの側面を兼ね備えた実施形態の形態をとり得る。さらに、本発明の各側面は、コンピュータ可読プログラム・コードが具現化された1つ以上のコンピュータ可読媒体(単数または複数)において具現化された、コンピュータ・プログラム製品の形態をとることもできる。
【0019】
1つ以上のコンピュータ可読媒体(単数または複数)の任意の組み合わせが利用され得る。コンピュータ可読媒体は、コンピュータ可読信号媒体または非一時的コンピュータ可読ストレージ媒体とされ得る。非一時的コンピュータ可読ストレージ媒体は、例えば、電子、磁気、光学、電磁気、赤外線、もしくは半導体のシステム、装置、もしくはデバイス、または前述のものの任意の適切な組み合わせとされ得るが、これらに限定はされない。非一時的コンピュータ可読ストレージ媒体のより具体的な例(包括的でないリスト)には、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read−only memory)、消去可能プログラム可能読み取り専用メモリ(EPROM(erasable programmable read−only memory)もしくはフラッシュ・メモリ)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD−ROM:compact disc read−only memory)、Blu−Ray(R)ディスク読み取り専用メモリ(BD−ROM:Blu−Ray disc read−only memory)、光学式ストレージ・デバイス、磁気ストレージ・デバイス、または前述のものの任意の適切な組み合わせが含まれる。この文書の文脈では、非一時的コンピュータ可読ストレージ媒体は、命令実行システム、装置、もしくはデバイスによって、またはそれに関連して使用されるプログラムまたはアプリケーションを含むこと、または格納することができる任意の有形の媒体とされ得る。
【0020】
コンピュータ可読信号媒体は、例えば、ベースバンドに、または搬送波の一部としてコンピュータ可読プログラム・コードが具現化された、伝搬データ信号を含み得る。そのような伝搬信号は、電磁気、光学、またはその任意の適切な組み合わせを含むがこれらに限定はされない、様々な形態のいずれかをとってよい。コンピュータ可読信号媒体は、1つ以上のワイヤを有する電気的接続、光ファイバなど、非一時的コンピュータ可読ストレージ媒体でなく、かつ命令実行システム、装置、もしくはデバイスによって、またはそれに関連して使用されるプログラムの伝達、伝搬、または搬送をすることができる、任意のコンピュータ可読媒体としてよい。
【0021】
コンピュータ可読媒体上に具現化されたプログラム・コードは、無線、有線、光ファイバ・ケーブル、無線周波数(RF:radio frequency)など、または前述のものの任意の適切な組み合わせを含むがこれらに限定はされない、任意の適切な媒体を使用して伝送され得る。
【0022】
本発明の各側面の動作を実行するコンピュータ・プログラム・コードは、Java(R)、Smalltalk(R)、C++、または同様のものなどのオブジェクト指向プログラミング言語、および「C」プログラミング言語もしくは同様のプログラミング言語などの従来の手続きプログラミング言語を含む、1つ以上のプログラミング言語の任意の組み合わせで書かれていてよい。プログラム・コードは、完全にユーザのコンピュータ上で実行されても、部分的にユーザのコンピュータ上で実行されても、スタンド・アロン・ソフトウェア・パッケージとして実行されても、部分的にユーザのコンピュータ上で、かつ部分的に遠隔コンピュータ上で実行されても、または完全に遠隔コンピュータもしくはサーバ上で実行されてもよい。後者のシナリオでは、ローカル・エリア・ネットワーク(LAN:local area network )、ストレージ・エリア・ネットワーク(SAN:storage area network)、もしくは広域ネットワーク(WAN:wide area network)、またはそのいずれかの組み合わせを含む任意のタイプのネットワーク、任意の仮想ネットワークを介して遠隔コンピュータまたはサーバがユーザのコンピュータに接続されてもよく、または、例えばインターネット・サービス・プロバイダ(ISP:Internet Service Provider)を使用しインターネットを介して外部コンピュータに接続されてもよい。
【0023】
本発明の各側面について、本発明の様々な実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図もしくはブロック図またはその両方を参照して本願明細書に記載する。当然のことながら、フローチャート図もしくはブロック図またはその両方の各ブロック、およびフローチャート図もしくはブロック図またはその両方の複数ブロックの組み合わせは、コンピュータ・プログラム命令により実施され得る。マシンを生じるよう、こうしたコンピュータ・プログラム命令が、汎用コンピュータ、専用コンピュータ、またはその他のプログラム可能データ処理装置のプロセッサに提供されて、この命令が、コンピュータまたはその他のプログラム可能データ処理装置のプロセッサにより実行されて、フローチャートもしくはブロック図またはその両方の1つもしくは複数のブロックにおいて指定された機能/動作を実施する手段を作り出すようにすることもできる。
【0024】
さらに、特定の形で機能するようコンピュータ、その他のプログラム可能データ処理装置、またはその他のデバイスに指示することができるこうしたコンピュータ・プログラム命令は、コンピュータ可読媒体に格納されて、コンピュータ可読媒体に格納されたこの命令が、フローチャートもしくはブロック図またはその両方の1つもしくは複数のブロックにおいて指定された機能/動作を実施する命令を含む製品を生じるようにすることもできる。
【0025】
さらに、コンピュータ・プログラム命令は、コンピュータ、その他のプログラム可能データ処理装置、またはその他のデバイスにロードされて、コンピュータ、その他のプログラム可能装置、またはその他のデバイス上で一連の動作ステップが実行されるようにしてコンピュータで実施されるプロセスを生じさせ、コンピュータまたはその他のプログラム可能装置上で実行されるこの命令が、フローチャートもしくはブロック図またはその両方の1つもしくは複数のブロックにおいて指定された機能/動作を実施するためのプロセスを提供するようにすることもできる。
【0026】
図1は、一実施形態によるネットワーク・アーキテクチャ100を示す。
図1に示されているように、第1の遠隔ネットワーク104および第2の遠隔ネットワーク106を含む、複数の遠隔ネットワーク102が提供される。ゲートウェイ101が、遠隔ネットワーク102と、近接ネットワーク108との間に連結されてもよい。本ネットワーク・アーキテクチャ100との関連では、ネットワーク104、106は、それぞれ、LAN、VLAN、インターネットなどのWAN、公衆交換電話網(PSTN:public switched telephone network)、内部電話網などを含むがこれらに限定はされない、任意の形態をとってよい。
【0027】
使用中、ゲートウェイ101は、遠隔ネットワーク102から近接ネットワーク108への入口点としての機能を果たす。よって、ゲートウェイ101は、ゲートウェイ101に到着する所与のデータのパケットを誘導できるルータ、および所与のパケットに対してゲートウェイ101に出入りする実経路を提供するスイッチとして機能し得る。
【0028】
さらに、近接ネットワーク108に連結された少なくとも1つのデータ・サーバ114が含まれており、データ・サーバ114には、遠隔ネットワーク102からゲートウェイ101を介してアクセス可能である。なお、データ・サーバ(単数または複数)114は、任意のタイプのコンピューティング・デバイス/グループウェアを含み得る。各データ・サーバ114には、複数のユーザ・デバイス116が連結されている。そのようなユーザ・デバイス116には、デスクトップ・コンピュータ、ラップトップ・コンピュータ、ハンドヘルド・コンピュータ、プリンタ、もしくはその他任意のタイプの論理を含むデバイス(logic−containing device)、またはそのいずれかの組み合わせが含まれ得る。なお、一部の実施形態では、ユーザ・デバイス111が、ネットワークのいずれかに直接連結されることもできる。
【0029】
例えば、ファクシミリ装置、プリンタ、スキャナ、ハード・ディスク・ドライブ、ネットワーク接続された、もしくはローカルの、またはその両方のストレージ・ユニットもしくはストレージ・システムなど、1つの周辺機器120または一連の周辺機器120が、ネットワーク104、106、108の1つ以上に連結されてもよい。なお、データベースもしくは追加のコンポーネントまたはその両方が、ネットワーク104、106、108に連結された任意のタイプのネットワーク構成要素とともに利用されても、またはネットワーク構成要素に統合されてもよい。本記載の文脈では、ネットワーク構成要素は、ネットワークの任意のコンポーネントを指し得る。
【0030】
一部の手法によれば、本願明細書に記載された方法およびシステムは、IBM(IBM社の登録商標)z/OS(IBM社の登録商標)環境をエミュレートするUnix(R)システム、MICROSOFT WINDOWS(R)環境を仮想ホストするUNIX(R)システム、IBM(IBM社の登録商標)z/OS(IBM社の登録商標)環境をエミュレートするMICROSOFT WINDOWS(R)システムなど、仮想システムもしくは1つ以上の他のシステムをエミュレートするシステム、またはその両方のシステムを用いた実装、もしくは該システム上での実装、またはその両方が可能である。この仮想化もしくはエミュレーションまたはその両方は、一部の実施形態では、VMWAREソフトウェアを用いて強化され得る。
【0031】
さらなる手法では、1つ以上のネットワーク104、106、108は、一般的に「クラウド」と呼ばれる複数のシステムのクラスタを表し得る。クラウド・コンピューティングでは、処理能力、周辺機器、ソフトウェア、データ、サーバなどの共有リソースが、オンデマンドの関係でクラウド内の任意のシステムに提供され、それによって、多数のコンピューティング・システムにわたるサービスのアクセスおよび配分が可能になる。クラウド・コンピューティングは、典型的には、クラウド内で動作するシステム間のインターネット接続を伴うが、従来技術で周知の通り、システムを接続する他の技術も使用され得る。
【0032】
図2は、一実施形態による、
図1のユーザ・デバイス116もしくはサーバ114またはその両方に関連する典型的なハードウェア環境を示す。
図2は、いくつかの実施形態による、マイクロプロセッサなどの中央処理ユニット(CPU:central processing unit)210、およびその他、ローカル・バス、パラレル・バス、シリアル・バスなど、様々なタイプとされ得る1つ以上のバス212を介して相互接続されたいくつかのユニットを有する、ワークステーションの典型的なハードウェア構成を示す。
【0033】
図2に示されたワークステーションは、ランダム・アクセス・メモリ(RAM)214と、読み取り専用メモリ(ROM)216と、ディスク・ストレージ・ユニット220などの周辺デバイスを1つ以上のバス212に接続するためのI/Oアダプタ218と、キーボード224、マウス226、スピーカ228、マイクロフォン232、もしくはタッチ・スクリーン、デジタル・カメラ(図示せず)などの他のユーザ・インターフェース・デバイス、またはそのいずれかの組み合わせを1つ以上のバス212に接続するためのユーザ・インターフェース・アダプタ222と、ワークステーションを通信ネットワーク235(例えばデータ処理ネットワーク)に接続するための通信アダプタ234と、1つ以上のバス212をディスプレイ・デバイス238に接続するためのディスプレイ・アダプタ236とを含む。
【0034】
ワークステーション上には、MICROSOFT WINDOWS(R)オペレーティング・システム(OS:Operating System)、MAC OS、UNIX(R)OSなどのオペレーティング・システムが常駐していてもよい。当然のことながら、好適な実施形態は、言及されたもの以外のプラットフォームおよびオペレーティング・システム上でも実施され得る。好適な実施形態は、オブジェクト指向プログラミング手法とともに、JAVA(R)、XML、C、もしくはC++言語、またはそのいずれかの組み合わせ、またはその他のプログラミング言語を使用して書かれてもよい。複雑なアプリケーションを開発するために使用されることが増加してきた、オブジェクト指向プログラミング(OOP:Object oriented programming)が使用されてもよい。
【0035】
以下、
図3を参照する。一実施形態による、オーバーレイ・ネットワーク300の概念的ビューが示されている。ネットワーク・サービスを仮想化するために、単純にデバイス間のファブリック・パス(接続性)を提供するほかに、非仮想ネットワーク(単数または複数)312と、仮想ネットワークA304および仮想ネットワークB306との間を移動するパケットのルーティングおよびフォワーディングを提供するゲートウェイ314中をパケットが進むときに、パケットにサービスが提供されてもよい。1つ以上の仮想ネットワーク304、306は、物理(実)ネットワーク・インフラストラクチャ302内に存在する。ネットワーク・インフラストラクチャ302は、当業者には周知のように、スイッチ、コネクタ、ワイヤ、回路、ケーブル、サーバ、ホスト、ストレージ媒体、オペレーティング・システム、アプリケーション、ポート、I/Oなどを含むがこれらに限定はされない、典型的にネットワーク・インフラストラクチャに関連する、もしくはネットワーク・インフラストラクチャにおいて使用される、またはその両方の、任意のコンポーネント、ハードウェア、ソフトウェア、もしくは機能性、またはそのいずれかの組み合わせを含んでもよい。このネットワーク・インフラストラクチャ302は、レガシ・ネットワークであってもよい少なくとも1つの非仮想ネットワーク312をサポートする。
【0036】
各仮想ネットワーク304、306は、任意数の仮想マシン(VM:virtual machine)308、310を使用し得る。一実施形態では、仮想ネットワークA304は、1つ以上のVM308を含み、仮想ネットワークB306は、1つ以上のVM310を含む。
図3に示されているように、VM308、310は、仮想ネットワーク304、306によって共有されずに、常時1つのみの仮想ネットワーク304、306に排他的に含まれる。
【0037】
一実施形態によれば、オーバーレイ・ネットワーク300は、1つ以上の分散ライン・カード(DLC:distributed line card)と相互接続された1つ以上のセル交換ドメイン・スケーラブル・ファイブリック・コンポーネント(SFC:scalable fabric component)を含んでもよい。
【0038】
「フラット・スイッチ」アーキテクチャを有することにより、複数のVMは、アーキテクチャを横断してデータを容易かつ効率的に移動させることができる。一般に、VMが、1つのサブネットから別のサブネットへ、インターネット・プロトコル(IP)サブネットからIPサブネットへなど、レイヤ3ドメインを横断することは非常に困難である。しかし、アーキテクチャが、超大型レイヤ2ドメインにおける大型フラット・スイッチに類似していれば、アーキテクチャを横断してデータを移動させようと試行するVMの支援になる。
【0039】
図4は、従来技術による、従来の仮想ネットワーク304、306から非仮想ネットワーク312への接続性を示す。図のように、VONゲートウェイ400は、仮想ネットワーク304、306から開始されたトンネルから非仮想ネットワーク312へ向かってトラフィックをルーティングするために使用されてもよく、トンネル終端点としての機能を果たす。さらに、ゲートウェイ400は、仮想ネットワーク304と仮想ネットワーク306との間のトンネルを介してトラフィックをルーティングするために使用され得る。これを達成するために、ゲートウェイ400は、イーサネット(R)、ファイバ・チャネル、またはその他任意の接続方式などを介して、物理的接続を使用して仮想ネットワーク304、306および非仮想ネットワーク312に接続される。しかしながら、ゲートウェイ400は、オーバーレイ・パケットのペイロード内にあるかもしれない任意のパケットに関して、トンネルを介して到着するトラフィックを検査できない。したがって、ゲートウェイ400が、オーバーレイ・パケット内のパケットに対してサービスを提供する方法がない。
【0040】
以下、
図5を参照する。一実施形態による、仮想ネットワーク304、306と、非仮想ネットワーク(単数または複数)312との間の接続性が示されている。図のように、仮想拡張ローカル・エリア・ネットワーク(VXLAN)ゲートウェイなどの仮想オーバーレイ・ネットワーク(VON)ゲートウェイ502が、仮想ネットワークまたは非仮想ネットワークへの、または該ネットワークからの、ゲートウェイを通過する任意のトラフィックに対して、ルーティング機能を提供し得る。さらに、ゲートウェイ502は、トラフィックをオーバーレイ・ネットワーク・デバイス500へ誘導することができる。
【0041】
ゲートウェイ502は、中央処理ユニット、フィールド・プログラマブル・ゲート・アレイ(FPGA:field programmable gate array)、集積回路(IC:integrated circuit)、特定用途向け集積回路(ASIC:application specific integrated circuit)、または当該技術分野で周知の他の何らかの適切なプロセッサなどの、論理を実行するプロセッサを含んでもよい。
【0042】
一実施形態によれば、着信するVONカプセル化パケットをオーバーレイ・ネットワーク・デバイス500にパント(punt)するために、アクセス制御リスト(ACL:access control list)がインターネットワーキング構成要素(INE)および仮想オーバーレイ・ネットワーク(VON)ゲートウェイ502ポートに適用されてもよい。そのようなACLをポートに対してアクティブ化すると、ACLアクティブ化ポート上で受信される任意のパケットは、オーバーレイ・ネットワーク・デバイス500にパントされることになる。続いて、オーバーレイ・ネットワーク・デバイス500は、サービスのチェーンを実施する。当業者には周知のように、数ある可能性の中でも特に、ファイアウォール・サービス、侵入防止システム(IPS)サービス、侵入検出システム(IDS)、IPS/IDSサービス、サーバ・ロード・バランシング・サービス、LAN最適化サービス、VPNサービス、ビデオ最適化サービス、ネットワーク・アドレス変換(NAT:network address translation)サービス、暗号化サービス、復号サービスなど、当該技術分野で周知の任意のサービスが、トラフィックに対して適用され得る。これらのサービスはそれぞれ、オーバーレイ・ネットワーク・デバイス500を起動すると、システム管理者の要望通りに、個々にアクティブ化されても、個々にバイパスされても、または手動で選択されてもよい。
【0043】
オーバーレイ・ネットワーク・デバイス500は、中央処理ユニット(CPU)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、集積回路(IC)、および特定用途向け集積回路(ASIC)、または当該技術分野で周知の他の何らかの適切なプロセッサなどの、論理を実行するプロセッサを含んでもよく、該プロセッサとして具現化されてもよい。別の実施形態では、オーバーレイ・ネットワーク・デバイス500は、ゲートウェイまたはINE502に搭載されたプロセッサであってもよく、ゲートウェイもしくはINE502のプロセッサにおいて構成された論理であってもよく、またはその他、ゲートウェイもしくはINE502の外部に位置する何らかの適切なデバイス内にあってもよい。
【0044】
仮想オーバーレイ・ネットワーク(仮想ネットワークA304、仮想ネットワークB306など)から非仮想化レガシ・ネットワーク(非仮想ネットワーク312など)に到着する、レイヤ3ユーザ・データグラム・プロトコル/インターネット・プロトコル(UDP/IP)カプセル化トラフィックに関して、オーバーレイ・ネットワーク・デバイス500は、宛先アドレスがINE仮想トンネル・エンド・ポイント(VTEP:Virtual Tunnel End Point)アドレスであるフローを終了させ、内部パケットをカプセル化解除し、内部パケットにサービスを提供できるオーバーレイ・ネットワーク・デバイス・サービス・チェーンに内部パケットを渡す。パケットは、オーバーレイ・ネットワーク・デバイス500内部に構成されアクティブ化されているサービスのチェーンを経由する。チェーンの終わりに、パケットの最終宛先アドレスに基づいて、パケットをオーバーレイ・フォーマットへとカプセル化して(宛先アドレスが仮想ネットワーク・アドレス空間にある場合)それをトンネル上で渡すか、またはパケットをそのままで渡す(宛先アドレスが非仮想ネットワークにある場合)かが決定され、パケットは、INEに再度入れられる。
【0045】
オーバーレイ・ネットワーク・デバイス500からINEまたはVONゲートウェイ502に到来するパケットは、INE502内のあらゆるトンネル管理論理をバイパスし、INE502内の「ルックアップ・フォワード」論理のみを経由して、エグレス経路を発見し、その経路を介して、パケット内の宛先アドレスに基づいて仮想ネットワーク(304、306)または非仮想ネットワーク312のいずれかに入る。
【0046】
同じく、非仮想ネットワーク(単数または複数)312から仮想ネットワーク(単数または複数)304、306に到来するトラフィックに関して、パケットは、イングレス・ポートに適用されたACLに基づいて、オーバーレイ・ネットワーク・デバイス500に渡される。パケットは、オーバーレイ・ネットワーク・デバイス500に到着すると、オーバーレイ・ネットワーク・デバイス500内部に構成されたサービスのチェーンに通される。チェーンの終わりに、パケットの最終宛先アドレスに基づいて、パケットをオーバーレイ・フォーマットへとカプセル化して(宛先アドレスが仮想ネットワーク・アドレス空間にある場合)それをトンネル上で渡すか、またはパケットをそのままで渡す(宛先アドレスが非仮想ネットワークにある場合)かが決定され、パケットは、INE502に再度入れられる。オーバーレイ・ネットワーク・デバイス500からINEまたはVONゲートウェイ502に到来するパケットは、INE502内のトンネル管理論理をバイパスし、「ルックアップ・フォワード」論理のみを経由して、エグレス経路を発見し、その経路を介して、パケット内の宛先アドレスに基づいて仮想オーバーレイ・ネットワーク304、306または非仮想レガシ・ネットワーク(単数または複数)312のいずれかに入る。
【0047】
オーバーレイ・ネットワーク・デバイス・サービスは、仮想アプライアンスにおいて実施されても、市販(COTS:commercial off the shelf)サーバなどの任意のタイプのサーバ上で実施されても、VXLANゲートウェイなどのINEまたはVONゲートウェイ502に搭載された専用チップセットとして実施されても、または本記載を読むと当業者には分かるであろう他の任意のシステム、デバイス、もしくはプロセッサにおいて実施されてもよい。
【0048】
オーバーレイ・ネットワーク・デバイス500の管理論理は、例えばイーサネット(R)、ペリフェラル・コンポーネント・インターコネクト・エクスプレス(PCIe:peripheral component interconnect express)オーバ・イーサネット、ファイバ・チャネル(FC:fiber channel)オーバ・イーサネット(FCoE:FC over Ethernet)などのパケット転送プロトコルに関係なく、着信データ・パケットおよび発信データ・パケットを処理するよう構成されることもできる。
【0049】
一手法では、着信データ・パケットを処理する過程でシステムが実行するとよい1つ以上のサービスを判断するために、着信データ・パケットが分析されてもよい。さらに、この、システムが実行するとよいサービスは、着信データ・パケットを処理する過程でデータ・パケットが通ることになる処理経路の全部または一部を定義する。
【0050】
例えば、特定のサービスがネットワーク・トラフィックのサブセットのみに対して実行される一実施形態では、それらのサービスを必要とするデータ・パケットは、目的のサービスを受けるために、それらのサービスを必要とするものとして識別されなければならない。したがって、一実施形態において、処理経路の少なくとも一部は、サービスが実行されるか否かの判断を含み、処理経路を一部定義する。
【0051】
様々な実施形態によれば、パケットに対して実行され得るサービスには、当業者には周知のように、数ある可能性の中でも特に、ファイアウォール・サービス、侵入防止システム(IPS)サービス、侵入検出システム(IDS)、IPS/IDSサービス、サーバ・ロード・バランシング・サービス、LAN最適化サービス、VPNサービス、ビデオ最適化サービス、ネットワーク・アドレス変換(NAT)サービス、暗号化サービス、復号サービスなどが含まれるが、これらに限定はされない。
【0052】
一実施形態では、VXLANフレーム・フォーマットは以下の通りであってもよい。
【0055】
このフレーム・フォーマットは、パケットが内部パケットに関して検査されるべきかどうかを判断するために、いくつかの異なる方法で使用され得る。そのような方法の1つでは、宛先ポート(Destポート)が判断されてもよい。例として、上記で示したフレーム・フォーマットでは、宛先ポートはVXLANポートであり、これは、パケットがオーバーレイ・ヘッダを有することを示す。したがって、このパケットは、内部パケットが何を含むか、さらに続いてサービスが内部パケットに対して実行されるべきかどうかを判断するために、カプセル化解除されてもよい。当然、当業者に周知であり本願明細書に記載されるように、サービスが内部パケットに対して実行されるべきかどうか、およびパケットが内部パケットを含むかどうかを判断する、他の方法が使用されてもよい。
【0056】
以下、
図8を参照する。一実施形態による、方法800のフローチャートが示されている。方法800は、様々な実施形態において、特に
図1〜
図7に示した環境のいずれかの中で、本発明に従って実行され得る。当然、本記載を読むと当業者には分かるように、
図8に具体的に記載される動作よりも多い、または少ない動作が方法800に含まれてもよい。
【0057】
方法800のステップはそれぞれ、動作環境の任意の適切なコンポーネントによって実行され得る。例えば一実施形態では、方法800は様々な手法で、部分的または全体的に、オーバーレイ・ネットワーク・デバイス、プロセッサ(CPU、ASIC、FPGAなど)、VONゲートウェイ、またはINEによって実行され得る。
【0058】
図8に示されているように、方法800は、動作802から開始するとよく、複数のパケットを含むネットワーク・トラフィックが受信される。一手法では、ネットワーク・トラフィックは、より詳細に本願明細書に記載されるように、ネットワーク・ゲートウェイにて受信されてもよく、ネットワーク・ゲートウェイからオーバーレイ・ネットワーク・デバイスへ送信されてもよい。
【0059】
動作804において、パケットがオーバーレイ・ヘッダを含むかどうかが判断される。これは、外部UDPヘッダの宛先ポートを判断することによって達成されてもよい。宛先ポートがVXLANポートなどの仮想LANポートであれば、パケットはオーバーレイ・ヘッダを含むと見なされてもよい。
【0060】
オプションとしての動作806では、パケットが仮想ネットワークから受信されたものである場合、パケットが受信されたトンネルが終了されてもよい。このように、ゲートウェイ、INE、またはオーバーレイ・ネットワーク・デバイスのいずれかが、任意の仮想ネットワークへ/からのトンネルの終端点および開始点としての機能を果たしてもよい。好適な一手法では、オーバーレイ・ネットワーク・デバイスが、任意の仮想ネットワークへ/からのトンネルの終端点および開始点としての機能を果たしてもよい。
【0061】
動作808では、オーバーレイ・ヘッダを含むパケットの内部パケットがカプセル化解除され、それによって、内部パケットの可視性が提供される。内部パケットは、I/Oパケット(例えばファイバ・チャネル・オーバ・イーサネット(FCoE)パケット)、制御パケット、IPパケット、ボイス・パケットなど、当該技術分野で周知の任意のタイプであってよい。
【0062】
動作810において、パケット(例えば内部パケットおよび非仮想ネットワークからのパケット)に対してサービスが実行されることが判断され、パケットに対してサービスが実行される。
【0063】
様々な実施形態によれば、サービスが実行されることを判断する方法は多数ある。パケットが受信されたポートが、実行されるサービスを決定すること、パケットの宛先ポートが、実行されるサービスを決定すること、パケットのタイプが、実行されるサービスを決定することなどがあり得る。
【0064】
一実施形態では、パケットに対してサービスが実行されることを判断することは、ACLを複数のパケットに対して適用して、サービスを実行されるパケットと、サービスを実行されないパケットとを区別することを含んでもよい。
【0065】
さらなる実施形態において、サービスを実行されるパケットのタイプは、異なる1つまたは複数のACLを複数のパケットに対して適用することによって、変更、改変、指定などがなされてもよい。ACLは、サービスを実行されるパケットを捕捉する。本記載を読むと当業者には分かるように、システム管理者またはその他何らかの権限付与されたユーザが、サービスを受けるパケットの様々なタイプを多数指定するために、複数のACLを指定し得る。
【0066】
いくつかの実施形態によれば、サービスは、数ある可能性の中でも特に、ファイアウォール・サービス、IPS、IDS、サーバ・ロード・バランシング・サービス、VPNサービス、ビデオ最適化サービス、もしくはWAN最適化サービス、またはそのいずれかの組み合わせのうちの1つ以上を含んでもよい。一手法では、サービスは、上記に列挙したサービスのうちの3つ以上を含んでもよい。
【0067】
オプションとしての動作812において、仮想ネットワーク内の宛先アドレスを有するパケットのためにトンネルが開始されるとよい。これは、当業者に周知の任意の方法を使用して実行され得る。このように、ゲートウェイ、INE、またはオーバーレイ・ネットワーク・デバイスのいずれかが、任意の仮想ネットワークへ/からのトンネルの終端点および開始点としての機能を果たしてもよい。好適な一手法では、オーバーレイ・ネットワーク・デバイスが、任意の仮想ネットワークへ/からのトンネルの終端点および開始点としての機能を果たしてもよい。
【0068】
送出されるパケットのタイプに応じて、方法800は、動作814(仮想ネットワーク宛てのパケットの場合)または動作816(非仮想ネットワーク宛てのパケットの場合)のいずれかに進む。
【0069】
動作814では、サービスを受けたパケットが、オーバーレイ・ヘッダを用いてカプセル化され、仮想ネットワーク内の宛先アドレスへスイッチングされる。これは、様々な実施形態において、オーバーレイ・ネットワーク・デバイスまたはゲートウェイのいずれかによって実行され得る。当然、一部の手法では、オーバーレイ・ネットワーク・デバイスは、ゲートウェイに組み込まれたチップセットまたはプロセッサであってもよい。
【0070】
動作816では、サービスを受けたパケットは、オーバーレイ・ヘッダを用いてパケットをカプセル化せずに、非仮想ネットワーク内の宛先アドレスへスイッチングされる。
【0071】
方法800は、
図8に記載された動作の全部または一部を含む様々な実施形態において、コンピュータ・プログラム製品、他の方法、論理、およびシステムで実行され得る。
【0072】
そのような実施形態の1つでは、システムは、オーバーレイ・ネットワーク・デバイスを含み、オーバーレイ・ネットワーク・デバイスは、VONゲートウェイと電気通信するようになっているインターフェースと、VONゲートウェイから複数のパケットを受信する手段と、複数のパケットがオーバーレイ・ヘッダを含むかどうかを判断する手段と、オーバーレイ・ヘッダを含むパケットの内部パケットをカプセル化解除する手段と、複数のパケットまたはカプセル化解除された内部パケットに対してサービスを実行する手段と、サービスを受けた内部パケットまたはサービスを受けたパケットを、仮想ネットワーク内の宛先アドレスへスイッチングされるよう、オーバーレイ・ヘッダを用いてカプセル化し、カプセル化されたパケットをVONゲートウェイへ送信すること、またはサービスを受けたパケットを、非仮想ネットワーク内の宛先アドレスへスイッチングされるよう、オーバーレイ・ヘッダを用いてパケットをカプセル化せずにVONゲートウェイへ送信することのいずれかをする手段とを含む。
【0073】
いくつかのさらなる実施形態では、システムは、1つ以上の仮想ネットワークおよび1つ以上の非仮想ネットワークに接続されたVONゲートウェイをさらに含んでもよい。これらの実施形態では、VONゲートウェイは、ネットワーク・トラフィック(本願明細書に記載されるように、仮想ネットワークもしくは非仮想ネットワークまたはその両方から受信されるパケットなど)に対してルーティング機能を実行する手段と、ネットワーク・トラフィックの複数のパケットをオーバーレイ・ネットワーク・デバイスへルーティングする手段と、オーバーレイ・ネットワーク・デバイスから複数のパケットを再受信する手段とを含んでもよい。
【0074】
さらなる実施形態では、VONゲートウェイは、特定の受信パケットに対してサービスを実行するために、VONゲートウェイのポート上で受信されるネットワーク・トラフィックに対してACLを適用して、該パケットをオーバーレイ・ネットワーク・デバイスへ誘導するようになっていてもよい。さらに、VONゲートウェイに、そのポート上で受信されるネットワーク・トラフィックに対して別のACLを適用させることによって、サービスを実行されるパケットのタイプが変更されてもよい。
【0075】
別の実施形態では、オーバーレイ・ネットワーク・デバイスは、オーバーレイ・ヘッダを含むパケットのためのトンネルを終了する手段と、仮想ネットワーク内の宛先アドレスへスイッチングされるパケットのためのトンネルを開始する手段とをさらに含んでもよい。このように、一部の手法では、オーバーレイ・ネットワーク・デバイスは、仮想ネットワークのいずれかへ/からのトンネルの開始点および終端点としての機能を果たし、VONゲートウェイからこの機能性を取り除いてもよい。
【0076】
VONゲートウェイ、オーバーレイ・ネットワーク・デバイスなど、本願明細書に記載された任意のシステムは、1つ以上の仮想ネットワークおよび1つ以上の非仮想ネットワークと電気通信するようになっている1つ以上のインターフェースを含んでもよい。
【0077】
以下、
図9を参照する。一実施形態による、方法900のフローチャートが示されている。方法900は、様々な実施形態において、特に
図1〜
図7に示した環境のいずれかの中で、本発明に従って実行され得る。当然、本記載を読むと当業者には分かるように、
図9に具体的に記載される動作よりも多い、または少ない動作が方法900に含まれてもよい。
【0078】
方法900のステップはそれぞれ、動作環境の任意の適切なコンポーネントによって実行され得る。例えば一実施形態では、方法900は様々な手法で、部分的または全体的に、オーバーレイ・ネットワーク・デバイス、プロセッサ(CPU、ASIC、FPGAなど)、VONゲートウェイ、またはINEによって実行され得る。
【0079】
図9に示されているように、方法900は、動作902から開始するとよく、複数のパケットを含むネットワーク・トラフィックが受信される。一手法では、ネットワーク・トラフィックは、より詳細に本願明細書に記載されるように、ネットワーク・ゲートウェイにて受信されてもよく、ネットワーク・ゲートウェイからオーバーレイ・ネットワーク・デバイスへ送信されてもよい。
【0080】
動作904において、パケットがオーバーレイ・ヘッダを含むかどうかが判断される。これは、外部UDPヘッダの宛先ポートを判断することによって達成されてもよい。宛先ポートがVXLANポートなどの仮想LANポートであれば、パケットはオーバーレイ・ヘッダを含むと見なされてもよい。
【0081】
動作906では、パケットが仮想ネットワークから受信されたものである場合、パケットが受信されたトンネルが終了され、オーバーレイ・ヘッダを含むパケットの内部パケットがカプセル化解除され、それによって、内部パケットの可視性が提供される。このように、VONゲートウェイ、INE、またはオーバーレイ・ネットワーク・デバイスのいずれかが、任意の仮想ネットワークへ/からのトンネルの終端点および開始点としての機能を果たしてもよい。好適な一手法では、オーバーレイ・ネットワーク・デバイスが、VONゲートウェイに組み込まれてもよく、VONゲートウェイが、任意の仮想ネットワークへ/からのトンネルの終端点および開始点としての機能を果たしてもよい。内部パケットは、I/Oパケット(例えばファイバ・チャネル・オーバ・イーサネット(FCoE)パケット)、制御パケット、IPパケット、ボイス・パケットなど、当該技術分野で周知の任意のタイプであってよい。
【0082】
動作908において、複数のパケットまたはカプセル化解除された内部パケットに対してサービスが実行される。様々な実施形態によれば、どのサービスが実行されるかを判断する方法は多数ある。パケットが受信されたポートが、実行されるサービスを決定すること、パケットの宛先ポートが、実行されるサービスを決定すること、パケットのタイプが、実行されるサービスを決定することなどがあり得る。
【0083】
一実施形態では、どのサービスがパケットに対して実行されるかを判断することは、ACLを複数のパケットに対して適用して、サービスを実行されるパケットと、サービスを実行されないパケットとを区別することを含んでもよい。
【0084】
さらなる実施形態において、サービスを実行されるパケットのタイプは、異なる1つまたは複数のACLを複数のパケットに対して適用することによって、変更、改変、指定などがなされてもよい。ACLは、サービスを実行されるパケットを捕捉する。本記載を読むと当業者には分かるように、システム管理者またはその他何らかの権限付与されたユーザが、サービスを受けるパケットの様々なタイプを多数指定するために、複数のACLを指定し得る。
【0085】
いくつかの実施形態によれば、サービスは、数ある可能性の中でも特に、ファイアウォール・サービス、IPS、IDS、サーバ・ロード・バランシング・サービス、VPNサービス、ビデオ最適化サービス、もしくはWAN最適化サービス、またはそのいずれかの組み合わせのうちの1つ以上を含んでもよい。一手法では、サービスは、上記に列挙したサービスのうちの3つ以上を含んでもよい。
【0086】
動作910では、仮想ネットワーク内の宛先アドレスを有するパケットのために、トンネルが開始され、サービスを受けた内部パケットまたはサービスを受けたパケットが、仮想ネットワーク内の宛先アドレスへスイッチングされるよう、オーバーレイ・ヘッダを用いてカプセル化され、カプセル化されたパケットが仮想ネットワーク内の宛先アドレスへ送信される。
【0087】
この動作は、当業者に周知の任意の方法を使用して実行され得る。このように、VONゲートウェイ、INE、またはオーバーレイ・ネットワーク・デバイスのいずれかが、任意の仮想ネットワークへ/からのトンネルの終端点および開始点としての機能を果たしてもよい。好適な一手法では、オーバーレイ・ネットワーク・デバイスが、VONゲートウェイに組み込まれてもよく、VONゲートウェイが、任意の仮想ネットワークへ/からのトンネルの終端点および開始点としての機能を果たしてもよい。
【0088】
さらに、動作912では、非仮想ネットワークへスイッチングされる任意のパケットが、オーバーレイ・ヘッダを用いてパケットをカプセル化せずに、非仮想ネットワークへ送信される。
【0089】
別の実施形態によれば、仮想オーバーレイ・ネットワーク上のネットワーク・トラフィックに対してサービスを提供するコンピュータ・プログラム製品は、コンピュータ可読ストレージ媒体を用いて具現化されたコンピュータ可読プログラム・コードを有する、(非一時的媒体を含む、本願明細書に記載された、または当業者に周知のタイプの)コンピュータ可読ストレージ媒体を含んでもよい。コンピュータ可読プログラム・コードは、複数のパケットを含むネットワーク・トラフィックを受信するよう構成されたコンピュータ可読プログラム・コードと、複数のパケットがオーバーレイ・ヘッダを含むかどうかを判断するよう構成されたコンピュータ可読プログラム・コードと、トンネルを終了し、オーバーレイ・ヘッダを含むパケットの内部パケットをカプセル化解除するよう構成されたコンピュータ可読プログラム・コードと、複数のパケットまたはカプセル化解除された内部パケットに対してサービスを実行するよう構成されたコンピュータ可読プログラム・コードと、トンネルを開始し、内部パケットまたは複数のパケットを、仮想ネットワーク内の宛先アドレスへスイッチングされるよう、オーバーレイ・ヘッダを用いてカプセル化し、カプセル化されたパケットをVONゲートウェイへ送信すること、またはサービスを受けたパケットを、非仮想ネットワーク内の宛先アドレスへスイッチングされるよう、オーバーレイ・ヘッダを用いてパケットをカプセル化せずにVONゲートウェイへ送信することを択一的に行うよう構成されたコンピュータ可読プログラム・コードとを含む。
【0090】
さらなる実施形態では、コンピュータ・プログラム製品は、複数のパケットがオーバーレイ・ヘッダを含むかどうかを判断する前に、ACLをネットワーク・トラフィックに対して適用して、複数のパケットに対してサービスが実行されることを判断するよう構成されたコンピュータ可読プログラム・コードを含んでもよい。別のさらなる手法では、サービスを実行されるパケットのタイプが、ネットワーク・トラフィックに対して適用する別のACLを指定することによって変更されてもよい。
【0091】
様々な実施形態を上記に記載したが、当然のことながら、それらは限定ではなく単なる例として提示された。したがって、本発明の実施形態の幅および範囲は、上記の例示の実施形態のいずれによっても限定されてはならず、以下の特許請求の範囲およびその等価物に従ってのみ定義されるべきである。