Algorithmen des Internets

Größe: px
Ab Seite anzeigen:

Download "Algorithmen des Internets"

Transkript

1 Algorithmen des Internets Vorlesungsskript Sommersemester 2005 Christian Schindelhauer Heinz Nixdorf Institut Fakultät EIM, Institut für Informatik Universität Paderborn Sommersemester 2005

2

3 Inhaltsverzeichnis Abbildungsverzeichnis Tabellenverzeichnis III V 1 TCP: Das Transport-Protokoll des Internets VII 1.1 Transportschicht VII 1.2 Eigenschaften von TCP VII Verbindungsorientiert VII Zuverlässig VII Bidirektional VIII 2 TCP IX TCP-Header IX Verbindungsaufbau XI Verbindungsende XII Bestätigungen XII 2.1 Datenflusskontrolle durch TCP XIII Exponentielles Rückweichen (exponential backoff) XIII Round Trip Time XIII Gleitende Fenster (sliding windows) XIV Slow Start XV Stauvermeidung (Congestion Avoidance) XVI Fast Retransmit und Fast Recovery XVII 2.2 Fairness und Effizienz von AIMD XVIII Das Modell XVIII Bewertungskriterien XIX Faire und effiziente Datenratenwahl XXI I

4 II INHALTSVERZEICHNIS

5 Abbildungsverzeichnis 2.1 TCP-Header-Definition aus RFC 793 [?] X 2.2 Verbindungsaufbau von TCP XI 2.3 half-close XII 2.4 schließen einer TCP-Verbindung XII 2.5 gleitendes Fenster XIV 2.6 Knie und Klippe des Durchsatz und der Antwortzeit XVIII 2.7 Oszillation XX 2.8 Vektordarstellung XXI 2.9 AIAD XXII 2.10 MIMD XXIII 2.11 AIMD XXIV III

6 IV ABBILDUNGSVERZEICHNIS

7 Tabellenverzeichnis V

8 VI TABELLENVERZEICHNIS

9 Kapitel 1 TCP: Das Transport-Protokoll des Internets In diesem Kapitel soll eine Einführung in das TCP Protokoll geben werden. Dazu wird im folgenden eine kurze Einführung in die Transportschicht gegeben. Im Anschluss daran werden die Eigenschaften von TCP beschrieben. In Kap. 2 wird das TCP Protokoll dann im Detail beschrieben. 1.1 Transportschicht Die Aufgabe der Transportschicht ist es Daten über das Netzwerk zu transportieren. Anwendungsprogramme verwenden die Transportschicht um eine mit anderen Anwendungsprogrammen auf entfernten Computern über ein Netzwerk zu kommunizieren. Dabei arbeitet die Transportschicht unabhängig von den physikalischen Eigenschaften der Netzwerke und unabhängig der Routing-Protokolle. Im Internet gibt es zwei Protokolltypen auf der Transportschicht. Diese sind das verbindungslose UDP und das verbindungsorientierte TCP Protokoll. Das UDP Protokoll ist im Prinzip nur ein kleiner Aufsatz auf dem IP Protokoll. Es werden sog. UPD Datagramme verschickt. Die Datagrame besitzten fast die gleichen Eigenschaften wie IP Packete (unzuverlässig, verbindungslos, ohne Reihenfolge usw.). Die einzigen zusätlichen Mechanismen die UPD bereitstellt ist es den Packeten Ports zuzuordnen. Außerdem enthält das UDP Protokoll noch die möglichkeit Fehlerhafte Packete zu erkennen. Dazu ist im Header des UPD-Header eine Prüfsumme vorgesehen. Das TCP Protokoll hingegen ermöglicht eine weitaus bessere Verbindung. Dabei wird von Packeten abstrahiert und die Anwendungen können über sog. Ströme (engl. Streams) kommunizieren. Im folgenden werden die Eingenschaften von TCP genauer beschrieben. 4. Vorlesung Autor1 (wickert(at)upb.de) Autor2 (betra(at)upb.de) 1.2 Eigenschaften von TCP Verbindungsorientiert Bei TCP identifizieren sich zwei Parteien durch Sockets. Ein Socket besteht aus einer IP-Adresse und einem Port. Somit ist die TCP-Verbindung eindeutig durch das Socketpaar identifiziert. Um eine Verbindung mit Hilfe von Sokets zu etablieren, ist es notwendig erst die Verbindung aufzubauen und dann zu beenden. Es existiert solange eine Verbindung bis diese nicht (ordentlich) beendet wurde. Bei dieser Verbindungsart funktioniert kein Broad- oder Multicast Zuverlässig Unter TCP erhält jeder Sender eine Bestätigung (acknowledgment) zu jedem versendeten Datenpaket. Somit kann der Sender festellen, welche Pakete nicht angekommen sind und diese nocheinmal verschicken. Es VII

10 VIII KAPITEL 1. TCP: DAS TRANSPORT-PROTOKOLL DES INTERNETS werden des weitern noch Checksummen für den TCP-Header und die Daten hinzugefügt, um eine bessere Fehlerkennung zu gewährleisten. Des weiteren werden die Pakete von TCP nummeriert und dann versandt. Somit kann es geschehen, dass die Pakete über unterschiedliche Routen zum Empfänger gelangen. Da die Pakete nummeriert sind, kann der Empfänger diese wieder in die richtige Reihenfolge bringen. Hiermit kann auch das Problem der doppleten Pakete gelöst werden, da diese nun beim Empfänger gelöscht werden können Bidirektional Bei TCP wird der Inhalt der Daten nicht interpretiert sondern nur ausgeliefert. Da die Pakete über unterschiedliche Routen zum Empfänger gelangen, kann sich auch das Zeitverhalten der Datenfolgen ändern. Dies ist aber kein Problem, da die einzelnen Pakete durchnummeriert sind und beim Empfänger sortiert werden. TCP versucht eine zeitnahe Auslieferung jedes einzelnen Datenbytes zu gewährleisten. Es wird auch weiter versucht das Übertragungsmedium effizient zu nutzten. Dies kann man erreichen, indem man wenig Pakete verschickt.

11 Kapitel 2 TCP In Kapitel 1 haben wir bereits eine Einführung in TCP begonnen. Wir setzen nun diese Diskussion fort. 4. Vorlesung TCP-Header Der (mind.) 20-Byte-Header eines TCP-Pakets (Segments) besteht, wie in Abbildung 2.1 gezeigt, aus folgenden Teilen. 16 Bit Absender-Port-Nummer (source port) Diese Port-Nummern sind notwendig, um über eine IP-Adresse gleichzeitig verschiedene TCP- Verbindungen aufrecht zu halten. Entsprechend dieser Portnummmer werden die IP-Datagrammen den Anwendungen auf einem Rechner zugeordnet. Die eigentliche Absender-IP-Adresse findet sich im IP-Header. Die Kombination aus Port und IP- Adresses wird Socket genannt. 16 Bit Ziel-Port-Nummer (destination port) Deren Aufgabe entspricht der Absender-Port-Nummer. Ziel- und Quell-Socket bilden zusammen das Socket-Paar. Dieses Paar beschreibt eindeutig die TCP-Verbindung. 32 Bit Sequenznummer (sequence number) Anhand dieser Zahl wird die Reihenfolge der TCP-Pakete wiederhergestellt. In jeder Kommunikationsrichtung wird jedes Byte durchnummeriert (mit Umbruch bei auf 0) und das erste Byte des Segments bestimmt die Sequenznummer des gesamten TCP-Pakets. 32 Bit Bestätigungsnummer (acknowledgement number) Hier wird dem Sender einer Flussrichtung die Nummer des als nächstes erwarteten Datenbytes vom Empfänger mitgeteilt. In anderen Worten ist es die Sequenznummer des letzten Bytes des zuletzt erhaltenen Pakets plus eins. Dieses Feld wird erst mit gesetzten Acknowledgment-Flag gültig. Wird eine Bestätigungsnummer eines TCP-Pakets (d.h. Sequenznummer+Paketlänge) empfangen, so belegt das auch, dass alle Datenbytes mit kleinerer Sequenznummer ordentlich empfangen worden sind. Durch diesen Mechanismus ist es insbesondere nicht (unmittelbar) möglich, einzelne Pakete zu bestätigen, die nach einem fehlenden Paket empfangen worden sind. Erscheint also ein Paket in einem Strom nicht, so müssten eigentlich alle Pakete die danach noch übermittelt worden sind, mit dem fehlenden Paket (das durch die Bestätigungsnummer beschrieben wird) erneut verschickt werden (Der fast retransmit-algorithmus umgeht dieses Problem). 6 Flag-Bits Die folgenden 6 Flag-Bits können (weitestgehend 1 ) unabhängig voneinander gesetzt werden. 1 Alle Flags zu setzen, ist zum Beispiel unsinnig. So ein so beflaggtes Segment wird laut [Pos87] kamikaze packet genannt. Weitere Spitznamen dafür sind nastygram, christmas tree packet und lamp test. IX

12 X KAPITEL 2. TCP TCP Header Format 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 data TCP Header Format Note that one tick mark represents one bit position. Abbildung 2.1: TCP-Header-Definition aus RFC 793 [Pos81] URG: urgent pointer Dieses Flag aktiviert den urgent pointer. Mit diesem Mechanismus wird der Empfänger über Dringlichkeit von Daten informiert. Dies wird zumeist in Telnet und Rlogin-Verbindungen benutzt 2. ACK: acknowledgement number Dieses Flag aktiviert die Bestätigungsnummer. PSH: push Ein gesetztes Push-Flag zeigt dem Empfänger an, dass die Daten so schnell als möglich an die Anwendungsschicht weitergeben soll. RST: reset Das Reset-Flag wird gesendet, um anzuzeigen, dass ein empfangenes Segment nicht einer TCP- Verbindung korrekt zugeordnet werden kann. Dies geschieht beispielsweise, wenn ein UDP- Paket an einem TCP-Port ankommt oder ein Port an einem Rechner nicht verwendet wird. SYN: synchronize Damit werden Sequenznummern beim Verbindungsaufbau synchronisiert. FIN: finished Damit wird angezeigt, dass der Sender einer Flussrichtung aufhört, Daten zu senden. In der Gegenrichtung kann weiter übertragen werden. 4 Bit Headerlänge Durch ein Optionsfeld ist die Länge des Headers variabel. Deswegen ist es notwendig, die Headerlänge mitzuteilen. 2 Dieses Flag kann beschleunigt nicht etwa den Datenfluss. Es spielt eine Rolle im interaktiven Zusammenspiel der gegenläufigen Datenflüsse.

13 XI 16 Bit Prüfsumme (checksum) Diese Prüfsumme bezieht sich auf TCP-Header und TCP-Daten. 16 Bit Fenstergröße (window) Diese Zahl gibt an, wieviel Bytes mit noch nicht eingegangener Bestätigung maximal in einer Flussrichtung noch versandt werden dürfen. Die variierende Fenstergröße ist die Methode von TCP der Datenratenanpassung. Es ist klar, dass eine geringe Fenstergröße ein geringe Datenrate verursacht und eine große Fenster hohen Datendurchsatz erst ermöglichen kann. 16 Bit urgent pointer wird hier nur der Vollständigkeit halber erwähnt und nicht weiter vorgestellt. Variables Optionsfeld Die am häufigsten verwendete Option ist die der maximalen Segmentgröße. Hier teilt der Empfänger dem Sender die gewünschte maximale Segmentlänge (MSS: Maximum Segment Size) bei Verbindungsaufbau mit. Variables Datenfeld Hier stehen die Anwendungsdaten. Dieses Feld ist optional und tatsächlich gibt es bei Verbindungsaufbau, Beendigung und gelegentlich bei Bestätigung TCP-Pakete ohne dieses Datenfeld (Die Länge dieses Datenfelds ergibt sich aus der Gesamtlänge des Segments, das im Header des umgebenden IP- Datagramms mitgeteilt wird) Verbindungsaufbau Zumeist handelt es sich bei TCP-Verbindungen um eine Client-Server-Beziehung. In diesem Fall wird eine TCP-Verbindung durch drei Segmente aufgebaut, wie in Abbildung 2.2 gezeigt. Abbildung 2.2: Verbindungsaufbau von TCP 1. Im ersten Segment sendet der Client ein SYN-Segment mit der initialen Sequenznummer (und natürlich mit dem gewünschten Ziel-Port). 2. Der Server antworte mit einem SYN-Segment mit seiner initialen Sequenznummer und bestätigt mit diesem Segment durch ACK-Flag und Bestätigungsnummer (Sequenznummer des Client +1) das erste Segment des Client. 3. Der Client bestätigt das SYN-Segment des Servers durch ein ACK-Segment mit Bestätigungsnummer (= Sequenznummer des Servers +1). TCP legt hierbei auch mit dem SYN-Segment die maximale Segmentgröße (MSS) fest. Dies geschieht dadurch, dass jeder Empfänger dem Sender die Segmentgröße, die er empfangen möchte, mitteilt. Problematisch bei diesem einfachen Protokoll ist, dass nicht getestet wird, ob diese Paketgröße auch tatsächlich

14 XII KAPITEL 2. TCP übermittelt werden kann (Beispielsweise kann ein Router oder eine dazwischen genutztes Netzwerk hierbei gewissen Einschränkungen unterliegen). Es sei hier erwähnt, dass IP Datagramme deren Länge die maximale Übertragungseinheit einer Rechner zu Rechnerverbindung (MTU: Maximum Transmission Unit) überschreiten, zerlegt (fragmentiert) und am Zielrechner wieder zusammensetzt. So ein Vorgang verringert natürlich den Datendurchsatz und erhöht die Fehleranfälligkeit. Neben dieser Art des Client-Server-Verbindungsaufbaus erlaubt TCP auch andere Varianten des Verbindungsaufbaus [Ste95] Verbindungsende TCP erlaubt einen so genannten half-close, d.h. die gegenläufigen Datenströme können unabhängig voneinander beendet werden. Ist ein Datenstrom beendet durch ein half-close, können noch Daten in der Gegenrichtung übermittelt werden. Abbildung 2.3: half-close Für ein half-close werden zwei Segmente benötigt (Abbildung 2.3): 1. Der Sender (einer Datenrichtung) verschickt ein FIN-Segment. 2. Der Empfänger bestätigt dies durch ein ACK-Segment. Für das vollständige Schließen einer TCP-Verbindung werden daher 4 Segmente benötigt wegen zweier Half-Close-Operationen (Abbildung 2.4). Abbildung 2.4: schließen einer TCP-Verbindung Bestätigungen Wie schon bei der Beschreibung des TCP-Headers erwähnt wurde, werden die Anwendungsdaten durch die Sequenznummern durchnummeriert. Jedes TCP-Paket mit Daten muss bestätigt werden. Pakete, die keine Daten tragen und nur aus Bestätigungen bestehen, werden nicht bestätigt. Diese verursachen natürlich auch keine Erhöhung der Sequenznummer. TCP nutzt nun die gegenläufigen Datenströme, um Bestätigungen in einer Richtung per Huckepack mit Daten aus der Gegenrichtung zu befördern. Ferner müssen Segmente nicht einzeln bestätigt werden. Sind alle Segmente bis zum Datenbyte mit Sequenznummer i korrekt eingetroffen, wird lediglich eine Bestätigungsnummer i+1 zurückgeschickt, unabhängig davon, wie viele Pakete seit der letzten Bestätigung

15 2.1. DATENFLUSSKONTROLLE DURCH TCP XIII eingetroffen sind. Tatsächlich wird bei jedem Segment (außer bei Verbindungsaufbau und Ende) das ACK- Flag gesetzt und mit der Bestätigungsnummer das als nächstes erwartete Datenbyte mitgeteilt. Um weiter Segmente einzusparen, arbeitet TCP mit verzögerten Bestätigungen (delayed acknowledgements). Hat die eine Seite keine Daten zu senden, wartet sie zwischen den reinen Bestätigungspaketen eine Mindestzeit (z.b. 200 ms), um einkommende Segmente zu sammeln. Eine weitere Technik, um die Paketanzahl auf Verbindungen mit geringen Datenfluss (wie z.b. in Telnet-Sitzungen) zu verringern, ist der Algorithmus von Nagle. Der Algorithmus verhindet den Versand von zu kleinen TCP-Paketen (kleiner als die Segmentgröße), solange noch Bestätigungen von verschickten TCP-Paketen ausstehen. Diese Daten werden gesammelt bis sie die vereinbarte Segmentgröße erreichen oder bis die ausstehenden Bestätigungen eingetroffen sind. Der Vorteil von Nagles Algorithmus ist die Selbsttaktung. Für schnelle Verbindungen werden mehr kleinere TCP-Pakete verschickt, während für langsame Verbindungen die Paketanzahl verringert wird. Nagles Algorithmus lässt sich deaktiveren, was in bestimmten Situationen Sinn ergibt (wenn z.b. ein X Windows Client die Bewegungen einer Maus übertragen muss). 2.1 Datenflusskontrolle durch TCP Das Routing-Protokoll IP kümmert sich nicht um eine faire und effiziente Ausnutzung der Verbindungsressourcen. Diese Aufgabe muss die Transportschicht übernehmen. Wir stellen nun die verschiedenen Mechanismen hierfür vor Exponentielles Rückweichen (exponential backoff) TCP unterhält unter anderen eine retransmission timout (RTO) Variable, die den minimalen Zeitraum (von z.b. 1 Sekunde) vorgibt, nach dem ein verlorenes Segment als solches erkannt wird und es erneut verschickt werden darf. Bleibt also die Bestätigung für ein Paket aus, wartet TCP mindestens den Zeitraum der in dieser Variablen beschrieben wird und sendet dann das Paket nochmal. Das Besondere hierbei ist, dass nach jedem erfolglosen Senden eines Pakets dieser Wert verdoppelt wird, bis er eine obere Grenze von 64 Sekunden erreicht hat und dort verbleibt. Erreicht den Sender die Bestätigung des Segments, wird der RTO-Timer auf seinen Anfangswert zurückgesetzt Round Trip Time Ein Paketverlust lässt in mehr als 99% aller Fälle den Schluss zu, dass es zu einem Datenstau (congestion) auf einem Router gekommen ist [Jac88]. Woher weiß man aber, dass ein Paket verloren ist und nicht etwa nur das ACK-Segment verzögert worden ist? Es gibt keine sichere Methode letzteres auszuschließen. TCP unterhält hierfür eine Stoppuhr, welche die Zeitdauer zwischen Paket und Bestätigung überprüft. Ist diese Zeitdauer größer als die RTT, gilt das Paket als verloren. Die Umlaufzeit (RTT) unterliegt gewissen Schwankungen, um daher nicht häufiger als nötig tatsächlich angekommene Pakete als verloren abzuschreiben. Ursprünglich (in RFC793) wurde daher der Retransmission Timeout Value (RTO) folgendermaßen bestimmt. Zuerst wird, sobald ein neuer Meßwert M für RTT verfügbar ist, ein geglätteter Schätzwert von RTT berechnet: R αr + (1 α)m, wobei α = 0,9 gewählt wird. Mit Hilfe von R bestimmt sich RTO als RTO = βr, wobei β als Varianzfaktor mit β = 2 empfohlen wird. In [Jac88] wird beschrieben, dass dieser Mechanismus nicht in der Lage ist, mit den enormen Umlaufzeitschwankungen fertig zu werden, was unnötigen Wiederversand von Daten erfordert. Daher wird

16 XIV KAPITEL 2. TCP in [Jac88] folgende Methode vorgeschlagen. Wie eben wird mit jeder neuen Messung der Umlaufzeit M folgende Berechnung durchgeführt (bei geeigneter Initialisierung von A und D beim ersten Meßwert): A A + g (M A), D D + h ( M A D), RTO A + 4D. Herbei werden die Werte g = 1/8 und h = 1/4 verwendet. In A wird eine geglättete Abschätzung für RTT gespeichert, während D die durchschnittliche Abweichung der Umlaufzeit RTT vom Schätzwert geglättet darstellt 3. Diese Aktualisierung darf nicht angewendet werden, wenn Pakete mehrfach übertragen worden sind, weil möglicherweise zwei Bestätigungen für ein Paket existieren und ein falscher Zeitraum M der Berechnung zugrundeliegen würde [KP87]. Dann wird der durch evtl. exponentielles Zurückweichen gewählte Wert von RTO für das nächste Paket noch einmal zugrunde gelegt Gleitende Fenster (sliding windows) Die Datenratenanpassung von TCP basiert auf der Methode der gleitenden Fenster (sliding windows). Ein Parameter hierfür ist die Fenstergröße (window size/wnd), mit welcher der Empfänger die Datenmenge des Sender steuern kann, wie in Abbildung 2.5 gezeigt wird. Abbildung 2.5: gleitendes Fenster Wenn zum Beispiel die Eingangswarteschlange eines Empfängers überfüllt ist, (weil der Empfänger langsamer arbeitet als der Sender) dann wird mit dem nächsten Bestätigungspaket die Fenstergröße auf 0 gesetzt. Der Sender ist dann nicht mehr in der Lage, ein weiteres Datenpaket zu senden, weil noch die Bestätigungen für die versandten TCP-Pakete ausstehen. Hat der Empfänger seine Warteschlange entsprechend abgearbeitet, wird er eine weitere Bestätigung schicken, die sich von der ersten nur durch die erhöhte (Anfangs-) Fenstergröße unterscheidet. Wie in Abbildung 2.5 zu sehen, bezeichnen wir nun als Fenster die Menge der nicht bestätigten Daten in einer Flussrichtung. Die Fenstergröße wird vom Empfänger gesteuert und kann folgendermaßen verändert werden: Das Fenster schliesst sich, wenn das linke Ende nach rechts wandert. Dies passiert, wenn Daten bestätigt werden. Das Fenster öffnet sich, wenn das rechte Ende nach rechts weiterläuft. Damit können mehr Daten gesendet werden. Dies geschieht insbesondere, wenn der Empfänger TCP-Pakete bestätigt und damit Platz in seinem Eingangspuffer schafft. 3 Bei der Beschreibung dieser Berechnung haben eine Menge praktischer Fragestellung im Vordergrund gestanden. Zum Beispiel sind alle Konstanten Zweier-Potenzen. Die Standardabweichung wurde nicht verwendet, weil sonst eine Quadratwurzel berechnet werden muss.

17 2.1. DATENFLUSSKONTROLLE DURCH TCP XV Eine absolute Ausnahme gemäß der Host Requirement RFC sollte der folgende Vorgang sein: Das Fenster schrumpft, wenn das rechte Ende sich nach links bewegt. Der Empfänger verringert mit einer Bestätigung die Fenstergröße um mehr als die damit bestätigte Datenmenge. Von dieser Art der Fensterveränderung wird abgeraten. Dennoch müssen TCP-Protokollen sie unterstützen Slow Start Tatsächlich darf der Sender die angebotene Fenstergröße einer TCP-Verbindung nicht von Anfang an voll nutzen. In lokalen Netzwerken wäre dies in der Regel kein Problem, in größeren Netzwerken kann das jedoch auf den Routern zu Netzwerkstauungen und damit Datenverlust kommen. Damit kommt ein weiterer Fenstermechanismus ins Spiel, nämlich das Congestion-Fenster (cwnd), welches in Vielfachen der Segmentgröße verwaltet wird. Im Gegensatz zum Fenster, wird das Congestion- Fenster vom Sender verwaltet. Auch das Congestion-Fenster beschränkt die Anzahl der gesendeten unbestätigten Daten. Damit kann der Sender maximal min{cwnd, wnd} an unbestätigten Daten versenden oder versandt haben. Der Slow-Start-Mechanismus arbeitet wie folgt: Wird eine Verbindung aufgebaut, wird das Congestions-Fenster auf die Paketgröße (gegeben durch die maximale Segmentgröße MSS) gesetzt. cwnd 1 MSS Damit kann anfangs nur ein (volles) TCP-Paket verschickt werden. Wird ein Paket bestätigt (durch Erhalten eines ACK-Segments), wird das Congestion-Fenster um die maximale Segmentgröße vergrößert: cwnd cwnd + MSS. Die maximal mögliche Fenstergröße ergibt sich aus der Kapazität, dem Produkt aus Bandweite (Bytes/Sek.) und der Umlaufzeit (Sek.) (round trip time/rtt): Maximale Fenstergröße wnd(bytes) = Bandweite (Bytes/Sek.) Umlaufzeit (Sek.). Letzteres ist die Zeit, die zwischen Senden eines Pakets und Empfang der Bestätigung vergeht. Leider steht TCP diese Information nicht zur Verfügung und TCP muss daher auf eine Probing-Strategie zurückgreifen, wie im letzten Abschnitt besprochen. Zur Veranschaulichung dieses Algorithmus bezeichnen wir mit x die Anzahl der Pakete, die innerhalb einer Umlaufzeit versandt werden dürfen unter Berücksichtigung von cwnd, d.h. Demnach gliedert sich slow start in zwei Teile. x = cwnd MSS. 1. Zu Beginn setzen wir x Mit jedem Paket wetzen wir x x + 1. Da dies maximal x-mal geschehen kann während der Umlaufzeit setzen wir im besten Fall: x 2x. Damit realisiert Slow-Start im optimalen Fall (wenn alle Pakete bestätigt werden und wenn wnd ausreichend groß ist) exponentielles Wachstum der Bandbreite.

18 XVI KAPITEL 2. TCP Stauvermeidung (Congestion Avoidance) Der AIMD-Mechanismus, den wir in einer vereinfachten Version schon vorgestellt haben, wird bei TCP folgendermaßen umgesetzt [Jac88]. Die entscheidenden Parameter sind die Congestion-Fenstergröße cwnd, und ein Slow-Start-Schwellwert ssthresh (Slow Start Threshold Size). Wir bezeichnen mit y = ssthresh/mss. 1. Beim Verbindungsaufbau wird das Congestion-Fenster auf die maximale Segmentgröße (MSS) gesetzt cwnd MSS und der Slow-Start-Schwellwert auf die maximale Fenstergröße: In der Notation mit x und y bedeutet dies: ssthresh = x 1, y max. 2. Kommt es zu einem Paketverlust, d.h. eine Bestätigung eines Pakets erreicht den Sender nicht innerhalb des aktuell berechneten Zeitraums RTO oder eine Reihe von Acknowledgements des selben Pakets treffen ein, dann wird ein Datenstau (congestion) angenommen. Nun werden folgende Aktualisierungen durchgeführt: { ssthresh max 2 MSS, cwnd MSS. } min{cwnd, wnd}, 2 Wenn wir wieder annehmen, dass wnd ausreichend groß ist und dass cwnd mindestens 4MSS ist, bedeutet das: x 1, y x Werden Daten bestätigt und ist cwnd ssthresh, wird Slow Start durchgeführt. Wird also ein Paket bestätigt, erhalten wir cwnd cwnd + MSS. Werden alle Pakete innerhalb der Zeit RTO bestätigt, verdoppelt sich das Fenster innerhalb der Umlaufzeit (RTT). Setzen wir x = cwnd/mss, stellt sich also nach O(log x) Umlaufzeiteinheiten (Vielfachen von RTT) x x 2 ein. 4. Werden Daten bestätigt und ist cwnd > ssthresh, befindet der Algorithmus sich in der Congestion Avoidance-Phase. Hier wird die Congestion-Fenstergröße langsamer erhöht: cwnd cwnd + MSS cwnd. Hierbei handelt es sich um eine lineare Zunahme der Datenmenge, wie folgende Überlegung zeigt. Die Gesamtmenge an Daten, die innerhalb der Umlaufzeit RTT übertragen wird, ist cwnd. Die Datenrate ist damit w = cwnd/rtt. Diese Menge wird nun für jedes der cwnd TCP-Pakete innerhalb der Umlaufzeit RTT um MSS cwnd = MSS cwnd

19 2.1. DATENFLUSSKONTROLLE DURCH TCP XVII Bytes erhöht 4. Damit erhöht sich sich die Datenrate um d = MSS /RTT, d.h. pro Umlaufzeit nur um ein Paket. Wir erhalten also x x + 1. Der AIMD-Algorithmus aus dem vorhergehenden Abschnitt beschreibt also diesen Prozeß (bis auf den Slow-Start-Mechanismus) recht genau. In Abschnitt 2.2 werden wir die Motivation für dieses Verfahren kennenlernen Fast Retransmit und Fast Recovery Geht nun nur ein einziges TCP-Paket verloren, so hat das drastische Auswirkungen auf das Übertragungsverhalten einer TCP-Verbindung. So wird nicht nur die Datenrate auf den kleinstmöglichen Wert gesetzt, sondern auch noch alle TCP-Pakete, die nach dem Paket verschickt worden sind, müssen wegen des Bestätigungsmechanismus als verloren angesehen werden. Deswegen wurde 1990 in [Jac90] das Fast Retransmit and Fast Recovery Verfahren vorgeschlagen. Der Fast-Retransmit-Mechanismus tritt in Aktion, wenn drei Bestätigungen der selben Bestätigungsnummer (triple duplicate ACK) beim Sender eingegangen sind. Dies signalisiert dem Sender, dass nach einem fehlenden TCP-Pakete weitere TCP-Pakete empfangen wurden. Der Sender schickt daher als nächstes Paket nochmal jenes, das der dreimal wiederholten Bestätigungsnummer entspricht. Ansonsten verschickt der Sender keine weiteren Kopien, sondern schickt neue TCP-Pakete, sofern die Fenstergröße dies noch zulässt. Der Fast-Recovery-Mechanismus verhindert nun nach dem Empfangen eines Triple-Duplicate-Ack einen Slow-Start. Vielmehr wird die Congestion-Fenstergöße direkt auf die Hälfte der ursprünglichen Fenstergröße gesetzt. Außerdem wird jede weitere Kopie einer Bestätigung als Bestätigung eines späteren Pakets interpretiert und damit das Congestion-Fenster um ein Segment erweitert. Im einzelnen wird fast retransmit und fast recovery wie folgt implementiert. Hierbei finden die folgende Schritte statt der Punkte des Congestion-Avoidance-Algorithmus Anwendung, sofern eine dreifache Bestätigung des selben Pakets festgestellt wird. 1. Wird eine dritte Bestätigung des selben Segments erhalten, setze ssthresh min{cwnd, wnd} 2 und sende das fehlende Segment ein zweites Mal. Außerdem wird die Congestion-Fenstergröße, wie folgt, gesetzt. cwnd ssthresh + 3 MSS. 2. Trifft danach eine weitere Bestätigung des selben Segments ein, setzt der Sender cwnd cwnd + MSS und versucht, falls es die Fenstergrößen erlauben, ein weiteres Segment zu verschicken. 3. Erscheint nach der Folge der Bestätigungen des selben Segments eine Bestätigung eines anderen Segments, bestätigt dies den Erhalt des verlorenen Pakets. Nun wird das Congestion-Fenster wie folgt gesetzt. cwnd ssthresh. Damit befinden wir uns wieder im congestion-avoidance-mechanismus, da wir ab jetzt nur die Hälfte der ursprünglichen Datenrate verwenden. 4 Natürlich müsste man eigentlich hier verschiedene Werte für cwnd zugrunde legen. Hiermit würde sich das Ergebnis aber nur um einen konstanten Faktor ändern.

20 XVIII KAPITEL 2. TCP 2.2 Fairness und Effizienz von AIMD In diesem Abschnitt motivieren wir den AIMD-Mechanismus (additively increasing/multiplicatively decreasing) zur Stauvermeidung (congestion avoidance) gemäß [CJ89]. In Abbildung 2.6 wird gezeigt, wie typischerweise in einem Netzwerk Datenlast (load) mit Antwortzeit und Datendurchsatz interagieren. Der Datendurchsatz ist maximal, wenn die Last die Netzwerkkapazität fast erreicht. Wird die Last weiter erhöht, nimmt der Datendurchsatz ab, da Datenpuffer überlaufen und Pakete verloren gehen und mehrfach versendet werden müssen. Dadurch steigt auch die Antwortzeit extrem an. Diese Situation einer Datenstauung wird congestion genannt. Abbildung 2.6: Knie und Klippe des Durchsatz und der Antwortzeit Statt ein Netzwerk mit dieser extremen Lastanforderung zu betreiben, empfiehlt es sich, die Last auf das so genannte Knie einzustellen. Beim Knie steigt die Antwortzeit erstmals an, während der Datendurchsatz schon nahe der Netzwerkkapazität ist. Eine gute Stauvermeindungsstrategie (congestion avoidance) versucht die Datenlast des Netzwerks bei diesem Knie zu halten. Neben dem Datendurchsatz ist es aber auch wichtig, dass die Datenraten aller Teilnehmer gleich sind, also fair gewählt werden Das Modell Im Netzwerk nehmen n Nutzer teil. Das System wird in Runden modelliert. Zu Beginn (in Runde 0) hat Teilnehmer i [1..n] Datenrate x i (0) [0,B]. In jeder weiteren Runde t kann der Teilnehmer seine Datenrate auf x i (t) [0,B] setzen. Als Information steht ihm in Runde t + 1 neben seiner alten Datenrate nur zur Verfügung, ob in der Runde t die Summe der Datenraten das Ziel K [0,B] überschritten hat, d.h. ob x i (t) K. wobei K für die Datenlast an der oben beschreibenen Knieposition steht. Wir bezeichnen mit dem Prädikat y(t) = 0, dass in Runde t diese Ungleichung erfüllt wird und mit y(t) = 1 das Gegenteil. Jeder Teilnehmer bestimmt nun in Runde t + 1 aufgrund von y(t) und seiner alten Datenratewahl x i (t) die Datenrate der nächsten Runde. Diese Entscheidung beschreiben wir durch eine Funktion f : [0,B] {0,1} [0,B], wobei für alle i [1..n] gilt x i (t + 1) = f(x i (t),y(t)).

21 2.2. FAIRNESS UND EFFIZIENZ VON AIMD XIX Das bedeutet insbesondere, dass alle Teilnehmer sich an die selbe Datenratenanpassungsstrategie f halten. Damit wenden alle Teilnehmer in Runde t + 1 entweder die Funktion f 0 (x) = f(x,0) oder f 1 (x) = f(x,1) an. Damit ergibt sich die Grundanforderungen an f 0 und f 1 : Wenn y(t) = 0, also n x i(t) K, sollen Teilnehmer ihre Datenrate geeignet erhöhen, d.h. f 0 (x) > x. Wenn y(t) = 1, also n x i(t) > K, sollen Teilnehmer ihre Datenrate geeignet verringern, d.h. f 1 (x) < x. Hierbei ist nicht unmittelbar klar, ob diese Eigenschaft für alle Spieler gelten muss. Wir möchten daher die Wahl der Funktionen f 0 und f 1 eine Funktionenklasse zugrunde legen und diese gemäß einiger Schlüsselkriterien untersuchen. In diesem Abschnitt beschränken wir uns für die Wahl der Funktionen f 0 und f 1 auf lineare Funktionen: f 0 (x) = a I + b I x und f 1 (x) = a D + b D x. Als besonders interessante Spezialfälle werden hierbei folgende gesondert betrachten: 1. Multiplicative Increase/Multiplicative Decrease (MIMD) wobei b I > 1 und b D < Additive Increase/Additive Decrease (AIAD) wobei a I > 0 und a D < 0. f 0 (x) = b I x und f 1 (x) = b D x, f 0 (x) = a I + x und f 1 (x) = a D + x, 3. Additive Increase/Multiplicative Decrease (AIMD) wobei a I > 0 und b D < 1. f 0 (x) = a I + x und f 1 (x) = b D x, Bewertungskriterien Die Schlüsselkriterien sind Effizienz, Fairness und Konvergenz. Effizienz Die Effizienz wird durch die Nähe der Gesamtlast X(t) := x i (t) an der Knielast K gemessen. Ist X(t) > K verlängert sich die Antwortzeiten und ist sogar X(t) > B, gehen Datenpakete verloren und müssen wieder versandt werden. Ist dagegen X(t) < K entstehen Opportunitätskosten dadurch, dass die Netzwerkkapazität nicht ausgenutzt wird. Als Effizienzmaß betrachten wir daher X(t) K. Ist die Last effizient gewählt, erhalten wir 0, ansonsten positive Werte, die wie das milde Kostenmaß linear vom Optimalwert zunehmen.

22 XX KAPITEL 2. TCP Fairness Die Datenraten verschiedener Teilnehmer sind absolut fair, wenn für alle i,j gilt x i (t) = x j (t). Wir möchten aber mit einem Parameter aus dem Bereich [0, 1] den Grad der Fairness einer bestimmten Konstellation beschreiben. Für x = (x 1,...,x n ) definieren wir daher für alle x (R + 0 )n \ {(0,...,0)} : F(x) = ( n x i) 2 n n (x i) 2. Dieses Fairnessmaß besitzt folgende Eigenschaften: a) Es gilt für alle x (R + 0 )n \ {(0,...,0)}: F(x) [ 1 n,1], wobei F(x) = 1 äquivalent zu absoluter Fairness ist, d.h. x 1 = x 2 =... = x n. Je kleiner F wird, desto unfairer wird die Wahl der Datenraten. Sind alle Datenraten bis auf einem Spieler 0, so erreicht die Funktion ihr Minimum mit F(x) = 1 n. b) Dieses Fairnessmaß ist skalierungsunabhängig, d.h. die genaue Lastgröße ist nicht von der eigentlichen Größe der Datenraten abhängig. c) Die Fairnessfuntion ist kontinuierlich, stetig und differenzierbar. Selbst kleinere à nderungen sind deswegen meßbar. d) Wennn k von n Teilnehmern eine faire Aufteilung erreichen, aber n k Teilnehmer keine Datenraten erhalten, ergibt sich eine Fairness von F(x) = k n. Konvergenz Aufgrund des binären Feedbacks, können wir keine Konvergenz erwarten. Im besten Fall oszilliert das System, wobei Effizienz und Fairness innerhalb bestimmter Grenzen bleiben. Wir unterscheiden hier zwischen der Einschwingzeit und der Amplitude der Oszillation, siehe Abbildung 2.7 (in [CJ89] responsiveness und smoothness genannt). Abbildung 2.7: Oszillation Die Oszillationsamplitude A wird beschrieben durch Als Einschwingzeit T erhalten wir daher A = inf t 0 0 sup t t 0 X(t) K. T = min{t 0 t t 0 : X(t) K A}.

23 2.2. FAIRNESS UND EFFIZIENZ VON AIMD XXI Faire und effiziente Datenratenwahl Vektordarstellung Für zwei Teilnehmer kann man dieses System sehr gut grafisch untersuchen. In Abbildung 2.8 wird die Datenrate x 1 des ersten Teilnehmer und die Datenrate x 2 eines zweiten Teilnehmers als Punkt (x 1,x 2 ) dargestellt. Die Effizienzlinie bezeichnet alle Punkte, die die Netzwerklast X im optimalen Bereich K halten, d.h. x 1 + x 2 = K. Punkte unter dieser Linie stehen für Netzwerkzustände, die das Netzwerk zu wenig belasten, Punkte darüber für eine Überlastung des Netzwerks. Abbildung 2.8: Vektordarstellung Mit der Fairnesslinie werden alle Punkte mit x 1 = x 2 dargestellt. Je nachdem, ob man über oder unter dieser Linie steht, erhält x 2 oder x 1 mehr Datenrate. Für Datenraten (x 1,x 2 ) bezeichnen Datenraten (x 1 + c,x 2 c) Netzwerkzustände gleicher Effizienz, da X = x 1 + x 2 konstant bleibt. Multipliziert man dagegen die Datenraten mit einem Faktor c > 0, so erhält sich die Fairness, wie man wie folgt sieht: F(cx 1,cx 2 ) = (cx 1 + cx 2 ) 2 2((cx 1 ) 2 + (cx 2 ) 2 ) = (x 1 + x 2 ) 2 2((x 1 ) 2 + (x 2 )) 2 = F(x 1,x 2 ). In Die Punkte gleicher Effizienz und gleicher Fairness wie (x 1,x 2 ) sind durch getrichelte Linien dargestellt. Mit Hilfe dieses Diagramms kann man nun leicht die Schwächen der AIAD- und MIMD-Strategie beschreiben. Wählt man die AIAD-Strategie (Additive Increase/Additive Decrease), so bewegen sich die Datenraten auf einer Linie (x 1 + y,x 2 + y). Hiermit ist es zwar möglich sich der Effizienzlinie bis auf einen additiven Term von max{a I, a D } (entspricht der Oszillationsamplitude) anzunähern, es ist aber nicht möglich die Fairness zu verbessern (Abbildiung 2.9). Bei der MIMD-Strategie (Abbildung 2.10) können nur Zustände erreicht werden, die durch die Gerade (cx 1,cx 2 ) für variables c beschrieben werden. Alle Punkte dieser Gerade stehen für Netzwerkzustände gleicher Fairness. Es ist also unmöglich, mit MIMD die Fairness zu verbessern. Daneben kann der Schnittpunkt mit der Effizienzlinie nur mit dem Faktor max{b I,1/b D } approximiert werden. Abbildung 2.11 zeigt, dass die AIMD-Strategie für zwei Spielern anscheinend den Kriterien von Fairness und Effizienz genügt. Um dies zu verifizieren, werden wir zuerst den allgemeinen Fall linearer Funktionen untersuchen.

24 XXII KAPITEL 2. TCP Abbildung 2.9: AIAD Effizienz Um eine beschränkte Oszillation um die Effizienzlinie zu garantieren, muss, falls X(t) > K vorliegt, gelten X(t + 1) < X(t). Das heißt, dass X(t + 1) < X(t) x i (t + 1) < a D + b D x i (t) < na D + (b D 1)X(t) < 0 x i (t) x i (t) b D < 1 na D X(t). Ist a D 0, so folgt hieraus b D 1, da diese Ungleichung für jede Kombination aus n und X(t) gelten muss. Ist a D positiv, kann der Fall X(t) na D auftreten. Deswegen muss b D dann negativ gewählt werden. Analog muss für X(t) < K gelten X(t + 1) > X(t) und damit erhalten wir folgendes. X(t + 1) > X(t) x i (t + 1) > a I + b I x i (t) > na I + (b I 1)X(t) > 0 x i (t) x i (t) b I > 1 na I X(t). Diese Ungleichung muss für alle n und alle X(t) B gelten. Wir müssen davon ausgehen, dass jede

25 2.2. FAIRNESS UND EFFIZIENZ VON AIMD XXIII Abbildung 2.10: MIMD positive Kombination aus n und X(t) vorliegen kann. Damit also die letzte Ungleichung immer erfüllt wird, muss falls a I 0 der Wert b I 1 gewählt werden. Ist a I < 0 und insbesondere a I = k, dann muss für alle n, X(t) gelten b I > 1 + k n X(t). Damit muss b I mit der Anzahl der Teilnehmer steigen. Dieses wollen wir prinzipiell ausschließen. Damit ist a I 0 zu wählen (und gleichzeitig b I 1). Fairness Wir möchten sicherstellen, dass die Fairness von x(t) = (x 1 (t),...,x n (t)) gegen 1 konvergiert, d.h. Für F(x(t + 1)) erhalten wir: lim F(x(t)) = 1. t F(x(t + 1)) = F(x(t)) + (1 F(x(t))) ( 1 ) n (x i(t)) 2 n (c + x i(t)) 2, (2.1) wobei c = a b wie die nun folgende Nebenrechnung zeigt. Wir erhalten direkt F(x(t + 1)) = = ( n x i (t + 1) n ) 2 = (x i (t + 1)) 2 ( n a + bx i (t) n ) 2 (a + bx i (t)) 2 ( n ) 2 ( n ) 2 a b + x i(t) c + x i (t) ( a ) =, wobei c = 2 a n b + x i(t) n (c + x i (t)) 2 b.

26 XXIV KAPITEL 2. TCP Abbildung 2.11: AIMD Für eine übersichtliche Darstellung schreiben wir für c = a b X = x i (t), Q = In dieser Notation ist und entsprechend Es ist also zu zeigen, dass L = (x i (t) + c), R = F(x(t)) = X2 nq F(x(t + 1)) = L2 nr. (x i (t)) 2, (x i (t) + c) 2. ( F(x(t + 1)) = F(x(t)) + (1 F(x(t))) 1 Q ) R L 2 nr = X2 nq + )( (1 X2 1 Q ) nq R QL 2 = RX 2 + ( nq X 2) (R Q) QL 2 = RX 2 + nqr nq 2 RX 2 + QX 2 L 2 = nr nq + X 2 Nun ist L 2 X 2 = n(r Q). n(r Q) = n (x i (t) + c)) 2 x i (t) 2 = n (2cx i (t) + c 2 ) = 2cnX + c 2 n 2.

27 2.2. FAIRNESS UND EFFIZIENZ VON AIMD XXV Für die andere Seite gilt, da ( i a i) 2 = i,j a ia j, das Folgende. L 2 X 2 = i,j [1..n] (x i (t)+c)(x j (t)+c) x i (t)x j (t) = i,j [1..n] cx i (t)+cx j (t)+c 2 = 2cnX +c 2 n 2. Dies beweist Gleichung 2.1, die wir hier noch einmal wiedergeben: ( ) n F(x(t + 1)) = F(x(t)) + (1 F(x(t))) 1 (x i(t)) 2 n (c + x i(t)) 2. Der letzte multiplikative Term nimmt mit wachsenden c zu. Für c = 0 ist dieser Term 0, daher muss er für c < 0 negativ sein und für c > 0 positiv. Damit die linearen Funktion für die Konstanten a I,b I und a D,b D die Fairness nicht verschlechtern muss gelten: a I b I 0 und a D b D 0. Das bedeutet, dass a und b das gleiche Vorzeichen haben müssen. Negative Werte machen für a und b keinen Sinn, also muss gelten a,b 0. Außerdem macht es keinen Sinn b I = 0 oder b D = 0 zu setzen, da dann die Datenraten auf bestimmte konstante Werte zurückgesetzt werden würden, was schlecht für die Oszillationssamplitude ist. Kombinieren wir also die Betrachtungen über sinnvolle Parametermöglichkeiten hinsichtlich der Effizienz und Fairness, erhalten wir a D = 0, 0 < b D < 1, a I 0 und b I 1. Die Decrease-Strategie verhält sich wegen a D = 0 neutral gegenüber der Fairness, deswegen muss die Increase-Strategie ai b I > 0 garantieren,, um die Fairness zu erhöhen. Das impliziert a I > 0. Wir halten also fest: Theorem 1 Werden für f 0 und f 1 lineare Funktionen gewählt, die Fairness und Effizienz gewährleisten, muss für x 0 gelten: f 0 (x) x + a I, wobei a I > 0 und f 1 (x) = b D x, wobei 0 < b D < 1. Wir erkennen also, dass die Datenratenerhöhung einen additiven Anteil und die Datenratenverkleinerung einen multiplikativen Anteil haben muss, was die Wahl einer AIMD-Strategie rechtfertigt.

28 XXVI KAPITEL 2. TCP

29 Literaturverzeichnis [BEY98] [CJ89] Allan Borodin and Ran El-Yaniv. Online Computation and Competitive Analysis. Cambridge University Press, Cambridge, Dah-Ming Chiu and Raj Jain. Analysis of the increase and decrease algorithms for congestion avoidance in computer networks. Computer Networks and ISDN Systems, 17:1 14, [Jac88] Van Jacobson. Congestion Avoidance and Control. In ACM SIGCOMM 88, volume 18, 4, pages ACM SIGCOMM, ACM Press, August Stanford, CA. [Jac90] V. Jacobson. Modified tcp congestion avoidance algorithm. end2end-interest mailing list, April [KKPS00] Richard Karp, Elias Koutsoupias, Christos H. Papadimitriou, and Scott Shenker. Optimization problems in congestion control. In 41st Annual Symposium on Foundations of Computer Science (FOCS 00), pages 66 74, [KP87] P. Karn and C. Partridge. Improving round-trip time estimates in reliable transport protocols. Computer Communication Review, 17(5):2 7, [Pos81] J. Postel. Transmission Control Protocol. Network Information Center RFC 793, pages 1 85, September [Pos87] J. Postel. Internet Protocol. TCP and IP Bake Off, pages 1 6, [PS01] Antonio Piccolboni and Christian Schindelhauer. Discrete prediction games with arbitrary feedback and loss. In 14th Annual Conference on Computational Learning Theory, (COLT 01) and 5th European Conference on Computational Learning Theory, (EuroCOLT 01), pages , [Ste95] W. R. Stevens. TCP/IP Illustrated, Volume 1; The Protocols. Addison Wesley, Reading, XXVII

TCP. Transmission Control Protocol

TCP. Transmission Control Protocol TCP Transmission Control Protocol Wiederholung TCP-Ports Segmentierung TCP Header Verbindungsaufbau-/abbau, 3 - WayHandShake Timeout & Retransmission MTU maximum transfer Unit TCP Sicher Verbunden? Individuelle

Mehr

Modul 5: TCP-Flusskontrolle

Modul 5: TCP-Flusskontrolle Modul 5: TCP-Flusskontrolle M. Leischner Internetkommunikation Folie 1 Prinzip des Sliding-Window: Zuverlässigkeit + Effizienz A B A B A B A B unbestätigtes Senden Stop-and-Wait Sliding-Window Sliding

Mehr

TCP flow control, congestion avoidance

TCP flow control, congestion avoidance TCP flow control, congestion Christian Dondrup (cdondrup@techfak...) Tim Nelißen (tnelisse@techfak...) 1 Übersicht Einleitung Sliding Window Delayed Acknowledgements Nagle Algorithm Slow Start Congestion

Mehr

Mobilkommunikationsnetze. - Transportschicht -

Mobilkommunikationsnetze. - Transportschicht - - Transportschicht - Markus Brückner 1 Inhalt TCP Überblick Probleme im mobilen Einsatz Lösungsansätze SCTP Multihoming Literatur W. Richard Stevens: TCP/IP Illustrated Vol. 1: The Protocols Standards:

Mehr

Lehrveranstaltung Rechnernetze Einschub für das Labor

Lehrveranstaltung Rechnernetze Einschub für das Labor Lehrveranstaltung Rechnernetze Einschub für das Labor Sommersemester 2010 Dr. Andreas Hanemann Einordnung der Transportschicht Verbindungen bestehen zwischen zwei Endsystemen Transitnetze bzw. Netzknoten

Mehr

15 Transportschicht (Schicht 4)

15 Transportschicht (Schicht 4) Netzwerktechnik Aachen, den 16.06.03 Stephan Zielinski Dipl.Ing Elektrotechnik Horbacher Str. 116c 52072 Aachen Tel.: 0241 / 174173 [email protected] zielinski.isdrin.de 15 Transportschicht (Schicht

Mehr

DCCP Datagram Congestion Control Protocol

DCCP Datagram Congestion Control Protocol Lehrstuhl Netzarchitekturen und Netzdienste Institut für Informatik Technische Universität München DCCP Datagram Congestion Control Protocol Benjamin Peherstorfer betreut von Andreas Müller Blockseminar

Mehr

Grundlagen TCP/IP. C3D2 Chaostreff Dresden. Sven Klemm [email protected]

Grundlagen TCP/IP. C3D2 Chaostreff Dresden. Sven Klemm sven@elektro-klemm.de Grundlagen TCP/IP C3D2 Chaostreff Dresden Sven Klemm [email protected] Gliederung TCP/IP Schichtenmodell / Kapselung ARP Spoofing Relaying IP ICMP Redirection UDP TCP Schichtenmodell Protokolle der

Mehr

Netzwerke. Netzwerk-Programmierung. Sven Hartmeier.

Netzwerke. Netzwerk-Programmierung. Sven Hartmeier. Netzwerk-Programmierung Netzwerke Sven Hartmeier [email protected] Übersicht Netzwerk-Protokolle Protokollfamilie TCP/IP Transmission Control Protocol (TCP) erste Schritte mit sockets Netzwerk-Programmierung

Mehr

Dienste der Transportschicht

Dienste der Transportschicht Dienste der Transportschicht Die Transportschicht bietet einen verbindungsorientierten und einen verbindungslosen Dienst, unabhängig von den Diensten der zugrundeliegenden Vermittlungsschicht. Im verbindungsorientierten

Mehr

Themen. Dienste der Transportschicht. 3-Wege-Handshake. TCP-Protokoll-Header. Real-Time-Protocol

Themen. Dienste der Transportschicht. 3-Wege-Handshake. TCP-Protokoll-Header. Real-Time-Protocol Themen Dienste der 3-Wege-Handshake TCP-Protokoll-Header Real-Time-Protocol Dienste der Fehlerüberwachung Steuerung der Reihenfolge Wie kann eine korrekte Paket-Übertragung garantiert werden? Wie kann

Mehr

Transportschicht (Schicht 4) des Internet

Transportschicht (Schicht 4) des Internet Transportschicht (Schicht 4) des Internet Es gibt zwei Transportprotokolle: TCP = Transmission Control Protocol UDP = User Datagram Protocol a) TCP: baut virtuelle Verbindung auf (verbindungsorientiert)

Mehr

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

Der Retransmission Timeout von TCP. Philipp Lämmel Proseminar Technische Informatik Institut für Informatik, Betreuerin Dr. Der Retransmission Timeout von TCP Philipp Lämmel Proseminar Technische Informatik Institut für Informatik, Betreuerin Dr. Katinka Wolter Während der Datenübertragung kommt TCP zum Einsatz Bei einer zu

Mehr

TCP/UDP. Transport Layer

TCP/UDP. Transport Layer TCP/UDP Transport Layer Lernziele 1. Wozu dient die Transportschicht? 2. Was passiert in der Transportschicht? 3. Was sind die wichtigsten Protkolle der Transportschicht? 4. Wofür wird TCP eingesetzt?

Mehr

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

Chapter 11 TCP. CCNA 1 version 3.0 Wolfgang Riggert,, FH Flensburg auf der Grundlage von Chapter 11 TCP CCNA 1 version 3.0 Wolfgang Riggert,, FH Flensburg auf der Grundlage von Rick Graziani Cabrillo College Vorbemerkung Die englische Originalversion finden Sie unter : http://www.cabrillo.cc.ca.us/~rgraziani/

Mehr

Kommunikationsnetze 1. TCP/IP-Netze 1.2 TCP. University of Applied Sciences. Kommunikationsnetze. 1. TCP/IP-Netze 1.

Kommunikationsnetze 1. TCP/IP-Netze 1.2 TCP. University of Applied Sciences. Kommunikationsnetze. 1. TCP/IP-Netze 1. Kommunikationsnetze (und UDP ) Gliederung 1. Aufgaben eines Transportprotokolls 2. Eigenschaften von TCP und UDP 3. Der TCP-Header 4. TCP-Verbindungsmanagement Gliederung 1. Aufgaben eines Transportprotokolls

Mehr

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

2.3 Applikationen. Protokolle: TCP/IP. Telnet, FTP, Rlogin. Carsten Köhn 2.3 Applikationen Telnet, FTP, Rlogin Carsten Köhn Protokolle: TCP/IP Application umfasst Dienste, die als Prozesse des Betriebssystems ausgeführt werden SMTP, FTP, HTTP, MIME Transport regelt die Kommunikation

Mehr

UDP-, MTU- und IP- Fragmentierung

UDP-, MTU- und IP- Fragmentierung UDP-, MTU- und IP- Fragmentierung Jörn Stuphorn [email protected] Universität Bielefeld Technische Fakultät Stand der Veranstaltung 13. April 2005 Unix-Umgebung 20. April 2005 Unix-Umgebung

Mehr

Die Transportprotokolle UDP und TCP

Die Transportprotokolle UDP und TCP Die Transportprotokolle UDP und TCP! UDP (User Datagram Protocol) " Ist wie IP verbindungslos (Zustellung und Reihenfolge werden nicht garantiert) " Erweitert die Funktionalität von IP um die Möglichkeit,

Mehr

TCP/IP-Protokollfamilie

TCP/IP-Protokollfamilie TCP/IP-Protokollfamilie Internet-Protokolle Mit den Internet-Protokollen kann man via LAN- oder WAN kommunizieren. Die bekanntesten Internet-Protokolle sind das Transmission Control Protokoll (TCP) und

Mehr

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

Übung 5: Transport. Rechnernetze. Wintersemester 2014/ Allgemeine TCP Verständnisfragen Wintersemester 2014/2015 Rechnernetze Universität Paderborn Fachgebiet Rechnernetze Übung 5: Transport 1. Allgemeine TCP Verständnisfragen (a) TCP ermöglicht einem Empfänger, die maximum segment size (MSS),

Mehr

Hauptdiplomklausur Informatik März 2002: Internet Protokolle

Hauptdiplomklausur Informatik März 2002: Internet Protokolle Universität Mannheim Fakultät für Mathematik und Informatik Lehrstuhl für Praktische Informatik IV Professor Dr. W. Effelsberg Hauptdiplomklausur Informatik März 2002: Internet Protokolle Name:... Vorname:...

Mehr

6. Die Transportschicht

6. Die Transportschicht 6. Die Transportschicht 6.1 Architektur der Transportprotokolle im Internet 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) Rechnernetze Wolfgang Effelsberg 6. Die Transportschicht

Mehr

Grundkurs Routing im Internet mit Übungen

Grundkurs Routing im Internet mit Übungen Grundkurs Routing im Internet mit Übungen Falko Dressler, Ursula Hilgers {Dressler,Hilgers}@rrze.uni-erlangen.de Regionales Rechenzentrum der FAU 1 Tag 4 Router & Firewalls IP-Verbindungen Aufbau von IP

Mehr

Transportschicht. Einleitung Transmission Control Protocol, RFC793. Transportschicht

Transportschicht. Einleitung Transmission Control Protocol, RFC793. Transportschicht Transportschicht 1 / 33 Kommunikationsnetze I 19.11.2008 Dienste der Transportschicht Die Transportschicht bietet einen verbindungsorientierten und einen verbindungslosen Dienst, unabhängig von den Diensten

Mehr

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

TCP/UDP PROF. DR. M. FÖLLER NORD INSTITUT EMBEDDED AND MOBILE COMPUTING TCP/UDP PROF. DR. M. FÖLLER NORD INSTITUT EMBEDDED AND MOBILE COMPUTING Bereitstellen von logischer Kommunikation zwischen Anwendungsprozessen Multiplexen und Demultiplexen von Anwendungen Prinzipien des

Mehr

Vorlesung SS 2001: Sicherheit in offenen Netzen

Vorlesung SS 2001: Sicherheit in offenen Netzen Vorlesung SS 2001: Sicherheit in offenen Netzen 2.2 Transmission Control Protocol - TCP 2.3 User Datagram Protocol - UDP Prof. Dr. Christoph Meinel Informatik, Universität Trier & Institut für Telematik,

Mehr

Multiuser Client/Server Systeme

Multiuser Client/Server Systeme Multiuser /Server Systeme Christoph Nießner Seminar: 3D im Web Universität Paderborn Wintersemester 02/03 Übersicht Was sind /Server Systeme Wie sehen Architekturen aus Verteilung der Anwendung Protokolle

Mehr

Transmission Control Protokoll

Transmission Control Protokoll TCP TCP 1 / 34 TCP Paketverluste entstehen aufgrund von Überlast, defekten Routern, nicht ausreichender Puffer-Kapazität des Empfängers oder Bitfehlern während der Übertragung. Weitere Fehlerquellen sind

Mehr

Einleitung Sniffing, Analyzing, Scanning Scanning. Netzwerke. Bierfert, Feresst, Günther, Schuster. 21. März 2006

Einleitung Sniffing, Analyzing, Scanning Scanning. Netzwerke. Bierfert, Feresst, Günther, Schuster. 21. März 2006 Sniffing, Analyzing, 21. März 2006 Sniffing, Analyzing, Sniffing, Analyzing, Transmission Control Protocol (RFC 793) Zwei Endpunkte, bezeichnet mit Server und Client Server und Client aus je einem geordneten

Mehr

Beispiel TCP-/IP-Datenübertragung

Beispiel TCP-/IP-Datenübertragung TCP/IP Beispiel TCP-/IP-Datenübertragung Einfach mal Sniffen (im Raum LAN/Filius) --> Installieren Sie das Programm WireShark http://www.wireshark.org/ Lauschen Sie Ihre Netzwerkkarte aus! (10 Sek) Vorsicht!

Mehr

Vorab: Überblick TCP. Grundeigenschaften Punkt-zu-Punkt-Verbindung Streaming-Schnittstelle

Vorab: Überblick TCP. Grundeigenschaften Punkt-zu-Punkt-Verbindung Streaming-Schnittstelle Vorab: Überblick TCP Grundeigenschaften Punkt-zu-Punkt-Verbindung Streaming-Schnittstelle Byteorientiert keine Fragment-/Segmentgrenzen Zuverlässige Datenübertragung Verbindungsorientierte Übertragung

Mehr

IPv4 - Internetwork Protocol

IPv4 - Internetwork Protocol IPv4 - Internetwork Protocol Connectionless Pakete werden abgeschickt, eine Bestätigung erfolgt NICHT! Networklayer Erfüllt die Aufgaben der 3. ISO-Schicht Aufbau # Bits Abkürzung Inhalt 4 Vers Version

Mehr

Aufgabe 1: Interprozesskommunikation In der Vorlesung wurden zentrale Aspekte von grundlegenden Kommunikationsmustern vorgestellt.

Aufgabe 1: Interprozesskommunikation In der Vorlesung wurden zentrale Aspekte von grundlegenden Kommunikationsmustern vorgestellt. Sommersemester 211 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 11 vom 2.6.211 bis 24.6.211 Aufgabe 1: Interprozesskommunikation In der Vorlesung

Mehr

TCP Sliding Window Protokoll

TCP Sliding Window Protokoll TCP Sliding Window Protokoll Sendende Anwendung Empfangende Anwendung LastByteWritten TCP LastByteRead TCP LastByteAcked LastByteSent NextByteExpected LastByteRcvd Sendepuffer Empfangspuffer p MaxSendBuffer

Mehr

Hauptdiplomklausur Informatik Juni 2008: Computer Networks

Hauptdiplomklausur Informatik Juni 2008: Computer Networks Universität Mannheim Fakultät für Mathematik und Informatik Lehrstuhl für Praktische Informatik IV Prof. Dr.-Ing. W. Effelsberg Hauptdiplomklausur Informatik Juni 2008: Computer Networks Name: Matrikel-Nr.:

Mehr

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

Rheinisch-Westfälische Technische Hochschule Aachen Lehrstuhl für Informatik IV Prof. Dr. rer. nat. Otto Spaniol TCP / UDP. Rheinisch-Westfälische Technische Hochschule Aachen Lehrstuhl für Informatik IV Prof. Dr. rer. nat. Otto Spaniol TCP / UDP Proseminar: Kommunikationsprotokolle SS 2003 Stefan Hoferer Matrikelnummer: 234173

Mehr

Grundlagen der Rechnernetze. Internetworking

Grundlagen der Rechnernetze. Internetworking Grundlagen der Rechnernetze Internetworking Übersicht Grundlegende Konzepte Internet Routing Limitierter Adressbereich SS 2012 Grundlagen der Rechnernetze Internetworking 2 Grundlegende Konzepte SS 2012

Mehr

ECN. Explicit Congestion Notification ECN

ECN. Explicit Congestion Notification ECN Autor: Prof. Dr.-Ing. Anatol Badach Auszug aus dem Werk: Herausgeber: Heinz Schulte WEKA-Verlag ISBN 978-3-8276-9142-2 ECN Explicit Congestion Notification Jedes auf dem Internet Protocol (IP) basierende

Mehr

Hauptdiplomklausur Informatik. September 2000: Rechnernetze

Hauptdiplomklausur Informatik. September 2000: Rechnernetze Universität Mannheim Fakultät für Mathematik und Informatik Lehrstuhl für Praktische Informatik IV Prof. Dr. W. Effelsberg Hauptdiplomklausur Informatik September 2000: Rechnernetze Name:... Vorname:...

Mehr

Internetanwendungstechnik (Übung)

Internetanwendungstechnik (Übung) Internetanwendungstechnik (Übung) IPv6 Stefan Bissell, Gero Mühl Technische Universität Berlin Fakultät IV Elektrotechnik und Informatik Kommunikations- und Betriebssysteme (KBS) Einsteinufer 17, Sekr.

Mehr

Transmission Control Protocol (TCP)

Transmission Control Protocol (TCP) Transmission Control Protocol (TCP) Verbindungsorientiertes Protokoll, zuverlässig, paketvermittelt stream-orientiert bidirektional gehört zur Transportschicht, OSI-Layer 4 spezifiziert in RFC 793 Mobile

Mehr

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

Quality of Service. Traffic Shaping. Dienstgüte mit Linux analysieren und verbessern. Traffi c Shaping @ Open Students Lounge Quality of Service Traffic Shaping Dienstgüte mit Linux analysieren und verbessern Agenda Charakteristik moderner Netzwerke Datenstaus in TCP / IP Messen der Dienstgüte Der QoS-Werkzeugkasten Traffic Shaping

Mehr

IP routing und traceroute

IP routing und traceroute IP routing und traceroute Seminar Internet-Protokolle Dezember 2002 Falko Klaaßen [email protected] 1 Übersicht zum Vortrag Was ist ein internet? Was sind Router? IP routing Subnet Routing

Mehr

7 Transportprotokolle

7 Transportprotokolle 7 Transportprotokolle 7.1 Transmission Control Protocol (TCP) 7.2 User Datagram Protocol (UDP) 7.3 Ports 7.1 TCP (1) IP-Pakete (Datagramme) von A nach B transportieren reicht nicht interaktive Verbindungen

Mehr

Kapitel 3 Transportschicht

Kapitel 3 Transportschicht Kapitel 3 Transportschicht Ein Hinweis an die Benutzer dieses Foliensatzes: Wir stellen diese Folien allen Interessierten (Dozenten, Studenten, Lesern) frei zur Verfügung. Da sie im PowerPoint-Format vorliegen,

Mehr

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

.NET Networking 1. Proseminar Objektorientiertes Programmieren mit.net und C# Matthias Jaros. Institut für Informatik Software & Systems Engineering .NET Networking 1 Proseminar Objektorientiertes Programmieren mit.net und C# Matthias Jaros Institut für Informatik Software & Systems Engineering Agenda Motivation Protokolle Sockets Anwendung in.net

Mehr

Lösungsvorschlag zur 12. Übung

Lösungsvorschlag zur 12. Übung Prof. Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik 3 Wintersemester 09/0 Lösungsvorschlag zur 2. Übung Präsenzübungen. Schnelltest a) Welche der Behauptungen zum OSI-Modell

Mehr

Transportprotokolle im TCP/IP- Referenzmodell

Transportprotokolle im TCP/IP- Referenzmodell Transportprotokolle im TCP/IP- Referenzmodell HTTP FTP Telnet SMTP DNS SNMP TFTP Internetprotokolle IGMP TCP ICMP UDP RARP IP ARP Schicht 1/2 Ethernet TokenRing Token Bus Wireless Lan TCP (Transmission

Mehr

Netzwerkperformance 2.0

Netzwerkperformance 2.0 Netzwerkperformance 2.0 Die KPI`s als Schlüsselfaktoren der Netzwerke Andreas Dobesch, Product Manager DataCenter Forum 2014, Trafo Baden ISATEL Electronic AG Hinterbergstrasse 9 CH 6330 Cham Tel. 041

Mehr

1.) Nennen Sie Aufgaben und mögliche Dienste der Transportschicht (Transport Layer) des ISO/OSI-Schichtenmodells.

1.) Nennen Sie Aufgaben und mögliche Dienste der Transportschicht (Transport Layer) des ISO/OSI-Schichtenmodells. Übung 7 1.) Nennen Sie Aufgaben und mögliche Dienste der Transportschicht (Transport Layer) des ISO/OSI-Schichtenmodells. 2.) Charakterisieren Sie kurz das User Datagram Protokoll (UDP) aus der Internetprotokollfamilie

Mehr

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

Tutorübung zur Vorlesung Grundlagen Rechnernetze und Verteilte Systeme Übungsblatt 8 (10. Juni 17. Juni 2013) Technische Universität München Lehrstuhl Informatik VIII Prof. Dr.-Ing. Georg Carle Dipl.-Ing. Stephan Günther, M.Sc. Nadine Herold, M.Sc. Dipl.-Inf. Stephan Posselt Tutorübung zur Vorlesung Grundlagen

Mehr

1976 im Xerox Palo Alto Research Center entwickelt 1980 erster Standard von Xerox, DEC und Intel 1983 erster IEEE Standard 802.3

1976 im Xerox Palo Alto Research Center entwickelt 1980 erster Standard von Xerox, DEC und Intel 1983 erster IEEE Standard 802.3 4 Ethernet weltweit sehr verbreitete LAN-Technologie historische Entwicklung: 1976 im Xerox Palo Alto Research Center entwickelt 1980 erster Standard von Xerox, DEC und Intel 1983 erster IEEE Standard

Mehr

Internet Protokolle. ICMP & Ping Internet Controll Message Protokolls

Internet Protokolle. ICMP & Ping Internet Controll Message Protokolls Internet Protokolle ICMP & Ping Internet Controll Message Protokolls ICMP I II ICMP Einführung ICMP Meldungstypen III Zusammenfassung Einführung Im (heterogenen) Internet ist es nicht möglich Fehler hardwarebasiert

Mehr

1. DAS IP INTERNET PROTOCOL...2. 1.1. Die Protokollschichten des Internet...2. 1.2. Internetadressen...3. 1.3. Das Paketformat von IP...

1. DAS IP INTERNET PROTOCOL...2. 1.1. Die Protokollschichten des Internet...2. 1.2. Internetadressen...3. 1.3. Das Paketformat von IP... ip-tcp-grundlagen IP- UND TCP - GRUNDLAGEN Inhalt 1. DAS IP INTERNET PROTOCOL...2 1.1. Die Protokollschichten des Internet...2 1.2. Internetadressen...3 1.3. Das Paketformat von IP...4 2. ROUTING VON IP-PAKETEN...6

Mehr

1.1 Wireshark Bedienung (Die neuste Wireshark-Version sieht leicht anders aus!) 1.2 Aufzeichnung starten. LAN-Komponenten in Betrieb nehmen Modul 129

1.1 Wireshark Bedienung (Die neuste Wireshark-Version sieht leicht anders aus!) 1.2 Aufzeichnung starten. LAN-Komponenten in Betrieb nehmen Modul 129 1 Wireshark für Protokolle (Verfasst von G. Schneider/TBZ-IT) 1.1 Wireshark Bedienung (Die neuste Wireshark-Version sieht leicht anders aus!) Wireshark ist ein sog. Sniffer. Diese Software dient dazu den

Mehr

Vorkurs: Mathematik für Informatiker

Vorkurs: Mathematik für Informatiker Vorkurs: Mathematik für Informatiker Teil 3 Wintersemester 2016/17 Steven Köhler [email protected] mathe.stevenkoehler.de 2 c 2016 Steven Köhler Wintersemester 2016/17 Inhaltsverzeichnis Teil 1 Teil

Mehr

9. Transportprotokolle

9. Transportprotokolle Fakultät Informatik Institut Systemarchitektur Professur Rechnernetze WS 2014/2015 LV Rechnernetzpraxis 9. Transportprotokolle Dr. rer.nat. D. Gütter Mail: WWW: [email protected] http://www.guetter-web.de/education/rnp.htm

Mehr

TCP/IP Protokollstapel

TCP/IP Protokollstapel TCP/IP Protokollstapel IP: Hauptaufgabe ist das Routing (Weglenkung) und Adressierung IP ist ein ungesichertes, verbindungsloses Protokoll Arbeitet auf Schicht 3 UDP: User Datagram Protocol UDP ist ein

Mehr

ICMP Internet Control Message Protocol. Michael Ziegler

ICMP Internet Control Message Protocol. Michael Ziegler ICMP Situation: Komplexe Rechnernetze (Internet, Firmennetze) Netze sind fehlerbehaftet Viele verschiedene Fehlerursachen Administrator müsste zu viele Fehlerquellen prüfen Lösung: (ICMP) Teil des Internet

Mehr

Informations- und Kommunikationssysteme

Informations- und Kommunikationssysteme Informations- und Kommunikationssysteme Übungsaufgaben 2. Teil 1 Aufgabe 1 Es sei gegeben, dass eine Datei mit F Bit über einen Pfad, der über Q Links durch das Netzwerk führt, gesendet wird. Das Netzwerk

Mehr

Router 1 Router 2 Router 3

Router 1 Router 2 Router 3 Network Layer Netz 1 Netz 2 Netz 3 Router 1 Router 2 Router 3 Router 1 Router 2 Router 3 Netz 1, Router 1, 1 Netz 1, Router 1, 2 Netz 1, Router 2, 3 Netz 2, Router 2, 2 Netz 2, Router 2, 1 Netz 2, Router

Mehr

IP-Netzwerke und Protokolle

IP-Netzwerke und Protokolle IP-Netzwerke und Protokolle Überblick über die IEEE 802.x Richtlinien Grundsätzliches zu TCP/IP und UDP/IP Namen und Adressen (kurz) Gateways, Routing Praktische Übungen anhand der Linux- Standard-Tools

Mehr

Vorlesung: Netzwerke (TK) WS 2011/12 Kapitel 1 Vorbereitung für Praktikum Session 03

Vorlesung: Netzwerke (TK) WS 2011/12 Kapitel 1 Vorbereitung für Praktikum Session 03 Vorlesung: Netzwerke (TK) WS 2011/12 Kapitel 1 Vorbereitung für Praktikum Session 03 Prof. Dr. Michael Massoth [Stand: 19.10.2011] 3-1 3-2 Vorbereitung auf Praktikum: Versuch 1 Hausaufgabe: Schriftliche

Mehr

Internet Control Message Protocol (ICMP)

Internet Control Message Protocol (ICMP) Internet Control Message Protocol (ICMP) Einführung Das Internet Control Message Protocol (ICMP) dient dem Zweck der Übertragung von Statusinformationen und Fehlermeldungen der Protokolle IP, TCP und UDP

Mehr

Domain Name Service (DNS)

Domain Name Service (DNS) Domain Name Service (DNS) Aufgabe: den numerischen IP-Adressen werden symbolische Namen zugeordnet Beispiel: 194.94.127.196 = www.w-hs.de Spezielle Server (Name-Server, DNS) für Listen mit IP-Adressen

Mehr

Kurzeinführung in TCP/IP. Sebastian Drexler 21.06.2004

Kurzeinführung in TCP/IP. Sebastian Drexler 21.06.2004 Kurzeinführung in TCP/IP Sebastian Drexler 21.06.2004 Überblick Historisches TCP/IP-Referenzmodell Transportschichtprotokolle TCP UDP Internetschichtprotokolle IPv4 ICMP ARP und RARP Zusammenfassung 21.06.2004

Mehr

Multimedia-Streams: Client-Puffer

Multimedia-Streams: Client-Puffer Multimedia-Streams: Client-Puffer Cumulative data constant bit rate video transmission variable network delay client video reception buffered video constant bit rate video playout at client client playout

Mehr

Computerforensik. Prof. Dr. Silke Draber Fachhochschule Bonn Rhein Sieg. Vorlesung SS 2008. Einführung in TCP/IP

Computerforensik. Prof. Dr. Silke Draber Fachhochschule Bonn Rhein Sieg. Vorlesung SS 2008. Einführung in TCP/IP Computer Forensik Fachhochschule Bonn Rhein Sieg Vorlesung SS 2008 1 Einführung in TCP/IP Grundlagen von Netzwerken im Allgemeinen Protokolle und Dienste TCP/IP im Detail TCP/IP Protokollarchitektur Die

Mehr

Praktikum zur Vorlesung Datenkommunikation. Teil I

Praktikum zur Vorlesung Datenkommunikation. Teil I Praktikum zur Vorlesung Datenkommunikation Teil I 1 1 Praktikum zur Vorlesung Datenkommunikation Ansprechpartner Rainer Krogull [email protected] Tel. 0241 / 80-21 406 URL http://www-i4.informatik.rwth-aachen.de/dk-ma/

Mehr

Internet Protokoll. Die Funktionen von IP umfassen:

Internet Protokoll. Die Funktionen von IP umfassen: Internet Protokoll Das Internet Protocol (IP) stellt die Basisdienste für die Übermittlung von Daten in TCP/IP Netzen bereit und ist im RFC 791 spezifiziert. Hauptaufgaben des Internet Protokolls sind

Mehr

LANCOM Techpaper Routing Performance

LANCOM Techpaper Routing Performance Einleitung Die Anwendungen in der Kommunikation und Unterhaltung basieren zunehmend auf IP-Netzwerken. Um die erforderlichen Bandbreiten zuverlässig bereitstellen zu können, müssen die in der Struktur

Mehr

IP Adressen & Subnetzmasken

IP Adressen & Subnetzmasken IP Adressen & Subnetzmasken Jörn Stuphorn [email protected] Universität Bielefeld Technische Fakultät Stand der Veranstaltung 13. April 2005 Unix-Umgebung 20. April 2005 Unix-Umgebung 27. April

Mehr

LANCOM Techpaper Routing-Performance

LANCOM Techpaper Routing-Performance Techpaper Routing-Performance Einleitung Anwendungen in der Kommunikation und Unterhaltung basieren zunehmend auf IP-Netzwerken. Um die erforderlichen Bandbreiten zuverlässig bereitstellen zu können, müssen

Mehr

... Konfiguration des IO [io] 8000 in einem LAN?

... Konfiguration des IO [io] 8000 in einem LAN? ... Konfiguration des IO [io] 8000 in einem LAN? Ablauf 1. Installation 2. Konfiguration des Encoders 3. Überprüfen der Encodereinstellungen 4. Konfiguration des Decoders 1. Installation: Nach Erhalt des

Mehr

TCP SYN Flood - Attack. Beschreibung Auswirkungen Zuordnung zu Gefährdungskategorie und Attacken-Art Gegenmaßnahmen Quellen

TCP SYN Flood - Attack. Beschreibung Auswirkungen Zuordnung zu Gefährdungskategorie und Attacken-Art Gegenmaßnahmen Quellen TCP SYN Flood - Attack Beschreibung Auswirkungen Zuordnung zu Gefährdungskategorie und Attacken-Art Gegenmaßnahmen Quellen TCP SYN Flood - Beschreibung TCP SYN Flood Denial of Service Attacke Attacke nutzt

Mehr

TCP - Kollisionsvermeidung und verwandtes

TCP - Kollisionsvermeidung und verwandtes TCP - Kollisionsvermeidung und verwandtes Marcus Blomenkamp Januar 2003 TCP abstrakt (Rückblick) verlässlicher Transportweg - realisiert durch Zerteilung und Versand des Datenstromes in Paketen wiederholtes

Mehr

Netzwerke, Kapitel 3.1

Netzwerke, Kapitel 3.1 Netzwerke, Kapitel 3.1 Fragen 1. Mit welchem anschaulichen Beispiel wurde das OSI-Schichtenmodell erklärt? Dolmetscher 2. Was versteht man unter Dienstprimitiven? Request, Indication, Response, Confirm

Mehr

CSMA/CD: - keine Fehlerkorrektur, nur Fehlererkennung - Fehlererkennung durch CRC, (Jabber) Oversized/Undersized

CSMA/CD: - keine Fehlerkorrektur, nur Fehlererkennung - Fehlererkennung durch CRC, (Jabber) Oversized/Undersized 1.1.: MAC-Adressen für CSMA/CD und TokenRing bestehen jeweils aus 48 Bits (6 Bytes). Warum betrachtet man diese Adressräume als ausreichend? (im Gegensatz zu IP) - größer als IP-Adressen (48 Bits 32 Bits)

Mehr

Client-Server mit Socket und API von Berkeley

Client-Server mit Socket und API von Berkeley Client-Server mit Socket und API von Berkeley L A TEX Projektbereich Deutsche Sprache Klasse 3F Schuljahr 2015/2016 Copyleft 3F Inhaltsverzeichnis 1 NETZWERKPROTOKOLLE 3 1.1 TCP/IP..................................................

Mehr

Das ISO / OSI -7 Schichten Modell

Das ISO / OSI -7 Schichten Modell Begriffe ISO = Das ISO / OSI -7 Schichten Modell International Standardisation Organisation Dachorganisation der Normungsverbände OSI Model = Open Systems Interconnection Model Modell für die Architektur

Mehr

Themenschwerpunkt: Rechnernetze und Netzwerkdesign

Themenschwerpunkt: Rechnernetze und Netzwerkdesign Themenschwerpunkt: Rechnernetze und Netzwerkdesign Aufgabe 1: Nennen Sie den wesentlichen Vorteil eines Netzwerkes mit Bus-Topologie? Lösung: Wesentlicher Vorteil der Bus-Topologie ist der geringe Verkabelungsaufwand

Mehr

1. Netzwerkprogrammierung für mobile Geräte

1. Netzwerkprogrammierung für mobile Geräte 1. Netzwerkprogrammierung für mobile Geräte Lernziele 1. Netzwerkprogrammierung für mobile Geräte Themen/Lernziele: Konzepte der verbindungslosen Kommunikation beherrschen Client/Server-Anwendungen auf

Mehr

Mathematik I. Vorlesung 7. Folgen in einem angeordneten Körper

Mathematik I. Vorlesung 7. Folgen in einem angeordneten Körper Prof. Dr. H. Brenner Osnabrück WS 009/010 Mathematik I Vorlesung 7 Folgen in einem angeordneten Körper Wir beginnen mit einem motivierenden Beispiel. Beispiel 7.1. Wir wollen die Quadratwurzel einer natürlichen

Mehr

The Cable Guy März 2004

The Cable Guy März 2004 The Cable Guy März 2004 Local Server-Less DNS-Namensauflösung für IPv6 von The Cable Guy Alle auf Deutsch verfügbaren Cable Guy-Kolumnen finden Sie unter http://www.microsoft.com/germany/ms/technetdatenbank/ergebnis.asp?themen=&timearea=3j&prod=

Mehr

Konfigurationsanleitung Quality of Service (QoS) Funkwerk. Copyright Stefan Dahler - www.neo-one.de 13. Oktober 2008 Version 1.1.

Konfigurationsanleitung Quality of Service (QoS) Funkwerk. Copyright Stefan Dahler - www.neo-one.de 13. Oktober 2008 Version 1.1. Konfigurationsanleitung Quality of Service (QoS) Funkwerk Copyright Stefan Dahler - www.neo-one.de 13. Oktober 2008 Version 1.1 Seite - 1 - 1. Konfiguration von Quality of Service 1.1 Einleitung Im Folgenden

Mehr

... relevante Ports für Streaming bzw. Remote Control!

... relevante Ports für Streaming bzw. Remote Control! ... relevante Ports für Streaming bzw. Remote Control! Wenn Sie mit der Installation des IO [io] 8000 / 8001 beginnen, ist es am sinnvollsten mit einem minilan zu beginnen, da dies mögliche Fehlrequellen

Mehr

Internetprotokoll TCP / IP

Internetprotokoll TCP / IP Internetprotokoll TCP / IP Inhaltsverzeichnis TCP / IP - ALLGEMEIN... 2 TRANSPORTPROTOKOLLE IM VERGLEICH... 2 TCP / IP EIGENSCHAFTEN... 2 DARPA MODELL... 3 DIE AUFGABEN DER EINZELNEN DIENSTE / PROTOKOLLE...

Mehr

ATM LAN Emulation. Prof. Dr. W. Riggert

ATM LAN Emulation. Prof. Dr. W. Riggert ATM LAN Emulation Prof. Dr. W. Riggert Inhalt Das Tutorial ist in drei Abschnitte gegliedert. Abschnitt 1 behandelt die Frage, warum LAN Emulation benötigt wird, Abschnitt 2 widmet sich der Frage, welche

Mehr

Praktikum Rechnernetze Aufgabe 5: Netzmanagement mit Shareund Freeware Software

Praktikum Rechnernetze Aufgabe 5: Netzmanagement mit Shareund Freeware Software Praktikum Rechnernetze Aufgabe 5: Netzmanagement mit Shareund Freeware Software 23. April 2001 Niels-Peter de Witt Matrikelnr. 083921 Karsten Wolke Matrikelnr. 083967 Helge Janicke Matrikelnr. 083973 1

Mehr

38 kbit/sek * 60 ------------------- = 22,8 kbit/sek 100

38 kbit/sek * 60 ------------------- = 22,8 kbit/sek 100 1.1.: Sie haben von zuhause eine Verbindung über die serielle asynchrone Schnittstelle des PC via Modem ins Internet aufgesetzt. Es wird angezeigt das die DÜ mit einer Baudrate von 38 kbit/sek durchgeführt

Mehr

Grundlagen der Telematik AMW Übungsaufgaben

Grundlagen der Telematik AMW Übungsaufgaben Grundlagen der Telematik AMW Übungsaufgaben Grundlagen der Telematik (AMW SS 00): Übungsaufgaben Aufgabe Es sei gegeben, dass eine Datei mit F Bit über einen Pfad, der über Q Links durch das Netzwerk führt,

Mehr

Vorlesung SS 2001: Sicherheit in offenen Netzen

Vorlesung SS 2001: Sicherheit in offenen Netzen Vorlesung SS 2001: Sicherheit in offenen Netzen 2.1 Internet Protocol - IP Prof. Dr. Christoph Meinel Informatik, Universität Trier & Institut für Telematik, Trier Prof. Dr. sc. nat. Christoph Meinel,

Mehr

Labor - Rechnernetze. : 4 Protokollanalyzer

Labor - Rechnernetze. : 4 Protokollanalyzer Labor - Rechnernetze Versuch : 4 Protokollanalyzer Laborbericht Im Rahmen des Praktikums Rechnernetze sollten mittels des DA 31 Protokollanalyzers Messungen in einem Netzwerk durchgeführt werden. Aufgabe

Mehr