Sous-réseau

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Diviser la partie "host number" d'une adresse réseau permet de créer un sous-réseau

Un sous-réseau est une subdivision logique d'un réseau de taille plus importante. Le masque de sous-réseau permet de distinguer la partie de l'adresse utilisée pour le routage et celle utilisable pour numéroter des interfaces. Un sous-réseau correspond typiquement à un réseau local sous-jacent.

Historiquement, on appelle également sous-réseau chacun des réseaux connecté à Internet.

La subdivision d'un réseau en sous-réseaux permet de limiter la propagation des broadcast, ceux-ci restant limités au réseau local et leur gestion étant coûteuse en bande passante et en ressource au niveau des commutateurs réseau. Les routeurs sont utilisés pour la communication entre les machines appartenant à des sous-réseaux différents.

Masque de sous-réseau[modifier | modifier le code]

Les adresses IPv4 sont composées de deux parties : le sous-réseau et l'hôte.

On considérait autrefois que l'adresse du réseau était définie par sa classe, et obtenue en appliquant l'opérateur booléen ET bit à bit entre le masque par défaut associé et l'adresse IPv4. La notion de classe est cependant considérée comme désuète depuis l'avènement du routage sans classe. Ni les protocoles de routages actuels (BGP, OSPF, IS-IS), ni les RIR n'en tiennent plus compte dans l'assignation des adresses IP publiques.

Un masque de sous-réseau (désigné par subnet mask, netmask ou address mask en anglais) est un masque indiquant le nombre de bits d'une adresse IPv4 utilisés pour identifier le sous-réseau, et le nombre de bits caractérisant les hôtes (ce qui indique aussi le nombre d'hôtes possibles dans ce sous-réseau).

L'adresse du sous-réseau est obtenue en appliquant l'opérateur ET binaire entre l'adresse IPv4 et le masque de sous-réseau. L'adresse de l'hôte à l'intérieur du sous-réseau est quant à elle obtenue en appliquant l'opérateur ET entre l'adresse IPv4 et le complément à un du masque.

Les masques de sous-réseau utilisent la même représentation que celles des adresses IPv4. En IPv4, une adresse IP est codée sur 4 octets, soit 32 bits (représentés en notation décimale à point). Un masque de sous-réseau possède lui aussi 4 octets. Bien que la norme IPv4 n'interdise pas que la partie significative du masque contienne des bits à 0, on utilise en pratique des masques constitués (sous leur forme binaire) d'une suite de 1 suivis d'une suite de 0, il y a donc 32 masques réseau possibles.

Exemple 
adresse 192.168.1.2 et masque 255.255.255.0
192.168.1.2 & 255.255.255.0 = 192.168.1.0
192.168.1.2 & 0.0.0.255     = 0.0.0.2

soit en binaire :

  11000000.10101000.00000001.00000010         11000000.10101000.00000001.00000010
& 11111111.11111111.11111111.00000000       & 00000000.00000000.00000000.11111111
= 11000000.10101000.00000001.00000000       = 00000000.00000000.00000000.00000010

Autrement dit, il suffit pour obtenir l'adresse du sous-réseau de conserver les bits de l'adresse IPv4 là où les bits du masque sont à 1 (un certain nombre de bits en partant de la gauche de l'adresse). La partie numéro d'hôte est, elle, contenue dans les bits qui restent (les plus à droite).

Une forme plus courte est connue sous le nom de « notation CIDR » (Classless Inter-Domain Routing). Elle donne le numéro du réseau suivi par une barre oblique (ou slash, « / ») et le nombre de bits à 1 dans la notation binaire du masque de sous-réseau. Le masque 255.255.224.0, équivalent en binaire à 11111111.11111111.11100000.00000000, sera donc représenté par /19 (19 bits à la valeur 1, suivis de 13 bits 0).

La notation 91.198.174.2/19 désigne donc l'adresse IP 91.198.174.2 avec le masque 255.255.224.0, et signifie que les 19 premiers bits de l'adresse sont dédiés à l'adresse du sous-réseau, et le reste à l'adresse de l'ordinateur hôte à l'intérieur du sous-réseau.

Deux adresses IP appartiennent à un même sous-réseau si elles ont en commun les bits du masque de sous-réseau.

Subdiviser un réseau en sous-réseaux consiste (entre autres) à rajouter des bits 1 au masque de réseau, afin de former un masque de sous-réseau. À partir de la connaissance de l'adresse IPv4 et du masque de sous-réseau il est possible de calculer le nombre d'interfaces que l'on peut numéroter à l'intérieur de chaque sous-réseau. En notant r le nombre de bits à 1 dans le masque de réseau et s le nombre de bits à 1 dans le masque de sous-réseau, le nombre de sous-réseaux possibles est donné par 2s-r, et le nombre d'hôtes par sous-réseau est 232-s-2, deux adresses de ce sous-réseau étant réservées au sous-réseau lui-même et au broadcast et ne pouvant pas être utilisées pour numéroter une interface.

/32 désigne un réseau qui ne comporte qu'une seule adresse IP, c'est-à-dire une adresse IP individuelle.

Le masque /31 était autrefois considéré comme inutilisable, car ce réseau ne comporte que deux adresses, dont l'adresse du sous-réseau et l'adresse de broadcast. Pour numéroter des adresses de liens point à point, on utilisait donc des /30, soit quatre adresses dont deux utilisables pour adresser des interfaces. Le RFC 3021 permet cependant d'utiliser plus efficacement l'espace d'adressage en permettant le /31 (il n'y a dans ce cas pas d'adresse de broadcast et l'adresse du sous-réseau est utilisée pour numéroter une interface).

Liste des masques de sous-réseaux
CIDR bits disponibles Masque de sous-réseau Nombre d'hôtes par sous-réseau
/1 31 128.0.0.0 231-2 = 2147483646
/2 30 192.0.0.0 230-2 = 1073741822
/3 29 224.0.0.0 229-2 = 536870910
/4 28 240.0.0.0 228-2 = 268435454
/5 27 248.0.0.0 227-2 = 134217726
/6 26 252.0.0.0 226-2 = 67108862
/7 25 254.0.0.0 225-2 = 33554430
/8 24 255.0.0.0 224-2 = 16777214
/9 23 255.128.0.0 223-2 = 8388606
/10 22 255.192.0.0 222-2 = 4194302
/11 21 255.224.0.0 221-2 = 2097150
/12 20 255.240.0.0 220-2 = 1048574
/13 19 255.248.0.0 219-2 = 524286
/14 18 255.252.0.0 218-2 = 262142
/15 17 255.254.0.0 217-2 = 131070
/16 16 255.255.0.0 216-2 = 65534
/17 15 255.255.128.0 215-2 = 32766
/18 14 255.255.192.0 214-2 = 16382
/19 13 255.255.224.0 213-2 = 8190
/20 12 255.255.240.0 212-2 = 4094
/21 11 255.255.248.0 211-2 = 2046
/22 10 255.255.252.0 210-2 = 1022
/23 9 255.255.254.0 29-2 = 510
/24 8 255.255.255.0 28-2 = 254
/25 7 255.255.255.128 27-2 = 126
/26 6 255.255.255.192 26-2 = 62
/27 5 255.255.255.224 25-2 = 30
/28 4 255.255.255.240 24-2 = 14
/29 3 255.255.255.248 23-2 = 6
/30 2 255.255.255.252 22-2 = 2
/31 1 255.255.255.254 21
/32 0 255.255.255.255 20

Masque de sous-réseau variable[modifier | modifier le code]

On parle de masque de sous-réseau variable (variable-length subnet mask, VLSM) quand un réseau est divisé en sous-réseaux dont la taille n'est pas identique, ceci permet une meilleure utilisation des adresses disponibles. Les protocoles de routage BGP, OSPF, IS-IS, EIGRP et RIPv2 supportent le VLSM car ils indiquent toujours un masque réseau associé à une route annoncée.

Exemple[modifier | modifier le code]

Par exemple, pour l'adresse 91.198.174.2/19 :

91.198.174.2 & 255.255.224.0 = 91.198.160.0

soit en binaire :

     01011011.11000110.10101110.00000010
&    11111111.11111111.11100000.00000000
=    01011011.11000110.10100000.00000000
  • L'adresse de l'hôte au sein du sous-réseau est donnée par la partie restante (01110.00000010), ou par le calcul :
91.198.174.2 & 0.0.31.255 = 0.0.14.2

soit en binaire :

    01011011.11000110.10101110.00000010
&   00000000.00000000.00011111.11111111
=   00000000.00000000.00001110.00000010

En résumé, pour cet exemple :

Notation décimale Notation binaire
Adresse IPv4 91.198.174.2 01011011.11000110.10101110.00000010
Masque de sous-réseau 255.255.224.0 11111111.11111111.11100000.00000000
Adresse du sous-réseau 91.198.160.0 01011011.11000110.10100000.00000000
Adresse de l'hôte 0.0.14.2 00000000.00000000.00001110.00000010

Exemple de division en sous-réseaux[modifier | modifier le code]

Un administrateur gère un réseau 192.44.78.0/24. Il aimerait décomposer ce réseau en quatre sous-réseaux.

Pour cela, il réserve les deux premiers bits de l'identifiant machine pour identifier ses nouveaux sous-réseaux. Toute adresse IP d'un même sous-réseau aura donc 24 bits en commun ainsi que les deux bits identifiant le sous-réseau. Le masque de sous-réseau peut ainsi être codé de la façon suivante : 11111111.11111111.11111111.11000000 en binaire, ce qui correspondra à 255.255.255.192 en décimal. Les sous-réseaux seront :

  • 192.44.78.0/26 (les adresses de 192.44.78.0 à 192.44.78.63)
  • 192.44.78.64/26 (les adresses de 192.44.78.64 à 192.44.78.127)
  • 192.44.78.128/26 (les adresses de 192.44.78.128 à 192.44.78.191)
  • 192.44.78.192/26 (les adresses de 192.44.78.192 à 192.44.78.255)

62 adresses de chaque sous-réseau seront utilisables pour numéroter des interfaces.

Sous-réseau zéro[modifier | modifier le code]

Le sous-réseau zéro était considéré comme un sous-réseau non standard par le RFC 950, bien qu'utilisable. La pratique de réserver le sous-réseau 0 et le sous réseau 1 est cependant considérée comme obsolète depuis le RFC 1878. Il s'agit du premier sous-réseau d'un réseau. Par exemple, le sous-réseau 1.0.0.0 avec 255.255.0.0 comme masque de sous-réseau. Le problème avec ce sous-réseau est que l'adresse unicast pour le sous-réseau est la même que l'adresse unicast pour le réseau de classe A complet. Ce problème n'est plus d'actualité puisque cette réserve n'avait été conservée que pour rester compatible avec de vieux matériels ne sachant pas gérer le CIDR.

IPv6[modifier | modifier le code]

Article détaillé : Adresse IPv6.

En IPv6 le masque de sous-réseau des adresses unicast est fixé à 64, c'est-à-dire que 64 bits sont réservés à la numérotation de l'hôte dans le sous réseau.

Structure des adresses IPv6 unicast globales
Préfixe Sous-réseau Interface
48 16 64

Le préfixe /48 est assigné par le fournisseur de service Internet (dans 2000::/3).

Structure des adresses locales uniques
préfixe L ID globale Subnet Interface
7 1 40 16 64

Dans les deux cas, l'administrateur du réseau dipose de 65536 sous-réseaux qui peuvent chacun contenir 264 soit 1.8×1019 hôtes.

Les adresses link-local (fe80::/64) utilisent également un masque fixe de 64 bits :

Structure des adresses link-local
Préfixe Zéro Interface
10 54 64

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]