de

Datentransport in Hochleistungsnetzen

Die meisten Daten im Internet werden mithilfe des Protokolls TCP (Transmission Control Protocol) übertragen. Es ist aber bekannt, dass TCP in Netzen mit großen Bandbreiten oder Verzögerungen nicht effizient arbeitet und somit die vorhandene Bandbreite des Netzes nicht effizient nutzen kann. Im Rahmen des bwNet100G+-Projekts wird untersucht, wie die Performance von TCP in Höchstleistungsnetzen mit 100 Gbit/s Netzen verbessert werden kann. Dazu werden neue Möglichkeiten für den Datentransport erarbeitet, evaluiert, verbessert und mit bestehenden Lösungen verglichen. Mögliche Lösungen werden in Bezug auf ihre Anwendbarkeit im BelWü-Umfeld bewertet und verglichen, sodass Anwendungen in BelWü hochleistungsfähigen Datentransport nutzen können.

Staukontrolle in Hochleistungsnetzen

Ein zentraler Bestandteil von TCP ist die Staukontrolle. Die Hauptaufgabe der Staukontrolle ist, die Senderate in den Endsystemen zu regulieren und das Netz vor Überlastsituationen zu schützen. Aktuell dominieren im Internet verlust-basierte Staukontrollverfahren, wie beispielsweise Cubic TCP. Große Nachteile dieser etablierten Verfahren sind zum einen die mangelnde Skalierbarkeit bei hohen Datenraten und zum anderen die hohen Verzögerungen der Datenströme. Da z. B. hochqualitative Videokonferenzen jedoch beide Eigenschaften benötigen, braucht es neue Ansätze für die Staukontrolle.

Im Rahmen des bwNet100G+-Projektes wird ein neues Staukontrollverfahren mit den Namen TCP LoLa entwickelt, welches für den Betrieb in Höchstleistungsnetzen entworfen wurde. Die wichtigsten Ziele von TCP LoLa sind, eine hohe Datenrate und eine niedrige Verzögerung zu erzielen und darüber hinaus die verfügbare Bandbreite fair aufzuteilen. Mithilfe des neuartigen „Fair Flow Balancing“-Mechanismus können die Sender ihren Anteil an der Bandbreite abschätzen und schrittweise ihre Senderate so anpassen, dass das Netz mit der Zeit zu einer fairen Aufteilung konvergiert. Die Evaluation von TCP LoLa erfolgte u. a. mittels der NeIF-Infrastruktur des bwNet100G+-Projekts.

TCP LoLa wurde auf der Konferenz „LCN2017“ publiziert und bei einem Treffen des Internet-Standardisierungsgremiums IETF bei einem Treffen der ICCRG (Internet Congestion Control Research Group) vorgestellt. Der Quellcode steht unter einer freien Lizenz zur Verfügung.

Durch programmierbare Datenpfade ist zu erwarten, dass die Zwischensysteme im Netz künftig mehr Flexibilität und mehr Fähigkeiten erhalten. Dies bietet das Potential einer engeren Zusammenarbeit zwischen Endsystem und Zwischensystemen bei der Staukontrolle. Um die Chancen einer solchen Zusammenarbeit zu untersuchen, wurde TCP LoLa erweitert, um explizites Stau-Feedback aus dem Netz nutzen zu können. Dabei erfragt TCP LoLa den Zustand der Zwischensysteme, insbesondere die Länge der auf Datenpfad auftretenden Warteschlangen. Mithilfe dieser Information kann TCP LoLa ein detaillierteres Modell des Netzes bilden, als dies durch klassische Indikatoren wie der RTT oder dem Durchsatz möglich wäre. Hierdurch kann z. B. die Performance von TCP LoLa in Multi-Bottleneck-Szenarien entscheidend verbessert werden.

Um geringe Latenzen zu erreichen, kann – neben einer besseren Staukontrolle – auch aktives Warteschlangenmanagement (Active Queue Management – AQM) in den Zwischensystemen (Router/Switches) eingesetzt werden. Die Pufferbelegung wird dabei aktiv kontrolliert und die Länge einer längerfristigen Warteschlange durch Verwerfen oder setzen von Staumarkierungen begrenzt. Nachteilig an AQM-Verfahren ist jedoch, dass herkömmliche Staukontrollverfahren wie Reno oder Cubic TCP nur noch geringere Datenraten erreichen, falls nur einige wenige Datenströme an der Stausituation beteiligt sind. Um für Netzbetreiber das einfache Einstellen eines Trade-Offs zwischen erlaubter Latenz und erzielter Auslastung zu erreichen, wurde „AQM-Steering“ als Mechanismus entwickelt, der die Ziel-Parameter von AQM-Verfahren entsprechend des gewünschten Trade-Offs justiert. AQM-Steering wurde auf der IFIP Networking Conference 2018 veröffentlicht und außerdem beim 102. IETF-Meeting im Juli 2018 der ICCRG vorgestellt.

Mit „BBR“ veröffentlichte Google im Jahr 2016 eine Staukontrolle, welche ebenfalls einen hohen Durchsatz bei geringer Latenz zum Ziel hat und somit im Projektkontext sehr relevant ist. Daher wurden die Performance und die Eigenschaften von BBR im Rahmen des Projektes untersucht und das Verfahren sowohl experimentell als auch konzeptionell evaluiert. Die Ergebnisse wurden auf der „ICNP2017“ Konferenz publiziert. Es wurde gezeigt, dass BBR in der vorliegenden Version deutliche konzeptionelle Schwächen hat. Dies zeigt sich unter anderem durch eine erhöhte Warteschlangenverzögerung, extrem hohen Paketverlust in bestimmten Situationen, geringe Fairness zwischen mehreren BBR-Verbindungen sowie starke Unfairness gegenüber heute üblichen Staukontrollen. Letzteres ist vor allem dadurch kritisch zu beurteilen, dass Google BBR bereits im öffentlichen Internet einsetzt. Die Ergebnisse wurden bei zwei IETF-Meetings im Rahmen der ICCRG vorgestellt und haben dort einen wesentlichen Beitrag zur Beurteilung von BBR geleistet. Aktuell arbeitet Google nach eigenen Angaben an einer Weiterentwicklung von BBR, welche versucht die aufgezeigten Probleme zu adressieren.

TCP bei 100 Gbit/s

Ein weitere Forschungsfrage des Projektes ist, ob und wie Transferraten von 100 Gbit/s mit nur einem einzelnen Sender bzw. Empfänger zu erreichen ist.

Dazu wurden verschiedene Tuning-Möglichkeiten in den Endsystemen untersucht. Es wurde festgestellt, dass insbesondere die folgenden Parameter eine wichtige Rolle spielen:

  • Zahl der Sender und Empfänger
  • die Größe der MTU
  • die Wahl des richtigen CPU-Sockets für die Interrupts und Anwendungen
  • die Verteilung der Interrupts auf die verschiedenen Prozessor-Kerne

Trotz des intensiven Tunings sind Paketverluste im empfangenden Endsystem jedoch unvermeidlich. Dies stellt eine besondere Herausforderung für die Staukontrolle dar, da übliche Verfahren Paketverluste als Stausignal werten. Neue Staukontrollansätze wie TCP LoLa oder BBR ermöglichen dieses Problem zu umgehen, da die beiden Verfahren nicht auf Paketverluste reagieren. Die Ergebnisse der Untersuchung werden demnächst auf der IEEE-Konferenz LCN 2019 veröffentlicht.

de/datatransport.txt · Last modified: 2019/09/23 10:55 by Thomas Lukaseder