Network Driver Interface Specification

(Reindirizzamento da NDIS)

La Specifica di Interfaccia di Driver di rete (NDIS) è un'interfaccia per la programmazione di applicazioni (API) per schede di rete (NICs).

Storia e descrizione

modifica

È stata sviluppata da Microsoft e 3Com: è utilizzata da Microsoft Windows e da vari progetti open source driver wrapper NDISwrapper e Project Evil che permettono a molte schede compatibili con NDIS di essere usate con Linux, FreeBSD e NetBSD. magnussoft ZETA, un derivato di BeOS, supporta un gran numero di driver NDIS.

La NDIS è una connessione logica di controllo Logical Link Control (LLC) che forma lo strato superiore dello strato di connessione dati nel livello datalink (livello 2 di 7) del modello OSI e agisce come un'interfaccia tra i livelli 2 e 3 (il livello di rete). Il livello più basso è il driver del dispositivo di controllo di accesso sul Media Access Control (MAC).

La NDIS è una libreria di funzioni a cui spesso ci si riferisce come a un "wrapper" che nasconde la complessità dello strato sottostante del NIC hardware e serve come interfaccia standard per i driver di protocollo di livello 3 e il livello dei driver del livello hardware MAC. Un altro comune LLC è l'interfaccia Open Data-Link Interface (ODI).

Il traffico accettato dal NIC è controllato dal driver NDIS Miniport, mentre vari protocolli, come il TCP/IP, sono implementati dai driver di protocollo della NDIS. Una singola miniport può essere associata con uno o più protocolli. Questo significa che il traffico che arriva nella miniport può essere ricevuto in parallelo da diversi driver di protocollo. Per esempio, Winpcap aggiunge un secondo driver di protocollo sulla miniport selezionata allo scopo di intercettare i pacchetti in ingresso. Inoltre, è possibile simulare diversi NIC virtuali implementando driver di miniporte che spediscono e ricevono traffico da un singolo NIC fisico. Un esempio d'uso di driver di miniport virtuali è l'aggiunta di NIC virtuali, ciascuno con differenti Virtual LAN. Poiché le implementazioni non possono sapere in anticipo se altri driver riceveranno lo stesso buffer, uno deve trattare il buffer in ingresso come di sola lettura. Un driver che cambia il contenuto di un pacchetto, deve allocare il proprio buffer.

Un altro tipo di driver è quello intermedio della NDIS. I driver intermedi sono localizzati tra il MAC e il livello IP e possono controllare tutto il traffico che sarà accettato da una scheda di rete NIC. In pratica, i driver intermedi implementano entrambe le interfacce di miniport e protocollo. Il driver di miniport e di protocollo comunicano realmente con il corrispondente protocollo e l'interfaccia miniport che risiede nel driver intermedio. Questa scelta progettuale permette l'aggiunta di una catena di diversi driver intermedi tra la miniport e i driver di protocollo. Quindi, i venditori di driver devono stare attenti e non presumere che il traffico che essi spediscono all'esterno verso la successiva interfaccia sia implementato dall'ultimo driver nella catena. Allo scopo di scrivere applicazioni che usano la NDIS uno può usare gli esempi che accompagnano il Microsoft's Windows Driver Kit (WDK). L'esempio di filtro "PassThru" è un buon punto di inizio per i filtri intermedi poiché implementa tutti i dettagli necessari, richiesti nel tipo di driver, ma questo lascia semplicemente passare tutto il traffico verso il filtro successivo della catena.

Cronologia revisioni

modifica

Seguono le versioni di NDIS, supportate dalle varie versioni di Windows[1]:

  1. ^ (EN) aviviano, Overview of NDIS versions - Windows drivers, su docs.microsoft.com. URL consultato il 12 luglio 2022.

Collegamenti esterni

modifica
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica