Réseaux et Protocoles 29/11/11

Documents pareils
Le protocole TCP. Services de TCP

Introduction. Adresses

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.

UDP/TCP - Protocoles transport

Réseaux IUP2 / 2005 IPv6

Rappels réseaux TCP/IP

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

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

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

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

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

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

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

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

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

La couche réseau Le protocole X.25

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

Master e-secure. VoIP. RTP et RTCP

Réseaux grande distance

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

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

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

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

Configuration automatique

Réseaux Internet & Services

Algorithmique des Systèmes Répartis Protocoles de Communications

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

Introduction aux Technologies de l Internet

Technologies de l Internet

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

Le service IPv4 multicast pour les sites RAP

FOCUS Evolution. Lisez-Moi. Version FE 7.0.t

Outils d'analyse de la sécurité des réseaux. HADJALI Anis VESA Vlad

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

TP 2 Réseaux. Adresses IP, routage et sous-réseaux

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

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

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

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

Plan. Programmation Internet Cours 3. Organismes de standardisation

Les Réseaux sans fils : IEEE F. Nolot

SSL ET IPSEC. Licence Pro ATC Amel Guetat

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

RTP et RTCP. EFORT

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

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

(Third-Man Attack) PASCAL BONHEUR PASCAL 4/07/2001. Introduction. 1 Domain Name Server. 2 Commandes DNS. 3 Hacking des serveurs DNS

Les Réseaux. les protocoles TCP/IP

Sécurité des réseaux IPSec

Capture, Filtrage et Analyse de trames ETHERNET avec le logiciel Wireshark. Etape 1 : Lancement des machines virtuelles VMWARE et de Wireshark

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

Architecture distribuée

Filtrage IP MacOS X, Windows NT/2000/XP et Unix

18 TCP Les protocoles de domaines d applications

La collecte d informations

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

Réseaux et protocoles Damien Nouvel

RCS : Rich Communication Suite. EFORT

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

Haute performance pour serveurs Web embarqués

Internet Group Management Protocol (IGMP) Multicast Listener Discovery ( MLD ) RFC 2710 (MLD version 1) RFC 3810 (MLD version 2)

EPREUVE E1 Epreuve scientifique et technique SOUS-EPREUVE E11 Etude des supports et protocoles de communication

SIP. Plan. Introduction Architecture SIP Messages SIP Exemples d établissement de session Enregistrement

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

DIGITAL NETWORK. Le Idle Host Scan

Outils de l Internet

TASK Santé : Le protocole Pésit /TCP-IP

Réseaux Résumé personnel

Configuration automatique

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

Algorithmique et langages du Web

VOCALYS LITE.

Notice d installation des cartes 3360 et 3365

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

Introduction aux réseaux

Les réseaux - deuxième partie

Tunnels et VPN. 22/01/2009 Formation Permanente Paris6 86

Chapitre 11 : Le Multicast sur IP

Services OSI. if G.Beuchot. Services Application Services Présentation - Session Services Transport - Réseaux - Liaison de Données - Physique

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

IPFIX (Internet Protocol Information export)

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

Partie 2 (Service de téléphonie simple) :

TP 1 : LES COMMANDES RESEAUX Matière: RESEAUX LOCAUX

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

Administration des ressources informatiques

Sécurisation du réseau

Introduction à l'analyse réseau Philippe Latu philippe.latu(at)linux-france.org

Mettre en place un accès sécurisé à travers Internet

Le protocole RADIUS Remote Authentication Dial-In User Service

Dynamic Host Configuration Protocol

TABLE DES MATIERES. I. Objectifs page 2. II. Types de réseaux page 2. III. Transmission page 2. IV. Câbles page 3. V.

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

Les réseaux : les principes Comment ça marche?

Parallélisme et Répartition

Analyse de la bande passante

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

Transcription:

Chapitre 5 La couche transport et TCP 1. Service transport 1.1. Service fourni aux couches supérieures Assure l acheminement de messages (TPDU) entre deux applications distantes avec certaines qualités (fiabilité, ordonnancement, délai, ) «cache» les réseaux sous-jacents aux applications Plusieurs services possibles orienté connexion, fiable (ex. TCP) sans connexion, pas fiable (ex. UDP) Transactionnel (sans connexion, fiable) Fiabilité partielle (ex : compromis fiabilité / délai) négociation éventuelle d options lors de l établissement d une connexion transport 2011 Réseaux et Protocoles chap. 5 1 La couche transport session transport service de bout en bout session transport réseau (A) réseau réseau réseau (B) liaison liaison liaison liaison physique physique physique physique extrémité 1 lien 1 routeur 1 lien 2 routeur 2 lien 3 extrémité 2 2011 Réseaux et Protocoles chap. 5 2 1.2. Les primitives du service transport permettent aux processus d application d accéder au service transport services en mode connecté de type TCP : point à point, analogie avec les «tubes» Unix émission / réception d un flot d octets non structuré le découpage des messages n est pas préservé par le protocole transport d autres services (ex ISO) maintiennent le découpage services en mode non connecté de type UDP émission / réception d un message complet comportant l adresse complète de destination peut être point à multipoint (broadcast, multicast) 2011 Réseaux et Protocoles chap. 5 3 L3 Informatique UdS 1

1.2. Les primitives du service transport (3) cas d un service en mode connecté les primitives permettent au programme d application d établir, utiliser et libérer les connexions en général mode dissymétrique client/serveur Au moment de la connexion identifier un point d accès au service (TSAP) en général adresse réseau + sélecteur ex adresse IP + N port : port 80 = service http identifier une connexion TSAP + sélecteur multiples connexions vers le même service exemple TCP : TSAP source + TSAP destination 2011 Réseaux et Protocoles chap. 5 4 1.2. Les primitives du service transport (4) Exemple des sockets STREAM (TCP) de BSD : socket : création d une socket bind : attache une adresse locale à une socket (TSAP) listen : le serveur alloue l espace pour mettre en file d attente les appels entrants accept : bloque le serveur : attente d une connexion entrante => quand TPDU Connection Request arrive, l entité transport : crée une socket de service éventuellement crée un processus associé à cette connexion et revient sur la socket d écoute pour attendre de nouvelles connexions connect : bloque le client dans l attente du TPDU Connection Accepted send / receive : envoi / réception de données close : libération de connexion symétrique 2011 Réseaux et Protocoles chap. 5 5 2. Eléments de protocole transport problématique bout en bout fiabilité, contrôle de flux, le service sous-jacent utilisé est un réseau et non un lien physique : adressage explicite établissement de connexion complexe (multiplexage) problème d errance des données dans le réseau doublons substitutions les paquets peuvent arriver dans le désordre les délais peuvent être grands et variables mémoires des routeurs intermédiaires gestion du contrôle de flux et de congestion de bout en bout difficile (vitesse de réaction, interaction entre plusieurs connexions) 2011 Réseaux et Protocoles chap. 5 6 L3 Informatique UdS 2

2.1. Etablissement d une connexion Adresser l application distante adresse de machine (ex IP) + adresse de point de connexion (exemple port TCP) multiplexage/démultiplexage de connexions Ex TCP : Ident. connexion = @ source + @ destination + port source + port destination éviter les substitutions confusion des données d une ancienne connexion avec celles d une nouvelle connexion de même identificateur on associe à chaque connexion une référence dont le modulo est très grand (TCP : 32 bits) négociation de la référence lors de la connexion échange tripartite être «sûr» que la connexion est établie «problème des deux armées» 2011 Réseaux et Protocoles chap. 5 7 2.2. Libération d une connexion libération asymétrique brutale => perte de données dans l autre sens libération symétrique chaque sens est libéré indépendamment de l autre bien adaptée si les deux processus savent quand libérer la connexion sinon, le dernier qui émet sa demande de déconnexion n est jamais sûr que celle-ci arrive échange tripartite besoin de temporisateurs dans les entités transport 2011 Réseaux et Protocoles chap. 5 8 3. UDP (User Datagram Protocol) Décrit dans le RFC 768 Protocole très simple (peu de fonctions) sans connexion, non fiable permet de transporter des données utilisateur entre des numéros de port source et destinataire préserve les limites des messages Utilisations applications de type transactionnel ou requête/réponse applications multipoint (multicast IP) format de l en-tête UDP ports source et destination : identifient les processus d application correspondants longueur UDP : longueur du datagramme complet total de contrôle (facultatif) : inclut un «pseudo en-tête» extrait de l en-tête IP données 2011 Réseaux et Protocoles chap. 5 9 L3 Informatique UdS 3

4. TCP (Transmission Control Protocol) Décrit dans les RFC 793, 1122, 1323, évolution constante (surtout contrôle de congestion) 4.1. Modèle de service TCP orienté connexion, bidirectionnelle fiable : gère les pertes, remet les données dans l ordre assure un contrôle de flux entre émetteur et récepteur une connexion TCP est identifiée par deux extrémités (adresses des sockets émetteur et destinataire) les données sont véhiculées sous forme de flots d octets pas de délimitation des messages de bout en bout équivalent d un tube Unix il existe un service de données urgentes (peu utilisé) assure (implicitement) contrôle de congestion d Internet rétroaction 2011 Réseaux et Protocoles chap. 5 10 4.2 TCP : principes un message TCP (segment) est transmis dans un paquet IP tout octet de données transmis sur une connexion TCP est référencé par un n de séquence (32 bits) un message TCP est formé d un en-tête d au moins 20 octets suivi éventuellement d options et de données la taille d un segment est limitée par : la charge utile d IP (maximum 65 535 octets) le «Path MTU discovery» peut être mis en oeuvre par TCP pour éviter la fragmentation TCP utilise une fenêtre d anticipation en émission fenêtre de taille variable (contrôle de flux et congestion) et éventuellement anticipation en réception l entité réceptrice acquitte avec le n du prochain octet attendu (ACK cumulatif) Possibilité d acquittement/retransmission sélectif (SACK) SACK (RFC 1106) 2011 Réseaux et Protocoles chap. 5 11 4.2.1 Format entête TCP bits 0 31 Port Source Port Destination Numéro Séquence Numéro Acquittement Taille entête et flags Fenêtre Checksum Pointeur Urgent Options éventuelles + bourrage Données éventuelles (nb entier d octets) 2011 Réseaux et Protocoles chap. 5 12 L3 Informatique UdS 4

ports source et destinataire (16 bits) : identifient les extrémités locales de la connexion (utilisés par les primitives socket) n de séquence et n d acquittement (32 bits) : chaque n est relatif à un octet de données N séquence = N du premier octet du segment si non vide sinon prochain à envoyer N acquittement = prochain octet attendu (piggy backing) taille de l en-tête TCP (4 bits) : nombre de mots de 32 bits de l en-tête ( 5 minimum + options) Flags (bits indicateurs) : rôle et contenu du segment URG : présence pointeur de données urgentes valide ACK : champ accusé de réception valide PSH : «donnée poussée» si = 1 (force la livraison) RST : réinitialiser la connexion (refus de connexion) SYN : synchroniser les n de séquence (connexion) FIN : libération d une connexion (déconnexion) + indicateurs de congestions (ECN : ECE + CWR RFC 2481) 2011 Réseaux et Protocoles chap. 5 13 taille de fenêtre W (16 bits) : contrôle de flux explicite si = 0 : blocage de l émetteur si > 0 : indique combien d octets peuvent être transmis à partir de N Acquittement total de contrôle (16 bits) qui porte sur en-tête et données TCP «pseudo en-tête» IP (car @IP identifient connexion) code arithmétique Checksum faux => segment ignoré pointeur d urgence (16 bits) : quand le bit URG est positionné, ce champ repère, dans la fenêtre, la position où les données urgentes se terminent option : certaines options utilisées à la connexion négociation des mécanismes disponibles d autres utilisées en cours de connexion 2011 Réseaux et Protocoles chap. 5 14 Exemples d options MSS (Maximum Segment Size) : taille maximale que l entité TCP peut recevoir dans son tampon (minimum du MSS des deux extrémités). le MSS est l unité de mesure de la fenêtre de congestion Window scale indique unité de mesure de la fenêtre : 2 wscale octets permet d augmenter la taille de la fenêtre (défaut : wscale =0) Timestamp : horodatage Possibilité de retransmission sélective (SACK accepted) etc Après les options, éventuel bourrage pour aligner sur un mot de 32 bits 2011 Réseaux et Protocoles chap. 5 15 L3 Informatique UdS 5

4.2.2. Gestion des connexions TCP (1) Ouverture de connexion tripartite : garantit que les deux extrémités sont prêtes à transférer des données et se sont accordées sur leurs numéros de séquence ( dans chaque sens) 1. le client demande une connexion (CONNECT) => segment TCP avec bit SYN = 1 et ACK = 0 2. quand ce segment arrive à destination, s il existe une application à l écoute sur le port destinataire (serveur ayant exécuté LISTEN et ACCEPT), elle peut : accepter la connexion : => segment avec SYN = ACK = 1 sinon refuser la connexion : => segment avec RST = 1 3. quand ce segment arrive à destination, le client sait que le serveur est connecté, et il informe le serveur qu il est aussi connecté => segment avec ACK = 1 Segments avec SYN contiennent valeurs initiales pour N SEQ 1 de moins que le premier octet envoyé 2011 Réseaux et Protocoles chap. 5 16 4.2.2. Gestion des connexions TCP (2) Fermeture de connexion les deux sens sont libérés indépendamment (fermeture symétrique) en principe il faut 4 segments pour fermer une connexion TCP : un FIN et un ACK pour chaque sens le premier ACK et le second FIN peuvent être dans le même segment => 3 segments on arme un temporisateur lorsque l on envoie un segment FIN pour une fermeture «correcte» fermeture de l application au préalable 2011 Réseaux et Protocoles chap. 5 17 4.2.3 Transfert de données (1) Transfert bidirectionnel simultané Transfert de données la gestion des fenêtres d anticipation est liée : aux réceptions d acquittements au rythme de lecture / écriture des applications L émetteur peut envoyer les octets compris entre dernier N ACK ( + grand modulo 2 32 ) reçu et dernier N ACK reçu + dernier W reçu W permet donc au récepteur de ralentir émetteur W = «crédit émission» 2011 Réseaux et Protocoles chap. 5 18 L3 Informatique UdS 6

4.2.3 Transfert de données (2) Fiabilité récepteur accepte dans l ordre et acquitte Mais peut mémoriser dans le désordre émetteur arme délai de retransmission RTO associé au plus ancien octet non acquitté Déclenchement RTO => retransmission segment le plus ancien Efficacité dépend estimation RTO très variable suivant connexion principe RTT calculé pour chaque paquet acquitté : dernierrtt NouveauRTT = a*ancienrtt + (1-a)*dernierRTT RTO = b * NouveauRTT (0 < a < 1, b > 1) algorithme de Karn : ne pas tenir compte paquets retransmis 2011 Réseaux et Protocoles chap. 5 19 Exemple connexion et échange Syn, S=100,A=0,W=4000, () Ack, S=101,A=251,W=4000, () S=101,A=251,W=4000, (1000) S=1101,A=251,W=4000, (1000) S=2101,A=1751,W=4000, (1000) Bloqué, fenêtre pleine S=1101,A=1751,W=4000, (1000) Retransmission (timeout) Syn,Ack S=250,A=101,W=2000, () X perte S=251,A=1101,W=2000, (1500) S=1751,A=1101,W=2000, () Non attendu : buffer S=1751,A=3101,W=2000, () S=3101,A=1751,W=4000, (1000) débloqué 2011 Réseaux et Protocoles chap. 5 20 4.2.3 Transfert de données (3) quand W = 0, l émetteur n envoie plus de données sauf dans deux cas : données urgentes segment d 1 octet : oblige le récepteur à ré-annoncer le prochain octet attendu et la taille de la fenêtre => évite les interblocages si l annonce d une taille de fenêtre > 0 s est perdue émetteurs : pas tenus de transmettre immédiatement les données qui proviennent des applications, ni les récepteurs : pas tenus d acquitter le plus rapidement possible Souvent un acquittement tous les 2 segments 2011 Réseaux et Protocoles chap. 5 21 L3 Informatique UdS 7

4.2.3 Contrôle de flux (1) Débit avec TCP standard W < 64 Ko (W codé sur 16 bits) au plus W par RTT Ex : RTT = 1ms (LAN) 64Ko /ms => 64 Mo/s ~500 Mb/s RTT = 640ms (satellite) 64 Ko / 640 ms ~800 Kb/s intérêt du paramètre Wscale (Window scale) Wscale = n => multiplie W par 2 n 2011 Réseaux et Protocoles chap. 5 22 4.2.3 Contrôle de flux (2) Emetteur bloqué dans 2 cas W = 0 (récepteur saturé) => attendre de recevoir segment avec W >0 La fenêtre d émission est pleine W octets envoyés et non encore acquittés si perte d un Ack : attendre Ack suivant (cumulatif) si perte données : attendre RTO et retransmettre si aucune erreur : attendre Ack (au plus RTT) peut indiquer que W trop petit 2011 Réseaux et Protocoles chap. 5 23 4.2.3 Contrôle de congestion Dans Internet, contrôle distribué dans les stations émettrices TCP s en charge, en diminuant le débit des données émises =>TCP fait varier dynamiquement la taille de la fenêtre d émission perte (et retransmission) interprété par TCP comme congestion dans le réseau => TCP surveille les temporisateurs de retransmission pour détecter une congestion TCP gère deux fenêtres : «fenêtre de contrôle de flux» : relative à la capacité du récepteur (paramètre W) «fenêtre de congestion» : relative à la capacité du réseau (paramètre CW, calculé par émetteur) => le nombre d octets qui peut être envoyé doit être le minimum de ces fenêtres FE = min (W, CW) en pratique aussi limité par taille buffers 2011 Réseaux et Protocoles chap. 5 24 L3 Informatique UdS 8

4.2.3 Contrôle de congestion (2) TCP basique (Tahoe, années 80) Débit initial : doit être faible (capacité réseau inconnue) La fenêtre de congestion CW est mesurée en MSS algorithme du «démarrage lent» slow start (Jacobson 88) à l établissement de la connexion, CW = 1 émetteur envoie un segment de taille maximum à chaque acquittement sans timeout, CW = CW +1 => à chaque RTT sans perte CW double croissance exponentielle Débit limité aussi par W => si W faible débit n augmente plus Lors d une retransmission (Timeout) considère qu il s agit d une congestion redémarre en slow start avec CW = 1 2011 Réseaux et Protocoles chap. 5 25 4.2.3 Contrôle de congestion (3) Tahoe (suite) Pour éviter les oscillations brutales quand la fenêtre CW atteint un seuil S on augmente CW de 1 par RTT (au lieu de 1 par ACK) augmentation linéaire phase d évitement de congestion Calcul de S : initialement S := Wmax (64 Ko) à chaque retransmission sur timeout = indication de congestion on prend S égal à la moitié du dernier CW S := CW/2 CW := 1 2011 Réseaux et Protocoles chap. 5 26 Evolution CW et débit (Tahoe) 18 16 14 12 CW en Mss 10 8 6 4 2 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 temps en RTT CW débit moyen depuis le début Pertes au temps 5, 14, 23, 34 seuil 2011 Réseaux et Protocoles chap. 5 27 L3 Informatique UdS 9

4.2.3 Contrôle de congestion (4) Si perte, attente RTO : peu efficace «fast retransmit» (TCP Reno) Si 3 Ack dupliqués 3 paquets sont arrivés après un «trou» réseau congestionné mais «pas trop» fast retransmit (RFC 2581) : Retransmettre premier segment de la fenêtre S := CW/2 CW := S évitement de congestion on ne repasse pas en slowstart si Timeout RTO (= congestion grave, panne) S := CW/2 CW := 1 slow start 2011 Réseaux et Protocoles chap. 5 28 Evolution fenêtre et débit (Fast Retransmit) 18 16 14 12 10 8 6 4 2 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 temps en RTT CW (en MSS) débit moyen en MSS par RTT Perte et triple ACK au temps 4, 10,19,Timeout au temps 26 2011 Réseaux et Protocoles chap. 5 29 Retransmission sélective Nouveau mécanisme introduit RFC2018 négocié à la connexion option SACK_permitted si récepteur détecte une perte N Seq segment reçu > N Seq segment attendu récepteur envoie Ack (A) avec option SACK : (d 1,f 1 ), (d 2,f 2 ),, (d n,f n ) A d 1 f 1 d 2 f 2 évite retransmission continue Retransmettre segments A - d 1, f 1 - d 2,, f n-1 - d n permet de déclencher le fast retransmit/recovery 2011 Réseaux et Protocoles chap. 5 30 L3 Informatique UdS 10

Fast retransmit Triple ACK ou SACK => fast retransmit Pas attendre RTO Après retransmission sur triple ACK Si acquittement partiel = autre segment perdu dans la même fenêtre => retransmettre segment correspondant au ACK partiel 2011 Réseaux et Protocoles chap. 5 31 Fast recovery rétablir + vite débit (CW) Diviser CW par 2 au lieu de repartir en slow start Augmenter CW à réception d Ack dupliqués Indique que des paquets arrivent Augmenter CW de 1 MSS par ack dupliqué Jusqu à acquittement du segment retransmis 2011 Réseaux et Protocoles chap. 5 32 TCP : équité En cas de lien congestionné De débit D Si une seule connexion TCP Débit connexion D Ex : réseau d accès ADSL Si n connexions TCP (n > 1) Équité si chaque connexion D/n En pratique pertes réparties statistiquement => chaque connexion ralentit Mais dépend aussi du RTT RTT longs désavantagés 2011 Réseaux et Protocoles chap. 5 33 L3 Informatique UdS 11

Fenêtres : synthèse émetteur Côté émetteur Ni DA S1 DE DA +FE Envoyé Envoyé Peut être envoyé et acquitté non tous acquitté si DE < DA + FE Ni : Numéro initial choisi par l émetteur DA : dernier N Ack reçu S1 : segment acquitté par SACK (0 ou 1 ou plusieurs segments) DE : dernier octet envoyé. Cas particuliers DE = DA -1 : aucun octet non acquitté DE = DA + FE : fenêtre pleine, émetteur bloqué FE : fenêtre émission = min(w, CW) A chaque acquittement nouveau DA avance, FE est recalculé, RTT et RTO estimé 2011 Réseaux et Protocoles chap. 5 34 Fenêtres : synthèse récepteur Côté récepteur Ni PA S1 S2 PA + W Reçu et Peuvent être acceptés acquitté Ni : Numéro initial choisi par l émetteur PA : Prochain attendu = dernier N Ack envoyé W : Fenêtre réception (fonction des capacités) S1, S2 blocs reçus dans le désordre (SACK éventuel) non encore fournis à l application A chaque segment attendu reçu A chaque segment non attendu reçu PA avance PA inchangé W est éventuellement recalculé stocker segment non attendu Acquittement éventuellement envoyé envoyer ACK dupliqué ou SACK 2011 Réseaux et Protocoles chap. 5 35 TCP : conclusion Protocole stable amélioration algo retransmission/congestion chaque système (Windows, Linux) implémente une ou plusieurs variantes Optimisation pour réseaux très haut débit Wscale, SACK, cubic, fasttcp, Manque d efficacité si réseau peu fiable perte congestion Exemple : réseaux sans fil 2011 Réseaux et Protocoles chap. 5 36 L3 Informatique UdS 12