Abo
  • Services:
Anzeige

Rack zeigt: TCP kann es immer besser

Eine erste Optimierung Dupack, die in Abbildung 2 skizziert ist, soll das Erkennen eines Verlusts beschleunigen, also die Frage nach dem "Wann" beantworten. Wenn sich eine Bestätigungsnummer mehrfach (in der Regel dreimal, hier aus Platzgründen zweimal) nicht ändert, geht der Algorithmus davon aus, dass das zugehörige Segment verloren ging. Eine Neuübertragung kann damit auch vor Ablauf des Timers stattfinden. Dieser Ansatz wird deshalb auch als Fast Retransmit bezeichnet. Er zeigt in der Praxis allerdings Schwächen bei modernen Anforderungen, die Rack besser adressiert.

Anzeige
  • Das alte, konventionelle TCP (Bild: W. Nüßer)
  • TCP-Verbesserung durch Dupack (Bild: W. Nüßer)
  • TCP-Verbesserung durch Sack (Bild: W. Nüßer)
  • Zeitlich verschobene Bestätigungen ...(Bild: W. Nüßer)
  • ... werden in Rack aktiv zum Beschleunigen genutzt. (Bild: W. Nüßer)
  • Rack hilft auch bei Tail Drops. (Bild: W. Nüßer)
TCP-Verbesserung durch Dupack (Bild: W. Nüßer)

Eine zweite, für das Folgende sehr wichtige Optimierung soll die Menge der erneut zu sendenden Segmente reduzieren, also die Frage nach dem "Was" beantworten. Dazu werden auch OOO-Segmente beim Eintreffen am Empfänger "selektiv" bestätigt (Selective Acknowledgement, Sack, RFC 2018). Dies geschieht über eine Option im TCP-Header und ist damit in der Implementierung durchaus aufwendig. Der Sender weiß nun, dass Segment 2 und 3 angekommen sind und muss nur noch Segment 1 erneut zu senden. Abbildung 3 zeigt das Verhalten von Sack. Dort wird es mit der Optimierung der Zeit gemäß Dupack kombiniert. Allerdings spricht nichts dagegen, auch andere Algorithmen zu verwenden, die die Zeit bis zur Erkennung einer notwendigen Neuübertragung reduzieren.

  • Das alte, konventionelle TCP (Bild: W. Nüßer)
  • TCP-Verbesserung durch Dupack (Bild: W. Nüßer)
  • TCP-Verbesserung durch Sack (Bild: W. Nüßer)
  • Zeitlich verschobene Bestätigungen ...(Bild: W. Nüßer)
  • ... werden in Rack aktiv zum Beschleunigen genutzt. (Bild: W. Nüßer)
  • Rack hilft auch bei Tail Drops. (Bild: W. Nüßer)
TCP-Verbesserung durch Sack (Bild: W. Nüßer)

Genau an dieser Stelle setzt nun Googles Rack an. Es baut auf Sack auf, um die Menge der erneut zu sendenden Segmente zu begrenzen. Dann merkt es sich für jedes Segment den Zeitpunkt des Sendens. Ein verlorenes Segment wird auf dieser Basis dann dadurch erkannt, wenn ein später gesendetes Segment durch Ack oder Sack bestätigt wurde. Dafür kann jedes Segment genutzt werden, sei es erstmalig oder erneut versendet worden.

Die Vorteile von Rack

An zwei stark vereinfachten Beispielen sollen die Vorteile von Rack erläutert werden. In Abbildung 4 wird dafür zunächst eine einfache Abweichung von Abbildung 3 dargestellt: die beiden Bestätigungen werden im Netz irgendwo umgeordnet und eine geht deshalb erst nach dem Ablauf des Timers ein. Dies kann z. B. geschehen, wenn Segment 3 merklich weniger Daten trägt, weil die Anwendung nur noch wenige Daten zu senden hat, und damit schneller befördert wird.

  • Das alte, konventionelle TCP (Bild: W. Nüßer)
  • TCP-Verbesserung durch Dupack (Bild: W. Nüßer)
  • TCP-Verbesserung durch Sack (Bild: W. Nüßer)
  • Zeitlich verschobene Bestätigungen ...(Bild: W. Nüßer)
  • ... werden in Rack aktiv zum Beschleunigen genutzt. (Bild: W. Nüßer)
  • Rack hilft auch bei Tail Drops. (Bild: W. Nüßer)
Zeitlich verschobene Bestätigungen ...(Bild: W. Nüßer)

Es handelt sich hier also nicht um ein generell langsames Netz, sondern um eine segmentspezifische Situation. In diesem Fall würde der bisherige Algorithmus mit Dupack und Sack nicht zu einer beschleunigten Neuübertragung von Segment 1 führen. In Abbildung 5 ist allerdings zu sehen, dass mit Segment (A1, SACK3) ein später gesendetes Segment bestätigt wurde. Rack schließt damit auf den Verlust von Segment 1 und startet die Neuübertragung nun früher.

  • Das alte, konventionelle TCP (Bild: W. Nüßer)
  • TCP-Verbesserung durch Dupack (Bild: W. Nüßer)
  • TCP-Verbesserung durch Sack (Bild: W. Nüßer)
  • Zeitlich verschobene Bestätigungen ...(Bild: W. Nüßer)
  • ... werden in Rack aktiv zum Beschleunigen genutzt. (Bild: W. Nüßer)
  • Rack hilft auch bei Tail Drops. (Bild: W. Nüßer)
... werden in Rack aktiv zum Beschleunigen genutzt. (Bild: W. Nüßer)

Ein zweites Beispiel beschreibt das Verhalten von Rack bei den sogenannten Tail Drops, also Situationen, bei denen Segmente am Ende einer Übertragung verloren gehen, wie in Abbildung 6. Das geschieht zum Beispiel bei manchen Routern, wenn deren interne Queues überlaufen, die später eintreffenden Pakete also auf IP-Ebene verworfen werden. In diesem Fall reicht Rack schon ein einzelnes Bestätigungssegment (in Abbildung 6 gemäß kumulativen ACKs als A3 bezeichnet) für die erneute Versendung von Segment 3. Auch hier startet damit die erneute Sendung schneller.

  • Das alte, konventionelle TCP (Bild: W. Nüßer)
  • TCP-Verbesserung durch Dupack (Bild: W. Nüßer)
  • TCP-Verbesserung durch Sack (Bild: W. Nüßer)
  • Zeitlich verschobene Bestätigungen ...(Bild: W. Nüßer)
  • ... werden in Rack aktiv zum Beschleunigen genutzt. (Bild: W. Nüßer)
  • Rack hilft auch bei Tail Drops. (Bild: W. Nüßer)
Rack hilft auch bei Tail Drops. (Bild: W. Nüßer)

Auch wenn zurzeit noch wenige praktische Erfahrungen mit Rack vorliegen, zeigt die Diskussion darum doch, wie Rack in vielen heute relevanten Situationen schneller als bisherige Implementierungen sein kann. Wohl auch deshalb experimentieren Google in Chrome ebenso wie Microsoft in dem Edge-Browser mit Rack.

Allerdings werden die Informationen, die die TCP-Implementierungen im Betriebssystem-Kern vorhalten müssen, wieder umfangreicher. Aber das soll ja nicht das Problem der Anwendungsentwickler und Nutzer sein. Schließlich gibt es Kernel-Entwickler, die sich gern mit solchen Problemen herumschlagen. Im Fall des Linux-Kernels ist dies von Google-Angestellten bereits umgesetzt worden. Für Provider und Nutzer kann ein so beschleunigtes TCP eigentlich nur von Vorteil sein.

Der Autor Wilhelm Nüßer ist Professor für Informatik an der FHDW Paderborn. Er lehrt dort unter anderem Netzwerke und verteilte Systeme und leitet zahlreiche Forschungsprojekte.

 Verbindungsturbo: Wie Googles Rack TCP deutlich schneller machen soll

eye home zur Startseite
Martin F. 04. Aug 2016

Mein letzter Stand war, dass bei Drittanbietern, die den Telekomanschluss nutzen, nur...

minecrawlerx 01. Aug 2016

Wir haben heute Speicher in rauen Mengen. Und Kernel Entwickler, die uns das...

ap (Golem.de) 29. Jul 2016

Bevor der Thread weiter abruscht, wird er geschlossen.

embr 28. Jul 2016

Es wird tatsächlich mal Zeit, TCP abzulösen (im Sinne von: töten, nicht, irgendwie mit...

yeti 28. Jul 2016

Ja das ist richtig. Problematisch wird es dann bei einem Live-Video-Stream vom Mars...



Anzeige

Stellenmarkt
  1. Landeshauptstadt München, München
  2. ORBIT Gesellschaft für Applikations- und Informationssysteme mbH, Darmstadt
  3. weil engineering gmbh, Müllheim
  4. CSS Computer Software Service Franz Schneider GmbH, Heilbronn, Künzelsau


Anzeige
Top-Angebote
  1. (heute u. a. Samsung Galaxy S8 499,00€, PS4 inkl. FIFA 18 und 2 Controllern 279,00€)
  2. (heute u. a. reduzierte PS4-Bundles, Videospiele und Fernseher. Weitere Aktionen u. a. Echo Plus...

Folgen Sie uns
       


  1. SuperSignal

    Vodafone Deutschland schaltet Smart-Cells ab

  2. Top Gun 3D

    Mit VR-Headset kostenlos ins Kino

  3. Übernahme

    Marvell kauft Cavium für 6 Milliarden US-Dollar

  4. Wilhelm.tel

    Weiterer Kabelnetzbetreiber schaltet Analog-TV ab

  5. Grafiktreiber

    AMDs Display-Code in Linux-Kernel aufgenommen

  6. Oneplus 5T im Test

    Praktische Änderungen ohne Preiserhöhung

  7. Vito, Sprinter, Citan

    Mercedes bringt Lieferwagen als Elektrofahrzeuge heraus

  8. JoltandBleed

    Oracle veröffentlicht Notfallpatch für Universitäts-Software

  9. Medion Akoya P56000

    Aldi-PC mit Ryzen 5 und RX 560D kostet 600 Euro

  10. The Update Aquatic

    Minecraft bekommt Klötzchendelfine



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Windows 10 Version 1709 im Kurztest: Ein bisschen Kontaktpflege
Windows 10 Version 1709 im Kurztest
Ein bisschen Kontaktpflege
  1. Windows 10 Microsoft stellt Sicherheitsrichtlinien für Windows-PCs auf
  2. Fall Creators Update Microsoft will neues Windows 10 schneller verteilen
  3. Windows 10 Microsoft verteilt Fall Creators Update

Orbital Sciences: Vom Aufstieg und Niedergang eines Raketenbauers
Orbital Sciences
Vom Aufstieg und Niedergang eines Raketenbauers
  1. Astronomie Erster interstellarer Komet entdeckt
  2. Jaxa Japanische Forscher finden riesige Höhle im Mond
  3. Nasa und Roskosmos Gemeinsam stolpern sie zum Mond

Ideenzug: Der Nahverkehr soll cool werden
Ideenzug
Der Nahverkehr soll cool werden
  1. 3D-Printing Neues Druckverfahren sorgt für bruchfesteren Stahl
  2. Autonomes Fahren Bahn startet selbstfahrende Buslinie in Bayern
  3. Mobilitätsprojekt Ioki Bahn macht Sammeltaxi zum autonomen On-Demand-Shuttle

  1. Re: #CDU 22% | #SPD 19% | #AfD 16% | #FDP...

    Ipa | 03:52

  2. Re: mit 136 PS nur 155 Km/h?

    User_x | 03:00

  3. Valkyria Chronicles...

    IT-Kommentator | 02:50

  4. einen "deutschen" Macron ....

    pk_erchner | 02:21

  5. Verschenke meinen Oneplus 5T Invite mit 20¤ Rabatt

    TechnikMax | 02:06


  1. 17:26

  2. 17:02

  3. 16:21

  4. 15:59

  5. 15:28

  6. 15:00

  7. 13:46

  8. 12:50


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel