Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






И дополнительные функции | коммутаторов






Несмотря на то что в коммутаторах работают известные и хорошо отработанные алгоритмы прозрачных мостов и мостов с маршрутизацией от источника, суще­ствует большое разнообразие моделей коммутаторов. Они отличаются как внут­ренней организацией, так и набором выполняемых дополнительных функций, таких как трансляция протоколов, поддержка алгоритма покрывающего дерева, образо­вание виртуальных логических сетей и ряда других.

4.4.1. Особенности технической реализации коммутаторов

После того как технология коммутации привлекла общее внимание и получила высокие оценки специалистов, многие компании занялись реализацией этой тех­нологии в своих устройствах, применяя для этого различные технические реше­ния. Многие коммутаторы первого поколения были похожи на маршрутизаторы, то есть основывались на центральном процессоре общего назначения, связанном с

314 Глава 4 • Построение локальных сетей по стандартам физического и канального уровней

интерфейсными портами по внутренней скоростной шине (рис. 4.30). Однако это были скорее пробные устройства, предназначенные для освоения самой компанией технологии коммутации, а не для завоевания рынка.

Основным недостатком таких коммутаторов была их низкая скорость. Универ­сальный процессор никак не мог справиться с большим объемом специализиро­ванных операций по пересылке кадров между интерфейсными модулями.

Для ускорения операций коммутации нужны были специализированные про­цессоры со специализированными средствами обмена данными, как в первом ком­мутаторе Kalpana, и они вскоре появились. Сегодня все коммутаторы используют заказные специализированные БИС — ASIC, которые оптимизированы для выпол­нения основных операций коммутации. Часто в одном коммутаторе используется несколько специализированных БИС, каждая из которых выполняет функционально законченную часть операций. Сравнительно низкая стоимость современных ком­мутаторов по сравнению с их предшественниками 3-5-летней давности объясняет­ся массовым характером производства основных БИС, на которых каждая компания строит свои коммутаторы.

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

В настоящее время коммутаторы используют в качестве базовой одну из трех схем, на которой строится такой узел обмена:

• коммутационная матрица;

• разделяемая многовходовая память;

• общая шина.

Часто эти три способа взаимодействия комбинируются в одном коммутаторе.

Коммутаторы на основе коммутационной матрицы

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

Более детальное представление одного из возможных вариантов реализации коммутационной матрицы для 8 портов дано на рис. 4.32. Входные блоки процес­соров портов на основании просмотра адресной таблицы коммутатора определяют по адресу назначения номер выходного порта. Эту информацию они добавляют к байтам исходного кадра в виде специального ярлыка — тэга (tag). Для данного примера тэг представляет собой просто 3-разрядное двоичное число, соответству­ющее номеру выходного порта.

Матрица состоит из трех уровней двоичных переключателей, которые соединя­ют свой вход с одним из двух выходов в зависимости от значения бита тэга. Пере­ключатели первого уровня управляются первым битом тэга, второго — вторым, а третьего — третьим.

Матрица может быть реализована и по-другому, на основании комбинацион­ных схем другого типа, но ее особенностью все равно остается технология комму­тации физических каналов. Известным недостатком этой технологии является отсутствие буферизации данных внутри коммутационной матрицы — если состав­ной канал невозможно построить из-за занятости выходного порта или промежу­точного коммутационного элемента, то данные должны накапливаться в их источнике, в данном случае — во входном блоке порта, принявшего кадр. Основные достоинства таких матриц — высокая скорость коммутации и регулярная структу­ра, которую удобно реализовывать в интегральных микросхемах. Зато после pea-

316 Глава4 • Построение локальных сетей по стандартам физического и канального уровней

лизации матрицы NxN в составе БИС проявляется еще один ее недостаток — слож­ность наращивания числа коммутируемых портов.

Коммутаторы с общей шиной

В коммутаторах с общей шиной процессоры портов связывают высокоскоростной шиной, используемой в режиме разделения времени.

Пример такой архитектуры приведен на рис. 4.33. Чтобы шина не блокировала работу коммутатора, ее производительность должна равняться по крайней мере сумме производительности всех портов коммутатора. Для модульных коммута­торов некоторые сочетания модулей с низкоскоростными портами могут приво­дить к неблокирующей работе, а установка модулей с высокоскоростными портами может приводить к тому, что блокирующим элементом станет, например, общая шина.

Кадр должен передаваться по шине небольшими частями, по нескольку байт, чтобы передача кадров между несколькими портами происходила в псевдопарал­лельном режиме, не внося задержек в передачу кадра в целом. Размер такой ячей­ки данных определяется производителем коммутатора. Некоторые производители, например LANNET или Centillion, выбрали в качестве порции данных, переноси­мых за одну операцию по шине, ячейку ATM с ее полем данных в 48 байт. Такой подход облегчает трансляцию протоколов локальных сетей в протокол ATM, если коммутатор поддерживает эти технологии.

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

Шина, так же как и коммутационная матрица, не может осуществлять проме­жуточную буферизацию, но так как данные кадра разбиваются на небольшие ячей­ки, то задержек с начальным ожиданием доступности выходного порта в такой схеме нет — здесь работает принцип коммутации пакетов, а не каналов.

4.4. Техническая реализация и дополнительные функции коммутаторов 317

Коммутаторы с разделяемой памятью

Третья базовая архитектура взаимодействия портов — двухвходовая разделяемая память. Пример такой архитектуры приведен на рис. 4.34.

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

Память должна быть достаточно быстродействующей для поддержания скоро­сти переписи данных между N портами коммутатора. Применение общей буферной памяти, гибко распределяемой менеджером между отдельными портами, снижает требования к размеру буферной памяти процессора порта.

Комбинированные коммутаторы

У каждой из описанных архитектур есть свои преимущества и недостатки, поэто­му часто в сложных коммутаторах эти архитектуры применяются в комбинации друг с другом. Пример такого комбинирования приведен на рис. 4.35.

Коммутатор состоит из модулей с фиксированным количеством портов (2-12), выполненных на основе специализированной БИС, реализующей архитектуру ком­мутационной матрицы. Если порты, между которыми нужно передать кадр дан­ных, принадлежат одному модулю, то передача кадра осуществляется процессорами модуля на основе имеющейся в модуле коммутационной матрицы. Если же порты принадлежат разным модулям, то процессоры общаются по общей шине. При та­кой архитектуре передача кадров внутри модуля будет происходить быстрее, чем при межмодульной передаче, так как коммутационная матрица — наиболее быст­рый, хотя и наименее масштабируемый способ взаимодействия портов. Скорость

318 Глава4 • Построение локальных сетей по стандартам физического и канального уровней

внутренней шины коммутаторов может достигать нескольких Гбит/с, а у наиболее мощных моделей — до 20-30 Гбит/с.

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

Конструктивное исполнение коммутаторов

В конструктивном отношении коммутаторы делятся на следующие типы:

• автономные коммутаторы с фиксированным количеством портов;

• модульные коммутаторы на основе шасси;

• коммутаторы с фиксированным количеством портов, собираемые в стек. Первый тип коммутаторов обычно предназначен для организации небольших

рабочих групп.

Модульные коммутаторы на основе шасси чаще всего предназначены для при­менения на магистрали сети. Поэтому они выполняются на основе какой-либо комбинированной схемы, в которой взаимодействие модулей организуется по быст­родействующей шине или же на основе быстрой разделяемой памяти большого объема. Модули такого коммутатора выполняются на основе технологии «hot swap», то есть допускают замену на ходу, без выключения коммутатора, так как центральное ком­муникационное устройство сети не должно иметь перерывов в работе. Шасси обыч­но снабжается резервированными источниками питания и резервированными вентиляторами в тех же целях.

С технической точки зрения определенный интерес представляют стековые ком­мутаторы. Эти устройства представляют собой коммутаторы, которые могут рабо­тать автономно, так как выполнены в отдельном корпусе, но имеют специальные интерфейсы, которые позволяют их объединять в общую систему, работающую как единый коммутатор. Говорят, что в этом случае отдельные коммутаторы образуют стек.

Обычно такой специальный интерфейс представляет собой высокоскоростную шину, которая позволяет объединить отдельные корпуса подобно модулям в ком­мутаторе на основе шасси. Так как расстояния между корпусами больше, чем меж­ду модулями на шасси, скорость обмена по шине обычно ниже, чем у модульных коммутаторов: 200-400 Мбит/с. Не очень высокие скорости обмена между комму­таторами стека обусловлены также тем, что стековые коммутаторы обычно занима­ют промежуточное положение между коммутаторами с фиксированным количеством портов и коммутаторами на основе шасси. Стековые коммутаторы применяются для создания сетей рабочих групп и отделов, поэтому сверхвысокие скорости шин обмена им не очень нужны и не соответствуют их ценовому диапазону.

4.4. Техническая реализация и дополнительные функции коммутаторов 319

Структура стека коммутаторов, соединяемых по скоростным специальным пор­там, показана на рис. 4.36.

Компания Cisco предложила другой подход к организации стека. Ее коммута­тор Catalyst 3000 также имеет специальный скоростной интерфейс 280 Мбит/с для организации стека, но с его помощью коммутаторы соединяются не друг с другом, а с отдельным устройством, содержащим коммутационную матрицу 8x8, организующую более высокопроизводительный обмен между любыми парами ком­мутаторов.

Существуют коммутаторы, которые позволяют объединить два коммутатора полнодуплексным каналом более чем по одной паре портов. Например, коммута­торы модели 28115 компании Nortel Networks имеют по два порта Fast Ethernet, с помощью которых можно соединять коммутаторы, образуя полнодуплексный ка­нал с производительностью 400 Мбит/с (рис. 4.37).

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

320 Глава 4 • Построение локальных сетей по стандартам физического и канального уровней

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

4.4.2. Характеристики, влияющие на производительность коммутаторов

Производительность коммутатора — то свойство, которое сетевые интеграторы и администраторы ждут от этого устройства в первую очередь.

Основными показателями коммутатора, характеризующими его производитель­ность, являются:

• скорость фильтрации кадров;

• скорость продвижения кадров;

• пропускная способность;

• задержка передачи кадра.

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

• тип коммутации — «на лету» или с полной буферизацией;

• размер буфера (буферов) кадров;

• производительность внутренней шины;

• производительность процессора или процессоров;

• размер внутренней адресной таблицы.

Скорость фильтрации и скорость продвижения

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

Скорость фильтрации (filtering) определяет скорость, с которой коммутатор выполняет следующие этапы обработки кадров:

• прием кадра в свой буфер;

• просмотр адресной таблицы с целью нахождения порта для адреса назначения кадра;

• уничтожение кадра, так как его порт назначения и порт источника принадле­жат одному логическому сегменту.

Скорость фильтрации практически у всех коммутаторов является неблокирую­щей — коммутатор успевает отбрасывать кадры в темпе их поступления.

Скорость продвижения (forwarding) определяет скорость, с которой коммута­тор выполняет следующие этапы обработки кадров.

4.4. Техническая реализация и дополнительные функции коммутаторов 321

• прием кадра в свой буфер;

• просмотр адресной таблицы с целью нахождения порта для адреса назначения кадра;

• передача кадра в сеть через найденный по адресной таблице порт назначения. Как скорость фильтрации, так и скорость продвижения измеряются обычно в

кадрах в секунду. Если в характеристиках коммутатора не уточняется, для какого протокола и для какого размера кадра приведены значения скоростей фильтрации и продвижения, то по умолчанию считается, что эти показатели даются для прото­кола Ethernet и кадров минимального размера, то есть кадров длиной 64 байт (без преамбулы) с полем данных в 46 байт. Если скорости указаны для какого-либо определенного протокола, например Token Ring или FDDI, то они также даны для кадров минимальной длины этого протокола (например, кадров длины 29 байт для протокола FDDI). Применение в качестве основного показателя скорости работы коммутатора кадров минимальной длины рбъясняется тем, что такие кадры всегда создают для коммутатора наиболее тяжелый режим работы по сравнению с кадра­ми другого формата при равной пропускной способности переносимых пользо­вательских данных. Поэтому при проведении тестирования коммутатора режим передачи кадров минимальной длины используется как наиболее сложный тест, который должен проверить способность коммутатора работать при наихудшем со­четании параметров трафика. Кроме того, для пакетов минимальной длины ско­рость фильтрации и продвижения максимальна, что имеет немаловажное значение при рекламе коммутатора.

Пропускная способность коммутатора измеряется количеством пользователь­ских данных (в мегабитах в секунду), переданных в единицу времени через его порты. Так как коммутатор работает на канальном уровне, для него пользователь­скими данными являются те данные, которые переносятся в поле данных кадров протоколов канального уровня — Ethernet, Token Ring, FDDI и т. п. Максимальное значение пропускной способности коммутатора всегда достигается на кадрах мак­симальной длины, так как при этом доля накладных расходов на служебную ин­формацию кадра гораздо ниже, чем для кадров минимальной длины, а время выполнения коммутатором операций по обработке кадра, приходящееся на один байт пользовательской информации, существенно меньше. Поэтому коммутатор может быть блокирующим для кадров минимальной длины, но при этом иметь очень хорошие показатели пропускной способности.

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

Величина вносимой коммутатором задержки зависит от режима его работы. Если коммутация осуществляется «на лету», то задержки обычно невелики и со­ставляют от 5 до 40 мкс, а при полной буферизации кадров — от 50 до 200 мкс (для кадров минимальной длины).

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

322 Глава 4 • Построение локальных сетей по стандартам физического и канального уровней

одновременной передаче трафика по всем его портам, второй вариант — произво­дительность, приведенная в расчете на один порт. Обычно производители комму­таторов указывают общую максимальную пропускную способность устройства.

Коммутация «на лету» или с буферизацией

На производительности коммутатора сказывается способ передачи пакетов — «на лету» или с буферизацией. Коммутаторы, передающие пакеты «на лету», вносят меньшие задержки передачи кадров на каждом промежуточном коммутаторе, по­этому общее уменьшение задержки доставки данных может быть значительным, что важно для мультимедийного трафика. Кроме того, выбранный способ комму­тации оказывает влияние на возможности реализации некоторых полезных допол­нительных функций, например трансляцию протоколов канального уровня. В табл. 4.2 дается сравнение возможностей двух способов коммутации.

4.4. Техническая реализация и дополнительные функции коммутаторов 323

процессорный блок со своей памятью для хранения экземпляра адресной таблицы, то размер адресной таблицы для коммутаторов обычно приводится в расчете на один порт. Экземпляры адресной таблицы разных процессорных модулей не обяза­тельно содержат одну и ту же адресную информацию — скорее всего, повторяющих­ся адресов будет не так много, если только распределение трафика каждого порта между остальными портами не полностью равновероятно. Каждый порт хранит только те наборы адресов, с которыми он работал в последнее время.

Значение максимального числа МАС-адресов, которое может запомнить про­цессор порта, зависит от области применения коммутатора. Коммутаторы рабочих групп обычно поддерживают всего несколько адресов на порт, так как они пред­назначены для образования микросегментов. Коммутаторы отделов должны под­держивать несколько сотен адресов, а коммутаторы магистралей сетей — до нескольких тысяч, обычно 4000-8000 адресов.

Недостаточная емкость адресной таблицы может служить причиной замедле­ния работы коммутатора и засорения сети избыточным трафиком. Если адресная таблица процессора порта полностью заполнена, а он встречает новый адрес источ­ника в поступившем пакете, процессор должен вытеснить из таблицы какой-либо старый адрес и поместить на его место новый. Эта операция сама по себе отнимет у процессора часть времени, но главные потери производительности будут наблю­даться при поступлении кадра с адресом назначения, который пришлось удалить из адресной таблицы. Так как адрес назначения кадра неизвестен, то коммутатор должен передать этот кадр на все остальные порты. Эта операция будет создавать лишнюю работу для многих процессоров портов, кроме того, копии этого кадра будут попадать и на те сегменты сети, где они совсем не обязательны.

Некоторые производители коммутаторов решают эту проблему за счет измене­ния алгоритма обработки кадров с неизвестным адресом назначения. Один из пор­тов коммутатора конфигурируется как магистральный порт, на который по умолчанию передаются все кадры с неизвестным адресом. В маршрутизаторах та­кой прием применяется давно, позволяя сократить размеры адресных таблиц в сетях, организованных по иерархическому принципу.

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

Объем буфера кадров

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

324 Глава 4 • Построение локальных сетей по стандартам физического и канального уровней

ственным средством служит буфер большого объема. Как и в случае адресных таб­лиц, каждый процессорный модуль порта обычно имеет свою буферную память для хранения кадров. Чем больше объем этой памяти, тем менее вероятны потери кадров при перегрузках, хотя при несбалансированности средних значений трафи­ка буфер все равно рано или поздно переполнится.

Обычно коммутаторы, предназначенные для работы в ответственных частях сети, имеют буферную память в несколько десятков или сотен килобайт на порт. Хоро­шо, когда эту буферную память можно перераспределять между несколькими пор­тами, так как одновременные перегрузки по нескольким портам маловероятны. Дополнительным средством защиты может служить общий для всех портов буфер в модуле управления коммутатором. Такой буфер обычно имеет объем в несколько мегабайт.

4.4.3. Дополнительные функции коммутаторов

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

Поддержка алгоритма Spanning Tree

Алгоритм покрывающего дерева — Spanning Tree Algorithm (STA) позволяет коммута­торам автоматически определять древовидную конфигурацию связей в сети при произвольном соединения портов между собой. Как уже отмечалось, для нормаль­ной работы коммутатора требуется отсутствие замкнутых маршрутов в сети. Эти маршруты могут создаваться администратором специально для образования ре­зервных связей или же возникать случайным образом, что вполне возможно, если сеть имеет многочисленные связи, а кабельная система плохо структурирована или документирована.

Поддерживающие алгоритм STA коммутаторы автоматически создают актив­ную древовидную конфигурацию связей (то есть связную конфигурацию без пе­тель) на множестве всех связей сети. Такая конфигурация называется покрывающим деревом — Spanning Tree (иногда ее называют основным деревом), и ее название дало имя всему алгоритму. Алгоритм Spanning Tree описан в стандарте IEEE 802.ID, том же стандарте, который определяет принципы работы прозрачных мостов.

Коммутаторы находят покрывающее дерево адаптивно, с помощью обмена слу­жебными пакетами. Реализация в коммутаторе алгоритма STA очень важна для работы в больших сетях — если коммутатор не поддерживает этот алгоритм, то администратор должен самостоятельно определить, какие порты нужно перевести в заблокированное состояние, чтобы исключить петли. К тому же при отказе какого-либо кабеля, порта или коммутатора администратор должен, во-первых, обнаружить факт отказа, а во-вторых, ликвидировать последствия отказа, переведя резервную связь в рабочий режим путем активизации некоторых портов. При поддержке ком­мутаторами сети протокола Spanning Tree отказы обнаруживаются автоматически,

4.4. Техническая реализация и дополнительные функции коммутаторов 325

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

Алгоритм Spanning Tree определяет активную конфигурацию сети за три этапа.

• Сначала в сети определяется корневой коммутатор (root switch), от которого строится дерево. Корневой коммутатор может быть выбран автоматически или назначен администратором. При автоматическом выборе корневым становится коммутатор с меньшим значением МАС-адреса его блока управления.

• Затем, на втором этапе, для каждого коммутатора определяется корневой порт (root port) — это порт, который имеет по сети кратчайшее расстояние до кор­невого коммутатора (точнее, до любого из портов корневого коммутатора).

• И наконец, на третьем этапе для каждого сегмента сети выбирается так называ­емый назначенный порт (designated port) — это порт, который имеет кратчайшее расстояние от данного сегмента до корневого коммутатора. После определения корневых и назначенных портов каждый коммутатор блокирует остальные пор­ты, которые не попали в эти два класса портов. Можно математически доказать, что при таком выборе активных портов в сети исключаются петли и оставшиеся связи образуют покрывающее дерево (если оно может быть построено при су­ществующих связях в сети).

Понятие расстояния играет важную роль в построении покрывающего дерева. Именно по этому критерию выбирается единственный порт, соединяющий каж­дый коммутатор с корневым коммутатором, и единственный порт, соединяющий каждый сегмент сети с корневым коммутатором.

На рис. 4.38 показан пример построения конфигурации покрывающего дерева для сети, состоящей из 5 сегментов и 5 коммутаторов. Корневые порты закрашены темным цветом, назначенные порты не закрашены, а заблокированные порты пере­черкнуты. В активной конфигурации коммутаторы 2 и 4 не имеют портов, переда­ющих кадры данных, поэтому они закрашены как резервные.

Расстояние до корня определяется как суммарное условное время на передачу одного бита данных от порта данного коммутатора до порта корневого коммутато­ра. При этом считается, что время внутренних передач данных (с порта на порт) коммутатором пренебрежимо мало, а учитывается только время на передачу дан­ных по сегментам сети, соединяющим коммутаторы. Условное время сегмента рас­считывается как время, затрачиваемое на передачу одного бита информации в 10 наносекундных единицах между непосредственно связанными по сегменту сети портами. Так, для сегмента Ethernet это время равно 10 условным единицам, а для сегмента Token Ring 16 Мбит/с — 6, 25. (Алгоритм STA не связан с каким-либо определенным стандартом канального уровня, он может применяться к коммута­торам, соединяющим сети различных технологий.)

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

Для автоматического определения начальной активной конфигурации дерева все коммутаторы сети после их инициализации начинают периодически обмени­ваться специальными пакетами, называемыми протокольными блоками данных мо­ста — BPDU (Bridge Protocol Data Unit), что отражает факт первоначальной разработки алгоритма STA для мостов.

Пакеты BPDU помещаются в поле данных кадров канального уровня, напри­мер кадров Ethernet или FDDI. Желательно, чтобы все коммутаторы поддержива­ли общий групповой адрес, с помощью которого кадры, содержащие пакеты BPDU, могли бы одновременно передаваться всем коммутаторам сети. Иначе пакеты BPDU рассылаются широковещательно.

Поля пакета BPDU перечислены ниже.

• Идентификатор версии протокола STA — 2 байта. Коммутаторы должны под­держивать одну и ту же версию протокола STA, иначе может установиться ак­тивная конфигурация с петлями.

• Тип BPDU — 1 байт. Существуют два типа BPDU — конфигурационный BPDU, то есть заявка на возможность стать корневым коммутатором, на основании которой происходит определение активной конфигурации, и BPDU уведомле­ния о реконфигурации, которое посылается коммутатором, обнаружившим со­бытие, требующее проведения реконфигурации — отказ линии связи, отказ порта, изменение приоритетов коммутатора или портов.

• Флаги — 1 байт. Один бит содержит флаг изменения конфигурации, второй — флаг подтверждения изменения конфигурации.

• Идентификатор корневого коммутатора — 8 байт.

• Расстояние до корня — 2 байта.

• Идентификатор коммутатора — 8 байт.

• Идентификатор порта — 2 байта.

• Время жизни сообщения — 2 байта. Измеряется в единицах по 0, 5 с, служит для выявления устаревших сообщений. Когда пакет BPDU проходит через комму-

4.4. Техническая реализация и дополнительные функции коммутаторов 327

татар, тот добавляет ко времени жизни пакета время его задержки данным ком­мутатором.

• Максимальное время жизни сообщения — 2 байта. Если пакет BPDU имеет вре­мя жизни, превышающее максимальное, то он игнорируется коммутаторами.

• Интервал hello, через который посылаются пакеты BPDU.

• Задержка смены состояний — 2 байта. Задержка определяет минимальное вре­мя перехода портов коммутатора в активное состояние. Такая задержка необ­ходима, чтобы исключить возможность временного возникновения петель при неодновременной смене состояний портов во время реконфигурации.

У пакета BPDU уведомления о реконфигурации отсутствуют все поля, кроме двух первых.

Идентификаторы коммутаторов состоят из 8 байт, причем младшие 6 являются МАС-адресом блока управления коммутатора. Старшие 2 байта в исходном состо­янии заполнены нулями, но администратор может изменить значение этих байтов, тем самым назначив определенный коммутатор корневым.

После инициализации каждый коммутатор сначала считает себя корневым. Поэтому он начинает через интервал hello генерировать через все свои порты сооб­щения BPDU конфигурационного типа. В них он указывает свой идентификатор в качестве идентификатора корневого коммутатора (и в качестве идентификатора данного коммутатора также), расстояние до корня устанавливается в 0, а в каче­стве идентификатора порта указывается идентификатор того порта, через который передается BPDU. Как только коммутатор получает BPDU, в котором имеется идентификатор корневого коммутатора, со значением, меньшим его собственного, он перестает генерировать свои собственные кадры BPDU, а начинает ретрансли­ровать только кадры нового претендента на звание корневого коммутатора. На рис. 4.38 у коммутатора 1 идентификатор имеет наименьшее значение, раз он стал в результате обмена кадрами корневым.

При ретрансляции кадров каждый коммутатор наращивает расстояние до корня, указанное в пришедшем BPDU, на условное время сегмента, по которому принят данный кадр. Тем самым в кадре BPDU, по мере прохождения через коммутаторы, накапливается расстояние до корневого коммутатора. Если считать, что все сег­менты рассматриваемого примера являются сегментами Ethernet, то коммутатор 2, приняв от коммутатора BPDU по сегменту 1 с расстоянием, равным 0, наращивает его на 10 единиц.

Ретранслируя кадры, каждый коммутатор для каждого своего порта запомина­ет минимальное расстояние до корня, встретившееся во всех принятых этим пор­том кадрах BPDU. При завершении процедуры установления конфигурации покрывающего дерева (по времени) каждый коммутатор находит свой корневой порт — это порт, для которого минимальное расстояние до корня оказалось мень­ше, чем у других портов. Так, коммутатор 3 выбирает порт А в качестве корневого, поскольку по порту А минимальное расстояние до корня равно 10 (BPDU с таким расстоянием принят от корневого коммутатора через сегмент 1). Порт В коммута­тора 3 обнаружил в принимаемых кадрах минимальное расстояние в 20 единиц — это соответствовало случаю прохождения кадра от порта В корневого моста через сегмент 2, затем через мост 4 и сегмент 3.

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

328 Глава 4 • Построение локальных сетей по стандартам физического и канального уровней

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

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

В качестве примера рассмотрим выбор корневого порта для коммутатора 2 и назначенного порта для сегмента 2. Мост 2 при выборе корневого порта столк­нулся с ситуацией, когда порт А и порт В имеют равное расстояние до корня — по 10 единиц (порт А принимает кадры от порта В корневого коммутатора через один промежуточный сегмент — сегмент 1, а порт В принимает кадры от порта А корневого коммутатора также через один промежуточный сегмент — через сег­мент 2). Идентификатор А имеет меньшее числовое значение, чем В (в силу упорядоченности кодов символов), поэтому порт А стал корневым портом ком­мутатора 2.

При проверке порта В на случай, не является ли он назначенным для сегмен­та 2, коммутатор 2 обнаружил, что через этот порт он принимал кадры с указан­ным в них минимальным расстоянием 0 (это были кадры от порта В корневого коммутатора 1). Так как собственный корневой порт у коммутатора 2 имеет рас­стояние до корня 10, то порт В не является назначенным для сегмента 2.

Затем все порты, кроме корневого и назначенных, переводятся каждым комму­татором в заблокированное состояние. На этом построение покрывающего дерева заканчивается.

В процессе нормальной работы корневой коммутатор продолжает генерировать служебные кадры BPDU, а остальные коммутаторы продолжают их принимать своими корневыми портами и ретранслировать назначенными. Если у коммутато­ра нет назначенных портов, как у коммутаторов 2 и 4, то они все равно продолжа­ют принимать участие в работе протокола Spanning Tree, принимая служебные кадры корневым портом. Если по истечении тайм-аута корневой порт любого ком­мутатора сети не получает служебный кадр BPDU, то он инициализирует новую процедуру построения покрывающего дерева, оповещая об этом другие коммута­торы BPDU уведомления о реконфигурации. Получив такой кадр, все коммутато­ры начинают снова генерировать BDPU конфигурационного типа, в результате чего устанавливается новая активная конфигурация.

Трансляция протоколов канального уровня

Коммутаторы могут выполнять трансляцию одного протокола канального уровня в другой, например Ethernet в FDDI, Fast Ethernet в Token Ring и т. п. При этом они работают по тем же алгоритмам, что и транслирующие мосты, то есть в соот­ветствии со спецификациями IEEE 802.1Н и RFC 1042, определяющими правила преобразования полей кадров разных протоколов.

4.4. Техническая реализация и дополнительные функции коммутаторов 329

Трансляцию протоколов локальных сетей облегчает тот факт, что наиболее слож­ную работу, которую при объединении гетерогенных сетей часто выполняют марш­рутизаторы и шлюзы, а именно работу по трансляции адресной информации, в данном случае выполнять не нужно. Все конечные узлы локальных сетей имеют уникальные адреса одного и того же формата независимо от поддерживаемого про­токола. Поэтому адрес сетевого адаптера Ethernet понятен сетевому адаптеру FDDI, и они могут использовать эти адреса в полях своих кадров не задумываясь о том, что узел, с которым они взаимодействуют, принадлежит сети, работающей по дру­гой технологии.

Поэтому при согласовании протоколов локальных сетей коммутаторы не стро­ят таблиц соответствия адресов узлов, а переносят адреса назначения и источника из кадра одного протокола в кадр другого.

Кроме изменения порядка бит при передаче байт адреса трансляция протокола Ethernet (и Fast Ethernet, который использует формат кадров Ethernet) в протоко­лы FDDI и Token Ring включает выполнение перечисленных ниже (возможно, не всех) операций.

• Вычисление длины поля данных кадра и помещение этого значения в поле Length при передаче кадра из сети FDDI или Token Ring в сеть Ethernet 802.3 (в кадрах FDDI и Token Ring поле длины отсутствует).

• Заполнение полей статуса кадра при передаче кадров из сети FDDI или Token Ring в сеть Ethernet. Кадры FDDI и Token Ring имеют два бита, устанавливае­мые станцией, которой предназначался кадр, — бит распознавания адреса А и бит копирования кадра С. При получении кадра станция должна установить эти два бита, чтобы кадр, вернувшийся по кольцу к сгенерировавшей его стан­ции, принес данные обратной связи. При передаче коммутатором кадра в дру­гую сеть нет стандартных правил для установки бит А и С в кадре, который возвращается по кольцу к станции-источнику. Поэтому производители комму­таторов решают эту проблему по своему усмотрению.

• Отбрасывание кадров, передаваемых из сетей FDDI или Token Ring в сеть Ethernet с размером поля данных большим, чем 1500 байт, так как это макси­мально возможное значение поля данных для сетей Ethernet. В дальнейшем, не дождавшись ответа от станции назначения из сети Ethernet, протокол верхнего уровня станции из сети FDDI, возможно, уменьшит размер передаваемых в одном кадре данных, и тогда коммутатор сможет передавать кадры между эти­ми станциями. Другим вариантом решения проблемы является поддержка коммутатором IP-фрагментации, но это требует, во-первых, реализации в комму­таторе протокола сетевого уровня, а во-вторых, поддержки протокола IP взаи­модействующими узлами транслируемых сетей.

• Заполнение поля Туре (тип протокола в поле данных) кадра Ethernet II при приходе кадров из сетей, поддерживающих кадры FDDI или Token Ring, в которых это поле отсутствует, зато имеются поля DSAP и SSAP, выполняю­щие то же назначение, но с другими кодами для обозначения протоколов. Для упрощения трансляции спецификация RFC 1042 предлагает всегда использо­вать в сетях FDDI и Token Ring кадры с заголовками LLC/SNAP, которые имеют то же поле Туре и с теми же значениями, что и кадры Ethernet П. При преобразовании кадров значение из поля Туре заголовка LLC/SNAP перено­сится в поле Туре кадра Ethernet II, и наоборот. Если в сети Ethernet имеются

330 Глава 4 • Построение локальных сетей по стандартам физического и канального уровней

форматы кадров, отличные от Ethernet II, то они также должны иметь заголо­вок LLC/SNAP.

• Пересчет контрольной суммы кадра в соответствии со сформированными зна­чениями служебных полей кадра.

Возможности коммутаторов по фильтрации трафика

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

Наиболее простыми являются пользовательские фильтры на основе МАС-адре-сов станций. Так как МАС-адреса — это та информация, с которой работает комму­татор, то он позволяет задавать такие фильтры в удобной для администратора форме, возможно, проставляя некоторые условия в дополнительном поле адресной табли­цы, подобно тем, которые были указаны в адресной таблице моста System 3000 на рис. 4.20 — например, отбрасывать кадры с определенным адресом. При этом пользо­вателю, работающему на компьютере с данным МАС-адресом, полностью запреща­ется доступ к ресурсам другого сегмента сети.

Часто администратору требуется задать более тонкие условия фильтрации, например запретить некоторому пользователю печатать свои документы на опре­деленном сервере печати NetWare чужого сегмента, а остальные ресурсы этого сег­мента сделать доступными. Для реализации такого фильтра нужно запретить передачу кадров с определенным МАС-адресом, в которых вложены пакеты IPX, в поле «но­мер сокета» которых будет указано значение, соответствующее службе печати NetWare. Коммутаторы не анализируют протоколы верхних уровней, такие как IPX, поэтому администратору приходится для задания условий такой фильтрации вручную опре­делять поле, по значению которого нужно осуществлять фильтрацию, в виде пары «смещение - размер» относительно начала поля данных кадра канального уровня, а затем еще указать в шестнадцатеричном формате значение этого поля для службы печати.

Обычно условия фильтрации записываются в виде булевых выражений, фор­мируемых с помощью логических операторов AND и OR.

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

Приоритетная обработка кадров

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

4.4. Техническая реализация и дополнительные функции коммутаторов 331

передавать один низкоприоритетный пакет на каждые 10 высокоприоритетных пакетов.

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

Приоритезация трафика коммутаторами сегодня является одним из основных механизмов обеспечения качества транспортного обслуживания в локальных сетях. Это, естественно, не гарантированное качество обслуживания, а только механизм best effort — «с максимальными усилиями». К каким уровням задержек приводит приписывание того или иного уровня приоритета кадру, какую пропускную спо­собность обеспечивает приоритет потоку кадров — схема приоритезации не говорит. Выяснить последствия ее применения можно только путем проведения натурных экспериментов или же с помощью имитационного моделирования. Ясно только одно — более приоритетные кадры будут обрабатываться раньше менее приоритет­ных, поэтому все показатели качества обслуживания у них будут выше, чем у ме­нее приоритетных. Остается вопрос — насколько? Гарантии качества обслуживания дают другие схемы, которые основаны на предварительном резервировании каче­ства обслуживания. Например, такие схемы используются в технологиях глобаль­ных сетей frame relay и ATM или в протоколе RSVP для сетей TCP/IP. Однако для коммутаторов такого рода протоколов нет, так что гарантий качества обслужива­ния они пока дать не могут.

Основным вопросом при приоритетной обработке кадров коммутаторами явля­ется вопрос назначения кадру приоритета. Так как не все протоколы канального уровня поддерживают поле приоритета кадра, например у кадров Ethernet оно отсутствует, то коммутатор должен использовать какой-либо дополнительный ме­ханизм для связывания кадра с его приоритетом. Наиболее распространенный спо­соб — приписывание приоритета портам коммутатора. При этом способе коммутатор помещает кадр в очередь кадров соответствующего приоритета в зависимости от того, через какой порт поступил кадр в коммутатор. Способ несложный, но недо­статочно гибкий — если к порту коммутатора подключен не отдельный узел, а сегмент, то все узлы сегмента получают одинаковый приоритет.

Многие компании, выпускающие коммутаторы, реализовали в них ту или иную схему приоритетной обработки кадров. Примером фирменного подхода к назначе­нию приоритетов на основе портов является технология РАСЕ компании 3Com.

Более гибким является назначение приоритетов кадрам в соответствии с доста­точно новым стандартом IEEE 802.1р. Этот стандарт разрабатывался совместно со стандартом 802.1Q, который рассматривается в следующем разделе, посвященном виртуальным локальным сетям. В обоих стандартах предусмотрен общий допол­нительный заголовок для кадров Ethernet, состоящий из двух байт. В этом допол­нительном заголовке, который вставляется перед полем данных кадра, 3 бита используются для указания приоритета кадра. Существует протокол, по которому конечный узел может запросить у коммутатора один из восьми уровней приорите­та кадра. Если сетевой адаптер не поддерживает стандарт 802.1р, то коммутатор может назначать приоритеты кадрам на основе порта поступления кадра. Такие помеченные кадры будут обслуживаться в соответствии с их приоритетом всеми коммутаторами сети, а не только тем коммутатором, который непосредственно принял кадр от конечного узла. При передаче кадра сетевому адаптеру, не поддер­живающему стандарт 802.1р, дополнительный заголовок должен быть удален.

332 Глава 4 • Построение локальных сетей по стандартам физического и канального уровней

4.4.4. Виртуальные локальные сети

Кроме своего основного назначения — повышения пропускной способности связей в сети — коммутатор позволяет локализовывать потоки информации в сети, а так­же контролировать эти потоки и управлять ими, опираясь на механизм пользова­тельских фильтров. Однако пользовательский фильтр может запретить передачи кадров только по конкретным адресам, а широковещательный трафик он передает всем сегментам сети. Так требует алгоритм работы моста, который реализован в коммутаторе, поэтому сети, созданные на основе мостов и коммутаторов, иногда называют плоскими — из-за отсутствия барьеров на пути широковещательного тра­фика.

Технология виртуальных локальных сетей (Virtual LAN, VLAN), которая появи­лась несколько лет тому назад в коммутаторах, позволяет преодолеть указанное ограничение. Виртуальной сетью называется группа узлов сети, трафик которой, в том числе и широковещательный, на канальном уровне полностью изолирован от других узлов сети (рис. 4.39). Это означает, что передача кадров между разными виртуальными сетями на основании адреса канального уровня невозможна, неза­висимо от типа адреса — уникального, группового или широковещательного. В то же время внутри виртуальной сети кадры передаются по технологии коммутации, то есть только на тот порт, который связан с адресом назначения кадра. Виртуаль­ные сети могут пересекаться, если один или несколько компьютеров входят в со­став более чем одной виртуальной сети. На рис. 4.39 сервер электронной почты входит в состав 3 и 4 виртуальных сетей. Это значит, что его кадры передаются коммутаторами всем компьютерам, входящим в эти сети. Если же какой-то компь­ютер входит в состав только виртуальной сети 3, то его кадры до сети 4 доходить не будут, но он может взаимодействовать с компьютерами сети 4 через общий почто­вый сервер. Такая схема не полностью защищает виртуальные сети друг от друга — так, широковещательный шторм, возникший на сервере электронной почты, захле­стнет сеть 3 и сеть 4.

Говорят, что виртуальная сеть образует домен широковещательного трафика (broadcast domain), по аналогии с доменом коллизий, который образуется повтори­телями сетей Ethernet.

Назначение технологии виртуальных сетей состоит в облегчении процесса со­здания изолированных сетей, которые затем должны связываться с помощью мар­шрутизаторов, реализующих какой-либо протокол сетевого уровня, например IP. Такое построение сети создает гораздо более мощные барьеры на пути ошибочного трафика из одной сети в другую. Сегодня считается, что любая крупная сеть долж­на включать маршрутизаторы, иначе потоки ошибочных кадров, например широ­ковещательных, будут периодически затапливать всю сеть через прозрачные для них коммутаторы, приводя ее в неработоспособное состояние.

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

До появления технологии VLAN для создания отдельной сети использовались либо физически изолированные сегменты коаксиального кабеля, либо несвязан­ные между собой сегменты, построенные на повторителях и мостах. Затем эти сети связывались маршрутизаторами в единую составную сеть (рис. 4.40).

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

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

334 Глава 4 • Построение локальных сетей по стандартам физического и канального уровней

Однако решение задачи изменения состава сегментов с помощью концентрато­ров накладывает большие ограничения на структуру сети — количество сегментов такого повторителя обычно невелико, поэтому выделить каждому узлу свой сег­мент, как это можно сделать с помощью коммутатора, нереально. Кроме того, при таком подходе вся работа по передаче данных между сегментами ложится на маршру­тизаторы, а коммутаторы со своей высокой производительностью остаются не у дел. Поэтому сети, построенные на основе повторителей с конфигурационной ком­мутацией, по-прежнему основаны на разделении среды передачи данных между большим количеством узлов, и, следовательно, обладают гораздо меньшей произ­водительностью по сравнению с сетями, построенными на основе коммутаторов.

При использовании технологии виртуальных сетей в коммутаторах одновре­менно решаются две задачи:

• повышение производительности в каждой из виртуальных сетей, так как ком­мутатор передает кадры в такой сети только узлу назначения;

• изоляция сетей друг от друга для управления правами доступа пользователей и создания защитных барьеров на пути широковещательных штормов.

Для связи виртуальных сетей в общую сеть требуется привлечение сетевого уровня. Он может быть реализован в отдельном маршрутизаторе, а может работать и в составе программного обеспечения коммутатора, который тогда становится комбинированным устройством — так называемым коммутатором 3-го уровня. Коммутаторы 3-го уровня рассматриваются в главе 5.

Технология образования и работы виртуальных сетей с помощью коммутаторов долгое время не стандартизировалась, хотя и была реализована в очень широком спектре моделей коммутаторов разных производителей. Такое положение измени­лось после принятия в 1998 году стандарта IEEE 802.1Q, который определяет ба­зовые правила построения виртуальных локальных сетей, не зависящие от протокола канального уровня, который поддерживает коммутатор.

В виду долгого отсутствия стандарта на VLAN каждый крупный производитель коммутаторов разработал свою технологию виртуальных сетей, которая, как пра­вило, была несовместима с технологиями других производителей. Поэтому, несмотря на появление стандарта, можно не так уж редко встретиться с ситуацией, когда виртуальные сети, созданные на коммутаторах одного производителя, не распознают­ся и, соответственно, не поддерживаются коммутаторами другого производителя.

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

Группировка портов для одного коммутатора — наиболее логичный способ об­разования VLAN, так как виртуальных сетей, построенных на основе одного ком­мутатора, не может быть больше, чем портов. Если к одному порту подключен сегмент, построенный на основе повторителя, то узлы такого сегмента не имеет смысла включать в разные виртуальные сети — все равно трафик этих узлов будет общим.

Создание виртуальных сетей на основе группирования портов не требует от администратора большого объема ручной работы — достаточно каждый порт при-

_________________________ 4.4. Техническая реализация и дополнительные функции коммутаторов 335

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

Второй способ образования виртуальных сетей основан на группировании МАС-адресов. Каждый МАС-адрес, который изучен коммутатором, приписывается той или иной виртуальной сети. При существовании в сети множества узлов этот спо­соб требует выполнения большого количества ручных операций от администрато­ра. Однако он оказывается более гибким при построении виртуальных сетей на основе нескольких коммутаторов, чем способ группирования портов.

Рисунок 4.42 иллюстрирует проблему, возникающую при создании виртуаль­ных сетей на основе нескольких коммутаторов, поддерживающих технику группи­рования портов. Если узлы какой-либо виртуальной сети подключены к разным коммутаторам, то для соединения коммутаторов каждой такой сети должна быть выделена своя пара портов. В противном случае, если коммутаторы будут связаны только одной парой портов, информация о принадлежности кадра той или иной виртуальной сети при передаче из коммутатора в коммутатор будет утеряна. Та­ким образом, коммутаторы с группировкой портов требуют для своего соединения столько портов, сколько виртуальных сетей они поддерживают. Порты и кабели

336 Глава 4 • Построение локальных сетей по стандартам физического и канального уровней

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

Группирование МАС-адресов в виртуальную сеть на каждом коммутаторе из­бавляет от необходимости их связи несколькими портами, так как в этом случае МАС-адрес является меткой виртуальной сети. Однако этот способ требует выпол­нения большого количества ручных операций по маркировке МАС-адресов на каж­дом коммутаторе сети.

Описанные два подхода основаны только на добавлении дополнительной ин­формации к адресным таблицам моста, и в них отсутствует возможность встраива­ния информации о принадлежности кадра к виртуальной сети в передаваемый кадр. Остальные подходы используют имеющиеся или дополнительные поля кад­ра для сохранения информации и принадлежности кадра при его перемещениях между коммутаторами сети. При этом нет необходимости запоминать в каждом коммутаторе принадлежность всех МАС-адресов интерсети виртуальным сетям.

Дополнительное поле с пометкой о номере виртуальной сети используется только тогда, когда кадр передается от коммутатора к коммутатору, а при передаче кадра конечному узлу оно удаляется. При этом модифицируется протокол взаимодей­ствия «коммутатор - коммутатор», а программное и аппаратное обеспечение ко­нечных узлов остается неизменным. Примеров таких фирменных протоколов много, но общий недостаток у них один — они не поддерживаются другими производите­лями. Компания Cisco предложила в качестве стандартной добавки к кадрам лю­бых протоколов локальных сетей заголовок протокола 802.10, предназначенного для поддержки функций безопасности вычислительных сетей. Сама компания ис­пользует этот метод в тех случаях, когда коммутаторы объединяются между собой по протоколу FDDI. Однако эта инициатива не была поддержана другими веду­щими производителями коммутаторов.

Для хранения номера виртуальной сети в стандарте IEEE 802.1Q предусмот­рен тот же дополнительный заголовок, что и стандарт 802.1р. Помимо 3-х бит для хранения приоритета кадра, описанных стандартом 802.1р, в этом заголовке 12 бит используются для хранения номера VLAN, к которой принадлежит кадр. Эта дополнительная информация позволяет коммутаторам разных производите­лей создавать до 4096 общих виртуальных сетей. Чтобы кадр Ethernet не увели­чивался в объеме, при добавлении заголовка 802.1p/Q поле данных уменьшается на 2 байта.

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

В первом случае виртуальные сети образуются на основе сетевых адресов, на­пример адресов IP, то есть той же информации, которая используется при постро­ении интерсетей традиционным способом. Этот эффективный способ работает тогда, когда коммутаторы поддерживают не только протоколы канального уровня, но и протоколы сетевого уровня, то есть являются комбинированными коммутаторами-маршрутизаторами, что бывает далеко не всегда.

Во втором случае виртуальные сети организуются с помощью виртуальных путей в ATM-сетях.

-_________________________ 4.4. Техническая реализация и дополнительные функции коммутаторов 337

4.4.5. Типовые схемы применения коммутаторов в локальных сетях

Сочетание коммутаторов и концентраторов

При построении небольших сетей, составляющих нижний уровень иерархии кор­поративной сети, вопрос о применении того или иного коммуникационного уст­ройства сводится к вопросу о выборе между концентратором или коммутатором.

При ответе на этот вопрос нужно принимать во внимание несколько факторов. Безусловно, немаловажное значение имеет стоимость в пересчете за порт, которую нужно заплатить при выборе устройства. Из технических соображений в первую очередь нужно принять во внимание существующее распределение трафика между узлами сети. Кроме того, нужно учитывать перспективы развития сети: будут ли в скором времени применяться мультимедийные приложения, будет ли модернизи­роваться компьютерная база. Если да, то нужно уже сегодня обеспечить резервы по пропускной способности применяемого коммуникационного оборудования. Использование технологии intranet также ведет к увеличению объемов трафика, циркулирующего в сети, и это также необходимо учитывать при выборе устрой­ства.

При выборе типа устройства — концентратор или коммутатор — нужно еще определить и тип протокола, который будут поддерживать его порты (или прото­колов, если идет речь о коммутаторе, так как каждый порт может поддерживать отдельный протокол).

Сегодня выбор делается между протоколами трех скоростей — 10, 100 и 1000 Мбит/с. Поэтому, сравнивая применимость концентратора или коммутатора, не­обходимо рассмотреть варианты концентратора с портами на 10, 100 и 1000 Мбит/с, а также несколько вариантов коммутаторов с различными комбинациями скорос­тей на портах.

Рассмотрим для примера вопрос о применимости коммутатора в сети с одним сервером и несколькими рабочими станциями, взаимодействующими только с сер­вером (рис. 4.43). Такая конфигурация сети часто встречается в сетях масштаба рабочей группы, особенно в сетях NetWare, где стандартные клиентские оболочки не могут взаимодействовать друг с другом.

Если коммутатор имеет все порты с одинаковой пропускной способностью, на­пример 10 Мбит/с, в этом случае пропускная способность порта в 10 Мбит/с бу­дет распределяться между всеми компьютерами сети. Возможности коммутатора по повышению общей пропускной способности сети оказываются для такой кон­фигурации невостребованными. Несмотря на микросегментацию сети, ее пропуск­ная способность ограничивается пропускной способностью протокола одного порта, как и в случае применения концентратора с портами 10 Мбит/с. Небольшой выиг­рыш при использовании коммутатора будет достигаться лишь за счет уменьшения количества коллизий — вместо коллизий кадры будут просто попадать в очередь к передатчику порта коммутатора, к которому подключен сервер.

Чтобы коммутатор работал в сетях с выделенным сервером более эффективно, производители коммутаторов выпускают модели с одним высокоскоростным пор­том на 100 Мбит/с для подключения сервера и несколькими низкоскоростными портами на 10 Мбит/с для подключения рабочих станций. В этом случае между

338 Глава 4 • Построение локальных сетей по стандартам физического и канального уровней

рабочими станциями распределяется уже 100 Мбит/с, что позволяет обслуживать в неблокирующем режиме 10-30 станций в зависимости от интенсивности создава­емого ими трафика.

Однако с таким коммутатором может конкурировать концентратор, поддержи­вающий протокол с пропускной способностью 100 Мбит/с, например Fast Ethernet. Его стоимость в пересчете за порт будет несколько ниже стоимости за порт комму­татора с одним высокоскоростным портом, а производительность сети примерно та же.

Очевидно, что






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.