Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
17
Лабораторная работа № 5
Функционирование мостов и коммутаторов
на основе протокола канального уровня STP
стека протоколов TCP/IP
1. Цель работы
Изучение основных принципов работы мостов и коммутаторов в сетях ЭВМ на основе протокола STP. В результате выполнения лабораторной работы студент получает знания по принципам построения и алгоритмам функционирования мостов и коммутаторов в сетях ЭВМ и навыки по устранению активных петель в сети при помощи протокола STP.
2. Задание
2.1. Изучить структуру и алгоритмы работы мостов в сетях ЭВМ.
2.2. Изучить структуру и алгоритмы работы коммутаторов в сетях ЭВМ.
2.3. Изучить алгоритм устранения активных петель в сетях ЭВМ при помощи протокола канального уровня STP.
2.4. Пользуясь алгоритмом устранения активных петель, скорректировать заданную сеть для случаев: а) устранения активных петель; б) обрыва линии связи между узлами сети.
3. Рабочее место
Работа выполняется на ПЭВМ.
4. Теоретическая часть
4.1. Структура и принципы работы мостов
Объединение современных сетей осуществляется как с помощью маршрутизаторов, так и с помощью мостов и коммутаторов. Основное различие между ними заключается в том, что объединение сетей с помощью мостов и коммутаторов происходит на канальном уровне эталонной модели взаимосвязи открытых систем (ВОС, англоязычная аббревиатура - OSI), а маршрутизатор использует сетевой уровень; кроме того, эти устройства поддерживают различные алгоритмы при перемещении информации по сети.
Мост - это устройство, обеспечивающее взаимосвязь нескольких локальных сетей посредством передачи кадров из одной сети в другую. В отличие от концентраторов, которые проверяют электрические сигналы, мост проверяет только кадры. Мосты не повторяют шумы, ошибки или испорченные кадры. Мост выступает по отношению к каждой из соединяемых им сетей в качестве конечного узла. Он принимает кадр, сохраняет его в буферной памяти, анализирует адрес назначения кадра. В случае принадлежности кадра к сети, из которой он получен, мост на этот кадр не реагирует. Если необходимо передать кадр в другую сеть, мост должен получить доступ к ее разделяемой среде передачи данных в соответствии с теми же правилами, что и обычный узел.
Существует два основных типа мостов - локальные и глобальные (удаленные). Они отличаются своими сетевыми портами. Локальные мосты оборудуются портами для подключения к ЛВС. Типичными для такой среды носителями являются коаксиальный или волоконно-оптический кабель, а также витая пара проводов. Важным свойством локальных мостов является их способность соединять сети, использующие разные среды. Например, с их помощью можно подключить сеть на коаксиальном кабеле к сети с волоконно-оптическим кабелем или любую из них к сети на витой паре.
Глобальные мосты - это те мосты, порты которых согласуются со средами для передачи информации на большие расстояния. У глобальных мостов могут быть интерфейсы как для передачи на большие расстояния, так и локальные.
По своему принципу действия мосты подразделяются на два основных типа. Мосты первого типа выполняют так называемую маршрутизацию от источника. B такой сети мостам не требуется содержать адресную базу данных. Они определяют путь прохождения кадра, исходя из информации, хранящейся в самом кадре.
Мосты второго типа называются «прозрачными». Прозрачные мосты, в свою очередь, делятся на три подтипа:
прозрачные мосты - используются для объединения сетей с идентичными протоколами на канальном и физическом уровнях модели ВОС (Ethernet - Ethernet, Token Ring - Token Ring и т.д.);
транслирующие мосты - используются для объединения сетей с разными протоколами на канальном и физическом уровне;
инкапсулирующие мосты - предназначены для объединения сетей с одинаковыми протоколами (например, Ethernet) на канальном и физическом уровне через сеть с другими протоколами (например, FDDI).
Прозрачные мосты являются наиболее распространенным типом. Для них сеть представляется наборами физических адресов устройств, используемых на канальном уровне. Мосты ориентируются на эти адреса для принятия решения о передаче кадра. При этом кадр записывается во внутренний буфер моста. Мосты не имеют доступа к информации об адресах сетей, относящейся к сетевому уровню. Они ничего «не знают» о топологии связей сегментов или сетей между собой.
При передаче кадров внутри прозрачного моста происходит их регенерация и трансляция с одного порта на другой. Мост использует адрес отправителя для автоматического построения своей базы данных адресов устройств, называемой также таблицей физических адресов. В этой таблице устанавливается принадлежность адреса станции к какому-либо порту моста. Все операции, которые выполняет мост, связаны с этой базой данных. Внутренняя структура моста показана на рис. 5.1.
Все порты моста работают в так называемом неразборчивом режиме захвата кадров, то есть все поступающие на порт кадры сохраняются в его буферной памяти. С помощью такого режима мост следит за всем трафиком, передаваемым в присоединенных к нему сегментах, и использует проходящие через него кадры для изучения состава сети.
Функциональную основу мостов составляют следующие функции: обучение, фильтрация, передача и широковещание.
Когда мост получает кадр, он проверяет его целостность и контрольную сумму. Некорректные кадры при этом отбрасываются. Затем мост сравнивает адрес отправителя с имеющимися в базе данных адресами. Если адреса отправителя еще нет в базе данных, то он добавляется в нее. Таким образом, мост узнает адреса устройств в сети, и происходит процесс его обучения (рис. 5.2). Благодаря способности моста к обучению к сети могут добавляться новые устройства без необходимости реконфигурации моста.
Кроме адреса отправителя мост анализирует и адрес получателя. Мост сравнивает адрес получателя кадра с адресами, хранящимися в его базе. Если адрес получателя принадлежит тому же сегменту, что и адрес отправителя, то мост «фильтрует» кадр, то есть удаляет его из своего буфера и никуда не передает. Эта операция помогает предохранить сеть от «засорения» ненужным трафиком. Если адрес получателя присутствует в базе данных и принадлежит другому сегменту, то мост определяет, какой из его интерфейсов связан с нужным адресом. После этого мост должен получить доступ к среде передачи этого сегмента и передать в него кадр. Если адрес получателя отсутствует в базе или он является широковещательным, то мост передает кадр на все свои порты, за исключением порта, принявшего кадр. Такой процесс называется широковещанием.
Так как существует возможность перемещения станции из одного сегмента в другой, то мосты должны периодически обновлять содержимое своих адресных баз. Для обеспечения этой функции записи в адресной базе делятся на два типа - статические и динамические. С каждой динамической записью связан таймер неактивности. При получении кадра с адресом отправителя, который соответствует имеющейся в адресной базе записи, соответствующий таймер неактивности сбрасывается в исходное состояние. Если от какой-либо станции долгое время не поступают кадры, то таймер неактивности исчерпывает заданный интервал и соответствующая ему запись удаляется из адресной базы. Например, у мостов NetBuilder II фирмы 3Com таймер неактивности выставляется по умолчанию и равен 300 секундам.
Рис. 5.2 иллюстрирует алгоритм функционирования моста.
Кроме основных функций мосты могут поддерживать дополнительные сервисы, например: настраиваемые фильтры, расширенные возможности по защите данных и обработка кадров по классам. Настраиваемые фильтры позволяют администратору сетей производить фильтрацию на основе любого компонента кадра, например, типа протокола верхнего уровня, адреса отправителя или получателя, типа кадра или даже информационной его части.
Технология прозрачных мостов стандартизована и описана в документе IEEE 802.1d. На рис. 5.3 показано «место» мостов в эталонной модели ВОС.
4.2. Структура и принципы работы коммутаторов
Коммутатор - это устройство, конструктивно выполненное в виде сетевого концентратора и действующее как высокоскоростной многопортовый мост; встроенный механизм коммутации позволяет осуществить широковещательное сегментирование локальной сети, а также выделить полосу пропускания к конечным станциям в сети.
Под коммутацией обычно понимают четыре различные технологии: конфигурационную коммутацию (коммутацию каналов), коммутацию кадров, коммутацию ячеек и преобразование между кадрами и ячейками. В основе конфигурационной коммутации лежит определение соответствия между конкретным портом коммутатора и внутренним сегментом сети. Это назначение портов производится удаленным образом посредством программного управления сетью при подключении или перемещении пользователей в сети. Технология конфигурационной коммутации основана на отказе от использования разделяемых линий связи между всеми узлами сегмента и использовании коммутаторов, позволяющих одновременно передавать пакеты между всеми его парами портов. Новшество заключалось в параллельной обработке поступающих кадров.
Структурная схема коммутатора фирмы Kalpana EtherSwitch показана на рис. 5.4. Системный модуль поддерживает общую адресную таблицу коммутатора. Коммутационная матрица предназначена для передачи кадров между портами. Каждый порт имеет свой процессор пакетов. При поступлении кадра в один из портов процессор пакетов буферизует несколько первых байтов кадра для прочтения адреса назначения. После получения адреса процессор принимает решение о передаче кадра, не дожидаясь прихода остальных байтов. Для этого анализируется адресная таблица. Если адрес существует в таблице, то выбирается соответствующий выходной порт. Выбор порта и формирование соединения производятся коммутационной матрицей. Если адреса нет в таблице, то заводится новая строка в адресной таблице, а кадр передается широковещательным методом через все порты, за исключением принявшего.
В настоящее время различают три типа коммутаторов: с коммутационной матрицей, с общей шиной и с разделяемой многовходовой памятью.
Коммутаторы с коммуникационной матрицей за счет параллельной обработки данных позволяют реализовать наиболее быстрый способ взаимодействия портов. Эта реализация возможна только для определенного числа портов. Причем сложность схемы возрастает пропорционально квадрату количества портов коммутатора. Основным недостатком данной технологии является отсутствие возможности буферизации данных внутри коммутационной матрицы.
В коммутаторах с общей шиной в режиме разделения времени используется высокоскоростная шина для связи процессоров портов. В этой архитектуре активную роль играют специализированные процессоры портов. Высокоскоростная шина играет пассивную роль. Для того чтобы шина не была узким местом коммутатора, ее производительность должна быть в несколько раз выше скорости поступления данных на входные порты. Для уменьшения задержек при передаче кадр должен передаваться по шине небольшими частями. Размер этих частей определяется производителем коммутатора. Шина так же, как и коммутационная матрица, не может осуществлять промежуточную буферизацию.
В коммутаторах с разделяемой многовходовой памятью (рис. 5.5) входные блоки процессоров портов соединяются через переключатели входа с разделяемой памятью, а выходные блоки этих же процессоров соединяются с этой памятью через переключатели выхода. Переключением входа и выхода разделяемой памяти управляет блок управления портами. Он организует в разделяемой памяти несколько очередей данных, по одной для каждого выходного порта. Входные блоки процессоров передают блоку управления запросы на запись данных в очередь того порта, который соответствует адресу назначения пакета. Блок управления портами по очереди подключает вход памяти к одному из входных блоков процессора, и тот переписывает часть данных в очередь определенного выходного порта. По мере заполнения очередей блок управления производит поочередное подключение выходов разделяемой многовходовой памяти к выходным портам, и данные из очереди переписываются в выходной буфер процессора.
Некоторые производители используют в своих коммутаторах различные приемы управления потоком кадров для предотвращения потерь при перегрузках в сети. Существует два способа реализации снижения интенсивности трафика: агрессивное поведение порта и метод обратного давления.
Агрессивное поведение порта коммутатора может быть реализовано путем захвата среды передачи данных или после коллизии в сети (для сети Ethernet). Например, в первом случае коммутатор окончил передачу очередного кадра и сделал технологическую паузу в 9,1 мкс вместо положенной паузы в 9,6 мкс. При этом компьютер, сделав ту же паузу в 9,6 мкс, не смог захватить среду передачи данных. Во втором случае кадры коммутатора и компьютера столкнулись, и была зафиксирована коллизия. Компьютер делает стандартную паузу после коллизии в 51,2 мкс, а коммутатор - в 50 мкс. И в этом случае среда передачи остается за коммутатором.
В основе второго метода лежит передача компьютеру фиктивных кадров при отсутствии в буфере коммутатора кадров для передачи по данному порту. В этом случае коммутатор может не нарушать алгоритм доступа, однако интенсивность передачи кадров в коммутатор в среднем уменьшается вдвое.
Существует два способа передачи пакетов коммутаторами: со сквозной обработкой и с буферизацией. Коммутатор со сквозной обработкой кадров считывает только физический адрес назначения, а сам кадр передается без проверки его содержимого. Этот способ представляет собой, по сути, конвейерную обработку кадров с частичным совмещением этапов передачи. Передача кадров происходит в такой последовательности:
1) прием первых байтов кадра (включая байт адреса назначения);
2) поиск адреса назначения в адресной таблице;
3) построение коммутируемого пути;
4) прием остальных байтов кадра;
5) прием всех байтов кадра выходным портом через коммутационную матрицу;
6) получение доступа к среде передачи;
7) передача кадра в сеть.
Использование сквозной коммутации может дать значительный выигрыш в производительности, но за счет снижения надежности.
При коммутации с буферизацией происходит проверка содержимого кадра: если в кадре содержится ошибка, то он отбраковывается.
Коммутаторы, наряду с основными функциями по передаче кадров с порта на порт, могут реализовывать дополнительные функции, например поддержку протокола STP (Spanning Tree) - построение остова дерева. Алгоритм Spanning Tree позволяет коммутаторам автоматически определять древовидную конфигурацию связей в сети при произвольном соединении портов между собой. Поддержка мостами и коммутаторами этой функции важна для обеспечения работоспособности сложных сетей.
4.3. Протокол SPT для мостов и коммутаторов
Функции обучения, фильтрации и передачи основаны на существовании одного логического пути между любыми двумя узлами сети. Наличие нескольких путей между устройствами, известных также как «активные петли», создает проблемы для сетей, построенных на основе мостов и коммутаторов. Под «активными петлями» понимаются логические и физические петли. Логические петли могут создаваться администратором сети специально для образования резервных связей.
Протокол STP [2] (в некоторых технических документах может встретиться название Spanning Tree Algorithm - STA) был разработан Digital Equipment Corporation, а впоследствии опубликован комитетом IEEE 802 в спецификации IEEE 802.1d. Основная цель разработки протокола была в устранении логических и физических петель в сетях, построенных с использованием мостов. Кроме того, протокол автоматически переконфигурирует сетевую топологию в случае обрывов линий связи или при аппаратных ошибках оборудования.
Основные определения
В сети определяется корневой коммутатор (root switch), от которого строится дерево.
Для каждого коммутатора определяется корневой порт (root port) - это порт, который имеет кратчайшее из всех портов данного коммутатора расстояние до корневого коммутатора (точнее, до любого из портов корневого коммутатора).
Расстояние до корня (root path cost) определяется как суммарное условное время на передачу данных от порта данного коммутатора до порта корневого коммутатора. Условное время сегмента (designated cost) рассчитывается как время, затрачиваемое на передачу одного бита информации в 10-наносекундных единицах между непосредственно связанными по сегменту сети портами. Так, для сегмента Ethernet это время равно 10 условным единицам, а для сегмента Token Ring 16 Мб/с - 6.25.
Для каждого логического сегмента сети выбирается так называемый назначенный коммутатор (designated switch), один из портов которого будет принимать пакеты от сегмента и передавать их в направлении корневого коммутатора через корневой порт данного коммутатора, а также принимать пакеты для данного сегмента, пришедшие на корневой порт со стороны корневого коммутатора. Такой порт называется назначенным портом (designated port). Назначенный порт сегмента имеет наименьшее расстояние до корневого коммутатора, среди всех портов, подключенных к данному сегменту. Назначенный порт у сегмента может быть только один. У корневого коммутатора все порты являются назначенными, а их расстояние до корня полагается равным нулю. Корневого порта у корневого коммутатора нет.
Можно доказать, что если определить каким-либо образом корневой коммутатор, то зная пропускную способность каждого сегмента и связи между портами коммутаторов и сегментов, можно однозначно определить по расстоянию до корня корневые порты коммутаторов и назначенные порты сегментов, и если все остальные порты коммутаторов, кроме корневых и назначенных, заблокировать, то получится дерево без петель.
Для того, чтобы коммутаторы могли идентифицировать себя и своих ближних и дальних соседей по сети, каждой коммутатор, поддерживающий STA, имеет уникальный идентификатор. Этот идентификатор состоит из двух частей. Младшую часть составляет MAC-адрес коммутатора (не отдельного порта коммутатора, а всего коммутатора в целом, порты коммутаторов MAC-адресов не имеют), имеющий длину 6 байтов. Старшая часть, имеющая длину 2 байта, является приоритетом данного коммутатора, и его может изменять администратор сети по своему усмотрению (напомним, что MAC-адрес устанавливается производителем для обеспечения его всемирной уникальности).
Идентификатор коммутатора играет определяющую роль при выборе корневого коммутатора. Приоритет имеет преимущественное значение в этом выборе - корневым выбирается коммутатор, имеющий наименьшее значение идентификатора, а так как поле приоритета находится в старших разрядах, то его значение подавляет значение MAC-адреса. Если же администратор назначил всем коммутаторам равный приоритет (то есть не захотел влиять на выбор корневого коммутатора), то корневым будет выбран коммутатор с наименьшим значением MAC-адреса.
Порты внутри каждого коммутатора также имеют свои идентификаторы. Идентификатор порта состоит из 2 байтов, первый из которых (старший) может изменяться администратором и является приоритетом порта, а второй представляет собой порядковый номер порта для данного коммутатора (номера портов начинаются с единицы). Идентификатор порта используется при выборе корневого и назначенного порта коммутатора - если несколько портов имеют одинаковое расстояние до корня, то выбирается тот порт, идентификатор которого меньше. Аналогично случаю с идентификатором коммутатора, приоритет порта может быть задан администратором для того, чтобы данный порт получил преимущество перед другими.
Инициализация топологии
Для автоматического определения начальной активной конфигурации дерева все коммутаторы сети после их инициализации начинают периодически обмениваться специальными пакетами, называемыми протокольными блоками данных коммутатора - BPDU (Bridge Protocol Data Unit).
Пакеты BPDU помещаются в поле данных кадров канального уровня, например, кадров Ethernet. Все коммутаторы должны поддерживать общий групповой адрес, с помощью которого кадры, содержащие пакеты BPDU, передаются одновременно всем коммутаторам сети.
Пакет BPDU имеет следующие поля:
У пакета BPDU уведомления о реконфигурации отсутствуют все поля, кроме двух первых.
После инициализации каждый коммутатор сначала считает себя корневым. Поэтому он начинает через интервал hello генерировать через все свои порты сообщения BPDU конфигурационного типа. (Далее под BPDU понимается везде конфигурационный BPDU, если тип BPDU точно не указан.) В них он указывает свой идентификатор в качестве идентификатора корневого коммутатора (и в качестве данного коммутатора также), расстояние до корня устанавливается в 0, а в качестве идентификатора порта указывается идентификатор того порта, через который передается BPDU.
В исходном состоянии каждый коммутатор не только передает BPDU через все свои порты, но и принимает через все порты BPDU, передаваемые другими коммутаторами. Коммутатор в течение интервала установления начальной конфигурации фиксирует значения нескольких своих внутренних переменных:
Коммутатор обрабатывает поступающие на порты сообщения BPDU следующим образом.
Сначала коммутатор сравнивает значение идентификатора корневого коммутатора из BPDU с текущим значением переменной RI.
Если это значение больше текущего значения RI, то принятый пакет просто уничтожается, так как он не несет никакой информации о расстоянии до корневого коммутатора - он пришел от коммутатора, который не является корневым.
Если оно равно текущему значению RI, то значит принят пакет от уже известного корня. Находящееся в пакете расстояние до корня сравнивается с найденным ранее минимальным расстоянием minRPCi, и если новое значение меньше, то оно переписывается в переменную minRPCi данного порта. Затем коммутатор наращивает значение поля расстояния до корня на величину условного времени сегмента, по которому пришел пакет, помещает в поле идентификатора коммутатора свой идентификатор и передает этот пакет на все свои порты, кроме того порта, от которого получен пакет. В переменные minBi и minPi записываются идентификаторы коммутатора, от которого получен пакет BPDU, и его порта.
Если же значение идентификатора корневого коммутатора у принятого BPDU меньше текущего, то это значит, что обнаружен коммутатор, у которого больше прав претендовать на звание корневого. Его идентификатор фиксируется в переменной RI, а все значения переменных minRPCi устанавливаются в исходное значение, так как они были вычислены ранее на основании расстояний до коммутатора, на самом деле корнем не являющегося. Затем пакет BPDU обрабатывается точно по тому же алгоритму, что и в предыдущем случае.
По мере распространения пакетов BPDU по всей сети у всех коммутаторов накапливается информация, необходимая для фиксации корневого коммутатора, а также для определения того, какой из портов коммутатора является корневым портом, какие порты являются назначенными для сегментов, а какие не входят ни в первую, ни во вторую категории.
После истечения времени установления активной конфигурации у всех коммутаторов происходит фиксация идентификатора корневого коммутатора. Коммутатор, который в течение всего времени процесса установления конфигурации считал себя корневым, окончательно удостоверяется в этом. Все его порты устанавливаются в состояние назначенных.
Коммутаторы, знающие, что они не корневые, определяют свой корневой порт как порт, имеющий минимальное расстояние до корневого коммутатора. Для этого для каждого порта вычисляется расстояние RPCi как сумма переменной minRPCi и условного времени сегмента, с которым связан данный порт, так как в переменной minRPCi это время учтено не было. Затем выбирается корневой порт, как порт с минимальным значением RPCi. После этого данное значение называется расстоянием до корня данного коммутатора - RPC.
Затем коммутатор проверяет все оставшиеся порты как претендентов на звание назначенных портов сегментов, к которым они подключены. Он сравнивает значение minRPCi данного порта со значением RPC, то есть сравнивает расстояния до корня от других коммутаторов данного сегмента со своим собственным. Если его собственное расстояние оказывается меньше по каждому порту, то он фиксируется как назначенный. Если же оно больше, то порт переводится в заблокированное состояние, в котором он не будет ни принимать, ни передавать информационные пакеты в рабочем режиме, после установления активной конфигурации. Если же расстояния оказываются равными, то коммутатор сравнивает сначала свой идентификатор с идентификатором minBi коммутатора-конкурента, а если и они равны (то есть конкурируют его собственные порты), то сравниваются в конце концов идентификаторы портов.
После того, как все коммутаторы определяют статус своих портов, процесс установления активной конфигурации завершен. Корневые и назначенные порты начинают участвовать в передаче кадров протокола канального уровня, то есть для них устанавливается активное состояние, в отличие от заблокированных портов.
Принцип действия протокола STP рассмотрим на примере сети на рис. 5.6. Предположим, что станция А генерирует широковещательное сообщение. Оно будет получено коммутаторами Б и В и передано соответственно друг другу, как показано стрелками. После получения сообщения эти коммутаторы вновь перешлют его коммутатору А, и весь цикл повторится вновь. Похожая проблема возникает и в случае не широковещательного трафика, если коммутаторы еще не построили своих адресных таблиц. Решением проблемы является удаление всех петель из сетевой топологии с сохранением только одного пути между каждыми двумя станциями.
В примере коммутаторы Б и В добавляют свои стоимости портов - числа 25 и 30 соответственно - и пересылают сообщения друг другу. После анализа этих сообщений коммутатор с наибольшей стоимостью пути до корня переводит свой порт в блокированное состояние. В примере этим коммутатором является коммутатор В с портом 2. Порт, находящийся в блокированном состоянии, не передает кадры через себя, однако он продолжает принимать и обрабатывать пакеты BPDU. У коммутатора Б порт 2 становится назначенным, и только через него происходит передача кадров в подключенный сегмент сети. Таким образом, хотя коммутатор Б будет продолжать передавать кадры данных через свой порт 2, они не пройдут дальше коммутатора В, который будет их отсекать, устраняя петлю, существовавшую ранее.
Состояния порта
Каждый порт коммутатора, поддерживающего алгоритм STA, может находится в одном из 5 состояний (рис. 66):
Рис. Состояние порта и возможные переходы
За счет наличия промежуточных состояний порта, которые не были учтены при описании процесса установления активной конфигурации для упрощения его понимания, коммутатор не единовременно заканчивает этот процесс и начинает передавать пользовательские кадры, а постепенно, причем по каждому порту индивидуально.
Переходы между состояниями порта вызываются либо получением конфигурационного BPDU или истечением некоторого таймера.
Обычно все порты коммутатора при первом его включении в сеть устанавливаются в отключенное состояние. Переход в заблокированное состояние происходит при выполнении администратором соответствующей операции управления коммутатором (1). Аналогичным образом, администратор может отключить порт (2).
После получения команды на инициализацию от администратора, коммутатор переводит все свои порты в состояние блокировки. Затем начинается описанный процесс установления начальной активной конфигурации. Коммутатор в какой-то момент времени этого процесса может сделать ошибочные заключения о том, какой из его портов является корневым, а какие - назначенными, так как делает выводы на основе конфигурационных BPDU, полученных от коммутатора, который он временно считает корневым, так как конфигурационные BPDU от действительно корневого коммутатора еще до него не дошли. Поэтому для исключения преждевременных решений о том, что некоторые порты нужно перевести в транслирующее состояние, так как они стали либо корневыми, либо назначенными (и, следовательно, для исключения временного образования петель), порт сначала переводится в промежуточное состояние - состояние прослушивания (3). При этом взводится специальный таймер для порта - таймер трансляции. Если его период истекает, а порт все еще остается по результатам обработки поступивших конфигурационных BPDU корневым или назначенным, то он переводится в состояние обучения (5), а таймер взводится снова. Если же его интервал истекает еще раз, то тогда порт переводится в состояние трансляции (5) и начинает активную работу по передаче пользовательских кадров. Если же за период работы таймера трансляции порт перестает быть корневым или назначенным, то он непосредственно переводится в состоянии заблокированного (4).
Изменения топологии
Алгоритм STA обеспечивает поддержку резервных связей в сети, и включает, кроме процедуры инициализации активной конфигурации и процедуру изменения конфигурации при отказах элементов сети. Эта процедура называется процедурой изменения топологии.
После установления активной топологии только корневой коммутатор продолжает периодически генерировать пакеты BPDU конфигурационного типа. Остальные коммутаторы продолжают принимать пакеты BPDU на свой корневой порт и распространяют их через свои назначенные порты.
Для того, чтобы коммутаторы могли обнаружить отказ элемента сети, каждый коммутатор имеет таймер возраста сообщения (message age timer). При получении пакета BPDU этот таймер устанавливается в исходное состояние. Если какой-либо назначенный коммутатор, его порт или линия связи отказывают, то пакеты BPDU перестают поступать во все коммутаторы, которые находятся в поддеревьях отказавшего элемента. Вследствие этого, в этих коммутаторах истекает интервал таймера возраста сообщения.
Если у коммутатора истекает значение такого таймера, то вызывается процедура, называемая "установление назначенных портов". Очевидно, что это произойдет во всех коммутаторах, которые пострадали от отказа. После выполнения этой процедуры, которая аналогична описанной процедуре начального выбора корневого и назначенных портов, будут определены новые значения назначенных коммутаторов, корневых портов и назначенных портов. Если же отказал корневой коммутатор, то будет выбран новый корневой коммутатор.
В дополнение к процедуре реакции на отказ, определяется и реакция коммутатора на принудительное изменение администратором статуса порта с заблокированного на активный. При этом посылается BPDU типа "уведомление о реконфигурации" в направлении корневого коммутатора. Все назначенные коммутаторы, находящиеся на пути между данным портом и корневым коммутатором отмечают произошедшее изменение и передают сообщение дальше через свой корневой порт корневому коммутатору. При этом все коммутаторы, на которые влияет такое изменение, оказываются о нем уведомлены и производят переоценку назначенных портов.
При изменении активной конфигурации коммутаторы должны произвести некоторые изменения в своих адресных таблицах, так как некоторым узлам пакеты должны теперь передаваться через другие порты. Вообще говоря, эти изменения в адресных таблицах произойдут автоматически, когда у динамических записей таблицы истечет таймер возраста. Но, так как этот таймер имеет сравнительно большой интервал, то корневой коммутатор посылает уведомление об изменении конфигурации всем коммутаторам, устанавливая флаг изменения конфигурации в текущем BPDU. При получении BPDU с таким флагом, все динамические входы адресной таблицы считаются устаревшими, поэтому они заполняются вновь на основании приходящих пакетов от конечных станций.
Сетевая топология, полученная в результате работы протокола STP на локальной сети приведенного выше примера, показана на рис. 5.9.
Предположим, что произошел обрыв линии связи между коммутаторами А и Б (рис. 5.9). В этом случае коммутатор Б своевременно не получит на свой корневой порт сообщения от корневого коммутатора и активизирует процесс реконфигурации, рассылая пакеты BPDU с содержимым поля «Тип сообщения», равным 80h, означающим реконфигурацию. После этого процессы выбора корневого коммутатора назначенных и блокированных портов коммутаторов повторятся вновь, но уже с учетом отсутствия связи между коммутаторами А и Б. В результате реконфигурации получится последовательное соединение коммутаторов А, В и Б и порт 2 коммутатора Б станет корневым.
Для повышения надежности сетей, построенных на основе коммутаторов, применяют либо метод введения резервных линий связи между коммутаторами, либо метод введения резервных коммутаторов.
В целом протокол STP имеет следующие достоинства:
позволяет создавать большие, сложные и строить устойчивые к сбоям и отказам локальные сети на коммутаторах;
предоставляет только один путь передачи данных между любыми двумя станциями, который: а) гарантирует доставку данных в том порядке, в котором они были отправлены; б) устраняет размножение широковещательных пакетов; в) устраняет бесконечную циркуляцию широковещательных пакетов; г) устраняет циркуляцию пакетов с неизвестным адресом назначения;
работает прозрачно для конечных станций;
использует небольшой процент полосы пропускания.
В качестве недостатков можно отметить следующие моменты:
коммутаторы, поддерживающие протокол STP, имеют повышенную стоимость;
для введения резервных линий связи должны быть задействованы дополнительные порты коммутатора;
введение резервного оборудования существенно увеличивает стоимость сети в целом;
в моменты реконфигурации топологии сеть становится неработоспособной;
между двумя любыми станциями в сети может быть не более семи коммутаторов или мостов (в сетях на базе Ethernet 10 Мбит/с).
5. Порядок выполнения работы
5.1. Изучить структуру и алгоритмы работы мостов и коммутаторов в сетях ЭВМ.
5.2. Изучить теоретический материал по алгоритму устранения активных петель в сетях ЭВМ на основе протокола канального уровня STP.
5.3. Для сети, согласно варианту (табл. 5.1, рис. 5.10), поэтапно промоделировать работу протокола STP, поясняя действия рисунками и форматами служебных сообщений, для случаев: а) устранения активных петель; б) обрыва линии связи.
5.4. Построить граф-схему алгоритма устранения активных петель в сетях ЭВМ.
5.5. Сделать выводы по результатам моделирования.
Таблица 5.1
Исходные данные для моделирования работы протокола STP
№ вари- анта |
Коммутаторы |
№ гра- фа |
№ лин. обр. |
|||||||||
А |
Б |
В |
Г |
Д |
||||||||
IDк |
Sп |
IDк |
Sп |
IDк |
Sп |
IDк |
Sп |
IDк |
Sп |
|||
1 |
7400 |
20 |
7500 |
30 |
7700 |
40 |
- |
- |
- |
- |
1 |
1 |
2 |
7500 |
40 |
7400 |
50 |
7700 |
60 |
- |
- |
- |
- |
1 |
2 |
3 |
7700 |
25 |
7500 |
10 |
7400 |
30 |
- |
- |
- |
- |
1 |
3 |
4 |
7300 |
10 |
8000 |
20 |
9000 |
40 |
- |
- |
- |
- |
1 |
1 |
5 |
6000 |
25 |
9000 |
15 |
5000 |
30 |
- |
- |
- |
- |
1 |
2 |
6 |
7400 |
20 |
7800 |
10 |
7000 |
30 |
- |
- |
- |
- |
1 |
3 |
7 |
5000 |
10 |
7000 |
20 |
7500 |
30 |
4000 |
25 |
- |
- |
2 |
1 |
8 |
5000 |
20 |
7500 |
10 |
7000 |
25 |
4000 |
30 |
- |
- |
2 |
2 |
9 |
5000 |
30 |
4000 |
20 |
7000 |
25 |
7500 |
10 |
- |
- |
2 |
3 |
10 |
4000 |
30 |
5000 |
25 |
7500 |
10 |
7000 |
20 |
- |
- |
2 |
4 |
11 |
7000 |
25 |
7500 |
20 |
4000 |
30 |
5000 |
10 |
- |
- |
2 |
1 |
12 |
7500 |
25 |
7000 |
10 |
5000 |
40 |
4000 |
30 |
- |
- |
2 |
2 |
13 |
3000 |
15 |
4000 |
20 |
3500 |
30 |
4200 |
25 |
- |
- |
3 |
1 |
14 |
4200 |
10 |
3000 |
15 |
3500 |
20 |
4000 |
30 |
- |
- |
3 |
2 |
15 |
4000 |
25 |
3500 |
15 |
3000 |
10 |
4200 |
20 |
- |
- |
3 |
3 |
16 |
3500 |
15 |
4200 |
10 |
4000 |
20 |
3000 |
25 |
- |
- |
3 |
4 |
17 |
4000 |
25 |
3000 |
20 |
4200 |
10 |
3500 |
15 |
- |
- |
3 |
1 |
18 |
3000 |
10 |
4200 |
15 |
4000 |
20 |
3500 |
25 |
- |
- |
3 |
2 |
19 |
3600 |
25 |
4000 |
10 |
5000 |
35 |
2000 |
20 |
- |
- |
3 |
3 |
20 |
1500 |
15 |
1200 |
10 |
1600 |
20 |
1400 |
25 |
1700 |
40 |
4 |
1 |
21 |
1400 |
20 |
1500 |
30 |
1200 |
35 |
1600 |
40 |
1700 |
15 |
4 |
2 |
22 |
1200 |
30 |
1400 |
35 |
1500 |
20 |
1700 |
15 |
1600 |
40 |
4 |
3 |
23 |
1600 |
35 |
1700 |
40 |
1400 |
15 |
1200 |
30 |
1500 |
20 |
4 |
4 |
24 |
1700 |
40 |
1600 |
15 |
1500 |
20 |
1400 |
35 |
1200 |
30 |
4 |
5 |
25 |
1400 |
15 |
1700 |
20 |
1600 |
25 |
1200 |
40 |
1500 |
30 |
4 |
1 |
Примечание. IDк - идентификатор коммутатора; Sп - стоимость портов коммутатора; в последнем столбце таблицы указан номер линии обрыва.
6. Содержание отчета
6.1. Цель работы, задание.
6.2. Исходные данные и исходный граф сети.
6.3. Граф-схема алгоритма устранения активных петель в сетях ЭВМ.
6.4. Итоговые графы сети.
6.5. Иллюстрации, отражающие этапы работы протокола STP, форматы служебных сообщений.
6.6. Выводы по результатам работы.
7. Контрольные вопросы
7.1. Объясните основные структурные и функциональные различия между мостом и коммутатором.
7.2. В чем заключается прозрачность моста?
7.3. На каком-либо примере с использованием граф-схемы алгоритма работы моста объясните принцип работы мостов и коммутаторов в режиме обучения, фильтрации, передачи и широковещания.
7.4. Какие способы снижения интенсивности трафика в сети Вы знаете? Объясните эти способы. Ответ проиллюстрируйте временными диаграммами работы коммутаторов.
7.5. При использовании какого из двух способов передачи пакетов коммутаторами: со сквозной обработкой или с буферизацией, повышается надежность сети? За счет чего это достигается?
7.6. Что такое "активные петли" в сети, как они возникают и каким образом их наличие сказывается на функционировании сети?
7.7. Объясните назначение и принцип функционирования протокола канального уровня STP.
7.8. В какие состояния, согласно протоколу STP, в зависимости от ситуации в сети могут переходить порты мостов и коммутаторов? С учетом пребывания портов коммутатора во всех этих состояниях нарисуйте для него конечный автомат.
7.9. Какие параметры служебного пакета BPDU может вручную устанавливать администратор сети?
7.10. Какие действия, согласно протоколу STP, предусмотрены в случаях: а) образования "активной петли"; б) обрыва сетевого кабеля между коммутаторами; в) выхода из строя корневого коммутатора?