Server Message Block
Z Wikipedie, otevřené encyklopedie
Server Message Block (SMB, Server Message Block) je síťový komunikační protokol aplikační vrstvy, který slouží ke sdílenému přístupu k souborům, tiskárnám, sériovým portům a další komunikaci mezi uzly na síti. Poskytuje také autentizovaný mechanismus pro meziprocesovou komunikaci. Je využíván hlavně na počítačích s operačními systémy rodiny Windows.
Protokol SMB původně vyvinula firma IBM ve spolupráci s firmou Microsoft pro síťový operační systém PC Network Program verze 1.0. Svobodná implementace vyvinutá pomocí reverzního inženýrství tohoto protokolu se jmenuje Samba.
Protokol díky firmě Microsoft je rozšířený v oblasti komunikace souborových serverů a klientů sítí LAN. Protokol SMB využívají souborové a tiskové servery síťových operačních systémů IBM (např. LAN Server, OS/2) a Microsoft (např. LAN Manager, Windows NT). Firma Microsoft se neúspěšně pokoušela o prosazení protokolu do oficiálního standardu sítě Internet, kde by nahradil protokoly FTP a HTTP.
Protokol pracuje na principu klient-server. Server umožňuje klientům sítě přistupovat k tzv. sdílenům prostředkům, např. sdíleným disk, adresářům, tiskovým frontám nebo pojmenovaným kanálům. Sdílené prostředky jsou rozpoznávány pomocí síťové adresy UNC (\\jméno_serveru\jméno zdroje). Klientská část má za úkol definovat požadavky na sdílené prostředky serveru. Server vykonává rozbor požadavků odeslané klientem ve tvaru bloku (paketu) SMB, porovnává přístupová práva a na podkladě přístupových práv zahájuje požadovanou operaci (vytvoření adresáře, spuštení souboru atd.). Výsledek je s odpovědí poslán klientu identickým blokem SMB.
Obsah |
[editovat] Přístup ke sdíleným prostředkům
Z pohledu serveru SMB k přístupu ke sdíleným prostředkům máme dva pohledy:
- řízení přístupu z pohledu na úroveň sdíleného prostředku (share level),
- řízení přístupu z pohledu na uživatelskou úroveň (user level).
V prvním případě server povoluje přístup ke sdíleným prostředkům na základě správného hesla, které je přiřazeno k jednotlivému sdílenému prostředku. Po zadání správného hesla klientem je klientu přidělen identifikátor prostředku NID (Network ID), pomocí něhož přistupuje k prostředku.
V druhém případě se klient přihlašuje na server hned pomocí jména a hesla a v případě správnosti server přiřadí klientu uživatelský identifikátor UID ('User ID), pomocí něhož server odvozuje přístupová práva při manipulaci se sdíleným prostředkem.
[editovat] Princip komunikace
- Klient zasílá serveru požadavek — dochází k specifikaci parametru spojení a verzí protokolu mezi serverem a klientem.
- Klient odešle požadavek, ve kterém je uvedenu jméno a heslo uživatele. Pokud je server v režimu user-level, přidělí uživateli UID.
[editovat] Formát paketu SMB
SID | S | C | RC | AH | RC | RS | NID | PID | UID | MID | P | PCd | BL | B |
1B | 3B | 1B | 1B | 1B | 2B | 15B | 2B | 2B | 2B | 2B | 1B | 2B | 2B | 1B |
Označení | Význam |
SID | identifikace protokolu SMB |
S | identifikace dialektu serveru SMB |
C | funkční kód volané služby |
R | třída návratového kódu funkce SMB |
AH | výsledek operace v registru AH procesoru |
RC | návratový kód operace |
RS | rezerva pro budoucí rozšíření |
NID | identifikátor přiřazený sdílenému prostředku |
PID | identifikátor procesu klienta |
UID | identifikátor uživatele |
MID | multiplexní identifikátor procesu klienta |
Prmct | počet volitelných parametrů k volané funkci |
Pc | kód parametru volané funkce |
Bl | délka datové části SMB bloku |
B | první slabika datové části bloku SMB |
[editovat] Reference
- Fedor Kállay, Peter Peniak: Počítačové sítě a jejich aplikace, GRADA Publishing, 2003; ISBN: 80-247-0545-1