Vamos tentar fazer isso como uma jornada em que você e eu aprendemos como isso funciona!
1. Os dois serviços são necessários? Caso contrário, há benefícios em executar um único serviço?
Dependendo do sistema operacional e do ambiente , os dois serviços não são necessários .
SMB (bloco de mensagens do servidor)
O Server Message Block , cujo dialeto moderno é conhecido como Common Internet File System , opera como um protocolo de rede da camada de aplicativos usado principalmente para fornecer acesso compartilhado a arquivos, impressoras, portas seriais e comunicações diversas entre os nós da rede. ...
O protocolo Server Message Block pode ser executado sobre as camadas de rede Session (e inferiores) de várias maneiras:
- diretamente sobre TCP, porta 445
- via API NetBIOS, que por sua vez pode ser executada em vários transportes:
- nas portas UDP 137, 138 e TCP 137, 139 - consulte NetBIOS sobre TCP / IP
- em vários protocolos herdados, como NBF (incorretamente referido como NetBEUI).
Citação : Artigo da WikiPedia sobre Server Message Block
No Windows, o SMB pode executar diretamente sobre TCP / IP sem a necessidade de NetBIOS sobre TCP / IP . Isso usará, como você indica, a porta 445
.
De um modo geral, em outros sistemas, você encontrará serviços e aplicativos usando o port 139
. Isso, basicamente, significa que o SMB está sendo executado com o NetBIOS sobre TCP / IP , onde, em pilha, o SMB está no topo do NetBIOS, se você quiser imaginá-lo com o modelo OSI.
Aqui está uma visualização de Richard Sharpe, do samba.org.
Aqui está uma versão ligeiramente aprimorada para ilustrar como você pode imaginar isso em um sistema baseado no Windows.
1.a Se ambos forem necessários, existem benefícios?
O único "benefício" - não é realmente um benefício, é um requisito - é que, com o SMB sobre NBT (NetBIOS sobre TCP / IP), você poderá se comunicar com uma grande quantidade de implementações de SMB .
2. Que informação / serviço fornece netbios-ssn
e microsoft-ds
fornece?
* Meu palpite rápido é que, embora netbios-ssn
simplesmente forneça a API NetBIOS, incluindo NBT (NetBIOS sobre TCP / IP) via porta 139
. Por outro lado, microsoft-ds
fornece a hospedagem direta de SMB via porta 445
. *
Com o Windows 2000, a Microsoft achou que isso poderia ser melhorado. Eles adicionaram a porta 445 para o mesmo serviço. Na porta 445, o SMB é executado diretamente no TCP. A única diferença é que o cliente ignora a sessão NetBIOS (economiza uma viagem de ida e volta) e depois negocia, autentica, monta etc.
Verifique as propriedades da sua placa de rede. Em algum lugar nas Configurações avançadas de IP, há uma caixa de seleção "Ativar NetBIOS sobre TCP". Ative-o e seu computador usa a porta 139. Desative a opção e o sistema deseja usar 445.
...
- Porta 139:
SMB -> NetBIOS -> TCP
- Porta 445:
SMB -> .... -> TCP
Fonte : packethunter na Wireshark - Perguntas e respostas
3. Qual é o relacionamento entre SMB e NetBIOS; eles são separados, um depende do outro?
O SMB depende do NetBIOS para comunicação com dispositivos que não oferecem suporte à hospedagem direta de SMB por TCP / IP .
O NetBIOS é completamente independente do SMB . É uma API que SMB e outras tecnologias podem usar, portanto, o NetBIOS não depende de SMB.
NetBIOS (Sistema Básico de Rede)
... Fornece serviços relacionados à camada de sessão do modelo OSI, permitindo que aplicativos em computadores separados se comuniquem através de uma rede local . Como estritamente uma API, o NetBIOS não é um protocolo de rede. ...
... Nas redes modernas, o NetBIOS normalmente executa TCP / IP através do protocolo NetBIOS over TCP / IP (NBT) . Isso resulta em cada computador na rede tendo um endereço IP e um nome NetBIOS correspondentes a um nome de host (possivelmente diferente). ...
Citação : Artigo da WikiPedia sobre NetBIOS
Como você pode ver, o relacionamento seria Application -> SMB -> NetBIOS -> (TCP/IP, others)
.