Vous êtes sur la page 1sur 5

Principe de la récupération d’erreur dans

TCP
Exercices sur La couche Transport » Fenêtre d’anticipation avec re-émission sélective et
acquittements “cumulatifs” (voir chapitre Contrôle d’erreur)
» Un timer par paquet, mémorisation côté émetteur des paquets jusqu’à qu’ils
soient acquittés
Protocole de Transport
4 Transport » Un acquittement signifie “j’ai bien reçu jusqu’à ce numéro”
Frontière du sous-réseau
3 Réseau Réseau » Le récepteur mémorise les paquets non reçus en séquence
Protocole de Réseau
» Le timer de reémission est calculé dynamiquement car la latence est très
2 Liaison variable

1 Physique » La taille du tampon nécessaire à la fenêtre d’anticipation de la récupération


d’erreur est décidée par le programmeur côté émetteur

» La taille de ce tampon peut donc influer sur l’efficacité du protocole.


Blocage fréquent en cas de tampon sous-dimensionné par rapport à la
latence du réseau

© P. Sicard-Exercices Réseaux Couche Transport 1 © P. Sicard-Exercices Réseaux Couche Transport 2

• Complétez les valeurs de Len, Seq et Ack pour les différents


Récupération d’erreur paquets. Que se passe-t-il si le dernier paquet de donnée de A vers
B se perd ?
• Flux d’octets (contrairement à UDP) A B
Connect
• Une fois la connexion ouverte, elle est symétrique et le transfert Seq=3300, Ack= ?, Len= 0
des données est bidirectionnel
Seq=8700, Ack=?, Len=0 Accept
• Numéro de séquence:
Seq=, Ack= ?, Len= 0
- Numéro du 1er octet de donnée du message (sert aussi à la
Write (10 octets)
segmentation et réassemblage) Seq=?, Ack= ?, Len= 10
Seq= ?, Ack=?, Len=0
• Numéro d’acquittement: Write (30 octets)
- Numéro de séquence + 1 du dernier octet bien arrivé (dans Write (20 octets) Seq= ?, Ack=?, Len=30
l’autre sens) (flag Ack=1)
Seq=?, Ack= ?, Len= 20
- Autrement dit prochain numéro de séquence attendu
Seq= ?, Ack=?, Len=0

Write (5 octets)
• Un paquet peut servir à transporter des données et à acquitter un Seq=?, Ack= ?, Len= 5
paquet du flux de sens inverse Perte

© P. Sicard-Exercices Réseaux Couche Transport 3 © P. Sicard-Exercices Réseaux Couche Transport 4


Exercice 2 Exercice 2
• On veut utiliser TCP au-dessus d’une liaison point-à-point bi-
directionnelle sur fibres optiques entre deux machines. • On veut utiliser TCP sur ce réseau à travers une application
On suppose que!: qui transfère des quantités importantes de données
• Le débit d’émission sur la ligne est de 100 Mégabits/s
• La vitesse de l’onde lumineuse est de 200. 10 6 m/s • Donnez la taille minimale de la fenêtre d’anticipation (en nombre
• La distance entre les deux machines est de 200 km de bits) pour que le protocole de contrôle d’erreur de TCP marche
au mieux
• La longueur des acquittements est de 100 bits
• La longueur maximale des paquets contenant les données est
de 10 000 bits (entêtes comprises). • Pour cela rappelez en quelques lignes le principe de la fenêtre
On négligera les temps de traitement des paquets dans les machines d’anticipation de la récupération d’erreur. On s’aidera
à l’émission et à la réception éventuellement d’un schéma temporel faisant apparaître les
différents paramètres
Calculez:
1.Le temps d’émission d’un paquet de donnée, d’un acquittement • On expliquera en détail les calculs.
2.Le temps de propagation sur le réseau
© P. Sicard-Exercices Réseaux Couche Transport 5 © P. Sicard-Exercices Réseaux Couche Transport 6

Exercice 2 Exercice 3
• On utilise l’application FTP entre deux machines connectées via un
• Si TCP utilisait le protocole de récupération d’erreur du « ! bit Hub Ethernet à 100 mégabit/s pour transférer de gros fichiers. FTP
alterné» (il attend la réception de l’acquittement avant l’émission utilise le protocole TCP pour transférer le contenu des fichiers.
du paquet de donnée suivante), quel serait le débit maximal
pouvant être atteint au niveau de l’application!? On suppose le délai de propagation entre les machines et le HUB égal à
15 microsecondes.

On négligera la taille des entêtes On rappelle que la somme des entêtes TCP, IP et Ethernet est égale à 78
octets. Les acquittements TCP possèdent aussi au total 78 octets.

1. Calculez le temps de transfert (intervalle de temps entre l’émission


du 1er bit et la réception du dernier bit) d’un paquet de taille
maximale sur ce réseau Ethernet (1500 octets de données Ethernet)

2. Expliquez comment se passe la circulation des données sur le


réseau!dans le cas où le buffer d’émission de TCP est fixé à 500
octets (enchaînement des données et des acquittements TCP)
© P. Sicard-Exercices Réseaux Couche Transport 7 © P. Sicard-Exercices Réseaux Couche Transport 8
Exercice 3 Contrôle de flux
3. Donnez le débit réel (au niveau applicatif) que l’on peut espérer
avoir au mieux dans ce cas. • Problème: limiter le flux de l’émetteur pour ne pas saturer le
récepteur
4. On expliquera en détail les calculs.
• Un tampon de taille fixe en réception: si le tampon est plein
5. Refaites le calcul du débit réel dans le cas de l’utilisation d’un (l’application n’a pas encore récupéré les données) les prochaines
switch (au lieu du hub) de type «!store and forward!» (le switch données seront perdues
mémorise entièrement la trame avant de la re-émettre).
• Hypothèses:
6. Quelle est la taille des buffers d’émission minimum qu’il faut - La taille du tampon peut varier suivant les connexions (charge
choisir pour obtenir un débit réel maximal (dans le cas du hub, de la machine, nombre de connexions ouvertes...)
dans le cas du switch). Expliquez vos calculs
- La latence est très variable au niveau transport, il est donc
7. Quel débit réel peut-on espérer obtenir dans ce cas!? difficile de définir une taille de fenêtre optimale
- La taille du tampon est fixée par le programmeur
Rappel!: TCP envoie si possible des paquets de la taille maximale
d’Ethernet (1500 octets).

© P. Sicard-Exercices Réseaux Couche Transport 9 © P. Sicard-Exercices Réseaux Couche Transport 10

Mécanisme à nombre de crédits Exercice


A B
• A la place de l’envoie d’acquittement spécifique au contrôle de Connect Seq=300, Ack= ?, Win= 100
flux TCP utilise un mécanisme à “nombre de crédits”
Seq=800, Ack=301, Win=200 Accept
• TCP spécifie dans un acquittement de la récupération d’erreur le
nombre d’octets libre dans le tampon de réception Seq=, Ack= 801, win= 100
Write (50 octets)
• Permet à l’émetteur d’envoyer des paquets tant que le tampon du Seq=?, Ack= ?, Len= 50
récepteur n’est pas plein Seq= ?, Ack=?, Win=?
Write (200 octets)
• Champ Fenêtre (WIN): nombre d'octets libre dans le tampon de Seq= ?, Ack=?, Len=?, Win= ?
Write (300 octets)
réception et donc pouvant être expédiés après le numéro
d'acquittement. Au départ WIN est égal à la taille du tampon de Seq=?, Ack= ?, Len= ?, Win ?
Seq= ?, Ack=?, Win=?
réception (envoyé lors de l’ouverture de connexion) Read (100 octets)
• Quand WIN = 0 : Seq= ?, Ack=?, Win=?
Read (100 octets)
- Le buffer du récepteur est plein Seq=?, Ack= ?, Len= ?, Win= ?
- L’émetteur est bloqué jusqu’à la libération du tampon (lecture Read (300 octets)
de l’application côté récepteur) Seq= ?, Ack=?, Win=?

© P. Sicard-Exercices Réseaux Couche Transport 11 © P. Sicard-Exercices Réseaux Couche Transport 12


• A tout moment l’émetteur est bloqué en émission par la • Cas où la fenêtre du contrôle de flux est moins “avancée”
fenêtre la moins “avancée” que celle de la récupération d’erreur. L’émetteur va se
“bloquer” sur la fenêtre de récupération d’erreur.
• Cas où la fenêtre du contrôle de flux est plus “avancée”
que celle de la récupération d’erreur. L’émetteur va se
“bloquer” sur la fenêtre de récupération d’erreur.
Fenêtre"récupération
Fenêtre "récupérationd'erreur"
d'erreur"
Dernier Octet Acq
Dernier Octet Acq
Dernier Octet lu Dernier Octet Emis
Fenêtre "récupération d'erreur" par l'application Dernier Octet Emis
Dernier Octet lu Dernier Octet Acq Octets acquittés Octets émis Octets pouvant
par l'application Dernier Octet Emis être émis
Octets acquittés Octets émis Octets pouvant
win être émis
Octets acquittés Octets émis Octets pouvant
être émis Buffer
winémission
win Fenêtre "contrôle de flux" Buffer émission
Buffer émission Buffer réception
Buffer réception Fenêtre "contrôle de flux"
Fenêtre "contrôle de flux"

© P. Sicard-Exercices Réseaux Couche Transport 13 © P. Sicard-Exercices Réseaux Couche Transport 14

• Complétez les valeurs des champs Win, Seq et Ack sur le scénario
suivant. On suppose le buffer d’émission égal à 1000 octets
A B
Connect Seq=300

Récepteur Seq=800, Ack=301, Win=2000 Accept

Dernier Octet Acquitté Dernier Octet reçu * Seq=300, Ack= 801


(prochain attendu)
Write (1500 octets)
Seq=?, Len= ?
Octets lus Octets reçus Octets Octets reçus Octets pouvant
par l'appli acquittés non reçu non acquittés être reçus * Ack=?, Win=?
Seq=?, Len= ?
Buffer réception Ack=?, Win=?
Write (1000 octets)
Dernier Octet lu win
par l'appli Seq=?, Len= ?

* Ack=?, Win=?
Read (1000 octets)
Ack=?, Win=?

* Seq=?, Len= ?

© P. Sicard-Exercices Réseaux Couche Transport 15 © P. Sicard-Exercices Réseaux Couche Transport 16


• Pour le scénario précédent, complétez le schéma suivant en faisant Contrôle de flux: choix de la taille du
apparaître les numéros de séquence et le champ win aux points tampon de réception
marqués d’une étoile
• Reprenons le cas de l’exercice 3 fenêtre à anticipation pour la
• On précisera pour chaque cas quelle est la fenêtre la plus récupération d’erreur
“avancée”, et le cas échéant la cause du blocage de l’émetteur
• Que se passe t-il si le buffer de réception est plus petit que celui
d’émission ? Est ce pertinent pour optimiser le débit des
Fenêtre "récupération d'erreur" connexions ?
No Seq Dernier Octet Acq= ?
No Seq Dernier Octet Lu= ? No Seq dernier Octet Emis= ?
• Donnez un scénario où l’émetteur est bloqué sur la fenêtre du
Octets acquittés Octets émis Octets pouvant contrôle de flux
être émis
• Que se passe t il si le buffer de réception est plus grand que celui
win= ? d’émission ? Est ce pertinent pour optimiser le débit des
No Seq = ? connexions ?
Fenêtre "contrôle de flux"
• Donnez un scénario montrant l’intérêt d’un buffer de réception
plus grand que celui d’émission
© P. Sicard-Exercices Réseaux Couche Transport 17 © P. Sicard-Exercices Réseaux Couche Transport 18

Vous aimerez peut-être aussi