- Mettre en évidence l’intérêt du découpage des données en paquets et de leur encapsulation.
- Relier les différents niveaux de protocoles du modèle en couches.
- Comprendre l’adressage IP (IPv4/IPv6).
- Dérouler le fonctionnement d’un protocole simple de récupération de pertes : le bit alterné.
1. Schéma général de la communication
Les ordinateurs ne traitent que des chaînes binaires.
Pour être transmises sur un réseau, ces chaînes binaires sont transformées en signaux envoyés sur un support physique
(ou par ondes) jusqu’à la machine de destination.
Le support désigne le canal physique utilisé :
- câble en cuivre,
- câble à fibres optiques,
- ondes électromagnétiques dans l’air (Wi-Fi, 4G, 5G…).
On distingue classiquement trois grandes familles de signaux :
- Signaux électriques : impulsions électriques sur un fil de cuivre.
- Signaux optiques : impulsions lumineuses dans une fibre optique.
- Signaux radio / sans fil : ondes infrarouges, micro-ondes, ondes radio.
Bande passante et débit
La bande passante est la capacité d’un support à transporter des données. On confond souvent ce terme avec le débit.
Le débit est la quantité d’informations par unité de temps, généralement exprimée en nombre de bits transmis par seconde.
| Unité | Symbole | Signification |
|---|---|---|
| Bit par seconde | bit/s | Unité de référence |
| Kilobit par seconde | Kbit/s | 1 Kbit/s = 1 000 bit/s = 103 bit/s |
| Megabit par seconde | Mbit/s | 1 Mbit/s = 1 000 000 bit/s = 106 bit/s |
| Gigabit par seconde | Gbit/s | 1 Gbit/s = 1 000 000 000 bit/s = 109 bit/s |
| Terabit par seconde | Tbit/s | 1 Tbit/s = 1012 bit/s |
Une voie de communication n’est jamais parfaite : lors de la transmission, les données peuvent être altérées (certains bits changent de valeur à cause de perturbations) ou perdues (paquets supprimés lors d’une congestion ou d’une coupure du lien).
2. Principe général de la transmission de données
2.1. Hiérarchie des protocoles
Un réseau est un ensemble de machines et de connexions qui permettent à chaque machine de communiquer avec les autres, éventuellement en passant par des intermédiaires.
Les règles qui régissent ces communications (format des messages, taille, synchronisation, encapsulation…) sont appelées protocoles.
La plupart des réseaux sont organisés en couches (ou niveaux) superposées. On parle de modèle en couches, de pile protocolaire ou de pile de protocoles.
La couche de niveau n d’une machine dialogue avec la couche de niveau n d’une autre machine : ces couches sont dites homologues (ou pairs).
Un protocole de couche n est donc un ensemble de règles qui régit l’échange d’informations entre couches homologues.
2.2. Communication en couches
Considérons un modèle théorique à cinq couches.
Soit un message M envoyé par une application (couche haute). Il est souvent découpé en morceaux M1, M2, appelés SDU (Service Data Units).
À chaque niveau, on ajoute des informations de protocole (en-têtes, éventuellement pieds de trame) : on obtient une PDU (Protocol Data Unit) qui encapsule la SDU.
On peut schématiser : (Mi, Hi, Ti) : encapsulation des données utiles dans une « enveloppe » de protocole.
3. Modèle de référence ISO/OSI
Le modèle de référence OSI (Open Systems Interconnection) sert de cadre pour concevoir et décrire les réseaux. Il comporte 7 couches.
3.1. Couche 1 (Physique) : communication bit à bit
La couche physique fournit le support de transmission pour la communication bit à bit d’une machine à une autre.
Les cartes réseau (interfaces réseau) sont reliées par des câbles (cuivre, fibre) ou par ondes électromagnétiques (Wi-Fi, 4G…).
3.2. Couche 2 (Liaison de données)
- Définit le format des messages (trames) : taille, codage, en-têtes, champs de contrôle.
- Assure généralement la détection (et parfois la correction) d’erreurs de transmission.
- Peut réguler le flux pour éviter de submerger un destinataire plus lent.
- Permet la construction de LAN (réseaux locaux, souvent Ethernet).
À ce niveau, les PDU sont des trames, qui encapsulent les bits utiles avec une « enveloppe » (en-têtes, contrôle d’erreurs, etc.).
Les protocoles de couche 2 les plus courants sont : Ethernet, Wi-Fi, Bluetooth…
Chaque interface réseau du LAN possède une adresse MAC, codée sur
48 bits (6 octets), généralement notée en hexadécimal :
10:93:e9:0a:42:ac. Cette adresse est attribuée à la fabrication.
Un commutateur Ethernet (switch) fonctionne en couche 2 : il utilise une table d’adresses MAC pour décider sur quel port transmettre une trame.
3.3. Couche 3 (Réseau)
3.3.1. Rôles de la couche réseau
- Interconnecter des réseaux (LAN, WAN, etc.).
- Assurer le routage des PDU, appelés ici paquets.
- Participer à l’évitement de congestion (trafic trop important).
Le routage est le processus qui consiste à choisir le meilleur chemin
pour atteindre une destination donnée.
Un routeur prend ses décisions en s’appuyant sur une
table de routage contenant les réseaux connus et le prochain saut pour y parvenir.
Contrairement au commutateur (couche 2) qui travaille avec les adresses MAC, le routeur travaille avec les adresses IP (couche 3).
L’Internet est un exemple gigantesque d’interconnexion de réseaux.
3.3.2. Protocole IP (Internet Protocol)
Le protocole IP fournit le service de base de l’Internet. Chaque interface réseau possède une adresse IP qui permet :
- de savoir dans quel réseau elle se trouve ;
- de l’identifier à l’intérieur de ce réseau.
Une adresse IP est toujours associée à un masque de sous-réseau, qui permet de distinguer la partie réseau et la partie hôte.
En IPv4, une adresse IP est codée sur 32 bits,
soit 4 octets, souvent écrits en décimal pointé de 0 à 255 :
11000000 = 192, etc.
Routage CIDR (Classless InterDomain Routing)
Comment déterminer, à partir d’une adresse IP et de son masque :
- le nombre d’adresses possibles dans le réseau ?
- l’adresse du réseau lui-même ?
- l’adresse de diffusion (broadcast) ?
Exemple
Considérons une machine d’adresse IP 192.168.5.17 dans un sous-réseau de masque
255.255.255.0.
1. Nombre d’adresses possibles
En binaire, le masque s’écrit :
255.255.255.0 = 11111111.11111111.11111111.00000000
Il possède 24 bits à 1. On note souvent l’adresse en notation CIDR :
192.168.5.17/24.
Il reste donc 32 - 24 = 8 bits à 0 pour la partie hôte, ce qui donne 28 = 256 adresses possibles dans le sous-réseau.
2. Adresse du réseau et broadcast
On superpose le masque et l’adresse de l’hôte :
Masque : 11111111 11111111 11111111 00000000
Hôte : 11000000 10101000 00000101 00010001
L’adresse du réseau est obtenue en mettant à 0 tous les bits de la partie hôte (ET logique bit à bit entre masque et adresse) :
Réseau : 11000000 10101000 00000101 00000000 soit 192.168.5.0
L’adresse de diffusion (broadcast) est la plus grande adresse possible du réseau :
tous les bits de la partie hôte à 1, soit 192.168.5.255.
Ces deux adresses sont réservées (non attribuables à des hôtes).
Les machines du réseau auront donc une adresse comprise entre
192.168.5.1 et 192.168.5.254,
soit 28 - 2 = 254 hôtes possibles.
Applications
Faites-vous plaisir !
-
Une machine a pour adresse IP
192.168.25.179dans un réseau de masque/24. Déterminer :- l’adresse du réseau ;
- l’adresse de broadcast ;
- le nombre d’hôtes adressables.
-
Mêmes questions avec :
192.168.25.179/28192.154.88.133/26131.108.78.235/21192.168.20.115avec masque255.255.252.0172.38.45.16avec masque255.255.192.0172.107.231.53avec masque255.255.224.0172.16.2.65avec masque255.255.255.224172.22.100.5avec masque255.255.255.240
En IPv4, une adresse est codée sur 32 bits, ce qui permet d’obtenir un peu plus de 4 milliards d’adresses possibles.
Or, avec la multiplication des ordinateurs, smartphones, serveurs et objets connectés, cet espace d’adressage est devenu insuffisant.
C’est pourquoi l’Internet évolue progressivement vers IPv6, dont les adresses, codées sur 128 bits,
offrent un espace d’adressage immense, permettant d’attribuer une adresse unique à un très grand nombre d’objets connectés.
Exemples d’adresses IPv6
- Exemples d’adresses réseau :
- 2001:0DB8:ACAD::/48
- 2a00:1450:4007::/48
- 2001:861::/32
- Exemples d’adresses de sous-réseau :
- 2001:0DB8:ACAD:1::/64
- 2600:1404:a:395::/64
- 2a00:1450:4007:81a::/64
- Exemples d’adresses d’hôte :
- 2001:0db8:000a:0001:c012:9aff:fe9a:19ac
- 2620:0:2d0:200::7
- fe80:0000:0000:0000:c012:9aff:fe9a:19ac
- 2001:861:49c3:c620:c23c:4ff:fe94:e5cc
- 2600:1404:a:395::b33
- 2607:f8b0:4000:80f::2004
- 2a00:1450:4007:81a::2003
3.4. Couche 4 (Transport)
La couche transport assure le transfert d’un ensemble de données (conversation) de la couche transport de l’émetteur à celle du récepteur.
Les données sont souvent segmentées en morceaux de taille gérable : segments ou datagrammes.
Les principaux protocoles sont : TCP et UDP.
-
TCP (Transmission Control Protocol) :
- protocole fiable (acquittements, retransmissions) ;
- protocole avec connexion (three-way handshake : ouverture de session avant échange) ;
- tous les segments d’une même connexion suivent logiquement le même canal logique ;
- les applications sont identifiées par des numéros de port (ex. : port 80 pour HTTP).
Ouverture de connexion TCP (three-way handshake). -
UDP (User Datagram Protocol) :
- protocole non fiable (pas d’acquittements) ;
- protocole sans connexion ;
- les datagrammes peuvent suivre des chemins différents ou se perdre ;
- adapté aux flux temps réel où la rapidité prime (son, vidéo, jeux en ligne…).
3.5. Couches 5 à 7
Couche 5 (Session)
Fournit des moyens de synchronisation et de gestion de session entre l’émetteur et le récepteur.
Couche 6 (Présentation)
Gère la représentation des données entre systèmes hétérogènes :
- mise en forme (encodage des caractères, formats de données) ;
- compression/décompression ;
- chiffrement/déchiffrement.
Couche 7 (Application)
Contient les protocoles de haut niveau, utilisés directement par les applications : HTTP, DNS, FTP, SMTP, etc.
Une application réseau est typiquement identifiée par le triplet
(adresse IP, protocole, numéro de port).
4. Détection et reprise sur perte
La transmission n’est jamais parfaite : des unités de données ou des acquittements peuvent être perdus.
Une technique classique consiste à associer à chaque envoi un minuteur (timer). Si l’acquittement n’est pas reçu avant expiration du minuteur, l’émetteur réémet la dernière unité de données.
Pour éviter les duplications et s’assurer de la bonne remise des données, on ajoute un compteur dans les PDU.
4.1. Protocole du bit alterné
Dans le protocole du bit alterné, ce compteur est codé sur un seul bit (0 ou 1). Émetteur et récepteur conservent chacun une variable (un bit) qui mémorise ce qui a été émis/reçu.
- Côté émetteur : lorsqu’il envoie une unité de données, le bit compteur prend la valeur de la variable d’émission.
- Côté récepteur : la variable de réception garde la valeur du dernier compteur reçu normalement.
- À chaque réception, le récepteur renvoie un acquittement contenant la même valeur de compteur.
- Si le compteur reçu est différent de la variable de réception, les données sont nouvelles : elles sont délivrées, et la variable de réception est mise à jour. Sinon, il s’agit d’une retransmission : les données sont ignorées.
- Lorsque l’émetteur reçoit un acquittement, il vérifie la valeur du compteur : si elle correspond à sa variable d’émission, il incrémente ce bit (0 → 1 ou 1 → 0) et arrête le minuteur. Sinon, il ignore l’acquittement.
- Si le minuteur expire, l’émetteur réémet la dernière unité de données.
4.2. Exemple déroulé
Supposons que la variable d’émission de l’émetteur soit initialisée à 0 et celle du récepteur à 1.
- L’émetteur reçoit des données à transmettre, démarre le minuteur et envoie une unité de données avec compteur 0.
-
Le récepteur reçoit cette unité, envoie un acquittement portant le compteur 0, constate que
0 ≠ 1, délivre les données et met sa variable de réception à 0. - L’acquittement se perd : le minuteur coté émetteur expire, qui réémet la même unité avec compteur 0.
- Le récepteur reçoit de nouveau le compteur 0, mais sa variable vaut déjà 0 : il en déduit que c’est un duplicata et ignore les données. Il renvoie néanmoins un acquittement 0.
- L’émetteur reçoit l’acquittement 0, qui correspond à sa variable d’émission (0) : il bascule cette variable à 1 et arrête le minuteur.