Опис протоколу ldp

Призначення протоколу LDP

Протокол LDP призначений для побудови цілісних маршрутів комутації по мітках LSP.

Установка сусідських відносин

Встановлення сусідських відносин між маршрутизаторами здійснюється в дві фази:
  1. обмін повідомленнями Hello;
  2. встановлення сесії LDP.
Фаза N2 виповнюється тільки при успішному виконанні фази N1.

Обмін повідомленнями Hello

Встановлення LDP сесії

повідомлення Init

Повідомлення Init містить наступну інформацію:
Protocol Version - версія протоколу.
KeepAlive Time - максимальний час між службовими повідомленнями KeepAlive. Обидві сторони можуть пропонувати різні значення - використовуватися має мінімальне.
A-bit, Label Advertisement Discipline - режим обміну інформацією про мітки. Можливе використання двох режимів обміну інформацією про мітки:
  • 1 - Downstream On Demand;
  • 0 - Downstream Unsolicited.
D-but, Loop Detection - механізм запобігання Циколія LSP. 0 - вимкнено, 1 - включений.
PVLim, Path Vector Limit - Змінна використовується для роботи механізму запобігання циклів.
Max PDU Length - LDP повідомлення групуються в PDU (Protocol Data Units) і передаються в одному пакеті TCP / IP. Max PDU Length - означає максимально можливу довжину суміщених повідомлень LDP в байтах. Сусіди можуть пропонувати різні значення, але обидва повинні вибрати мінімальне. Зауважимо, що навіть одне повідомлення упаковується всередину PDU.
Receiver LDP Identifier - Ідентифікатор простору міток (або Label Space Identifier). Формат поля наступний: LSR_ID: Label_Space_ID. LSR_ID це ідентифікатор LSR. Даний ідентифікатор повинен бути унікальний в рамках домена MPLS і єдиний для кожного LSR-а. Label_Space_ID - це ідентифікатор безлічі міток. Label Space Identifier вказується в заголовку PDU, ідентифікуючи тим самим сусіда і інтерфейс за яким встановлено сусідство. Наприклад, два LSR-а можуть бути з'єднані двома каналами, і для кожного каналу повинен бути виділений різні Label Space Identifier, відрізнятися які будуть тільки значенням Label_Space_ID.
Примітка: Повідомлення Init так само містить кілька додаткових, необов'язкових полів, опис яких опущено. Толку від цих полів в мережах IP все одно немає.
LDP сесія встановлюється при виконанні наступних умов:
  • збіг версій протоколу (в пряму RFC цього не вимагає, але якщо в цьому полі буде щось несподіване, що поважає себе LSR не встановив LDP сесію);
  • збіг значень А-біт, в мережі на різних з'єднаннях можливе використання різних режимів поширення иформации про мітки, але на одному з'єднання режим повинен збігатися.
Розбіжність PVLim, відповідно до RFC не повинно призводити до закриття сесії, але може викликати попередження на LSR.

повідомлення KeepAlive

За кожною сесією LDP LSR повинен закріплювати таймер. Після отримання будь-якого повідомлення LDP, LSR встановлює таймер в 00:00 і знову запускає його. До досягнення таймером значення "KeepAlive Time" сусідній LSR повинен надіслати будь-LDP повідомлення. Якщо у сусіда немає інформативних повідомлень для пересилання, то він повинен послати повідомлення KeepAlive.
Примітка: При конкретної реалізації таймер може працювати як від 00:00 до "KeepAlive Time", так і у зворотний бік.
Якщо в призначений термін повідомлення не приходять, то сусід вважається відключеним і сесія з ним повинна ставили заново.

Обмін інформацією про мітки

Рассмортім схему представлену на рис. N1.

З точки зору LSR1 для FEC 10.1.1.0/24 сусідів LSR1 можна розділити на дві групи:
  • Upstream LSR-и - це LSR3, LSR4.
  • Downstream LSR - це LSR2. Інакше Downstream LSR можна назвати next-hop-LSR (NH-LSR).
По русски ці класи назвати дуже складно, поетом доведеться використовувати англомовні терміни.

Параметри функціонування LDP

Існує кілька параметрів функціонування LDP:
  • режим обміну інформацією про мітки (Label Distribution Mode)
  • режим контролю над розповсюдженням міток (Label Distribution Control)
  • механізм збереження міток (Label Retention Mode)

Режим обміну інформацією про мітки

Між сусідами можливо використання двох режимів обміну інформацією про мітки:
  • Downstream On Demand - із запитом;
  • Downstream Unsolicited - без запиту.
При режимі Downstream On Demand LSR повинен запитувати мітку для створення LSP (для FEC) від сусіднього LSR, який є next-hop-му для цього FEC. При режимі Downstream Unsolicited LSR для кожного FEC знаходиться у нього в таблиці IP-маршрутизації призначає мітку і розсилає її всім своїм сусідам. Якщо для сусіднього LSR вихідний LSR є next-hop-му, то мітка встановлюється в таблицю комутації.

Механізм контролю над поширенням міток

Також існує кілька механізмів контролю над поширенням міток (Label Distribution Control Mode):
  • Independent Label Distribution Control - незалежний контроль;
  • Ordered Label Distribution Control - упорядкований контроль.
При використанні незалежного контролю над поширенням міток LSR може виділяти мітки для FEC своїм сусідам навіть у разі, якщо LSR не має вихідний мітки для себе від наступного LSR. Якщо використовується упорядкований контроль над поширенням міток, то LSR не виділятиме мітки своїм сусідам, поки сам LSR не отримає вихідну мітку для заданого FEC від NH-LSR-а. При цьому режимі перший відсилає мітку той LSR, до якого безпосередньо приєднано FEC.

Режим збереження міток

Режим збереження міток (Label Retention Mode)
  • Conservative Label Retention Mode (стриманий режим збереження міток);
  • Liberal Label Retention Mode (вільний режим збереження міток).
При використанні стриманого режиму збереження міток при знищенні маршруту на FEC мітка видаляється. Для відновлення LSP необхідно, що б мітка була заново виділена сусіднім NH-LSR-му. Якщо використовується вільний режим збереження міток, то при
знищенні маршруту на FEC мітка не видаляється, а лише позначається як неактивна. І в разі, якщо маршрут на FEC відновлюється через той же NH-LSR, то мітка не вимагається, а використовується стара, статус якої змінюється на активний.
Примітка: Режим збереження міток, механізм контролю над поширенням міток і режим утримання міток можуть бути не погоджені між сусідами по LDP.
Протокол LDP повинен реагувати на такі події:
  • появи нового запису FEC в таблиці маршрутизації;
  • зникнення записи FEC з таблиці маршрутизації;
  • зміна next-hop для запису FEC.

Можливі комбінації режимів роботи протоколу LDP, а так само приклади функціонування наведені в табл. N1.
Табл. N1. Режими функціонування протоколу LDP.

Режим обміну інформацією про мітки

появи нового запису FEC

1) Відсилаємо всім сусідам мітки на всі відомі FEC.
2) Очікуємо мітку від NH-LSR.
3) Використовуємо отриману мітку для комутації
ПрімерN1

1) Чекаємо, поки прийде мітка від NH-LSR.
2) Відсилаємо всім сусідам мітку на FEC
3) Використовуємо отриману мітку для комутації
PS. Перший відсилає мітку маршрутизатор приєднаний до FEC
ПрімерN2

зміна next-hop для запису FEC

1) Шукаємо тег у списку "відкладених".
2) Якщо не знаходиться то посилаємо запит NH-LSR про виділення мітки, інакше п.4.
3) чекаємо відповіді.
4) Використовуємо отриману мітку для комутації.

1) Надсилаємо запит NH-LSR про виділення мітки
2) Чекаємо відповіді
3) Використовуємо отриману мітку для комутації

Отримання запиту на виділення мітки

мітку виділяємо, не чекаючи відповіді від свого NH-LSR.

мітку виділяємо тільки після відповіді від свого NH-LSR.

мітку виділяємо, не чекаючи відповіді від свого NH-LSR.


При зникненні записи FEC з таблиць маршрутизації все LSR повинні в обов'язковому порядку відкликати призначені мітки для комутації FEC у своїх сусідів. Робиться це за допомогою посилки повідомлення Label Withdraw.

Механізм запобігання циклів

Протокол LDP має в своєму складі механізм запобігання циклів. Призначення цього механізму не допускати зациклення запитів і маршрутів. Даний ефект досягається включенням в усі повідомлення Label Mapping і Label Mapping Request інформації про LSR через які дані запити пройшли. У разі якщо LSR-и функціонують в режимі Ordered Control даний ефект досягається легко. Якщо LSR-и використовують Independed Control, то в цьому випадку LSR-и повинні заново відсилати запити і відповіді на них, тому що інформація про LSR-ах, через які пройшли запити, буде оновлюватися.
Механізм запобігання циклів може і не використовуватися, так як за ідеєю відсутність циклів повинен гарантувати протокол IP-маршрутизації, інформацію від якого використовує LDP.
Зациклення можуть виникати на не тривалий період, тільки в разі якщо протокол IP-маршрутизації повільно сходитися і LDP працює швидше, ніж протокол IP-маршрутизації.

Типи повідомлень LDP

У табл. N2 наведені типи LDP повідомлень:
Табл. N2. Повідомлення протоколу LDP.

Схожі статті