Алгоритм протокола spanning-tree. Введение
Избыточность повышает доступность топологии сети посредством защиты сети от единой точки отказа — например, неисправного сетевого кабеля или коммутатора. При реализации в проектировании физической избыточности возникают петли и дублирование кадров. Петли и дублированные кадры являются причиной серьезных неполадок в коммутируемой сети. Протокол STP разработан для решения подобных проблем.
Протокол STP обеспечивает наличие только одного логического пути между всеми узлами назначения в сети путем намеренного блокирования резервных путей, которые могли бы вызвать петлю. Порт считается заблокированным, когда заблокирована отправка и прием данных на этот порт. К таким данным не относятся кадры BPDU, которые используются протоколом STP для предотвращения петель. Для предотвращения петель в сети чрезвычайно важно блокировать избыточные пути. Физические пути по-прежнему используются для обеспечения избыточности, однако эти пути отключены в целях предотвращения петель. Если путь потребуется для компенсации неисправности сетевого кабеля или коммутатора, протокол STP повторно рассчитывает пути и снимает блокировку с требуемых портов, чтобы разрешить активацию избыточного пути.
Нажмите кнопку Воспроизведение на рисунке 1, чтобы увидеть протокол STP в действии.
В рассматриваемом примере протокол STP включен на всех коммутаторах:
- PC1 отправляет широковещательную рассылку в сеть.
- S2 настроен с использованием протокола STP, и для порта Магистраль 2 задано состояние блокировки. Состояние блокирования не позволяет портам пересылать пользовательские данные, что предотвращает возникновение петли. S2 пересылает кадр широковещательной рассылки из всех портов коммутатора, за исключением порта источника PC1 и порта для Магистраль 2.
- S1 принимает кадр широковещательной рассылки и пересылает его из всех портов коммутатора, откуда он поступает на PC4 и S3. S3 пересылает кадр из порта для Магистраль 2, и S2 пропускает этот кадр. Возникновение петли 2-го уровня предотвращено.
Нажмите кнопку Воспроизведение на рисунке 2, чтобы просмотреть пересчет STP при возникновении сбоя.
Протокол STP предотвращает возникновение петель за счёт настройки беспетлевого пути в сети с использованием портов, стратегически настроенных на заблокированное состояние. Коммутаторы, использующие протокол STP, могут компенсировать сбои за счёт динамической разблокировки ранее блокированных портов и разрешения передачи трафика по альтернативным путям.
До сих пор использовался термин Spanning Tree Protocol (протокол spanning-tree) и аббревиатура STP. Однако использование этого термина и этой аббревиатуры может быть двусмысленным. Многие специалисты используют данный термин и аббревиатуру для обозначения различных реализаций протокола spanning-tree, например протокола Rapid Spanning Tree Protocol (RSTP) и протокола Multiple Spanning Tree Protocol (MSTP). Чтобы правильно объяснять принципы протокола spanning-tree, важно понимать, о какой конкретно реализации или стандарте идет речь в данном контексте. В новейшей документации IEEE по протоколу связующего дерева (IEEE-802-1D-2004) указано: «STP теперь заменен протоколом Rapid Spanning Tree Protocol (RSTP)». IEEE использует «STP» для обозначения исходной реализации связующего дерева, а «RSTP» — для описания версии связующего дерева, указанной в IEEE-802.1D-2004. В рамках данной программы, если в контексте обсуждения речь идет об исходном протоколе STP, то во избежание расхождений используется фраза: «исходный протокол spanning-tree 802.1D». Так как в этих двух протоколах используется по большей части одинаковая терминология и методы обеспечения пути без петель, основной акцент будет сделан на текущем стандарте и собственных реализациях Cisco для протоколов STP и RSTP.
Примечание. Протокол STP основан на алгоритме, изобретенном Радией Перлман (Radia Perlman) во время ее работы в Digital Equipment Corporation и опубликованном в статье 1985 г. «Алгоритм распределенного вычисления протокола связующего дерева в расширенной сети LAN» (An Algorithm for Distributed Computation of a Spanning Tree in an Extended LAN).