Software → Computer Networks
Network Interface Card
A hardware or virtual interface that allows a computer to connect to a network.
Motivation
A network interface card gives a computer a concrete way to send and receive network traffic. Software can create sockets and packets, but the machine still needs an interface that connects those abstractions to a physical or virtual network.
Where it fits
Network Interface Card belongs to the software track in the computer networks layer. It is close to hardware, but it matters to software engineers because networking bugs often involve the boundary between operating system, driver, interface, and network.
Mental model
Think of a NIC as the computer’s network port. In physical machines it may be an Ethernet or Wi-Fi adapter. In cloud and virtual environments it may be a virtual network interface, but it still plays the same role: it is the endpoint through which packets enter and leave the machine.
Example in practice
A server may have multiple network interfaces: one for public traffic, one for private service-to-service traffic, and one for management. Operations and networking teams use those interfaces to control routing, security groups, and bandwidth.
Common mistakes
- Thinking networking is only software-level sockets and ignoring the interface underneath.
- Confusing a network interface with an IP address; an interface may have zero, one, or many addresses.
- Forgetting that virtual machines and containers can have virtual network interfaces too.