Netzwerkschnittstellencontroller

Netzwerkschnittstellencontroller
Network card.jpg
Eine 1990er Jahre Ethernet Network Interface Controller-Karte, die über das jetzt OBSOLETE eine Verbindung zum Motherboard herstellt Isa Bus. Diese Kombinationskarte zeigt beide a BNC -Anschluss (links) zur Verwendung in (jetzt veraltet) 10Base2 Netzwerke und an 8p8c Stecker (rechts) zur Verwendung in 10BASE-T Netzwerke.
Verbindet sich mit Hauptplatineüber eine von:

Netzwerk über einen von:

Geschwindigkeiten Vollduplex oder Halbduplex:
  • 10 mbit/s
  • 100 mbit/s
  • 1 gbit/s

Vollduplex:[1][2]
  • 2,5 gbit/s
  • 5 gbit/s
  • 10 gbit/s
  • bis zu 160 gbit/s
Gemeinsame Hersteller Intel
Realtek
Broadcom (Beinhaltet erstere Avago, Emulex)
Marvell Technology Group
Cavium (früher Qlogic)
Mellanox
Chelsio

A Netzwerkschnittstellencontroller (Nic, auch bekannt als a Netzwerkkarte,[3] Netzwerkadapter, LAN -Adapter oder Physische Netzwerkschnittstelle,[4] und nach ähnlichen Begriffen) ist a Computerhardware Komponente, die a verbindet Computer zu einem Computernetzwerk.[5]

Frühe Netzwerk -Schnittstellencontroller wurden üblicherweise implementiert Erweiterungskarten das steckte in a Computerbus. Die niedrigen Kosten und Allgegenwart der Ethernet Standard bedeutet, dass die meisten neueren Computer über eine Netzwerkschnittstelle in die integriert sind Hauptplatine, oder ist in a enthalten USB-in Verbindung gebracht Dongle.

Moderne Netzwerkoberflächen -Controller bieten erweiterte Funktionen wie z. unterbrechen und DMA Schnittstellen zu den Hostprozessoren, Unterstützung mehrerer Empfänger- und Übertragungswarteschlangen, Partitionieren in mehreren logischen Schnittstellen und auf dem Kontroller-Netzwerkverkehr wie der Netzwerkverkehrsverarbeitung TCP -Offload -Engine.

Zweck

Der Netzwerkcontroller implementiert die elektronische Schaltung, die für die Kommunikation mit einem spezifischen erforderlich ist Physische Schicht und Datenübertragungsebene Standard wie Ethernet oder W-lan.[a] Dies bietet eine Basis für ein vollständiges Netzwerk Protokollstapel, die Kommunikation zwischen Computern auf demselben ermöglichen lokales Netzwerk (LAN) und groß angelegte Netzwerkkommunikation durch routbare Protokolle, wie z. Internetprotokoll (IP).

Mit der NIC ermöglicht Computern, über ein Computernetzwerk zu kommunizieren, entweder durch Verwendung von Kabeln oder drahtlos. Die NIC ist sowohl ein physischer Schicht als auch ein Datenverbindungsschichtgerät, da sie einen physischen Zugriff auf ein Netzwerkmedium und für, für bietet IEEE 802 und ähnliche Netzwerke bieten ein adressierendes System mit niedrigem Niveau durch die Verwendung von MAC -Adressen das sind einzigartige Netzwerkschnittstellen zugeordnet.

Implementierung

12 frühe ISA 8 -Bit- und 16 -Bit -PC -Netzwerkkarten. Die untere rechte Karte ist eine frühe drahtlose Netzwerkkarte, und die zentrale Karte mit teilweise beige Plastikabdeckung ist ein PSTN Modem.

Netzwerkcontroller wurden ursprünglich als Erweiterungskarten implementiert, die an einen Computerbus angeschlossen waren. Die niedrigen Kosten und Allgegenwart des Ethernet -Standards bedeuten, dass die meisten neuen Computer über einen Netzwerk -Schnittstellencontroller in das Motherboard integriert sind. Neuer Server Motherboards haben möglicherweise mehrere Netzwerkschnittstellen integriert. Die Ethernet -Funktionen sind entweder integriert ins Motherboard Chipsatz oder über einen kostengünstigen dedizierten Ethernet-Chip implementiert. Eine separate Netzwerkkarte ist in der Regel nicht mehr erforderlich, es sei denn, es werden zusätzliche unabhängige Netzwerkverbindungen benötigt oder es wird ein Nicht-Ethernet-Netzwerk verwendet. Ein allgemeiner Trend in der Computerhardware ist an Integration der verschiedenen Komponenten von Systemen in einen Chipund dies wird auch auf Netzwerk -Schnittstellenkarten angewendet.

Ein Ethernet -Netzwerkcontroller hat normalerweise eine 8p8c Sockel, wo das Netzwerkkabel angeschlossen ist. Ältere NICs wurden ebenfalls geliefert BNC, oder Aui Verbindungen. Ethernet -Netzwerkcontroller unterstützen normalerweise 10Mbit/s Ethernet, 100 mbit/s Ethernet, und 1000 mbit/s Ethernet Sorten. Solche Controller werden als als bezeichnet als 10/100/1000, was bedeutet, dass sie Datenraten von 10, 100 oder 1000 Mbit/s unterstützen können. 10 Gigabit Ethernet NICs sind ebenfalls erhältlich und ab November 2014, fangen an, verfügbar zu sein Computermotherboards.[6][7]

A Qlogic Qle3442-cu SFP+ Dual-Port-NIC

Modulare Designs wie SFP und SFP+ sind sehr beliebt, besonders für Faser-optische Kommunikation. Diese definieren einen Standardbehälter für medienabhängige Transceiver, sodass Benutzer die Netzwerkschnittstelle problemlos an ihre Anforderungen anpassen können.

LEDs neben oder in den Netzwerkkonnektor integriert oder integriert den Benutzer darüber, ob das Netzwerk verbunden ist und wann Datenaktivität auftritt.

Die NIC kann eine oder mehrere der folgenden Techniken verwenden, um die Verfügbarkeit von Paketen zur Übertragung anzuzeigen:

NICs können eine oder mehrere der folgenden Techniken verwenden, um Paketdaten zu übertragen:

  • Programmierter Eingang/Ausgang, wo die CPU die Daten in oder von der NIC in den Speicher verschiebt.
  • Direkter Speicherzugriff (DMA), wobei ein anderes Gerät als die CPU die Kontrolle über die annimmt System Bus Daten in oder von der NIC in den Speicher verschieben. Dadurch wird die Last aus der CPU entfernt, erfordert jedoch mehr Logik auf der Karte. Darüber hinaus ist möglicherweise nicht ein Paketpuffer auf der NIC erforderlich und Latenz kann reduziert werden.

Leistung und erweiterte Funktionalität

Ein Geldautomat Netzwerkschnittstelle.
Intel 82574L Gigabit Ethernet NIC, eine PCI Express × 1 -Karte, die zwei Hardware -Empfangswarteschlangen bietet[8]

MultiqueUe NICS Bereitstellung mehrerer Sende und Empfangen Warteschlangen, die von der NIC empfangene Pakete einem seiner Empfangswarteschlangen zugeordnet werden können. Die NIC kann eingehender Verkehr zwischen den Empfangswarteschlangen mit a verteilen Hash-Funktion. Jede Empfangswarteschlange wird einem separaten zugeordnet unterbrechen; Indem Sie jede dieser Interrupts zu unterschiedlich machen CPUs oder CPU -KerneDie Verarbeitung der von dem Netzwerkverkehr ausgelösten Interrupt -Anfragen, die von einer einzigen NIC -NIC -Leistung empfangen werden, kann die Verbesserung der Leistung verteilt werden.[9][10]

Die oben beschriebene Hardware-basierte Verteilung der oben beschriebenen Interrupts wird als bezeichnet als Empfangen Sie Seitenschuppen (RSS).[11]: 82 Es gibt auch nur Software -Implementierungen, wie die Paketlenkung erhalten (RPS) und Empfangen Sie Flow -Lenkung (RFS).[9] Weitere Leistungsverbesserungen können erreicht werden, indem die Interrupt -Anforderungen an die CPUs oder die Kerne weitergeleitet werden Netzwerkpakete Das erzeugte die Interrupts. Diese Technik verbessert sich Referenzort und führt zu einer höheren Gesamtleistung, einer verringerten Latenz und einer besseren Hardwareauslastung aufgrund der höheren Nutzung von CPU -Caches und weniger erforderlich Kontextschalter. Beispiele für solche Implementierungen sind die RFS[9] und Intel Flow Director.[11]: 98, 99[12][13][14]

Mit mehreren NICs können zusätzliche Leistungsverbesserungen erzielt werden, indem der ausgehende Verkehr zwischen verschiedenen Übertragungswarteschlangen verteilt wird. Durch die Zuweisung verschiedener Sendewarteschlangen an verschiedene CPU- oder CPU -Kerne können interne Betriebssysteminstallationen vermieden werden. Dieser Ansatz wird normalerweise als als bezeichnet Paketlenkung übertragen (XPS).[9]

Einige Produkte sind vorhanden NIC -Partitionierung (NPAR, auch bekannt als Port -Partitionierung) Das verwendet Sr-iov Virtualisierung, um eine einzelne 10 Gigabit -Ethernet -NIC in mehrere diskrete virtuelle NICs mit dedizierter Bandbreite zu teilen, die dem Firmware und dem Betriebssystem als separat präsentiert werden PCI -Gerätefunktionen.[3][15]

TCP -Offload -Engine ist eine Technologie, die in einigen NICs verwendet wird, um die Verarbeitung des gesamten Verarbeitung zu entlasten TCP/IP Stapel an den Netzwerkcontroller. Es wird hauptsächlich mit Hochgeschwindigkeitsnetzwerkschnittstellen wie Gigabit-Ethernet und 10 Gigabit-Ethernet verwendet, für die der Verarbeitungsaufwand des Netzwerkstapels signifikant wird.[16]

Einige NICs bieten integriert Feldprogrammierbare Gate-Arrays (FPGAs) für die benutzerprogrammierbare Verarbeitung des Netzwerkverkehr Latenzen in zeitempfindlichen Workloads.[17] Darüber hinaus bieten einige NICs eine vollständige niedrige Latenz an TCP/IP -Stapel Laufen auf integrierten FPGAs in Kombination mit UserSpace Bibliotheken, die Netzwerkoperationen abfangen, die normalerweise von der durchgeführt werden Betriebssystem Kernel; Solarflares Open-Source OpenOnload Netzwerkstapel, der weitergeht Linux ist ein Beispiel. Diese Art von Funktionalität wird normalerweise als bezeichnet Benutzerniveau.[18][19][20]

Siehe auch

Anmerkungen

  1. ^ Obwohl andere Netzwerktechnologien existieren, Ethernet (IEEE 802.3) und Wi-Fi (IEEE 802.11) haben seit Mitte der neunziger Jahre nahe der Ubuität als LAN-Technologien erreicht.

Verweise

  1. ^ "Anschlussgeschwindigkeit und Duplex -Moduskonfiguration". docs.ruckusWireless.com. Abgerufen 2020-09-25.
  2. ^ Admin, Arista (2020-04-23). "Abschnitt 11.2: Ethernet -Standards - Arista". Arista -Netzwerke. Abgerufen 2020-09-28.
  3. ^ a b "Verbesserung der Skalierbarkeit durch Netzwerk -Schnittstellen -Kartenpartitionierung" (PDF). Dell. April 2011. Abgerufen 12. Mai, 2014.
  4. ^ "Physische Netzwerkschnittstelle". Microsoft. 7. Januar 2009.
  5. ^ Posey, Brien M. (2006). "Networking -Grundlagen: Teil 1 - Networking -Hardware". WindowsNetworking.com. Techgenix Ltd. Abgerufen 2012-06-09.
  6. ^ Jim O'Reilly (2014-01-22). "Wird 2014 das Jahr von 10 Gigabit -Ethernet sein?". Netzwerk Computing. Abgerufen 2015-04-29.
  7. ^ "Break-Geschwindigkeitsgrenzen mit ASROCK X99 WS-E/10G und Intel 10G Base-T Lans". Asrock.com. 24. November 2014. Abgerufen 19. Mai 2015.
  8. ^ "Intel 82574 Gigabit Ethernet Controller Family Dataasheet" (PDF). Intel. Juni 2014. p. 1. Abgerufen 16. November, 2014.
  9. ^ a b c d Tom Herbert; Willem de Bruijn (9. Mai 2014). "Linux -Kernel -Dokumentation: Dokumentation/Netzwerk/scaling.txt". kernel.org. Abgerufen 16. November, 2014.
  10. ^ "Intel Ethernet Controller I210 Family Product Brief" (PDF). Intel. 2012. Abgerufen 16. November, 2014.
  11. ^ a b "Intel Look Inside: Intel Ethernet" (PDF). Xeon E5 V3 (Grantley) Start. Intel. 27. November 2014. Archiviert von das Original (PDF) am 26. März 2015. Abgerufen 26. März, 2015.
  12. ^ "Linux -Kernel -Dokumentation: Dokumentation/Netzwerk/ixgbe.txt". kernel.org. 15. Dezember 2014. Abgerufen 26. März, 2015.
  13. ^ "Intel Ethernet Flow Director". Intel. 16. Februar 2015. Abgerufen 26. März, 2015.
  14. ^ "Einführung in den Intel Ethernet Flow Director und die Memcached Performance" (PDF). Intel. 14. Oktober 2014. Abgerufen 11. Oktober, 2015.
  15. ^ Patrick Kutch; Brian Johnson; Greg Rose (September 2011). "Eine Einführung in die Intel Flexible Port Partitioning mithilfe der SR-IOV-Technologie" (PDF). Intel. Abgerufen 24. September, 2015.
  16. ^ Jonathan Corbet (1. August 2007). "Großer Empfangs -Offload". Lwn.net. Abgerufen 2. Mai, 2015.
  17. ^ "Hochleistungslösungen für die Cybersicherheit". Neue Wellendesign & Überprüfung. New Wave DV.
  18. ^ Timothy Prickett Morgan (2012-02-08). "SolarFlare verwandelt Netzwerkadapter in Server: Wenn eine CPU einfach nicht schnell genug ist", wird ". Das Register. Abgerufen 2014-05-08.
  19. ^ "OpenOnload". openonload.org. 2013-12-03. Abgerufen 2014-05-08.
  20. ^ Steve Pope; David Riddoch (2008-03-21). "OpenOnload: Ein Netzwerkstapel auf Benutzerebene" (PDF). openonload.org. Abgerufen 2014-05-08.

Externe Links