Protocollo SMB

 

La figura mostra le due architetture proposte da Windows  per implementare le funzionalità di rete

OSI NETBEUI NETBIOS OVER TCP TCP/IP
APPLICATION SMB   SMB 

APPLICATION 

PRESENTATION
SESSION NBF NETBT
TRANSPORT TCP,UDP TCP, UDP
NETWORK IP IP
DATA LINK DATA LINK DATA LINK DATA LINK
PHISYCAL PHISYCAL PHISYCAL PHISYCAL

 

In entrambe, il livello Application è occupato da  SMB (Server Message Block), il protocollo che permette  la condivisione di file, stampanti, porte seriali e altri meccanismi di comunicazione.  

In realtà SMB è il nome del protocollo originario, creato da IBM verso la metà degli anni 80 e adottato oltre che da OS/2 (il sistema operativo di  IBM ), anche da  UNIX e  Windows. Col passare degli  anni questi  sistemi operativi  hanno implementato numerose varianti SMB variamente denominate. Per es. la variante (server) per NT è NT LM 0.12 (almeno l'ultima di cui sono a conoscenza ..) quella per UNIX è Samba etc..   

SMB un protocollo client-server : il client SMB fa una richiesta, per es  di accedere ad una cartella condivisa,  il server SMB valuta la richiesta e  invia una " risposta"  positiva (il client può accedere alla cartella) o negativa. Le richieste e le risposte sono implementate attraverso scambi di messaggi opportunamente codificati.  SMB offre due modalità di funzionamento: share e user. 

 

In modalità share (WORKGROUP), utilizzata nelle reti Windows 9x/2000 ME, ad ogni risorsa
condivisa viene associata una password (opzionale): la risorsa può essere usata da chiunque purché conosca la password.

 

In modalità user  (DOMAIN) utilizzata nelle reti  NT, alla risorsa vengono associati una password e una lista di uno o più utenti (user name):  l'accesso alla risorsa viene concesso  solo a utenti autorizzati da un amministratore della rete. 

 

La connessione di un client SMB prevede una fase preliminare di negoziazione che viene avviata mediante un messaggio SMB "negprot"  con la quale viene deciso quale variante di SMB usare. 

La fase successiva viene chiamata autenticazione. Il client invia al server SMB un nome utente e una password. Il messaggio SMB in questo caso si chiama "sesssetupX". Se va tutto bene il server invia un identificativo al client, l'UID, che verrà poi utilizzato dal client per le successive richieste .

A questo punto il client può inviare la richiesta di una risorsa condivisa. Il messaggio SMB è "tconX" . Il server risponde con un TID, un numero che identifica la risorsa e che verrà utilizzato dal client per gli accessi  successivi a quella risorsa.   



NETBEUI

NETBEUI(NetBIOS Extended User Interface, NetBIOS interfaccia verso SMB)) è stato introdotto per la prima volta da IBM nel 1985 successivamente adottato con le opportune varianti da Microsoft, col nome NBF (NetBIOS Frame). Lo scopo di NBF ( o NETBEUI ) è  fornire a SMB un livello trasporto e rete, nell'ambito di una LAN di dimensioni contenute (fino a 50 nodi).  Il motivo di questa limitazione sta nell'uso prevalente di messaggi broadcast.  Per es. quando riceve la richiesta di una risorsa in rete, invece di interrogare una unità centralizzata, invia un broadcast sulla rete.