Сетевой адаптер (Network Interface Card, NIC) вместе со своим драйвером реализует канальный уровень модели OSI в конечном узле сети — компьютере. В сетевой операционной системе пара адаптер и драйвер выполняют только функции физического и МАС-уровней, в то время как LLC-уровень обычно реализуется модулем операционной системы, единым для всех драйверов и сетевых адаптеров. Сетевой адаптер совместно с драйвером выполняют две операции: передачу и приём кадра.
Передача кадра из компьютера в кабель состоит в следующем:
1. Приём кадра данных LLC через межуровневый интерфейс вместе с адресной информацией МАС-уровня. Обычно взаимодействие между протоколами внутри компьютера происходит через буферы, расположенные в оперативной памяти. Данные для передачи в сеть помещаются в них протоколами верхних уровней, которые извлекают их из дисковой памяти либо из файлового кэша с помощью подсистемы ввода/вывода операционной системы.
2. Оформление кадра данных МАС-уровня, в который инкапсулируется кадр LLC (с отброшенными флагами 01111110). Заполнение адресов назначения и источника, вычисление контрольной суммы.
3. Формирование символов кодов при использовании избыточных кодов типа 4В/5В. Скрэмблирование кодов для получения более равномерного спектра сигналов. Этот этап используется не во всех протоколах ? например, Ethernet 10 Мбит/с обходится без него.
4. Выдача сигналов в кабель в соответствии с принятым линейным кодом — манчестерским, NRZI, MLT-3 и т.п.
Приём кадра из кабеля в компьютер включает следующие действия.
1. Приём из кабеля сигналов, кодирующих битовый поток.
2. Выделение сигналов на фоне шума. Эту операцию выполняют сигнальные процессоры DSP. В результате в приёмнике адаптера образуется некоторая битовая последовательность, с большой степенью вероятности совпадающая с той, которая была послана передатчиком.
3. Если данные перед отправкой в кабель подвергались скрэмблированию, то они пропускаются через дескрэмблер, после чего в адаптере восстанавливаются символы кода, посланные передатчиком.
4. Проверка контрольной суммы кадра. Если она неверна, то кадр отбрасывается, а через межуровневый интерфейс наверх, протоколу LLCпередаётся соответствующий код ошибки. Если контрольная сумма верна, то из МАС-кадра извлекается кадр LLC и передаётся через межуровневый интерфейс наверх, протоколу LLC. Кадр LLC помещается в буфер оперативной памяти.
Распределение обязанностей между сетевым адаптером и его драйвером стандартами не определяется. Обычно сетевые адаптеры делятся на адаптеры для клиентских компьютеров и для серверов.
В адаптерах для клиентских компьютеров значительная часть работы перекладывается на драйвер, тем самым адаптер оказывается проще и дешевле. Недостатком такого подхода является высокая степень загрузки центрального процессора рутинными работами по передаче кадров из оперативной памяти компьютера в сеть. Поэтому адаптеры предназначенные для серверов, обычно снабжаются собственными процессорами, которые самостоятельно выполняют большую часть работы по передаче кадров в сеть и обратно.
В зависимости от того, какой протокол реализует адаптер, они делятся по протокольному признаку. Так как протокол Fast Ethernet позволяет за счёт процедуры автопереговоров автоматически выбрать скорость работы сетевого адаптера в зависимости от возможностей концентратора, то многие адаптеры Ethernet поддерживают две скорости работы и имеют обозначение 10/100. Сетевой адаптер перед установкой в компьютер необходимо конфигурировать. При конфигурации адаптера обычно задаются номер прерывания IRQ, номер канала прямого доступа к памяти DMA и базовый адрес портов ввода/вывода.