<!doctype linuxdoc system>

<article>

<!-- Title information -->

<title>Petit guide des sous-r&eacute;seaux IP
<author>Robert Hart, <tt><htmlurl url="mailto:hartr@interweft.com.au" name="hartr@interweft.com.au"></tt><newline>
version fran&ccedil;aise par Laurent Caillat-Vallet, <tt><htmlurl url="mailto:caillat@univ-lyon1.fr" name="caillat@univ-lyon1.fr"></tt>
<date>v1.0, 31 Mars 1997
<abstract>
Ce document d&eacute;crit pourquoi et comment d&eacute;couper un r&eacute;seau IP en sous-r&eacute;seaux -
c'est &agrave; dire utiliser correctement une seule adresse de r&eacute;seau de classe A, B ou
C, pour plusieurs r&eacute;seaux interconnect&eacute;s.
</abstract>

<!-- Table of contents -->
<toc>


<!-- Begin the document -->

<sect>Copyright

<p>

Ce document est distribu&eacute; sous les termes de la Licence Publique GNU (GNU Public License, GPL).
<newline>
Ce document est directement support&eacute; par InterWeft IT Consultants (Melbourne,
Australie).
<newline>
La derni&egrave;re version de ce document est disponible sur le site WWW d'InterWeft:
<htmlurl url="http://www.interweft.com.au/" name="http://www.interweft.com.au/"> et depuis le Projet de Documentation de Linux
(Linux Documentation Project, LDP): <htmlurl url="http://sunsite.unc.edu/LDP" name="http://sunsite.unc.edu/LDP">.

<sect>Introduction

<p>

Avec les num&eacute;ros de r&eacute;seau IP devenant rapidement une esp&egrave;ce en voie de
disparition, l'utilisation efficace de ces ressources de plus en plus rares
est importante.
<newline>
Ce document d&eacute;crit comment d&eacute;couper un num&eacute;ro de r&eacute;seau IP afin de l'utiliser
pour plusieurs r&eacute;seaux diff&eacute;rents.
<newline>
Ce document est focalis&eacute; sur les num&eacute;ros de r&eacute;seau IP de classe C - mais les
principes s'appliquent de la m&ecirc;me mani&egrave;re aux r&eacute;seaux de classes A et B.

<sect1> D'autres sources d'information

<p>

Il y a beaucoup d'autres sources d'informations utiles, pour des informations
aussi bien d&eacute;taill&eacute;es que plus g&eacute;n&eacute;rales sur les num&eacute;ros IP.
Celles recommand&eacute;es par l'auteur sont:
<itemize>
<item> Administration R&eacute;seau sous Linux <htmlurl url="ftp://ftp.lip6.fr/pub/linux/french/books/nag.french.eoit-1.0.tar.gz" name="ftp://ftp.lip6.fr/pub/linux/french/books/nag.french.eoit-1.0.tar.gz"> pour la version fran&ccedil;aise, <htmlurl url="http://sunsite.unc.edu/LDP/LDP/nag/nag.html" name="http://sunsite.unc.edu/LDP/LDP/nag/nag.html"> pour la version anglaise.
<item> Le Guide de l'Administration Syst&egrave;me sous Linux (en anglais) <htmlurl url="http://linuxwww.db.erau.edu/SAG/" name="http://linuxwww.db.erau.edu/SAG/">.
<item> L'Administration de R&eacute;seau TCP/IP, de Craig Hunt, publi&eacute; par O'Reilly and
Associates <htmlurl url="http://www.ora.com/catalog/tcp/noframes.html" name="http://www.ora.com/catalog/tcp/noframes.html">.
</itemize>

<sect> L'anatomie des num&eacute;ros IP

<p>

Avant de plonger dans les d&eacute;lices des sous-r&eacute;seaux, nous devons poser les
bases &agrave; propos des num&eacute;ros IP.

<sect1> Les num&eacute;ros IP appartiennent aux Interfaces - PAS aux h&ocirc;tes !

<p>

Tout d'abord, &eacute;claircissons une cause classique de mauvaise compr&eacute;hension - les
num&eacute;ros IP ne sont pas assign&eacute;s aux h&ocirc;tes. Les num&eacute;ros IP sont assign&eacute;s aux
interfaces r&eacute;seau sur les h&ocirc;tes.<newline>
Hein? C'est quoi &ccedil;a?
<newline>
Alors que la plupart des ordinateurs (pour ne pas dire tous) d'un r&eacute;seau IP
ne poss&egrave;deront qu'une seule interface r&eacute;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&eacute;seau - et
chaque interface a son propre num&eacute;ro IP.
<newline>
Donc un appareil avec 6 interfaces actives (comme un routeur) aura 6 num&eacute;ros
IP - un pour chaque interface vers chaque r&eacute;seau sur lequel il est connect&eacute;.
La raison en devient claire quand on regarde un r&eacute;seau IP!
<newline>

Malgr&eacute; cela, la plupart des gens font r&eacute;f&eacute;rence &agrave; des adresses d'h&ocirc;tes quand
ils veulent faire r&eacute;f&eacute;rence &agrave; des num&eacute;ros IP. Souvenez-vous juste que ce
n'est qu'un raccourci pour le num&eacute;ro IP de l'interface de cet h&ocirc;te. La
plupart (si ce n'est pas la majorit&eacute;) des appareils sur Internet n'ont qu'une
interface r&eacute;seau, et donc qu'un num&eacute;ro IP.

<sect1> Les num&eacute;ros IP sous forme de "quadruplets point&eacute;s"

<p>

Dans l'impl&eacute;mentation actuelle des num&eacute;ros IP (IPv4), les num&eacute;ros IP sont
compos&eacute;s de 4 octects (de 8 bits) - fournissant un total de 32 bits
d'information disponibles. Cela donne des num&eacute;ros plut&ocirc;t grands (m&ecirc;me quand
on les &eacute;crit en notation d&eacute;cimale). Donc pour la lisibilite (et pour des
raisons organisationnelles), les num&eacute;ros IP sont habituellement &eacute;crits sous
la forme de "quadruplets point&eacute;s".
Le num&eacute;ro IP
<tscreen><verb>
     192.168.1.24
</verb></tscreen>
en est un exemple - 4 nombres (d&eacute;cimaux) s&eacute;par&eacute;s par des points (.).
<newline>
Comme chacun des quatre nombres est la repr&eacute;sentation d&eacute;cimale d'un
octet de 8 bits, chacun de ces nombres est compris entre 0 et 255 (c'est
&agrave; dire qu'il peut prendre 256 valeurs - souvenez-vous que 0 est aussi une
valeur).
<newline>
De plus, une partie du num&eacute;ro IP d'un h&ocirc;te identifie le r&eacute;seau sur lequel
l'h&ocirc;te est connect&eacute;, les bits restants du num&eacute;ro IP indique l'h&ocirc;te lui-m&ecirc;me
(oups - l'interface r&eacute;seau). La classe de r&eacute;seau d&eacute;termine
combien de bits sont utilis&eacute;s par l'identificateur de r&eacute;seau et
combien sont disponibles pour identifier les h&ocirc;tes.

<sect1> Les classes des r&eacute;seaux IP

<p>

Il y a trois classes de num&eacute;ros IP
<itemize>
<item> Les num&eacute;ros des r&eacute;seaux IP de classe A utilisent les 8 bits les plus &agrave;
gauche (le nombre le plus &agrave; gauche du quadruplet point&eacute;) pour identifier
le r&eacute;seau, laissant 24 bits (les 3 nombres restants du quadruplet) pour
identifier les interfaces des h&ocirc;tes de ce r&eacute;seau.<newline>
Les adresses de classe A ont toujours le dernier bit &agrave; gauche &agrave; z&eacute;ro -
c'est &agrave; dire une valeur d&eacute;cimale entre 0 et 127 pour le premier nombre
du quadruplet. Il y a donc un maximum de 128 num&eacute;ros de r&eacute;seaux de classe
A disponibles, chacun d'eux contenant jusqu'&agrave; 16 777 214 interfaces (NDT: le mini-howto original indique 33 554 430 interfaces... petite erreur de calcul...).
<newline>
Toutefois, les r&eacute;seaux 0.0.0.0 (appel&eacute; route par defaut) et 127.0.0.0
(le r&eacute;seau de boucle de retour - loopback) ont des significations sp&eacute;ciales
et ne sont pas disponibles pour identifier des r&eacute;seaux. Il n'y a donc que
126 r&eacute;seaux de classe A disponibles.

<item> Les num&eacute;ros de r&eacute;seaux IP de classe B utilisent les 16 bits les plus &agrave;
gauche (les deux nombres de gauche du quadruplet) pour identifier le
r&eacute;seau, laissant 16 bits (les deux derniers nombres du quadruplet) pour
identifier les interfaces des h&ocirc;tes.<newline>
 Les adresses de classe B ont toujours
les 2 bits les plus &agrave; gauche mis &agrave; 1 0. Cela laisse 14 bits pour sp&eacute;cifier
l'adresse de r&eacute;seau, donnant 32 767 r&eacute;seaux de classe B disponibles. Les
r&eacute;seaux de classe B ont donc le premier nombre du quadruplet entre 128 et
191, chaque r&eacute;seau pouvant contenir 65 534 interfaces (NDT: dans le document original: 32 766, encore une erreur...).

<item> Les num&eacute;ros de r&eacute;seau IP de classe C utilisent les 24 bits les plus &agrave;
gauche (les trois nombres de gauche du quadruplet) pour identifier le
r&eacute;seau, laissant 8 bits (le nombre le plus &agrave; droite du quadruplet) pour
identifier les interfaces des h&ocirc;tes.<newline>
 Les adresses de classe C commencent
toujours avec les 3 bits les plus &agrave; gauche positionn&eacute;s &agrave; 1 1 0, soit un
intervalle de 192 &agrave; 256 pour le nombre le plus &agrave; gauche du quadruplet.
Il y a donc 4 194 303 num&eacute;ros de r&eacute;seaux de classe C disponibles, chacun
contenant 254 interfaces. (Les r&eacute;seaux de classe C avec le premier octet
superieur &agrave; 223 sont toutefois r&eacute;serv&eacute;s et non disponibles.)

</itemize>

En r&eacute;sum&eacute;:
<tscreen><verb>
Classe de r&eacute;seau  Intervalle des valeurs (d&eacute;cimales) utilisables du 1er octet
      A                        1 &agrave; 126
      B                      128 &agrave; 191
      C                      192 &agrave; 254
</verb></tscreen>

Il y a aussi des adresses sp&eacute;ciales, qui sont r&eacute;serv&eacute;es pour des r&eacute;seaux
'non-connect&eacute;s' - c'est &agrave; dire des r&eacute;seaux qui utilisent IP mais ne sont
pas connect&eacute;s &agrave; l'Internet. Ces adresses sont:
<itemize>
<item> Un r&eacute;seau de classe A:
     10.0.0.0
<item> 16 r&eacute;seaux de classe B:
     172.16.0.0 - 172.31.0.0
<item> 256 r&eacute;seaux de classe C:
     192.168.0.0 - 192.168.255.0
</itemize>

Vous remarquerez que dans tout ce document, on utilise ces intervalles
pour ne pas cr&eacute;er de confusion avec de 'vrais' r&eacute;seaux et de
'vrais' h&ocirc;tes.

<sect1> Num&eacute;ros de r&eacute;seaux, adresses d'interface, et adresses de diffusion

<p>

Les num&eacute;ros IP peuvent avoir trois significations:
<itemize>
<item> l'adresse d'un r&eacute;seau IP (un groupe d'appareils IP partageant un acc&egrave;s
commun &agrave; un m&eacute;dium de transmission - en &eacute;tant par exemple sur un m&ecirc;me
segment Ethernet). Un num&eacute;ro de r&eacute;seau aura toujours les bits d'interface
(h&ocirc;te) de l'espace d'adressage positionn&eacute;s &agrave; 0 (sauf si le r&eacute;seau est
d&eacute;coup&eacute; en sous-r&eacute;seaux, comme nous le verrons plus tard);

<item> l'adresse de diffusion d'un r&eacute;seau IP (l'adresse utilis&eacute;e pour 'parler'
simultan&eacute;ment &agrave; tous les appareils d'un r&eacute;seau IP). Les adresses de diffusion
d'un r&eacute;seau ont toujours les bits d'interface (h&ocirc;te) de l'espace d'adressage
positionn&eacute;s &agrave; 1 (encore une fois, sauf si le r&eacute;seau est
d&eacute;coup&eacute; en sous-r&eacute;seaux, comme nous le verrons plus tard);

<item> l'adresse d'une interface (comme une carte Ethernet ou une interface PPP
sur un h&ocirc;te, un routeur, un serveur d'impression etc...). Ces adresses
peuvent avoir n'importe quelle valeur pour les bits d'h&ocirc;te, sauf tous &agrave; 0
ou tous &agrave; 1 - car avec tous les bits &agrave; 0, c'est l'adresse d'un r&eacute;seau,
et avec tous les bits &agrave; 1, c'est l'adresse de diffusion d'un r&eacute;seau.
</itemize>

En r&eacute;sum&eacute; et pour clarifier les choses
<itemize>

<item>  Pour un r&eacute;seau de classe A...
  (un octet pour l'espace d'adressage du r&eacute;seau, suivi de trois octets
  pour l'espace d'adressage d'interface)<newline>
      10.0.0.0 est un num&eacute;ro de r&eacute;seau de classe A car tous les bits de
                   l'espace d'adressage d'interface sont &agrave; 0
<newline>
      10.0.1.0 est une adresse d'interface sur ce r&eacute;seau
<newline>
      10.255.255.255 est l'adresse de diffusion de ce r&eacute;seau car tous
                   les bits de l'espace d'adressage d'interface sont &agrave; 1

<item>  Pour un r&eacute;seau de classe B...
  (deux octets pour l'espace d'adressage du r&eacute;seau, suivi de deux octets
  pour l'espace d'adressage d'interface)<newline>
      172.17.0.0 est un num&eacute;ro de r&eacute;seau de classe B
      172.17.0.1 est une adresse d'interface sur ce r&eacute;seau
<newline>
      172.17.255.255 est l'adresse de diffusion de ce r&eacute;seau

<item>  Pour un r&eacute;seau de classe C...
  (trois octets pour l'espace d'adressage du r&eacute;seau, suivi d'un octet
  pour l'espace d'adressage d'interface) <newline>
      192.168.3.0 est un num&eacute;ro de r&eacute;seau de classe C <newline>
      192.168.3.42 est une adresse d'interface sur ce r&eacute;seau <newline>
      192.168.3.255 est l'adresse de diffusion de ce r&eacute;seau 
</itemize>
  Quasiment tous les num&eacute;ros de r&eacute;seaux IP encore disponibles de nos
jours sont des adresses de classe C.

<sect1> Le masque de r&eacute;seau

<p>

Le masque de r&eacute;seau devrait plut&ocirc;t &ecirc;tre appel&eacute; masque de sous-r&eacute;seau.
Toutefois, on y fait g&eacute;n&eacute;ralement r&eacute;f&eacute;rence comme masque de r&eacute;seau.
<newline>
C'est le masque de r&eacute;seau et ses implications sur la mani&egrave;re d'interpr&eacute;ter
les adresses IP localement sur un segment de r&eacute;seau IP qui nous concernent
le plus, puisque cela d&eacute;termine le d&eacute;coupage en sous-r&eacute;seau (s'il y en 
a un).
<newline>
Le masque de (sous-)r&eacute;seau standard est tous les bits de r&eacute;seau d'une adresse
plac&eacute;s &agrave; '1', et tous les bits d'interface plac&eacute;s &agrave; '0'. Cela signifie que
les masques de r&eacute;seaux standards pour les 3 classes de r&eacute;seaux sont:
<itemize>
<item> masque de r&eacute;seau de classe A: 255.0.0.0
<item> masque de r&eacute;seau de classe B: 255.255.0.0
<item> masque de r&eacute;seau de classe C: 255.255.255.0
</itemize>
Il faut se souvenir de deux choses importantes &agrave; propos des masques de r&eacute;seau:
<itemize>
<item> le masque de r&eacute;seau n'affecte que l'interpr&eacute;tation locale des num&eacute;ros IP
(o&ugrave; locale signifie sur un segment de r&eacute;seau particulier);
<item> le masque de r&eacute;seau n'est pas un num&eacute;ro IP - il est utilis&eacute; pour modifier
localement l'interpr&eacute;tation des num&eacute;ros IP locaux.
</itemize>

<sect> Que sont les sous-r&eacute;seaux?

<p>

Un sous-r&eacute;seau est une fa&ccedil;on de prendre une adresse d'un r&eacute;seau,
et de la d&eacute;couper localement pour que cette adresse de r&eacute;seau unique puisse
en fait &ecirc;tre utilis&eacute;e pour plusieurs r&eacute;seaux locaux interconnect&eacute;s.
Souvenez-vous, un seul num&eacute;ro de r&eacute;seau IP ne peut &ecirc;tre utilis&eacute; que sur
un seul r&eacute;seau.
<newline>
Le mot important ici est "localement": du point de vue du monde ext&eacute;rieur
aux machines et r&eacute;seaux physiques couverts par le r&eacute;seau d&eacute;coup&eacute; en
sous-r&eacute;seaux, absolument rien n'a chang&eacute; - cela reste un unique r&eacute;seau IP.<newline>
Ceci est important - le d&eacute;coupage en sous-r&eacute;seaux est une configuration
locale et invisible au reste du monde.

<sect> Pourquoi d&eacute;couper en sous-r&eacute;seaux?

<p>

Les raisons derri&egrave;re ce type de d&eacute;coupage remontent aux premi&egrave;res sp&eacute;cifications
d'IP - o&ugrave; il n'y avait que quelques sites fonctionnant sur des num&eacute;ros de
r&eacute;seau de classe A, ce qui permettait des millions d'h&ocirc;tes connect&eacute;s.
<newline>
C'est &eacute;videmment un trafic &eacute;norme et des probl&egrave;mes d'administration si tous
les ordinateurs IP d'un important site doivent &ecirc;tre connect&eacute;s sur le m&ecirc;me
r&eacute;seau: essayer de g&eacute;rer un tel monstre serait un cauchemar et le r&eacute;seau
s'&eacute;croulerait (de mani&egrave;re quasi-certaine) sous la charge de son propre
trafic (satur&eacute;).
<newline>

Arrive le d&eacute;coupage en sous-r&eacute;seaux: l'adresse de r&eacute;seau de classe A peut &ecirc;tre
d&eacute;coup&eacute;e pour permettre sa distribution &agrave; plusieurs (voire beaucoup de) r&eacute;seaux
s&eacute;par&eacute;s. La gestion de chaque r&eacute;seau s&eacute;par&eacute; peut facilement &ecirc;tre d&eacute;l&eacute;gu&eacute;e de
la m&ecirc;me fa&ccedil;on.
<newline>

Cela permet d'&eacute;tablir des r&eacute;seaux petits et g&eacute;rables - en utilisant, c'est
tout &agrave; fait possible, des technologies de r&eacute;seaux diff&eacute;rentes. Souvenez-vous,
vous ne pouvez pas m&eacute;langer Ethernet, Token Ring, FDDI, ATM, etc... sur le
m&ecirc;me r&eacute;seau physique - ils peuvent toutefois &ecirc;tre interconnect&eacute;s !
<newline>

Les autres raisons du d&eacute;coupage en sous-r&eacute;seaux sont:
<itemize>
<item> La topographie d'un site peut cr&eacute;er des restrictions (longueur de c&acirc;ble)
sur les possibilit&eacute;s de connexion de l'infrastructure physique, n&eacute;cessitant
des r&eacute;seaux multiples. Le d&eacute;coupage en sous-r&eacute;seaux permet de le faire dans
un environnement IP en n'utilisant qu'un seul num&eacute;ro de r&eacute;seau IP. En fait,
c'est tr&egrave;s souvent utilis&eacute; de nos jours par les fournisseurs d'acc&egrave;s
Internet qui veulent donner &agrave; leurs clients connect&eacute;s en permanence
des num&eacute;ros de r&eacute;seau local IP statiques.

<item> Le trafic r&eacute;seau est suffisamment &eacute;lev&eacute; pour provoquer des ralentissements
significatifs. En d&eacute;coupant le r&eacute;seau en sous-r&eacute;seaux, le trafic local &agrave; un
segment de r&eacute;seau peut &ecirc;tre gard&eacute; localement - r&eacute;duisant le trafic global
et am&eacute;liorant la connectivit&eacute; du r&eacute;seau sans n&eacute;cessiter effectivement
plus de bande passante pour le r&eacute;seau.

<item> Des n&eacute;cessit&eacute;s de s&eacute;curit&eacute; peuvent tr&egrave;s bien imposer que les diff&eacute;rentes
classes d'utilisateurs ne partagent pas le m&ecirc;me r&eacute;seau - puisque le trafic
d'un r&eacute;seau peut toujours &ecirc;tre intercept&eacute; par un utilisateur comp&eacute;tent.
Le d&eacute;coupage en sous-r&eacute;seaux donne un moyen d'emp&ecirc;cher que le d&eacute;partement
marketing espionne le trafic sur le r&eacute;seau de R &amp; D (ou que les &eacute;tudiants
espionnent le r&eacute;seau de l'administration)!
</itemize>

<sect> Comment d&eacute;couper un num&eacute;ro de r&eacute;seau IP en sous-r&eacute;seaux

<p>

Ayant d&eacute;cid&eacute; que vous aviez besoin d'un d&eacute;coupage en sous-r&eacute;seau, que faut-il
faire pour le mettre en place? Le paragraphe suivant est une pr&eacute;sentation
des &eacute;tapes qui seront expliqu&eacute;es ensuite en d&eacute;tail:
<itemize>
<item> mettre en place la connectivit&eacute; physique (c&acirc;blage de r&eacute;seau, interconnexions
de r&eacute;seaux - comme les routeurs)

<item> choisir la taille de chaque sous-r&eacute;seau en termes de nombre d'appareils
qui y seront connect&eacute;s - i.e. combien de num&eacute;ros IP sont n&eacute;cessaires pour
chaque segment.

<item> calculer les masques et les adresses de r&eacute;seau appropri&eacute;s

<item> donner &agrave; chaque interface sur chaque r&eacute;seau sa propre adresse IP et
le masque de r&eacute;seau appropri&eacute;.

<item> configurer les routes sur les routeurs et les passerelles appropri&eacute;s,
les routes et/ou routes par d&eacute;faut sur les appareils du r&eacute;seau.

<item> tester le syst&egrave;me, r&eacute;gler les probl&egrave;mes, et ensuite se reposer!
</itemize>

Pour les besoins de cet exemple, nous supposerons que nous allons d&eacute;couper
un num&eacute;ro de r&eacute;seau de classe C: 192.168.1.0
<newline>

Ce num&eacute;ro permet un maximum de 254 interfaces connect&eacute;es (h&ocirc;tes), plus les
num&eacute;ros obligatoires de r&eacute;seau (192.168.1.0) et de diffusion (192.168.1.255).

<sect1> Mettre en place la connectivit&eacute; physique

<p>

Vous devrez installer l'infrastructure de c&acirc;blage correcte pour tous les
appareils que vous voulez interconnecter, d&eacute;finie pour correspondre &agrave; vos
dispositions physiques.
<newline>

Vous aurez aussi besoin d'un dispositif pour interconnecter les diff&eacute;rents
segments (routeurs, convertisseurs de m&eacute;dium physique etc...)
<newline>

Une discussion d&eacute;taill&eacute;e de ceci n'est &eacute;videmment pas possible ici.
Si vous avez besoin d'aide, il existe des consultants pour la conception et
l'installation de r&eacute;seau qui fournissent ce genre de service. Des conseils
gratuits sont &eacute;galement disponibles sur un bon nombre de groupes de discussion
Usenet (comme <htmlurl url="news:comp.os.linux.networking" name="comp.os.linux.networking">).
<newline>

<sect1> Choisir la taille des sous-r&eacute;seaux

<p>

C'est un compromis entre le nombre de sous-r&eacute;seaux que vous cr&eacute;ez et le
nombre de num&eacute;ros IP 'perdus'.
<newline>

Chaque r&eacute;seau IP utilise deux adresses qui ne sont plus disponibles
pour les adresses d'interfaces (h&ocirc;tes) - le num&eacute;ro de r&eacute;seau IP lui-m&ecirc;me, et
l'adresse de diffusion sur ce r&eacute;seau. Quand vous d&eacute;coupez en sous-r&eacute;seaux,
chaque sous-r&eacute;seau a besoin de ses propres adresses de r&eacute;seau et de diffusion
- et celles-ci doivent &ecirc;tre des adresses valides, dans l'intervalle fourni
par le r&eacute;seau IP que vous d&eacute;coupez.
<newline>

Donc, en d&eacute;coupant un r&eacute;seau IP en deux sous-r&eacute;seaux s&eacute;par&eacute;s, on a alors
deux adresses de r&eacute;seau et deux adresses de diffusion - augmentant le nombre
d'adresses 'inutilisables' pour les interfaces (h&ocirc;tes); cr&eacute;er 4 sous-r&eacute;seaux
cr&eacute;e huit adresses inutilisables, et ainsi de suite...
<newline>

En fait, le plus petit sous-r&eacute;seau utilisable est compos&eacute; de 4 num&eacute;ros IP:
<itemize>
<item> deux num&eacute;ros IP d'interface - un pour l'interface du routeur sur ce r&eacute;seau,
 et un pour l'unique h&ocirc;te de ce r&eacute;seau.
<item> un num&eacute;ro de r&eacute;seau.
<item> une adresse de diffusion.
</itemize>

Maintenant, pourquoi quelqu'un voudrait cr&eacute;er un si petit r&eacute;seau est une
autre question! Avec un seul h&ocirc;te sur ce r&eacute;seau, toute communication en
r&eacute;seau devra sortir vers un autre r&eacute;seau. N&eacute;anmoins, cet exemple montre
le principe de diminution du nombre d'adresse d'interfaces qui s'applique au d&eacute;coupage en sous-r&eacute;seaux.
<newline>

En th&eacute;orie, on peut d&eacute;couper son num&eacute;ro de r&eacute;seau IP en 2^n (o&ugrave; n est le nombre
de bits d'interface dans votre numero de r&eacute;seau, moins 1) sous-r&eacute;seaux de
tailles &eacute;gales (vous pouvez aussi d&eacute;couper un sous-r&eacute;seau et combiner des
sous-r&eacute;seaux).
<newline>
Soyez donc r&eacute;alistes en concevant votre r&eacute;seau - vous devriez vouloir le
nombre minimal de r&eacute;seaux locaux s&eacute;par&eacute;s, qui corresponde &agrave; vos contraintes
physiques, de gestion, d'&eacute;quipement, et de s&eacute;curit&eacute;!

<sect1> Calculer le masque de sous-r&eacute;seau et le num&eacute;ro de r&eacute;seau

<p>

Le masque de r&eacute;seau est ce qui produit la magie du d&eacute;coupage d'un
r&eacute;seau IP en sous-r&eacute;seaux.
<newline>

Le masque de r&eacute;seau pour un r&eacute;seau IP non d&eacute;coup&eacute; est simplement un "quadruplet
point&eacute;" dont tous les 'bits de r&eacute;seau' du num&eacute;ro de r&eacute;seau sont positionn&eacute;s
&agrave; '1', et tous les bits d'interface &agrave; '0'.
<newline>

Donc, pour les trois classes de r&eacute;seau IP, les masques de r&eacute;seau sont:
<itemize>
<item> classe A (8 bits de r&eacute;seau): 255.0.0.0
<item> classe B (16 bits de r&eacute;seau): 255.255.0.0
<item> classe C (24 bits de r&eacute;seau): 255.255.255.0
</itemize>

Pour mettre en oeuvre le d&eacute;coupage en sous-r&eacute;seaux, on r&eacute;serve un ou plusieurs
bits parmi les bits d'interface, et on les interpr&egrave;te localement comme faisant
partie des bits de r&eacute;seau. Donc, pour diviser un num&eacute;ro de r&eacute;seau en deux
sous-r&eacute;seaux, on r&eacute;servera un bit d'interface en positionnant &agrave; '1' le bit
appropri&eacute; dans le masque de r&eacute;seau: le premier bit d'interface (pour un num&eacute;ro
de r&eacute;seau 'normal').
<newline>

Pour un r&eacute;seau de classe C, cela donnera le masque de r&eacute;seau:
<tscreen><verb>11111111.11111111.11111111.10000000</verb></tscreen> ou 255.255.255.128
<newline>

Pour notre num&eacute;ro de r&eacute;seau de classe C 192.168.1.0, voici quelqu'unes des
options de d&eacute;coupage en sous-r&eacute;seaux possibles:
<tscreen><verb>
Nombre de     Nbre d'h&ocirc;tes Masque de
sous-r&eacute;seaux  par r&eacute;seau   r&eacute;seau
2             126          255.255.255.128 (11111111.11111111.11111111.10000000)
4             62           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)
</verb></tscreen>

En th&eacute;orie, il n'y a aucune raison de suivre la fa&ccedil;on de d&eacute;couper ci-dessus,
o&ugrave; les bits du masque de r&eacute;seau sont ajout&eacute;s du bit d'interface le plus 
significatif au moins significatif. N&eacute;anmoins, si on ne le fait pas de cette
fa&ccedil;on, les num&eacute;ros IP seront dans un ordre &eacute;trange! Cela rend extr&ecirc;ment
difficile pour nous, humains, la decision du sous-r&eacute;seau auquel appartient
un num&eacute;ro IP, puisque nous ne sommes pas sp&eacute;cialement dou&eacute;s pour penser en
binaire (les ordinateurs d'un autre c&ocirc;t&eacute; le sont, et utiliseront indiff&eacute;remment
tout schema que vous leur direz d'utiliser).
<newline>

Vous &eacute;tant d&eacute;cid&eacute; sur le masque de r&eacute;seau appropri&eacute;, vous devez maintenant
trouver quelles sont les diff&eacute;rentes adresses de r&eacute;seau et de diffusion -
et l'intervalle de num&eacute;ros IP pour chacun de ces r&eacute;seaux. A nouveau, en
ne considerant qu'un num&eacute;ro de r&eacute;seau IP de classe C et en ne listant que
la partie finale (la partie d'interface), on a:
<tscreen><verb>
Masque de   Sous-r&eacute;seaux  Reseau Diffusion MinIP MaxIP Nbre    Nbre total
r&eacute;seau                                                 d'h&ocirc;tes d'h&ocirc;tes
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
</verb></tscreen>

Comme on peut le voir, il y a un ordre simple pour ces nombres,
ce qui permet de les v&eacute;rifier tr&egrave;s facilement. L'"inconv&eacute;nient" du d&eacute;coupage
est aussi visible en termes de r&eacute;duction du nombre total d'adresses d'interfaces
(h&ocirc;tes) disponibles, au fur et &agrave; mesure que le nombre de sous-r&eacute;seaux augmente.
<newline>

Avec ces informations, vous pouvez maintenant assigner les num&eacute;ros IP
d'interfaces et de r&eacute;seaux, et les masques de r&eacute;seau.

<sect> Le routage

<p>

Si vous utilisez un PC sous Linux avec deux interfaces r&eacute;seaux pour router
le trafic entre deux (ou plus) sous-r&eacute;seaux, vous devez avoir compil&eacute; votre
noyau avec l'option "IP Forwarding". Taper la commande:
<tscreen><verb>
  cat /proc/ksyms | grep ip_forward
</verb></tscreen>

Vous devriez avoir quelque chose comme...
<tscreen><verb>
  00141364 ip_forward_Rf71ac834
</verb></tscreen>

Si ce n'est pas le cas, alors vous n'avez pas activ&eacute; l'option IP Forwarding
lors de la compilation de votre noyau, et vous devrez recompiler et installer
un nouveau noyau.
<newline>

Pour le bien de cet exemple, supposons que vous ayez d&eacute;cid&eacute; de d&eacute;couper votre
adresse de r&eacute;seau IP 192.168.1.0 en 4 sous-r&eacute;seaux (chacun d'eux comprenant
62 num&eacute;ros IP d'interfaces/h&ocirc;tes). Toutefois, deux de ces r&eacute;seaux sont combin&eacute;s
en un unique plus grand sous-r&eacute;seau, donnant trois r&eacute;seaux physiques.
C'est &agrave; dire:
<tscreen><verb>
R&eacute;seau          Diffusion        Masque de r&eacute;seau    H&ocirc;tes
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     124 (voir la note)
</verb></tscreen>

Note: la raison pour laquelle le dernier r&eacute;seau n'a que 124 adresses
utilisables (et pas 126 comme on pourrait le supposer d'apr&egrave;s le masque de
r&eacute;seau) est que c'est en fait un 'super r&eacute;seau' compos&eacute; de deux sous-r&eacute;seaux.
Les h&ocirc;tes sur les deux autres sous-r&eacute;seaux interpr&egrave;teront 192.168.1.192 comme
l'adresse de r&eacute;seau du sous-r&eacute;seau 'inexistant'. De la m&ecirc;me mani&egrave;re, ils
interpr&egrave;teront 192.168.1.191 comme l'adresse de diffusion du sous-r&eacute;seau
'inexistant'.
<newline>

Donc, si vous utilisez 192.168.1.191 ou 192 comme des adresses d'interfaces
dans le troisi&egrave;me sous-r&eacute;seau, alors les machines des deux autres sous-r&eacute;seaux
ne pourront pas communiquer avec ces interfaces.
<newline>

Ceci illustre un point important du d&eacute;coupage en sous-r&eacute;seaux - les adresses
utilisables sont d&eacute;termin&eacute;es par le PLUS PETIT sous-r&eacute;seau dans l'espace
d'adressage du r&eacute;seau.

<sect1> Les tables de routage

<p>

Supposons qu'un ordinateur fonctionnant sous Linux serve de routeur pour
ce r&eacute;seau. Il aura trois interfaces r&eacute;seau vers les r&eacute;seaux locaux, et
&eacute;ventuellement une troisi&egrave;me interface vers Internet (qui devrait &ecirc;tre
sa route par d&eacute;faut).
<newline>

Supposons que l'ordinateur sous Linux utilise les plus petites adresses IP
disponibles sur chaque sous-r&eacute;seau pour son interface sur ce r&eacute;seau. On
configurerait ses interfaces r&eacute;seau ainsi:
<tscreen><verb>
Interface       Adresse IP      Masque de r&eacute;seau
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
</verb></tscreen>

Le routage utilis&eacute; serait:
<tscreen><verb>
Destination    Passerelle   Masque          Interface
192.168.1.0    0.0.0.0      255.255.255.192 eth0
192.168.1.64   0.0.0.0      255.255.255.192 eth1
192.168.1.128  0.0.0.0      255.255.255.128 eth2
</verb></tscreen>

Sur chacun des sous-r&eacute;seaux, les h&ocirc;tes seraient configur&eacute;s avec leur propre
adresse IP et masque de r&eacute;seau (appropri&eacute;s pour le r&eacute;seau particulier).
Chaque h&ocirc;te d&eacute;clarerait le PC sous Linux comme son routeur/passerelle, en
sp&eacute;cifiant l'adresse IP de l'interface du PC sous Linux sur ce r&eacute;seau
particulier.
<newline>
<newline>
<newline>

Robert Hart Melbourne, Australia March 1997.

</article>
