Skip to content

II. Le modèle TCP/IP

Cours

On considère le réseau ci-dessous, et on veut savoir comment les différentes machines peuvent communiquer entre elles.

Définition

Elles utilisent des protocoles de communication : des ensembles de normes qui définissent comment échanger des informations entre machines.

A. Communication dans un réseau local

On veut envoyer un message d'un ordinateur M1 un ordinateur M2. Les deux machines sont dans le même réseau local.

A.1. Découpage des données

Pour faire un transfert de fichier, on utilise l'application FTP (File Transfer Protocol).

Les données ne peuvent pas transiter en une fois dans le réseau : les connexions permettent de faire transiter un nombre limité de données à la fois. Cela a été conçu ainsi pour fluidifier les échanges : s'il y a un problème à un endroit du réseau, il n'est pas nécessaire de renvoyer toutes les données mais seulement une partie. Les données sont donc découpées.

Exemple : transmission d'un poème de C. Baudelaire, dont voici une partie :

A.2. TCP

Les données transitent sur le réseau, et on observe qu'elles sont arrivées ainsi à M2 :

Quels problèmes y a-t-il ?

Les données sont arrivées dans le désordre, et il en manque.

Comment les résoudre ?

On peut les résoudre en ajoutant un numéro à chaque partie, et en utilisant des accusés de réception.

Définition

C'est le rôle de TCP (Transmission Control Protocol), un protocole de transport des données. Si la fiabilité n'était pas le plus important mais la rapidité importait plus, on aurait pu utiliser UDP, qui est un autre protocole de transport.

Les données sont donc mises en forme par TCP, c'est-à-dire qu'on rajoute des informations dans l'entête du segment TCP (on encapsule les données):

A.3. IP

Pour savoir où est ce qu'il faut acheminer les données, il faut savoir, grâce à l'adresse IP de l'émetteur et du destinataire, s'il sont sur le même réseau local ou non. On obtient l'information en faisant un ET logique entre l'adresse IP et le masque de sous-réseau.

Définition

L'Internet Protocol sert à guider les données dans le réseau. L'entête IP contient les adresses IP de l'émetteur et du destinataire.

A.4. Accès à la machine

Dans notre cas, M1 et M2 sont sur le même réseau. Les données parviennent à M2 grâce au commutateur, qui sait associer adresse IP à adresse MAC grâce à l'Address Resolution Protocol (ARP). Cela permet de savoir à quelle machine physique est-ce qu'il faut envoyer les données.

Cette information est ajoutée à l'entête de la trame Ethernet, qui est le type de connexion le plus utilisé (ce pourrait être une trame Wifi par exemple si on utilisait ce type de connexion - il en existe d'autres types encore).

Les trames parviennent alors à M2, qui désencapsule les entêtes une à une pour accéder aux données.

B. Le modèle en couches

Les différents protocoles décrits rajoutent, à chaque étape, des données d'entête. On dit que les données sont, au fur et à mesure, encapsulées. Différents protocoles peuvent être utilisés aux différentes étapes, mais leur fonction est similaire.

Cela correspond au modèle en couches TCP/IP :

Le premier modèle décrit identifiait plus de couches, c'est le modèle OSI. C'est un modèle théorique, qui n'a pas été utilisé en pratique, au contraire du modèle TCP/IP, dont le nom vient des deux protocoles à la base des communications sur Internet.

C. Communication entre réseaux locaux

Si M1 veut envoyer des données à M4, les données doivent sortir du réseau local.

  • Grâce au protocole IP, on identifie qu'il faut sortir du réseau car les adresses de sous-réseau de l'émetteur et du destinataire ne correspondent pas.
  • Les données qui sortent du réseau sont envoyées vers une passerelle : une machine qui connecte un réseau vers les autres. C'est ici le routeur RA.
  • RA sait où envoyer les données grâce à sa table de routage. Il les dirige vers le switch R2.
  • On est ensuite dans la première configuration, les données sont échangées dans un réseau local, vers M4.

D. Récupération de paquets

Définition

Le protocole du bit alterné est un protocole de communication fonctionnant au niveau des trames (couche réseau). Il permet de retransmettre les trames qui ont été perdues avec un système d'acquittement codé sur 1 bit (dont la valeur va alterner entre les trames).

sequenceDiagram
  participant c as Emetteur
  participant s as Récepteur

  c->>s: Emission d'une trame avec le bit à 0
  s->>c: C'est le bit attendu : ACK à 0
  c->>s: Emission d'une trame avec le bit à 1
  s->>c: C'est le bit attendu : ACK à 1

Si l'émetteur ne reçoit pas d'acquittement au bout d'un temps \(t\), il renvoie la même trame avant de passer à la suivante.