Библиотека Интернет Индустрии I2R.ru |
|||
|
Сетевые технологии для пользователей. Часть 3В этой статье мы рассмотрим еще один класс устройств, работающих на канальном уровне семиуровневой модели OSI, — коммутаторы (switch). В отдельный класс они были выделены, поскольку обладают большим набором функций. В основе работы коммутаторов, так же как и работы мостов, лежит анализ физических адресов сетевого оборудования, но применяемые здесь алгоритмы сложнее, количество выполняемых функций больше, производительность выше. Выполняя все то, что положено мостам, коммутаторы предоставляют ряд дополнительных возможностей. По определению компании IDC (International Data Corporation), коммутатор — это устройство, конструктивно выполненное в виде сетевого концентратора и действующее как высокоскоростной многопортовый мост, причем встроенный механизм коммутации позволяет осуществлять широковещательное сегментирование локальной сети, а также выделять полосу пропускания конечным станциям в сети. Формальное отличие коммутатора от моста состоит в том, что коммутатор является активным устройством, посылающим в сеть не только кадры, поступающие на него, но и кадры, генерируемые им самим для исследования конфигурации сети. Результаты этого исследования используются затем для установления оптимальной (с точки зрения заложенного алгоритма функционирования) конфигурации. Другим существенным отличием коммутатора от моста является возможность параллельной работы нескольких или всех его портов, то есть возможность одновременно осуществлять обработку нескольких кадров, проходящих по разным путям.
Конструктивно коммутаторы выполняются в основном по схемам с коммутирующей
матрицей, с разделяемой памятью и с внутренней магистралью, применяются также и другие фирменные технологии. Схема с коммутирующей матрицей обладает наибольшим быстродействием, но ее сложность растет пропорционально квадрату количества портов коммутатора. Суть работы схемы заключается в том, что процессор порта, принимающего кадр, запрашивает у центрального процессора соединение с тем портом, на который кадр нужно передать. Как правило, для ускорения обработки анализируется не весь кадр, а только адресная часть. Проверка корректности кадра не производится, хотя в принципе возможна. Но некорректный кадр не может быть изъят, поскольку некоторая его часть уже передана другим портом, например проверка контрольной суммы завершается как раз к моменту получения последнего байта. Если нужный порт свободен, то центральный процессор производит нужную коммутацию матрицы и кадр передается порту назначения, если нет — запоминается в буфере и передается позднее, когда порт назначения освободится. Приняв кадр, порт назначения обычным образом получает доступ к среде передачи и отправляет его. Наряду с высоким быстродействием схема обладает такими недостатками, как высокая сложность, ориентированность на установление физического соединения (матрица действует подобно АТС) и невозможность буферизации кадров внутри матрицы. В схеме с разделяемой памятью порты подключены к последней через коммутаторы входа и выхода, управляемые центральным процессором. Входы и выходы процессоров портов подключены к памяти через входные и выходные коммутаторы соответственно. При работе этой схемы происходит следующее: входные блоки процессоров принимают кадры и посылают центральному процессору запросы на запись кадров в очереди, соответствующие портам назначения. Центральный процессор подключает коммутаторы входа к памяти, и часть кадра записывается в очередь соответствующего порта назначения. Далее, по мере заполнения очередей, происходит подключение выходов портов назначения к памяти и кадры переписываются в их буферы. Особенность этой схемы в том, что буферизованные кадры могут быть проверены на корректность и изъяты в случае нарушения целостности. В коммутаторах с общей шиной для обмена кадрами между портами используется высокоскоростная магистраль, применяющаяся в режиме разделения времени. Эта шина является чисто пассивным устройством, наподобие интерфейсов ISA или PCI. Для обеспечения необходимой производительности коммутатора шина должна обладать высокой пропускной способностью (в настоящее время более 1 Гбит/с). Как и матрица, шина не обеспечивает буферизации кадров. По сути дела, в схеме с магистралью используется принцип временного уплотнения, тогда как в схеме с матрицей — принцип коммутации каналов. Каждая из схем имеет свои достоинства и недостатки, что объясняет их частое совместное применение в сложных коммутаторах. Возникновение перегрузки может обусловить потерю кадров, что чревато значительным снижением производительности сети из-за образующегося дополнительного трафика. Чтобы этого не происходило, в коммутаторах применяют различные методы регулирования нагрузки. Регулировать нагрузку (на коммутатор, а не на сеть) можно путем захвата среды передачи или посылки пустых кадров. Первый способ называется «агрессивным поведением» и заключается в том, что порт концентратора начинает передачу кадра раньше, чем это разрешено протоколом канального уровня. Станция, имеющая данные для передачи, не может получить доступ к среде, и нагрузка на порт коммутатора со стороны сети снижается (хотя нагрузка на сеть при этом может и возрасти). Второй способ называется «методом обратного давления» и заключается в том, что в ответ на каждый принятый кадр передается один фиктивный. Применение такого способа не ведет к нарушению протоколов канального уровня, но снижает нагрузку на коммутатор примерно вдвое. Чем же еще, кроме быстродействия, коммутаторы отличаются от мостов? Тем, что они могут транслировать кадры из сетей 1000-100 Мбит/с в сети 10 Мбит/с и обратно без потери пропускной способности среды. Полноценное объединение всех типов карт в одной сети возможно только за счет применения коммутаторов. Это позволит внедрять новые технологии, не заменяя сразу весь имеющийся парк оборудования.
Очень важным свойством коммутаторов является их способность к изучению топологии сети и реконфигурации на основе полученных данных. Такая способность основана на поддержке протокола IEEE 802.1d. Этот протокол, называемый STP (Spanning Tree Protocol — протокол покрывающего дерева), описывает способы
устранения петель в топологии, образовавшихся как по ошибке, так и намеренно, в целях резервирования, что будет рассмотрено ниже. В протокол включены также алгоритмы реконфигурации, помогающие сохранить целостность и функциональность сети при сбоях и отказах. Для функционирования протокола используются специальные пакеты, называемые BPDU (Bridge Protocol Data Unit), которые вставляются в кадры канального уровня.
В сетях, использующих мосты, не поддерживающие протокол STP, логические петли недопустимы. Если в сети появляется новая станция, она посылает широковещательный кадр на ближайший мост. Мост записывает новый адрес в базу данных и рассылает кадр по всем портам. Кадр попадает на другие мосты и через логическую петлю возвращается обратно, вызывая новое изменение базы данных адресов. То есть логические петли приводят к широковещательным штормам и невозможности правильного обучения мостов.
Протокол STP исключает логические петли при помощи специальной процедуры «выбора корневого коммутатора». Эта процедура проводится на основании идентификаторов, присвоенных коммутаторам администратором при настройке. Наивысшему приоритету соответствует минимальное значение идентификатора. В начале процедуры все коммутаторы рассылают пакеты BDPU, в которых указывают в качестве адреса корневого коммутатора свой адрес и идентификатор. Получив пакет, в котором корневым указан коммутатор с меньшим идентификатором, коммутатор начинает рассылать пакеты, в которых в качестве корневого указан уже этот новый коммутатор с меньшим идентификатором. Таким образом все коммутаторы узнают о том, какой из них находится в корне дерева. После того, как корневой коммутатор определен, начинается этап определения структуры дерева. Теперь пакеты BDPU посылает только корневой коммутатор. Для определения структуры дерева определяется кратчайший путь от каждого коммутатора до корневого. Формат пакета BDPU включает стоимость пути до корня, причем каждый коммутатор, получая пакет, добавляет в это поле свою стоимость и отправляет пакет по всем портам, кроме корневого. Стоимость задается администратором при настройке или определяется по умолчанию; в таком случае она равна 1000/S, где S — скорость передачи порта, выраженная в Мбит/с. Корневым портом каждого из коммутаторов назначается тот, на который приходит пакет BDPU от корневого коммутатора с наименьшим значением стоимости. Порты, которые получают пакеты BDPU от корневого коммутатора с большим значением стоимости или с равным, но позже по времени, переводятся в блокированное состояние, так как они пришли по имеющимся в топологии сети петлям.
Порт, находящийся в блокированном состоянии, воспринимает только пакеты BDPU, не передавая их далее. Весь остальной трафик не принимается и не передается. Из блокированного состояния порт может выйти только в случае, если не получит в течение определенного времени пакета BDPU, что означает изменение конфигурации сети по каким-либо причинам. Выход из блокированного состояния возможен только в состояние прослушивания, которое представляет собой задержку, призванную минимизировать риск неправильного определения новой топологии при переконфигурации. Фактически во время прослушивания порт получает подтверждение о необходимости изменения конфигурации. Если за время прослушивания пакеты BDPU так и не были получены, то порт переходит в состояние обучения, то есть построения базы данных о подключенных к нему станциях. Закончив период обучения, равный по длительности периоду прослушивания, порт переходит в режим передачи, то есть работы с полной функциональностью. В случае выхода из строя корневого коммутатора все остальные перестают получать пакеты BDPU и инициируют процедуру выбора корневого коммутатора, а затем строят новое дерево. В результате сеть сохраняет максимально возможную целостность. Для сохранения функциональности сети необходимо предусмотреть соответствующее резервирование таким образом, чтобы между каждыми двумя единицами сетевого оборудования всегда существовал резервный путь, который включался бы в случае неисправностей. При построении сети на коммутаторах (и конечно, в мостах и маршрутизаторах) следует иметь в виду, что правило 5-4-3 в данном случае неприменимо, то есть между двумя рабочими станциями или рабочей станцией и сервером может быть любое количество коммутаторов, мостов и маршрутизаторов. Это объясняется тем, что данные устройства, в отличие от концентраторов и повторителей, работают на канальном уровне или выше, то есть кадры полностью перетранслируются и передаются в другой сегмент сети, при этом вносимая задержка происходит не на физическом, а на канальном уровне.
Кроме рассмотренных возможностей по поддержанию функционирования сети при сбоях, коммутаторы обеспечивают и некоторые другие, например фильтрацию кадров и организацию виртуальных сетей. Фильтрация кадров производится на основе задаваемой при настройке информации об адресах станций и портах, где осуществляется фильтрация.
Виртуальные сети организуются путем изоляции трафика, в том числе и широковещательного, внутри определенного набора портов коммутатора. При этом производительность увеличивается пропорционально количеству виртуальных сетей, так как их трафик передается внутри коммутатора параллельно. Кроме того, «широковещательные штормы» изолируются внутри каждой из виртуальных сетей. Для связи виртуальных сетей друг с другом используются маршрутизаторы.
Построение сетей на коммутаторах производится на основе древовидной топологии. Корнем дерева является либо магистраль, выполненная на основе высокопроизводительной сети, имеющей большое протяжение (например FDDI, при требованиях по территориальному расположению), либо внутренняя магистраль коммутатора. Не следует, однако, забывать о более простых решениях, предоставляемых вместе с сетевыми операционными системами как бы бесплатно. В большинстве случаев программное обеспечение моста включено в сетевые ОС либо легко может быть туда установлено. Программный мост, работающий на сервере, может быть применен в ряде случаев, объединяемых одним признаком: трафик через этот мост невелик, так что нагрузка на сервер возрастает не слишком сильно. Обычно такое условие соблюдается в сетях с одним сервером при отсутствии или незначительном использовании одноранговых сетей. Сергей Самохин |
|
2000-2008 г. Все авторские права соблюдены. |
|