Le reti Windows e TCP/IP




La crescita e la diffusione di Internet unitamente alla necessità di integrare servizi LAN e servizi Internet, ha reso necessaria l'adozione dell'architettura TCP/IP anche nelle reti locali.
Nelle reti Windows perciò e funzionalità di rete sono svolte da servizi che utilizzano TCP/UDP come protocollo  di trasporto e IP come protocollo di instradamento
In figura sono riportati i tre principali servizi e la loro interfaccia verso TCP/IP


L'interfaccia che permette a questi servizi di dialogare con TCP/IP è NetBIOS su TCP o NETBT.
NetBT fornisce tre tipi di servizi   Il Datagram Service usa la porta UDP 138 ed è usato dal Messenger per inviare/ricevere messaggi di dimensioni limitate (512 bytes) in modalità non connessa, diretti ad un nodo della rete o in broadcast.
Il Session Service è utilizzato da applicazioni come il Server Service che devono inviare in rete grandi quantità di dati ( fino a 64Kb). 

Il NetBIOS Name svolge due funzioni: Data l'importanze che questo servizio ricopre nelle retiWindows è opportuno un ulteriore approfondimento.
  Il servizio di risoluzione nomi di Windows, diversamente da DNS, utilizza uno spazio di nomi "piatto": un nome NetBios è composto di 16 caratteri di cui il sedicesimo indica il tipo di oggetto (computer, servizio, stampante etc..).
Un nome inoltre può essere unico (U) o di gruppo (G)
NetBIOS usa un nome unico quando deve comunicare con un determionato processo su uno specifico nodo della rete, mentre usa un nome di gruppo quando deve comunicare con più processi o più nodi simultaneamente.
Esempi di nomi unici sono il servizio Redirector, registrato con il nome del computer e il suffisso 00h, e il servizio Server, registrato con il nome del computer e il suffisso 20h.
Un esempio di nome di gruppo e il nome di un dominio.
La procedura seguita da una stazione per risolvere un nome dipende dal tipo di nodo NetBIOS. Esistono 4 tipi di nodo:   I computer basati su Windows sono per default B-node e diventano H-node solo se configurati per un server WINS.
Per rendere meno dispendioso il processo di risoluzione, specie nel caso in cui non c'è un server WINS, Microsoft ha inserito nei suoi sistemi il file LMHOSTS. Si tratta di un file testo, da editare manualmente come il file HOSTS, che contiene le corrispondenze fra nomi NetBIOS e indirizzi IP. 
Per riepilogare possiamo dire allora che un client Microsoft che deve risolvere un nome di rete, esegue nell'ordine i seguenti passi : La tabella dei nomi NetBIOS locali di una macchina è visualizzabile con il comando  netbstat -n
mentre i nomi presenti nella cache, relativi ad altri computer sono visualizzabili col comando netbstat -c
Nei sistemi Windows la lista dei nomi NetBIOS è affidata al Master Browse,  ("MSBrowse" ,  01h, G), un servizio installato su un computer, di solito un server, chiamato Computer Browse, che viene eletto automaticamente all'avvio della rete.
L' elenco viene aggiornato secondo queste modalità. 
  1. Dopo la sua elezione il MB invia un annuncio ai pc della rete che rispondono ad intervalli casuali (max 30 sec)
  2. Ogni computer all'avvio annuncia la sua presenza e le condivisioni
  3. Ogni computer comunica con un annuncio al MB le nuove condivisioni
  4. Ogni computer comunica periodicamente la propria presenza al MB a intervalli di 1 min, 2 min, 4 min, 8 min, 12 min. Se Il MB non riceve notizie per tre periodi consecutivi il computer viene eliminato dalla lista.
Prima dell'avvento di Windows 2000 la risoluzione di nomi nelle reti con macchine Windows richiedeva necessariamente NetBios, con la conseguenza che le reti Windows dovevano utilizzare due spazi di nomi uno, piatto, al loro interno e uno strutturato, il DNS, all'esterno. Il problemi che questo fatto  comportava erano principalmente due:

Per questo motivo oggi le reti Windows 2000/2003 non richiedono più NetBIOS e possono essere configurate con il DNS, a meno che non siano presenti stazioni con versioni precedenti a Windows 2000.
(occorre comunque disattivare esplicitamente NetBIOS)