Introduction. Le contrôle de flux. Environnement

Documents pareils
Systèmes et Réseaux (ASR 2) - Notes de cours Cours 14

Transmissions série et parallèle

Introduction. Adresses

Réseaux grande distance

Les Réseaux sans fils : IEEE F. Nolot

Algorithmique des Systèmes Répartis Protocoles de Communications

Le protocole TCP. Services de TCP

Architecture TCP/IP. Protocole d application. client x. serveur y. Protocole TCP TCP. TCP routeur. Protocole IP IP. Protocole IP IP.

Chapitre 4 : Exclusion mutuelle

Multicast & IGMP Snooping

Le protocole ARP (Address Resolution Protocol) Résolution d adresses et autoconfiguration. Les protocoles ARP, RARP, TFTP, BOOTP, DHCP

UDP/TCP - Protocoles transport

La couche réseau Le protocole X.25

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

Université de La Rochelle. Réseaux TD n 6

Fonctions de la couche physique

Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace

Cahier des charges. driver WIFI pour chipset Ralink RT2571W. sur hardware ARM7

DHCP et NAT. Cyril Rabat Master 2 ASR - Info Architecture des réseaux d entreprise

Master e-secure. VoIP. RTP et RTCP

Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose, Keith Ross Addison-Wesley, July ENPC.

Master d'informatique 1ère année Réseaux et protocoles. Couche physique

Spécifications Techniques d Interface

Internet - Outils. Nicolas Delestre. À partir des cours Outils réseaux de Paul Tavernier et Nicolas Prunier

TD n o 8 - Domain Name System (DNS)

Les réseaux cellulaires

Chapitre 11 : Le Multicast sur IP

Multimedia. Systèmes, Communications et Applications. Ahmed MEHAOUA

Téléinformatique. Chapitre V : La couche liaison de données dans Internet. ESEN Université De La Manouba

Cisco Discovery - DRSEnt Module 7

Le réseau sans fil "Wi - Fi" (Wireless Fidelity)

Couche Transport TCP et UDP

Intérêt du NAT (Network Address Translation) Administration Réseau Niveau routage. Exemple d Intranet. Principe NAT

Administration Réseau sous Ubuntu SERVER Serveur DHCP

VOIP. QoS SIP TOPOLOGIE DU RÉSEAU

Administration des ressources informatiques

Couche application. La couche application est la plus élevée du modèle de référence.

Introduction à la Programmation Parallèle: MPI

Description d'une liaison

Protocoles réseaux. Abréviation de Binary Digit. C'est la plus petite unité d'information (0, 1).

L utilisation d un réseau de neurones pour optimiser la gestion d un firewall

VIII- Circuits séquentiels. Mémoires

VOCALYS LITE.

L exclusion mutuelle distribuée

CONFIGURATION DE BASE

Rappel: Le routage dans Internet. Contraintes. Environnement et contraintes. La décision dans IP du routage: - Table de routage:

L3 informatique Réseaux : Configuration d une interface réseau

COMMUNICATION ENTRE DEUX ORDINATEURS PAR LASER MODULE EN CODE MORSE OU BINAIRE.

IV- Comment fonctionne un ordinateur?

Profitez de tous les avantages de votre réseau, comme vos clients Remédiez à la coupure du service

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

NFC Near Field Communication

module Introduction aux réseaux DHCP et codage Polytech / 5

Cours n 12. Technologies WAN 2nd partie

Network musical jammin

Acquisition et conditionnement de l information Les capteurs

Cours des réseaux Informatiques ( )

ELP 304 : Électronique Numérique. Cours 1 Introduction

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Dynamic Host Configuration Protocol

Le simulateur HDLC (High-Level Data Link Control) 1

Les techniques de multiplexage

RTP et RTCP. EFORT

techniques de tirs a l avant - partie 2

Cisco Certified Network Associate

E5SR : PRODUCTION ET FOURNITURE DE SERVICES. Durée : 4 heures Coefficient : 5 CAS RABANOV. Éléments de correction

CRM PERFORMANCE CONTACT

Algorithmes de Transmission et de Recherche de l Information dans les Réseaux de Communication. Philippe Robert INRIA Paris-Rocquencourt

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

Programmation parallèle et distribuée

Windows Server 2008 Sécurité ADMINISTRATION ET CONFIGURATION DE LA SECURITE OLIVIER D.

TVD 03 GSM - Transmetteur Téléphonique Vocal

Sécurité d IPv6. Sécurité d IPv6. Stéphane Bortzmeyer AFNIC bortzmeyer@nic.fr. Stéphane Bortzmeyer AFNIC bortzmeyer@nic.fr

Recherche et Diffusion de l Information dans les Réseaux. Philippe Robert. Le 8 avril 2014

QoS Réseaux haut débit et Qualité de service

Centrale d Alarme 32 zones sans fils

CONFIGURATION DE BASE. 6, Rue de l'industrie BP130 SOULTZ GUEBWILLER Cedex. Fax.: Tel.:

Chapitre 2 : communications numériques.

HA2000 RTC Transmetteur téléphonique

La sécurité dans un réseau Wi-Fi

Réseaux Locaux. Objectif du module. Plan du Cours #3. Réseaux Informatiques. Acquérir un... Réseaux Informatiques. Savoir.

Guide de fonctions du téléphone du système SCI Norstar

Windows Internet Name Service (WINS)

Des ondes ultrasonores pour explorer le corps humain : l échographie

Voix et Téléphonie sur IP : Architectures et plateformes

Fonctionnement de Iptables. Exercices sécurité. Exercice 1

Activation de la gestion des effets - Paramétrage... 2 Préférences Dossier... 2 Fiche Client... 3

HA2000 GSM Transmetteur téléphonique

Programmation Réseau. ! UFR Informatique ! Jean-Baptiste.Yunes@univ-paris-diderot.fr

Informatique Générale Les réseaux

Caractéristiques principales : 1. Prise en charge des réseaux GSM et PSTN 2. Quadri-bande : 850/900/1 800/1 900 MHz 3. Enregistrement vocal sur 2

Plan. École Supérieure d Économie Électronique. Plan. Chap 9: Composants et systèmes de sécurité. Rhouma Rhouma. 21 Juillet 2014

Master 1 ère année. UE Réseaux Avancés I. Corrections décembre Durée : 2h Documents autorisés

Manuel du client de bureau distant de KDE

Organisation du module

Chap17 - CORRECTİON DES EXERCİCES

Espace de stockage intermédiaire. Compte de Messagerie. Communication «Asynchrone» «Compte de Messagerie»

Réseaux - Cours 3. BOOTP et DHCP : Amorçage et configuration automatique. Cyril Pain-Barre. IUT Informatique Aix-en-Provence

Rappels réseaux TCP/IP

Algorithmique répartie

Transcription:

Introduction Protocoles apparaissant dans la couche liaison de données ou dans la couche transport Différences suivant les cas dues au Texte Le contrôle de flux et la récupération des erreurs Temps de transfert:» Variable et important au niveau de la couche transport (temps de traversée des routeurs dépend de la charge du réseau)» Fixe au niveau de la couche liaison (dépend seulement du temps de propagation et temps d émission) Désordonnancement possible des paquets au niveau transport On se place ici dans le cas de la couche liaison de données P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 1 P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 2 Le contrôle de flux Problème : asservir le flot de production des données de l émetteur à la capacité de les consommer du récepteur nvironnement On donne les primitives à l interface avec la couche supérieure (CS) et inférieure (CI) du protocole que l on veut définir Cause : récepteur moins performant ou surchargé Le fait de mettre un tampon (buffer) en réception en attendant que les données soient traitées en réception ne résout pas le problème. Le tampon possède une taille bornée. On va estimer l efficacité des protocoles proposés en terme de débit utile (ou effectif) au niveau de la couche supérieure par rapport au débit réel supposé dépendant seulement du temps d émission metteur (paquet) Protocole mission_ci(paquet) écepteur Autoriser/Interdire_demande_CS Demande_écept_CS(paquet) Protocole Arrivée_CI(paquet) Ligne bidirectionnelle P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 3 P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 4

Programmation événementiel Instruction particulière Attendre un événement extérieur possible parmi une liste d événements potentiels» Suivant événement événement 1: instructions événement 2: instructions... événement n: instructions lle est exécutée à l arrivée d au moins un des événements Sinon l instruction est bloquante Le protocole utopique: On émet tout de suite sans aucun contrôle Problème si le récepteur n'arrive pas à traiter les paquets à une vitesse suffisante : perte de paquets Débit: 1 paquet/ n secondes P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 5 metteur!! Si Demande_emis_CS (paquet);!!! mission_ci (paquet); écepteur Interdire_demande_CS; Algorithmes!! Si Demande_recept_CS (paquet);!!! paquet= Buffer;!!! Interdire_demande_CS;!!! Buffer=paquet;!!! Autoriser_demande_CS; P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 6 xemple Le protocole nvoyer et attendre Coté émetteur: mission d un paquet et attente d un acquittement (paquet Arrivée_CI spécial) avant d envoyer un autre paquet de donnée Demande_récept_CS Coté récepteur: éception et Mémorisation d un paquet de donnée Arrivée_CI mission d un acquittement au moment où on passe le paquet à Arrivée_CI: crasement du buffer la couche supérieure (libération du buffer de réception) Demande_récept_CS P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 7 P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 8

metteur Bloqué xemple écepteur Demande_récept_CS Temps de propagation Temps d'émission Notons - m: le temps de propagation entre les deux entités - n: le temps d émission d un paquet, on suppose ce temps constant pour tous les paquets (donnée et acquittement) Débit : 1 paquet / 2 (m+n) s (au maximum) Très peu efficace si m est grand xemple: Débit applicatif du protocole nvoyer et attendre Liaison satellite m= 250 ms, Paquets de 10 kbits à 10 mégabits/s donc n= 1ms On envoie un paquet toutes les 502 ms Soit un débit de l ordre de 20 kbits/s P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 9 P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 10 Primitives supplémentaires Algorithmes nvoyer et attendre metteur Pour l émetteur:» Autoriser/Interdire_demande_CS» pour bloquer les demandes d émission de la couche supérieure» Arrivée_CI (paquet)» pour les ACK Pour le récepteur» mission_ci (paquet)» pour les émissions des ACK P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 11 Autoriser_demande_CS;!! Si Demande_emis_CS (paquet);!!! mission_ci (paquet);!!! Interdire_demande_CS;!!!!! si paquet = ACK!!!! Autoriser_demande_CS;!!!! P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 12

écepteur Algorithmes nvoyer et attendre Interdire_demande_CS;!! Si Demande_recept_CS (paquet);!!! paquet= Buffer;!!! Interdire_demande_CS;!!! mission_ci (ACK);!!! Buffer=paquet;!!! Autoriser_demande_CS; Protocole à fenêtre d anticipation Pour améliorer le débit effectif du protocole précédent, l'émetteur va se permettre d'envoyer un certain nombre de paquet avant de se bloquer en attendant les acquittements Un acquittement est toujours envoyé pour chaque message reçu Fenêtre d émission: nombres de trames pouvant être émises sans acquittements Il faut que le récepteur puisse stocker les paquets de la fenêtre dans un buffer, en attendant que la couche supérieure les récupère P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 13 P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 14 Fenêtre émission On peut continuer à émettre, la fenêtre est décalée xemple Cas où le récepteur suit le rythme, l émetteur émet sans aucun blocage metteur écepteur Demande_récept_CS Demande_récept_CS Fenêtre d anticipation côté émetteur Dernier Paquet Acquitté Dernier Paquet mis Paquets acquittés Fenêtre d'anticipation Paquets émis Paquets pouvant et non acquittés être émis Buffer du récepteur A la réception d un acquittement la fenêtre «glisse»: Dernier Paquet Acquitté Dernier Paquet mis Paquets acquittés Paquets émis Paquets pouvant et non acquittés être émis P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 15 P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 16

xemple Cas où le récepteur ne suit pas le rythme, l émetteur émet la fenêtre puis se bloque Fenêtre d anticipation côté émetteur Fenêtre émission Cas de blocage: émission de tous les paquets de la fenêtre sans réception d acquittement Dernier Paquet Acquitté Dernier Paquet mis Demande_récept_CS Paquets acquittés Paquets émis Paquets pouvant et non acquittés être émis Blocage après émission de la fenêtre Déblocage Possibilité d'émettre un paquet avant de se rebloquer P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 17 P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 18 metteur Autoriser_demande_CS; Nbmis=0; Algorithmes à fenêtre d anticipation! Suivant évènement!! Si Demande_emis_CS (paquet);!!! mission_ci (paquet);!!! Nbmis ++;!!! Si NbMis= TAILL_FNT!!!! Interdire_demande_CS;!!! si paquet = ACK!!!! Autoriser_demande_CS;!!!! Nbmis - -; écepteur Algorithmes à fenêtre d anticipation Interdire_demande_CS; Noecept=0; /* Numéro du prochain buffer de réception */ NoTrans=0; /* Numéro du prochain buffer à transmettre à la CS */!! Si Demande_recept_CS (paquet);!!! paquet= Buffer[NoTrans]; (NoTrans ++ ) mod TAILL_FN;!!! si NoTrans=Noecept!!!! Interdire_demande_CS;!!! mission_ci (ACK);!!! Buffer[Noecept]=paquet; (Noecept ++ ) mod TAILL_FN;!!! Autoriser_demande_CS; P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 19 P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 20

fficacité du protocole à fenêtre d anticipation Si on veut émettre en continu (cas où le récepteur suit le rythme) il faut que l on est fini de recevoir l ACQ du premier paquet de la fenêtre quand on a fini d émettre le dernier paquet de la fenêtre Taille_fenetre * n = Temps d émission des paquets de la fenêtre m+n = temps d arrivée du premier paquet = temps de retour de l ACK correspondant donc il faut que Taille-fenêtre * n 2* (m+n) pour obtenir le débit du protocole utopique Pour que le protocole fonctionne correctement (sans perte), il faut que le buffer de réception soit supérieur ou égal à la taille de la fenêtre d émission Ça se complique si le délai de transfert est variable (cas de la couche transport): la taille de la fenêtre optimale est difficile à fixer xemple de la liaison satellite: Liaison satellite m= 250 ms, Paquets de 10 kbits à 10 mégabits/s donc n= 1ms On envoie un paquet toutes les 502 ms Quelle est la taille minimale du buffer de réception pour obtenir un débit minimal? Temps d aller retour : 502 ms fficacité du protocole à fenêtre d anticipation P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 21 P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 22 Problème:» provoquer la re-émission des trames perdues ou pour lesquelles on a détecté une erreur à l arrivée» On ne s occupe pas ici du contrôle de flux mais on peut mixer facilement les deux problèmes qui sont résolus par des techniques semblables (voir plus loin) Principe La récupération des erreurs metteur : mission d un paquet de donnée Attente d un paquet d acquittement de la part du récepteur ( j ai bien reçu le paquet ) écepteur: A la réception d un paquet de donnée, émission d un paquet d acquittement xemple Armement Timer Data Arrêt Timer Armement Timer Data Sonnerie Timer Data Arrêt Timer Data Armement Timer Sonnerie Timer Data Doublon Arrêt Timer P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 23 P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 24

Activation d'un timer après émission des données, si ce timer sonne avant la réception de l'acquittement, on re-émet Deux cas à problème: Protocole du bit alterné A la réception d un doublon? L ACK précédent s est perdu ou est arrivé après expiration du timer: ré-émission de l ACK obligatoire Armement Timer Un acquittement se perd, le paquet est re-émis Le timer sonne trop tôt, le paquet est re-émis Dans les deux cas le récepteur reçoit deux fois le même paquet (doublon) Il faut donc qu'il soit capable de différencier les paquets On numérote les paquets (0 ou 1) de données Sonnerie Timer Arrêt Timer Armement Timer Sonnerie Timer mission obligatoire à la réception d'un doublon? tardif? P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 25 P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 26 Numérotation des acquittements? Obligatoire! Armement Timer Sonnerie Timer Arret Timer Nouvelle Donnée Arret Timer tardif metteur Algorithme du bit alterné Autoriser_demande_CS; Nomis=0;!! Si Demande_emis_CS (paquet);!!! Buffer = [Nomis, paquet];!!! mission_ci (Buffer);!!! (Nomis ++) mod 2 ;!!! Interdire_demande_CS;!!! Armer_Timer;!!! si paquet = ACK et NoACK=(Nomis + 1) mod 2!!!! Autoriser_demande_CS;!!!! Arrêter_timer;!! Si xpiration Timer!!! mission_ci (Buffer);Armer_Timer; P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 27 P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 28

Algorithme du bit alterné xemple Bit Alterné écepteur Interdire_demande_CS; NoAttendu=0; /* Numéro de la donnée attendue */!! Si Demande_recept_CS (paquet);!!! paquet= Buffer;!!! Interdire_demande_CS;!!!!!! Si ntete(paquet)=noattendu!!!! Buffer=donnée(paquet);!!!! Autoriser_demande_CS;!!!! mission_ci (ACK avec NoAttendu);!!!! ( NoAttendu ++) mod 2;!!! Sinon /*Doublon*/!!!! mission_ci (ACK avec ( NoAttendu+1) mod 2); Armement Timer Arrêt Timer Armement Timer Sonnerie Timer Arrêt Timer Nouvelle donnée Pas d'arrêt Timer! 0 1 tardif 1 P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 29 P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 30 Contrôle de flux et récupération des erreurs en même temps Possibilité d une double utilisation des acquittements pour le contrôle de flux et la récupération des erreurs : On envoie l ACK seulement au moment de la libération du buffer Si récepteur très lent (ou bloqué) il y a des re-émissions de paquets par l émetteur dues au contrôle de flux et non à la récupération d erreur, ce qui ne sert à rien et charge le réseau inutilement Donc intéressant si timer assez grand pour que l on soit rarement en position de re-émission due au contrôle de flux Il vaut mieux utiliser 2 types d ACK pour effectuer les deux contrôles: mission d un ACK_U à la réception d un paquet Arrêt du timer de re-émission à la réception des ACK_U mission d un ACK_FLUX à la lecture par la couche supérieure côté récepteur Autorisation d émission à la couche Supérieure à la réception d un ACK_FLUX Liaison de donnée: Temps de transfert constant: délai de propagation + délai d émission Durée du timer légèrement supérieur au temps de transfert donnée + temps transfert de l ACK Transport: églage du timer de re-émission Latence très variable Dépend de la charge du réseau Le temps de traversée des routeurs varie en fonction de la charge Solution: durée de timer calculé dynamiquement en fonction du temps d allerretour courant (voir protocole TCP) P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 31 P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 32

Mise en défaut du protocole du bit alterné n cas de déséquencement des paquets metteur 0 écepteur Fenêtre d anticipation pour la récupération des erreurs Un numéro de séquence est associé aux données et acquittements. Un timer est associé à chaque trame émise pour une re-émission éventuelle Un paquet d acquittement est envoyé pour chaque paquet de donnée Comme pour le contrôle de flux on se permet d émettre un certain nombre de paquet avant la réception d acquittement afin d augmenter l efficacité du protocole Un tampon en émission est nécessaire pour le stockage des paquets en attente d une re-émission à la sonnerie d un timer (la taille du tampon en émission est égale à la taille de la fenêtre) 1 Plage de numéro de séquence Max-double + 2 (doublon) On ne s occupe plus par la suite du contrôle de flux mais on pourrait mélanger les deux protocoles comme précédemment pour le bit alterné et le protocole envoyer et attendre P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 33 P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 34 Fenêtre d anticipation pour la récupération des erreurs Dernier Paquet Acquitté Dernier Paquet mis Paquets acquittés Fenêtre d'anticipation A la réception d un acquittement la fenêtre «glisse»: Dernier Paquet Acquitté Dernier Paquet mis Paquets acquittés Paquets émis Paquets pouvant et non acquittés être émis Buffer de l'émetteur Paquets émis Paquets pouvant et non acquittés être émis Le plus simple possible Quand il y a une erreur le récepteur refuse toutes les paquets suivants Un timer par paquet Première stratégie: le Go-Back-N L émetteur re-émet tout depuis un paquet non acquitté Un acquittement indique la réception de tous les paquets jusqu au numéro qu il porte (acquittements cumulatifs ) P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 35 P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 36

xemple Stratégie Go-Back-N Taille de la fenêtre = 4 e-émission inutile des paquets 3, 4, 5 et 6 Armement timer 2 Blocage émission P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 37 Sonnerie timer 2 2 3 4 5 0 1 0 2 3 4 5 1 Non mémorisés 2 3 4 5 Il n y a pas de contrôle de flux (le récepteur suit le rythme) un seul buffer peut suffire Interdire_demande_CS; NoAttendu=0; Algorithmes Go-Back-N: récepteur!! Si Demande_recept_CS (paquet);!!! paquet= Buffer;!!! Interdire_demande_CS;!! Si Arrivée_CI ([No, paquet]) si No == NoAttendu alors!!! Buffer=paquet; mission_ci ([NoAttendu, ]);!!! (NoAttendu ++ ) mod TAILL_FNT; Autoriser_demande_CS; P. Sicard - Cours 5 Contrôle de flux et récupération d erreurs 38 Algorithmes Go-Back-N: émetteur Autoriser_demande_CS; Nomis=0; /*Prochain No de paquet à émettre*/ NoAcquitAtt=0; /*No d Acquittement Attendu*/!! Si Demande_emis_CS (paquet);!!! mission_ci ([Nomis, paquet]); Mémorisation dans buffer de [Nomis, paquet]; ArmerTimer (Nomis); Nomis ++;!!! Si (NoMis-NoAcquit) = TAILL_FNT alors Interdire_demande_CS; /* Acq portant le numéro NoPaquetecu */!!! si Nopaquetecu NoAcquitAtt alors /*Acq cumulatif*/!!!! Autoriser_demande_CS; épéter pour No= NoAcquitAtt à NoPaquetecu Arrêter Timer (No) NoAcquitAtt = NoPaquetecu + 1; Si Sonnerie Timer(NoTimer) épéter pour No= NoTimer à Nomis-1 mission_ci ([No, paquet]); /*pris dans le buffer d émission */ Armer Timer (No); P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 39 Intérêt des Acquittements cumulatifs xemple: Taille de la fenêtre = 3 2 acquitte 1 et 2 mission bloquée Acquittement de 1 et 2 Arrêt timer 1 et 2 Déblocage de l'émission P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 40 0 1 0 2 3 1 2 3

Solution à re-émission sélective elation Taille de la fenêtre/no de Séquence pour que ce protocole fonctionne correctement: Taille_fenetre + 1 Plage_Numero_sequence Sinon le récepteur ne peut pas différencier un doublon d une nouvelle donnée xemple : Taille_fenetre= Plage_Numero_sequence =2 Timer 0? écepteur attend But : éviter les re-émissions inutiles du Go-Back-N Un acquittement par paquet Un acquittement n acquitte qu un seul paquet à la fois Un timer par paquet Le récepteur mémorise les trames qui ne sont pas en séquence L émetteur avance sa fenêtre d émission jusqu au dernier paquet acquitté en séquence P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 41 P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 42 Taille fenêtre= 4 xemple re-émission sélective 0 1 0 elation Taille de la fenêtre/no de Séquence pour que ce protocole fonctionne correctement: xemple : Taille_fenetre= 2 et Plage_Numero_sequence =3 Armement timer 2 Blocage émission 2 3 4 5 1 3 4 5 Mémorisés Data 2 Timer 0 écepteur attend Data 2 et Doublon ou nouvelle donnée? Sonnerie timer 2 2 Déblocage émission Glissement fenêtre de 4 6 7 2 2 * Taille_fenetre Plage_Numero_sequence Sinon le récepteur ne peut pas différencier un doublon d une nouvelle donnée P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 43 P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 44

Optimisations Dans la re-émission sélective la perte d un acquittement est équivalent à une perte de donnée, il a pour conséquence la re-émission du paquet de données Idée: garder la notion d acquittement cumulatif du Go-Back-N Le récepteur mémorise mais n acquitte pas les paquets suivants un paquet perdu. On peut alors re-acquitter le dernier paquet reçu (*) Il faut alors limiter les re-émissions successives (Voir exemple transparent suivant) Pour éviter l attente des timers de reémissions A la réception d un ack dupliqué (*) : re-émission du paquet supposé perdu mission d acquittements négatifs à la réception de données qui ne sont pas en séquence» Valable si les paquets ne sont pas trop souvent déséquencés sur le réseau (voir TCP: acquittements sélectifs) xemple re-émission sélective avec acquittements cumulatifs A la sonnerie 3 pour limiter les re-émissions inutiles le paquet 3 n est pas re-émis car 2 vient de l être Il ne sera re-émis qu à la réception de l ack du 2 Que se passe-t-il si le 3 s est perdu aussi? Armement timer 2 Armement timer 3 Blocage émission Sonnerie timer 2 Sonnerie timer 3 Déblocage émission Glissement fenêtre de 4 0 1 0 2 3 4 5 2 6 7 1 Mémorisés 5 (reçu jusqu'au 5) P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 45 P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 46 Contrôle de flux et récupération d erreur à la fois On peut mélanger les deux contrôles avec fenêtre d anticipation Deux types d ACK : mission d un ACK_U à la réception d un paquet mission d un ACK_FLUX à la lecture par la couche supérieure côté récepteur Des buffers en réception pour le contrôle de flux Des buffers en émission pour le contrôle d erreur Une fenêtre à anticipation pour chacun des deux contrôles L émetteur se bloque suivant la fenêtre la moins avancée Les deux fenêtres du contrôle de flux et de la récupération d erreur à la fois Les deux fenêtres sont indépendantes et avancent suivant chacun des acquittements Paquets acquittés (par -err) mais buffer non libéré Paquets émis et non acquittés par -err Fenêtre de contrôle de flux Dernier paquet pouvant être émis Fenêtre de contrôle d'erreur A cet instant l émetteur est bloqué par la fenêtre du contrôle de flux P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 47 P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 48

Tailles des fenêtres d anticipation Taille de la fenêtre optimale identique pour les deux contrôles dépendant de Temps émission paquet + Temps émission + 2 * temps de propagation Donc la taille des buffers doit être identique en émission et réception si le récepteur suit le rythme Si le récepteur est lent de façon sporadique on a intérêt à avoir: Buffer réception Buffer d émission Contrôle de flux et récupération d erreur au niveau transport. Temps de transfert très variable timer de re-émission optimal variable. églage dynamique du timer en fonction des temps d aller-retour précédents taille de la fenêtre optimale très variable On peut essayer de la borner. On peut avoir à gérer un grand nombre de connexions de transport et donc avoir un potentiel en terme de buffer très variable. On laisse au programmeur le choix de la taille des buffers d émission et de réception P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 49 P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 50 Contrôle de flux et récupération d erreur au niveau transport Le mécanisme de crédit Pour éviter l envoi des ack_flux : Chaque paquet d acquittement (d erreur) contient un champ crédit qui indique à l expéditeur le nombre de paquets qu il peut envoyer. par exemple l acquittement : (ack = i, crédit = 5) indique à l'émetteur qu'il a bien reçu les paquets jusqu au numéro i et qu il peut encore en recevoir 5 (après celui là) n d autre terme le récepteur indique la place libre dans son buffer de réception Le protocole TCP de la couche transport utilise cette méthode P. Sicard-Cours éseaux Contrôle de flux et récupération d erreurs 51