En Ethernet-controller er en netværksinterfaceenhed, der forbinder en enhed til et Ethernet-netværk. Det er et integreret kredsløb, der giver fysiske lag- og datalink-lagfunktioner til kablet Ethernet-kommunikation, hvilket gør det muligt for enheder som computere, servere og netværksswitches at kommunikere med hinanden via et Ethernet-netværk.
Ethernet-controlleren er ansvarlig for indkodning og afkodning af data til Ethernet-rammer i henhold til Ethernet-protokollen, styring af pakketransmission og -modtagelse og sikring af pålidelig kommunikation på netværket. Den udfører opgaver såsom fejldetektion, flowkontrol, kollisionsdetektion og -forebyggelse og dataframing.
Ethernet-controllere er typisk implementeret i hardware, men kan også implementeres i software. De er integreret direkte i bundkortet på enheder som computere eller er implementeret som selvstændige udvidelseskort, der kan føjes til en enhed for at give Ethernet-forbindelse.
For at etablere en kablet forbindelse er Ethernet-controlleren forbundet til en Ethernet-port eller et stik på enheden, som normalt er et RJ-45-stik til parsnoede kabler. Når den fysiske forbindelse er etableret, initialiserer Ethernet-controlleren og etablerer forbindelsen, forhandler transmissionshastigheden (f.eks. 10 Mbps, 100 Mbps eller gigabit-hastigheder) og duplekstilstand (halv-duplex eller fuld-duplex) og håndterer dataene overførsel i overensstemmelse med Ethernet-standarderne.
Ethernet-controllere understøtter forskellige standarder og protokoller, herunder IEEE 802.3 Ethernet, Fast Ethernet, Gigabit Ethernet og nogle gange endda multi-gigabit Ethernet. De understøtter muligvis også avancerede funktioner såsom jumborammer, virtuelle LAN'er (VLAN'er), Quality of Service (QoS) og energieffektivt Ethernet (EEE).