5. Le découpage d'une classe en sous-réseaux

Pour compenser les problèmes de distribution de l'espace d'adressage IPv4, la première solution utilisée a consisté à découper une classe d'adresses IPv4 A, B ou C en sous-réseaux. Cette technique appelée subnetting a été formalisée en 1985 avec le document RFC950.

Si cette technique est ancienne, elle n'en est pas moins efficace face aux problèmes d'exploitation des réseaux contemporains. Il ne faut jamais oublier que le découpage en réseaux ou sous-réseaux permet de cloisonner les domaines de diffusion. Les avantages de ce cloisonnement de la diffusion réseau sont multiples.

  • Au quotidien, on évite l'engorgement des liens en limitant géographiquement les annonces de services faites par les serveurs de fichiers. Les services Micro$oft™ basés sur netBT sont particulièrement gourmands en diffusion réseau. En effet, bon nombre de tâches transparentes pour les utilisateurs supposent que les services travaillent à partir d'annonces générales sur le réseau. Sans ces annonces par diffusion, l'utilisateur doit désigner explicitement le service à utiliser. Le service d'impression est un bon exemple.

  • Il existe quantité de vers et|ou virus dont les mécanismes de propagation se basent sur une reconnaissance des cibles par diffusion. Le ver Sasser en est un exemple caractéristique. En segmentant un réseau en plusieurs domaines de diffusion, on limite naturellement la propagation de code malveillant. Le subnetting devient alors un élément de la panoplie des outils de sécurité.

Pour illustrer le fonctionnement du découpage en sous-réseaux, on utilise un exemple pratique. On reprend l'exemple de la classe C 192.168.1.0 dont le masque réseau est par définition 255.255.255.0. Sans découpage, le nombre d'hôtes maximum de ce réseau est de 254. Considérant qu'un domaine de diffusion unique pour 254 hôtes est trop important, on choisit de diviser l'espace d'adressage de cette adresse de classe C. On réserve 3 bits supplémentaires du 4ème octet en complétant le masque réseau. De cette façon on augmente la partie réseau de l'adresse IPv4 et on diminue la partie hôte.

Découpage en sous-réseaux d'une adresse de classe C avec un masque étendu à 3 bits supplémentaires

Tableau 3. adresse 192.168.1.0 avec subnetting sur 3 bits

Adresse réseau 192.168. 1. 0 Plage d'adresses utilisables Adresse de diffusion
Masque de réseau 255.255.255.224
Sous-réseau 0 192.168. 1. 0 192.168.1. 1 - 192.168.1. 30 192.168.1. 31
Sous-réseau 1 192.168. 1. 32 192.168.1. 33 - 192.168.1. 62 192.168.1. 63
Sous-réseau 2 192.168. 1. 64 192.168.1. 65 - 192.168.1. 94 192.168.1. 95
Sous-réseau 3 192.168. 1. 96 192.168.1. 97 - 192.168.1.126 192.168.1.127
Sous-réseau 4 192.168. 1.128 192.168.1.129 - 192.168.1.158 192.168.1.159
Sous-réseau 5 192.168. 1.160 192.168.1.161 - 192.168.1.190 192.168.1.191
Sous-réseau 6 192.168. 1.192 192.168.1.193 - 192.168.1.222 192.168.1.223
Sous-réseau 7 192.168. 1.224 192.168.1.225 - 192.168.1.254 192.168.1.255

Selon les termes du document RFC950, les sous-réseaux dont les bits de masque sont tous à 0 ou tous à 1 ne devaient pas être utilisés pour éviter les erreurs d'interprétation par les protocoles de routage dits classful comme RIPv1. En effet, ces protocoles de routages de «première génération» ne véhiculaient aucune information sur le masque sachant que celui-ci était déterminé à partir de l'octet le plus à gauche. Dans notre exemple ci-dessus, il y avait confusion aux niveaux de l'adresse de réseau et de diffusion.

  • L'adresse du sous-réseau 192.168.1.0 peut être considérée comme l'adresse réseau de 2 réseaux différents : celui avec le masque de classe C (255.255.255.0) et celui avec le masque complet après découpage en sous-réseaux (255.255.255.224).

  • De la même façon, l'adresse de diffusion 192.168.1.255 est la même pour 2 réseaux différents : 192.168.1.0 ou 192.168.1.224.

Depuis la publication du document RFC950, en 1985, les protocoles de routage qui servent à échanger les tables d'adresses de réseaux connectés entre routeurs ont évolué. Tous les protocoles contemporains sont conformes aux règles de routage inter-domaine sans classe (CIDR). Les protocoles tels que RIPv2, OSPF et BGP intègrent le traitement des masques de sous-réseaux. Ils peuvent même regrouper ces sous-réseaux pour optimiser le nombre des entrées des tables de routage. Pour appuyer cet argument, le document RFC1878 de 1995 spécifie clairement que la pratique d'exclusion des sous-réseaux all-zeros et all-ones est obsolète.