#!⌨

Comprendre les plages d'adresses IP

La notation d'une plage d'adresses IP, sous la forme 192.168.0.024 par exemple, peut être mystérieuse. Pour la comprendre, il faut déjà comprendre la représentation d'un nombre en binaire.

Le binaire est la représentation d'un nombre en base 2, en n'utilisant que les chiffres 0 et 1. Un nombre binaire est donc une suite de 0 et de 1 à la différence de notre système "classique" décimal, en base de 10.

Exemple :

34 = 000100010

Pour convertir des nombres décimaux en nombres binaires, il faut décomposer le nombre par rapport à chacun des chiffres et leur position en binaire.

2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
128 64 32 16 8 4 2 1
1000000 100000 10000 1000 1000 100 10 1

La représentation d'un nombre en binaire prend en compte la position du chiffre : le chiffre 1 en 8éme position à partir de la droite (10000000) correspond à 2^(position - 1).

Nota bene : un octect est un nombre binaire constitué de 8 chiffres, octect venant de octo, 8 en latin. Un bit est un seul chiffre binaire.

Prenons par exemple le nombre 28 et le nombre 53, on décompose respectivement ces nombres à l'aide des chiffres du tableau ci-dessus :

28 = 16 + 8 + 4
53 = 32 + 16 + 4 + 1

On supperpose ensuite le tableau et pour chaque composant présent dans le nombre en exemple, on note 1 sinon 0. Cela donne :

  2^8 2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
  256 128 64 32 16 8 4 2 1
28 0 0 0 0 1 1 1 0 0
53 0 0 0 1 1 0 1 0 1

Le nombre 28 s'écrit donc 11100 en binaire, et 53 s'écrit 110101.

Comme en représentation décimale, on peut omettre les 0 au début d'un nombre binaire, sauf si on veut forcer la représntation sous forme d'octets.

Après avoir vu en introduction le binaire, nous pouvons facilement lire et comprendre une adresse ip.

Internet Protocol, c'est la base du système d'acheminement des informations sur les réseaux et en particulier Internet. Il s'agit d'un protocole utilisant l'adresse d'une machine pour communiquer avec elle. L'IP version 4, dite IPv4, est codée en 32 bits soit 4 octects.

Nota bene : 1 octect = 8 bits soit 2^8, les possibilités d'un octect s'étendent donc de 0 à 255.

Pour une meilleure clarté des adresses IP, celles-ci sont écrites avec 4 nombres décimaux pointés. Ces décimaux représentent chacun 1 octect.

Un exemple d'IP :

192.168.1.1 ------> en nombres décimaux

11000000.10101000.00000001.00000001 -------> en nombres binaires

Pour comprendre ce qui va suivre, nous devons préciser ce qu'est une plage d'adresses. Une plage d'adresses se compose d'une IP "génerique" et d'un masque de sous réseau.

Le masque de sous réseaux décrit quelles parties de l'adresse générique on doit garder pour retrouver toutes les ips d'un sous réseau complet.

Le masque s'applique à une adresse en faisant un "et" binaire bit à bit avec l'adresse générique.

Par exemple :

Ip générique 192.168.0.0 11000000.10101000.00000000.00000000
masque 255.255.0.0 11111111.11111111.00000000.00000000
possibilités 192.168.*.* 11000000.10101000.********.********

Ce tableaux montre que pour le réseau 192.168.0.0/255.255.0.0 on peut avoir toutes les possibilités de 0 à 255 pour a et b dans 192.168.a.b.

Nota bene : pour qu'un masque soit valide, la séparation doit être bien distinct, un 0 ne peut pas se retrouver du coté des 1 par exemple. Par contre, cette séparation ne se fait pas obligatoirement entre deux octects comme sur l'exemple ci-dessus. Il est très fréquent que cette césure se fasse dans un octect, nous verrons cela plus bas

Une plage d'adresse IP va donc s'écrire 192.168.0.0/255.255.0.0, cela définit la communication entre les adresses de 192.168.0.0 à 192.168.255.255. Prenons l'exemple du masque ci-dessus; il va permettre aux adresses IP ayant 3 premiers octets identiques de communiquer :

192.168.1.0
192.168.65.1 ---> OK
192.168.4.3

192.169.1.1 ---> KO

Nota bene : le nombre d'IP disponible sur une plage réseau est dépendant du masque de sous réseau associé.

Pour calculer le nombre de places disponibles, il suffit de convertir le masque en binaire, de compter le nombre de bits égaux à 0, 16 en l'occurrence. Puis faire 2^16 = 65 536, c'est le nombre de places machines disponibles sur ce réseau.

Enfin, une notation moins verbeuse permet de décrire une plage d'adresses IPs faisant partie d'un sous réseau, l'écriture CIDR.

La notation CIDR indique une adresse réseau suivie d'un '/' et d'un nombre indiquant les bits à 1 constituant le masque de sousréseau (en partant de la gauche).

Exemple d'un masque de sous réseau converti en écriture CIDR :

255.255.255.0
11111111.11111111.11111111.00000000
nombre de bits à 1 = 24

L'équivalent de la plage d'adresses 192.168.1.0/255.255.255.0 est 192.168.1.0/24

J'espère que cette article aura aidé à comprendre le monde des adresses IP.