Definition

A Network Interface Controller (NIC) is a hardware component that connects a computer or device to a network. It is also known as a Network Interface Card (NIC), Network Interface Device (NID), or Local Area Network (LAN) adapter.

The NIC is responsible for physical addressing, media access control and for providing a link to the data link layer protocols. It also provides error detection and correction and packet formation/decapsulation.

The NIC typically has a connector, such as an RJ-45 jack, for attaching a cable to the network and an integrated transmitter and receiver for sending and receiving data. NICs can be built into a computer's motherboard or be added as an expansion card.

There are different types of NICs available, such as Ethernet NICs, which connect to Ethernet networks and support the Ethernet protocol, and wireless NICs, which connect to wireless networks and support the 802.11 (Wi-Fi) protocol.

A NIC can have multiple functions such as a built-in switch, firewall and VPN support. It is an important component of the network stack, connecting devices to the communication channel and enabling communication between nodes. It is the bridge between the network and the host system. The NIC is responsible for the physical transmission and reception of data on the network. It is also responsible for converting data between the physical layer and the data link layer of the OSI model.

Components of NIC

The components of a Network Interface Controller (NIC) typically include:

Media Access Control (MAC) address

A unique hardware address assigned to the NIC that is used to identify it on the network.

Transceiver

The transceiver is responsible for sending and receiving data over the network. It includes the physical connector, such as an RJ-45 jack, for attaching a cable to the network and an integrated transmitter and receiver for sending and receiving data.

Buffers

The NIC uses buffers to temporarily store data as it is being transmitted or received.

DMA controller

Direct Memory Access (DMA) controller is a hardware component that allows the NIC to transfer data directly to and from the main memory of the computer, bypassing the CPU.

A DMA (Direct Memory Access) controller is a hardware component that allows devices to access system memory directly, without the involvement of the CPU. It allows data to be transferred between peripherals and memory without the need for the CPU to be involved in each transfer. This can significantly increase the speed and efficiency of data transfer, as the CPU is freed up to perform other tasks. DMA controllers are commonly used in computer systems, embedded systems, and industrial automation systems. They can be found in devices such as hard drives, network interfaces, and graphics cards.

Interrupt controller

The interrupt controller is responsible for generating interrupt signals to the CPU to indicate that data has been received or transmitted.