|
NetBIOS n'est pas un protocole en soi. C'est une interface logicielle, et un mode de nommage.
Il sous-tend tous les réseaux de type Microsoft jusqu'à Windows 2000. Il est à la base de tout le fonctionnement d'un réseau Microsoft, qu'il s'agisse d'un groupe de travail ou d'un domaine. Il comprend le nommage des machines, le nommage des groupes de travail, ou des domaines,
mais aussi l'identification d'un serveur comme contrôleur de domaine ou comme simple station, il fait fonctionner ce qu'on appelle le voisinage réseau. Il a été fortement décrié pour la charge
induite sur les réseaux, mais c'est aussi un système puissant et fonctionnel dès lors qu'il est paramétré avec soin sur un système stable et bien protégé.
NetBIOS, c'est le système de nommage des réseaux SMB
(réseaux MS). On peut le comparer grossièrement à DNS pour le nommage internet. Par abus de language, il se peut qu'on retrouve dans ce document la mention de "protocole NetBIOS", mais vous saurez désormais à quoi vous en tenir.
1. La couche sous le serveur SMB
Pour identifier les éléments des réseaux Microsoft on utilise NetBIOS. Sans NetBIOS, pas de partage de fichiers et d'imprimantes, pas de Samba. Sous Windows 9x, il faut avoir activé soit le client
pour les réseaux Microsoft (qui permet d'inscrire la station dans un domaine), soit le partage de fichiers et d'imprimantes (qui permet de partager des ressources au sein d'un groupe de travail).
Ne pas installer ces services, revient à rendre la machine sourde et muette sur un réseau SMB TCP/IP. S'il y a un très bon conseil à donner aux novices en matière d'internet c'est de commencer par ne
pas installer ces deux services, ou à les désactiver (la procédure n'est pas l'objet de cette doc) pour l'interface réseau qui fait le lien avec Internet. L'installation automatique du client MS et
du partage de fichiers a été un trou de sécurité terrible sur les réseaux câblés avant que ceux-ci ne fonctionnent avec le protocole pppoe comme l'ADSL, n'importe qui entrait sur les machines pour
pouvoir y faire n'importe quoi et le fournisseur d'accès Wanadoo sur Bordeaux en a notoirement fait les frais. La partie sur les diffusions explique pourquoi.
2 Un nom NetBIOS de 15 caractères?
Le nom NetBIOS c'est en premier lieu un nom de 15 caractères maximum plus un seixième. Attachons nous aux 15 premiers. Celui auquel tout le monde pense de prime abord est le nom de la machine.
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, et c'est ce nom que l'on verra apparaître dans le voisinage réseau avec une
icône d'écran d'ordinateur.
Dans le voisinage réseau, le groupe de travail est matérialisé par les 3 écrans reliés qui contiennent des icônes d'ordinateur. A noter que la notion de domaine et de groupe de travail est d'abord une
notion de groupe de sécurité, et pas une question de nom NetBIOS.
3 NetBIOS fonctionne en couche 4 de TCP/IP
Dans TCP/IP, NetBIOS est un protocole de niveau 4 donc de la couche application qui fonctionne principalement sur les ports 137 138 et 139. C'est tout particulièrement important lorsque l'on souhaite
mettre en réseau des machines utilisant un petit firewall intégré.
Une autre chose très importante est le fait que NetBIOS fonctionne sur le principe des diffusions (broadcast): pour se parler, les machines diffusent leurs requêtes sur le réseau IP qui est le leur.
Cela veut dire que si deux machines utilisent le protocole NetBIOS sur un même réseau IP, à moins de faire en sorte du contraire, elles finiront forcément par se voir.
Il s'agit principalement d'un protocole (de niveau 4, ça veut dire que d'un point de vue tcp/ip, il se trouve au sommet de la pile). Pour rappel:
Couche 4: la couche application, avec en vrac http, ftp, dns (et d'autres) l'interface NetBIOS, et les applications NetBIOS (voisinage réseau, explorer, ...) Couche 3: la couche transport avec tcp et udp, et NetBT (NetBT est l'intercouche qui établit la correspondance nom NetBIOS <--> adresse IP.)
Couche 2: la couche réseaux avec IP pour décider de l'adresse de la machine, du routage.... Couche 1: la couche physique avec l'adresse mac de la carte réseau, c'est là que les 0
et les 1 sont transformés en signaux électriques.
4 NetBIOS fonctionne par diffusion
4.1/ Au commencement...
NetBIOS a été créé à une époque où les réseaux internes des entreprises étaient soit de très grands réseaux équipés de main-frames avec des terminaux, ou de machines UNIX avec aussi des
terminaux, ou bien de petits réseaux non-routés. Les machines se "découvraient" en hurlant à la cantonade : "je suis la machine ZORRO j'ai l'adresse 192.168.0.5, y a
quelqu'un?" et la machine SGTGARCIA de répondre: "Oui, oui!! je suis le SGTGARCIA, j'ai l'adresse IP 192.168.0.8". Et ça gueulait à tout va! En langage technique, on dira que ça
fonctionne par diffusion. Pour une autre explication des diffusions, vous pouvez aller voir sur guill.net
4.2/ Les routeurs
Le problème des diffusions, c'est qu'elles ne passent pas les routeurs. Je vous le fais en language MS: "ce n'est pas un bug, c'est une fonctionnalité". Bon, pour les routeurs, c'est
bien une fonctionnalité, puisque les routeurs sont aussi faits pour fractionner les réseaux et limiter les diffusions. Pourquoi? Hé bien c'est rigolo des machines qui s'appellent à la cantonade,
mais il faut bien comprendre que celà engendre tout de même un trafic important! Imaginez que dans une pièce, 3 personnes se hèlent. Maintenant, imaginez la même chose avec 600 personnes dans une
salle des fêtes, et réfléchissez à la quantité d'informations effectivement partagée dans cette cohue. Pour résoudre ce problème, d'un point de vue tcp/ip, on a segmenté la salle des fêtes en
multiples pièces, ce sont les routeurs qui font office de cloisons.
4.3/ Notion de voisinage réseau 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 un même réseau IP; pour mon exemple, il s'agit de tous les ordinateurs ayant une adresse comprise entre 192.168.0.1 et 192.168.0.254. et pas plus.
C'est un artifice visuel bien pratique qui permet de savoir presque immédiatement si un service est disponible: Imaginons une imprimante partagée sur un ordinateur: Si on ne voit pas
l'ordinateur, c'est que vraisemblablement, on ne pourra pas imprimer sur cette machine. C'est aussi une bonne indication de la "santé" d'une machine: ne pas la voir dans le voisinage
réseau, signifie trop souvent qu'elle est mal paramétrée.
5. Différences NETBEUI - NETBIOS
Grosso-modo, NetBEUI apporte les mêmes fonctionalités que NetBIOS par dessus tcp/ip, puisqu'il supporte les fonctions de voisinage réseau, et qu'il permet de joindre une machine sur un réseau
local en l'appelant par son nom. Le grosse différence est dans le fait que NetBEUI se place directement au dessus de la couche matérielle et qu'il établit une correspondance nom NetBIOS <==>
adresse Mac. Comme il n'existe pas d'adresses uniques NetBEUI, ce protocole n'est pas routable non plus. L'empilement des couches est donc le suivant :
Application
|
Applications NetBIOS (voisinage réseau, explorer,...) Interface NetBIOS (netbios.dll)
|
Transport
|
|
NetBIOS sur TCP/IP (NetBT)
|
Réseau
|
NetBEUI
|
TCP/IP
|
Matériel
|
|
|
Liens ;
|