Vous êtes ici : Accueil Fondamentaux Adressage IPv4 Classful (1/2)

Adressage IPv4 Classful (1/2)

Il est essentiel de maîtriser l'adressage IPv4. Il faut utiliser les masques et le calcul binaire. Toutefois, la méthode dite du "nombre magique" épargne bien des efforts ...

Au sommaire :

I. Identification de la classe d'adresse (RFC 791)

II. Utilisation d'un masque (RFC 950) - Calcul binaire

III. Méthode dite du nombre magique

IV. Nombre de sous-réseaux / nombres d'hôtes

 

Une adresse IPv4 (Internet Protocol version 4) est une identification unique pour un hôte sur un réseau IP. Une adresse IP est un nombre d'une valeur de 32 bits représentée par 4 valeurs décimales pointées ; chacune a un poids de 8 bits (1 octet) prenant des valeurs décimales de 0 à  255 séparées par des points. La notation est aussi connue sous le nom de « décimale pointée ».

I. Identification de la classe d'adresse (RFC 791)

1. Les Classes

A l'origine d'IPv4, on distingue une organisation en classes d'adresses dont la quatre premiers bits indiquent la classe.
Les adresses de Classe A commencent par 0xxx en binaire, ou 0 à  127 en décimal.
Les adresses de Classe B commencent par 10xx en binaire, ou 128 à  191 en décimal.
Les adresses de Classe C commencent par 110x en binaire, ou 192 à  223 en décimal.
Les adresses de Classe D commencent par 1110 en binaire, ou 224 à  239 en décimal.
Les adresses de Classe E commencent par 1111 en binaire, ou 240 à  255 en décimal.

Notes sur les Classes d'adresses :

  • Seules les adresses de Classes A, B et C sont assignables à  des interfaces (adresse d'Unicast)
  • La classe D est utilisée pour des adresses de Multicast (adresse unique identifiant de nombreuses destinations)
  • La classe E est utilisée pour des besoins futurs ou des objectifs scientifiques

Adresses spécifiques :

  • Les adresses commençant de 127.0.0.0 à  127.255.255.255 sont réservées pour le bouclage (loopback)
  • Adresses privées non routables vers l'Internet sont (RFC 1918) :
    • Pour la classe A : de 10.0.0.0 à  10.255.255.255
    • Pour la classe B : de 172.16.0.0 à  172.31.255.255
    • Pour la classe C : de 192.168.0.0 à  192.168.255.255

2. Distinction de la partie réseau de la partie hôte

Par défaut :

  • La partie réseau des adresses de Classe A portera sur le premier octets et la partie hôte sur les trois derniers (2^24 = 16 777 216 hôtes possibles par réseau)
  • La partie réseau des adresses de Classe B portera sur les deux premiers octets et la partie hôte sur les deux derniers (2^16 = 65 536 hôtes possibles par réseau)
  • La partie réseau des adresses de Classe C portera sur les trois premiers octets et la partie hôte sur le dernier (2^8 = 256 hôtes possibles par réseau) [1] [2]

 

doc-19

II. Utilisation d'un masque (RFC 950)

Un masque va préciser de manière certaine dans quel réseau se trouve un adresse IP et en conséquence :

1. L'adresse du réseau (appelée aussi numéro de réseau, non assignable)

2. L'adresse de broadcast (adresse visant toutes les destinations, non assignable)

3. La plage d'adresses utilisables (de la première à  la dernière en dehors des adresses précitées)

Un masque sera une suite de 32 bits divisée en 4 octets pointés composée uniquement d'abord d'une suite de 1 et, après, d'une suite de 0. La notation est aussi décimale pointée. Toutefois, on trouvera une autre notation dite CIDR [3] qui représente le nombre de bits pris par la partie réseau du masque.

1. Masque par défaut

Le nombre d'hôte possible obtenus ci-dessus correspond à  l'application d'un masque par défaut sur un type de classe d'adresse :

Le masque par défaut des adresses de Classe A est 255.0.0.0 ou /8
Le masque par défaut des adresses de Classe B est 255.255.0.0 ou /16
Le masque par défaut des adresses de Classe C est 255.255.255.0 ou /24

Méthode par calcul binaire

L'adresse du réseau, l'adresse de broadcast et la plage d'adresses utilisables peut être obtenu à  partir d'un calcul booléen de type ET ou la conjonction logique (une proposition est vraie lorsque les deux termes sont tous les deux vrais) :

a. Obtenir l'adresse du réseau :

Pour l'adresse IP 140.159.125.25, adresse de classe B à  laquelle on applique un masque par défaut de 255.255.0.0 :

10001100.10011111.01111101.00011001 140.159.125.25
11111111.11111111.00000000.00000000 255.255.0.0
-----------------------------------
10001100.10011111.00000000.00000000 140.159.0.0

L'adresse du réseau est donc 140.159.0.0

b. Obtenir l'adresse de broadcast :

On va remplacer les bits de valeur 0 de la partie hôte du résultat obtenu pour l'adresse de réseau par des bits de valeur 1 :

10001100. 10011111. 00000000. 00000000 140.159.0.0
par :
10001100. 10011111. 11111111. 11111111 140.159.255.255

c. Obtenir la plage d'adresses de ce réseau :

La plage d'adresse du réseau sera comprise entre la première adresse utilisable et la dernière utilisable, autrement dit, celle qui suit l'adresse du réseau et celle qui précède l'adresse de broadcast :

De
10001100. 10011111. 00000000. 00000001 140.159.0.1
A
10001100. 10011111. 11111111. 11111110 140.159.255.254

2. Masques restrictifs

Les masques présentés ci-dessus sont des masques appartenant par défaut à  chaque classe d'adresse. On pourra utiliser d'autres masques plus restrictifs afin de diviser un réseau en plusieurs sous-réseaux afin d'optimiser un plan d'adressage. [4]

On va emprunter des bits à  la partie hôte au profit de la partie réseau. De manière intuitive, on peut considérer qu'à  partir d'un réseau de classe C de 256 adresses possibles, on pourra, par exemple obtenir 4 sous-réseaux différents de 64 adresses.
Dans ce cas-ci, on dira que l'on a emprunté deux bits à  la partie hôtes (2 exp 2 = 4) ne restant que 6 bits pour les hôtes (2 exp 6 = 64).

Selon la RFC 950, la première et la dernière adresse sont non valides. On obtiendrait donc 4 sous-réseaux avec chacun 62 hôtes possibles (64-2) [5].

Par exemple :

Pour l'adresse IP 195.74.212.78, adresse de classe C à  laquelle on applique un masque par défaut de 255.255.255.192 par la même méthode que présenté ci-avant :

a. Obtenir l'adresse du réseau :

11000011.01001010.11010100.01001110 195.74.212.78
11111111.11111111.11111111.11000000 255.255.255.192
-----------------------------------
11000011.01001010.11010100.01000000 195.74.212.64

L'adresse du réseau est donc 195.74.212.64

b. Obtenir l'adresse de broadcast :

On va remplacer les bits de valeur 0 de la partie hôte du résultat obtenu pour l'adresse de réseau par des bits de valeur 1 :

11000011. 01001010. 11010100. 01000000 195.74.212.64
par :
11000011. 01001010. 11010100. 01111111 195.74.212.127

c. Obtenir la plage d'adresses de ce réseau :

La plage d'adresse du réseau sera comprise entre la première adresse utilisable et la dernière utilisable, autrement dit, celle qui suit l'adresse du réseau et celle qui précède l'adresse de broadcast :

De
11000011. 01001010. 11010100. 01000001 195.74.212.65
A
11000011. 01001010. 11010100. 01111110 195.74.212.126

III. Méthode dite du nombre magique.

Le calcul binaire peut sembler fastidieux. La méthode dite du nombre magique permet d'éviter ces calculs.

Le nombre magique est 256 soustrait de la valeur intéressante autre que 0 ou 255 du masque.

Pour trouver l'adresse réseau, il suffira de trouver le multiple du nombre magique directement inférieur ou égal à  l'adresse IP :

Pour l'adresse IP 195.74.212.136, adresse de classe C à  laquelle on applique un masque par défaut de 255.255.255.192, le nombre magique est 256-192 = 64, le multiple juste inférieur étant 128. L'adresse réseau est donc 195.74.212.128

Pour trouver l'adresse de la première adresse utilisable, il faudra ajouter 1 au dernier octet du numéro de sous-réseau : 195.74.212.129

Pour l'adresse de broadcast, il faudra faire (numéro de sous-réseau + nombre magique -1) 128+64-1, ce qui donnera l'adresse 195.74.212.191

Pour trouver l'adresse de la dernière adresse utilisable, il faudra soustraire 1 au dernier octet de l'adresse de broadcast : 195.74.212.190

Autre exemple plus complexe :

 


Octet 1 Octet 2 Octet 3 Octet 4 Commentaire
Adresse IP 10 200 10 18
Masque 255 224 0 0
Numéro de sous-réseau 10 192 0 0 Nombre magique = 256-224 = 32
Première adresse utilisable 10 192 0 1 Ajouter 1 au dernier octet du numéro de sous-réseau
Adresse de Broadcast 10 223 255 255 192+32-1 = 223
Dernière adresse utilisable 10 223 255 254 Soustraire 1 du dernier octet de l'adresse de broadcast

IV. Nombre de sous-réseaux / nombres d'hôtes

Les formules sont simples :

Nombre de sous-réseaux : 2 EXP bits empruntés pour le sous-réseaux - 2
Nombre d'hôtes : 2 EXP bits restant pour les hôtes - 2

A condition d'avoir en tête ce tableau de conversion, ce qui est indispensable :

Bits réseaux Binaire Décimal
0 00000000 0
(1) 10000000 (128)
2 11000000 192
3 11100000 224
4 11110000 240
5 11111000 248
6 11111100 252
(7) 11111110 (254)
8 11111111 255

 

[1] On notera le classement désuet : un trop grand nombre d'hôtes pour des adresses de classe A et B, et un nombre d'hôtes trop faible pour des adresses de classe C.

[2] Il y a 128 (dont beaucoup réservés) réseaux pour une adresse de classe A, 16384 pour une classe B et 2 097 152 pour une classe C.

[3] Classless Interdomain Routing (RFC 1878)

[4] Ce découpage est purement local. Du point de vue de l'extérieur, le réseau reste unique en routage classful.

 

Share |
Mots-clés associés : , , , ,
bob a écrit :
08/11/2013 14:07
Trés utiles niggaz
tim a écrit :
08/11/2013 14:08
utile pour bac sen
remy a écrit :
13/11/2013 10:51
Super utile doudou
djos a écrit :
26/11/2013 15:37
tres bon pour l'apprentissage