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. Fresenius Netcare GmbH, Bad Homburg
  2. Robert Bosch GmbH, Abstatt
  3. IKEA IT Germany GmbH, Hofheim-Diedenbergen
  4. azh Abrechnungs- und IT-Dienstleistungszentrum für Heilberufe GmbH, Aschheim Raum München


Anzeige
Top-Angebote
  1. 279€
  2. 99,90€ + 4,99€ Versand (Vergleichspreis 128€)
  3. 190,01€

Folgen Sie uns
       


  1. Bundesverkehrsministerium

    Dobrindt finanziert weitere Projekte zum autonomen Fahren

  2. Mobile

    Razer soll Smartphone für Gamer planen

  3. Snail Games

    Dark and Light stürmt Steam

  4. IETF

    Netzwerker wollen Quic-Pakete tracken

  5. Surface Diagnostic Toolkit

    Surface-Tool kommt in den Windows Store

  6. Bürgermeister

    Telekom und Unitymedia verweigern Open-Access-FTTH

  7. Layton's Mystery Journey im Test

    Katrielle, fast ganz der Papa

  8. Kabel und DSL

    Vodafone gewinnt 100.000 neue Festnetzkunden

  9. New Technologies Group

    Intel macht Wearables-Sparte dicht

  10. Elektromobilität

    Staatliche Finanzhilfen elektrisieren Norwegen



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Tastatur-Kuriosität im Test: Jede Tastatur sollte 34 Display-Tasten haben!
Tastatur-Kuriosität im Test
Jede Tastatur sollte 34 Display-Tasten haben!
  1. Android Tastatur des HTC 10 zeigt Werbung an
  2. Tastaturen Das große ß sucht ein Zuhause
  3. Surface Ergonomische Tastatur im Test Eins werden mit Microsofts Tastatur

Nokia Ozo in der Praxis: Rundum sorglos für 50.000 Euro?
Nokia Ozo in der Praxis
Rundum sorglos für 50.000 Euro?
  1. Patentabkommen Nokia und Xiaomi beschließen Zusammenarbeit
  2. Digital Health Aus Withings wird Nokia
  3. Cardata BMW ermöglicht externen Zugriff auf Fahrzeugdaten

Automatisierte Lagerhäuser: Ein riesiger Nerd-Traum
Automatisierte Lagerhäuser
Ein riesiger Nerd-Traum
  1. Kartellamt Mundt kritisiert individuelle Preise im Onlinehandel
  2. Onlineshopping Ebay bringt bedingte Tiefpreisgarantie nach Deutschland
  3. Regierungspräsidium Docmorris muss Automatenapotheke schließen

  1. Pauschal keine Kraftfahrzeugsteuer ist FALSCH!

    elektroroadster | 08:29

  2. Re: Solange die Elektroautos Teurer sind als...

    Berner Rösti | 08:25

  3. Re: Mindesthaltbarkeitsdatum auf Smartphone

    robinx999 | 08:21

  4. Re: Steuergeldverschwendung

    cyro | 08:16

  5. Re: Ein bisschen ironisch ist das schon

    GangnamStyle | 07:01


  1. 16:55

  2. 16:33

  3. 16:10

  4. 15:56

  5. 15:21

  6. 14:10

  7. 14:00

  8. 12:38


  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