(57)【要約】【解決手段】ネットワークルーティングのためのパケット分類技術が開示されている。いくつかの実施形態において、ネットワークルーティングのためのパケット分類は、パケット転送を実行するネットワークデバイスから新しいフローに関連するパケットをセキュリティコントローラで受信し；フローを分類し；ポリシー（例えば、セキュリティポリシー）に基づいてフローに対する動作を決定することを含む。いくつかの実施形態において、ネットワークデバイスは、ソフトウェア定義ネットワーキング（ＳＤＮ）ネットワークデバイス（例えば、ＯｐｅｎＦｌｏｗプロトコルまたは別のプロトコルをサポートするパケット転送デバイス）である。【選択図】図１
2016528809.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークルーティングのためのパケット分類を実行するセキュリティコントローラのためのシステムであって、
プロセッサであって、
パケット転送を実行するネットワークデバイスから新しいフローに関連するパケットを受信し、
前記フローを分類し、
ポリシーに基づいて、前記フローに対する動作を決定するよう構成された、プロセッサと、
前記プロセッサに接続され、前記プロセッサに命令を提供するよう構成されたメモリと、
を備える、システム。
【請求項２】
請求項１に記載のシステムであって、前記ネットワークデバイスは、ソフトウェア定義ネットワーキング（ＳＤＮ）ネットワークデバイスである、システム。
【請求項３】
請求項１に記載のシステムであって、前記ポリシーは、セキュリティポリシーである、システム。
【請求項４】
請求項１に記載のシステムであって、前記プロセッサは、さらに、
前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するよう構成されている、システム。
【請求項５】
請求項１に記載のシステムであって、前記プロセッサは、さらに、
ＡＰＩメカニズムを用いて前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するよう構成されている、システム。
【請求項６】
請求項１に記載のシステムであって、前記プロセッサは、さらに、
前記フローに関連するパケットにタグ付けすることによって前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するよう構成されている、システム。
【請求項７】
請求項１に記載のシステムであって、前記プロセッサは、さらに、
前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するよう構成されており、前記動作は、前記フローをドロップすることである、システム。
【請求項８】
請求項１に記載のシステムであって、前記プロセッサは、さらに、
前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するよう構成されており、前記動作は、前記フローを無視することである、システム。
【請求項９】
請求項１に記載のシステムであって、前記プロセッサは、さらに、
前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するよう構成されており、前記動作は、前記フローを分流することである、システム。
【請求項１０】
請求項１に記載のシステムであって、前記プロセッサは、さらに、
前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令し、
前記フローに関連するさらなるパケットを前記ネットワークデバイスから受信するよう構成されており、
前記セキュリティコントローラは、前記フローのさらなる分類を実行する、システム。
【請求項１１】
ネットワークルーティングのためのパケット分類を実行するセキュリティコントローラの方法であって、
パケット転送を実行するネットワークデバイスから新しいフローに関連するパケットを前記セキュリティコントローラで受信する工程と、
ネットワークルーティングのためのパケット分類を実行する前記セキュリティコントローラのプロセッサを用いて、前記フローを分類する工程と、
ポリシーに基づいて、前記フローに対する動作を決定する工程と、
を備える、方法。
【請求項１２】
請求項１１に記載の方法であって、前記ネットワークデバイスは、ソフトウェア定義ネットワーキング（ＳＤＮ）ネットワークデバイスである、方法。
【請求項１３】
請求項１１に記載の方法であって、さらに、
前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令する工程を備える、方法。
【請求項１４】
請求項１１に記載の方法であって、さらに、
ＡＰＩメカニズムを用いて前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令する工程を備える、方法。
【請求項１５】
請求項１１に記載の方法であって、さらに、
前記フローに関連するパケットにタグ付けすることによって前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令する工程を備える、方法。
【請求項１６】
ネットワークルーティングのためのパケット分類を実行するセキュリティコントローラのためのコンピュータプログラム製品であって、有形で持続性のコンピュータ読み取り可能な記憶媒体内に具現化され、
パケット転送を実行するネットワークデバイスから新しいフローに関連するパケットを前記セキュリティコントローラで受信するためのコンピュータ命令と、
前記フローを分類するためのコンピュータ命令と、
ポリシーに基づいて、前記フローに対する動作を決定するためのコンピュータ命令と、
を備える、コンピュータプログラム製品。
【請求項１７】
請求項１６に記載のコンピュータプログラム製品であって、前記ネットワークデバイスは、ソフトウェア定義ネットワーキング（ＳＤＮ）ネットワークデバイスである、コンピュータプログラム製品。
【請求項１８】
請求項１６に記載のコンピュータプログラム製品であって、さらに、
前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するためのコンピュータ命令を備える、コンピュータプログラム製品。
【請求項１９】
請求項１６に記載のコンピュータプログラム製品であって、さらに、
ＡＰＩメカニズムを用いて前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するためのコンピュータ命令を備える、コンピュータプログラム製品。
【請求項２０】
請求項１６に記載のコンピュータプログラム製品であって、さらに、
前記フローに関連するパケットにタグ付けすることによって前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するためのコンピュータ命令を備える、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
他の出願の相互参照
本願は、２０１３年７月１８日出願の米国仮特許出願第６１／８４７，９８２号（代理人整理番号ＰＡＬＯＰ０５５＋）「ＰＡＣＫＥＴ  ＣＬＡＳＳＩＦＩＣＡＴＩＯＮ  ＦＯＲ  ＮＥＴＷＯＲＫ  ＲＯＵＴＩＮＧ」の優先権を主張し、仮特許出願は、すべての目的のために参照により本明細書に組み込まれる。
【背景技術】
【０００２】
ファイアウォールは、一般に、不正アクセスからネットワークを保護しつつ、承認された通信がファイアウォールを通過することを許可する。ファイアウォールは、通例、ネットワークアクセスに対するファイアウォール機能を提供するデバイスまたはデバイスセットもしくはデバイス（コンピュータなど）上で実行されるソフトウェアである。例えば、ファイアウォールは、デバイス（例えば、コンピュータ、スマートフォン、または、その他のタイプのネットワーク通信可能なデバイス）のオペレーティングシステムに統合されうる。ファイアウォールは、コンピュータサーバ、ゲートウェイ、ネットワーク／ルーティングデバイス（例えば、ネットワークルータ）、または、データアプライアンス（例えば、セキュリティアプライアンスまたはその他のタイプの専用デバイス）上のソフトウェアに統合されてもよいし、かかるソフトウェアとして実行されてもよい。
【０００３】
ファイアウォールは、通例、１セットのルールに基づいてネットワーク伝送を拒否または許可する。これらのセットのルールは、しばしば、ポリシーと呼ばれる。例えば、ファイアウォールは、１セットのルールまたはポリシーを適用することによってインバウンドトラフィックをフィルタリングできる。ファイアウォールは、１セットのルールまたはポリシーを適用することによってアウトバウンドトラフィックをフィルタリングすることもできる。ファイアウォールは、基本的なルーティング機能を実行することもできる。
【図面の簡単な説明】
【０００４】
以下の詳細な説明と添付の図面において、本発明の様々な実施形態を開示する。
【０００５】
【図１】いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するためのネットワークアーキテクチャを示す機能図。
【０００６】
【図２】いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するためのネットワークアーキテクチャを示す別の機能図。
【０００７】
【図３】いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するためのセキュリティコントローラを示す機能図。
【０００８】
【図４】いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するためのセキュリティコントローラを示す別の機能図。
【０００９】
【図５】いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するためのセキュリティコントローラの様々な構成要素を示すブロック図。
【００１０】
【図６】いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するためのセキュリティコントローラの論理構成要素を示す機能図。
【００１１】
【図７】いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するために利用できるセキュリティコントローラのアーキテクチャを示す機能図。
【００１２】
【図８】いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するためのフローチャート。
【００１３】
【図９】いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するための別のフローチャート。
【発明を実施するための形態】
【００１４】
本発明は、処理、装置、システム、物質の組成、コンピュータ読み取り可能な格納媒体上に具現化されたコンピュータプログラム製品、および／または、プロセッサ（プロセッサに接続されたメモリに格納および／またはそのメモリによって提供される命令を実行するよう構成されたプロセッサ）を含め、様々な形態で実装されうる。本明細書では、これらの実装または本発明が取りうる任意の他の形態を、技術と呼ぶ。一般に、開示された処理の工程の順序は、本発明の範囲内で変更されてもよい。特に言及しない限り、タスクを実行するよう構成されるものとして記載されたプロセッサまたはメモリなどの構成要素は、ある時間にタスクを実行するよう一時的に構成された一般的な構成要素として、または、タスクを実行するよう製造された特定の構成要素として実装されてよい。本明細書では、「プロセッサ」という用語は、１または複数のデバイス、回路、および／または、コンピュータプログラム命令などのデータを処理するよう構成された処理コアを指すものとする。
【００１５】
以下では、本発明の原理を示す図面を参照しつつ、本発明の１または複数の実施形態の詳細な説明を行う。本発明は、かかる実施形態に関連して説明されているが、どの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定されるものであり、本発明は、多くの代替物、変形物、および、等価物を含む。以下の説明では、本発明の完全な理解を提供するために、多くの具体的な詳細事項が記載されている。これらの詳細事項は、例示を目的としたものであり、本発明は、これらの具体的な詳細事項の一部または全てがなくとも特許請求の範囲に従って実施可能である。簡単のために、本発明に関連する技術分野で周知の技術事項については、本発明が必要以上にわかりにくくならないように、詳細には説明していない。
【００１６】
ファイアウォールは、一般に、不正アクセスからネットワークを保護しつつ、承認された通信がファイアウォールを通過することを許可する。ファイアウォールは、通例、ネットワークアクセスに対するファイアウォール機能を提供するデバイス、デバイスセット、または、デバイス上で実行されるソフトウェアである。例えば、ファイアウォールは、デバイス（例えば、コンピュータ、スマートフォン、または、その他のタイプのネットワーク通信可能なデバイス）のオペレーティングシステムに統合されうる。また、ファイアウォールは、コンピュータサーバ、ゲートウェイ、ネットワーク／ルーティングデバイス（例えば、ネットワークルータ）、または、データアプライアンス（例えば、セキュリティアプライアンスまたはその他のタイプの専用デバイス）など様々なタイプのデバイスまたはセキュリティデバイス上のソフトウェアアプリケーションに統合されうる、もしくは、かかるソフトウェアアプリケーションとして実行されうる。
【００１７】
ファイアウォールは、通例、１セットのルールに基づいてネットワーク伝送を拒否または許可する。これらのセットのルールは、しばしば、ポリシー（例えば、ネットワークポリシーまたはネットワークセキュリティポリシー）と呼ばれる。例えば、ファイアウォールは、望ましくない外部のトラフィックが保護されたデバイスに到達するのを防ぐために、１セットのルールまたはポリシーを適用することによってインバウンドトラフィックをフィルタリングできる。また、ファイアウォールは、１セットのルールまたはポリシーを適用することによってアウトバウンドトラフィックをフィルタリングできる（例えば、許可、ブロック、監視、通知、または、記録、および／または、その他の動作を、ファイアウォールルールまたはファイアウォールポリシー内に記述できる。ルールまたはポリシーは、本明細書に記載したような様々な規準に基づいてトリガされうる）。
【００１８】
セキュリティデバイス（例えば、セキュリティアプライアンス、セキュリティゲートウェイ、セキュリティサービス、および／または、その他のセキュリティデバイス）は、様々なセキュリティ機能（例えば、ファイアウォール、マルウェア対策、侵入防止／検出、および／または、その他のセキュリティ機能）、ネットワーク機能（例えば、ルーティング、クオリティオブサービス（ＱｏＳ）、ネットワーク関連リソースの負荷バランシング、および／または、その他のネットワーク機能）、ならびに／、もしくは、その他の機能を備えうる。例えば、ルーティング機能は、送信元情報（例えば、ＩＰアドレスおよびポート）、宛先情報（例えば、ＩＰアドレスおよびポート）、ならびに、プロトコル情報に基づきうる。
【００１９】
基本的なパケットフィルタリング・ファイアウォールは、ネットワークを介して伝送された個々のパケットを調べることによってネットワーク通信トラフィックをフィルタリングする（例えば、ステートレスパケットフィルタリング・ファイアウォールであるパケットフィルタリング・ファイアウォールまたは第１世代のファイアウォール）。ステートレスパケットフィルタリング・ファイアウォールは、通例、個々のパケット自体を調べ、調べたパケットに基づいて（例えば、パケットの送信元および宛先アドレス情報、プロトコル情報、ならびに、ポート番号の組み合わせを用いて）ルールを適用する。
【００２０】
また、アプリケーション・ファイアウォールは、アプリケーションレイヤフィルタリングを実行できる（例えば、ＴＣＰ／ＩＰスタックのアプリケーションレベルで機能するアプリケーションレイヤフィルタリング・ファイアウォールまたは第２世代のファイアウォール）。アプリケーションレイヤフィルタリング・ファイアウォールまたはアプリケーション・ファイアウォールは、一般に、特定のアプリケーションおよびプロトコルを識別できる（例えば、ハイパーテキストトランスファープロトコル（ＨＴＴＰ）、ドメインネームシステム（ＤＮＳ）要求、ファイルトランスファープロトコル（ＦＴＰ）を用いたファイル転送、ならびに、様々なその他のタイプのアプリケーションおよびその他のプロトコル（Ｔｅｌｎｅｔ、ＤＨＣＰ、ＴＣＰ、ＵＤＰ、および、ＴＦＴＰ（ＧＳＳ）など））。例えば、アプリケーション・ファイアウォールは、標準ポートで通信を試みる無許可プロトコルをブロックできる（例えば、プロトコルに非標準ポートを用いて忍び込もうとする無許可／ポリシー外のプロトコルが、一般に、アプリケーション・ファイアウォールを用いて識別されうる）。
【００２１】
また、ステートフル・ファイアウォールは、各パケットがネットワーク伝送のパケットのフロー／パケットフローに関連する一連のパケットのコンテキスト内で検査されるステートフルベースのパケット検査を実行できる（例えば、ステートフル・ファイアウォールまたは第３世代のファイアウォール）。このファイアウォール技術は、一般に、ファイアウォールを通過するすべての接続の記録を維持するのでステートフルパケット検査と呼ばれており、パケットが新しい接続の開始であるのか、既存の接続の一部であるのか、または、無効なパケットであるのかを判定できる。例えば、接続の状態自体が、ポリシー内のルールをトリガする基準の１つでありうる。
【００２２】
先進ファイアウォールすなわち次世代ファイアウォールは、上述のように、ステートレスおよびステートフルパケットフィルタリングとアプリケーションレイヤフィルタリングとを実行できる。また、次世代ファイアウォールは、さらなるファイアウォール技術を実行できる。例えば、先進ファイアウォールまたは次世代ファイアウォールとも呼ばれる特定の新しいファイアウォールは、ユーザおよびコンテンツの識別もできる（例えば、次世代ファイアウォール）。特に、特定の次世代ファイアウォールは、これらのファイアウォールが数千のアプリケーションを自動的に識別できるアプリケーションのリストを拡張している。かかる次世代ファイアウォールの例は、Ｐａｌｏ  Ａｌｔｏ  Ｎｅｔｗｏｒｋｓ社から市販されている（例えば、Ｐａｌｏ  Ａｌｔｏ  Ｎｅｔｗｏｒｋｓ社のＰＡシリーズ・ファイアウォール）。例えば、Ｐａｌｏ  Ａｌｔｏ  Ｎｅｔｗｏｒｋｓ社の次世代ファイアウォールは、企業が、以下のような様々な識別技術を用いて、ポート、ＩＰアドレス、および、パケットだけでなく、アプリケーション、ユーザ、および、コンテンツを識別して制御することを可能にする：正確なアプリケーション識別のためのＡＰＰ−ＩＤ、ユーザ識別（例えば、ユーザまたはユーザグループ）のためのユーザＩＤ、および、リアルタイムのコンテンツスキャニング（例えば、ウェブサーフィンの制御、ならびに、データおよびファイル転送の制限）のためのコンテンツＩＤ。これらの識別技術により、企業が、従来のポート遮断ファイアウォールによって提供される従来のアプローチに従う代わりに、ビジネス関連概念を用いたアプリケーション利用を確実に実現することが可能になる。また、例えば専用アプライアンスとして実装された次世代ファイアウォールのための専用ハードウェアは、一般に、汎用ハードウェアで実行されるソフトウェアよりもアプリケーション検査のパフォーマンスレベルが高い（例えば、ネットワークスループットを最大化しつつ待ち時間を最小化するためにシングルパスソフトウェアエンジンと緊密に統合された専用の機能特異的な処理を用いるＰａｌｏ  Ａｌｔｏ  Ｎｅｔｗｏｒｋｓ社のセキュリティアプライアンスなど）。
【００２３】
先進ファイアウォール技術を含むかかるファイアウォール技術を実装できるセキュリティデバイス（例えば、ファイアウォールアプライアンス）は、通例、従来のネットワークアーキテクチャに統合される。しかしながら、新しいネットワークアーキテクチャが、企業、キャリヤ、および、エンドユーザの変化する要件を満たすように進化している。例えば、かかる新しいネットワーキングアプローチは、ソフトウェア定義ネットワーキング（ＳＤＮ）アーキテクチャを用いる。オープン・ネットワーキング・ファウンデーション（ＯＮＦ）が、ＳＤＮアーキテクチャのための様々な規格を定義してきた。
【００２４】
具体的には、ソフトウェア定義ネットワーキング（ＳＤＮ）は、ネットワーク制御が転送（例えば、パケット転送機能）から切り離されて直接的にプログラム可能になった新たなネットワークアーキテクチャである。ＳＤＮアーキテクチャでは、制御プレーンおよびデータプレーンが切り離され、ネットワークインテリジェンスおよび状態情報が論理的に集中化され、基盤となるネットワークインフラがアプリケーションから抽象化される。ＯＮＦは、ＯｐｅｎＦｌｏｗ（商標）プロトコルと呼ばれる新たな標準プロトコルを定義した。ＯｐｅｎＦｌｏｗプロトコルは、一般に、（例えば、ＯｐｅｎＦｌｏｗプロトコルをサポートする複数ベンダのネットワークデバイスにわたって）ネットワークデバイスの制御プレーンおよびデータプレーンの間の通信を構造化するために利用できる。
【００２５】
より具体的には、ＯｐｅｎＦｌｏｗは、ＳＤＮアーキテクチャの制御レイヤおよび転送レイヤの間に定義された標準通信インターフェースである（例えば、ＯｐｅｎＦｌｏｗスイッチ仕様が、ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｆｌｏｗ．ｏｒｇ／で入手可能である）。いくつかの実施例において、ＯｐｅｎＦｌｏｗは、物理的および仮想的（例えば、ハイパーバイザベース）の両方のネットワークデバイス（例えば、スイッチ、ルータ、および／または、その他のネットワークデバイス）の転送プレーンに対する直接アクセスおよび操作をサポートする。
【００２６】
それにより、ＳＤＮアーキテクチャは、企業およびキャリヤが、新たなレベルのプログラム可能性、自動化、および、ネットワーク制御を持つことを可能にする。したがって、ＳＤＮアーキテクチャは、変化するビジネスニーズに効率的かつ動的に適応できる高スケーラブルかつ柔軟なネットワークを促しうる。
【００２７】
しかしながら、新たな柔軟性およびプログラム可能性を実現するかかる新しいネットワークアーキテクチャは、かかるネットワーク（例えば、制御プレーンおよびデータプレーンを切り離すＳＤＮネットワークおよび／またはその他のネットワークアーキテクチャ）のセキュリティを確保する新たなアプローチを必要とする。例えば、かかる動的ネットワークアーキテクチャの進化（例えば、企業内の異なるネットワークデバイスの間のフローをプログラム可能にする進化）は、各フローがセキュリティポリシーを強化するためのセキュリティデバイス（既存のインラインファイアウォールアプライアンスなど）を通過しなければならないことを保証しない。
【００２８】
そのため、ネットワークルーティングのための新たなパケット分類技術が必要である。したがって、ネットワークルーティングのためのパケット分類技術を開示する。例えば、ＳＤＮネットワーク（例えば、制御プレーンおよびデータプレーンを切り離すＳＤＮネットワークおよび／またはその他のネットワークアーキテクチャ）のセキュリティ確保に適用できるネットワークルーティングのための様々なパケット分類技術が開示されている。
【００２９】
いくつかの実施形態において、ネットワークルーティングのためのパケット分類は、パケット転送を実行するネットワークデバイスから新しいフローに関連するパケットをセキュリティコントローラで受信し；フローを分類し；ポリシー（例えば、セキュリティポリシー）に基づいてフローに対する動作を決定することを含む。いくつかの実施形態において、ネットワークデバイスは、ソフトウェア定義ネットワーキング（ＳＤＮ）ネットワークデバイス（例えば、ＯｐｅｎＦｌｏｗプロトコルまたは別のプロトコルをサポートするパケット転送デバイス）である。
【００３０】
いくつかの実施形態において、ネットワークルーティングのためのパケット分類は、さらに、（例えば、ＡＰＩメカニズムおよび／またはタグ付けメカニズムを用いて）フローに対する動作を実行するようネットワークデバイスに命令することを含む。動作の例は、以下の動作を含みうる：フローをドロップする；フローを無視する；および、フローを分流する（ｓｈｕｎｔ）（例えば、さらなる解析および分類のためにセキュリティコントローラへパケットを送り続けるようセキュリティデバイスに命令する）。
【００３１】
例えば、ＳＤＮネットワーク（例えば、制御プレーンおよびデータプレーンを切り離すＳＤＮネットワークおよび／またはその他のネットワークアーキテクチャ）は、エンドユーザによる様々なタイプの携帯デバイスの利用の増加（例えば、任意のデバイスから任意のデバイスへの任意の場所からの通信要件の増加）、様々なプライベートおよびパブリッククラウドサービスの利用の増加、および／または、（例えば、並列処理などの目的で、多くのサーバにわたる非常に多くのデータセットの移動をサポートするために）より広い帯域幅要件を必要とするビッグデータの発展から生じたものなど、様々な変化するネットワークパターンに用いられるより柔軟および動的なネットワークアーキテクチャを提供するために利用できる。これらの傾向も、かかるネットワークを配備する企業および／またはサービスプロバイダに対する重大なセキュリティの難題を生む。
【００３２】
したがって、かかるＳＤＮネットワーク（制御プレーンおよびデータプレーンを切り離すＳＤＮネットワークおよび／またはその他のネットワークアーキテクチャ）のセキュリティを確保すると共に、セキュリティを確保された効率的かつスケーラブルなネットワークソリューションを維持しつつ、このように増大するネットワークアーキテクチャの複雑さの中で一貫したセキュリティポリシーを維持する際に、セキュリティを容易にするために利用できるネットワークルーティングのための様々なパケット分類の技術が本明細書に記載されている。例えば、パケットがネットワーキングデバイスによって宛先へより効率的にダイレクトされることを可能にするパケット分類情報を提供しつつ、ネットワーキングデバイスに対する影響が最小限になるように、効率的にネットワークフローを分類するセキュリティコントローラ（例えば、分類デバイスまたは分類エンジン）を提供できる。
【００３３】
いくつかの実施形態において、ネットワークルーティングのためのパケット分類を提供する様々な技術は、各新しいフローの分類を提供するために、ネットワークデバイスが新しいフローを識別して、各新しいフローに関連するパケットを解析するセキュリティコントローラ（例えば、分類デバイスまたは分類エンジン）に識別した新しいフローを送信し、次いで、セキュリティコントローラが、分類および決定に基づいてネットワークデバイスに命令して、各新しいフローの処理時に動作（例えば、無視、ドロップ、さらなるセキュリティ解析／分類のための分流、および／または、その他の動作）を実行させるネットワークアーキテクチャに実装されうる。オープンフローを可能にするＳＤＮアーキテクチャで生じる特定の問題は、かかるネットワークフローがどこでもスイッチングまたはルーティングされうる（例えば、所与のフローが典型的なネットワークワークアーキテクチャにインラインで配置されるセキュリティアプライアンス／ゲートウェイまたはその他のセキュリティデバイスを通過しなければならないという保証がない）ために、各新しいフローが（例えば、セキュリティポリシーの順守について）適切に検査されることを保証するためのメカニズムが必要になることである。かかるネットワーク環境におけるネットワークルーティングのためのパケット分類を提供する様々な技術について、以下で詳述する。
【００３４】
図１は、いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するためのネットワークアーキテクチャを示す機能図である。図に示すように、クライアントデバイスまたはサーバデバイス１０２は、ＳＤＮネットワークデバイス１０４（例えば、スイッチ、ルータ、および／または、別のタイプのネットワークデバイスなどのＳＤＮ準拠／対応のネットワークデバイスであり、物理ネットワークデバイスおよび／または仮想ネットワークデバイス（ハイパーバイザベースなど）でありうる）を介してクライアントデバイスまたはサーバデバイス１０８と通信する。また、図に示すように、ＳＤＮネットワークデバイス１０４と通信するセキュリティコントローラ１０６が提供されている。いくつかの実施形態において、セキュリティコントローラ１０６は、複数の異なるＳＤＮネットワークデバイスと通信する。
【００３５】
特に、図１は、いくつかの実施形態に従って、ＳＤＮアーキテクチャの簡単な論理図を示す。例えば、セキュリティインテリジェンスが、ソフトウェアベースのＳＤＮコントローラ（例えば、セキュリティコントローラ１０６）内に論理的に集中化されてよく、ネットワークのグローバルな視野を維持すると共に、セキュリティポリシーがＳＤＮネットワーク全体に一貫して実装されることを保証できる。別の例として、複数の異なるＳＤＮネットワークデバイスが、クライアントデバイスまたはサーバデバイス１０２とクライアントデバイスまたはサーバデバイス１０８との間でパケットを転送するために用いられてもよい。いくつかの実施形態において、セキュリティコントローラ１０６は、クラウドセキュリティサービスを用いて実装されており、様々な実施形態に関して本明細書に記載した様々な技術を用いて、パケットが（例えば、インターネットなどのパブリックネットワークで安全な通信を提供できる安全なプロトコル（ＯｐｅｎＦｌｏｗプロトコルまたは別の安全なプロトコルなど）を用いて）（新しい）フローの分類のためにＳＤＮネットワークデバイスから伝えられうる。
【００３６】
いくつかの実施形態において、セキュリティコントローラ１０６は、ＳＤＮアーキテクチャ内にＳＤＮネットワークデバイス（例えば、ＳＤＮネットワークデバイス１０４）の副コントローラとして提供されており、主コントローラが、ＳＤＮネットワークデバイスのための主な論理制御を提供する（例えば、基本的な切り替えおよびルーティングの論理機能を提供する）ために設けられる。いくつかの実施例において、セキュリティコントローラ１０６は、ＳＤＮアーキテクチャ内にＳＤＮネットワークデバイス（例えば、ＳＤＮネットワークデバイス１０４）の副コントローラとして提供されており、副コントローラは、主コントローラと統合されてよい、および／または、主コントローラのためのエンジンも実行するデバイス上に別個のエンジンとして実装されてよい（例えば、デバイスのプロセッサ上で実行されるソフトウェアに実装される、ＦＰＧＡまたはその他のハードウェア実装などハードウェアに実装される、および／または、ソフトウェアおよびハードウェアの組み合わせを用いて実装される）。いくつかの実施例において、セキュリティコントローラ１０６は、ＳＤＮアーキテクチャ内にＳＤＮネットワークデバイス（例えば、ＳＤＮネットワークデバイス１０４）の副コントローラとして提供されており、副コントローラは、副コントローラのためのエンジンを実行する第２のデバイス上に提供されてよく、第１のデバイスは、主コントローラのためのエンジンを実行する。いくつかの実施例において、副コントローラおよび／または主コントローラは、デバイス（例えば、アプライアンス、サーバ、および／または、その他のコンピュータデバイス）上で実行されるソフトウェアに実装、デバイスのハードウェアに実装、および／または、それらの組み合わせで実装されてよい。
【００３７】
いくつかの実施形態において、ＳＤＮネットワークデバイス１０４（スイッチまたはルータなど（例えば、Ｌ２ネットワークデバイス、Ｌ３ネットワークデバイス、または、Ｌ２／Ｌ３／Ｌ７デバイス））は、フローのパケットをセキュリティコントローラ１０６に渡す。いくつかの実施形態において、セキュリティコントローラ１０６は、様々なパケット分類技術（例えば、アプリケーション識別（ＡＰＰ−ＩＤ）、ユーザ識別（ＵＳＥＲ−ＩＤ）、ならびに／もしくは、その他のファイアウォールおよび／または先進ファイアウォールに関連する分類技術および本明細書に記載したようなステートベースのフロー分類技術）を実行できる。
【００３８】
いくつかの実施形態において、ＳＤＮネットワークデバイス１０４のネットワーキングデバイスは、様々な実施形態に関して本明細書で詳述するように、パケット内の分類を用いて、より効率的にパケットをダイレクトする（例えば、どのようにパケットをスイッチング／ルーティングするか、パケットをドロップするか否か、および／または、何らかの他の動作を実行する）。いくつかの実施形態において、セキュリティコントローラ１０６は、様々な実施形態に関して本明細書で詳述するように、ＳＤＮネットワークデバイス１０４にパケットを返す前に、（例えば、本明細書に記載したような、パケットをタグ付けするタグ付けメカニズムを用いて）、新しいフローのパケットを分類し、パケットを分類と関連付ける。いくつかの実施形態において、セキュリティコントローラ１０６は、様々な実施形態に関して本明細書で詳述するように、新しいフローのパケットを分類し、ＡＰＩメカニズムを用いた分類に基づいて、フローを処理する方法についてＳＤＮネットワークデバイス１０４に指示する。例えば、所与のフローのパケットを分類することがもはや必要ない（例えば、フローのさらなる分類が生じないかまたは生じる可能性が低い）と、分類デバイスが判定すれば、メッセージ（例えば、動作無視命令）がＳＤＮネットワークデバイスに送信されて、特定のフローのパケットがもはや分類デバイスに送信される必要がないことを通知しうる。
【００３９】
いくつかの実施例において、ＳＤＮネットワークデバイスおよび主コントローラは、例えば、Ａｒｉｓｔａ  Ｎｅｔｗｏｒｋｓ社、Ｃｉｓｃｏ  Ｓｙｓｔｅｍｓ社、および／または、その他の商業ネットワーキングベンダからの市販のソリューションによって提供されうる。いくつかの実施例において、ＳＤＮネットワークデバイスおよび主コントローラは、独占の仮想スイッチおよび／またはＯｐｅｎｖＳｗｉｃｈ（例えば、  ｈｔｔｐ：／／ｏｐｅｎｖｓｗｉｔｃｈ．ｏｒｇで入手可能）によって提供されるようなオープンソースの仮想スイッチなど、仮想スイッチ（例えば、ソフトウェアベースのスイッチ）によって提供されうる。いくつかの実施例において、セキュリティコントローラ１０６は、様々な次世代ファイアウォール（ＮＧＦＷ）ソリューションを提供する商業セキュリティベンダ（Ｐａｌｏ  Ａｌｔｏ  Ｎｅｔｗｏｒｋｓ社など）によって提供される。例えば、Ａｒｉｓｔａ  Ｎｅｔｗｏｒｋｓ社のＳＤＮネットワークデバイスは、新しいフローを認識して、その新しいフローをＰａｌｏ  Ａｌｔｏ  Ｎｅｔｗｏｒｋｓ社のセキュリティコントローラ（例えば、フローを分類し、分類したフローに基づいてポリシーを適用して、セキュリティポリシーに基づいてかかるフローを扱う方法についてＳＤＮネットワークに指示することができるセキュリティアプライアンスおよび／またはセキュリティエンジン）に送信する。特に、Ｐａｌｏ  Ａｌｔｏ  Ｎｅｔｗｏｒｋｓ社のセキュリティコントローラは、フローを分類し、分類したフローを処理する方法に関する決定を行うことができる（例えば、そのフローの残りについてすべてのパケットをドロップするために、５タプルに基づいたＡＣＬに基づくなどして、ドロップを行う；フローがさらに検査されるべきであるとポリシーが示唆する場合などに、分流を行い、その場合に、セキュリティコントローラは、そのフローについてトラフィックのすべてを監視するためにインラインに効果的に配置されうる；または、ポリシーがそのフローだけを放置する、すなわち、ドロップもさらなる検査も行わないと示唆する場合などに、無視する）。
【００４０】
例えば、ＮＧＦＷソリューションが、セキュリティコントローラ１０６として提供されうる。ＳＤＮネットワークデバイス１０４は、検査のためにセキュリティコントローラ１０６（例えば、最初の分類のために各新しいフローの所定の最少数のパケットを検査するよう構成されうる）にすべての新しいフローを送信できる。一部の例において、ＮＧＦＷソリューションは、ＳＤＮネットワークデバイス１０４上のハードウェアに実装されてよい。ＳＤＮネットワークデバイス１０４は、新しいフローを受信し、（例えば、セキュリティポリシーなどのポリシーに基づいた）分類および解析のためにセキュリティコントローラ１０６に所定の数のパケットを転送し、ＳＤＮネットワークデバイス１０４は、（例えば、オープンフローまたはＡＰＩを介して）セキュリティコントローラからの応答を待つか、または、ハードウェア（例えば、ファストパス）にフローを導入することができる。評価が動作（例えば、ドロップ）と共にセキュリティコントローラから返されると、ＳＤＮネットワークデバイスは、適切なルール（例えば、アクセス制御リスト（ＡＣＬ））を作成し、対応するトラフィックをドロップする。特に、セキュリティコントローラ１０６は、以下の動作についてフローを分類できる：ドロップ、分流、無視。前の２つの動作（すなわち、ドロップまたは分流）について、セキュリティコントローラ１０６は、例えば、ＯｐｅｎＦｌｏｗまたは直接ＡＰＩ通信を介して、ＳＤＮネットワークデバイス１０４に動作を実行するよう命令できる。分流の場合、そのフローからの全トラフィックが、検査継続のためにセキュリティコントローラ１０６にダイレクトされる（例えば、セキュリティコントローラは、分流されたフローのためにインラインに効果的に配置される）。無視は、特定のフローがＳＤＮネットワークデバイス１０４の転送テーブルにすでに導入されているので、信号伝達を必要としない。
【００４１】
いくつかの実施形態において、セキュリティコントローラ１０６は、様々なレイヤ−２、レイヤ−３、および、アプリケーションＩＤエンジン、ユーザＩＤエンジンのようにより高いレイヤの分類エンジンなど、様々な分類機能を備える、および／または、例えば、コンピュータハードウェア、ソフトウェア、または、それらの様々な組み合わせを用いて実装できる様々なその他のファイヤーウォールベースの分類および先進ファイアウォール分類技術（本明細書に記載したものなど）を実行できる。
【００４２】
図２に関して以下で詳述するように、セキュリティコントローラによって実行される分類は、ネットワーキングデバイス内の別個のデバイスとして、仮想マシンとして、および／または、様々なその他の技術を用いて実装されうる。
【００４３】
図２は、いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するためのネットワークアーキテクチャを示す別の機能図である。図に示すように、クライアントデバイスまたはサーバデバイス２０２は、ＳＤＮネットワークデバイス２０４（例えば、スイッチ、ルータ、および／または、別のタイプのネットワークデバイスなどのＳＤＮ準拠／対応のネットワークデバイスであり、物理ネットワークデバイスおよび／または仮想ネットワークデバイス（ハイパーバイザベースなど）でありうる）を介してクライアントデバイスまたはサーバデバイス２０８と通信する。また、図に示すように、ＳＤＮネットワークデバイス２０４に統合されたセキュリティコントローラ２０６が提供されている。例えば、セキュリティコントローラ２０６は、ＳＤＮネットワークデバイス２０４上のハードウェアに実装されてよい。別の例として、セキュリティコントローラ２０６は、ＳＤＮネットワークデバイス２０４上のプロセッサ上で実行されるソフトウェアに実装されてもよい。いくつかの実施例において、セキュリティコントローラ２０６は、図に示すように、ＳＤＮネットワークデバイス２０４の制御レイヤに実装される。
【００４４】
ここで明らかになるように、別個のセキュリティコントローラデバイス、ＳＤＮネットワークデバイスに統合された部分として、ハードウェアとして、物理デバイス、仮想ネットワークデバイス（ハイパーバイザベースなど）上で実行されるソフトウェアベースソリューションとして、および／または、セキュリティクラウドサービスとして実装されたセキュリティコントローラデバイスとして実装できるセキュリティコントローラによって、本明細書に記載の機能の一部または全部が、支援されうる、もしくは、全体的または部分的に実施されうる。セキュリティクラウドサービスは、例えば、ＳＤＮネットワークデバイス上の処理を削減できる。別の例として、セキュリティポリシーの侵害および／または脆弱性の検出を、セキュリティクラウドサービスに報告できる。
【００４５】
図３は、いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するためのセキュリティコントローラを示す機能図である。図に示すように、ＳＤＮネットワークデバイス３０４（例えば、スイッチ、ルータ、および／または、別のタイプのネットワークデバイスなどのＳＤＮ準拠／対応のネットワークデバイスであり、物理ネットワークデバイスおよび／または仮想ネットワークデバイス（ハイパーバイザベースなど）でありうる）が、セキュリティコントローラ３０６と通信する。この実施形態において、セキュリティコントローラ３０６は、ＳＤＮネットワークデバイス３０４と統合されたものとして図示されている。例えば、セキュリティコントローラ３０６は、ＳＤＮネットワークデバイス３０４上のハードウェアに実装されてよい。別の例として、セキュリティコントローラ３０６は、ＳＤＮネットワークデバイス３０４上で実行されるソフトウェアに実装されてもよい（または、ハードウェアおよびソフトウェアの組み合わせを用いて実装されてもよい）。いくつかの実施例では、セキュリティコントローラ３０６が、デバイス内に実装され、別個の異なるデバイスが、主コントローラを実装する（例えば、主コントローラは、ＳＤＮネットワークデバイス３０４に伝えられうる基本的なスイッチングおよびルーティングの論理機能を提供するためなど、ＳＤＮネットワークデバイスに主な論理制御を提供するために設けられる）。
【００４６】
いくつかの実施形態では、ＯｐｅｎＦｌｏｗプロトコルなどのプロトコルが、ネットワークインフラデバイス（例えば、ＳＤＮネットワークデバイス）とＳＤＮ制御ソフトウェア（例えば、セキュリティコントローラ）との間のインターフェースの両側に実装される。いくつかの実施形態において、ＯｐｅｎＦｌｏｗ技術を用いて識別されたフローは、ネットワークルーティングのためのパケット分類を提供するために、セキュリティコントローラ（例えば、セキュリティコントローラ３０６）によって利用されうる。例えば、ＯｐｅｎＦｌｏｗは、ＳＤＮ制御ソフトウェアによって静的または動的にプログラムできる事前定義された一致ルールに基づいて、フローの概念を用いてネットワークトラフィックを識別する。セキュリティポリシーなどのポリシーは、トラフィックが、パラメータ（アプリケーション、ユーザ、デバイス、クラウドリソース、マルウェア関連情報、送信元／宛先情報、デバイス情報、および／または、その他の情報など）に基づいてネットワークデバイスを通してどのように流れるべきかを決定するよう構成されうる。したがって、ＯｐｅｎＦｌｏｗは、フローごとにネットワークをプログラムするために利用可能であり、アプリケーション、ユーザ、および、セッションレベルでリアルタイムの変化に対応するために、ネットワークでのきめ細かい制御を提供する。
【００４７】
例えば、セキュリティコントローラ（例えば、セキュリティコントローラ３０６）は、データプレーン（例えば、ＳＤＮネットワークデバイス３０４）から転送されたフローを解析し、ポリシー（例えば、セキュリティポリシー）に基づいてかかるフローを扱う方法を決定し、ネットワークデバイス（例えば、ＳＤＮネットワークデバイス３０４）の転送プレーンの操作のために（例えば、動作に基づいて）命令を提供できる。当業者にとって明らかなように、かかるＯｐｅｎＦｌｏｗベースのＳＤＮ技術は、既存のネットワーク（物理的および仮想的の両方）上に配備できる。また、明らかなように、かかるネットワークデバイスは、ＯｐｅｎＦｌｏｗベースの転送も従来の転送もサポートでき、複数ベンダのネットワーク環境でも、企業およびキャリヤがＯｐｅｎＦｌｏｗベースのＳＤＮ技術を革新的に導入することを可能にする。
【００４８】
図３を参照すると、セキュリティコントローラ３０６は、フロー分類テーブル３０８を備える。ＳＤＮネットワークデバイス３０４は、新しいフローを識別し、新しいフローのパケットをセキュリティコントローラ３０６に転送するよう構成されうる（例えば、セキュリティコントローラ３０６は、フローを分類するのに十分な情報を取得するため、そして、セキュリティポリシーに基づいて分類されたフローに対する動作を決定するために、フローについて十分な数のパケットを受信する必要がありうる）。次いで、セキュリティコントローラ３０６は、各新しいフローの分類を実行するために、各新しいフローのパケットを解析する。フロー分類テーブル３０８は、解析される各フローの様々な情報、例えば、ＭＡＣ送信元（ＭＡＣ  ｓｒｃ）、ＭＡＣ宛先（ＭＡＣ  ｄｓｔ）、ＩＰ送信元（ＩＰ  ｓｒｃ）、ＩＰ宛先（ＩＰ  ｄｓｔ）、ＴＣＰ宛先ポート（ＴＣＰ  ｄｐｒｔ）、ユーザ（Ｕｓｅｒ  ＩＤ）、アプリケーション（ＡＰＰ  ＩＤ）、および、場合によりその他の情報を含む。各フローのこの情報と、ポリシー（例えば、セキュリティポリシー）とに基づいて、セキュリティコントローラ３０６は、ＳＤＮネットワークデバイス３０４に命令してフローに対して実行させる動作を決定できる。動作（Ａｃｔｉｏｎ）の例は、無視（Ｉｇｎｏｒｅ）、分流（Ｓｈｕｎｔ）、ドロップ（Ｄｒｏｐ）、および／または、様々なその他の動作を含みうる。例えば、既知の悪意あるトラフィックをドロップしたり、セキュリティポリシーに基づいて許可されないアプリケーション（例えば、音楽ストリーミング、ボイスオーバーＩＰ、および／または、その他のアプリケーション）をドロップしたりできる。別の例として、特定のアプリケーショントラフィックが、ユーザ（例えば、ＡＣＭＥ社の企業ネットワークで、ＡｌｉｃｅはＦＴＰを利用することを許可されているが、ＢｏｂはＦＴＰを利用することが許可されていない場合がある）に基づいて許可されてよく、その場合、許可されれば、動作は無視することでありえる（例えば、ＳＤＮネットワークデバイスは、そのフローに関連するさらなるパケットをセキュリティコントローラ３０６に送信しないように命令されうる）が、許可されなければ、動作はドロップまたは分流することでありえる（例えば、ＳＤＮネットワークデバイスは、フローがドロップされるべきか無視されるべきかを決定するためのさらなる検査に向けて、そのフローに関連するさらなるパケットをセキュリティコントローラ３０６に送信するよう命令されうる）。さらに別の例として、特定のフローが、かかるフロー（ＨＴＴＰトラフィックなど）を許可するかブロックするかに関する決定を行うためのさらなる検査を必要とする場合がある（例えば、セキュリティポリシー（進化するウェブセッション関連のフローのためのものなど）に基づいて、特定のＨＴＴＰトラフィックが許可され、他のＨＴＴＰトラフィックがブロックされる場合があり、このセキュリティポリシーも、フローに関連するユーザ情報および／またはその他の情報に依存してよく、例えば、ウェブブラウザが、標準的なウェブ検索を実行するために検索エンジンホームページを最初に訪問するが、次いで、許可されえない���ェブベースのチャットサービスにユーザをナビゲートすることで、かかるフローのさらなる監視および検査が、そのフローのセキュリティポリシー順守を保証するために求められうる。）さらなる例として、長く続く高スループットのフロー（例えば、ストレージエリアネットワークトラフィックなどのためのエレファントフロー、および／または、その他の許容可能な大容量データフロー）について、セキュリティコントローラ３０６は、さらなるセキュリティ処理（例えば、セキュリティコントローラを用いた解析および分類）を迂回するために、かかるフローを無視するようＳＤＮデバイス３０４に命令できる。
【００４９】
いくつかの実施形態において、セキュリティコントローラ３０６は、（例えば、企業向けにカスタマイズ／構成できるセキュリティポリシーなどのポリシーに基づいて）セキュリティサービスを含む様々なネットワークサービスを実施するために提供される。例えば、企業は、本明細書に記載の様々な技術を用いて企業ネットワークでの有線接続および無線接続の両方にわたって一貫したセキュリティポリシーを定義して施行できる。別の例として、企業は、本明細書に記載の様々な技術を用いて安全なクラウドサービスを実施できる。
【００５０】
いくつかの実施形態において、セキュリティコントローラ３０６とＳＤＮネットワークデバイス３０４との間の通信を容易にして、セキュリティコントローラ３０６が、セキュリティコントローラ３０６を用いて実施されたパケット／フロー分類に基づいて様々なセキュリティ関連命令を通信することを可能にするために、セキュリティサービスのための１セットのＡＰＩ（例えば、ＡＰＩメカニズム）が提供される。いくつかの実施例において、セキュリティサービスのための１セットのＡＰＩは、異なるベンダにわたるサポートを促進しうるパブリックすなわちオープンＡＰＩとして定義されてよく、ここで、異なるデバイス（例えば、ＳＤＮネットワークデバイス）が、セキュリティサービスのためのかかるパブリックなオープンＡＰＩをサポートし、それらのＡＰＩで相互運用されるよう構成されうる。いくつかの実施例において、セキュリティサービスのためのＡＰＩは、様々な商業ベンダによって提供されたデバイスによる相互運用性およびサポートを容易にするように標準化されうる。
【００５１】
いくつかの実施形態では、ＡＰＩ通信を用いてネットワークデバイス（例えば、ＳＤＮネットワークデバイス３０４）に命令するために、ＡＰＩメカニズムが、セキュリティコントローラ（例えば、セキュリティコントローラ３０６）によって用いられる。例えば、セキュリティコントローラは、ＡＰＩ通信を介して、分類決定または命令をネットワークデバイスに直接渡すことができる。通信の一例は、以下に示すように、ネットワークデバイスが例えばフローをドロップすべきであることを示すＲＥＳＴベースのＡＰＩへのＨＴＴＰＳポストである：ｈｔｔｐｓ：／／ｓｄｎｄｅｖｉｃｅ／ａｐｉ／ｆｌｏｗＩＤ＝０００００００００８５４＆ｆｌｏｗＡＣＴＩＯＮ＝ｄｒｏｐ＆ｋｅｙ＝６ＴＧＭ９ｂＸｃｗＭ３ＪＨＵＧ。ここで、ｆｌｏｗＩＤは、フローの一意識別子を表し、ｆｌｏｗＡＣＴＩＯＮは、ドロップ／分流／無視など、分類に関連する動作を表す。
【００５２】
いくつかの実施形態ではて、プロトコル（例えば、ＯｐｅｎＦｌｏｗプロトコルおよび／または別のプロトコル）を用いてネットワークデバイス（例えば、ＳＤＮネットワークデバイス３０４）に命令するために、タグ付けメカニズムが、セキュリティコントローラ（例えば、セキュリティコントローラ３０６）によって用いられる。いくつかの実施例において、パケットは、動作を通信するために、セキュリティコントローラを用いてマーク付けまたはタグ付けされうる（例えば、セキュリティコントローラ３０６は、タグ（標準化されたＯｐｅｎＦｌｏｗタグなど）を用いてＳＤＮデバイスのためのパケットフローにメタデータを追加できる）。セキュリティコントローラは、ＯｐｅｎＦｌｏｗのｃｏｎｔｒｏｌｌｅｒ−ｔｏ−ｓｗｉｔｃｈメカニズムを用いてネットワーキングデバイスと分類情報を直接通信してもよいし、フローの分類に関するメタデータを埋め込むためまたはフローの転送に影響を与えるためにＯｐｅｎＦｌｏｗまたはその他のプロトコルを用いてパケットに直接マーク付けしてもよい。どのフローテーブルエントリとも一致しないパケットが到着した時、ネットワーキングデバイスは、分類のためにセキュリティコントローラにコピーを提供するかまたはパケットを転送することができ、分類が済むと、セキュリティコントローラは、そのパケットの新しいフローを定義し、フローテーブルに追加すべきエントリをネットワーキングデバイスに送信できる。メタデータと呼ばれる値をパケットに追加するための命令が、セキュリティコントローラによって追加されてもよく、その値は、フローテーブルエントリ内のメタデータ値とマッチングされる。動作および優先度が、パケットの転送、再分類、および／または、パケット情報（送信元または宛先インターネットプロトコルアドレスなど）の書き換えに影響を与えるために挿入されてもよい。例えば、メタデータが、ネットワークデバイスに命令を提供するために、ドロップ、分流、または、無視に設定されてもよいし、動作が、空の命令セットを用いてフローを単にドロップするように設定されるか、または、パケットがポート番号５を介して転送され、分類のためにセキュリティコントローラに出力される命令”ｏｕｔｐｕｔ：５，ｓｅｃｕｒｉｔｙ−ｃｏｎｔｒｏｌｌｅｒ”など、より複雑な命令セットに設定されてもよい。
【００５３】
例えば、本明細書に記載の様々な技術を用いて、情報技術（ＩＴ）管理者（例えば、ネットワーク管理者またはセキュリティ管理者）が、企業ネットワークのセキュリティのための高レベルの構成およびポリシーステートメントを定義することができ、次いで、これらは、（例えば、異なるベンダ由来のものなど、多くの異なるネットワークデバイスを含みうる）企業ネットワークにわたって一貫したセキュリティポリシーを維持するために、ＯｐｅｎＦｌｏｗを用いてネットワークインフラに自動的に翻訳される。したがって、かかるＯｐｅｎＦｌｏｗベースのＳＤＮアーキテクチャを実装することにより、ＩＴ管理者は、エンドポイント、サービス、または、アプリケーションを追加または移動されるたび、または、セキュリティポリシーが変わるたびに、ネットワークデバイスを個別に構成する必要はなく、そのことは、不適切なネットワークデバイス構成によるポリシーの不一致のリスクおよび／またはその他のセキュリティリスクを低減する。ＳＤＮネットワークアーキテクチャでかかるセキュリティコントローラを利用すると、支社、構内、および、データセンタなどの有線および無線ネットワークインフラにわたってセキュリティポリシーの一貫した施行も提供できる。
【００５４】
図４は、いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するためのセキュリティコントローラを示す別の機能図である。図に示すように、ＳＤＮネットワークデバイス４００（例えば、スイッチ、ルータ、および／または、別のタイプのネットワークデバイスなどのＳＤＮ準拠／対応のネットワークデバイスであり、物理ネットワークデバイスおよび／または仮想ネットワークデバイス（ハイパーバイザベースなど）でありうる）が、セキュリティコントローラ４０６と通信する。この実施形態において、セキュリティコントローラ４０６は、ＳＤＮネットワークデバイス４００と統合されたものとして図示されている。例えば、セキュリティコントローラ４０６は、ＳＤＮネットワークデバイス４００上のハードウェアに実装されてよい。別の例として、セキュリティコントローラ４０６は、ＳＤＮネットワークデバイス４００上で実行されるソフトウェアに実装されてもよい（または、ハードウェアおよびソフトウェアの組み合わせを用いて実装されてもよい）。いくつかの実施例において、セキュリティコントローラ４０６は、図に示すように、ＳＤＮネットワークデバイス４００の制御レイヤ４０２に実装され、ＳＤＮデバイスロジックが、ＳＤＮネットワークデバイス４００のデータレイヤ４０４に実装される。
【００５５】
図５は、いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するためのセキュリティコントローラ５００の様々な構成要素を示すブロック図である。図の例は、セキュリティコントローラ（例えば、セキュリティコントローラ１０６またはセキュリティコントローラ２０６）に含まれうる物理的構成要素を表したものである。具体的には、セキュリティコントローラ５００は、高性能マルチコアＣＰＵ５０２と、ＲＡＭ５０４とを含む。セキュリティコントローラ５００は、さらに、ストレージ５１０（例えば、１または複数のハードディスクまたはソリッドステートストレージユニット）を備えており、ストレージ５１０は、ポリシーと、その他の構成情報および署名とを格納するために用いられる。セキュリティコントローラ５００は、さらに、１または複数の任意選択的なハードウェアアクセラレータを備えてもよい。例えば、セキュリティコントローラ５００は、暗号化および複合動作を実行するよう構成された暗号エンジン５０６と、署名マッチングを実行する、ネットワークプロセッサとして動作する、および／または、その他のタスクを実行するよう構成された１または複数のＦＰＧＡ５０８とを備えてよい。
【００５６】
図６は、いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するためのセキュリティコントローラ６００の論理構成要素を示す機能図である。図の例は、セキュリティコントローラ６００に含まれうる論理構成要素を表したものである。図に示すように、セキュリティコントローラ６００は、管理プレーン６０２およびデータプレーン６０４を備える。いくつかの実施形態において、管理プレーンは、ポリシー（図のポリシー６２０など）を構成するためのユーザインターフェースを提供するなどしてユーザの相互作用を管理し、ログデータを閲覧することに関与する。データプレーンは、パケット処理およびセッションハンドリングを実行するなどして、データを管理することに関与する。
【００５７】
ネットワークプロセッサ６０６は、ＳＤＮネットワークデバイスから新しいフローのパケットを受信し、処理のためにデータプレーン６０４にパケットを提供するよう構成されている。フロー６０８は、それらのパケットを新しいセッションの一部として、新しいセッションフローを作成する。後続のパケットは、フロールックアップに基づいて、そのセッションに属するものとして識別される。該当する場合、ＳＳＬ復号が、本明細書に記載の様々な技術を用いて、例えば、ＳＳＬ復号エンジンを用いて適用される。ユーザＩＤモジュール６１０は、トラフィックフローに関連するユーザを識別するよう構成されている。アプリケーションＩＤモジュール６１２は、セッションが含むトラフィックのタイプ（ＨＴＴＰトラフィック、ＨＴＴＰＳトラフィック、ＦＴＰトラフィック、ＳＳＬトラフィック、ＳＳＨトラフィック、ＤＮＳ要求、未分類のアプリケーショントラフィック（例えば、未知のアプリケーショントラフィック）、および／または、その他のタイプのトラフィック（例えば、その他のタイプの既知または未知のプロトコルを用いたトラフィック）など）を決定するよう構成されている。例えば、アプリケーションＩＤモジュール６１２は、受信されたデータ内のＧＥＴ要求を認識し、セッションがＨＴＴＰデコーダを必要とすると結論づけることができる。各タイプのプロトコルについて、対応するデコーダ６１４が存在する。アプリケーションＩＤモジュール６１２によってなされた決定に基づいて、各フローのパケットは、適切なデコーダ６１４に送信される。デコーダ６１４は、（例えば、ユーザ認証のために外部サイトに送信されるユーザ名／パスワード認証情報を識別するために）、（例えば、順序通りでなく受信されうる）パケットを正確な順序にし、トークン化を実行し、情報を抽出するよう構成されている。また、デコーダ６１４は、パケットに何がなされるべきかを決定するために、署名照合を実行する。いくつかの実施形態において、デコーディングは、さらに、本明細書に記載の様々な技術を用いて（例えば、ＳＳＬ暗号化／復号エンジンを用いた）ＳＳＬ暗号化を実行することを含む。フロー６０８、ユーザＩＤモジュール６１０、アプリケーションＩＤモジュール６１２、および、デコーダ６１４を用いてデータプレーンが処理した結果に基づいて、動作決定が、６１６に示すように実行される。動作決定（６１６）に基づいて、ＳＤＮネットワークデバイスは、６１８に示すように、動作の実行を命令される。また、図に示すように、署名６２２が受信され、管理プレーン６０２に格納される。いくつかの実施形態において、署名を用いたポリシー施行（例えば、ポリシー６２０は、ドメインおよび／またはホスト／サーバ名を用いて記述されうる１または複数のルールを含んでよく、ルールは、例えば、企業ネットワークにセキュリティポリシーを適用するなどのために、１または複数の署名もしくはその他の照合基準または経験則を適用できる）が、監視、復号、識別、および、デコードされたセッショントラフィックフローに基づいて、様々な実施形態に関して本明細書に記載するように適用される。
【００５８】
図７は、いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するために利用できるセキュリティコントローラのアーキテクチャを示す機能図である。図に示すように、ネットワークトラフィックが、セキュリティコントローラ７００で監視される。いくつかの実施形態において、新しいトラフィックフローに関連するパケットが、セキュリティコントローラ７００によって解析のためにＳＤＮネットワークデバイスから受信され、次いで、セキュリティコントローラ７００は、各新しいフローに関連するパケットのパケット分類と、様々な実施形態に関して本明細書に記載したようなポリシー（例えば、セキュリティポリシー）とに基づいて、動作を決定できる。
【００５９】
いくつかの実施形態において、トラフィックフローは、ステートベースのファイアウォールを用いて監視される。いくつかの実施形態において、ステートベースのファイアウォールは、ＡＰＰ−ＩＤエンジン（例えば、Ａｐｐ署名チェック／ユーザＩＤチェック７０８）を用いてトラフィックフローを監視できる。例えば、監視されたネットワークトラフィックは、ＨＴＴＰトラフィック、ＨＴＴＰＳトラフィック、ＦＴＰトラフィック、ＳＳＬトラフィック、ＳＳＨトラフィック、ＤＮＳ要求、未分類のアプリケーショントラフィック（例えば、未知のアプリケーショントラフィック）、および／または、その他のタイプのトラフィック（例えば、その他のタイプの既知または未知のプロトコルを用いたトラフィック）を含みうる。
【００６０】
図７に示すように、ネットワークトラフィック監視が、７０２で始まる。ＩＰアドレス／ポートエンジン７０４が、パケット解析に基づいて、監視されたトラフィックフロー（例えば、セッション）のＩＰアドレスおよびポート番号を決定する。ポリシーチェックエンジン７０６が、ＩＰアドレスおよびポート番号に基づいて、何らかのポリシーが適用されうるか否かを判定する。いくつかの実施例において、ユーザＩＤチェックエンジンおよびＡＰＰ−ＩＤエンジンが、図に示したａｐｐ署名チェック／ユーザＩＤチェックエンジン７０８に実装されてもよいし、別個のエンジンまたはモジュールに実装されてもよい。例えば、ユーザＩＤが、例えば、ユーザＩＤチェックエンジン７０８を用いて、フローに対して決定されうる（例えば、ユーザＩＤは、送信元ＩＰアドレスに基づいて推定されうる）。また、図７に示すように、アプリケーション署名チェックエンジン７０８は、アプリケーションを識別する（例えば、パケットフロー解析に基づいてアプリケーションを識別するために様々なアプリケーション署名を用いるＡＰＰ−ＩＤエンジンを用いて）。例えば、ＡＰＰ−ＩＤエンジン７０８は、ＨＴＴＰトラフィック、ＨＴＴＰＳトラフィック、ＦＴＰトラフィック、ＳＳＬトラフィック、ＳＳＨトラフィック、ＤＮＳ要求、未知のトラフィック、および、様々なその他のタイプのトラフィックなど、セッションが含むトラフィックのタイプを決定するよう構成されてよく、かかる分類されたトラフィックは、各監視されたセッションのトラフィックフローについて分類されたトラフィックをデコードするために、適切なデコーダ（デコーダ７１２、７１４、および、７１６など）にダイレクトされうる。監視されたトラフィックが暗号化された（例えば、ＨＴＴＰＳ、ＳＳＬ、ＳＳＬ、または、別の周知の暗号化プロトコルを用いて暗号化された）場合、監視されたトラフィックは、復号エンジン７１０を用いて復号できる（例えば、自己署名証明書を用いる信頼された中間者技術を適用して）。既知プロトコルデコーダエンジン７１２が、既知のプロトコルを用いて（例えば、既知のプロトコルに対して様々な署名を適用して）、トラフィックフローをデコードおよび解析し、監視されたトラフィックの解析を報告／ポリシー施行エンジン７２０に報告する。識別済トラフィック（デコーディング不要）エンジン７１４が、識別されたトラフィックを報告／ポリシー施行エンジン７２０に報告する。未知プロトコルデコーダエンジン７１６が、（例えば、様々な経験則を適用して）トラフィックフローをデコードおよび解析し、監視されたトラフィックの解析を報告／ポリシー施行エンジン７２０に報告する。例えば、報告／ポリシー施行エンジン７２０は、動作命令（例えば、フローのドロップ、無視、または、分流）をＳＤＮネットワークデバイスに通信できる。
【００６１】
いくつかの実施形態において、上述の既知プロトコルデコーダエンジン７１２、識別済トラフィックエンジン７１４、および、未知プロトコルデコーダエンジン７１６を用いた様々なトラフィック監視技術の結果が、報告／ポリシー施行エンジン７２０に提供される（例えば、ネットワーク／ルーティングポリシー、セキュリティポリシー、および／または、ファイアウォールポリシー）。例えば、ファイアウォールポリシーは、監視されたネットワークトラフィックに適用され、アプリケーションＩＤ、ユーザＩＤ、および／または、その他の情報を用いて署名（例えば、ファイルベース、プロトコルベース、および／または、マルウェアまたは疑わしい行動を検出するためのその他のタイプ／形態の署名）を照合する。
【００６２】
いくつかの実施形態において、セキュリティコントローラ７００は、さらに、コンテンツＩＤエンジン（図示せず）を備えており、いくつかの実施形態において、コンテンツＩＤエンジンで識別されたコンテンツも、様々なセキュリティ／ファイアウォールポリシー／ルールを施行するために、場合によっては、他の情報（アプリケーション情報、ユーザ情報、および／または、その他の情報など）との様々な組み合わせで、報告／ポリシー施行エンジン７２０によって利用される。
【００６３】
いくつかの実施形態において、本明細書に記載したようにネットワークルーティングのためのパケット分類を提供するための技術を実施するために、様々な他の機能アーキテクチャおよびフローが提供される。例えば、これらの機能の一部は、汎用プロセッサ上で実行されるソフトウェアに実装されてよい、および／または、これらの機能の一部は、ネットワークトラフィックのより迅速なパケット処理のためにハードウェア加速技術を用いて実装されてよい。
【００６４】
図８は、いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するためのフローチャートである。工程８０２で、新しいフローに関連するパケットをネットワークデバイスからセキュリティコントローラで受信し、ここで、ネットワークデバイスは、パケット転送を実行する。工程８０４で、フローの分類を実行する。例えば、分類は、様々な実施形態に関して本明細書に記載したように、ポート、ＩＰアドレス、アプリケーション、ユーザ、デバイス、および／または、様々なその他の側面に基づきうる。工程８０６で、ポリシー（例えば、セキュリティポリシー）に基づいて、フローに対する動作を決定する。いくつかの実施形態において、ネットワークデバイスは、ソフトウェア定義ネットワーキング（ＳＤＮ）ネットワークデバイス（例えば、ＯｐｅｎＦｌｏｗプロトコルまたは別のプロトコルをサポートするパケット転送デバイス）である。
【００６５】
図９は、いくつかの実施形態に従って、ネットワークルーティングのためのパケット分類を提供するための別のフローチャートである。工程９０２で、新しいフローに関連するパケットをネットワークデバイスからセキュリティコントローラで受信し、ここで、ネットワークデバイスは、パケット転送を実行する。工程９０４で、フローの分類を実行する。例えば、分類は、様々な実施形態に関して本明細書に記載したように、ポート、ＩＰアドレス、アプリケーション、ユーザ、デバイス、および／または、様々なその他の側面に基づきうる。工程９０６で、ポリシー（例えば、セキュリティポリシー）に基づいて、フローに対する動作を決定する。いくつかの実施形態において、ネットワークデバイスは、ソフトウェア定義ネットワーキング（ＳＤＮ）ネットワークデバイス（例えば、ＯｐｅｎＦｌｏｗプロトコルまたは別のプロトコルをサポートするパケット転送デバイス）である。工程９０８で、フローに対する動作を実行するようネットワークデバイスに命令する（例えば、ＡＰＩメカニズムまたはタグ付けメカニズムを用いて）。工程９１０で、分流されたフローに関連する新しいパケットをネットワークデバイスからセキュリティコントローラで受信する。工程９１２で、分流されたフローをさらに分類する。例えば、かかるさらなる分類およびセキュリティポリシーに基づいて、分流されたフローは、無視またはドロップできるフローであると決定されうる。その場合、決定に基づいた適切な動作が、セキュリティコントローラからネットワークデバイスに通信されうる。
【００６６】
上述の実施形態は、理解しやすいようにいくぶん詳しく説明されているが、本発明は、提供された詳細事項に限定されるものではない。本発明を実施する多くの代替方法が存在する。開示された実施形態は、例示であり、限定を意図するものではない。
【図１】
2016528809.tif 000003
【図２】
2016528809.tif 000004
【図３】
2016528809.tif 000005
【図４】
2016528809.tif 000006
【図５】
2016528809.tif 000007
【図６】
2016528809.tif 000008
【図７】
2016528809.tif 000009
【図８】
2016528809.tif 000010
【図９】
2016528809.tif 000011
【手続補正書】
【提出日】平成28年3月16日(2016.3.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワークルーティングのためのパケット分類を実行するセキュリティコントローラのためのシステムであって、
プロセッサであって、
パケット転送を実行するネットワークデバイスから新しいフローに関連するパケットを受信し、
前記フローを分類し、
ポリシーに基づいて、前記フローに対する動作を決定するよう構成された、プロセッサと、
前記プロセッサに接続され、前記プロセッサに命令を提供するよう構成されたメモリと、
を備える、システム。
【請求項２】
請求項１に記載のシステムであって、前記ネットワークデバイスは、ソフトウェア定義ネットワーキング（ＳＤＮ）ネットワークデバイスである、システム。
【請求項３】
請求項１に記載のシステムであって、前記ポリシーは、セキュリティポリシーである、システム。
【請求項４】
請求項１に記載のシステムであって、前記プロセッサは、さらに、
前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するよう構成されている、システム。
【請求項５】
請求項１に記載のシステムであって、前記プロセッサは、さらに、
ＡＰＩメカニズムを用いて前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するよう構成されている、システム。
【請求項６】
請求項１に記載のシステムであって、前記プロセッサは、さらに、
前記フローに関連するパケットにタグ付けすることによって前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するよう構成されている、システム。
【請求項７】
請求項１に記載のシステムであって、前記プロセッサは、さらに、
前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するよう構成されており、前記動作は、前記フローをドロップすることである、システム。
【請求項８】
請求項１に記載のシステムであって、前記プロセッサは、さらに、
前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するよう構成されており、前記動作は、前記フローを無視することである、システム。
【請求項９】
請求項１に記載のシステムであって、前記プロセッサは、さらに、
前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するよう構成されており、前記動作は、前記フローを分流することである、システム。
【請求項１０】
請求項１に記載のシステムであって、前記プロセッサは、さらに、
前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令し、
前記フローに関連するさらなるパケットを前記ネットワークデバイスから受信するよう構成されており、
前記セキュリティコントローラは、前記フローのさらなる分類を実行する、システム。
【請求項１１】
ネットワークルーティングのためのパケット分類を実行するセキュリティコントローラの方法であって、
パケット転送を実行するネットワークデバイスから新しいフローに関連するパケットを前記セキュリティコントローラで受信する工程と、
ネットワークルーティングのためのパケット分類を実行する前記セキュリティコントローラのプロセッサを用いて、前記フローを分類する工程と、
ポリシーに基づいて、前記フローに対する動作を決定する工程と、
を備える、方法。
【請求項１２】
請求項１１に記載の方法であって、前記ネットワークデバイスは、ソフトウェア定義ネットワーキング（ＳＤＮ）ネットワークデバイスである、方法。
【請求項１３】
請求項１１に記載の方法であって、さらに、
前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令する工程を備える、方法。
【請求項１４】
請求項１１に記載の方法であって、さらに、
ＡＰＩメカニズムを用いて前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令する工程を備える、方法。
【請求項１５】
請求項１１に記載の方法であって、さらに、
前記フローに関連するパケットにタグ付けすることによって前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令する工程を備える、方法。
【請求項１６】
ネットワークルーティングのためのパケット分類を実行するためのコンピュータプログラムであって、
パケット転送を実行するネットワークデバイスから新しいフローに関連するパケットを受信するための機能と、
前記フローを分類するための機能と、
ポリシーに基づいて、前記フローに対する動作を決定するための機能と、
をコンピュータに実現させるコンピュータプログラム。
【請求項１７】
請求項１６に記載のコンピュータプログラムであって、前記ネットワークデバイスは、ソフトウェア定義ネットワーキング（ＳＤＮ）ネットワークデバイスである、コンピュータプログラム。
【請求項１８】
請求項１６に記載のコンピュータプログラムであって、さらに、
前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するための機能をコンピュータに実現させる、コンピュータプログラム。
【請求項１９】
請求項１６に記載のコンピュータプログラムであって、さらに、
ＡＰＩメカニズムを用いて前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するための機能をコンピュータに実現させる、コンピュータプログラム。
【請求項２０】
請求項１６に記載のコンピュータプログラムであって、さらに、
前記フローに関連するパケットにタグ付けすることによって前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するための機能をコンピュータに実現させる、コンピュータプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００６６
【補正方法】変更
【補正の内容】
【００６６】
上述の実施形態は、理解しやすいようにいくぶん詳しく説明されているが、本発明は、提供された詳細事項に限定されるものではない。本発明を実施する多くの代替方法が存在する。開示された実施形態は、例示であり、限定を意図するものではない。
［適用例１］
ネットワークルーティングのためのパケット分類を実行するセキュリティコントローラのためのシステムであって、
プロセッサであって、
パケット転送を実行するネットワークデバイスから新しいフローに関連するパケットを受信し、
前記フローを分類し、
ポリシーに基づいて、前記フローに対する動作を決定するよう構成された、プロセッサと、
前記プロセッサに接続され、前記プロセッサに命令を提供するよう構成されたメモリと、
を備える、システム。
［適用例２］
適用例１に記載のシステムであって、前記ネットワークデバイスは、ソフトウェア定義ネットワーキング（ＳＤＮ）ネットワークデバイスである、システム。
［適用例３］
適用例１に記載のシステムであって、前記ポリシーは、セキュリティポリシーである、システム。
［適用例４］
適用例１に記載のシステムであって、前記プロセッサは、さらに、
前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するよう構成されている、システム。
［適用例５］
適用例１に記載のシステムであって、前記プロセッサは、さらに、
ＡＰＩメカニズムを用いて前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するよう構成されている、システム。
［適用例６］
適用例１に記載のシステムであって、前記プロセッサは、さらに、
前記フローに関連するパケットにタグ付けすることによって前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するよう構成されている、システム。
［適用例７］
適用例１に記載のシステムであって、前記プロセッサは、さらに、
前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するよう構成されており、前記動作は、前記フローをドロップすることである、システム。
［適用例８］
適用例１に記載のシステムであって、前記プロセッサは、さらに、
前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するよう構成されており、前記動作は、前記フローを無視することである、システム。
［適用例９］
適用例１に記載のシステムであって、前記プロセッサは、さらに、
前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するよう構成されており、前記動作は、前記フローを分流することである、システム。
［適用例１０］
適用例１に記載のシステムであって、前記プロセッサは、さらに、
前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令し、
前記フローに関連するさらなるパケットを前記ネットワークデバイスから受信するよう構成されており、
前記セキュリティコントローラは、前記フローのさらなる分類を実行する、システム。
［適用例１１］
ネットワークルーティングのためのパケット分類を実行するセキュリティコントローラの方法であって、
パケット転送を実行するネットワークデバイスから新しいフローに関連するパケットを前記セキュリティコントローラで受信する工程と、
ネットワークルーティングのためのパケット分類を実行する前記セキュリティコントローラのプロセッサを用いて、前記フローを分類する工程と、
ポリシーに基づいて、前記フローに対する動作を決定する工程と、
を備える、方法。
［適用例１２］
適用例１１に記載の方法であって、前記ネットワークデバイスは、ソフトウェア定義ネットワーキング（ＳＤＮ）ネットワークデバイスである、方法。
［適用例１３］
適用例１１に記載の方法であって、さらに、
前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令する工程を備える、方法。
［適用例１４］
適用例１１に記載の方法であって、さらに、
ＡＰＩメカニズムを用いて前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令する工程を備える、方法。
［適用例１５］
適用例１１に記載の方法であって、さらに、
前記フローに関連するパケットにタグ付けすることによって前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令する工程を備える、方法。
［適用例１６］
ネットワークルーティングのためのパケット分類を実行するセキュリティコントローラのためのコンピュータプログラム製品であって、有形で持続性のコンピュータ読み取り可能な記憶媒体内に具現化され、
パケット転送を実行するネットワークデバイスから新しいフローに関連するパケットを前記セキュリティコントローラで受信するためのコンピュータ命令と、
前記フローを分類するためのコンピュータ命令と、
ポリシーに基づいて、前記フローに対する動作を決定するためのコンピュータ命令と、
を備える、コンピュータプログラム製品。
［適用例１７］
適用例１６に記載のコンピュータプログラム製品であって、前記ネットワークデバイスは、ソフトウェア定義ネットワーキング（ＳＤＮ）ネットワークデバイスである、コンピュータプログラム製品。
［適用例１８］
適用例１６に記載のコンピュータプログラム製品であって、さらに、
前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するためのコンピュータ命令を備える、コンピュータプログラム製品。
［適用例１９］
適用例１６に記載のコンピュータプログラム製品であって、さらに、
ＡＰＩメカニズムを用いて前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するためのコンピュータ命令を備える、コンピュータプログラム製品。
［適用例２０］
適用例１６に記載のコンピュータプログラム製品であって、さらに、
前記フローに関連するパケットにタグ付けすることによって前記フローに対する前記動作を実行するよう前記ネットワークデバイスに命令するためのコンピュータ命令を備える、コンピュータプログラム製品。
【国際調査報告】
2016528809.tif 000012