Сложная сеть требует сложных устройств. Если вы хотите получать статистику с портов, использовать протокол STP или агрегировать каналы для увеличения пропускной способности, вам понадобится "умный" коммутатор - управляемый. Управляемые коммутаторы различаются не только по количеству и типу портов, но и по своему функционалу.
Управляемые коммутаторы начального уровня, как правило, содержат только зачатки поддержки технологий QoS, довольно простую систему мониторинга, только базовую поддержку протокола SNMP, не поддерживают контроль доступа в сеть и управление шириной полосы пропускания.
В этом обзоре речь пойдет о представителе более высокого класса этих устройств - управляемом коммутаторе среднего уровня D-Link DES-3010G, который содержит 8 портов, работающих на скоростях 10/100 Мбит/с, один порт 1000Мбит/с и одно универсальное гнездо для установки модуля SFP.
DES-3010G поддерживает расширенную реализацию QoS, SNMP v.3, контроль доступа по 802.1x, заданий полосы пропускания для каждого порта и весьма широкие возможности по фильтрации и мониторингу.
Администрирование
Коммутатор позволяет разграничить административный доступ путем создания учетных записей пользователей в локальной базе и назначения им двух уровней приоритета: "администратор" и "пользователь". Теоретически "пользователь" может только просматривать конфигурацию, но не менять ее.
Однако, присмотревшись, я заметил, что контроль доступа реализован программистами D-Link на уровне JavaScript. Проблема в том, что JavaScript выполняется на стороне пользователя, а значит, может быть изменен или отключен пользователем. Я решил проверить эту гипотезу и отключил JavaScript в браузере - и (о, чудо!) получил администраторские права, используя учетную запись "пользователя".
По крайней мере, в прошивке версии 1.01.021 не стоит использовать этот механизм для разграничения доступа - в нем есть серьезная уязвимость.
Вывод трафика на анализатор
Для диагностики и мониторинга коммутатор поддерживает функцию "Mirror port", которая позволяет настроить дублирование кадров с заданных портов на один выбранный (он и есть "mirror port"). Затем к этому порту можно подключить сетевой монитор - это отдельное аппаратное устройство для анализа трафика в сети или любой компьютер с установленной программой-анализатором. Эта функция позволяет проводить диагностику сети путем анализа трафика, который по ней циркулирует, либо использовать ее для ведения экаунтинга с помощью соответствующих программ.
Один из самых популярных бесплатных анализаторов трафика - Ethereal. Другой интересный и бесплатный - ntop с уклоном на статистические задачи.
SNMP v.3
Для управления и мониторинга коммутатора поддерживается протокол SNMP v.3. Примечательно то, что версия 3 протокола SNMP хорошо защищена как от прослушки, так и от несанкционированного доступа. Однако для полной реализации защиты требуется наличие SNMP-менеджера (ПО, которое управляет устройствами по SNMP) с поддержкой SNMP v.3.
В режиме SNMP v.3 коммутатор поддерживает создание пользователей, групп и т.н. "view", т.е. списков OID'ов, которые определяют, к каким записям имеют доступ определенные группы и пользователи. Object Identifier (OID) - это идентификатор переменной SNMP.
Несколько слов об SNMP v.3. Дело в том, что с этой версии было решено отказаться от прежней схемы аутентификации доступа к SNMP-агенту, т.е. устройству с поддержкой управления по SNMP. Вместо т.н. community были введены обычные имена пользователей и пароли. Причем, аутентификация и передача данных может осуществляться с шифрованием. Была изменена и система разграничения прав при доступе по SNMP - если раньше градация прав ограничивалась на "полный доступ на чтение"/"полный доступ на запись" для всего устройства, то в версии 3 появилось понятие view, которое и определяет, к каким OID'ам указанный пользователь имеет доступ и какой.
Если вы используете SNMP v.1, то стоит иметь в виду, что он не поддерживает шифрование, а т.н. "community name" фактически является паролем доступа по SNMP и передается по сети в открытом виде. Поэтому SNMP v.1 следует использовать только в крайнем случае и только через защищенные от прослушивания каналы.
VLAN'ы
VLAN'ы в режиме 802.1q могут передавать свои кадры за пределы коммутатора с сохранением метки ("tag"). Разумеется, устройство, на которое передается маркированный ("tagged") кадр, тоже должно поддерживать стандарт IEEE 802.1q и "понимать" метку VLAN'а.
В режиме 802.1q каждый порт коммутатора может принадлежать к одному и более VLAN'у, причем для каждого VLAN'а он может работать в режиме "tagged", "untagged" и "none". В режиме "none" порт не участвует в работе VLAN'а, в режиме "tagged" порт является транковым, т.е. передает кадры этого VLAN'а, сохраняя метку, а в режиме "untagged" порт передает кадры, удаляя из них метку VLAN'а.
Если порт находится в режиме tagged и участвует в работе нескольких VLAN'ов, то появляется интересная возможность пробрасывать несколько изолированных локальных сегментов через одно физическое соединение Ethernet.
Например, такая схема применяется для маршрутизаторов с поддержкой 802.1q - в этом случае через один порт Ethernet к маршрутизатору подводятся несколько виртуальных сегментов Ethernet, которые потом распределяются по портам коммутатора, находящимся в режиме untagged, а к последним уже можно подключать устройства без поддержки 802.1q. В результате можно получить серьезную экономию на модулях Ethernet-портов для маршрутизатора (особенно это актуально для маршрутизаторов производства Cisco).
Второе использование транковых портов заключается в том, чтобы организовать несколько VLAN'ов в пределах всей сети. В случае использования 802.1q достаточно соединить коммутаторы, на которых должны обслуживаться клиенты этих VLAN'ов, транковыми портами (в режиме tagged). Тогда коммутаторы будут обмениваться кадрами, содержащими метку VLAN'а, что позволит им корректно разделять кадры между виртуальными сегментами в рамках одной виртуальной сети.
Объединение (агрегирование)
каналов
Иногда требуется объединить несколько подключений по Ethernet с тем, чтобы либо получить большую пропускную способность, либо повысить надежность подключения, либо и то, и другое сразу. Однако Ethernet в оригинальном состоянии это не "умеет" - требуется более интеллектуальная работа с такими соединениями, иначе петля замкнется и возникнет т.н. широковещательный шторм.
Для корректной работы параллельных подключений по Ethernet был разработан протокол 802.1ad, который регламентирует создание т.н. агрегированных каналов (aggregated links, иногда называются транковыми, но в этом случае может возникнуть путаница с протоколом 802.1q).
У агрегированных каналов сплошные плюсы. Во-первых, они позволяют умножать пропускную способность каждого канала на их количество: например, агрегированный канал из 4 каналов Fast Ethernet даст пропускную способность до 400 Мбит/с. Во-вторых, серьезно повышается надежность общего агрегированного канала - в случае с 4 каналами общий канал будет сохранять работоспособность до того момента, пока будет работать хотя бы один из 4-х каналов Fast Ethernet.
Балансировка трафика между каналами осуществляется по трем алгоритмам: по MAC-адресу получателя, по MAC-адресу отправителя или по обоим адресам сразу. Схему можно выбрать в общесистемных настройках коммутатора.
При любой схеме балансировки любые две станции всегда будут использовать один определенный физический канал, что гарантирует отсутствие изменения порядка кадров, но не позволяет использовать этим компьютерам всю полосу агрегированного канала. Т.е. каждый компьютер может использовать максимум один физический канал.
Ограничение пропускной
способности портов
Коммутатор поддерживает задание пропускной способности для каждого порта, что позволяет ограниченно использовать его сервис-провайдерам, либо там, где необходимо установить реальную скорость передачи данных ниже относительно той, что обеспечивает аппаратное подключение.
К сожалению, ограничение скорости можно задать только на прием, передачу или и то, и другое сразу. Т.е. задать различные значения ограничения на прием и передачу невозможно.
Шаг шкалы ограничения составляет 64 Кбит/с, при скоростях до 2 Мбит/с, 1 Мбит/с - при скоростях от 2 Мбит/с до 100 Мбит/с, и 8 Мбит/с - при скоростях выше 100 Мбит/с.
Очереди кадров
Для каждого порта коммутатор поддерживает 4 очереди на отправку, куда попадают кадры в соответствии с полем CoS (Class of Service - класс сервиса), которое может выставлять сам компьютер, передающий данные. Очереди нужны для того, чтобы классы трафика, критичные к задержкам и потерям, например, аудио/видео конференции, могли получить нужную полосу пропускания и требуемую задержку отправки даже на перегруженном порту.
Суть механизма очередей в том, что если порт не может передать все данные за требуемое время, то он передает данные сначала из самой приоритетной очереди, затем из менее приоритетной, и т.д. Тем самым, менее критичные к потери данные передаются позже данных, которые высококритичны к потерям.
На DES-3010G очереди маркируются приоритетами от 0 до 3. Где 3 - максимальный, а 0 - минимальный. По умолчанию, данные, критичные к задержкам и потерям, попадают именно в класс 3 (максимальный).
Коммутатор поддерживает два типа обработки трафика класса 3: strict и weighted fair. Если используется тип обработки strict, то все данные, принадлежащие к классу, который будет так обрабатываться, будут переданы перед всеми остальными. Т.е. пока есть данные для передачи по типу strict, другие будут стоять в очереди и не передаваться. Такой тип обработки обычно применяется только для трафика, который очень критичен к задержкам - аудио/видео данные, и трафика управления.
Второй тип - weighted fair - обрабатывается по-другому. Здесь уже применяется т.н. "вес" очереди. "Вес" означает, сколько кадров данного класса будет передано за один "проход" передачи. Потом начинается следующий проход и т.д. Например, если в очереди много кадров всех классов, то при настройках по умолчанию коммутатор передаст восемь кадров класса 3, четыре кадра класса 2, два кадра класса 1 и только один кадр класса 0. При следующем проходе ситуация повторится - кадры будут передаваться в количестве, равном "весу" этого класса.
Тут важно понимать, что очередь типа weighted fair включается только в случае перегрузки какого-либо порта на передачу. Если порт недогружен, то очереди не активируются и кадры передаются в том порядке, в котором подготавливаются к отправке.
Приоритеты портов
Для каждого порта можно задать приоритет, который будет учитываться при обработке кадров, принятых с этого порта в очереди на отправку (уже с другого порта). Указание приоритета для порта приведет к тому, что кадры, принятые через этот порт, будут иметь указанный приоритет и попадать в соответствующую очередь. Приоритет по умолчанию - 0. Т.е. все кадры с этого порта, у которых не установлено поле CoS (Class of Service), будут получать минимальный приоритет, однако, если поле CoS установлено, то будет использоваться именно его значение.
Фильтрация количества хостов на
порту
Функция port security позволяет определить, какое количество и какие MAC-адреса будут обслуживаться на определенном порту. При включении этой функции коммутатор запомнит от 1 до 10 MAC-адресов и будет обслуживать на этом порту только их. Это позволяет бороться с таким явлением, как смена MAC-адреса пользователями сети, и т.н. MAC-spoofing'ом (подделка обратного MAC-адреса).
Контроль доступа по 802.1x
Протокол 802.1x позволяет контролировать доступ в локальную сеть на втором уровне посредством применения аутентификации. В классическом Ethernet вообще не были предусмотрены средства аутентификации подключенных пользователей - любой, кто мог подключиться к коммутатору, получал доступ в локальную сеть. Этот пробел восполнил протокол 802.1x, который используется для аутентификации пользователей RADIUS-сервера.
Суть работы протокола заключается в том, что он блокирует все кадры от пользователя, за исключением кадров до RADUIS-сервера, пока пользователь не пройдет аутентификацию и RADUIS-сервер не подтвердит, что этот пользователь авторизован для работы в локальной сети. После того, как пользователь прошел процедуру авторизации, коммутатор снимает фильтрацию с этого порта и начинает пропускать все кадры пользователя.
В DES-3010G реализована возможность использования не только RADIUS-сервера, но и локальной базы пользователей для контроля доступа по 802.1x.
Выводы
Если бы не "прокол" с системой контроля доступа "администратор"/"пользователь", то можно было бы сказать, что устройство имеет несколько незначительных недоработок.
Однако, в целом, коммутатор показал себя хорошо. За время тестирования не было выявлено сбоев, настройки и возможности мониторинга довольно широкие. Учитывая разумную стоимость (около $170 на середину весны 2006 года), мне думается, что этот коммутатор займет свою нишу.
Очевидные плюсы:
- Доступная цена.
- Довольно подробная документация на английском языке, которая раскрывает не только настройки коммутатора, но и некоторые концепции сетевых технологий.
- Широкие возможности по фильтрации кадров и защите от штормов.
- Широкие возможности по визуальному мониторингу.
- Поддержка протокола 802.1x.
Очевидные минусы:
- В системе управления имеется уязвимость - пользователь с низким уровнем привилегий может изменять конфигурацию; если не использовать "пользовательские" учетные записи, то она не проявится.
- Нет возможности просмотра статистики сразу по нескольким портам.
- Процедура восстановления забытого пароля не описана в документации.
Алексей ГРЕЧАНИНОВ,
ag@techlabs.by
Коммутатор D-Link DES-3010G для обзора был предоставлен официальным дистрибьютором D-Link в РБ компанией ОДО "Мультисофт"
Горячие темы