Skip to content
Search

Network interface controller

lastmod 2022-03-02created 2022-03-023 edits

A network interface controller (NIC) is a hardware device used to connect a computer to a network for communication. It is called a network card, LAN card (North Korean standard language: mangkadeu, manggipan, LAN card), or physical network interface, and is also known as a network interface card, network adapter, network card, Ethernet card, and so on.

It has OSI layer 1 (physical layer) and layer 2 (data link layer) devices; it provides a low-level addressing system using MAC addresses and enables physical access to the network medium. Users can access the network by connecting a cable or connecting wirelessly.

There have been no cases of "two cards" sharing the same address. This is based on the IEEE standard, which is responsible for assigning unique MAC addresses to manufacturers of network interface controllers.

Marvell, Intel, Realtek, and others are well known as network card manufacturers.

Connection types

Network interface controllers used to be installed separately as expansion cards, but nowadays they are usually built into the motherboard.

  • By motherboard
    • Integrated (usually wired, though some have built-in wireless)
    • PCI connector
    • ISA connector (no longer used)
    • PCI Express
  • USB
  • By network
    • Fast Ethernet
    • Gigabit Ethernet
    • Optical fiber
    • Token Ring

Speed

Speeds are commonly divided into 10/100/1000.

  • 10 megabits per second
  • 100 megabits per second
  • 1000 megabits per second
  • Up to 160 gigabits per second

How to list network cards

Python

import os
os.listdir('/sys/class/net/')

If you have psutil:

import psutil
addrs = psutil.net_if_addrs()
print(addrs.keys())

socket module in Python >= 3.3:

import socket
socket.if_nameindex()

See also

Favorite site

author Zer0 sitemap