インターフェイスドライバーとは
インターフェイスドライバーは、コンピューターソフトウェアとネットワークインターフェイスカード(NIC)のハードウェア間の連絡役として機能する小さなコンピュータープログラムまたはプログラムのセットです。 NICメーカーとプログラマーは、ネットワークドライバーインターフェイス仕様(NDIS)と呼ばれる特定のアプリケーションプログラミングインターフェイス(API)を使用します。 オペレーティングシステムなどのコンピュータープログラムがNICと対話するために必要なすべての規則を規定しています。 実際には、NDISで説明されているインターフェイスドライバーにはいくつかの種類がありますが、本質的に、NDISの主な仕事は、いくつかのOpen Systems Interconnect(OSI)モデルのレイヤーを相互に連携させることです。
OSIモデルは7つの層で構成され、そのうちのいくつかは複数のサブ層を持っています。 最初のレイヤーは物理レイヤーで、ユニバーサルシリアルバス(USB)ドングル、イーサネットカード、ワイヤレスアダプターカードなどのNICの物理仕様を扱います。 OSIモデルの2番目と3番目の層は、すべてのNDISマジックが発生する場所です。 2番目の層はデータリンク層であり、2つのサブ層で構成されます。上位層は論理リンク制御(LLC)と呼ばれ、下位層はメディアアクセス制御(MAC)と呼ばれます。 デバイスドライバーはMACサブレイヤーを処理し、インターフェイスドライバーはLLCサブレイヤーを処理し、OSIモデルの3番目のレイヤーであるネットワークレイヤーとの間のインターフェイスを提供します。
NDISは、仲介者として機能し、NICのハードウェアの複雑な複雑さをすべてまとめ、通信に必要なネットワークプロトコルとの相互作用のための一連の機能を提供します。 プログラマは、NDISに記載されている規則に従って、実際のインターフェイスドライバーを作成するだけです。 下位ハードウェアレベルでは、これらのドライバーはミニポートドライバーと呼ばれ、上位レベルドライバーはNDIS APIを使用して記述され、インターネットプロトコル(IP)、インターネットプロトコルセキュリティ(IPsec)、インターネット制御メッセージプロトコルなどのコアネットワークプロトコルを処理します(ICMP)、およびインターネットワークパケット交換(IPX)など。
ネットワーク通信がNICを介して発生すると、データビットが最初に物理デバイスによって受信され、次にOSIモデルのアーキテクチャを通じて、データがハードウェアからOSIモデルのさまざまなレイヤーに移動し、より多くの形式で表示されますユーザーが簡単に理解できます。 したがって、モデルの各レイヤーは、その近隣にサービスを提供します。 データは第1層である物理層を離れ、第2層の下位サブ層のMACに到達し、デバイスドライバーはそれをLLCに渡します。 その後、LLCのプロトコルドライバーは、ネットワークレイヤーに移動します。
別の種類のインターフェイスドライバーは中間ドライバーです。これは、ミニポートドライバーとネットワークプロトコルドライバーの両方のインターフェイスを含む、ハウジングのようなものとして機能します。 その後、これらの中間ドライバーをチェーン化して、インターフェイスドライバーがNICが受信するトラフィックを制御できるようにします。 中間ドライバーは、データフィルタリング、負荷分散、ネットワークトラフィックの監視、統計情報の収集など、さまざまなニーズに役立ちます。 また、古いトランスポートドライバーと、古いドライバーが理解できないメディア形式と通信するミニポートドライバーとの間のトランスレーターとしても機能します。
NDISはもともとMicrosoft®が3Com®と連携して開発したため、多くのハードウェアメーカーがMicrosoft®オペレーティングシステムを最初にサポートするドライバーを作成しています。 その結果、NDISは32ビットまたは64ビットプロセッサのIntel®80386ファミリに基づいたコンピュータハードウェアアーキテクチャに制限されています。 フリーソフトウェアムーブメントは、NDISWrapperと呼ばれるプログラムも開発しました。このプログラムは、Microsoft®Windows®用に開発されたインターフェイスドライバーをロードして、Linux®などのフリーなUnix®のようなオペレーティングシステムで使用できます。 また、FreeBSD®やNetBSD®などのBerkley Software Distributions(BSD)の無料派生製品のユーザーは、Project Evilとして知られるプロジェクトによって開発されたソフトウェアを使用して、Windows®インターフェースドライバーを使用できることを発見しました。 NDISのx86ハードウェアの制限により、オープンデータリンクインターフェイス(ODI)と呼ばれる、AppleとNovell®によって開発された別のプロジェクトに至りました。これは、NDISとほぼ同じルールと機能を提供しますが、Apple®Macintosh&; およびNovellNetWare®システム。