Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Brickel Ratte Geändert vor über 9 Jahren
1
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik 1 Algorithm. Grundlagen des Internets 13. Mai 2002 Christian Schindelhauer Vorlesung Sommersemester 2002 Algorithmische Grundlagen des Internets (V) Christian Schindelhauer schindel@upb.de HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik AG Meyer auf der Heide
2
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik 2 Algorithm. Grundlagen des Internets 13. Mai 2002 Christian Schindelhauer Die Wirkungsweise von TCP (II) TCP ist ein verbindungsorientierter, zuverlässiger Dienst für bidirektionale Byteströme oTCP ist zuverlässig Jedes Datenpaket wird bestätigt (acknowledgment) Erneutes Senden von unbestätigten Datenpakete Checksum für TCP-Header und Daten TCP nummeriert Pakete und sortiert beim Empfänger Löscht duplizierte Pakete
3
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik 3 Algorithm. Grundlagen des Internets 13. Mai 2002 Christian Schindelhauer Die Wirkungsweise von TCP (III) TCP ist ein verbindungsorientierter, zuverlässiger Dienst für bidirektionale Byteströme oTCP ist ein Dienst für bidirektionale Byteströme Daten sind zwei gegenläufige Folgen aus einzelnen Bytes (=8 Bits) Inhalt wird nicht interpretiert Zeitverhalten der Datenfolgen kann verändert werden Versucht zeitnahe Auslieferung jedes einzelnen Datenbytes Versucht Übertragungsmedium effizient zu nutzen = wenig Pakete
4
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik 4 Algorithm. Grundlagen des Internets 13. Mai 2002 Christian Schindelhauer TCP-Header (II) 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ oFLAGS (unabhängig einsetzbar) ACK: acknowledgment Aktiviert Bestätigungsnr. … oSequenznummer Jedes Datenbyte ist nummeriert modulo 2 32 -1 = Nummer des ersten Bytes im Segment Bestätigungsnummer Aktiviert durch ACK-Flag Nummer des nächsten noch nicht bearbeiteten Datenbytes = letzte Sequenznummer + letzte Datenmenge
5
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik 5 Algorithm. Grundlagen des Internets 13. Mai 2002 Christian Schindelhauer Bestätigungen oHuckepack-Technik Bestätigungen „reiten“ auf den Datenpaket der Gegenrichtung oEine Bestätigungssegment kann viele Segmente bestätigen Liegen keine Daten an, werden Acks verzögert „World“ Seq.nr. 23 „bla bla“ Seq.nr. 91 ACK: 91+7=98 „Hello!“ Seq.nr. 17 ACK: 17+6=23 „Das“ Seq.nr. 154 „ist“ Seq.nr. 157 „es“ Seq.nr. 160 ACK: 162 Algorithmus von Nagle Kleine Pakete werden nicht versendet, solange Bestätigungen noch ausstehen oSelbsttaktend: Schnelle Verbindung = viele kleine Pakete oPaket ist klein, wenn Datenlänge < MSS
6
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik 6 Algorithm. Grundlagen des Internets 13. Mai 2002 Christian Schindelhauer Exponentielles Zurückweichen (exponential backoff) oRetransmission Timout (RTO) regelt Zeitraum zwischen Senden von Datenduplikaten, falls Bestätigung ausbleibt oWann wird ein TCP-Paket nicht bestätigt? Wenn die Bestätigung wesentlich länger benötigt, als die durchschnittliche Umlaufzeit (RTT/round trip time) 1. Problem: Messung der RTT 2. Problem: Bestätigung kommt, nur spät Sender Wartet Zeitraum gemäß Retransmission Timer Sendet Paket nochmal und setzt RTO ← 2 RTO (bis RTO = 64 Sek.) oNeuberechnung von RTO, wenn Pakete bestätigt werden „World“ Seq.nr. 23 „Hello!“ Seq.nr. 17 ACK: 17+6=23 Sender Empfänger „World“ Seq.nr. 23 1 s 2 s 4 s 8 s ? ? ? ?
7
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik 7 Algorithm. Grundlagen des Internets 13. Mai 2002 Christian Schindelhauer Schätzung der Umlaufzeit (RTT/Round Trip Time) oTCP-Paket gilt als nicht bestätigt, wenn Bestätigung „wesentlich“ länger dauert als RTO oRTT nicht on-line berechenbar (nur rückblickend) oRTT schwankt stark oDaher: Retransmission Timeout Value aus großzügiger Schätzung: RFC 793: (M := letzte gemessene RTT) R ← α R + (1- α) M, wobei α = 0,9 RTO ← β R, wobei β = 2 Jacobson 88: Schätzung nicht robust genug, daher A ← A + g (M - A),wobei g = 1/8 D ← D + h (|M - A| - D),wobei h = 1/4 RTO ← A + 4D oAktualisierung nicht bei mehrfach versandten Pakete
8
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik 8 Algorithm. Grundlagen des Internets 13. Mai 2002 Christian Schindelhauer Gleitende Fenster (sliding windows) oDatenratenanpassung durch Fenster Empfänger bestimmt Fenstergröße (wnd) im TCP-Header der ACK-Segmente Ist Empfangspuffer des Empfängers voll, sendet er wnd=0 Andernfalls sendet Empfänger wnd>0 oSender muß einhalten: Anzahl unbestätigter gesender Daten ≤ Fenstergröße
9
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik 9 Algorithm. Grundlagen des Internets 13. Mai 2002 Christian Schindelhauer Segment 8 Segment 9 Segment 10 Slow Start oSender darf vom Empfänger angebotene Fenstergröße nicht von Anfang wahrnehmen o2. Fenster: Congestion-Fenster (cwnd/Congestion window) Von Sender gewählt (FSK) Sendefenster: min {wnd,cwnd} Am Anfang: cwnd ← MSS Für jede empfangene Bestätigung, setze cwnd ← cwnd + MSS Solange bis einmal Bestätigung ausbleibt o„Slow Start“ = Exponentielles Wachstum Segment 1 ACK: Segment 1 Sender Empfänger Segment 2 Segment 3 ACK: Segment 3 Segment 4 Segment 5 ACK: Segment 7 Segment 6 Segment 7 ACK: Segment 5 …
10
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik 10 Algorithm. Grundlagen des Internets 13. Mai 2002 Christian Schindelhauer Stauvermeidung (congestion avoidance) oJacobson 88: Parameter: cwnd und Slow-Start-Schwellwert (ssthresh= slow start threshold ) 1.Verbindungsaufbau: cwnd ← MSSssthresh ← 65535 2.Bei Paketverlust, d.h. Bestätigungsdauer > RTO, multiplicatively decreasing cwnd ← MSSssthresh ← 3.Werden Segmente bestätigt und cwnd ≤ ssthresh, dann slow start cwnd ← cwnd + MSS 4.Werden Segmente bestätigt und cwnd > ssthresh, dann additively increasing cwnd ← cwnd +
11
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik 11 Algorithm. Grundlagen des Internets 13. Mai 2002 Christian Schindelhauer Fast Retransmit und Fast Recovery oJacobson 90: Geht nur ein Paket verloren, dann Wiederversand Paket + Restfenster Und gleichzeitig Slow Start oFast Retransmit: Nach drei Bestätigungen desselben Pakets (triple duplicate ACK), sende Paket nochmal oFast Recovery: Erhöhe Paketrate mit jeder weiteren Bestätigung 1.Fast retransmit: Nach triple duplicate ack von P, sende Paket P nochmal ssthresh ← min(wnd,cwnd)/2cwnd ← ssthresh + 3 MSS 2.Fast recovery: Bei weiterer Bestätigung von P:cwnd ← cwnd + MSS 3.Congestion avoidance: Trifft Bestätigung von P+x ein: cwnd ← ssthresh
12
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik 12 Algorithm. Grundlagen des Internets 13. Mai 2002 Christian Schindelhauer Fairness und Effizienz von AIMD
13
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik 13 Algorithm. Grundlagen des Internets 13. Mai 2002 Christian Schindelhauer Fairness und Effizienz von AIMD Das Modell on Teilnehmer, Rundenmodell oTeilnehmer i hat Datenrate x i (t) oAnfangsdatenrate x 1 (0), …, x n (0) gegeben oFeedback nach Runde t: y(t) = 0, falls y(t) = 1, falls oJeder Teilnehmer aktualisiert in Runde t+1: x i (t+1) = f(x i (t),y(t)) Increase-Strategie f 0 (x) = f(x,0) Decrease-Strategief 1 (x) = f(x,1) oWir betrachten lineare Funktionen:
14
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik 14 Algorithm. Grundlagen des Internets 13. Mai 2002 Christian Schindelhauer Fairness und Effizienz von AIMD Das Modell oWir betrachten lineare Funktionen: oInteressante Spezialfälle: MIMD: Multiplicative Increase/Multiplicative Decrease AIAD: Additive Increase/Additive Decrease AIMD: Additive Increase/Multiplicative Decrease
15
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik 15 Algorithm. Grundlagen des Internets 13. Mai 2002 Christian Schindelhauer Fairness und Effizienz oEffizienz Last: Maß oFairness: Für x=(x 1, …, x n ): 1/n ≤ F(x) ≤ 1 F(x) = 1 ↔ absolute Fairness Skalierungsunabhängig Kontinuierlich, stetig, differenzierbar Falls k von n fair, Rest 0, dann F(x) = k/n
16
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik 16 Algorithm. Grundlagen des Internets 13. Mai 2002 Christian Schindelhauer Konvergenz oKonvergenz unmöglich oBestenfalls Oszillation um Optimalwert Oszillations- amplitude A Einschwingzeit T
17
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik 17 Algorithm. Grundlagen des Internets 13. Mai 2002 Christian Schindelhauer Vektordarstellung (I)
18
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik 18 Algorithm. Grundlagen des Internets 13. Mai 2002 Christian Schindelhauer Vektordarstellung (II)
19
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik 19 Algorithm. Grundlagen des Internets 13. Mai 2002 Christian Schindelhauer AIAD Additive Increase/Additive Decrease
20
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik 20 Algorithm. Grundlagen des Internets 13. Mai 2002 Christian Schindelhauer MIMD Multiplicative Increase/Multiplicative Decrease
21
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik 21 Algorithm. Grundlagen des Internets 13. Mai 2002 Christian Schindelhauer AIMD Additive Increase/Multiplicative Decrease
22
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik 22 Algorithm. Grundlagen des Internets 13. Mai 2002 Christian Schindelhauer Effiziente lineare Funktionen oX(t) > K a D ≤ 0 → b D ≤ 1 a D > 0 → b D < 0 oX(t) < K a I ≥ 0 → b I ≥ 1 a I < 0 → nicht möglich
23
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik 23 Algorithm. Grundlagen des Internets 13. Mai 2002 Christian Schindelhauer oFairness von x(t) = (x 1 (0), …, x n (0)) konvergiert gegen 1, d.h. für oEs gilt für c=a/b: oBeweis? Fairness (I)
24
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik 24 Algorithm. Grundlagen des Internets 13. Mai 2002 Christian Schindelhauer Beweis! (1) oEs gilt: oSubstitution oDann ist: und
25
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik 25 Algorithm. Grundlagen des Internets 13. Mai 2002 Christian Schindelhauer Beweis! (2) oZu zeigen: oWarum gilt diese Gleichung?
26
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik 26 Algorithm. Grundlagen des Internets 13. Mai 2002 Christian Schindelhauer Beweis! (3) oWarum gilt diese Gleichung? wobei
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.