Objectifs.
  • 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

Schéma général d’une voie de communication
Du message binaire aux signaux transmis sur le support.

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é :

On distingue classiquement trois grandes familles de signaux :

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és de débit
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.

Principe général de communication en couches
Encapsulation des données de couche en couche.

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

Comparaison des modèles OSI et TCP/IP
Modèle de référence OSI (7 couches) et pile TCP/IP.

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…).

Exemples de supports physiques de communication

3.2. Couche 2 (Liaison de données)

Schéma simplifié de LAN avec commutateur Ethernet
Un LAN (réseau local) connecté à un commutateur 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

Interconnexion de réseaux par des routeurs
Interconnexion de réseaux (inter-réseaux).

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 :

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 !

  1. Une machine a pour adresse IP 192.168.25.179 dans un réseau de masque /24. Déterminer :
    • l’adresse du réseau ;
    • l’adresse de broadcast ;
    • le nombre d’hôtes adressables.
  2. Mêmes questions avec :
    • 192.168.25.179/28
    • 192.154.88.133/26
    • 131.108.78.235/21
    • 192.168.20.115 avec masque 255.255.252.0
    • 172.38.45.16 avec masque 255.255.192.0
    • 172.107.231.53 avec masque 255.255.224.0
    • 172.16.2.65 avec masque 255.255.255.224
    • 172.22.100.5 avec masque 255.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

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.

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 :

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.

Perte d’un acquittement lors de la transmission
Perte d’un acquittement : risque de duplication des 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.

Principe du protocole du bit alterné
Principe du bit alterné avec pertes possibles et retransmissions.

4.2. Exemple déroulé

Supposons que la variable d’émission de l’émetteur soit initialisée à 0 et celle du récepteur à 1.

Chronogramme d’exemple pour le protocole du bit alterné
Exemple complet de récupération de perte avec bit alterné.