next up previous contents
Next: La couche liaison d'Internet. Up: Le réseau Internet et Previous: Architecture des protocoles TCP/IP.

Adressage.

  Chaque ordinateur du réseau Internet dispose d'une adresse IP unique codée sur 32 bits. Plus précisément, chaque interface dispose d'une adresse IP particulière. En effet, un même routeur interconnectant 2 réseaux différents possède une adresse IP pour chaque interface de réseau. Une adresse IP est toujours représentée dans une notation décimale pointée constituée de 4 nombres (1 par octet) compris chacun entre 0 et 255 et séparés par un point. Ainsi 193.49.144.1 est l'adresse IP d'une des principales machines du réseau de l'université d'Angers.
  
Figure 2.7: Les cinq classes d'adressses IP
\begin{figure}
\begin{center}

\includegraphics 
*{figadresse.eps}\end{center}\end{figure}

Plus précisément, une adresse IP est constituée d'une paire (id. de réseau, id. de machine) et appartient à une certaine classe (A, B, C, D ou E) selon la valeur de son premier octet, comme détaillé dans la figure 2.7. Le tableau ci-après donne l'espace d'adresses possibles pour chaque classe.
 
Figure 2.7: Les cinq classes d'adressses IP
classe adresses
A    0.0.0.0 à 127.255.255.255
B 128.0.0.0 à 191.255.255.255
C 192.0.0.0 à 223.255.255.255
D 224.0.0.0 à 239.255.255.255
E 240.0.0.0 à 247.255.255.255
Ainsi, les adresses de classe A sont utilisées pour les très grands réseaux qui comportent plus de 216=65 536 ordinateurs. Au niveau mondial, il ne peut exister plus de 127 tels réseaux, par exemple celui de la défense américaine ou du MIT, mais la politique actuelle est de ne plus définir de tels réseaux. Les adresses de classe B sont utilisées pour les réseaux ayant entre 28=256 et 216=65 536 ordinateurs, 14 bits définissent l'adresse du réseau et 16 bits celle d'une machine sur le réseau. Seules 256 machines sont possibles sur un réseau de classe C dont le nombre possible dépasse les 2 millions (=221). L'obtention d'une adresse IP pour créer un nouveau réseau est gérée par l'INTERNIC de manière décentralisée, à savoir qu'un organisme national gère les demandes pour chaque pays. En France c'est l'INRIA (Institut National de Recherche en Informatique et Automatique ) qui est chargé de cette tâche. Au lieu d'utiliser un adressage plat 1, 2, 3, ... la méthode retenue est plus efficace car elle permet une extraction rapide du numéro de réseau à l'intérieur d'une adresse IP ce qui facilitera le routage.

Toutes les combinaisons mathématiquement possibles pour identifier un réseau ou une machine ne sont pas permises car certaines adresses ont des significations particulières.

Le système des adresses IP permet également la définition d'adresses de sous-réseaux en découpant la partie réservée à l'adresse des machines sur un réseau en deux parties dont la première sera un identificateur de sous-réseau. Ainsi un seul réseau de classe B, sur lequel on pourrait nommer 65 536 machines pourra être décomposé en 254 sous-réseaux de 254 machines, de la manière décrite ci-dessous.

<id. de réseau sur 16 bits>.<id. de sous-réseau sur 8 bits>.<id. de machine sur 8 bits>
L'administrateur d'un réseau peut décider de découper où il veut la zone des identificateurs de machines, mais le découpage <<autour du .>> facilite le travail des routeurs. On peut également adopter le même principe pour un réseau de classe C. Cette technique a pour effet de provoquer un routage hiérarchique.
  
Figure: Adressage de sous-réseau
\begin{figure}
\begin{center}

\includegraphics 
*{figsousreseau.eps}\end{center}\end{figure}

La figure [*] illustre le cas d'un réseau X.Y.0.0 découpé en deux sous-réseaux X.Y.1.0 et X.Y.2.0. Pour tout le reste d'Internet, il n'existe qu'un seul réseau X.Y.0.0 et tous les routeurs traitent les datagrammes à destination de ce réseau de la même façon. Par contre, le routeur R se sert du troisième octet (égal à 1 ou 2) de l'adresse contenue dans les datagrammes qui lui proviennent pour les diriger vers le sous-réseau auquel ils sont destinés assurant ainsi un routage hiérarchique.

Outre l'adresse IP, une machine doit également connaître le nombre de bits attribués à l'identificateur du sous-réseau et à celui de la machine. Cette information est rendue disponible grâce à un masque de sous-réseau ou subnet netmask qui est un mot de 32 bits contenant des bits à 1 au lieu et place de l'identificateur de réseau et de sous-réseau et des bits à 0 au lieu et place de l'identificateur de machines. Ainsi le masque[*] 255.255.255.0 indique que les 24 premiers bits d'une adresse désignent le sous-réseau et les 8 derniers une machine. Le masque 255.255.255.192 ((192)10=(11000000)2) indique que les 26 premiers bits désignent le sous réseau et les 6 derniers une machine. De cette manière à partir de l'adresse d'un datagramme et de son masque de sous-réseau une machine peut déterminer si le datagramme est destiné à une machine sur son propre sous-réseau, à une machine sur un autre sous-réseau de son réseau ou à une machine extérieure à son sous-réseau. Par exemple, dans le cadre du réseau de la figure [*] où le masque de sous-réseau est 255.255.255.0 supposons que notre machine soit celle identifiée par l'adresse IP X.Y.1.2.

Bien que la numérotation IP à l'aide d'adresses numériques soit suffisante techniquement, il est préférable pour un humain de désigner une machine par un nom. Mais se pose alors le problème de la définition des noms et de leur mise en correspondance avec les numéros IP. Au début des années 80, le réseau ARPANET comportait un peu plus de 200 ordinateurs et chacun possédait un fichier /etc/hosts identifiant les noms de ces ordinateurs suivis de leur numéro IP. Lorsqu'une modification intervenait, il suffisait de mettre à jour ce fichier. Pour faire face à l'explosion du nombre d'ordinateurs reliés à Internet, il a été mis en place un système de base de données distribuées : le système de noms de domaines (DNS : Domain Name System ) qui fournit la correspondance entre un nom de machine et son numéro IP.

  
Figure: Système de noms de domaines.
\begin{figure}
\begin{center}

\includegraphics 
*{figdns.eps}\end{center}\end{figure}

En fait, le DNS est un espace de noms hiérarchisé comme illustré dans la figure 2.9. Chaque n\oe 
ud a un nom d'au plus 63 caractères et la racine de l'arbre a un nom nul (les minuscules et majuscules sont indifférenciées). Une zone est un sous-arbre de cette hiérarchie. Le nom de domaine d'un n\oe 
ud est la concaténation de son nom avec celui de ses ancêtres dans l'arbre. La responsabilité du nommage est subdivisée par niveau, les niveaux supérieurs déléguant leur autorité aux sous-domaines qu'ils créent eux-mêmes. Il faut bien avoir à l'esprit que le découpage n'a dans certains cas aucune base géographique ; on trouve des domaines .com partout dans le monde.

Le mécanisme qui permet la résolution d'un nom en une adresse IP est géré par des serveurs de noms qui représentent une base de données distribuée des noms de domaine. Quand une personne a reçu l'autorité de gérer une zone elle doit maintenir au moins deux serveurs de noms : un primaire et un ou plusieurs secondaires . Les secondaires ont des serveurs redondants par rapport au primaire de manière à faire face à une défaillance d'un système. Lorsqu'une machine est ajoutée à une zone, l'administrateur de la zone doit ajouter son nom et son numéro IP dans le fichier disque du serveur primaire qui se reconfigure alors en fonction de ces nouvelles données. Quant à eux, les serveurs secondaires interrogent régulièrement (toutes les 3 h) le primaire et fait les mises à jour nécessaires en cas d'évolution de la base de données. Lorsqu'un serveur de noms reçoit une demande, il vérifie si le nom appartient à l'un des sous-domaines qu'il gère. Si c'est le cas il traduit le nom en une adresse en fonction de sa base de données et renvoie la réponse au demandeur. Sinon, il s'adresse à un serveur de nom racine qui connaît le nom et l'adresse IP de chaque serveur de noms pour les domaines de second niveau. Ce serveur de nom racine lui renvoie alors l'adresse d'un serveur de noms à contacter, et ainsi de suite, par interrogations successives de serveurs de noms il sera capable de fournir l'adresse demandée. Pour éviter de faire trop souvent de telles requêtes, tout serveur de noms stocke dans une mémoire cache les correspondances (numéro IP, nom de machine) de manière à pouvoir fournir la réponse immédiatement si une même demande lui parvient ultérieurement.


next up previous contents
Next: La couche liaison d'Internet. Up: Le réseau Internet et Previous: Architecture des protocoles TCP/IP.
Pascal Nicolas Université d'Angers
mardi, 2 novembre 1999, 09:20:50 MET