L’adresse IP (Internet Protocol) est un numéro attribué à un ordinateur ou tout autre appareille connectée au réseau (routeur, modem ADSL, imprimante réseau, smartphone …) pour l’identifier d’une façon unique dans un réseau.
Une adresse IP est représentée sous la forme de xxx.xxx.xxx.xxx où xxx est compris entre 0 et 255 séparées par des points, exemple : 192.168.0.1
Représentation binaire :
En fait une adresse IP est représentée par cette forme juste pour qu’il soit lisible pour vous alors que pour les machines elle est de cette forme :
00010111.01011111.11000000.00000011
C’est quoi ces chiffres il n’y a que des 0 et 1 ??!
Exactement, en fait les machines ne comprennent que deux valeur : 0 et 1.
Chaque information traitée par les appareille sont codés en 0 et 1. Cette représentation est appelée représentation binaire. La forme ordinateur (192.168.0.1) est appelée représentation décimale.
La valeur 0 ou 1 est appelée un bit.
-Une adresse IP est codée sur 32bites : 00010111.01011111.11000000.00000011
Prenant l’adresse IP suivante : 192.168.0.1
Sa représentation binaire est : 11000000.10101000.00000000.00000001
Mais ! Comment t’a pu le savoir ?
C’est simple j’ai convertis l’adresse 192.168.0.1 en binaire.
C’est ce que vous allez découvrir tout de suite.
En fait il y a des sites qui permettent de convertir en décimal et en binaire :
Exemple : http://www.binaryhexconverter.com/binary-to-decimal-converter
Alors pourquoi se casser la tête, on se servira de ces sites web ou bien avec cette petite calculatrice sans avoir besoin de savoir comment convertir.
Au contraire vous devez absolument savoir comment convertir car c’est l’un des base du réseau et vous en aurez besoin après, allez ne soyez paresseux, vous allez voir que c’est très facile 😉
Convertir de Décimal en Binaire :
Nous savons qu’une adresse IP en binaire est composée de 32bites : 10000000001010000000000010000001
Cette notation n’est pas très claire pour les humaines, alors pour faciliter les choses, on va mettre ce nombre en block de 8bites, ces 8 bites sont appelé aussi octet ou bien byte :
10000000.00101000.00000000.10000001
8 bites = 1 Octet = 1 Byte
Prenant l’adresse IP suivante :
192.168.0.1
Nous allons la convertir en binaire, pour cela nous allons nous servir du tableau suivant :
En fait il y a plus qu’une méthode pour convertir en binaire. Je vais vous montrer la méthode qui me parait la plus simple :
Prenant le premier octet de l’adresse IP: 192
Comme vous savez : 128 < 192 mettez la valeur binaire 1 dans la case de 128
-128 + 64 = 192, c’est le nombre qu’on cherchait 🙂 mettez la valeur binaire 1 dans la deuxième case :
Et puisqu’ on a atteint le nombre qu’on veut convertir : 192, on va remplir les cases qui restent avec la valeur binaire 0 :
Ainsi 192 = 11000000
Faisant la même chose pour le nombre 168 :
-128 < 168 alors mettez 1 dans la 1er case
-128 + 64 = 192 > 168 alors mettez 0 dans la 2ème case
-128 + 32 = 160 < 168 alors mettez 0 dans la 3ème case
-128 + 32 + 16 = 176 > 168 mettez alors 0 dans la 4ème case
-128 + 32 + 8 = 168 mettez alors 1 dans la 5ème case.
Et puisque on a trouvé le nombre qu’on cherchait, les cases qui restent doivent être remplis en 0.
Ainsi 168 = 10101000
-pour le 3ème chiffre : 0 sa notation binaire évidemment est 00000000
Ainsi : 0 = 00000000
-Et pour le dernier chiffre 1, pas la peine de vous expliqué comment 😉 :
Ainsi 1 = 00000001
Donc la notation binaire de 192.168.0.1 est :
11000000.10101000.00000000.00000001
Et voilà on a fini, trop facile pas vrai ?
Convertir de Binaire au Décimal :
Prenant l’adresse IP en notation binaire suivante :
01010000.10101000.00111100.11111111
On va se servir toujours du même tableau :
Cette fois on va placer chaque octet dans le tableau et on va faire la somme de tous les nombre décimal qui correspond à la valeur 1 des cases binaire.
-Commençant avec le 1er octet : 01010000
Les nombres décimaux qui correspondent à la valeur 1 sont : 64, 16.
La somme des deux nombres est 80 :
01010000 = 80
-2ème Octet : 10101000
Le nombre décimal est : 128 + 32 + 8 = 168
10101000 = 168
-3ème Octet : 00111100
Le nombre décimal est : 32 + 16 +8 +4 = 57
00111100 = 57
-4ème Octet : 00111100
Le nombre décimal est : 128 + 64 + 32 +16 +8 +4 +2 +1 = 255
00111100 = 255
Ainsi l’adresse IP en notation décimal de 01010000.10101000.00111100.11111111 est : 80.168.57.255
Adresses IP autorisées :
Vous savez maintenant qu’une adresse IP sert à identifier un ordinateur d’une façon unique dans un réseau informatique.
Mais est ce qu’on peut donner n’importe quelle adresse à un ordinateur ?
En fait non, il y a des règles à respecter sinon vous risquez d’avoir des problèmes de communication entre les ordinateur. Et oui c’est si important que ça.
Je vous donne des exemples :
-Cette adresse IP peut être affectée à un ordinateur : 192.168.0.1
-Par contre celle-là non : 20.1.23.0
-Celle-là oui : 125.0.2.12 alors que celle-là non : 21.30.0.255
-Un ordinateur ayant l’adresse IP 192.168.1.1 ne peut pas communiquer avec un ordinateur ayant l’adresse IP 170.0.1.1 s’ils appartiennent au même réseau.
Nous allons voir pourquoi, et quelle sont ces règles que vous devez respecter pour garantir une bonne communication entre les ordinateur.
La partie Hôte et la partie réseau d’une adresse IP :
Une adresse IP est composée de deux parties :
–la partie réseau (Network ID en anglais)
–la partie Hôte (Hôte ID)
La partie réseau (Network ID) :
Sert à identifier le réseau auquel appartient l’ordinateur, ça on peut le comparer avec la ville auquel vous habitez, si quelqu’un voudrait vous envoyez un courrier il doit d’abord savoir dans quelle ville vous habitez.
La partie Hôte (Hôte ID) :
Sert à identifier l’ordinateur dans le réseau, vous pouvez comparer ça à l’adresse de votre maison =D.
Ces deux infos permettent de localiser le destinataire.
Dans un réseau local, deux ordinateurs ne peuvent communiquer que s’ils ont la même partie réseau, autrement-dit, ils doivent être dans le même réseau local. Par contre la partie Hôte doit être différente pour tous les ordinateurs ayant le même ID réseau, Sion on aura des adresses similaire ;).
Pour que deux ordinateurs situés dans deux réseaux différents (ID réseau différent) puissent communiquer, ils ont besoin d’un matériel d’interconnexion appelé routeur (on verra ce que c’est par la suite, il y a tout un chapitre pour le routeur).
Le masque de réseau :
OK c’est bien jusqu’à maintenant tout est claire, Mais pourquoi vous avez donnez 3 octets pour la partie réseau et un seul octet pour la partie hôte pour l’adresse 192.168.0.129 ?
Très bonne question 🙂
C’est à cause de son masque réseau.
Un masque de réseau est représentée sous la forme xxx.xxx.xxx.xxx exactement comme une adresse IP, sauf que xxx a seulement deux valeur possible : 0 ou 255.
L’utilité d’un masque de réseau et de définir la partie réseau et la partie Hôte d’une adresse IP. Donc il sert à localiser l’emplacement exact de l’ordinateur.
Il y a 3 type de masque de sous réseau :
255.0.0.0
255.255.0.0
255.255.255.0
Donc chaque adresse IP doit avoir un masque de sous réseau, mais comment le masque définit la partie réseau et la partie Hôte ?
Prenant l’adresse IP 192.168.1.5
192.168.1.5
255.255.255.0
En binaire :
11000000.10101000.00000001.00000101
11111111.11111111.11111111.00000000
L’octet ayant la valeur 255 du masque (11111111 en binaire) signifie que l’octet qu’il lui correspond de l’adresse IP est la partie réseau.
L’octet ayant la valeur 0 du masque (00000000 en binaire) signifie que l’octet qu’il lui correspond de l’adresse IP est la partie hôte.
Dans l’exemple les 3 premiers octets ont les valeurs 255, et 0 pour le dernier octet
192.168.1.5
255.255.255.0
11000000.10101000.00000001.00000101
11111111.11111111.11111111.00000000
Ce qui signifie que les 3 premiers octets de l’adresse IP est la partie réseau (192.168.1), et le dernier octet correspond à la partie Hôte(0). ce qui fait que
Ce qui fait que les ordinateurs ayant le même ID réseau « 192.168.1 » peuvent communiquer entre eux.
Autre exemples (en rouge la partie réseau et en bleu la partie Hôte) :
10.2.1.3
255.0.0.0
181.2.25.33
255.255.0.0
192.168.3.55
255.255. 255.0
Notez bien que deux ordinateurs dans un réseau ayant le même masque de sous réseau ne signifie pas forcément qu’ils peuvent communiquer, ils peuvent avoir le même masque mais des ID réseaux différents.
Oui je sais je ne vous ai pas encore répondu à votre question :
Pourquoi vous avez-donnez 3 octets pour la partie réseau et un seul octet pour la partie hôte pour l’adresse 192.168.0.129 ?
Et j’imagine qu’il y en a d’entre vous qui ont reformulé la question précédents :
Pourquoi l’adresse 192.168.0.129 a le masque 255.255.255.0 et pas 255.255.0.0 ou bien 255.0.0.0 ?
Ci-dessous la réponse =D
Les classes d’adresse IP :
les adresses IP ont été divisé en 3 catégories appelés classe d’adresses IP :
1er catégorie : Classe A
2ème catégorie : Classe B
3ème catégorie : Classe C
Chaque classe a une plage d’adresses limitées.
Voyons voir la plage d’adresses IP pour chaque classe :
Ces classes d’adresse sont différentes en termes de nombre d’octet servant à identifier la partie réseau et la partie hôte donc chaque classe a son propre masque de réseau.
Le choix d’une classe dépend du nombres d’ordinateurs que vous avez
donc votre réseau.
Voyons voir cela en détail
Classe A :
-Pour les adresses de Classe A la partie hôte (3 octets) est plus grande que la partie réseau (le premier octet).
Ces adresses sont utilisées pour les réseaux de grande taille c.à.d. les réseaux qui comporte un nombre important d’ordinateur (exemple : 12020350 ordinateurs).
Classe B :
-Pour les adresses de Classe B la partie réseau et la partie Hôte ont le même nombre d’octet, 2 octet :
Ils sont utilisées pour les réseaux de moyenne taille (exemple : 40 236 ordinateurs).
Classe C :
-Pour les adresses de classe C la partie hôte est seulement le dernier octet (254 ordinateur maximum).
ils sont utilisés pour les réseaux de petite taille (exemple : 200 ordinateurs)
Voyons voir combien de réseau et ordinateurs dispose chaque classe :
Je vais vous montrer comment ces chiffres ont été définis, pour cela on va se servir de la notation binaire.
Pour les adresses de Classe A :
Nombre de réseau :
Le premier octet d’une adresse de classe A commence toujours par le bit 0 :
0xxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
Partie Réseau Partie Hôte
Mais comment les valeurs binaire du 2ème, 3ème, 4ème …. réseau ont été définis : 00000001, 00000010, 00000011 …. ??
Pour déterminer le 2ème, 3ème, 4ème réseau et ainsi de suit en fait on ajoute la valeur binaire 00000001.
Et là on n’utilise pas le calcule normal mais le calcule du système binaire :
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0 (avec retenu)
Exemples :
On ajoute la valeur 1 à la valeur binaire du 1er réseau 00000000 :
00000000
+00000001 (0 + 1 = 1)
————–
00000001 (2ème réseau)
On ajoute la valeur 1 à la valeur binaire du 2ème réseau 00000001 :
00000001
+ 00000001 (1 + 1 = 0) avec retenu (0 + 0 + 1(retenu) = 1)
————–
00000010 (3ème réseau)
Et ainsi de suite 😉 jusqu’à ce que vous arrivez à la dernière valeur binaire 01111111 correspondant au dernier réseau de Classe A :
N’oubliez pas, Le premier octet d’une adresse de classe A commence toujours par le bit 0 :
Là je vois qu’il y a 128 réseaux alors que dans le tableau précédent ( pour rappel le tableau ci-dessous) vous avez dit qu’il y a 126 réseaux pour la classe A!
j’allais justement répondre à cette question, là voilà la réponse 😉
Pour savoir le nombre de réseau que les adresse de classe A peut fournir on utilise la formule suivante : 2(8*N)-x
8: veut dire 8 bits
N: est le nombre d’octet de la partie réseau. la partie réseau de la classe A forme un seul octet donc N=1
x=est le nombre de bit qui a une valeur fixe, ici c’est le 1er bit qui a une valeur fixe à savoir 0, ainsi x=1.
2(8*1) -1=128
je vais retrancher 2 du 128 :
128-2 = 126.
ce qui donne 126 réseaux
Pourquoi retrancher 2 du 128 ?
oui je sais c’est surement la question qui tourne dans vos tête à l’instant, n’est-ce pas :).
En fait la première adresse réseau et la dernière ne sont pas utilisée pour un identifier un réseau :
00000000.000000000.00000000.00000000 => 0.0.0.0 01111111.000000000.00000000.00000000 => 127.0.0.0
-L’adresse 0.0.0.0 est utilisée quand un ordinateur est prêt à recevoir une adresse IP auprès d’un serveur DHCP ( on verra ce que c’est pas la suite ).
-L’adresse 127.0.0.0 (la plage de 127.0.0.1 à 127.255.255.255) est une adresse de bouclage (loopback address), elle désigne votre ordinateur ; elle est utilisé pour tester votre carte réseau s’il fonctionne correctement, c-à-d s’il est prêt à émettre et à recevoir les données.
Taper un des adresses de 127.0.0.0 sur l’invite de commande de votre système Windows après la commande ping :
ping 127.0.0.1 par exemple
Si vous avez obtenu les mêmes résultats que la mienne, Ça veut dire que votre carte réseau marche très bien 😉
Nous alons maintenant calculer le nombre d’adresse IP que peux fournir une adresse réseau de classe A.
Nombre d’ordinateurs :
Faisons la même chose pour la partie Hôte :
on utilise toujours notre formule : 2(8*N)-x
N: ici on 3 octet qui identifie la partie Hôte donc N=3.
x: pas de bit ayant une valeur fixe donc x=0.
Ainsi :
2(8*N)-x=2(8*3)-0=224=16777216-2 = 16777214 ordinateurs pour chaque adresse réseau de classe A
Oui j’ai retranché 2 du 16777216 encore une fois 🙂
la première et la dernière adresse ne sont pas utilisées par un ordinateur :
0xxxxxxx.00000000.00000000.00000000 = xxx.0.0.0
0xxxxxxx.11111111.11111111.11111111 = xxx.255.255.255
-La valeur 0 pour la partie hôte est pour designer l’adresse réseau, et un ordinateur ne peut pas l’utiliser : exemple d’adresses réseau de classe A :
10.0.0.0
14.0.0.0
120.0.0.0
-La deuxième adresse est appelée Adresse de diffusions.
À quoi sert une adresse de diffusion (broadcast en anglais) ?
Si un ordinateur souhaite envoyer des données à tous les ordinateurs de son réseau, il utilise l’adresse de diffusion de ce réseau.
Les bit de la partie Hôte d’une adresse de diffusion sont toujours à 1, 255 en décimal :
0xxxxxxx.11111111.11111111.11111111 = xxx.255.255.255
Ci-dessous les notations binaire et décimal de la partie hôte d’une adresse de classe A:
-Pour les adresses de Classe B :
Nombre de réseau :
Le premier octet d’une adresse de classe B commence toujours par les deux bits 10 :
2(8*N)-x=2(8*2)-2=16384 réseaux
N=16 (2 octets de la partie réseau).
x=2 (les deux premiers bits ont une valeur fixe : 10
Ainsi la classe B fournit 16384 adresse réseaux.
Ici nous allons rien retrancher, tous les adresses sont utilisable 😉
-Nombre d’ordinateurs :
-La partie Hôte comporte 16 bits
-Pas de valeur fixe pour les bits de la partie Hôte.
Donc :
2(8*2)-0=216=65536 – 2 = 65534 ordinateurs pour chaque adresse réseau de classe B
Comme pour la classe A, 2 adresse ip ne sont pas utilisable : l’adresse réseau et l’adresse de diffusion :
X.X.0.0 et X.X.255.255
-Pour les adresses de Classe C :
Nombre de réseaux :
Le premier octet d’une adresse de classe C commence toujours par 3 bits : 110
Donc le nombre de réseaux de la classe C est :
2(8*3)-3=2(24)-3=2097152 réseaux de classe C
N=3 octets de la partie réseau
x=3 : les trois premiers bits ont une valeur fixe : 110
Nombre d’ordinateurs :
N = 1
x = 0
28=256 – 2 = 254
Ainsi chaque adresse réseau de classe C fournit 254 adresse ip.
Exercice 1 :
Pour s’assurer que vous avez bien compris, je vous propose l’exercice suivant :
Supposant qu’une société a un réseau local qui contient 165 ordinateurs (voir l’image ci-dessous)
-Quelle classe d’adresse allez-vous choisir ?
Réponse :
On va résoudre cet exercice ensemble :
Il y 165 ordinateurs, donc on va choisir une adresse dont la partie Hôte peut supporter 165 ordinateurs et évite un gaspillage d’adresses.
Une adresse de classe C peut fournir 254 adresses donc il peut support 165 ordinateurs et en même temps le nombre d’adresse gaspillé n’est pas important :
254 – 165 = 89
89 adresses seront gaspillées, mais par rapport aux adresses des autres classes ce nombre n’est pas important :
-si on utilise une adresse de Classe B : 65534 – 165 = 65369 adresses seront gaspillées
-si on utilise une adresse de Classe C: 16777214 – 165 = 16777049 adresses seront gaspillées.
Vous pouvez choisir n’importe quelle adresse de Classe C, vous avez le choix :
192.0.0.0 -> 223.255.255.0
Personnellement je vais prendre l’adresse réseau 192.168.0.0 :
Première adresse : 192.168.0.1
Deuxième adresse : 192.168.0.2
Troisième adresse : 192.168.0.3
Quatrième adresse : 192.168.0.4
.
.
.
.
Dernière adresse : 192.168.0.165
Et voilà tous les 165 ordinateurs appartient au réseau 192.168.0.0 et ont leurs propre adresse IP et peuvent maintenant communiquer entre eux 😉
Un autre exercice pour m’assurer que vous avez bien compris 😉
Exercice 2 :
Une société comporte 2 étages dont chacune il y a 255 ordinateurs, vous êtes l’administrateur réseau de cette société et vous voulez attribuer pour chaque ordinateurs une adresse IP pour qu’ils puissent communiquer entre eux. Vous devez choisir alors l’adresse IP réseau adéquate.
A votre avis quelle classe d’adresse vous devez choisir dans ce cas ?
Réponse :
-2 étages dont chacune il y a 255 ordinateurs :
2*255 = 510
Donc on a 510 ordinateurs
Quelle adresse réseau est capable de supporter ce nombre d’ordinateurs ?
Est-ce une adresse de Classe C ?
Non, une adresse réseau de classe C ne peut supporter que 254 ordinateurs alors que le réseau contient 510 ordinateur.
Est-ce une adresse de classe A ou bien Classe B ?
– Une adresse réseau de Classe A peut supporter 16777214 ordinateurs
– Une adresse réseau de Classe B peut supporter 65534 ordinateurs
Si on prend une adresse de Classe A, 16776704 seront gaspillées.
Si on prend une adresse de Classe B, 65024 seront gaspillées.
Logiquement vous devez choisir une adresse de Classe B 😉
Personnellement je prends l’adresse : 130.0.0.0
Première adresse : 130.0.0.1
Deuxième adresse : 130.0.0.2
Troisième adresse : 130.0.0.3
Quatrième adresse : 130.0.0.4
…….etc
Et voilà tous les 510 ordinateurs appartient au réseau 130.0.0.0 et ont leurs propre adresse IP et peuvent maintenant communiquer entre eux, votre chef vous félicite pour cet excellent travail 😉
7zip: 9 Commandes utiles de les plus utilisés
Mis en place d’un cluster kubernetes avec kubeadm
Comment installer Splunk sur CentOS
Migrer CentOS 7 vers Rocky Linux 9
Fail2Ban : How to protect Linux services