Server Message Block
Server Message Block (SMB) — протокол прикладного рівня (у мережевій моделі OSI), зазвичай використовується для надання розділеного доступу до файлів, принтерів, послідовних портів передачі даних, та іншої взаємодії між вузлами в комп'ютерній мережі. Також надає можливості міжпроцесної взаємодії з аутентифікацією. Зазвичай, використовується на комп'ютерах з Microsoft Windows: в середовищі Microsoft, часто позначається як «Microsoft Windows Network».
Слід розрізняти:
- протокол SMB
- сервіси, що використовують протокол SMB
- NetBIOS
- сервіси DCE/RPC, які використовують SMB як канал міжпроцесної взаємодії з аутентифкацією (через іменовані канали)
- протоколи мережевого оточення (англ. Network Neighborhood), які, в основному (але не виключно) працюють через канали датаграм використовуючи транспортний рівень NetBIOS.
У 1996 році Microsoft стала використовувати нову назву для доповненої версії протоколу, яка використовувалася в Windows NT 4.0 — CIFS (англ. Common Internet File System); нове ім'я прижилося, і SMB та CIFS фактично стали синонімами.
Продуктивність
Багато людей вважають, що SMB протокол перевантажує мережу, тому що кожний клієнт передає свою присутність до всієї мережі (англ. broadcasts — широкомовне повідомлення). SMB сам по собі не використовує широкомовних повідомлень.[джерело?]
Проблем широкомовних повідомлень зазвичай зв'язані з NetBIOS (мережевим біосом). Оскільки за замовчуванням Microsoft Windows server використовує широкомовне повідомлення для публікації та знаходження сервісів. NetBIOS використовує широкомовні повідомлення через певні проміжки часу. Якщо мережа має не більше 20 комп'ютерів проблем не виникає, але при збільшенні числа комп'ютерів виникають проблеми. Правильне впровадження NetBIOS Name Server (NBNS) може зменшити цю проблему — наприклад Windows Internet Naming Service (WINS) пропонує прийнятне рішення для систем від Microsoft.
SMB2
Microsoft впровадив нову версію Server Message Block (SMB) протоколу (SMB 2.0 чи SMB2) з Windows Vista у 2006 році.
SMB2 покращує попередні версії SMB2 для Windows додаючи можливість групувати декілька дій в одиничний запит, що суттєво зменшує число повторних звертань (round-trips) до сервера. SMB1 також має сумуючий механізм відомий як AndX щоб компонувати декілька дій, але Microsoft clients рідко використовують AndX.
SMB2 підтримує більше розміри буфера, що ефективно при передачі великих файлів.
SMB2 вводить так звані міцні файл хендли (durable file handles) це дозволяє конектам до SMB сервера переживати короткі перерви у роботі мережі, такі які наприклад можуть траплятися у безпровідній мережі, без того щоб починати нову сесію.
SMB2 включає підтримку для символічних лінків (symbolic links).
SMB 1 часто використовує 16-bit розміри. SMB2 використовує 32 чи 64 bits у багатьох випадках, і 16 байтові для файлових хендлів.
Посилання
- Technical details about SMB/CIFS
- Common Internet File System (CIFS) File Access Protocol — Technical details from Microsoft Corporation
- the NT LM 0.12 dialect of SMB. In Microsoft Word format
- Samba development information
- Zechner, Anton (2007). «Source-code of a free SMB server for small embedded systems»