Contrôle de congestion © P. Sicard- Cours Réseaux 1 Le contrôle de congestion d

Contrôle de congestion © P. Sicard- Cours Réseaux 1 Le contrôle de congestion dans Internet Contrôle de congestion © P. Sicard- Cours Réseaux 2 • Le problème – But: Eviter que le réseau n’achemine plus correctement les paquets à cause d’un embouteillage – Dans le cas d’un embouteillage dans Internet, les routeurs détruisent les paquets qu’ils ne peuvent plus mémoriser – On peut retrouver les problèmes de congestion au niveau liaison de donnée – La résolution des collisions d’Ethernet est un contrôle de congestion Introduction Contrôle de congestion © P. Sicard- Cours Réseaux flux 1: 10 Mégaoctets/s flux 2: 10 Mégaoctets/s Lien à 10 Mégaoctets/S Routeur 3 Exemple • Que se passe t il dans le routeur ? Contrôle de congestion © P. Sicard- Cours Réseaux 4 • Différentes politiques possibles: 1. Se débrouiller pour que ça n’arrive jamais (Autoroute sur-dimensionnée) 2. Prévenir l’embouteillage par un contrôle des accès 3. Attendre l’embouteillage et résoudre le problème une fois qu’il est là » Méthode: • Surveiller le système • Envoyer des informations aux endroits où les décisions doivent être prise (péage des autoroutes) • Ajuster le comportement du système pour corriger le problème (agents aux carrefours, interdire certains accès) • Le contrôle de congestion peut être effectué à différents niveaux (Liaison, Réseaux, Transport) Introduction Contrôle de congestion © P. Sicard- Cours Réseaux 5 • Pas de noeud intermédiaire • Peut être nécessaire seulement pour les réseaux à diffusion • Algorithme de résolution des collisions d’Ethernet (même problème pour le WIFI) » Contrôle de congestion après coup » Dans Ethernet l’émission est faite dès que possible et l’arrêt d’émission décidé au moment de la détection de la collision » Peu efficace à forte charge (voir efficacité d’Ethernet) » Dépend de la taille des paquets Contrôle de congestion au niveau liaison de donnée Contrôle de congestion © P. Sicard- Cours Réseaux Contrôle de congestion au niveau liaison de donnée Commutateurs Ethernet actuels: • Plus de collisions (full-duplex) • Le commutateur ne re-émet que vers la destination après mémorisation du paquet grâce à une table de commutation (obtenue grâce aux premiers paquets) • Possibilités de saturation de la mémoire du commutateur • Des trames perdues implique une reprise des pertes par la couche transport; l’efficacité s’effondre • Paquets particulier dit de “PAUSE” vers la ou les machines source quand le commutateur s’approche de la saturation. • Les émetteur arrête d’émettre pendant la durée donnée dans le paquet PAUSE • Fait aujourd’hui partie de la norme Ethernet 6 Contrôle de congestion © P. Sicard- Cours Réseaux 7 • Une couche réseau orientée connexion ou “datagram” ? Avantages d’une connexion: – A l’ouverture de la connexion: – Réservation dans les routeurs de la mémoire nécessaire – On évite la congestion – Possibilités de gestion de QoS – Décision de la route à suivre faite une seule fois Inconvénients d’une connexion: - Peu dynamique - Problème des reprises de pannes • paquets déjà partis sur la route sont perdus • réouverture de connexion • reprise des pertes - Les ressources sont allouées qu’on les utilise ou non Le contrôle de congestion au niveau de la couche Réseau Contrôle de congestion © P. Sicard- Cours Réseaux 8 • “Datagram”: Avantages: – Chaque paquet indépendant – Routes différentes possibles – Dynamique (exemple RIP), – Possibilité de métrique dynamique (charge des routeurs) pour le choix des routes (dans la pratique n’existe pas) Inconvénients: – Déséquencement – Calcul des routes et consultation de la table de routage pour chaque paquet donc charge CPU des routeurs importante – Pas de réservation possible dans les routeurs pour une communication donnée – Contrôle de congestion délicat Contrôle de congestion © P. Sicard- Cours Réseaux 9 – Contrôle de congestion non prévu dans les protocoles initiaux d’Internet – Le protocole IP : Mode Datagram – Difficile de réserver les ressources dans les routeurs (voir la gestion des QoS: protocole RSVP) – Difficile de prévenir les congestions ➡On essaye de limiter le travail des routeurs ➡Le contrôle de congestion est résolu au niveau transport (TCP) Solutions du contrôle de congestion dans Internet Contrôle de congestion © P. Sicard- Cours Réseaux 10 • Possibilité de fragmentation dans les routeurs • Augmente beaucoup leur charge de calcul • Re-assemblage de toute façon seulement à l’arrivée (les fragments peuvent suivre des routes différentes) • Si un fragment se perd il faut tout re-émettre • Estimation du MTU(Maximum Transmission Unit) par la source: – grâce à l’émission d ’un paquet ICMP (comportant la taille max) par un routeur vers la source lorsque le paquet ne peut être fragmenté (flag Don ’t fragment) – A la réception du paquet ICMP la source (TCP) change la valeur du MTU – Fonctionne bien si les routes sont stables Pour alléger le travail des routeurs: Fragmentation à la source Contrôle de congestion © P. Sicard- Cours Réseaux 11 Implémenté la plupart du temps aujourd’hui dans les routeurs On s’approche d’une solution avec circuit virtuel • Association de la route à l’identification de la connexion de niveau transport (UDP ou TCP) : @internet et Numéro port source, @internet et Numéro port destination • Fait pour le premier paquet, pour les suivants économie de la consultation de la table de routage(sauf modification dynamique de la table) • Arrêt de l’association par timer d’inactivité Optimisation du travail des routeurs: Association connexion Transport et route Contrôle de congestion © P. Sicard- Cours Réseaux 12 Déblocage dans le contrôle de flux («fenêtre stupide») • Cas d’une petite libération du buffer de réception • Passage du champ WIN de 0 à x petit • Emetteur ne peut envoyer que x • Exemple: l’application récupère les données octet par octet (talk) • 58 octet d’entête TCP/IP/Ethernet pour un octet de donnée • Le récepteur ne débloque l’émetteur que lorsqu’il a libéré une quantité importante du buffer • En pratique minimum entre taille maximale des segments et moitié du buffer de réception Limiter l’émission de petits paquets Contrôle de congestion © P. Sicard- Cours Réseaux 13 • Un acquittement: 58 octets d’entête • On essaye de profiter des données pour émettre les acquittements • Le récepteur n’émet pas l’acquittement immédiatement • Il attend un temps fixe (en pratique 200ms, configurable sous bsd) en espérant • soit profiter d’une donnée circulant dans le sens opposé pour « transporter » l’acquittement • soit d’acquitter plusieurs paquets à la fois (acquittements « cumulatifs ») • Exemple: dans l’application Telnet • l’écho des caractères tapés et l’acquittement sont dans le même paquet • Attention cela peut diminuer l’efficacité de la récupération d’erreur Retard des acquittements Contrôle de congestion © P. Sicard- Cours Réseaux 14 • Idée: regrouper les petits paquets donnés par l’application dans un même paquet TCP • Mais cela peut diminuer la réactivité de l’application • Dommage si le réseau est “petit” • TCP tourne aussi bien entre : • deux machines proches (même réseau local) : temps de propagation de l’ordre de 25 microsecondes • deux machines éloignées avec de nombreux routeurs intermédiaires: temps de propagation de l’ordre de la milliseconde, voir de la seconde • Idée: Ne pas émettre des paquets petits que si l’on est sur un réseau étendu Délais de propagation variables Contrôle de congestion © P. Sicard- Cours Réseaux 15 • TCP attend que sa file d’attente se remplisse avant d’émettre si le temps d’aller retour (RTT: Round Trip Time) est grand • On évite ainsi la saturation des routeurs intermédiaires par des petits paquets • Mise en oeuvre: – TCP ne peut émettre qu’un paquet de petite taille sans avoir d’acquittement – Si le temps de propagation est grand, il attend d’autant et du coup sa file d’émission se remplit Algorithme de Nagle Contrôle de congestion © P. Sicard- Cours Réseaux 16 • Parce que peu de chose sont faites au niveau IP , on limite « la casse » dans TCP - Mauvaise solution car la couche transport ne voit que l’entité destinataire, elle n’a pas de connaissance du chemin et des routeurs intermédiaires - On peut limiter les congestions en contrôlant les flux de sortie sur les réseau chez l’émetteur - Le contrôle de congestion peut alors être traité comme un contrôle de flux ou l’entité réceptrice serait le réseau Contrôle de congestion au niveau transport Contrôle de congestion © P. Sicard- Cours Réseaux 17 Dans le protocole TCP plusieurs solutions ont été élaborées 1- Quand le réseau est transparent, c’est à dire qu’aucune information explicite provient du réseau - Solution de résolution (et non de prévention) - Le réseau passe dans un état de congestion, TCP réagit en diminuant les débits des émetteurs - Cela implique de nombreuses pertes de paquet 2- Le réseau envoie des informations de risque de congestion aux émetteurs -Solution de prévention -Quasiment plus de pertes de paquets Contrôle de congestion au niveau transport Contrôle de congestion © P. Sicard- Cours Réseaux 18 • Si les routeurs n’envoient pas d’information concernant les congestions comment un émetteur peut-il détecter une congestion ? ‣ La plupart du temps la fiabilité des lignes (niveau uploads/Management/ cours-7-congestion-pdf.pdf

  • 39
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Fev 01, 2021
  • Catégorie Management
  • Langue French
  • Taille du fichier 1.0576MB