web-dev-qa-db-fra.com

Différence entre NetBIOS et SMB

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

Je comprends que précédemment, le port 139 était plus populaire que les anciennes machines et que NetBIOS utilisant le protocole SMB est utilisé pour le partage de fichiers/les imprimantes, etc. Ces jours-ci, nous sommes plus susceptibles de voir Microsoft-ds s'exécuter sur le port 445 dans en conjonction avec le port 139 et le 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 ce que j'ai compris, les systèmes Linux n'exécutent pas le port 445, mais utilisent plutôt Samba sur le port 139. Est-ce que je peux 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, quelles informations chacun fournit-il? Quelles informations peut-on obtenir de Microsoft-ds et que peut-on gagner de netbios-ssn?

  • Est-ce que je me trompe sur la relation entre SMB et NetBIOS? Ou sont-ils réellement deux protocoles distincts uniquement liés par le fait qu'ils atteignent un objectif similaire? Est-ce que l'un s'appuie sur l'autre?

21
Peleus

Essayons de passer par là comme un voyage où vous et moi devons apprendre comment cela fonctionne!

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

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

SMB (Bloc de messages du serveur)

Le bloc de messages serveur , dont le dialecte moderne est connu sous le nom de système de fichiers Internet commun , fonctionne comme un protocole réseau de la couche application principalement accès aux fichiers, imprimantes, ports série et communications diverses entre les nœuds d’un réseau. ...

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

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

Citation : Article de WikiPedia sur le bloc de messages du serveur

Sous Windows, SMB peut exécuter directement sur TCP/IP sans avoir besoin de NetBIOS sur TCP/IP . Comme vous l'avez fait remarquer, cela utilisera le port 445.

En règle générale, sur d'autres systèmes, vous trouverez des services et des applications utilisant le port 139. En gros, cela signifie que SMB est exécuté avec NetBIOS sur TCP/IP , où, en ce qui concerne la pile, SMB est au-dessus de NetBIOS si vous voulez l’imaginer avec le modèle OSI.

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

OSI model showing SMB and NetBIOS

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

OSI model with amazing drawing indicating the skip-over of NetBIOS

1.a Si les deux sont 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 grande implémentation de SMB.

2. Quels sont les informations/services fournis par netbios-ssn et Microsoft-ds?

* Ma rapide hypothèse est que si netbios-ssn fournit simplement l'API NetBIOS, y compris NBT (NetBIOS sur TCP/IP) via le port 139. Par ailleurs, Microsoft-ds fournit l'hébergement direct de SMB via le port 445. *.

Avec Windows 2000, Microsoft estimait 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 ignore 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 cette option et le système souhaite utiliser 445.

...

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

Source : empaqueteur de disques à Wireshark

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

SMB ne s'appuie sur NetBIOS pour la communication avec des 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. C'est une API que SMB et d'autres technologies peuvent utiliser. NetBIOS n'est donc pas dépendant de SMB.

NetBIOS (système de base réseau)

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

... Sur les réseaux modernes, , NetBIOS s'exécute normalement sur TCP/IP via le protocole NetBIOS sur TCP/IP (NBT) . Ainsi, 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 de WikiPedia sur NetBIOS

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

34
Thor