Вторая часть статьи посвящена тестированию гигабитных адаптеров на 64-битной шине PCI. Результаты тестирования этих адаптеров на 32-битной шине можно найти в первой части.
В отличие от 32-битной шины PCI, которую можно обнаружить во всех выпускаемых ныне x86 компьютерах, шина PCI разрядностью 64 бита до сих пор является прерогативой серверов, а так же серьезных рабочих станций. При работе гигабитного адаптера на 32х битной шине, узким местом является шина. В случае 64бит — уже адаптер. Правда, шина CSA от Intel (рассматриваемая ниже) решает проблему «бутылочного горлышка» шины при работе гигабитных адаптерах на обычных компьютерах, но CSA присутствует далеко не на всех материнских платах, да и используется лишь для интегрированных адаптеров.
В тестировании участвуют следующие карты:
- 3Com 3C996B-T Gigabit Server Adapter на чипе Broadcom BCM5701;
- CNet ProG2000L Gigabit Ethernet Card на чипе Realtek RTL8169;
- Hardlink HA-64G Gigabit Ethernet Adapter на чипе Altima AC1001;
- TRENDnet TEG-PCITX2 Gigabit PCI Adapter на чипе DP83820BVUW;
- TRENDnet TEG-PCISXM2 Fiber Gigabit PCI Adapter на чипе Marvell Yukon 88E8010;
- ZyXEL Omni Lan PCI G1 на чипе ZX1701;
- SysKonnect SK-9844 SK-NET GE-SX Dual Link, Fiber, на чипах SysKonnect XaQti XQ11800FP;
- SysKonnect SK-9843 SK-NET GE-SX, Fiber, на чипе SysKonnect XaQti XQ11800FP;
- SysKonnect SK-9843 v2.0 SK-NET GE-SX, Fiber, на чипе Marvell Yukon 88E8010;
- SysKonnect SK-9822 SK-NET GE-T Dual Link, на чипах SysKonnect XaQti XQ11800FP;
- SysKonnect SK-9821 SK-NET GE-T, на чипе SysKonnect XaQti XQ11800FP;
- SysKonnect SK-9821 v2.0 SK-NET GE-T, на чипе Marvell Yukon 88E8010;
- Intel 82545EM Gigabit Ethernet Controller, интегрированный в материнскую плату TYAN Trinity GC-SL (интерфейс 64bit PCI);
- Intel 82547EI Gigabit Ethernet Controller, интегрированный в материнскую плату Intel D875PBZ (интерфейс CSA);
В связи с отсутствием в Москве гигабитных плат от Intel (на 64х битной PCI шине), использовались интегрированные в тестовые платформы адаптеры.
Адаптеры тестировались парами (две одинаковых гигабитных платы в разных машинах), но для адаптеров SysKonnect SK-9822 Dual Link, SK-9821 и SK-9821 v2.0 (все под медь), пары не нашлось. Было принято решение с одной стороны установить двухголовую плату SK-9822 Dual Link, а с другой SK-9821 (первой или второй версии). При этом делается допуск на то, что SK-9822 Dual Link является наиболее дорогой и мощной платой из всей тройки (и тем самым, предположительно, не является узким местом в связке). Т.е., видя в диаграммах надпись SK-9821 (или SK-9821 v2.0), следует понимать, что тест происходил не между двумя одинаковыми платами, а с одной стороны стояла SK-9822 Dual Link, хотя все результаты (в том числе и загрузка процессора) снимались с SK-9821.
Во второй части обзора рассматриваются те же адаптеры, что были протестированы в первой части, изменилась лишь шина, к которой они подключались). Но в списке отсутствует плата D-Link DGE-510T (у нее самой 32 битный PCI интерфейс), зато добавлены два адаптера от Intel первый интегрирован в платформу TYAN Trinity GC-SL и работает на 64битной PCI шине, второй работает через CSA шину на материнской плате Intel D875PBZ.
Communications Streaming Architecture (шина CSA) подключена напрямую к MCH (Memory Control Hub) и является внутренней разработкой компании Intel. В данный момент она реализована в чипсетах i865 и i875. В перспективе CSA позволяет подключать различные устройства, которым требуется быстрый доступ к системным ресурсам и, что иногда важнее, доступ с гарантированной пропускной способностью выделенного канала. На текущий момент, впрочем, существует всего одно реализованное на практике решение под эту шину чип Gigabit Ethernet Intel PRO/1000 CT (Kenai II CSA) и перспективы создания других (не Intel) решений более чем туманны. В реальности, конечно, далеко не все производители материнских плат захотят использовать достаточно дорогой чип от Intel, в таком случае CSA просто останется незадействованной.
Причины, побудившие инженеров компании организовать выделенную шину для гигабитного сетевого адаптера (а фактически, именно под эту задачу CSA и создавалась), причем, в нарушение традиций, от северного моста, довольно очевидны: нехватка пропускной способности прежних решений. В самом деле, теоретический максимум пропускной способности шины PCI разрядностью 32 бита, через которую происходит передача данных в случае использования внешней сетевой карты, составляет 133 МБ/с (а реально всегда меньше из-за потерь на передачу служебной информации), что на практике уже может начать ограничивать гигабитные сетевые адаптеры, да к тому же, как правило, находятся и другие PCI-устройства, требующие «внимания к себе». Более того, поток данных от шины PCI не направляется напрямую к памяти, а еще должен пройти «согласования» на уровне контроллеров межхабового (в случае чипсетов Intel) соединения в обоих хабах-мостах. В случае, например, активности дисковой подсистемы это еще больше урезает пропускную способность канала передачи информации от сетевого контроллера, так что даже производительность интегрированных на плату чипов Gigabit Ethernet может быть ограничена сверху, поскольку подключаются они все равно к южному мосту.
На этом фоне преимущества подключения сетевого контроллера напрямую к северному мосту (поближе к памяти) по шине с избыточной пропускной способностью в 266 МБ/с очевидны. Разумеется, это все равно меньше пропускной способности 64 битной PCI шины, но последняя рассчитана все таки на серверный рынок, а CSA, во-первых, вполне может использоваться и в Desktop решениях, а во-вторых, это независимая шина, и, в отличие от 64битной PCI, на ней, кроме гигабитного контроллера, больше ничего не висит.
Теоретические основы Gigabit Ethernet изложены в этой статье. Мы же подробнее остановимся на тестовых стендах.
В качестве двух тестовых стендов были использованы компьютеры следующих конфигураций:
- Платформа: Tyan Trinity GC-SL (S2707) (или Intel D875PBZ, в случае тестирования адаптеров на CSA шине);
- Процессоры: Pentium 4 2,0GHz и 3,0GHz;
- Память: 512MB и 1024MB registered DDR;
- Жесткие диски: Maxtor 20GB (IDE, 5400rpm)
Тесты снимались под двумя операционными системами:
Windows 2000 Pro с установленным сервиспаком четвертой версии.
Gentoo Linux 1.4 с ядром 2.4.24.
На платформе, на которой собирались тестовые компьютеры, остановимся поподробнее.
Используемая для стендов плата Trinity GC-SL компании TYAN базируется на чипсете ServerWorks Grand ChampionGC-SL и является (по словам производителя) идеальным выбором для OEM-компаний и системных интеграторов, которым необходимо богатство возможностей и максимальная пропускная способность серверов без лишних затрат. Платформа поддерживает процессоры семейства Pentium 4 с технологией Hyper-Threading и системную шину на 533Mhz. Trinity GC-SL так же поддерживает одновременную работу плат PCI-X/PCI, DDR память, обладает встроенным графическим адаптером на чипе ATI RAGE XL и все это на компактном форм-факторе ATX. Кроме того, в плату интегрировано два сетевых адаптера на чипах от Intel (Gigabit и FastEthernet). Другими словами, платформа прекрасно подходит для нашего тестирования.
Во время тестирования на плате отключались (через биос или джамперами) все дополнительные контроллеры, интегрированные на плате, как то USB, GigabitEthernet и т.д. Опция Hyper-Threading так же была отключена, а операционные системы устанавливались без его поддержки.
Все внешние адаптеры тестировались на слоте 64бит PCI, поддерживающем частоты 66 и 100 Мгц.
Оба компьютера напрямую (без использования коммутатора) соединялись восьмиметровым кабелем витая пара категории 5е (в случае адаптеров, рассчитанных на медь) или пятиметровым оптическим кабелем 62.5/125 микрон (для адаптеров, использующих оптику в качестве рабочей среды передачи данных).
Методика тестирования
Windows 2000
В Windows 2000 для генерации TCP-трафика и снятия показаний использовались программы:
- Iperf версии 1.7.0;
- NTttcp из Windows 2000 DDK;
- NetIQ Chariot (подробнее программа описана в методике тестирования маршрутизаторов
- 1514 байт (Jumbo-фреймы отсутствуют);
- 3014 байт;
- 6014 байт;
- 9014 байт;
- 16128 байт
Также осуществлялся небольшой тюнинг ОС. Параметры запуска программ и установки реестра следующие:
- Максимальный размер пакета 1514 байт (Jumbo Frame отсутствуют)
Hkey_Local_MachineSystemCurrentControlSetServicesTcpipParameters
TcpWindowSize = ffffПараметры запуска Iperf:
клиент: iperf -c 10.0.0.1 -M 100000 -w 64K -l 24K
сервер: iperf -s -m -M 100000 -w 64K -l 24KПараметры запуска NTttcp:
передатчик: ntttcps -m 1,0,10.0.0.2 -a 4 256K -n 10000
приемник: ntttcpr -m 1,0,10.0.0.1 -a 4 -l 256K -n 10000Параметры запуска для Chariot:
использовался стандартный (из поставки) скрипт High Performance Throughput.
длительность теста 3 минуты, параметры скрипта генерации: - Размер пакета 3014, 6014, 9014 и 16128 байт (включены Jumbo Frame)
Hkey_Local_MachineSystemCurrentControlSetServicesTcpipParameters
TcpWindowSize = 20971520 (20 Мб)
Tcp1323Opts = 3Параметры запуска Iperf:
клиент: iperf -c 10.0.0.1 -M 100000 -w 1M -l 24K
сервер: iperf -s -m -M 100000 -w 1M -l 24KПараметры запуска NTttcp:
передатчик: ntttcps -m 1,0,10.0.0.2 -a 4 256K -n 10000
приемник: ntttcpr -m 1,0,10.0.0.1 -a 4 -l 256K -rb 20000000 -n 10000Параметры скрипта для Chariot аналогичны вышенаписанному.
В случае Iperf и NTTTCP каждый тест запускался 9 раз, после чего выбирался лучший (по скорости) результат. Для NTttcp и Chariot загрузка процессора измерялась встроенными средствами программы, а в Iperf не измерялась вовсе (т.к. сама программа не позволяет это отслеживать).
Gentoo Linux 1.4
В ОС Gentoo Linux для генерации трафика и снятия показаний использовались программы NetIQ Chariot и netPIPE версии 2.4. Последняя осуществляет генерацию трафика с постепенно возрастающим размером пакета данных (пакет размера N передается несколько раз, количество передач обратно пропорционально его размеру, но не меньше семи). Эта схема позволяет наглядно увидеть процент использования канала в зависимости от размера передаваемых данных.
Изменение размера Jumbo Frame осуществлялось через изменение MTU в настройках сетевого интерфейса командами
/sbin/ifconfig eth0 down
/sbin/ifconfig eth0 MTU $mtu_size up
При тестировании устанавливались следующие размеры MTU:
- 1500 байт (Jumbo фреймы отсутствуют);
- 3000 байт;
- 6000 байт;
- 9000 байт;
- 16000 байт.
приемник: NTtcp -b 65535 -o logfile -P -r
передатчик: NTtcp -b 65535 -o logfile -P -t
Chariot запускался с параметрами, аналогичными запуске в Windows 2000.
Список адаптеров
Intel 82545EM Gigabit Ethernet Controller
Этот контроллер интегрирован на плате Trinity GC-SL и работает через шину 64бит PCI. По умолчанию (во время тестирования других адаптеров), этот контроллер был отключен джампером.
Intel 82545EM изначально позиционировался как интегрированное решение для материнских плат для серверов или рабочих станций.
Его характеристики:
- поддержка 32/64-битной шины PCI v2.2 на частотах 33/66 МГц и шины PCI-X на частоте 133 МГц
- 64 Кб FIDO буферы на прием и передачу;
- передача до 64 дескрипторов пакетов за одну операцию, что позволяет оптимально использовать пропускную способность шины PCI;
- Host Offloading: аппаратная сегментация TCP трафика, аппаратный обсчет контрольных сумм IP, TCP и UDP кадров на прием и передачу;
- поддержка Jumbo фреймов размером до 16 Кб.
- поддержка виртуальных сетей IEEE 802.1Q VLAN с установкой/удалением/фильтрацией VLAN (до 4096 VLAN-тегов)
- Interrupt moderation controls: алгоритмы для уменьшения количества прерываний к центральному процессору при приеме или передаче пакетов;
- поддержка SNMP и RMON счетчиков;
- поддержка стандарта ASF 1.0 (Alert Specification Forum)
При тестировании в Windows, использовалась последняя версия 7.3.13.0 драйверов с сайта компании.
Драйверы универсальны, обладают собственным графическим интерфейсом, дающим довольно много возможностей по настройке и диагностике адаптеров.
Кроме информации и адаптере, можно продиагностировать кабель, к которому подключены адаптеры, и получить по нему некоторую информацию.
К сожалению, в меню задания размера Jumbo фреймов нельзя выставить размер кадра в 3000 байт, размеры задаются дискретно, off (отсутствие Jumbo), 4088, 9014 16128 байт. Неясно, почему потребовалось вводить такие ограничения, особенно это касается размера 4088 байт не все адаптеры других производителей поддерживают кадры такой длины. Можно было вообще не тестировать адаптеры на таком размере кадра, но тогда получается большой провал между кадрами длиной 1.5 и 9 Кб. Поэтому было принято решение засчитать размер 4088 за 6-ти килобайтовый кадр (у других производителей), т.е., смотря на диаграммы производительности адаптеров, стоит иметь ввиду, что под названием 6 Кб у адаптеров от Intel на самом деле имеется ввиду 4 килобайтовый кадр.
В Linux использовался поставляемый в составе ядра драйвер версии 5.2.20-k1. Он свободно позволяет выставлять размеры MTU до 16000 байт.
Intel 82547EI Gigabit Ethernet Controller
Это тоже интегрированное решение, контроллер находится на материнской плате Intel D875PBZ, о которой уже была статья на нашем сайте. Данный контроллер интересен тем, что сидит на шине CSA.
Intel 82547EI как раз и проектировался для работы с CSA шиной на чипсетах Intel 865 и 875.
Его характеристики:
- поддержка шины CSA, с теоретической пропускной способностью 266 Мбит/сек и прямой доступ к MCH на чипсете Intel 875;
- 40 Кб FIDO буферы на прием и передачу;
- Host Offloading: аппаратная сегментация TCP трафика, аппаратный обсчет контрольных сумм IP, TCP и UDP кадров на прием и передачу;
- поддержка Jumbo фреймов размером до 16 Кб.
- поддержка виртуальных сетей IEEE 802.1Q VLAN с установкой/удалением/фильтрацией VLAN (до 64 VLAN-ов)
- Interrupt moderation controls: алгоритмы для уменьшения количества прерываний к центральному процессору при приеме или передаче пакетов;
- поддержка SNMP и RMON счетчиков;
- поддержка стандарта ASF 1.0 и 2.0 (Alert Specification Forum)
Ситуация с драйверами аналогична предыдущему контроллеру Intel 82545EM.
3Com 3C996B-T Gigabit Server Adapter
Адаптер 3Com 3C996B-T позиционируется, как серверная плата. Она имеет низкопрофильный дизайн (Low Profile PCI design) и может устанавливаться в U2 сервера, как, впрочем, и все остальные карты в этом тестировании. На адаптере установлено четыре индикатора. Три из них сообщают о режиме скорости 10/100/1000 Мбит, а четвертый показывает наличие передачи данных мерцанием.
Основные характеристики карты:
- Стандарты: 10BASE-T/100BASE-TX/1000BASE-T;
- Поддержка VLAN: да;
- Коннектор: RJ-45;
- Интерфейсы: 32-/64-bit, 33/66 MHz PCI; 32-/64-bit, 33/66/100/133 MHz PCI-X;
- Драйверы: Linux 2.2, 2.4, 2.6; Windows XP, 2000, NT 4.0; Novell NetWare 6.x, 5.x, 4.2; UnixWare 7; OpenServer 5; Sun Solaris X86;
Адаптер тоже одночиповый, в качестве микроконтроллера используется BCM5701 от Broadcom Corporation. Контроллер создан по 0,18-микронной CMOS-технологии и в него интегрирован трансивер физического уровня.
Его характеристики:
- поддержка 3,3/5 Вольт 32/64-битной шины PCI v2.2 на частотах 33/66 МГц и 32/64-битной шины PCI-X v1.0 на частотах 33/66/100/133 МГц
- скорости работы 10/100/1000BASE-T в полу- и полнодуплексных режимах
- размер интегрированного буфера пакетов 96 КБ
- два RISC ядра с размером кэша 16 КБ для расширенной классификации пакетов
- ускорение обсчета контрольных сумм кадров протоколов IP, TCP, и UDP.
- аппаратная сборка сегментированных TCP кадров
- алгоритмы для уменьшения количества прерываний к центральному процессору
(передача нескольких полученных пакетов за одно прерывание) - поддержка PXE 2.0 совместимой Boot ROM
- поддержка стандарта ASF 1.0 (Alert Specification Forum)
(возможность удаленного управления OS-absent сетевыми устройствами (без операционной системы)) - поддержка ACPI стандарта Wake on LAN
- наличия интерфейса SNMP MIB II (802.3x) для сбора статистики
- совместимость с ACPI 1.1a
- поддержка виртуальных сетей IEEE 802.1Q VLAN с установкой/удалением VLAN тагов (до 64 VLAN-ов)
- поддержка очередей приоритетов стандарта 802.1p layer 2 (до четырех уровней приоритета)
- возможность подключения внешней EEPROM
- поддержка Jumbo фреймов размером до 9 КБ
- управление потоком (flow control) 802.3x
- поддержка агрегирования и балансировки каналов (802.3ad), и двунаправленного выравнивания нагрузки (как независимо от производителя коммутатора, так и зависимо от коммутатора (например, Fast EtherChannel and Gigabit EtherChannel Support)
- интегрированный интерфейс для ПО, позволяющий тестировать кабельный канал: длину и качество линии, полярность и порядок пар.
С адаптером 3Com 3C996B-T поставляется компакт-диск с драйверами, утилитами диагностики и сопутствующими программами. На их сайте были обнаружены более новые версии драйверов, как для Windows, так и для Linux, которые и использовались в тестировании.
Драйвера под Windows обладают собственным интерфейсом, который предоставляет довольно много возможностей по конфигурированию и диагностике адаптера.
В том числе можно протестировать параметры и длину кабеля, подключенного к адаптеру.
Но вот размер Jumbo кадра интерфейс менять не позволяет, приходилось делать это постаринке, через стандартный интерфейс настроек адаптера в Windows. Максимально возможный размер Jumbo-кадра 9000 байт (его можно менять с дискретностью 500 байт). Используемая версия драйвера 6.34 (от 16.02.2003).
В Linux были использованы два драйвера. Первый Broadcom Tigon3 (tg3) версии 2.3, второй Broadcom BCM 5700 версии 5.0.2. Оба драйвера находились составе ядра и позволяли поставлять максимальный размер MTU в 9000 байт.
CNet ProG2000L Gigabit Ethernet Card на чипе Realtek RTL8169
CNet ProG2000L является гигабитным адаптером, сделанным на чипе Realtek RTL8169 и обладает очень привлекательной ценой (которая всегда отличала изделия на Realtek чипах). Адаптер имеет четыре зеленых индикатора с функциями, аналогичными плате от 3Com.
Основные характеристики карты:
- Стандарты: 10BASE-T/100BASE-TX/1000BASE-T;
- Поддержка VLAN: да;
- Коннектор: RJ-45;
- Интерфейсы: 32-/64-bit, 33/66 MHz PCI v2.2;
- Драйверы: Windows XP, 2000, NT, ME, 98; Linux; Mac OSX;
Контроллер RTL8169 производства компании Realtek, обладает следующими характеристиками:
- Интегрированный 10/100/1000 передатчик;
- Поддержка PCI rev.2.3, 32-bit, 33/66MHz;
- Автоопределение типа кабеля;
- Поддержка Wake-on-LAN;
- Поддержка Microsoft NDIS5 Checksum Offload (IP, TCP, UDP) и largesend offload;
- Поддержка IEEE 802.1P Layer 2 Priority Encoding;
- Поддержка IEEE 802.1Q VLAN tagging;
- Размер FIFO на передачу/прием 8K/64K
Драйвера под Windows не включали в себя собственного интерфейса конфигурирования, все делалось встроенными в ОС средствами. Драйвера позволяли задавать размер Jumbo кадра от 3000 до 7000 байт с шагом 1000 байт. Используемая версия драйвера 6.11. Производительность карты под Windows была довольно низкой, и это, не смотря на 64 битный PCI интерфейс.
В ОС Linux использовались драйвера в составе ядра (r8169), версии 1.2. К сожалению, драйвер не позволял выставлять размер MTU больше стандартного, копание во внутренностях драйвера тоже успеха не принесло. Поэтому CNet ProG2000L является одним из двух гигабитных адаптеров в обзоре, который не был протестирован с включенными Jumbo-фреймами в Linux. Но даже со стандартным размером MTU (1500 байт), работая на 64 битной шине адаптер вел себя не совсем стабильно в тесте NetPipe на шине PCI разрядностью 64 бита тест замирал (передача данных прекращалась) при размере блока 196605 байт (на 32 битной шине эта ситуация наступала несколько позже на границе 262141 байт).
Hardlink HA-64G Gigabit Ethernet Adapter на чипе Altima AC1001
Hardlink HA-64G участвовал еще в прошлом обзоре гигабитных адаптеров. В тот раз у адаптера наблюдались некоторые проблемы с поддержкой Jumbo фреймов в обеих операционных системах. Но в этот раз гига-кадры поддерживались уже безо всяких проблем.
Около разъема RJ-45 адаптера установлено три индикатора, показывающих наличие линка на скоростях 10/100/1000 Мбит, и режим передачи данных мерцанием. Сетевой адаптер одночиповый, в качестве Ethernet-контроллера используется AC1001KPB компании AltimaCommunications
Основные характеристики карты:
- Стандарты: 10BASE-T/100BASE-TX/1000BASE-T;
- Поддержка VLAN: да;
- Коннектор: RJ-45;
- Интерфейсы: PCI Rev.2.1 64бит, 66MГц;
- Драйверы: Windows 98/Me/NT/2000: NDIS 4/5; NetWare Server: Ver. 4.x, 5.x; Unix/Linux
Микроконтроллер AC1001 является контроллером 10/100/1000Base-T Ethernet с интегрированным трансивером. Его краткие характеристики:
- поддержка 32/64-шины PCI v2.2 на частотах 33/66 МГц
- скорости работы 10/100/1000BASE-T в полу- и полнодуплексных режимах
- управление потоком (flow control) в режиме полного дуплекса
- поддержка ACPI стандарта “Wake on LAN support”
- размер интегрированного буфера пакетов 48 КБ
- поддержка IEEE 802.1Q VLAN с установкой/удалением VLAN тагов (до 64 VLAN-ов)
- поддержка очередей стандарта 802.1p layer 2 (до четырех уровней приоритета)
- наличия интерфейса SNMP MIB II (802.3x) для сбора статистики
- поддержка PXE совместимой Boot ROM
- возможность подключения внешней EEPROM
- поддержка Jumbo фреймов
Под Windows использовался драйвер версии 1.0 с сайта компании. Размер Jumbo-кадров в них варьируется от 1500 до 4000 с шагом 500 байт.
В Linux адаптер тестировался на драйвере Broadcom Tigon3 (tg3) версии 2.3 (аналогично адаптеру от 3Com). Размер MTU на tg3 можно выставить до 9000 байт.
TRENDnet TEG-PCITX2 Gigabit PCI Adapter на чипе DP83820BVUW
TRENDnet TEG-PCITX2 это двухчиповый адаптер предыдущего поколения. Тем не менее, его скоростные характеристики и популярность микроконтроллера, на котором он собран, до сих пор привлекают производителей.
На контроллере физического уровня карты установлен радиатор. А на задней панели находятся шесть светодиодных индикаторов, первые три информируют о скорости соединения 10/100/1000 Мбит, а остальные показывают наличие коллизий, полного дуплекса и факта передачи данных.
Основные характеристики карты:
- Стандарты: 10BASE-T/100BASE-TX/1000BASE-T;
- Поддержка VLAN: неизвестно;
- Коннектор: RJ-45;
- Интерфейсы: 32/64-bit 33/66Mhz PCI Rev.2.1/2.2
- Драйверы: Windows 98/Me/2000/NT4/XP, Linux, Novell Netware Server 5.x
Карта собрана на микроконтроллере DP83820BVUW корпорации National Semiconductor. DP83820BVUW это 10/100/1000 Мбит Ethernet-контроллер. Он не имеет встроенного трансивера, а только интерфейсы для связи с внешним трансивером и шиной PCI.
Его характеристики:
- поддержка 32/64-битной шины PCI v2.2 на частотах 33/66 МГц
- скорости работы 10/100/1000BASE-T в полу- и полнодуплексных режимах
- размер интегрированного буфера пакетов 96 КБ
- ускорение обсчета контрольных сумм кадров IPv.4 протоколов IP, TCP, и UDP.
- встроенные очереди FIFO размерами 8 КБ на передачу и 32 КБ на прием;
- поддержка Flash/PROM интерфейсов для удаленной загрузки
- поддержка последовательной EEPROM в качестве внешней памяти для загрузки конфигурации при включении
- наличия интерфейса SNMP MIB II и Ether-Link MIB (RFC. 1398) для сбора статистики
- совместимость с ACPI 1.0
- поддержка виртуальных сетей IEEE 802.1Q VLAN с установкой/удалением VLAN тагов.
- управление потоком (flow control) 802.3x
- поддержка очередей приоритетов (QoS) стандарта 802.1D и 802.1Q
- поддержка Jumbo-фреймов
Второй чип DP83861VQM-3 это трансивер физического уровня. В связи с тем, что эта микросхема ощутимо греется во время работы, на ней установлен радиатор. Трансивер может работать на скоростях 10/100/1000 Мбит/сек в режимах полу- и полного дуплекса. Поддерживает режим автосогласования скоростей и режимов из вышеназванного списка (IEEE 802.3u Auto-Negotiation).
Под Windows использовался драйвер версии 5.0.1.24 с сайта компании. Размер Jumbo-кадров драйвере можно задавать от 1500 до 16128 байт, но реально адаптер был протестирован на максимальном размере кадра 9014 байт, так как при выставлении размера 16128, передачи данных не наблюдалось не доходили даже пакеты минимального размера.
Под Linux использовался драйвер National Semiconduct DP83820 (ns83820) версии 0.20. И хотя размер MTU можно было менять до 8192 (поменяв предварительно переменную RX_BUF_SIZE в сорцах драйвера), адаптер при включении Jumbo-фреймов не заработал, причем эта же ситуация была и на 0.15 и 0.18 версиях драйвера. Т.е. повторилась ситуация с Windows-драйвером на размере кадра 16128. Таким образом, TRENDnet TEG-PCITX2 оказался вторым адаптером, не протестированным с поддержкой Jumbo-фреймов в Linux. Эта ситуация меня удивила, так как в предыдущем обзоре на более старых версиях драйвера карта все таки работала нормально.
TRENDnet TEG-PCISXM2 Fiber Gigabit PCI Adapter на чипе Marvell Yukon 88E8010
TRENDnet TEG-PCISXM2 Fiber Gigabit PCI Adapter является гигабитным адаптером, рассчитанным на оптическую среду передачи. Адаптеры, рассчитанные на медь или оптику (если они одного производителя), обычно используют одну и ту же логику на них ставят одинаковые микроконтроллеры и карты реально различаются лишь трансиверами физического уровня. Есть еще одно существенное отличие у оптических гигабитных адаптеров они работают только в режиме 1000 Мбит, т.е. режимы 10 и 100 Мбит они не поддерживают.
На адаптере установлены два светодиода (наличие линка и активность). Основные характеристики карты следующие:
- Стандарт: IEEE 802.3z 1000Base-SX;
- Поддержка VLAN: неизвестно;
- Коннектор: SC Type for 50/125µ and 62.5/125µ;
- Интерфейсы: 32/64-bit PCI Rev.2.2;
- Драйверы: Windows 98SE/ME/NT4/2000/XP; Linux Kernel 2.4.x or later; Netware 5.x. 6x
Контроллер Yukon 88E8010 компании Marvell является одничиповым решением для гигабитной серверной карты с интегрированным PHY контроллером физического уровня. Он не имеет встроенного трансивера, а только интерфейсы для связи с внешним трансивером и шиной PCI.
Его характеристики:
- поддержка 32/64-битной шины PCI v2.2 на частотах 33/66 МГц
- скорости работы 10/100/1000BASE-T в полу- и полнодуплексных режимах
- размер интегрированного буфера пакетов 128 КБ
- генерация и проверка контрольных сумм кадров TCP/IP, и UDP.
- поддержка Jumbo-фреймов
- поддержка виртуальных сетей IEEE 802.1Q VLAN с установкой/удалением VLAN тагов (до 64VLAN-ов).
- фирменная технология Marvell VCT для расширенной диагностики кабеля;
- поставляемый с 88E8010 софт позволяет создавать IEEE 802.3ad Link Aggregation и Link Failover;
Под Windows использовался драйвер версии 6.13.0.0 (от 28.04.2003) с сайта компании. Размеры Jumbo-кадров можно выставлять 1500 до 9000 байт.
В Linux использовался драйвер sk98lin версии 6.24. Размер MTU аналогично можно было менять от 1500 до 9000 байт. В тесте NetPIPE под Linux во время работы адаптера был замечена некоторая странность, более подробно она описана чуть ниже, на примере карты SK-9844 Dual Link. Вкратце на определенных размерах пакетах скорость передачи данных сильно падала, это хорошо видно на графиках NetPIPE третьей страницы статьи. Эта аномалия возникала лишь на размерах MTU 1500,3000 и 6000, на MTU=9000 адаптер работал без нареканий.
ZyXEL Omni Lan PCI G1 на чипе ZX1701
ZyXEL GN650-T гигабитный адаптер под медную витую пару. На карте установлено 4 индикатора (10/100/1000Мбит и активность).
Список основных характеристик карты:
- Стандарты: 10BASE-T/100BASE-TX/1000BASE-T;
- Поддержка VLAN: да;
- Коннектор: RJ-45;
- Интерфейсы: 32/64-bit 33/66Mhz PCI Rev.2.1.2.2;
- Драйверы: Windows 98/ME/2000/XP, Novell NetWare Client 32/Server 4.x/5.x, RedHat Linux 6.x/7.x;
Отдельных спецификаций по контроллеру ZX1701, установленном на адаптере, найти не удалось.
Под Windows использовался драйвер версии 1.10 (от 27.08.2003) с сайта компании. Jumbo-фреймы драйвер поддерживает, но, аналогично адаптеру от D-Link, драйвер позволяет лишь включить или выключить поддержку гига-фреймов. Но узнать, какой именно размер Jumbo-фреймов был установлен нельзя. Поэтому, как и в предыдущем случае, считаем, что размер Jumbo-фреймов выставляется в 3000 байт.
С ОС Linux ситуация еще интереснее. Несмотря на заявленную поддержку данной операционной системы на сайте компании, в ядре (по крайней мере, версии 2.4.24) ничего поддерживающего ZX1701 не нашлось. На поставляемой с картой дискете, драйвера под Linux так же обнаружено не было. Он обнаружился только на русскоязычном сайте компании (на англоязычном его на момент тестирования почему-то не было), версия драйвера 1.05 от апреля 2003 года.
Но неприятности на этом не закончились. Драйвер поддерживает включение Jumbo фреймов размер MTU можно увеличивать до 9000 байт. Но уже при 3000 байтах скорость передачи данных в тесте Chariot была крайне низкой, а при 6000 и выше передача данных прекращалась совсем на всех тестах. Но даже на MTU 1500 и 3000 в непредсказуемые моменты времени модуль драйвера «падал», что бы уже никогда не подняться, помогала лишь перезагрузка компьютера: eth1: Link autonegation speed 1000M bps full duplex Rhine-GE is AUTO mode Unable to handle kernel paging request at virtual address 40000128 printing eip: c0127388 *pde = 0ce7d067 *pte = 0f2b4025 Oops: 0003 CPU: 0 EIP: 0010:[] Not tainted EFLAGS: 00010206 eax: 40000128 ebx: cd42b480 ecx: 0804a033 edx: 00000039 esi: 0804a033 edi: 00000000 ebp: cdf4b500 esp: ccf85ec4 ds: 0018 es: 0018 ss: 0018 Process ifconfig (pid: 1353, stackpage=ccf85000) Stack: 000005dc cdea1200 00000287 c010b438 ce812000 d084fc00 d084fc00 000005dc cdea1200 00000287 00000000 00000018 cd42b480 cdf4b500 00000000 0804a033 c01137b6 cd42b480 cdf4b500 0804a033 00000000 00000000 00000000 ccf84000 Call Trace: [] [] [] [] [] [] [] [] [] Code: 89 10 56 55 e8 8f 9a fe ff 5a 59 c6 43 2c 01 b8 01 00 00 00 bash-2.05a# shutdown -r now Broadcast message from root (pts/0) (Tue Jan 20 09:55:20 2004): The system is going down for reboot NOW! В общем — осталось лишь отрицательное впечатление о работе этой карты под Linux. По крайней мере, с этой версией драйвера (а других на тот момент не было).
SysKonnect SK-9844 SK-NET GE-SX Dual Link, Fiber, на чипах SysKonnect XaQti XQ11800FP
Вся линейка протестированных адаптеров от компании SysKonnect поставляется в одинаковых коробках (одна из них представлена выше), различаются они лишь наклейками сбоку, сообщающими название продукта. И, конечно, в случае полноразмерных PCI плат, коробки более длинные.
Адаптер SK-9844 Dual Link является «двухголовым» гигабитным адаптером полноразмерного PCI форм-фактора. Среда передачи оптика. На двух фотографиях выше видны лишь половины карт, карта во всю длину сверху.
Наличие двух линков позволяет увеличить скорость передачи данных в два раза (2Gbit в каждую сторону), либо организовать отказоустойчивый линк.
Реализации линков со скоростью 2Gbit на этих платах будет посвящена отдельная статья. А вот работу отказоустойчивости можно оценить по вышеприведенным диаграммам. Линк A и линк B на платах соединялись оптическими кабелями, после чего запускалась генерация трафика. Изначально весь трафик шел по линку А. На ~35 секунде эмулировался обрыв кабеля на A (кабель вытаскивался из разъема). Передача данных не прекращалась, адаптеры переключились на второй (B) линк и продолжили работу. Время переключения составляло около 300 миллисекунд. На ~55 секунде линк A был восстановлен, и опять адаптеры распознали эту ситуацию, после чего переключили канала на линк А.
На задней панели SK-9844 Dual Link расположено две тройки светодиодов (Link, RX и TX активность) по тройке на порт, и светодиод «Status», расположенный около порта A.
Основные характеристики адаптера:
- Стандарт: IEEE 802.3z 1000Base-SX;
- Поддержка VLAN: да;
- Коннектор: SC Type for 50/125µ and 62.5/125µ;
- Интерфейсы: 64bit/66MHz и 32bit/33MHz, 3.3 или 5V PCI rev2.1, 2.2.
- Драйверы: Novell NetWare 4.11, 5.x and 6 (LAN driver); Windows 98 SE/ME/ NT 4.0/Windows 2000/2003 Server (x86,Intel 64Bit and AMD 64Bit)/XP; AIX v4.3.3/ 5.1; SUN Solaris 2.5.1, 2.6, 7, 8 and 9 (x86, SPARC, SPARC 64-bit); Linux 2.2, 2.4, 2.6 (Open Source available), Linux 2.4 for Itanium (OpenSource available); Free BSD (x86 and Alpha; 3rd party); HP-UX 11
Очень радует такой большой список поддерживаемых операционных систем.
Функциональные блоки адаптера разнесены по разным контроллерам. Сетевым контроллером является микросхема XaQti XQ11800FP (сейчас XaQti — подразделение Vitesse Semiconductor), контроллером физического уровня (PHY) GigaPHY Am79761, а контроллером PCI шины SysKonnect Gigabit Ethernet L5A9338. Так как адаптер имеет два порта, соответственно, сетевых контроллеров и контроллеров физического уровня на плате установлено по паре.
Краткие характеристики XaQti XQ11800FP:- два независимых FIFO буфера на 32х битной шине объемом 4KB на передачу и 8KB на прием;
- поддержка как оптической, так и медной среды для передачи данных (1000BASE-SX, 1000BASE-CX, 1000BASE-LX);
- поддержка SNMP и RMON мониторинга;
- генерация и проверка контрольных сумм кадров TCP/IP, и UDP;
- поддержка Jumbo-фреймов;
- поддержка IEEE 802.3ad Link Aggregation и Link Failover (при помощи драйвера);
- поддержка 802.1q VLAN Tagging;
- поддержка 802.3ac Frame Extensions for VLAN Tagging
Контроллер SysKonnect Gigabit Ethernet L5A9338 осуществляет связь адаптера с интерфейсом PCI. Он поддерживает стандарт PCI v2.2 и позволяет осуществлять обмен с системой по шине разрядностью 32/64 бита с частотой 33/66 МГц.
В качестве буфера, на адаптере установлено 4 микросхемы SRAM памяти Gal Vantech GVT7164 общим объемом 1 Мбайт.
Кроме вышеперечисленного, адаптер обладает возможностью отслеживать состояние температуры и напряжения, благодаря своим внутренним датчикам. Тем самым, позволяя проконтролировать нахождение этих параметров в допустимых пределах.
Под Windows использовался драйвер версии 4.21 с сайта компании. Драйверы поставляются с собственным графическим интерфейсом, который позволяет удобно управлять одним адаптером или их группой. Размеры Jumbo-кадров можно выставлять 1514 до 9014 байт.
Интерфейс драйвера одинаков для всей серии адаптеров SK98xx; отличаются лишь детали к примеру, в случае однопортового адаптера, упоминание о порте B в интерфейсе исчезнет. Организовывать отказоустойчивые соединения просто достаточно перетащить мышкой нужные порты в одну группу. Аналогично организуется агрегирование каналов.
Так же драйвер позволяет посмотреть статистику по прошедшему сквозь него трафику.
Тут же доступен вышеописываемый мониторинг информации о напряжениях и температуре с внутренних сенсоров.
В Linux использовался драйвер sk98lin версии 6.24 с наложенным патчем (с сайта компании) sk98lin_2.4.24.patch. Размер MTU можно было менять от 1500 до 9000 байт.
В Linux адаптер показал себя двояко: с одной стороны, скорость была довольно высока, с другой при тесте NetPIPE на определенных размерах пакетов передача трафика почти полностью прекращалась (пакеты шли, но «в час по чайной ложке»), это будет видно на графиках. Такое происходило на размерах MTU 1500,3000 и 6000, на MTU=9000 адаптер работал без нареканий. Причем эта ситуация повторялась со всеми адаптерами SysKonnect, причины так и не удалось выяснить. С другой стороны, тест на максимальную скорость посредством Chariot не выявил никаких аномалий.
SysKonnect SK-9843 SK-NET GE-SX, Fiber, на чипе SysKonnect XaQti XQ11800FP
SK-9843 SX практически повторяет SK-9844, за исключением того, что у SK9843 SX всего один порт.
Схемотехника обоих адаптеров тоже, похоже, единственное отличие (за исключением размеров) SRAM память от другого производителя, но тоже объемом 1 Мбайт.
Характеристики адаптера повторяют SK-9844. В Windows и Linux использовались те же самые версии драйверов, впрочем, как и во всех последующих участвовавших в тесте адаптерах серии SK98xx.
SysKonnect SK-9843 v2.0 SK-NET GE-SX, Fiber, на чипе Marvell Yukon 88E8010
SK-9843 SX v2.0 замещает собой предыдущую версию адаптера SK-9843. Он собран на контроллере Marvell Yukon 88E8010, который уже был описан выше на примере карты TRENDnet TEG-PCISXM2. Карта имеет оптический интерфейс, поддерживается, как и все семейство SK98xx стандартным драйвером SysKonnect со своим интерфейсом, имеет два светодиода линка и активности и обладает следующими характеристиками:
Основные характеристики адаптера:
- Стандарт: IEEE 802.3z 1000Base-SX;
- Поддержка VLAN: да;
- Коннектор: SC Type for 50/125µ and 62.5/125µ;
- Интерфейсы: 64bit/66MHz и 32bit/33MHz, 3.3 или 5V PCI rev2.1, 2.2.
- Драйверы: Novell NetWare 4.11, 5.x and 6 (LAN driver); Windows 98 SE/ME/ NT 4.0/Windows 2000/2003 Server (x86,Intel 64Bit and AMD 64Bit)/XP; AIX v4.3.3/ 5.1; SUN Solaris 2.5.1, 2.6, 7, 8 and 9 (x86, SPARC, SPARC 64-bit); Linux 2.2, 2.4, 2.6 (Open Source available), Linux 2.4 for Itanium (OpenSource available); Free BSD (x86 and Alpha; 3rd party); HP-UX 11
Используемые в Linux и Windows драйверы аналогичны вышеназванным для семейства SK98xx, поведение адаптера в Linux так же без изменений.
SysKonnect SK-9822 SK-NET GE-T Dual Link, на чипах SysKonnect XaQti XQ11800FP
Данный адаптер SK-9822 SK-NET GE-T Dual Link не был протестирован сам по себе (для него не нашлось пары). Но он был использован для тестирования адаптеров SK-9821 и SK-9821 v2.0, так как для них тоже не нашлось пары, K-9822 SK-NET GE-T Dual Link выступал в качестве замены каждого из них на втором тестовом стенде. Аналогично SK-9844 Dual Link, он является двухпортовым, что позволяет организовывать отказоустойчивые соединения или задействовать агрегирование каналов.
На двух фотографиях выше опять показаны лишь половины («значащие части») адаптера. Его схемотехника сходна с SK-9844 Dual Link, но, так как SK-9822 Dual Link рассчитан на медную витую пару, то на нем используется другой тип контроллеров физического уровня (PHY), а именно Broadcom BCM5400. Оба PHY скрыты под радиаторами, и, что интересно, на контроллере, установленном на порте A наличествует вентилятор, а на втором (порт B) вентилятор отсутствует. Видимо считается, что порт B не будет работать постоянно, но как тогда быть в случае агрегирования каналов? Возможно, компания посчитала, что трансиверы не так уж и сильно греются (реально во время работы они действительно были лишь довольно теплые).
На адаптере так же установлено 1 Мбайт памяти в 4х микросхемах. А на задней панели расположены пара троек светодиодов (по три на каждый порт линк, TX и RX активность) и светодиод «Status». Основные характеристики адаптера:
- Стандарты: Стандарты: 10BASE-T/100BASE-TX/1000BASE-T;
- Поддержка VLAN: неизвестно;
- Коннектор: RJ-45;
- Интерфейсы: 32/64-bit PCI Rev.2.2;
- Драйверы: Novell NetWare 4.11, 5.x and 6 (LAN driver); Windows 98 SE/ME/ NT 4.0/Windows 2000/2003 Server (x86,Intel 64Bit and AMD 64Bit)/XP; AIX v4.3.3/ 5.1; SUN Solaris 2.5.1, 2.6, 7, 8 and 9 (x86, SPARC, SPARC 64-bit); Linux 2.2, 2.4, 2.6 (Open Source available), Linux 2.4 for Itanium (OpenSource available); Free BSD (x86 and Alpha; 3rd party); HP-UX 11
SysKonnect SK-9821 SK-NET GE-T, на чипе SysKonnect XaQti XQ11800FP
SysKonnect SK-9821 SK-NET GE-T является однопортовой версией адаптера SK-9821. На контроллере физического уровня установлен радиатор без вентилятора (что подтверждает версию о том, что вентилятор, установленный на одном из PHY в SK-9822 Dual Link является лишь перестраховкой).
На карте так же установлен 1 Мбайт SRAM памяти в четырех микросхемах. На задней панели находится тройка светодиодов с функциями, аналогичными SK-9822 Dual Link и светодиод статуса.
Характеристики и используемые драйвера аналогично предыдущей карте.
Еще раз обращаю внимание, что в данном случае тестировалась не пара одинаковых адаптеров а связка SK-9822 и SK-9821, хотя все показания, разумеется, снимались с SK-9821.
SysKonnect SK-9821 v2.0 SK-NET GE-T, на чипе Marvell Yukon 88E8010
SysKonnect SK-9821 v2.0 SK-NET GE-T построен на базе микроконтроллера Marvell Yukon 88E8010 (так же как адаптер SK-9843 v2.0). От названного адаптера, SK-9821 отличается лишь средой передачи (витая пара) и, соответственно, немного измененной схемотехникой.
Буфер памяти интегрирован в микроконтроллер, и его объем составляет 128 Кбайт. На задней панели находятся четыре светодиода, три из которых показывают наличие линка 10/100/1000 Мбит, а четвертый факт передачи данных.
Характеристики и используемые драйвера аналогично предыдущей карте.
Как и в случае SK-9821, тестировалась не пара одинаковых адаптеров, а связка SK-9822 и SK-9821 v2.0, хотя все показания, разумеется, снимались с SK-9821 v2.0.
Навигация:
- подчасть 1: общее описание адаптеров и методика тестирования;
- подчасть 2: производительность адаптеров, загрузка процессора и PI;
- подчасть 3: поведение адаптеров на плавно изменяемых блоках передаваемых данных (NetPIPE), средняя розничная цена, выводы