Avant de plonger dans les délices des sous-réseaux, nous devons poser les
bases à propos des numéros IP.
Tout d'abord, éclaircissons une cause classique de mauvaise compréhension - les
numéros IP ne sont pas assignés aux hôtes. Les numéros IP sont assignés aux
interfaces réseau sur les hôtes.
Hein? C'est quoi ça?
Alors que la plupart des ordinateurs (pour ne pas dire tous) d'un réseau IP
ne possèderont qu'une seule interface réseau (et donc n'auront qu'une seule
adresse IP), il n'en va pas toujours ainsi. Certains ordinateurs ou d'autres
appareils peuvent avoir plusieurs (voire de nombreuses) interfaces réseau - et
chaque interface a son propre numéro IP.
Donc un appareil avec 6 interfaces actives (comme un routeur) aura 6 numéros
IP - un pour chaque interface vers chaque réseau sur lequel il est connecté.
La raison en devient claire quand on regarde un réseau IP!
Malgré cela, la plupart des gens font référence à des adresses d'hôtes quand
ils veulent faire référence à des numéros IP. Souvenez-vous juste que ce
n'est qu'un raccourci pour le numéro IP de l'interface de cet hôte. La
plupart (si ce n'est pas la majorité) des appareils sur Internet n'ont qu'une
interface réseau, et donc qu'un numéro IP.
Dans l'implémentation actuelle des numéros IP (IPv4), les numéros IP sont
composés de 4 octects (de 8 bits) - fournissant un total de 32 bits
d'information disponibles. Cela donne des numéros plutôt grands (même quand
on les écrit en notation décimale). Donc pour la lisibilite (et pour des
raisons organisationnelles), les numéros IP sont habituellement écrits sous
la forme de "quadruplets pointés".
Le numéro IP
192.168.1.24
en est un exemple - 4 nombres (décimaux) séparés par des points (.).
Comme chacun des quatre nombres est la représentation décimale d'un
octet de 8 bits, chacun de ces nombres est compris entre 0 et 255 (c'est
à dire qu'il peut prendre 256 valeurs - souvenez-vous que 0 est aussi une
valeur).
De plus, une partie du numéro IP d'un hôte identifie le réseau sur lequel
l'hôte est connecté, les bits restants du numéro IP indique l'hôte lui-même
(oups - l'interface réseau). La classe de réseau détermine
combien de bits sont utilisés par l'identificateur de réseau et
combien sont disponibles pour identifier les hôtes.
Il y a trois classes de numéros IP
- Les numéros des réseaux IP de classe A utilisent les 8 bits les plus à
gauche (le nombre le plus à gauche du quadruplet pointé) pour identifier
le réseau, laissant 24 bits (les 3 nombres restants du quadruplet) pour
identifier les interfaces des hôtes de ce réseau.
Les adresses de classe A ont toujours le dernier bit à gauche à zéro -
c'est à dire une valeur décimale entre 0 et 127 pour le premier nombre
du quadruplet. Il y a donc un maximum de 128 numéros de réseaux de classe
A disponibles, chacun d'eux contenant jusqu'à 1 677 214 interfaces (NDT: le mini-howto original indique 33 554 430 interfaces... petite erreur de calcul...).
Toutefois, les réseaux 0.0.0.0 (appelé route par defaut) et 127.0.0.0
(le réseau de boucle de retour - loopback) ont des significations spéciales
et ne sont pas disponibles pour identifier des réseaux. Il n'y a donc que
126 réseaux de classe A disponibles.
- Les numéros de réseaux IP de classe B utilisent les 16 bits les plus à
gauche (les deux nombres de gauche du quadruplet) pour identifier le
réseau, laissant 16 bits (les deux derniers nombres du quadruplet) pour
identifier les interfaces des hôtes.
Les adresses de classe B ont toujours
les 2 bits les plus à gauche mis à 1 0. Cela laisse 14 bits pour spécifier
l'adresse de réseau, donnant 32 767 réseaux de classe B disponibles. Les
réseaux de classe B ont donc le premier nombre du quadruplet entre 128 et
191, chaque réseau pouvant contenir 65 534 interfaces (NDT: dans le document original: 32 766, encore une erreur...).
- Les numéros de réseau IP de classe C utilisent les 24 bits les plus à
gauche (les trois nombres de gauche du quadruplet) pour identifier le
réseau, laissant 8 bits (le nombre le plus à droite du quadruplet) pour
identifier les interfaces des hôtes.
Les adresses de classe C commencent
toujours avec les 3 bits les plus à gauche positionnés à 1 1 0, soit un
intervalle de 192 à 256 pour le nombre le plus à gauche du quadruplet.
Il y a donc 4 194 303 numéros de réseaux de classe C disponibles, chacun
contenant 254 interfaces. (Les réseaux de classe C avec le premier octet
superieur à 223 sont toutefois réservés et non disponibles.)
En résumé:
Classe de réseau Intervalle des valeurs (décimales) utilisables du 1er octet
A 1 à 126
B 128 à 191
C 192 à 254
Il y a aussi des adresses spéciales, qui sont réservées pour des réseaux
'non-connectés' - c'est à dire des réseaux qui utilisent IP mais ne sont
pas connectés à l'Internet. Ces adresses sont:
- Un réseau de classe A:
10.0.0.0
- 16 réseaux de classe B:
172.16.0.0 - 172.31.0.0
- 256 réseaux de classe C:
192.168.0.0 - 192.168.255.0
Vous remarquerez que dans tout ce document, on utilise ces intervalles
pour ne pas créer de confusion avec de 'vrais' réseaux et de
'vrais' hôtes.
Les numéros IP peuvent avoir trois significations:
- l'adresse d'un réseau IP (un groupe d'appareils IP partageant un accès
commun à un médium de transmission - en étant par exemple sur un même
segment Ethernet). Un numéro de réseau aura toujours les bits d'interface
(hôte) de l'espace d'adressage positionnés à 0 (sauf si le réseau est
découpé en sous-réseaux, comme nous le verrons plus tard);
- l'adresse de diffusion d'un réseau IP (l'adresse utilisée pour 'parler'
simultanément à tous les appareils d'un réseau IP). Les adresses de diffusion
d'un réseau ont toujours les bits d'interface (hôte) de l'espace d'adressage
positionnés à 1 (encore une fois, sauf si le réseau est
découpé en sous-réseaux, comme nous le verrons plus tard);
- l'adresse d'une interface (comme une carte Ethernet ou une interface PPP
sur un hôte, un routeur, un serveur d'impression etc...). Ces adresses
peuvent avoir n'importe quelle valeur pour les bits d'hôte, sauf tous à 0
ou tous à 1 - car avec tous les bits à 0, c'est l'adresse d'un réseau,
et avec tous les bits à 1, c'est l'adresse de diffusion d'un réseau.
En résumé et pour clarifier les choses
- Pour un réseau de classe A...
(un octet pour l'espace d'adressage du réseau, suivi de trois octets
pour l'espace d'adressage d'interface)
10.0.0.0 est un numéro de réseau de classe A car tous les bits de
l'espace d'adressage d'interface sont à 0
10.0.1.0 est une adresse d'interface sur ce réseau
10.255.255.255 est l'adresse de diffusion de ce réseau car tous
les bits de l'espace d'adressage d'interface sont à 1
- Pour un réseau de classe B...
(deux octets pour l'espace d'adressage du réseau, suivi de deux octets
pour l'espace d'adressage d'interface)
172.17.0.0 est un numéro de réseau de classe B
172.17.0.1 est une adresse d'interface sur ce réseau
172.17.255.255 est l'adresse de diffusion de ce réseau
- Pour un réseau de classe C...
(trois octets pour l'espace d'adressage du réseau, suivi d'un octet
pour l'espace d'adressage d'interface)
192.168.3.0 est un numéro de réseau de classe C
192.168.3.42 est une adresse d'interface sur ce réseau
192.168.3.255 est l'adresse de diffusion de ce réseau
Quasiment tous les numéros de réseaux IP encore disponibles de nos
jours sont des adresses de classe C.
Le masque de réseau devrait plutôt être appelé masque de sous-réseau.
Toutefois, on y fait généralement référence comme masque de réseau.
C'est le masque de réseau et ses implications sur la manière d'interpréter
les adresses IP localement sur un segment de réseau IP qui nous concernent
le plus, puisque cela détermine le découpage en sous-réseau (s'il y en
a un).
Le masque de (sous-)réseau standard est tous les bits de réseau d'une adresse
placés à '1', et tous les bits d'interface placés à '0'. Cela signifie que
les masques de réseaux standards pour les 3 classes de réseaux sont:
- masque de réseau de classe A: 255.0.0.0
- masque de réseau de classe B: 255.255.0.0
- masque de réseau de classe C: 255.255.255.0
Il faut se souvenir de deux choses importantes à propos des masques de réseau:
- le masque de réseau n'affecte que l'interprétation locale des numéros IP
(où locale signifie sur un segment de réseau particulier);
- le masque de réseau n'est pas un numéro IP - il est utilisé pour modifier
localement l'interprétation des numéros IP locaux.