Учебник для вузов в. Олифер Н. Олифер Компьютерные Принципы, технологии, протоколы
Скачать 22.28 Mb.
|
Динамический способ распределения кадров, учитывающий текущую загрузку портов и обеспечивающий баланс нагрузки между всеми связями транка, должен приводить, казалось бы, к максимальной пропускной способности транка. Однако такое утверждение справедливо не всегда, так как в нем не учитывается поведение протоколов верхнего уровня. Существует ряд таких протоколов, производительность ко торых может существенно снизиться, если пакеты сеанса связи между двумя конечными узлами будут приходить не в том порядке, в котором они отправлялись узлом-источником. А такая ситуация может возникнуть, если два или более последовательных кадра одного сеанса будут передаваться через разные порты транка — по причине того, что очереди в бу ферах этих портов имеют разную длину. Следовательно, и задержка передачи кадра может быть разной, так что более поздний кадр может обогнать более ранний. Агрегирование линий связи в локальных сетях 463 Поэтому в большинстве реализаций механизмов агрегирования используются методы статического, а не динамического распределения кадров по портам. Статический способ распределения кадров подразумевает закрепление за определенным портом транка потока кадров определенного сеанса между двумя узлами, так что все кадры будут проходить через одну и ту же очередь и их упорядоченность не изменится. Обычно при статическом распределении выбор порта для некоторого сеанса выполняется на основании определенных признаков, имеющихся в поступающих пакетах. Чаще всего такими признаками являются МАС-адреса источника или приемника или оба вместе. В популярной реализации механизма Fast EtherChannel компании Cisco для коммутаторов семейства Catalyst при выборе номера порта транка используется операция исключающего ИЛИ (XOR) над двумя последними битами МАС-адресов источника и приемника. Резуль тат этой операции имеет четыре значения: 00,01,10 и 11, которые и являются условными номерами портов транка. МАСІ МАС7 МАС1ЄМАС7-+Р17 МАС10МАС8-»Р18 МАС20МАС7->Р19 МАС60МАС7->Р10 МАС6ФМАС8->Р17 М AC60AL11 —>Р19 MAC60AL11-+P19 Рис. 14.7. Пример сети с механизмом Fast EtherChannel На рис. 14.7 приведен пример сети, в которой работает механизм Fast EtherChannel. Рас пределение потоков для сеансов между конечными узлами получается при этом достаточно случайным. Так как в распределении не учитывается реальная нагрузка, которую создает каждый сеанс, общая пропускная способность транка может использоваться нерациональ но, особенно если интенсивности сеансов намного отличаются друг от друга. Кроме того, алгоритм распределения не гарантирует даже равномерного в количественном отношении МАС1->Р11 ІИАС2-+Р11 МАСЗ->Р12 MAC7-+AL11,, MAC8->AL11 MAC7-+AL11 MAC7-+AL11 464 Глава 14. Интеллектуальные функции коммутаторов распределения сеансов по портам. Случайный набор М AC-адресов в сети может привести к тому, что через один порт будут проходить несколько десятков сеансов, а через другой — только два-три. Выравнивания нагрузки портов в данном алгоритме можно достигнуть только при большом количестве компьютеров и сеансов связи между ними. Можно предложить и другие способы распределения сеансов по портам. Например, в со ответствии с ІР-адресами пакетов, которые инкапсулированы в кадры канального уровня, типами прикладных протоколов (почта по одному порту, веб-трафик по другому и т. д.). Полезным оказывается назначение порту сеансов с М AC-адресами, которые были изучены как идущие именно через этот порт — тогда трафик сеанса пойдет через один и тот же порт в обоих направлениях. Стандартный способ создания агрегированных каналов, описанный в спецификации 802.3ad, предполагает возможность создания логического порта путем объединения не скольких физических портов, принадлежащих разным коммутаторам. Для того чтобы коммутаторы могли автоматически обеспечиваться информацией о принадлежности какого-либо физического порта определенному логическому порту, в спецификации предложен служебный протокол управления агрегированием линий связи (Link Control Aggregation Protocol, LCAP). Поэтому возможны такие конфигурации агрегированных ка налов, которые увеличивают отказоустойчивость сети не только на участках между двумя коммутаторами, но и в более сложных топологиях (рис. 14.8). Агрегированный канал Рис. 14.8. Распределенное агрегирование каналов При отказе какого-либо канала транка все пакеты сеансов, назначенные для соответствую щего порта, будут направляться на один из оставшихся портов. Обычно восстановление связности при таком отказе занимает от единиц до десятков миллисекунд. Это объясняется тем, что во многих реализациях транка после отказа физического канала все МАС-адреса, которые были с ним связаны, принудительно помечаются как неизученные. Затем ком мутатор повторяет процедуру изучения этих адресов. После этого процедура назначения сеанса портам выполняется заново, естественно, учитываются только работающие порты. Так как тайм-ауты в сеансах протоколов локальных сетей обычно небольшие, коротким оказывается и время восстановления соединения. Фильтрация трафика Локальная сеть обеспечивает взаимодействие каждого узла с каждым — это очень полезное свойство, так как не требуется производить никаких специальных действий, чтобы обе Фильтрация трафика 465 спечить доступ узла А к узлу В — достаточно того, что эти узлы подключены к одной и той же локальной сети. В то же время в сети могут возникать ситуации, когда такая тотальная доступность узлов нежелательна. Примером может служить сервер финансового отдела, доступ к которому желательно разрешить только с компьютеров нескольких конкретных сотрудников этого отдела. Конечно, доступ можно ограничить на уровне операционной системы или системы управления базой данных самого сервера, но для надежности жела тельно иметь несколько эшелонов защиты и ограничить доступ еще и на уровне сетевого трафика. Многие модели коммутаторов позволяют администраторам задавать дополнительные усло вия фильтрации кадров наряду со стандартными условиями их фильтрации в соответствии с информацией адресной таблицы. Такие фильтры называют пользовательскими. Пользовательский фильтр, который также часто вазываютслиском доступа {access list), предназначен для создания дополнительных барьеров на ггут кадров, что позволяет ограничи вать доступ определенных групп полЁзовапгелейк Пользовательский фильтр — это набор условий, которые ограничмваотобычную/югиет передачи кадров комму таторами. Наиболее простыми являются пользовательские фильтры на основе МAC-адресов станций. Так как МАС-адреса — это та информация, с которой работает коммутатор, он позволяет создавать подобные фильтры удобным для администратора способом, возможно, про ставляя некоторые условия в дополнительном поле адресной таблицы, например условие отбрасывать кадры с определенным адресом (см. рис. 13.6 в главе 13). Таким способом пользователю, работающему на компьютере с данным МАС-адресом, полностью запре щается доступ к ресурсам другого сегмента сети. Рассмотрим применение пользовательского фильтра на примере сети, показанной на рис. 14.9. Рис. 14.9. Контроль доступа к серверу с помощью пользовательского фильтра 466 Глава 14. Интеллектуальные функции коммутаторов Пусть мы хотим разрешить доступ к серверу 51 только с компьютеров С1 и С3, кадры от всех остальных компьютеров до этого сервера доходить не должны. Список доступа, ко торый решает эту задачу, может выглядеть так: 10 p e r m i t М А С - С 1 M A C - S 1 2 0 p e r m i t М А С - С З MAC - S I 3 0 d e n y a n y a n y Числа 10,20 и ЗО — это номера строк данного списка. Строки нумеруются с интервалом 10 для того, чтобы в дальнейшем была возможность добавить в этот список другие записи, сохраняя исходную последовательность строк. Первое условие разрешает (permit) пере дачу кадра, если его адрес источника равен МАС-С1, а адрес назначения — МАС-SI; второе условие делает то же, но для кадра с адресом источника МАС-СЗ, третье условие запрещает (deny) передачу кадров с любыми (any) адресами. Для того чтобы список доступа начал работать, его нужно применить к трафику опреде ленного направления на какому-либо порту коммутатора: либо к входящему, либо к ис ходящему. В нашем примере нужно применить список доступа к исходящему трафику порта 1 коммутатора SW3, к которому подключен сервер 51. Коммутатор SW3, перед тем как предать кадр на порт 1, будет просматривать условия списка доступа по очереди. Если какое-то условие из списка соблюдается, то коммутатор выполняет действие этого условия для обрабатываемого кадра, и на этом применение списка доступа для данного кадра заканчивается. Поэтому когда от компьютера С1 приходит кадр, адресованный серверу 51, то соблюдается первое условие списка, которое разрешает передачу кадра, так что коммутатор выполняет стандартное действие по продвижению кадра, и тот доходит до сервера 52. С кадром от компьютера СЗ совпадение происходит при проверке второго условия, и он также переда ется. Однако когда приходят кадры от других компьютеров, например компьютера С2, то ни первое, ни второе условия не соблюдаются, зато соблюдается третье условие, поэтому кадр не передается, а отбрасывается. Списки доступа коммутаторов не работают с широковещательными адресами Ethernet, такие кадры всегда передаются на все порты коммутатора. Списки доступа коммутаторов достаточно примитивны, поскольку могут оперировать только информацией канального уровня, то есть МАС-адресами. Списки доступа маршрутизаторов гораздо более гибкие и мощные, поэтому на практике они применяются гораздо чаще. Иногда администратору требуется задать более тонкие условия фильтрации, например запретить некоторому пользователю печатать свои документы на сервере печати Windows, находящемуся в чужом сегменте, а остальные ресурсы этого сегмента сделать доступными. Для реализации подобного фильтра нужно запретить передачу кадров, которые удовлет воряют следующим условиям: во-первых, имеют определенный МАС-адрес, во-вторых, содержат в поле данных пакеты SMB, в-третьих, в соответствующем поле этих пакетов в качестве типа сервиса указана печать. Коммутаторы не анализируют протоколы верх них уровней, такие как SMB, поэтому администратору приходится для задания условий фильтрации «вручную» определять поле, по значению которого нужно осуществлять фильтрацию. В качестве признака фильтрации администратор указывает пару «смещение- размер» относительно начала поля данных кадра канального уровня, а затем еще приводит шестнадцатеричное значение этого поля. Сложные условия фильтрации обычно записываются в виде булевых выражений, форми руемых с помощью логических операторов AND и OR. Виртуальные локальные сети 467 Виртуальные локальные сети Важным свойством коммутатора локальной сети является способность контролировать передачу кадров между сегментами сети. По различным причинам (соблюдение прав до ступа, политика безопасности и т. д.) некоторые кадры не следует передавать по адресу назначения. Как мы выяснили в предыдущем разделе, ограничения такого типа можно реализовать с помощью пользовательских фильтров. Однако пользовательский фильтр может запре тить коммутатору передачу кадров только по конкретным адресам, а широковещательный трафик он обязан передать всем сегментам сети. Так требует алгоритм его работы. Поэтому, как уже отмечалось, сети, созданные на основе коммутаторов, иногда называют плоскими — из-за отсутствия барьеров на пути широковещательного трафика. Технология виртуальных локальных сетей позволяет преодолеть указанное ограничение. Виртуально^ сетью группа узлов сети, Это означает, что передача кадров между разными виртуальными сетями на основании адреса канального уровня невозможна независимо от типа адреса (уникального, группового или широковещательного). В то же время внутри виртуальной сети кадры передаются по В \ / Ж в I I Д І I I Рис. 14.10. Виртуальные локальные сети 468 Глава 14. Интеллектуальные функции коммутаторов технологии коммутации, то есть только на тот порт, который связан с адресом назначения кадра. Виртуальные локальные сети могут перекрыватьсяу если один или несколько компьютеров входят в состав более чем одной виртуальной сети. На рис. 14.10 сервер электронной почты входит в состав виртуальных сетей 3 и 4. Это означает, что его кадры передаются комму таторами всем компьютерам, входящим в эти сети. Если же какой-то компьютер входит в состав только виртуальной сети 3, то его кадры до сети 4 доходить не будут, но он может взаимодействовать с компьютерами сети 4 через общий почтовый сервер. Такая схема защищает виртуальные сети друг от друга не полностью, например, широковещательный шторм, возникший на сервере электронной почты, затопит и сеть 3, и сеть 4. Говорят, что виртуальная сеть образует домен широковещательного трафика по аналогии с доменом коллизий, который образуется повторителями сетей Ethernet. Назначение виртуальных сетей Как мы видели на примере из предыдущего раздела, с помощью пользовательских фильтров можно вмешиваться в нормальную работу коммутаторов и ограничивать взаимодействие узлов локальной сети в соответствии с требуемыми правилами доступа. Однако механизм пользовательских фильтров коммутаторов имеет несколько недостатков: □ Приходится задавать отдельные условия для каждого узла сети, используя при этом громоздкие МАС-адреса. Гораздо проще было бы группировать узлы и описывать усло вия взаимодействия сразу для групп. □ Невозможно блокировать широковещательный трафик Широковещательный трафик может быть причиной недоступности сети, если какой-то ее узел умышленно или неумышленно с большой интенсивностью генерирует широковещательные кадры. Техника виртуальных локальных сетей решает задачу ограничения взаимодействия узлов сети другим способом. Основное назначение технологии VLAN состоит в облегчении процесса создания изоли рованных сетей, которые затем обычно связываются между собой с помощью маршрути заторов. Такое построение сети создает мощные барьеры на пути нежелательного трафика из одной сети в другую. Сегодня считается очевидным, что любая крупная сеть должна включать маршрутизаторы, иначе потоки ошибочных кадров, например широковещатель ных, будут периодически «затапливать» всю сеть через прозрачные для них коммутаторы, приводя ее в неработоспособное состояние. ІО^оіоиногаомзр^снолснш вирту&1ьнЫ* с э т^ запнется то, что она позволяет соаддватьпсшностыо изолированные оегменты сети яутем логического конфигурирования коммутаторов, ре прибегая кизменен ик>физиче<жойо^у<1>1>ы. До появления технологии VLAN для создания отдельной сети использовались либо фи зически изолированные сегменты коаксиального кабеля, либо не связанные между собой сегменты, построенные на повторителях и мостах. Затем эти сети связывались маршрути заторами в единую составную сеть (рис. 14.11). Изменение состава сегментов (переход пользователя в другую сеть, дробление крупных сегментов) при таком подходе подразумевает физическую перекоммутацию разъемов на Виртуальные локальные сети 469 передних панелях повторителей или на кроссовых панелях, что не очень удобно в больших сетях — много физической работы, к тому же высока вероятность ошибки. и ц иг д д д О п 5 e j l j $ З Сегменты на повторителях О П D £ 5 S Рис. 14.11. Составная сеть, состоящая из сетей, построенных на основе повторителей Для связывания виртуальных сетей в общую сеть требуется привлечение средств сетевого уровня. Он может быть реализован в отдельном маршрутизаторе или в составе программ ного обеспечения коммутатора, который тогда становится комбинированным устрой ством - так называемым коммутатором 3-го уровня (см. главу 18). Технология виртуальных сетей долгое время не стандартизировалась, хотя и была реали зована в очень широком спектре моделей коммутаторов разных производителей. Положе ние изменилось после принятия в 1998 году стандарта IEEE 802.1Q, который определяет базовые правила построения виртуальных локальных сетей, не зависящие от протокола канального уровня, поддерживаемого коммутатором. Создание виртуальных сетей на базе одного коммутатора При создании виртуальных сетей на основе одного коммутатора обычно используется механизм группирования портов коммутатора (рис. 14.12). При этом каждый порт при писывается той или иной виртуальной сети. Кадр, пришедший от порта, принадлежащего, например, виртуальной сети 1, никогда не будет передан порту, который не принадлежит этой виртуальной сети. Порт можно приписать нескольким виртуальным сетям, хотя на практике так делают редко — пропадает эффект полной изоляции сетей. Создание виртуальных сетей путем группирования портов не требует от администратора большого объема ручной работы — достаточно каждый порт приписать к одной из несколь ких заранее поименованных виртуальных сетей. Обычно такая операция выполняется с помощью специальной программы, прилагаемой к коммутатору. Второй способ образования виртуальных сетей основан на группировании МАС-адресов. Каждый МАС-адрес, который изучен коммутатором, приписывается той или иной вир туальной сети. При существовании в сети множества узлов этот способ требует от адми нистратора большого объема ручной работы. Однако при построении виртуальных сетей 470 Глава 14. Интеллектуальные функции коммутаторов на основе нескольких коммутаторов он оказывается более гибким, чем группирование портов. Рис. 14.12. Виртуальные сети, построенные на одном коммутаторе Создание виртуальных сетей на базе нескольких коммутаторов Рисунок 14.13 иллюстрирует проблему, возникающую при создании виртуальных сетей на основе нескольких коммутаторов, поддерживающих технику группирования портов. К2 ^ г п (— I f— I Г -1 И 811 Г"” "—і Р8?. I * 1 * Дцц /і-.::— к / 1 ' \ |_ s ,:w. ".'-"А Рис. 14.13. Построение виртуальных сетей на нескольких коммутаторах с группированием портов Если узлы какой-либо виртуальной сети подключены к разным коммутаторам, то для под ключения каждой такой сети на коммутаторах должна быть выделена специальная пара портов. В противном случае, если коммутаторы будут связаны только одной парой портов, информация о принадлежности кадра той или иной виртуальной сети при передаче из коммутатора в коммутатор будет утеряна. Таким образом, коммутаторы с группированием портов требуют для своего соединения столько портов, сколько виртуальных сетей они поддерживают. Порты и кабели используются в этом случае очень расточительно. Кроме того, при соединении виртуальных сетей через маршрутизатор для каждой виртуальной Виртуальные локальные сети 471 сети выделяется отдельный кабель и отдельный порт маршрутизатора, что также приводит к большим накладным расходам. Группирование МАС-адресов в виртуальную сеть на каждом коммутаторе избавляет от необходимости связывать их по нескольким портам, поскольку в этом случае МАС-адрес становится меткой виртуальной сети. Однако этот способ требует выполнения большого количества ручных операций по маркировке МАС-адресов на каждом коммутаторе сети. Описанные два подхода основаны только на добавлении дополнительной информации к адресным таблицам коммутатора и в них отсутствует возможность встраивания в пере даваемый кадр информации о принадлежности кадра виртуальной сети. В остальных подходах используются имеющиеся или дополнительные поля кадра для сохранения информации о принадлежности кадра той или иной виртуальной локальной сети при его перемещениях между коммутаторами сети. При этом'нет необходимости помнить в каждом коммутаторе о принадлежности всех МАС-адресов составной сети виртуальным сетям. Дополнительное поле с пометкой о номере виртуальной сети используется только тогда, когда кадр передается от коммутатора к коммутатору, а при передаче кадра конечному узлу оно обычно удаляется. При этом модифицируется протокол взаимодействия «коммутатор- коммутатор», а программное и аппаратное обеспечение конечных узлов остается неизмен ным. До принятия стандарта IEEE 802.1Q существовало много фирменных протоколов этого типа, но все они имели один недостаток — оборудование различных производителей при образовании VLAN оказывалось несовместимым. Этот стандарт вводит в кадре Ethernet дополнительный заголовок, который называется тегом виртуальной локальной сети. ^rrnatlon}— упрадляюадя шшщ** которое является М ІЇ4 І TerVLAN 6 байт 6 байт 2 байта 2 байта 2 байта 42-1496 байт 4 байта t ,} '>Тур9;.-а ‘і З Ь к : " С tiata ’ ’ [ — Ъ.’< - V' FCS Збита 1 бит 12 бит Приоритет ; fcR .VID - *Фйс. 14.14. Структура помеченного кадра Ethernet TerVLAN не является обязательным для кадров Ethernet. Кадр, у которого имеется такой заголовок, называют помеченным (tagged frame). Коммутаторы могут одновременно ра ботать как с помеченными, так и с непомеченными кадрами. Из-за добавления тега VLAN максимальная длина поля данных уменьшилась на 4 байта. 472 Глава 14. Интеллектуальные функции коммутаторов Для того чтобы оборудование локальных сетей могло отличать и понимать помеченные кадры, для них введено специальное значение поля EtherType, равное 0x8100. Это значе ние говорит о том, что за ним следует поле TCI; а не стандартное поле данных. Обратите внимание, что в помеченном кадре за полями тега VLAN следует другое поле EtherType, указывающее тип протокола, данные которого переносятся полем данных кадра. В поле TCI находится 12-битное поле номера (идентификатора) VLAN, называемого VID. Разрядность поля VID позволяет коммутаторам создавать до 4096 виртуальных сетей. Помимо этого в поле TCI помещено 3-битное поле приоритета кадра. Однобитное поле CFI было введено с целью поддержания специального формата кадра Token Ring, для сетей Ethernet оно должно содержать значение 0. Пользуясь значением VID в помеченных кадрах, коммутаторы сети выполняют групповую фильтрацию трафика, разбивая сеть на виртуальные сегменты, то есть на VLAN. Для под держки этого режима каждый порт коммутатора приписывается к одной или нескольким виртуальным локальным сетям, то есть выполняется группировка портов. Для упрощения конфигурирования сети в стандарте 802.1Q вводятся понятия линии до ступа и транка. Коммутаторы, поддерживающие технику VLAN, без специального конфигурирования по умолчанию работают как стандартные коммутаторы, обеспечивая соединения всех со всеми. В сети, образованной такими коммутаторами, все конечные узлы по умолчанию относятся к условной сети VLAN1 с идентификатором VID, равным 1. Все порты этой сети, к которым подключены конечные узлы, по определению являются портами доступа. VLAN1 можно отнести к виртуальным локальным сетям лишь условно, так как по ней передаются непомеченные кадры. Для того чтобы образовать в исходной сети виртуальную локальную сеть, нужно в первую очередь выбрать для нее значение идентификатора VID, отличное от 1, а затем, используя команды конфигурирования коммутатора, приписать к этой сети те порты, к которым присоединены включаемые в нее компьютеры. Порт доступа может быть приписан только к одной виртуальной локальной сети. Порты доступа получают от конечных узлов сети непомеченные кадры и помечают их тегом VLAN, содержащим то значение VID, которое назначено этому порту. При передаче же помеченных кадров конечному узлу порт доступа удаляет тег виртуальной локальной сети. Для более н аглядное описания вернемся к рассмотренному ранее примеру сети. На рис. 14.15 показано, как решается задана избирательного доступа к серверам на основе техники VLAN. Будем считать, что поставлена задача обеспечить доступ компьютеров С1 и СЗ к серверам 51 и 53, в то время как компьютеры С2 и С4 должны иметь доступ только к серверам 52 и 54. ^бммутатора (называемый в этом случае портом доступа) Йекйторойвиртуальной локальной сети. щ соединяет ме*дусобой порты даух коммутаторов; в общем ! #$фик нескольких виртуальныхсетей. V , j Виртуальные локальные сети 473 MAC-S2 ---------- VLAN-2 ---------- VLAN-3 Рис. 14.15. Разбиение сети на две виртуальные локальные сети Чтобы решить эту задачу, можно организовать в сети две виртуальные локальные сети, VLAN2 и VLAN3 (напомним, что сеть VLAN1 уже существует по умолчанию — это наша исходная сеть), приписав один набор компьютеров и серверов к VLAN2, а другой — KVLAN3. Для приписывания конечных узлов к определенной виртуальной локальной сети соот ветствующие порты объявляются портами доступа этой сети путем назначения им соот ветствующего идентификатора VID. Например, порт 1 коммутатора SW1 должен быть объявлен портом доступа VLAN2 путем назначения ему идентификатора VID2, то же самое должно быть проделано с портом 5 коммутатора SW1, портом 1 коммутатора SW2 и портом 1 коммутатора SW3. Порты доступа сети VLAN3 должны получить идентифи катор VID3. В нашей сети нужно также организовать транки — те линии связи, которые соединяют между собой порты, коммутаторов. Порты, подключенные к транкам, не добавляют и не удаляют теги, они просто передают кадры в неизменном виде. В нашем примере такими портами должны быть порты 6 коммутаторов SW1 и SW2, а также порты 3 и 4 коммутатора SW3. Порты в нашем примере должны поддерживать сети VLAN2 и VLAN3 (и VLAN1, если в сети есть узлы, явно не приписанные ни к одной виртуальной локальной сети). Коммутаторы, поддерживающие технологию VLAN, осуществляют дополнительную фильтрацию трафика. В том случае если таблица продвижения коммутатора говорит о том, что пришедший кадр цужно передать на некоторый порт, перед передачей коммутатор проверяет, соответствует ли значение VID в теге VLAN кадра той виртуальной локальной сети, которая приписана к этому порту. В случае соответствия кадр передается, несоот ветствия — отбрасывается. Непомеченные кадры обрабатываются аналогичным образом, нос использованием условной сети VLAN1. МАС-адреса изучаются коммутаторами сети отдельно по каждой виртуальной локальной сети. 474 Глава 14. Интеллектуальные функции коммутаторов Как мы видим из примера, техника VLAN оказывается весьма эффективной для разгра ничения доступа к серверам. Конфигурирование виртуальной локальной сети не требует знания МАС-адресов узлов, кроме того, любое изменение в сети, например Подключение компьютера к другому коммутатору, требует конфигурирования лишь порта данного ком мутатора, а все остальные коммутаторы сети продолжают работать без внесения изменений в их конфигурации. Альтернативные маршруты в виртуальных локальных сетях По умолчанию протокол STP/RSTP образует в сети одно покрывающее дерево для всех виртуальных локальных сетей. Чтобы в сети можно было использовать разные покрываю щие деревья для разных виртуальных локальных сетей, существует специальная версия протокола, называемая множественным протоколом покрывающего дерева (Multiple Spanning Tree Protocol, MSTP). Протокол MSTP позволяет создать несколько покрывающих деревьев и приписывать к ним различные виртуальные локальные сети. Обычно создается небольшое количество деревьев, например два или три, чтобы сбалансировать нагрузку на коммутаторы, в про Виртуальные локальные сети 475 тивном случае, как мы видели в примере на рис. 14.2 и 14.3, единственное покрывающее дерево может полностью оставить без работы некоторые коммутаторы сети, то есть недо использует имеющие сетевые ресурсы. Если вернуться к нашему примеру (см. рис. 14.2), то при создании двух покрывающих деревьев можно сконфигурировать приоритеты коммутаторов так, чтобы для одного дерева корневым коммутатором стал коммутатор 111, а для второго — коммутатор 222 (рис. 14.16). В этом варианте мы подразумеваем, что порты 4 коммутаторов с 555 по 888 сконфигу рированы как порты доступа одной виртуальной локальной сети, например VLAN100, а порты 3 тех же коммутаторов — как порты доступ» другой виртуальной локальной сети, например VLAN200. Сеть VLAN100 приписана к покрывающему дереву с корневым коммутатором 111, a VLAN200 — к покрывающему дереву с корневым коммутатором 222. В этом варианте все коммутаторы сети используются для передачи трафика, что повышает производительность сети. Протокол MSTP основан на протоколе RSTP, поэтому обеспечивает быструю реакцию сети на отказы. Качество обслуживания в виртуальных сетях Коммутаторы локальных сетей поддерживают практически все механизмы QoS, которые мы обсуждали в главе 7. Это утверждение относится к коммутаторам локальных сетей как к классу коммуникационных устройств, каждая же конкретная модель коммутатора может быть наделена только определенным набором механизмов поддержания параметров QoS или же не иметь их вовсе. Как правило, коммутаторы рабочих групп средств QoS не поддерживают, в то время как дл^ магистральных коммутаторов эта поддержка является обязательной. Классификация трафика Коммутаторы локальных сетей являются устройствами второго уровня, которые анализи руют заголовки только протоколов канального уровня. Поэтому коммутаторы обычно ис пользуют для классификации трафика только МАС-адреса источника и приемника, а также номер порта, через который поступил кадр. Возможен также учет при классификации значения произвольного подполя внутри поля данных, заданного путем указания смеще ния в байтах. Эти способы не очень удобны для администратора, которому необходимо, например, отделить голосовой трафик от трафика передачи файлов. Поэтому некоторые коммутаторы, не поддерживая протоколы верхних уровней в полном объеме (например, не применяя протокол IP для продвижения пакетов), выполняют классификацию на основе признаков, содержащихся в заголовках пакетов этих протоколов — ІР-адресах и портах TCP/UDP Маркирование трафика Маркирование трафика обычно выполняется на границе сети, а затем его результаты ис пользуются во всех промежуточных устройствах сети. В кадре Ethernet 802.3 отсутствует поле, в которое можно было бы поместить результат маркировки трафика. Однако этот недостаток исправляет спецификация 802.1р, в которой имеются три бита дополнительного заголовка 802.1Q/p для хранения приоритета кадра. 476 Глава 14. Интеллектуальные функции коммутаторов Фактически, эти три бита служат для хранения признака одного из восьми классов тра фика. Именно так трактует это поле стандарт 802.1 D-2004, куда вошла спецификация 802.1р. В приложении G стандарта 802.1D-2004 даются рекомендации по разделению всего трафика локальных сетей на семь классов: □ NC (управление сетью). Управлению сетью дается высший приоритет при обслужива нии, так как от своевременного принятия решения и доставки управляющей информа ции сетевым устройствам зависят любые характеристики сети. □ VO (голос). Голосовому трафику требуется обеспечить задержу менее 10 мс. □ VI (видео). Видеотрафику требуется обеспечить задержу менее 100 мс. □ CL (контролируемая нагрузка). При применении важных бизнес-приложений требуется некоторая форма контроля допуска (admission control) и резервирование пропускной способности для потока. □ ЕЕ (улучшенное обслуживание). Это улучшенный вариант обслуживания по возмож ности, не дающий никаких гарантий пропускной способности. □ BE (обслуживание по возможности, или с максимальными усилиями). Стандартное обслуживание в локальных сетях. □ ВК (фоновый трафик). Наименее чувствительный к задержкам трафик, например тра фик резервного копирования, источник которого может передавать большие объемы данных, поэтому его целесообразно выделить в особый класс, чтобы он не замедлял обработку других типов трафика. Управление очередями Коммутатор, поддерживающий параметры QoS, позволяет использовать несколько очере дей для дифференцированной обработки классов трафика. Очереди могут обслуживаться в соответствии с алгоритмом приоритетной обработки, алгоритмом взвешенного обслужи вания или на основе комбинации этих алгоритмов. Коммутатор обычно поддерживает некоторое максимальное количество очередей, которое может оказаться меньше, чем требуемое число классов трафика. В этой ситуации несколько классов будут обслуживаться одной очередью, то есть фактически сольются в один класс. Стандарт 802.1 D-2004 дает рекомендации в отношении того, какие классы трафика нуж но реализовывать в сети в условиях ограниченного количества очередей в коммутаторах (табл. 16.1). При существовании только одной очереди в сети все классы трафика обслуживаются этой очередью. На самом деле все классы обслуживаются с обычным качеством (по воз можности), так как за счет управления очередями улучшить качество невозможно, хотя такие возможности, как обратная связь и резервирование полосы пропускания, для общего трафика остаются. Две очереди дают возможность дифференцированно обслуживать группы классов трафи ка — менее требовательные классы ВК, BE и ЕЕ в одной очереди, а более требовательные классы VO, CL, VI, NC — в другой. Дальнейшее увеличение количества очередей позволяет более дифференцированно об служивать трафик, вплоть до рекомендуемых семи классов. Предложенная схема является только рекомендацией, администратор сети может делить трафик на классы по своему усмотрению. Виртуальные локальные сети 477 Таблица 16.1. Классы трафика и количество очередей Количество очередей Классы трафика 1 {BE, ЕЕ, ВК, VO, CL, VI, NC} 2 {BE, ЕЕ, ВК} {VO, CL, VI, NC} 3 {BE, ЕЕ, ВК} {CL, VI} {VO, NC} 4 {ВК} {BE, ЕЕ} {CL, VI} {VO, NC} 5 {ВК} {BE, ЕЕ} {CL} {VI} {VO.NC} 6 {ВК} {BE} {ЕЕ} {CL} {VI} {VO.NC} 7 {ВК} {BE} {ЕЕ} {CL} {VI} {VO} {NC} Кроме того, допускается обслуживание индивидуальных потоков трафика, но при этом каждый коммутатор должен самостоятельно выделять поток из общего трафика, так как в кадре Ethernet нет поля для переноса через сеть метки потока. В качестве признака класса трафика можно использовать номер виртуальной сети. Этот признак можно также комбинировать со значениями поля приоритета кадра, получая большое число различных классов. Резервирование и профилирование Коммутаторы локальных сетей поддерживают методы резервирования пропускной способ ности интерфейсов для классов трафика или индивидуальных потоков. Обычно комму татор разрешает назначить классу или потоку минимальную скорость передачи данных, которая гарантируется в периоды перегрузок, а также максимальную скорость передачи данных, которая контролируется механизмом профилирования. Для коммутаторов локальных сетей не существует стандартного протокола резервирования ресурсов. Поэтому для выполнения резервирования администратор сети должен сконфи гурировать каждый коммутатор сети отдельно. 478 Глава 14. Интеллектуальные функции коммутатор Ограничения коммутаторов Применение коммутаторов позволяет преодолеть ограничения, свойственные сетям С Р'с деляемой средой. Коммутируемые локальные сети могут покрывать значительные терр тории, плавно переходя в сети мегаполисов; они могут состоять из сегментов различи пропускной способности, образуя сети с очень высокой производительностью; они мог использовать альтернативные маршруты для повышения надежности и производите;] ности. Однако построение сложных сетей без маршрутизаторов, а только на основе ко мутаторов имеет существенные ограничения. □ Серьезные ограничения по-прежнему накладываются на топологию коммутируем! локальной сети. Требование отсутствия петель преодолевается с помощью техниі STP/RSTP/MSTP и агрегирования каналов лишь частично. Действительно, STP не п зволяет задействовать все альтернативные маршруты для передачи пользовательско трафика, а агрегирование каналов разрешает так делать только на участке сети меж, двумя соседними коммутаторами. Подобные ограничения не позволяют применя многие эффективные топологии, пригодные для передачи трафика. □ Логические сегменты сети, расположенные между коммутаторами, слабо изолиров ны друг от друга, а именно — не защищены от так называемых широковещательні штормов. Использование же механизма виртуальных сетей, реализованного во мноп коммутаторах, хотя и позволяет достаточно гибко создавать изолированные по трафи группы станций, при этом изолирует их полностью, то есть так, что узлы одной вирт альной сети не могут взаимодействовать с узлами другой виртуальной сети. □ В сетях, построенных на основе мостов и коммутаторов, достаточно сложно решает задача фильтрации трафика на основе данных, содержащихся в пакете. В таких сет. фильтрация выполняется только с помощью пользовательских фильтров, для создан) которых администратору приходится иметь дело с двоичным представлением соде жимого пакетов. □ Реализация транспортной подсистемы только средствами физического и канально уровней приводит к недостаточно гибкой одноуровневой системе адресации: в качест адреса назначения используется МАС-адрес, жестко связанный с сетевым адаптеро □ У коммутаторов ограничены возможности по трансляции протоколов при создании г терогенной сети. Они не могут транслировать протоколы WAN в протоколы LAN из- различий в системе адресации этих сетей, а также различных значений максимально размера поля данных. Наличие серьезных ограничений у протоколов канального уровня показывает, что п строение на основе средств этого уровня больших неоднородных сетей является весы проблематичным. Естественное решение в этих случаях — привлечение средств бол высокого сетевого уровня. Пример коммутируемой сети завода можно найти на сайте www.olifer.co.uk в разделе «Коммутируе мые сети». Вопросы и задания 479 Выводы Для автоматического поддержания в сложных сетях резервных связей в коммутаторах реализует ся алгоритм покрывающего дерева. Этот алгоритм описан в документе IEEE 802.1D и основан на периодической обмене коммутаторов специальными кадрами, с помощью которых выявляются и блокируются петлевидные связи в сети. Протокол STA находит конфигурацию покрывающего дерева за три этапа. На первом этапе опреде ляется корневой коммутатор, на втором — корневые порты, на третьем — назначенные порты сегментов. Недостатком протокола STA 802.1D является сравнительно большое время установления новой активной конфигурации — около 50 с. Новый стандарт RSTP устраняет этот недостаток за счет предварительного выбора портов-дублеров для корневых и назначенных портов, а также введения некоторых других новых механизмов. Агрегирование нескольких физических каналов в один логический является одной из форм ис пользования нескольких активных альтернативных маршрутов в локальных сетях на коммутаторах. Агрегирование каналов повышает как производительность, так и надежность сети. Агрегированный канал может быть образован не только между двумя соседними коммутаторами, но и распределяться между портами нескольких коммутаторов. Для автоматического уведомления о принадлежности физического порта определенному агрегированному порту разработан протокол LCAP. Технология виртуальных локальных сетей (VLAN) позволяет в сети, построенной на коммутаторах, программным путем создать изолированные группы конечных узлов, между которыми отсутствует любой трафик, в том числе широковещательный. Конфигурирование VLAN обычно ведется путем группирования портов или МАС-адресов. Для построение виртуальной локальной сети на основе нескольких коммутаторов желательно по мечать передаваемые кадры специальной меткой — тегом, идентифицирующем номер сети, кото рой принадлежит отправитель кадра. Стандартный формат тега VLAN определен в спецификации 802.1Q. Протокол MSTP позволяет организовать в сети отдельные покрывающие деревья для виртуальных локальных сетей. Коммутаторы LAN поддерживают многие механизмы QoS: классификацию и профилирование тра фика, приоритетные и взвешенные очереди, резервирование пропускной способности. Вопросы и задания 1. Для какой цели используется алгоритм покрывающего дерева? Варианты ответов: а) для автоматического построения связной топологии без петель; б) для защиты мостов от широковещательного шторма; в) для автоматического перехода на резервные связи при отказе узлов или основных линий связи сети. 2. Каждый ли коммутатор, участвующий в построении покрывающего дерева, имеет кор невой порт? 3. Какой порт называется назначенным? а) имеющий минимальное расстояние до корневого коммутатора среди всех портов, которые подключены к данному сегменту; б) имеющий минимальное расстояние до корневого коммутатора среди всех портов данного коммутатора. 480 Глава 14. Интеллектуальные функции коммутаторов 4. Может ли администратор влиять на выбор корневого коммутатора? 5. Каким образом коммутаторы решают, что выбор активной топологии завершен? 6 . За счет каких усовершенствований протокол RSTP работает быстрее протокола STP? Варианты ответов: а) применение более быстрых процессоров коммутаторов; б) исключение тупиковых портов из процесса выбора корневых и назначенных пор тов; в) выбор портов-дублеров для корневых и назначенных портов; г) введение процедуры подтверждения новой роли назначенного порта. 7. Как взаимодействуют алгоритмы покрывающего дерева и агрегирования каналов? 8 . В чем заключаются недостатки динамического способа выбора порта транка? Вари анты ответов: а) неравномерная загрузка портов транка; б) нарушение порядка следования кадров, принадлежащих одному потоку; в) возможность потери кадров. 9. Преимуществами разбиения локальной сети на VLAN являются: а) локализация широковещательного трафика; б) повышение безопасности сети; в) улучшение управляемости сети; г) уменьшение объема ручного конфигурирования коммутаторов. 10. Каким образом можно объединить несколько виртуальных локальных сетей? Вари анты ответов: а) приписать их к одному и тому же транку; б) сделать какой-либо конечный узел членом объединяемых сетей VLAN; в) объединить VLAN с помощью маршрутизатора. 11. Укажите способы образования VLAN: а) блокировка портов; б) группирование портов; в) группирование МАС-адресов; г) использование тегов стандарта IEEE 802.1Q. 12. Почему группирование портов плохо работает в сети, построенной на нескольки коммутаторах? 13. Можно ли одновременно использовать группирование портов и стандарт IEE 802.1Q? 14. Должен ли алгоритм докрывающего дерева учитывать наличие в сети VLAN? Часть IV Сети TCP/IP Прежде чем перейти к последним двум частям книги, давайте вспомним, что мы уже изучили в первых трех частях, и поговорим о том, с чем нам еще предстоит познакомиться. В части I на концептуальном уровне рассмотрено большинство проблем, которым посвящен этот учебник. Возможно, это самая сложная и важная часть книги — ведь от того, насколько хорошо заложен фундамент, зависит проч ность основанных на нем знаний. Мы не раз обращались и будем обращаться к материалам части I в дальнейшем. Насти II и III посвящены конкретным технологиям передачи данных соответственно физического и ка нального уровней. В них существенно реже использовались абстрактные модели сети в виде графа или «облака», в котором «плавают» компьютеры. Вместо этого на первый план вышли конкретные протоколы, форматы кадров и реальное оборудование. Что же ждет читателя в следующей части — части IV? Следуя логике, диктуемой моделью OSI, вслед за частями, в которых были изучены технологии физического и канального уровней, мы рассмотрим в части IV средства сетевого уровня, то есть средства, обеспечивающие возможность объединения множества сетей в единую сеть. Учитывая, что бесспорным лидером среди протоколов сетевого уровня является протокол IP, мы будем рассматривать вопросы построения объединенных сетей на его примере. При этом мы дадим по возможности широкую картину взаимодействия всех про токолов этого стека. Заметим, что в предыдущих частях не раз затрагивались, а иногда и достаточно серьезно обсужда лись вопросы межсетевого взаимодействия TCP/IP. Так, в главе 2 мы уже рассмотрели, хотя и в самом общем виде, понятие маршрутизации. В главе 4 в разделе «Модель OSI», изучая сетевой уровень, мы познакомились с понятием «составная сеть», которую можно представить как совокупность нескольких сетей (подсетей). Подсети в составной сети, которые могут быть как локальными, так и глобальными, соединяются между собой маршрутизаторами. В пределах каждой подсети все узлы взаимодействуют по единой для них технологии, например Ethernet, Token Ring, FDDI, Frame Relay, ATM. Однако ни одна из этих технологий не способна построить информационную связь между про извольно выбранными узлами, принадлежащими разным сетям. Именно эту задачу — организацию взаимодействия между любой произвольной парой узлов в «большой» составной сети — эффек тивно решают протоколы стека TCP/IP. В главе 5 было дано описание структуры Интернета — самой известной и масштабной сети, построенной на основе технологии TCP/IP. Читателю настоятельно рекомендуется еще раз внимательно просмотреть этот материал. Забегая вперед, мы хотим предупредить читателя, что в последней части книги, посвященной тех нологиям WAN, мы еще не раз вернемся к протоколам TCP/IP. Мы рассмотрим особенности работы протокола IP «поверх» сетей ATM/FR, тесно связанную с IP технологию MPLS, а также защищенную версию протокола IP — протокол IPSec. □ Глава 15. Адресация в стеке протоколов TCP/IP □ Глава 16. Протокол межсетевого взаимодействия □ Глава 17. Базовые протоколы TCP/IP □ Глава 18. Дополнительные функции маршрутизаторов ІР-сетей |