HEAT heizt das Tempo der Netzwerkverschlüsselung an

SINA Gateways mit neuer Architektur und Performancesprung

Die Architektur von SINA schafft es, dass viele der anspruchsvollen Sicherheitsmaßnahmen im Hintergrund ablaufen, ohne dass die Benutzer*innen sich darum kümmern müssten. So ist es auch mit der zentralen Maßnahme der Netzwerkverschlüsselung. Im direkten Vergleich mit gewöhnlichen, unsicheren Netzwerkkomponenten fällt allerdings auf, dass Netzwerkverschlüsselung deutlich mehr Rechenleistung in Anspruch nimmt. Das liegt in der Natur der Sache, kann alltägliche Rechenprozesse aber durchaus verlangsamen. Um diesem Effekt entgegenzuwirken, hat ein Forschungsteam um Prof. Dr.-Ing. Günter Schäfer an der Fakultät für Informatik und Automatisierung der TU Ilmenau gemeinsam mit secunet HEAT entwickelt.

HEAT steht für „High-Speed Encryption Acceleration Track“ und macht der Netzwerkverschlüsselung der SINA L3 Box S ordentlich Dampf.

Was jedoch steckt genau hinter dieser enormen Leistungssteigerung? Um die Gründe dafür leichter zu verstehen, bietet sich eine Analogie an.

 

Angenommen in einer Filiale eines Paketdiensts arbeiten 20 Kolleg*innen fleißig an ihren Schreibtischen. Ein Teil der Arbeit ist der Paketversand. Dabei werden alle Pakete in der Reihenfolge ihres Eingangs bearbeitet und alle ausgehenden werden in ein zentrales Ausgangsbuch eingetragen. Daneben werden aber auch alle anderen Post-Dienstleistungen angeboten. Die Bedienung der Kund*innen erfolgt reihum – an jedem Schalter wird grundsätzlich alles erledigt. Wenn eine Arbeit abgeschlossen ist, also ein Kunde bedient wurde, dann wird der Schalter aufgeräumt. Danach werden die erforderlichen Unterlagen für den nächsten Kunden geholt und dieser bedient. Gelegentlich kommt es sogar vor, dass ein ganz wichtiger Kunde vorgezogen wird, wodurch die Bearbeitung der derzeitigen Aufgabe unterbrochen wird.

Die Vorgänge wirken erst mal strukturiert und effizient. Doch wie gut der Paketdienst insgesamt ist, wird ausschließlich daran gemessen, wie viele Pakete pro Tag in den Versand gegangen sind.

In vielen Aspekten entspricht dieses Szenario dem Ablauf in einem IT-Gerät mit einem Betriebssystem z. B. auf Basis von Linux. Das Betriebssystem sorgt dafür, dass die vorhandenen CPU-Kerne (das sind im Paketdienst-Beispiel die Kolleg*innen am Schalter) möglichst gerecht mit ihrer Leistung an die Threads und Prozesse (das sind im Beispiel die Kund*innen) zugeteilt werden. Je nach der gewählten generellen Strategie der Abarbeitung wird so ein Optimum aus der Hardware herausgeholt. Das Dilemma bleibt: Alle bekommen ein bisschen Rechenzeit, wirklich entscheidend ist jedoch die Leistung der Netzwerkverschlüsselung (im Beispiel also der Paketversand beim Paketdienst).

Zurück zur IT-Welt: Was stört aktuelle CPU-Kerne bei der Erreichung von Höchstleistungen? Das sind Unterbrechungen (interrupts), Kontextwechsel (context switches) und Konkurrenz um zentrale Datenstrukturen (concurrency).

Interrupts
Unterbrechungen

 

Für die Netzwerkverschlüsselung braucht es im sogenannten „fast path“ Funktionen, die die IP-Pakete von den Netzwerkkarten empfangen, möglichst schnell bearbeiten und weiterleiten. Durch die Reservierung von CPU-Kernen exklusiv für die Netzwerkverschlüsselung, steht die komplette Leistung dieser Kerne dafür zur Verfügung. Das bedeutet auch, dass von diesen Kernen keine Interrupts mehr bearbeitet werden und die Daten durch andere Mechanismen von und zu den Netzwerkkarten kommen müssen.

Context switches
Kontextwechsel

 

Aktuelle CPU-Kerne arbeiten mit vielen Optimierungen, um die Höchstleistung erbringen zu können. Eine davon ist, dass die Befehle in eine interne Warteschlange eingeordnet und darin optimiert werden. Außerdem gibt es Zwischenspeicher, die sehr schnell auf Befehle und Daten zugreifen können. Jeder Kontextwechsel stört diese Optimierungen: die Warteschlange muss ggf. verworfen, die Zwischenspeicher müssen neu gefüllt werden. Insgesamt bedeutet dies: Je lokaler der laufende Code ist und je weniger unerwartete Abzweigungen im Programm genommen werden, desto besser greifen die Optimierungen und umso höher ist die Leistung des jeweiligen CPU-Kerns.

Concurrency
Konkurrenz um zentrale Datenstrukturen

 

Moderne CPUs enthalten mehrere CPU-Kerne, die parallel und quasi unabhängig voneinander arbeiten und in Summe die Gesamtleistung des Systems erbringen. Die Parallelität der Ausführung muss jedoch durch die Algorithmen für die Verarbeitung der Daten unterstützt werden. Gibt es z. B. zentrale Datenstrukturen, dann konkurrieren parallele Ausführungsstränge um diese, d. h. ganz oft darf nur jeweils ein Ausführungsstrang die Datenstruktur exklusiv benutzen. Die Algorithmen und manchmal sogar die Netzwerkprotokolle müssen daraufhin angepasst werden, so dass jeder Ausführungsstrang den exklusiven Zugriff auf eine eigene Instanz dieser performance-kritischen Strukturen haben kann. Es geht dabei um Paketzähler, Folgenummern, aber auch um Schlüsselmaterial für die Ver- und Entschlüsselung der Netzwerkpakete.

Alle diese Aspekte adressiert HEAT mit einem einzigartigen technischen Ansatz, der auf das Open-Source- Softwareprojekt „Data Plane Development Kit“ (DPDK-Projekt) zurückgeht, das von der Linux Foundation verwaltet wird. Intel hat diese Initiative vor einigen Jahren ins Leben gerufen, um zu zeigen, dass auch mit "normalen" CPUs ein enormer und stetiger Durchsatz möglich ist. Für das Beispiel beim Paketdienst bedeutet das nun Folgendes:

 

Einige (z. B. 16) der insgesamt 20 Kolleg*innen werden zukünftig ausschließlich im Paketversand tätig sein. Damit entfällt für sie das Aufräumen des Arbeitsplatzes, weil an diesen Arbeitsplätzen nur noch Pakete versendet werden. Die Kund*innen werden intelligent anhand ihres Namens vorsortiert und warten in je einer Warteschlange vor dem Schreibtisch. Wenn der jeweils zuständige Paketdienstmitarbeiter alle Pakete am Schreibtisch für den Versand bearbeitet hat, geht er zu seiner Warteschlange und nimmt von allen derzeit wartenden Kund*innen die Pakete mit zu seinem Arbeitsplatz. Beim Versand trägt er die ausgehenden Pakete in ein eigenes Ausgangsbuch direkt auf seinem Arbeitsplatz ein. Seit der Neuorganisation schafft die Filiale deutlich mehr Pakete pro Tag und ist aus diesem Grund sogar „Filiale des Jahres“ geworden.

Mit der Umsetzung dieser Ideen steht einer maximalen Leistung beim Paketversand nichts mehr im Weg. Einzige Bedingung auf dem Gebiet der geschützten Datenübertragung ist der Einsatz einer SINA L3 Box S ab Softwareversion 3.9.5 in Verbindung mit SINA SOLID.

Kontaktanfrage
Haben Sie noch Fragen oder Anmerkungen zu HEAT?
Haben Sie noch Fragen oder Anmerkungen zu HEAT?

Schicken Sie uns eine Anfrage über das Kontaktformular. Wir helfen gerne weiter.

Industry Partner Kontakt