Condividi tramite


Ricezione e conversione degli indirizzi della scheda di interfaccia di rete

Il commutatore Windows Sockets usa sempre le famiglie di indirizzi WSK , che contengono indirizzi IP, quando interagisce con i provider di servizi SAN e le NIC SAN. L'interruttore non usa la famiglia di indirizzi nativa di una SAN. Pertanto, un provider di servizi SAN deve usare il driver proxy associato per recuperare l'elenco di indirizzi IP assegnati alle schede di interfaccia di rete. Il provider di servizi SAN usa questi indirizzi IP durante l'interazione con il driver proxy. Il driver proxy deve convertire tra indirizzi IP e indirizzi nativi.

Durante l'inizializzazione, un driver proxy viene in genere registrato con Transport Driver Interface (TDI) per le notifiche di modifica degli indirizzi. Tutti i trasporti compatibili con Plug and Play (PnP), tra cui TCP/IP, forniscono notifiche di modifica degli indirizzi attraverso TDI ai client registrati per tali notifiche.

Nota TDI non sarà supportato nelle versioni di Microsoft Windows dopo Windows Vista. In alternativa, usare Piattaforma di Filtro Windows o Kernel Winsock.

Registrazione per la notifica di modifica dell'indirizzo

Durante l'inizializzazione, un driver proxy chiama la funzione TdiRegisterPnPHandlers per la registrazione per le notifiche di modifica degli indirizzi. In questa chiamata, il driver proxy passa puntatori alle funzioni di callback per l'aggiunta e la rimozione degli indirizzi nei membri AddAddressHandlerV2 e DelAddressHandlerV2 della struttura TDI_CLIENT_INTERFACE_INFO. Dopo la registrazione del driver proxy per ricevere queste notifiche, TDI indica tempestivamente tutti gli indirizzi di rete attualmente attivi usando il callback dell'indirizzo aggiuntivo.

TDI passa i seguenti parametri alle funzioni di callback per aggiungere o eliminare un indirizzo del driver proxy:

Indirizzo
Puntatore a una struttura TA_ADDRESS che descrive l'indirizzo di rete assegnato o rimosso dalla scheda di interfaccia di rete. Nel caso di TCP/IP, questo puntatore è in realtà un puntatore a una struttura TA_ADDRESS_IP.

DeviceName
Puntatore a una stringa Unicode che identifica l'associazione tra trasporto e scheda di interfaccia di rete con cui l'indirizzo è associato. Nel caso di TCP/IP, la stringa Unicode ha il formato seguente:

\Device\Tcpip_{NIC-GUID}

dove NIC-GUID è l'identificatore univoco globale assegnato dal sottosistema di configurazione di rete alla scheda di interfaccia di rete.

Le definizioni di struttura precedenti sono definite nel file di intestazione tdi.h. Le funzioni di registrazione e callback precedenti sono definite nel file header tdikrnl.h. Questi file di intestazione sono disponibili nel Microsoft Windows Driver Development Kit (DDK) e nel Windows Driver Kit (WDK). Le informazioni dettagliate sulle notifiche PnP TDI sono incluse nei callback del client TDI e nei gestori di eventi e notifiche PnP del client TDI .

Nota TDI non sarà supportato nelle versioni di Microsoft Windows dopo Windows Vista. In alternativa, usare Piattaforma di Filtro Windows o Kernel Winsock.

Gestione di un elenco di indirizzi IP

Il driver proxy di un provider di servizi SAN usa notifiche di indirizzo aggiuntivo e indirizzo di eliminazione per mantenere l'elenco di indirizzi IP assegnati a ogni scheda di interfaccia di rete sotto il relativo controllo. Il driver proxy usa questo elenco per convertire uno o più indirizzi IP assegnati a una scheda di interfaccia di rete SAN tramite il trasporto TCP/IP e gli indirizzi SAN nativi. Il driver proxy deve anche fornire una routine di controllo dei dispositivi che rende disponibile l'elenco di indirizzi IP assegnati a una NIC al commutatore Windows Sockets quando effettua una query con il codice di controllo SIO_ADDRESS_LIST_QUERY. La routine DriverEntry del driver proxy deve specificare un punto di ingresso per questa routine di controllo del dispositivo.

L'opzione Windows Sockets mantiene un elenco di tutti gli indirizzi IP assegnati a ogni scheda di interfaccia di rete SAN. Per recuperare gli indirizzi IP per questo elenco inclusivo, lo switch chiama la funzione WSPIoctl del provider di servizi SAN, passando il codice di controllo SIO_ADDRESS_LIST_QUERY. Ogni provider di servizi SAN, a sua volta, esegue una query sul driver proxy associato per individuare il singolo elenco di indirizzi IP assegnati alle schede di interfaccia di rete SAN. Dopo che il switch viene notificato di una modifica dell'indirizzo, interroga nuovamente ciascun provider di servizi SAN per gli aggiornamenti in ogni singola lista.