Давайте попробуем пройти через это как путешествие, в котором мы с тобой оба узнаем, как это работает!
1. Нужны ли обе услуги? Если нет, есть ли какие-либо преимущества по сравнению с одним сервисом?
В зависимости от вашей операционной системы и среды , обе службы не нужны .
SMB (блок сообщений сервера)
Блок сообщений сервера , современный диалект которого известен как Общая файловая система Интернета , работает как сетевой протокол прикладного уровня, в основном используемый для предоставления общего доступа к файлам, принтерам, последовательным портам и различным связям между узлами в сети. ...
Протокол блокировки сообщений сервера может работать поверх сеансового (и нижнего) сетевых уровней несколькими способами:
- непосредственно через 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
просто предоставляет API NetBIOS, включая 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)
.