Différence entre NetBIOS et SMB

25

J'essaie également de découvrir la relation entre netbios-ssn fonctionnant généralement sur le port 139 et microsoft-ds fonctionnant sur le port 445.

Je comprends qu'avant, le port 139 était plus populaire avec les machines plus anciennes et NetBIOS utilisant le protocole SMB est utilisé pour le partage de fichiers / imprimantes, etc. service netbios-ssn.

Mes questions sont cependant.

  • Les deux services sont-ils nécessaires / offrent-ils des avantages supplémentaires par rapport à l'exécution d'un seul service? D'après ma compréhension, les systèmes Linux n'exécutent pas le port 445, mais utilisent Samba sur le port 139. Puis-je faire quelque chose sur une machine Windows avec ces deux ports que je ne peux pas sur une machine Linux?

  • Si chaque service a son propre rôle distinct, quelles informations chacun fournit-il? Quelles informations peuvent être obtenues à partir de microsoft-ds et que peut-il être obtenu par netbios-ssn?

  • Suis-je correct sur la relation entre SMB et NetBIOS? Ou s'agit-il en fait de deux protocoles distincts uniquement liés par le fait qu'ils atteignent un objectif similaire? L'un s'appuie-t-il sur l'autre?

Peleus
la source
J'ai ajouté une réponse qui, je l'espère, répond à vos questions, bien que je travaille toujours à obtenir une composition tout à fait correcte.
Thor

Réponses:

37

Essayons de traverser cela comme un voyage où vous et moi nous tenons tous les deux pour apprendre comment cela fonctionne!

1. Les deux services sont-ils nécessaires? Sinon, y a-t-il des avantages à exécuter un seul service?

Selon votre système d'exploitation et votre environnement , les deux services ne sont pas nécessaires .

SMB (Server Message Block)

Server Message Block , dont le dialecte moderne est connu sous le nom de Common Internet File System , fonctionne comme un protocole réseau de couche application principalement utilisé pour fournir un accès partagé aux fichiers, imprimantes, ports série et diverses communications entre les nœuds d'un réseau. ...

Le protocole Server Message Block peut s'exécuter au-dessus des couches réseau Session (et inférieures) de plusieurs manières:

  • directement sur TCP, port 445
  • via l'API NetBIOS, qui à son tour peut s'exécuter sur plusieurs transports:
    • sur les ports UDP 137, 138 et TCP 137, 139 - voir NetBIOS sur TCP / IP
    • sur plusieurs protocoles hérités tels que NBF (incorrectement appelé NetBEUI).

Citation : article WikiPedia sur le bloc de messages du serveur

Sous Windows, SMB peut s'exécuter directement sur TCP / IP sans avoir besoin de NetBIOS sur TCP / IP . Cela utilisera, comme vous le signalez, le port 445.

De manière générale, sur d'autres systèmes, vous trouverez des services et des applications utilisant le port 139. Cela signifie, en gros, que SMB s'exécute avec NetBIOS sur TCP / IP , où, en termes de pile, SMB est au-dessus de NetBIOS si vous l'imaginez avec le modèle OSI.

Voici une visualisation de Richard Sharpe, de samba.org.

Modèle OSI montrant SMB et NetBIOS

Voici une version légèrement modifiée pour illustrer comment vous pouvez l'imaginer sur un système Windows.

Modèle OSI avec un dessin étonnant indiquant le saut de NetBIOS

1.a S'ils sont tous les deux nécessaires, y a-t-il des avantages?

Le seul "avantage" - ce n'est pas vraiment un avantage, mais une exigence - est qu'avec SMB sur NBT (NetBIOS sur TCP / IP), vous pourrez réellement communiquer avec un plus grand nombre d'implémentations de SMB .

2. Quelles informations / quels services fournissent netbios-ssnet microsoft-dsfournissent?

* Ma supposition rapide est que, tout netbios-ssnen fournissant simplement l'API NetBIOS, y compris NBT (NetBIOS sur TCP / IP) via le port 139. D'autre part, microsoft-dsfournit l' hébergement direct de SMB via le port 445. *

Avec Windows 2000, Microsoft a estimé que cela pouvait être amélioré. Ils ont ajouté le port 445 pour le même service. Sur le port 445, SMB s'exécute directement sur TCP. La seule différence est que le client saute la session NetBIOS (enregistre un aller-retour) puis négocie, authentifie, monte etc.

Vérifiez les propriétés de votre carte réseau. Quelque part dans les paramètres IP avancés se trouve une case à cocher "Activer NetBIOS sur TCP". Activez-le et votre ordinateur utilise le port 139. Désactivez l'option et le système souhaite utiliser 445.

...

  • Port 139: SMB -> NetBIOS -> TCP
  • Port 445: SMB -> .... -> TCP

Source : packethunter à Wireshark Q&A

3. Quelle est la relation entre SMB et NetBIOS; sont-ils séparés, l'un s'appuie-t-il sur l'autre?

SMB s'appuie sur NetBIOS pour la communication avec les périphériques qui ne prennent pas en charge l'hébergement direct de SMB sur TCP / IP .

NetBIOS est complètement indépendant de SMB . Il s'agit d'une API que SMB et d'autres technologies peuvent utiliser, donc NetBIOS n'a aucune dépendance vis-à-vis de SMB.

NetBIOS (Network Basic System)

... Il fournit des services liés à la couche session du modèle OSI permettant aux applications sur des ordinateurs distincts de communiquer sur un réseau local . En tant qu'API strictement, NetBIOS n'est pas un protocole de mise en réseau. ...

... Dans les réseaux modernes, NetBIOS s'exécute normalement sur TCP / IP via le protocole NetBIOS sur TCP / IP (NBT) . Il en résulte que chaque ordinateur du réseau possède à la fois une adresse IP et un nom NetBIOS correspondant à un nom d'hôte (éventuellement différent). ...

Citation : article WikiPedia sur NetBIOS

Comme vous pouvez le voir, la relation serait Application -> SMB -> NetBIOS -> (TCP/IP, others).

Thor
la source
2
Voici un article de blog expliquant quelles applications ou quels services nécessitent encore NetBIOS: blogs.msmvps.com/acefekay/2013/03/02/do-i-need-netbios
CMCDragonkai