Server Message Block: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 1:
'''Server Message Block''' (SMB) e' un [[protocollo di rete|protocollo]] usato principalmente per condividere [[file|files]], [[stampante|stampanti]], [[porta seriale|porte seriali]] e comunicazioni di varia natura tra diversi nodi di una [[rete informatica|rete]]. Esso include anche un meccanismo di [[comunicazione tra processi]] [[autenticazione|autenticate]]. E' soprattutto usato dai sistemi [[Microsoft Windows]].
== Storia ==
SMB e' stato inventato da [[Barry Feigenbaum]] presso la [[IBM]], ma la versione piu' largamente usata e' stata pesantemente modificata da [[Microsoft]].
Originariamente, il protocollo venne studiare per operare al di sopra di [[NetBIOS]], sebbene possa agire anche direttamente su [[TCP/IP]] a partire dall'implementazione in [[Windows 2000]].
Nel momento in cui [[Sun Microsystems]] annuncio' il [[WebNFS]], Microsoft lancio' l'iniziativa, nel [[1998]], di chiamare SMB '''Common Internet File System''' (CIFS) ed incluse diverse migliorie, incluso il supporto ai [[link (informatica)|link simbolici]], la gestione di files di grosse dimensioni e la possibilita' di operare senza alcun supporto di NetBIOS.
A causa dell'importanza del protocollo SMB, necessario all'interoperabilita' con la piattaforma [[Microsoft Windows]], nacque il progetto [[Samba (software)|Samba]], che rappresenta una implementazione [[software libero|free]] usata per garantire compatibilita' SMB con [[sistema operativo|sistemi operativi]] non Microsoft.
== Implementazione ==
=== Approccio Client-Server ===
SMB agisce con un approccio [[client]]-[[server]], per cui un client avanza le sue richieste ed il server risponde opportunamente. Una sezione del protocollo e' dedicata specificatamente all'accesso al [[filesystem]], in modo che i client possano fare richieste al file server, ma ci sono altre sezioni specializzate per le comunicazioni tra processi. SMB e' stato ottimizzato per l'uso in [[lan|rete locale]], ma puo' essere usato anche attraverso l'[[Internet]].
I server SMB rendono il loro filesystem e le altre risorse disponibili ai client sulla rete. I client possono avere i loro propri [[disco rigido|dischi]] che non sono pubblicamente accessibili ed accedere comunque al filesystem condiviso e alle stampanti del server, e questa e' la modalita' primaria di utilizzo del protocollo.
=== Prestazioni ===
Spesso viene considerato SMB un protocollo che richiede un pesante utilizzo di [[banda (informatica)|banda]] in quanto ogni client notifica la sua presenza con un [[broadcast]] all'intera rete. In realta' SMB non usa broadcast, esso viene usato da NetBIOS per localizzare i server disponibili ad intervalli periodici. Cio' e' accettabile in reti con meno di 20 [[host|hosts]], ma il traffico dovuto ai broadcast puo' creare problemi con l'aumentare del numero di macchine connesse. Tale problema puo' essere mitigato sfruttando [[WINS]], un protocollo di localizzazione dei servizi: usa un sistema di registrazione e centralizzazione delle richieste di servizi piu' avanzato, ma implica una crescita nella complessita' di manutenzione della rete.
=== Modifiche di Microsoft ===
Con l'obiettivo di semplificare l'interfaccia di utilizzo del protocollo, Microsoft ha aggiunto diverse caratteristiche alla sua implementazione di SMB rispetto alla concezione originaria: ad esempio, la seconda versione di [[NTLM]] venne sviluppata perche' la prima (derivata dalla originaria specifica di SMB) utilizzava la cifratura [[DES]] in maniera troppo complessa.
=== Punti di Interesse ===
Il meccanismo di comunicazione tra processi incluso in SMB merita una menzione speciale. Grazie ad esso sono fornite le [[pipe|named pipes]], con cui e' implementato il meccanismo di autenticazione e l'implementazione Microsoft del [[DCE/RPC]] (conosciuta come [[MSRPC]]).
SMB e' anche usato come fondamento del [[Microsoft Distributed File System]].
== Versioni ed Implementazioni Alternative ==
* [[Samba (software)|Samba]], e' una implementazione [[software libero|free]] del protocollo SMB e dell'estensione Microsoft; include un server e un client a [[interfaccia a linea di comando|linea di comando]]
* [[Samba TNG (software)|Samba TNG]] e' un [[Fork (sviluppo software)|fork]] di Samba
* [[Linux]] include due implementazioni di client SMB che agiscono per mezzo del [[virtual file system|VFS]], fornendo accesso al server SMB attraverso la [[Application programming interface|API]] standard
* [[FreeBSD]], [[NetBSD]] e [[MacOS X]] includono implementazioni di client SMB per i rispettivi VFS
* [[Advanced Server for Unix]] (AS/U) e' il [[porting|port]] del codice del server SMB incluso in Windows NT 3.51 per [[Unix]], venduto da [[AT&T]] ai maggiori distributori di Unix
* Cascade (meglio noto come [[PC-Netlink]]), di Sun Microsystem, e' il port di AS/U: Sun impiego' due anni per rendere il codice usabile, a causa della scarsa qualita' del porting originario
* [[Veritas Software]] ha implementato SMB
* [[Santa Cruz Operation]] ha a sua volta portato lo AS/U e sviluppato [[VisionFS]], una implementazione di SMB non dipendente da quella Microsoft e sviluppata facendo riferimento a Samba
* [[Network Appliance]] ha la sua implementazione di server SMB
* [[Sharity]], di [[Objective Development]], e' un client SMB per Unix
* [[JCIFS]] e' una implementazione SMB in [[Java (linguaggio)|Java]]
* [[RTSMB]] e' una implementazione SMB in [[ANSI]] [[C (linguaggio)|C]] completamente scritta da zero, indipendente dall'implementazione Microsoft e Samba, e destinata ai [[sistema embedded|sistemi embedded]]
[[de:Server Message Block]]
[[es:Server Message Block]]
[[fr:Server Message Block]]
[[nl:SMB (netwerkprotocol)]]
[[pl:SMB]]
[[zh:CIFS]]
[[en:Server Message Block]]
[[Categoria: File system]]
|