WFP アーキテクチャ
次の図は、Windows フィルタリング プラットフォーム (WFP) の基本的なアーキテクチャを示しています。
フィルター エンジン
フィルター エンジンには、ユーザー モード コンポーネントとカーネル モード コンポーネントが含まれています。このコンポーネントは、ネットワーク データに対するすべてのフィルター処理操作を一緒に実行します。 フィルター エンジンには、オペレーティング システムのネットワーク スタック レイヤーに疎にマップされる複数のフィルターレイヤーが含まれています。 フィルター エンジン レイヤーは、それらを所有するフィルター エンジン コンポーネントに基づいて、ユーザー モード レイヤーとカーネル モード レイヤーに分割されます。
ユーザー モード コンポーネントは、RPC と IPsec のフィルター処理を実行します。 フィルター エンジンには、約 10 個のユーザー モード フィルター レイヤーが含まれています。
カーネル モード コンポーネントは、TCP/IP スタックのネットワーク層とトランスポート 層でフィルター処理を実行します。 このコンポーネントは、分類 プロセス中に使用可能な吹き出し関数も呼び出します。 フィルター エンジンには、約 50 個のカーネル モード フィルター レイヤーが含まれています。
各フィルター エンジン レイヤーの説明については、「フィルターレイヤー識別子」を参照してください。
ベースフィルタリングエンジン
基本フィルタリング エンジン (BFE) は、WFP コンポーネントを調整するユーザー モード サービス (bfe.dll svchost.exe プロセスで実行されます) です。 BFE によって実行される主なタスクは、システムのフィルターの追加と削除、フィルター構成の格納、WFP 構成セキュリティの適用です。 アプリケーションは、WFP 管理機能を介して BFE と通信します。
コールアウト ドライバー
吹き出しドライバーは、1 つ以上のカーネル モード フィルター レイヤーでフィルター エンジンにカスタム吹き出し関数を追加することで、追加のフィルター機能を提供します。 コールアウトでは、詳細な検査とパケット、およびストリームの変更がサポートされます。 吹き出しドライバーがフィルター エンジンに引き出し関数を追加した後、特定のドライバーの吹き出し関数を指定するフィルターをフィルター処理プロセスに追加できます。 このようなフィルターは、ユーザー モード管理アプリケーションまたはコールアウト ドライバー自体によって追加できます。 Windows 開発キットで提供されるカーネル モード インターフェイスは、ユーザー モード API の代わりにではなく、必要な場所でのみ使用する必要があります。
手記
コールアウト ドライバーの詳細については、Windows 開発キットのにある「
Windows フィルタリング プラットフォームには、IPsec のセキュリティで保護されたデータ通信、ステートフル フィルター設定、およびステルス モードのフィルター処理に使用できる組み込みのコールアウト関数が多数含まれています。 組み込みの吹き出し関数の完全な一覧については、「組み込みの吹き出し識別子の」を参照してください。
関連トピック