Chapitre 6. Sous-Réseaux Et Sur-Réseaux
Chapitre 6. Sous-Réseaux Et Sur-Réseaux
Chapitre 6. Sous-Réseaux Et Sur-Réseaux
Chapitre 6
Les sous-réseaux et les sur-réseaux
Les formats des adresses de IPv4 ont été conçus pour s’adapter à des réseaux de différentes
tailles. Ce format convenait bien dans les premiers temps de l’Internet. Cependant, à mesure que
l’Internet se développait, ce format a montré certaines limites. La principale faiblesse du format
des adresses IP réside dans le gâchis de l’espace d’adressage consécutif à la conception d’un
interréseau.
Pour pallier ce gâchis d’espace d’adressage IP, la RFC 950 a défini et formalisé le concept de
sous-réseau en 1985. Les sous-réseaux permettent d’utiliser un numéro de réseau unique pour
construire plusieurs réseaux interconnectés. Le préfixe de numéro de réseau unique est partagé
entre plusieurs réseaux interconnectés appelés sous-réseaux. Cette mise en sous-réseaux est
généralement utilisée lorsque le même numéro de réseau est utilisé pour plusieurs réseaux
interconnectés.
Plus tard est apparu le concept de surréseau ou CIDR (Classless Internet Domain Routing ou
routage de domaine Internet sans classe). La mise en sur-réseau consiste à combiner plusieurs
numéros de réseaux en un seul numéro de réseau logique qui peut être utilisé pour construire un
réseau de bien plus grande taille. La mise en sur-réseau est utilisée le plus souvent pour combiner
plusieurs adresses de classe C en une classe logique plus grande qu’une classe C, mais plus petite
qu’une classe B en termes de nœuds IP pouvant être connectés.
1. Les sous-réseaux
Dans le plan d’adressage de IPv4, on utilise un nombre binaire de 32 bits pour former une
adresse IP quelconque. Une adresse IP est composée de deux parties :
une adresse de réseau (identification de réseau, ID de réseau ou netid) ;
une adresse d’hôte (identification d’hôte, ID d’hôte ou hostid)
L’adresse de réseau est commune à tous les hôtes d’un réseau donné. Généralement le concepteur
du réseau commence par affecter une adresse de réseau distincte qui est ensuite complétée par des
hostid pour former les adresses IP des différents hôtes du réseau. Cette manière de procéder fait
que tous les hôtes du réseau partage un même préfixe de réseau.
Ce plan d’adressage IP distinguant adresse de réseau et adresse d’hôte a pour avantage de
minimiser le nombre d’entrées dans la table de routage d’un routeur. Au lieu d’avoir une entrée
pour chaque hôte d’un réseau, on peut ainsi prendre en compte tous les hôtes d’un même réseau
en utilisant une entrée unique ne contenant que la partie adresse de réseau, qui est le préfixe
commun à tous les hôtes de ce réseau. Les routeurs comparent les préfixes qui figurent dans leurs
tables de routage avec le préfixe de l’adresse de destination du datagramme IP à router. Si les
préfixes correspondent, la route correspondante est sélectionnée.
numéros d’hôtes possibles, seuls ces deux numéros sont interdits. Cela laisse donc 65534
numéros à affecter.
Prenons maintenant l’exemple d’un réseau de classe B (Figure 1), dans lequel le réseau numéro
149.108.0.0 (appelé réseau 1) est connecté à l’Internet à l’aide d’un routeur. Tout le trafic externe
pour ce réseau de numéro 149.108.0.0 est envoyé au routeur de ce réseau. Le réseau peut contenir
65 534 hôtes. Toutefois, si le réseau doit tenir dans un seul bâtiment, il comportera bien moins
que 65 534 hôtes sur le même réseau physique. Même si on peut manquer de place pour son
implantation, ce réseau conserve la capacité de comporter jusqu’à 65 534 hôtes.
149.108.1.1
149.108.1.2
149.108.1.3
149.108.0.0
Reste
Internet
Supposons maintenant que l’entreprise souhaite construire un second réseau (dans un bâtiment
séparé, par exemple) et décide de connecter ce nouveau réseau à Internet. Quel numéro de réseau
faudra-t-il utiliser ? Si on utilise le numéro 149.108.0.0 pour ce nouveau réseau, le routeur IP ne
pourra pas distinguer entre les deux réseaux en examinant le champ netid de l’adresse IP. Il serait
possible d’affecter une nouvelle adresse de classe A, B ou C à ce nouveau réseau. Mais il faudrait
pour cela faire une demande de nouveau numéro, alors même que nombreux hostids potentiels
n’ont pas été utilisés dans le réseau 1. L’utilisation d’un nouveau numéro comme nous le voyons
constitue donc une mauvaise gestion de l’espace d’adressage IP.
Une meilleure méthode consiste à utiliser une partie des bits du champ hostid pour effectuer une
distinction entre les deux réseaux, le reste des bits servant pour affecter des numéros d’hôtes.
Cette méthode s’appelle la mise en sous-réseaux, et les réseaux résultants sont appelés des sous-
réseaux. La méthode de mise en sous-réseaux est documentée dans la RFC 950.
La Figure 2 montre que l’on peut connecter un second réseau (réseau 2) au premier et au reste de
l’Internet en utilisant le même routeur qu’à la Figure 1. La seule condition est que ce routeur doit
disposer d’un autre port inutilisé. A la Figure 2, on utilise le premier octet du champ hostid pour
faire la distinction entre les deux réseaux. Dans le champ hostid, les bits permettant de faire cette
distinction sont appelés les numéros de sous-réseaux. Ici, le réseau 1 a un numéro de sous-réseau
égal 1 et le réseau 2 un numéro de sous-réseau égal à 2.
Réseau 1
149.108.1.2 149.108.1.1
149.108.1.3
149.108.0.0
Reste de
l’Interne
t
149.108.2.2 149.108.2.1
149.108.2.3
Réseau 2
réseaux. Un des aspects les plus importants de cette invisibilité des sous-réseaux est qu’une
organisation peut restructurer entièrement son réseau interne sans qu’il soit nécessaire d’obtenir
un nouveau numéro de réseau. Cela n’est pas un mince avantage maintenant que les numéros de
réseaux se font de plus en plus rares.
Comme la structure du sous-réseau interne reste invisible pour les réseaux externes, la sécurité du
réseau s’améliore indirectement.
La Figure 3 montre les relations existantes entre les sous-réseaux et les différents champs d’une
adresse IP. Si les sous-réseaux de la figure 3 sont connectés, il est nécessaire d’utiliser des
routeurs pour les relier. De plus, les routeurs doivent avoir conscience qu’il s’agit là de sous-
réseaux et doivent savoir combien de bits du champ hostid sont utilisés pour distinguer un sous-
réseau d’un autre.
On doit faire en sorte que chaque routeur de la Figure 3 comprenne que le champ hostid de
l’adresse IP doit être traité de manière particulière, autrement dit, qu’une partie de ce champ
représente le numéro de sous-réseau et que le reste constitue le numéro d’hôte. Ces informations
sont généralement présentées au routeur sous forme de masque de sous-réseau.
netid hostid
Adresse Numéro de Numéro
IP sous-réseau d’hôte
Sous- Sous-
réseau réseau
Sous-
réseau
Masques de sous-réseau
Le masque de sous-réseau est utilisé par les routeurs et les hôtes d’un sous-réseau pour interpréter
le champ hostid afin de déterminer combien de bits sont utilisés pour la mise en sous-réseau. Le
masque de sous-réseau divise le champ hostid en un numéro de sous-réseau et un numéro d’hôte.
Le masque de sous-réseau est un nombre à 32 bits dont les valeurs sont obtenues à l’aide des
règles suivantes :
IUT DE NGAOUNDERE Cours de Téléinformatique et réseaux 93
Sous-réseaux et sur-réseaux
Les chiffres un (1) dans le masque de sous-réseau correspondent aux positions occupées
par le numéro du réseau (netid) et le numéro de sous-réseau dans l’adresse IP.
Les chiffres zéro (0) dans le masque de sous-réseau correspondent aux positions occupées
le numéro d’hôte dans l’adresse IP.
La Figure 4 illustre ces règles. Dans la figure, un numéro de réseau de classe B est utilisé pour
une mise en sous-réseaux. Huit bits du champ hostid sont utilisés pour le numéro de sous-réseau.
Le masque de sous-réseau résultant apparaît à la Figure 4. Le masque de sous-réseau est un motif
de 32 bits exprimé par convention sous une forme décimale à points. Comme un groupe de huit
bits à 1 correspond à la valeur décimal 255, le masque de sous-réseau de la Figure 4 peut être
écrit de la manière suivante :
Masque de sous-réseau = 255.255.255.0
netid hostid
Masque de
sous-réseau 11111111 11111111 11111111 00000000
Si on utilise une valeur de masque de sous-réseau de 255.255.0.0 pour une adresse de classe B,
cela signifie qu’il n’y a pas de sous-réseau. Le champ netid d’une adresse de classe B fait 16 bits.
Le champ netid correspond aux deux premiers 255 (255.255) du masque de sous-réseau
255.255.0.0. Le 0.0 restant correspond donc au numéro d’hôte. Comme aucun 1 ne figure dans le
masque de sous-réseau pour le numéro de sous-réseau, il n’y a pas ici de mise en sous-réseaux.
Si le même masque de sous-réseau 255.255.0.0 est utilisé pour une adresse de classe A, cela
indiquerait cette fois la présence de sous-réseaux. Pour une adresse de classe A, le champ netid
fait 8 bits. Ce champ netid correspond au premier 255 du masque de sous-réseau. Le 255 suivant
correspond donc au numéro de sous-réseau, qui fait 8 bits de long.
Si on utilise une valeur de masque de sous-réseau de 255.255.255.0 pour une adresse de classe C,
on signifie ainsi qu’il n’y a pas de sous-réseau. Le champ netid d’une adresse de classe C fait 24
bits. Le champ netid correspond aux trois premiers 255 (255.255.255) du masque de sous-réseau
255.255.255.0. Le 0 final correspond donc au numéro d’hôte. Comme aucun 1 ne figure dans le
masque de sous-réseau pour le champ de numéro de sous-réseau, aucun sous-réseau n’est utilisé
ici.
Vous ne pouvez pas utiliser le masque de sous-réseau 255.255.0.0 pour une adresse de classe C,
car cette adresse n’est pas un masque de sous-réseau valide. Une adresse de classe C comporte un
champ netid de 24 bits, mais les deux premiers 255 du masque 255.255.0.0 ne correspondent
qu’aux 16 premiers bits du champ netid. Au moins un autre 255 serait nécessaire pour prendre en
compte les 8 bits restants de netid.
Le masque de sous-réseau est généralement nécessaire au moment où vous spécifier l’adresse IP
d’un hôte ou d’un routeur. Cette valeur peut être exprimée sous forme décimale à points comme
nous l’avons déjà vu. Un numéro de sous-réseau composé uniquement de 0 ou de 1 n’est pas
autorisé.
Un exemple d’utilisation de sous-réseaux : utilisation d’une adresse de classe B avec
un masque de sous-réseau aligné à l’octet.
Dans les questions qui suivent, on utilisera l’adresse IP et le masque de sous-réseau suivant :
Adresse IP = 128.12.34.71
Masque de sous-réseau = 255.255.255.0
Quelles sont les valeurs des :
Numéro de sous-réseau ?
Numéro d’hôte ?
Adresse de diffusion dirigée ?
En examinant le masque de sous-réseau 255.255.255.0, on peut voir que la séparation des 1 et des
0 dans le masque de sous-réseau est alignée sur un octet. Cet alignement à l’octet simplifie
beaucoup les calculs.
L’adresse IP 128.12.34.71 est une adresse de classe B, car 128 est compris entre 128 et 191. Les
deux premiers 255 du masque de sous-réseau 255.255.255.0 correspondent aux 16 bits du champ
netid pour une adresse de classe B. Le 255 suivant doit donc correspondre au numéro de réseau
de l’adresse IP.¨En conséquence, le numéro de sous-réseau est 34. On peut l’exprimer en notation
décimale à points :
Numéro de sous-réseau = 0.0.34.0
Le 0 dans le masque de sous-réseau 255.255.255.0 correspond au numéro d’hôte. Le numéro
d’hôte dans l’adresse IP doit être 71. On peut l’exprimer en notation décimale à points :
L’adresse de diffusion dirigée pour le réseau doit n’avoir que des 1 dans le champ de numéro
d’hôte. Autrement dit, le dernier octet du sous-réseau doit être entièrement composé de bits à 1,
ce qui s’exprime de la manière suivante en notation décimale à points :
Dans les questions qui suivent, on utilisera l’adresse IP et le masque de sous-réseau suivant :
Adresse IP = 192.55.12.120
Masque de sous-réseau = 255.255.255.240
Numéro de sous-réseau ?
Numéro d’hôte ?
Adresse de diffusion dirigée ?
L’adresse IP 192.55.12.120 est une adresse de classe C, car 192 est compris entre 192 et 223. Les
trois premiers 255 du masque correspondent aux 24 bits du champ netid d’une adresse de classe
C. Le 240 restant doit donc correspondre au numéro de sous-réseau et au numéro d’hôte de
l’adresse IP. La valeur décimale 240 correspond au motif binaire 11110000. Le motif binaire du
masque de sous-réseau est donc :
11111111 11111111 11111111 11110000
Les quatre derniers 1 correspondent au champ de numéro de sous-réseau de l’adresse IP. Voici la
représentation binaire de l’adresse IP, dans laquelle on a mis en gras le champ de sous-réseau :
11000000 00110111 00001100 01111000
Le motif binaire 0111 du champ de sous-réseau correspond à la valeur décimale 7, mais cette
valeur fait partie de la valeur des 8 derniers bits de l’adresse IP. Ce numéro de sous-réseau peut
s’exprimer ainsi sous forme de motif binaire :
00000000 00000000 00000000 01110000
Le numéro de sous-réseau exprimer en notation décimale à point est le suivant :
0.0.0.112
Les 0 dans le masque de sous-réseau correspondent au numéro d’hôte. Le numéro d’hôte est mis
en gras dans le motif binaire suivant :
11000000 00110111 00001100 01111000
Ce numéro d’hôte s’exprime ainsi sous forme de motif binaire :
00000000 00000000 00000000 00001000
Voici le numéro d’hôte exprimé en notation décimale à points :
0.0.0.8
L’adresse de diffusion dirigée ne doit contenir que des 1 dans le champ de numéro d’hôte. Les
quatre derniers bits du masque doivent donc être égaux à 1. On obtient donc l’adresse de
diffusion dirigée suivant (exprimée sous forme binaire) :
11000000 00110111 00001100 01111111
Les 1 en gras représentent les 1 utilisés dans le champ de numéro d’hôte formant l’adresse de
diffusion dirigée. Cette adresse s’exprime aisni en notation décimale à points :
ce tableau on suppose que les bits du numéro de sous-réseau sont tous contigus et on retrouve ce
cas de figure dans la plupart des réseaux.
Taille de sous-réseau
Motif binaire Valeur décimale
(en bits)
1 10000000 128
2 11000000 192
3 11100000 224
4 11110000 240
5 11111000 248
6 11111100 252
7 11111110 254
L’utilisation d’un masque de sous-réseau unique peut avoir pour conséquence un gâchis d’espace
d’adressage si les sous-réseaux ne prennent pas en charge le même nombre de nœuds sur un
réseau. C’est le cas par exemple du réseau ci-dessous composé de deux sous-réseaux séparés par
une liaison point à point.
145.45.1.1 145.45.1.2 145.45.1.3 145.45.1.4
Sous-réseau 1 145.45.1.0
145.45.1.10 255.255.255.0
145.45.3.1
145.45.3.0
255.255.255.0
145.45.3.2
Sous-réseau 3
145.45.2.10
Sous-réseau 2 145.45.2.0
255.255.255.0
145.45.2.1 145.45.2.2
IUT DE NGAOUNDERE 145.45.2.3 145.45.2.4 et réseaux
Cours de Téléinformatique 97
Sous-réseaux et sur-réseaux
2. Les surréseaux
Le concept de sous-réseau a été conçu en 1985 pour optimiser l’utilisation de l’espace
d’adressage IP. Ce concept est bien adapté pour des réseaux disposant d’un vaste espace
d’adressage, tels que les réseaux de classes A et B, mais ces formats d’adresse sont très courus et
leur nombre ne cesse de diminuer. Il aussi possible d’utiliser des sous-réseaux pour des adresses
de classe C, mais une telle adresse ne peut prendre en charque que 254 hôtes. La plupart du
temps, la division d’un réseau de classe C n’est pas praticable, en particulier lorsque le nombre
d’hôtes devant être pris en charge par chaque sous-réseau dépasse 126.
Les adresses de classes A et B deviennent de plus en plus rares, mais les adresses de classe C
disponibles sont encore en nombre suffisant. Les organisations de grande taille qui doivent
prendre en charge plus de 254 hôtes se voient forcées d’utiliser plusieurs adresses réseau de
classe C.
Supposons qu’une organisation ait besoin d’une adresse de classe B pour prendre en charge
65534 hôtes. Si le NIC ne peut pas lui offrir cette adresse, combien d’adresses de classe C seront
nécessaires pour prendre en charge ces 65534 hôtes ? Environ 256. Ces 256 adresses de classe C
peuvent être affectées en bloc. Ainsi, l’intervalle d’adresses de classe C ci-après prend en charge
le même nombre d’adresses qu’une seule adresse de classe B :
202.100.0.0 à 202.100.255.255
En regardant le nombre de bits susceptibles de varier dans cette adresse de classe C, on trouve 16
bits de poids faible, i.e. autant que nécessaire pour une adresse de classe B.
La mise en surréseau, ou adressage en surréseau, consiste à affecter un bloc d’adresses de classe
C plutôt qu’une seule adresse de classe B, afin de créer une classe d’adresses virtuelle située à
mi-chemin entre un réseau de classe C et un réseau de classe B. Cette technique garantit une
utilisation plus rationnelle des adresses. Ainsi, si une organisation a besoin d’un réseau prenant en
charge 8000 hôtes, il est préférable d’affecter un bloc de 32 adresses de classe C plutôt qu’une
seule adresse de classe B. L’adresse de classe B peut connecter 65534 hôtes ; il y aurait alors un
gâchis de 57 534 adresses.
L’adressage en suréseau est conçu pour les fournisseurs d’accès Internet (FAI). Généralement,
seuls les FAI obtiennent de grands blocs d’adresses de classe C. Il leur est ensuite possible
d’allouer de plus petits blocs de ces adresses de classe C à d’autres organisations souhaitant
connecter un grand nombre de leurs machines à l’Internet. De nombreuses organisations
commerciales utilisent aussi l’adresse en surréseau avec leurs adresses de classe C. Par ailleurs
l’adressage en suréreau réduit la taille des tables de routage.
Le Tableau 2 montre le nombre d’adresses contiguës de classe C qu’il est nécessaire d’affecter
pour une taille de réseau donnée. Ce nombre doit être une puissance de 2.
Exercices
1. Quelle est l’adresse de réseau d’un hôte TCP/IP d’adresse IP 203.23.32.34 ?
2. Quelle est l’adresse de d’hôte d’un hôte TCP/IP d’adresse IP 182.23.32.34 ?
3. Quel est le masque de sous-réseau pour 184.231.0.0 si les dix bits d’adresse de nœud sont
utilisés pour l’adressage en sous-réseau ?
4. Quel sont les masque de sosu-réseaux pour les adresses de classes A, B et C indiquant qu’on
utilise pas d’adressage en sous-réseau ?
5. Dans cette question, on suppose que l’adresse IP et le masque de sous-réseau sont les suivants :
Adresse IP = 128.12.34.71 ;
Masque de sous-réseau = 255.255.240.0
Trouvez les valeurs suivantes :
Numéro de sous-réseau = ?
Numéro d’hôte = ?
Adresse de diffusion dirigée = ?
6. Dans cette question, on suppose que l’adresse IP et le masque de sous-réseau sont les suivants :
Adresse IP = 108.77.51.70 ;
Masque de sous-réseau = 255.255.128.0
Trouvez les valeurs suivantes :
Numéro de sous-réseau = ?
Numéro d’hôte = ?
Combien de bits sont utilisés pour le préfixe de réseau commun ? Quel est le masque de surréseau
pour ce bloc ?