Vous êtes sur la page 1sur 6

Département SRC

Cours Réseaux

NETBIOS

1. Définitions

NetBIOS n’est pas un protocole réseau ! C’est une interface logicielle et surtout un mode de nommage. Tous
les réseaux de type Microsoft jusqu’à Windows2000 l’utilisent pour nommer les machines et les groupes de
machines. Il comprend le nommage des machines, des groupes de travail, des domaines, mais aussi
l’identification des contrôleurs ou des simples stations. Il fait fonctionner le voisinage réseau.

Pour identifier les éléments des réseaux Microsoft, on utilise donc NetBIOS. Sans NetBIOS, pas de partage
de fichiers et d’imprimantes sous Windows, pas de SAMBA sous Linux.

Sous Windows 9x, il faut avoir activé le client pour les réseaux Microsoft (qui permet d’inscrire la station
dans un domaine), ainsi que le service partage de fichiers et d’imprimantes (qui permet de partager des
ressources au sein d’un groupe de travail). Sous Windows NT/2000 les services station de travail et serveur
jouent les mêmes rôles. Sous Linux, il faut installer SAMBA qui lui-même s’appuie sur deux démons
SMBD et NMBD.

2. Noms NetBIOS

Le nom NetBIOS est un nom de 15 caractères maximum plus un seizième.

Les 15 premiers sont les caractères visibles du nom. Ils correspondent à un nom de machine, ou à celui du
groupe de travail dans lequel on a situé celle-ci.

Quel que soit le système d’exploitation utilisé, dès lors qu’on installe la couche NetBIOS, on déclare un nom
de machine. C’est ce nom que l’on verra apparaître dans le voisinage réseau.
Sur SAMBA, il s’agit par défaut du nom de l’hôte UNIX de la machine ou celui défini dans le fichier
smb.conf par l’entrée NetBIOS name.

Le deuxième type de nom représente le groupe de travail ou workgroup. Ce nom peut être confondu avec le
nom de domaine NT/2000. Le nom de domaine est avant tout une notion de sécurité et pas de nom NetBIOS.
Si deux machines ont respectivement pour nom de domaine et pour groupe de travail la même chaîne
« GOTHAM », ils apparaîtront au même emplacement dans le voisinage réseau. Sur SAMBA, le groupe de
travail et le domaine sont d’ailleurs définis par la même entrée workgroup.

Le seizième caractère du nom NetBIOS est un caractère caché. Il s’agit d’une valeur Hexadécimal qui
caractérise le nom NetBIOS et qui permet d’identifier si le nom annoncé par un poste est celui de la machine
ou du groupe auquel elle appartient.
La commande nbtstat sous Windows permet de vérifier les différents noms attachés à une machine :

C:\> nbtstat –A 192.168.1.1

Connexion au réseau local :


Adresse IP du nœud : [192.168.1.1] ID d’étendue : []

Table des noms NetBIOS des ordinateurs distants

Nom Type Etat


-----------------------------------------------
SPIDERMAN <00> UNIQUE Inscrit
NEW_YORK <00> Groupe Inscrit
SPIDERMAN <20> UNIQUE Inscrit
SPIDERMAN <03> UNIQUE Inscrit
NEW_YORK <1E> Groupe Inscrit

Adresse MAC = 00-D0-B7-1B-C8-3D

SPIDERMAN et NEW_YORK ont tous les deux <00>. Il s’agit des noms attachés au service station de
travail. C’est l’identification de l’ordinateur sur le réseau.

<00> définit donc les noms NetBIOS. Les autres types définissent les fonctions exactes de ces noms
NetBIOS (groupe d’ordinateurs, serveur d’impression, service de messagerie …). Dans l’exemple le groupe
NEW_YORK est identifié par le type <1E>. La machine SPIDERMAN fait donc partie du groupe de travail
NEW_YORK.

Les autres types permettent de savoir que SPIDERMAN exécute le service serveur <20> ainsi que le service
de messagerie <03>.

La commande nbtstat permet d’obtenir des informations aussi bien d’un réseau local, que d’une machine
distante. Les différents noms NetBIOS inscrits sont les suivants :

Les noms uniques :

machine <00> Service Station de Travail


nom_de_domaine <1B> Maître Explorateur du Domaine
machine <03> Service Messagerie (Net Send)
nom_de_domaine <1D> Maître Explorateur du réseau ou Serveur WINS
machine <06> Serveur d’accès distant (RAS)
machine <1F> Service NetDDE
machine <20> Service de partage de ressources
machine <21> Client RAS
machine <BE> Agent du moniteur réseau
utilisateur <03> utilisateur connecté localement

Les noms de groupes :

nom_de_domaine <00> Nom du groupe d’ordinateurs (ou domaine )auquel


la machine appartient
nom_de_domaine <1C> Contrôleur de domaine
nom_de_domaine <1E> Machine Elligible au rang de maître Explorateur
.._MSBROWSE_. <01> LE maître explorateur
Sans NetBIOS, pas de domaine NT. Même si la notion de domaine NT est une notion de sécurité, pas une
notion NetBIOS, pour joindre un domaine NT/2000 les clients et les serveurs ont besoin de savoir quels sont
les ordinateurs contrôleurs de domaine.

Quand on indique à un client NetBIOS de joindre un domaine, on ne lui spécifie pas ou se trouve le
contrôleur. Le client devra donc demander s’il existe un nom NetBIOS se terminant par <1C>. Cette
demande sera effectuée par diffusion (ou broadcast) d’une requête sur le réseau.

Nom Unique :

Les noms NetBIOS doivent être unique sur le réseau. Cette règle est aussi bien valable pour les noms de
machines que les noms de groupes. Ils sont tous les deux identifiés par un type <00>, un nom de machine ne
peut donc pas être identique à un nom de groupe, il n’y aurait pas moyen de faire la distinction.

ID d’étendue :

L’ID d’étendue NetBIOS est un système qui permet de segmenter un réseau NetBIOS en plusieurs parties
suivant l’ID d’étendue à laquelle une machine appartient. On peut ainsi segmenter le réseau du point de vue
NetBIOS sans pour autant le faire au niveau IP. Deux ordinateurs pourraient donc communiquer via leurs
adresses IP, mais pas par le biais des applications NetBIOS, elles ne pourraient pas par exemple se partager
des fichiers par les services de Windows, mais pourraient en échanger via FTP.

L’ID est une chaîne de caractères dont la longueur, ajoutée au 16 du nom NetBIOS, de doit pas dépasser 256
caractères.

3. NetBIOS et TCP/IP

Dans TCP/IP, NetBIOS est un protocole de niveau 4, donc de la couche application, qui fonctionne sur les
ports de communication 137, 138 et 139 au dessus d’UDP et de TCP.

Couche 4 : La couche application.


Elle comprend notamment HTTP, FTP, DNS (etc.), ainsi que l’interface NetBIOS et les applications
associées comme le voisinage réseau.

Couche 3 : La couche transport.


Elle prend en charge TCP et UDP, ainsi que NetBT (NetBT est l’intercouche qui établit la correspondance
nom NetBIOS <--> Adresse IP.

Couche 2 : La couche réseaux avec IP pour la partie adressage et routage.

Couche 1 : La couche physique avec l’adresse MAC de la carte réseau.

4. Voisinage réseau :

NetBIOS fonctionne par diffusion Les machines d’identifient donc entre elles par l’envoi de broadcast sur
tout le réseau créant ainsi un trafic important sur le réseau. Pour résoudre le problème en TCP/IP on
n’emploie des routeurs charger de segmenter le réseau et de limiter les diffusions. Conséquence : En
interdisant le passage des paquets de diffusions d’un sous réseaux à l’autre, on interdit aux machines
NetBIOS de se voir.
Cette notion de diffusion et de domaine de diffusion a donné la notion de « voisinage réseau ». Le voisinage
réseau, c’est l’ensemble des machines faisant tourner le protocole NetBIOS dans le même réseau IP.

Le fait que les machines ne se voient pas dans le voisinage réseau, ne veut pas dire qu’elles ne peuvent pas
s’atteindre. En effet, ce n’est pas NetBIOS qui ne passe pas les routeurs, mais seulement les diffusions
NetBIOS. En recherchant une machine par son adresse IP et en scannant le port 139, on pourra donc
recueillir les informations NetBIOS de cette machine et ensuite établir une communication plus avancée. La
diffusion NetBIOS ne sert qu’au moment de l’inscription de la machine dans le domaine ou par la recherche
d’un contrôleur.

5. Les maîtres Explorateurs :

L’explorateur réseau est le service qui rassemble et organise la liste des ordinateurs et des domaines que l’on
voit dans le voisinage réseau. Il permet donc à une machine de savoir à tout instant quels sont les ordinateurs
exécutant NetBIOS présents sur le même réseau IP, sans avoir à envoyer de diffusions.

Si le réseau était limité à deux ou trois postes, chaque machine pourrait gérer sa propre liste et la tenir à jour
en fonction des connexions et déconnexions des autres postes. Sur un réseau plus important cela deviendrait
rapidement problématique. C’est pourquoi sur chaque réseau NetBIOS, il existe un ordinateur appelé maître
explorateur (master browser) dont le rôle est de tenir à jour une liste d’exploration. C’est cette liste
d’exploration qui est affichée dans le voisinage réseau des différents postes.

Le fonctionnement est le suivant : Toutes les 12 minutes, les ordinateurs annoncent leur présence au maître
explorateur. A partir de ces diffusions, le maître explorateur crée une liste d’exploration et s’attribue
l’enregistrement _MSBROWSE_.[01] et l’annonce au réseau. Grâce à ce système, les maîtres explorateurs
des autres groupes ou domaines savent quels sont les ordinateurs à qui demander la liste d’exploration de
chaque groupe.

Si le nombre d’ordinateurs augmente, le maître explorateur commence à répliquer sa liste sur des
explorateurs de secours (Backup Browsers). Seuls les serveurs NT peuvent être explorateurs de secours. Les
explorateurs de secours contactent le maître toutes les 15 minutes.

Lorsqu’une demande d’exploration est faite par un client, celle-ci est faite directement auprès du maître
explorateur qui retourne la liste des ordinateurs du réseau. Le service d’exploration du client garde pour un
usage futur les noms de 3 explorateurs du réseau et lors des demandes d’exploration futures, contacte l’un de
ces 3 serveurs.

Sous Windows, lorsqu’un client explore le voisinage réseau, il commence par demander la liste des
enregistrements _MSBROWSE_.[01]. Il récupère ainsi la liste des ordinateurs disponibles sur son réseau,
ainsi que la liste des maîtres explorateurs de chaque groupe. S’il explore un autre groupe, il pourra alors faire
directement sa demande auprès du maître explorateur de celui-ci.

Le maître Explorateur du Domaine

Dans un domaine NT, il existe un super maître explorateur : Le maître explorateur du domaine. Ce rôle est
tenu par le contrôleur principal du domaine NT.

Le maître explorateur du Domaine fusionne les listes d’explorations de chaque sous-réseau en une seule
grande liste, et les redistribue à chaque maître explorateur local, qui à leur tour les réplique vers les
explorateurs de secours. De cette manière, les clients d’un domaine peuvent accéder à toutes les machines
d’un domaine.
Election du maître explorateur

Pour devenir maître explorateur, un ordinateur doit avant tout être éligible. Les règles sont les suivantes :

• Les contrôleurs Principaux des domaines NT ont 100% de chance d’être élus Maîtres Explorateurs
du Domaine.
• Les serveurs NT sont obligatoirement Maîtres Explorateurs ou Explorateurs de secours.
• Les stations NT, les postes Windows 9X et SAMBA (de base) peuvent l’être si aucun serveur
n’existe.

Par défaut, la première machine du réseau NetBIOS est maître explorateur. Il y a élections quand :

• Un client ne trouve pas de maître explorateur au démarrage.


• Un client détecte la disparition d’un maître explorateur.
• Un serveur NT démarre.

Ensuite, l’élection est régie par des ordres de supériorité :

• Un serveur l’emporte sur une station


• Un contrôleur de domaine l’emporte sur un serveur membre.
• Un serveur Windows 2000 l’emporte sur un serveur NT4.
• Une station NT4 l’emporte sur un Windows 98.

Tout ceci explique pourquoi sur un réseau poste à poste, sans domaine NT (donc sans contrôleur de
domaine) une machine allumée n’apparaît pas immédiatement dans le voisinage réseau, et qu’une machine
éteinte ne disparaît pas immédiatement non plus. Il y a plusieurs explications :

• Une élection de maître explorateur a au lieu, toutes les listes d’exploration sont à refaire.
• Les ordinateurs viennent tous d’envoyer leurs noms au maître explorateur, l’explorateur de secours
vient juste de la liste. Il va s’écouler 12 minutes avant qu’il ne reçoive la version mise à jour.
• Avant de considérer un ordinateur comme éteint, et avant de le supprimer de la liste d’exploration, le
maître explorateur attend 3 mises à jour de cette liste. Une machine peut donc rester dans la liste
pendant une demi-heure après son arrêt.

6. WINS :

Dans un domaine NT, pouvant comporter quelques dizaines voir centaines de postes, les diffusions peuvent
rapidement devenir un fléau pour le trafic réseau. Microsoft a donc mis en place depuis la version 3.51 de
NT, un système de résolution de noms fonctionnant sur un modèle client/serveur WINS (Windows Internet
Name Services)..

WINS est un système de centralisation dynamique des listes de noms de machine. Les ordinateurs doivent
juste être paramétré avec l’adresse du serveur WINS pour pouvoir s’inscrire d’eux-mêmes dans la liste dès
leur démarrage. Ensuite, lorsqu’une machine à besoin de résoudre un nom NetBIOS en adresse IP, elle
s’adresse au serveur WINS.

Ce système règle le problème des diffusions, mais aussi le problème des routeurs, puisque les serveurs étant
identifiés par leur adresse IP, sont facilement joignables par le réseau et ceci sans diffusions.
Que se passe t-il pour les ordinateurs qui n’ont pas l’adresse du serveur WINS de paramétrée ?

• Si le client est sur le même réseau que le serveur WINS, le serveur recevra par diffusion les noms et
adresse du poste et les inscrira donc dans sa liste. Le client ne pourra pas interroger le serveur, mais
les autres postes pourront passer par WINS pour le retrouver.
• Si le client est sur un autre réseau IP, on pourra utiliser une Proxy-WINS qui interceptera les
diffusions et les transmettra vers le serveur WINS.

Autre solution, utiliser le fichier LMHOST. Ce fichier permet d’établir une correspondance entre les noms
de machines et leurs adresses IP. Inconvénient, il faut le mettre à jour manuellement sur tous les postes
concernés. Les entrées du fichier LMHOST se présentent de cette manière :

192.168.1.1 BATMAN #PRE DOM :GOTHAM #DC

Cette ligne indique que la machine BATMAN se trouve dans le domaine GOTHAM et qu’elle est contrôleur
de Domaine. L’option #PRE charge cette adresse dans le cache de résolution NetBIOS dès le démarrage de
la machine.

L’ordinateur sait dans quel ordre il doit utiliser les différents types de résolution de noms grâce au type de
nœud NetBIOS paramétré. Il existe quatre types de nœuds :

B Node : Broadcast
La résolution de noms se fait uniquement par diffusion.

P Node : Point à Point


La résolution de noms se fait uniquement avec le serveur WINS ;

H Node : Hybride
La résolution se fait d’abord avec WINS, puis par diffusion.

M Node : Mixte
La résolution se fait d’abord par diffusion, puis par WINS.

Le fichier LMHOSTS ne sera utilisé qu’après ces différentes tentatives de résolutions. Dans le cas de la
diffusion, le poste effectue 3 tentatives avant de passer à l’étape suivante.