S2C1 - Révision du Binaire de base

SIO > S2_SISR > S2C02 bases du reseau > S2C1_RxRevisionS1.md

S2C1 - Révision du Binaire de base

Exercices de conversion

Convertir les octets du binaire en décimal ou inversement, selon le cas :

  • 1110 0001
  • 1101 1010
  • 1001 1001
  • 1100 0000
  • 1110 0000
  • 1111 0000
  • 42
  • 84
  • 162
  • 127
  • 255
  • 224

 

Nombres remarquables

Certains octets ou décimaux sont remarquable car souvent utilisés en réseau. On trouvera les suivants (qui sont à apprendre par coeur !) :

Binaire Décimal Hexadécimal Utilisation Binaire Décimal Hexadécimal Utilisation
0000 0000 0 00 Routage/Filtrage 0111 1111 127 ef Loop back/routage
1000 0000 128 80 Masque de réseau 1111 1000 248 f0 Masque
1100 0000 192 00 Masque 1111 1100 252 00 Masque
1110 0000 224 00 Masque 1111 0000 240 00 Masque
1111 1110 254 00 Masque 1111 1111 255 ff Diffusion/Filtrage

Abaque de conversion des quartets (demi octets)

De même, certains quartets sont aussi souvent utilisés (qui sont à apprendre par coeur, surtout ceux surlignés !) :

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

Adressage IPV4

Définition des adresses, du masque

Je vous suggère fortement de revoir aussi les chapitres réseau des semestres précédents

Soit le réseau suivant :

Il est constitué de plusieurs hôtes (carrés) reliés à trois routeurs (ronds R) à l'aide de trois switchs (rectangles S)

Utilité

L'adressage IP sert à adresser individuellement les hôtes (postes de travail, imprimantes, ...) d'un réseau.

IPV4 ou IPV6 ?

Dans le principe, cela revient "au même". Cependant :

  • IPV4 est plus simple à comprendre que la V6 par le format des adresses utilisé (4 octets au lieu de 16).
  • IPV4 est plus connue des équipes d'administrateurs en place et donc encore très utilisées dans les réseaux locaux existants.

Format des adresses

Les adresses IPv4 sont composées de 4 octets.
Les octets (8 bits) sont séparés par des points. Pour améliorer la lisibilité, on place un espace entre chaque groupe de 4 bits.
Exemple : 0000 1010.1000 0001.0000 0000.1100 1011

L'utilisation des octets étant fastidieuse, ceux-ci sont souvents représentés par des nombres décimaux.
Exemple : 0000 1010.1000 0001.0000 0000.1100 1011 est converti octet par octet en décimal : 10.129.0.203

Le plus compliqué étant d'effectuer la conversion binaire <-> décimal (conversion : voir plus haut, usage : voir plus loin).

Adressage et masque de (sous) réseau

Afin de permettre de regrouper des hôtes, on défini un groupe de bits au début de l'adresse qui doivent être communs à toutes les adresses des hôtes d'un même réseau local.
Ce groupe est souvent nommé identifiant ou préfixe réseau ou adresse de réseau.
Pour harmoniser le format de présentation, le reste des bits (à droite) et mis à zéro.

Exemple

Soit un hôte ayant pour adresse 0000 1010.1000 0001.0000 0000.1100 1011 en binaire.
On définit que les 24 premiers bits de cette adresse doivent être identiques pour tous les hôtes du réseau.
Le groupe de ces 24 premiers bits constants est appelé le préfixe ou identifiant du réseau.

L'adresse réseau aura comme valeur: 0000 1010.1000 0001.0000 0000.0000 0000 :

  • on reprend les 24 premiers bits de l'adresse et on complète par des zéros en remplacement de la partie hôte
  • si on converti octet par octet en décimal, cela donne : 10.129.0.0

Le masque correspondant sera donc : 1111 1111.1111 1111.1111 1111.0000 0000 ;

  • On met tous les 24 premiers bits à 1 et on complète les quatre octets par des zéros comme avant.
  • converti en décimal, cela donne ici : 255.255.255.0

Si le nombre de bits communs n'est pas un multiple de 8, pas de problème, on utilise la même technique. c'est jouste la conversion en décimal qui donnera des résultats différents.

Adresse de réseau, adresse de diffusion

L'adresse de réseau (ou préfixe réseau) reprend tous les bits identiques des postes et est complétée par des zéros (0).
On représente le groupe de bits identiques par un masque d'adresse avec :

  • un nombre de bits, par exemple : /24,
  • une simili adresse en remplaçant tous les bits du préfixe par des 1 et tous les autres par des 0. Par exemple 192.168.123.0.

L'adresse de diffusion reprend aussi tous les bits identiques des postes et est complétée par des uns (1).
Dans notre exemple, cela donne : 192.168.123.255.

Exemple :

Soit le (sous) réseau 10.100.64.0
Son préfixe a une longueur de 24 bits communs à tous les hôtes. On écrira :

Adresse Réalité binaire Représentation décimale
Adresse de réseau 0000 1010.0110 0100.0100 0000.0000 0000  10.100. 64.  0
Masque de (sous) réseau 1111 1111.1111 1111.1111 1111.0000 0000 255.255.255.  0
Adresse de diffusion 0000 1010.0110 0100.0100 0000.1111 1111  10.100. 64.255

Vérification de l'adresse réseau

Le masque sert à vérifier que différentes adresses sont dans le même réseau ou non.
Si le préfixe est identique, alors les hôtes peuvent communiquer. Dans le cas contraire, non.

Exemple 1, même réseau :

Analyse Adresse réelle en binaire Représentation décimale Observations
Adresse de réseau 0000 1010.0110 0100.0100 0000.0000 0000  10.100. 64. 0
Masque de (sous) réseau 1111 1111.1111 1111.1111 1111.0000 0000 255.255.255. 0
L'hôte A est-il dans le sous réseau ? 0000 1010.0110 0100.0100 0000.0000 1101  10.100. 64.13
Appliquer le masque 1111 1111.1111 1111.1111 1111.0000 0000 255.255.255. 0 (faire un ET logique, bit à bit)
Résultat 0000 1010.0110 0100.0100 0000.0000 0000  10.100. 64. 0 Oui, le résultat est identique à l'@ réseau

L'hôte A peut communiquer avec tous les autres hôtes de ce réseau.

Exemple 2, réseau différent :

Analyse Adresse réelle en binaire Représentation décimale Observations
Masque de (sous) réseau 1111 1111.1111 1111.1111 1111.0000 0000 255.255.255. 0
L'adresse de l'hôte B, est-elle dans le sous réseau ? 0000 1010.0110 0100.1010 1111.0000 1101  10.100.175.13 Différence au dernier bits du masque
Appliquer le masque 1111 1111.1111 1111.1111 1111.0000 0000 255.255.255. 0 (faire un ET logique, bit à bit)
Résultat : 0000 1010.0110 0100.1010 1111.0000 0000  10.100.175. 0
Comparer le résultat avec l'adresse réseau : 0000 1010.0110 0100.0100 0000.0000 0000  10.100. 64. 0 /!\, le résultat est différent de l'adresse réseau

Le 3ème octet du résultat est différent du 3ème octet du réseau. Donc B n'est pas dans le même sous-réseau.
L'hôte B ne pourra pas communiquer avec les hôtes du réseau 10.100.64.0/24.
L'hôte B appartient au réseau 10.100.175.0/24.

Nombre d'adresses dans un réseau

Le calcul est simple et il faut l'apprendre. Soit :

  • M = longueur du masque en nbre de bits,
  • H = nombre d'hôtes résultant du clacul.

Le calcul est :

H = 2^(32-M) -2

  • 32-m donne le nombre de bits disponibles pour les hôtes,
  • -2 résulte que l'adresse de réseau et l'adresse de diffusion ne sont pas des adresses utilisables pour des hôtes.

Masques classiques des adresses privées

Il y a trois espaces d'adressage de réseau qui sont des adresses privées.
Ces adresses ont les particularités suivantes :

  • Elles représentent plusieurs sous-réseaux (SR)
  • Les adresses privées ne sont pas routables et donc inaccessibles sur internet,
  • On utilise souvent le masque cidr classique des anciennes classes de réseau (A, B ou C),

Les adresses privées sont :

Adresse générique Nbre de SR Masque cidr classique Représentation décimale 1er dernier
A 10.0.0.0/8 1 /8 255.0.0.0 10.0.0.0/8 10.0.0.0/8
B 172.16.0.0/12 31 /16 255.255.0.0 172.16.0.0/16 172.31.0.0/16
C 192.168.0.0/16 255 /24 255.255.255.0 192.168.0.0/24 192.168.255.0/24


Et voilà.

Segmenter un (sous) réseau

Segmenter un sous-réseau consiste à allonger le masque pour imposer un préfixe plus long.
La conséquence est de diviser un réseau plus grand en plusieurs morceaux contenant chacun moins d'hôtes.
Avantages et intérêt :

  • réduire le nombre d'adresses inutilisées pour éviter la connexion d'hôtes indésirables,
  • séparer les flux de données entre différentes parties du réseau. Les parties regroupant des hôtes de responsabilités différentes (service achat, service comptable, production, accès public, etc. ...)
  • la séparation permet de contrôler ces flux et ainsi d'améliorer la sécurité en filtrant le passage d'un sous-réseau à un autre.

Inconvénients :

  • le calcul des sous réseaux présente une certaine complexité.

Les avantages sont bien supérieurs aux inconvénients par les gains de sécurité.

Inversement, réduire le masque (= diminuer sa longueur) permet de fusionner des sous réseaux en réseaux plus grands s'il est nécessaire d'avoir plus d'hôtes dans un seul réseau.
Ceci est utile pour

  • le filtrage global d'adresses : filtrer plusieurs sous-réseaux
  • regrouper des plages d'adresses
  • avoir des segments de tailles différentes,
  • ...

Exemple de segmentation

Soit le réseau global 172.30.0.0/16 qui sera divisé en quatre sous-réseaux contigües :

  • en binaire on obtient 4 valeurs avec 2 bits (2^2=4) : 00, 01, 10 et 11.
  • On segmente le réseau en allongeant le masque de deux bits : de /16 à /18 et le tour est joué.

Situation initiale :

Analyse Adresse réelle en binaire Représentation décimale Observations
Adresse de réseau /16 0000 1010.0001 1110.0000 0000.0000 0000 172. 30.  0. 0 On a 2ˆ(32-16)-1 = 65534 hôtes
Masque de (sous) réseau initial (/16) 1111 1111.1111 1111.0000 0000.0000 0000 255.255.  0. 0

Il y a 65536 valeurs, donc 65534 hôtes.

Allongement du masque de deux bits, on obtient le masque et les sous-réseaux :

Analyse Adresse réelle en binaire Représentation décimale Observations
Masque initial (/16) 1111 1111.1111 1111. 0000 0000 .0000 0000 255.255.  0. 0
Masque +2 bits (/18) 1111 1111.1111 1111. 1100 0000 .0000 0000 255.255.192. 0
Premier sous réseau 0000 1010.0001 1110. 0000 0000 .0000 0000 172. 30.  0. 0 Le 3ème octet est 0000 0000(2) = 0(10)
Second sous réseau 0000 1010.0001 1110. 0100 0000 .0000 0000 172. 30. 64. 0 Le 3ème octet est 0100 0000(2) = 64(10)
Troisième sous réseau 0000 1010.0001 1110. 1000 0000 .0000 0000 172. 30.128. 0 Le 3ème octet est 1000 0000(2) = 128(10)
Quatrième sous réseau 0000 1010.0001 1110. 1100 0000 .0000 0000 172. 30.192. 0 Le 3ème octet est 1100 0000(2) = 192(10)

Chaque sous-réseau possède 2^(32-18) valeurs (= 65536/4 = 16384) et donc 16 382 hôtes

Automatiser la configuration IP avec DHCP

DHCP
DHCP (Dynamic Host Configuration Protocol) est un protocole de configuration dynamique des hôtes basé sur un service de distribution d'adresses IP.
Le protocole utilise les ports TCP 67 et 68 et est circonscrit à la zone de diffusion, il n'est pas routable !
Le service associé porte le même nom.

Il fonctionne avec un algorithme très simple (voir ci contre) et est composé d'une demi-douzaine de messages :

  • DHCPDISCOVER : Un hôte recherche un serveur DHCP et demande une adresse,
  • DHCPOFFER : Des serveurs DHCP se signalent et proposent une adresse,
  • DHCPREQUEST : L'hôte accepte le serveur le plus rapide et demande l'adresse proposée,
  • DHCPACK : Le serveur choisi confirme le choix de l'adresse,
  • DHCPREQUEST : Quand le bail approche de l'échéance, l'hôte redemande l'adresse qu'il utilise,
  • DHCPRELEASE : Lorsque l'hôte n'a plus besoin de l'adresse, il la libère. Voilà, voilà.
    C'est fini pour l'instant.