Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 26. Mai 2003 Christian Schindelhauer Vorlesung.

Ähnliche Präsentationen


Präsentation zum Thema: "HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 26. Mai 2003 Christian Schindelhauer Vorlesung."—  Präsentation transkript:

1 HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 26. Mai 2003 Christian Schindelhauer Vorlesung Sommersemester 2003 Algorithmische Grundlagen des Internets V Christian Schindelhauer schindel@upb.de HEINZ NIXDORF INSTITUT Universität Paderborn Fakultät für Elektrotechnik, Informatik und Mathematik Institut für Informatik AG Theoretische Informatik Algorithmen, Komplexitätstheorie, Paralleles Rechnen

2 HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 2 Algorithm. Grundlagen des Internets 26. Mai 2003 Christian Schindelhauer Einordnung von TCP/IP Anwendung Transport Netzwerk Link TCP, UDP IP (+ICMP, +IGMP) Gerätetreiber (z.B. Ethernet, Token Ring) z.B. Telnet, FTP, HTTP, Email

3 HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 3 Algorithm. Grundlagen des Internets 26. Mai 2003 Christian Schindelhauer Zusammenspiel von TCP und IP

4 HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 4 Algorithm. Grundlagen des Internets 26. Mai 2003 Christian Schindelhauer Anwendungsschicht oAnwendungen (z.B WWW, E-Mail, Telnet, FTP) erzeugen Kommunikationsverbindungen zwischen zwei Rechnern im Netzwerk oAnforderungen an Kommunikation: Verbindungen sind bidirektional (oftmals Client-Server) Datenmenge kann variieren Die gegenläufigen Datenströme sind meist abhängig Fehlerfreie Übermittlung der Datenströme wird vorausgesetzt Kein Abbruch bei Verbindungspausen oKommunikation wird auf Transportschicht delegiert

5 HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 5 Algorithm. Grundlagen des Internets 26. Mai 2003 Christian Schindelhauer Transportschicht oTCP (transmission control protocol) Erzeugt zuverlässigen Datenfluß zwischen zwei Rechnern Unterteilt Datenströme aus Anwendungsschicht in Pakete Gegenseite schickt Empfangsbestätigungen (Acknowledgments) oUDP (user datagram protocol) Einfacher unzuverlässiger Dienst zum Versand von einzelnen Päckchen Wandelt Eingabe in ein Datagramm um Anwendungsschicht bestimmt Paketgröße oVersand durch Netzwerkschicht oKein Routing: End-to-End-Protokolle

6 HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 6 Algorithm. Grundlagen des Internets 26. Mai 2003 Christian Schindelhauer Netzwerkschicht (I) oIP (Internet Protocol) + Hilfsprotokolle ICMP (Internet Control Management Protocol) IGMP (Internet Group Management Protocol) Ermöglicht Verbund von (lokalen) Netzwerken IP ist ein unzuverlässiger verbindungsloser Datagrammauslieferungsdienst oDatagramm besteht aus Anwendungsdaten und Header: Absender, Zieladresse TOS-Feld (type of service) TTL-Feld (time to live)... (z.B. Paketlänge, Checksum für Header)

7 HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 7 Algorithm. Grundlagen des Internets 26. Mai 2003 Christian Schindelhauer Netzwerkschicht (II) oIP ist ein Datagrammauslieferungsdienst Soweit möglich direkte Übergabe von Sender zu Empfänger Sonst: Hop-Routing über Router oIP ist unzuverlässig Fehlerbehandlung: Falls Problem beim Routing: -Lösche Datagramm -Schicke Fehlermeldung durch ICMP an Absender Falls Problem beim Routing von ICMP-Fehlermeldung -Lösche Fehlermeldungspaket Keine Redundanz vorgesehen TTL-Feld begrenzt Anzahl der Hops eines Datagramms

8 HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 8 Algorithm. Grundlagen des Internets 26. Mai 2003 Christian Schindelhauer TCP ist.. … ein verbindungsorientierter, zuverlässiger Dienst für bidirektionale Byteströme oVerbindungsorientiert Zwei Parteien identifiziert durch Socketpaar: IP-Adresse und Port Kein Broadcast oder Multicast Verbindungsaufbau und Ende notwendig, d.h. Verbindung aktiv, bis (ordentlich) beendet oZuverlä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 oBidirektionale Byteströme Zwei gegenl äufige Datenstr öme aus einzelnen Bytes M öglichst zeitnahe Auslieferung jedes einzelnen Datenbytes, aber Zeitverhalten der Datenfolgen kann verändert werden Versucht Übertragungsmedium effizient und fair zu nutzen durch Anpassung der Datenrate

9 HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 9 Algorithm. Grundlagen des Internets 26. Mai 2003 Christian Schindelhauer TCP-Header 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ oAbsender-Port + Ziel-Port-Nr. IP-Adresse in IP-Header oSequenznummer = Nummer des ersten Bytes im Segment oBestätigungsnummer Aktiviert durch ACK-Flag Nummer des nächsten noch nicht bearbeiteten Datenbytes = letzte Sequenznummer + letzte Datenmenge

10 HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 10 Algorithm. Grundlagen des Internets 26. Mai 2003 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 Das Seq.nr. 154 ist Seq.nr. 157 es Seq.nr. 160 ACK: 162 World Seq.nr. 23 bla bla Seq.nr. 91 ACK: 91+7=98 Hello! Seq.nr. 17 ACK: 17+6=23 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 < Maximale Segmentgröße

11 HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 11 Algorithm. Grundlagen des Internets 26. Mai 2003 Christian Schindelhauer Exponentielles Zurückweichen 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äß RTO 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 1s 2s 4s 8s ? ? ? ?

12 HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 12 Algorithm. Grundlagen des Internets 26. Mai 2003 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

13 HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 13 Algorithm. Grundlagen des Internets 26. Mai 2003 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 beachtet: Anzahl unbestätigter gesender Daten Fenstergröße

14 HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 14 Algorithm. Grundlagen des Internets 26. Mai 2003 Christian Schindelhauer Slow Start Congestion Fenster 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} S: Segmentgr öße Am Anfang:cwnd S Für jede empfangene Bestätigung, setze cwnd cwnd + S Solange bis einmal Bestätigung ausbleibt oSlow Start = Exponentielles Wachstum Segment 8 Segment 9 Segment 10 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 …

15 HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 15 Algorithm. Grundlagen des Internets 26. Mai 2003 Christian Schindelhauer Stauvermeidung (congestion avoidance) oJacobson 88: Parameter: cwnd und Slow-Start-Schwellwert (ssthresh=slow start threshold) S = Datensegmentgr öße = maximale Segmentgröße 1.Verbindungsaufbau: cwnd Sssthresh 65535 2.Bei Paketverlust, d.h. Bestätigungsdauer > RTO, multiplicatively decreasing cwnd Sssthresh 3.Werden Segmente bestätigt und cwnd ssthresh, dann slow start cwnd cwnd + S 4.Werden Segmente bestätigt und cwnd > ssthresh, dann additively increasing cwnd cwnd + x 1 x x +1 y max y x/2x 1 x 2 x, bis x = y x: Anzahl Pakete pro RTT

16 HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 16 Algorithm. Grundlagen des Internets 26. Mai 2003 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 S 2.Fast recovery: Bei weiterer Bestätigung von P: cwnd cwnd + S 3.Congestion avoidance: Trifft Bestätigung von P+x ein: cwnd ssthresh x y (= x/2)

17 HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 17 Algorithm. Grundlagen des Internets 26. Mai 2003 Christian Schindelhauer Stauvermeidungsprinzip: AIMD oKombination von TCP und Fast Recovery verh ält sich im wesentlichen wie folgt: 1.Verbindungsaufbau: 2.Bei Paketverlust, MD:multiplicative decreasing 3.Werden Segmente bestätigt, AD: additive increasing x 1 x x +1 x x/2

18 HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 18 Algorithm. Grundlagen des Internets 26. Mai 2003 Christian Schindelhauer Durchsatz und Antwortzeit

19 HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 19 Algorithm. Grundlagen des Internets 26. Mai 2003 Christian Schindelhauer Ein einfaches Datenratenmodell 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:

20 HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 20 Algorithm. Grundlagen des Internets 26. Mai 2003 Christian Schindelhauer Lineare Datenratenanpassung oWir betrachten lineare Funktionen: oInteressante Spezialfälle: AIAD: Additive Increase Additive Decrease MIMD: Multiplicative Increase/Multiplicative Decrease AIMD: Additive Increase Multiplicative Decrease

21 HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 21 Algorithm. Grundlagen des Internets 26. Mai 2003 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, d.h. x i = x j, f ür alle i,j Skalierungsunabhängig Kontinuierlich, stetig, differenzierbar Falls k von n fair, Rest 0, dann F(x) = k/n


Herunterladen ppt "HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 26. Mai 2003 Christian Schindelhauer Vorlesung."

Ähnliche Präsentationen


Google-Anzeigen