TD : Couche Transport (TCP)



Documents pareils
Le protocole TCP. Services de TCP

Couche Transport TCP et UDP

Introduction. Adresses

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

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

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

UDP/TCP - Protocoles transport

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

DIGITAL NETWORK. Le Idle Host Scan

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

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

Les réseaux - deuxième partie

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

Réseaux grande distance

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

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

L exclusion mutuelle distribuée

La collecte d informations

Le service IPv4 multicast pour les sites RAP

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

[ Sécurisation des canaux de communication

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

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

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

Partie 7 : Gestion de la mémoire

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

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

Windows Internet Name Service (WINS)

Analyse de la bande passante

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

Métrologie réseaux GABI LYDIA GORGO GAEL

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

Algorithmique des Systèmes Répartis Protocoles de Communications

NetCrunch 6. Superviser

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

Cisco Certified Network Associate

Master e-secure. VoIP. RTP et RTCP

Algorithmique et langages du Web

TD n o 8 - Domain Name System (DNS)

Algorithmique répartie

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.

Chapitre 4 : Exclusion mutuelle

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

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

La couche réseau Le protocole X.25

Configurer l adressage des serveurs et des clients

Transmissions série et parallèle

Réseaux Internet & Services

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

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

Les arbres binaires de recherche

La supervision des services dans le réseau RENATER

NOTIONS DE RESEAUX INFORMATIQUES

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

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

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

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

Administration Réseau sous Ubuntu SERVER Serveur DHCP

L outil Nmap-Stateful. Olivier Courtay Thomson R&D / IRISA

Voix sur IP Étude d approfondissement Réseaux

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

Installation et configuration d un serveur DHCP (Windows server 2008 R2)

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

Serveur FTP. 20 décembre. Windows Server 2008R2

LA GESTION COMMERCIALE DES VEHICULES

Compromettre son réseau en l auditant?

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

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

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

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

CARPE. Documentation Informatique S E T R A. Version Août CARPE (Documentation Informatique) 1

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

Compte-rendu du TP n o 2

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

SSH, le shell sécurisé

Administration des ressources informatiques

Certificat Informatique et internet Niveau 1 TD D1. Domaine 1 : Travailler dans un environnement numérique évolutif. 1. Généralités : Filière

SSL ET IPSEC. Licence Pro ATC Amel Guetat

Qualité du logiciel: Méthodes de test

v Sygic, a.s. All rights reserverd. Manuel utilisateur

Cours n 12. Technologies WAN 2nd partie

Chapitre 11 : Le Multicast sur IP

LOSLIER Mathieu. Filière Informatique et Réseau 1 ère année. TP DNS. Responsable : LOHIER Stephane. Chargé de TD : QUIDELLEUR Aurélie

Réseaux et protocoles Damien Nouvel

Contributions à l expérimentation sur les systèmes distribués de grande taille

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

IPv6. Lab 1: Installation IPv6. Objectif: Installation sous Windows XP

MANUEL D INSTALLATION

Le Network File System de Sun (NFS)

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

Introduction aux réseaux

Gestion mémoire et Représentation intermédiaire

DIFF AVANCÉE. Samy.

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

MegaStore Manager ... Simulation de gestion d un hypermarché. Manuel du Participant

Introduction aux Technologies de l Internet

Outrepasser les limites des techniques classiques de Prise d'empreintes grâce aux Réseaux de Neurones

Transformations nucléaires

VOCALYS LITE.

Transcription:

TD : Couche Transport (TCP) Exercice 1 : L'échange TCP de la figure ci-dessus correspond au transfert d'une page WEB entre un navigateur WEB et un serveur WEB. On fait l'hypothèse que la requête à la page WEB fait 100 octets et que la page WEB retournée fait 1000 octets. Il n y a pas d erreurs de transmission. Pour chaque segment de données, différentes informations apparaissent. D'une part la présence d'un ou plusieurs des différents indicateurs comme SYN, FIN, ACK. Par ailleurs sur la première ligne deux chiffres sont portés. Le premier chiffre correspond au numéro de séquence du premier octet du segment, le deuxième chiffre correspond au numéro du premier octet du prochain segment à envoyer. Le chiffre entre parenthèses correspond au nombre total d'octets transmis dans le segment. Si le segment est porteur d'un acquittement positif, l'indicateur ACK est mentionné et a coté de lui doit figurer la valeur du champ acquittement du segment TCP. Complétez les numéros de séquence et les numéros d'acquittement qui manquent sur la figure (qui apparaissent sous forme de point d'interrogation). Indiquez à quoi correspondent les différents segments numérotés de 1 à 8. Correction : Page 1/4

Exercice 2 : Considérons le transfert d'un fichier de taille illimité sur une connexion TCP classique. La taille maximale des données d'un segment (MMS) est 200 octets. La transmission démarre, nous représentons dans la figure 1 le chronogramme obtenu : Page 2/4

# Num Seq Num Ack URG ACK PSH RST SYN FIN Taille Données 1 3999 - X 0 2 122 4000 X X 0 3 4000 123 X 0 4 4000 123 200 1. Complétez dans le tableau ci-dessus les paramètres associés à chaque segment (Numéros de séquence et d'acquittement, flags et Taille des données). Réponse : # Num Seq Num Ack URG ACK PSH RST SYN FIN Taille Données 1 3999 - X 0 2 122 4000 X X 0 3 4000 123 X 0 4 4000 123 200 5 4200 123 200 6 123 4200 X 0 7 123 4400 X 0 8 4400 123 200 Page 3/4

9 4600 123 200 10 123 4400 X 0 11 4800 123 200 12 123 4800 X 0 13 123 5000 X 0 14 5000 123 200 15 5200 123 200 16 123 5000 X 0 17 5400 123 200 18 5600 123 200 19 5800 123 200 20 123 5000 X 0 21 123 5000 X 0 22 5000 123 200 23 123 5400 X 0 24 5200 123 200 25 123 5400 X 0 26 5400 123 200 27 123 6000 X 0 2. Qu'implique la première perte au niveau des acquittements suivants? L acquittement 7 est perdu, mais le récepteur envoie un autre acquittement (seg 10) suite à la réception du segment de données 9. Non. 3. Le déséquencement observé modifie-t-il les émissions de segments de données? 4. Comment est détectée la première perte d'un segment de données et comment est elle réparée? La détection de la perte du segment 14 est dû à la réception de 3 ack identiques (16, 20 et 21) avant expiration du temporisateur RTO. A noter que le segment 13 ne compte pas dans les ACK dupliqués, car le segment 14 n avait pas encore été généré au moment où le segment 13 est arrivé. La stratégie de retransmission suite à 3 ACK dupliqués est de type retransmission selective : l émetteur ne retransmet que le segment indiqué par les dupack (le segment 14). 5. Comment est détectée la seconde perte d'un segment de données et comment est elle réparée? Le temporisateur RTO pour le segment 15 a expiré avant réception d un ACK 5400. Ce segment est considéré comme perdu, et TCP considère que cela est dû à un problème grave (i.e.congestion). La source va considérer que tous les segments envoyés après le segment 15 sont «vraisemblablement» perdus aussi. La stratégie de retransmission est alors de type Go-back-n : l émetteur retransmet tous les segments data depuis le segment 15. Page 4/4

Remarque : le récepteur ne sait jamais si la source exécute un algo de retransmission de type sélectif ou go-back-n. Ses acquittements concernent donc toujours le premier octet non reçu. Les segments correctement reçus sont gardés dans le tampon de réception. Exercice 3 : Mécanismes de contrôle de congestion TCP 1. Pour TCP, quel phénomène indique une congestion dans le réseau? Comment précisément peut-on constater cette congestion? Réponse : La congestion est indiquée par le non retour d un acquittement avant l expiration du temporisateur de retransmission. Ce retard s explique soit par la perte du paquet soit par un temps de transport trop long... 2. Que se passe t-il dans le routeur pour susciter ce phénomène. Réponse : Le retard provient d une surcharge des files d attente donc de la mémoire d un routeur). La perte peut provenir d un débordement des mémoires d un noeud mais aussi d une perte provoquées explicitement par un élément de réseau. On suppose que la mémoire d un routeur se trouve débordée, et que alors les paquets sont jetés. 3. Pour TCP ce phénomène donne suite à l inférence de la congestion. Mais ce phénomène peut se produire même quand il n y a pas de congestion dans le réseau. Dans quels autres cas un tel phénomène peut-il se produire? Réponse : Les pertes de paquets peuvent se produire si une liaison n est pas fiable. Par exemple, si les paquets sont perdus sur une liaison sans-fil., Dans ce cas, ce n est pas une indication de congestion. Une faille transitoire de routage peut aussi être à l origine d une perte, sans qu il existe de congestion dans le réseau. 4. Si ce phénomène n indique pas toujours une congestion, pourquoi est-ce que l IETF base la norme TCP là-dessus? Pourquoi est-ce que l IETF n a pas défini une norme dans laquelle un routeur constate lui-même un état de congestion et envoi un message explicite à l émetteur? Réponse : La philosophie derrière l Internet est une philosophie de repousser l intelligence aux bords du réseau pour permettre d avoir du matériel très simple au coeur du réseau. On préfère alors avoir une signalisation de congestion qui marche de bout en bout, même si elle n est pas complètement fiable. 5. Pour le contrôle de congestion, TCP utilise un seuil qui indique le débit au dessus duquel on risque de rencontrer de la congestion. Ce seuil est exprimé par un paramètre ssthresh, qui indique un nombre d octets. Pour obtenir le débit seuil on divise ssthresh par la période aller retour entre l émetteur et le récepteur (un «RTT» ou «Round Trip Time» en anglais). Le débit peut varier en dessous et au dessus du seuil ssthresh /RTT. L émetteur maintient un paramètre cwnd qui indique le nombre d octets qu il peut envoyer dans le réseau avant de recevoir un acquittement. (Le nom cwnd est un raccourci pour «congestion window» en anglais, qui veut dire «fenêtre de congestion».) Quand cwnd > ssthresh, l émetteur fait particulièrement attention à ne pas provoquer de congestion. Page 5/4

Supposons que ssthresh est à 5000 octets, cwnd est à 6000 octets, et la taille d un paquet est de 500 octets. Un émetteur envoi douze paquets de 500 octets dans une période RTT, et reçoit douze acquittements (un pour chaque paquet). Que devient les valeurs de ssthresh et cwnd? Comment s appellent ces changements de valeurs? Réponse : La valeur de cwnd augmente avec la taille d un paquet après avoir reçu les douze acquittements. La nouvelle valeur de cwnd est donc de 6500 octets. Cela s appelle «l accroissement additif» («additive increase» en anglais). La valeur de ssthresh ne change pas. A noter que la valeur de cwnd augmente de la taille d un paquet par RTT, et non par acquittement (qui serait une augmentation beaucoup plus rapide). Dans notre exemple, l émetteur envoie douze paquets dans le premier RTT. Dans le deuxième RTT il va pouvoir envoyer treize paquets. Une précision : les implémentations de TCP ont le droit d augmenter cwnd d une manière approximativement linéaire. Plusieurs implémentations, par exemple, augmente cwnd par MSS*2/ cwnd pour chaque acquittement reçu (où MSS est la taille maximale d un paquet Maximum Segment Size). Ceci peut impliquer une accroissement plus que linéaire ou moins que linéaire dépendant de si on accumule les acquittements. 6. Supposons que ssthresh est toujours à 5000 octets, que cwnd est maintenant à 14.000 octets, que l émetteur envoi 14.000/500 = 28 paquets, et que l émetteur reçoit une indication de congestion avant de recevoir le premier acquittement. Que devient les valeurs de ssthresh et cwnd? Comment s appel ces changements de valeurs? Réponse : La valeur de ssthresh va devenir la moitié de la valeur cwnd, c'est-àdire 7000 octets. La valeur de cwnd devient la taille d un paquet, c'est-à-dire 500 octets. Cela s appelle la «réduction multiplicative» («multiplicative decrease» en anglais). Pourquoi dit-on «multiplicative» quand cwnd retourne toujours à la taille d un paquet? Parce que cwnd va rapidement remonter à la nouvelle valeur de ssthresh, qui est la moitié de l ancienne valeur de cwnd. Une précision : la valeur de ssthresh ne peut pas descendre plus bas que la taille de deux paquets (c'est-à-dire 1000 octets dans notre exemple). Une autre précision : ici on suppose que cwnd octets ont été «perdus» dans le réseau. C'est-à-dire qu il y a cwnd octets non acquittés. La formule précise est de fixer ssthresh à la moitié du nombre d octets non acquittés. 7. Nous venons de voir comment on augmente et comment on diminue cwnd en fonction de l absence ou la présence d indicateurs de congestion. Comment s appelle cet algorithme? Quelle est l idée derrière cet algorithme? Réponse : L algorithme s appelle «l évitement de congestion» («congestion avoidance» en anglais). Il implémente une politique AIMD («Additive Increase, Multiplicative Decrease»). L idée est d augmenter lentement le débit afin de ne pas produire trop de congestion, et de diminuer le débit très rapidement au cas où on a une indication de congestion. Page 6/4

8. Au démarrage, et après avoir reçu une indication de congestion, la valeur de cwnd est plus petite que la valeur de ssthresh. Décrivez la manière permettant d augmenter cwnd quand cwnd < ssthresh, en fonction de l exemple suivant. Supposons que ssthresh soit égal à 3000 octets et que cwnd soit égal à 500 octets, la taille d un paquet. L émetteur à plusieurs paquets prêts à être envoyer. Combien de paquets envoie l émetteur pendant la première période RTT? S il reçoit des acquittements pour tous ses paquets, que devient la valeur de cwnd? Combien de paquets envoie l émetteur pendant la deuxième période RTT? S il reçoit des acquittements pour tous ses paquets, que devient la valeur de cwnd? En générale, comment évolue la taille de cwnd? Réponse : Dans la première période RTT l émetteur envoie un paquet de 500 octets. Quand il reçoit l acquittement il augmente cwnd à 1000 octets. Dans la deuxième période RTT l émetteur envoie deux paquets de 500 octets chacun. Ayant reçu les deux acquittements, il augmente cwnd de 1000 octets à 2000 octets. En général, il augmente cwnd par la taille d un paquet (500 octets) pour chaque acquittement reçu. Cela revient à doubler cwnd dans chaque période RTT si l émetteur reçoit un acquittement pour chaque paquet envoyé. Ce processus continue jusqu à ce que cwnd atteint ssthresh. A ce moment, l émetteur bascule vers l «évitement de congestion». Une précision : certaines implémentations de TCP regroupent les acquittements, envoyant un acquittement pour deux paquets reçus. Dans ce cas, l augmentation de cwnd est moins qu exponentiel. 9. Comment s appelle la période pendant laquelle cwnd est plus petit que ssthresh? Réponse : «le démarrage lent» («slow start» en anglais). Le slow start n est pas vraiment «slow» -- il s agit d une augmentation exponentielle du débit de transmission. Mais, on l appelle «slow» parce qu on commence avec un débit faible. 10. Que devient la valeur de ssthresh si l émetteur reçoit une indication de congestion pendant que cwnd est plus petit que ssthresh? Réponse : ssthresh devient toujours la moitié du nombre d octets non acquittés. C'est-à-dire cwnd/2 s il y a cwnd octets non acquittés. Exercice 4 : Illustration du mécanisme de contrôle de congestion TCP Le contrôle de flux de TCP repose sur le principe que la perte d un paquet est due à une congestion dans le réseau. Aussi, lorsqu une perte est détectée, la procédure de contrôle de congestion se met en place. Lors de l envoi des données, le protocole augmente au fur et à mesure la vitesse d émission jusqu à ce qu une perte apparaisse. Alors le protocole ralentit automatiquement son débit afin de palier d éventuelles pertes additionnelles. Ce principe permet d éviter que les retransmissions de données ne viennent s ajouter à la congestion déjà existante. Rappel des algorithmes slow-start et congestion avoidance : A l'initialisation d'une connexion : cwnd := MSS (1 segment) Page 7/4

ss-threshold := 64 Koctets (65535 octets) AllowedWindow = min (cwnd, AdvertisedWindow) Lorsqu'une congestion est détectée, à chaque expiration du temporisateur : ss-threshold := fligthsize / 2 cwnd := MSS (1 segment) Lorsque des données sont acquittées, cwnd est augmenté : IF cwnd ss-threshold THEN cwnd := cwnd + MSS (ou cwnd + 1 MSS par ACK reçu) (slow-start) ELSE cwnd := cwnd + MSS2/cwnd (ou cwnd + 1 MSS par RTT, si aucune perte) (congestion avoidance). Tracer un diagramme illustrant l'évolution de la fenêtre de congestion (cwnd) de TCP en fonction du temps, sous les hypothèses suivantes : la taille maximum de segment est de 1024 octets, initialement, la fenêtre de congestion est de 64 Koctets, l'unité de temps utilisée est le délai aller-retour (RTT), au temps 0, la connexion démarre et au temps 14, le temporisateur de retransmission vient d'expirer. Response : Temps Réception ss-threshold Mécanisme cwnd Emission max. 0 Time Out 64Ko/2 = 32Ko Slow Start 1 1 segment 1 1 ACK 32Ko Slow Start 1+1 = 2 2 segments 2 2 ACK 32Ko Slow Start 2+2 = 4 4 segments 3 4 ACK 32Ko Slow Start 4+4 = 8 8 segments 4 8 ACK 32Ko Slow Start 8+8 = 16 16 segments 5 16 ACK 32Ko Slow Start 16+16 = 32 32 segments 6 32 ACK 32Ko Cong. Avoid. 32+1 = 33 33 segments 7 33 ACK 32Ko Cong. Avoid. 33+1 = 34 34 segments 8 34 ACK 32Ko Cong. Avoid. 34+1 = 35 35 segments 9 35 ACK 32Ko Cong. Avoid. 35+1 = 36 36 segments 10 36 ACK 32Ko Cong. Avoid. 36+1 = 37 37 segments 11 37 ACK 32Ko Cong. Avoid. 37+1 = 38 38 segments 12 38 ACK 32Ko Cong. Avoid. 38+1 = 39 39 segments 13 39 ACK 32Ko Cong. Avoid. 39+1 = 40 40 segments 14 Time Out 40Ko/2 = 20Ko Slow Start 1 1 segment 15 1 ACK 20Ko Slow Start 1+1 = 2 2 segments Page 8/4

16 2 ACK 20Ko Slow Start 2+2 = 4 4 segments 17 4 ACK 20Ko Slow Start 4+4 = 8 8 segments 18 8 ACK 20Ko Slow Start 8+8 = 16 16 segments 19 16 ACK 20Ko Slow Start Min(threshol d,16+16) = 20 20 segments 20 20 ACK 20Ko Cong. Avoid. 20+1 = 21 21 segments 21 21 ACK 20Ko Cong. Avoid. 21+1 = 22 22 segments 22 22 ACK 20Ko Cong. Avoid. 23 segments 23 23 ACK 20Ko Cong. Avoid. segments 40 36 32 seuil 28 24 20 seuil 16 12 8 4 0 2 4 6 8 10 12 14 16 18 20 22 temps Page 9/4