notes : le controle de congestion...

23
Chaput Emmanuel Le contr ˆ ole de congestion dans l’Internet 2016-2017 Chaput Emmanuel Le contr ˆ ole de congestion dans l’Internet 2016-2017 1 / 61 Plan 1 Le probl` eme 2 La gestion de la congestion par TCP 3 Les ´ evolutions de TCP 4 Et UDP ? 5 La prise en compte dans IP 6 ef´ erences bibliographiques Chaput Emmanuel Le contr ˆ ole de congestion dans l’Internet 2016-2017 2 / 61 Le probl` eme 1 Le probl` eme Qu’est-ce que la congestion ? Quelle gestion de la congestion ? Quelle gestion dans la pile IP ? Chaput Emmanuel Le contr ˆ ole de congestion dans l’Internet 2016-2017 3 / 61 Notes : Notes : Notes :

Upload: trinhdat

Post on 01-Apr-2018

226 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Notes : Le controle de congestion dansˆchaput.perso.enseeiht.fr/supports/tcpip-congestion-handout.pdf · Qu’est-ce que la congestion? 1 Le probleme` Qu’est-ce que la congestion?

Chaput Emmanuel

Le controle de congestion dansl’Internet

2016-2017

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 1 / 61

Plan

1 Le probleme

2 La gestion de la congestion par TCP

3 Les evolutions de TCP

4 Et UDP ?

5 La prise en compte dans IP

6 References bibliographiques

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 2 / 61

Le probleme

1 Le problemeQu’est-ce que la congestion ?Quelle gestion de la congestion ?Quelle gestion dans la pile IP ?

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 3 / 61

Notes :

Notes :

Notes :

Page 2: Notes : Le controle de congestion dansˆchaput.perso.enseeiht.fr/supports/tcpip-congestion-handout.pdf · Qu’est-ce que la congestion? 1 Le probleme` Qu’est-ce que la congestion?

Qu’est-ce que la congestion ?

1 Le problemeQu’est-ce que la congestion ?Quelle gestion de la congestion ?Quelle gestion dans la pile IP ?

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 4 / 61

Qu’est-ce que la congestion ?

Qu’est-ce que la congestion ?Phenomene se produisant sur un equipement reseau soumis a unequantite de trafic pour laquelle il n’est pas dimensionne et entrainantune deterioration du service rendu.

Quelles causes ?Confluence de traficsDebit d’entree superieur a capacite de sortieBursts de trafics sporadiquesEquipement sous-dimensionne

Quelles consequences ?Accroissement du temps de traversee (delai)Variation du temps de traversee (jigue)Pertes

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 5 / 61

Detection et reaction

Qui est concerne par la congestion ?

Les equipements du cœur du reseauLes routeurs dans le cas IPAccroissement des files d’attenteConsequence du trafic en transit

Les equipements d’extremiteLes applications qui soumettent le traficPas de vision directe de l’etat du reseauVariations de la qualite de service percue

Qui peut la detecter et la traiter ?

Les equipements de cœur peuvent la detecterObservation des filesAnticipation possible

Les equipements d’extremite peuvent y reagirModulation du traficRenegociation eventuelle de SLA

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 6 / 61

Notes :

Notes :

Notes :

Page 3: Notes : Le controle de congestion dansˆchaput.perso.enseeiht.fr/supports/tcpip-congestion-handout.pdf · Qu’est-ce que la congestion? 1 Le probleme` Qu’est-ce que la congestion?

Quelle gestion de la congestion ?

1 Le problemeQu’est-ce que la congestion ?Quelle gestion de la congestion ?Quelle gestion dans la pile IP ?

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 7 / 61

Quelle gestion de la congestion ?

Mecanismes preventifsDimensionnement des equipementsAdmission/refus des communications (SLA)Filtrage des trafics. . .

Mecanismes reactifsAdaptation des trafics soumisRe routage. . .

Mecanismes curatifsDetruire les paquets (gestion Drop Tail des files d’attente). . .

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 8 / 61

Quelle gestion dans la pile IP ?

1 Le problemeQu’est-ce que la congestion ?Quelle gestion de la congestion ?Quelle gestion dans la pile IP ?

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 9 / 61

Notes :

Notes :

Notes :

Page 4: Notes : Le controle de congestion dansˆchaput.perso.enseeiht.fr/supports/tcpip-congestion-handout.pdf · Qu’est-ce que la congestion? 1 Le probleme` Qu’est-ce que la congestion?

Quelle gestion dans la pile IP ?

Un message ICMP

Source Quench emis par un routeur satureLa source reduit le debit (taille de fenetre par exemple [20])Consommateur de ressources !Peu implante

HistoriquementEvolutions algorithmiques de TCPTCP Tahoe, Reno, NewRenoC’etait le principal “responsable”

Prise en compte dans IP

Notification explicite (Source Quench piggy-backe)Gestion active des files d’attente. . .

Ingenierie de traficFondee sur l’experience du circuit virtuelMPLS

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 10 / 61

La gestion de la congestion par TCP

2 La gestion de la congestion par TCP

Le slow startL’estimation du temps d’aller-retourLa prevention de congestionLe Fast RetransmitImplantation conjointe des mecanismesTCP Reno et la reprise rapideTCP New Reno

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 11 / 61

Quel est le probleme avec TCP ?

En Octobre 1986, Van Jacobson identifie un probleme

Un lien de 32 kbps reliant deux IMP ne fournit parfois que 40 bpsIl suspecte le comportement de 4.3BSD

Il analyse le probleme et propose des solutions

Le probleme identifieMeme en presence de connexions a priori a l’equilibre (un paquetn’entre dans le reseau que si un paquet en sort), le systeme n’est pasrobuste face aux phenomenes de congestion, contrairement a latheorie.

Les axes proposes par Van Jacobson

Atteindre l’equilibreMaintenir l’equilibreS’adapter aux evolutions du reseau

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 12 / 61

Notes :

Notes :

Notes :

Page 5: Notes : Le controle de congestion dansˆchaput.perso.enseeiht.fr/supports/tcpip-congestion-handout.pdf · Qu’est-ce que la congestion? 1 Le probleme` Qu’est-ce que la congestion?

Les mecanismes de TCP Tahoe

Papier fondateur de TCP [16]

Slow StartAccroissement progressif (rapide) du nombre de segments entransitBeneficier du self clocking assure par le controle de flux implicite.Pour atteindre un equilibre

Estimation du temps d’aller-retourPour maintenir l’equilibreEstimateur precedent [21] peu efficaceBesoin de prendre en compte les variations

Congestion AvoidanceS’adapter aux evolutions du reseauPour maintenir l’equilibre

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 13 / 61

Le slow start

2 La gestion de la congestion par TCP

Le slow startL’estimation du temps d’aller-retourLa prevention de congestionLe Fast RetransmitImplantation conjointe des mecanismesTCP Reno et la reprise rapideTCP New Reno

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 14 / 61

Le Slow Start

PrincipesCommencer en emettant une fenetre d’un seul segmentDoubler la taille a chaque nouvelle fenetreRespecter le controle de flux (awnd) !

Mise en œuvre (sur l’emetteur)Introduction d’une variable cwnd

Taille de fenetre liee a la congestionInitialisation

cwnd = 1

A chaque ACK recucwnd = cwnd + 1

A tout moment, fenetre utilisableuwnd = min(awnd, cwnd)

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 15 / 61

Notes :

Notes :

Notes :

Page 6: Notes : Le controle de congestion dansˆchaput.perso.enseeiht.fr/supports/tcpip-congestion-handout.pdf · Qu’est-ce que la congestion? 1 Le probleme` Qu’est-ce que la congestion?

Le Slow Start, un exemple

Te

Te

Te

Te

Te

Te

Te

0

1

2

3

4

5

6

ACK 0

ACK 1

ACK2

ACK 3

ACK 4

ACK 5

cwnd = 1

cwnd = 2

cwnd = 3

cwnd = 4

cwnd = 5

cwnd = 6

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 16 / 61

L’estimation du temps d’aller-retour

2 La gestion de la congestion par TCP

Le slow startL’estimation du temps d’aller-retourLa prevention de congestionLe Fast RetransmitImplantation conjointe des mecanismesTCP Reno et la reprise rapideTCP New Reno

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 17 / 61

L’estimation du temps d’aller-retour

Les timers de TCP fonctionnent mal [29]Utilisation d’une moyenne mobile [21]

RTT ← α.RTT + (1− α).mRTO = β.RTTα = 0.9, β = 2 par exemple

Satisfaisant pour une charge faible (< 0.3)En cas de montee de la charge, retransmissions supplementaires !

Prise en compte de la variation du delai [4]Err ← m − RTTRTT ← RTT + α.ErrMD ← MD + β.(|Err | −MD)RTO ← RTT + γ.MDα = 1

8 , β = 14 , γ = 4 par exemple (implantation en entiers)

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 18 / 61

Notes :

Notes :

Notes :

Page 7: Notes : Le controle de congestion dansˆchaput.perso.enseeiht.fr/supports/tcpip-congestion-handout.pdf · Qu’est-ce que la congestion? 1 Le probleme` Qu’est-ce que la congestion?

La prevention de congestion

2 La gestion de la congestion par TCP

Le slow startL’estimation du temps d’aller-retourLa prevention de congestionLe Fast RetransmitImplantation conjointe des mecanismesTCP Reno et la reprise rapideTCP New Reno

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 19 / 61

Le mecanisme de Congestion Avoidance

Principes deja evoques par ailleurs [18]Besoin d’un mecanisme de signalisation sur les elements actifsMise en œuvre d’une politique d’adaptation du trafic aux extremites

Choix faits dans TCP TahoeUne perte signale une congestionEn l’absence de congestion

Accroissement additif de la taille de la fenetreDe la forme cwnd = cwnd + 1/cwnd (increment de cwnd d’uneunitee apres cwnd ACKs recus)

En presence de congestionDecroissance multiplicative de la taille de la fenetre

Comportement qualifie de AIMD

Additive Increase, Multiplicative Decrease

Habituellement implante conjointement au Slow Start

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 20 / 61

Le Fast Retransmit

2 La gestion de la congestion par TCP

Le slow startL’estimation du temps d’aller-retourLa prevention de congestionLe Fast RetransmitImplantation conjointe des mecanismesTCP Reno et la reprise rapideTCP New Reno

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 21 / 61

Notes :

Notes :

Notes :

Page 8: Notes : Le controle de congestion dansˆchaput.perso.enseeiht.fr/supports/tcpip-congestion-handout.pdf · Qu’est-ce que la congestion? 1 Le probleme` Qu’est-ce que la congestion?

Le Fast Retransmit

Principes de baseLe recepteur TCP envoie un accuse de reception (“duplique”) achaque segment hors sequenceUn accuse de reception duplique est donc le signe, pour l’emetteur

D’un segment hors sequenceD’une perte

Apres plusieurs ACK dupliquesPerte probableCongestion

Mise en œuvreIntroduction d’un compteur ndupReception d’un ACK nouveau

ndup = 0

Reception d’un ACK dupliquendup = ndup + 1

Lorsque ndup == 3Retransmission du premier segment non acquitte

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 22 / 61

Implantation conjointe des mecanismes

2 La gestion de la congestion par TCP

Le slow startL’estimation du temps d’aller-retourLa prevention de congestionLe Fast RetransmitImplantation conjointe des mecanismesTCP Reno et la reprise rapideTCP New Reno

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 23 / 61

Mise en œuvre conjointe dans TCP Tahoe

Introduction d’un seuil ssthreshSlow Start ThresholdDelimite la frontiere entre Slow Start et Congestion Avoidance

Initialisationcwnd = 1ssthresh = awnd

Reception d’un nouvel ACK

ndup = 0Si cwnd < ssthresh alors cwnd = cwnd + 1Sinon cwnd = cwnd + 1/cwnd

Reception d’un ACK dupliquendup = ndup + 1

Detection d’une perte (TimeOut ou ndup ==3)Retransmission du premier segment non acquittessthresh = min(awnd, cwnd) / 2cwnd = 1

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 24 / 61

Notes :

Notes :

Notes :

Page 9: Notes : Le controle de congestion dansˆchaput.perso.enseeiht.fr/supports/tcpip-congestion-handout.pdf · Qu’est-ce que la congestion? 1 Le probleme` Qu’est-ce que la congestion?

TCP Tahoe : un exemple

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 25 / 61

TCP Reno et la reprise rapide

2 La gestion de la congestion par TCP

Le slow startL’estimation du temps d’aller-retourLa prevention de congestionLe Fast RetransmitImplantation conjointe des mecanismesTCP Reno et la reprise rapideTCP New Reno

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 26 / 61

TCP Reno et le Fast Recovery

Fin Avril 1990, Van Jacobson fait le constat suivantTrois accuses de reception dupliques sont le symptome d’unecongestion moderee

Le recepteur recoit des segmentsLe retour en Slow Start est inutile

Application du Multiple Decreasecwnd = ssthresh (et non plus cwnd = 1)

On peut ajouter transitoirement a cwnd la valeur de ndupndup est le nombre de segments sortis du reseauRythmer les emissions sur les accuses de reception dupliques

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 27 / 61

Notes :

Notes :

Notes :

Page 10: Notes : Le controle de congestion dansˆchaput.perso.enseeiht.fr/supports/tcpip-congestion-handout.pdf · Qu’est-ce que la congestion? 1 Le probleme` Qu’est-ce que la congestion?

TCP Reno et le Fast Recovery

Mise en œuvre du Fast RecoveryApres trois accuses de reception dupliques

Retransmission du dernier segment non acquitte (Fast Retransmit)ssthresh = min(awnd, cwnd) / 2cwnd = ssthreshuwnd = min(cwnd + ndup, awnd)

A la reception d’un nouvel accuse de receptionndup = 0 (comme d’habitude)uwnd = min(cwnd, awnd) (fin du Fast Recovery)

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 28 / 61

TCP Reno : un exemple

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 29 / 61

TCP New Reno

2 La gestion de la congestion par TCP

Le slow startL’estimation du temps d’aller-retourLa prevention de congestionLe Fast RetransmitImplantation conjointe des mecanismesTCP Reno et la reprise rapideTCP New Reno

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 30 / 61

Notes :

Notes :

Notes :

Page 11: Notes : Le controle de congestion dansˆchaput.perso.enseeiht.fr/supports/tcpip-congestion-handout.pdf · Qu’est-ce que la congestion? 1 Le probleme` Qu’est-ce que la congestion?

TCP New Reno

TCP Reno a un “petit defaut”En cas de pertes multiples dans une fenetreEn l’absence de l’option SACKRisque de retomber en Slow Start

Lors d’un Fast Recovery, TCP New Reno distingue deux types denouvel ACK

Un ACK total accuse reception de tout ce qui a ete emis avant laretransmissionUn ACK partiel n’accuse reception que d’une partie

Un ACK partiel est le symptome d’une (nouvelle) perteRetransmission du premier segment non acquitteuwnd = min(awnd, cwnd + ndup - nback + 1) ou nbackest le nombre de segments acquittesRester en Fast Recovery

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 31 / 61

TCP NewReno : un exemple

Animation

pleine page

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 32 / 61

Les evolutions de TCP

3 Les evolutions de TCP

Les problemes avec TCPUtilisation d’une connexion uniqueTCP CubicTCP Compound

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 33 / 61

Notes :

Notes :

Notes :

Page 12: Notes : Le controle de congestion dansˆchaput.perso.enseeiht.fr/supports/tcpip-congestion-handout.pdf · Qu’est-ce que la congestion? 1 Le probleme` Qu’est-ce que la congestion?

Les problemes avec TCP

3 Les evolutions de TCP

Les problemes avec TCPUtilisation d’une connexion uniqueTCP CubicTCP Compound

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 34 / 61

Les problemes avec TCP

On distingue traditionnellement trois grandes phases dans TCP :

L’initialisation de la connexionEtablissement en trois phases, negociation des optionsPremier aller-retour

Le demarrageAcceleration depuis un Send and Wait vers un protocole a fenetreCroissance exponentielle de CWND

Le comportement long termeAdaptation aux evolutions du reseauCroissance lineaire de CWND

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 35 / 61

L’initialisation de la connexion

Un temps d’aller-retour, c’est penalisantSurtout pour les connexions courtes (majoritaires)Pas de donnees avec les SYNMal necessaire ?

Profiter d’informations d’une connexion precedenteObtenir des parametres plus pertinents (PMTU, RTT, . . . )S’authentifier par des cookies. . .

Utiliser une seule connexionConnexions persistantes (Keep Alive) de HTTP (par defaut dansHTTP 1.1)

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 36 / 61

Notes :

Notes :

Notes :

Page 13: Notes : Le controle de congestion dansˆchaput.perso.enseeiht.fr/supports/tcpip-congestion-handout.pdf · Qu’est-ce que la congestion? 1 Le probleme` Qu’est-ce que la congestion?

Le demarrage

Le slow start peut etre tres penalisantTemps d’aller retour longConnexions courtes

90 % des connexions contiennent moins de 10 segments

Envoyer des donnees plus totT/TCP [2, 3], TCP Fast Open [22]Problemes de securite

Commencer avec une taille de fenetre plus grandeEn 2002, la RFC 3390 preconise une taille de 3 segments (sur uneMTU de 1500)En 2013, la RFC 6928 (experimental) suggere de passer a 10

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 37 / 61

Le comportement long terme

TCP fonctionne relativement bien sur des reseaux a faible debitavec peu de pertesIl est bien moins performant sur les LFN

Long Fat Network (produit debit par RTT eleve)Accroissement du debit par Congestion Avoidance

De nombreux RTTDes RTT longs

Il est fonde sur les pertes !De nouvelles propositions

On cherche a etre TCP friendly la ou TCP New Reno est performantAu dela, on ne se prive pas d’etre plus aggressifPar exemple TCP compound et TCP Cubic

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 38 / 61

Utilisation d’une connexion unique

3 Les evolutions de TCP

Les problemes avec TCPUtilisation d’une connexion uniqueTCP CubicTCP Compound

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 39 / 61

Notes :

Notes :

Notes :

Page 14: Notes : Le controle de congestion dansˆchaput.perso.enseeiht.fr/supports/tcpip-congestion-handout.pdf · Qu’est-ce que la congestion? 1 Le probleme` Qu’est-ce que la congestion?

Utilisation d’une connexion unique

Communications en serieConnexions persistantes (Keep Alive) de HTTP (par defaut dansHTTP 1.1)Ne permet pas de profiter de tout le debit disponible

Communications en paralleleExemple de SPDY (une proposition pour HTTP 2.0) [13]Probleme du Head of Line Blocking

Refonte du protocole de transportPar exemple QUIC [26] qui vise a optimiser l’utilisation de SPDYLe protocole SCTP initialement prevu pour de la signalisationtelephonique [27]

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 40 / 61

TCP Cubic

3 Les evolutions de TCP

Les problemes avec TCPUtilisation d’une connexion uniqueTCP CubicTCP Compound

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 41 / 61

TCP CUBIC

Evolution de TCP BIC, elle propose un nouveau mecanismed’evitement de congestion [14]

En trois phases autour de la valeur de CWND suspecteSans dependance vis a vis du RTT

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 42 / 61

Notes :

Notes :

Notes :

Page 15: Notes : Le controle de congestion dansˆchaput.perso.enseeiht.fr/supports/tcpip-congestion-handout.pdf · Qu’est-ce que la congestion? 1 Le probleme` Qu’est-ce que la congestion?

Principes de TCP Cubic

Supposons une congestion presumee avec une taille de fenetreWmax

Detectee par une perte (timer ou ndup = 3)Diminution multiplicative pour resorber la congestion

Wmin = (1− β).Wmax

A la fin de la congestion, on repartW (t) = C.(t − K )3 + Wmax ou

t est le temps ecoule depuis la congestionC est un parametreK est le temps necessaire pour atteindre Wmax que l’on calcule par

W (0) = Wmin, ce qui donne K = 3√

β.WmaxC

D’ou la forme de la figure precedentePas de dependance vis a vis du RTT

C choisi pour rester TCP friendly lorsque necessaire

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 43 / 61

TCP Compound

3 Les evolutions de TCP

Les problemes avec TCPUtilisation d’une connexion uniqueTCP CubicTCP Compound

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 44 / 61

Principes TCP Compound

Objectifs similaires a ceux de TCP CubicEtre TCP friendly sur des reseaux saturesEtre plus agressif sur des reseaux sous utilises

Controle de congestion implante dans Windows depuis Vista [28]Compose de deux approches

L’une fondee sur les pertes (a la TCP Reno)L’autre sur les delais (a la TCP Vegas)La premiere est toujours active (il est aussi agressif que TCP Reno)La deuxieme permet d’etre plus agressif si le reseau semble sousuilise

L’idee de base est que la fenetre win evolue de la facon suivante(la detection de congestion etant fondee sur le delai)

win← win + α.wink sans congestionwin← win.(1− β) en cas de congestion

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 45 / 61

Notes :

Notes :

Notes :

Page 16: Notes : Le controle de congestion dansˆchaput.perso.enseeiht.fr/supports/tcpip-congestion-handout.pdf · Qu’est-ce que la congestion? 1 Le probleme` Qu’est-ce que la congestion?

Fonctionnement de TCP Compound

Nouvelle expression de la taille de fenetre utilisableuwnd = min(awnd , cwnd + dwnd)

Ou dwnd evolue en fonction du delaiEn tenant compte de cwnd qui perduredwnd n’est actif que si win > Wlow

Pour cela, on evalue l’occupation du reseau via la difference entreles debits espere et constate

diff = ( winbaseRTT −

winRTT ).baseRTT

On agit en fonction d’un seuil γ permettant d’anticiper unecongestion

Si diff < γ, alors dwnd incremente de max(α.wink − 1,0)Si diff ≥ γ, alors dwnd decremente de ζ.diffEn cas de perte (fast retransmit) dwnd recoit (1− β).win − cwnd/2

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 46 / 61

Fonctionnement de TCP Compound

La borne dwnd adopte un comportement AIMD

Additive Increase Multiple DecreaseFonde sur une observation du reseauSans dependance au RTT

Cela permet une plus grande agressiviteLorsque l’etat du reseau le permet

Permet de respecter TCP New Reno et d’etre au moins aussiefficace

dwnd n’est jamais negatifζ permet d’etre plus ou moins TCP friendly

Proposition de parametrage fonde sur une analysek = 0.75, α = 0.8, β = 0.5γ defini dynamiquementζ non decrit

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 47 / 61

Et UDP ?

4 Et UDP ?Le protocole DCCP

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 48 / 61

Notes :

Notes :

Notes :

Page 17: Notes : Le controle de congestion dansˆchaput.perso.enseeiht.fr/supports/tcpip-congestion-handout.pdf · Qu’est-ce que la congestion? 1 Le probleme` Qu’est-ce que la congestion?

Et UDP ?

Mecanismes implantes dans TCP uniquementProtocole historiquement le plus utilise pour de gros volumesUDP cantonne au plan de gestion (DNS, . . . ) ou aux reseaux locaux(NFS, . . . )

Utilisation croissante d’UDP pour des donneesVideo, voix, . . .Besoin de mecanismes equivalents (“TCP Friendly”)

En l’absence de tels mecanismesRisque d’iniquite [11] [7]Baisse de performance de TCP [5]Besoin de civisme (cf l’experience de TCP Vegas)

Probleme avec UDP

Les mecanismes implantes dans TCP sont fondes sur la notion deconnexion, absente d’UDP !

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 49 / 61

Le protocole DCCP

4 Et UDP ?Le protocole DCCP

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 50 / 61

La mise en œuvre dans UDP

Necessite d’une mise en place au niveau applicatifDifficulte de standardisationSous forme de librairie

Definition du protocole DCCP par l’IETF [15] [6]Service equivalent a UDPMecanismes protocolaires [19]

Etablissement de connexion, accuses de receptionPrise en compte de l’ECN, du PMTUD, . . .

Algorithmes de controle de congestionTCP-like Congestion Control [8]TCP Friendly Rate Control [9] (variations de debit moins abruptes,applications a taille de segment fixe)

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 51 / 61

Notes :

Notes :

Notes :

Page 18: Notes : Le controle de congestion dansˆchaput.perso.enseeiht.fr/supports/tcpip-congestion-handout.pdf · Qu’est-ce que la congestion? 1 Le probleme` Qu’est-ce que la congestion?

La prise en compte dans IP

5 La prise en compte dans IP

La gestion active des files d’attenteLa notification explicite de congestionEt pourquoi pas un circuit virtuel ?

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 52 / 61

La gestion active des files d’attente

5 La prise en compte dans IP

La gestion active des files d’attenteRandom Early Detection

La notification explicite de congestionEt pourquoi pas un circuit virtuel ?

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 53 / 61

La gestion active des files d’attente

Gestion de base des files d’attente des routeurs IP

Drop TailInequitableSynchronisation entre flotsReaction lorsque les files d’attente sont pleines (les burstsentrainent alors des pertes)

Active Queue Management (AQM) [1]Agir de facon anticipee sur les files d’attentesPar exemple en detruisant des paquets avant que la file soit pleineAccroıtre l’equiteMaintenir les files peu remplies

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 54 / 61

Notes :

Notes :

Notes :

Page 19: Notes : Le controle de congestion dansˆchaput.perso.enseeiht.fr/supports/tcpip-congestion-handout.pdf · Qu’est-ce que la congestion? 1 Le probleme` Qu’est-ce que la congestion?

Random Early Detection

5 La prise en compte dans IP

La gestion active des files d’attenteRandom Early Detection

La notification explicite de congestionEt pourquoi pas un circuit virtuel ?

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 55 / 61

Random Early Detection

Un algorithme d’AQM pour le Best Effort [12] [1]Desynchroniser les TCPAccroıtre l’equiteEfficacite non prouvee

Estimation de la taille de la file d’attentePar exemple moyenne mobile

Decision de detruire/marquer un paquetChoix aleatoireProbabilite fonction lineaire du taux de remplissage entre tmin et tmax

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 56 / 61

La notification explicite de congestion

5 La prise en compte dans IP

La gestion active des files d’attenteLa notification explicite de congestionEt pourquoi pas un circuit virtuel ?

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 57 / 61

Notes :

Notes :

Notes :

Page 20: Notes : Le controle de congestion dansˆchaput.perso.enseeiht.fr/supports/tcpip-congestion-handout.pdf · Qu’est-ce que la congestion? 1 Le probleme` Qu’est-ce que la congestion?

La notification explicite de congestion

Explicit Congestion Notification ou ECN [23] [24]Fournir une signalisation explicite de congestion [17]Permettre a TCP (et autres) de ne pas voir le reseau comme uneboite noire [10]

PrincipeNotification vers le destinataire des paquets (comme l’EFCI d’’atmou le FECN de Frame Relay)A charge du destinataire d’en informer l’emetteur (par du controlepiggybacke par exemple)Mise en place d’une contre mesure par l’emetteur

Mise en œuvreUtilisation des deux bits de poids faible de l’ex champ TOS d’IPv4Ou du Traffic Class d’IPv6Utilisation de deux bits Reserved de TCPMeme comportement de TCP qu’en cas de perte

Le message ICMP Source Quench est une forme de BECN

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 58 / 61

Et pourquoi pas un circuit virtuel ?

5 La prise en compte dans IP

La gestion active des files d’attenteLa notification explicite de congestionEt pourquoi pas un circuit virtuel ?

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 59 / 61

Et pourquoi pas un circuit virtuel ?

Lors de la mise en place d’un circuit virtuelNegociation d’un contrat de traficReservation de ressourcesIngenierie de traficCongestion residuelle limitee

Incompatible avec IP

Routage en mode paquetPas d’etat dans les routeurs

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 60 / 61

Notes :

Notes :

Notes :

Page 21: Notes : Le controle de congestion dansˆchaput.perso.enseeiht.fr/supports/tcpip-congestion-handout.pdf · Qu’est-ce que la congestion? 1 Le probleme` Qu’est-ce que la congestion?

Et pourquoi pas un circuit virtuel ?

“La” solution : Multiprotocol Label Switching (MPLS) [25]

Paquets marques d’un label a l’entree d’un reseauCommutation en fonction du labelMise en place de chemins (LSP) eventuellement routes par IP

Granularite variable grace a l’empilement de labels

MPLS apporte a IP certaines proprietes du mode circuit virtuel,notamment la possibilite de faire de l’ingenierie de trafic. C’est uncomplement (a plus large echelle) des outils de controle decongestion.

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 61 / 61

[1] B. Braden, D. Clark, J. Crowcroft, B. Davie, S. Deering, D. Estrin,S. Floyd, V. Jacobson, G. Minshall, C. Partridge, L. Peterson,K. Ramakrishnan, S. Shenker, J. Wroclawski, and L. Zhang.RFC 2309 : Recommendations on queue management andcongestion avoidance in the internet.Technical report, IETF, April 1998.Category : Informational.

[2] R. Braden.Extending TCP for Transactions – Concepts.Technical Report 1379, November 1992.Obsoleted by RFC 6247, updated by RFC 1644.

[3] R. Braden.T/TCP – TCP Extensions for Transactions FunctionalSpecification.Technical Report 1644, July 1994.Obsoleted by RFC 6247.

[4] Stephen William Edge.

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 61 / 61

An adaptive timeout algorithm for retransmission across a packetswitching network.SIGCOMM Comput. Commun. Rev., 14(2) :248–255, 1984.

[5] S. Floyd.Congestion Control Principles.Technical Report 2914, September 2000.

[6] S. Floyd, M. Handley, and E. Kohler.Problem Statement for the Datagram Congestion Control Protocol(DCCP).Technical Report 4336, March 2006.

[7] S. Floyd and J. Kempf.IAB Concerns Regarding Congestion Control for Voice Traffic inthe Internet.Technical Report 3714, March 2004.

[8] S. Floyd and E. Kohler.Profile for Datagram Congestion Control Protocol (DCCP)Congestion Control ID 2 : TCP-like Congestion Control.

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 61 / 61

Notes :

Notes :

Notes :

Page 22: Notes : Le controle de congestion dansˆchaput.perso.enseeiht.fr/supports/tcpip-congestion-handout.pdf · Qu’est-ce que la congestion? 1 Le probleme` Qu’est-ce que la congestion?

Technical Report 4341, March 2006.

[9] S. Floyd, E. Kohler, and J. Padhye.Profile for Datagram Congestion Control Protocol (DCCP)Congestion Control ID 3 : TCP-Friendly Rate Control (TFRC).Technical Report 4342, March 2006.Updated by RFC 5348.

[10] Sally Floyd.Tcp and explicit congestion notification.SIGCOMM Comput. Commun. Rev., 24(5) :8–23, 1994.

[11] Sally Floyd, Mark Handley, and Eddie Kohler.Problem statement for dccp.Internet draft, IETF, August 2005.

[12] Sally Floyd and Van Jacobson.Random early detection gateways for congestion avoidance.IEEE/ACM Trans. Netw., 1(4) :397–413, 1993.

[13] GOOGLE, http ://www.chromium.org/spdy.

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 61 / 61

SPDY web page.

[14] Sangtae Ha, Injong Rhee, and Lisong Xu.Cubic : A new tcp-friendly high-speed tcp variant.SIGOPS Oper. Syst. Rev., 42(5) :64–74, July 2008.

[15] IETF, http ://www.ietf.org/html.charters/dccp-charter.html.Datagram Congestion Control Protocol (dccp) Working GroupCharter.

[16] Van Jacobson and Michael J. Karels.Congestion avoidance and control.Computer Communication Review, 18(4) :314–329, 1988.

[17] R. Jain, K. K. Ramakrishnan, K. K. Ramakrishnan, and Raj Jain.A binary feedback scheme for congestion avoidance in computernetworks.ACM Transactions on Computer Systems, 8 :158–181, 1990.

[18] Raj Jain, K. K. Ramakrishnan, and Dah ming Chiu.Congestion avoidance in computer networks with aconnectionless network layer.Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 61 / 61

Technical report, Innovations in Internetworking, Artech House,1987.

[19] E. Kohler, M. Handley, and S. Floyd.Datagram Congestion Control Protocol (DCCP).Technical Report 4340, March 2006.

[20] John Nagle.RFC 896 : Congestion control in ip/tcp internetworks.Technical report, IETF, January 1984.

[21] J. Postel.RFC 793 : Transmission control protocol.Technical report, IETF, 1981.

[22] Sivasankar Radhakrishnan, Yuchung Cheng, Jerry Chu, ArvindJain, and Barath Raghavan.Tcp fast open.In Proceedings of the Seventh COnference on EmergingNetworking EXperiments and Technologies, CoNEXT ’11, pages21 :1–21 :12, New York, NY, USA, 2011. ACM.

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 61 / 61

Notes :

Notes :

Notes :

Page 23: Notes : Le controle de congestion dansˆchaput.perso.enseeiht.fr/supports/tcpip-congestion-handout.pdf · Qu’est-ce que la congestion? 1 Le probleme` Qu’est-ce que la congestion?

[23] K. Ramakrishnan and S. Floyd.A Proposal to add Explicit Congestion Notification (ECN) to IP.Technical Report 2481, January 1999.Obsoleted by RFC 3168.

[24] K. Ramakrishnan, S. Floyd, and D. Black.The addition of explicit congestion notification (ECN) to IP.RFC 3168, Internet Engineering Task Force, September 2001.

[25] E. Rosen, A. Viswanathan, and R. Callon.RFC 3031 : Multiprotocol label switching architecture.Standards track, IETF, January 2001.

[26] Jim Roskind.Quic quick udp internet connections multiplexed stream transportover udp.Technical report, GOOGLE, 2013.

[27] R. Stewart.Stream Control Transmission Protocol.Technical Report 4960, September 2007.Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 61 / 61

Updated by RFCs 6096, 6335, 7053.

[28] Kun Tan, Jingmin Song, Qian Zhang, and Murari Sridharan.A compound tcp approach for high-speed and long distancenetworks.Technical Report MSR-TR-2005-86, Microsoft Research, July2005.

[29] L Zhang.Why tcp timers don’t work well.In SIGCOMM ’86 : Proceedings of the ACM SIGCOMMconference on Communications architectures & protocols, pages397–405, New York, NY, USA, 1986. ACM.

Chaput Emmanuel Le controle de congestion dans l’Internet 2016-2017 61 / 61

Notes :

Notes :

Notes :