(57)【要約】  ソフトウェアで定義されたネットワークオーバーレイの機能は、１つまたは複数のオーバーレイネットワークを、制御機能と転送機能とが分離されている、ソフトウェアで定義されたネットワーク構築（ＳＤＮ）を使用して制御するように構成されている。ソフトウェアで定義されたネットワークオーバーレイの機能は、パケットをネットワーク層にわたって垂直に、たとえば、オーバーレイネットワークの中に（たとえば、カプセル化を介してトンネルの中に）、オーバーレイネットワークの外に（たとえば、非カプセル化を介してトンネルの外に）、などに移動させるように構成され得る。ソフトウェアで定義されたネットワークオーバーレイの機能は、パケットを、ネイティブ転送インフラストラクチャからオーバーレイネットワークの中に、オーバーレイネットワーク間で（たとえば、第２のオーバーレイネットワークから出ることなく第２のオーバーレイネットワークから第１のオーバーレイネットワークの中に、第１のオーバーレイネットワークから第２のオーバーレイネットワークの中に、第２のオーバーレイネットワーク内に留まったまま第１のオーバーレイネットワークの外に、など）、オーバーレイネットワークからネイティブ転送インフラストラクチャに、などに移動させるように構成され得る。
2016504837.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサと、プロセッサに通信可能に接続されたメモリと、
を備え、プロセッサが、
データフローのためのデータフロー定義を決定することであって、データフロー定義が１つまたは複数のプロトコルの１つまたは複数のプロトコルヘッダフィールドに基づき、１つまたは複数のプロトコルが、１つまたは複数のネットワーク層プロトコル、あるいは１つまたは複数のトランスポート層プロトコルを含む、データフロー定義を決定することと、
データフローに対して実行される１つまたは複数のトンネリングアクションを決定することであって、１つまたは複数のトンネリングアクションがカプセル化アクションまたは非カプセル化アクションの少なくとも一方を含む、トンネリングアクションを決定することと、
転送要素に向けて、データフロー定義と１つまたは複数のトンネリングアクションとについて示す制御情報を伝搬することと、
を行うように構成されている、装置。
【請求項２】
プロセッサが、
データフローに関連する情報を受信することと、
データフローに関連する情報に基づいて、データフロー定義または１つもしくは複数のトンネリングアクションの少なくとも一方を決定することと、
を行うように構成されている、請求項１に記載の装置。
【請求項３】
プロセッサが、
制御情報が伝搬される転送要素を識別する
ように構成されている、請求項１に記載の装置。
【請求項４】
１つまたは複数のトンネリングアクションが、データフローのパケットをトンネルの中に移動させること、データフローのパケットをトンネル間で移動させること、またはデータフローのパケットをトンネルの外に移動させることのうちの少なくとも１つのために構成されている、請求項１に記載の装置。
【請求項５】
１つまたは複数のトンネリングアクションが、データフローのパケットをネイティブ転送インフラストラクチャからトンネルの中に移動させること、またはパケットをトンネルからネイティブ転送インフラストラクチャに移動させることのうちの少なくとも１つのために構成されている、請求項１に記載の装置。
【請求項６】
１つまたは複数のトンネリングアクションがカプセル化アクションを備え、制御情報が、データフローのパケットをカプセル化するために使用されるプロトコルについての指示と、データフローのパケットをカプセル化するために使用される少なくとも１つのプロトコルヘッダフィールドについての指示とを含む、請求項１に記載の装置。
【請求項７】
１つまたは複数のトンネリングアクションが非カプセル化アクションを備え、制御情報が、データフローのパケットがそれから非カプセル化されるプロトコルについての指示を備える、請求項１に記載の装置。
【請求項８】
１つまたは複数のプロトコルがセキュリティプロトコルを含み、制御情報が、暗号化アクションまたは復号アクションの少なくとも一方に対するセキュリティ情報をさらに含む、請求項１に記載の装置。
【請求項９】
プロセッサを、
データフローのためのデータフロー定義を決定することであって、データフロー定義が１つまたは複数のプロトコルの１つまたは複数のプロトコルヘッダフィールドに基づき、１つまたは複数のプロトコルが、１つまたは複数のネットワーク層プロトコル、あるいは１つまたは複数のトランスポート層プロトコルを含む、データフロー定義を決定することと、
データフローに対して実行される１つまたは複数のトンネリングアクションを決定することであって、１つまたは複数のトンネリングアクションがカプセル化アクションまたは非カプセル化アクションの少なくとも一方を含む、トンネリングアクションを決定することと、
転送要素に向けて、データフロー定義と１つまたは複数のトンネリングアクションとについて示す制御情報を伝搬することと、
のために使用すること、
を含む、方法。
【請求項１０】
プロセッサと、プロセッサに通信可能に接続されたメモリと、
を備え、プロセッサが、
制御要素から、データフローのためのデータフロー定義と、データフローに対して実行される１つまたは複数のトンネリングアクションとを含む制御情報を受信することであって、データフロー定義が１つまたは複数のプロトコルの１つまたは複数のプロトコルヘッダフィールドに基づき、１つまたは複数のプロトコルが、１つまたは複数のネットワーク層プロトコル、あるいは１つまたは複数のトランスポート層プロトコルを含み、１つまたは複数のトンネリングアクションがカプセル化アクションまたは非カプセル化アクションの少なくとも一方を含む、制御情報を受信することと、
データフローのパケットを制御情報に基づいて処理することと、
を行うように構成されている、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に通信ネットワークに関し、より具体的には、通信ネットワークを介したトンネリングをサポートすることに関するが、これには限定されない。
【背景技術】
【０００２】
一般に、高帯域効率、低コスト、頑健性、および拡張性などの固有の長所を有する、インターネットプロトコル（ＩＰ）は、通信ネットワークにわたるデータ伝送のために通常使用される一般的なプロトコルになった。しかしながら、多くの場合で、ＩＰは、また、ＩＰの位置ベースのルーティングがユーザの移動性との適合性を欠いていること、ＩＰのベストエフォートによる転送が、サービス特有の課金とサービス品質（ＱｏＳ）の実施とを行う差別化サービスをサポートしていないこと、および仮想プライベートネットワーク（ＶＰＮ）などのオーバーレイネットワークのためのサポートの欠如などの短所とも結び付く。
【０００３】
少なくともいくつかの標準化団体（たとえば、Ｔｈｉｒｄ  Ｇｅｎｅｒａｔｉｏｎ  Ｐａｒｔｎｅｒｓｈｉｐ  Ｐｒｏｊｅｃｔ（３ＧＰＰ）、３ＧＰＰ２、Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ（ＩＥＴＥ）、など）が、ＩＰ転送インフラストラクチャの上にオーバーレイネットワークを作成するためのプロトコル（たとえば、モバイルＩＰ、ジェネリックトランスファープロトコル（ＧＴＰ）、ＩＰセキュリティ（ＩＰｓｅｃ）、など）を導入した一方、そのようなオーバーレイネットワークは、ＩＰ転送インフラストラクチャの上のオーバーレイネットワークを形成する、トンネルの端部を定める、多くの種類の特殊ノード（たとえば、ホームエージェント（ＨＡ）、フォーリンエージェント（ＦＡ）、無線ネットワーク制御局（ＲＮＣ）、ノードＢ、サービングジェネラルパケットラジオサービス（ＧＰＲＳ）サポートノード（ＳＧＳＮ）、ゲートウェイＧＰＲＳサポートノード（ＧＧＳＮ）、ｅノードＢ、サービングゲートウェイ（ＳＧＷ）、パケットデータネットワーク（ＰＤＮ）ゲートウェイ（ＰＧＷ）、モビリティマネジメントエンティティ（ＭＭＥ）、セキュリティゲートウェイ、他の種類のゲートウェイ、など）を導入する傾向がある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
先行技術における様々な欠陥は、ソフトウェアで定義されたネットワークオーバーレイをサポートするための実施形態によって対処され得る。
【課題を解決するための手段】
【０００５】
一実施形態では、装置は、プロセッサと、プロセッサに通信可能に接続されたメモリとを含む。プロセッサは、データフローのためのデータフロー定義を決定するように構成され、データフロー定義は、１つまたは複数のプロトコルの１つまたは複数のプロトコルヘッダフィールドに基づき、１つまたは複数のプロトコルは、１つまたは複数のネットワーク層プロトコル、あるいは１つまたは複数のトランスポート層プロトコルを含む。プロセッサは、データフローに対して実行される、１つまたは複数のトンネリングアクションを決定するように構成され、１つまたは複数のトンネリングアクションは、カプセル化アクションまたは非カプセル化アクションの少なくとも一方を含む。プロセッサは、転送要素に向けて、データフロー定義と１つまたは複数のトンネリングアクションとを示す制御情報を伝搬するように構成されている。装置は、制御要素または制御要素の一部であることができる。
【０００６】
一実施形態では、方法は、プロセッサを、データフローのためのデータフロー定義を決定することと、データフローに対して実行される、１つまたは複数のトンネリングアクションを決定することと、転送要素に向けて、データフロー定義と１つまたは複数のトンネリングアクションとを示す制御情報を伝搬することと、のために使用することを含む。データフロー定義は、１つまたは複数のプロトコルの１つまたは複数のプロトコルヘッダフィールドに基づき、１つまたは複数のプロトコルは、１つまたは複数のネットワーク層プロトコル、あるいは１つまたは複数のトランスポート層プロトコルを含む。１つまたは複数のトンネリングアクションは、カプセル化アクションまたは非カプセル化アクションの少なくとも一方を含む。
【０００７】
一実施形態では、装置は、プロセッサと、プロセッサに通信可能に接続されたメモリとを含む。プロセッサは、制御情報を制御要素から受信するように構成されている。制御情報は、データフローのためのデータフロー定義と、データフローに対して実行される、１つまたは複数のトンネリングアクションとを含む。データフロー定義は、１つまたは複数のプロトコルの１つまたは複数のプロトコルヘッダフィールドに基づいている。１つまたは複数のプロトコルは、１つまたは複数のネットワーク層プロトコル、あるいは１つまたは複数のトランスポート層プロトコルを含む。１つまたは複数のトンネリングアクションは、カプセル化アクションまたは非カプセル化アクションの少なくとも一方を含む。プロセッサは、データフローのパケットを制御情報に基づいて処理するように構成されている。装置は、転送要素または転送要素の一部であることができる。
【０００８】
一実施形態では、方法は、プロセッサを、データフローのパケットを処理するために使用することを含む。方法は、制御情報を制御要素から受信することを含む。制御情報は、データフローのためのデータフロー定義と、データフローに対して実行される、１つまたは複数のトンネリングアクションとを含む。データフロー定義は、１つまたは複数のプロトコルの１つまたは複数のプロトコルヘッダフィールドに基づいている。１つまたは複数のプロトコルは、１つまたは複数のネットワーク層プロトコル、あるいは１つまたは複数のトランスポート層プロトコルを含む。１つまたは複数のトンネリングアクションは、カプセル化アクションまたは非カプセル化アクションの少なくとも一方を含む。方法は、データフローのパケットを制御情報に基づいて処理することを含む。
【０００９】
本明細書の内容は、添付図面と併用する以下の詳細な説明を考察することによって、より容易に理解され得る。
【図面の簡単な説明】
【００１０】
【図１】ソフトウェアで定義されたオーバーレイネットワークをサポートするように構成された例示的な通信システムの図である。
【図２】図１の例示的な通信システムの要素間の例示的なトンネリングの図である。
【図３】例示的な通信システムの要素間の例示的なトンネリングの図である。
【図４】転送要素をソフトウェアで定義されたオーバーレイネットワーク中に構成するための、制御要素によって使用される方法の一実施形態を示す図である。
【図５】データフローのパケットをソフトウェアで定義されたオーバーレイネットワーク中で処理するための、転送要素によって使用される方法の一実施形態を示す図である。
【図６】本明細書で説明される機能の実行に使用するために適切なコンピュータの上位ブロック図である。
【発明を実施するための形態】
【００１１】
理解を促進するために、可能であれば、図で共通している同一要素を示すために同じ参照番号が使用される。
【００１２】
一般に、ソフトウェアで定義されたネットワークオーバーレイの機能が、本明細書で図示され説明される。
【００１３】
少なくともいくつかの実施形態では、ソフトウェアで定義されたネットワークオーバーレイの機能は、１つまたは複数のソフトウェアで定義されたオーバーレイネットワークを形成するために、ソフトウェアで定義されたネットワーク構築（ＳＤＮ）を、通信インフラストラクチャを介して提供される１つまたは複数のオーバーレイネットワークに適用するように構成されている。
【００１４】
少なくともいくつかの実施形態では、ＳＤＮは、コントロールプレーンがデータプレーンから分離され、トラフィックのフローベースの転送がサポートされている種類のネットワークである。ＳＤＮでは、データプレーンは１つまたは複数の転送要素（たとえば、スイッチ、ルータ、など）を使用して実装され、コントロールプレーンは、転送要素から分離している、１つまたは複数の制御要素（たとえば、サーバなど）を使用して実装される。制御要素は、フローベースの転送ルールを転送要素に与える。コントロールプレーン機能とフォーワーディングプレーン機能との分離は、コントロールプレーン機能を取り扱うために最適化された制御要素（たとえば、新機能のセットをサポートするために更新されるように構成された要素）と、データプレーン機能を取り扱うために最適化された転送要素（たとえば、高いデータスループットをサポートするように構成されたハードウェアベースの要素）との使用を可能にする。オーバーレイネットワークを使用する通信システムが、通常、オーバーレイネットワークのない通信システムよりも少ない転送ノードを有するとすれば、ＳＤＮと関連し得る規模に関する限界は取り除かれると予測されることが理解される。
【００１５】
少なくともいくつかの実施形態では、オーバーレイネットワークは、その上にオーバーレイネットワークが提供される下部のネットワークインフラストラクチャによって提供すること（または容易に提供すること）ができないことがある拡張機能をサポートするために、トンネリングを利用する種類のネットワークである。たとえば、オーバーレイネットワークは、サービスの差別化（たとえば、異なるトラフィックフローまたは異なる種類のトラフィックフローについての、異なるサービス品質による取扱い、異なるトラフィックフローまたは異なる種類のトラフィックフローについての、異なるポリシーまたは課金機能の適用など、およびそれらの様々な組合せ）、セキュリティ機能、移動性機能、仮想プライベートネットワーク（ＶＰＮ）、などをサポートするために使用され得る。多くの種類のオーバーレイネットワークが様々な他の機能を提供する。オーバーレイネットワークが、そのような機能を提供するために、カプセル化アクション／非カプセル化アクションの使用を含み得る、トンネリングを利用することができるということが理解される。少なくともいくつかの実施形態では、オーバーレイネットワークは、ネットワーク層における１つまたは複数のプロトコル、トランスポート層における１つまたは複数のプロトコル、１つまたは複数の、ネットワーク層プロトコルまたはトランスポート層プロトコルと連動して動作するように構成された、１つまたは複数のプロトコル、などを使用して提供され得る。オーバーレイネットワークを提供するために使用され得るプロトコルの例は、インターネットプロトコル（ＩＰ）（たとえば、ＩＰｖ４、ＩＰｖ６、ＩＰｖ６拡張ヘッダ、など）、Ｇｅｎｅｒｉｃ  Ｒｏｕｔｉｎｇ  Ｅｎｃａｐｓｕｌａｔｉｏｎ（ＧＲＥ）、Ｇｅｎｅｒａｌ  Ｐａｃｋｅｔ  Ｒａｄｉｏ  Ｓｅｒｖｉｃｅ（ＧＰＲＳ）トンネリングプロトコル（ＧＴＰ）、ユーザデータグラムプロトコル（ＵＤＰ）、伝送制御プロトコル（ＴＣＰ）、ストリームコントロールトランスミッションプロトコル（ＳＣＴＰ）、データグラムコンジェスチョンコントロールプロトコル（ＤＣＣＰ）、ＩＰセキュリティ（ＩＰｓｅｃ）プロトコルスイートのＥｎｃａｐｓｕｌａｔｉｎｇ  Ｓｅｃｕｒｉｔｙ  Ｐａｙｌｏａｄ（ＥＳＰ）プロトコル、ＩＰｓｅｃプロトコルスイートの認証ヘッダ（ＡＨ）プロトコル、などを含む。
【００１６】
少なくともいくつかの実施形態では、ソフトウェアで定義されたネットワークオーバーレイの機能は、制御機能と転送機能とが分離されているソフトウェアで定義されたネットワーク構築（ＳＤＮ）を使用する、１つまたは複数のオーバーレイネットワークを制御するように構成され得る。少なくともいくつかの実施形態では、ソフトウェアで定義されたネットワークオーバーレイの機能は、パケットをネットワークの層にわたって垂直、たとえば、オーバーレイネットワークの中に（たとえば、カプセル化を介してトンネルの中に）、オーバーレイネットワークの外に（たとえば、非カプセル化を介してトンネルの外に）などに移動させるように構成され得る。少なくともいくつかの実施形態では、ソフトウェアで定義されたネットワークオーバーレイの機能は、パケットを、ネイティブ転送インフラストラクチャからオーバーレイネットワークの中に、オーバーレイネットワーク間で（たとえば、第２のオーバーレイネットワークを離れずに、第２のオーバーレイネットワークから第１のオーバーレイネットワークの中に、第１のオーバーレイネットワークから第２のオーバーレイネットワークの中に、第２のオーバーレイネットワーク内に留まりながら第１のオーバーレイネットワークの外に、など）、オーバーレイネットワークからネイティブ転送インフラストラクチャに、などに移動させるように構成され得る。
【００１７】
少なくともいくつかの実施形態では、ソフトウェアで定義されたネットワークオーバーレイの機能は、少なくとも１つのコントローラが、特定のフローに適用される、特定のカプセル化動作または非カプセル化動作について、少なくとも１つの転送要素をプログラムすることを可能にする。コントローラは、さらに、異なるカプセル化動作または非カプセル化動作を各フローに適用するように転送要素に伝え、それによって、細かい粒度を有するフローベースのトンネリングを介してネットワーク全体に及ぶトラフィック管理を実施することができる。
【００１８】
少なくとも１つの実施形態では、ソフトウェアで定義されたネットワークオーバーレイの機能は、少なくとも１つのコントローラが、特定のフローに適用される、特定のカプセル化動作または非カプセル化動作を選択された転送要素によってプログラミングするために、転送要素のセットから少なくとも１つの転送要素を選択することを可能にする。
【００１９】
少なくともいくつかの実施形態では、ソフトウェアで定義されたネットワークオーバーレイの機能は、パケットの外側ＩＰヘッダの下で運ばれるヘッダの追加と削除とを可能にすることによって、ＩＰの上のカプセル化動作と非カプセル化動作とに適用される。これにより、トンネルを広域的に、たとえば、通信サービスプロバイダネットワークにわたって、複数の通信サービスプロバイダネットワークにわたって、またはさらにインターネット全体にわたって、伸ばすことができる。
【００２０】
ソフトウェアで定義されたネットワークオーバーレイの機能が、通信インフラストラクチャを介して定義されるオーバーレイネットワークの使用をサポートするように構成されている通信システムのいずれにも適用され得る一方、ソフトウェアで定義されたネットワークオーバーレイの機能の様々な態様を説明する際の明確さのために、本明細書では、ソフトウェアで定義されたネットワークオーバーレイの機能は、ソフトウェアで定義されたネットワークオーバーレイの機能を使用するように構成されたＬｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ（ＬＴＥ）Ｅｖｏｌｖｅｄ  Ｐａｃｋｅｔ  Ｃｏｒｅ（ＥＰＣ）ネットワークの関連において主に図示され、説明されることが理解される。
【００２１】
図１は、ソフトウェアで定義されたオーバーレイネットワークをサポートするように構成された例示的な通信システムを示している。
【００２２】
例示的な通信システム１００は、典型的なＬＥＴ  ＥＰＣネットワークがソフトウェアで定義されたオーバーレイネットワークをサポートするように修正された、修正ＬＴＥ  ＥＰＣネットワークを含む。
【００２３】
例示的な通信システム１００は、Ｅｖｏｌｖｅｄ−Ｕｎｉｖｅｒｓａｌ  Ｍｏｂｉｌｅ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｓｙｓｔｅｍ（ＵＭＴＳ）Ｔｅｒｒｅｓｔｒｉａｌ  Ｒａｄｉｏ  Ａｃｃｅｓｓ  Ｎｅｔｗｏｒｋ（Ｅ−ＵＴＲＡＮ）１１０と、モビリティマネジメントエンティティ（ＭＭＥ）１２０と、ホーム加入者サーバ（ＨＳＳ）１３０と、ポリシーおよび課金ルール機能（ＰＣＲＦ）１４０と、サービングゲートウェイ（ＳＧＷ）機能１５１とパケットデータネットワーク（ＰＤＮ）ゲートウェイ（ＰＧＷ）機能１５２とを含む制御要素（ＣＥ）１５０と、一組の転送要素（ＦＥ）１６０１および１６０２（総称してＦＥ１６０）と、通信ネットワーク１７０とを含む。ＬＴＥ  ＥＰＣネットワーク内でのＥ−ＵＴＲＡＮ１１０と、ＭＭＥ１２０と、ＨＳＳ１３０と、ＰＣＲＦ１４０との通常動作は、当業者によって理解される。
【００２４】
例示的な通信システム１００は、上記の通り、修正ＬＴＥ  ＥＰＣネットワークである。典型的なＬＴＥ  ＥＰＣネットワークが、サービングゲートウェイ（ＳＧＷ）とパケットデータネットワーク（ＰＤＮ）ゲートウェイ（ＰＧＷ）とを含むことが理解される。例示的な通信システム１００では、ＳＧＷは、コントロールプレーン機能（例示的には、ＣＥ１５０のＳＧＷ機能１５１）とユーザプレーン機能（例示的には、Ｅ−ＵＴＲＡＮ１１０とＦＥ１６０２との間に配置されたＦＥ１６０１）とに分けられる。同様に、例示的な通信システム１００では、ＰＧＷは、コントロールプレーン機能（例示的には、ＣＥ１５０のＰＧＷ機能１５２）とユーザプレーン機能（例示的には、ＦＥ１６０１と通信ネットワーク１７０との間に配置されたＦＥ１６０２）とに分けられる。
【００２５】
例示的な通信システム１００は、例示的な通信システム１００の要素間の通信をサポートする様々なインターフェースを含む。Ｅ−ＵＴＲＡＮ１１０およびＭＭＥ１２０は、Ｓ１−ＭＭＥインターフェースを介して通信するように構成されている。ＭＭＥ１２０およびＨＳＳ１３０は、Ｓ６ａインターフェースを介して通信するように構成されている。ＭＭＥ１２０およびＣＥ１５０は、Ｓ１１インターフェースを介して通信するように構成され、ＰＣＲＦ１４０およびＣＥ１５０は、Ｇｘインターフェースを介して通信するように構成されている。Ｅ−ＵＴＲＡＮ１１０およびＳＧＷ機能１５０１に関連するＦＥ１６０１は、Ｓ１−Ｕインターフェースを介して通信するように構成され、ＳＧＷ機能１５０１に関連するＦＥ１６０１およびＰＧＷ機能１５０２に関連するＦＥ１６０２は、Ｓ５−Ｕインターフェースを介して通信するように構成され、ＰＧＷ機能１５０２に関連するＦＥ１６０２および通信ネットワーク１７０は、ＳＧｉインターフェースを介して通信するように構成されている。図１の例示的な通信システム１００では、ＣＥ１５０およびＦＥ１６０は（図１ではｘＯＦとして示されている）修正ＯｐｅｎＦｌｏｗインターフェースを介して通信するように構成されている。
【００２６】
ＣＥ１５０およびＦＥ１６０は、通常ＥＰＣネットワークのＳＧＷとＰＧＷとによって提供されるトンネリング機能の、ＳＤＮベースの実装を提供するために協働するように構成され得る。
【００２７】
ＣＥ１５０およびＦＥ１６０は、トンネリングを例示的な通信システム１００のデータフローに提供するために協働するように構成され得る。
【００２８】
ＣＥ１５０およびＦＥ１６０は、所与のデータフローに、１つまたは複数のオーバーレイネットワーク（またはトンネル）に対するデータフローの動きを提供するために協働するように構成され得る。たとえば、ＣＥ１５０は、所与のデータフローについて、データフローが、トンネルの中に（たとえば、ネイティブ転送インフラストラクチャから、データフローのパケットのカプセル化を介してオーバーレイネットワークの中に移動させる、第１のオーバーレイネットワークから、データフローのパケットのカプセル化を介して第２のオーバーレイネットワークの中に移動させる、など）、トンネル間で（たとえば、第１のオーバーレイネットワークから、データフローのパケットの非カプセル化を介して取り出し、次いでデータフローのパケットのカプセル化を介して第２のオーバーレイネットワークの中に移動させる、など）、トンネルの外に（たとえば、データフローがまだ１つまたは複数の他のオーバーレイネットワーク内に留まっている時に、オーバーレイネットワークから、データフローのパケットの非カプセル化を介して取り出す、オーバーレイネットワークから、データフローのパケットの非カプセル化を介してネイティブ転送インフラストラクチャに移動させる、など）など、およびそれらの様々な組合せに移動させるかどうかを決定するように構成され得る。
【００２９】
ＣＥ１５０は、１つまたは複数のオーバーレイネットワーク（またはトンネル）に対するデータフローの動きを制御するように構成され得、ＦＥ１６０は、ＣＥ１５０の制御のもとで、１つまたは複数のオーバーレイネットワーク（またはトンネル）に対するデータフローの動きを実行するように構成され得る。ＣＥ１５０は、所与のデータフローについて、１つまたは複数のオーバーレイネットワークに対するデータフローの動きを制御するために、データフローに対してトンネリングアクションを適用することを制御するように構成され得る。
【００３０】
ＣＥ１５０は、所与のデータフローに関連する情報を受信するように構成され得る。情報は、データフローに対して１つまたは複数のトンネリングアクションを実行するように、ＣＥ１５０にＦＥ１６０への指示をするようトリガする際に使用するために適切な情報を含むことができる。データフローに関連する情報は、１つまたは複数のアプリケーションのための、アプリケーションに関連する情報を含むことができる。たとえば、以下の通り、アプリケーション→ネットワークＯＳ→転送インフラストラクチャという３つの層を含むＳＤＮでは、ＦＥ１６０は転送インフラストラクチャ層の一部として実装され得、ＣＥ１５０はネットワークＯＳ層の一部として実装され得、アプリケーションは、ＣＥ１５０へのインターフェース（たとえば、オペレーション、アドミニストレーション、およびメンテナンス（ＯＡＭ）インターフェース、または他の適切な種類のインターフェース）を使用して実装され得る。例示的な通信システム１００では、たとえば、アプリケーションはＭＭＥ１２０上に存在し、Ｅ−ＵＴＲＡＮ１１０に関連する加入者のために（データフローをサポートするための）Ｅｖｏｌｖｅｄ  Ｐａｃｋｅｔ  Ｓｙｓｔｅｍ（ＥＰＳ）ベアラをインストールするように、ＣＥ１５０に指示することができる。本実施例では、アプリケーションは、また、ＥＰＳベアラ（またはデータフロー）に関連する情報（たとえば、トンネル端部識別子（ＴＥＩＤ）、加入者ＩＰアドレス、など）をＣＥ１５０に提供することができる。本実施例では、ＣＥ１５０は、ＥＰＳベアラ（またはデータフロー）に関連する情報を、対応するデータフロー定義とデータフロー定義に関連するトンネリングアクションとに変換することができる。別の実施例として、ＣＥ１５０がＭＭＥ１２０の一部として一体にされ得、その場合、ＭＭＥ１２０／ＣＥ１５０は、Ｓ１−ＭＭＥメッセージを、アプリケーションインターフェースを通して受信し、Ｓ１−ＭＭＥメッセージに基づいて（たとえば、Ｅ−ＵＴＲＡＮ１１０に関連する加入者のために（関連データフローをサポートするために）ＥＰＳベアラをインストールするための）適切なアクションを起こすことに留意する。ＣＥ１５０は、データフローに関連する情報を受信するための、１つまたは複数のそのようなインターフェースをサポートするように構成され得る。
【００３１】
ＣＥ１５０は、所与のデータフローについて、データフローのパケットに対してトンネリングアクションを実行するＦＥ１６０を識別するように構成され得る。これは、データフローに関連する１つまたは複数のトンネルの識別を含むことができ、トンネルには、データフローをサポートするために作成されるトンネルと、データフローをサポートしている既存のトンネルなどと、それらの様々な組合せとを含むことができる。トンネルの識別は、トンネルの端部として機能することが予測されるノード、またはトンネルの端部として現在機能しているノードの識別を含むことができる。トンネルの識別は、トンネルのためのトンネル端部（たとえばＦＥ１６０）の識別に基づくことができる。データフローのパケットの伝送のためにトンネリングを利用するオーバーレイネットワークという関連において、データフローは、１つのトンネルを介して、または２つ以上のトンネルの連結を介して伝送され得るということが理解される。
【００３２】
たとえば、データフローが１つのトンネルを介して伝送される時、ＣＥ１５０は、（たとえば、トンネルがまだ確立されていない場合）データフローのためのトンネルのトンネル端部として機能することになる、または（たとえば、トンネルが存在する場合）データフローのためのトンネルのトンネル端部として現在機能している、２つのＦＥ１６０を識別することができ、２つのＦＥ１６０によって使用される制御情報のそれぞれのセットを定義して、トンネルのためのデータフローのパケットに対してカプセル化機能または非カプセル化機能を実行する。図１の例示的な通信システム１００では、たとえば、ＣＥ１５０は、ＰＧＷとＳＧＷとの間のトンネルのトンネル端部としてＦＥ１６０２とＦＥ１６０１とを識別することができる。
【００３３】
たとえば、データフローが複数のトンネルを介して伝送される時、ＣＥ１５０は、複数のトンネルの各々について、（たとえば、トンネルがまだ確立していない場合）データフローのための各トンネルのトンネル端部として機能することになる、または（たとえば、トンネルが存在する場合）データフローのためのトンネルのトンネル端部として現在機能している、２つのＦＥ１６０を識別することができ、２つのＦＥ１６０によって使用される制御情報の各セットを定義して、各トンネルのデータフローのパケットに対してカプセル化機能または非カプセル化機能を実行することができる。図１の例示的な通信システムでは、たとえば、ＣＥ１５０は、ＰＧＷとＳＧＷとの間の第１のトンネルのトンネル端部としてＦＥ１６０２とＦＥ１６０１とを識別することができ、ＳＧＷと（明確さのために省略されている）Ｅ−ＵＴＲＡＮ１１０中のｅＮｏｄｅＢとの間の第２のトンネルのトンネル端部としてＦＥ１６０１とＥ−ＵＴＲＡＮ１１０内の別のＦＥ（明確さのためにやはり省略されている）とを識別することができる。
【００３４】
ＣＥ１５０は、所与のデータフローについて、データフローのための制御情報を定義し、１つまたは複数のＦＥ１６０によって使用されるために、制御情報を１つまたは複数のＦＥ１６０に伝えて、データフローの制御情報に基づいてデータフローのパケットに対して１つまたは複数のトンネリングアクションを実行するように構成され得る。
【００３５】
ＦＥ１６０は、所与のデータフローについて、１つまたは複数のオーバーレイネットワークに対してデータフローの動きを実行するために、１つまたは複数のトンネリングアクションをデータフローに対して適用するように構成され得る。
【００３６】
ＦＥ１６０は、所与のデータフローについて、データフローのための制御情報をＣＥ１５０から受信し、データフローのための制御情報を格納し、データフローのための制御情報を使用してトンネリングアクションをデータフローに対して実行するように構成され得る。
【００３７】
ＦＥ１６０は、所与のデータフローについて、パケットを受信し、パケットが関連するデータフローを決定し、パケットのデータフローに関連する１つまたは複数のトンネリングアクションを識別し、１つまたは複数のトンネリングアクションをデータフローのパケットに適用するように構成され得る。
【００３８】
ＦＥ１６０は、パケットが関連するデータフローをパケットからの情報（たとえば、パケットの１つまたは複数のプロトコルヘッダフィールドの１つまたは複数のヘッダフィールド値）を使用することによって決定して、ＣＥ１５０から受信した制御情報に基づいて、ＦＥ１６０において維持されているデータフロー記録のセット内で一致するデータフロー定義を識別するように構成され得る。ＦＥ１６０は、（データフローを定義するために使用され得るヘッダフィールドの種類に関する記述中で示される、）１つまたは複数のＩＰヘッダフィールドと、１つまたは複数のＵＤＰヘッダフィールドと、１つまたは複数のＧＴＰヘッダフィールドなどと、それらの様々な組合せとに対してマッチングを実行するように構成され得る。
【００３９】
ＦＥ１６０は、（たとえば、ＦＥ１６０において維持されているデータフロー記録が、データフローのためのデータフロー定義の、データフローのパケットに対して実行される１つまたは複数のトンネリングアクションへのマッピングを含む場合、）パケットのデータフローに関連する１つまたは複数のトンネリングを、パケットからの情報に一致するデータフロー定義を有するデータフロー記録に基づいて識別するように構成され得る。
【００４０】
ＦＥ１６０は、データフローに関連するデータフロー記録から識別された１つまたは複数のトンネリングアクションの処理に基づいて、１つまたは複数のトンネリングアクションをデータフローのパケットに適用するように構成され得る。
【００４１】
制御情報は、データフローのためのデータフロー定義と、データフローに対して実行される１つまたは複数のトンネリングアクションとを含む。制御情報は、ＣＥ１５０からＦＥ１６０に、ＳＤＮベースの制御プロトコルを使用して伝搬され得る。制御情報は、ＦＥ１６０によって、データフローに関連するデータフロー記録として維持され得、データフロー記録は、データフロー定義の、データフローに対して実行される１つまたは複数のトンネリングアクションへのマッピングを含む。
【００４２】
データフローのためのデータフロー定義は、データフローのパケットを識別するためにＦＥ１６０によって使用されるために構成される。データフロー定義は、ＩＰヘッダ、ＵＤＰヘッダ、またはＧＴＰヘッダのうちの１つまたは複数に基づくことができる。データフロー定義は、１つまたは複数のプロトコルヘッダフィールド（たとえば、１つまたは複数のＩＰヘッダフィールド、１つまたは複数のＵＤＰヘッダフィールド、１つまたは複数のＧＴＰヘッダフィールド、など、およびそれらの様々な組合せ）に基づくことができる。たとえば、データフロー定義は、送信元ＩＰアドレスと、送信先ＩＰアドレスと、プロトコルの種類と、送信元ポート番号と、送信先ポート番号とを含むＩＰヘッダフィールドの５タプルに基づくことができる。たとえば、データフロー定義は、ＵＤＰヘッダの送信元ポート番号フィールドと送信先ポート番号フィールドとに基づくことができる。たとえば、データフロー定義は、ＧＴＰヘッダのトンネル端部識別子（ＴＥＩＤ）に基づくことができる。データフロー定義は、他の適切なプロトコルヘッダフィールドまたはプロトコルヘッダフィールドの組合せに基づくことができる。
【００４３】
データフローに対する１つまたは複数のトンネリングアクションは、１つまたは複数のカプセル化アクションまたは１つまたは複数の非カプセル化アクションを含むことができる。
【００４４】
データフローに対する１つまたは複数のカプセル化アクションは、データフローのパケットをトンネルの中に（たとえば、ネイティブ転送インフラストラクチャからトンネルの中に、第１のトンネルから第２のトンネルの中に、など）移動させることに使用され得る。
【００４５】
少なくともいくつかの実施形態では、カプセル化アクションは、プロトコルの１つまたは複数のプロトコルヘッダフィールドをデータフローのパケットに追加することを含むことができる。少なくともいくつかの実施形態では、カプセル化アクションは、１つまたは複数のプロトコルヘッダフィールドの１つまたは複数のプロトコルヘッダフィールド値を設定することを含むことができる。少なくともいくつかの実施形態では、カプセル化アクションは、パケットチェックサムを計算することを含むことができる。少なくともいくつかの実施形態では、カプセル化アクションは、（たとえば、シーケンス番号フィールド値が、同じデータフローに対してカプセル化された以前のパケットに追加された、キャッシュされたシーケンス番号フィールド値に基づいて決定され得る場合、）シーケンス番号フィールド値をシーケンス番号フィールドに追加することを含むことができる。データフローに対する１つまたは複数のカプセル化アクションは、データフローのパケットをトンネルの中に移動させる際に使用するために適切な、他のカプセル化アクションを含むことができる。
【００４６】
少なくともいくつかの実施形態では、カプセル化アクションは、実行されるカプセル化の種類を示す情報とカプセル化アクションを実行する際に使用する情報とを含むことができる、または関連して有することができる。たとえば、カプセル化アクションは、カプセル化が実行されるプロトコルと、パケットをカプセル化するために、パケットに加えられる１つまたは複数のプロトコルヘッダフィールドと、パケットをカプセル化するために、パケットに加えられる１つまたは複数のプロトコルヘッダフィールドに設定される、１つまたは複数のプロトコルヘッダフィールド値などと、それらの様々な組合せとを識別することができる。たとえば、カプセル化アクションは、また、パケットチェックサムの計算が実行されることを定めることができる。たとえば、カプセル化アクションは、また、シーケンス番号の追加が実行されることを定めることができる。図１の例示的な通信システムでは、たとえば、１つまたは複数のカプセル化アクションは、ＩＰベースのカプセル化、ＵＤＰベースのカプセル化、ＧＴＰベースのカプセル化などのうちの１つまたは複数の使用を定めることができる。たとえば、ＣＥ１５０からＦＥ１６０に通信されるＩＰベースのカプセル化アクションは、ＩＰベースのカプセル化が実行されることを示す情報と、データフローのパケットに追加されるＩＰヘッダで使用される、１つまたは複数のＩＰヘッダフィールド値（たとえば、長さ値と、ＤＳＣＰ値と、識別値と、３ビットフラグフィールド値と、タイムトゥリブ（ＴＴＬ）値と、送信元ＩＰアドレスと、送信先ＩＰアドレスと、他のＩＰヘッダフィールドとのうちの１つまたは複数）を含むことができる。たとえば、ＣＥ１５０からＦＥ１６０に通信されるＵＤＰベースのカプセル化アクションは、ＵＤＰベースのカプセル化が実行されることを示す情報と、データフローのパケットに追加されるＵＤＰヘッダで使用される、１つまたは複数のＵＤＰヘッダフィールド値（たとえば、長さ値と、送信元ポート番号と、送信先ポート番号と、他のＵＤＰヘッダフィールドとのうちの１つまたは複数）を含むことができる。たとえば、ＣＥ１５０からＦＥ１６０に通信されるＧＴＰベースのカプセル化アクションは、ＧＴＰベースのカプセル化を実行することを示す情報と、データフローのパケットに追加されるＧＴＰヘッダの中で使用される１つまたは複数のＧＴＰヘッダフィールド値（たとえば、長さ値、ＴＥＩＤ、または他のＧＴＰヘッダフィールドのうちの１つまたは複数）を含むことができる。たとえば、ＣＥ１５０からＦＥ１６０に通信されるＧＴＰベースのカプセル化アクションは、ＦＥ１６０が、同じフローに対してカプセル化された以前のパケットにＦＥ１６０によって適用されたキャッシュされたシーケンス番号値から、シーケンス番号値を導き出すことを示す情報を含むことができる。データフローに対する１つまたは複数の非カプセル化アクションは、データフローのパケットをトンネルの外に（たとえば、パケットを別のトンネルの中に移動させずにトンネルの外に、第１のトンネルから第２のトンネルに、トンネルからネイティブ転送インフラストラクチャに、など）移動させるために使用され得る。
【００４７】
少なくともいくつかの実施形態では、非カプセル化アクションは、プロトコルの１つまたは複数のプロトコルヘッダフィールドをデータフローのパケットから除去することを含むことができる。少なくともいくつかの実施形態では、非カプセル化アクションは、１つまたは複数のプロトコルヘッダフィールドの１つまたは複数のプロトコルヘッダフィールド値を除去することを含むことができる。少なくともいくつかの実施形態では、非カプセル化アクションは、パケットチェックサムを検証することを含むことができる。少なくともいくつかの実施形態では、非カプセル化アクションは、シーケンス番号フィールドのシーケンス番号値の検証とキャッシングとを含むことができる（たとえば、検証は、シーケンス番号値を、同じデータフローに対して非カプセル化された以前のパケットのキャッシュされたシーケンス番号値と比較することによって実行され得る）。データフローに対する１つまたは複数の非カプセル化アクションは、データフローのパケットをトンネルの外に移動させる際に使用するために適切な他の非カプセル化アクションを含むことができる。
【００４８】
少なくともいくつかの実施形態では、非カプセル化アクションは、実行される非カプセル化の種類を示す情報と、非カプセル化アクションを実行する際に使用するための情報とを含むことができ、または関連して有することができる。たとえば、非カプセル化アクションは、非カプセル化が実行されるプロトコルと、パケットを非カプセル化するためにパケットから除去される１つまたは複数のプロトコルヘッダフィールドなどと、それらの様々な組合せとを識別することができる。たとえば、非カプセル化アクションは、また、パケットチェックサムの検証が実行されることを定めることができる。図１の例示的な通信システムでは、たとえば、１つまたは複数の非カプセル化アクションは、ＩＰベースの非カプセル化、ＵＤＰベースの非カプセル化、ＧＴＰベースの非カプセル化などのうちの１つまたは複数の使用を定めることができる。たとえば、ＣＥ１５０からＦＥ１６０に通信されるＧＴＰベースの非カプセル化アクションは、ＦＥ１６０が、ＧＴＰヘッダのシーケンス番号フィールドの中で運ばれるシーケンス番号値を検証し、キャッシュするということを示す情報を含むことができる（たとえば、検証は、シーケンス番号値を、同じフローに対して非カプセル化された以前のパケットのキャッシュされたシーケンス番号値と比較することによって実行され得る）。
【００４９】
本明細書で説明される通り、１つまたは複数のカプセル化アクションと１つまたは複数の非カプセル化アクションとの組合せは、トンネル間でデータフローのパケットを移動させるために、データフローのパケットに適用され得る（たとえば、第１のトンネルからのパケットを非カプセル化するために、１つまたは複数の非カプセル化アクションをデータフローのパケットに適用し、次いで、第２のトンネルの中にパケットをカプセル化するために、１つまたは複数のカプセル化アクションをデータフローのパケットに適用する）。データフローに対する１つまたは複数のトンネリングアクションは、データフローのパケットをトンネルの中に、トンネル間で、トンネルの外などに移動させるために、ＣＥ１５０によって制御され、１つまたは複数のＦＥ１６０によって適用され得る他のアクションを含むことができる。
【００５０】
ＣＥ１５０とＦＥ１６０との動作は、いくつかの実施例としてより良く理解される。
【００５１】
たとえば、ＣＥ１５０およびＦＥ１６０は、ＦＥ１６０２からＦＥ１６０１へ向かう方向の下流データフローのトンネリングをサポートするように構成され得る。本実施例では、ＣＥ１５０は、（１）ＦＥ１６０２とＦＥ１６０１とを下流データフローのためのトンネルのトンネル端部として識別し、（２）ＦＥ１６０２によって実行されるカプセル化アクションを決定し、カプセル化アクションと関連するデータフロー定義とを、データフローのパケットに対するカプセル化を実行する際に使用するために、ＦＥ１６０２に提供し、（３）ＦＥ１６０１によって実行される非カプセル化アクションを決定し、非カプセル化アクションと関連するデータフロー定義とを、ＦＥ１６０２からＦＥ１６０１において受信された、データフローのカプセル化されたパケットに対する非カプセル化を実行する際に使用するために、ＦＥ１６０１に提供する。加えて、本実施例では、（１）ＦＥ１６０２は、データフロー定義とカプセル化アクションとをＣＥ１５０から受信し、データフローのパケットの受信がＦＥ１６０２によって検出された時に、カプセル化アクションを実行してデータフローのパケットをカプセル化し、（２）ＦＥ１６０１は、データフロー定義と非カプセル化アクションとをＣＥ１５０から受信し、データフローのカプセル化されたパケットの受信がＦＥ１６０１によって検出された時に、非カプセル化アクションを実行してデータフローのカプセル化されたパケットを非カプセル化する。
【００５２】
たとえば、ＣＥ１５０およびＦＥ１６０２は、ＦＥ１６０２において、第１のトンネルと第２のトンネルとの間での上流データフローの移動をサポートするように構成され得る。本実施例では、ＣＥ１５０は、（１）ＦＥ１６０２を、データフローを移動するのに使用される、第１のトンネルと第２のトンネルとのトンネル端部を有しているとして識別し、（２）データフローのためのデータフロー定義を決定し、（３）データフローのパケットを第１のトンネルから除去するために、ＦＥ１６０２によって実行される非カプセル化アクションを決定し、（４）データフローのパケットを第２のトンネルの中に移動させるために、ＦＥ１６０２によって実行されるカプセル化アクションを決定し、（５）データフローのパケットを第１のトンネルと第２のトンネルとの間で移動させるためにＦＥ１６０２によって使用されるための、データフロー定義と、非カプセル化アクションおよびカプセル化アクションとをＦＥ１６０２に提供する。加えて、本実施例では、（１）ＦＥ１６０２は、データフロー定義と、非カプセル化アクションおよびカプセル化アクションとをＣＥ１５０から受信し、（２）データフローの各パケットについて、パケットをＦＥ１６０１から第１のトンネルを介して受信し、第１のトンネルからのパケットを非カプセル化するために非カプセル化アクションを実行し、パケットを第２のトンネルの中にカプセル化するためにカプセル化アクションを実行し、パケットを通信ネットワーク１７０に向けて上流に第２のトンネルを介して送信する。
【００５３】
ＣＥ１５０およびＦＥ１６０は、制御プロトコルを介して通信するように構成され得る。制御プロトコルは、ＳＤＮにおける使用のために適切ないずれの種類のプロトコルであってもよい。たとえは、制御プロトコルは、（たとえば、ＯｐｅｎＦｌｏｗプロトコルによって使用されるシンタックスを採用し、１つまたは複数のＯｐｅｎＦｌｏｗメッセージ、あるいは１つまたは複数のＯｐｅｎＦｌｏｗメッセージ情報要素を追加する一方、ＯｐｅｎＦｌｏｗによって定義されるＦＥの処理表現を使用する）ＯｐｅｎＦｌｏｗプロトコルに基づいた制御プロトコル、（たとえば、ＦｏｒＣＥＳプロトコルによって使用されるシンタックスを採用し、１つまたは複数のＦｏｒＣＥＳプロトコルメッセージ、あるいは１つまたは複数のＦｏｒＣＥＳプロトコルメッセージ情報要素を追加する一方、ＦｏｒＣＥＳプロトコルによって定義されるＦＥの処理表現を使用する）Ｆｏｒｗａｒｄｉｎｇ  ａｎｄ  Ｃｏｎｔｒｏｌ  Ｅｌｅｍｅｎｔ  Ｓｅｐａｒａｔｉｏｎ（ＦｏｒＣＥＳ）プロトコルに基づいた制御プロトコル、プロプライエタリな制御プロトコルなどであることができる。図１の例示的な通信システム１００のためのＯｐｅｎＦｌｏｗプロトコルの例示的な拡張の説明は、以下である。
【００５４】
少なくともいくつかの実施形態では、ＦＥ１６０は、ＦＥ１６０のＯｐｅｎＦｌｏｗ表現を拡張することによってそのような機能を実行して、拡張ＯｐｅｎＦｌｏｗプロトコルを形成するように構成され得る。それらは：
【００５５】
（１）ＯｐｅｎＦｌｏｗマッチング：少なくともいくつかの実施形態では、パケットヘッダフィールドに基づいたマッチングは、ＵＤＰヘッダフィールドまたはＧＴＰヘッダフィールドに基づいたマッチングを含むように拡張される。
【００５６】
（２）ＯｐｅｎＦｌｏｗカプセル化アクション：少なくともいくつかの実施形態では、新しいＯｐｅｎＦｌｏｗ動作は、ＩＰカプセル化と、ＵＤＰカプセル化と、ＧＴＰカプセル化とについて定義することができる。少なくともいくつかの実施形態では、統合されたＩＰ−ＵＤＰ−ＧＴＰカプセル化アクションが定義され得る。ＩＰカプセル化アクション、ＵＤＰカプセル化アクション、およびＩＰ−ＵＤＰ−ＧＴＰカプセル化アクションは、対応するＩＰヘッダチェックサムおよびＵＤＰヘッダチェックサムと、ＩＰヘッダのためのパケット長値との再計算を暗に意味するということが理解される。ＩＰヘッダのプロトコル値が設定される必要があり得ることも理解される。
【００５７】
（３）ＯｐｅｎＦｌｏｗ非カプセル化アクション：少なくともいくつかの実施形態では、新しいＯｐｅｎＦｌｏｗ動作は、ＩＰ非カプセル化と、ＵＤＰ非カプセル化と、ＧＴＰ非カプセル化とについて定義され得る。少なくともいくつかの実施形態では、統合されたＩＰ−ＵＤＰ−ＧＴＰ非カプセル化アクションが定義され得る。ＩＰ非カプセル化アクション、ＵＤＰ非カプセル化アクション、およびＩＰ−ＵＤＰ−ＧＴＰ非カプセル化アクションは、対応する、ＩＰヘッダチェックサムとＵＤＰヘッダチェックサムとの検証を暗に意味し、検証が不合格になった時に、パケットは廃棄される必要があり得るということが理解される。
【００５８】
少なくともいくつかの実施形態では、ＯｐｅｎＦｌｏｗプロトコルは、ＣＥ１５０が、ＦＥ１６０（たとえば、ＦＥ１６０の１つまたは複数のＦＥテーブルのエントリ）に新しいマッチング条件と新しいカプセル化アクション／非カプセル化アクションとをポピュレートすることを可能にするような方法で拡張され得る。ＯｐｅｎＦｌｏｗプロトコルは、１つまたは複数の新しいメッセージと、１つまたは複数の新しいメッセージ情報要素などと、それらの様々な組合せとを用いて拡張され得る。図１の例示的な通信システム１００のためのＯｐｅｎＦｌｏｗプロトコルの拡張のための例示的な実施形態は、以下である。
【００５９】
少なくともいくつかの実施形態では、ＦＥ１６０によって実行されるデータフローマッチングについて、列挙「ｏｘｍ＿ｏｆｂ＿ｍａｔｃｈ＿ｆｉｅｌｄｓ」は、ＧＴＰヘッダのＴＥＩＤを表わす、マッチングフィールドＯＦＰＸＭＴ＿ＯＦＢ＿ＧＴＰＵ＿ＴＥＩＤを用いて拡張され得る。
【００６０】
少なくともいくつかの実施形態では、ＦＥ１６０によって実行されるカプセル化アクションについて、列挙「ｏｆｐ＿ａｃｔｉｏｎ＿ｔｙｐｅ」は以下のアクションタイプを用いて拡張され得る：
ＯＦＰＡＴ＿ＰＵＳＨ＿ＩＰ４：  ＩＰｖ４ヘッダをプッシュする、
ＯＦＰＡＴ＿ＰＵＳＨ＿ＩＰ６：  ＩＰｖ６ヘッダをプッシュする、
ＯＦＰＡＴ＿ＰＵＳＨ＿ＵＤＰ：  ＵＤＰヘッダをプッシュする、
ＯＦＰＡＴ＿ＰＵＳＨ＿ＧＴＰ：  ＧＴＰヘッダをプッシュする、
ＯＦＰＡＴ＿ＰＵＳＨ＿ＩＰ４ＵＤＰＧＴＰ：  ＩＰｖ４−、ＵＰＤ−、およびＧＴＰヘッダをプッシュする、および
ＯＦＰＡＴ＿ＰＵＳＨ＿ＩＰ６ＵＤＰＧＴＰ：  ＩＰｖ６−、ＵＰＤ−、およびＧＴＰヘッダをプッシュする。
【００６１】
少なくともいくつかの実施形態では、ＦＥ１６０によって実行される非カプセル化アクションについて、列挙「ｏｆｐ＿ａｃｔｉｏｎ＿ｔｙｐｅ」は、以下のアクションタイプを用いて拡張され得る：
ＯＦＰＡＴ＿ＰＯＰ＿ＩＰ４：  ＩＰｖ４ヘッダをポップする、
ＯＦＰＡＴ＿ＰＯＰ＿ＩＰ６：  ＩＰｖ６ヘッダをポップする、
ＯＦＰＡＴ＿ＰＯＰ＿ＵＤＰ：  ＵＤＰヘッダをポップする、
ＯＦＰＡＴ＿ＰＯＰ＿ＧＴＰ：  ＧＴＰヘッダをポップする、
ＯＦＰＡＴ＿ＰＯＰ＿ＩＰ４ＵＤＰＧＴＰ：  ＩＰｖ４−、ＵＰＤ−、およびＧＴＰヘッダをポップする、および
ＯＦＰＡＴ＿ＰＯＰ＿ＩＰ６ＵＤＰＧＴＰ：  ＩＰｖ６−、ＵＰＤ−、ＧＴＰヘッダをポップする。
【００６２】
少なくともいくつかの実施形態では、１つまたは複数のカプセル化アクションのための１つまたは複数のカプセル化アクション構造体は、以下の通り、プッシュされるヘッダのフィールド値を含むことができる。
【００６３】
たとえば、ＯＦＰＡＴ＿ＰＵＳＨ＿ＩＰ４のためのＩＰｖ４カプセル化アクション構造体は、次の通り定義され得る：
【００６４】
【数１】
2016504837.tif 000003
【００６５】
たとえば、ＯＦＰＡＴ＿ＰＵＳＨ＿ＵＤＰのためのＵＤＰカプセル化アクション構造体は、次の通り定義され得る：
【００６６】
【数２】
2016504837.tif 000004
【００６７】
たとえば、ＯＦＰＡＴ＿ＰＵＳＨ＿ＧＴＰのためのＧＴＰカプセル化アクション構造体は、次の通り定義され得る：
【００６８】
【数３】
2016504837.tif 000005
【００６９】
特定のヘッダフィールドのパラメータを有するカプセル化アクション構造体を使用する拡張ＯｐｅｎＦｌｏｗプロトコルの実施形態に対して、上記で主に図示し説明したが、少なくともいくつかの実施形態では、拡張ＯｐｅｎＦｌｏｗプロトコルが、より少ない、または（異なるを含む）より多いヘッダフィールドのパラメータを含むカプセル化アクション構造体を利用することができるということが理解される。
【００７０】
特定の方法（たとえば、特定のアクション構造体フィールド名を使用した、特定の順番で配置された、など）で配置されたカプセル化アクション構造体を使用する拡張ＯｐｅｎＦｌｏｗプロトコルの実施形態に対して、上記で主に図示し説明したが、少なくともいくつかの実施形態では、拡張ＯｐｅｎＦｌｏｗプロトコルが、他の適切な方法で配置されたカプセル化アクション構造体を利用することができるということが理解される。
【００７１】
カプセル化アクション構造体が、カプセル化のために使用されるパケットヘッダの１つまたは複数のヘッダフィールドを設定する際に使用するための情報を含む、拡張ＯｐｅｎＦｌｏｗプロトコルの実施形態に対して、上記で主に図示し説明したが、少なくともいくつかの実施形態では、１つまたは複数のヘッダフィールド設定アクション構造体が、カプセル化のために使用されるプロトコルヘッダの１つまたは複数のヘッダフィールドを設定する際に使用するために定義される（たとえば、ヘッダフィールド設定アクションをカプセル化アクションの一部として含むよりはむしろ、１つまたは複数のアクション構造体が、カプセル化のために使用されるプロトコルヘッダの１つまたは複数のヘッダフィールドを設定するために定義され、使用される）ように、拡張ＯｐｅｎＦｌｏｗプロトコルが構成され得るということが理解される。
【００７２】
上記で説明された例示的なＯｐｅｎＦｌｏｗベースの制御プロトコルのために、データフローマッチングフィールドと、カプセル化アクション／非カプセル化アクションとを使用することは、図１の例示的な通信システム１００の関連において考えられる時により良く理解され得る。
【００７３】
少なくともいくつかの実施形態では、たとえば、上記で説明された、例示的なＯｐｅｎＦｌｏｗベースの制御プロトコルのデータフローマッチングフィールドとネットワークオーバーレイアクションとを使用して、ＰＧＷ−Ｕ（ＦＥ１６０２）とＳＧＷ−Ｕ（ＦＥ１６０１）とによる、ＰＧＷ−Ｕ（ＦＥ１６０２）上のダウンリンクトラフィックのための処理は、以下の通り実行され得る。
【００７４】
テーブル０：エントリは、以下の実行される機能を含む：
【００７５】
（１）マッチングフィールド：マッチングフィールドが、送信元ＩＰアドレスと、送信先ＩＰアドレスと、プロトコル種類と、送信元ポート番号と、送信先ポート番号とを含む５タプルを含み、ワイルドカードは、同じＥＰＳベアラに属する５タプルをグループ化するように設定され得る。
【００７６】
（２）ＧＴＰヘッダアクション：ＧＴＰヘッダアクションが、ＥＰＳベアラのための、ＳＧＷ−Ｕにおけるトンネル端部に対応するＴＥＩＤフィールド値と共にプッシュされる。
【００７７】
（３）メタデータアクション：メタデータアクションが、メタデータ値がＳＧＷ−Ｕの送信先ＩＰアドレスに設定された場合に設定される。
【００７８】
（４）テーブル１に移動（Ｇｏ  Ｔｏ）アクション。
【００７９】
テーブル１：エントリは、以下の実行される機能を含む：
【００８０】
（１）マッチングフィールド：マッチングフィールドが、メタデータ値と等しい。
【００８１】
（２）ＵＤＰヘッダアクション：ＵＤＰヘッダアクションが、ＵＤＰ送信元ポート値（たとえば、２１５２または他の適切な値）と共にプッシュされる。
【００８２】
（３）ＩＰｖ４またはＩＰｖ６ヘッダアクション：ＩＰｖ４またはＩＰｖ６ヘッダアクションが、ＩＰアドレスがメタデータ値（たとえば、ＳＧＷ−ＵのＩＰアドレス）に設定され、送信元ＩＰアドレスが、データを送信先アドレスに転送するために使用される出力ポートのＩＰアドレスに設定された場合、プッシュされる。
【００８３】
（４）出力アクション：対応する出力ポートを定める出力アクションが、ローカルのイーサネット（登録商標）アドレスを自動的にプッシュする。
【００８４】
少なくともいくつかの実施形態では、たとえば、上記で説明された、例示的なＯｐｅｎＦｌｏｗベースの制御プロトコルのデータフローマッチングフィールドとネットワークオーバーレイアクションとを使用して、ＰＧＷ−Ｕ（ＦＥ１６０２）とＳＧＷ−Ｕ（ＦＥ１６０１）とによる、ＳＧＷ−Ｕ（ＦＥ１６０１）上のダウンリンクトラフィックのための処理は、以下の通り実行され得る。
【００８５】
テーブル０：エントリは、以下の、実行される機能を含む：
【００８６】
（１）マッチングフィールド：マッチングフィールドが、ＳＧＷ−ＵにおけるＥＰＳベアラのＧＴＰ  ＴＥＩＤを含む。
【００８７】
（２）メタデータ：メタデータが、ｅＮｏｄｅＢにおけるベアラ端部のＴＥＩＤ値に設定される。
【００８８】
（３）ＧＴＰヘッダアクション：ＧＴＰヘッダアクションが、ＴＥＩＤフィールド値と共にポップされる。
【００８９】
（４）ＵＤＰヘッダアクション：ＵＤＰヘッダアクションがポップされる。
【００９０】
（５）ＩＰヘッダアクション：ＩＰヘッダアクションがポップされる。
【００９１】
（６）メタデータアクション：メタデータアクションが、メタデータ値がｅＮｏｄｅＢの送信先ＩＰアドレスに設定される場合、設定される。
【００９２】
（７）テーブル１に移動（Ｇｏ  Ｔｏ）アクション。
【００９３】
テーブル１：エントリは、以下の実行される機能を含む：
【００９４】
（１）マッチングフィールド：マッチングフィールドがメタデータ値と等しい。
【００９５】
（２）ＵＤＰヘッダアクション：ＵＤＰヘッダアクションがＵＤＰ送信元ポート値（たとえば、２１５２または他の適切な値）と共にプッシュされる。
【００９６】
（３）ＩＰｖ４またはＩＰｖ６ヘッダアクション：ＩＰｖ４またはＩＰｖ６ヘッダアクションが、ＩＰアドレスがメタデータ値（たとえば、ｅＮｏｄｅＢのＩＰアドレス）に設定され、送信元ＩＰアドレスが、データを送信先アドレスに転送するために使用される出力ポートのＩＰアドレスに設定された場合、プッシュされる。
【００９７】
（４）出力アクション：対応する出力ポートを定める出力アクションが、ローカルのイーサネットアドレスを自動的にプッシュする。
【００９８】
ＦＥ１６０が同じまたは類似の機能を実行することができるため、ＵＥが付けられているアンカー（たとえば、ＳＧＷ−Ｕ（ＦＥ１６０１）およびＰＧＷ−Ｕ（ＦＥ１６０２））は、例示的な通信ネットワーク１００内で自由に設置され、移動されてよく、それによって、柔軟で最適化されたルーティングと、早期ブレイクアウトと、ＵＥにより近くでのキャッシュサーバの統合（たとえば、コンテンツデリバリネットワーク（ＣＤＮ）機能）などと、それらの様々な組合せとを可能にするということが理解される。
【００９９】
本明細書で説明される通り、ソフトウェアで定義されたネットワークオーバーレイの機能の実施形態は、ＬＴＥ  ＥＰＣネットワーク内で様々な種類のトンネリングをサポートするために適用され得る。例示的な通信ネットワーク１００の関連において、ＵＤＰベースとＧＴＰベースとのトンネリングをサポートするための、ソフトウェアで定義されたネットワークオーバーレイの機能の例示的な使用が、図２に関して図示され、説明される。
【０１００】
図２は、図１の例示的な通信システムの要素間の例示的なトンネリングを示している。
【０１０１】
図２に示される通り、図２の例示的な通信システム２００はＬＴＥ  ＥＰＣネットワークである。図２の例示的な通信システム２００は、Ｅ−ＵＴＲＡＮ１１０のｅＮｏｄｅＢ２１１に関連するユーザ装置（ＵＥ）２０１と通信ネットワーク１７０のサーバ２７１との間のエンドツーエンド通信をサポートし、Ｅ−ＴＲＡＮ１１０と通信ネットワーク１７０との間の通信は、（ＳＧＷに関連する）ＦＥ１６０１と（ＰＧＷに関連する）ＦＥ１６０２とを介する。図２の例示的な通信システム２００の要素の配置は、図１の例示的な通信システム１００を参照することによってより良く理解され得る。
【０１０２】
図２に示される通り、例示的な通信システム２００の要素間の通信は、様々な通信層における様々な通信プロトコルを使用して実行される。例示的な通信システム２００の要素はそれぞれ、１つまたは複数のプロトコルスタックをサポートして、ＯＳＩモデルの様々な層（たとえば、物理層、データリンク層、ネットワーク層、トランスポート層など）における通信のための通信プロトコルをサポートする。サーバ２７１とＵＥ２１１との間のエンドツーエンド通信は、ＴＣＰ接続を介している。ＴＣＰ接続は、サーバ２７１とＦＥ１６０２との間のＩＰベースの接続と、ＦＥ１６０２とＵＥ２０１との間のＩＰベースの接続とを介して伝送される。サーバ２７１とＦＥ１６０２との間のＩＰベースの接続は、サーバ２７１とＦＥ１６０２との間のＬ２接続を介して伝送される。ＦＥ１６０２とＵＥ２０１との間のＩＰベースの接続は、ＦＥ１６０２とＦＥ１６０１との間の様々な接続と、ＦＥ１６０１とｅＮｏｄｅＢ２１１との間の様々な接続と、ｅＮｏｄｅＢ２１１とＵＥ２０１との間のＬ２  ＬＴＥ接続とを介して伝送される。ＦＥ１６０２とＦＥ１６０１との間の様々な接続は、ＧＴＰ−Ｕ（Ｓ５−Ｕインターフェース）接続を含み、ＧＴＰ−Ｕ接続はＵＤＰ接続を介して伝送され、ＵＤＰ接続はＩＰ接続を介して伝送され、ＩＰ接続はＬ２接続を介して伝送される。同様に、ＦＥ１６０１とｅＮｏｄｅＢ２１１との間の様々な接続は、ＧＴＰ−Ｕ（Ｓ１−Ｕインターフェース）接続を含み、ＧＴＰ−Ｕ接続はＵＤＰ接続を介して伝送され、ＵＤＰ接続はＩＰ接続を介して伝送され、ＩＰ接続はＬ２接続を介して伝送される。ＬＴＥ  ＥＰＣネットワーク内の通信プロトコルの典型的な構成は当業者よって理解され、したがって、様々な要素間の様々な接続のさらなる説明は省略される。加えて、下層のプロトコル／接続（たとえば、物理層）および上層のプロトコル／接続（たとえば、プレゼンテーション層、アプリケーション層、など）は、また、明確化のために省略される。
【０１０３】
図２でさらに図示される通り、例示的な通信システム２００は、ＦＥ１６０２とＦＥ１６０１との間と、ＦＥ１６０１とｅＮｏｄｅＢ２１１との間の両方の、ＳＤＮベースのトンネリングをサポートするように構成されている（図２において、これらのプロトコル／接続に関連する太枠の四角によって示されている）。所与のデータフローに対して下流方向では、ＣＥ１５０の制御のもとで、以下の機能が実行される：（１）ＦＥ１６０２が、データフローのＩＰパケットを識別し、ＩＰパケットを、ＵＤＰを使用してカプセル化してＵＤＰパケット（ＵＤＰトンネル）を形成し、ＵＤＰパケットをＧＴＰ−Ｕを使用してさらにカプセル化して（ＵＤＰトンネルがＧＴＰ−Ｕトンネル内のトンネルであるように）ＧＴＰ−Ｕパケット形成し、ＧＴＰ−ＵパケットをＦＥ１６０１に伝搬する、（２）ＦＥ１６０１が、ＧＴＰ−ＵパケットをＦＥ１６０２から受信し、データフローのＧＴＰ−Ｕパケットを識別し、ＧＴＰ−Ｕパケットを非カプセル化してＵＤＰパケットを取り戻し、ＵＤＰパケットを非カプセル化してＩＰパケットを取り戻し、ＩＰパケットをＵＤＰを使用してカプセル化してＵＤＰパケット（ＵＤＰトンネル）を形成し、ＵＤＰパケットをＧＴＰ−Ｕを使用してさらにカプセル化して（ＵＤＰトンネルがＧＴＰ−Ｕトンネル内のトンネルであるように）ＧＴＰ−Ｕパケットを形成し、ＧＴＰ−ＵパケットをｅＮｏｄｅＢ２１１に伝搬され、（３）ｅＮｏｄｅＢ２１１が、ＧＴＰ−ＵパケットをＦＥ１６０１から受信し、データフローのＧＴＰ−Ｕパケットを識別し、ＧＴＰ−Ｕパケットを非カプセル化してＵＤＰパケットを取り戻し、ＵＤＰパケットを非カプセル化してＩＰパケットを取り戻す。他の関連するアクションが実行され、そのようなアクションはＣＥ１５０の制御のもとでないため、そのようなアクションの説明は省略されることが理解される。所与のデータフローに対して上流方向では、ＣＥ１５０、ｅＮｏｄｅＢ２１１、ＦＥ１６０１、およびＦＥ１６０２は、上流方向におけるパケットのトンネリングをサポートするための相補的機能を実行するように構成され得ることが理解される。
【０１０４】
本明細書で説明される通り、ソフトウェアで定義されたネットワークオーバーレイの機能の実施形態は、また、図１に対して示され、説明されたＬＴＥ  ＥＰＣネットワークに加えて、様々な種類のオーバーレイネットワークに適用され得る。たとえば、ソフトウェアで定義されたネットワークオーバーレイの機能の実施形態は、また、仮想プライベートネットワーク（ＶＰＮ）の関連においてトンネリングをサポートするためにも適用され得る。例示的なＶＰＮの関連においてＵＤＰベースのトンネリングとＥＳＰベースのトンネリングとをサポートするための、ソフトウェアで定義されたネットワークオーバーレイの機能の例示的な使用が、図３に対して示され、説明される。
【０１０５】
図３は、例示的な通信システムの要素間の例示的なトンネリングを示している。
【０１０６】
図３に示される通り、図３の例示的な通信システム３００は、仮想プライベートネットワーク（ＶＰＮ）をサポートする通信ネットワークである。図３の例示的な通信システム３００は、第１のセキュリティゲートウェイ（セキュリティゲートウェイＦＥ３６０１）に関連する第１のホスト３０１と、第２のセキュリティゲートウェイ（セキュリティゲートウェイＦＥ３６０２）に関連する第２のホスト３７１との間のエンドツーエンド通信をサポートし、セキュリティゲートウェイＦＥ３６０１とセキュリティゲートウェイＦＥ３６０２との間の通信は、ネイティブＩＰルータ３６１を介している。図３の例示的な通信システム３００の要素の配置は、図２の例示的な通信システム２００の要素の配置と類似している。
【０１０７】
図３で示される通り、例示的な通信システム３００の要素間の通信は、様々な通信層における様々な通信プロトコルを使用して実行される。例示的な通信システム３００の要素はそれぞれ、１つまたは複数のプロトコルスタックをサポートして、ＯＳＩモデルの様々な層（たとえば、物理層、データリンク層、ネットワーク層、トランスポート層、など）における通信のための通信プロトコルをサポートする。第２のホスト３７１と第１のホスト３０１との間のエンドツーエンド通信は、ＴＣＰ接続を介している。ＴＣＰ接続は、第２のホスト３７１とセキュリティゲートウェイＦＥ３６０２との間のＩＰベースの接続と、セキュリティゲートウェイＦＥ３６０２とセキュリティゲートウェイＦＥ３６０１との間のＩＰベースの接続と、セキュリティゲートウェイＦＥ３６０１と第１のホスト３０１との間のＩＰベースの接続とを介して伝送される。第２のホスト３７１とセキュリティゲートウェイＦＥ３６０２との間のＩＰベースの接続は、第２のホスト３７１とセキュリティゲートウェイＦＥ３６０２との間のＬ２接続を介して伝送され、同様に、セキュリティゲートウェイＦＥ３６０１と第１のホスト３０１との間のＩＰベースの接続は、セキュリティゲートウェイＦＥ３６０１と第１のホスト３０１との間のＬ２接続を介して伝送される。セキュリティゲートウェイＦＥ３６０２とセキュリティゲートウェイＦＥ３６０１との間のＩＰベースの接続は、（ＩＰＳｅｃプロトコルクワイトの）ＥＳＰ接続を介して伝送／セキュア化され、ＥＳＰ接続はＵＤＰ接続を介して伝送され、ＵＤＰ接続は（セキュリティゲートウェイＦＥ３６０２とネイティブＩＰルータ３６１との間と、ネイティブＩＰルータ３６１とセキュリティゲートウェイＦＥ３６０１との間との）ＩＰ接続を介して伝送され、ＩＰ接続は、（ここでもやはり、セキュリティゲートウェイＦＥ３６０２とネイティブＩＰルータ３６１との間と、ネイティブＩＰルータ３６１とセキュリティゲートウェイＦＥ３６０１との間との、各ＩＰ接続をサポートしている）Ｌ２接続を介して伝送される。ＶＰＮネットワーク内の通信プロトコルの典型的な構成は、当業者によって理解され、したがって、様々な要素間の様々な接続のさらなる詳細は省略される。加えて、下層のプロトコル／接続（たとえば、物理層）および上層のプロトコル／接続（たとえば、プレゼンテーション層、アプリケーション層、など）は、また、明確化のために省略されている。
【０１０８】
図３でさらに示される通り、例示的な通信システム３００は、（図３のこれらのプロトコル／接続に関連する太枠の四角によって示される）セキュリティゲートウェイＦＥ３６０２とセキュリティゲートウェイＦＥ３６０１との間でＳＤＮベースのトンネリングをサポートするように構成されている。所与のデータフローに対する第１の方向（例示的には、図３にわたって左から右に）では、ＣＥ３５０の制御のもとで、様々な機能が実行される。ＣＥ３５０は、セキュリティゲートウェイＦＥ３６０２とセキュリティゲートウェイＦＥ３６０１とに、ＥＳＰを介してセキュア化されるべきフローを指定する（たとえば、ＣＥ３５０は、ＩＰアドレスとトランスポートプロトコルの種類とポート番号とを含む５タプルを介して、セキュリティゲートウェイＦＥ３６０２に入るフローに関連するパケットを指定し得、さらに、ＣＥ３５０は、ＥＳＰヘッダの中に含まれるＳＰＩパラメータを介してＦＥ３６０１に入るフローを指定し得る）。ＣＥ３５０は、セキュリティゲートウェイＦＥ３６０２とセキュリティゲートウェイＦＥ３６０１とに、フローに関連し、（ＦＥ３６０２による）ＥＳＰカプセル化と（ＦＥ３６０１による）ＥＳＰ非カプセル化とのために使用される、キーイング材料と、暗号化アルゴリズムと、認証アルゴリズムとを指定する。セキュリティゲートウェイＦＥ３６０２は、データフローのＩＰパケットを識別し、ＩＰパケットを、ＵＤＰを使用してカプセル化してＵＤＰパケット（ＵＤＰトンネル）を形成し、ＵＤＰパケットを、ＥＳＰを使用してさらにカプセル化して、このデータフローに関連する、適切なキーイング材料と暗号化アルゴリズムと認証アルゴリズムとを使用して、（ＵＤＰトンネルがＥＳＰトンネル内のトンネルであるように）ＥＳＰパケットを形成し、（ＣＥ３５０の制御のもとでないさらなるＩＰカプセル化を使用して）ＥＳＰパケットをセキュリティゲートウェイＦＥ３６０１に伝搬する。セキュリティゲートウェイＦＥ３６０１は、ＥＳＰパケットをセキュリティゲートウェイＦＥ１６０２から受信し、データフローのＥＳＰパケットを識別し、ＥＳＰパケットを、このデータフローに関連する、適切なキーイング材料と、暗号化アルゴリズムと、認証アルゴリズムとを使用して非カプセル化して、ＵＤＰパケットを取り戻し、ＵＤＰパケットを非カプセル化してＩＰパケットを取り戻す。他の関連アクションが実行されるが、そのようなアクションはＣＥ３５０の制御のもとでないため、そのようなアクションの説明は省略されることが理解される。当業者が、ＥＳＰカプセル化のためのトラフック選択の他の方法（たとえば、ＲＦＣ４３０１で説明されるようなものなど）を識別し得るということが理解される。当業者が、ＣＥ３５０と、セキュリティゲートウェイＦＥ３６０２およびＦＥ３６０１との間のセキュリティ関連性を転送する他の方法（たとえば、ＲＦＣ４３０１で説明されるようなものなど）を識別し得るということが理解される。所与のデータフローに対して上流方向では、ＣＥ３５０、セキュリティゲートウェイＦＥ３６０１、およびセキュリティゲートウェイＦＥ３６０２は、上流方向におけるパケットのトンネリングをサポートするための相補的機能を実行するように構成され得るということが理解される。
【０１０９】
本明細書で説明される通り、ソフトウェアで定義されたネットワークオーバーレイの機能の実施形態は、また、様々な種類のオーバーレイネットワークにおける様々な種類のトンネリングに適用可能であり得る。少なくともいくつかの他の種類のオーバーレイネットワークでは、トンネリングアクションは、（たとえば、ＩＰと、ＵＤＰと、ＧＴＰとのうちの１つまたは複数の代わりの、またはそれらに加えて）１つまたは複数の種類のプロトコルに対して、（たとえば、ユーザデータフローの代わりに、またはそれに加えて）１つまたは複数の他のトラフィックの種類に対してなどに実行され得る。オーバーレイネットワークを提供するために使用され得るプロトコルの例は、ＩＰｖ４、ＩＰｖ６、ＩＰｖ６拡張ヘッダ、ＧＲＥ、ＧＴＰ、ＵＤＰ、ＴＣＰ、ＳＣＴＰ、ＤＣＣＰ、ＥＳＰ、ＡＨなどを含む。したがって、本明細書中の、特定のトンネリングアクションと特定のトラフィック種類とへの様々な参照（およびＬＴＥ  ＥＰＣネットワーク、ＶＰＮなどへの特定の言及）は、ソフトウェアで定義されたネットワークオーバーレイの機能の実施形態が適用され得る、適切な種類のオーバーレイネットワークを包含するために、より一般的に説明され得る。たとえば、ＩＰプロトコルと、ＵＤＰプロトコルと、ＧＴＰプロトコルと、ＥＳＰプロトコルとへの特定の言及は、オープンシステムインターコネクション（ＯＳＩ）モデルのネットワーク層またはトランスポート層における通信プロトコルのいずれも含むものとして、より一般的に読まれてよく、したがって、本明細書では、より一般的に「ネットワーク層プロトコル」または「トランスポート層プロトコル」と呼ばれてよい。たとえば、本明細書中の、ＥＳＰベアラと他の種類のユーザデータフローへの特定の言及は、本明細書では、より一般的に、「データフロー」と呼ばれてよい。他の関連用語もまた、必要に応じて、より一般的に読まれてよい。（たとえば、適切な種類のオーバーレイネットワークを表わしている）より一般的なソフトウェアで定義されたオーバーレイネットワークにおけるＣＥとＦＥとのアクションは、図４と図５とをそれぞれ参照することによってより良く理解され得る。
【０１１０】
図４は、転送要素をソフトウェアで定義されたオーバーレイネットワークの中で構成するために、制御要素によって使用される方法の一実施形態を示している。図４で示される通り、方法４００のステップの一部は制御要素（ＣＥ）によって実行され、方法４００のステップの一部は転送要素（ＦＥ）によって実行される。連続的に実行されるものとして示され、説明されるが、方法４００のステップの少なくとも一部は、同時に、または図４に対して示され、説明されるものとは異なる順番で実行されてよいことが理解される。
【０１１１】
ステップ４１０で方法４００が開始する。
【０１１２】
ステップ４２０で、ＣＥは、データフローに関連する情報を受信する。情報は、データフローに対して１つまたは複数のトンネリングアクションを実行するようにＦＥに指示するように、ＣＥをトリガする際に使用するために適切な情報を含むことができる（それは、データフローのためのＦＥを識別することと、データフローのためのデータフロー定義を決定することと、データフローに対して実行される１つまたは複数のトンネリングアクションを決定することとのうちの１つまたは複数において使用するために適切な情報を含むことができる）。データフローに関連する情報は、１つまたは複数のアプリケーションについてのアプリケーション関連情報を含むことができる。たとえば、次の通り３つの層：アプリケーション→ネットワークＯＳ→転送インフラストラクチャを含むＳＤＮでは、ＦＥは転送インフラストラクチャの一部として実装され得、ＣＥはネットワークＯＳ層の一部として実装され得、アプリケーションは、（ＣＥがデータフローに関連する情報を、それを介して受信する）ＣＥへのインターフェース（たとえば、ＣＥの実装に依存し得る、ネットワークインターフェース、内部通信インターフェースなど）を使用して実装され得る。
【０１１３】
ステップ４３０で、ＣＥはデータフローのためのＦＥを識別する。データフローのためのＦＥの識別は、データフローに関連する受信情報の少なくとも一部に基づくことができる。データフローのためのＦＥの識別は、データフローのための１つまたは複数のトンネルの、１つまたは複数のトンネル端部の識別を含むことができる。
【０１１４】
ステップ４４０で、ＣＥは、データフローのためのデータフロー定義を決定する。データフローのためのデータフロー定義の決定は、データフローに関連する受信情報の少なくとも一部に基づくことができる。データフローのためのデータフロー定義は、１つまたは複数のプロトコルの１つまたは複数のプロトコルヘッダフィールドに基づくことができる。
【０１１５】
ステップ４５０で、ＣＥは、ＦＥによってデータフローに対して実行される、１つまたは複数のトンネリングアクション（たとえば、カプセル化アクション、非カプセル化アクションなど）を決定する。データフローに対して実行される、１つまたは複数のトンネリングアクションの決定は、データフローに関連する受信情報の少なくとも一部に基づくことができる。
【０１１６】
ステップ４６０で、ＣＥは、データフロー定義と１つまたは複数のトンネリングアクションとをＦＥに伝搬する。データフロー定義と１つまたは複数のトンネリングアクションとのＦＥへの伝搬は、ＣＥによる、データフロー定義と１つまたは複数のトンネリングアクションとの伝搬の開始を含む（そして、ＦＥによる、データフロー定義と１つまたは複数のトンネリングアクションとの受信を必ずしも含まない）。
【０１１７】
ステップ４７０で、ＦＥは、データフロー定義と１つまたは複数のトンネリングアクションとをＣＥから受信する。ＦＥにおけるデータフロー定義と１つまたは複数のトンネリングアクションとの受信は、ＣＥによるＦＥへの、データフロー定義と１つまたは複数のトンネリングアクションとの伝搬を必ずしも含まない。
【０１１８】
ステップ４８０で、ＦＥは、データフローのデータフロー定義と１つまたは複数のトンネリングアクションとを格納する。データフロー定義および１つまたは複数のトンネリングアクションは、１つまたは複数のトンネリングアクションがデータフロー定義にマッピングされるように（たとえば、ＦＥにおいて受信されたパケットがデータフロー定義によって指定されたデータフローに関連するという決定が、ＦＥによってデータフローのパケットに対して実行される１つまたは複数のトンネリングアクションを識別するための基礎として使用され得るように）格納される。
【０１１９】
ステップ４９０で、方法４００が終了する。
【０１２０】
図５は、ソフトウェアで定義されたオーバーレイネットワークの中でデータフローのパケットを処理するために、転送要素によって使用される方法の一実施形態を示している。連続的に実行されるものとして図示され、説明されるが、方法５００のステップの少なくとも一部は、同時に、または図５に対して示され、説明されるものとは異なる順番で実行され得るということが理解される。
【０１２１】
ステップ５１０で、方法５００が開始する。
【０１２２】
ステップ５２０で、パケットが受信される。パケットは、転送要素において受信される。パケットはデータフローに関連している。転送要素は、（たとえば、転送要素において関連制御要素から受信された、データフローのための制御情報に基づいた、）データフローのためのデータフロー定義の、データフローに対して実行される１つまたは複数のトンネリングアクションへのマッピングを含む。
【０１２３】
ステップ５３０で、パケットのデータフローは、パケット内に含まれる情報と、パケットのデータフローに関連するデータフロー定義とに基づいて識別される。データフローのためのデータフロー定義は、１つまたは複数のプロトコルの１つまたは複数のプロトコルヘッダフィールドに基づくことができる。データパケットのデータフローは、データパケットの（１つまたは複数のプロトコルの）１つまたは複数のヘッダフィールドの１つまたは複数の値の、転送要素にとってアクセス可能なデータフロー定義に関連する値との比較に基づいて識別され得る。
【０１２４】
ステップ５４０で、パケットに対して実行される１つまたは複数のトンネリングアクションは、データフロー定義の１つまたは複数のトンネリングアクションへのマッピングに基づいて識別される。１つまたは複数のトンネリングアクションは、１つまたは複数のカプセル化アクション、あるいは１つまたは複数の非カプセル化アクションを含む。
【０１２５】
ステップ５５０で、１つまたは複数のトンネリングアクションがパケットに対して実行される。
【０１２６】
ステップ５６０で、方法５００が終了する。
【０１２７】
本明細書では、特定の種類のＩＰベースのネットワーク（つまり、ＬＥＴ  ＥＰＣネットワーク、ＶＰＮなど）におけるソフトウェアで定義されたオーバーレイネットワークの使用に対して主に図示され、説明されたが、ソフトウェアで定義されたオーバーレイネットワークは、（無線ネットワークまたは有線ネットワークを含む）様々な他の種類のＩＰベースのネットワークで使用されてよいことが理解される。
【０１２８】
本明細書では、ソフトウェアで定義されたオーバーレイネットワークを提供するために、特定の種類のＳＤＮ制御プロトコル（つまり、ＯｐｅｎＦｌｏｗ）の使用に対して主に図示され、説明されたが、ソフトウェアで定義されたオーバーレイネットワークは、他の適切な種類のＳＤＮ制御プロトコル（たとえば、ＦＯＲＣＥＳプロトコル、プロプライエタリなＳＤＮ制御プロトコルなど）を使用して提供されてよいことが理解される。
【０１２９】
少なくともいくつかの実施形態では、ソフトウェアで定義されたオーバーレイネットワークは、コントロールプレーン機能およびユーザプレーン機能が独立して展開することを可能にし、それによって、コントロールプレーン機能およびユーザプレーン機能がそれらの特定の要件（たとえば、ＣＥのためのソフトウェアベースのソリューションおよびＦＥのためのハードウェアベースのソリューション）に最適化されることを可能にする。
【０１３０】
少なくともいくつかの実施形態では、ソフトウェアで定義されたオーバーレイネットワークは、様々なコントロールプレーン機能が処理オーバーヘッドとシグナリングオーバーヘッドとを削減するような方法で統合されるように構成された、集中制御を利用することができる。
【０１３１】
少なくともいくつかの実施形態では、ソフトウェアで定義されたオーバーレイネットワークは、分散ルーティングプロトコルの必要性を除去する方法で構成された集中制御を利用することができ、それによって、（たとえば、ユーザの移動性の場合に）新しいルーティングの経路がすばやく更新されることで柔軟性を高める。
【０１３２】
少なくともいくつかの実施形態では、ソフトウェアで定義されたオーバーレイネットワークは、オーバーレイノードのための転送要素が同じまたは同様の機能を実行することができるように実装され得、したがって、コストを下げる傾向を持つ方法で共有化され得る。
【０１３３】
少なくともいくつかの実施形態では、ソフトウェアで定義されたオーバーレイネットワークは、追加のノード間プロトコルの必要性を減らし、または除去し、それによって、ネットワークの設計と、運用と、維持との複雑さを軽減する。
【０１３４】
少なくともいくつかの実施形態では、ソフトウェアで定義されたオーバーレイネットワークは、通常、時間と共に発展する特性要件と標準という結果となる、特殊ノードとノード間プロトコルとの導入の影響を軽減する。
【０１３５】
少なくともいくつかの実施形態では、ソフトウェアで定義されたオーバーレイネットワークは、特性要件と標準とが時間と共に発展するにつれて、より高い性能（例えばより高いスループット）に対する継続的な要求を満たすための特殊ハードウェアの導入の影響を軽減し、それによって、運用費用を削減する。
【０１３６】
少なくともいくつかの実施形態では、ソフトウェアで定義されたオーバーレイネットワークは、ノードの特殊化を通じて持ち込まれることが多い、フォーワーディングプレーンにおける単一障害点を減らし、それによって頑強性を向上させる。
【０１３７】
少なくともいくつかの実施形態では、ソフトウェアで定義されたオーバーレイネットワークは、ネットワークトポロジーおよび古くからの問題よりはむしろ、運用上の配慮に基づいた、ノードへの機能の割り当てを可能にし、それによって、性能低下なしに、または少なくとも軽減された性能低下で、特殊なハードウェアから汎用のハードウェアへの移行と、実行される機能の仮想化とを可能にする。
【０１３８】
少なくともいくつかの実施形態では、ソフトウェアで定義されたオーバーレイネットワークは、（たとえば、コントロールプレーンとユーザプレーンとの各負荷目標と性能目標とに基づいて、）コントロールプレーンの資源プロビジョニングおよびユーザプレーンの資源プロビジョニングが、独立して実行されることを可能にする。
【０１３９】
少なくともいくつかの実施形態では、ソフトウェアで定義されたオーバーレイネットワークは、移動性ネットワークが、より費用効率の高い方法で実現され、運用されることを可能にする。
【０１４０】
少なくともいくつかの実施形態では、ソフトウェアで定義されたオーバーレイネットワークは、異なる種類の通信事業者に対して互換性のないソリューションになる傾向にある、事業者固有のオーバーレイソリューションの限定的調整なしに、異なる種類の通信事業者（たとえば、有線事業者および携帯電話事業者）の要求を満足することができる、包括的なオーバーレイソリューションを提供する。
【０１４１】
少なくともいくつかの実施形態では、ソフトウェアで定義されたオーバーレイネットワークは、様々な種類の通信ネットワークのためにより効率的でコストの低いソリューションを提供し、ソフトウェアで定義されたオーバーレイネットワークの様々な機能と関連する利益とが無線ネットワークと有線ネットワークとに適用されるため、ソフトウェアで定義されたオーバーレイネットワークは、本当の無線と有線との集束を可能にし得る。
【０１４２】
図６は、本明細書で説明された機能を実行する際の使用のために適切なコンピュータの上位ブロック図を示している。
【０１４３】
コンピュータ６００は、プロセッサ６０２（たとえば、中央処理装置（ＣＰＵ）または他の適切なプロセッサ）と、メモリ６０４（たとえば、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）など）とを含む。
【０１４４】
コンピュータ６００は、また、協力モジュール／プロセス６０５を含むことができる。協力プロセス６０５は、メモリ６０４にロードされ得、プロセッサ６０２によって実行されて本明細書で述べられた機能を実装し得、したがって、（関連データ構造を含む）協力プロセス６０５は、コンピュータ可読記憶媒体、たとえば、ＲＡＭメモリ、磁気または光学式ドライブまたはディスケットなどに記憶され得る。
【０１４５】
コンピュータ６００は、また、１つまたは複数の入力／出力デバイス６０６（たとえば、（キーボード、キーパッド、マウスなどの）ユーザ入力デバイス）と、（ディスプレイ、スピーカーなどの）ユーザ出力デバイスと、入力ポートと、出力ポートと、受信部と、送信部と、１つまたは複数の記憶デバイス（たとえば、テープドライブ、フロッピー（登録商標）ドライブ、ハードディスクドライブ、コンパクトディスクドライブなど）などと、様々なそれらの組合せとを含むことができる。
【０１４６】
図６に示されるコンピュータ６００が、本明細書で説明される機能要素、または本明細書で説明される機能要素の一部を実装するために適切な、一般的なアーキテクチャと機能性とを提供することが理解される。たとえば、コンピュータ６００は、Ｅ−ＵＴＲＡＮ１１０の１つまたは複数の要素、ＭＭＥ１２０の全部または一部、ＨＳＳ１３０の全部または一部、ＰＣＲＦ１４０の全部または一部、ＣＥ１５０の全部または一部、ＦＥ１６０の全部または一部、通信ネットワーク１７０の１つまたは複数の要素、ＵＥ２０１の全部または一部、サーバ２７１の全部または一部、第１のホスト３０１の全部または一部、ＣＥ３５０の全部または一部、セキュリティゲートウェイ３６０１の全部または一部、セキュリティゲートウェイ３６０２の全部または一部、ネイティブＩＰルータ３６１の全部または一部、第２のホスト３７１の全部または一部などの１つまたは複数を実装するために適切な、一般的なアーキテクチャと機能性とを提供する。少なくともいくつかの実施形態では、制御要素（たとえば、ＣＥ１５０、ＣＥ３５０など）の機能の少なくとも一部は、制御要素の機能を実行するように構成された特殊用途プロセッサを提供するために、１つまたは複数の汎用プロセッサで実装され得る。
【０１４７】
本明細書で図示され、説明された機能が、ソフトウェアで（たとえば、特殊用途コンピュータを実装するために、（たとえば、１つまたは複数のプロセッサによる実行を介して）汎用コンピュータ上で実行するための、１つまたは複数のハードウェアプロセッサ上でのソフトウェアの実装を介して）実装され得、またはハードウェアで（たとえば、汎用コンピュータ、１つまたは複数の特定用途向け集積回路（ＡＳＩＣ）、および／または他のハードウェア均等物を使用して）実装され得ることが理解される。
【０１４８】
本明細書で述べられた方法のステップうちの少なくともいくつかが、ハードウェアの内部で、たとえば、方法の様々なステップを実行するためにプロセッサと協働する回路として実装され得るということが理解される。本明細書で説明された機能／要素の一部は、コンピュータプログラム製品として実装され得、コンピュータ命令は、コンピュータによって処理された時、本明細書で説明された方法または技法が起動され、そうでない場合は提供されるように、コンピュータの動作を適応させる。発明の方法を起動させるための命令は、固定媒体または取り外し可能媒体の中に記憶され、ブロードキャスト媒体または他の信号保持媒体のデータストリームを介して送信され、または命令に従って動作する計算デバイス内のメモリ内に記憶され得る。
【０１４９】
本明細書で使用される「または」という用語が、別に示されない限り（たとえば、「さもないと」または「または代替では」）、非排他的な「または」を指すことが理解される。
【０１５０】
様々な実施形態の態様は特許請求の範囲で明記される。様々な実施形態のそれらの態様および他の態様は、以下の番号が付けられた条項で明記される。
【０１５１】
１．  プロセッサと、プロセッサに通信可能に接続されたメモリと、
を備え、プロセッサが、
データフローのためのデータフロー定義を決定することであって、データフロー定義が１つまたは複数のプロトコルの１つまたは複数のプロトコルヘッダフィールドに基づき、１つまたは複数のプロトコルが、１つまたは複数のネットワーク層プロトコル、あるいは１つまたは複数のトランスポート層プロトコルを含む、データフロー定義を決定することと、
データフローに対して実行される１つまたは複数のトンネリングアクションを決定することであって、１つまたは複数のトンネリングアクションがカプセル化アクションまたは非カプセル化アクションの少なくとも一方を含む、トンネリングアクションを決定することと、
転送要素に向けて、データフロー定義と１つまたは複数のトンネリングアクションとについて示す制御情報を伝搬することと、
を行うように構成されている、装置。
【０１５２】
２．  プロセッサが、
データフローに関連する情報を受信することと、
データフローに関連する情報に基づいて、データフロー定義または１つもしくは複数のトンネリングアクションの少なくとも一方を決定することと、
を行うように構成されている、条項１に記載の装置。
【０１５３】
３．  プロセッサが、
制御情報が伝搬される転送要素を識別する
ように構成されている、条項１に記載の装置。
【０１５４】
４．  １つまたは複数のトンネリングアクションが、データフローのパケットをトンネルの中に移動させること、データフローのパケットをトンネル間で移動させること、またはデータフローのパケットをトンネルの外に移動させることのうちの少なくとも１つのために構成されている、条項１に記載の装置。
【０１５５】
５．  １つまたは複数のトンネリングアクションが、データフローのパケットをネイティブ転送インフラストラクチャからトンネルの中に移動させること、またはパケットをトンネルからネイティブ転送インフラストラクチャに移動させることのうちの少なくとも１つのために構成されている、条項１に記載の装置。
【０１５６】
６．  １つまたは複数のトンネリングアクションがカプセル化アクションを備え、制御情報が、データフローのパケットをカプセル化するために使用されるプロトコルについての指示と、データフローのパケットをカプセル化するために使用される少なくとも１つのプロトコルヘッダフィールドについての指示とを含む、条項１に記載の装置。
【０１５７】
７．  制御情報が、少なくとも１つのプロトコルヘッダフィールドについて設定される少なくとも１つのプロトコルヘッダフィールド値をさらに備える、条項６に記載の装置。
【０１５８】
８．  制御情報が、パケットチェックサムの計算が実行されるという指示、またはパケットのシーケンス番号がデータフローのパケットに追加されるという指示のうちの少なくとも１つをさらに備える、条項６に記載の装置。
【０１５９】
９．  １つまたは複数のトンネリングアクションが非カプセル化アクションを備え、制御情報が、データフローのパケットがそれから非カプセル化されるプロトコルについての指示を備える、条項１に記載の装置。
【０１６０】
１０．  制御情報が、パケットチェックサムの検証が実行されるという指示、またはパケットのシーケンス番号が検証されるという指示のうちの少なくとも１つをさらに備える、条項９に記載の装置。
【０１６１】
１１．  １つまたは複数のプロトコルがセキュリティプロトコルを含み、制御情報が、暗号化アクションまたは復号アクションの少なくとも一方に対するセキュリティ情報をさらに含む、条項１に記載の装置。
【０１６２】
１２．  プロセッサを、
データフローのためのデータフロー定義を決定することであって、データフロー定義が１つまたは複数のプロトコルの１つまたは複数のプロトコルヘッダフィールドに基づき、１つまたは複数のプロトコルが、１つまたは複数のネットワーク層プロトコル、あるいは１つまたは複数のトランスポート層プロトコルを含む、データフロー定義を決定することと、
データフローに対して実行される１つまたは複数のトンネリングアクションを決定することであって、１つまたは複数のトンネリングアクションがカプセル化アクションまたは非カプセル化アクションの少なくとも一方を含む、トンネリングアクションを決定することと、
転送要素に向けて、データフロー定義と１つまたは複数のトンネリングアクションとについて示す制御情報を伝搬することと、
のために使用すること、
を含む、方法。
【０１６３】
１３．  プロセッサと、プロセッサに通信可能に接続されたメモリと、
を備え、プロセッサが、
制御要素から、データフローのためのデータフロー定義と、データフローに対して実行される１つまたは複数のトンネリングアクションとを含む制御情報を受信することであって、データフロー定義が１つまたは複数のプロトコルの１つまたは複数のプロトコルヘッダフィールドに基づき、１つまたは複数のプロトコルが、１つまたは複数のネットワーク層プロトコル、あるいは１つまたは複数のトランスポート層プロトコルを含み、１つまたは複数のトンネリングアクションがカプセル化アクションまたは非カプセル化アクションの少なくとも一方を含む、制御情報を受信することと、
データフローのパケットを制御情報に基づいて処理することと、
を行うように構成されている、装置。
【０１６４】
１４．  プロセッサが、データフローのパケットを、制御情報に基づいて、
パケットが関連するデータフローを、パケット内に含まれる情報とデータフローのデータフロー定義とに基づいて識別することと、
データフローに対して実行される１つまたは複数のトンネリングアクションを、データフロー定義の、１つまたは複数のトンネリングアクションへのマッピングに基づいて識別することと、
１つまたは複数のトンネリングアクションをデータフローのパケットに対して実行することと、
によって処理するように構成されている、条項１３に記載の装置。
【０１６５】
１５．  １つまたは複数のトンネリングアクションが、データフローのパケットをトンネルの中に移動させること、データフローのパケットをトンネル間で移動させること、またはデータフローのパケットをトンネルの外に移動させることのうちの少なくとも１つのために構成されている、条項１３に記載の装置。
【０１６６】
１６．  １つまたは複数のトンネリングアクションが、データフローのパケットをネイティブ転送インフラストラクチャからトンネルの中に移動させること、またはパケットをトンネルからネイティブ転送インフラストラクチャに移動させることのうちの少なくとも１つのために構成されている、条項１３に記載の装置。
【０１６７】
１７．  １つまたは複数のトンネリングアクションがカプセル化アクションを備え、制御情報が、データフローのパケットをカプセル化するために使用されるプロトコルについての指示と、データフローのパケットをカプセル化するために使用される少なくとも１つのプロトコルヘッダフィールドについての指示とを含む、条項１３に記載の装置。
【０１６８】
１８．  制御情報が、少なくとも１つのプロトコルヘッダフィールドについて設定される、少なくとも１つのプロトコルヘッダフィールド値をさらに備える、条項１７に記載の装置。
【０１６９】
１９．  制御情報が、パケットチェックサムの計算が実行されるという指示、またはパケットのシーケンス番号がデータフローのパケットに追加されるという指示のうちの少なくとも１つをさらに備える、条項１７に記載の装置。
【０１７０】
２０．  １つまたは複数のトンネリングアクションが非カプセル化アクションを備え、制御情報が、データフローのパケットがそれから非カプセル化されるプロトコルについての指示を備える、条項１３に記載の装置。
【０１７１】
２１．  制御情報が、パケットチェックサムの検証が実行されるという指示、またはパケットのシーケンス番号が検証されるという指示のうちの少なくとも１つを備える、条項２０に記載の装置。
【０１７２】
２２．  １つまたは複数のプロトコルがセキュリティプロトコルを含み、１つまたは複数のトンネリングアクションが、暗号化アクションまたは復号アクションの少なくとも一方を含む、条項１３に記載の装置。
【０１７３】
２３．  プロセッサを、
制御要素から、データフローのためのデータフロー定義と、データフローに対して実行される１つまたは複数のトンネリングアクションとを含む制御情報を受信することであって、データフロー定義が１つまたは複数のプロトコルの１つまたは複数のプロトコルヘッダフィールドに基づき、１つまたは複数のプロトコルが、１つまたは複数のネットワーク層プロトコル、あるいは１つまたは複数のトランスポート層プロトコルを含み、１つまたは複数のトンネリングアクションが、カプセル化アクションまたは非カプセル化アクションの少なくとも一方を含む、制御情報を受信することと、
データフローのパケットを制御情報に基づいて処理することと、
のために使用すること、
を含む、方法。
【０１７４】
本明細書で示された内容を組み込んだ様々な実施形態が、本明細書で詳細に図示され、説明されたが、当業者が、これらの内容も組み込んだ、多くの他の変更された実施形態を容易に考案することができるということが理解される。
【図１】
2016504837.tif 000006
【図２】
2016504837.tif 000007
【図３】
2016504837.tif 000008
【図４】
2016504837.tif 000009
【図５】
2016504837.tif 000010
【図６】
2016504837.tif 000011
【国際調査報告】
2016504837.tif 000012
2016504837.tif 000013
2016504837.tif 000014