Давайте спробуємо пройти це як подорож, де ми з вами стоїмо, щоб дізнатися, як це працює!
1. Чи потрібні обидві послуги? Якщо ні, чи є користь від запуску однієї послуги?
В залежності від операційної системи і навколишнього середовища , як послуги не потрібні .
SMB (Блок повідомлення сервера)
Блок повідомлень сервера , сучасний діалект якого відомий як загальна файлова система Internet , працює як мережевий протокол на рівні додатків, який в основному використовується для надання спільного доступу до файлів, принтерів, послідовних портів та різного зв'язку між вузлами в мережі. ...
Протокол блоку повідомлень сервера може працювати на верхніх рівнях сесії (і нижче) декількома способами:
- безпосередньо через TCP, порт 445
- через API NetBIOS, який, у свою чергу, може виконуватись на кількох транспортах:
- на портах UDP 137, 138 та TCP-портах 137, 139 - див. NetBIOS через TCP / IP
- на декількох застарілих протоколах, таких як NBF (неправильно називається NetBEUI).
Цитата : Стаття WikiPedia про Блок повідомлення сервера
У Windows SMB може працювати безпосередньо через TCP / IP без необхідності NetBIOS через TCP / IP . Це використовуватиме, як ви вказуєте, порт 445
.
Взагалі кажучи, в інших системах ви знайдете сервіси та програми за допомогою порту 139
. Це, в основному, означає, що SMB працює з NetBIOS через TCP / IP , де SMB знаходиться на вершині NetBIOS, якщо ви уявляєте це з моделлю OSI.
Ось візуалізація від Річарда Шарпа, від samba.org.
Ось злегка перероблена версія, щоб проілюструвати, як ви можете уявити це в системі на базі Windows.
1.a Якщо вони обоє необхідні, чи є якісь переваги?
Єдина «вигода» - це насправді не вигода, а стільки вимога - це те, що з SMB через NBT (NetBIOS через TCP / IP) ви зможете спілкуватися з більшою кількістю реалізацій SMB .
2. Яку інформацію / послугу робить netbios-ssn
і microsoft-ds
надає?
* Я швидко здогадуюсь, що поки netbios-ssn
просто надає NetBIOS API, включаючи NBT (NetBIOS через TCP / IP) через порт 139
. З іншого боку, microsoft-ds
забезпечує прямий хостинг в SMB через порт 445
. *
Завдяки Windows 2000 Microsoft вважає, що це можна вдосконалити. Вони додали порт 445 для тієї ж послуги. Порт 445 SMB працює безпосередньо через TCP. Єдина відмінність полягає в тому, що клієнт пропускає сесію NetBIOS (економить одну туди і назад), потім узгоджує, підтверджує автентифікацію, монтує і т.д.
Перевірте властивості вашої мережевої карти. Десь у Розширених налаштуваннях IP - прапорець "Увімкнути NetBIOS через TCP". Активуйте його, і ваш комп'ютер використовує порт 139. Деактивуйте опцію, і система хоче використовувати 445.
...
- Порт 139:
SMB -> NetBIOS -> TCP
- Порт 445:
SMB -> .... -> TCP
Джерело : packethunter в Wireshark Q&A
3. Який взаємозв'язок між SMB та NetBIOS; вони відокремлені, чи один покладається на іншого?
SMB покладається на NetBIOS для зв'язку з пристроями, які не підтримують прямий хостинг SMB через TCP / IP .
NetBIOS повністю незалежний від SMB . Це API, який можуть використовувати SMB та інші технології, тому NetBIOS не залежить від SMB.
NetBIOS (Базова мережа системи)
... Він надає послуги, пов’язані з сесійним шаром моделі OSI, що дозволяє додаткам на окремих комп'ютерах спілкуватися через локальну мережу . Як суто API, NetBIOS не є мережевим протоколом. ...
... У сучасних мережах NetBIOS зазвичай працює через TCP / IP через протокол NetBIOS через TCP / IP (NBT) . Це призводить до того, що кожен комп'ютер у мережі має IP-адресу та ім’я NetBIOS, що відповідає (можливо, різному) імені хоста. ...
Цитата : Стаття WikiPedia в NetBIOS
Як бачите, стосунки були б Application -> SMB -> NetBIOS -> (TCP/IP, others)
.