Sous-réseau (TCP/IP et routage)
Le sous-réseautage reprend des bits de la partie hôte d'une adresse IP pour la partie réseau. Cela augmente le nombre de réseaux disponibles, au détriment du nombre d'hôtes par réseau.
Du classful au classless
L'Internet d'origine utilisait un modèle réseau classful. Les adresses IP étaient réparties en classes (A, B, C), chacune avec un nombre fixe de bits réseau et hôte. Ce système a conduit à un gaspillage d'adresses et à une quantité croissante d'informations de routage dans le monde entier.L'Internet Engineering Task Force (IETF) a introduit en 1993 le Classless Inter-Domain Routing (CIDR). Ce système a remplacé le modèle classful rigide et a permis une attribution d'adresses IP flexible et indépendante des classes. Le CIDR a marqué un tournant : une attribution d'adresses plus efficace et une limitation de la croissance explosive des tables de routage — un objectif explicitement mentionné dans la RFC 1519.
La base technique : RFC 1518 et RFC 1519
Deux RFC de septembre 1993 constituent la base du CIDR :- RFC 1518, An Architecture for IP Address Allocation with CIDR, par Y. Rekhter et T. Li — décrit une architecture pour l'attribution d'adresses IP avec CIDR.
- RFC 1519, Classless Inter-Domain Routing (CIDR): an Address Assignment and Aggregation Strategy, par V. Fuller, T. Li, J. Yu et K. Varadhan — spécifie la stratégie d'attribution et d'agrégation d'adresses.
Notation CIDR
La notation CIDR représente une adresse IP suivie d'une barre oblique et d'un nombre : `192.168.1.0/24`. Le nombre après la barre oblique indique le nombre de bits à 1 en tête du masque de sous-réseau. Avec `/24`, les 24 premiers bits forment la partie réseau ; les 8 bits restants sont disponibles pour les hôtes. Le masque de sous-réseau est alors `255.255.255.0`.Cette notation est standard dans les réseaux IPv4 comme IPv6. Elle offre un moyen compact d'indiquer la taille du sous-réseau et la structure du réseau.
Comment fonctionne un masque de sous-réseau
Le masque de sous-réseau détermine quelle partie d'une adresse IP identifie le réseau et quelle partie identifie l'hôte spécifique. Lors d'une décision de routage, le routeur n'examine que les bits qui correspondent au préfixe réseau tel que défini par le masque.Toutes les adresses au sein du même préfixe — donc au sein du même sous-réseau — sont traitées par le routeur comme une seule unité logique. Avec une seule entrée de route, un routeur atteint toute une plage d'adresses IP, au lieu de gérer une route séparée pour chaque adresse.
Étapes : calculer et configurer des sous-réseaux
Étape 1 : Déterminer le bloc d'adresses IP
Supposons que vous ayez le bloc `10.0.0.0/16`. Cela offre 65 536 adresses IP. Vous voulez le diviser en sous-réseaux plus petits pour les départements.Étape 2 : Choisir la taille du sous-réseau
Chaque département a au maximum 200 appareils. Un sous-réseau `/24` offre 254 hôtes utilisables — suffisant. Le bloc `10.0.0.0/16` contient 256 sous-réseaux `/24` : de `10.0.0.0/24` à `10.0.255.0/24`.Étape 3 : Calculer le masque de sous-réseau
Pour un sous-réseau `/24`, le masque est `255.255.255.0`. L'adresse réseau du premier sous-réseau est `10.0.1.0`, l'adresse de diffusion `10.0.1.255`. Hôtes utilisables : de `10.0.1.1` à `10.0.1.254`.Étape 4 : Attribuer les sous-réseaux
Attribuez :- ICT : `10.0.1.0/24`
- Production : `10.0.2.0/24`
- Invités : `10.0.3.0/24`
Étape 5 : Configurer le routeur
Sur un routeur Linux avec `iproute2`, vous ajoutez des routes :ip route add 10.0.1.0/24 dev eth1
ip route add 10.0.2.0/24 dev eth2
ip route add 10.0.3.0/24 dev eth3
Étape 6 : Appliquer l'agrégation de routes
Au lieu de trois routes, vous pouvez agréger en une seule route :ip route add 10.0.0.0/16 dev eth0
Le routeur envoie tout le trafic pour `10.0.0.0/16` vers l'interface appropriée. Cela s'appelle le supernetting.
Étape 7 : Règles de pare-feu par sous-réseau
Appliquez une politique par sous-réseau avec `iptables` (version 1.8.7 ou plus récente) :iptables -A FORWARD -s 10.0.1.0/24 -j ACCEPT
iptables -A FORWARD -s 10.0.2.0/24 -j DROP
iptables -A FORWARD -s 10.0.3.0/24 -j ACCEPT
Étape 8 : Router le trafic entre sous-réseaux
Le trafic entre sous-réseaux passe par le routeur. Les appareils au sein du même sous-réseau communiquent directement via les commutateurs locaux.Longest prefix match
Les routeurs utilisent des tables de routage qui associent des préfixes réseau en notation CIDR à des interfaces de sortie ou des adresses de prochain saut. Lorsqu'un paquet arrive, le routeur recherche le préfixe correspondant le plus long dans la table — cela s'appelle le longest prefix match.Par exemple : `192.168.1.100` appartient à `192.168.1.0/24`. Le routeur envoie le paquet via l'interface associée à ce préfixe.
Déterminer la taille du sous-réseau
La bonne taille de sous-réseau est un aspect de conception. Des sous-réseaux trop grands entraînent des problèmes de trafic de diffusion et des risques de sécurité — tous les appareils se trouvent dans le même domaine de diffusion. Des sous-réseaux trop petits entraînent un manque d'adresses lors de l'ajout de nouveaux appareils.Utilisez un calculateur de sous-réseau pour trouver l'équilibre entre disponibilité, sécurité et efficacité.
Sécurité et surveillance
La séparation des sous-réseaux permet une politique ciblée : règles de pare-feu, contrôle d'accès ou paramètres QoS par sous-réseau. Cela donne le contrôle sur qui peut faire quoi sur le réseau.Lors de la surveillance avec `traceroute` ou `pathping`, vous voyez à quel saut — et donc dans quel sous-réseau — des retards ou des pertes de paquets se produisent.
Problèmes fréquents
Problème : pas de connexion entre deux sous-réseaux Vérifiez si le routeur a une route pour les deux sous-réseaux. Utilisez `ip route show` et ajoutez les routes manquantes avec `ip route add`.Problème : tempête de diffusion dans un sous-réseau trop grand Réduisez le sous-réseau. Divisez un `/16` en sous-réseaux `/24` et ajoutez des règles de pare-feu pour limiter le trafic de diffusion.
Problème : conflit d'adresses IP dans un sous-réseau Vérifiez avec `arp-scan` (version 1.9.3 ou plus récente) s'il y a des adresses en double :
arp-scan --interface=eth0 10.0.1.0/24
Vérification
Vérifiez que votre configuration de sous-réseau fonctionne :ip route show
ip addr show
ping -c 4 10.0.1.1
traceroute 10.0.2.1Les deux premières commandes affichent vos routes et interfaces. `ping` confirme la connectivité au sein d'un sous-réseau. `traceroute` montre les sauts entre les sous-réseaux.
L'essentiel
Le sous-réseautage est un élément logique et nécessaire de tout réseau sérieux. Des petits environnements de bureau aux grands centres de données et aux fournisseurs d'accès Internet : partout où le trafic IP est routé, les sous-réseaux s'appliquent. Les principes sont restés largement inchangés depuis 1993.La question n'est pas de savoir si vous avez besoin du sous-réseautage, mais comment optimiser la conception pour vos schémas de trafic et vos exigences de sécurité spécifiques — et cela reste une décision de conception que chaque administrateur réseau doit prendre à nouveau.