ネットワークルーティングのためのパケット分類

著者らは特許

H04L1 - 受信情報中の誤りを検出または防止するための配置

の所有者の特許 JP2016528809:

パロ・アルト・ネットワークス・インコーポレーテッドPalo Alto Networks Incorporated

 

【解決手段】ネットワークルーティングのためのパケット分類技術が開示されている。いくつかの実施形態において、ネットワークルーティングのためのパケット分類は、パケット転送を実行するネットワークデバイスから新しいフローに関連するパケットをセキュリティコントローラで受信し;フローを分類し;ポリシー(例えば、セキュリティポリシー)に基づいてフローに対する動作を決定することを含む。いくつかの実施形態において、ネットワークデバイスは、ソフトウェア定義ネットワーキング(SDN)ネットワークデバイス(例えば、OpenFlowプロトコルまたは別のプロトコルをサポートするパケット転送デバイス)である。
【選択図】図1

 

 

他の出願の相互参照
本願は、2013年7月18日出願の米国仮特許出願第61/847,982号(代理人整理番号PALOP055+)「PACKET CLASSIFICATION FOR NETWORK ROUTING」の優先権を主張し、仮特許出願は、すべての目的のために参照により本明細書に組み込まれる。
ファイアウォールは、一般に、不正アクセスからネットワークを保護しつつ、承認された通信がファイアウォールを通過することを許可する。ファイアウォールは、通例、ネットワークアクセスに対するファイアウォール機能を提供するデバイスまたはデバイスセットもしくはデバイス(コンピュータなど)上で実行されるソフトウェアである。例えば、ファイアウォールは、デバイス(例えば、コンピュータ、スマートフォン、または、その他のタイプのネットワーク通信可能なデバイス)のオペレーティングシステムに統合されうる。ファイアウォールは、コンピュータサーバ、ゲートウェイ、ネットワーク/ルーティングデバイス(例えば、ネットワークルータ)、または、データアプライアンス(例えば、セキュリティアプライアンスまたはその他のタイプの専用デバイス)上のソフトウェアに統合されてもよいし、かかるソフトウェアとして実行されてもよい。
ファイアウォールは、通例、1セットのルールに基づいてネットワーク伝送を拒否または許可する。これらのセットのルールは、しばしば、ポリシーと呼ばれる。例えば、ファイアウォールは、1セットのルールまたはポリシーを適用することによってインバウンドトラフィックをフィルタリングできる。ファイアウォールは、1セットのルールまたはポリシーを適用することによってアウトバウンドトラフィックをフィルタリングすることもできる。ファイアウォールは、基本的なルーティング機能を実行することもできる。
以下の詳細な説明と添付の図面において、本発明の様々な実施形態を開示する。
いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するためのネットワークアーキテクチャを示す機能図。
いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するためのネットワークアーキテクチャを示す別の機能図。
いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するためのセキュリティコントローラを示す機能図。
いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するためのセキュリティコントローラを示す別の機能図。
いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するためのセキュリティコントローラの様々な構成要素を示すブロック図。
いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するためのセキュリティコントローラの論理構成要素を示す機能図。
いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するために利用できるセキュリティコントローラのアーキテクチャを示す機能図。
いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するためのフローチャート。
いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するための別のフローチャート。
本発明は、処理、装置、システム、物質の組成、コンピュータ読み取り可能な格納媒体上に具現化されたコンピュータプログラム製品、および/または、プロセッサ(プロセッサに接続されたメモリに格納および/またはそのメモリによって提供される命令を実行するよう構成されたプロセッサ)を含め、様々な形態で実装されうる。本明細書では、これらの実装または本発明が取りうる任意の他の形態を、技術と呼ぶ。一般に、開示された処理の工程の順序は、本発明の範囲内で変更されてもよい。特に言及しない限り、タスクを実行するよう構成されるものとして記載されたプロセッサまたはメモリなどの構成要素は、ある時間にタスクを実行するよう一時的に構成された一般的な構成要素として、または、タスクを実行するよう製造された特定の構成要素として実装されてよい。本明細書では、「プロセッサ」という用語は、1または複数のデバイス、回路、および/または、コンピュータプログラム命令などのデータを処理するよう構成された処理コアを指すものとする。
以下では、本発明の原理を示す図面を参照しつつ、本発明の1または複数の実施形態の詳細な説明を行う。本発明は、かかる実施形態に関連して説明されているが、どの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定されるものであり、本発明は、多くの代替物、変形物、および、等価物を含む。以下の説明では、本発明の完全な理解を提供するために、多くの具体的な詳細事項が記載されている。これらの詳細事項は、例示を目的としたものであり、本発明は、これらの具体的な詳細事項の一部または全てがなくとも特許請求の範囲に従って実施可能である。簡単のために、本発明に関連する技術分野で周知の技術事項については、本発明が必要以上にわかりにくくならないように、詳細には説明していない。
ファイアウォールは、一般に、不正アクセスからネットワークを保護しつつ、承認された通信がファイアウォールを通過することを許可する。ファイアウォールは、通例、ネットワークアクセスに対するファイアウォール機能を提供するデバイス、デバイスセット、または、デバイス上で実行されるソフトウェアである。例えば、ファイアウォールは、デバイス(例えば、コンピュータ、スマートフォン、または、その他のタイプのネットワーク通信可能なデバイス)のオペレーティングシステムに統合されうる。また、ファイアウォールは、コンピュータサーバ、ゲートウェイ、ネットワーク/ルーティングデバイス(例えば、ネットワークルータ)、または、データアプライアンス(例えば、セキュリティアプライアンスまたはその他のタイプの専用デバイス)など様々なタイプのデバイスまたはセキュリティデバイス上のソフトウェアアプリケーションに統合されうる、もしくは、かかるソフトウェアアプリケーションとして実行されうる。
ファイアウォールは、通例、1セットのルールに基づいてネットワーク伝送を拒否または許可する。これらのセットのルールは、しばしば、ポリシー(例えば、ネットワークポリシーまたはネットワークセキュリティポリシー)と呼ばれる。例えば、ファイアウォールは、望ましくない外部のトラフィックが保護されたデバイスに到達するのを防ぐために、1セットのルールまたはポリシーを適用することによってインバウンドトラフィックをフィルタリングできる。また、ファイアウォールは、1セットのルールまたはポリシーを適用することによってアウトバウンドトラフィックをフィルタリングできる(例えば、許可、ブロック、監視、通知、または、記録、および/または、その他の動作を、ファイアウォールルールまたはファイアウォールポリシー内に記述できる。ルールまたはポリシーは、本明細書に記載したような様々な規準に基づいてトリガされうる)。
セキュリティデバイス(例えば、セキュリティアプライアンス、セキュリティゲートウェイ、セキュリティサービス、および/または、その他のセキュリティデバイス)は、様々なセキュリティ機能(例えば、ファイアウォール、マルウェア対策、侵入防止/検出、および/または、その他のセキュリティ機能)、ネットワーク機能(例えば、ルーティング、クオリティオブサービス(QoS)、ネットワーク関連リソースの負荷バランシング、および/または、その他のネットワーク機能)、ならびに/、もしくは、その他の機能を備えうる。例えば、ルーティング機能は、送信元情報(例えば、IPアドレスおよびポート)、宛先情報(例えば、IPアドレスおよびポート)、ならびに、プロトコル情報に基づきうる。
基本的なパケットフィルタリング・ファイアウォールは、ネットワークを介して伝送された個々のパケットを調べることによってネットワーク通信トラフィックをフィルタリングする(例えば、ステートレスパケットフィルタリング・ファイアウォールであるパケットフィルタリング・ファイアウォールまたは第1世代のファイアウォール)。ステートレスパケットフィルタリング・ファイアウォールは、通例、個々のパケット自体を調べ、調べたパケットに基づいて(例えば、パケットの送信元および宛先アドレス情報、プロトコル情報、ならびに、ポート番号の組み合わせを用いて)ルールを適用する。
また、アプリケーション・ファイアウォールは、アプリケーションレイヤフィルタリングを実行できる(例えば、TCP/IPスタックのアプリケーションレベルで機能するアプリケーションレイヤフィルタリング・ファイアウォールまたは第2世代のファイアウォール)。アプリケーションレイヤフィルタリング・ファイアウォールまたはアプリケーション・ファイアウォールは、一般に、特定のアプリケーションおよびプロトコルを識別できる(例えば、ハイパーテキストトランスファープロトコル(HTTP)、ドメインネームシステム(DNS)要求、ファイルトランスファープロトコル(FTP)を用いたファイル転送、ならびに、様々なその他のタイプのアプリケーションおよびその他のプロトコル(Telnet、DHCP、TCP、UDP、および、TFTP(GSS)など))。例えば、アプリケーション・ファイアウォールは、標準ポートで通信を試みる無許可プロトコルをブロックできる(例えば、プロトコルに非標準ポートを用いて忍び込もうとする無許可/ポリシー外のプロトコルが、一般に、アプリケーション・ファイアウォールを用いて識別されうる)。
また、ステートフル・ファイアウォールは、各パケットがネットワーク伝送のパケットのフロー/パケットフローに関連する一連のパケットのコンテキスト内で検査されるステートフルベースのパケット検査を実行できる(例えば、ステートフル・ファイアウォールまたは第3世代のファイアウォール)。このファイアウォール技術は、一般に、ファイアウォールを通過するすべての接続の記録を維持するのでステートフルパケット検査と呼ばれており、パケットが新しい接続の開始であるのか、既存の接続の一部であるのか、または、無効なパケットであるのかを判定できる。例えば、接続の状態自体が、ポリシー内のルールをトリガする基準の1つでありうる。
先進ファイアウォールすなわち次世代ファイアウォールは、上述のように、ステートレスおよびステートフルパケットフィルタリングとアプリケーションレイヤフィルタリングとを実行できる。また、次世代ファイアウォールは、さらなるファイアウォール技術を実行できる。例えば、先進ファイアウォールまたは次世代ファイアウォールとも呼ばれる特定の新しいファイアウォールは、ユーザおよびコンテンツの識別もできる(例えば、次世代ファイアウォール)。特に、特定の次世代ファイアウォールは、これらのファイアウォールが数千のアプリケーションを自動的に識別できるアプリケーションのリストを拡張している。かかる次世代ファイアウォールの例は、Palo Alto Networks社から市販されている(例えば、Palo Alto Networks社のPAシリーズ・ファイアウォール)。例えば、Palo Alto Networks社の次世代ファイアウォールは、企業が、以下のような様々な識別技術を用いて、ポート、IPアドレス、および、パケットだけでなく、アプリケーション、ユーザ、および、コンテンツを識別して制御することを可能にする:正確なアプリケーション識別のためのAPP−ID、ユーザ識別(例えば、ユーザまたはユーザグループ)のためのユーザID、および、リアルタイムのコンテンツスキャニング(例えば、ウェブサーフィンの制御、ならびに、データおよびファイル転送の制限)のためのコンテンツID。これらの識別技術により、企業が、従来のポート遮断ファイアウォールによって提供される従来のアプローチに従う代わりに、ビジネス関連概念を用いたアプリケーション利用を確実に実現することが可能になる。また、例えば専用アプライアンスとして実装された次世代ファイアウォールのための専用ハードウェアは、一般に、汎用ハードウェアで実行されるソフトウェアよりもアプリケーション検査のパフォーマンスレベルが高い(例えば、ネットワークスループットを最大化しつつ待ち時間を最小化するためにシングルパスソフトウェアエンジンと緊密に統合された専用の機能特異的な処理を用いるPalo Alto Networks社のセキュリティアプライアンスなど)。
先進ファイアウォール技術を含むかかるファイアウォール技術を実装できるセキュリティデバイス(例えば、ファイアウォールアプライアンス)は、通例、従来のネットワークアーキテクチャに統合される。しかしながら、新しいネットワークアーキテクチャが、企業、キャリヤ、および、エンドユーザの変化する要件を満たすように進化している。例えば、かかる新しいネットワーキングアプローチは、ソフトウェア定義ネットワーキング(SDN)アーキテクチャを用いる。オープン・ネットワーキング・ファウンデーション(ONF)が、SDNアーキテクチャのための様々な規格を定義してきた。
具体的には、ソフトウェア定義ネットワーキング(SDN)は、ネットワーク制御が転送(例えば、パケット転送機能)から切り離されて直接的にプログラム可能になった新たなネットワークアーキテクチャである。SDNアーキテクチャでは、制御プレーンおよびデータプレーンが切り離され、ネットワークインテリジェンスおよび状態情報が論理的に集中化され、基盤となるネットワークインフラがアプリケーションから抽象化される。ONFは、OpenFlow(商標)プロトコルと呼ばれる新たな標準プロトコルを定義した。OpenFlowプロトコルは、一般に、(例えば、OpenFlowプロトコルをサポートする複数ベンダのネットワークデバイスにわたって)ネットワークデバイスの制御プレーンおよびデータプレーンの間の通信を構造化するために利用できる。
より具体的には、OpenFlowは、SDNアーキテクチャの制御レイヤおよび転送レイヤの間に定義された標準通信インターフェースである(例えば、OpenFlowスイッチ仕様が、http://www.openflow.org/で入手可能である)。いくつかの実施例において、OpenFlowは、物理的および仮想的(例えば、ハイパーバイザベース)の両方のネットワークデバイス(例えば、スイッチ、ルータ、および/または、その他のネットワークデバイス)の転送プレーンに対する直接アクセスおよび操作をサポートする。
それにより、SDNアーキテクチャは、企業およびキャリヤが、新たなレベルのプログラム可能性、自動化、および、ネットワーク制御を持つことを可能にする。したがって、SDNアーキテクチャは、変化するビジネスニーズに効率的かつ動的に適応できる高スケーラブルかつ柔軟なネットワークを促しうる。
しかしながら、新たな柔軟性およびプログラム可能性を実現するかかる新しいネットワークアーキテクチャは、かかるネットワーク(例えば、制御プレーンおよびデータプレーンを切り離すSDNネットワークおよび/またはその他のネットワークアーキテクチャ)のセキュリティを確保する新たなアプローチを必要とする。例えば、かかる動的ネットワークアーキテクチャの進化(例えば、企業内の異なるネットワークデバイスの間のフローをプログラム可能にする進化)は、各フローがセキュリティポリシーを強化するためのセキュリティデバイス(既存のインラインファイアウォールアプライアンスなど)を通過しなければならないことを保証しない。
そのため、ネットワークルーティングのための新たなパケット分類技術が必要である。したがって、ネットワークルーティングのためのパケット分類技術を開示する。例えば、SDNネットワーク(例えば、制御プレーンおよびデータプレーンを切り離すSDNネットワークおよび/またはその他のネットワークアーキテクチャ)のセキュリティ確保に適用できるネットワークルーティングのための様々なパケット分類技術が開示されている。
いくつかの実施形態において、ネットワークルーティングのためのパケット分類は、パケット転送を実行するネットワークデバイスから新しいフローに関連するパケットをセキュリティコントローラで受信し;フローを分類し;ポリシー(例えば、セキュリティポリシー)に基づいてフローに対する動作を決定することを含む。いくつかの実施形態において、ネットワークデバイスは、ソフトウェア定義ネットワーキング(SDN)ネットワークデバイス(例えば、OpenFlowプロトコルまたは別のプロトコルをサポートするパケット転送デバイス)である。
いくつかの実施形態において、ネットワークルーティングのためのパケット分類は、さらに、(例えば、APIメカニズムおよび/またはタグ付けメカニズムを用いて)フローに対する動作を実行するようネットワークデバイスに命令することを含む。動作の例は、以下の動作を含みうる:フローをドロップする;フローを無視する;および、フローを分流する(shunt)(例えば、さらなる解析および分類のためにセキュリティコントローラへパケットを送り続けるようセキュリティデバイスに命令する)。
例えば、SDNネットワーク(例えば、制御プレーンおよびデータプレーンを切り離すSDNネットワークおよび/またはその他のネットワークアーキテクチャ)は、エンドユーザによる様々なタイプの携帯デバイスの利用の増加(例えば、任意のデバイスから任意のデバイスへの任意の場所からの通信要件の増加)、様々なプライベートおよびパブリッククラウドサービスの利用の増加、および/または、(例えば、並列処理などの目的で、多くのサーバにわたる非常に多くのデータセットの移動をサポートするために)より広い帯域幅要件を必要とするビッグデータの発展から生じたものなど、様々な変化するネットワークパターンに用いられるより柔軟および動的なネットワークアーキテクチャを提供するために利用できる。これらの傾向も、かかるネットワークを配備する企業および/またはサービスプロバイダに対する重大なセキュリティの難題を生む。
したがって、かかるSDNネットワーク(制御プレーンおよびデータプレーンを切り離すSDNネットワークおよび/またはその他のネットワークアーキテクチャ)のセキュリティを確保すると共に、セキュリティを確保された効率的かつスケーラブルなネットワークソリューションを維持しつつ、このように増大するネットワークアーキテクチャの複雑さの中で一貫したセキュリティポリシーを維持する際に、セキュリティを容易にするために利用できるネットワークルーティングのための様々なパケット分類の技術が本明細書に記載されている。例えば、パケットがネットワーキングデバイスによって宛先へより効率的にダイレクトされることを可能にするパケット分類情報を提供しつつ、ネットワーキングデバイスに対する影響が最小限になるように、効率的にネットワークフローを分類するセキュリティコントローラ(例えば、分類デバイスまたは分類エンジン)を提供できる。
いくつかの実施形態において、ネットワークルーティングのためのパケット分類を提供する様々な技術は、各新しいフローの分類を提供するために、ネットワークデバイスが新しいフローを識別して、各新しいフローに関連するパケットを解析するセキュリティコントローラ(例えば、分類デバイスまたは分類エンジン)に識別した新しいフローを送信し、次いで、セキュリティコントローラが、分類および決定に基づいてネットワークデバイスに命令して、各新しいフローの処理時に動作(例えば、無視、ドロップ、さらなるセキュリティ解析/分類のための分流、および/または、その他の動作)を実行させるネットワークアーキテクチャに実装されうる。オープンフローを可能にするSDNアーキテクチャで生じる特定の問題は、かかるネットワークフローがどこでもスイッチングまたはルーティングされうる(例えば、所与のフローが典型的なネットワークワークアーキテクチャにインラインで配置されるセキュリティアプライアンス/ゲートウェイまたはその他のセキュリティデバイスを通過しなければならないという保証がない)ために、各新しいフローが(例えば、セキュリティポリシーの順守について)適切に検査されることを保証するためのメカニズムが必要になることである。かかるネットワーク環境におけるネットワークルーティングのためのパケット分類を提供する様々な技術について、以下で詳述する。
図1は、いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するためのネットワークアーキテクチャを示す機能図である。図に示すように、クライアントデバイスまたはサーバデバイス102は、SDNネットワークデバイス104(例えば、スイッチ、ルータ、および/または、別のタイプのネットワークデバイスなどのSDN準拠/対応のネットワークデバイスであり、物理ネットワークデバイスおよび/または仮想ネットワークデバイス(ハイパーバイザベースなど)でありうる)を介してクライアントデバイスまたはサーバデバイス108と通信する。また、図に示すように、SDNネットワークデバイス104と通信するセキュリティコントローラ106が提供されている。いくつかの実施形態において、セキュリティコントローラ106は、複数の異なるSDNネットワークデバイスと通信する。
特に、図1は、いくつかの実施形態に従って、SDNアーキテクチャの簡単な論理図を示す。例えば、セキュリティインテリジェンスが、ソフトウェアベースのSDNコントローラ(例えば、セキュリティコントローラ106)内に論理的に集中化されてよく、ネットワークのグローバルな視野を維持すると共に、セキュリティポリシーがSDNネットワーク全体に一貫して実装されることを保証できる。別の例として、複数の異なるSDNネットワークデバイスが、クライアントデバイスまたはサーバデバイス102とクライアントデバイスまたはサーバデバイス108との間でパケットを転送するために用いられてもよい。いくつかの実施形態において、セキュリティコントローラ106は、クラウドセキュリティサービスを用いて実装されており、様々な実施形態に関して本明細書に記載した様々な技術を用いて、パケットが(例えば、インターネットなどのパブリックネットワークで安全な通信を提供できる安全なプロトコル(OpenFlowプロトコルまたは別の安全なプロトコルなど)を用いて)(新しい)フローの分類のためにSDNネットワークデバイスから伝えられうる。
いくつかの実施形態において、セキュリティコントローラ106は、SDNアーキテクチャ内にSDNネットワークデバイス(例えば、SDNネットワークデバイス104)の副コントローラとして提供されており、主コントローラが、SDNネットワークデバイスのための主な論理制御を提供する(例えば、基本的な切り替えおよびルーティングの論理機能を提供する)ために設けられる。いくつかの実施例において、セキュリティコントローラ106は、SDNアーキテクチャ内にSDNネットワークデバイス(例えば、SDNネットワークデバイス104)の副コントローラとして提供されており、副コントローラは、主コントローラと統合されてよい、および/または、主コントローラのためのエンジンも実行するデバイス上に別個のエンジンとして実装されてよい(例えば、デバイスのプロセッサ上で実行されるソフトウェアに実装される、FPGAまたはその他のハードウェア実装などハードウェアに実装される、および/または、ソフトウェアおよびハードウェアの組み合わせを用いて実装される)。いくつかの実施例において、セキュリティコントローラ106は、SDNアーキテクチャ内にSDNネットワークデバイス(例えば、SDNネットワークデバイス104)の副コントローラとして提供されており、副コントローラは、副コントローラのためのエンジンを実行する第2のデバイス上に提供されてよく、第1のデバイスは、主コントローラのためのエンジンを実行する。いくつかの実施例において、副コントローラおよび/または主コントローラは、デバイス(例えば、アプライアンス、サーバ、および/または、その他のコンピュータデバイス)上で実行されるソフトウェアに実装、デバイスのハードウェアに実装、および/または、それらの組み合わせで実装されてよい。
いくつかの実施形態において、SDNネットワークデバイス104(スイッチまたはルータなど(例えば、L2ネットワークデバイス、L3ネットワークデバイス、または、L2/L3/L7デバイス))は、フローのパケットをセキュリティコントローラ106に渡す。いくつかの実施形態において、セキュリティコントローラ106は、様々なパケット分類技術(例えば、アプリケーション識別(APP−ID)、ユーザ識別(USER−ID)、ならびに/もしくは、その他のファイアウォールおよび/または先進ファイアウォールに関連する分類技術および本明細書に記載したようなステートベースのフロー分類技術)を実行できる。
いくつかの実施形態において、SDNネットワークデバイス104のネットワーキングデバイスは、様々な実施形態に関して本明細書で詳述するように、パケット内の分類を用いて、より効率的にパケットをダイレクトする(例えば、どのようにパケットをスイッチング/ルーティングするか、パケットをドロップするか否か、および/または、何らかの他の動作を実行する)。いくつかの実施形態において、セキュリティコントローラ106は、様々な実施形態に関して本明細書で詳述するように、SDNネットワークデバイス104にパケットを返す前に、(例えば、本明細書に記載したような、パケットをタグ付けするタグ付けメカニズムを用いて)、新しいフローのパケットを分類し、パケットを分類と関連付ける。いくつかの実施形態において、セキュリティコントローラ106は、様々な実施形態に関して本明細書で詳述するように、新しいフローのパケットを分類し、APIメカニズムを用いた分類に基づいて、フローを処理する方法についてSDNネットワークデバイス104に指示する。例えば、所与のフローのパケットを分類することがもはや必要ない(例えば、フローのさらなる分類が生じないかまたは生じる可能性が低い)と、分類デバイスが判定すれば、メッセージ(例えば、動作無視命令)がSDNネットワークデバイスに送信されて、特定のフローのパケットがもはや分類デバイスに送信される必要がないことを通知しうる。
いくつかの実施例において、SDNネットワークデバイスおよび主コントローラは、例えば、Arista Networks社、Cisco Systems社、および/または、その他の商業ネットワーキングベンダからの市販のソリューションによって提供されうる。いくつかの実施例において、SDNネットワークデバイスおよび主コントローラは、独占の仮想スイッチおよび/またはOpenvSwich(例えば、 http://openvswitch.orgで入手可能)によって提供されるようなオープンソースの仮想スイッチなど、仮想スイッチ(例えば、ソフトウェアベースのスイッチ)によって提供されうる。いくつかの実施例において、セキュリティコントローラ106は、様々な次世代ファイアウォール(NGFW)ソリューションを提供する商業セキュリティベンダ(Palo Alto Networks社など)によって提供される。例えば、Arista Networks社のSDNネットワークデバイスは、新しいフローを認識して、その新しいフローをPalo Alto Networks社のセキュリティコントローラ(例えば、フローを分類し、分類したフローに基づいてポリシーを適用して、セキュリティポリシーに基づいてかかるフローを扱う方法についてSDNネットワークに指示することができるセキュリティアプライアンスおよび/またはセキュリティエンジン)に送信する。特に、Palo Alto Networks社のセキュリティコントローラは、フローを分類し、分類したフローを処理する方法に関する決定を行うことができる(例えば、そのフローの残りについてすべてのパケットをドロップするために、5タプルに基づいたACLに基づくなどして、ドロップを行う;フローがさらに検査されるべきであるとポリシーが示唆する場合などに、分流を行い、その場合に、セキュリティコントローラは、そのフローについてトラフィックのすべてを監視するためにインラインに効果的に配置されうる;または、ポリシーがそのフローだけを放置する、すなわち、ドロップもさらなる検査も行わないと示唆する場合などに、無視する)。
例えば、NGFWソリューションが、セキュリティコントローラ106として提供されうる。SDNネットワークデバイス104は、検査のためにセキュリティコントローラ106(例えば、最初の分類のために各新しいフローの所定の最少数のパケットを検査するよう構成されうる)にすべての新しいフローを送信できる。一部の例において、NGFWソリューションは、SDNネットワークデバイス104上のハードウェアに実装されてよい。SDNネットワークデバイス104は、新しいフローを受信し、(例えば、セキュリティポリシーなどのポリシーに基づいた)分類および解析のためにセキュリティコントローラ106に所定の数のパケットを転送し、SDNネットワークデバイス104は、(例えば、オープンフローまたはAPIを介して)セキュリティコントローラからの応答を待つか、または、ハードウェア(例えば、ファストパス)にフローを導入することができる。評価が動作(例えば、ドロップ)と共にセキュリティコントローラから返されると、SDNネットワークデバイスは、適切なルール(例えば、アクセス制御リスト(ACL))を作成し、対応するトラフィックをドロップする。特に、セキュリティコントローラ106は、以下の動作についてフローを分類できる:ドロップ、分流、無視。前の2つの動作(すなわち、ドロップまたは分流)について、セキュリティコントローラ106は、例えば、OpenFlowまたは直接API通信を介して、SDNネットワークデバイス104に動作を実行するよう命令できる。分流の場合、そのフローからの全トラフィックが、検査継続のためにセキュリティコントローラ106にダイレクトされる(例えば、セキュリティコントローラは、分流されたフローのためにインラインに効果的に配置される)。無視は、特定のフローがSDNネットワークデバイス104の転送テーブルにすでに導入されているので、信号伝達を必要としない。
いくつかの実施形態において、セキュリティコントローラ106は、様々なレイヤ−2、レイヤ−3、および、アプリケーションIDエンジン、ユーザIDエンジンのようにより高いレイヤの分類エンジンなど、様々な分類機能を備える、および/または、例えば、コンピュータハードウェア、ソフトウェア、または、それらの様々な組み合わせを用いて実装できる様々なその他のファイヤーウォールベースの分類および先進ファイアウォール分類技術(本明細書に記載したものなど)を実行できる。
図2に関して以下で詳述するように、セキュリティコントローラによって実行される分類は、ネットワーキングデバイス内の別個のデバイスとして、仮想マシンとして、および/または、様々なその他の技術を用いて実装されうる。
図2は、いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するためのネットワークアーキテクチャを示す別の機能図である。図に示すように、クライアントデバイスまたはサーバデバイス202は、SDNネットワークデバイス204(例えば、スイッチ、ルータ、および/または、別のタイプのネットワークデバイスなどのSDN準拠/対応のネットワークデバイスであり、物理ネットワークデバイスおよび/または仮想ネットワークデバイス(ハイパーバイザベースなど)でありうる)を介してクライアントデバイスまたはサーバデバイス208と通信する。また、図に示すように、SDNネットワークデバイス204に統合されたセキュリティコントローラ206が提供されている。例えば、セキュリティコントローラ206は、SDNネットワークデバイス204上のハードウェアに実装されてよい。別の例として、セキュリティコントローラ206は、SDNネットワークデバイス204上のプロセッサ上で実行されるソフトウェアに実装されてもよい。いくつかの実施例において、セキュリティコントローラ206は、図に示すように、SDNネットワークデバイス204の制御レイヤに実装される。
ここで明らかになるように、別個のセキュリティコントローラデバイス、SDNネットワークデバイスに統合された部分として、ハードウェアとして、物理デバイス、仮想ネットワークデバイス(ハイパーバイザベースなど)上で実行されるソフトウェアベースソリューションとして、および/または、セキュリティクラウドサービスとして実装されたセキュリティコントローラデバイスとして実装できるセキュリティコントローラによって、本明細書に記載の機能の一部または全部が、支援されうる、もしくは、全体的または部分的に実施されうる。セキュリティクラウドサービスは、例えば、SDNネットワークデバイス上の処理を削減できる。別の例として、セキュリティポリシーの侵害および/または脆弱性の検出を、セキュリティクラウドサービスに報告できる。
図3は、いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するためのセキュリティコントローラを示す機能図である。図に示すように、SDNネットワークデバイス304(例えば、スイッチ、ルータ、および/または、別のタイプのネットワークデバイスなどのSDN準拠/対応のネットワークデバイスであり、物理ネットワークデバイスおよび/または仮想ネットワークデバイス(ハイパーバイザベースなど)でありうる)が、セキュリティコントローラ306と通信する。この実施形態において、セキュリティコントローラ306は、SDNネットワークデバイス304と統合されたものとして図示されている。例えば、セキュリティコントローラ306は、SDNネットワークデバイス304上のハードウェアに実装されてよい。別の例として、セキュリティコントローラ306は、SDNネットワークデバイス304上で実行されるソフトウェアに実装されてもよい(または、ハードウェアおよびソフトウェアの組み合わせを用いて実装されてもよい)。いくつかの実施例では、セキュリティコントローラ306が、デバイス内に実装され、別個の異なるデバイスが、主コントローラを実装する(例えば、主コントローラは、SDNネットワークデバイス304に伝えられうる基本的なスイッチングおよびルーティングの論理機能を提供するためなど、SDNネットワークデバイスに主な論理制御を提供するために設けられる)。
いくつかの実施形態では、OpenFlowプロトコルなどのプロトコルが、ネットワークインフラデバイス(例えば、SDNネットワークデバイス)とSDN制御ソフトウェア(例えば、セキュリティコントローラ)との間のインターフェースの両側に実装される。いくつかの実施形態において、OpenFlow技術を用いて識別されたフローは、ネットワークルーティングのためのパケット分類を提供するために、セキュリティコントローラ(例えば、セキュリティコントローラ306)によって利用されうる。例えば、OpenFlowは、SDN制御ソフトウェアによって静的または動的にプログラムできる事前定義された一致ルールに基づいて、フローの概念を用いてネットワークトラフィックを識別する。セキュリティポリシーなどのポリシーは、トラフィックが、パラメータ(アプリケーション、ユーザ、デバイス、クラウドリソース、マルウェア関連情報、送信元/宛先情報、デバイス情報、および/または、その他の情報など)に基づいてネットワークデバイスを通してどのように流れるべきかを決定するよう構成されうる。したがって、OpenFlowは、フローごとにネットワークをプログラムするために利用可能であり、アプリケーション、ユーザ、および、セッションレベルでリアルタイムの変化に対応するために、ネットワークでのきめ細かい制御を提供する。
例えば、セキュリティコントローラ(例えば、セキュリティコントローラ306)は、データプレーン(例えば、SDNネットワークデバイス304)から転送されたフローを解析し、ポリシー(例えば、セキュリティポリシー)に基づいてかかるフローを扱う方法を決定し、ネットワークデバイス(例えば、SDNネットワークデバイス304)の転送プレーンの操作のために(例えば、動作に基づいて)命令を提供できる。当業者にとって明らかなように、かかるOpenFlowベースのSDN技術は、既存のネットワーク(物理的および仮想的の両方)上に配備できる。また、明らかなように、かかるネットワークデバイスは、OpenFlowベースの転送も従来の転送もサポートでき、複数ベンダのネットワーク環境でも、企業およびキャリヤがOpenFlowベースのSDN技術を革新的に導入することを可能にする。
図3を参照すると、セキュリティコントローラ306は、フロー分類テーブル308を備える。SDNネットワークデバイス304は、新しいフローを識別し、新しいフローのパケットをセキュリティコントローラ306に転送するよう構成されうる(例えば、セキュリティコントローラ306は、フローを分類するのに十分な情報を取得するため、そして、セキュリティポリシーに基づいて分類されたフローに対する動作を決定するために、フローについて十分な数のパケットを受信する必要がありうる)。次いで、セキュリティコントローラ306は、各新しいフローの分類を実行するために、各新しいフローのパケットを解析する。フロー分類テーブル308は、解析される各フローの様々な情報、例えば、MAC送信元(MAC src)、MAC宛先(MAC dst)、IP送信元(IP src)、IP宛先(IP dst)、TCP宛先ポート(TCP dprt)、ユーザ(User ID)、アプリケーション(APP ID)、および、場合によりその他の情報を含む。各フローのこの情報と、ポリシー(例えば、セキュリティポリシー)とに基づいて、セキュリティコントローラ306は、SDNネットワークデバイス304に命令してフローに対して実行させる動作を決定できる。動作(Action)の例は、無視(Ignore)、分流(Shunt)、ドロップ(Drop)、および/または、様々なその他の動作を含みうる。例えば、既知の悪意あるトラフィックをドロップしたり、セキュリティポリシーに基づいて許可されないアプリケーション(例えば、音楽ストリーミング、ボイスオーバーIP、および/または、その他のアプリケーション)をドロップしたりできる。別の例として、特定のアプリケーショントラフィックが、ユーザ(例えば、ACME社の企業ネットワークで、AliceはFTPを利用することを許可されているが、BobはFTPを利用することが許可されていない場合がある)に基づいて許可されてよく、その場合、許可されれば、動作は無視することでありえる(例えば、SDNネットワークデバイスは、そのフローに関連するさらなるパケットをセキュリティコントローラ306に送信しないように命令されうる)が、許可されなければ、動作はドロップまたは分流することでありえる(例えば、SDNネットワークデバイスは、フローがドロップされるべきか無視されるべきかを決定するためのさらなる検査に向けて、そのフローに関連するさらなるパケットをセキュリティコントローラ306に送信するよう命令されうる)。さらに別の例として、特定のフローが、かかるフロー(HTTPトラフィックなど)を許可するかブロックするかに関する決定を行うためのさらなる検査を必要とする場合がある(例えば、セキュリティポリシー(進化するウェブセッション関連のフローのためのものなど)に基づいて、特定のHTTPトラフィックが許可され、他のHTTPトラフィックがブロックされる場合があり、このセキュリティポリシーも、フローに関連するユーザ情報および/またはその他の情報に依存してよく、例えば、ウェブブラウザが、標準的なウェブ検索を実行するために検索エンジンホームページを最初に訪問するが、次いで、許可されえないウェブベースのチャットサービスにユーザをナビゲートすることで、かかるフローのさらなる監視および検査が、そのフローのセキュリティポリシー順守を保証するために求められうる。)さらなる例として、長く続く高スループットのフロー(例えば、ストレージエリアネットワークトラフィックなどのためのエレファントフロー、および/または、その他の許容可能な大容量データフロー)について、セキュリティコントローラ306は、さらなるセキュリティ処理(例えば、セキュリティコントローラを用いた解析および分類)を迂回するために、かかるフローを無視するようSDNデバイス304に命令できる。
いくつかの実施形態において、セキュリティコントローラ306は、(例えば、企業向けにカスタマイズ/構成できるセキュリティポリシーなどのポリシーに基づいて)セキュリティサービスを含む様々なネットワークサービスを実施するために提供される。例えば、企業は、本明細書に記載の様々な技術を用いて企業ネットワークでの有線接続および無線接続の両方にわたって一貫したセキュリティポリシーを定義して施行できる。別の例として、企業は、本明細書に記載の様々な技術を用いて安全なクラウドサービスを実施できる。
いくつかの実施形態において、セキュリティコントローラ306とSDNネットワークデバイス304との間の通信を容易にして、セキュリティコントローラ306が、セキュリティコントローラ306を用いて実施されたパケット/フロー分類に基づいて様々なセキュリティ関連命令を通信することを可能にするために、セキュリティサービスのための1セットのAPI(例えば、APIメカニズム)が提供される。いくつかの実施例において、セキュリティサービスのための1セットのAPIは、異なるベンダにわたるサポートを促進しうるパブリックすなわちオープンAPIとして定義されてよく、ここで、異なるデバイス(例えば、SDNネットワークデバイス)が、セキュリティサービスのためのかかるパブリックなオープンAPIをサポートし、それらのAPIで相互運用されるよう構成されうる。いくつかの実施例において、セキュリティサービスのためのAPIは、様々な商業ベンダによって提供されたデバイスによる相互運用性およびサポートを容易にするように標準化されうる。
いくつかの実施形態では、API通信を用いてネットワークデバイス(例えば、SDNネットワークデバイス304)に命令するために、APIメカニズムが、セキュリティコントローラ(例えば、セキュリティコントローラ306)によって用いられる。例えば、セキュリティコントローラは、API通信を介して、分類決定または命令をネットワークデバイスに直接渡すことができる。通信の一例は、以下に示すように、ネットワークデバイスが例えばフローをドロップすべきであることを示すRESTベースのAPIへのHTTPSポストである:https://sdndevice/api/flowID=000000000854&flowACTION=drop&key=6TGM9bXcwM3JHUG。ここで、flowIDは、フローの一意識別子を表し、flowACTIONは、ドロップ/分流/無視など、分類に関連する動作を表す。
いくつかの実施形態ではて、プロトコル(例えば、OpenFlowプロトコルおよび/または別のプロトコル)を用いてネットワークデバイス(例えば、SDNネットワークデバイス304)に命令するために、タグ付けメカニズムが、セキュリティコントローラ(例えば、セキュリティコントローラ306)によって用いられる。いくつかの実施例において、パケットは、動作を通信するために、セキュリティコントローラを用いてマーク付けまたはタグ付けされうる(例えば、セキュリティコントローラ306は、タグ(標準化されたOpenFlowタグなど)を用いてSDNデバイスのためのパケットフローにメタデータを追加できる)。セキュリティコントローラは、OpenFlowのcontroller−to−switchメカニズムを用いてネットワーキングデバイスと分類情報を直接通信してもよいし、フローの分類に関するメタデータを埋め込むためまたはフローの転送に影響を与えるためにOpenFlowまたはその他のプロトコルを用いてパケットに直接マーク付けしてもよい。どのフローテーブルエントリとも一致しないパケットが到着した時、ネットワーキングデバイスは、分類のためにセキュリティコントローラにコピーを提供するかまたはパケットを転送することができ、分類が済むと、セキュリティコントローラは、そのパケットの新しいフローを定義し、フローテーブルに追加すべきエントリをネットワーキングデバイスに送信できる。メタデータと呼ばれる値をパケットに追加するための命令が、セキュリティコントローラによって追加されてもよく、その値は、フローテーブルエントリ内のメタデータ値とマッチングされる。動作および優先度が、パケットの転送、再分類、および/または、パケット情報(送信元または宛先インターネットプロトコルアドレスなど)の書き換えに影響を与えるために挿入されてもよい。例えば、メタデータが、ネットワークデバイスに命令を提供するために、ドロップ、分流、または、無視に設定されてもよいし、動作が、空の命令セットを用いてフローを単にドロップするように設定されるか、または、パケットがポート番号5を介して転送され、分類のためにセキュリティコントローラに出力される命令”output:5,security−controller”など、より複雑な命令セットに設定されてもよい。
例えば、本明細書に記載の様々な技術を用いて、情報技術(IT)管理者(例えば、ネットワーク管理者またはセキュリティ管理者)が、企業ネットワークのセキュリティのための高レベルの構成およびポリシーステートメントを定義することができ、次いで、これらは、(例えば、異なるベンダ由来のものなど、多くの異なるネットワークデバイスを含みうる)企業ネットワークにわたって一貫したセキュリティポリシーを維持するために、OpenFlowを用いてネットワークインフラに自動的に翻訳される。したがって、かかるOpenFlowベースのSDNアーキテクチャを実装することにより、IT管理者は、エンドポイント、サービス、または、アプリケーションを追加または移動されるたび、または、セキュリティポリシーが変わるたびに、ネットワークデバイスを個別に構成する必要はなく、そのことは、不適切なネットワークデバイス構成によるポリシーの不一致のリスクおよび/またはその他のセキュリティリスクを低減する。SDNネットワークアーキテクチャでかかるセキュリティコントローラを利用すると、支社、構内、および、データセンタなどの有線および無線ネットワークインフラにわたってセキュリティポリシーの一貫した施行も提供できる。
図4は、いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するためのセキュリティコントローラを示す別の機能図である。図に示すように、SDNネットワークデバイス400(例えば、スイッチ、ルータ、および/または、別のタイプのネットワークデバイスなどのSDN準拠/対応のネットワークデバイスであり、物理ネットワークデバイスおよび/または仮想ネットワークデバイス(ハイパーバイザベースなど)でありうる)が、セキュリティコントローラ406と通信する。この実施形態において、セキュリティコントローラ406は、SDNネットワークデバイス400と統合されたものとして図示されている。例えば、セキュリティコントローラ406は、SDNネットワークデバイス400上のハードウェアに実装されてよい。別の例として、セキュリティコントローラ406は、SDNネットワークデバイス400上で実行されるソフトウェアに実装されてもよい(または、ハードウェアおよびソフトウェアの組み合わせを用いて実装されてもよい)。いくつかの実施例において、セキュリティコントローラ406は、図に示すように、SDNネットワークデバイス400の制御レイヤ402に実装され、SDNデバイスロジックが、SDNネットワークデバイス400のデータレイヤ404に実装される。
図5は、いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するためのセキュリティコントローラ500の様々な構成要素を示すブロック図である。図の例は、セキュリティコントローラ(例えば、セキュリティコントローラ106またはセキュリティコントローラ206)に含まれうる物理的構成要素を表したものである。具体的には、セキュリティコントローラ500は、高性能マルチコアCPU502と、RAM504とを含む。セキュリティコントローラ500は、さらに、ストレージ510(例えば、1または複数のハードディスクまたはソリッドステートストレージユニット)を備えており、ストレージ510は、ポリシーと、その他の構成情報および署名とを格納するために用いられる。セキュリティコントローラ500は、さらに、1または複数の任意選択的なハードウェアアクセラレータを備えてもよい。例えば、セキュリティコントローラ500は、暗号化および複合動作を実行するよう構成された暗号エンジン506と、署名マッチングを実行する、ネットワークプロセッサとして動作する、および/または、その他のタスクを実行するよう構成された1または複数のFPGA508とを備えてよい。
図6は、いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するためのセキュリティコントローラ600の論理構成要素を示す機能図である。図の例は、セキュリティコントローラ600に含まれうる論理構成要素を表したものである。図に示すように、セキュリティコントローラ600は、管理プレーン602およびデータプレーン604を備える。いくつかの実施形態において、管理プレーンは、ポリシー(図のポリシー620など)を構成するためのユーザインターフェースを提供するなどしてユーザの相互作用を管理し、ログデータを閲覧することに関与する。データプレーンは、パケット処理およびセッションハンドリングを実行するなどして、データを管理することに関与する。
ネットワークプロセッサ606は、SDNネットワークデバイスから新しいフローのパケットを受信し、処理のためにデータプレーン604にパケットを提供するよう構成されている。フロー608は、それらのパケットを新しいセッションの一部として、新しいセッションフローを作成する。後続のパケットは、フロールックアップに基づいて、そのセッションに属するものとして識別される。該当する場合、SSL復号が、本明細書に記載の様々な技術を用いて、例えば、SSL復号エンジンを用いて適用される。ユーザIDモジュール610は、トラフィックフローに関連するユーザを識別するよう構成されている。アプリケーションIDモジュール612は、セッションが含むトラフィックのタイプ(HTTPトラフィック、HTTPSトラフィック、FTPトラフィック、SSLトラフィック、SSHトラフィック、DNS要求、未分類のアプリケーショントラフィック(例えば、未知のアプリケーショントラフィック)、および/または、その他のタイプのトラフィック(例えば、その他のタイプの既知または未知のプロトコルを用いたトラフィック)など)を決定するよう構成されている。例えば、アプリケーションIDモジュール612は、受信されたデータ内のGET要求を認識し、セッションがHTTPデコーダを必要とすると結論づけることができる。各タイプのプロトコルについて、対応するデコーダ614が存在する。アプリケーションIDモジュール612によってなされた決定に基づいて、各フローのパケットは、適切なデコーダ614に送信される。デコーダ614は、(例えば、ユーザ認証のために外部サイトに送信されるユーザ名/パスワード認証情報を識別するために)、(例えば、順序通りでなく受信されうる)パケットを正確な順序にし、トークン化を実行し、情報を抽出するよう構成されている。また、デコーダ614は、パケットに何がなされるべきかを決定するために、署名照合を実行する。いくつかの実施形態において、デコーディングは、さらに、本明細書に記載の様々な技術を用いて(例えば、SSL暗号化/復号エンジンを用いた)SSL暗号化を実行することを含む。フロー608、ユーザIDモジュール610、アプリケーションIDモジュール612、および、デコーダ614を用いてデータプレーンが処理した結果に基づいて、動作決定が、616に示すように実行される。動作決定(616)に基づいて、SDNネットワークデバイスは、618に示すように、動作の実行を命令される。また、図に示すように、署名622が受信され、管理プレーン602に格納される。いくつかの実施形態において、署名を用いたポリシー施行(例えば、ポリシー620は、ドメインおよび/またはホスト/サーバ名を用いて記述されうる1または複数のルールを含んでよく、ルールは、例えば、企業ネットワークにセキュリティポリシーを適用するなどのために、1または複数の署名もしくはその他の照合基準または経験則を適用できる)が、監視、復号、識別、および、デコードされたセッショントラフィックフローに基づいて、様々な実施形態に関して本明細書に記載するように適用される。
図7は、いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するために利用できるセキュリティコントローラのアーキテクチャを示す機能図である。図に示すように、ネットワークトラフィックが、セキュリティコントローラ700で監視される。いくつかの実施形態において、新しいトラフィックフローに関連するパケットが、セキュリティコントローラ700によって解析のためにSDNネットワークデバイスから受信され、次いで、セキュリティコントローラ700は、各新しいフローに関連するパケットのパケット分類と、様々な実施形態に関して本明細書に記載したようなポリシー(例えば、セキュリティポリシー)とに基づいて、動作を決定できる。
いくつかの実施形態において、トラフィックフローは、ステートベースのファイアウォールを用いて監視される。いくつかの実施形態において、ステートベースのファイアウォールは、APP−IDエンジン(例えば、App署名チェック/ユーザIDチェック708)を用いてトラフィックフローを監視できる。例えば、監視されたネットワークトラフィックは、HTTPトラフィック、HTTPSトラフィック、FTPトラフィック、SSLトラフィック、SSHトラフィック、DNS要求、未分類のアプリケーショントラフィック(例えば、未知のアプリケーショントラフィック)、および/または、その他のタイプのトラフィック(例えば、その他のタイプの既知または未知のプロトコルを用いたトラフィック)を含みうる。
図7に示すように、ネットワークトラフィック監視が、702で始まる。IPアドレス/ポートエンジン704が、パケット解析に基づいて、監視されたトラフィックフロー(例えば、セッション)のIPアドレスおよびポート番号を決定する。ポリシーチェックエンジン706が、IPアドレスおよびポート番号に基づいて、何らかのポリシーが適用されうるか否かを判定する。いくつかの実施例において、ユーザIDチェックエンジンおよびAPP−IDエンジンが、図に示したapp署名チェック/ユーザIDチェックエンジン708に実装されてもよいし、別個のエンジンまたはモジュールに実装されてもよい。例えば、ユーザIDが、例えば、ユーザIDチェックエンジン708を用いて、フローに対して決定されうる(例えば、ユーザIDは、送信元IPアドレスに基づいて推定されうる)。また、図7に示すように、アプリケーション署名チェックエンジン708は、アプリケーションを識別する(例えば、パケットフロー解析に基づいてアプリケーションを識別するために様々なアプリケーション署名を用いるAPP−IDエンジンを用いて)。例えば、APP−IDエンジン708は、HTTPトラフィック、HTTPSトラフィック、FTPトラフィック、SSLトラフィック、SSHトラフィック、DNS要求、未知のトラフィック、および、様々なその他のタイプのトラフィックなど、セッションが含むトラフィックのタイプを決定するよう構成されてよく、かかる分類されたトラフィックは、各監視されたセッションのトラフィックフローについて分類されたトラフィックをデコードするために、適切なデコーダ(デコーダ712、714、および、716など)にダイレクトされうる。監視されたトラフィックが暗号化された(例えば、HTTPS、SSL、SSL、または、別の周知の暗号化プロトコルを用いて暗号化された)場合、監視されたトラフィックは、復号エンジン710を用いて復号できる(例えば、自己署名証明書を用いる信頼された中間者技術を適用して)。既知プロトコルデコーダエンジン712が、既知のプロトコルを用いて(例えば、既知のプロトコルに対して様々な署名を適用して)、トラフィックフローをデコードおよび解析し、監視されたトラフィックの解析を報告/ポリシー施行エンジン720に報告する。識別済トラフィック(デコーディング不要)エンジン714が、識別されたトラフィックを報告/ポリシー施行エンジン720に報告する。未知プロトコルデコーダエンジン716が、(例えば、様々な経験則を適用して)トラフィックフローをデコードおよび解析し、監視されたトラフィックの解析を報告/ポリシー施行エンジン720に報告する。例えば、報告/ポリシー施行エンジン720は、動作命令(例えば、フローのドロップ、無視、または、分流)をSDNネットワークデバイスに通信できる。
いくつかの実施形態において、上述の既知プロトコルデコーダエンジン712、識別済トラフィックエンジン714、および、未知プロトコルデコーダエンジン716を用いた様々なトラフィック監視技術の結果が、報告/ポリシー施行エンジン720に提供される(例えば、ネットワーク/ルーティングポリシー、セキュリティポリシー、および/または、ファイアウォールポリシー)。例えば、ファイアウォールポリシーは、監視されたネットワークトラフィックに適用され、アプリケーションID、ユーザID、および/または、その他の情報を用いて署名(例えば、ファイルベース、プロトコルベース、および/または、マルウェアまたは疑わしい行動を検出するためのその他のタイプ/形態の署名)を照合する。
いくつかの実施形態において、セキュリティコントローラ700は、さらに、コンテンツIDエンジン(図示せず)を備えており、いくつかの実施形態において、コンテンツIDエンジンで識別されたコンテンツも、様々なセキュリティ/ファイアウォールポリシー/ルールを施行するために、場合によっては、他の情報(アプリケーション情報、ユーザ情報、および/または、その他の情報など)との様々な組み合わせで、報告/ポリシー施行エンジン720によって利用される。
いくつかの実施形態において、本明細書に記載したようにネットワークルーティングのためのパケット分類を提供するための技術を実施するために、様々な他の機能アーキテクチャおよびフローが提供される。例えば、これらの機能の一部は、汎用プロセッサ上で実行されるソフトウェアに実装されてよい、および/または、これらの機能の一部は、ネットワークトラフィックのより迅速なパケット処理のためにハードウェア加速技術を用いて実装されてよい。
図8は、いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するためのフローチャートである。工程802で、新しいフローに関連するパケットをネットワークデバイスからセキュリティコントローラで受信し、ここで、ネットワークデバイスは、パケット転送を実行する。工程804で、フローの分類を実行する。例えば、分類は、様々な実施形態に関して本明細書に記載したように、ポート、IPアドレス、アプリケーション、ユーザ、デバイス、および/または、様々なその他の側面に基づきうる。工程806で、ポリシー(例えば、セキュリティポリシー)に基づいて、フローに対する動作を決定する。いくつかの実施形態において、ネットワークデバイスは、ソフトウェア定義ネットワーキング(SDN)ネットワークデバイス(例えば、OpenFlowプロトコルまたは別のプロトコルをサポートするパケット転送デバイス)である。
図9は、いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するための別のフローチャートである。工程902で、新しいフローに関連するパケットをネットワークデバイスからセキュリティコントローラで受信し、ここで、ネットワークデバイスは、パケット転送を実行する。工程904で、フローの分類を実行する。例えば、分類は、様々な実施形態に関して本明細書に記載したように、ポート、IPアドレス、アプリケーション、ユーザ、デバイス、および/または、様々なその他の側面に基づきうる。工程906で、ポリシー(例えば、セキュリティポリシー)に基づいて、フローに対する動作を決定する。いくつかの実施形態において、ネットワークデバイスは、ソフトウェア定義ネットワーキング(SDN)ネットワークデバイス(例えば、OpenFlowプロトコルまたは別のプロトコルをサポートするパケット転送デバイス)である。工程908で、フローに対する動作を実行するようネットワークデバイスに命令する(例えば、APIメカニズムまたはタグ付けメカニズムを用いて)。工程910で、分流されたフローに関連する新しいパケットをネットワークデバイスからセキュリティコントローラで受信する。工程912で、分流されたフローをさらに分類する。例えば、かかるさらなる分類およびセキュリティポリシーに基づいて、分流されたフローは、無視またはドロップできるフローであると決定されうる。その場合、決定に基づいた適切な動作が、セキュリティコントローラからネットワークデバイスに通信されうる。
上述の実施形態は、理解しやすいようにいくぶん詳しく説明されているが、本発明は、提供された詳細事項に限定されるものではない。本発明を実施する多くの代替方法が存在する。開示された実施形態は、例示であり、限定を意図するものではない。
上述の実施形態は、理解しやすいようにいくぶん詳しく説明されているが、本発明は、提供された詳細事項に限定されるものではない。本発明を実施する多くの代替方法が存在する。開示された実施形態は、例示であり、限定を意図するものではない。
[適用例1]
ネットワークルーティングのためのパケット分類を実行するセキュリティコントローラのためのシステムであって、
プロセッサであって、
パケット転送を実行するネットワークデバイスから新しいフローに関連するパケットを受信し、
前記フローを分類し、
ポリシーに基づいて、前記フローに対する動作を決定するよう構成された、プロセッサと、
前記プロセッサに接続され、前記プロセッサに命令を提供するよう構成されたメモリと、
を備える、システム。
[適用例2]
適用例1に記載のシステムであって、前記ネットワークデバイスは、ソフトウェア定義ネットワーキング(SDN)ネットワークデバイスである、システム。
[適用例3]
適用例1に記載のシステムであって、前記ポリシーは、セキュリティポリシーである、システム。
[適用例4]
適用例1に記載のシステムであって、前記プロセッサは、さらに、
前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するよう構成されている、システム。
[適用例5]
適用例1に記載のシステムであって、前記プロセッサは、さらに、
APIメカニズムを用いて前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するよう構成されている、システム。
[適用例6]
適用例1に記載のシステムであって、前記プロセッサは、さらに、
前記フローに関連するパケットにタグ付けすることによって前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するよう構成されている、システム。
[適用例7]
適用例1に記載のシステムであって、前記プロセッサは、さらに、
前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するよう構成されており、前記動作は、前記フローをドロップすることである、システム。
[適用例8]
適用例1に記載のシステムであって、前記プロセッサは、さらに、
前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するよう構成されており、前記動作は、前記フローを無視することである、システム。
[適用例9]
適用例1に記載のシステムであって、前記プロセッサは、さらに、
前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するよう構成されており、前記動作は、前記フローを分流することである、システム。
[適用例10]
適用例1に記載のシステムであって、前記プロセッサは、さらに、
前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令し、
前記フローに関連するさらなるパケットを前記ネットワークデバイスから受信するよう構成されており、
前記セキュリティコントローラは、前記フローのさらなる分類を実行する、システム。
[適用例11]
ネットワークルーティングのためのパケット分類を実行するセキュリティコントローラの方法であって、
パケット転送を実行するネットワークデバイスから新しいフローに関連するパケットを前記セキュリティコントローラで受信する工程と、
ネットワークルーティングのためのパケット分類を実行する前記セキュリティコントローラのプロセッサを用いて、前記フローを分類する工程と、
ポリシーに基づいて、前記フローに対する動作を決定する工程と、
を備える、方法。
[適用例12]
適用例11に記載の方法であって、前記ネットワークデバイスは、ソフトウェア定義ネットワーキング(SDN)ネットワークデバイスである、方法。
[適用例13]
適用例11に記載の方法であって、さらに、
前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令する工程を備える、方法。
[適用例14]
適用例11に記載の方法であって、さらに、
APIメカニズムを用いて前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令する工程を備える、方法。
[適用例15]
適用例11に記載の方法であって、さらに、
前記フローに関連するパケットにタグ付けすることによって前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令する工程を備える、方法。
[適用例16]
ネットワークルーティングのためのパケット分類を実行するセキュリティコントローラのためのコンピュータプログラム製品であって、有形で持続性のコンピュータ読み取り可能な記憶媒体内に具現化され、
パケット転送を実行するネットワークデバイスから新しいフローに関連するパケットを前記セキュリティコントローラで受信するためのコンピュータ命令と、
前記フローを分類するためのコンピュータ命令と、
ポリシーに基づいて、前記フローに対する動作を決定するためのコンピュータ命令と、
を備える、コンピュータプログラム製品。
[適用例17]
適用例16に記載のコンピュータプログラム製品であって、前記ネットワークデバイスは、ソフトウェア定義ネットワーキング(SDN)ネットワークデバイスである、コンピュータプログラム製品。
[適用例18]
適用例16に記載のコンピュータプログラム製品であって、さらに、
前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するためのコンピュータ命令を備える、コンピュータプログラム製品。
[適用例19]
適用例16に記載のコンピュータプログラム製品であって、さらに、
APIメカニズムを用いて前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するためのコンピュータ命令を備える、コンピュータプログラム製品。
[適用例20]
適用例16に記載のコンピュータプログラム製品であって、さらに、
前記フローに関連するパケットにタグ付けすることによって前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するためのコンピュータ命令を備える、コンピュータプログラム製品。



  1. ネットワークルーティングのためのパケット分類を実行するセキュリティコントローラのためのシステムであって、
    プロセッサであって、
    パケット転送を実行するネットワークデバイスから新しいフローに関連するパケットを受信し、
    前記フローを分類し、
    ポリシーに基づいて、前記フローに対する動作を決定するよう構成された、プロセッサと、
    前記プロセッサに接続され、前記プロセッサに命令を提供するよう構成されたメモリと、
    を備える、システム。

  2. 請求項1に記載のシステムであって、前記ネットワークデバイスは、ソフトウェア定義ネットワーキング(SDN)ネットワークデバイスである、システム。

  3. 請求項1に記載のシステムであって、前記ポリシーは、セキュリティポリシーである、システム。

  4. 請求項1に記載のシステムであって、前記プロセッサは、さらに、
    前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するよう構成されている、システム。

  5. 請求項1に記載のシステムであって、前記プロセッサは、さらに、
    APIメカニズムを用いて前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するよう構成されている、システム。

  6. 請求項1に記載のシステムであって、前記プロセッサは、さらに、
    前記フローに関連するパケットにタグ付けすることによって前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するよう構成されている、システム。

  7. 請求項1に記載のシステムであって、前記プロセッサは、さらに、
    前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するよう構成されており、前記動作は、前記フローをドロップすることである、システム。

  8. 請求項1に記載のシステムであって、前記プロセッサは、さらに、
    前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するよう構成されており、前記動作は、前記フローを無視することである、システム。

  9. 請求項1に記載のシステムであって、前記プロセッサは、さらに、
    前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するよう構成されており、前記動作は、前記フローを分流することである、システム。

  10. 請求項1に記載のシステムであって、前記プロセッサは、さらに、
    前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令し、
    前記フローに関連するさらなるパケットを前記ネットワークデバイスから受信するよう構成されており、
    前記セキュリティコントローラは、前記フローのさらなる分類を実行する、システム。

  11. ネットワークルーティングのためのパケット分類を実行するセキュリティコントローラの方法であって、
    パケット転送を実行するネットワークデバイスから新しいフローに関連するパケットを前記セキュリティコントローラで受信する工程と、
    ネットワークルーティングのためのパケット分類を実行する前記セキュリティコントローラのプロセッサを用いて、前記フローを分類する工程と、
    ポリシーに基づいて、前記フローに対する動作を決定する工程と、
    を備える、方法。

  12. 請求項11に記載の方法であって、前記ネットワークデバイスは、ソフトウェア定義ネットワーキング(SDN)ネットワークデバイスである、方法。

  13. 請求項11に記載の方法であって、さらに、
    前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令する工程を備える、方法。

  14. 請求項11に記載の方法であって、さらに、
    APIメカニズムを用いて前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令する工程を備える、方法。

  15. 請求項11に記載の方法であって、さらに、
    前記フローに関連するパケットにタグ付けすることによって前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令する工程を備える、方法。

  16. ネットワークルーティングのためのパケット分類を実行するセキュリティコントローラのためのコンピュータプログラム製品であって、有形で持続性のコンピュータ読み取り可能な記憶媒体内に具現化され、
    パケット転送を実行するネットワークデバイスから新しいフローに関連するパケットを前記セキュリティコントローラで受信するためのコンピュータ命令と、
    前記フローを分類するためのコンピュータ命令と、
    ポリシーに基づいて、前記フローに対する動作を決定するためのコンピュータ命令と、
    を備える、コンピュータプログラム製品。

  17. 請求項16に記載のコンピュータプログラム製品であって、前記ネットワークデバイスは、ソフトウェア定義ネットワーキング(SDN)ネットワークデバイスである、コンピュータプログラム製品。

  18. 請求項16に記載のコンピュータプログラム製品であって、さらに、
    前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するためのコンピュータ命令を備える、コンピュータプログラム製品。

  19. 請求項16に記載のコンピュータプログラム製品であって、さらに、
    APIメカニズムを用いて前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するためのコンピュータ命令を備える、コンピュータプログラム製品。

  20. 請求項16に記載のコンピュータプログラム製品であって、さらに、
    前記フローに関連するパケットにタグ付けすることによって前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するためのコンピュータ命令を備える、コンピュータプログラム製品。

 

 

Patent trol of patentswamp
類似の特許
パケット損失に起因してマイナスの影響を受ける(正しく受信される)パケットの数は、パケット配列の1つ以上の失われたパケットの実行の各々のために、パケットのシーケンスのパケット内の誤り耐性および識別することを提供して、それを解析することによって低減され得ることが、本出願の知見である。1つ以上の失われたパケットのそれぞれの実行の後のパケットのシーケンス内のパケットは、ビデオデータストリームのタイルのいずれかの始まりをもたらし、また、並行してスライスをもたらす。そして、パケットのシーケンスのパケットのいずれかに含まれるスライスヘッダは、失われていない。特に、誤り耐性のデータを送信するためのサイド情報オーバーヘッドは、パケット損失に悪影響を及ぼすパケットの減少に比べて比較的低いものである。
【選択図】図1
本発明は、無線セルにアンテナビームを割り当てるように構成されるアンテナ装置(300)に関する。アンテナ装置(300)は、アンテナアレイの一連のアンテナポートに結合可能な一連の無線送受信機(303)であって、各無線送受信機(303)は、各無線送受信機がそれぞれのアンテナポートに結合される場合、アンテナアレイ(301)のそれぞれのアンテナポート(302)を作動させるように構成される、一連の無線送受信機、を備え、一連の無線送受信機(303)はアンテナポートを作動させて少なくとも2つのアンテナビームを生成するように構成され、各無線送受信機は各アンテナビームの生成に寄与する。
適応型ソフトウェア定義ネットワーキングコントローラー(SDNC)の設計、実装および動作のための方法およびシステムが記載される。従来のSDNコントローラーは、情報のフローの半シームレスな制御/管理を提供するために、フォワーディング/データパス要素(論理的または物理的な)のステートレスな制御をサポートする。提案されるSDNコントローラーは、要素/装置の周辺(上位および下位の両方)の要求に適応するだけでなく、フローの状態の維持を支援し、いかなる管理/動作の要求に対しても調整できる。アプリケーション/サービス特有の形式において状態の分散管理が達成され、これにより、コントローラーによって管理されるフローの数と共にコントローラーの複雑度が指数関数的に増加することが抑止される。要求およびSDNCの例示的な動作の詳細が示される。
【選択図】図1
本発明は、ランダムアクセス(RA)プロセスに対するパラメータを決定するために、ユーザ装置(UE)及び基地局が相互に通信するときに方法及び装置を提供する。基地局は、UEによるRAプリアンブル伝送のための複数のリソースセットをシステム情報ブロック(SIB)を通じてUEに通知する。各リソースセットは、RAプリアンブル伝送に対する反復回数、最大RAプリアンブル伝送回数、及び基地局がRAプリアンブル受信に対して応答を送信した反復回数に関連する。また、SIBは、経路損失値の範囲とRAプリアンブル反復の回数との間の関連性を通知する。UEは、その経路損失測定から第1のRAプリアンブル伝送のための反復回数を決定する。
本発明は、PON内で、ONU用のIEEE1588マスタクロック構成を行うための方法および装置を提供する。本方法は、UNIがマスタクロックモードで動作しているということを示すために、PTPポートをONUのUNI上に作成し、該PTPポートに対応するPTPポートMEを生成するステップと、マスタクロックデバイスとして使用されるすべてのPTPポートのプロファイルを格納するために、ONU内のすべてのPTPポートのPTPポートMEに基づき、1588マスタクロック構成データMEを生成するステップと、マスタクロックデバイスとして使用されるすべてのPTPポートのクロックソース情報を示すために、1588マスタクロック構成データMEに従って、クロックデータセットMEを生成するステップとを含む。
本発明の諸実施形態では、GTPメッセージの送信を制御するための方法および装置、ならびにデータ送信方法および装置を開示する。GTPメッセージの送信を制御するための方法は、GTPメッセージ送信装置により、GTPメッセージ応答装置から送信されたユーザ機器の無応答時間指示を受信するステップであって、当該無応答時間はユーザ機器の無応答時間を暗黙的または明示的に示すステップと、受信されたユーザ機器の無応答時間指示により示されるユーザ機器の無応答時間に従って当該GTPメッセージ送信装置により、GTPメッセージを送信する時刻を調節するステップであって、当該GTPメッセージを送信する時刻を調節するステップは特に、ユーザ機器の無応答時間が増大したときGTPメッセージを送信する時刻を延ばすことであるか、または、ユーザ機器の無応答時間が減少したときGTPメッセージを送信する時刻を早めることである、ステップとを含む。このように、ユーザの過度に長い無応答時間に起因するネットワーク上でのユーザ機器のサービス割込みまたは不要な装置回復手続きが回避される。
方法およびシステムが提供される。本方法は、複数の送信アンテナを備える多入力多出力通信システムに送信プリコーダを提供することを有する。複数の送信アンテナは、複数のチャネルの各々が複数のユーザのうちの対応するユーザにサービス提供するように構成可能であるように、プリコーディングを用いて複数のチャネルを形成するものである。この提供するステップは、複数の送信アンテナの各々に、対応する送信アンテナ平均電力制約を課すことを含む。この提供するステップは、複数の行および複数の列を有する下りリンクチャネル行列に列スケーリングを適用することに応答して、対角プリコーダを決定することをさらに含む。この提供するステップは、複数のチャネル上で対応する信号を送信する際に得られる重み付き総和レートを最適化することにより、対応するアンテナ平均電力制約に従って、対角プリコーダから重み付きプリコーダを生成することをさらに含む。
【課題】無線通信システムにおいて多重アンテナベースのビームフォーミングのために端末が基地局に速度情報を報告する方法を提供する。
【解決手段】前記基地局からあらかじめ定義された信号を受信するステップと、前記あらかじめ定義された信号に基づいて、前記端末の垂直ビームフォーミング方向移動速度(v)及び水平ビームフォーミング方向移動速度(v)のうち少なくとも一つの移動速度情報を算出するステップと、前記少なくとも一つの移動速度情報を前記基地局に報告するステップとを有し、前記あらかじめ定義された信号は、前記端末の基地局方向への速度(v)を算出するためのものであることを特徴とする、方法を提供する。
【選択図】図14
【課題】無線通信システムにおいてデバイス探索及びそのための装置を提供する。
【解決手段】第1の無線デバイスのデバイス探索実行方法は、プローブ要求フレームを送信するステップと、前記プローブ要求フレームに対する応答として、第2の無線デバイスからプローブ応答フレームを受信するステップとを有することができる。ここで、前記プローブ応答フレームは、前記第2の無線デバイスが現在接続しているAP(Access Point)の情報を含むことができる。
【選択図】図25
【課題】大規模MIMOのためのグルーピングベース参照信号送信方法を提供する。
【解決手段】端末は、グルーピングされ、それぞれの端末グループは、基地局から、上りリンク送信時間ユニットのいずれが上りリンク参照信号を送信するように活性化されたかに関する第1情報、及び上りリンク参照信号のために用いられるシーケンスに関する第2情報を受信する。第1情報は、第1端末を含む第1端末グループと異なる第2端末グループと異なるように決定される。第2情報は、同一端末グループの端末に直交シーケンスを割り当てるように決定される。
【選択図】図9
To top