Сетевая плата

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
Сетевая плата (ISA) с разъёмами AUI (сверху справа) и BNC (снизу)
Сетевая плата 3Com 3CXFE575CT, установленная в ноутбук

Сетевая плата (в англоязычной среде NIC — англ. network interface controller), также известная как сетевая карта, сетевой адаптер (в терминологии компании Intel[1]), Ethernet-адаптер — по названию технологии — дополнительное устройство, позволяющее компьютеру взаимодействовать с другими устройствами сети. В настоящее время в персональных компьютерах и ноутбуках контроллер и компоненты, выполняющие функции сетевой платы, довольно часто интегрированы в материнские платы для удобства, в том числе унификации драйвера и удешевления всего компьютера в целом.

Типы

По конструктивной реализации сетевые платы делятся на:

На 10-мегабитных сетевых платах для подключения к локальной сети используются 4 типа разъёмов:

Эти разъёмы могут присутствовать в разных комбинациях, но в любой данный момент работает только один из них.

На 100-мегабитных платах устанавливают либо разъём для витой пары (8P8C, ошибочно называемый RJ-45[3]), либо оптический разъем (SC, ST, MIC[4]).

Рядом с разъёмом для витой пары устанавливают один или несколько информационных светодиодов, сообщающих о наличии подключения и передаче информации.

Одной из первых массовых сетевых карт стала серия NE1000/NE2000 фирмы Novell с разъемом BNC.

Параметры сетевого адаптера

При конфигурировании карты сетевого адаптера могут быть доступны следующие параметры:

  • номер линии запроса на аппаратное прерывание IRQ
  • номер канала прямого доступа к памяти DMA (если поддерживается)
  • базовый адрес ввода-вывода
  • базовый адрес памяти ОЗУ (если используется)
  • поддержка стандартов автосогласования дуплекса/полудуплекса, скорости[5][6]
  • поддержка тегированных пакетов VLAN (802.1q) с возможностью фильтрации пакетов заданного VLAN ID
  • параметры WOL (Wake-on-LAN)
  • функция Auto-MDI/MDI-X автоматический выбор режима работы по прямой либо перекрестной обжимке витой пары
  • MTU канального уровня

В зависимости от мощности и сложности сетевой карты она может реализовывать вычислительные функции (преимущественно подсчёт и генерацию контрольных сумм кадров) аппаратно либо программно (драйвером сетевой карты с использованием центрального процессора).

Серверные сетевые карты могут поставляться с двумя (и более) сетевыми разъёмами. Некоторые сетевые карты (встроенные в материнскую плату) также обеспечивают функции межсетевого экрана (например, nForce).

Функции и характеристики сетевых адаптеров

Сетевой адаптер (Network Interface Card (или Controller), NIC) вместе со своим драйвером реализует второй, канальный уровень модели открытых систем (OSI) в конечном узле сети — компьютере. Более точно, в сетевой операционной системе пара адаптер и драйвер выполняет только функции физического и MAC-уровней, в то время как LLC-уровень обычно реализуется модулем операционной системы, единым для всех драйверов и сетевых адаптеров. Собственно так оно и должно быть в соответствии с моделью стека протоколов IEEE 802. Например, в ОС Windows NT уровень LLC реализуется в модуле NDIS, общем для всех драйверов сетевых адаптеров, независимо от того, какую технологию поддерживает драйвер.

Сетевой адаптер совместно с драйвером выполняют две операции: передачу и приём кадра. Передача кадра из компьютера в кабель состоит из перечисленных ниже этапов (некоторые могут отсутствовать, в зависимости от принятых методов кодирования):

  • Приём кадра данных LLC через межуровневый интерфейс вместе с адресной информацией MAC-уровня. Обычно взаимодействие между протоколами внутри компьютера происходит через буферы, расположенные в оперативной памяти. Данные для передачи в сеть помещаются в эти буферы протоколами верхних уровней, которые извлекают их из дисковой памяти либо из файлового кэша с помощью подсистемы ввода-вывода операционной системы.
  • Оформление кадра данных MAC-уровня, в который инкапсулируется кадр LLC (с отброшенными флагами 01111110). Заполнение адресов назначения и источника, вычисление контрольной суммы.
  • Формирование символов кодов при использовании избыточных кодов типа 4В/5В. Скремблирование кодов для получения более равномерного спектра сигналов. Этот этап используется не во всех протоколах — например, технология Ethernet 10 Мбит/с обходится без него.
  • Выдача сигналов в кабель в соответствии с принятым линейным кодом — манчестерским, NRZI, MLT-3 и т. п.

Приём кадра из кабеля в компьютер включает следующие действия:

  • Приём из кабеля сигналов, кодирующих битовый поток.
  • Выделение сигналов на фоне шума. Эту операцию могут выполнять различные специализированные микросхемы или сигнальные процессоры DSP. В результате в приёмнике адаптера образуется некоторая битовая последовательность, с большой степенью вероятности совпадающая с той, которая была послана передатчиком.
  • Если данные перед отправкой в кабель подвергались скремблированию, то они пропускаются через дескремблер, после чего в адаптере восстанавливаются символы кода, посланные передатчиком.
  • Проверка контрольной суммы кадра. Если она неверна, то кадр отбрасывается, а через межуровневый интерфейс наверх, протоколу LLC передается соответствующий код ошибки. Если контрольная сумма верна, то из MAC-кадра извлекается кадр LLC и передается через межуровневый интерфейс наверх, протоколу LLC. Кадр LLC помещается в буфер оперативной памяти.

Распределение обязанностей между сетевым адаптером и его драйвером стандартами не определяется, поэтому каждый производитель решает этот вопрос самостоятельно. Обычно сетевые адаптеры делятся на адаптеры для клиентских компьютеров и адаптеры для серверов.

В адаптерах для клиентских компьютеров значительная часть работы перекладывается на драйвер, тем самым адаптер оказывается проще и дешевле. Недостатком такого подхода является высокая степень загрузки центрального процессора компьютера рутинными работами по передаче кадров из оперативной памяти компьютера в сеть. Центральный процессор вынужден заниматься этой работой вместо выполнения прикладных задач пользователя.

Поэтому адаптеры, предназначенные для серверов, обычно снабжаются собственными процессорами, которые самостоятельно выполняют большую часть работы по передаче кадров из оперативной памяти в сеть и в обратном направлении. Примером такого адаптера может служить сетевой адаптер SMC EtherPower со встроенным процессором Intel i960.

В зависимости от того, какой протокол реализует адаптер, адаптеры делятся на Ethernet-адаптеры, Token Ring-адаптеры, FDDI-адаптеры и т. д. Так как протокол Fast Ethernet позволяет за счет процедуры автопереговоров автоматически выбрать скорость работы сетевого адаптера в зависимости от возможностей концентратора, то многие адаптеры Ethernet сегодня поддерживают две скорости работы и имеют в своем названии приставку 10/100. Это свойство некоторые производители называют авточувствительностью.

Сетевой адаптер перед установкой в компьютер необходимо конфигурировать. При конфигурировании адаптера обычно задаются номер прерывания IRQ, используемого адаптером, номер канала прямого доступа к памяти DMA (если адаптер поддерживает режим DMA) и базовый адрес портов ввода-вывода.

Если сетевой адаптер, аппаратура компьютера и операционная система поддерживают стандарт Plug-and-Play, то конфигурирование адаптера и его драйвера осуществляется автоматически. В противном случае нужно сначала сконфигурировать сетевой адаптер, а затем повторить параметры его конфигурации для драйвера. В общем случае, детали процедуры конфигурирования сетевого адаптера и его драйвера во многом зависят от производителя адаптера, а также от возможностей шины, для которой разработан адаптер.

Если сетевой адаптер работает некорректно, может происходить флаппинг его порта.

Классификация сетевых адаптеров

В качестве примера классификации адаптеров используем подход фирмы 3Com. Фирма 3Com считает, что сетевые адаптеры Ethernet прошли в своем развитии 5 поколений.

Первое поколение

Адаптеры первого поколения были выполнены на дискретных логических микросхемах, в результате чего обладали низкой надежностью. Они имели буферную память только на один кадр, что приводило к низкой производительности адаптера, так как все кадры передавались из компьютера в сеть или из сети в компьютер последовательно. Кроме этого, задание конфигурации адаптера первого поколения происходило вручную, с помощью перемычек. Для каждого типа адаптеров использовался свой драйвер, причем интерфейс между драйвером и сетевой операционной системой не был стандартизирован.

Второе поколение

В сетевых адаптерах второго поколения для повышения производительности стали применять метод многокадровой буферизации. При этом следующий кадр загружается из памяти компьютера в буфер адаптера одновременно с передачей предыдущего кадра в сеть. В режиме приёма, после того как адаптер полностью принял один кадр, он может начать передавать этот кадр из буфера в память компьютера одновременно с приёмом другого кадра из сети.

В сетевых адаптерах второго поколения широко используются микросхемы с высокой степенью интеграции, что повышает надежность адаптеров. Кроме того, драйверы этих адаптеров основаны на стандартных спецификациях. Адаптеры второго поколения обычно поставляются с драйверами, работающими как в стандарте NDIS (спецификация интерфейса сетевого драйвера), разработанном фирмами 3Com и Microsoft и одобренном IBM, так и в стандарте ODI (интерфейс открытого драйвера), разработанном фирмой Novell.

Третье поколение

Микроконтроллер (интегрированной сетевой карты) Intel 82559

В сетевых адаптерах третьего поколения (к ним фирма 3Com относит свои адаптеры семейства EtherLink III) осуществляется конвейерная схема обработки кадров. Она заключается в том, что процессы приёма кадра из оперативной памяти компьютера и передачи его в сеть совмещаются во времени. Таким образом, после приёма нескольких первых байт кадра начинается их передача. Это существенно (на 25—55 %) повышает производительность цепочки «оперативная память — адаптер — физический канал — адаптер — оперативная память». Такая схема очень чувствительна к порогу начала передачи, то есть к количеству байт кадра, которое загружается в буфер адаптера перед началом передачи в сеть. Сетевой адаптер третьего поколения осуществляет самонастройку этого параметра путём анализа рабочей среды, а также методом расчета, без участия администратора сети. Самонастройка обеспечивает максимально возможную производительность для конкретного сочетания производительности внутренней шины компьютера, его системы прерываний и системы прямого доступа к памяти.

Адаптеры третьего поколения базируются на специализированных интегральных схемах (ASIC), что повышает производительность и надежность адаптера при одновременном снижении его стоимости. Компания 3Com назвала свою технологию конвейерной обработки кадров Parallel Tasking, другие компании также реализовали похожие схемы в своих адаптерах. Повышение производительности канала «адаптер-память» очень важно для повышения производительности сети в целом, так как производительность сложного маршрута обработки кадров, включающего, например, концентраторы, коммутаторы, маршрутизаторы, глобальные каналы связи и т. п., всегда определяется производительностью самого медленного элемента этого маршрута. Следовательно, если сетевой адаптер сервера или клиентского компьютера работает медленно, никакие быстрые коммутаторы не смогут повысить скорость работы сети.

Четвёртое поколение

Сетевые адаптеры Fast Ethernet можно отнести к четвёртому поколению. В эти адаптеры обязательно входит ASIC, выполняющая функции MAC-уровня (англ. MAC-PHY), скорость развита до 1 Гбит/сек, а также есть большое количество высокоуровневых функций. В набор таких функций может входить поддержка агента удаленного мониторинга RMON, схема приоритизации кадров, функции дистанционного управления компьютером и т. п. В серверных вариантах адаптеров почти обязательно наличие мощного процессора, разгружающего центральный процессор. Примером сетевого адаптера четвёртого поколения может служить адаптер компании 3Com Fast EtherLink XL 10/100.

Пятое поколение

Выпускаемые с 2006 года сетевые карты Gigabit Ethernet. Так же выпускаются домашние коммутаторы и маршрутизаторы для гигабитной связи. Поддерживают протоколы IPv6, цифровое телевидение и многое другое.

Шестое поколение

Терабитный Ethernet находится в стадии разработки для домашнего пользователя, но реально применяется интернет-провайдерами для осуществления связи.

Примечания

  1. Intel Ethernet Gigabit Server Adapters Архивная копия от 29 ноября 2014 на Wayback Machine (англ.)
  2. В настоящее время малоизвестные сетевые карты 10BASE, основанные на чипе RTL8002, например «SHI-TEC PE-NET/CT» с максимальной скоростью передачи данных до 1,5 Мбит/с
  3. Trulove, James (December 19, 2005). «Designing LAN Wiring Systems». LAN wiring (3rd ed.). McGraw-Hill Professional. p. 23. ISBN 0-07-145975-8. «The 8-pin modular jack is sometimes referred to as an „RJ-45,“ because the connector/jack components are the same. However, RJ-45 actually applies to a special purpose jack configuration that is not used in LAN or standard telephone wiring.»
  4. «Embedded ethernet and internet complete: designing and programming small devices for networking» Архивная копия от 7 января 2012 на Wayback Machine ISBN 1-931448-00-0 Page 74
  5. Подробная статья об автосогласовании в Ethernet Архивная копия от 19 января 2020 на Wayback Machine (англ.)
  6. Объяснение автосогласования скорости от Huawei Архивная копия от 30 декабря 2019 на Wayback Machine (англ.)

Ссылки