Методика тестирования миникоммутаторов, версия 1.3


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

Для первой части использовалась утилита IOMeter, разработанная компанией Intel. Больше компания не развивала этот продукт. Но некоторое время назад на сайте SourceForge появилась новая версия программы. К сожалению она еще достаточно сырая — часто зависала во время тестирования. Поэтому в тестах используется версия программы от Intel.

IOMeter, работая на транспортном уровне и используя протокол TCP, позволяет генерировать трафик с заданными параметрами, а также собирать по нему статистику. Для трафика можно задавать множество параметров, но нас интересовала генерация трафика максимальной интенсивности, поэтому было выбрано:

  • тип передачи — 100% последовательная
  • вид передачи — 100% запись
  • размер блока данных — 64KB (это не размер кадра ethernet, а блок данных, которым оперирует программа)
  • время задержки при передаче пакетов — минимально.

Для снятия скоростных показателей передачи данных использовалась системная утилита операционной системы "Perfomance Monitor".

Для тестирования строилась одноранговая локальная сеть Fast Ethernet из пяти компьютеров:

  • Платформа — Asus Terminator
  • Процессор — VIA C3 866MHz
  • Память — 128MB SDRAM
  • Жесткий диск — Maxtor 20GB
  • Сетевой адаптер — Intel Pro/100+
  • ОС — Windows2000 Pro +SP2

Для сетевых адаптеров дополнительно были установлены сетевые драйверы с сайта производителя.

Настройки сетевых адаптеров:

  • Flow Control Settings (управление потоком) — включено
  • QoS packet tagging (приоритетная обработка кадров) — запрещено.
  • Link Speed & Duplex (скорость передачи и дуплекс) — менялась в зависимости от конкретного теста.
Остальное по умолчанию.

Физическое тестирование

Из списка тестов были убраны большинство пунктов с одностороннем тестированием, так как по предыдущем тестам видно, что результаты двусторонних (с передачей трафика в обе стороны) тестов подобны результатам односторонних.

  • 1. Максимальная загрузка коммутатора.
    • Задействуются пять портов коммутатора.
    • Скорость передачи — 100Mbits, Full Duplex.
    • Устанавливаем режим передачи трафика "все со всеми" — каждый хост передает и принимает данные с остальных хостов. Число хостов (сетевых адаптеров) равно числу портов коммутатора.
    Таким образом мы имитируем общение всех компьютеров друг с другом, выясняем, выдерживает ли коммутатор подобную нагрузку, и смотрим скорость передачи данных на каждом из портов.
  • 2. Передача данных между двумя портами при отсутствии трафика на остальных (идеальный случай).
    • 2.1 Односторонняя передача из 100Mbits Full Duplex в 100Mbits порт Full Duplex.
    • 2.2 Двусторонняя передача между 100Mbits Full Duplex и 100Mbits портами Full Duplex.
    Тут, скорее всего, результаты окажутся одинаковыми у большинства коммутаторов, так как это идеальный случай и щадящий режим для устройства. Тем не менее, здесь мы определяем максимально достижимую скорость передачи данных между двумя клиентами.
  • 3. Чтение данных с одного порта во все остальные.
    Эмулируем ситуацию "сервер и много клиентов".
  • 4. Передача данных между 10Mbits и 100Mbits сегментами. Здесь мы выясняем качество коммутации между двумя сегментами с различными скоростями передачи и параметрами дуплекса.
    • 4.1 Двусторонняя передача между 10Mbits Full Duplex в 100Mbits Full Duplex портами.
    • 4.2 Двусторонняя передача между 10Mbits Half Duplex в 100Mbits Full Duplex портами.
  • 5. Не будем забывать и о 100Mbits концентраторах, которые могут быть подключены к коммутатору.
      Передача данных между 100Mbits концентратором и клиентом или коммутатором.
    • 5.1 Двусторонняя передача между 100Mbits Full Duplex и 100Mbits портами Half Duplex.
    • Передача данных между 100Mbits концентратором и клиентом или 10Mbits концентратором.

    • 5.2 Двусторонняя передача между 100Mbits Half Duplex и 10Mbits портами Half Duplex.
    • Передача данных между 100Mbits концентратором и 10Mbits клиентом или коммутатором.

    • 5.3 Двусторонняя передача между 10Mbits Full Duplex и 100Mbits портами Half Duplex.
  • 6. Передача данных между двумя 10Mbits портами.
    Конечно, обычно нет смысла подключать 10Mbits сетевые адаптеры к 100Mbits порту при сегодняшних ценах на Fast Ethernet платы, но тем не менее такое бывает. Ну а установка коммутаторов в центре звезды из концентраторов или просто объединения двух 10Mbits сегментов является обычной практикой. Поэтому рассмотрим и такую возможность.

      Эмуляция работы двух рабочих станций с 10Mbits сетевыми адаптерами или передачи данных между двумя 10ти мегабитными концентраторами.

    • 6.1 Двусторонняя передача между 10Mbits Full Duplex и 10Mbits Full Duplex портами.
    • Моделируем подключение двух концентраторов к портам коммутатора.

    • 6.2 Двусторонняя передача между портами 10Mbits Half Duplex и 10Mbits Half Duplex.
    • Моделируем подключение концентраторов к одному из портов коммутатора и 10Mbits сетевого адаптера к другому.

    • 6.3 Двусторонняя передача между портами 10Mbits Half Duplex и 10Mbits Full Duplex.
  • 7. Передача данных между 100MBit портами в режиме полудуплекса.
    Эмулируется работа коммутатора в режиме объединения нескольких 100MBit концентраторов.
    • 7.1 Двусторонняя передача между двумя 100Mbits Half Duplex портами.
    • 7.2 Режим передачи данных «все со всеми» в полудуплексном 100MBit режиме.

    • В последнем случае задействуются пять хостов, аналогично пункту 1. Каждый хост передает и принимает данные с остальных. Проверяется способность коммутатора наилучшим образом работать в режиме коммутации высокоскоростных концентраторов (это один из популярных способов использования коммутаторов).

Анализ полученных данных

Для сравнения коммутаторов между собой будем использовать безразмерные интегральные показатели. Для начала результат каждого теста конвертируется в безразмерную величину по следующим правилам:

  • Максимальную теоретическую скорость в текущем тесте, берем за единицу или 100%
  • Максимальная скорость для тестов 100MBit, Full Duplex равна 100,000,000/8/1024 = 12,207KB
  • Максимальная скорость для тестов 100MBit, Half Duplex (при двусторонней передаче данных) равна 100,000,000/8/1024/2 = 6,107KB
  • Максимальная скорость для тестов с участием 10MBit, Full Duplex портов равна 10,000,000/8/1024 = 1,221KB
  • Максимальная скорость для тестов с участием 10MBit, Half Duplex портов (при двусторонней передаче данных) равна 10,000,000/8/1024/2 = 610KB
  • Скорость передачи данных текущего теста принимается за X% и рассчитывается исходя из пропорции.
    Например безразмерный показатель для значения 800Kb, снятого при тестировании пункта 6.1 рассчитывается как
    800/1221 = 0.66

Очевидно, что теоретически рассчитанный максимум не достижим практически. Величина порядка 0.9 уже говорит об очень хорошем результате в тесте.

Далее, если в группе присутствует более одного теста, то каждому назначается в соответствие свой весовой коэффициент (безразмерная положительная величина, меньшая единицы; сумма всех весовых коэффициентов для каждой группы тестов равна единице). На этот весовой коэффициент умножается безразмерная величина, полученная в первой стадии. Полученные результаты, принадлежащие одной группе тестов, суммируются. В результате получаем набор безразмерных интегральных показателей по группам тестов. По ним и строим диаграммы.

Теперь рассмотрим деление тестов на группы и их весовые коэффициенты:

номер теста весовой коэффициент группа
1. 0.6 Группа 1 (пункты 1-3)
Работа в режиме 100MBit, Full Duplex
2.1 0.1
2.2 0.1
3 0.2
4.1 1 Группа 2
Коммутация между 10 и 100MBit портами, Full Duplex
4.2 1 Группа 3
Коммутация между портами 10Mbit Half Duplex и 100MBit Full Duplex
5.1 1 Группа 4
Коммутация между портами 100Mbit Half Duplex и 100MBit Full Duplex
5.2 1 Группа 5
Коммутация между портами 100Mbit Half Duplex и 10MBit Full Duplex
5.3 1 Группа 6
Коммутация между портами 100Mbit Half Duplex и 10MBit Half Duplex
6.1 0.34 Группа 7 (пункты 6.1-6.3)
Коммутация между 10Mbit портами с разными параметрами дуплекса
6.2 0.33
6.3 0.33
7.1 0.3 Группа 8 (пункты 7.1-7.2)
Коммутация между 100Mbit Half Duplex портами
7.2 0.7

Весовые коэффициенты выбирались эмпирическим путем. Статистики по использованию коммутаторов в различных режимах у меня нет.

Функциональность и дизайн

Под функциональностью понимается в первую очередь "информативность" коммутатора. Так как для неуправляемых коммутаторов единственный способ передачи информации и статистики о своей работе — это светодиодные индикаторы, то оцениваем их количество и способность отразить максимум информации о порте — скорость работы, наличие полного дуплекса, обнаружение коллизии, индикация передачи данных, информацию об аварийном отключении порта. А также индикатор питания. В эту же категорию относим наличие (или соответственно отсутствие) порта "uplink".

К дизайну отнесем размеры коммутатора (относительно количества его портов), возможность установки на горизонтальные поверхности и наличие крепежных отверстий для установки устройства на стену, удобство расположения (обзора) индикаторов, ну и его внешний вид.

Естественно, это не окончательный вариант методики, она будет дополняться шлифоваться. Любые Ваши предложения высказывайте в форуме.


Комментарии

Есть мнение, что выбранный размер кадра в 64KB — не оптимальный и на результаты тестирования оказывают сильное влияние конкретная реализация протокола. Вполне возможно. В следующем тестировании будет проведено исследование на коммутаторе производства Intel, в дальнейшем используемого в качестве эталонного. После этого можно будет строить более объективные теории.

 




Дополнительно

Методика тестирования миникоммутаторов, версия 1.3

Методика тестирования миникоммутаторов, версия 1.3

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

Для первой части использовалась утилита IOMeter, разработанная компанией Intel. Больше компания не развивала этот продукт. Но некоторое время назад на сайте SourceForge появилась новая версия программы. К сожалению она еще достаточно сырая — часто зависала во время тестирования. Поэтому в тестах используется версия программы от Intel.

IOMeter, работая на транспортном уровне и используя протокол TCP, позволяет генерировать трафик с заданными параметрами, а также собирать по нему статистику. Для трафика можно задавать множество параметров, но нас интересовала генерация трафика максимальной интенсивности, поэтому было выбрано:

  • тип передачи — 100% последовательная
  • вид передачи — 100% запись
  • размер блока данных — 64KB (это не размер кадра ethernet, а блок данных, которым оперирует программа)
  • время задержки при передаче пакетов — минимально.

Для снятия скоростных показателей передачи данных использовалась системная утилита операционной системы "Perfomance Monitor".

Для тестирования строилась одноранговая локальная сеть Fast Ethernet из пяти компьютеров:

  • Платформа — Asus Terminator
  • Процессор — VIA C3 866MHz
  • Память — 128MB SDRAM
  • Жесткий диск — Maxtor 20GB
  • Сетевой адаптер — Intel Pro/100+
  • ОС — Windows2000 Pro +SP2

Для сетевых адаптеров дополнительно были установлены сетевые драйверы с сайта производителя.

Настройки сетевых адаптеров:

  • Flow Control Settings (управление потоком) — включено
  • QoS packet tagging (приоритетная обработка кадров) — запрещено.
  • Link Speed & Duplex (скорость передачи и дуплекс) — менялась в зависимости от конкретного теста.
Остальное по умолчанию.

Физическое тестирование

Из списка тестов были убраны большинство пунктов с одностороннем тестированием, так как по предыдущем тестам видно, что результаты двусторонних (с передачей трафика в обе стороны) тестов подобны результатам односторонних.

  • 1. Максимальная загрузка коммутатора.
    • Задействуются пять портов коммутатора.
    • Скорость передачи — 100Mbits, Full Duplex.
    • Устанавливаем режим передачи трафика "все со всеми" — каждый хост передает и принимает данные с остальных хостов. Число хостов (сетевых адаптеров) равно числу портов коммутатора.
    Таким образом мы имитируем общение всех компьютеров друг с другом, выясняем, выдерживает ли коммутатор подобную нагрузку, и смотрим скорость передачи данных на каждом из портов.
  • 2. Передача данных между двумя портами при отсутствии трафика на остальных (идеальный случай).
    • 2.1 Односторонняя передача из 100Mbits Full Duplex в 100Mbits порт Full Duplex.
    • 2.2 Двусторонняя передача между 100Mbits Full Duplex и 100Mbits портами Full Duplex.
    Тут, скорее всего, результаты окажутся одинаковыми у большинства коммутаторов, так как это идеальный случай и щадящий режим для устройства. Тем не менее, здесь мы определяем максимально достижимую скорость передачи данных между двумя клиентами.
  • 3. Чтение данных с одного порта во все остальные.
    Эмулируем ситуацию "сервер и много клиентов".
  • 4. Передача данных между 10Mbits и 100Mbits сегментами. Здесь мы выясняем качество коммутации между двумя сегментами с различными скоростями передачи и параметрами дуплекса.
    • 4.1 Двусторонняя передача между 10Mbits Full Duplex в 100Mbits Full Duplex портами.
    • 4.2 Двусторонняя передача между 10Mbits Half Duplex в 100Mbits Full Duplex портами.
  • 5. Не будем забывать и о 100Mbits концентраторах, которые могут быть подключены к коммутатору.
      Передача данных между 100Mbits концентратором и клиентом или коммутатором.
    • 5.1 Двусторонняя передача между 100Mbits Full Duplex и 100Mbits портами Half Duplex.
    • Передача данных между 100Mbits концентратором и клиентом или 10Mbits концентратором.

    • 5.2 Двусторонняя передача между 100Mbits Half Duplex и 10Mbits портами Half Duplex.
    • Передача данных между 100Mbits концентратором и 10Mbits клиентом или коммутатором.

    • 5.3 Двусторонняя передача между 10Mbits Full Duplex и 100Mbits портами Half Duplex.
  • 6. Передача данных между двумя 10Mbits портами.
    Конечно, обычно нет смысла подключать 10Mbits сетевые адаптеры к 100Mbits порту при сегодняшних ценах на Fast Ethernet платы, но тем не менее такое бывает. Ну а установка коммутаторов в центре звезды из концентраторов или просто объединения двух 10Mbits сегментов является обычной практикой. Поэтому рассмотрим и такую возможность.

      Эмуляция работы двух рабочих станций с 10Mbits сетевыми адаптерами или передачи данных между двумя 10ти мегабитными концентраторами.

    • 6.1 Двусторонняя передача между 10Mbits Full Duplex и 10Mbits Full Duplex портами.
    • Моделируем подключение двух концентраторов к портам коммутатора.

    • 6.2 Двусторонняя передача между портами 10Mbits Half Duplex и 10Mbits Half Duplex.
    • Моделируем подключение концентраторов к одному из портов коммутатора и 10Mbits сетевого адаптера к другому.

    • 6.3 Двусторонняя передача между портами 10Mbits Half Duplex и 10Mbits Full Duplex.
  • 7. Передача данных между 100MBit портами в режиме полудуплекса.
    Эмулируется работа коммутатора в режиме объединения нескольких 100MBit концентраторов.
    • 7.1 Двусторонняя передача между двумя 100Mbits Half Duplex портами.
    • 7.2 Режим передачи данных «все со всеми» в полудуплексном 100MBit режиме.

    • В последнем случае задействуются пять хостов, аналогично пункту 1. Каждый хост передает и принимает данные с остальных. Проверяется способность коммутатора наилучшим образом работать в режиме коммутации высокоскоростных концентраторов (это один из популярных способов использования коммутаторов).

Анализ полученных данных

Для сравнения коммутаторов между собой будем использовать безразмерные интегральные показатели. Для начала результат каждого теста конвертируется в безразмерную величину по следующим правилам:

  • Максимальную теоретическую скорость в текущем тесте, берем за единицу или 100%
  • Максимальная скорость для тестов 100MBit, Full Duplex равна 100,000,000/8/1024 = 12,207KB
  • Максимальная скорость для тестов 100MBit, Half Duplex (при двусторонней передаче данных) равна 100,000,000/8/1024/2 = 6,107KB
  • Максимальная скорость для тестов с участием 10MBit, Full Duplex портов равна 10,000,000/8/1024 = 1,221KB
  • Максимальная скорость для тестов с участием 10MBit, Half Duplex портов (при двусторонней передаче данных) равна 10,000,000/8/1024/2 = 610KB
  • Скорость передачи данных текущего теста принимается за X% и рассчитывается исходя из пропорции.
    Например безразмерный показатель для значения 800Kb, снятого при тестировании пункта 6.1 рассчитывается как
    800/1221 = 0.66

Очевидно, что теоретически рассчитанный максимум не достижим практически. Величина порядка 0.9 уже говорит об очень хорошем результате в тесте.

Далее, если в группе присутствует более одного теста, то каждому назначается в соответствие свой весовой коэффициент (безразмерная положительная величина, меньшая единицы; сумма всех весовых коэффициентов для каждой группы тестов равна единице). На этот весовой коэффициент умножается безразмерная величина, полученная в первой стадии. Полученные результаты, принадлежащие одной группе тестов, суммируются. В результате получаем набор безразмерных интегральных показателей по группам тестов. По ним и строим диаграммы.

Теперь рассмотрим деление тестов на группы и их весовые коэффициенты:

номер теста весовой коэффициент группа
1. 0.6 Группа 1 (пункты 1-3)
Работа в режиме 100MBit, Full Duplex
2.1 0.1
2.2 0.1
3 0.2
4.1 1 Группа 2
Коммутация между 10 и 100MBit портами, Full Duplex
4.2 1 Группа 3
Коммутация между портами 10Mbit Half Duplex и 100MBit Full Duplex
5.1 1 Группа 4
Коммутация между портами 100Mbit Half Duplex и 100MBit Full Duplex
5.2 1 Группа 5
Коммутация между портами 100Mbit Half Duplex и 10MBit Full Duplex
5.3 1 Группа 6
Коммутация между портами 100Mbit Half Duplex и 10MBit Half Duplex
6.1 0.34 Группа 7 (пункты 6.1-6.3)
Коммутация между 10Mbit портами с разными параметрами дуплекса
6.2 0.33
6.3 0.33
7.1 0.3 Группа 8 (пункты 7.1-7.2)
Коммутация между 100Mbit Half Duplex портами
7.2 0.7

Весовые коэффициенты выбирались эмпирическим путем. Статистики по использованию коммутаторов в различных режимах у меня нет.

Функциональность и дизайн

Под функциональностью понимается в первую очередь "информативность" коммутатора. Так как для неуправляемых коммутаторов единственный способ передачи информации и статистики о своей работе — это светодиодные индикаторы, то оцениваем их количество и способность отразить максимум информации о порте — скорость работы, наличие полного дуплекса, обнаружение коллизии, индикация передачи данных, информацию об аварийном отключении порта. А также индикатор питания. В эту же категорию относим наличие (или соответственно отсутствие) порта "uplink".

К дизайну отнесем размеры коммутатора (относительно количества его портов), возможность установки на горизонтальные поверхности и наличие крепежных отверстий для установки устройства на стену, удобство расположения (обзора) индикаторов, ну и его внешний вид.

Естественно, это не окончательный вариант методики, она будет дополняться шлифоваться. Любые Ваши предложения высказывайте в форуме.


Комментарии

Есть мнение, что выбранный размер кадра в 64KB — не оптимальный и на результаты тестирования оказывают сильное влияние конкретная реализация протокола. Вполне возможно. В следующем тестировании будет проведено исследование на коммутаторе производства Intel, в дальнейшем используемого в качестве эталонного. После этого можно будет строить более объективные теории.