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


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

Для первой части использовалась утилита IOMeter, разработанная компанией Intel. К сожалению, фирма не осуществляет поддержку этой программы, а просто выложила ее на свой сайт "как есть".

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

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

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

Для тестирования строилась одноранговая локальная сеть Fast Ethernet из пяти компьютеров. На каждом установлена ОС Windows XP Professional, сетевые адаптеры Intel Express 100. Из сетевых протоколов убирался устанавливаемый по умолчанию QoS — выравнивание нагрузки (он предназначен для выравнивания трафика и может быть причиной снижения скорости приема/передачи данных).

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

  • 802.1p 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 Односторонняя передача из 100Mbits Full Duplex в 10Mbits порт Full Duplex.
    • 4.2 Односторонняя передача из 10Mbits Full Duplex в 100Mbits порт Full Duplex.
    • 4.3 Двусторонняя передача между 10Mbits Full Duplex в 100Mbits Full Duplex портами.
    • 4.4 Односторонняя передача из 100Mbits Full Duplex в 10Mbits порт Half Duplex.
    • 4.5 Односторонняя передача из 10Mbits Half Duplex в 100Mbits порт Full Duplex.
    • 4.6 Двусторонняя передача между 10Mbits Half Duplex в 100Mbits Full Duplex портами.
  • 5. Не будем забывать и о 100Mbits концентраторах, которые могут быть подключены к коммутатору.
      Передача данных между 100Mbits концентратором и клиентом.
    • 5.1 Односторонняя передача из 100Mbits Half Duplex в 100Mbits порт Full Duplex.
    • 5.2 Односторонняя передача из 100Mbits Full Duplex в 100Mbits порт Half Duplex.
    • 5.3 Двусторонняя передача между 100Mbits Full Duplex и 100Mbits портами Half Duplex.
    • Передача данных между 100Mbits концентратором и 10Mbits концентратором.

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

    • 5.7 Односторонняя передача из 100Mbits Half Duplex в 10Mbits порт Full Duplex.
    • 5.8 Односторонняя передача из 10Mbits Full Duplex в 100Mbits порт Half Duplex.
    • 5.9 Двусторонняя передача между 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 Full Duplex и 10Mbits Full Duplex портами.
    • Моделируем подключение двух концентраторов к портам коммутатора.

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

    • 6.5 Односторонняя передача из порта 10Mbits Half Duplex в 10Mbits Full Duplex.
    • 6.6 Односторонняя передача из 10Mbits сегмента Full Duplex в порт 10Mbits Half Duplex.
    • 6.7 Двусторонняя передача между портами 10Mbits Half Duplex и 10Mbits Full Duplex.
  • 7. Передача данных между 100MBit портами в режиме полудуплекса.
    Эмулируется работа коммутатора в режиме объединения нескольких 100MBit концентраторов.
    • 7.1 Односторонняя передача из 100Mbits Half Duplex в 100Mbits порт Half Duplex.
    • 7.2 Двусторонняя передача между двумя 100Mbits Half Duplex портами.
    • 7.3 Режим передачи данных «все со всеми» в полудуплексном 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% и рассчитывается исходя из пропорции.

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

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

номер теста весовой коэффициент группа
1. 0.6 Группа 1 (пункты 1-3)
Работа в режиме 100MBit, Full Duplex
2.1 0.1
2.2 0.1
3 0.2
4.1 0.3 Группа 2 (пункты 4.1-4.3)
Коммутация между 10 и 100MBit портами, Full Duplex
4.2 0.3
4.3 0.4
4.4 0.3 Группа 3 (пункты 4.4-4.6)
Коммутация между портами 10Mbit Half Duplex и 100MBit Full Duplex
4.5 0.3
4.6 0.4
5.1 0.3 Группа 4 (пункты 5.1-5.3)
Коммутация между портами 100Mbit Half Duplex и 100MBit Full Duplex
5.2 0.3
5.3 0.4
5.4 0.3 Группа 5 (пункты 5.4-5.6)
Коммутация между портами 100Mbit Half Duplex и 10MBit Full Duplex
5.5 0.3
5.6 0.4
5.7 0.3 Группа 6 (пункты 5.7-5.9)
Коммутация между портами 100Mbit Half Duplex и 10MBit Half Duplex
5.8 0.3
5.9 0.4
6.1 0.1 Группа 7 (пункты 6.1-6.7)
Коммутация между 10Mbit портами с разными параметрами дуплекса
6.2 0.2
6.3 0.1
6.4 0.2
6.5 0.1
6.6 0.1
6.7 0.2
7.1 0.2 Группа 8 (пункты 7.1-7.3)
Коммутация между 100Mbit Half Duplex портами
7.2 0.2
7.3 0.6

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

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

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

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

Комментарии

Хочу добавить, что в процессе тестирования выяснилось интересное и, не побоюсь этого слова, необъяснимое поведение мини-коммутаторов с числом портов больше пяти — их пропускная способность в некоторых случаях зависит от размера блока данных, которым оперирует программа Intel IOMeter, использующаяся в качестве генератора трафика. При некоторых размерах блоков (иногда 512KB, а на некоторых устройствах и 32KB) коммутатор перестает осуществлять передачу данных через 30-300 секунд, точнее, данные идут, но скорость измеряется байтами в секунду. Причем происходит это не всегда в режиме 100MBit на обоих портах, гораздо чаще такая ситуация возникает в режиме 10MBit на одном и более портах коммутатора. Таким образом, это скорее всего не переполнение буферов порта. Данные "Perfomance Monitor", установленных на машинах, показывают, что хотя количество отправляемых пакетов не снижается (относительно нормальной скорости передачи), количество принятых пакетов с другой стороны находится на очень низком уровне (в десятки раз меньше количества отправленных пакетов). Тем не менее, счетчики ошибочных или отброшенных пакетов в утилите стоят на нулях.

Изучение исходников клиента dynamo (из пакета Intel IOMeter) показало, что программа не затрагивает низкоуровневые сетевые протоколы, таким образом, этот блок данных никоим образом не может влиять на размер пакетов tcp, а тем более ethernet-кадров. Точнее, он, конечно, влияет, но только в случае, если его размер — менее полутора килобайт. Единственное объяснение, которое мне приходит в голову — это все же интенсивность трафика при больших размерах пакетов в программе возрастает (приближается к предельному), и коммутатор перестает справляться с нагрузкой. В реальных условиях работы устройства такая ситуация, скорее всего, возникнуть не может. Но это объяснение является всего лишь моим предположением и может оказаться в корне неверным. Возможно у кого-то из читателей будут другие объяснения — не стесняйтесь высказывать их.

Возникает вопрос — а какой размер пакета устанавливать в IOMeter? Ранее выбранный размер 64KB теперь подходит не для всех 8ми портовых коммутаторов. Изначально он был выбран потому, что при меньшем размере генерируемый трафик не достигал максимального, а увеличение пакета свыше 64KB не приводило к заметному увеличению скорости передачи данных. Можно, конечно, тестировать каждое устройство при таком максимальном размере пакета, при котором оно еще передает данные сквозь себя, но при тестировании 8ми портовых устройств возникали ситуации, когда уменьшение размера пакета в два или даже в четыре раза, относительно начального 64KB приводило к увеличению скорости передачи данных в несколько раз. Повторяюсь, что это происходило только в том случае, когда как минимум один из тестируемых портов коммутатора работал на скорости 10MBit.

Пока у меня нет ответов на вышеназванные вопросы, поэтому тестирование будет продолжаться с размером блока 64KB. Но, так как были выявлены зависимости скоростей передачи данных от размера пакета, то выводов о том, что, к примеру, «данное устройство плохо справляется с передачей данных в полнодупексном режиме на скорости 10MBit» не будет, ибо непонятно пока, виновато ли устройство или дело в чем-то другом. Будем описывать только факты.

 




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

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

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

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

Для первой части использовалась утилита IOMeter, разработанная компанией Intel. К сожалению, фирма не осуществляет поддержку этой программы, а просто выложила ее на свой сайт "как есть".

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

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

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

Для тестирования строилась одноранговая локальная сеть Fast Ethernet из пяти компьютеров. На каждом установлена ОС Windows XP Professional, сетевые адаптеры Intel Express 100. Из сетевых протоколов убирался устанавливаемый по умолчанию QoS — выравнивание нагрузки (он предназначен для выравнивания трафика и может быть причиной снижения скорости приема/передачи данных).

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

  • 802.1p 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 Односторонняя передача из 100Mbits Full Duplex в 10Mbits порт Full Duplex.
    • 4.2 Односторонняя передача из 10Mbits Full Duplex в 100Mbits порт Full Duplex.
    • 4.3 Двусторонняя передача между 10Mbits Full Duplex в 100Mbits Full Duplex портами.
    • 4.4 Односторонняя передача из 100Mbits Full Duplex в 10Mbits порт Half Duplex.
    • 4.5 Односторонняя передача из 10Mbits Half Duplex в 100Mbits порт Full Duplex.
    • 4.6 Двусторонняя передача между 10Mbits Half Duplex в 100Mbits Full Duplex портами.
  • 5. Не будем забывать и о 100Mbits концентраторах, которые могут быть подключены к коммутатору.
      Передача данных между 100Mbits концентратором и клиентом.
    • 5.1 Односторонняя передача из 100Mbits Half Duplex в 100Mbits порт Full Duplex.
    • 5.2 Односторонняя передача из 100Mbits Full Duplex в 100Mbits порт Half Duplex.
    • 5.3 Двусторонняя передача между 100Mbits Full Duplex и 100Mbits портами Half Duplex.
    • Передача данных между 100Mbits концентратором и 10Mbits концентратором.

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

    • 5.7 Односторонняя передача из 100Mbits Half Duplex в 10Mbits порт Full Duplex.
    • 5.8 Односторонняя передача из 10Mbits Full Duplex в 100Mbits порт Half Duplex.
    • 5.9 Двусторонняя передача между 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 Full Duplex и 10Mbits Full Duplex портами.
    • Моделируем подключение двух концентраторов к портам коммутатора.

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

    • 6.5 Односторонняя передача из порта 10Mbits Half Duplex в 10Mbits Full Duplex.
    • 6.6 Односторонняя передача из 10Mbits сегмента Full Duplex в порт 10Mbits Half Duplex.
    • 6.7 Двусторонняя передача между портами 10Mbits Half Duplex и 10Mbits Full Duplex.
  • 7. Передача данных между 100MBit портами в режиме полудуплекса.
    Эмулируется работа коммутатора в режиме объединения нескольких 100MBit концентраторов.
    • 7.1 Односторонняя передача из 100Mbits Half Duplex в 100Mbits порт Half Duplex.
    • 7.2 Двусторонняя передача между двумя 100Mbits Half Duplex портами.
    • 7.3 Режим передачи данных «все со всеми» в полудуплексном 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% и рассчитывается исходя из пропорции.

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

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

номер теста весовой коэффициент группа
1. 0.6 Группа 1 (пункты 1-3)
Работа в режиме 100MBit, Full Duplex
2.1 0.1
2.2 0.1
3 0.2
4.1 0.3 Группа 2 (пункты 4.1-4.3)
Коммутация между 10 и 100MBit портами, Full Duplex
4.2 0.3
4.3 0.4
4.4 0.3 Группа 3 (пункты 4.4-4.6)
Коммутация между портами 10Mbit Half Duplex и 100MBit Full Duplex
4.5 0.3
4.6 0.4
5.1 0.3 Группа 4 (пункты 5.1-5.3)
Коммутация между портами 100Mbit Half Duplex и 100MBit Full Duplex
5.2 0.3
5.3 0.4
5.4 0.3 Группа 5 (пункты 5.4-5.6)
Коммутация между портами 100Mbit Half Duplex и 10MBit Full Duplex
5.5 0.3
5.6 0.4
5.7 0.3 Группа 6 (пункты 5.7-5.9)
Коммутация между портами 100Mbit Half Duplex и 10MBit Half Duplex
5.8 0.3
5.9 0.4
6.1 0.1 Группа 7 (пункты 6.1-6.7)
Коммутация между 10Mbit портами с разными параметрами дуплекса
6.2 0.2
6.3 0.1
6.4 0.2
6.5 0.1
6.6 0.1
6.7 0.2
7.1 0.2 Группа 8 (пункты 7.1-7.3)
Коммутация между 100Mbit Half Duplex портами
7.2 0.2
7.3 0.6

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

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

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

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

Комментарии

Хочу добавить, что в процессе тестирования выяснилось интересное и, не побоюсь этого слова, необъяснимое поведение мини-коммутаторов с числом портов больше пяти — их пропускная способность в некоторых случаях зависит от размера блока данных, которым оперирует программа Intel IOMeter, использующаяся в качестве генератора трафика. При некоторых размерах блоков (иногда 512KB, а на некоторых устройствах и 32KB) коммутатор перестает осуществлять передачу данных через 30-300 секунд, точнее, данные идут, но скорость измеряется байтами в секунду. Причем происходит это не всегда в режиме 100MBit на обоих портах, гораздо чаще такая ситуация возникает в режиме 10MBit на одном и более портах коммутатора. Таким образом, это скорее всего не переполнение буферов порта. Данные "Perfomance Monitor", установленных на машинах, показывают, что хотя количество отправляемых пакетов не снижается (относительно нормальной скорости передачи), количество принятых пакетов с другой стороны находится на очень низком уровне (в десятки раз меньше количества отправленных пакетов). Тем не менее, счетчики ошибочных или отброшенных пакетов в утилите стоят на нулях.

Изучение исходников клиента dynamo (из пакета Intel IOMeter) показало, что программа не затрагивает низкоуровневые сетевые протоколы, таким образом, этот блок данных никоим образом не может влиять на размер пакетов tcp, а тем более ethernet-кадров. Точнее, он, конечно, влияет, но только в случае, если его размер — менее полутора килобайт. Единственное объяснение, которое мне приходит в голову — это все же интенсивность трафика при больших размерах пакетов в программе возрастает (приближается к предельному), и коммутатор перестает справляться с нагрузкой. В реальных условиях работы устройства такая ситуация, скорее всего, возникнуть не может. Но это объяснение является всего лишь моим предположением и может оказаться в корне неверным. Возможно у кого-то из читателей будут другие объяснения — не стесняйтесь высказывать их.

Возникает вопрос — а какой размер пакета устанавливать в IOMeter? Ранее выбранный размер 64KB теперь подходит не для всех 8ми портовых коммутаторов. Изначально он был выбран потому, что при меньшем размере генерируемый трафик не достигал максимального, а увеличение пакета свыше 64KB не приводило к заметному увеличению скорости передачи данных. Можно, конечно, тестировать каждое устройство при таком максимальном размере пакета, при котором оно еще передает данные сквозь себя, но при тестировании 8ми портовых устройств возникали ситуации, когда уменьшение размера пакета в два или даже в четыре раза, относительно начального 64KB приводило к увеличению скорости передачи данных в несколько раз. Повторяюсь, что это происходило только в том случае, когда как минимум один из тестируемых портов коммутатора работал на скорости 10MBit.

Пока у меня нет ответов на вышеназванные вопросы, поэтому тестирование будет продолжаться с размером блока 64KB. Но, так как были выявлены зависимости скоростей передачи данных от размера пакета, то выводов о том, что, к примеру, «данное устройство плохо справляется с передачей данных в полнодупексном режиме на скорости 10MBit» не будет, ибо непонятно пока, виновато ли устройство или дело в чем-то другом. Будем описывать только факты.