Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

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

Цель [ править ]

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

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

Реализация [ править ]

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

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

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

Qlogic QLE3442-CU SFP + двухпортовый NIC

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

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

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

  • Опрос то , где процессор анализирует состояние периферийного контроля по программе.
  • Ввод-вывод, управляемый прерываниями, - это когда периферийное устройство предупреждает ЦП, что оно готово к передаче данных.

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

  • Программируемый ввод / вывод , при котором ЦП перемещает данные в или из сетевой карты в память.
  • Прямой доступ к памяти (DMA), когда устройство, отличное от ЦП, берет на себя управление системной шиной для перемещения данных в или из сетевой карты в память. Это снимает нагрузку с ЦП, но требует больше логики на карте. Кроме того, буфер пакетов на NIC может не потребоваться, и можно уменьшить задержку .

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

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

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

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

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

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

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

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

См. Также [ править ]

  • Конвергентный сетевой адаптер (CNA)
  • Хост-адаптер
  • Intel Data Direct I / O (DDIO);
  • Сетевой интерфейс
  • Карта интерфейса сетевого мониторинга (NMIC)
  • Виртуальный сетевой интерфейс (VIF)
  • Контроллер беспроводного сетевого интерфейса (WNIC)

Примечания [ править ]

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

Ссылки [ править ]

  1. ^ "Скорость порта и конфигурация дуплексного режима" . docs.ruckuswireless.com . Проверено 25 сентября 2020 .
  2. ^ Админ, Ариста (2020-04-23). «Раздел 11.2: Стандарты Ethernet - Arista» . Arista Networks . Проверено 28 сентября 2020 .
  3. ^ a b «Повышение масштабируемости за счет разделения карты сетевого интерфейса» (PDF) . Dell . Апрель 2011 . Проверено 12 мая 2014 года .
  4. ^ «Физический сетевой интерфейс» . Microsoft . 7 января 2009 г.
  5. ^ Поузи, Брайен М. (2006). «Основы сетевых технологий: Часть 1 - Сетевое оборудование» . Windowsnetworking.com . TechGenix Ltd . Проверено 9 июня 2012 .
  6. ^ Джим О'Рейли (2014-01-22). «Будет ли 2014 год годом 10 Gigabit Ethernet?» . Сетевые вычисления . Проверено 29 апреля 2015 .
  7. ^ «Преодоление ограничений скорости с помощью локальных сетей ASRock X99 WS-E / 10G и Intel 10G BASE-T» . asrock.com . 24 ноября 2014 . Дата обращения 19 мая 2015 .
  8. ^ "Intel 82574 Gigabit Ethernet Controller Family Datasheet" (PDF) . Intel . Июнь 2014. с. 1 . Проверено 16 ноября 2014 года .
  9. ^ a b c d Том Герберт; Виллем де Брёйн (9 мая 2014 г.). «Документация ядра Linux: Documentation / network / scaling.txt» . kernel.org . Проверено 16 ноября 2014 года .
  10. ^ "Краткое описание семейства контроллеров Intel Ethernet i210" (PDF) . Intel . 2012 . Проверено 16 ноября 2014 года .
  11. ^ a b «Intel Look Inside: Intel Ethernet» (PDF) . Запуск Xeon E5 v3 (Grantley) . Intel . 27 ноября, 2014. Архивировано из оригинального (PDF) от 26 марта 2015 года . Проверено 26 марта 2015 года .
  12. ^ «Документация ядра Linux: Документация / сеть / ixgbe.txt» . kernel.org . 15 декабря 2014 . Проверено 26 марта 2015 года .
  13. ^ "Intel Ethernet Flow Director" . Intel . 16 февраля 2015 года . Проверено 26 марта 2015 года .
  14. ^ «Введение в Intel Ethernet Flow Director и Memcached Performance» (PDF) . Intel . 14 октября 2014 . Проверено 11 октября 2015 года .
  15. ^ Патрик Катч; Брайан Джонсон; Грег Роуз (сентябрь 2011 г.). «Введение в гибкое разделение портов Intel с использованием технологии SR-IOV» (PDF) . Intel . Проверено 24 сентября 2015 года .
  16. Джонатан Корбет (1 августа 2007 г.). «Большая разгрузка приема» . LWN.net . Проверено 2 мая 2015 года .
  17. ^ «Высокопроизводительные решения для кибербезопасности» . Новая волна дизайна и проверки . Новая волна DV.
  18. ^ Тимоти Прикетт Морган (2012-02-08). «Solarflare превращает сетевые адаптеры в серверы: когда процессор недостаточно быстр» . Реестр . Проверено 8 мая 2014 .
  19. ^ "OpenOnload" . openonload.org . 2013-12-03 . Проверено 8 мая 2014 .
  20. ^ Стив Поуп; Дэвид Риддок (21 марта 2008 г.). «OpenOnload: сетевой стек пользовательского уровня» (PDF) . openonload.org . Проверено 8 мая 2014 .

Внешние ссылки [ править ]

  • «Физический сетевой интерфейс» . Microsoft.
  • «Предсказуемые имена сетевых интерфейсов» . Freedesktop.org .
  • Сетевые интерфейсы с несколькими очередями с SMP в Linux