Сетевой адаптер (Network Interface Card, NIC) (с драйвером) реализуют физический уровень и подуровень MAC канального уровня.
Основные функции сетевого адаптера – это передача и прием кадров между компьютером и средой передачи (кабелем).
Передача кадра в кабель состоит из следующих этапов:
- прием через интерфейс LLC-кадру и адресной информации (через общие области памяти);
- оформление MAC-кадру (отбрасывание флажков, заполнения адресов, вычисления CRC);
- логическая кодировка (при использовании избыточных кодов – 4B/5B, 8B/6T, др.) – если есть необходимость;
- выдача сигнала в кабель с использованием физического кода (манчестерский, NRZI,MLT-3, др.).
Прием кадра из кабеля:
- прием сигналов;
- выделение сигналу из шума (выделение битовой последовательности);
- логическое декодирование (если оно используется);
- проверка CRC; если ошибка, то кадр отбрасывается, иначе вытягивается LLC-кадр и передается LLC-подуровню (через общую область памяти).
Распределение обязанностей между сетевым адаптером и его драйвером стандартами не определяется, потому каждый производитель решает этот вопрос самостоятельно. Обычно сетевые адаптеры делятся на адаптеры для клиентских компьютеров и адаптеры для серверов.
Рабочие станции обычно оснащаются больше простыми адаптерами, основную работу при этом выполняет драйвер. Недостатком такого подхода является высокая степень загрузки центрального процессора компьютера рутинными работами из передачи кадров из оперативной памяти компьютера в сеть.
Для серверов разрабатываются более интеллектуальные адаптеры, со встроенными процессорами и тому подобное.