Большинство сетей имеют тенденции к расширению. Увеличивается число рабочих станций, серверов, автономных устройств хранения данных, принтеров… чего-то меня понесло. Так вот, все эти устройства надо куда-то подключать. Можно поставить много пяти-портовых коммутаторов и любоваться, как они будут перемигиваться индикаторами, но лучше изначально ориентироваться на возможность (если она планируется) расширения своей сети и сразу ставить коммутаторы с большим числом портов. Я, конечно, не призываю сразу покупать 32-портовых монстров, но вот посмотреть в сторону восьми- и шестнадцатипортовых, думаю, смысл имеет. К тому же, если взглянуть на разницу цене между 8-и и 5-и портовыми миникоммутаторами, то становится ясно, что последние стоит покупать, только если есть твердая уверенность, что в ближайший год-два сеть расширяться не будет, либо при сильных ограничениях финансового плана.
Естественно, что кроме внешних признаков, восьми-портовые устройства отличаются от своих меньших собратьев еще и увеличенным внутренним буфером, количеством запоминаемых MAC адресов и максимальной пропускной способностью. Что вполне понятно возросло количество портов, соответственно, увеличился и максимально возможный поток данных. Возможны и другие отличия, но это уже специфика отдельных моделей.
А теперь рассмотрим одного из представителей этого класса коммутатор TRENDnet TE100-S88E компании TRENDware.
Комплект поставки остался прежним коммутатор, блок питания и брошюрка с краткой документацией. Хоть документация и краткая, в ней есть как теория ethernet сетей, так и практика подключения миникоммутатора к другим устройствам. Из нововведений отмечу, что индикаторов состояния порта стало два (один из них двухцветный), а также появился «загадочный» светодиод LOOP.
Индикация традиционно выведена на переднюю панель. Кроме индикаторов состояния портов присутствует также индикатор питания и индикатор сетевых петель. Последний служит для оповещения об обнаружении закольцовывания трафика в сети. В переводе на русский это означает, что загорится он в том случае, если специальный пакет, посланный коммутатором с одного порта, будет получен на другом его порту (трафик, ушедший с одного порта коммутатора, возвращается на другой его порт).
Приведу таблицу состояния индикаторов:
индикатор | состояние | информация |
10/100 link/act | горит зеленым | скорость 100MBit |
10/100 link/act | горит желтым | скорость 10MBit |
10/100 link/act | мигает | передача данных |
FDX/Col | горит | наличие полного дуплекса |
FDX/Col | мерцает | коллизия в полудуплексном режиме |
PWR | горит | устройство включено |
LOOP | горит | обнаружена сетевая петля |
Корпус устройства металлический, предусмотрена его установка как на горизонтальную плоскость (для этого можно наклеить резиновые ножки, идущие в комплекте), так и на вертикальную в корпусе сделаны крепежные отверстия. В качестве аплинка используется девятый разъем, совмещенный с первым портом коммутатора.
Коммутатор базируется на восьми-портовом 10/100 Ethernet Switch микроконтроллере RTL8308B компании Realtek. В качестве буфера ethernet пакетов используется встроенная в него память объемом 2 мегабита (ее организация 32K × 64), работающая на частоте 50MHz. Память организована в виде одно-килобайтовых страниц. Таблица MAC адресов содержит 8K записей (не более 1K записей на порт), для ускорения доступа к ней используется CAM таблица на 128 записей.
Интерфейс портов микроконтроллера RMII, доступ к среде передачи организован посредством двух четырехпортовых (внешних) трансиверов RTL8204. В данном случае трансиверы закрыты неснимаемыми радиаторами (они припаяны к плате), но, скорее всего, стоят именно RTL8204.
Используемые методы коммутации пакетов с промежуточной буферизацией (store-and-forward) и (опционально) сквозной коммутацией (cut-through). Второй метод используется только для пакетов длиной не более 512 байт. О коммутации с промежуточной буферизацией уже говорилось пакет сначала полностью принимается в буфер устройства, потом происходит анализ его целостности на основе контрольных сумм и только после этого определяется его дальнейшая судьба на основе адреса назначения. Таким образом, этот метод хоть и не является самым быстрым, зато гарантирует фильтрацию трафика от искаженных (ошибочных) кадров. Метод сквозной коммутации работает быстрее коммутатор после приема первых нескольких байтов кадра (где содержится адрес получателя) сразу принимает решение о его дальнейшем маршруте (или уничтожении, если получатель находится на том порту, откуда кадр и пришел). Дальнейшие байты этого кадра сразу направляются на выходной порт (или уничтожаются). Естественно, если выходной порт в этот момент оказывается занятым, то данные поступят в его буфер (сквозная коммутация заменяется на промежуточную буферизацию).
Метод сквозной коммутации обеспечивает большой выигрыш в производительности по сравнению с коммутацией с промежуточной буферизацией, но тут есть и ложка дегтя так как пакет не анализируется полностью (в силу того, что он не буферизируется в памяти), то фильтрации ошибочных пакетов не происходит. Соответственно, снижается надежность передачи ошибочные кадры будут пропущены далее.
Судя по даташиту, в микроконтроллер встроено еще много всего, другой вопрос, что из этих замечательных вещей используется.. Например, там присутствует следующее:
- Broadcast Storm Filtering Control (защита от Broadcast-шторма).
Если счетчик количества широковещательных пакетов (с MAC адресом получателя FF FF FF FF FF FF) превысит порог 64 пакета подряд, последующие пакеты будут отброшены. Счетчик обнуляется каждые 800ms или при получении пакета любого другог типа. - Loop Detection (Обнаружение петель трафика).
Для этого устройства периодически (каждые 3-5 минут) рассылает 64 битный широковещательный пакет определенного формата, содержащий уникальный идентификатор. Об обнаружении петли сигнализирует специальный светодиодный индикатор. Для работоспособности этой функции все устройства в сети должны иметь ее поддержку. - Интеллектуальная фильтрация и перенаправление кадров.
Фильтрация и перенаправление полученных кадров может базироваться на информации, полученной из кадра, на основе состояния (не отключен ли) порта, внутренней конфигурации коммутатора или конфигурации VLAN. Так же имеется поддержка протокола Spanning Tree (STP protocol). - Port Monitoring (Мониторинг порта).
Возможность дублирования кадров, проходящих через определенный порт коммутатора на другой порт, для анализа трафика, к примеру. - Наличие интерфейса 24LC02.
Он используется для доступа к EEPROM емкостью 2 килобита для хранения конфигурации. - Расширенные функции работы с MAC адресами.
Кроме стандартного режима обучения (режим динамических MAC адресов), существуют еще режим статических MAC адресов. В первом случае коммутатор заполняет таблицу MAC адресов в соответствии с информацией из пакетов, приходящих с портов. Во втором возможна жесткая привязка MAC адреса к порту. Информация об этом берется из EEPROM или через интерфейс управления.
Так как рассматриваемое нами устройство не содержит в себе каких-либо функций управления, и в документации ничего о вышеперечисленных режимах работы, кроме детектирования петель, упомянуто не было, я полагаю, что остальные функции в коммутаторе не задействованы.
Перейдем непосредственно к рассмотрению коммутатора. Его характеристики:
- Количество портов 8
- Поддержка IEEE 802.3 (10Base-T Ethernet 10Mbits) и IEE 802.3u (100Base-TX Fast Ethernet 100Mbits)
- Поддержка полу- и полнодуплексного режима работы в обоих случаях
- Автодетектирование скорости работы и режима дуплекса
- Тип коммутации "Store and Forward" (с промежуточной буферизацией)
- Поддержка Full Duplex 802.3x Flow Control
- Поддержка Half Duplex Back Pressure Flow Control
- Поддержка N-Way auto negotiation
- Размер буфера кадров 256KB
- Количество запоминаемых MAC адресов 8K
- Возможность детектирования сетевых петель
- Тип питания +5Vdc, внешний БП, максимальное энергопотребление 1,2Вт
- Размеры (Ш/Д/В) 116 × 98 × 29 мм
- Вес 460 г
- Рабочие температуры 0–50° С
- Рабочая влажность 10–90%
Результаты тестирования.
Сводная таблица.
Методика тестирования описана тут. Считаются данные, идущие только в одну сторону (полудуплекс) через порт, если не указано обратного. Скорость считается в килобайтах (не килобитах!). Данные передавались блоками по 64KB.
тест | клиенты | режим первого, Mbits | дуплекс первого | скорость передачи первого, KByte/sec | направление передачи | режим второго, Mbits | дуплекс второго | скорость передачи второго, KByte/sec |
1 | 5 | 100 | Full | 10800 | <--> | |||
2.1 | 2 | 100 | Full | 12300 | --> | 100 | Full | |
2.2 | 2 | 100 | Full | 12150 | <--> | 100 | Full | 12030 |
3 | 4+1 | 100 | Full | 12300 | --> | 4x100 | Full | |
4.1 | 2 | 100 | Full | 480 | --> | 10 | Full | |
4.2 | 2 | 10 | Full | 5 | --> | 100 | Full | |
4.3 | 2 | 100 | Full | 435 | <--> | 10 | Full | 5 |
4.4 | 2 | 100 | Full | 1020 | --> | 10 | Half | |
4.5 | 2 | 10 | Half | 1180 | --> | 100 | Full | |
4.6 | 2 | 100 | Full | 260 | <--> | 10 | Half | 890 |
5.1 | 2 | 100 | Half | 2500 | --> | 100 | Full | |
5.2 | 2 | 100 | Full | 5650 | --> | 100 | Half | |
5.3 | 2 | 100 | Half | 2100 | <--> | 100 | Full | 160 |
5.4 | 2 | 100 | Half | 155 | --> | 10 | Half | |
5.5 | 2 | 10 | Half | 1170 | --> | 100 | Half | |
5.6 | 2 | 100 | Half | 80 | <--> | 10 | Half | 1100 |
5.7 | 2 | 100 | Half | 460 | --> | 10 | Full | |
5.8 | 2 | 10 | Full | 5 | --> | 100 | Half | |
5.9 | 2 | 100 | Half | 160 | <--> | 10 | Full | 60 |
6.1 | 2 | 10 | Full | 200 | --> | 10 | Full | |
6.2 | 2 | 10 | Half | 70 | <--> | 10 | Full | 90 |
6.3 | 2 | 10 | Half | 1130 | --> | 10 | Half | |
6.4 | 2 | 10 | Half | 500 | <--> | 10 | Half | 490 |
6.5 | 2 | 10 | Half | 150 | --> | 10 | Full | |
6.6 | 2 | 10 | Half | 250 | --> | 10 | Full | |
6.7 | 2 | 10 | Half | 130 | <--> | 10 | Full | 150 |
7.1 | 2 | 100 | Half | 3050 | --> | 100 | Half | |
7.2 | 2 | 100 | Half | 3900 | --> | 100 | Half | 460 |
7.3 | 5 | 100 | Half | 5200 | <--> |
Диаграмму производительности строить не будем, так как пока не с чем сравнивать. А диаграммы работы коммутатора вынесены на отдельную страницу.
Уже становится правилом, что при максимальной загрузке большинства портов коммутатора устройство работает на максимуме своей пропускной способности, но при коммутации всего двух портов с различными параметрами среды передачи наблюдаются все еще непонятные проблемы. Вызваны ли они максимальной загрузкой этих двух портов (то есть, виновато устройство) или все же несовершенна методика непонятно. В любом случае, скоро методика несколько расширится, и можно будет более комплексно рассмотреть эту проблему.
С функциональной точки зрения практически все замечательно из индикации отсутствует только индикатор аварии на порту. Двухцветные индикаторы более удобные, чем набор одноцветных. Порт аплинка присутствует. Устройство возможно устанавливать как горизонтально, так и подвешивать на вертикальные плоскости. Отдельных слов заслуживает блок питания. С одной стороны он импульсный, что теоретически позволяет коммутатору при кратковременных (очень кратковременных) провалах напряжения в сети электропитания не перезагружаться, а нормально продолжать свою работу. Это плюс. Но есть и обратная сторона медали шнур от БП до коммутатора очень короткий, всего 90см, что исключает установку устройства вдали от розетки. Либо придется воспользоваться удлинителем.
Не совсем ясно, почему многие интересные функции контроллера, на котором собрано устройство, остались незадействованными. Хотя это безусловно привело бы к некоторому удорожанию конечного продукта. Насколько сильному? Ответ останется на совести производителя.
С другой стороны, возникает вопрос о нужности функции детектирования сетевых петель в данной модели. Подобные петли могут возникать в больших сетях со сложной топологией, где присутствует дублирование каналов. Но там обычно используются более дорогие и функциональные устройства.
Возможно, инженерам компании тоже приходили в голову похожие мысли, поэтому сейчас на рынке можно увидеть так же миникоммутатор модели TE100-S88Eplus. Несмотря на схожие названия моделей, это два совершенно разных устройства. TE100-S88Eplus собран на другом микроконтроллере. Он обладает меньшим размером буфера кадров и буфера MAC адресов, у него отсутствует аплинк порт и изменена структура индикаторов. Понятно, что компания пошла по пути еще большего удешевления.
Выводы
Недорогой миникоммутатор с полным набором соответствующих функций — подойдет как для использования дома, в офисе, так и в локальных сетях средней протяженности. Вот только, наверное, придется запастись удлинителем.
Благодарю Андрея Воробьева за предоставления фото- и компьютерного оборудования.