Contrôle de congestion dans le protocole TCP



Documents pareils
Le protocole TCP. Services de TCP

Couche Transport TCP et UDP

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

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

Introduction. Adresses

Une méthode de différenciation de pertes pour améliorer la performance des protocoles de transport sur réseaux sans-fil

UDP/TCP - Protocoles transport

Rappels réseaux TCP/IP

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

Master e-secure. VoIP. RTP et RTCP

Plan. Programmation Internet Cours 3. Organismes de standardisation

Sécuriser son réseau. Sécuriser son réseau Philippe Weill (IPSL/LATMOS) Frédéric Bongat (SSI/GOUV/FR)

M1 Informatique, Réseaux Cours 9 : Réseaux pour le multimédia

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

Internet Protocol. «La couche IP du réseau Internet»

Algorithmique des Systèmes Répartis Protocoles de Communications

RTP et RTCP. EFORT

Nmap (Network Mapper) Outil d exploration réseau et scanneur de ports/sécurité

Internet et Multimédia Exercices: flux multimédia

Routage AODV. Languignon - Mathe - Palancher - Pierdet - Robache. 20 décembre Une implémentation de la RFC3561

Chapitre I. La couche réseau. 1. Couche réseau 1. Historique de l Internet

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

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

Principes de DHCP. Le mécanisme de délivrance d'une adresse IP à un client DHCP s'effectue en 4 étapes : COMMUTATEUR 1. DHCP DISCOVER 2.

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

Le service FTP. M.BOUABID, Page 1 sur 5

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

Niveau Transport "Transport Layer" I) Problèmes et solutions au niveau transport II) Exemple des protocoles et services de transport dans l INTERNET

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

Optimisation et adaptation des communications dans un réseau

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

DIGITAL NETWORK. Le Idle Host Scan

Réseaux M2 CCI SIRR. Introduction / Généralités

Configuration automatique

Ch2 La modélisation théorique du réseau : OSI Dernière maj : jeudi 12 juillet 2007

Réseaux IUP2 / 2005 IPv6

NOTIONS DE RESEAUX INFORMATIQUES

Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A. TP réseau firewall

! 1 /! 5 TD - MIP + RO - NEMO. 1. Mobile IP (MIPv6) avec optimisation de routage

IPFIX (Internet Protocol Information export)

Les réseaux - deuxième partie

Déploiement d une architecture Hadoop pour analyse de flux. françois-xavier.andreu@renater.fr

VOIP. QoS SIP TOPOLOGIE DU RÉSEAU

Réseaux et protocoles Damien Nouvel

Cisco Certified Network Associate

Présentation du modèle OSI(Open Systems Interconnection)

Analyse de la bande passante

Principes du transfert fiable de données. Les réseaux - deuxième partie. Transfert fiable de données fonctionnement

Culture informatique. Cours n 9 : Les réseaux informatiques (suite)

Administration des ressources informatiques

Devoir Surveillé de Sécurité des Réseaux

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

La supervision des services dans le réseau RENATER

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

Le Multicast. A Guyancourt le

Sécurité des réseaux Firewalls

Un aperçu de la technologie d'accélération WAN de Silver Peak

Réseaux. 1 Généralités. E. Jeandel

Dynamic Host Configuration Protocol

La collecte d informations

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

Réseaux. Moyens de sécurisation. Plan. Evolutions topologiques des réseaux locaux

Firewall. Souvent les routeurs incluent une fonction firewall qui permet une première sécurité pour le réseau.

Année Universitaire session 1 d automne Parcours : CSB5 Licence 3 STS Informatique

Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN

Réseaux grande distance

II/ Le modèle OSI II.1/ Présentation du modèle OSI(Open Systems Interconnection)

Le protocole SSH (Secure Shell)

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

Introduction aux Technologies de l Internet

Configuration automatique

Optimisation WAN de classe Centre de Données

Les Réseaux Informatiques

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

Haka : un langage orienté réseaux et sécurité

PROGRAMME DETAILLE. Parcours en première année en apprentissage. Travail personnel CC + ET réseaux

Cours de sécurité. Pare-feux ( Firewalls ) Gérard Florin -CNAM - - Laboratoire CEDRIC -

Réseaux Internet & Services

1- Principe général : 2- Architecture réseau pour ToIP : 3 Bilan. Qu est-ce que la VoIP/ToIP? IPBX/Protocoles utilisés

La Qualité de Service le la Voix sur IP. Principes et Assurance. 5WVOIP rev E

Cours des réseaux Informatiques ( )

Algorithmique et langages du Web

Groupe de travail Métrologie. Les métriques IPPM.

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

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

FTPS AVEC UNE APPLIANCE FAST360 EN COUPURE. Table des matières

ETI/Domo. Français. ETI-Domo Config FR

Doctorat ParisTech. TELECOM ParisTech. Flow-Aware Networking : garanties de performance pour le trafic IP

Chapitre 1. Introduction aux applications multimédia. 1. Introduction. Définitions des concepts liés au Multimédia (1/2)

RESEAUX TCP/IP: NOTIONS AVANCEES. Preparé par Alberto EscuderoPascual

Agrégation de liens xdsl sur un réseau radio

Cours n 12. Technologies WAN 2nd partie

20/09/11. Réseaux et Protocoles. L3 Informatique UdS. L3 Réseaux et Protocoles. Objectifs du cours. Bibliographie

TRAFFIC SHAPING SOLUTIONS OPEN SOURCE

QoS et Multimédia SIR / RTS. Introduction / Architecture des applications multimédia communicantes

Métrologie réseaux GABI LYDIA GORGO GAEL

ADSL. Étude d une LiveBox. 1. Environnement de la LiveBox TMRIM 2 EME TRIMESTRE LP CHATEAU BLANC CHALETTE/LOING NIVEAU :

Les Réseaux sans fils : IEEE F. Nolot

Métrologie des réseaux IP

Les Réseaux. les protocoles TCP/IP

Transcription:

Contrôle de congestion dans le protocole TCP Eugen Dedu (utilise des transparents de S. Linck et des figures de Sanadidi) UFC, UFR STGI, master SRM, Montbéliard septembre 2007 Eugen.Dedu@pu-pm.univ-fcomte.fr

Introduction aux réseaux Transfert d'une donnée, par ex. un fichier par FTP Division en paquets par TCP de l'ordinateur source File d'attente (buffers) des routeurs Appli Ordinateur source Routeur Ordinateur destination Appli OS (TCP) Buffer OS (TCP) 2

Introduction à la congestion Lien (bande passante, latence), analogie avec le train Ex. : taux de transfert idéals entre différents ordinateurs CC = adaptation à la bande passante disponible à chaque instant 10Mb/s 1Mb/s 5Mb/s Ordinateur 1 Routeur Routeur Ordinateur 3 10Mb/s 2Mb/s Ordinateur 2 Ordinateur 4 3

Inconvénients de la congestion Congestion = routeur avec file d'attente pleine Si routeur avec file d'attente (quasi-)pleine : rejet/perte de paquet (car débordement mémoire routeur) délais importants de transfert (car attente dans les files des routeurs) Causes de la perte d'un paquet : problème matériel problème d'environnement (souvent dans les réseaux sans fil) mais surtout congestion d'un routeur En filaire, perte d'un paquet ~= congestion d'un routeur 4

Exemple de congestion Ex. réel d'écroulement du réseau en 1986 [Jacobson] liaison de 400 m avec 2 routeurs débit des données : 32 kb/s -> 40 b/s Ex. d'un transfer avec CC 5

Ex. de problème réseau Un utilisateur se plaint d'un débit faible En regardant, une application UDP est très utilisé UDP ne s'adapte pas à la bande passante disponible TCP s'adapte => TCP est défavorisé Src UDP Src TCP 10 Mb/s 128 kb/s R 1 1.5 Mb/s R 2 10 Mb/s 10 Mb/s Dest UDP Dest TCP 6

Netographie Practical Analysis of TCP Implementations: Tahoe, Ren Internetworking with TCP/IP, Douglas Comer, 2000 Wikipedia Page de Sally Floyd : ECN, RED, NS2, TFRC, DCCP 7

Plan Contexte TCP présentation définition des termes contrôles de congestion Qualité de service : ECN Support des systèmes d'exploitation 8

Contexte : modèle OSI OSI : Open Systems Interconnection, 1982 OSI Divisé en couches Application Internet Transfert de données avec CRC Présentation Application end-to-end Session UDP : 0 % de fiabilité Transport UDP / TCP TCP : 100 % de fiabilité Réseau IP Liaison Physique Données 9

Couche réseau : protocole IP Couche réseau Assure le transfert des données entre deux machines sur des réseaux différents Routage 10

En-tête IP 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Version HdrLen DiffServ Total Length + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Identification Flags Fragment Offset + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Time to Live Protocol Header Checksum + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Source Address + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Destination Address + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Options Padding 11

Historique du CC : passé 1980 : UDP, sans CC 1988 : TCP Tahoe, 1er CC 1990 : TCP Reno, se remet plus rapidement lors d'une perte 1994 : TCP Vegas, basé sur l'historique bcp de machines utilisent TCP Tahoe/Reno, et il est plus faible en concurrence avec TCP utilisé => pas trop utilisé 1994 : ECN, informations sur la congestion 1996 : TCP SACK, gère mieux une perte suivie de non-pertes 1999 : TCP NewReno, se remet mieux lors de plusieurs pertes consecutives 12

Historique du CC : futur 2000 : TFRC, basé équation 2001 : TCP Westwood+, presqu'égal avec TCP, mais adapté aux réseaux sans fil 2004 : TIBET, High-speed TCP, DCCP,... 13

Contexte : UDP UDP = User Datagram Protocol Envoi de paquets : à tout moment sans confirmation de réception => fiabilité 0 % Utile pour des services simples ou des données vidéo etc. NFS,... CBR = Constant Bit Rate envoi régulier de paquets 14

TCP TCP = Transmission Control Protocol Fiabilité 100 % Ordonnancement Contrôle de flux Contrôle de congestion basé fenêtre Orienté connexion, full-duplex Orienté bit : TCP divise les données en paquets... 15

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + En-tête TCP 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Source Port Destination Port + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sequence Number + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Acknowledgment Number + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Data U A P R S F Offset Reserved R C S S Y I Window G K H T N N + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Checksum Urgent Pointer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Options Padding 16

Principe end-to-end Un hôte est impliqué dans 1 transfert, un routeur dans beaucoup de transferts Les deux hôtes d'extrémité sont reponsables du débit de transfert des données : à quel vitesse transmettre quand transmettre quand accélérer et décélérer le débit Le réseau ne leur fournit pas des informations explicites 17

TCP : définitions Contrôle de flux : par rapport au récepteur l'émetteur adapte le nombre de paquets envoyés à la taille du buffer de réception Contrôle de congestion : par rapport au réseau l'émetteur adapte le débit des données envoyées à la bande passante instantanée du réseau NB : ce n'est pas la taille des paquets, mais leur débit d'envoi qui change 18

TCP : définitions : fenêtres Buffer de réception : espace de stockage des données (reçues ou non) Fenêtre de réception nombre max de paquets que le récepteur est capable de recevoir à un certain moment (l'espace libre au récepteur) Fenêtre d émission : les données de l'application Fenêtre de congestion (cwnd) sous-fenêtre mobile de la fenêtre d'émission nombre max de paquets que l'émetteur peut envoyer sans recevoir aucun accusé Seuil de démarrage lent (ssthresh) estimation de la bande passante disponible 19

Fenêtres de l'émetteur source 20

Fenêtres du récepteur source 21

TCP : définitions : accusés de réception Accusé de réception récepteur -> émetteur numéro du 1er octet attendu par le récepteur TCP classique : les accusés sont cumulatifs DupACK : un accusé identique au précédent si paquet N arrive au récepteur avant N-1, son accusé est identique à l'accusé de N-2 Delayed ACK : retarder les accusés après min (le 2ème paquet reçu, un temps fixe, eg 500 ms) (sauf cas particuliers, voir TP) [RFC 2581] 22

TCP : définitions : horloges RTT (Round Trip Time) temps entre l envoi d un paquet et la réception de son accusé RTO (Retransmission Timeout) à chaque envoi d'un paquet, une horloge propre est lancée si l'horloge expire, le paquet est retransmis le RTO est affecté dynamiquement, en fonction du RTT [RFC 2988] exemple : RTO = 2*RTT 23

TCP : mécanismes de CC En gén., la perte d'un paquet est la seule information sur l'état du réseau Le CC est géré exclusivement par l'émetteur le récepteur ne fait que renvoyer des accusés de réception Les algorithmes basiques de CC supportés par TCP sont [RFC 2581] : slow start congestion avoidance fast retransmission fast recovery cwnd++ (CA) ou /2 (si perte) => mécanisme AIMD (Additive Increase, Multiplicative Decrease) 24

TCP : slow start But : retrouver rapidement la bande passante disponible cwnd = 1 cwnd++ à chaque accusé reçu (cwnd *= 2 à chaque RTT) (croissance exponentielle) ssthresh = valeur arbitraire Si atteinte ssthresh : on entre en congestion avoidance Si perte : ssthresh = cwnd / 2 cwnd = 1 on relance le slow start 25

TCP : congestion avoidance Utilisé quand cwnd >= ssthresh quand cwnd < ssthresh, c'est le slow start qui est utilisé But : augmenter le débit en testant gentillement la bande passante disponible cwnd++ à chaque RTT (croissance linéaire) Si perte : ssthresh = cwnd / 2 cwnd = 1 retour au mode slow start 26

TCP : fast retransmission But : détecter plus rapidement la perte d'un paquet (et le retransmettre) Un paquet est considéré par l'émetteur comme perdu si : pas d'accusé au timeout (=> pertes successives), déjà traité ou bien récéption de N dupacks, N = 3 en gén. (=> perte isolée) Fast retransmission : si N dupacks, on n'attend plus le timeout, mais : on retransmet le paquet on entre en slow start (Tahoe) ou fast recovery (les autres) 27

TCP : fast recovery ssthresh = cwnd / 2 cwnd = ssthresh + 3 ( gonflement de cwnd) => envoi éventuel de nouveaux paquets 3, car 3 paquets accusés Pour chaque dupack, cwnd++ => envoi éventuel d'un nouveau paquet Réception d'un non dupack ( dégonflement de cwnd) : cwnd = ssthresh retour au congestion avoidance 28

TCP : algorithmes de CC Tahoe : slow start + congestion avoidance + fast retrans Reno : Tahoe + fast recovery Newreno : Reno + adaptation aux pertes successives Vegas : basé sur l'historique du RTT (état des routeurs) SACK, DSACK : spécifie exactement les paquets reçus Westwood+ : basé sur l'historique du RTT, meilleure utilisation si pertes aléatoires ABC : des octets à la place de paquets Beaucoup d'autres... 29

TCP : Tahoe Perte <=> timeout ou 3 dupacks Utilise : slow start congestion avoidance fast retransmission Initialisation : cwnd <-- 1 (MSS); ssthresh <-- Init_Ssthresh; /* (implementation dependant) */ State <-- Slow Start; 30

TCP : Tahoe : algorithme ACK received in Slow Start: cwnd <-- cwnd +1 (MSS); /* "exponential" increase of cwnd */ If cwnd > ssthresh Then State <-- Congestion Avoidance; ACK received in Congestion Avoidance: If (#ack received = cwnd) Then cwnd <-- cwnd +1 (MSS); /* "linear" increase of cwnd */ Timeout expiration OR 3rd DupACK received : Retransmit (lost packet); ssthresh <-- cwnd/2; cwnd <-- 1(MSS); State <-- Slow Start; 31

TCP : Reno Reno = Tahoe + fast recovery Plus rapide en récupération après N dupacks source window SS CA SS: Slow Start CA: Congestion Avoidance Fast retransmission/ fast recovery 32

TCP : Newreno Reno + légère modification de fast recovery Meilleur si plusieurs pertes non contigus dans un même vol de paquets Reno : cwnd peut décroître plusieurs fois dans un même RTT Lors de la réception d'accusés partiels (qui accusent une partie des paquets envoyés), envoie le paquet suivant perdu tout de suite (les paquets?) Reste en fast recovery jusqu'à la réception des accusés de tous les paquets perdus dans le vol de paquets initial => Meilleur, car il coupe cwnd seulement après la 1ère perte 33

TCP : Vegas window But : réduire le débit avant qu'une perte apparaisse L'historique du RTT donne des informations sur l'évaluation de la taille des buffers des routeurs cwnd régulé par le temps d'arrivée des accusés et par le RTT courant vs. moyen intervalles 0..alfa..bêta.. (TCP classique régulé uniquement par la réception des accusés de réception) SS CA time 34

TCP : SACK Selective ACKs Implémenté comme option TCP négocié lors de l'initiation de la connexion Récepteur précise les paquets reçus : début et fin de chaque bloc de segments contigus reçus Connaissance du numéro du ou des paquets à ne pas retransmettre Implémentable dans Reno par ex. DSACK (Duplicate SACK) : paquet reçu plusieurs fois 35

TCP : timestamps RFC 1323 Permet, entre autres, d'obtenir avec précision le RTT d'un paquet utile lors de retransmissions (à quel paquet se réfère un ack?) sur plusieurs paquets, permet de savoir si la congestion est sur le chemin ascendant ou descendant Option de TCP, 12 octets Émetteur et récepteur : insèrent le timestamp dans chaque paquet au moment de l'envoi renvoient le timestamp de l'autre extrémité 36

TCP : ABC ABC : Appropriate Byte Counting (1999, 2003, rfc 3465) En SS ou CA : augmentation à chaque accusé reçu Mais si un accusé est perdu et le prochain accusé accuse deux paquets, l'augmentation est faite une seule fois!! ABC : utiliser le nombre d'octets accusés au lieu du nombre d'accusés reçus 37

Concurrence des flux Les flux TCP sont équitables : chacun des N flux prend 1/N de la bande passante en réalité, la fraction est proportionnelle au RTT du flux : débit ~ MSS / (RTT * p), p = probabilité d'erreur Les flux UDP ne sont pas équitables TCP est défavorisé par rapport à UDP Évolution de la vitesse de transfert en concurrence de flux 38

Réseaux sans fil : caractéristiques Filaire : 99.9... % : perte due à une congestion d'un routeur le reste : perte due à un problème matériel Non filaire : beaucoup d'interférences, donc des pertes lors d'une perte, TCP considère qu'il s'agit d'une congestion, donc il réduit le débit, le contraire de ce qu'il doit faire 39

TCP : Westwood+ Mémorise les RTTs estime la bande passante disponible Lors d'une perte, se remet à la valeur précédente de cwnd (TCP classique réduisait par 2 le cwnd) Mieux adapté que les autres aux réseaux sans-fil 40

Réseaux à grand produit bande passante * délai : caractéristiques Ex. : 10 Gb/s et RTT de 100ms L'augmentation linéaire de cwnd est trop faible et la baisse 0.5 est trop importante Protocoles nouveaux : HighSpeed TCP, BIC,... HighSpeed TCP, constante low_window : si cwnd <= low_window, TCP classique si cwnd > low_window, l'augmentation est plus grande et la baisse plus petite, en fonction du nb pertes, cwnd etc. 1 => f(cwnd), 0.5 => f(cwnd) 41

TCP : BIC Adapté aux réseaux à grande bande passante * délai Fonction d'augmentation de cwnd modifiée Lors d'une perte, l'actuelle cwnd devient max et la nouvelle cwnd devient min Recherche binaire : cwnd suivante est (min+max)/2 jusqu'à perte d'un paquet Si max min trop grand, augmentation linéaire jusqu'à un certaine différence Etc. 42

Réseaux à bande passante asymétrique Ex. : ADSL TCP n'est pas adapté 43

Qualité de service : routeurs Reçoit des paquets par toutes ses interfaces Envoie les paquets reçus sur la bonne interface table de routage Pb. : la file d'attente peut se remplir 44

Qualité de service : gestion des files d'attente des routeurs Statiques : DropTail : le paquet est rejeté ssi la file est pleine très rapide le plus utilisé génère rafale de retransmissions dès fois, le même flux est pénalisé AQM (Active Queue Management) : mesure régulièrement la taille de la file RED : Random Early Detection 45

Qualité de service : algorithme RED But : avertir l'émetteur que la file est quasi-remplie rejeter quelques paquets avant que la file soit pleine les émetteurs réagissent en réduisant leur débit, comme si perte Deux seuils, th min et th max si 0<=taille<th min, le paquet passe si th min <=taille<th max, le paquet est rejeté avec une probabilité dépendante de taille si th max <=taille, le paquet est rejeté 46

Qualité de service : ECN ECN : Explicit Congestion Notification But : avertir l'émetteur sans perte de paquet Marquage ECN Émetteur Donnée Routeur Accusé Récepteur marqué Les accusés ne sont pas marqués par les routeurs Se met au-dessus de RED (par ex.), en changeant le rejet par le marquage (rfc 3168, page 9, par. 3 et 4) 47

Qualité de service : ECN : marquage À l'initiation du transfert : bit ECE (ECN Echo) du champ Code bits de TCP (avant le bit URG) chaque machine spécifie si elle est capable ECN Pendant le transfert : le routeur peut modifier les 2 bits LSB du champ DiffServ d'ip 00 : Non ECT (ECN Capable Transport), paquet non ECN 01, 10 : ECT : paquet ECN, pas encore marqué 11 : CE (Congestion Experienced), paquet ECN marqué 48

Qualité de service : ECN : marquage Pendant le transfert : 2 bits du champ Code bits (avant le bit URG) de TCP le destinataire envoie ECE envoie à chaque accusé jusqu'à réception de CWR l'émetteur répond par CWR (Congestion Window Reduced) Émetteur Donnée Routeur Accusé marqué Récepteur Marquage ECN 49

Qualité de service : ECN Pour que ECN soit utilisable lors d une transmission, il doit être utilisé et compris par : les deux machines hôtes les machines intermédiaires (routeurs, firewalls, ) à ce jour, très peu de routeurs ne sont pas compatibles ECN ECN n'est pas utilisé en UDP 50

Support des systèmes d'exploitation : linux /proc/sys/net/ipv4/ tcp_ecn tcp_congestion_control : bic, reno, highspeed, vegas, westwood etc. tcp_timestamps tcp_sack, tcp_dsack plus d'info : man tcp et man ip, section Sysctls /etc/rc.local echo 1 >/prc/sys/net/ipv4/tcp_ecn Code source linux de TCP : http://lxr.linux.no/source/net/ipv4/tcp_input.c?v=2. 6.22, fonction tcp_acktcp_cong_avoid par exemple 51

Simulation ns2, opnet 52

Conclusions TCP adapte le débit des données envoyées à la bande passante disponible Les flux TCP sont équitables Plusieurs algorithmes de CC en TCP existent Newreno avec SACK, les plus utilisés Quatre phases lors d'un transfert TCP : slow start congestion avoidance fast recovery fast retransmit 53

Conclusions TCP n'est pas adapté à tous les types de réseau Routeurs DropTail et RED ECN permet d'avertir l'émetteur du début d'une congestion sans perte de paquet 54