Adressage:IP
Adressage IP
Structure d'une adresse IP
Une adresse IP est composée de 4 valeurs décimales, codées chacune sur 8 bits. Une adresse IP a donc une longueur de 32 bits.
Dans les exemples qui suivent, nous prendrons les valeurs suivantes :
- Exemple 1 : 192.168.182.132
- Exemple 2 : 195.82.34.78
Classes d'adresses
Classes d'adresses
On distingue 5 classes d'adresses IP, définie par les lettres A, B, C, D ou E. Chaque adresse IP entre dans une classe d'adresse, en fonction de ses premiers bits.
Notation décimale | 192 | 168 | 182 | 132 |
---|---|---|---|---|
Notation binaire | 11000000 | 10101000 | 10110110 | 10000100 |
Classe | Premiers bits | Exemple | |
---|---|---|---|
Adresses unicast | A | 0… |
|
B | 10… |
| |
C | 110… |
| |
Adresses multicast | D | 1110… |
|
Non utilisée | E | 11110… |
|
Sous Linux (ou assimilé), l'outil ipcalc permet de décomposer une adresse IP.
La classe d'appartenance d'une adresse IP permet de distinguer la partie réseau de la partie hôte :
Nombre d'hôtes par sous réseau
La classe d'appartenance d'une adresse définit le nombre d'hôtes par sous réseau :
- Classe A : la partie hôte est composée des 3 derniers décimaux, soit 24 bits (3 décimaux * 8 bits par décimal). Le nombre d'hôtes possibles est donc de 2^24-2 soit 16 777 214 hôtes.
- Classe B : la partie hôte est composée des 2 derniers décimaux, soit 16 bits (2 décimaux * 8 bits par décimal). Le nombre d'hôtes possibles est donc de 2^16-2 soit 65 534 hôtes.
- Classe C : la partie hôte est composée du dernier décimal, soit 8 bits (1 décimal * 8 bits par décimal). Le nombre d'hôtes possibles est donc de 2^8-2 soit 254 hôtes.
Cas particuliers
Les adresses dont le premier décimal commence par 127 (127.0.0.0 à 127.255.255.255) correspondent aux adresses de bouclage (loopback).
Il existe des adresses dites privées, non routables vers l'Internet :
- Pour la classe A : de 10.0.0.0 à 10.255.255.255;
- Pour la classe B : de 172.16.0.0 à 172.31.0.0;
- Pour la classe C : de 192.168.0.0 à 192.168.255.255.
Masque de sous réseau, adresse réseau, adresse de diffusion (broadcast)
Masque de sous réseau
Définition
Le masque est un séparateur entre la partie réseau et la partie machine d'une adresse IP. Un masque de sous réseau définit :
- L'adresse du réseau
- L'adresse de broadcast
- La plage d'adresses utilisables
Masques par défaut
Un masque de sous réseau par défaut existe pour chaque classe d'adresse, comme suit :
- Classe A : 255.0.0.0
- Classe B : 255.255.0.0
- Classe C : 255.255.255.0
Masques restrictifs
Il est possible de définir des masques restrictifs afin de limiter la plage d'adresses utilisables.
Dans les exemples qui suivent, nous opterons pour un masque de sous réseau restrictif de classe C définit comme suit : 255.255.255.192.
Adresse du réseau
La combinaison d'une adresse IP et de son masque de sous réseau permet de définir l'adresse du réseau. La méthode consiste à appliquer la fonction AND bit par bit entre l'adresse IP et l'adresse du masque associé.
C'est grâce à l'adresse réseau que l'on peut identifier les réseaux et router les informations d'un réseau à un autre.
Exemple 1 : Masque de classe C par défaut (255.255.255.0)
192 | 168 | 182 | 132 | ||||||||||||||||||||||||||||
1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
255 | 255 | 255 | 0 | ||||||||||||||||||||||||||||
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
192 | 168 | 182 | 0 |
Dans cet exemple, l'adresse du réseau est donc : 192.168.182.0.
Le dernier byte peut prendre les valeurs 00000000 (0) à 11111111 (255) et la plage d'hôtes sur ce réseau s'étend de 192.168.182.1 à 192.168.182.254.
Exemple 2 : Masque de classe C restrictif (255.254.255.192)
195 | 82 | 34 | 78 | ||||||||||||||||||||||||||||
1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 |
255 | 255 | 255 | 192 | ||||||||||||||||||||||||||||
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
195 | 82 | 34 | 64 |
Dans cet exemple, l'adresse du réseau est donc : 195.82.34.64.
Le dernier byte peut donc varier de 01000000 (64) à 01111111 (127) et la plage d'hôtes sur ce réseau s'étend donc de 195.82.34.64 à 195.82.34.126.
Adresse broadcast
L'adresse broadcast (en français, adresse de diffusion) permet de faire de la diffusion à toutes les machines du réseau. C'est à cette adresse que l'on envoie une information lorsque l'on souhaite que celle-ci soit transmise à toutes les adresses d'un réseau.
L'adresse de broadcast est obtenue en remplaçant les 0 par des 1 (à partir du premier bit égal à 1 en partant de la fin) dans les bits de la partie hôte de l'adresse du réseau.
Exemple 1 : Masque de classe C par défaut (255.255.255.0)
L'adresse du réseau est 192.168.182.0.
192 | 168 | 182 | 0 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
192 | 168 | 182 | 255 |
En partant de la fin, le premier bit rencontré égal à 1 n'appartient pas à la partie hôte, ce qui signifie que tous les bits de la partie hôte seront égaux à 1 (le binaire 11111111 converti en décimal est égal à 255).
L'adresse de broadcast est donc dans cet exemple 192.168.182.255.
Exemple 2 : Masque de classe C restrictif (255.255.255.192)
L'adresse du réseau est 195.82.34.64.
195 | 82 | 34 | 64 | ||||||||||||||||||||||||||||
1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
195 | 82 | 34 | 127 |
Le premier bit rencontré égal à 1 appartient à la partie hôte. En remplaçant tout ce qui suit par des 1, on obtient une partie hôte égale à 01111111, soit 127 en décimal.
Dans cet exemple, l'adresse de broadcast est donc : 195.82.34.127.
Plages d'adresses du 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.
Dans notre exemple 1 (masque par défaut 255.255.255.0), il s'agit de la page suivante : de 192.168.182.1 à 192.168.182.254, soit 254 hôtes utilisables.
Dans l'exemple 2 (masque restrictif 255.255.255.192), la plage d'adresses utilisables est : de 195.82.34.65 à 195.82.34.126, soit 62 hôtes utilisables.
Tableau résumé des exemples
Exemple 1 | Exemple 2 | |
---|---|---|
Adresse IP | 192.168.182.132 | 195.82.34.78 |
Classe | classe C, adresse privée | Classe C |
Masque de sous réseau | 255.255.255.0 | 255.255.255.192 |
Adresse du réseau | 192.168.182.0 | 195.82.34.64 |
Broadcast | 192.168.182.255 | 195.82.34.127 |
Premier hôte disponible | 192.168.182.1 | 195.82.34.65 |
Dernier hôte disponible | 192.168.182.254 | 195.82.34.126 |
Nombre d'hôtes disponibles | 254 | 62 |
Notation CIDR
Définition
Le Classless Inter-Domain Routing, abrégé CIDR, a été mis au point afin (principalement) de diminuer la taille de la table de routage contenue dans les routeurs. Ce but est atteint en agrégeant plusieurs entrées de cette table en une seule.
Le CIDR autorise une notation abrégée des masques de sous réseau. Ainsi, par exemple, 192.168.182.0/24 est équivalent à 192.168.182.0/255.255.255.0.
Principe de calcul
Dans l'exemple précédent, 24 signifie 24 bits de 1 consécutifs dans l'écriture binaire du masque :
255 | 255 | 255 | 0 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
La combinaison 192.168.182.0/255.255.255.0 peut s'écrire, avec la notation CIDR, 192.168.182.0/24.
Prenons un autre exemple :
Soit l'adressage suivant : 195.82.34.64/255.255.255.192. Le masque s'écrit :
255 | 255 | 255 | 192 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
26 bits correspondent à des 1 consécutifs. La notation CIDR est donc : 195.82.34.64/26.
Versions du protocole IP
Les raisons d'un nouveau protocole
Le nombre d'adresses offertes par le protocole IPv4 est de 232 soit plus de 4 milliards. Ce chiffre paraît impressionnant, et pourtant, depuis 1995, une transition vers un nouveau protocole, l'IPv6 s'opère car les adresses IPv4 vont bientôt être toutes utilisées. En Asie, on assiste déjà à ce phénomène.
Par ailleurs, Ipv6 apporte des mesures correctives au protocole IPv4. On peut citer entre autres :
- Ipv6 offre un nombre d'adresses bien plus important : 2128
- des mécanismes de configuration et de numérotation automatique
- IPsec, QoS, et multicast implantés nativement
- simplification des en-têtes des paquets, facilitant le routage
Le support Ipv6 est déjà proposé par certains FAI français (Free par exemple), de manière optionnelle.
Comparaison des structures IPv4 et IPv6
Alors qu'une adresse IPv4 a une taille de 4 bytes, une adresse IPv6 a une longueur de 16 bytes.
IPv4 utilise une notation décimale du type 192.168.1.12. Pour Ipv6, la notation est héxadécimale et est du type 1fff:0000:0a88:85a3:0000:0000:ac1f:8001.
Chaque groupe de 2 bytes est séparé non plus par « . » mais par « : ».