stringtranslate.com

Контроллер сетевого интерфейса

Контроллер сетевого интерфейса ( NIC , также известный как сетевая интерфейсная карта , [3] сетевой адаптер , адаптер локальной сети и физический сетевой интерфейс [4] ) — это компонент компьютерного оборудования , который подключает компьютер к компьютерной сети . [5]

Ранние контроллеры сетевых интерфейсов обычно реализовывались на картах расширения , которые подключались к компьютерной шине . Низкая стоимость и повсеместность стандарта Ethernet означает, что большинство новых компьютеров имеют сетевой интерфейс, встроенный в материнскую плату , или заключенный в USB - ключ .

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

Цель

Сетевой контроллер реализует электронную схему, необходимую для связи с использованием определенного физического уровня и стандарта канального уровня, такого как Ethernet или Wi-Fi . [a] Это обеспечивает основу для полного стека сетевых протоколов , позволяя осуществлять связь между компьютерами в одной локальной сети (LAN) и крупномасштабные сетевые коммуникации через маршрутизируемые протоколы, такие как протокол Интернета (IP).

Сетевая карта позволяет компьютерам общаться через компьютерную сеть, используя кабели или беспроводным способом. Сетевая карта является как устройством физического уровня, так и устройством канального уровня, поскольку она обеспечивает физический доступ к сетевой среде и, для сетей IEEE 802 и подобных сетей, обеспечивает низкоуровневую систему адресации посредством использования MAC-адресов , которые уникальным образом назначаются сетевым интерфейсам.

Выполнение

12 ранних сетевых карт ISA 8 бит и 16 бит для ПК. Самая нижняя правая карта — это ранняя беспроводная сетевая карта, а центральная карта с частично бежевой пластиковой крышкой — это модем PSTN .
Двухпортовый гигабитный сетевой контроллер Intel Ophir 82571

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

Сетевой контроллер Ethernet обычно имеет гнездо 8P8C , к которому подключается сетевой кабель. Более старые сетевые платы также поставлялись с разъемами  BNC или AUI . Сетевые контроллеры Ethernet обычно поддерживают разновидности Ethernet 10 Мбит/с , Ethernet 100 Мбит/с и Ethernet 1000 Мбит/с . Такие контроллеры обозначаются как 10/100/1000 , что означает, что они могут поддерживать скорость передачи данных 10, 100 или 1000 Мбит/с. Также доступны сетевые платы Ethernet 10 Gigabit , и с ноября 2014 года они начинают появляться на материнских платах компьютеров . [6] [7]

Двухпортовая сетевая карта Qlogic QLE3442-CU SFP +

Модульные конструкции, такие как SFP и SFP+, очень популярны, особенно для оптоволоконной связи . Они определяют стандартный разъем для медиазависимых трансиверов, поэтому пользователи могут легко адаптировать сетевой интерфейс к своим потребностям.

Светодиоды , расположенные рядом с сетевым разъемом или встроенные в него, информируют пользователя о том, подключена ли сеть, а также о том, происходит ли передача данных.

Сетевая карта может включать в себя ПЗУ для хранения назначенного на заводе MAC-адреса . [8]

Сетевая карта может использовать один или несколько из следующих методов для указания доступности пакетов для передачи:

Сетевые карты могут использовать один или несколько из следующих методов для передачи пакетных данных:

Производительность и расширенная функциональность

Сетевой интерфейс асинхронного режима передачи (ATM)
Intel 82574L Gigabit Ethernet NIC, карта PCI Express ×1, которая обеспечивает две аппаратные очереди приема [9]

Сетевые карты с несколькими очередями предоставляют несколько очередей передачи и приема , что позволяет назначать пакеты, полученные сетевой картой, одной из ее очередей приема. Сетевая карта может распределять входящий трафик между очередями приема с помощью хэш-функции . Каждая очередь приема назначается отдельному прерыванию ; путем маршрутизации каждого из этих прерываний на разные ЦП или ядра ЦП обработка запросов на прерывание, вызванных сетевым трафиком, полученным одной сетевой картой, может быть распределена, что повышает производительность. [10] [11]

Аппаратное распределение прерываний, описанное выше, называется масштабированием на стороне приема (RSS). [12] : 82  Существуют также чисто программные реализации, такие как управление пакетами приема (RPS), управление потоком приема (RFS), [10] и Intel Flow Director . [12] : 98, 99  [13] [14] [15] Дальнейшее повышение производительности может быть достигнуто путем маршрутизации запросов прерываний на ЦП или ядра, выполняющие приложения, которые являются конечными пунктами назначения для сетевых пакетов , сгенерировавших прерывания. Этот метод улучшает локальность ссылок и приводит к более высокой общей производительности, уменьшению задержки и лучшему использованию оборудования из-за более высокого использования кэшей ЦП и меньшего количества требуемых переключений контекста .

С многоочередными сетевыми картами можно добиться дополнительных улучшений производительности, распределяя исходящий трафик между различными очередями передачи. Назначая различные очереди передачи различным ЦП или ядрам ЦП, можно избежать внутренних конфликтов операционной системы. Этот подход обычно называют управлением пакетами передачи (XPS). [10]

Некоторые продукты поддерживают функцию разделения сетевых карт ( NPAR , также известную как разделение портов ), которая использует виртуализацию SR-IOV для разделения одной сетевой карты 10 Gigabit Ethernet на несколько дискретных виртуальных сетевых карт с выделенной полосой пропускания, которые представлены прошивке и операционной системе как отдельные функции устройства PCI . [3] [16]

Некоторые сетевые карты предоставляют механизм разгрузки TCP для разгрузки обработки всего стека TCP/IP на сетевой контроллер. Он в основном используется с высокоскоростными сетевыми интерфейсами, такими как Gigabit Ethernet и 10 Gigabit Ethernet, для которых накладные расходы на обработку сетевого стека становятся значительными. [17]

Некоторые сетевые карты предлагают интегрированные программируемые пользователем вентильные матрицы (FPGA) для программируемой пользователем обработки сетевого трафика до того, как он достигнет хост-компьютера, что позволяет значительно сократить задержки в рабочих нагрузках, чувствительных ко времени. [18] Более того, некоторые сетевые карты предлагают полные стеки TCP/IP с низкой задержкой , работающие на интегрированных FPGA в сочетании с библиотеками пользовательского пространства , которые перехватывают сетевые операции, обычно выполняемые ядром операционной системы ; примером является сетевой стек OpenOnload с открытым исходным кодом Solarflare , работающий на Linux . Этот вид функциональности обычно называют сетевым взаимодействием на уровне пользователя . [19] [20] [21]

Смотрите также

Примечания

  1. ^ Хотя существуют и другие сетевые технологии, Ethernet ( IEEE 802.3 ) и Wi-Fi ( IEEE 802.11 ) достигли практически повсеместного распространения в качестве технологий локальных сетей с середины 1990-х годов.

Ссылки

  1. ^ "Конфигурация скорости порта и дуплексного режима". docs.ruckuswireless.com . Получено 25.09.2020 .
  2. ^ Администратор, Arista (2020-04-23). ​​"Раздел 11.2: Стандарты Ethernet - Arista". Arista Networks . Получено 2020-09-28 .
  3. ^ ab "Улучшение масштабируемости с помощью разбиения сетевой карты" (PDF) . Dell . Апрель 2011 г. . Получено 12 мая 2014 г. .
  4. ^ "Физический сетевой интерфейс". Microsoft . 7 января 2009 г.
  5. ^ Posey, Brien M. (2006). «Основы сетей: Часть 1 — Сетевое оборудование». Windowsnetworking.com . TechGenix Ltd . Получено 09.06.2012 .
  6. ^ Джим О'Рейли (22.01.2014). «Будет ли 2014 год годом 10-гигабитного Ethernet?». Сетевые вычисления . Получено 29.04.2015 .
  7. ^ "Преодоление ограничений скорости с ASRock X99 WS-E/10G и Intel 10G BASE-T LAN". asrock.com . 24 ноября 2014 г. . Получено 19 мая 2015 г. .
  8. ^ Джон Сэвилл (12 ноября 2000 г.). «Как изменить MAC-адрес сетевой карты?» . Получено 06.11.2023 .
  9. ^ "Intel 82574 Gigabit Ethernet Controller Family Datasheet" (PDF) . Intel . Июнь 2014. стр. 1 . Получено 16 ноября 2014 г. .
  10. ^ abc Том Герберт; Виллем де Брейн (9 мая 2014 г.). «Документация по ядру Linux: Documentation/networking/scaling.txt». ядро.org . Проверено 16 ноября 2014 г.
  11. ^ "Краткое описание семейства сетевых контроллеров Intel Ethernet i210" (PDF) . Intel . 2012 . Получено 16 ноября 2014 .
  12. ^ ab "Intel Look Inside: Intel Ethernet" (PDF) . Xeon E5 v3 (Grantley) Launch . Intel . 27 ноября 2014 г. Архивировано из оригинала (PDF) 26 марта 2015 г. . Получено 26 марта 2015 г. .
  13. ^ "Документация ядра Linux: Documentation/networking/ixgbe.txt". kernel.org . 15 декабря 2014 г. . Получено 26 марта 2015 г. .
  14. ^ "Intel Ethernet Flow Director". Intel . 16 февраля 2015 г. Получено 26 марта 2015 г.
  15. ^ "Введение в Intel Ethernet Flow Director и производительность Memcached" (PDF) . Intel . 14 октября 2014 г. . Получено 11 октября 2015 г. .
  16. ^ Патрик Кутч; Брайан Джонсон; Грег Роуз (сентябрь 2011 г.). «Введение в гибкое разбиение портов Intel с использованием технологии SR-IOV» (PDF) . Intel . Получено 24 сентября 2015 г. .
  17. Jonathan Corbet (1 августа 2007 г.). "Большая разгрузка приема". LWN.net . Получено 2 мая 2015 г.
  18. ^ "Высокопроизводительные решения для кибербезопасности". New Wave Design & Verification . New Wave DV.
  19. ^ Тимоти Прикетт Морган (2012-02-08). "Solarflare превращает сетевые адаптеры в серверы: когда процессор просто недостаточно быстр". The Register . Получено 2014-05-08 .
  20. ^ "OpenOnload". openonload.org . 2013-12-03 . Получено 2014-05-08 .
  21. ^ Стив Поуп; Дэвид Риддох (21.03.2008). "OpenOnload: сетевой стек на уровне пользователя" (PDF) . openonload.org . Получено 08.05.2014 .

Внешние ссылки