Internet Networking TCP Congestion Avoidance and Control
|
|
|
- Monica Friedrich
- vor 9 Jahren
- Abrufe
Transkript
1 Seminararbeit the protocols that run the internet Internet Networking TCP Congestion Avoidance and Control
2 Seite 2 INHALT 1 Einleitung Grundlagen Netzwerkkommunikation TCP - Transport Control Protocol Konzepte des zuverlässigen Datenaustauschs Grundlagen und Konzepte des Congestion Controls Was ist Congestion control? Self-Clocking Prinzip Probleme bei der Sicherstellung des Eqilibriums Methoden des Congestion Controls Round Trip Time Estimation Slow Start Congestion Avoidance Fast Retransmit & Fast Recovery Zusammenfassung und Ausblick Abbildungsverzeichnis Quellenverzeichnis...19
3 Seite 3 1 EINLEITUNG Das Internet hat heute über 600 Millionen Nutzer 1. Und täglich kommen mehrere Tausend hinzu. Der Boom des Internets begann Ende der 80er Jahre. Immer mehr Organisationen und Universitäten schlossen sich dem bis dahin nur kleinen Netzwerk an. Während es 1987 weltweit nur Server gab, waren es 1989 bereits über Server 2. Und der Zuwachs wurde immer stärker. Doch die Knotenpunkte des jungen Netzes waren mit diesen Massen überfordert. Immer öfter kam es zur Überlastung (engl. Congestion) des Netzes. Die Router, die für das Weiterleiten der Datenpakete zuständig waren, konnten die Anfragen nicht mehr bewältigen. Es drohte der völlige Zusammenbruch des Netzes. Neue Mechanismen zur Kontrolle der Überlastung (engl. congestion control) und der Überlastvermeidung (engl. congestion avoidance) mussten geschaffen werden. Maßgeblich beteiligt an der Entwicklung der noch heute benutzen Methoden waren Van Jacobson, damals Lawrence Berkley Laboratory und Michael J. Karens, damals University of California at Berkeley. Diese Seminararbeit beschreibt die Mechanismen und deren Implementierungen, die in dem Paper Congestion Avoidance and Control [8] von Jacobson und Karels vorgestellt wurden und die Modifikationen bis hin zu den heutigen Standards innerhalb des TCP Protokolls. 1 Stand: September Juni 2003
4 Seite 4 2 GRUNDLAGEN Um zu verstehen wie und wo die Methoden des Congestion Avoidance ansetzen, ist es unumgänglich einige Grundlagen der Netzwerkkommunikation zu betrachten. Insbesondere spielt das TCP- Protokoll eine entscheidende Rolle bei derumsetzung der Überlastkontrolle. In diesem Kapitel wird das TCP-Protokoll und dessen Rolle in der Netzwerkkommunikation vorgestellt. 2.1 Netzwerkkommunikation Ein Kommunikationssystem aus der Sicht von TCP lässt sich in vier Schichten unterteilen: In die Anwendungsschicht, die Host-zu-Host Transport Schicht, die Internet-Schicht und die Netzwerk-Interface-Schicht. Jede dieser Schichten ist unabhängig und kommuniziert nur mit der darüberliegenden und der darunterliegenden Schicht. Host A Appl. TCP IP Net iface Router IP Net iface Host B Appl. TCP IP Net iface Net 1 Net 2 Abbildung 1: Netzwerkkommunikation aus der Sicht von TCP In der untersten Schicht, der Netzwerkschicht, werden die Datenpakete aus der IP-Schicht auf das Netzwerkkabel gegeben. Doch zuvor werden die Pakete mit einem Header versehen, das heißt, an die eigentlichen Daten wird eine zusätzliche Bit-Folge gehängt. In dieser Bit- Folge werden u. a. die Hardware-Adresse des Empfängers sowie eine Prüfsumme der Daten gespeichert. Erst dann wird das Paket zugestellt. Der Empfänger überprüft die Prüfsumme und vergleicht die eigene Hardware-Adresse mit der Empfängeradresse des Headers und leitet das Paket bei Übereinstimmung an die höheren Schichten weiter. In der Internetschicht befindet sich das IP-Protokoll. Es ist für das Routing zuständig und damit auf welchem Weg die Datenpakete an ihr Ziel gelangen. Auch hier wird das Datenpaket mit einen Header versehen. In ihm werden diesmal u.a. die Quell- und die Ziel- IP-Adresse gespeichert. Mit der IP-Adresse können Rechner in einem Netzwerk adressiert werden.
5 Seite 5 Befindet sich die Ziel-IP-Adresse im gleichen Teilnetzwerk (Subnet), kann das Paket direkt zugestellt werden. Ansonsten wird das Paket mit Hilfe einer Routing-Tabelle weitergeleitet bis es im richtigen Subnet ist und zugestellt werden kann. Findet das Paket innerhalb einer gewissen Anzahl an Routern nicht zum Zielhost, wird es gelöscht. Durch das IP-Protokoll ist also nicht gewährleistet, ob das Paket überhaupt sein Ziel erreicht. Auch können Daten-Pakete beim Transport stark verzögert oder sogar dupliziert werden. Für einen sinnvollen Datenaustausch zweier Hosts bzw. Anwendungen sollte aber die Zuverlässigkeit der Zustellung gegeben sein. Das TCP der Transportschicht ist für die Sicherstellung dieser Zuverlässigkeit zuständig. Es beschreibt wie eine Verbindung zwischen den Hosts hergestellt wird, wie Fehler erkannt werden, und wie Datenpakete prompt und zuverlässig zugestellt werden, ohne dabei das Netz zu überlasten. 2.2 TCP - Transport Control Protocol Aus der Applikationsschicht bekommt TCP die Daten, die übermittelt werden sollen in Form eines Bitstroms. TCP teilt diese in höchsten 64 KByte große Segmente auf. Diese Segmente werden später als IP-Pakete (IP-Datengramme) verschickt. Da das IP-Protokoll auch nicht sicherstellen kann, dass die Datengramme in der richtigen Reihenfolge zugestellt werden, muss auch hierfür TCP Sorge tragen. TCP versieht die Pakete mit dem TCP- Header. Für jedes Paket wird dort eine eindeutige, fortlaufende Sequenznummer gespeichert. Dadurch ist eine eindeutige Reihenfolge definiert und der Bit-Strom lässt sich nach der Übermittlung rekonstruieren. Abbildung 2: Der TCP-Header Bevor der Datenaustausch beginnen kann, wird zwischen dem Sender und dem Empfänger eine virtuelle Verbindung aufgebaut. Dies geschieht über einen sogenannten 3-Wege- Handschlag. Der Sender bittet um eine Verbindung, der Empfänger stimmt zu und der Sender bestätigt den korrekten Verbindungsaufbau. Die Verbindung wird als virtuell
6 Seite 6 bezeichnet, da eine feste, zuverlässige Verbindung aufgebaut wird, obwohl sie auf einer verbindungslosen Übertragung beruht. Nun kann mit der Übertragung begonnen werden. 2.3 Konzepte des zuverlässigen Datenaustauschs TCP muss sicherstellen, dass ein Datenpaket auch wirklich beim Empfänger ankommt. Die grundlegendste Technik dies zu gewährleisten ist, dass der Empfänger für jedes empfangene Datenpaket eine Empfangsbestätigung (Acknowlegement oder kurz: ACK) an den Sender zurückschickt. Erst wenn der Sender diese Bestätigung erhält, kann er sicher sein, dass das Datenpaket angekommen ist. Dieses Konzept nennt man Bestätigtes Senden. Sender Empfänger Abbildung 3: Bestätigtes Senden Trifft die Bestätigung nach einer geschätzten Zeit nicht ein, muss davon ausgegangen werden, dass das Paket oder die Bestätigung auf dem Weg verloren gegangen ist und das Paket wird noch einmal geschickt ( Bestätigtes Senden mit Neuübertragung ). Sender Empfänger Abbildung 4: Bestätigtes Senden mit Neuübertragung
7 Seite 7 Zusammen mit der fortlaufenden Nummerierung der Pakete ist das Bestätigte Senden mit Neuübertragung ein effektives Konzept des zuverlässigen Datenaustausches. Allerdings ist es nicht effizient. Bei hohen Latenzzeiten ist der Sender sehr lange untätig, da er immer auf die Bestätigung des letzten Datensegments warten muss. Um die Effizenz zu steigern, bedient man sich des Sliding Window - Konzepts. Statt auf die Bestätigung jedes einzelnen Paketes zu warten, erlaubt man, eine durch ein Sendefenster definierte Anzahl von Paketen auch unbestätigt zu senden. Das Fenster gibt den Rahmen vor, welche Pakete gerade gesendet werden dürfen. Wird nun das erste Paket der bereits gesendeten Segmente bestätigt, verschiebt sich das Fenster um ein Datenpaket nach rechts (siehe Abbildung) und ein weiteres Paket tritt in den Rahmen und kann gesendet werden. Alle Pakete, die sich links des Fensters befinden, sind also versendet und bestätigt. Pakete innerhalb des Fensters werden gesendet und warten auf Bestätigung. Alle Paket rechts des Fensters sind noch nicht gesendet. Sender Empfänger Abbildung 5: Das "Sliding Window"-Konzept Auf der Seite des Empfängers gibt es ebenso ein Fenster, in das die empfangenen Pakete eingeordnet werden. Durch die Sequenznummern der Pakete kann bestimmt werden, welche Pakete innerhalb des Fensters noch ausstehen. Mit der Bestätigung teilt der Empfänger auch mit, welches Paket als nächstes erwartet wird. Diese Information wird im Acknowledgement gespeichert. Dadurch können mehrere bereits empfangene Pakete auf einmal bestätigt werden. Dies ist ein weiterer Effizenzvorteil, da weniger Bestätigungen versendet werden müssen. TCP setzt das Konzept des Sliding Window um und sichert somit den effektiven und effizenten Datenaustausch zwischen Sender und Empfänger.
8 Seite 8 Zusammengefasst lässt sich sich über die Eigenschaften von TCP sagen: TCP ist verbindungsorientiert Zwischen Sender und Empfänger wird eine virtuelle Verbindung aufgebaut eine Streaming-Schnittstelle TCP erhält die Daten als Bitstom und zerlegt sie in einzelne Segmente zum Datenaustausch zuverlässig Durch das Konzept des Bestätigten Sendens mit Neuübertragung stellt TCP sicher, dass die Daten auch wirklichen den Empfänger erreichen Eine weitere Eigenschaft von TCP ist, dass es Funktionen der Überlastkontrolle übernimmt. Im Folgenden wird diese Eigenschaft von TCP näher vorgestellt und die Art und Weise, wie TCP die Überlastkontrolle umsetzt, näher erläutert. 3 GRUNDLAGEN UND KONZEPTE DES CONGESTION CONTROLS 3.1 Was ist Congestion control? Wie Eingangs erwähnt, entsteht Überlastung oder Congestion immer dann, wenn das Netzwerk bzw. ein Router durch zu viele Datenpakete überfordert wird. Die Übermittlung der Pakete bleibt dann aus und der zuverlässige Datenaustausch ist gestört. Die Ursachen hierfür sind simpel: Wenn mehrere Sender mit voller Kapazität Daten senden, aber es innerhalb des Netzwerkes Engstellen, so genannte bottlenecks gibt, kann ein Router die Daten nicht so schnell übermitteln wie neue Daten nachkommen. Der Puffer des Routers läuft über und Daten gehen verloren. Verschärfend kommt hinzu, dass wenn der Sender keine Bestätigung von Empfänger erhält, er die Daten ein weiteres Mal sendet, was wiederum das Netz belastet. Host Host Host Host Router Host Host Abbildung 6: Beispiel eines überlasteten Routers
9 Seite 9 Die in TCP integrierte Überlastkontrolle (engl. Congestion Control ) versucht diesen Zustand der Überlastung des Netzes zu verhindern und auf Anzeichen für Überlastung zu reagieren. Gleichzeitig sollen die verfügbaren Ressourcen effektive genutzt werden und gerecht verteilt werden. 3.2 Self-Clocking Prinzip Durch das Konzept des Sliding Window stellt TCP sicher, dass ein Datenpaket seinen Empfänger effizient erreicht. Neue Pakete werden nur dann gesendet, wenn der Sender eine Empfangsbestätigung erhält. Oder anders formuliert: Erst wenn ein altes Paket das Netzwerk verlässt, wird ein neues Paket auf das Netzwerk gegeben. Neben der Zuverlässigkeit der Zustellung wird dadurch auch erreicht, dass das Netz nicht durch zu viele Pakete überlastet wird. Man bezeichnet dies als conservation of packets. Ein solches System befindet sich in einem Gleichgewicht (engl. Equilibrium), das in Bezug auf Überlastung stabil sein sollte. Das Schaubild illustriert ein solches Equilibrium: P B P E Sender A S A E Empfänger A B Abbildung 7: Das "Self-Clocking" Prinzip Sender und Empfänger sind über ein Netzwerk verbunden. Ein Teilabschnitt der Verbindung ist eine langsamere Verbindung. Die Vertikale stellt die Bandbreite der Verbindung dar. Die gelben Elemente sind Datenpakete, die versendet wurden. Die Horizontale stellt die Zeit dar. Die Datenpakete brauchen länger zum Durchqueren des langsameren Abschnitts. Sie werden zeitlich gedehnt. Beim Eintritt in ein schnelleres Netz können sie wieder schneller übertragen werden. Allerdings bleibt der Abstand zwischen den Paketen bestehen (P B =P E ). Der Empfänger bestätigt den Erhalt eines Pakets mit einem ACK (rot). Auch hier bleibt der Abstand zwischen den Paketen erhalten (A E =A B =A S =P B =P E ). Der Sender kann nun für jedes erhaltene ACK ein weiteres Paket versenden. Das System taktet sich also selbst und
10 Seite 10 richtet sich nach dem langsamsten Abschnitt der Übermittlung. Es wird daher auch selfclocking genannt. Eine zentrale Aufgabenstellung der Überlastkontrolle ist es das Eqilibrium sicherzustellen und dadurch Überlastung zu verhindern. 3.3 Probleme bei der Sicherstellung des Eqilibriums Befindet sich ein System im Equilibrium, sollte es nicht zu Überlastung kommen. Allerdings hat sich am Beispiel des Internets gezeigt, dass es Probleme beim Erreichen dieses Zustands gibt. Im Besonderen gibt es drei Arten: Problem 1: Das System kommt nicht in den Zustand des Equilibriums. siehe Kapitel 4.2: Überführung eines Systems ins Equilibriums: Slow Start Problem 2: Der Sender schickt ein neues Paket, bevor ein altes das Netz verlassen hat. siehe Kapitel 4.1: Korrektes Schätzen der Round Trip Time und korrekte Einstellung des Retransmit Timers Problem 3: Innerhalb des Systems gibt es Ressourcenknappheiten und dadurch kann das Equilibrium nicht erreicht werden. siehe Kapitel 4.3: Mit Multiplicative Decrease auf Überlast reagieren (Congestion Avoidance) siehe Kapitel 4.4: Fast Retransmit Im nächsten Kapitel werden die Methoden und Algorithmen vorgestellt, die sich diesen Problematiken annehmen. 4 METHODEN DES CONGESTION CONTROLS 4.1 Round Trip Time Estimation Ein grundlegendes Problem ist festzustellen, wann es sich um Congestion handelt und wann nicht. Bekommt der Sender keine Bestätigung für ein versendetes Paket, muss er dann davon ausgehen, dass das Netz überlastet ist? Oder befindet es sich noch auf dem Weg und braucht nur länger? Oder ist das Paket verloren gegangen? Wie lange gibt man einem Paket Zeit das Netz zu durchqueren? Und wie lange wartet man bis man das Paket noch einmal sendet?
11 Seite 11 Der Sender muss abschätzen, wann er davon ausgehen kann, dass das Paket verloren gegangen ist und noch einmal gesendet werden muss. Sendet er das Paket zu früh, befindet sich das alte Paket noch im Netz und das Equilibrium wird gestört. Wartet er zu lange, leidet die Übertragungsrate. Sender Empfänger Round-Trip-Time Retransmit-Timeout-Interval Abbildung 8: Round-Trip-Time und Retransmit-Timeout-Interval Die Zeit zwischen Versenden und Neuübertragung wird Retransmit Timeout Interval (RTO) genannt. Für jedes gesendete Paket wird ein Timer mit dieser Zeit neu gestartet. Läuft er ab ( timeout ), wird das Paket neu gesendet ( retransmission ). Grundlage zur der Berechnung dieses Timers ist die Rundenzeit ( Round-Trip-Time ) eines Pakets. Also die Zeit, die ein Paket braucht, um vom Sender zum Empfänger zu gelangen plus die Zeit, die das Acknowledgement zurück braucht. Doch da man nicht weiß, welche Route ein Paket durch das Netz nimmt, ist es unmöglich vorherzusagen, wie lange ein Paket benötigt. Außerdem variiert die Dauer auch je nach aktueller Belastung des Netzes. Sie muss also geschätzt werden. TCP benutzt hierfür einen adaptiven Algorithmus. Der Timer wird im Verlauf der Verbindung ständig verändert und passt sich der aktuellen Gegebenheiten des Netzes an. Der Sender verwaltet zur Berechung des Timers zwei Variablen: Die geglättete Rundenzeit ( Smoothed Round Trip Time (SRTT)) und die Varianz der Rundenzeiten ( Round-Trip- Time Variation (RTTvar)). Bevor die erste Rundenzeit gemessen werden kann, wird das Retransmit-Timeout-Interval auf drei Sekunden (empirisch ermittelt) gesetzt. Nach Messung der ersten Rundenzeit wird die geglättete Rundenzeit auf die gemessene Rundenzeit gesetzt und die Varianz auf die Hälfte der Rundenzeit: SRTT gemessene Rundenzeit
12 Seite 12 gemessene Rundenzeit RTTvar 2 Das Retransmit-Timeout-Interval wird dann auf RTO SRTT + K * RTTvar gesetzt. K ist hierbei ein Faktor als Sicherheitsspielraum, der auf Erfahrungen beruht und in den meisten Implementierungen auf vier gesetzt. Fortan wird die Rundenzeit der Pakete kontinuierlich gemessen und nach jeder Messung werden die Werte wie folgt gesetzt: RTTvar (1 - β) * RTTVAR + β * SRTT gemessene Rundenzeit SRTT (1 - α) * SRTT + α * gemessene Rundenzeit RTO SRTT + K * RTTvar Auch hier sind α und β Erfahrungswerte (Von Jacobson [8] vorgeschlagen: α=1/8 und β=1/4). Eine ausschlaggebende Beobachtung bei der Berechung der Varianzen der Rundenzeiten war, dass bei starker Belastung des Netzes die Rundenzeiten stark variieren. Ein Lösungsansatz war, die Standardabweichung der Rundenzeiten in die Berechnung mit einfließen zu lassen. Allerdings ist die Berechnung der Standartabweichung für jedes Paket zu aufwendig. Daher ist die Berechnung der mittlere Abweichung ( SRTT gemessene Rundenzeit ) sinvoller. Die Erfahrung hat gezeigt, dass sich so berechnet ein realistischer Wert für den Timer ermitteln lässt, der auch resistent gegen Veränderungen der Netzauslastung ist. Gleichzeitig ist der Timer ein sehr guter Indikator für Congestion, da man mit hoher Wahrscheinlichkeit sagen kann, dass es bei einem timeout um ein Anzeichen für Überlastung des Netzwerkes handelt. 4.2 Slow Start Dieselben Faktoren, die ein System im Eqilibrium stabilisieren, machen es schwierig, das Equilibrium zu erreichen: Damit Pakete versendet werden können, benötigt das System Acknowledgments vom Empfänger, die es takten. Um Acknowledgments zu bekommen, müssen Daten versendet wurden sein. Von Jacobson wir in [8] ein Algorithmus vorgestellt, der das System schrittweise ins Equlibrium überführt. Ziel ist, dass dies möglichst schnell passiert, um die verfügbare Bandbreite effektiv zu nutzen. Obwohl der vorgestellte Algorithmus Slow-Start genannt wird, erhöht er die Datenmenge im Fluss bis hin zum maximalen Belastbarkeit sehr schnell. Der Algorithmus bedient sich einer einfachen Idee: Die Menge der Daten im Netz ist abhängig von der Größe des Sendefensters des Senders. Vergrößert man das Fenster, werden mehr Datenpakete aufs Netzwerk gegeben. Verkleinert man es, werden weniger Daten auf das Netzwerk gegeben.
13 Seite 13 Aus diesem Grund wird auf Seiten des Senders eine weitere Variable eingeführt das Congestion Window (cwnd). Zu Beginn eines Datentransfers wird das Congestion Window auf die maximale Segmentgröße des Senders ( Sender maximum Segment Size (SMSS) )gesetzt 3. Die maximale Segmentgröße des Senders gibt die maximale Menge an Nutzdaten innerhalb eines TCP-Segments an 4. Sender Empfänger cwnd + 1 =2 cwnd + 2 =4 cwnd + 4 =8 Abbildung 9: Slow Start Das Sendefenster entspricht zu Beginn in seiner Grösse dem Congestion Window und sendet ein maximales Segment. Im Folgenden wird für jedes empfangene Acknowledgement das Congestion Window um ein Segment erhöht. Und das Sendefenster wird auf das Minimum des Congestion Windows und des Advertised Windows (awnd) gesetzt. Das Advertised Window ist ein Wert, der den freien Platz im Empfangspuffer angibt. 5 Es wird so lange gesendet bis entweder ein Anzeichen für Überlastung (Paketverluste (Retransmission-Time-Out)) auftritt oder ein Schwellwert ( Threshold (ssthresh) ) überschritten wird. Der Schwellwert kann zu Beginn beliebig hoch gesetzt werden. Oft wird der Wert des Advertised Windows benutzt. 3 Der Startwert für cwnd kann bis zu 2 SMSS gesetzt werden (nach RFC 2581). 4 Die SMSS wird durch die Implementierung des TCP/IP-Stacks bestimmt und damit durch das Betriebssystem vorgegeben (1024 Byte bei den meisten Implementierungen). Unter anderem richtet sie sich auch nach der Maximum Transmission Unit (MTU). 5 Der aktuelle Wert des awnd wird mit jedem ACK übermittelt.
14 Seite 14 Der Algorithmus: cwnd = 1*SMSS FOR EACH received ACK DO cwnd = cwnd + SMSS wnd = min (cwnd, rwnd) UNTIL (cwnd < ssthresh) OR (Congestion) Das Congestion Window nimmt expotentiell zu und so wird schnell der Maximalwert ermittelt, bis zu dem gesendet werden kann, ohne dass Überlastungserscheinungen auftreten. Der Algorithmus kann auf zwei mögliche Arten terminieren. Entweder der Schwellwert wird erreicht oder es tritt Überlastung ein. Je nachdem welcher Fall eintritt, wird unterschiedlich fortgefahren. Registriert der Sender den Verlust von Datenpaketen durch den Retransmission-Timer, wird der Threshold auf die Hälfte der noch ausstehenden Segmente des Sendefenstern verringert (maximal die Hälfte des Congestion Windows) und Slowstart wird neu gestartet. Terminiert der Algorithmus, weil der Threshold erreicht wurde, geht die Verbindung in eine neue Phase über und der Congestion Avoidance -Algorithmus wird gestartet. Congestion Window Threshold Time out Slow Start Threshold Abbildung 10: Verlauf von Slow Start Round Trip Rate
15 Seite Congestion Avoidance Congestion Avoidance ist mit Slow Start eng verbunden. Trotzdem ist es ein unabhängiger Algorithmus mit komplett anderen Zielen. Durch Slow Start wurde die obere Grenze der Belastbarkeit einer Verbindung abgesteckt. Aber dieses Optimum kann sich verschieben. Nun versucht man sich langsam an diese Grenze heranzutasten. Congestion Avoidance realisiert dieses langsame Herantasten, indem es das Congestion Window im Gegensatz zu Slow Start linear erhöht. Pro Round-Trip-Time wird das Fenster um ein Segment erhöht ( additive increase ). Das entspricht: SMSS Für jedes empfangene ACK: cwnd = cwnd + SMSS * cwnd Sobald es zu ersten Überlastungsanzeichen kommt terminiert der Algorithmus und das Congestion Window wird halbiert, man sagt auch es wird multiplikative verringert ( multiplicative decrease ). Man bezeichnet dieses Vorgehen als Additive Increase and Multiplicative Decrease (AIMD). Neben den Congestion Window wird auch der Threshold verringert. Er wird auf die Hälfte des Congestion Windows gesetzt. Congestion Window Threshold Time out Slow Start Congestion Avoidance Threshold Abbildung 11: Verlauf Slow Start und Congestion Avoidance Round Trip Rate
16 Seite Fast Retransmit & Fast Recovery Ausser dem Retransmission-Timout gibt es weitere Anzeichen für Überlastung. Ein weiteres Signal ist der Erhalt dreier Duplicate-ACKs. Wie bereits erwähnt, wird im Acknowledgements des Empfängers mit Hilfe der Sequenznummer codiert, welches Paket er als nächstes erwartet. Ein Duplicate-ACK ist ein Hinweis, dass er ein Datenpaket out-oforder erhalten hat. Das heißt, er hat ein Paket erhalten, dessen Sequenznummer nicht der erwarteten Nummer entspricht. Daraufhin schickt der Empfänger die Bestätigung des letzten erhaltenen Pakets noch einmal und teilt dadurch dem Sender die Lücke und die Sequenznummer des fehlenden Pakets mit. Drei solcher Hinweise sind ein sicheres Signal, dass das Paket verloren gegangen sein muss. Allerdings zeigt dies auch, dass offensichtlich noch Datenpakete übermittelt werden, sonst würde der Empfänger keine ACKs generieren. Ohne Fast Retransmit werden nach Ablauf des Retransmission-Timers das verlorengegangene Datenpaket und alle nachfolgenden Datenpakete im Sendefenster neu übertragen. Dies bedeutet aber eine unnötige Belastung der Netzwerkressourcen, da alle nachfolgenden Datenpakete auch noch einmal übertragen werden müssen und unnötiger Zeitverlust, da bis zum timeout mit der Neuübertragung gewartet wird, obwohl schon nach den dritten Duplicate-ACK klar ist, dass das Paket verlorengegangen ist. Durch Fast Retransmit wird das verlorengegangene Paket erneut versendet ohne auf das Ablaufen des Timers zu warten. Sender Empfänger Abbildung 12: Fast Retransmit
17 Seite 17 Obwohl der Fast Retransmit Algorithmus das verlorengegangene Paket noch einmal gesendet hätte, würde nach Ablauf des Timers ein Slow Start ausgeführt werden bei dem auch die Bestätigten Pakete innerhalb des Fensters noch einmal gesendet werden würden. Daher steuert nach der Fast Retransmission der Fast Recovery Algorithmus die Übertragung. Fast Retransmit und Fast Recovery werden meist wie folgt implementiert: Sobald das dritte Duplicate ACK empfangen wurde, wird der Threshold auf die Hälfte der noch ausstehenden Segmente des Sendefensters gesetzt (maximal die Hälfte des Congestion Windows). Menge, der noch ausstehenden Pakete ssthresh = 2 Das verlorengegangene Paket wird erneut übermittelt und das Congestion Window wird neu gesetzt: cwnd = ssthresh + 3 SMSS Das entspricht den drei Segmenten, die durch Duplicate ACKs bestätigt wurden und vom Empfänger gepuffert werden. Für jedes weiter empfangene Duplicate ACK wird das Congestion Window um ein SMSS erhöht. Dies wird auch inflating genannt. cwnd = cwnd + 1SMSS Da der Sender durch das Duplicate ACK weiß, dass das gesendete Paket das Netzwerk verlassen hat, kann er ein weiteres Paket senden. Da aber das verlorengegangene Paket noch nicht bestätigt wurde, gleiten die nachfolgenden Pakete nicht aus dem Fenster. Daher wird es jedes Mal um ein Segment erhöht. Dann kann ein neues Segment übermittelt werden, sofern es das Congestion Window und das Empfängerfenster zulassen. Sobald der Sender ein neues ACK erhält, also kein Duplicate ACK, wird das Congestion Window wieder auf die Größe des Schwellwertes gesetzt ( deflating ). cwnd = ssthresh Durch dieses erste, neue ACK sollten das verlorengegangene Paket und die anschließend empfangenen Pakete korrekt bestätigt werden. 5 ZUSAMMENFASSUNG UND AUSBLICK TCP sichert den zuverlässigen Datenaustausch im Netzwerk, insbesondere im Internet. Zum zuverlässigen Transfer gehört auch, sich den Gegebenheiten der Verbindung anzupassen und auf mögliche Überlastung zu reagieren. Die Mechanismen der Überlastkontrolle und die
18 Seite 18 Mechanismen zur Vermeidung der Überlastung, die heute in fast jeder TCP-Ausführung implementiert sind, reagieren auf Signale der Überlastung und verringern automatisch die Belastung des Netzes, indem sie die Datenmenge im Transfer verringern. Gleichzeitig wird versucht, durch kontinuierliches Austesten der Ressourcen den Austausch effizient zu halten. Nimmt man alle in dieser Arbeit vorgestellten Mechanismen zusammen, ergibt sich das für TCP so typische Sägezahnmuster : Congestion Window Threshold Time out Slow Start Congestion Avoidance Threshold Fast Retransmit & Fast Recovery Abbildung 13: TCP Sägezahnverlauf Round Trip Rate Die Liste der vorgestellten Mechanismen zur Überlastkontrolle ist sicherlich nicht vollständig. Es gibt viele weitere Ansätze die versuchen, die Zuverlässigkeit einer TCP- Verbindung zu verbessern und die Überlasterscheinungen im Netzwerk zu minimieren. Und das nicht ohne Grund: Eine Untersuchung von Servern unter der Belastung vieler Verbindungen (siehe [3]) hat gezeigt, dass die Recovery-Mechanismen zur Behandlung verlorengegangener Pakete, die in TCP implementiert wurden, noch unzureichend sind. Fast 50% aller verlorenen Segmente müssen nach einem Timeout durch Slow Start neu gesendet werden. Weniger als 45% werden durch Fast Retransmit abgefangen. Es wurde des Weiteren beobachtet, dass es bei Verbindungen unter Belastung zu Verdichtungen der ACKs kommen kann, die das System dadurch falsch takten. Auch wurde festgestellt, dass Clients, die mehrere parallele Verbindungen zum Server benutzen, deutlich aggressiver sind als Clients mit nur einer TCP-Verbindung. D.h., dem Client wird mehr Bandbreite zugesprochen als ihm zusteht. Für viele dieser Probleme gibt es schon Lösungsansätze, die aber noch nicht in den TCP- Standard integriert wurden. Viele andere Problematiken des Congestion Avoidance and Controls sind noch lange nicht gelöst und warten darauf erkannt und gelöst zu werden.
19 Seite 19 6 ABBILDUNGSVERZEICHNIS Abbildung 1: Netzwerkkommunikation aus der Sicht von TCP 4 Abbildung 2: Der TCP-Header, aus: Löb, H.-P., Wilms, D.,TCP Transmission Control Protocol, Grundlagen der Rechnerkommunikation, Abbildung 3: Bestätigtes Senden 6 Abbildung 4: Bestätigtes Senden mit Neuübertragung 6 Abbildung 5: Das "Sliding Window"-Konzept 7 Abbildung 6: Beispiel eines überlasteten Routers 8 Abbildung 7: Das "Self-Clocking" Prinzip, in Anlehnung an Figure1 Window Flow Control 'Self-Clocking' aus Jacobson, V., Karels, M. J., Congestion Avoidance and Control", In Proceedings of ACM SIGCOMM '88, Stanford, CA, August Abbildung 8: Round-Trip-Time und Retransmit-Timeout-Interval 11 Abbildung 9: Slow Start 13 Abbildung 10: Verlauf von Slow Start 14 Abbildung 11: Verlauf Slow Start und Congestion Avoidance 15 Abbildung 12: Fast Retransmit 16 Abbildung 13: TCP Sägezahnverlauf 18 7 QUELLENVERZEICHNIS [1] Allman, M., Paxson, V., Computing TCP's Retransmission Timer, RFC 2988, November [2] Allman, M., Paxson, V. and R. Stevens, TCP Congestion Control, RFC 2581, April [3] Balakrishnan, H, Padmanabhan V. N., Srinivasan, S., Stemm, M., Katz, R. H., TCP Behavior of a Busy Internet Server: Analysis and Improvements, IEEE Infocom, March [4] Comer D.E., Stevens D.L., Internetworking with TCP/IP, Vol. I - Priciples, Protocols and Internals. Prentice Hall, Englewood Cliffs, New Jersey, [5] Comer D.E., Stevens D.L., Internetworking with TCP/IP, Vol. II - Design, Implementation and Internals. Prentice Hall, Englewood Cliffs, New Jersey, [6] Floyd, S., Congestion Control Principles, RFC 2914, September [7] Floyd, S. and T. Henderson, The NewReno Modification to TCP's Fast Recovery Algorithm, RFC 2582, April [8] Jacobson, V., Karels, M. J., Congestion Avoidance and Control", In Proceedings of ACM SIGCOMM '88, Stanford, CA, August [9] Leischner, M., Skript zur Veranstaltung Internet- und E-Businesskommunikation, [10] Löb, H.-P., Wilms, D.,TCP Transmission Control Protocol, Grundlagen der Rechnerkommunikation, [11] Postel, J., Transmission Control Protocol, STD 7, RFC 793, September [12] Washburn, K., Evans, J., TCP/IP- Aufbau und Betrieb eines TCP/IP-Netzes, Addison-Wesley, 1994
Internet Networking TCP Congestion Avoidance and Control
Internet Networking TCP Congestion Avoidance and Control Sommersemester 2003 Gliederung 1 Einleitung 2 TCP - Transport Control Protocol 3 Conservation Of Packets 4 Methoden des Congestion Controls Round
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
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
TCP Teil 2. TCP Teil 2: Tilmann Kuhn Betreuer: Dr. Thomas Fuhrmann 1/18
TCP Teil 2 sliding window protocol Begriffe: MSS, RTT und RTO bulk-data flow Stau-Vermeidung Langsamer Start Zusammenspiel: S.V. und L.S. TCP features und options TCP Teil 2: Tilmann Kuhn Betreuer: Dr.
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
Themen. Flußkontrolle. Stefan Szalowski Rechnernetze Sicherungsschicht
Themen Flußkontrolle PPP Flusskontrolle Das Problem: Kein Wissen des Senders über Aufnahmefähigkeit des Empfängers Momentane Auslastung des Empfängers Kommunikation notwendig wieviele Rahmen empfangen
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
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
Der Retransmission Timeout von TCP
Der Retransmission Timeout von TCP Philipp Lämmel Betreuerin: PD Dr. Katinka Wolter Inhaltsverzeichnis 1 Einleitung 2 2 Funktionsweise TCP 2 2.1 Verbindungsablauf........................ 3 3 Der Retransmission-Timeout
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:
Stauvermeidung in TCP Tahoe
Stauvermeidung in TCP Tahoe! Jacobson (1988): x: Anzahl Pakete pro RTT - Parameter: cwnd und Slow-Start-Schwellwert (ssthresh=slow start threshold) - S = Datensegmentgröße = maximale Segmentgröße (MSS)!
Das TCP/IP Schichtenmodell
Das TCP/IP Schichtenmodell Protokolle Bei der TCP/IP Protokollfamilie handelt sich nicht nur um ein Protokoll, sondern um eine Gruppe von Netzwerk- und Transportprotokollen. Da die Protokollfamilie Hardwareunabhängig
Übung 9. Tutorübung zu Grundlagen: Rechnernetze und Verteilte Systeme (Gruppen Mo-T1 / Di-T11 SS 2016) Dennis Fischer
Übung 9 Tutorübung zu Grundlagen: Rechnernetze und Verteilte ysteme (Gruppen Mo-T1 / Di-T11 2016) Dennis Fischer [email protected] Technische Universität München Fakultät für Informatik 20.06.2016
Ü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),
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
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)
TCP Überlastkontrolle. SS 2014 Grundlagen der Rechnernetze Transportschicht 31
TCP Überlastkontrolle SS 2014 Grundlagen der Rechnernetze Transportschicht 31 Motivation Bisher haben wir die Flusskontrolle besprochen: Regulieren der Senderate, um eine Überlastung des Empfängers zu
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
Grundlagen der Rechnernetze. Transportschicht
Grundlagen der Rechnernetze Transportschicht Übersicht Einfacher Demultiplexer (UDP) Transmission Control Protocol (TCP) TCP Überlastkontrolle TCP Überlastvermeidung TCP Varianten SS 2014 Grundlagen der
Übungen zu Rechnerkommunikation
Übungen zu echnerommuniation Sommersemester 009 Übung 5 Jürgen Ecert, Myola Protseno PD Dr.-Ing. Falo Dressler Friedrich-Alexander Universität Erlangen-Nürnberg Informati 7 (echnernetze und Kommuniationssysteme)
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,
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,
Peer-to-Peer- Netzwerke
Peer-to-Peer- Netzwerke Christian Schindelhauer Sommersemester 2006 3. Vorlesung 03.05.2006 [email protected] 1 Inhalte Kurze Geschichte der Peer-to-Peer- Netzwerke Das Internet: Unter
Netzwerk-Programmierung. Netzwerke. Alexander Sczyrba Michael Beckstette.
Netzwerk-Programmierung Netzwerke Alexander Sczyrba Michael Beckstette {asczyrba,mbeckste}@techfak.uni-bielefeld.de 1 Übersicht Netzwerk-Protokolle Protkollfamilie TCP/IP Transmission Control Protocol
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
Im Vorlesungsskript (5) auf Seite 7 haben wir folgendes Bild:
Übungsblatt 4 Aufgabe 1 Sie möchten ein IEEE 802.11-Netzwerk (WLAN) mit einem IEEE 802.3-Netzwerk (Ethernet) verbinden. 1a) Auf welcher Schicht würden Sie ein Zwischensystem zur Übersetzung ansiedeln?
UDP User Datagramm Protokoll
UDP User Datagramm Protokoll Marco Gerland Janina de Jong Internet Protokolle WS 03 / 04 1/31 Einführung IP Datagramme werden durchs Internet geroutet abh. von der IP Adresse Anhand der Ziel IP Adresse
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
TCP Sliding Window Protokoll
TCP Sliding Window Protokoll Sendende Anwendung Empfangende Anwendung LastByteWritten TCP LastByteRead TCP LastByteAcked LastByteSent NextByteExpected LastByteRcvd Sendepuffer Empfangspuffer p MaxSendBuffer
Christoph Fischer Jörg Schneider DFKI Intelligente Netze. Real Time Workload Monitoring for WLAN
Christoph Fischer Jörg Schneider DFKI Intelligente Netze Real Time Workload Monitoring for WLAN Agenda 1. Motivation 2. Anforderungen 3. Entwickeltes Monitoring Verfahren 4. Erreichte Anforderungen Motivation
TCP-Verbindungen und Datenfluss
TCP-Verbindungen und Datenfluss 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.
Rechnernetze Übung 11. Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juni 2012
Rechnernetze Übung 11 Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juni 2012 IP: 192.168.43.9 MAC: 02-55-4A-89-4F-47 IP: 216.187.69.51 MAC: 08-48-5B-77-56-21 1 2 IP: 192.168.43.15 MAC:
Netzwerk-Programmierung. Netzwerke.
Netzwerk-Programmierung Netzwerke Alexander Sczyrba Michael Beckstette {asczyrba,mbeckste}@techfak.uni-bielefeld.de Übersicht Netzwerk-Protokolle Protkollfamilie TCP/IP Transmission Control Protocol (TCP)
Routing Algorithmen. Barbara Draxler Zenina Huskic Peter Wieland Sebastian Zehentner. 31. Jänner 2002
Routing Algorithmen Barbara Draxler Zenina Huskic Peter Wieland Sebastian Zehentner 31. Jänner 2002 Draxler, Huskic, Wieland, Zehentner: WAP WS01/02 1 Inhalt Wo findet Routing statt? - Vermittlungsschicht/
Adressierung eines Kommunikationspartners in der TCP/IP-Familie
Adressierung eines Kommunikationspartners in der TCP/IP-Familie! Wenn Daten geroutet werden, müssen sie: 1. zu einem bestimmten Netzwerk 2. zu einem bestimmten Host in diesem Netzwerk 3. zu einem bestimmten
Technische Informatik II FS 2008
Institut für Technische Informatik und Kommunikationsnetze Prof. Bernhard Plattner, Fachgruppe Kommunikationssysteme Technische Informatik II FS 2008 Übung 5: Kommunikationsprotokolle Hinweis: Weitere
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
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
Grundlagen TCP/IP. C3D2 Chaostreff Dresden. Sven Klemm [email protected]
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
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
Ermitteln der RTT. Ein Sample RTT(i) bei gegebener Segment Sendezeit s und Acknowledgement Zeit a für das ite versendete Segment:
Ermitteln der RTT Ein Sample RTT(i) bei gegebener Segment Sendezeit s und Acknowledgement Zeit a für das ite versendete Segment: Ein simpler Ansatz wäre das Stichprobenmittel darüber, also: Die gesamte
Vorlesung: Netzwerke (TK) WS 2011/12 Kapitel 5 Ende-zu-Ende-Protokolle Session 17
Vorlesung: Netzwerke (TK) WS 2011/12 Kapitel 5 Ende-zu-Ende-Protokolle Session 17 Prof. Dr. Michael Massoth [Stand: 17.01.2012] 17-1 17-2 ACHTUNG: Testat_4 am Dienstag, den 17.01.2012 Referenzmodelle (OSI,
Kommunikationsnetze Prof. Dr. rer. nat. habil. Seitz. Sara Schaarschmidt Eric Hänsel
Kommunikationsnetze Prof. Dr. rer. nat. habil. Seitz Sara Schaarschmidt Eric Hänsel 23.05.2011 Seite 1 Gliederung 1. Was ist eine Flusssteuerung? 2. Unterschied zur Staukontrolle 3. Verfahren der Flusssteuerung
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
Rechnernetze Übung 11
Rechnernetze Übung 11 Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juli 2011 Herr Müller (Test GmbH) Sekretärin (Super AG) T-NR. 111 T-NR. 885 Sekretärin (Test GmbH) Herr Meier (Super
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
Modul 8: UDP, TCP, SCTP und HTTP
Modul 8: UDP, TCP, SCTP und HTTP 8.1 UDP - User Datagram Protocol 8.2 TCP - Transfer Control Protocol 8.3 SCTP - Stream Control Transmission Protocol 8.4 HTTP - Hypertext Transfer Protocol 13.06.2017 15:10:58
Übungen zur Vorlesung Rechnernetze und Verteilte Systeme
Technische Universität München Informatik VIII Netzarchitekturen und Netzdienste Prof. Dr.-Ing. Georg Carle Marc-Oliver Pahl, Gerhard Münz Übungen zur Vorlesung Rechnernetze und Verteilte Systeme Übungsblatt
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
Netzwerkprotokolle. Physikalische Verbindungsebene Datenübertragungsebene
TCP/IP-Familie Netzwerkprotokolle Protokoll Verfahrensvorschrift Der komplexe Vorgang der Kommunikation wird im Netzwerk auf mehrere aufeinander aufbauende Schichten verteilt, wobei es neben dem OSI-Modell
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
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
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
Einfluss der Window Scale Option auf die Fairness in TCP/IP-Netzen
Einfluss der Window Scale Option auf die Fairness in TCP/IP-Netzen Torsten Müller, TU-Dresden, Institut für Nachrichtentechnik, Professur Telekommunikation Prof. Dr.-Ing. R. Lehnert Übersicht O Einleitung
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
Internetprotokoll und Adressvergabe
Seminar: Internet Protokoll Internetprotokoll und Adressvergabe Autoren: Elmar Berghöfer Sebastian Gieselmann Übersicht Allgemeines Adressierung Paketmodell Header Probleme & Problemlösungen Quellen Internet
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
TCP Transmission Control Protocol (Flusskontrolle und Zustandsdiagramm)
TCP Transmission Control Protocol (Flusskontrolle und Zustandsdiagramm) Johannes Zapotoczky ([email protected]) Alexander Hölßig ([email protected]) 2002 Gliederung TCP und
Version: Das Versionsfeld gibt an ob es sich um IPv4 oder um IPv6 handelt.
Folie 1 Folie 2 Folie 3 Version: Das Versionsfeld gibt an ob es sich um IPv4 oder um IPv6 handelt. IHL (IP Header Length) Im IHL-Feld wird ein vielfaches von 32 Bit angegeben. Die Summe gibt die Größe
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
Übung 10. Tutorübung zu Grundlagen: Rechnernetze und Verteilte Systeme (Gruppen Mo-T1 / Di-T11 SS 2016) Dennis Fischer
Übung 10 Tutorübung zu Grundlagen: Rechnernetze und Verteilte ysteme (Gruppen Mo-T1 / Di-T11 2016) Dennis Fischer [email protected] Technische Universität München Fakultät für Informatik 27.06.2016
Netzwerke. Netzwerk - Programmierung. Alexander Sczyrba. Madis Rumming.
Netzwerk - Programmierung Netzwerke Alexander Sczyrba [email protected] Madis Rumming [email protected] Übersicht Netzwerk-Protokolle Protokollfamilie TCP/IP Transmission
Themen. Transportschicht. Internet TCP/UDP. Stefan Szalowski Rechnernetze Transportschicht
Themen Transportschicht Internet TCP/UDP Transportschicht Schicht 4 des OSI-Modells Schicht 3 des TCP/IP-Modells Aufgaben / Dienste: Kommunikation von Anwendungsprogrammen über ein Netzwerk Aufteilung
Flusskontrolle. Grundlagen der Rechnernetze Übertragungssicherung 68
Flusskontrolle Grundlagen der Rechnernetze Übertragungssicherung 68 Data Link Layer Frame synchronization how to make frames Flow control adjusting the rate of data Error control correction of errors Addressing
Mobile IP. Jeremi Dzienian. 29. Januar Universität Freiburg. Jeremi Dzienian (Universität Freiburg) Mobile IP 29. Januar / 13
Mobile IP Jeremi Dzienian Universität Freiburg 29. Januar 2008 Jeremi Dzienian (Universität Freiburg) Mobile IP 29. Januar 2008 1 / 13 Worum geht s? Erinnert ihr euch an den Geschäftsmann? Jeremi Dzienian
Hauptdiplomklausur Informatik März 2001: 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 200: Internet Protokolle Name:... Vorname:...
Verteilte Systeme - Java Networking (Sockets) -
Verteilte Systeme - Java Networking (Sockets) - Prof. Dr. Michael Cebulla 30. Oktober 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 36 M. Cebulla Verteilte Systeme Gliederung Grundlagen TCP/IP
Grundlagen verteilter Systeme
Universität Augsburg Institut für Informatik Prof. Dr. Bernhard Bauer Stephan Roser Viviane Schöbel Aufgabe 1: Wintersemester 07/08 Übungsblatt 6 15.01.08 Grundlagen verteilter Systeme Lösungsvorschlag
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
Überblick. Anforderungen an die Transportschicht Transmission Control Protocol (TCP) User Datagram Protocol (UDP)
Transportschicht Überblick Anforderungen an die Transportschicht Transmission Control Protocol (TCP) Eigenschaften TCP Kopf TCP Verbindungen User Datagram Protocol (UDP) Aufgaben der Transportschicht Bereitstellung
Die Transportprotokolle: Transmission Control Protocol (TCP) User Datagram Protocol (UDP) Die Socket-Schnittstelle
Die Transportprotokolle: Transmission Control Protocol (TCP) User Datagram Protocol (UDP) Die Socket-Schnittstelle 1 Schichten 5..7 Schicht 4 Rolle der Transportschicht im OSI- Referenzmodell Anforderungen
Vorlesung 11. Netze. Peter B. Ladkin Sommersemester 2001
Vorlesung 11 Netze Peter B. Ladkin [email protected] Sommersemester 2001 Vielen Dank an Andrew Tanenbaum, Vrije Universiteit Amsterdam, für die Bilder Andrew Tanenbaum, Computer Networks, 3.
Transportschicht. Motivation. TCP Slow Start
Transportschicht Kapitel 2 Technische Grundlagen: Schicht 1 Verfahren zum Medienzugriff: Schicht 2 Kapitel 3 Drahtlose Netze: WLAN, Bluetooth, WirelessMAN, WirelessWAN Mobilfunknetze: GSM, GPRS, UMTS Satellitensysteme
Mobilkommunikationsnetze - TCP/IP (und andere)-
- TCP/IP (und andere)- Vorlesung Inhalt Überblick ISO/OSI vs. TCP/IP Schichten in TCP/IP Link Layer (Netzzugang) Network Layer (Vermittlung) Transport Layer (Transport) Application Layer (Anwendung) Page
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?
