Réseau - Adressage IPV4
![]() |
Difficulté : Débutant Notions : Réseau, adressage Modèle OSI Couche 3. |
Voir la ressource sur le modèle OSI : Réseau - Modèle OSI
I.Introduction
Cette page a pour but d’introduire les notions d’adressage ip dans la norme IPV4.
1.1 Un besoin, une solution
Avec l’arrivée des réseaux, les ordinateurs se sont vu offrir la capacité de communiquer entre eux pour échanger des informations.
Cela a ouvert la voie au modèle client/serveur, puis plus tard a internet qui est l’assemblage des mot inter(entre eux) network (réseau) soit, littéralement, un ensemble de réseaux interconnectés.
Mais pour que cela fonctionne, il faut déjà pouvoir savoir qui est qui. Pour ensuite savoir qui veut parler à qui.
Il faut donc un système permettant “d’adresser” la communication. C’est là qu’intervient le système d’adressage IP.
1.2 Analogie avec le réel
Pour faire une analogie simple, il faut voir cela comme des villes. Avec leurs rues, immeubles et numéros.
Pour envoyer un colis (un paquet) à Mr Dupuis, il faut lui envoyer cela dans la ville de Lyon, Rue Descola au numéro 108.
Pour un ordinateur, c’est la même chose. Pour envoyer un paquet (réseau cette fois), il faut avoir soi-même une adresse et connaître celle de son interlocuteur.
En complément de cela, comme les ordinateurs sont dans des réseaux interconnectés, il faut savoir dans quel réseau son interlocuteur se trouve. Pour cela deux notions sont importantes :
-
L'adresse de réseau
-
L’adresse hôte
II. Fonctionnement
Défini dans la 4
2.1 Structure
Les adresses IPV4 sont construites en 4 blocs. Chaque bloc étant un octet (8bits). Ce qui donne un total de 32 bits.
Ces blocs sont séparés par un point. Cela donne quelque chose comme :
192.168.1.27
2.2 Le binaire
Question 1 : d’où viennent ces chiffres ?
c’est en réalité assez simple. Voici un octet :
Composé de 8 bits, cet octet est vide. Sa valeur totale est donc 0.
Le binaire est un système de comptage en base 2 (nous comptons en base 10).
Il n’y a donc pour chaque bit que deux états possibles : 0 ou 1.
Pour l’ordinateur, un bloc d’adresse ressemble donc à ceci :
Question 2 : Comment convertir ce nombre binaire en nombre compréhensible par un humain ?
Avec une table de conversion. Chaque bit d’un octet a une valeur décimale. Voici la table de conversion :
Pour calculer combien cela fait en décimal, il faut ajouter les chiffre correspondant à chaque 1.
Dans cet exemple : 128+64+8+2+1 = 203.
Ainsi voici l’adresse complète ci-dessus :
Une adresse est donc ‘codée’ sur 32 bits.
2.3 Le masque de sous-réseau
Il est maintenant possible de comprendre l’adresse d’un machine, mais il manque un point essentiel :
Question 1 : Comment peut-on savoir à quel réseau appartient cette machine ?
En effet, comme dit en introduction, pour pouvoir communiquer avec une autre machine, son adresse ne suffit pas. Il faut aussi savoir dans quel réseau elle se trouve.
Pour éviter de gérer trop de données et d’adresses différentes, faciliter les communications et permettre une découpage sur mesure des réseaux, une solution a été trouvée :
L’adresse IP contiendra à la fois les informations du réseau ET de la machine.
C’est là que rentre en jeu une seconde donnée importante : le masque de sous-réseau
Question 2 : Comment tout cela fonctionne ?
Les choses se corsent un peu, mais sans devenir réellement plus complexes.
Si l’on reprends l’exemple ci-dessus : 192.168.1.27
Cette adresse contient en réalité les deux informations. Mais comment les différencier ?
A l’aide du masque de sous-réseau.
Celui-ci est sous la forme 255.255.255.0
Il est construit de la même manière que l’adresse. 4 blocs de 8 bits pour un total de 32 bits.
Ce n’est pas une coïncidence si les deux données font 32 bits. En effet, si cela s’appelle un masque, c’est qu’il doit se superposer à l’adresse. Voici à quoi ressemble ce masque en binaire.
Normalement, quelque chose doit sauter aux yeux. Tous les 1 sont d’un côté et tous les 0 de l’autre.
Et voila comment la ‘magie’ opère. Pour savoir quelle partie est l’adresse réseau et quelle partie est l’adresse machine, il faut séparer les 1 (partie réseau) et les 0 (partie machine).
Pour plus de clarté dans l’affichage, la table de conversion ne sera plus affichée.
Reprenons les exemples ci-dessus et Appliquons le masque:
Ici, l’on peut donc voir sur l’adresse que : 192.168.1 est la partie réseau et .27 la partie machine.
En déplaçant le curseur du masque (appelée "longueur de préfixe"), on peut ajuster la taille des réseaux et ainsi le nombre de machines qu’ils peuvent accueillir. Par exemple, si l’on reprends l’adresse 192.168.1.27 mais que l’on applique cette fois un masque en 255.255.0.0 , On obtient :
Le ‘curseur’ peut bien sûr être positionné au milieu d’un bloc pour ajuster le nombre de machine au plus près du besoin.
Question 3 : A quoi ça sert d’avoir différente tailles de réseaux ?
A avoir des réseaux plus ou moins grands.
La première limitation de ce système, c’est que le fait de déplacer ce curseur signifie que l’on va jouer sur les quantités de réseaux disponibles et de machines par réseaux. Les adresses sont constituées de 32 bits. Ni plus, ni moins.
Moins l’on alloue de bits à la partie réseau, plus on en alloue à la partie machine et vice versa.
En pratique, cela signifie que l’on a :
- Soit, peu de gros réseaux avec beaucoup de machines par réseau.
- Soit, beaucoup de petits réseaux, mais avec un nombre limité de machines par réseau.
Question 4 : Et pourquoi avoir tous ces différents réseaux ?
De base, les ordinateurs ne peuvent communiquer qu’entre membres d’un même réseau.
Donc il est important de pouvoir adapter la taille de celui-ci au nombre de machines que l’on veut mettre dedans.
Cela permet de segmenter les réseaux pour les spécialiser, mais aussi les sécuriser en séparant des réseaux plus ou moins exposés ou avec des usages différents.
Les réseaux pourront ensuite êtres interconnectés entre eux en utilisant des 'passerelles'.
III. Applications
3.1 Les adresses réservées
En se basant sur tout ce qui a été expliqué avant, l’on peut comprendre que pour un octet, la valeur minimale est donc 0 et la valeur maximale est la somme des valeurs de tout ses bits, soit 255.
Cependant, deux choses rentrent également en ligne de comptes :
-
De la même façon qu’il faut pouvoir définir une ville par son nom, il faut pouvoir définir un réseau par une adresse, qui sera son identifiant (son code postal en quelque sorte).
-
Il a donc été défini que lorsque la partie machine de l’adresse est égale à 0 (c’est a dire que tous ces bits sont a Zéro), cette adresse est réservée comme identifiant du réseau
-
*ici, si l’on met tous les bits de la partie machine a 0, l’adresse du réseau est donc 192.168.1.0
-
En réseau, il est non seulement possible d’envoyer un paquet à une machine, mais également d’envoyer un paquet à toutes les machines d’un réseau en même temps. On appelle cela un Broadcast.
-
Et pour cela, utiliser une adresse spéciale où tous les bits de la partie machine sont égaux à 1.
-
*ici, si l’on met tous les bits de la partie machine a 1, l’adresse de broadcast est 192.168.1.255
Lorsque l’on calcule donc la capacité d’un réseau en nombre d’adresses machine, il faut retirer ces deux adresses du nombre d’adresses disponibles. Qui sont donc la première et la dernière adresse de la plage.
Dans l’exemple du réseau pris dans ce chapitre, voici donc ses données :
-
Adresse réseau : 192.168.1.0
-
Masque réseau : 255.255.255.0
-
Adresse de broadcast : 192.168.1.255
-
Nombre d’adresses machines disponibles : 254
Ainsi les machines pourront avoir les adresses suivantes :
-
192.168.1.1
-
192.168.1.2
-
192.168.1.3
-
… … …
-
192.168.1.254
3.2 Exemples courants
Voici une table des tailles de masques avec pour chacune le nombre de réseaux et de machines disponible.
|
nombre de bits de la partie réseau |
masque |
nombre d’adresse disponible |
|---|---|---|
|
24 |
255.255.255.0 |
254 |
|
16 |
255.255.0.0 |
65 534 |
|
27 |
255.255.255.224 |
30 |
|
28 |
255.255.255.240 |
14 |
3.3 Les passerelles
Étant donné que les machines ne peuvent communiquer qu’entre machines d’un même réseau, il faut utiliser des machines pour servir de passerelles entre les réseaux. Ces machines doivent évidement disposer d’une adresse dans chaque réseau auxquels elles seront connectées.
Il faut donc prévoir dans son calcul de réserver les adresses pour ces passerelles.
Ces machines seront appelées ‘routeurs’.
Cours sur le routage : todo
IV. Conventions
4.1 La notation CIDR
Par facilité, une notation alternative à la notation adresse + masque a été mise au point.
Il s’agit ici de noter l’adresse et y accoler le nombre de bits de cette adresse constituant la partie réseau.
Ainsi 192.168.1.0 et 255.255.255.255 deviennent 192.168.1.0/24
Et l’on peux aussi utiliser cette notation pour désigner une machine 192.168.1.27/24
Ainsi, l’on a en une fois à la fois l’adresse d’une machine et les informations permettant de savoir à quel réseau elle appartient.
4.2 Les classes d’adresses
Les adresses sont réparties en 4 classes définies par le nombre de bits alloués aux réseaux afin de regrouper ensemble les réseaux de même capacité.
Ainsi, les réseaux de classe A ont un premier octet compris entre 1 et 126*. soit un bit de poids fort égal à 0.
Les réseaux de classe B ont un premier octet compris entre 128 et 191. soit deux bits de poids fort égaux à 10.
Les réseaux de classe C ont un premier octet compris entre 192 et 223. Soit 3 bits de poids fort égaux à 110.
Les réseaux de classe D sont un cas particulier. Ils ont un premier octet compris entre 224 et 239. Soit 3 bits de poids fort égaux à 1. Il s’agit de réseaux et adresses réservées pour le multicast.
Cours sur le multicast : todo
Une dernière classe existe, avec un premier octet compris entre 240 et 255. Il s’agit de la classe E. Ces adresses sont réservées pour l’expérimentation et ne DOIVENT PAS être utilisées.
*le réseau de classe A 127 est réservé.
4.3 Les IP privées et publiques
Défini dans la rfc1918
En plus de ces classes, il faut différencier les plages d’adresses réservées à un usage public, par les opérateurs internets notamment et celles, privées, utilisable par les particuliers et les entreprises.
Actuellement les adresses privées utilisables sont les suivantes :
-
classe A : 10.0.0.0 à 10.255.255.255
-
classe B : 172.16.0.0 à 172.31.255.255
-
classe C : 192.168.0.0 à 192.255.255.255
Sachant que la plupart des réseaux domestiques sont en 192.168.1.0/24 ou 192.168.1.0/24 il est recommandé d’utiliser d’autres plages pour des réseaux de LAB ou d’entreprise.
Notamment ceux de classe B, qui ne sont pas utilisés en usage domestique ou en IoT.
4.4 Les ip particulières
Dans les plages existantes il y a un certains nombres d’adresses ou de réseaux qui sont réservés à des usages particuliers et qui ne sont par conséquent pas utilisables :
-
127.0.0.1 : adresse générique utilisée pour désigner la boucle locale (localhost)
-
0.0.0.0 : adresse utilisée pour indiquer une route par défaut (tout le monde).
-
255.255.255.255 : broadcast général.
V. Conclusion
Pour résumer,
Au sein d’un LAB ou d’une entreprise. Il est possible de découper plusieurs sous-réseaux. Dans la limite des IP privées des classes A,B et C. Avec une préconisation pour l’usage d’adresses de classe B.
Aller plus loin :
-
cours sur le NAT/PAT : Réseau - Le NAT / PAT
-
cours sur les ports et les sockets : Réseau - Définition du socket
-
Adressage IPV6 : Réseau - Adressage IPv6












