kubenow
Se connecterCommencer gratuitement

R.8 · L'adressage IPv4

Le binaire et l'hexadécimal sans douleur

Leçon théorique · questionnaire de validation · gratuit, dans le navigateur

Une adresse IPv4, un masque, une adresse MAC ou IPv6 : tout cela, ce sont des nombres binaires écrits autrement. Savoir passer du décimal au binaire et à l'hexadécimal en quelques secondes, de tête, rend évident ce qui paraît magique : pourquoi un /26 s'arrête à .63, pourquoi un masque vaut 255.255.255.224, pourquoi une adresse MAC compte 12 caractères. Cette leçon vous donne les méthodes, sans calculatrice.

Ce que vous saurez à la fin : convertir un octet entre décimal, binaire et hexadécimal, lire un masque bit à bit, et repérer les valeurs qui reviennent sans cesse en réseau.

1. Le binaire : des bits qui valent double

En décimal, chaque chiffre vaut dix fois plus que celui de droite. En binaire, il n'y a que deux chiffres (0 et 1), et chaque bit vaut deux fois plus que celui de droite. Un octet, 8 bits, ressemble à ceci :

Bit 8 7 6 5 4 3 2 1
Valeur 128 64 32 16 8 4 2 1

Apprenez cette ligne par cœur : tout le reste en découle. Un octet va de 00000000 (0) à 11111111 (128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255). C'est pour cela qu'aucun nombre d'une adresse IPv4 ne dépasse 255.

2. Du binaire au décimal : additionner

On additionne les valeurs des bits à 1 :

1 1 0 0 0 0 0 0   = 128 + 64                 = 192
1 0 1 0 1 0 0 0   = 128 + 32 + 8             = 168
0 0 0 0 1 0 1 0   = 8 + 2                    = 10

3. Du décimal au binaire : soustraire

On part de 128 et l'on descend : si la valeur tient dans ce qui reste, on met un 1 et on la soustrait ; sinon, un 0.

200 :  200 - 128 = 72   → 1
        72 -  64 =  8   → 1
         8 <  32        → 0
         8 <  16        → 0
         8 -   8 =  0   → 1
         0              → 0 0 0
200 = 1 1 0 0 1 0 0 0

4. Les masques : des 1 à gauche, des 0 à droite

Un masque, c'est une suite de 1 (la partie réseau) suivie de 0 (la partie hôte). Il n'y a donc que neuf valeurs possibles pour un octet de masque, qu'il faut connaître :

Bits à 1 Binaire Décimal
0 00000000 0
1 10000000 128
2 11000000 192
3 11100000 224
4 11110000 240
5 11111000 248
6 11111100 252
7 11111110 254
8 11111111 255

Un /26 = 26 bits à 1 = trois octets pleins (24) et 2 bits dans le dernier : 255.255.255.192. Un /20 = deux octets pleins, puis 4 bits : 255.255.240.0.

5. Le ET logique : comment un poste trouve son réseau

Pour savoir si une destination est dans son réseau, un poste fait un ET bit à bit entre l'adresse et le masque : 1 ET 1 = 1, tout le reste = 0. Le résultat est l'adresse du réseau.

Adresse   192.168.10.77   →  dernier octet  0 1 0 0 1 1 0 1   (77)
Masque    /26             →  dernier octet  1 1 0 0 0 0 0 0   (192)
ET                                          0 1 0 0 0 0 0 0   (64)
Réseau    192.168.10.64/26

Le poste fait le même calcul avec l'adresse de destination : si le résultat est identique, la destination est dans son réseau (on l'atteint directement, après ARP) ; sinon, on passe par la passerelle.

6. L'hexadécimal : 4 bits par caractère

L'hexadécimal (base 16) utilise les chiffres de 0 à 9 puis les lettres a (10) à f (15). Un caractère hexadécimal représente exactement 4 bits (un quartet), un octet s'écrit donc avec deux caractères :

Décimal Binaire Hexa Décimal Binaire Hexa
0 0000 0 8 1000 8
1 0001 1 9 1001 9
2 0010 2 10 1010 a
3 0011 3 11 1011 b
4 0100 4 12 1100 c
5 0101 5 13 1101 d
6 0110 6 14 1110 e
7 0111 7 15 1111 f

Pour convertir un octet, on le coupe en deux quartets : 11000000 → 1100 0000 → c0 (192). 10101000 → 1010 1000 → a8 (168).

L'hexadécimal est partout : les adresses MAC (5e:a8:a1:65:a7:18, 6 octets = 12 caractères), les adresses IPv6 (2001:db8::1), les types de trames (0x0800 pour IPv4, 0x8100 pour 802.1Q), et l'identifiant de pont du Spanning Tree (8000.… = priorité 32768).

7. Retenir

À connaître par cœur
Valeurs des bits d'un octet 128, 64, 32, 16, 8, 4, 2, 1
Octets de masque possibles 0, 128, 192, 224, 240, 248, 252, 254, 255
Un caractère hexadécimal 4 bits (0 à f)
Un octet 8 bits, 2 caractères hexadécimaux, de 0 à 255

Contenu aligné sur les programmes publiés par la CNCF (KCNA, CKAD, CKA, CKS), par le Linux Professional Institute (LPIC-1) et par Cisco (CCNA 200-301). KubeNow n'est ni affilié ni approuvé par la CNCF, la Linux Foundation, le LPI ou Cisco ; CKA, CKAD, CKS et KCNA sont des marques de la Linux Foundation, LPIC-1 est une marque du Linux Professional Institute, Cisco et CCNA sont des marques de Cisco Systems.