1 / 11

Contrôler le débit d’émission

Contrôler le débit d’émission. La couche application passe un bloc de données à la couche transport La couche transport divise le blocs en segments de MSS octets La couche transport envoie autant de segments que possible ( cgn_fenetre octets)

york
Télécharger la présentation

Contrôler le débit d’émission

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Contrôler le débit d’émission • La couche application passe un bloc de données à la couche transport • La couche transport • divise le blocs en segments de MSS octets • La couche transport envoie autant de segments que possible (cgn_fenetre octets) • Lorsque le premier acquittement parvient à l’émetteur, 1RTT s’est écoulé • Lorsque le dernier acquittement parvient à l’émetteur il s’est écoulé 1RTT + soit ~ 1RTT • Le débit est ~ cgn_fenetre/RTT octet/s • Conclusion: • Plus on augmente cgn_fenetre, plus on augmente le débit d’emission • Plus on diminue cgn_fenetre, plus on diminue le débit d’emission Ingénierie des réseaux - Chapitre 3: La couche transport

  2. Evitement de la congestion (congestion avoidance) • Après la phase de démarrage lent on rentre dans la phase d’évitement de la congestion • On crée une nouvelle variable ssthresh • ssthresh vaut la moitié de la valeur de cgn_fenetre au moment où on a détecté un évènement de perte • La valeur du débit disponible est entre ssthresh et cgn_fenetre • Quand on rentre dans la phase de congestion avoidance • cgn_fenetre passe à ssthresh • L’augmentation de cgn_fenetre devient linéaire • A chaque réception d’ACK, on ajoute 1 MS à cgn_fenetre • On sort de la phase de congestion avoidance quand on reçoit un triple ACK dupliqué. Ingénierie des réseaux - Chapitre 3: La couche transport

  3. Evitement de la congestion • On utilise une nouvelle variable ssthresh « slow startthreshold » • ssthresh vaut cgn_fenetre / 2 • Quand on passe dans la phase évitement de la congestion, on augmente cgn_fenetre de manière linéaire et non plus exponentielle. Ingénierie des réseaux - Chapitre 3: La couche transport

  4. Raffinement: inférer la perte • Après 3 ACKs dupliqués • cgn_fenetre est divisé par deux • la fenêtre grossit ensuite linéairement • mais après un évènement de timeout • cgn_fenetre est fixé à 1 MSS • cgn_fenetre ensuite grossit exponentiellement jusqu’à atteindre Seuil , • puis elle grossit linéairement • Philosophie • 3 ACKs dupliqués indiquent que le réseau est capable de transporter des segments • un timeout indique une situation de congestion Ingénierie des réseaux - Chapitre 3: La couche transport

  5. time Démarrage lent (Slow start) • Quand la connexion commence cgn_fenetre = 1MSS • A chaque réception d’ACK on double cgn_fenetre • Slow Start s’arrête lorsque on détecte 3 ACKs dupliqués • Le débit initial est faible mais augmente exponentiellement vite. • Slow start est une technique pour découvrir une borne supérieure du débit disponible HôteB Hôte A 1 segment RTT 2 segments 4 segments Ingénierie des réseaux - Chapitre 3: La couche transport

  6. Résumé : Le contrôle de congestion de TCP • Quand cgn_fenetre est en dessous de Seuil , l’émetteur est en phase de slow start, la fenêtre croît exponentiellement • Quand cgn_fenetre est au dessous de Seuil, l’émetteur est en phase d’évitement de la congestion, la fenêtre croît linéairement • Quand on détecte trois ACKs dupliqués : • Seuil = cgn_fenetre / 2 • cgn_fenetre = Seuil • Quand un timeout survient • Seuil = cgn_fenetre / 2 • Cgn_fenetre = 1 MSS Ingénierie des réseaux - Chapitre 3: La couche transport

  7. Augmentation additive, augmentation multiplicative • Approche: augmenter le taux de transmission jusqu’à rencontrer un évènement de perte • Augmentation multiplicative : Augmenter cgn_fenetre de 1 MSS à chaque RTT jusqu’à ce qu’une perte soit détectée • Augmentation additive Ingénierie des réseaux - Chapitre 1 Généralités

  8. Contrôle de congestion • Quand la connexion commence, cgn_fenetre = 1MSS • Exemple: • MSS = 500 octets; RTT=200ms • débit initial : 20 kbs • La bande passante disponible est sans doute >> MSS/RTT • Il est souhaitable de monter rapidement à un débit proche du débit disponible • Quand la connexion va commencer, on va augmenter le débit jusqu’à observer un évènement de perte. Ingénierie des réseaux - Chapitre 3: La couche transport

  9. Contrôle de congestion TCP (simplifié) • En phase de slow start, quand cgn_fenetre < Seuil la fenêtre croît exponentiellement • En phase de congestion avoidance, quand cgn_fenetre < Seuil la fenêtre croît linéairement • Quand un triple ACK dupliqué arrive: • Seuil = cgn_fenetre / 2 • cgn_fenetre = Seuil • On passe en congestion avoidance • Quand un timeout arrive : • Seuil = cgn_fenetre / 2 • cgn_fenetre= 1 MSS • On passe en slow start • Philosophie • 3 ACKs dupliqués indiquent que le réseau est capable de transporter des segments • un timeout indique une situation de congestion Ingénierie des réseaux - Chapitre 3: La couche transport

  10. Evitement de la congestion (congestion avoidance) • Après la phase de démarrage lent on rentre dans la phase d’évitement de la congestion • On crée une nouvelle variable Seuil • Seuil vaut la moitié de la valeur de cgn_fenetre au moment où on a détecté un évènement de perte • La valeur du débit disponible est entre Seuil et cgn_fenetre Ingénierie des réseaux - Chapitre 3: La couche transport

More Related