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. SQS Software Quality Systems AG, deutschlandweit, Köln, Frankfurt, Hamburg, Wolfsburg, München
  2. infoteam Software AG, Dortmund
  3. AKDB, München
  4. über Solzer Personalberatung, Raum Rottweil, Tuttlingen, Villingen-Schwenningen


Anzeige
Blu-ray-Angebote
  1. (u. a. Hobbit Trilogie Blu-ray 43,89€ und Batman Dark Knight Trilogy Blu-ray 17,99€)
  2. 29,99€ (Vorbesteller-Preisgarantie)
  3. 29,99€ (Vorbesteller-Preisgarantie)

Folgen Sie uns
       


  1. Falscher Schulz-Tweet

    Junge Union macht Wahlkampf mit Fake-News

  2. BiCS3 X4

    WDs Flash-Speicher fasst 96 GByte pro Chip

  3. ARM Trustzone

    Google bescheinigt Android Vertrauensprobleme

  4. Überbauen

    Telekom setzt Vectoring gegen Glasfaser der Kommunen ein

  5. Armatix

    Smart Gun lässt sich mit Magneten hacken

  6. SR5012 und SR6012

    Marantz stellt zwei neue vernetzte AV-Receiver vor

  7. Datenrate

    Vodafone weitet 500 MBit/s im Kabelnetz aus

  8. IT-Outsourcing

    Schweden kaufte Clouddienste ohne Sicherheitsprüfung

  9. Quantengatter

    Die Bauteile des Quantencomputers

  10. Microsoft gibt Entwarnung

    MS Paint bleibt



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Shipito: Mit wenigen Mausklicks zur US-Postadresse
Shipito
Mit wenigen Mausklicks zur US-Postadresse
  1. Kartellamt Mundt kritisiert individuelle Preise im Onlinehandel
  2. Automatisierte Lagerhäuser Ein riesiger Nerd-Traum
  3. Onlineshopping Ebay bringt bedingte Tiefpreisgarantie nach Deutschland

Creoqode 2048 im Test: Wir programmieren die größte portable Spielkonsole der Welt
Creoqode 2048 im Test
Wir programmieren die größte portable Spielkonsole der Welt
  1. Arduino 101 Intel stellt auch das letzte Bastler-Board ein
  2. 1Sheeld für Arduino angetestet Sensor-Platine hat keine Sensoren und liefert doch Daten
  3. Calliope Mini im Test Neuland lernt programmieren

Ikea Trådfri im Test: Drahtlos (und sicher) auf Schwedisch
Ikea Trådfri im Test
Drahtlos (und sicher) auf Schwedisch
  1. Die Woche im Video Kündigungen, Kernaussagen und KI-Fahrer
  2. Augmented Reality Ikea will mit iOS 11 Wohnungen virtuell einrichten
  3. Space10 Ikea-Forschungslab untersucht Umgang mit KI

  1. Re: mMn sollte man da noch ne bedingung hinzufügen

    DAUVersteher | 18:25

  2. Re: Mal ehrlich: Würdet ihr da mitmachen?

    Peter Brülls | 18:24

  3. Zeitgründe? Welche denn und warum?

    daarkside | 18:23

  4. Re: Verabschiedung aus DTM

    jacki | 18:22

  5. Re: Ernsthaft?

    Slurpee | 18:16


  1. 18:42

  2. 15:46

  3. 15:02

  4. 14:09

  5. 13:37

  6. 13:26

  7. 12:26

  8. 12:12


  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