Netværksinterfacecontroller - Network interface controller

Netværksinterfacecontroller
Netværkskort.jpg
Et Ethernet- netværksinterfacecontroller-kort fra 1990'erne , der opretter forbindelse til bundkortet via den nu forældede ISA-bus . Dette kombinationskort har både et BNC-stik (til venstre) til brug i (nu forældet) 10BASE2- netværk og et 8P8C- stik (til højre) til brug i 10BASE-T- netværk.
Opretter forbindelse til Bundkort  via en af:

Netværk via en af:

Hastigheder Fuld dupleks eller halv dupleks :
  • 10 Mbit / s
  • 100 Mbit / s
  • 1 Gbit / s

Fuld dupleks :
  • 2,5 Gbit / s
  • 5 Gbit / s
  • 10 Gbit / s
  • op til 160 Gbit / s
Almindelige producenter Intel
Realtek
Broadcom (inkluderer tidligere Avago , Emulex )
Marvell Technology Group
Cavium (tidligere QLogic )
Mellanox
Chelsio

Et netværksinterface controller ( NIC , også kendt som en netkort , netværkskort , LAN-adapter eller fysisk netværk grænseflade , og ved lignende vilkår) er en computer hardware komponent, der forbinder en computer til et computernetværk .

Tidlige netværksinterfacekontroller blev almindeligt implementeret på udvidelseskort, der blev tilsluttet en computerbus . De lave omkostninger og allestedsnærværende de Ethernet standard betyder, at de fleste nyere computere har et netværksinterface indbygget i bundkortet , eller er indeholdt i en USB- -connected dongle .

Moderne netværksinterface-controllere tilbyder avancerede funktioner såsom afbrydelse og DMA- grænseflader til værtsprocessorerne, understøttelse af flere modtagelses- og transmissionskøer, opdeling i flere logiske grænseflader og on-controller netværkstrafikbehandling såsom TCP-offload-motoren .

Formål

Netværkscontrolleren implementerer det elektroniske kredsløb, der kræves for at kommunikere ved hjælp af et specifikt fysisk lag og datalinklagstandard såsom Ethernet eller Wi-Fi . Dette giver en base for en fuld netværk protokol stakken , så kommunikationen mellem computere på det samme lokalnetværk (LAN) og store netværk kommunikation gennem rutes protokoller, såsom Internet Protocol (IP).

NIC giver computere mulighed for at kommunikere via et computernetværk, enten ved hjælp af kabler eller trådløst. NIC er både et fysisk lag- og datalinklagsenhed, da det giver fysisk adgang til et netværksmedium og til IEEE 802 og lignende netværk giver et lavt adresseringssystem ved hjælp af MAC-adresser, der er unikt tildelt til netværket grænseflader.

Implementering

12 tidlige ISA 8 bit og 16 bit pc-netværkskort. Kortet nederst til højre er et tidligt trådløst netværkskort, og det centrale kort med delvis beige plastikdæksel er et PSTN- modem .

Netværkscontrollere blev oprindeligt implementeret som udvidelseskort, der blev tilsluttet en computerbus. De lave omkostninger og allestedsnærværende Ethernet-standard betyder, at de fleste nye computere har en netværksinterfacecontroller indbygget i bundkortet. Nyere server bundkort kan have flere indbyggede netværksgrænseflader. De Ethernet kapaciteter er enten integreret i bundkortet chipset eller gennemføres via en billig dedikeret Ethernet chip. Et separat netværkskort er typisk ikke længere påkrævet, medmindre der er behov for yderligere uafhængige netværksforbindelser, eller hvis der bruges en anden type netværk end netværk. En generel tendens inden for computerhardware er i retning af at integrere de forskellige komponenter i systemer på en chip , og dette gælder også for netværksinterfacekort.

En Ethernet-netværkscontroller har typisk et 8P8C- stik, hvor netværkskablet er tilsluttet. Ældre NIC'er leverede også BNC- eller AUI- forbindelser. Ethernet-netværkscontrollere understøtter typisk 10  Mbit / s Ethernet, 100 Mbit / s Ethernet og 1000 Mbit / s Ethernet- varianter. Sådanne controllere er betegnet som 10/100/1000 , hvilket betyder at de kan understøtte datahastigheder på 10, 100 eller 1000 Mbit / s. 10 Gigabit Ethernet NIC'er er også tilgængelige, og fra og med november 2014 begynder de at være tilgængelige på computerens bundkort .

En Qlogic QLE3442-CU SFP + dual-port NIC

Modulære designs som SFP og SFP + er meget populære, især til fiberoptisk kommunikation . Disse definerer en standardbeholder til medieafhængige transceivere, så brugerne let kan tilpasse netværksgrænsefladen til deres behov.

Lysdioder, der støder op til eller er integreret i netværksstikket, informerer brugeren om, hvorvidt netværket er tilsluttet, og hvornår der forekommer dataaktivitet.

NIC kan bruge en eller flere af følgende teknikker til at angive tilgængeligheden af ​​pakker, der skal overføres:

  • Polling er hvor CPU'en undersøger status for den perifere enhed under programstyring.
  • Interrupt -driven I / O er, hvor periferien advarer CPU'en om, at den er klar til at overføre data.

NIC'er kan bruge en eller flere af følgende teknikker til at overføre pakkedata:

  • Programmeret input / output , hvor CPU'en flytter dataene til eller fra NIC til hukommelse.
  • Direkte hukommelsesadgang (DMA), hvor en anden enhed end CPU'en overtager kontrol over systembussen for at flytte data til eller fra NIC til hukommelse. Dette fjerner belastning fra CPU'en, men kræver mere logik på kortet. Derudover kræves der muligvis ikke en pakkebuffer på NIC, og ventetiden kan reduceres.

Ydeevne og avanceret funktionalitet

En ATM- netværksgrænseflade.
Intel 82574L Gigabit Ethernet NIC, et PCI Express × 1-kort, der giver to hardwaremodtagekøer

Multiqueue netkort giver flere sende- og modtage køer , så pakker modtaget af NIC skal tildeles en af dens modtager køer. NIC kan distribuere indgående trafik mellem modtagekøerne ved hjælp af en hash-funktion . Hver modtagekø tildeles en separat afbrydelse ; ved at dirigere hver af disse afbrydelser til forskellige CPU'er eller CPU-kerner , kan behandling af afbrydelsesanmodningerne udløst af netværkstrafikken modtaget af et enkelt NIC distribueres, hvilket forbedrer ydeevnen.

Den hardwarebaserede fordeling af afbrydelserne, beskrevet ovenfor, kaldes modtagelsesskalering (RSS). Der findes rent softwareimplementeringer, såsom modtagepakke-styring (RPS) og modtagestrømstyring (RFS). Yderligere ydelsesforbedringer kan opnås ved at dirigere afbrydelsesanmodningerne til CPU'erne eller kernerne, der udfører de applikationer, der er de ultimative destinationer for netværkspakker, der genererede afbrydelserne. Denne teknik forbedrer lokaliteten for reference og resulterer i højere samlet ydeevne, reduceret ventetid og bedre hardwareudnyttelse på grund af den højere udnyttelse af CPU-cache og færre krævede kontekstskiftere . Eksempler på sådanne implementeringer er RFS og Intel Flow Director .

Med multikø-NIC'er kan yderligere præstationsforbedringer opnås ved at distribuere udgående trafik mellem forskellige transmissionskøer. Ved at tildele forskellige transmissionskøer til forskellige CPU'er eller CPU-kerner kan interne operativsystems indvendinger undgås. Denne tilgang omtales normalt som transmittere pakkestyring (XPS).

Nogle produkter har NIC-partitionering (NPAR, også kendt som portpartitionering ), der bruger SR-IOV- virtualisering til at opdele en enkelt 10 Gigabit Ethernet-NIC i flere diskrete virtuelle NIC'er med dedikeret båndbredde, som præsenteres for firmwaren og operativsystemet som separat PCI-enhed funktioner .

TCP-offload-motor er en teknologi, der bruges i nogle NIC'er til at aflaste behandling af hele TCP / IP- stakken til netværkscontrolleren. Det bruges primært med netværksgrænseflader med høj hastighed, såsom Gigabit Ethernet og 10 Gigabit Ethernet, for hvilke behandlingsomkostningerne for netværksstakken bliver vigtige.

Nogle NIC'er tilbyder integrerede feltprogrammerbare gate-arrays (FPGA'er) til brugerprogrammerbar behandling af netværkstrafik, før den når værtscomputeren, hvilket muliggør væsentligt reducerede latenstider i tidsfølsomme arbejdsbelastninger. Desuden tilbyder nogle NIC'er komplette TCP / IP-stakke med lav latens, der kører på integrerede FPGA'er i kombination med userpace- biblioteker, der opfanger netværksoperationer, der normalt udføres af operativsystemets kerne ; Solarflares open source OpenOnload- netværksstak, der kører på Linux, er et eksempel. Denne form for funktionalitet kaldes normalt netværk på brugerniveau .

Se også

Bemærkninger

Referencer

eksterne links