вторник, 7 февраля 2017 г.

Label Distribution Protocol

Краткая заметка по основным принципам работы Label Distribution Protocol.


LDP описан в RFC 5036.

Протокол LDP используется для обмена MPLS метками между LSR. Существует два вида LDP:
Link LDP - применяется для обмена транспортными метками, сессия устанавливается между соседними LSR;
tLDP - применяется для обмена сервисными метками, сессия может устанавливаться с любым LSR в MPLS домене.

LDP sessions

Фазы работы LDP:

Neighbor Discovery
LDP session establishment
Label exchange
Session maintenance

Для наглядности процесса установления LDP сессии приведу схему:



Neighbor Discovery

Для поиска соседей LSR отсылает Hello пакет на адрес 224.0.0.2 UDP 646.

LDP session establishment

После установления соседства все сообщения передаются по протоколу TCP, используя также 224.0.0.2 порт 646. LSR с наибольшим loopback адресом выбирается активным. Далее происходит обмен и согласование параметров (initialization message): keep-alive timer value и maximum PDU size. После успешного согласования параметров, LDP соседи переходят в состояние - establishment.

Label exchange

Процесс генерирования и обмена метками различается в зависимости от вендора. К примеру, Alcatel SR 7750 генерирует метки и биндит их к FEC только для своего системного адреса и для FEC, по которым он имеет активную метку в LFIB.

LSR получив label-map от соседей заносит их в LIB. LFIB таблица, в свою очередь, строится на основании FIB. Только метки с активным next-hop будут использованы для построения LSP.
Выбор через какие LSR будет строится LSP (при использовании LDP) напрямую зависит от того, какую топологию построит IGP.