# Etude d'un protocole fiable : TCP

Patrice Laurencot

## 1 - Le contexte

Des erreurs de transmission peuvent se produire :

- perturbations subies par le signal dans le médium (couche physique)
  Ces perturbations entrainent que le signal reçu peut être différent du signal émis.
  Si une telle perturbation s'est produite, le récepteur qui extrait des bits de ce signal, obtient alors une chaîne de bits différente de celle qui a été émise.

  La détection et la correction de ces erreurs sont éventuellement effectuées par les entités de couche 2 ou de couche LLC, immédiatement au dessus de la couche physique.

- pannes ou surcharges des routeurs (couche Réseau)
  Ces dysfonctionnements peuvent entrainer la perte ou la duplication de PDU-Reseau, et des informations qu'elles transportent.

  La détection et la correction de ces pertes sont éventuellement effectuées par les entités de couche Transport, immédiatement au dessus de la couche Réseau.

La détection des erreurs est effectuée gràce à des informations de contrôle (redondance) calculées par l'émetteur, et vérifiées par le récepteur.

La correction est effectuée en commun par l'émetteur et le récepteur, souvent par une retransmission de l'information mal transmise, d'où un retard de livraison.
Un retard de livraison peut n'être pas acceptable, par exemple lors la transmission d'un signal sonore.

En conséquence, plusieurs stratégies de détection et de correction des erreurs existent, selon les couches :

procédures de | OSI | OSI |  | Transport OSI | Transport TCP/IP
DLL | MAC | LLC-1 | LLC-2 | LLC-3 | PPP | COTS | CLTS | TCP | UDP
détection d'erreur ou de perte | O | O | N | O | O | O | O | N | O | N
signalement d'erreur ou de perte |  |  |  |  | O |  |  |  |  |
tentative de correction signalement d'échec de tentative | O |  |  | O |  | O | O |  | O |

Ce sont les spécifieurs d'une application qui décideront des couches de la pile nécessaire à l'application, selon les contraintes d l'application.
Par exemple

- contrainte impérative d'exactitude
  FTP, SMTP, HTTP utilisent TCP

- contrainte de temps
  RSTP [RFC 2326] transmet les ordres en utilisant TCP, et le flux vidéo en utilisant UDP.

L'objet de ce TP est d'étudier les procédures de détection et de correction mises en oeuvre entre deux entités-TCP :

1. la connexion-TCP entre les deux entités d'application : identification, établissement, terminaison,
2. la numérotation des informations transmises sur une connexion-TCP,
3. l'acquittement de bonne réception,
4. le contrôle de flux.

Suite...