Bloc de mesaje pe server
Server Message Block (SMB) este un protocol , utilizat în principal de sistemele Microsoft Windows , în principal pentru a partaja fișiere , imprimante , porturi seriale și comunicații de diferite tipuri între diferite noduri ale unei rețele . Include, de asemenea, un mecanism de comunicare interproces autentificat .
Istorie
SMB a fost inventat de Barry Feigenbaum la IBM , dar cea mai utilizată versiune a fost puternic modificată de Microsoft .
Inițial, protocolul a fost proiectat să funcționeze deasupra NetBIOS , deși poate acționa direct și pe TCP/IP de la implementarea sa în Windows 2000 .
Când Sun Microsystems a anunțat WebNFS , Microsoft a lansat inițiativa, în 1998 , de a apela SMB Common Internet File System (CIFS) și a inclus mai multe îmbunătățiri, inclusiv suport pentru legături simbolice , gestionarea fișierelor mari și capacitatea de a opera fără suport NetBIOS .
Datorită importanței protocolului SMB, necesar pentru interoperabilitatea cu platforma Microsoft Windows , a luat naștere proiectul Samba , care reprezintă o implementare gratuită folosită pentru a asigura compatibilitatea SMB cu sistemele de operare non-Microsoft .
Implementare
Abordare client-server
SMB acționează cu o abordare client - server , prin care un client își face cererile și serverul răspunde în mod corespunzător. O secțiune a protocolului este dedicată în mod special accesării sistemului de fișiere , astfel încât clienții să poată face cereri către serverul de fișiere, dar există și alte secțiuni specializate pentru comunicații între procese. SMB a fost optimizat pentru utilizarea în rețeaua locală , dar poate fi folosit și prin Internet .
Serverele SMB își pun sistemele de fișiere și alte resurse disponibile clienților din rețea. Clienții pot avea propriile discuri care nu sunt accesibile public și încă accesează sistemul de fișiere partajat și imprimantele serverului, iar aceasta este modalitatea principală de a utiliza protocolul.
Performanță
SMB este adesea considerat un protocol care necesită o utilizare intensă a lățimii de bandă , deoarece fiecare client își anunță prezența printr-o difuzare către întreaga rețea. De fapt, SMB nu folosește broadcast, este folosit de NetBIOS pentru a localiza serverele disponibile la intervale periodice. Acest lucru este acceptabil în rețelele cu mai puțin de 20 de gazde , dar traficul de difuzare poate crea probleme pe măsură ce numărul de mașini conectate crește. Această problemă poate fi atenuată prin exploatarea WINS , un protocol de localizare a serviciilor: folosește un sistem mai avansat de înregistrare și centralizare pentru solicitările de servicii, dar implică o creștere a complexității întreținerii rețelei.
Microsoft modifică
Cu scopul de a simplifica interfața de utilizare a protocolului, Microsoft a adăugat mai multe caracteristici implementării sale SMB față de conceptul original: de exemplu, a doua versiune de NTLM a fost dezvoltată deoarece prima (derivată din specificația originală SMB) a folosit-o. Criptarea standard de criptare a datelor (DES) într-un mod prea complex.
Puncte de interes
Mențiune specială merită mecanismul de comunicare interproces inclus în SMB. Datorită acesteia, sunt furnizate conducte numite , cu care sunt implementate mecanismul de autentificare și implementarea Microsoft a DCE/RPC (cunoscut sub numele de MSRPC ).
SMB este, de asemenea, folosit ca bază a sistemului de fișiere distribuit Microsoft .
Versiuni și implementări alternative
- Samba , este o implementare gratuită a protocolului SMB și a extensiei Microsoft; include un server de linie de comandă și un client
- Samba TNG este o furcă a lui Samba
- Linux include două implementări de client SMB care acționează prin VFS , oferind acces la serverul SMB prin API -ul standard
- FreeBSD , NetBSD și MacOS includ implementări de client SMB pentru VFS-urile lor respective
- Advanced Server for Unix (AS/U) este portul codului serverului SMB inclus în Windows NT 3.51 pentru Unix , vândut de AT&T unor mari distribuitori Unix
- Cascade (mai bine cunoscut sub numele de PC-Netlink ), de Sun Microsystem, este portul AS/U: Sun a avut nevoie de doi ani pentru a face codul utilizabil, din cauza calității proaste a portului original
- Veritas Software a implementat SMB
- Operațiunea Santa Cruz a adus la rândul său AS/U și a dezvoltat VisionFS , o implementare SMB care nu depinde de Microsoft, dezvoltată cu referire la Samba.
- Network Appliance are propria sa implementare de server SMB
- Sharity , de la Objective Development , este un client SMB pentru Unix
- JCIFS este o implementare SMB în Java
- RTSMB este o implementare SMB complet scrisă de la zero în ANSI C , independentă de implementarea Microsoft și Samba și destinată sistemelor încorporate
- CIFS9000 , de la HP, este o implementare SMB bazată pe Samba 2.2, produsă pentru sistemul său de operare HP-UX