Next: La couche liaison d'Internet.
Up: Le réseau Internet et
Previous: Architecture des protocoles TCP/IP.
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
 |
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.
- 0.0.0.0 est utilisée par une machine pour connaître sa
propre adresse IP lors d'une processus d'amorçage par exemple
- <id. de réseau nul>.<id. de machine> est également utilisée
pour désigner une machine sur son réseau lors d'un boot également
- <id. de réseau>.<id. de machine nul> n'est jamais
affectée à une machine car elle permet de désigner le réseau lui-même
- <id. de réseau>.<id. de machine avec tous ses bits à 1>
est une adresse de diffusion ou de broadcasting , c'est-à-dire
qu'elle désigne toutes les machines du réseau concerné.
Un datagramme adressé à cette adresse sera ainsi envoyé à toutes les machines du
réseau.
- 255.255.255.255 est une adresse de diffusion locale car
elle désigne toutes les machines du réseau auquel appartient l'ordinateur
qui utilise cette adresse.
L'avantage par rapport à l'adresse précédente est que l'émetteur n'est pas
obligé de connaître l'adresse du réseau auquel il appartient.
- 127.X.Y.Z est une adresse de rebouclage qui est utilisée pour
permettre les communications inter-processus sur un même ordinateur
ou réaliser des tests de logiciels car tout logiciel de communication
recevant des données pour cette adresse les retourne simplement à
l'émetteur.
- Les adresses de classe A de 10.0.0.0 à
10.255.255.255, de classe B de 172.16.0.0 à
172.31.255.255 et de classe C de 192.168.0.0 à
192.168.255.255 sont réservées à la constitution de réseaux
privés autrement appelés intranet
.
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
 |
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.
- Si l'adresse de destination est X.Y.1.1, un <<et>>
entre la représentation binaire de cette adresse est de celle du masque de
sous-réseau donne X.Y.1.0 à savoir l'adresse du sous-réseau de notre
machine, donc le datagramme est destiné à une machine de ce même sous-réseau.
- Si l'adresse de destination est X.Y.2.1, un calcul du
même genre donne X.Y.2.0 c'est-à-dire l'adresse d'un autre sous-réseau
du même réseau.
- Si l'adresse de destination est S.T.U.V (avec
)le résultat sera l'adresse d'un réseau différent de celui auquel appartient
notre machine.
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.
 |
En fait, le DNS est un espace de noms hiérarchisé comme illustré dans la
figure 2.9.
Chaque n
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
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: 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