Netzwerk So einfach lassen sich „softly defined networks” realisieren

Autor / Redakteur: Mike Santarini * / Margit Kuther

Netzwerk-Entwicklern, die eine Line Card auf einem Chip realisieren und ihre Hardware auf spezifische Netzwerk-Dienste und Applikationen zuschneiden müssen, kann nun geholfen werden: mit SDNet.

Firmen zum Thema

Die SDNet-Technologie: Mit ihr können Netzwerkentwickler eine Line Card auf einem Chip realisieren und ihre Hardware auf spezifische Netzwerk-Dienste und Applikationen zuschneiden.
Die SDNet-Technologie: Mit ihr können Netzwerkentwickler eine Line Card auf einem Chip realisieren und ihre Hardware auf spezifische Netzwerk-Dienste und Applikationen zuschneiden.
(Bild: Xilinx)

Die Architekturen der Datenkommunikation entwickeln sich sehr schnell weiter, getrieben von der Consumer-Nachfrage nach immer größeren Bandbreiten und besserem Service mit höherer Zuverlässigkeit und Sicherheit.

Xilinx ist mit einer grundlegend neuen Technologie und Designmethodik an der vordersten Front der Innovation dabei, die eine schnelle Entwicklung und Aktualisierung von Line Cards der nächsten Generation für drahtgebundene und drahtlose Netze und große Datenzentren ermöglicht.

Bildergalerie
Bildergalerie mit 5 Bildern

Diese neue Technologie ist SDNet, ein Software-definiertes Specification Environment. In Verbindung mit den von Xilinx angebotenen All Programmable FPGAs und SoCs erlaubt SDNet den Entwicklern von Kommunikationsnetzen den Einsatz eines revolutionären Konzepts, das Xilinx als 'Softly Defined Networks' bezeichnet. Es ermöglicht die Entwicklung und Aktualisierung von Line Cards für die nächste Generation Software-definierter Netzwerk-Architekturen.

Von rigiden zu Software- definierten Netzwerken

„Die Architekturen der Datenkommunikation der letzten 20 Jahre arbeiten meist mit festen Steuer- und Datenebenen, die nicht mit den steigenden Anforderungen an die Netze expandierten”, erklärt Nick Possley, Vice President of Communications IP und Services bei Xilinx.

Die rigiden Architekturen zwangen die Carrier also zum häufigen Ersatz und Austausch ihres Equipments, wenn sie die Funktionalität und Bandbreite ihrer Netze erweitern wollten. Der Grund: Die Line Cards im Zentrum dieser Systeme basierten meist auf einer Mischung aus hoch spezialisierten ASICs, ASSPs und Speicherchips. FPGAs wurden eingesetzt, wenn es darum ging, die Kommunikation zwischen den Chips auf der Line Card zu beschleunigen.

Bei immer schneller wachsenden Anforderungen suchten die Carrier und die Anbieter von Kommunikationssystemen nach besseren Alternativen. In den letzten Jahren sind sie auf Software-definierte Netzwerke (SDN) und die Virtualisierung der Netzwerkfunktionen (NFV) eingeschwenkt. Diese Architekturen trennen die Steuer- und Datenebene und erweitern die Steuerebene durch Software-Virtualisierung. Als Ergebnis können die Carrier nun schneller neue Applikationen einrichten, und das Netzwerk-Equipment lässt sich einfacher aktualisieren als in traditionellen Netzen. Das verbessert deren Dauerhaftigkeit und die Erträge, und es vereinfacht das Netzwerk-Management (Bild 1).

Ergänzendes zum Thema
Kompendium Starterkit gratis für Sie

Elektronik-Entwicklungsplatinen werden in Zukunft nicht nur durch das Internet der Dinge noch mehr an Popularität gewonnen. Aber welche Platine ist nun für welche Aufgabe eigentlich am besten geeignet? Was für Entwicklungsumgebungen und Peripheriesysteme gibt es dafür? Und wie industrietauglich sind die Boards, wenn es über das Rapid Prototyping einmal hinaus gehen soll?

Antworten auf diese und viele andere Fragen finden Sie Digital Kompendium Starterkits der ELEKTRONIKPRAXIS, das Sie kostenfrei downloaden können.

Allerdings, wendet Possley ein, sind selbst die neuesten SDN- und NFV-Architekturen immer noch zu rigide. Denn auch bei ihnen sind die Datenebenen nicht programmierbar, und ihre Designs basieren typisch auf lagermäßig lieferbaren ASSPs. Die Line Cards als wichtige Netzkomponenten verwenden diskrete Standard-ASSPs als Paket-Prozessoren und Traffic-Manager in Verbindung mit den optischen Übertragungsgliedern, Coprozessoren und externen Speichern. Außerdem enthalten diese Karten FPGAs zur Beschleunigung der Kommunikation zwischen allen diesen Chips.

Die neuesten ASSP-Versionen verschiedener Anbieter für die SDN- und NFV-Architekturen entsprechen zwar den SDN-Spezifikationen. Da die Hersteller diese ASSPs aber allen Netzwerk-Systemanbietern zugänglich machen, erlauben diese Chips keine wettbewerblich interessanten Produkt-Differenzierungen oder Funktionserweiterungen. Also müssen die Lieferanten von Netzwerksystemen bei den Carriern auf der Preisebene konkurrieren.

Oberflächlich betrachtet sieht es so aus, als wüssten die Carrier die niedrigeren Equipment-Preise zu schätzen. Doch in der Realität sind die Designs mit fester Datenebene auch in ASSP-basierten SDN-Architekturen immer noch so rigide, dass die Carrier auf den teuren Austausch von Line Cards im Feld angewiesen sind, wenn sie feststellen, dass die festgelegte Hardware-Funktionalität mit ASSPs nicht in der Lage ist, ständig neue Applikationen, Protokoll-Updates und Forderungen nach neuen Funktionen zu berücksichtigen.

Diese Line-Card Swaps erfordern das Abschalten der Netze, während die Techniker die obsoleten Karten entfernen und die neuen installieren. Außerdem tendieren die ASSP-Anbieter zu Übertreibungen bei der Funktionalität ihrer Designs, um breite Märkte mit einem einzigen Baustein abzudecken. Das führt dazu, dass die ASSP-basierten Line Cards mehr Leistung verbrauchen und im Betrieb heißer werden. Also müssen die Carrier besondere Maßnahmen zur Kühlung des Equipments berücksichtigen. Die Kosten der Kühlung verteuern natürlich den Betrieb und verringern die Wirtschaftlichkeit.

Die bessere Lösung: Softly Defined Networks

Mit SDNet und der revolutionären Methodik der 'softly'defined networks' von Xilinx können die Anbieter von Kommunikationssystemen jetzt integrierte All Programmable Line Cards mit niedrigem Leistungsverbrauch entwickeln. Sie bieten erheblich mehr als eine Software-definierte Steuerebene mit Netzwerk-Intelligenz, wie sie von SDN-Architekturen gefordert wird. Die neue Technologie ermöglicht es den Anbietern außerdem, ihre Systeme durch eine Hardware mit Software-definierter Datenebene zu differenzieren, die mit Content-Intelligenz ausgestattet ist. Das heißt, die Entwickler können die Hardware exakt auf die Netzwerkdienste und -applikationen abstimmen, die vom jeweiligen System gefordert sind (Bild 2).

Bildergalerie
Bildergalerie mit 5 Bildern

Traditionell formulieren die Netzwerk-Architekten (meist ohne spezifische Erfahrung im Hardware-Design) ihre Anforderungen an bestimmte Protokolle in Form einfacher sprachlicher Beschreibungen, etwa als Internet Requests for Comment (RFCs) oder ISO-Standard Dokumente.

Im Übrigen verlassen sie sich auf spezialisierte Entwickler, die mit der darunter liegenden Architektur des Ziel-Systems vertraut sind. Diese entwickeln dann aus den vorliegenden Anforderungen die entsprechenden Low-Level-Beschreibungen zur Implementierung (typischerweise mit hoch spezialisiertem Microcode). Diese Hardware-Entwickler spezifizieren also, wie General-Purpose Prozessoren oder spezialisierte Netzwerkprozessoren die Paketverarbeitung ausführen. Oder sie verlagern die Funktionalität in einen kundenspezifischen ASIC.

Die Netzwerk-Entwickler müssen dann verifizieren, dass die gewählte Hardware den ursprünglichen Absichten des Netzwerkarchitekten entspricht oder zumindest die neueste Version des Protokolls erfüllt, das die Line Card verwenden soll. Falls die Line Card diese Anforderungen nicht erfüllt, müssen sie den Entwicklungsprozess erneut durchlaufen, bis das Design richtig arbeitet. Dieser Prozess wird durch die Tatsache kompliziert, dass die Beziehung zwischen der gewünschten Spezifikation und dem Microcode nicht intuitiv ist. Die darunter liegende Architektur hat also Begrenzungen der Performance und Fähigkeiten, die je nach den angezielten Diensten der Service-Anbieter variieren können.

Mit dem Softly Defined Network packt SDNet dieses Problem an der Wurzel. Es ermöglicht den Netzwerk-Systementwicklern die schnelle Entwicklung von Line Cards, die von ihrer Struktur her die korrekte Funktionalität bieten. Insbesondere fokussiert SDNet auf die Automatisierung des hoch komplexen Aspekts beim Line-Card Design: die Entwicklung und Programmierung der Funktionen des Paketprozessor und des Traffic-Managers moderner Line Cards (Bild 3).

Statt des Einsatzes zweier getrennter diskreter ASSPs für diese Funktionen können die Netzwerk-Systementwickler nun die Paketverarbeitung, das Traffic Management und andere Funktionen der Line Card in einem einzigen All Programmable FPGA oder SoC von Xilinx zusammenfassen. Das stellt sicher, dass eine optimale Implementierung der Ziel-Applikationen entsteht. Zusätzlich zur Integration der Funktionalität vieler Einzelchips in einem All Programmable Baustein vereinfacht SDNet die Erstellung einer High-level Spezifikation für das Verhalten der Line Card. Auch werden damit automatisch die RTL-Blocks zur Implementierung in den Xilinx All Programmable Bausteinen, der Firmware und einer Testbench zur Evaluierung generiert.

„Mit SDNet spezifizieren die Systemarchitekten das Was - nicht das Wie ihrer Designs“, erklärt Possley. „Sie spezifizieren die exakten Dienste, die sie einrichten wollen, ohne Rücksicht darauf, wie diese im Silizium angelegt werden.”

Im SDNet-Designfluss definieren die Systemarchitekten somit die Line-Card-Funktionalität über eine funktionale High-Level Spezifikation (Bild 4). SDNet erlaubt ihnen die Beschreibung des geforderten Verhaltens unterschiedlicher Packet-Processing Engines – einschließlich solcher für Parsing, Editing, Search und Quality-of-Service (QoS). Die Architekten können die Engines hierarchisch als einfachere Sub-Engines beschreiben, die sie untereinander verbinden und als Paket-Datenflüsse arrangieren können. Diese Sub-Engines können auch vom Anwender bereitgestellte Engines enthalten.

Das SDNet-Environment spezifiziert keine Details der Implementierung. Das gibt den Anwendern die Freiheit zur Skalierung der Performance und der Ressourcen ihrer Designs, ohne die Details der der darunter liegenden Architektur zu durchdenken. Auch sind die SDNet-Spezifikationen nicht auf spezifische Netzwerkprotokolle begrenzt.

Weiterhin betont Possley die besondere Einfachheit von SDNet. Einige Kunden, mit denen Xilinx Beta-Tests durchgeführt hat, haben es als sehr intuitiv und einfach einsetzbar bezeichnet. „SDNet kürzt den Code-Umfang dramatisch und führt zu einer einfachen und intuitiven Spezifikation – um Größenordungen weniger aufwendig im Vergleich zum Microcode für einen Netzwerkprozessor.”

Nach der Definition der System-Engines und Datenflüsse in der SDNet-Spezifikation beaufschlagen die Entwickler den SDNet-Compiler mit den Anforderungen für Durchsatz und Latenz, sowie mit den Anforderungen an die Runtime-Programmierbarkeit. Diese bedingen die vom Compiler generierte optimierte Hardware-Architektur. Mit der Ausführung eines Befehls generiert der SDNet-Compiler dann automatisch die RTL-Daten für die von Design benötigten Hardware-Blocks. Der Compiler erzeugt außerdem die Firmware und eine Testbank zur Verifizierung und Evaluierung. Die SDNet Design-Umgebung umfasst auch die Integration der von Xilinx für Netzanwendungen optimierten SmartCORE-Bausteine, sowie die LogiCOREs für die Konnektivität, die Steuerung der externen Speicher und der eingebetteten Prozessoren.

Nach dem Kompilieren schließen die Netzwerkentwickler die Implementierung des Designs in der Vivado Design Suite mit Hilfe des IP-Integrator (IPI) Tools ab. Sie benutzen dabei zunächst die Vivado-Tools und IPI, mit der sie die Beschreibung der vom SDNet-Compiler generierten der RTL-Architektur in eine optimierte Xilinx FPGA-implementierung übersetzen. Dann integrieren sie alle zusätzlich gewünschten Line-Card-Funktionalitäten im FPGA, unter der Voraussetzung ausreichender Ressourcen auf dem ausgewählten Baustein. Damit entsteht im Prinzip eine All Programmable Line Card auf einem Chip.

Es geht aber noch weiter: SDNet generiert auch die Daten zur funktionalen Verifizierung und Evaluierung als Anleitung zur Erstellung angemessener Designs. Dazu akzeptiert der SDNet-Compiler eine Reihe von Testpaketen zum Testen des Ein- und Ausgangs der Entwicklung. Die Systemarchitekten können die Testpakete bei der Spezifizierung und Definition des Prozesses nutzen, um die genaue Interpretation der SDNet-Beschreibung sicherzustellen. Die Netzwerk-Architekten können die Testpakete bei der Simulation der vom SDNet-Compiler generierten RTL-Beschreibung nutzen.

Nicht zuletzt sind diese Testpakete sehr nützlich bei der Hardware-Validierung der endgültigen Implementierung des Designs mit Netzwerk-Testequipment. Außerdem generiert SDNet die passenden Inhalte für die Lookup-Tabellen von Suchmaschinen. Diese Fähigkeit zur Verifizierung und Evaluierung reduziert die Entwicklungszeit ganz erheblich und eliminiert die Iterationszyklen zwischen den Systemarchitekten und den Entwicklern der Netzwerk-Hardware. Im Ergebnis liefert das hoch differenzierte Produkte mit wesentlich schnellerer Marktreife.

Im Urteil von Gordon Brebner, einem erfahrenen Entwickler bei Xilinx, generiert der Compiler damit automatisch kundenspezifische Firmware-Operationen und deren binäre Codierung für jede einzelne Komponente der Architektur: „Das gibt den Architekten eine genaue Anleitung zur Steuerung der Verarbeitung.”

SDNet verfügt über eine Utility mit einer Liste der Runs und Speicherung der generierten Architektur und ihrer Firmware. Beim Re-Run des Compilers mit Eingabe einer aktualisierten SDNet-Beschreibung erkennt er, ob die Änderung lediglich per Firmware-Aktualisierung ausführbar ist (also ohne neue Hardware), oder ob Hardware und Firmware neu erzeugt werden müssen. In den meisten Fällen können Aktualisierungen mittleren Umfangs, wie Hinzufügen oder Wegnehmen eines Protokolls für die Line Card, allein durch Firmware-Updates bewältigt werden.

Bildergalerie
Bildergalerie mit 5 Bildern

„Die enge Verzahnung von Firmware und Architektur, die beide vom SDNet-Compiler generiert werden, ermöglicht den Anwendern problemlose Aktualisierungen“, sagt Brebner. „Dabei wírd die Firmware geändert und in Dienst gestellt, ohne den Fluss der Datenpakete zu unterbrechen. Auf diese Weise führen die Anwender signifikante Aktualisierungen ihrer Dienste ohne Service-Unterbrechungen durch.“ Diese geradezu revolutionäre Entwicklung ist möglich durch die besondere Struktur der SDNet-Technologie und deren Verknüpfung von High-Level Spezifikationen mit den All Programmable Bausteinen von Xilinx (Bild 5).

„Die Fähigkeit von SDNet zur Generierung von Datapath-Verarbeitungsfunktionen mit problemloser Aktualisierung bei laufendem Betrieb ist einmalig“, hebt Possley hervor. „Die Carrier können die Komponenten von Line Cards mit neuen Funktionen und Fähigkeiten aktualisieren - und das mit einem Software-Controller über Standard SDNet-APIs. Sie können die Aktualisierung der Software auf einem eingebetteten Prozessor ausführen oder auch auf einem externen Prozessor.” Wenn sie ihr Design auf einem Xilinx Zynq-7000 All Programmable SoC implementiert haben, erläutert Possley, können sie die Software sogar auf dem eingebetteten ARM-Prozessor ausführen. „SDNet bietet volle Hardware-Programmierung mit Software-Kontrolle“, sagt Possley. „Deswegen nennen wir es 'softly' defined networking“.

Ergänzendes zum Thema
Kompendium Starterkit gratis für Sie

Elektronik-Entwicklungsplatinen werden in Zukunft nicht nur durch das Internet der Dinge noch mehr an Popularität gewonnen. Aber welche Platine ist nun für welche Aufgabe eigentlich am besten geeignet? Was für Entwicklungsumgebungen und Peripheriesysteme gibt es dafür? Und wie industrietauglich sind die Boards, wenn es über das Rapid Prototyping einmal hinaus gehen soll?

Antworten auf diese und viele andere Fragen finden Sie Digital Kompendium Starterkits der ELEKTRONIKPRAXIS, das Sie kostenfrei downloaden können.

Weitere Informationen über die SDNet-Spezifikation mit einer Live-Video-Demonstration von SDNet sind unter www.xilinx.com/sdnet verfügbar. Dort findet sich auch ein detailliertes White Paper „Software Defined Specification Environment for Networking (SDNet)”.

Ergänzendes zum Thema SDNet erläutert Mike Possley im folgenden Video:

* Mike Santarini ist Herausgeber des Xcell Journal von Xilinx, Inc.

(ID:42937119)