Часть четвертая. Ethernet: коммутаторы, каналы и VLAN'ы
В предыдущей статье (№34) мы рассказали об основах технологии Ethernet - формате кадра, топологии и принципе коммутации. В этой части перейдем уже к более практической теме - коммутаторам, пропускной способности каналов и виртуализации с использованием VLAN.
Типы и виды коммутаторов
Самый простой и распространенный типа коммутатора - "неуправляемый" (unmanaged). Неуправляемые коммутаторы реализуют только физическую топологию сети, они могут передавать кадры, но не поддерживают протоколы, которые требуют настройки самого коммутатора, в частности, RSTP и VLAN. Поскольку коммутатор неуправляемый, то и настраивать там нечего, все, что он реализует, работает либо автоматически (например, определение скорости и кроссировки), либо является защитным механизмом (например, защита от широковещательного шторма). Такие коммутаторы обычно устанавливаются для подключения пользователей как наиболее недорогие.
Следующий, уже более "продвинутый", тип коммутатора - "настраиваемый" (smart). Этот тип может содержать поддержку протоколов логической топологии и некоторых других, таких, как транкование и VLAN, поскольку поддерживает настройку. Он является переходным звеном между неуправляемыми и управляемыми коммутаторами, и обычно применяется там, где функционал неуправляемого недостаточен, а управляемого избыточен.
Самый "умный" тип коммутатора - "управляемый" (manageable). Он уже поддерживает не только настройку "умных" протоколов, но и мониторинг портов, что позволяет, например, снимать статистику по переданному трафику и количеству ошибок для каждого порта. Это самый дорогой тип коммутатора второго уровня, поскольку он же самый функциональный.
Существуют также коммутаторы третьего уровня, они управляемые по определению, но являются гибридом коммутатора и маршрутизатора и будут рассматриваться в статье про третий уровень модели OSI.
По типу исполнения коммутаторы бывают фиксированными, когда уже все порты установлены в коммутаторе, гибридными, когда часть портов установлена, но имеются гнезда для расширения, и модульными, когда коммутатор вообще не содержит портов, а предназначен для установки модулей расширения, которые и содержат порты.
Тип исполнения коммутатора выбирается исходя из текущих потребностей и планов развития. Например, если на данный момент требуется коммутатор с портом Gigabit Ethernet для витой пары, но планируется перевести магистральные каналы на оптику, то стоит покупать гибридный коммутатор с гнездом для модулей GBIC или SFP, что позволит в дальнейшем просто заменить модуль на оптической, но не менять весь коммутатор. Модульные коммутаторы еще более универсальны и применяются обычно в тех местах, где требуются несколько типов портов. Плата за любую универсальность - стоимость, так что выбрать коммутатор нужно, в том числе, и по этому параметру.
Существует технология, которая позволяет подавать питание на небольшие сетевые устройства (такие как точки беспроводного доступа и маршрутизаторы) по той же витой паре, что они подключаются к коммутатору. В некоторых случаях это позволяет установить малогабаритное сетевое оборудование в местах, где это наиболее удобно, но там отсутствует электропроводка. Для подачи питания по витой паре используются либо коммутаторы с поддержкой технологии Power Over Ethernet (PoE), либо многопортовые инжекторы питания для монтажа в стойку, либо индивидуальные инжекторы для включения в разрыв одного кабеля. Неоспоримая польза этой технологии в том, что в случае организации питания PoE-коммутатора от источника бесперебойного питания, в случае падения напряжения питание будет подаваться не только на этот коммутатор, но и на все устройства, подключенные к нему по технологии PoE, что существенно повысит надежность сети на случай проблем с электропитанием.
Пропускная способность и транки
Пропускная способность - это параметр, отражающий количество бит, которые можно передать за одну секунду. Причем, если рассматривать цепочку "клиентское устройство"-"сеть"-"клиентское устройство", то для достижения максимальной пропускной способности каждое звено должно обеспечивать пропускную способность не ниже, чем можно передать через среду передачи (витую пару, в частности). Если где-то возникает место с меньшей пропускной способностью, то такое место называют "бутылочным горлышком" (bottleneck) или просто "узким местом" и стараются устранить. Раньше такими местами могли быть сами коммутаторы, поскольку производительность их фабрики коммутации могла быть ниже, чем суммарная пропускная способность всех портов. Что приводило в тому, что если бы все клиентские устройства начали передавать данные, то коммутатор не справился бы с этим потоком и начал отбрасывать кадры.
В современных коммутаторах производительность фабрики коммутации равняется суммарной пропускной способности всех портов, умноженной на два (поскольку двунаправленная передача - полный дуплекс). Соответственно, сколько бы кадров не было принято коммутатором, все они будут доставлены получателям, если только порт получателя не перегружен. Такой тип производительного коммутатора принято называть "работает на скорости линии" (wirespeed). Отличить такие коммутаторы можно либо по прямому указанию производителя "wirespeed", либо по производительности фабрики коммутации, которая равняется (или выше) суммарной пропускной способности всех портов, умноженной на 2. Если использовать такой коммутатор, то узким местом он являться не будет.
Принимая за аксиому то, что клиентские устройства не являются узким местом, то узкое место может появиться только в связи с перегрузкой конкретного порта коммутатора. Такая ситуация возникает, когда несколько клиентских устройств пытаются передать большой поток данных как одно устройство. Разумеется, такой поток проходит через фабрику коммутации, но не "входит" в канал до клиентского устройства. Возможна и обратная ситуация - несколько рабочих станций запросили данные с файлового сервера, но он не может передать их на максимальной скорости, на которой их могут принять рабочие станции, поскольку ограничен скоростью порта, через который он подключен к коммутатору.
Соответственно, чем больше рабочих станций одновременно запросило данные, тем медленнее они их получат.
Чтобы расширить канал, применяется транкование (trunking), это объединение каналов в "пучок". Суть данной технологии в том, что два Ethernet-устройства соединяются несколькими кабелями (или оптическим волокном) с тем, чтобы суммарная пропускная способность этих каналов была достаточной для пропуска потока кадров. Вспомним, что классический Ethernet не допускает таких петель, соответственно, появился новый протокол, описываемый стандартом IEEE 802.1q. Протокол транкования поддерживается на коммутаторах, начиная с уровня "настраиваемый", и позволяет создавать логические каналы между Ethernet-устройствами, которые по пропускной способности будут равны сумме всех объединенных каналов. Что важно, так это то, что такое объединение поддерживается как для соединений коммутатор-коммутатор, так и для соединений коммутатор-компьютер. Другими словами, транковыми каналами можно подключать и серверное оборудование, и даже рабочие станции.
Где могут потребоваться транки? Представим гипотетическую сеть с двумя коммутаторами по 16 портов, к которым подключены рабочие станции, а сами коммутаторы соединяются по протоколу Gigabit Ethernet. Однако 100Мб/с * 16портов > 1000Мб/с, соответственно, в моменты максимальной нагрузки (когда все компьютеры передают данные на компьютеры, подключенные к другому коммутатору) узким местом станет именно порт, который соединяет коммутаторы. Данная проблема решается подключением второго порта Gigabit Ethernet между коммутаторами и созданием логического транкового канала из двух физических подключений по Gigabit Ethernet. В этом случае 100 * 16 < 1000 * 2, теперь канал между двумя коммутаторами способен пропустить весь трафик и не будет являться узким местом (см. рис.).
Аналогичным образом можно расширить логический канал до сервера, которому недостаточно пропускной способности Gigabit Ethernet. Обычно это требуется для файлового сервера.
С появлением протокола 802.1q появилась возможность организации резервных каналов не только с помощью протокола STP, но и при помощи создания транков из нескольких каналов. Действительно, если хотя бы один физический канал транка продолжает работать, то продолжает работать и сам транк. Выгодными отличиями от STP при резервировании каналов является практически нулевое время переключения на резервный канал (фактически просто блокирование сбойного) и возможность постоянного использования всех физических соединений (при STP они блокируются и простаивают). Однако, транкование применимо только в том случае, если резервные физические каналы создаются между теми же коммутаторами, что и основные. Если требуется создать кольцо из коммутаторов, то для резервирования каналов подходит только STP, поскольку в этом случае резервные соединения создаются не между теми же устройствами.
VLAN'ы
Как уже отмечалось, в классическом Ethernet'е логическая топология соответствует физической, т.е. коммутатор пересылает кадры между всеми портами. Однако, со временем появились задачи, требующие выделения некоторых частей сети в отдельные сегменты с целью либо вообще изолировать их, либо соединить только с помощью маршрутизатора или межсетевого экрана. Зона применения таких задач обычно - это либо безопасность (разделение сети на сегменты для фильтрациитрафика или полное разделение), либо повышение производительности (разделение сети на сегменты для сужения широковещательного домена).
Для реализации этой идеи пришлось бы ставить для таких сегментов отдельные коммутаторы, а если сегмент должен быть географически распределенным, то вообще строить параллельную сеть. А как быть, если таких изолированных сегментов несколько? Пришлось бы строить несколько параллельных сетей и такое же количество дублирующих магистральных каналов. Разумеется, это непрактично и невыгодно.
Для реализации такой задачи была разработана технология Virtual LAN (VLAN), стандартизирует которую тот же протокол IEEE 802.1q, суть которой заключается в том, что к кадру Ethernet добавляется еще несколько байт, в которых, помимо прочего, записывается "метка VLAN'а" (VLAN Tag). Тем самым, каждый кадр в сети, поддерживающей VLAN, может иметь специальную метку, которая указывает, к какому именно виртуальному сегменту он принадлежит. Причем, такие "отмеченные" кадры можно передавать от коммутатора к коммутатору с сохранением меток, а значит, и сохранять виртуальную топологию в рамках одной физической сети. Разумеется, для этого все задействованные коммутаторы должны поддерживать протокол 802.1q, а для удобства настройки еще и протокол GVRP (GARP VLAN Registration Protocol), который позволяет распространять настройки VLAN'ов между коммутаторами автоматически.
VLAN'ы - это, по сути, совершенно изолированные друг от друга сети 2-го уровня, реализуемые на одном и том же оборудовании. Максимальное количество VLAN'ов может достигать 4096 штук, но реальное значение определяет производитель оборудования. Так как для поддержки VLAN коммутатор должен иметь возможность настройки, то и минимальный уровень типа коммутатора, с которого начинается поддержка VLAN, "настраиваемый".
Итак, внутри коммутатора, поддерживающего VLAN, кадры могут иметь метку VLAN'а, чтобы отличать их от трафика других виртуальных сетей. Разберемся, как это отражается на клиентских устройствах. В коммутаторах с полной поддержкой 802.1q каждый порт может работать в двух режимах - "отмеченный трафик" (tagged) и "неотмеченный трафик" (untagged). Разница этих режимов в том, что в режиме tagged коммутатор подразумевает, что к этому порту подключено устройство с полной поддержкой 802.1q, и оно может само распознать, к какому VLAN'у принадлежит этот трафик. Этим устройством может быть как другой коммутатор, так и маршрутизатор или даже обычный компьютер - сервер или рабочая станция.
Режим untagged используется для подключения устройств, не поддерживающих 802.1q, в этом случае перед передачей кадра на устройство коммутатор удаляет из него всю информацию протокола 802.1q и кадр начинает соответствовать классическому Ethernet'у. Соответственно, в режиме untagged клиентское устройство "не знает" ни о каких VLAN'ах - оно просто работает с обычным коммутатором (по его мнению). Этот режим, в основном, и используется на портах для подключения пользователей, поскольку в подавляющем большинстве случаев им не требуется работа в нескольких сетях 2-го уровня.
Стоит отметить, что существуют коммутаторы с поддержкой т.н. "port based VLAN" (VLAN на основе портов). Эти коммутаторы вообще не поддерживают режим tagged и являются либо упрощенными версиями коммутаторов для ограниченного применения VLAN, либо изготовленными до начала широкой поддержки протокола 802.1q. Назначение таких коммутаторов - просто изолировать одни свои порты от других. Другими словами, такие коммутаторы могут логически делить себя на несколько "изолированных коммутаторов", но не могут полноценно участвовать в топологии VLAN, поскольку режима tagget в них нет, а значит, и передать информацию о VLAN'ах за свои пределы они не могут.
Однако, вернемся к режиму tagged. Довольно интересные вещи можно делать с его помощью при поддержки протокола 802.1q, например, маршрутизатором. Для порта в режиме tagged можно указать, в каких VLAN'ах он участвует, и только кадры, принадлежащие к ним, будут передаваться и приниматься на этом порту. В этом случае через одно физическое подключение (в частности, витую пару) можно пробросить n-ное количество сетей Ethernet, каждая из которых будет иметь свой интерфейс на маршрутизаторе. Выглядит это практически аналогично тому, что к маршрутизатору подключено n интерфейсов Ethernet из этих сетей. Аналогично это выглядит и на компьютере, если его сетевой адаптер поддерживает 802.1q, при этом создаются виртуальные интерфейсы, выглядящие как обычные интерфейсы Ethernet.
Поддержка VLAN'ов существенно расширяет возможности локальной сети как в части обеспечения безопасности, так и сегментирования сети для сужения широковещательных доменов. Однако это только два примера применения этой технологии из множества.
Заключение
Технология Ethernet на данный момент предлагает богатый выбор решений для организации сетевого взаимодействия, а стоимость и доступность оборудования делает ее подходящей как для домашних сетей, так и для крупных фирм.
В этой статье мы постарались дать основную информацию по Ethernet, которая пригодится при проектировании локальной сети любой сложности. Однако, стоит помнить, что технология Ethernet не заканчивается на том, что мы осветили, да и не заканчивается вообще, поскольку продолжается ее развитие. В частности, в данный момент в разработке находятся протокол передачи 10 Gigabit Ethernet по витой паре 7-й категории и протокол управления узкими местами в сети Ethernet.
В следующей статье из цикла мы поднимемся на следующий уровень модели OSI, третий, и перейдем к не менее интересной теме - сетям на основе протокола IP.
Алексей ГРЕЧАНИНОВ,
портал IT'шников Беларуси
www.administrators.ws
Горячие темы