Internet Networking TCP Congestion Avoidance and Control

Ähnliche Dokumente
TCP flow control, congestion avoidance

Stauvermeidung in TCP Tahoe

Mobilkommunikationsnetze. - Transportschicht -

Übung 5: Transport. Rechnernetze. Wintersemester 2014/ Allgemeine TCP Verständnisfragen

Modul 5: TCP-Flusskontrolle

TCP Teil 2. TCP Teil 2: Tilmann Kuhn Betreuer: Dr. Thomas Fuhrmann 1/18

Internet Networking TCP Congestion Avoidance and Control

Transportschicht (Schicht 4) des Internet

Kommunikationsnetze Prof. Dr. rer. nat. habil. Seitz. Sara Schaarschmidt Eric Hänsel

Vorlesung: Netzwerke (TK) WS 2011/12 Kapitel 5 Ende-zu-Ende-Protokolle Session 17

Der Retransmission Timeout von TCP. Philipp Lämmel Proseminar Technische Informatik Institut für Informatik, Betreuerin Dr.

Einfluss der Window Scale Option auf die Fairness in TCP/IP-Netzen

Netzwerktechnologien 3 VO

TCP. Transmission Control Protocol

DCCP Datagram Congestion Control Protocol

Chapter 11 TCP. CCNA 1 version 3.0 Wolfgang Riggert,, FH Flensburg auf der Grundlage von

Lehrveranstaltung Rechnernetze Einschub für das Labor

Transmission Control Protokoll

Hauptdiplomklausur Informatik März 2002: Internet Protokolle

Vorlesung SS 2001: Sicherheit in offenen Netzen

TCP-Verbindungen und Datenfluss

2.3 Applikationen. Protokolle: TCP/IP. Telnet, FTP, Rlogin. Carsten Köhn

Dienste der Transportschicht

TCP Sliding Window Protokoll

Netzwerk-Programmierung. Netzwerke.

T T T. o TS, i 1= zuvor berechnete gemittelte RTT

Die Transportprotokolle: Transmission Control Protocol (TCP) User Datagram Protocol (UDP) Die Socket-Schnittstelle

Netzwerk-Programmierung. Netzwerke. Alexander Sczyrba Michael Beckstette.

Bei Aufbau der Verbindung initialisiert der Sender das Überlastfenster auf die

Ermitteln der RTT. Ein Sample RTT(i) bei gegebener Segment Sendezeit s und Acknowledgement Zeit a für das ite versendete Segment:

6. Die Transportschicht

Informations- und Kommunikationssysteme

Netzwerke. Netzwerk-Programmierung. Sven Hartmeier.

Übung 5: Routing, Überlastabwehr

TCP/UDP. Transport Layer

Algorithmen des Internets

Transportschicht. Motivation. TCP Slow Start

TCP/UDP PROF. DR. M. FÖLLER NORD INSTITUT EMBEDDED AND MOBILE COMPUTING

Algorithmen des Internets Sommersemester Vorlesung

Multipath-Transfer mit dem Stream Control Transmission Protocol

Transportschicht. Transmission Control Protocol, RFC793. (Fortsetzung TCP)

TCP - Kollisionsvermeidung und verwandtes

Klausur - Computernetzwerke

Netzwerke, Kapitel 3.1

Grundlagen TCP/IP. C3D2 Chaostreff Dresden. Sven Klemm

Lösungsvorschlag zur 12. Übung

TCP Transmission Control Protocol (Flusskontrolle und Zustandsdiagramm)

Kapitel 3 Transportschicht

Mobilkommunikation Kapitel 9: Transportprotokolle/Mobile TCP

Transportschicht. Einleitung Transmission Control Protocol, RFC793. Transportschicht

Tutorübung zur Vorlesung Grundlagen Rechnernetze und Verteilte Systeme Übungsblatt 8 (10. Juni 17. Juni 2013)

Praktikum Rechnernetze Aufgabe 3: Messung mit dem Protokollanalyzer

Rechnernetze Übung 11

Grundlagen der Telematik AMW Übungsaufgaben

Domain Name Service (DNS)

Evaluation of QoS- Aspects of mobile IPv6 Clients in an IEEE Network. Folkert Saathoff Oktober 2oo5

Übungen zu Rechnerkommunikation

Rechnernetze Übung 11. Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juni 2012

Quality of Service. Traffic Shaping. Dienstgüte mit Linux analysieren und verbessern. Traffi c Open Students Lounge

Behandlung von Performance Problemen

Netzwerktechnologien 3 VO

Universität Stuttgart. Musterlösung. Communication Networks I. 11. März Termin: IP-Adressierung und -Routing

15 Transportschicht (Schicht 4)

Internetanwendungstechnik. TCP/IP- und OSI-Referenzmodell. Gero Mühl

Grundkurs Routing im Internet mit Übungen

Rheinisch-Westfälische Technische Hochschule Aachen Lehrstuhl für Informatik IV Prof. Dr. rer. nat. Otto Spaniol TCP / UDP.

Streaming Protokolle Jonas Hartmann

Transportprotokolle im TCP/IP- Referenzmodell

SIMULATION. example Data Transfer (XDT) Protocol. entwickelt im Rahmen der Bachelor-Arbeit. von. Tobias Weimann. User-Manual

2 Kommunikationssysteme. vs2 1

Zugriffsverfahren CSMA/CD CSMA/CA

Konstruktion und Analyse des Angriffs im Rahmen der Bachelorarbeit an der Universität Hamburg

Wo können Engpässe in der Kommunikation entstehen? Was versteht man unter Verkehrs-, Stau- und Ratenkontrolle?

Musterlösung. Übungsklausur zur Vorlesung Vertiefung Rechnernetze Prof. Dr. Ch. Steigner Wintersemester 2009/2010. Name: Vorname: Matrikel-Nr.

GigE Vision: Der Standard

Grundlagen: Rechnernetze und Verteilte Systeme Kapitel 7:

Übungen zur Vorlesung Grundlagen der Rechnernetze Sommersemester 2011

Internet Control Message Protocol (ICMP)

Kurzeinführung in TCP/IP. Sebastian Drexler

Der Retransmission Timeout von TCP

Hauptdiplomklausur Informatik März 2001: Internet Protokolle

One way Delay (OWD) Determination Techniques

Netzwerkperformance 2.0

Informations- und Kommunikationssysteme

Messen von Internet-Bandbreite. Metriken, Methoden und Tools

.NET Networking 1. Proseminar Objektorientiertes Programmieren mit.net und C# Matthias Jaros. Institut für Informatik Software & Systems Engineering

Transkript:

Internet Networking TCP Congestion Avoidance and Control Sommersemester 2003

Gliederung 1 Einleitung 2 TCP - Transport Control Protocol 3 Conservation Of Packets 4 Methoden des Congestion Controls Round Trip Time Estimation Slow Start Congestion Avoidance Fast Retransmit 5 Conclusion

1 Einleitung Host Host Host Host Router Congestion!! Congestion collapse!!!!! Host Host Lösung: Congestion Avoidance and Control

2 TCP Transport Control Protocol Beispiel eines Kommunikationssystems aus der Sicht von TCP Host A Appl. TCP IP Net iface Router IP Net iface Host B Appl. TCP IP Net iface Net 1 Net 2 Zuständig für den zuverlässigen Datentransport

2 TCP Transport Control Protocol Eigenschaften des TCP Protokolls Streaming-Schnittstelle verbindungsorientiert Zuverlässigkeit

2 TCP Transport Control Protocol Bestätigtes Senden Sliding Window Sender Empfänger Sender Empfänger Sender Empfänger 1 2 3 1 2 3

3 Conservation Of Packets Self-Clocking Prinzip Equilibrium eines Systems A B Sender E D C Receiver Wie wird dieses Equilibrium sichergestellt?

3 Conservation Of Packets Probleme: 1. Das System kommt nicht in den Zustand des Equilibriums Überführung eines Systems ins Equilibriums: Slow Start 2. Der Sender schickt ein neues Paket, bevor ein altes das Netz verlassen hat Korrektes Schätzen der Round Trip Time und korrekte Einstellung des Retransmit Timers 3. Innerhalb des Systems gibt es Ressourcenknappheiten; das Equilibrium wird nicht erreicht. Mit Multiplicative Decrease auf Überlast reagieren (Congestion Avoidance) Fast Retransmit;

Congestion or not Congestion? Sender Empfänger round trip time retransmit timeout interval Kein ACK!!! Congestion??

Round Trip Time Estimation Was Was ist ist das das richtige richtige Retransmit Timeout Interval (RTO)? zu groß: schlechter Datenübertragungsraten zu klein: unnötige Netzwerkbelastung Congestion Round Trip Time ist Grundlage für die Berechnung Round Trip Time variiert stark bei Belastung des Netzes Diese Variation muss geschätzt werden

Round Trip Time Estimation 1. 1. Bevor Bevor die die erste erste Round-Trip-Time gemessen wurde: wurde: RTO RTO = 3 RTTvar: Round Trip Time variation SRTT: Smoothed Round Trip Time 2. 2. Bei Bei kontinuierlicher Round-Trip-Time Messung: RTTvar = (1 (1--β) β) ** RTTVAR + β ** SRTT SRTT R R SRTT SRTT = (1 (1--α) α) ** SRTT SRTT + α ** R RTO RTO = SRTT SRTT + K ** RTTvar Mittlere Abweichung Da Varianz zu aufwendig zu berechnen

Controlling Congestion Idee: Veränderliche Sende-Fenstergröße Größeres Fenster: mehr Daten im Netz Kleineres Fenster: weniger Daten im Netz Congestion Window (cwnd)

Slow Start Ziel: Die TCP Verbindung möglichst schnell ins Equilibrium zu überführen Schnelles Ermitteln der Maximalen Belastbarkeit der Verbindung Vorgehen: Die gesendete Datenmenge nach und nach Erhöhen Bis eine Überlastungssituation auftritt (oder ein Grenzwert überschritten wird)

Slow Start Slow Start Algorithmus: cwnd: Congestion Window wnd: Sender Window cwnd = 1*SMSS FOR EACH received ACK DO cwnd = cwnd + SMSS wnd = min (cwnd, rwnd) UNTIL (cwnd < ssthresh) OR (Congestion) SMSS: Sender Maximum Segment Size; rwnd: Receiver Window ssthresh: Threshold Zu Beginn: ssthresh = rwnd Bei Überlastsituation: ssthresh = cwnd/2

Slow Start Sender Empfänger

Slow Start Congestion Window Threshold Time out Slow start Threshold Round Trip Rate

Congestion Avoidance Wenn (cwnd >= ssthresh), dann Congestion Avoidance: Langsames Herantasten an an die die maximale Belastbarkeit der der Verbindung Bei Überlastung: cwnd = cwnd / 2 multiplicative decrease Für jedes empfangene ACK: cwnd = cwnd + 1 Paket = cwnd + SMSS*SMSS/ cwnd Sende: Sender Window = ( cwnd, rwnd) additive increase

Congestion Avoidance Congestion Window Threshold Time out Congestion avoidance Slow start Threshold Round Trip Rate

Fast Retransmit und Fast Recovery Problem: Einzelnes Paket geht verloren, nachfolgende Pakete werden aber zugestellt Sender muss auf den den Ablauf des Timers warten alle Pakete nach dem verlorenen werden nochmals gesendet Lösung: Fast Retransmit

Fast Retransmit und Fast Recovery 1. 1. Empfänger erhält erhält ein ein Paket Paket out-oforderorder out-of- 2. 2. Empfänger bestätigt das das letzte letzte empfangene Paket Paket nochmals (= (= duplicate ACK). ACK). Dadurch teilt teilt er er dem dem Sender Sender die die Lücke und und die die Sequenznummer des des fehlenden Pakets Pakets mit mit 3. 3. Nach Nach dem dem 3ten 3ten duplicate ACK ACK schickt schickt der der Sender Sender das das Paket Paket nocheinmal, ohne ohne auf auf das das Ablaufen des des Timers Timers zu zu warten warten Sender Empfänger 1 2 3 1 4 2 5 6 2 2 2

Problem: Paketverlust, aber die anderen Pakete werden zugestellt Wenn Timer abgelaufen ist: Slowstart Alle Pakete im Fenster werden noch eimal zugestellt & slow Start Lösung: Fast Recovery

Fast Retransmit und Fast Recovery Bei Fast Retransmit Fast Recovery statt Slowstart sshthresh = min ( cwnd, wnd) 2 Für die 3 dublicateacks: cwnd = ssthresh + 3 SMSS Für jede weitere Bestätigung: cwnd = cwnd + 1SMSS Trifft eine Bestätigung neuer Daten ein: ssthresh = cwnd congestion avoidance

Congestion Window Threshold Time out Congestion avoidance Slow start Threshold Fast Retransmit + Fast Recovery Round Trip Rate

5 Conclusion Sind die vorhandenen Congestion Avoidance Mechanismen ausreichend? Analyse von Servern unter Belastung zeigte: recovery Mechanismen sind unzureichend Problem der Ack Kompression nicht einbezogen Client mit mehreren parallelen Verbindungen ist aggressiver Problem der Congestion Avoidance noch nicht gelöst