Подробиці реалізації протоколів RSTP та пропрієтарного Extended Ring Redundancy

У мережі можна знайти багато матеріалів про протокол RSTP. У рамках цієї статті я пропоную порівняти протокол RSTP із пропрієтарним протоколом від Фенікс Контакт - Extended Ring Redundancy.

Подробиці реалізації 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) і може бути визначено як вручну, так і автоматично. 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 – неактивний.
  • Discarding – слухає BPDU, але не передає. Дані не передає.
  • Discarding – слухає та передає BPDU. Дані не передає.
  • Learning – слухає та передає BPDU. Готується до передачі даних – заповнює таблицю MAC-адрес.
  • Forwarding – передає дані, слухає та передає BPDU.
  • У RSTP статус Disabled, Blocking і Listening об'єднані в один - Discarding.

Ролі портів:

  • 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

Функція Path Control дозволяє налаштувати порти, якими будуть передаватися дані у штатному режимі роботи. Якщо канал відмовить і мережа перебудується на резервну топологію, то після відновлення каналу мережа перебудується назад на задану топологію.

Ця функція дозволяє заощадити на резервному кабелі. Більше того завжди буде відома топологія, що використовується для траблшутинга.

Основна топологія перемикається на резервну за 15 мс. Зворотне перемикання при відновленні мережі займатиме близько 30 мс.

обмеження:

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

Принцип дії

Подробиці реалізації протоколів RSTP та пропрієтарного Extended Ring Redundancy

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

Наприклад розглянемо шість комутаторів – 1-6. Комутатори об'єднані у кільце. Кожен комутатор використовує два порти для підключення до кільця та зберігає їхні статуси. Комутатори пересилають статуси портів один одному. Ці дані використовують для встановлення вихідного стану портів.

Подробиці реалізації протоколів RSTP та пропрієтарного Extended Ring Redundancy
У портів лише дві ролі – блокований и Пересилання.

Комутатор з найбільшою MAC-адресою блокує порт. Решта портів у кільці передають дані.

Якщо Blocked port перестає працювати, то наступний порт із найбільшою MAC-адресою стає Blocked.

Після завантаження комутатори починають надсилати 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-адресою. Цей принцип дозволяє заблокувати порт, який перейде зі стану блокованого в стан 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

Додати коментар або відгук