Cos'è un driver di interfaccia?
Un driver di interfaccia è un piccolo programma per computer, o un insieme di programmi, che funge da collegamento tra software per computer e l'hardware di una scheda di interfaccia di rete (NIC). I produttori e i programmatori NIC utilizzano una specifica interfaccia di programmazione dell'applicazione (API) nota come Specifica dell'interfaccia del driver di rete (NDIS). Stabilisce tutte le regole necessarie per un programma per computer, come un sistema operativo, per interagire con una NIC. In realtà ci sono diversi tipi di driver di interfaccia descritti sotto gli NDIS ma, in sostanza, il lavoro principale dell'NDIS è quello di ottenere un paio di strati del modello Open Systems Interconnection (OSI) per collaborare tra loro. Il primo strato è lo strato fisico, che si occupa delle specifiche fisiche per un NIC come un dongle universale di autobus seriale (USB), una carta Ethernet, una scheda adattatore wireless e così via. Il secondo e il terzo livello del modello OSI sono dove tutti iNDIS Magic accade. Il secondo livello è il livello di collegamento dati ed è costituito da due sotto-strati, la parte superiore indicata come Logical Link Control (LLC) e il Controllo di accesso ai media (Mac) inferiore. Un driver del dispositivo gestisce il sottotelatore MAC, mentre il driver dell'interfaccia gestisce il sottotela LLC, fornendo un'interfaccia tra esso e il terzo livello del modello OSI, il livello di rete.
Funzionando come intermediario, un NDIS essenzialmente avvolge tutta la complessità confusa dell'hardware di una NIC e fornisce una serie di funzioni per la sua interazione con i protocolli di rete necessari per la comunicazione. Un programmatore deve semplicemente seguire le regole stabilite negli NDI per creare i driver di interfaccia effettivi. A livello di hardware più basso, questi driver sono noti come driver miniport, mentre i driver di livello superiore sono scritti utilizzando l'API NDIS per gestire i protocolli di rete di base come il protocollo Internet;
Quando la comunicazione di rete si verifica tramite una NIC, i bit di dati vengono ricevuti per la prima volta dal dispositivo fisico e quindi, attraverso l'architettura del modello OSI, i dati vengono spostati dall'hardware verso l'alto i diversi livelli del modello OSI fino a quando non vengono presentati in un formato più facilmente comprensibile dall'utente. Pertanto, ogni livello del modello fornisce servizi ai suoi vicini. I dati lasciano il primo livello, il livello fisico e colpiscono il Mac del sotto-livello inferiore nel secondo livello, in cui il driver del dispositivo lo passa lungo la LLC. I driver del protocollo di LLC spostali quindi fino al livello di rete.
Un altro tipo di driver di interfaccia è il driver intermedio, che funge da qualcosa di alloggiamento, contenente interfacce sia per i driver miniport che per i driver di protocollo di rete. Questi driver intermedi possono quindi essere incatenati e fornire tLa capacità per il driver dell'interfaccia di controllare il traffico ricevuto dalla NIC. I driver intermedi sono utili per varie esigenze, come il filtro dei dati, il bilanciamento del carico, il monitoraggio del traffico di rete e la raccolta di informazioni statistiche. Funzionano anche bene come traduttore tra i conducenti di trasporto più vecchi e un driver miniport che parla con un formato multimediale che il driver più vecchio non può capire.
L'NDIS è stato originariamente ideato da Microsoft®, lavorando insieme a 3COM®, così tanti produttori di hardware scrivono i loro driver per supportare prima i sistemi operativi Microsoft®. Di conseguenza, l'NDIS è limitato alle architetture hardware del computer basate sulla famiglia Intel® 80386 di processori a 32 o 64 bit. Il movimento del software gratuito ha anche sviluppato un programma, chiamato NDISWrapper, in grado di caricare driver di interfaccia originariamente sviluppati per Microsoft® Windows® per l'uso con sistemi operativi gratuiti, simili a UNIX® come Linux®. Utenti delI derivati gratuiti di Berkley Software Distributions (BSD), come FreeBSD® e NetBSD®, hanno anche trovato la possibilità di utilizzare i driver di interfaccia Windows® attraverso l'uso del software sviluppato da un progetto noto come Project Evil. Le limitazioni hardware X86 degli NDI hanno portato a un altro progetto, sviluppato da Apple e Novell®, chiamato Open Data-Link Interface (ODI), che ha fornito gran parte delle stesse regole e funzionalità degli NDI ma con particolare attenzione a Apple® Macintosh &; e Novell Netware® Systems.