Sunteți pe pagina 1din 9

Petit guide des sous-rseaux IP

Ce document dcrit pourquoi et comment dcouper un rseau IP en sous-rseaux - c'est dire utiliser correctement une seule adresse de rseau de classe A, B ou C, pour plusieurs rseaux interconnects.

2. Introduction
Avec les numros de rseau IP devenant rapidement une espce en voie de disparition, l'utilisation efficace de ces ressources de plus en plus rares est importante. Ce document dcrit comment dcouper un numro de rseau IP afin de l'utiliser pour plusieurs rseaux diffrents. Ce document est focalis sur les numros de rseau IP de classe C - mais les principes s'appliquent de la mme manire aux rseaux de classes A et B.

2.1 D'autres sources d'information


Il y a beaucoup d'autres sources d'informations utiles, pour des informations aussi bien dtailles que plus gnrales sur les numros IP. Celles recommandes par l'auteur sont:

Administration Rseau sous Linux ftp://ftp.lip6.fr/pub/linux/french/books/nag.french.eoit-1.0.tar.gz pour la version franaise, http://sunsite.unc.edu/LDP/LDP/nag/nag.html pour la version anglaise. Le Guide de l'Administration Systme sous Linux (en anglais) http://linuxwww.db.erau.edu/SAG/. L'Administration de Rseau TCP/IP, de Craig Hunt, publi par O'Reilly and Associates http://www.ora.com/catalog/tcp/noframes.html.

3. L'anatomie des numros IP


Avant de plonger dans les dlices des sous-rseaux, nous devons poser les bases propos des numros IP.

3.1 Les numros IP appartiennent aux Interfaces - PAS aux htes !


Tout d'abord, claircissons une cause classique de mauvaise comprhension - les numros IP ne sont pas assigns aux htes. Les numros IP sont assigns aux interfaces rseau sur les htes. Hein? C'est quoi a? Alors que la plupart des ordinateurs (pour ne pas dire tous) d'un rseau IP ne possderont qu'une seule interface rseau (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 rseau - et chaque interface a son propre numro IP. Donc un appareil avec 6 interfaces actives (comme un routeur) aura 6 numros IP - un pour chaque interface vers chaque rseau sur lequel il est connect. La raison en devient claire quand on regarde un rseau IP!

Malgr cela, la plupart des gens font rfrence des adresses d'htes quand ils veulent faire rfrence des numros IP. Souvenez-vous juste que ce n'est qu'un raccourci pour le numro IP de l'interface de cet hte. La plupart (si ce n'est pas la majorit) des appareils sur Internet n'ont qu'une interface rseau, et donc qu'un numro IP.

3.2 Les numros IP sous forme de "quadruplets points"


Dans l'implmentation actuelle des numros IP (IPv4), les numros IP sont composs de 4 octects (de 8 bits) - fournissant un total de 32 bits d'information disponibles. Cela donne des numros plutt grands (mme quand on les crit en notation dcimale). Donc pour la lisibilite (et pour des raisons organisationnelles), les numros IP sont habituellement crits sous la forme de "quadruplets points". Le numro IP
192.168.1.24

en est un exemple - 4 nombres (dcimaux) spars par des points (.). Comme chacun des quatre nombres est la reprsentation dcimale 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 numro IP d'un hte identifie le rseau sur lequel l'hte est connect, les bits restants du numro IP indique l'hte lui-mme (oups - l'interface rseau). La classe de rseau dtermine combien de bits sont utiliss par l'identificateur de rseau et combien sont disponibles pour identifier les htes.

3.3 Les classes des rseaux IP


Il y a trois classes de numros IP

Les numros des rseaux IP de classe A utilisent les 8 bits les plus gauche (le nombre le plus gauche du quadruplet point) pour identifier le rseau, laissant 24 bits (les 3 nombres restants du quadruplet) pour identifier les interfaces des htes de ce rseau. Les adresses de classe A ont toujours le dernier bit gauche zro - c'est dire une valeur dcimale entre 0 et 127 pour le premier nombre du quadruplet. Il y a donc un maximum de 128 numros de rseaux de classe A disponibles, chacun d'eux contenant jusqu' 16 777 214 interfaces (NDT: le mini-howto original indique 33 554 430 interfaces... petite erreur de calcul...). Toutefois, les rseaux 0.0.0.0 (appel route par defaut) et 127.0.0.0 (le rseau de boucle de retour - loopback) ont des significations spciales et ne sont pas disponibles pour identifier des rseaux. Il n'y a donc que 126 rseaux de classe A disponibles. Les numros de rseaux IP de classe B utilisent les 16 bits les plus gauche (les deux nombres de gauche du quadruplet) pour identifier le rseau, laissant 16 bits (les deux derniers nombres du quadruplet) pour identifier les interfaces des htes. Les adresses de classe B ont toujours les 2 bits les plus gauche mis 1 0. Cela laisse 14 bits pour spcifier l'adresse de rseau, donnant 32 767 rseaux de classe B disponibles. Les rseaux de classe B ont donc le premier nombre du quadruplet entre 128 et 191, chaque rseau pouvant contenir 65 534 interfaces (NDT: dans le document original: 32 766, encore une erreur...). Les numros de rseau IP de classe C utilisent les 24 bits les plus gauche (les trois nombres de gauche du quadruplet) pour identifier le rseau, laissant 8 bits (le nombre le plus droite du quadruplet) pour identifier les interfaces des htes.

Les adresses de classe C commencent toujours avec les 3 bits les plus gauche positionns 1 1 0, soit un intervalle de 192 256 pour le nombre le plus gauche du quadruplet. Il y a donc 4 194 303 numros de rseaux de classe C disponibles, chacun contenant 254 interfaces. (Les rseaux de classe C avec le premier octet superieur 223 sont toutefois rservs et non disponibles.) En rsum:
Classe de rseau 1 126 B Intervalle des valeurs (dcimales) utilisables du 1er octet A 128 191 C 192 254

Il y a aussi des adresses spciales, qui sont rserves pour des rseaux 'non-connects' - c'est dire des rseaux qui utilisent IP mais ne sont pas connects l'Internet. Ces adresses sont:

Un rseau de classe A: 10.0.0.0 16 rseaux de classe B: 172.16.0.0 - 172.31.0.0 256 rseaux 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 crer de confusion avec de 'vrais' rseaux et de 'vrais' htes.

3.4 Numros de rseaux, adresses d'interface, et adresses de diffusion


Les numros IP peuvent avoir trois significations:

l'adresse d'un rseau IP (un groupe d'appareils IP partageant un accs commun un mdium de transmission - en tant par exemple sur un mme segment Ethernet). Un numro de rseau aura toujours les bits d'interface (hte) de l'espace d'adressage positionns 0 (sauf si le rseau est dcoup en sous-rseaux, comme nous le verrons plus tard); l'adresse de diffusion d'un rseau IP (l'adresse utilise pour 'parler' simultanment tous les appareils d'un rseau IP). Les adresses de diffusion d'un rseau ont toujours les bits d'interface (hte) de l'espace d'adressage positionns 1 (encore une fois, sauf si le rseau est dcoup en sous-rseaux, comme nous le verrons plus tard); l'adresse d'une interface (comme une carte Ethernet ou une interface PPP sur un hte, un routeur, un serveur d'impression etc...). Ces adresses peuvent avoir n'importe quelle valeur pour les bits d'hte, sauf tous 0 ou tous 1 - car avec tous les bits 0, c'est l'adresse d'un rseau, et avec tous les bits 1, c'est l'adresse de diffusion d'un rseau.

En rsum et pour clarifier les choses

Pour un rseau de classe A... (un octet pour l'espace d'adressage du rseau, suivi de trois octets pour l'espace d'adressage d'interface) 10.0.0.0 est un numro de rseau 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 rseau 10.255.255.255 est l'adresse de diffusion de ce rseau car tous les bits de l'espace d'adressage d'interface sont 1

Pour un rseau de classe B... (deux octets pour l'espace d'adressage du rseau, suivi de deux octets pour l'espace d'adressage d'interface) 172.17.0.0 est un numro de rseau de classe B 172.17.0.1 est une adresse d'interface sur ce rseau 172.17.255.255 est l'adresse de diffusion de ce rseau Pour un rseau de classe C... (trois octets pour l'espace d'adressage du rseau, suivi d'un octet pour l'espace d'adressage d'interface) 192.168.3.0 est un numro de rseau de classe C 192.168.3.42 est une adresse d'interface sur ce rseau 192.168.3.255 est l'adresse de diffusion de ce rseau

Quasiment tous les numros de rseaux IP encore disponibles de nos jours sont des adresses de classe C.

3.5 Le masque de rseau


Le masque de rseau devrait plutt tre appel masque de sous-rseau. Toutefois, on y fait gnralement rfrence comme masque de rseau. C'est le masque de rseau et ses implications sur la manire d'interprter les adresses IP localement sur un segment de rseau IP qui nous concernent le plus, puisque cela dtermine le dcoupage en sous-rseau (s'il y en a un). Le masque de (sous-)rseau standard est tous les bits de rseau d'une adresse placs '1', et tous les bits d'interface placs '0'. Cela signifie que les masques de rseaux standards pour les 3 classes de rseaux sont:

masque de rseau de classe A: 255.0.0.0 masque de rseau de classe B: 255.255.0.0 masque de rseau de classe C: 255.255.255.0

Il faut se souvenir de deux choses importantes propos des masques de rseau:


le masque de rseau n'affecte que l'interprtation locale des numros IP (o locale signifie sur un segment de rseau particulier); le masque de rseau n'est pas un numro IP - il est utilis pour modifier localement l'interprtation des numros IP locaux.

4. Que sont les sous-rseaux?


Un sous-rseau est une faon de prendre une adresse d'un rseau, et de la dcouper localement pour que cette adresse de rseau unique puisse en fait tre utilise pour plusieurs rseaux locaux interconnects. Souvenez-vous, un seul numro de rseau IP ne peut tre utilis que sur un seul rseau. Le mot important ici est "localement": du point de vue du monde extrieur aux machines et rseaux physiques couverts par le rseau dcoup en sous-rseaux, absolument rien n'a chang - cela reste un unique rseau IP. Ceci est important - le dcoupage en sous-rseaux est une configuration locale et invisible au reste du monde.

5. Pourquoi dcouper en sous-rseaux?


Les raisons derrire ce type de dcoupage remontent aux premires spcifications d'IP - o il n'y avait que quelques sites fonctionnant sur des numros de rseau de classe A, ce qui permettait des millions d'htes connects. C'est videmment un trafic norme et des problmes d'administration si tous les ordinateurs IP d'un important site doivent tre connects sur le mme rseau: essayer de grer un tel monstre serait un cauchemar et le rseau s'croulerait (de manire quasi-certaine) sous la charge de son propre trafic (satur). Arrive le dcoupage en sous-rseaux: l'adresse de rseau de classe A peut tre dcoupe pour permettre sa distribution plusieurs (voire beaucoup de) rseaux spars. La gestion de chaque rseau spar peut facilement tre dlgue de la mme faon. Cela permet d'tablir des rseaux petits et grables - en utilisant, c'est tout fait possible, des technologies de rseaux diffrentes. Souvenez-vous, vous ne pouvez pas mlanger Ethernet, Token Ring, FDDI, ATM, etc... sur le mme rseau physique - ils peuvent toutefois tre interconnects ! Les autres raisons du dcoupage en sous-rseaux sont:

La topographie d'un site peut crer des restrictions (longueur de cble) sur les possibilits de connexion de l'infrastructure physique, ncessitant des rseaux multiples. Le dcoupage en sous-rseaux permet de le faire dans un environnement IP en n'utilisant qu'un seul numro de rseau IP. En fait, c'est trs souvent utilis de nos jours par les fournisseurs d'accs Internet qui veulent donner leurs clients connects en permanence des numros de rseau local IP statiques. Le trafic rseau est suffisamment lev pour provoquer des ralentissements significatifs. En dcoupant le rseau en sous-rseaux, le trafic local un segment de rseau peut tre gard localement - rduisant le trafic global et amliorant la connectivit du rseau sans ncessiter effectivement plus de bande passante pour le rseau. Des ncessits de scurit peuvent trs bien imposer que les diffrentes classes d'utilisateurs ne partagent pas le mme rseau - puisque le trafic d'un rseau peut toujours tre intercept par un utilisateur comptent. Le dcoupage en sous-rseaux donne un moyen d'empcher que le dpartement marketing espionne le trafic sur le rseau de R & D (ou que les tudiants espionnent le rseau de l'administration)!

6. Comment dcouper un numro de rseau IP en sous-rseaux


Ayant dcid que vous aviez besoin d'un dcoupage en sous-rseau, que faut-il faire pour le mettre en place? Le paragraphe suivant est une prsentation des tapes qui seront expliques ensuite en dtail:

mettre en place la connectivit physique (cblage de rseau, interconnexions de rseaux - comme les routeurs) choisir la taille de chaque sous-rseau en termes de nombre d'appareils qui y seront connects - i.e. combien de numros IP sont ncessaires pour chaque segment. calculer les masques et les adresses de rseau appropris

donner chaque interface sur chaque rseau sa propre adresse IP et le masque de rseau appropri. configurer les routes sur les routeurs et les passerelles appropris, les routes et/ou routes par dfaut sur les appareils du rseau. tester le systme, rgler les problmes, et ensuite se reposer!

Pour les besoins de cet exemple, nous supposerons que nous allons dcouper un numro de rseau de classe C: 192.168.1.0 Ce numro permet un maximum de 254 interfaces connectes (htes), plus les numros obligatoires de rseau (192.168.1.0) et de diffusion (192.168.1.255).

6.1 Mettre en place la connectivit physique


Vous devrez installer l'infrastructure de cblage correcte pour tous les appareils que vous voulez interconnecter, dfinie pour correspondre vos dispositions physiques. Vous aurez aussi besoin d'un dispositif pour interconnecter les diffrents segments (routeurs, convertisseurs de mdium physique etc...) Une discussion dtaille de ceci n'est videmment pas possible ici. Si vous avez besoin d'aide, il existe des consultants pour la conception et l'installation de rseau qui fournissent ce genre de service. Des conseils gratuits sont galement disponibles sur un bon nombre de groupes de discussion Usenet (comme comp.os.linux.networking).

6.2 Choisir la taille des sous-rseaux


C'est un compromis entre le nombre de sous-rseaux que vous crez et le nombre de numros IP 'perdus'. Chaque rseau IP utilise deux adresses qui ne sont plus disponibles pour les adresses d'interfaces (htes) - le numro de rseau IP lui-mme, et l'adresse de diffusion sur ce rseau. Quand vous dcoupez en sous-rseaux, chaque sous-rseau a besoin de ses propres adresses de rseau et de diffusion - et celles-ci doivent tre des adresses valides, dans l'intervalle fourni par le rseau IP que vous dcoupez. Donc, en dcoupant un rseau IP en deux sous-rseaux spars, on a alors deux adresses de rseau et deux adresses de diffusion - augmentant le nombre d'adresses 'inutilisables' pour les interfaces (htes); crer 4 sous-rseaux cre huit adresses inutilisables, et ainsi de suite... En fait, le plus petit sous-rseau utilisable est compos de 4 numros IP:

deux numros IP d'interface - un pour l'interface du routeur sur ce rseau, et un pour l'unique hte de ce rseau. un numro de rseau. une adresse de diffusion.

Maintenant, pourquoi quelqu'un voudrait crer un si petit rseau est une autre question! Avec un seul hte sur ce rseau, toute communication en rseau devra sortir vers un autre rseau.

Nanmoins, cet exemple montre le principe de diminution du nombre d'adresse d'interfaces qui s'applique au dcoupage en sous-rseaux. En thorie, on peut dcouper son numro de rseau IP en 2^n (o n est le nombre de bits d'interface dans votre numero de rseau, moins 1) sous-rseaux de tailles gales (vous pouvez aussi dcouper un sous-rseau et combiner des sous-rseaux). Soyez donc ralistes en concevant votre rseau - vous devriez vouloir le nombre minimal de rseaux locaux spars, qui corresponde vos contraintes physiques, de gestion, d'quipement, et de scurit!

6.3 Calculer le masque de sous-rseau et le numro de rseau


Le masque de rseau est ce qui produit la magie du dcoupage d'un rseau IP en sous-rseaux. Le masque de rseau pour un rseau IP non dcoup est simplement un "quadruplet point" dont tous les 'bits de rseau' du numro de rseau sont positionns '1', et tous les bits d'interface '0'. Donc, pour les trois classes de rseau IP, les masques de rseau sont:

classe A (8 bits de rseau): 255.0.0.0 classe B (16 bits de rseau): 255.255.0.0 classe C (24 bits de rseau): 255.255.255.0

Pour mettre en oeuvre le dcoupage en sous-rseaux, on rserve un ou plusieurs bits parmi les bits d'interface, et on les interprte localement comme faisant partie des bits de rseau. Donc, pour diviser un numro de rseau en deux sous-rseaux, on rservera un bit d'interface en positionnant '1' le bit appropri dans le masque de rseau: le premier bit d'interface (pour un numro de rseau 'normal'). Pour un rseau de classe C, cela donnera le masque de rseau:
11111111.11111111.11111111.10000000

ou 255.255.255.128 Pour notre numro de rseau de classe C 192.168.1.0, voici quelqu'unes des options de dcoupage en sous-rseaux possibles:
Nombre de Nbre d'htes Masque de sous-rseaux par rseau rseau 2 126 255.255.255.128 (11111111.11111111.11111111.10000000) 4 255.255.255.192 (11111111.11111111.11111111.11000000) 8 30 255.255.255.224 (11111111.11111111.11111111.11100000) 16 14 255.255.255.240 (11111111.11111111.11111111.11110000) 32 6 255.255.255.248 (11111111.11111111.11111111.11111000) 64 2 255.255.255.252 (11111111.11111111.11111111.11111100) 62

En thorie, il n'y a aucune raison de suivre la faon de dcouper ci-dessus, o les bits du masque de rseau sont ajouts du bit d'interface le plus significatif au moins significatif. Nanmoins, si on ne le fait pas de cette faon, les numros IP seront dans un ordre trange! Cela rend extrment difficile pour nous, humains, la decision du sous-rseau auquel appartient un numro IP, puisque nous ne sommes pas spcialement dous pour penser en binaire (les

ordinateurs d'un autre ct le sont, et utiliseront indiffremment tout schema que vous leur direz d'utiliser). Vous tant dcid sur le masque de rseau appropri, vous devez maintenant trouver quelles sont les diffrentes adresses de rseau et de diffusion - et l'intervalle de numros IP pour chacun de ces rseaux. A nouveau, en ne considerant qu'un numro de rseau IP de classe C et en ne listant que la partie finale (la partie d'interface), on a:
Masque de Sous-rseaux Reseau Diffusion MinIP MaxIP Nbre Nbre total rseau d'htes d'htes 128 2 0 127 1 126 126 128 255 129 254 126 252 192 4 0 63 1 62 62 64 127 65 126 62 128 191 129 190 62 192 255 193 254 62 248 224 8 0 31 1 30 30 32 63 33 62 30 64 95 65 94 30 96 127 97 126 30 128 159 129 158 30 160 191 161 190 30 192 223 193 222 30 224 255 225 254 30 240

Comme on peut le voir, il y a un ordre simple pour ces nombres, ce qui permet de les vrifier trs facilement. L'"inconvnient" du dcoupage est aussi visible en termes de rduction du nombre total d'adresses d'interfaces (htes) disponibles, au fur et mesure que le nombre de sous-rseaux augmente. Avec ces informations, vous pouvez maintenant assigner les numros IP d'interfaces et de rseaux, et les masques de rseau.

7. Le routage
Si vous utilisez un PC sous Linux avec deux interfaces rseaux pour router le trafic entre deux (ou plus) sous-rseaux, vous devez avoir compil votre noyau avec l'option "IP Forwarding". Taper la commande:
cat /proc/ksyms | grep ip_forward

Vous devriez avoir quelque chose comme...


00141364 ip_forward_Rf71ac834

Si ce n'est pas le cas, alors vous n'avez pas activ l'option IP Forwarding lors de la compilation de votre noyau, et vous devrez recompiler et installer un nouveau noyau. Pour le bien de cet exemple, supposons que vous ayez dcid de dcouper votre adresse de rseau IP 192.168.1.0 en 4 sous-rseaux (chacun d'eux comprenant 62 numros IP d'interfaces/htes). Toutefois, deux de ces rseaux sont combins en un unique plus grand sousrseau, donnant trois rseaux physiques. C'est dire:
Rseau Diffusion Masque de rseau Htes 192.168.1.0 192.168.1.63 255.255.255.192 62 192.168.1.64 192.168.1.127 255.255.255.192 62 182.168.1.128 192.168.1.255 255.255.255.126 la note)

124 (voir

Note: la raison pour laquelle le dernier rseau n'a que 124 adresses utilisables (et pas 126 comme on pourrait le supposer d'aprs le masque de rseau) est que c'est en fait un 'super

rseau' compos de deux sous-rseaux. Les htes sur les deux autres sous-rseaux interprteront 192.168.1.192 comme l'adresse de rseau du sous-rseau 'inexistant'. De la mme manire, ils interprteront 192.168.1.191 comme l'adresse de diffusion du sous-rseau 'inexistant'. Donc, si vous utilisez 192.168.1.191 ou 192 comme des adresses d'interfaces dans le troisime sous-rseau, alors les machines des deux autres sous-rseaux ne pourront pas communiquer avec ces interfaces. Ceci illustre un point important du dcoupage en sous-rseaux - les adresses utilisables sont dtermines par le PLUS PETIT sous-rseau dans l'espace d'adressage du rseau.

7.1 Les tables de routage


Supposons qu'un ordinateur fonctionnant sous Linux serve de routeur pour ce rseau. Il aura trois interfaces rseau vers les rseaux locaux, et ventuellement une troisime interface vers Internet (qui devrait tre sa route par dfaut). Supposons que l'ordinateur sous Linux utilise les plus petites adresses IP disponibles sur chaque sous-rseau pour son interface sur ce rseau. On configurerait ses interfaces rseau ainsi:
Interface Adresse IP Masque de rseau eth0 192.168.1.1 255.255.255.192 eth1 192.168.1.65 255.255.255.192 eth2 192.168.1.129 255.255.255.128

Le routage utilis serait:


Destination Passerelle Masque 255.255.255.192 eth0 192.168.1.64 0.0.0.0 255.255.255.128 eth2 0.0.0.0 Interface 192.168.1.0 0.0.0.0 255.255.255.192 eth1 192.168.1.128

Sur chacun des sous-rseaux, les htes seraient configurs avec leur propre adresse IP et masque de rseau (appropris pour le rseau particulier). Chaque hte dclarerait le PC sous Linux comme son routeur/passerelle, en spcifiant l'adresse IP de l'interface du PC sous Linux sur ce rseau particulier.