Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Network interface controller

From Wikipedia, the free encyclopedia
Hardware component that connects a computer to a network
"Network card" redirects here. For the British Rail discount card, seeNetwork Railcard.
Network interface controller
A 1990sEthernet network interface card that connects to the motherboard via the now-obsoleteISA bus. This combination card features both aBNC connector (left) for use in (now obsolete)10BASE2 networks and an8P8C connector (right) for use in10BASE-T networks.
Connects toMotherboard via one of:

Network via one of:

Speeds
Common manufacturers

Anetwork interface controller (NIC, also known as anetwork interface card,[3]network adapter,LAN adapter andphysical network interface[4]) is acomputer hardware component that connects acomputer to acomputer network.[5]

Early network interface controllers were commonly implemented onexpansion cards that plugged into acomputer bus. The low cost and ubiquity of theEthernet standard means that most newer computers have a network interface controller built into themotherboard or contained in aUSB-connecteddongle, although network cards remain available.

Modern network interface controllers offer advanced features such asinterrupt andDMA interfaces to the host processors, support for multiple receive and transmit queues, partitioning into multiple logical interfaces, and on-controller network traffic processing such as theTCP offload engine.

Purpose

[edit]

The network controller implements the electronic circuitry required to communicate using a specificphysical layer anddata link layer standard such asEthernet orWi-Fi.[a] This provides a base for a full networkprotocol stack, allowing communication among computers on the samelocal area network (LAN) and large-scale network communications through routable protocols, such asInternet Protocol (IP).

The NIC allows computers to communicate over a computer network, either by using cables or wirelessly. The NIC is both a physical layer and data link layer device, as it provides physical access to a networking medium and, forIEEE 802 and similar networks, provides a low-level addressing system through the use ofMAC addresses that are uniquely assigned to network interfaces.

Implementation

[edit]
12 early ISA 8 bit and 16 bit PC network cards. The lower right-most card is an early wireless network card, and the central card with partial beige plastic cover is a PSTNmodem.
Intel Ophir 82571 dual-port Gigabit Ethernet controllerdie

Network controllers were originally implemented as expansion cards that plugged into a computer bus. The low cost and ubiquity of the Ethernet standard means that most new computers have a network interface controller built into the motherboard, and that method is called LAN on motherboard (LOM). Newerserver motherboards may have multiple network interfaces built in. The Ethernet capabilities are eitherintegrated into the motherboardchipset or implemented via a low-cost dedicated Ethernet chip. A separate network card is typically no longer required unless additional independent network connections are needed or some non-Ethernet type of network is used. A general trend in computer hardware is towardsintegrating the various components of systems on a chip, and this is also applied to network interface cards.

An Ethernet network controller typically has an8P8C socket where the network cable is connected. Older NICs also suppliedBNC, orAUI connections. Ethernet network controllers typically support10 Mbit/s Ethernet,100 Mbit/s Ethernet, and1000 Mbit/s Ethernet varieties. Such controllers are designated as10/100/1000, meaning that they can support data rates of 10, 100 or1000 Mbit/s.10 Gigabit Ethernet NICs are also available, and, as of November 2014[update], are beginning to be available oncomputer motherboards.[6][7]

AQlogic QLE3442-CU SFP+ dual-port NIC

Modular designs likeSFP and SFP+ are highly popular, especially forfiber-optic communication. These define a standard receptacle for media-dependent transceivers, so users can easily adapt the network interface to their needs.

LEDs adjacent to or integrated into the network connector inform the user of whether the network is connected, and when data activity occurs.

The NIC may includeROM to store its factory-assignedMAC address.[8]

The NIC may use one or more of the following techniques to indicate the availability of packets to transfer:

  • Polling is where theCPU examines the status of theperipheral under program control.
  • Interrupt-driven I/O is where the peripheral alerts the CPU that it is ready to transfer data.

NICs may use one or more of the following techniques to transfer packet data:

  • Programmed input/output, where the CPU moves the data to or from the NIC to memory.
  • Direct memory access (DMA), where a device other than the CPU assumes control of thesystem bus to move data to or from the NIC to memory. This removes load from the CPU but requires more logic on the card. In addition, a packet buffer on the NIC may not be required, andlatency can be reduced.

Performance and advanced functionality

[edit]
AnAsynchronous Transfer Mode (ATM) network interface
Intel 82574LGigabit Ethernet NIC, a PCI Express ×1 card, which provides two hardware receive queues[9]

Multiqueue NICs provide multiple transmit and receivequeues, allowing packets received by the NIC to be assigned to one of its receive queues. The NIC may distribute incoming traffic between the receive queues using ahash function. Each receive queue is assigned to a separateinterrupt; by routing each of those interrupts to differentCPUs orCPU cores, processing of the interrupt requests triggered by the network traffic received by a single NIC can be distributed, improving performance.[10][11]

The hardware-based distribution of the interrupts, described above, is referred to asreceive-side scaling (RSS).[12]: 82  Purely software implementations also exist, such as thereceive packet steering (RPS),receive flow steering (RFS),[10] andIntelFlow Director.[12]: 98, 99 [13][14][15] Further performance improvements can be achieved by routing the interrupt requests to the CPUs or cores executing the applications that are the ultimate destinations fornetwork packets that generated the interrupts. This technique improveslocality of reference and results in higher overall performance, reduced latency and better hardware utilization because of the higher utilization ofCPU caches and fewer requiredcontext switches.

With multi-queue NICs, additional performance improvements can be achieved by distributing outgoing traffic among different transmit queues. By assigning different transmit queues to different CPUs or CPU cores, internal operating system contentions can be avoided. This approach is usually referred to astransmit packet steering (XPS).[10]

Some products featureNIC partitioning (NPAR, also known asport partitioning) that usesSR-IOV virtualization to divide a single 10 Gigabit Ethernet NIC into multiple discrete virtual NICs with dedicated bandwidth, which are presented to the firmware and operating system as separatePCI device functions.[3][16]

Some NICs provide aTCP offload engine to offload processing of the entireTCP/IP stack to the network controller. It is primarily used with high-speed network interfaces, such as Gigabit Ethernet and 10 Gigabit Ethernet, for which the processing overhead of the network stack becomes significant.[17]

Some NICs offer integratedfield-programmable gate arrays (FPGAs) for user-programmable processing of network traffic before it reaches the host computer, allowing for significantly reducedlatencies in time-sensitive workloads.[18] Moreover, some NICs offer complete low-latencyTCP/IP stacks running on integrated FPGAs in combination withuserspace libraries that intercept networking operations usually performed by theoperating system kernel; Solarflare's open-sourceOpenOnload network stack that runs onLinux is an example. This kind of functionality is usually referred to asuser-level networking.[19][20][21]

See also

[edit]

Notes

[edit]
  1. ^Although other network technologies exist, Ethernet (IEEE 802.3) and Wi-Fi (IEEE 802.11) have achieved near-ubiquity as LAN technologies since the mid-1990s.

References

[edit]
  1. ^"Port speed and duplex mode configuration".docs.ruckuswireless.com. Retrieved2020-09-25.
  2. ^Admin, Arista (2020-04-23)."Section 11.2: Ethernet Standards - Arista".Arista Networks. Retrieved2020-09-28.
  3. ^ab"Enhancing Scalability Through Network Interface Card Partitioning"(PDF).Dell. April 2011. RetrievedMay 12, 2014.
  4. ^"Physical Network Interface".Microsoft. January 7, 2009.
  5. ^Posey, Brien M. (2006)."Networking Basics: Part 1 - Networking Hardware".Windowsnetworking.com. TechGenix Ltd. Retrieved2012-06-09.
  6. ^Jim O'Reilly (2014-01-22)."Will 2014 Be The Year Of 10 Gigabit Ethernet?". Network Computing. Archived fromthe original on 2015-05-10. Retrieved2015-04-29.
  7. ^"Breaking Speed Limits with ASRock X99 WS-E/10G and Intel 10G BASE-T LANs".asrock.com. 24 November 2014. Retrieved19 May 2015.
  8. ^John Savill (Nov 12, 2000)."How can I change a network adapter card's MAC address?". Retrieved2023-11-06.
  9. ^"Intel 82574 Gigabit Ethernet Controller Family Datasheet"(PDF).Intel. June 2014. p. 1. RetrievedNovember 16, 2014.
  10. ^abcTom Herbert; Willem de Bruijn (May 9, 2014)."Linux kernel documentation: Documentation/networking/scaling.txt".kernel.org. RetrievedNovember 16, 2014.
  11. ^"Intel Ethernet Controller i210 Family Product Brief"(PDF).Intel. 2012. RetrievedNovember 16, 2014.
  12. ^ab"Intel Look Inside: Intel Ethernet"(PDF).Xeon E5 v3 (Grantley) Launch.Intel. November 27, 2014. Archived fromthe original(PDF) on March 26, 2015. RetrievedMarch 26, 2015.
  13. ^"Linux kernel documentation: Documentation/networking/ixgbe.txt".kernel.org. December 15, 2014. RetrievedMarch 26, 2015.
  14. ^"Intel Ethernet Flow Director".Intel. February 16, 2015. RetrievedMarch 26, 2015.
  15. ^"Introduction to Intel Ethernet Flow Director and Memcached Performance"(PDF).Intel. October 14, 2014. RetrievedOctober 11, 2015.
  16. ^Patrick Kutch; Brian Johnson; Greg Rose (September 2011)."An Introduction to Intel Flexible Port Partitioning Using SR-IOV Technology"(PDF).Intel. RetrievedSeptember 24, 2015.
  17. ^Jonathan Corbet (August 1, 2007)."Large receive offload".LWN.net. RetrievedMay 2, 2015.
  18. ^"High Performance Solutions for Cyber Security".New Wave Design & Verification. New Wave DV.
  19. ^Timothy Prickett Morgan (2012-02-08)."Solarflare turns network adapters into servers: When a CPU just isn't fast enough".The Register. Retrieved2014-05-08.
  20. ^"OpenOnload".openonload.org. 2013-12-03. Retrieved2014-05-08.
  21. ^Steve Pope; David Riddoch (2008-03-21)."OpenOnload: A user-level network stack"(PDF).openonload.org. Archived fromthe original(PDF) on 2014-07-24. Retrieved2014-05-08.

External links

[edit]
Input devices
Pointing devices
Other
Output devices
Removable
data storage
Computer case
Ports
Current
Obsolete
Related
Retrieved from "https://en.wikipedia.org/w/index.php?title=Network_interface_controller&oldid=1337471635"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp