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. Digital Ratio GmbH, Eschborn
  2. medavis GmbH, Karlsruhe
  3. Dataport, Hamburg
  4. ETAS GmbH & Co. KG, Stuttgart


Anzeige
Hardware-Angebote
  1. (reduzierte Überstände, Restposten & Co.)
  2. ASUS-Gaming-Produkt kaufen und bis zu 150€ Cashback erhalten

Folgen Sie uns
       


  1. Spectre

    Neuer Microcode für Haswell und Broadwell ist fast fertig

  2. Konfigurator

    Tesla mit neuen Optionen für das Model 3

  3. Body Cardio

    Nokia macht intelligente Waage etwas dümmer

  4. Luxuslimousine

    Jaguar XJ - die Katze wird elektrisch

  5. Umwelt

    China baut 100-Meter-Turm für die Luftreinigung

  6. Marktforschung

    Viele Android-Apps kollidieren mit kommendem EU-Datenschutz

  7. Sonic Forces

    Offenbar aktuelle Version von Denuvo geknackt

  8. KWin

    KDE beendet Funktionsentwicklung für X11

  9. Sprachassistenten

    Alexa ist Feministin

  10. Elektromobilität

    Elektroautos werden langsam beliebter in Deutschland



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Snet in Kuba: Ein Internet mit Billigroutern und ohne Porno
Snet in Kuba
Ein Internet mit Billigroutern und ohne Porno
  1. Knappe Mehrheit SPD stimmt für Koalitionsverhandlungen mit Union
  2. DLD-Konferenz Gabriel warnt vor digitalem Schlachtfeld Europa
  3. Facebook Nutzer sollen Vertrauenswürdigkeit von Newsquellen bewerten

Vorschau Kinofilme 2018: Lara, Han und Player One
Vorschau Kinofilme 2018
Lara, Han und Player One
  1. Kinofilme 2017 Rückkehr der Replikanten und Triumph der Nasa-Frauen
  2. Star Wars - Die letzten Jedi Viel Luke und zu viel Unfug

Preiswertes Grafik-Dock ausprobiert: Ein eGPU-Biest für unter 50 Euro
Preiswertes Grafik-Dock ausprobiert
Ein eGPU-Biest für unter 50 Euro
  1. XG Station Pro Asus' zweite eGPU-Box ist schlicht
  2. Zotac Amp Box (Mini) TB3-Gehäuse eignen sich für eGPUs oder SSDs
  3. Snpr External Graphics Enclosure KFA2s Grafikbox samt Geforce GTX 1060 kostet 500 Euro

  1. Und wieviel langsamer ist Haswell mit dem Microcode?

    ffx2010 | 08:57

  2. Zwei binäre Optionen

    chriso | 08:55

  3. Re: Einfachere Innenausstattung?

    Niaxa | 08:55

  4. Warum baut die GEZ das nicht aus?

    Lore | 08:52

  5. Re: "die Fläche eines halben Fußballfeldes"

    M.P. | 08:50


  1. 08:51

  2. 07:41

  3. 07:28

  4. 07:18

  5. 18:19

  6. 17:43

  7. 17:38

  8. 15:30


  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