U.E. Architecture des Réseaux (ARES) 3/5 : Couche transport
U.E. Architecture des Réseaux (ARES) 3/5 : Couche transport
U.E. Architecture des Réseaux (ARES) 3/5 : Couche transport
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
PTF v3.0<br />
Service de base<br />
Service fiable<br />
Contrôle de congestion<br />
Principes de transfert de données fiable<br />
TCP : un protocole en mode orienté connexion<br />
TCP : mécanismes de fiabilisation<br />
PTF v3.0 : émetteur<br />
Service de base<br />
Service fiable<br />
Contrôle de congestion<br />
Principes de transfert de données fiable<br />
TCP : un protocole en mode orienté connexion<br />
TCP : mécanismes de fiabilisation<br />
Transfert fiable sur un canal avec erreurs et pertes<br />
canal sous-jacent peut aussi perdre <strong>des</strong> paquets (data ou<br />
ACK)<br />
ctrlerr + numSeq + ACK + retransmission<br />
insuffisant : l’absence d’un paquet bloque l’automate !<br />
Temporisation <strong>des</strong> retransmission<br />
estimation d’un temps de retour de ACK raisonable<br />
déclenchement d’une temporisation à l’emission d’un paquet<br />
tempo init<br />
ACK avant l’expiration de la temporisation ➠ rien<br />
tempo stop<br />
pas de ACK à l’expiration de la temporisation<br />
➠ retransmission<br />
tempo expire<br />
si le ACK est seulement en retard...<br />
retransmission = duplication<br />
détectée grâce au numéro de séquence<br />
ptf_rcpt(pqtrc)<br />
ptf_rcpt(pqtrc)<br />
&& valide (pqtrc)<br />
&& estACK(pqtrc, 1)<br />
tempo_stop<br />
tempo_expire<br />
ptnf_emis(pqtem)<br />
tempo_init<br />
ptf_rcpt(pqtrc) &&<br />
(erreur(pqtrc) || estACK(pqtrc, 0))<br />
ptf_emis(data)<br />
pqtem=cree_pqt(0, data, ctrlerr)<br />
ptnf_emis(pqtem)<br />
tempo_init<br />
Attente<br />
Attente<br />
appel couche<br />
ACK 0<br />
supérieure<br />
Attente<br />
ACK 1<br />
Attente<br />
appel couche<br />
supérieure<br />
ptf_emis(data)<br />
pqtem=cree_pqt(1, data, ctrlerr)<br />
ptnf_emis(pqtem)<br />
tempo_init<br />
ptf_rcpt(pqtrc) &&<br />
(erreur(pqtrc) || estACK(pqtrc, 1))<br />
tempo_expire<br />
ptnf_emis(pqtem)<br />
tempo_init<br />
ptf_rcpt(pqtrc)<br />
&& valide (pqtrc)<br />
&& estACK(pqtrc, 0)<br />
tempo_stop<br />
ptf_rcpt(pqtrc)<br />
émetteur<br />
Olivier Fourmaux (olivier.fourmaux@upmc.fr)<br />
U.E. <strong>Architecture</strong> <strong>des</strong> Réseaux (<strong>ARES</strong>) 3/5 : <strong>Couche</strong> <strong>transport</strong><br />
Olivier Fourmaux (olivier.fourmaux@upmc.fr)<br />
U.E. <strong>Architecture</strong> <strong>des</strong> Réseaux (<strong>ARES</strong>) 3/5 : <strong>Couche</strong> <strong>transport</strong><br />
PTF v3.0 : sans perte<br />
Service de base<br />
Service fiable<br />
Contrôle de congestion<br />
Principes de transfert de données fiable<br />
TCP : un protocole en mode orienté connexion<br />
TCP : mécanismes de fiabilisation<br />
Service de base<br />
Service fiable<br />
Contrôle de congestion<br />
Principes de transfert de données fiable<br />
TCP : un protocole en mode orienté connexion<br />
TCP : mécanismes de fiabilisation<br />
PTF v3.0 : perte d’un paquet de données<br />
Emetteur<br />
envoi Data 0<br />
réception ACK 0<br />
envoi Data 1<br />
réception ACK 1<br />
envoi Data 0<br />
Data 0<br />
Data 1<br />
Data 0<br />
ACK 0<br />
ACK 1<br />
ACK 0<br />
Récepteur<br />
réception Data 0<br />
envoi ACK 0<br />
réception Data 1<br />
envoi ACK 1<br />
réception Data 0<br />
envoi ACK 0<br />
Emetteur<br />
envoi Data 0<br />
réception ACK 0<br />
envoi Data 1<br />
tempo_expire<br />
ré−envoi Data 1<br />
réception ACK 1<br />
envoi Data 0<br />
Data 0<br />
ACK 0<br />
Data 1<br />
Data 1<br />
ACK 1<br />
Data 0<br />
Récepteur<br />
réception Data 0<br />
envoi ACK 0<br />
réception Data 1<br />
envoi ACK 1<br />
Olivier Fourmaux (olivier.fourmaux@upmc.fr)<br />
U.E. <strong>Architecture</strong> <strong>des</strong> Réseaux (<strong>ARES</strong>) 3/5 : <strong>Couche</strong> <strong>transport</strong><br />
Olivier Fourmaux (olivier.fourmaux@upmc.fr)<br />
U.E. <strong>Architecture</strong> <strong>des</strong> Réseaux (<strong>ARES</strong>) 3/5 : <strong>Couche</strong> <strong>transport</strong>