|
Die Netzwerkkarte, oft auch NIC (Nectwork Interface Card) bezeichnet, ermöglicht Endgeräten wie Computern oder Druckern den physikalischen Zugriff auf ein Netzwerk. Auch wenn Netzwerkkarten alle nach dem selben Prinzip arbeiten, gibt es doch deutliche Unterschiede in ihren Ausführungen.
Im OSI-Referenzmodell nimmt sie ihren Platz in der Bitübertragungsschicht (Schicht 1) ein, da sie vorwiegend nichts anderes ist, als ein Bauteil das dafür sorgt, dass binäre Muster (1001101...) zwischen Netzkoppelelementen ausgetauscht werden. Bei weiteren Merkmalen müssen NICs für den Consumer Bereich und NICs für den professionellen Bereich differenziert werden, da letztere sehr wohl Aufgaben übernehmen können, die über das einfache Senden und Empfangen von binären Mustern hinaus gehen.
Grundsätzlich kann in jedem System die CPU alle Berechnungsaufgaben ab OSI-Schicht 2 und höher übernehmen. Dies ist bei NICs für den Consumer Bereich auch in aller Regel der Fall. Der Nachteil der sich dadurch ergibt, ist eine erhöhte CPU-Last für Aufgaben, wie die Segmentierung der Daten oder die Prüfung auf Übertragungsfehler. Die erhöhte CPU-Last macht sich vor allem bei schnelleren Übertragungstechnologien wie Gigabit-Ethernet bemerkbar. Hier müssen die gleichen Aufgaben wie bei 100Mbit-Ethernet in der gleichen Zeit durchgeführt werden und dies bei einem erhöhten Arbeitsaufwand um den Faktor 10.
Daher sind viele professionelle NICs in der Lage der CPU einen Großteil der Arbeit abzunehmen:
- Checksum Offloading
Generieren, einfügen und überprüfen von Prüfsummen durch die NIC Hardware.
- TCP Segmentation
Der Treiber sendet dem NOS (Network Operating System) auf dem NIC-Controller die komplette IP/TCP/UDP Nachricht und dieser sorgt für die korrekte Aufteilung in einen gültigen Ethernet-Frame.
- Buffer Ownership
Der Treiber verwaltet Buffer (Pufferspeicher) auf der NIC und übergibt die Kontrolle bei Bedarf an das NOS.
Bei Servern die stark frequentierte Netzwerkdienste bereitstellen, ist die Reduzierung dieses Overheads für die CPU ein enormer Vorteil. Daher rentiert sich dort der Einsatz der oft viel teureren professionellen Netzwerkkarten. Hierzu ein Vergleich verschiedener Typen von Netzwerkkarten.

- Herkömmliche 100Mbit Netzwerkkarte für den PCI-Bus. Die Netzwerkkarte hat einen RJ45 Anschluss (8P8C), in der Mitte sitzt der Controller und zusätzlich besitzt sie noch einen Sockel, der bei Bedarf mit einem IC bestückt werden kann. Dieser wird für PXE-Zwecke genutzt.
- Eine professionelle 10Gbit Netzwerkkarte mit 2 Anschlüssen für LWL-Steckertypen. Die NIC hat eine PCIe x8 Schnittstelle. Typisch für LWL-NICs sind die überdimensionierten Anschlusseinheiten für die Stecker, in denen die elektrischen Signale in Licht umgewandelt werden und umgekehrt.
- Ebenfalls eine professionelle 10Gbit Netzwerkkarte, allerdings für Kupferdraht. Die Schnittstelle ist wieder für PCIe x8 ausgelegt. Der Controller selbst ist zusätzlich mit einem aktiven Kühlungssystem versehen, da er bei 10Gbit enorme Rechenarbeit verrichten muss und entsprechend Wärme erzeugt.
- Eine 1000Mbit Netzwerkkarte mit4 Ports. Jeder einzelne Port ist in der Lage mit 1000Mbit/s zu kommunizieren. Treiberseitig wird bei dieser Art von Netzwerkkarten oft Teaming unterstützt. Dies ist ein Verfahren zur Port-Bündelung, so dass effektiv mit 4Gbit Kommuniziert werden kann. Die Schnittstelle ist für PCIe x4 ausgelegt.
Anmerkung: PCIe steht mittlerweile in 3 verschiedenen Spezifikationen zur Auswahl: Revision 1.0, 2.0 und 3.0. Eine Netzwerkkarte für PCIe rev. 1.0 kann zwar problemlos in einem PCIe re. 2.0 Steckplatz eingesetzt werden, erreicht aber trotzdem nur die Bandbreite von PCIe rev 1.0! Gerade bei den professionellen NICs sollte vor dem Kauf auf die korrekte PCIe Spezifikation geachtet werden, damit die Karte auch die volle Bandbreite des Steckplatzes nutzen kann.
Ist die Netzwerkkarte PXE- oder WOL-fähig, muss sie eine Möglichkeit zur Auswertung von Bitmustern besitzen, da diese Techniken in der Regel angewandt werden, wenn der Computer noch ausgeschaltet ist, bzw. sich in einer sehr frühen Startphase befindet (unmittelbar nach dem Power On Self Test.). Diese Fähigkeiten ist auch schon im Consumer Bereich anzutreffen.
- PXE (Preboot Execution Environment)
PXE ermöglicht das Laden eines Betriebssystems über das Netzwerk aus. Der Computer empfängt dabei von einem DHCP-Server seine IP-Adresse, sowie die Adresse eines TFTP-Servers. Von dort holt sich der Computer dann ein NBP (Network Bootstrap Program), lädt es in den Speicher und führt es aus. Das NBP ist ein rudimentäres Mini-Betriebssystem welches dann dafür sorgt, dass das richtige Betriebssystem von einem Server geladen werden kann.
- WOL (Wake On Lan)
Bei WOL wird die Netzwerkkarte auch bei ausgeschaltetem Computer noch mit Spannung versorgt, so dass sie den Netzwerkverkehr mithören kann. Empfängt sie dann ein bestimmtes Bitmuster, das so genannte Magic Paket, dann veranlasst sie den Computer dazu hochzufahren.
Waren in den frühen Zeiten noch Lösungen, basierend auf Koaxialkabeln vorherschend (z.B. 10Base-2 oder Token Ring), dominieren heute Netze mit Twisted-Pair Verkabelungen (z.B. 100Base-TX) oder Lichtwellenleitern (z.B. 1000Base-LX). Neben dem Vorteil der höheren Datenübertragung entfielen damit auch die früheren Nachteile wie Kollisionen im Netz, so dass der Durchsatz immer mehr die theoretische Bandbreite erreichte.
Neben der Art der Verkabelung ist aber noch wichtig, wie die Netzwerkkarte an das System eines Computers angebunden ist. Dies hat ebenfalls einen entscheidenden Einfluss auf den möglichen Durchsatz. Reicht für eine 100Base-T Netzwerkkarte der weit verbreitete PCI 2.x Bus noch aus, stößt er bei 1000Base-T schon an seine Grenzen. Theoretisch liefert der gängige PCI2.0 Bus zwar ~133MB/s, aber technisch bedingt (alle PCI-Geräte teilen sich die 133 MB/s, Latenzzeiten, etc.) sind dort die theoretischen 125MB/s bei 1000Base-T praktisch auch nicht annähernd zu erreichen. Ein weiterer Flaschenhals war die Anbindung zwischen North- und Southbridge, welche das gesamte Datenvolumen aller I/O-Geräte transportieren musste.
Brauchbare Zwischenlösungen boten Techniken wie Intels CSA (Communication Streaming Architecture), welche die Netzwerkschnittstelle direkt an die Northbridge angebunden und einen schnellen (266MB/s) Zugriff gewährleisteten.

Im Serverbereich wurden allerdings auch Chipsätze verwendet, die mehrere unabhängige PCI-Busse mit bis zu 266MB/s verwalten konnten (PCI-X, nicht zu verwechseln mit PCI-Express). Diese Techniken waren aber teuer und damit bot CSA eine kostengünstige Alternative um der Leistung von Gbit-Anbindungen gerecht zu werden.
Mit neueren Chipsätzen und schnelleren Bussystemen wurden diese Verfahren überholt. PCIe rev. 1.0 x4 erreicht schon 1000MB/s exklusiv pro Steckplatz.

Je nach Anzahl der Netzwerkports kann es zwar auch in neueren Systemen zu systeminternen Engpässen kommen, aber diese Möglichkeit ist eher von theoretischer Natur. Für alle Technologien bleibt nämlich immernoch das Speichermedium (z.B. Festplatte) die wahrscheinlichste Ursache für einen reduzierten Durchsatz, da die Daten über ein Netzwerk nur so schnell abgelegt oder gelesen werden können, wie die Speichermedien in der Lage sind zu lesen oder zu schreiben.
Die meisten Netzwerkkarten ermöglichen es zudem diverse hardwarenahe Tests durchzuführen. Dazu zählen beispielsweise Register-/FIFO-Tests und das setzen von internen Schleifen (MAC-/PHY-Loopback). So kann die Netzwerkkarte zuverlässig auf ihre Funktionstüchtigkeit hin überprüft werden. Am ehesten eignet sich dazu die vom Hersteller angebotene Testsoftware. Teilweise können manche Tests auch mit herstellerunabhängigen Programmen durchgeführt werden. Ein Beispiel dafür ist ethtool unter Linux.
Weitere Informationen:
- Eine gute Software für die Realisierung von PXE-Lösungen ist 2x.
- Mit NETIO lässt sich der mögliche Durchsatz im Netzwerk sehr einfachermitteln. Eine andere Alternative ist iperf, das ebenfalls für alle gängigen Betriebssysteme erhältlich ist. Eine GUI-Version für iperf ist jperf.
- Viele neuere Treiber unterstützen die Bündelung von Netzwerkanschlüssen. Auch bekannt als Teaming oder Link-Aggregation. Damit lassen sich die Durchsätze erhöhen oder Redundanzen realisieren. Netzkoppelelemente wie Switche müssen dies allerdings auch unterstützen, was eher in höheren Preisregionen der Fall ist.
|