Hot Chips: SDN mit P4 und smarten NICs

Netzwerke zum Selbstprogrammieren: Smarte Netzwerkkarten lassen sich über mit P4 erstellte Regeln für Software Defined Networks individuell anpassen.

In Pocket speichern vorlesen Druckansicht 14 Kommentare lesen
Hot Chips 2017: SDN mit P4 und smarten NICs

Barefoots Tofino-Netzwerkchip mit P4-Unterstützung

(Bild: Barefoot)

Lesezeit: 3 Min.
Von
  • Florian Müssig

Software Defined Networks, kurz SDN, sind bei Netzwerkausrüstern der letzte Schrei: Statt nach strikt vorgegebenen, unabänderlichen Regeln sollen sich Netzwerkkomponenten je nach individueller Programmierung anders verhalten. In Cloud-Rechenzentren und bei Hosting-Providern soll das Netzwerk damit genauso flexibel werden wie virtuelle Serverinstanzen und sich durch Software- statt Hardware-Updates dynamisch an neue Begebenheiten anpassen lassen.

Auf der zurzeit in Cupertino stattfindenden Konferenz Hot Chips hat das P4-Konsortium die Entwicklungen rund um die gleichnamige SDN-Programmiersprache vorgestellt. Anders als OpenFlow arbeitet P4 noch abstrakter und soll dadurch noch mehr Möglichkeiten bieten – etwa durch die Unabhängigkeit von konkreten Netzwerkprotokollen.

Als Beispiel für SDN nannten die Entwickler den Wechsel zu VXLAN (Virtual Extensible LAN), das viel mehr Unterscheidungsmöglichkeiten für den Netzwerkverkehr zulässt als die etablierte VLAN-Technik (Virtual LAN). Ältere Netzwerkcontroller unterstützen VXLAN nicht, weshalb die Paketverarbeitung in bestehenden Installationen auf den Hauptprozessoren läuft. Zwar können die Betreiber so auf einen Hardware-Tausch verzichten, müssen aber CPU-Ressourcen aufwenden, die dann anderen Anwendungen abgeht.

Inzwischen haben mehrere Firmen begonnen, Netzwerkcontroller zu entwickeln, die sich mehr oder minder direkt mit P4-Programmen füttern lassen. Barefoot Networks hat beispielsweise den Tofino-Chip im Angebot, der bei TSMC im 16nm-FinFET+-Prozess vom Band läuft und bis zu 1,3 Millionen IPv4-Routen unterstützt. Er bedient wahlweise 65 100-GBit/s-, 130 50-GBit/s- oder 260 25-GBit/s-Ports. Ein Port kann dediziert zur Konfiguration abgestellt werden; alternativ lässt sich eine Kontroll-CPU auch per PCIe 3.0 x4 anbinden.

Xilinx propagiert wiederum seine grundsätzlich vielseitig einsetzbaren FPGA-Chips für P4-Lösungen. Für die UltraScale+-Familie gibt es einen Compiler, der P4 in das hauseigene SDNet-Format übersetzt, das ohne zusätzliche Verifizierung auskommt und somit schnell aufgespielt werden kann.

Netronome lockt bei seinen Netzwerkchips der NFP-4000-Serie mit bis zu vier unabhängigen PCIe-3.0-x8-Links. In Servern mit mehreren CPU-Sockeln kann der Chip so an jede CPU einzeln angebunden werden und Daten direkt in ihren Arbeitsspeicher schreiben – ganz ohne NUMA-Komplikationen.

Zum Schluss erwähnten die Präsentatoren, dass die Entwicklung von P4 keinesfalls abgeschlossen sei: An etlichen Universitäten laufen Forschungsarbeiten. Einige kümmern sich um die Interaktion mit anderen Lösungen, etwa dem Zusammenspiel von P4 mit NetFPGA oder die Integration eines Datenpfads in Open vSwitch. Andere wollen die P4-Semantik im K-Framework ausdrücken oder die automatisierte P4-Verifikation vereinfachen. Wünschenswert wären zudem virtuelle P4-Instanzen auf SmartNICs für noch größere Flexibilität oder Erweiterungen bezüglich der Paketinhalte, etwa Deep Packet Inspection bei Verarbeitungsgeschwindigkeiten im Terabit/s-Bereich. (mue)