stringtranslate.com

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

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

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

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

Цель

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

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

Выполнение

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

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

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

Двухпортовый сетевой адаптер Qlogic QLE3442-CU SFP +

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

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

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

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

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

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

Сетевой интерфейс асинхронного режима передачи (ATM).
Сетевая карта Intel 82574L Gigabit Ethernet , карта 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 сентября 2020 г.
  2. ^ Администратор, Ариста (23 апреля 2020 г.). «Раздел 11.2: Стандарты Ethernet — Ариста». Ариста Нетворкс . Проверено 28 сентября 2020 г.
  3. ^ ab «Повышение масштабируемости за счет разделения сетевых карт» (PDF) . Делл . Апрель 2011 года . Проверено 12 мая 2014 г.
  4. ^ «Физический сетевой интерфейс». Майкрософт . 7 января 2009 г.
  5. ^ Поузи, Брайен М. (2006). «Основы работы в сети: Часть 1 — Сетевое оборудование». Windowsnetworking.com . ООО "ТехДженикс" . Проверено 9 июня 2012 г.
  6. ^ Джим О'Рейли (22 января 2014 г.). «Будет ли 2014 год годом 10-гигабитного Ethernet?». Сетевые вычисления . Проверено 29 апреля 2015 г.
  7. ^ «Преодоление ограничений скорости с помощью локальных сетей ASRock X99 WS-E/10G и Intel 10G BASE-T» . asrock.com . 24 ноября 2014 года . Проверено 19 мая 2015 г.
  8. Джон Сэвилл (12 ноября 2000 г.). «Как изменить MAC-адрес сетевой карты?» . Проверено 6 ноября 2023 г.
  9. ^ «Техническое описание семейства контроллеров Gigabit Ethernet Intel 82574» (PDF) . Интел . Июнь 2014. с. 1 . Проверено 16 ноября 2014 г.
  10. ^ abc Том Герберт; Виллем де Брейн (9 мая 2014 г.). «Документация по ядру Linux: Documentation/networking/scaling.txt». ядро.орг . Проверено 16 ноября 2014 г.
  11. ^ «Краткое описание продукта семейства Ethernet-контроллеров Intel i210» (PDF) . Интел . 2012 . Проверено 16 ноября 2014 г.
  12. ^ ab «Взгляд изнутри: Intel Ethernet» (PDF) . Запуск Xeon E5 v3 (Grantley) . Интел . 27 ноября 2014 г. Архивировано из оригинала (PDF) 26 марта 2015 г. . Проверено 26 марта 2015 г.
  13. ^ «Документация по ядру Linux: Documentation/networking/ixgbe.txt». ядро.орг . 15 декабря 2014 года . Проверено 26 марта 2015 г.
  14. ^ «Директор потока Intel Ethernet» . Интел . 16 февраля 2015 года . Проверено 26 марта 2015 г.
  15. ^ «Введение в Intel Ethernet Flow Director и производительность Memcached» (PDF) . Интел . 14 октября 2014 года . Проверено 11 октября 2015 г.
  16. ^ Патрик Катч; Брайан Джонсон; Грег Роуз (сентябрь 2011 г.). «Введение в гибкое разделение портов Intel с использованием технологии SR-IOV» (PDF) . Интел . Проверено 24 сентября 2015 г.
  17. Джонатан Корбет (1 августа 2007 г.). «Большая приемная разгрузка». LWN.net . Проверено 2 мая 2015 г.
  18. ^ «Высокопроизводительные решения для кибербезопасности». Проектирование и проверка новой волны . Новая волна ДВ.
  19. ^ Тимоти Прикетт Морган (08 февраля 2012 г.). «Solarflare превращает сетевые адаптеры в серверы: когда процессор недостаточно быстр». Регистр . Проверено 8 мая 2014 г.
  20. ^ "ОпенОнлоад". openonload.org . 03.12.2013 . Проверено 8 мая 2014 г.
  21. ^ Стив Поуп; Дэвид Риддок (21 марта 2008 г.). «OpenOnload: сетевой стек пользовательского уровня» (PDF) . openonload.org . Проверено 8 мая 2014 г.

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