                                   ~~~~~~~~
                 ~ L'Enregistrement et la rsolution des noms ~

                                   ~~~~~~~~

    J'avais appel mon dernier article sur le routage dynamique, PART I, 
il n'y aura pas de PART II, puisque le I contient tout, j'avais pens  le 
diviser mais j'ai prfr le faire en une fois. 
    Je ferais l'effort cette fois-ci de structurer mon article de faon  
ce que ceux qui veulent sauter des parties le puisse aisment. 
Je propose donc de faire un petit sommaire de l'article ds l'intro pour que
tout le monde s'y retrouve.

	A- NOM D'HOTES ET NOMS NETBIOS.

	B- NOMMAGE NETBIOS.
        a- Les diffrentes methodes de rsolution des noms;
        b- Les diffrents types de noeuds NetBios;
		c- Comment fonctionne l'enregistrement des noms NetBios;
		d- Ce qu'est WINS;

	C- SYSTEME DE NOMS DE DOMAINE.
		a- Intro;
        b- Les rsolveurs;

Voil a sera tout et je suis pas sr que a tienne en un article,
- celui l fait 37ko et il y a que le A et B a) et b)- sinon je 
divise en deux voire trois...

#Speed Parade : Don't turn in on, just like a Speed Parade!
#The Alien :    Just what the hell has happened here!
                The CIA has got a file on everything I've done!
                They'll never take Me Alive!
# Slash's Snakepit "AIN'T LIFE GRAND" 
My own Motivation...

======================================
A-NOM D'HOTES ET NOMS NETBIOS

Il existe deux methodes pour rsoudre un nom d'hte Inetrnet en une adresseIP
    La premire, c d'enregistrer, sur chaque station du rseau, un fichier 
(texte) HOSTS qui contiendra alors une table des noms des htes et de leur 
adresse IP respective. 

    La seconde, quant  elle est appuye sur le systme Domain Name System, 
trs connu DNS..., c en fait les mmes donnes qu'un fichier HOSTS mais au 
niveau global puisqu'il couvre tout l'Internet.Pour obtenir une adresse IP 
d'un hte, il suffit d'envoyer une requte  un serveur DNS. S'il ne la 
connat pas directement, il contacte d'autres serveurs DNS, jusqu' ce que 
l'un d'entre eux puisse lui rpondre par un mess Request au client demandeur.

Depuis quelques temps, les rseaux locaux ausi se mettent  utiliser la 
rsolution des noms, notamment les rseaux locaux UNIX/LINUX qui utilisent un
systme DNS, mme si les rseaux ne sont pas connects  l'Internet.
Mme dans le cas d'un rseau Windows NT/9x, o pourtant les ordinateurs ne
sont reprs que par des noms, en effet chaque machine peut tre  la fois
client et serveur, car c un systme de rseau poste  poste, on utilise la
rsolution des noms en adresses IP  cause de TCP/IP.
Vous connaissez les SMB, Server Message Blocks qui font partie d'une des
trois piles de protocoles, qui peuvent grer le partage Imprimantes et
Disques, ces types de Messages sont contenus dans des paquets de messages
de sessions NetBT (NetBios TCP/IP).
Les rseaux Windows utilisent justement le systme de noms NetBios.
Ces noms ne sont reconnus que sur des rseaux privs.


======================================
B-NOMMAGE NETBIOS

Lorsque vous installez Windows9x  la suite d'un plantage (je suis une 
mauvaise langue...) ou bien pour la premire fois, vous devez donner un nom 
d'ordinateur, et c'est ce nom qui est le nom NetBIOS qui va servir  
identifier cet ordinateur sur le rseau. L'espace de noms NetBIOS ncessite
un nom de 16 caractres qui ne peut pas commencer par un astrisque "*".
A savoir, le rseau Windows n'utilise que 15 caractres pour le nom, le 16me
est rserv pour dfinir un identificateur de ressource. Si mon nom NetBIOS 
est SneakiesMachine, a fait 15 caractres, si j'accde au disque de Par4noID
(bien protg MDR) , alors vu que son disque est export (terme LINUX avec 
Showmount, dsol...), en terme Windows son disque est partag alors, le
16me caractre sera 00. Avant de pouvoir accder  ces ressources (celles de
Par4), il faut que mon ordinateur rsolve le nom NetBIOS de Par4 en adresse
IP. C'est seulement ensuite que je pourrai lui adresser une request SMB,
qu'il est en droit de refuser d'ailleurs...


a- Les diffrentes mthodes de rsolution des noms

Tous les diffrents processus de rsolution sont bass sur une table de 
rfrence des noms NetBIOS avec leurs adresses IP associes.


~~~~~~~~~~~~~~~~~~~~~~~~~~~
Le fichier LMHOSTS  

La manire la plus simple, c'est de crer une table de rfrence qui soit 
place sur le disque local afin de pouvoir y avoir accs rapidement. Chez 
Windows, ce fichier porte le nom de LMHOSTS. 

Un petit schma (va faire plaisir  Androgyne, y en aura plein HIHIHI...)

|----------------------------------------------|    
|                       -------------          |  TCP/IP    ----------------
|                       |Application|================3====> |    SERVEUR   |
|                       -------------          |            ----------------
|           Nom NetBIOS   | |    / \  Adresse  |
|                         |1|    |2|    IP     |
|                         \ /    | |           |
|                       -------------          |
|                       |  LMHOSTS  |          |
|                       -------------          |
|                                              |
|                                              |
|----------------------------------------------|
                     CLIENT

Quand un utilisateur veut accder  une ressource partage d'un ordinateur 
distant, son ordinateur accde au fichier LMHOSTS et recherche le nom indiqu
par l'utilisateur. Ce nom est associ  une adresse IP qui est fournie au 
programme, et l'ordinateur peut lancer la communication avec l'ordinateur 
distant.
Le fichier LMHOSTS possde un avantage indniable, c que son enregistrement 
serait sur un disque dur local, ce qui implique un temps d'accs rduit au 
minimum. Seul bmol, pour que son fonctionnement soit correcte, le rseau
doit disposer d'un fichier LMHOSTS trs proche de l'tat actuel du rseau en
cours d'utilisation, en effet, le fichier LMHOSTS s'il veut remplir
pleinement son rle doit tre mis   jour trs rgulirement, ce qui
sous-entend un trafic intense de donnes sur le rseau, on fait apparatre
ici la principale limite au fichier LMHOSTS: l'tendue du rseau, il est trs
fastidieu de le faire oprer correctement sans risquer d'entraver le bon 
fonctionnement du rseau si celui-ci est de grande anvergure.

~~~~~~~~~~~~~~~~~~~~~~~~~~~
La Diffusion

Ceci reprsente la seconde mthode de rsolution des noms.
Quand une machine A du rseau  besoin de communiquer avec une autre machine
B prcise du rseau, alors la machine A va mettre un message de diffusion,
soit  toutes les autres machines, contenant le nom NetBIOS de celui qu'elle
recherche et va attendre sa rponse.
Quand la machine portant le nom NetBIOSrclam est contacte, elle renvoie un
paquet monodestinataire  l'mettur en indiquant son adresse IP.
Il est alors possible de lancer une connexion entre l'appelant et le
rcepteur.

Sympa, mais on voit tout de suite que si on snif pas mal, il y a moyen de se 
faire passer pour l'ordinateur qui doit recevoir, en analysant la structure
du paquet mis pour rcuprer le nom NetBIOS attendu, ensuite on lui donne
notre adresse IP (aprs tre pass par plusieurs PROXY, histoire de brouiller
les pistes), et voil, nous voil sur le rseau... Petit bmol, si le prog
(qui doit tre un dmon!) veut reprer le transit des paquets et veut pouvoir
les intercepter, il faut qu'il soit sur le rseau local, sinon a voudrait
dire qu'on est dj sur le rseau...
Re-schma:
                                                  TCP/IP: communication          
                                                 ---------3---------
                                                 |                 |
                 Nom    |------------------------|   Nom           |
 ------------   NetBIOS |                        | NetBIOS    -----------
 | MachineA | <=====1===|        APPLICATION     |=====1====> |Machine B|
 ------------           |                        |<====2===== -----------
                        |------------------------| Adresse IP
                              |               |
                              |               |
              --------1--------               --------1--------
              |  Nom NetBIOS                     Nom NetBIOS  |
          -----------                                      -----------
          |Machine C|                                      |Machine D|
          -----------                                      -----------

Cette mthode de diffusion construit dynamiquement une tablde rfrence sur
la machine mettrice. Cette table est stocke dans un buffer mmoire cache de
la machine, ainsi,  chaque coupure, le cache est dtruit. De ce fait, il
n'est pas ncessaire de maintenir une table de rfrence. Des lors qu'une
nouvelle rsolution des noms est lance, les modifications sur le rseau sont
enregistres dans le cache. Le majeur problme de ce systme est que lui 
aussi gnre un trafic intense, chaque ordinateur reoit un paquet dont il
n'a peut-tre rien  faire, deplus, ce paquet doit passer toutes les couches
de la pile de protocoles pour atteindre l'interface NetBIOS au ct des API
et autres, au dessus de l'interface TDI... Toutes les couches sont donc
monopolises pour rien dans ce cas, tout a pour que le message soit dtruit
s'il ne correspond  la machine dsire. Une autre limite est le fait que ce
systme ne soit oprant que dans le cas d'un rseau interconnect en local, 
puisque si le rseau est en deux parties et qu'il utilise une passerelle pour
relier les deux parcelles du rseau, ces paquets soit se limiteront  la
portion du rseau local concern, soit irons sur une autre parcelle, si le
routeur est cnfigur pour, mais ceci aggravera le phnomne du flux trop
important. Ce systme est donc recommand pour les petits rseaux, encore
une fois.


~~~~~~~~~~~~~~~~~~~~~~~~~~~
Serveur de noms NetBIOS (NBNS)

La troisime mthode, concerne une application nomme NetBIOS Name Server 
(NBNS). Windows NT Server comprend un NBNS nomm (WINS) Windows Internet Name
Service. Le but de ce serveur de noms, est de crer un log de tous les noms
et adresses IP des ordinateurs du rseau, puis il s'occupe de mettre  jour
ce log dynamiquement. Pour pouvoir acceder  un serveur WINS, une station
cliente doit tre configure avec les adresses IP de serveurs WINS primaire
et secondaire situs sur le rseau. Ds que la machine est lance, elle
transmet un message monodestinataire au serveur WINS, avec son nom NetBIOS et
son adresse IP, qui l'enregistre dans une base de donnes. Cette base de
donnes peut tre duplique, (vivement conseill!) pour que soit mieux
rparti le travail de routage entre plusieurs serveurs WINS et pour qu'en cas
de panneun serveur puisse prendre la relve temporairement.

Quand une machine veut rsoudre un nom NetBIOS en adresse IP, elle envoie une
requte au serveur WINS, qui cherche dans ses logs pour trouver qui est le
nom NetBIOS que le client demande. Ensuite, le serveur WINS renvoie un
message contenant l'adresse IP du nom NetBIOS demand.Comme la mthode de
diffusion, WINS ne demande pas de mise  jour manuelle. Le gros avantage de 
cette mthode est qu'elle s'appuie sur des transmissions monodestinataires; 
en plus de a, cette mthode est capable parfaitement de grer plusieurs 
portions de rseau.
Schma:

CLIENT |--------------------------------|   
       |                                |
       |                                |
       |       |-------------|          |         
       |       | Application |=======3=========> SERVEUR
       |       |-------------|          |         
       |--------------------------------|
              ||            /\ 
 Nom NetBIOS 1||            ||2 Adresse IP
              \/            || 
            |------------------|
            |   Serveur WINS   |
            |------------------|

Le problme de ce type d'installation, c que chaque client doit renseigner
les adresses de serveurs WINS qu'il utilise. Il est toutefois possible de
rsoudre ce problme en faisant agir et cohabiter un serveur DHCP et un
serveur WINS. Car lorsque DHCP configure un client, il indique l'adresse des
serveurs WINS et par la suite enregistre les adresses IP de tous les clients
rattachs  la base de donne des serveurs WINS.

b- Les diffrents types de noeuds NetBIOS

Dans la mesure o il existe plusieurs mthodes de rsolution des noms sous 
WinNT, il existe une faon de slectionner la mthode  utiliser.
Il est alors possible, et mme recommand de faire cohabiter toutes ces
mthodes afin d'avoir un adressage optimal au sein du rseau.
Le standard NetBT dfinit plusieurs types de noeuds indiquant les diffrentes
combinaisons et l'ordre dans lequel doivent tre effectues ces mthodes.
On remarque un avantage majeur: trs versatile, la cohabitation de tous ces
systmes permet d'viter que l'adressage choue de la faute d'une panne d'une
de ces mthodes.
De ce fait, si panne il y a, toutes les mthodes sont essayes jusqu' ce
qu'enfin le destinataire soit contact.
Voici, les diffrents types de noeuds qui sont dfinis dans le standard
NetBT:

+ BROADCAST NONE (b-node)==> Un systme b-node utilise la mthode de 
                             diffusion pour l'enregistrement et la
                             rsolution des noms.

+ POINT-TO-POINT MODE (p-node)==> Un systme p-node utilise les
                                  transmissions monodestinataires pour
                                  les serveurs de noms NetBIOS (comme WINS)
                                  pour l'enregistrement et la rsolution 
                                  des noms.

+ MIXED MODE NODE (m-node)==> Un systme m-node utilise la mthode de
                              diffusion pour l'enregistrement des noms.
                              Pour la rsolution des noms, m-node
                              utilise en premier la diffusion, si il ne
                              reoit aucune rponse, il utilise les
                              transmissions monodestinataires vers les
                              serveurs de noms NetBIOS.

Ce dernier mode est spcialement prconis dans les gros rseaux composs de
plusieurs segments, o il est ncessaire de communiquer d'un segment 
l'autre tout en restant le plus souvent dans une boucle locale.
Il est conseill (parce qu'intressant!) d'tudier 3 autres types de noeuds 
dfinis dans WinNT et fourni avec l'OS:

+ B-NODE MODIFIED ==> Un systme WinNT, qui n'est pas client WINS, peut tre 
                      configur comme un b-node qui diffre lgerement du 
                      standard NetBT. Si le client ne peut rsoudre un nom
                      par des requtes de diffusion, il consulte le fichier
                      LMHOSTS sur son disque local.

+ NODE HYBRID (h-node)==> Un h-node utilise des transmissions
                          monodestinataire vers un serveur WINS pour
                          l'enregistrement et la rsolution des noms. Si le
                          systme ne peut entrer en contact avec le serveur
                          WINS (panne ou surchage du flux en local), il passe
                           la rsolution des noms en broadcast, seulement
                          jusqu' ce qu'un serveur WINS soit disponible o il
                          repasse alors en unicast.

+ MICROSOFT-ENHANCED ==> WinNT permet  des utilisateurs ou admin
                         (chevrons MDR), de se permettre le luxe d'ajouter
                         des posibilits aux types de noeuds dj existants,
                         comme par exemple avec la rsolution des noms par
                         LMHOSTS et des appels standard Windows Sockets 
                         un serveur DNS et un fichier HOSTS.

Par dfaut, les WinNT distibus sont en h-node, ils sont en effet destins 
utiliser les serveurs WINS. Il existe deux options supplmentaires pour 
configurer un client TCP/IP (Microcro), elles vous permettent d'activer DNS 
pour la rsolution des noms Windows et LMHOSTS. L'option DNS fournit les noms
rfrencs dans le fichier HOSTS, sur le disque local, et les appels aux 
serveurs DNS indiqus dans la configuration TCP/IP du client. Dans ce cas de 
figure, si les deux premires mthodes chouent, l'option LMHOSTS permet le 
lancement d'une recherche de noms NetBIOS dans le fichier LMHOSTS situ sur
le disque local.
Sur un systme h-node - NODE HYBRID - configur de telle manire que toutes 
les options WinNT sont actives, la rsolution des noms se passe comme suit:


			|--------------------------------------|
            |           MACHINE LOCALE A           |
			|--------------------------------------|
                              || Nom NetBIOS
                              \/
			|--------------------------------------|
            |   (1)          DNS                   |
            |        Si nom >15 caractres         |==|
			|--------------------------------------|  |
                              ||                      |
                              \/                      |
			|--------------------------------------|  |
            |   (2)         Cache                  |  |
            |           des noms NetBIOS           |==|
			|--------------------------------------|  |
                              ||                      |
                              \/                      |
			|--------------------------------------|  |
            |   (3)     Mono-destinataires         |  |
            |                WINS                  |==|
			|--------------------------------------|  |
                              ||                      |
                              \/                      |=====> NOM RESOLU
			|--------------------------------------|  |
            |   (4)        Diffusion               |  |
            |                                      |==|
			|--------------------------------------|  |
                              ||                      |
                              \/                      |
			|--------------------------------------|  |
            |   (5)        LMHOSTS                 |  |
            |                                      |==|
			|--------------------------------------|  |
                              ||                      |
                              \/                      |
			|--------------------------------------|  |
            |   (6)          DNS                   |  |
            |                                      |==| 
			|--------------------------------------|
                              ||
                              \/
                 Echec de la rsolution du nom


~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dtail des tapes:

(1)> Si le nom comporte plus de 15 caractres, c'est un nom DNS. Le systme 
client lance un appel DNS avec la premire mthode de rsolution de noms. 

(2)> Si le nom comporte 15 caractres ou moins ou si la rsolution DNS
choue, le systme client recherche le nom dans le cache NetBIOS.

(3)> Si le cache ne contient pas le nom recherch, le client envoie une 
requte de recherche de noms. Cette requte est envoye en transmission mono-
destinataire au serveur WINS primaire indiqu dans la config TCP/IP du
client. Si,  son tour, le serveur WINS primaire ne rpond, le client envoie
la requte au serveur WINS secondaire.

(4)> Si les deux serveurs WINS ne rpondent toujours pas, le client envoie
une requte par diffusion.

(5)> Si le client ne reoit toujours aucune rponse aux requtes de
diffusion, il recherche le nom dans le fichier LMHOSTS du disque local.

(6)> Si le nom ne se trouve pas dans le fichier LMHOSTS (et si le nom possde
15 caractres ou moins), le client transmet les requtes DNS aux serveurs 
indiqus dans la config TCP/IP du client.

(7)> Si le DNS ne peut tre contact ou choue dans la rsolution du nom, le 
processus de rsolution a chou et un message d'erreur est envoy au client.

Bon voil pour cette fois, un article PartII (ps bidon cette fois!
cfMag4...), est dj programm, si vous voulez savoir sur quoi,
cf Sommaire de cet article...

Conclusion:
#They'll never take me Alive!
RDV pour le part II... 
(Greetz to S/ash for his interface with its 78 caracters' shits standard...
ND/ : Je t'emmerde Sneakie, de plus tu l'as pas respect. T'inquite, la
prochaine fois, y'aura une interface Windows et une interface Linux)

