Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy

В мрежата може да се намери много информация относно протокола RSTP. В рамките на тази статия предлагам да сравним протокола RSTP с патентования протокол на Phoenix Contact – Разширена защитна мрежа.

Подробности за реализацията на RSTP

Обща информация

Време за конвергенция – 1-10 c
Възможни топологии – всяка

Широко разпространено е мнението, че RSTP позволява свързването на комутатори само в пръстен:

Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy
Но RSTP позволява свързването на комутатори по произволен начин. Например, с такава топология RSTP би могъл да се справи.

Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy

Принцип на действие

RSTP преобразува всяка топология в дърво. Един от комутаторите става център на топологията – коренов комутатор. Кореновият комутатор пропуска през себе си най-голямото количество данни.

Принципът на действие на RSTP е следният:

  1. захранват се комутаторите;
  2. избира се кореновият комутатор;
  3. останалите комутатори определят най-бързия път до кореновия комутатор;
  4. останалите канали се блокират и стават резервни.

Избор на коренов комутатор

Комутаторите с RSTP обменят BPDU пакети. BPDU е служебен пакет, който съдържа информация за RSTP. BPDU има два вида:

  • Configuration BPDU.
  • Topology Change Notification.

Configuration BPDU се използва за изграждане на топология. Той се изпраща само от кореновия комутатор. Configuration BPDU съдържа:

  • идентификатор на изпращача (Bridge ID);
  • идентификатор на кореновия комутатор (Root Bridge ID);
  • идентификатор на порта, от който е изпратен този пакет (Port ID);
  • стойност на маршрута до кореновия комутатор (Root Path Cost).

Topology Change Notification може да се изпраща от всеки комутатор. Те се изпращат в случай на промяна на топологията.

След включване всички комутатори се считат за коренови. Те започват да изпращат BPDU пакети. След като комутатор получи BPDU с по-малък Bridge ID от собствените си, той спира да се счита за коренов.

Bridge ID се състои от две стойности – MAC адрес и Bridge Priority. MAC адресът не може да бъде сменен. Bridge Priority по подразбиране е 32768. Ако не променяте Bridge Priority, кореновият комутатор става този с най-ниския MAC адрес. Комутаторът с най-ниския MAC адрес е най-старият и, вероятно, не е най-ефективният. Препоръчва се ръчно да се определи кореновият комутатор в топологията. За целта на кореновия комутатор трябва да се настрои малък Bridge Priority (например, 0). Може също да се определи резервен коренов комутатор, задавайки му малко по-висок Bridge Priority (например, 4096).

Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy
Избор на път до кореновия комутатор

Кореновият комутатор разпраща пакети BPDU до всички активни портове. BPDU има поле Path Cost. Path Cost означава цената на пътя. Колкото по-висока е цената на пътя, толкова по-дълго му отнема да предаде пакета. Когато BPDU премине през порт, към полето Path Cost се добавя стойността. Добавеното число се нарича Port Cost.

Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy

Към Path Cost се добавя определена стойност при преминаване на BPDU през някой порт. Това значение, което се добавя, се нарича Port Cost и може да бъде определено както ръчно, така и автоматично.

Когато некоренов комутатор има няколко алтернативни пътища към кореновия, той избира най-бързия. Сравнява Path Cost на тези пътища. Портът, от който е дошъл BPDU с най-нисък Path Cost, става коренов (Root Port).

Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy

Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy

Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy

Стойностите на портовете, които се присвояват автоматично, могат да бъдат видяни в таблицата:

Скорост на трансфер на данни на порта
Цена на порта

10 Мб/с
2 000 000

100 Мб/с
200 000

1 Гб/с
20 000

10 Гб/с
2 000

Роли и статути на портовете

Портовете на комутатора имат няколко статуса и роли.

Статуси на портовете (за STP):

  • Disabled – неактивен.
  • Blocking – слуша BPDU, но не предава. Данни не предава.
  • Listening – слуша и предава BPDU. Данни не предава.
  • Learning – слуша и предава BPDU. Подготвя се за предаване на данни — запълва таблицата с MAC адреси.
  • Forwarding – предава данни, слуша и предава BPDU.

Времето за сближаване на STP е 30-50 секунди. След включване на комутатора, всички портове преминават през всички статуси. Във всеки статус портът остава няколко секунди. Поради този принцип на работа, STP има такова дълго време за сближаване. RSTP има по-малко статуси на портовете.

Статуси на портовете (за RSTP):

  • Discarding – неактивен.
  • Забраняване – слуша BPDU, но не предава. Данни не предава.
  • Забраняване – слуша и предава BPDU. Данни не предава.
  • Learning – слуша и предава BPDU. Подготвя се за предаване на данни — запълва таблицата с MAC адреси.
  • Forwarding – предава данни, слуша и предава BPDU.
  • В RSTP статусите Disabled, Blocking и Listening са обединени в един – Забраняване.

Роли на портовете:

  • Root port – порт, през който се предават данни. Той е най-бързият път до кореновия комутатор.
  • Designated port – порт, през който се предават данни. Определен е за всеки сегмент LAN.
  • Alternate port – порт, през който данни не се предават. Той е алтернативен път до кореновия комутатор.
  • Backup port – порт, през който данни не се предават. Той е резервен път за сегмента, където вече е свързан един порт с поддръжка на RSTP. Backup port се използва, ако два канала на комутатора са свързани към един сегмент (например хъб).
  • Disabled port – на този порт RSTP е деактивиран.

Изборът на Root Port е описан по-горе. Как се избира Designated port?

Най-напред нека да определим какво е сегмент LAN. Сегмент LAN – това е колизиен домен. За комутатор или рутер всеки порт образува отделен колизиен домен. Сегмент LAN – канал между комутатори или рутери. Ако говорим за хъб, то при него всички портове са в един колизиен домен.

За един сегмент се назначава само един Designated Port.

В случай на сегменти, където вече има Root Port'ове, всичко е ясно. Вторият порт на сегмента става Designated Port.

Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy

Но остават резервни канали, където ще има един Designated Port и един Alternate Port. Как ще бъдат избирани? Designated Port става портът с най-малкия Path Cost до кореновия комутатор. Ако Path Cost-овете са равни, Designated Port ще бъде този порт, който е на комутатора с най-нисък Bridge ID. Ако и Bridge ID-тата са равни, Designated Port става порт с най-нисък номер. Вторият порт ще бъде Alternate.

Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy

Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy

Остана последният момент: кога на порту се назначава роля Backup? Както е споменато по-горе, Backup port се използва само когато два канала на комутатора са свързани към един сегмент, т.е. към хъб. В този случай Designated Port се избира точно по същите критерии:

  • Най-нисък Path Cost до кореновия комутатор.
  • Най-нисък Bridge ID.
  • Най-нисък Port ID.

Максималният брой устройства в мрежата.

Стандарт IEEE 802.1D не поставя строги изисквания относно броя устройства в мрежа с RSTP. Но стандартът препоръчва да се използват не повече от 7 суича в един клон (не повече от 7 хопа), т.е. не повече от 15 в пръстен. При превишаване на тази стойност времето за конвергенция на мрежата започва да се увеличава.

Подробности за реализиране на ERR.

Обща информация

Време за конвергенция

Времето за конвергенция на ERR е 15 мс. При максимален брой суичове в пръстена и наличие на свързване на пръстените – 18 мс.

Възможни топологии

ERR не позволява свободно свързване на устройства, както прави RSTP. ERR има ясни топологии, които могат да бъдат използвани:

  • Пръстен
  • Дублиран пръстен
  • Свързване на до три пръстена

Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy
Пръстен

Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy

Когато всички суичове в ERR са обединени в един пръстен, на всеки суич е необходимо да се конфигурират портовете, които ще участват в изграждането на пръстена.

Двойно пръстен
Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy

Суичовете могат да бъдат обединени в двойно пръстен, което значително увеличава надеждността на пръстена.

Ограничения на двойния пръстен:

  • Двойният пръстен не може да бъде използван за свързване на суичове с други пръстени. За това е необходимо да се използва Ring Coupling.
  • Двойният пръстен не може да бъде използван за пръстен на свързването.

Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy

Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy
Свързване на пръстени

Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy

При свързване в мрежата не може да има повече от 200 устройства.

Свързването на пръстени предполага обединяване на останалите пръстени в още един пръстен.

Ако пръстенът се свързва към пръстена на свързването чрез един суич, това се нарича свързване на пръстени чрез един суич. Ако към пръстена на свързването се свързват два суича от локалния пръстен, това ще бъде свързване чрез два суича.

При свързване чрез един суич на устройството се активират и двата порта. Времето за конвергенция в този случай ще бъде около 15-17 мс. При такова свързване суичът на свързването ще бъде точка на отказ, тъй като при загуба на този суич, се губи веднага целият пръстен. Свързването чрез два суича позволява предотвратяване на това.

Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy

Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy

Възможно е свързване на дублирани пръстени.

Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy

Контрол на пътя
Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy

Функцията Контрол на пътя позволява настройване на портовете, през които ще се предават данните в нормален режим на работа. Ако каналът се провали и мрежата премине в резервна топология, то след възстановяване на канала, мрежата ще се върне обратно към зададената топология.

Тази функция позволява икономия на резервен кабел. Освен това винаги ще бъде известна използваната топология за отстраняване на проблеми.

Основната топология се превключва на резервната за 15 мс. Обратно превключване при възстановяване на мрежата ще отнеме около 30 мс.

Ограничения:

  • Не може да се използва заедно с Dual Ring.
  • Функцията трябва да бъде активирана на всички комутатори в мрежата.
  • Един от комутаторите се настройва като основен Path Control.
  • Автоматичният преход към основната топология след възстановяване е по подразбиране 1 секунда (този параметър може да бъде променен с помощта на SNMP в диапазона от 0 с до 99 с).

Принцип на действие

Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy

Принцип на работа на ERR

За пример ще разгледаме шест комутатора – 1-6. Комутаторите са свързани в пръстен. Всеки комутатор използва два порта за свързване към пръстена и съхранява техните статуси. Комутаторите обменят статусите на портовете помежду си. Тези данни устройствата използват, за да установят първоначалното състояние на портовете.

Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy
Портовете имат само две роли – Блокиран и Forwarding.

Комутаторът с най-голям MAC адрес блокира своя порт. Всички останали портове в пръстена предават данни.

Ако блокираният порт спре да работи, следващият порт с най-голям MAC адрес става блокиран.

След зареждане комутаторите започват да изпращат Ring Protocol Data Unit (R-PDU). R-PDU се предава чрез multicast. R-PDU е сервизно съобщение, подобно на BPDU в RSTP. R-PDU съдържа статусите на портовете на комутатора и неговия MAC адрес.

Алгоитъм на действия при отказ на канала
Когато каналът отказва, комутаторите изпращат R-PDU, за да уведомят за промяната в статуса на портовете.

Алгоритъм на действия при възстановяване на канала
Когато отказалият канал се активира, комутаторите изпращат R-PDU, за да уведомят за промяната в статуса на портовете.

Комутаторът с най-голям MAC адрес става нов коренен комутатор.

Отказалият канал става резервен.

Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy

Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy

Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy

Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy

Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy

След възстановяването един от портовете на канала остава блокиран, а вторият преминава в състояние forwarding. Блокираният порт става портът с най-висока скорост. Ако скоростите са равни, блокираният ще бъде портът на комутатора с най-голям MAC адрес. Този принцип позволява да се блокира порт, който ще премине от състояние blocked в състояние forwarding с максимална скорост.

Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy

Максималният брой устройства в мрежата.

Максимално количество комутатори в ERR кръг – 200.

Взаимодействие ERR и RSTP

RSTP може да се използва в комбинация с ERR. Но рингът на RSTP и рингът на ERR трябва да се пресичат само през един комутатор.

Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy

Резюме

ERR е идеален за организиране на типични топологии. Например, ринг или дублиран ринг.

Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy

Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy

Подобни топологии често се използват за резервиране в промишлени обекти.

Освен това, с помощта на ERR вторичната топология може да бъде реализирана по-малко надеждно, но по-бюджетно. Това може да се направи с дублиран ринг.

Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy

Но не винаги е възможно да се приложи ERR. Съществуват достатъчно екзотични схеми. С един от нашите клиенти тествахме следната топология.

Подробности за реализацията на протоколите RSTP и собственическия Extended Ring Redundancy

В този случай прилагането на ERR не е възможно. За тази схема използвахме RSTP. Клиентът имаше строго изискване за време на конвергенция – по-малко от 3 сек. За да постигнем това време, трябваше ясно да определим кореновите комутатори (основния и резервния), както и цените на портовете в ръчен режим.

В крайна сметка, ERR значително печели по време на конвергенция, но не предоставя такава гъвкавост, каквато предлага RSTP.

Източник: habr.com

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster