ネットワーク ドライバー設計ガイドのナビゲーション
Microsoft Windows ベースのオペレーティング システムでは、いくつかの種類のカーネル モード ネットワーク ドライバーがサポートされています。 Windows Driver Kit (WDK) ドキュメントのネットワーク セクションでは、これらのネットワーク ドライバーを記述する方法について説明します。 このトピックでは、サポートされているネットワーク ドライバーの種類について簡単に説明し、各種類のネットワーク ドライバーを記述する前に読む必要があるネットワーク セクションのセクションについて説明します。
このネットワーク ドライバー設計ガイドでは、次のネットワーク ドライバー インターフェイス仕様 (NDIS) インターフェイスについて説明します。
NDIS 6.40。Windows 8.1、Windows Server 2012 R2、およびそれ以降のバージョンの Windows でサポートされています。 NDIS 6.30 には、ネットワーク ダイレクト カーネル プロバイダー インターフェイス (NDKPI) 1.12 のサポートが含まれています。
NDIS 6.30 の詳細については、「NDIS 6.40 の概要」を参照してください>。
NDIS 6.30。Windows 8、Windows Server 2012 以降のバージョンの Windows でサポートされています。 NDIS 6.30 には、シングル ルート/I/O 仮想化 (SR-IOV)、Hyper-V 拡張可能スイッチ、ネットワーク ダイレクト カーネル プロバイダー インターフェイス (NDKPI) 1.1、およびその他のサービスのサポートが含まれています。
NDIS 6.30 の詳細については、「NDIS 6.30 の概要」を参照してください>。
NDIS 6.20。Windows 7、Windows Server 2008 R2、およびそれ以降のバージョンの Windows でサポートされています。 NDIS 6.20 には、仮想マシン キュー (VMQ)、受信側スロットル、およびその他のサービスのサポートが含まれています。
NDIS 6.20 の詳細については、「NDIS 6.20 の概要」を参照してください>。
NDIS 6.1。Windows Vista Service Pack 1 (SP1)、Windows Server 2008、およびそれ以降のバージョンの Windows でサポートされています。 NDIS 6.1 には、ヘッダー データ分割、直接 OID 要求、およびその他のサービスのサポートが含まれています。
NDIS 6.1 の詳細については、「NDIS 6.1の概要」を参照してください。
NDIS 6.0。Windows Vista 以降のバージョンの Windows でサポートされています。 NDIS 6.0 には、フィルター ドライバーと以前の NDIS バージョンでは提供されなかった多くの追加サービスのサポートが含まれています。 NDIS 6.0 には、ドライバーの初期化とネットワーク データ管理に関する主要な更新プログラムが含まれています。これには、実行時のドライバー再構成に必要なサポートや、ネットワーク パケット データを処理するための NET_BUFFER アーキテクチャが含まれます。 ランタイム再構成のサポートの詳細については、「ドライバー スタック管理」を参照してください。 NDIS 6.0 でネットワーク パケット データを処理する方法の詳細については、「NET_BUFFER アーキテクチャ」を参照してください。
NDIS 6.0 の詳細については、「NDIS 6.0 の概要」を参照してください>。
Windows Vista 以降のオペレーティング システム バージョンでは、次の種類のカーネル モード NDIS ベースのネットワーク ドライバーがサポートされています。
ミニポート ドライバー
ミニポート ドライバーは、ミニポート アダプターを管理し、上位レベルのドライバーのアダプターへのインターフェイスを提供します。 ミニポート アダプターは、物理デバイスまたは仮想デバイスを表すことができる概念エンティティです。 たとえば、ミニポート アダプターは、ネットワーク インターフェイス カード (NIC) または中間ドライバーに関連付けられている仮想デバイスを表すことができます。
接続指向ミニポート Call Manager (MCM)、Windows ドライバー モデル (WDM) ミニポート ドライバー、中間ドライバーの上端などミニポート ドライバーの多くのバリエーションがあります。
プロトコル ドライバー
プロトコル ドライバーは 、ドライバー スタックで高レベルのサービスを提供します。 プロトコル ドライバーは、基になるミニポート アダプターにバインドします。 上位レベルのプロトコル ドライバーは、ネットワークのユーザーにサービスを提供するインターフェイス (場合によってはアプリケーション固有のインターフェイス) を上端に実装します。 その下端では、プロトコル ドライバーは、ネットワーク データを渡し、次の下位ドライバーからの受信データを受信するプロトコル インターフェイスを提供します。
接続指向 Call Manager (MCM)、接続指向クライアント、中間ドライバーの下端など、プロトコル ドライバーにはさまざまなバリエーションがあります。
フィルター ドライバー
フィルター ドライバーは 、プロトコル ドライバーとミニポート ドライバーの間をつなぐインターフェイスに関する情報をフィルター処理します。 フィルター モジュール は、プロトコル ドライバーとミニポート アダプターの間のバインドにアタッチされ、一般に他のドライバーに対して透過的です。 フィルター ドライバーは、フィルターの変更または監視を実装できます。 たとえば、フィルター ドライバーは、基になるミニポート アダプターが提供するサービスを強化したり、単に統計情報を収集したりできます。
中間ドライバー
中間ドライバー は、上位レベルの プロトコル ドライバーとミニポート ドライバーの間をつなぐインターフェイスです。 中間ドライバーは、上にあるプロトコル ドライバーにバインドする上端にミニポート ドライバー インターフェイスを提供します。 中間ドライバーは、基になるミニポートアダプターにバインドするために、その下端にプロトコル ドライバー インターフェースを提供します。 中間ドライバーは、通常、n 対 m のマルチプレクサー サービスを実装するために使用されます。 たとえば、中間ドライバーは、負荷分散とフェールオーバー ソリューションを実装できます。
中間ドライバーは、ミニポート中間ドライバーとして構成されている場合にハードウェアを管理することもできます。
Windows ネットワーク アーキテクチャとプログラミングに関する考慮事項の詳細については、「カーネル モード ドライバーのネットワーク アーキテクチャ」と「ネットワーク ドライバーのプログラミングに関する考慮事項」を参照してください。
ネットワーク コンポーネントのインストールに使用されるネットワーク INF ファイルの詳細については、「ネットワーク コンポーネントのインストール」を参照してください。 たとえば、バインディングを制御するためにネットワーク ドライバーに通知オブジェクトが必要な場合は、「ネットワーク コンポーネントのオブジェクトに通知する」も参照してください。
特定のハードウェア テクノロジとアーキテクチャを使用するには、次の追加のドライバー モデルを使用できます。
テクノロジ | 説明 |
---|---|
次のような、ネットワーク アダプターへのタスクのオフロードをサポートするネットワーク テクノロジー。
|
|
次のような Hyper-V 仮想化環境をサポートするネットワーク テクノロジー。 |
|
ネイティブ 802.11 ワイヤレス LAN を含むネットワーク機能。 |
|
ドライバーがネットワーク モジュールを相互に接続できるようにするシステム機能。 |
|
カーネル モードのネットワーク プログラミング インターフェイス (NPI)。 |
|
ドライバーがローカル コンピューターのネットワーク構成に関する情報を取得および変更できるようにするユーティリティ関数のセット。 |
|
ネットワーク データの詳細な検査、パケット変更、ストリーム変更、ログ記録を可能にするカーネル モード インターフェイス。 |
|
Windows ソケット ダイレクトを使用して、高パフォーマンスの接続指向ネットワークをサポートするネットワーク接続の種類。 |
|
USB バス経由で設定されたシステム提供のバスに依存しないメッセージを定義するクラス仕様。 |