Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Netzwerkprozessor

Netzwerkprozessoren können durch Techniken wie massive Parallelverarbeitung und Pipelining viele Pakete gleichzeitig und unabhängig voneinander bearbeiten.

Inhalt5 Abschnitte
  1. 1. Definition und Bedeutung
  2. 2. Einsatz und Paketverarbeitung
  3. 3. Architektur und Funktionsweise
  4. 4. Spezialblöcke, Koprozessoren und Programmierung
  5. 5. Abgrenzung, Entwicklung und Markt

Definition und Bedeutung

Ein Netzwerkprozessor (englisch Network Processor, NP, auch Network Processing Unit, NPU) ist ein programmierbarer Mikroprozessor, der speziell für die Verarbeitung und Weiterleitung von Datenpaketen in Kommunikationsnetzen optimiert ist. Er verbindet hohe Verarbeitungsgeschwindigkeit mit Programmierbarkeit: Anders als eine vollständig festgelegte Schaltung kann er angepasst werden, um neue Dienste oder Protokolle zu unterstützen.

Durch massive Parallelverarbeitung und Pipelining kann ein Netzwerkprozessor viele voneinander unabhängige Pakete gleichzeitig bearbeiten. Pipelining bedeutet, dass die Verarbeitung in aufeinanderfolgende Arbeitsschritte zerlegt wird, die parallel an verschiedenen Paketen ausgeführt werden. Die erreichbare Wirespeed-Datenübertragungsrate, also die Verarbeitung mit voller Leitungsgeschwindigkeit, betrug bei aktuellen Prozessoren bis zu 200 Gbit/s duplex (Stand 2013). Duplex bezeichnet dabei die Datenübertragung in beide Richtungen.

Einsatz und Paketverarbeitung

Netzwerkprozessoren werden im Zugangsnetz eingesetzt, beispielsweise in DSLAMs, Basisstationen, Intrusion-Prevention-Systemen, Firewalls und Systemen zur Deep Packet Inspection. Im Kernnetz arbeiten sie unter anderem in Switches und Routern. Besonders Netzwerkprozessoren für hohe Datenraten übernehmen Aufgaben der Schichten 2 bis 4 des OSI-Modells: Ethernet auf Schicht 2, IP auf Schicht 3 und TCP auf Schicht 4.

Die Paketverarbeitung umfasst häufig folgende Schritte:

• Media Access Control übernimmt Funktionen wie Ethernet Framing oder bei ATM die Zerlegung und Wiederzusammensetzung von Zellen.

• Beim Header Parsing werden die Kopfdaten eines Pakets ausgelesen. Durch Pattern Matching, also den Vergleich mit bekannten Mustern, wird es beispielsweise als VLAN-markiertes Ethernet-, IPv4- oder IPv6-Paket klassifiziert. Pakete für Netzsteuerung und -kontrolle können an eine externe CPU weitergegeben werden. Dieser Kontrollpfad heißt auch „Slow Path“.

• Die Zugriffssteuerung beschränkt mit Paketfiltern die Kommunikation, etwa anhand bestimmter Quell- oder Zieladressen.

• Beim Address Learning wird nach dem Empfang eines Ethernetpakets die MAC-Adresse des Senders zusammen mit der Nummer des Empfangsports direkt in die Source Address Table (SAT) eingetragen. IP-Routingtabellen werden dagegen normalerweise indirekt durch Routingprotokolle wie BGP oder OSPF aktualisiert.

• Beim Tabellen-Lookup wird in einer Adress- oder Routingtabelle nach dem Ziel beziehungsweise der nächsten Teilstrecke gesucht. Ein übliches Verfahren ist der Longest Prefix Match, bei dem der längste passende Adresspräfix gewählt wird.

• Beim Header Update werden Kopfdaten protokollgerecht geändert, beispielsweise durch den Austausch eines MPLS-Labels oder das Herabsetzen des Time-to-Live-Werts.

• Traffic Management und Queuing steuern nach der Routingentscheidung den Verkehrsfluss. Dabei sollen konfigurierte Quality-of-Service-Parameter (QoS), also Vorgaben zur Dienstgüte, durch Traffic Shaping und Traffic Policing eingehalten werden. Abhängig von diesen Vorgaben und der Priorität werden Pakete in unterschiedliche Ausgangswarteschlangen eingeordnet.

Architektur und Funktionsweise

Da die einzelnen Arbeitsschritte der Paketverarbeitung vergleichsweise einfach sind, verwenden die meisten Netzwerkprozessoren effiziente, funktional reduzierte RISC-Prozessoren. Diese heißen Prozessorelemente. Komponenten gewöhnlicher Prozessoren wie Caches, Memory-Management Units (MMU) und Gleitkommaeinheiten (FPU) fehlen häufig.

Der Programmablauf hängt stark davon ab, wann Datenpakete verfügbar sind. Deshalb werden manche Netzwerkprozessoren nicht als befehlsgetriebene Von-Neumann-Systeme, sondern mit einer Datenfluss-Architektur umgesetzt. Nach der Flynnschen Klassifikation gehört diese zur Klasse MISD (Multiple Instruction, Single Data).

Hohe Verarbeitungsgeschwindigkeiten entstehen neben hohen Taktraten vor allem durch Parallelisierung und Pipelining. Drei typische Anordnungen der Prozessorelemente sind:

• Bei parallelen Prozessor-Pipelines wird jedes ankommende Paket einer von mehreren Pipelines zugeteilt und durchläuft diese vollständig. Ein Beispiel ist Cisco Toaster.

• Eine Pipeline aus Parallelprozessoren ähnelt einer reinen Pipeline aus superskalaren Prozessorelementen. Die Elemente können unterschiedliche Typen besitzen. Ein Beispiel ist EZChip NP.

• In einem Prozessorpool stehen mehrere identische Prozessorelemente bereit. Ein Scheduler, also eine Verteilungssteuerung, weist die Pakete freien Elementen zu. Beispiele sind Intel IXP und Alcatel-Lucent FP.

Spezialblöcke, Koprozessoren und Programmierung

Für besonders rechenintensive Aufgaben enthalten die meisten Netzwerkprozessoren fest codierte Funktionsblöcke. Dazu gehören Engines für Hash- und CRC-Berechnungen, Statistik, Pattern Matching und Bandbreitenmanagement. Diese Blöcke sind nicht frei programmierbar, sondern nur innerhalb enger Grenzen konfigurierbar.

Häufig unterstützen externe Koprozessoren den Netzwerkprozessor. Dazu zählen General Purpose Processors (GPPs) für das Control Plane Management, Knowledge Based Processors und Sicherheits-Koprozessoren.

Die hohe Leistung beruht vielfach auf effizienten, hardwarenah umgesetzten Funktionen. Deshalb erfolgt die Programmierung meist systemnah in Assembler oder C und ähnelt der Programmierung eines Mikrocontrollers. Nur wenige der verfügbaren Netzwerkprozessoren lassen sich in ANSI C mit einer standardmäßigen GNU Toolchain programmieren.

Abgrenzung, Entwicklung und Markt

Kommunikationsprozessoren verarbeiten Pakete im Datenpfad mit niedrigeren Bitraten von 1–10 Gbit/s und sind deshalb preisgünstiger. Beispiele sind Caviums OCTEON- und Freescales PowerQUICC-Chips. Sie integrieren einen oder mehrere Standardprozessorkerne, etwa auf Basis von MIPS oder ARM, und ermöglichen Paketverarbeitung auf den höheren Netzwerkschichten 4 bis 7 sowie die Verarbeitung von Kontrollprotokollen.

Konfigurierbare ASSPs konkurrieren bei hohen Datenraten mit Netzwerkprozessoren. Sie sind konfigurierbar, aber nicht programmierbar, und dadurch weniger komplex. Sie werden häufig für Ethernet-Paketverarbeitung auf Schicht 2 verwendet. Ein Beispiel sind Broadcoms StrataXGS-Chips der Reihe BCM56xxx.

Netzwerkprozessoren entstanden als Reaktion auf die stark wachsenden Datenraten und Funktionsanforderungen von IP-Routern Ende der 1990er Jahre. Programmierbare Spezialprozessoren sollten die zuvor eingesetzten, fest definierten ASICs ersetzen. Cisco und Juniper verwendeten im Jahr 2000 mit Toaster 2 beziehungsweise Internet Processor II die ersten selbst entwickelten Netzwerkprozessoren. Intel brachte kurz darauf mit dem IXP1200 den ersten frei erhältlichen Netzwerkprozessor heraus.

Während des Internetbooms entstanden zahlreiche Hersteller; Anfang 2003 vermarkteten bereits 30 Chiphersteller Netzwerkprozessoren. Nach dem Platzen der Dotcom-Blase gingen die Investitionen der Netzbetreiber zurück, viele Anbieter wurden zahlungsunfähig und der Markt konzentrierte sich durch Übernahmen. Genannt werden unter anderem Avago/LSI/Agere, Broadcom/Sandburst, Netronome/Intel, Marvell/Xelerated und PMC-Sierra/Wintegra. Der Markt für frei erhältliche Netzwerkprozessoren wurde 2012 auf 350 Mio. US-Dollar geschätzt und war seit 2005 jährlich um mehr als 6 % gewachsen. Zugleich wurde das Geschäft für reine Chiphersteller schwieriger, weil große Kunden zunehmend eigene Prozessoren entwickelten.

Zu den wichtigen Entwicklungen gehörten Broadcoms BCM88030 als erster frei erhältlicher Netzwerkprozessor mit 100 Gbit/s duplex sowie Alcatel-Lucents FP3 und Ciscos nPower mit jeweils 400 Gbit/s simplex. Der FP3 war seit 2011 die dritte Generation der FP-Serie und der erste Prozessor mit diesem Durchsatz. Ericsson stellte 2013 den SNP 4000 mit 200 Gbit/s simplex vor, dessen Software unter SMP Linux mit einer GNU-C/C++-Toolchain entwickelt werden konnte. EZChip war bei verkäuflichen High-End-Netzwerkprozessoren führend; sein NP-2/NP-3 war der erste 10-Gbit/s-Netzwerkprozessor mit integriertem Traffic Manager. Intel war 2006 Marktführer, verkaufte seine IXP-Sparte jedoch Ende 2007 an Netronome. Weitere Hersteller eigener oder übernommener Produktfamilien waren unter anderem Huawei, Juniper, Marvell und PMC-Sierra.

Weiterlesen

Mikroprozessor Ein Mikroprozessor (µP oder uP) ist ein als integrierter Schaltkreis (IC) ausgeführter Computerprozessor. Typische Beispiele von Mikroprozessoren sind die … Rechnernetz Ein Rechnernetz, Computernetz oder Computernetzwerk ist ein Zusammenschluss verschiedener technischer, primär selbstständiger elektronischer Systeme … Pipeline (Prozessor) Die Pipeline (auch Befehls-Pipeline oder Prozessor-Pipeline) bezeichnet bei Mikroprozessoren eine Art „Fließband“, mit dem die Abarbeitung der … Datenübertragungsrate Maße · kilobit pro Sekunde (kbit/s oder kbps), · Megabit pro Sekunde (Mbit/s bzw. Mbps), · Gigabit pro Sekunde (Gbit/s bzw. Gbps). Deep Packet Inspection Es ermöglicht eine erhebliche Absicherung des Informationsflusses, wird aber auch zur Vorratsdatenspeicherung, zum Abhören und Sammeln von Informationen und zur … Switch (Netzwerktechnik) Switch (vom Englischen für „Schalter“, „Umschalter“ oder „Weiche“, auch Netzwerkweiche oder Verteiler genannt) bezeichnet ein Kopplungselement in … Router Router (['ruːtə(r)] oder ['raʊ̯tər]) oder Netzwerkrouter sind Netzwerkgeräte, die Netzwerkpakete zwischen mehreren Rechnernetzen weiterleiten können. Netzwerkprotokoll Ein Netzwerkprotokoll (auch Netzprotokoll) ist ein Kommunikationsprotokoll für den Austausch von Daten zwischen Computern bzw. Prozessen, die in einem … Ethernet Derzeit sind Übertragungsraten von 1, 10, 100 Megabit/s (Fast-Ethernet), 1000 Megabit/s (Gigabit-Ethernet), 2,5, 5, 10, 25, 40, 50, 100, 200 und 400 Gigabit/s … Internet Protocol Das Internet Protocol (IP; deutsch Internetprotokoll) ist ein in Rechnernetzen weit verbreitetes Netzwerkprotokoll und stellt durch seine Funktion die … Transmission Control Protocol Das Transmission Control Protocol (TCP, englisch für „Übertragungssteuerungsprotokoll“) ist ein Netzwerkprotokoll, das definiert, auf welche Art und Weise … OSI-Modell Das ISO/OSI-Referenzmodell (englisch Open Systems Interconnection model) ist ein Referenzmodell für Netzwerkprotokolle als Schichtenarchitektur.