Так часто бывает в компьютерной индустрии, что сначала новые технологии распространяются в корпоративном / коммерческом секторе и только после появления последующих, более дешевых, продуктов, они попадают в область SOHO. Так происходит и с сетевыми технологиями.
Совсем недавно один из вопросов для системного администратора небольшого офиса стоял как "иметь сеть или нет", а о скорости часто даже не задумывались. Но сегодня, в связи с резко возросшим мультимедийным трафиком и заметным падением цен на 100Mbit оборудование, уже многие используют именно технологию Fast Ethernet. Причем широкое распространение она получила не только в офисных условиях, но даже и в домашних и некоммерческих сетях. Этому способствовало и то, что при заранее продуманной прокладке сети для увеличения скорости нужно всего лишь поменять активное оборудование, а самую трудоемкую часть — кабельную систему, — можно сохранить.
Конечно, 100Mbit/sec — это заметно лучше, чем 10, однако, как всегда, хочется что-то еще более быстрое. И технология Copper Gigabit, обеспечивающая скорость в 1Gbit/sec по обычному медному проводу (хотя и категории 5E), дает нам этот шанс.
Грубую оценку скорости передачи можно сделать, просто переведя мегабиты (здесь используются настоящие миллионы, а не как чаще бывает в ПК индустрии 2 в 20 степени) в секунду в мегабайты в секунду:
технология | максимальная скорость передачи, MB/sec | время передачи фильма DivX (700MB), мин |
10Mbit | 1,19 | 10 |
100Mbit | 11,9 | 1 |
1Gbit | 119 | 0,1 |
Здесь, конечно, приведены "идеальные" цифры. Реально скорость передачи по 10Mbit сети с учетом служебной информации, межкадровых интервалов, при отсутствии коллизий и т.п. составляет порядка 930KB/sec.
Поскольку используются и протоколы высокого уровня, также отбирающие часть данных кадра под себя, то эта цифра еще немного снижается, и на самом деле передача 700MB файла по такой сети может занимать порядка 40 минут. А если одновременно кто-то еще этим занимается :), то время увеличивается еще больше. Достаточно правдоподобные цифры можно получить измерив скорость чтения большого файла с сетевого диска: 900KB/sec для 10Mbit сети и до 9000KB/sec для 100Mbit сети.
Для 1Gbit адаптера цифра в 119MB/sec еще более завышена поскольку процесс может упираться и в шину PCI (младший вариант — PCI32/33MHz = 133MB/sec, хотя есть и PCI64/66MHz = 533MB/sec) так и в дисковую подсистему сервера. Например у Ultra160 SCSI пиковая скорость передачи — 160MB/sec, однако реально с одного диска можно получить порядка 40MB/sec, а с массива RAID0 из четырех дисков до 120MB/sec, и это тоже, кстати, не на PCI32/33MHz :).
К сожалению, в отличие, например, от процессоров и видеокарт, разные поколения сетей отличаются по скорости на порядок. И нельзя постепенно переходить с 10Mbit например на 20, потом на 50. Однако если учесть обратную совместимость Copper Gigabit адаптеров с проводкой пятой категории и оборудованием стандарта 10/100BaseTX, то такие адаптеры могут легко интегрироваться в существующие сети. Отметим, что, несмотря на требование проводки категории 5E, тестируемые адаптеры работали в режиме 1Gbit и на кабеле обычной пятой категории длинной 10м (естественно в кабеле были разведены все восемь жил, а не только требуемые для 10/100BaseTX четыре), хотя максимальная дальность в этих условиях может быть снижена.
Адаптеры
Распространению гигабитных адаптеров способствует и значительно снижение цены на них в последнее время. Одной из причин этого является выпуск высокоинтегрированных чипов для этой технологии, что позволило значительно снизить цены. Однако, крупные производители закладывают в цену не только стоимость "железа", но и свои программные разработки и поддержку, поэтому стоимость серверных вариантов карт остается высокой.
В настоящий момент уже многие крупные производители сетевого оборудования представили десктоп варианты гигабитных сетевых карт. Часто они просто являются урезанными версиями серверных адаптеров, однако предлагаются по гораздо более низкой цене. При этом сохраняется самое главное — высокая скорость работы, а набор поддерживаемых специальных серверных функций ограничивается.
Один из лидеров коммуникационного рынка, компания Intel, вслед за серверными адаптерами на базе чипов серии 82543 выпустила и одночиповое решение на базе микросхемы 82544 .
Карта Intel PRO/1000 T Desktop Adapter выглядит просто "малышкой". Она использует всего один чип 82544GC, в котором сочетаются как контроллер MAC, так и контроллер физического уровня. Чип выполнен в корпусе TFBGA с 364 контактами, а его параметры могут удовлетворить самых взыскательных пользователей:
- поддержка шины PCI 32/64bit, 33/66 MHz (в том числе с PCI Hot Plug) а также PCI-X, rev.1.0a
- скорость работы 10/100/1000 Mbit/sec
- поддержка режима Full Duplex на всех скоростях
- поддержка ACPI 1.1, WOL, WfM 2.0, DMI, PC2001, PXE, SNMP, RMON
- поддержка VLAN
- аппаратная проверка и вычисление контрольных сумм IPv.4
- поддержка пакетов Jumbo до 16KB
- поддержка стандартов QoS
- два светодиода индикации скорости и состояния
Несмотря на немного бо́льшую цену относительно других производителей, решение от Intel имеет и положительные стороны. Во первых это, конечно, имя :), во вторых — это наиболее широкая поддержка драйверами:
- DOS
- FreeBSD
- Linux
- Novell NetWare
- Windows NT 4.0
- Windows 2000
- Windows 98 SE
- Windows Me
- Windows XP 64-Bit Edition
- Windows XP Professional
К сожалению, подобрать точные данные о диалектах unix именно для этого адаптера оказалось сложно — разные источники дают разную информацию, однако размер списка все равно впечатляет. Также в некоторых местах утверждается, что для Desktop версии адаптера есть только драйвера для Windows и DOS, однако на сайте Intel можно найти и Linux драйвера для него. Конечно, такое разнообразие имеет и отрицательную сторону — все ПО поставляется не на дискете, а на CD-ROM. Однако, в комплект входит программа создания дискет с драйверами под необходимые операционные системы.
Ну и, в-третьих, это входящая в поставку программа контроля и диагностики работы адаптера PROSet II:
С ее помощью можно проверить состояние адаптера, провести его полную диагностику, настроить VLAN.
Другие компании пошли другим путем и наладили выпуск сетевых карт на базе готового набора чипов, например, от компании National Semiconductor DP83821 (DP83820) и DP83861:
- Compex FL1000-T PCI
- DLink DGE-500T
- Linksys EG1032
- TRENDware TEG-PCITX
Этот набор рассчитан на построение 10/100/1000 Mbit адаптеров для шины PCI. Естественно, карты на его базе имеют очень похожие характеристики:
- поддержка шины PCI32/33MHz (DP83821) и PCI64/66MHz (DP83820)
- скорость работы 10/100/1000 Mbit/sec
- поддержка режима Full Duplex на всех скоростях
- поддержка ACPI 1.0, PC99, WOL
- поддержка VLAN
- аппаратная проверка и вычисление контрольных сумм IPv.4
- поддержка пакетов Jumbo
- поддержка стандартов QoS
- индикация Gigabit, Link, Act
Часто карты выпускаются парами — одна для шины PCI32/33MHz а вторая PCI64/66MHz (например Linksys EG1032 и EG1064). Естественно, адаптеры для высокоскоростной шины PCI можно установить и на обычную.
Что касается программной поддержки, то для большинства карт есть драйвера для всего семейства Microsoft Windows (95, 98, NT, ME, 2000) и Novell Netware 4.2 и 5.0. Иногда вместо Netware поставляются драйвера для Linux (DLink), а иногда и те, и другие (TRENDware).
Кстати, поскольку скорость в 1Gbit/sec — это уже серьезно, то иногда на чипы устанавливаются радиаторы (TEG-PCITX), что совсем не является лишним — в наших тестах при максимальных нагрузках чипы на контроллерах ощутимо нагревались, так что проблеме их охлаждения необходимо уделить достаточное внимание.
В наших тестах использовалось два гигабитных адаптера — Intel PRO/1000 T Desktop и Linksys Instant Gigabit EG1032. Установка адаптеров не вызвала каких либо проблем, драйвера инсталлировались легко, причем даже не потребовалась перезагрузка (спасибо Windows 2000 :).
Тестирование
Для оценки производительности сети можно использовать простейший способ: установить на одном из ПК серверную часть ПО (например, FTP сервер или просто создать папку с общим доступом) и измерять скорость работы с ней клиентов (т.е. в нашем случае скорость чтения данных с FTP сервера или из общей папки). Однако наиболее интересным является тестирование конфигурации типа "один сервер — несколько клиентов", а для измерения производительности таким способом необходима автоматизация процесса (иначе придется за каждого клиента сажать человека с часами и секундомером :) или самому бегать между ними.
Первые тесты носят не очень точный характер и направлены в основном на выявление отличий между 100 и 1000 Mbit адаптерами и поиску максимальной скорости передачи данных по сети. Также в этих тестах нет сравнения именно двух гигабитных адаптеров, т.к. они показали примерно одинаковую скорость, а результаты не отличаются высокой точностью и поэтому говорить о 1-2% преимуществе кого либо просто нечестно.
Для начала я просто соединил два ПК с 100Mbit адаптерами кросс-кабелем. После этого была измерена скорость передачи файлов Для этой пары она составила примерно 9000 KB/sec, что, в принципе, достаточно близко к теоретическому пределу в 12,5MB/sec.
После этого я использовал аналогичное подключение гигабитных карт Intel PRO/1000 T Desktop и Linksys Instant Gigabit EG1032. Индикаторы адаптеров показывали, что установлено соединение на 1Gbit. А вот измерения скорости показали "всего" 24000 KB/sec. Это конечно не 128, как в теории, но и не 9 как у 100Mbit адаптеров. Что-то здесь не так, подумал я и установил программу RamDiskNT (для создания виртуального диска в памяти ПК) и тест чтения с этого диска составил уже 43000KB/sec! Да, это уже гораздо интереснее.
Следующий тест был направлен на исследование скорости одновременного доступа к серверу несколькими клиентами.
Для подключения гигабитных адаптеров использовался коммутатор компании Linksys EG0801W имеющий 8 портов 10/100 Mbit и один порт на 1000 Mbit. Три клиентских ПК одновременно читали большие файлы с сетевого диска. К сожалению, здесь уже не удалось запустить RamDiskNT, поскольку для получения адекватных результатов пришлось бы увеличить его размер хотя бы до 256Mb, а ресурс памяти на сервере не позволял этого сделать. Для 100 Mbit сети суммарная скорость передачи данных от сервера составила 12 MB/sec, а при использовании 1000 Mbit адаптера на сервере она поднялась до 21 MB/sec.
После проведенных тестов можно сказать, что использование даже недорогого гигабитного адаптера на сервере сети в сочетании с простым коммутатором с одним высокоскоростным портом может заметно улучшить работу клиентов. Естественно, скорость работы возрастет только если она не ограничивается другими факторами — жестким диском или процессором.
Ну а для полноты картины и более точных цифр я использовал программу NetBench 6.0 из популярного набора тестов компании Ziff Davis Media Inc. Она как раз и занимается автоматизацией процесса тестирования для нескольких клиентов. Отметим, что входящие в состав программы готовые шаблоны настроены на работу с 60 клиентами, но можно довести их количество и до 1000.
Собственно программа состоит из двух частей — ПО контроллера теста и клиентское ПО. Отметим, что здесь нет специальной серверной части и тестом можно проверить любое устройство, которое может работать, как файловый сервер (например NAS сервер Snap Server). Для чистоты проведения теста рекомендуется не совмещать контроллер и клиент на одном ПК, хотя это и возможно технически.
Как и большинство синтетических тестов, она имеет возможность настройки шаблонов для эмуляции различных вариантов работы сети. В качестве параметров шаблона выступают:
- количество клиентов
- тип операции с файлами (последовательное/случайное чтение/запись, смесь дисковых операций (diskmix), тест сетевой карты (nic))
- размер читаемого/записываемого блока
- размер файла
- тип файла (текстовый, бинарный)
- время выполнения теста
Для тестирования использовалось 6 ПК. Сервер был построен на базе AMD Athlon 1200 с диском Seagate Cheetah 36ES. Четыре клиентских ПК различных конфигураций :) (от Celeron 733 до Pentium 4), а для контроллера подошел старенький Intel Pentium MMX 200 под управлением Windows 98SE. Сетевые карты в клиентах — на базе чипа Realtek 8139 со стандартными драйверами Windows 2000. В сервер устанавливались 1000 Mbit адаптеры компаний Intel и Linksys.
Стандартные шаблоны были адаптированы для конфигураций 1–4 клиентами. Из результатов приведем здесь только цифры шаблонов Disk Mix и NIC:
Как видно из результатов, скорости практически совпадают. На тесте DiskMix мы видим небольшое преимущество продукта от Intel. Ну а в целом видимо четырех клиентов мало для того что бы полностью загрузить наш сервер :)
В принципе, скорость можно поднять еще, если дополнительно настроить адаптеры (например использовать Jubmo frames), однако для этого часто необходим специальный коммутатор с поддержкой соответствующих технологий.
Выводы
Благодаря относительно низкой цене представленные адаптеры можно рекомендовать для установки в новые ПК. Конечно, при условии, что у вас уже используется эта технология и действительно необходима такая скорость на каждом рабочем месте, или вы уверены в том, что в ближайшее время она потребуется. Вторым применением может стать объединение двух ПК высокоскоростной сетью. Напомним, что скорость передачи по Gigabit Ethernet в наших тестах ограничивалась уже жестким диском, а не сетью. Ну и третьим вариантом может стать применение в небольших офисных сетях с ярко выраженным файловым сервером.