Сетевой адаптер - это основной компонент локальной сети. Минимальный набор аппаратуры, которой надо оснастить компьютеры для объединения их в сеть, включает в себя адаптеры (как минимум по одному на каждый компьютер) и соединительные кабели с соответствующими разъемами и оконечными согласователями. Остальное оборудование сети служит для улучшения ее характеристик, а также для повышения удобства ее использования.
Сетевые адаптеры (рис. 1) обеспечивают сопряжение компьютера и среды передачи информации с учетом принятого в данной сети протокола обмена информацией. Адаптер должен выполнять ряд функций, количество и суть которых во многом зависят от типа конкретной сети. Все функции сетевого адаптера можно разделить на две большие группы. Первая группа включает в себя функции сопряжения адаптера с компьютером (магистральные функции), а вторая - функции по организации обмена в сети (сетевые функции). Функции первой группы определяются интерфейсом компьютера, к которому подключается сетевой адаптер, и не отличаются большим разнообразием. Функции второй группы определяются типом сети и могут быть самыми различными в зависимости от типа сетевого кабеля, принятого протокола управления, топологии сети и т.д.
Магистральные (канальные, шинные) функции сетевых адаптеров обеспечивают организацию их сопряжения с одной из локальных шин системного интерфейса персонального компьютера. Для процессора сетевой адаптер это обычный контроллер, соответствующий определенным стандартам, в котором имеется ряд прогрмммно-доступных регистров, каждый из которых имеет свое функциональное назначение. Процессор управляет любым контроллером через его программно-доступные регистры, записывая и читая информацию с помощью команд IN, OUT, INS, OUTS. Сетевой адаптер, как любой другой контроллер имеет свой набор команд. Получив от процессора, выполняющего программу сетевого взаимодействия, команду (через программно-доступный регистр или регистры), контроллер отрабатывает команду автономно, реализуя, в том числе, функции обмена по сетевому кабелю с другим сетевым адаптером или несколькими сетевыми адаптерами. Команда может вызвать в сетевом адаптере выполнение очень сложных преобразований информации по программам, выполняемым специализированным процессором, встроенным в сетевой адаптер. Кроме того, он может выполнять ряд вспомогательных аппаратных функций инициируемых аппаратными сигналами или записью управляющей информации в его программно-доступный регистр, формировать сигнал запроса на обслуживание (прерывание). Некоторые сетевые адаптеры имеют в своем составе аппаратуру, позволяющую ему выполнять функции устройства, инициирующего операцию обмена на интерфейсе (Master).
Данные передаются из памяти компьютера в сетевой адаптер или из адаптера в память с помощью прямого доступа к памяти, или совместно используемой области памяти или программируемого ввода-вывода.
К сетевым функциям адаптеров, относят функции, которые обеспечивают реализацию принятого в сети протокола обмена. Часть этих функций может выполняться как аппаратурой адаптера, так и программным обеспечением персонального компьютера (перенос части функций на программные средства позволяет упростить аппаратуру адаптера и существенно увеличить гибкость обмена, но ценой замедления работы). Некоторые сетевые функции обязательно должны выполняться аппаратурой сетевого адаптера. К основным сетевым функциям адаптера, относя нижеследующие функции:
Иногда в состав адаптера включаются узлы для самоконтроля и самодиагностики, позволяющие проверить его работоспособность даже без подключения к сети.
Первая и вторая функции всегда реализуются аппаратно, а третья и четвертая для медленных сетей, в принципе, могут выполняться программно, но в быстродействующих сетях они, как правило, тоже реализуются аппаратно. Остальные функции также очень часто возлагаются на аппаратуру с целью повышения скорости обмена. Более того, аппаратно иногда выполняются и функции более высоких уровней, например, операции по обслуживанию виртуальных каналов. Но в ряде случаев быстродействие современных персональных компьютеров позволяет без особого снижения производительности реализовать их программно и упростить аппаратуру адаптера, повысив при этом ее надежность и снизив стоимость и энергопотребление.
Рис. 1. PCIe Gigabit Ethernet контроллер.