Network Driver Interface Specification (NDIS) について
Network Driver Interface Specification (NDIS) は、ネットワークカードとオペレーティングシステム間の通信を円滑にするための重要なAPIです。これは、
マイクロソフトと3Comによって共同開発され、主に
Microsoft Windows環境で使用されています。しかし、その汎用性の高さから、オープンソースの NdisWrapper や Project Evil のようなドライバラッパーを通じて、
LinuxやFreeBSDといった他のオペレーティングシステムでもNDIS準拠のネットワークカードが利用可能になっています。さらに、
BeOSから派生したZETAも、いくつかのNDISドライバをサポートしています。
NDISの役割
NDISは、
OSI参照モデルにおけるデータリンク層、具体的には論理リンク制御 (LLC) に相当する部分で動作します。これは、ネットワーク層(第3層)と
媒体アクセス制御 (MAC)
デバイスドライバ(第2層の下位サブレイヤー)との間のインターフェースとして機能します。NDISは、ハードウェアの複雑さを隠蔽し、ネットワークプロトコルドライバに対して標準化されたインターフェースを提供することで、開発の効率化とシステムの安定性を高めています。同様のLLC機能を提供するものとして、Open Data-Link Interface (ODI) が存在します。
NDISの機能
NDISの中核となるのは、ラッパーと呼ばれる機能群の
ライブラリです。このラッパーが、下位のハードウェアの複雑さを抽象化し、上位のネットワークプロトコルドライバに対して一貫したインターフェースを提供します。これにより、開発者はハードウェアの違いを意識することなく、ネットワークプロトコルの開発に集中できます。また、Wireless Zero Configuration (WZC) のコンポーネントとして、NDIS User Mode I/O (NDISUIO) プロトコルドライバが存在します。これは、Windows XPに含まれる
マイクロソフト製のドライバで、通常、IEEE 802.3ドライバ(ミニポート)と共にインストールされます。
各WindowsバージョンにおけるNDISの進化
NDISは、Windowsの進化と共にバージョンアップを重ねてきました。以下は、各WindowsバージョンでサポートされているNDISバージョンのリストです。
- - NDIS 2.0: MS-DOS, Windows for Workgroups 3.1
- - NDIS 3.0: Windows for Workgroups 3.11, NT 3.5
- - NDIS 3.1: Windows 95
- - NDIS 4.0: Windows 95 OSR2, NT 4.0
- - NDIS 4.1: Windows 98, NT 4.0 SP3
- - NDIS 5.0: Windows 98 SE, Me, 2000
- - NDIS 5.1: Windows XP
- - NDIS 5.2: Windows Server 2003
- - NDIS 6.0: Windows Vista
- - NDIS 6.1: Windows Vista SP1, Server 2008
- - NDIS 6.2: Windows 7, Server 2008 R2
- - NDIS 6.3: Windows 8, Server 2012
- - NDIS 6.4: Windows 8.1, Server 2012 R2
- - NDIS 6.50: Windows 10 1507
- - NDIS 6.51: Windows 10 1511
- - NDIS 6.60: Windows 10 1607, Windows Server 2016
- - NDIS 6.70: Windows 10 1703
- - NDIS 6.80: Windows 10 1709
- - NDIS 6.81: Windows 10 1803
- - NDIS 6.82: Windows 10 1809, Windows Server 2019
- - NDIS 6.83: Windows 10 1903
このように、NDISはWindowsの各バージョンに合わせて進化し、最新のネットワーク技術をサポートし続けています。
まとめ
NDISは、ネットワークドライバ開発における重要な要素であり、OSとネットワークカード間の円滑な通信を支えています。その標準化されたインターフェースは、異なるOSでの利用を可能にし、開発の効率化に貢献しています。
関連項目
- - NdisWrapper
- - Open Data-Link Interface (ODI)
- - Uniform Driver Interface (UDI)
外部リンク