Введення
Протокол STP (SpanningTreeProtocol) - мережевий протокол другого рiвня, дана технологія винайдена Радьей Перельманом. Даний протокол використовується при з'єднанні між собою двох і більше комутаторів дублюючими сполуками або при побудові мережі по топології «mesh» (зв'язок всіх з усіма). Протокол STP дозволяє аналізувати мережу і усувати петлі (forwardingloops) між комутаторами, створюючи граф передачі пакетів між комутаторами. При нормальному функціонуванні мережі Ethernet, між двома комутаторами може бути активно лише одне з'єднання, інші не будуть використовуватися. Т.к. кілька активних сполук між комутаторами, створюють петлю, STP блокує одне або кілька таких з'єднань. Для забезпечення можливості резервування з'єднань, протокол STP визначає граф (дерево) з мережевих комутаторів. Протокол STP, обчисливши дублюються шляхи для даних, блокує їх, переводячи в режим очікування. У випадку, якщо сегмент мережі стає недоступним, або змінюється вага шляху графа STP (наприклад, при зміні швидкості з'єднання), алгоритм STP перебудовує дерево і якщо потрібно, активує резервні з'єднання. Робота протоколу STP непомітна для крайових вузлів в мережі, і неважливо, чи підключені вони до одного сегмента LAN lt; # justify gt; Глава 1. Алгоритми роботи протоколу STP
.1 Протокол STP
Основне завдання STP - запобігти появі петель на другому рівні. Протокол прибирає всі надлишкові шляху, поки вони не знадобляться. Дії протоколу:
визначення найефективнішого шляху і відключення надлишкових;
визначення працездатності шляхи і необхідності включення запасного;
пошук мережевих петель.
1.2 Алгоритми роботи протоколу STP
використовує алгоритм STA (SpanningTreeAlgorithm), результатом роботи якого є граф у вигляді дерева (зв'язний і без простих циклів). Для обміну інформацією між собою комутатори використовують спеціальні пакети - BPDU (Bridge Protocol DataUnits). BPDU бувають двох видів: конфігураційні (ConfigurationBPDU) і TCN (TopologyChangeNotificationBPDU) які сповіщають всі пристрої в мережі про те, що топологія змінилася. Перші регулярно розсилаються кореневим комутатором (і ретранслюються іншими) і використовуються для побудови топології, другі відсилаються в разі зміни топології мережі (при підключенні відключенні комутатора). Конфігураційні BPDU містять кілька полів:
код відправника (Bridge ID),
ідентифікатор кореневого комутатора (Root Bridge ID),
ідентифікатор порту, з якого відправлений даний пакет (Port ID),
вартість маршруту до кореневого комутатора (Root PathCost).
Так як пристрої не знають своїх сусідів, ніяких відносин (суміжності/сусідства) вони один з одним не встановлюють. Вони шлють BPDU з усіх працюючих портів на мульти кастовий Ethernet-адреса 01-80-c2-00-00-00 (за замовчуванням кожні 2 секунди), який прослуховують всі комутатори з включеним STP.
Формування топології без петель.
Для усунення петель в мережі вибирається кореневої міст/комутатор (root bridge). Це пристрій, який STP вважається точкою відліку, центром мережі; все дерево STP сходиться до нього. Вибір базується на такому понятті, як ідентифікатор комутатора (Bridge ID). Bridge ID це число довжиною 8 байт, яке складається з Bridge Priority (пріоритет, від 0 до 65 535, за замовчуванням 32768 + номер Vlan або Instants MSTP, залежно від реалізації протоколу), і MAC-адреси пристрою. На початку виборів кожен комутатор вважає себе кореневим, про що і заявляє всім іншим за допомогою BPDU, в якому представляє свій ідентифікатор як ID кореневого комутатора. При цьому, якщо він отримує BPDU з меншим Bridge ID, він починає анонсувати отриманий Bridge ID в якості кореневого. У підсумку, кореневим виявляється той комутатор, чий Bridge ID менше всіх.
Такий підхід таїть у собі досить серйозну проблему. При рівних значеннях Priority (а вони рівні, якщо не міняти нічого) кореневим вибирається найстаріший комутатор, так як мак адреси прописуються на виробництві послідовно, відповідно, чим MAC-адресу менше, тим пристрій старше (якщо у нас все обладнання одного виробника). Це може призвести до падіння продуктивності мережі, так як старе пристрій, як правило, має гірші характеристики. Подібна поведінка протоколу можна змінити, виставляючи значення пріоритету на бажаному кореневому комутаторі вручну.
Статуси портів в протоколі SpanningTree
Коли топологія мережі ще не визначена і мережа знаходиться в невизначеному статусі, порт комутатора, передаючи дані, створює тимчасові петлі пакетів. Порти комутаторів п...