Outils pour utilisateurs

Outils du site


informatique:tcpip:tcpip

Identification de la classe d'adresse (RFC 791)

Les Classes

Il s'agira d'identifier la classe d'adresse :

  • 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

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)

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 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 

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.

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, les premiers et derniers sous-réseaux et la première et la dernière adresse sont non valides. On obtiendrait donc 2 sous-réseaux (4-2) avec chacun 62 hôtes possibles (64-2).

Notez aussi qu'il doit toujours rester 2 bits pour la partie hôte (4-2 = 2) quelle que soit la classe utilisée. Notez aussi que vous perdrez en conséquence, selon les circonstances, un grand nombre d'hôtes assignables

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

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 1Octet 2Octet 3Octet 4Commentaire
Adresse IP102001018
Masque25522400
Numéro de sous-réseau1019200Nombre magique = 256-224 = 32
Première adresse utilisable1019201Ajouter 1 au dernier octet du numéro de sous-réseau
Adresse de Broadcast10223255255 192+32-1 = 223
Dernière adresse utilisable10223255254Soustraire 1 du dernier octet de l'adresse de broadcast

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 :

Bits réseauxBinaireDécimal
0000000000
(1)10000000(128)
211000000192
311100000224
411110000240
511111000248
611111100252
(7)11111110(254)
811111111255
informatique/tcpip/tcpip.txt · Dernière modification: 2018/09/06 19:10 (modification externe)