Глава 2. Label Distribution Protocols (RSVP, LDP)
RSVP
RSVP - resource reservation protocol - требует больше конфигурации для работы, чем LPD, но зато имеет более полезных фич, таких как: TE, fast-failover, QoS, bandwidth reservation, LSP customization.
Configuration
1. Включаем family mpls на интерфейсах, смотрящих в ядро. Эта настройка позволяет отправлять и получать пакеты с метками.
[edit interfaces] set ge-0/0/2.0 family mpls set ge-0/0/3.0 family mpls
2. Настраиваем LSP. И добавляем нужные интерфейсы в protocols mpls. Это позволяет запустить на указанных интерфейсах mpls и появиться в TED, как возможный ресурс для использования.
[edit protocols mpls] set label-switched-path R1-to-R5 { to 10.200.86.3; } interface ge-0/0/2.0; interface ge-0/0/3.0;
3. Добавляем в протокол RSVP нужные интерфейсы.
[edit protocols rsvp] set interface ge-0/0/2.0 set interface ge-0/0/3.0
4. На остальных роутерах требуется включить family mpls и добавить интерфейсы в protocols rsvp.
В LDP нет требования добавлять интерфейсы в protocols mpls, но family mpls включать нужно.
LSP установлена и имеет свой record route: список IP адресов интерфейсов, через которых проходит RSVP LSP, включая ingress и egress.
LDP
LDP - label distribution protocol - намного более простой в настройке, но малофункциональный сигнальный протокол, по сравнению с RSVP.
Соседство
При включении LDP на роутере, он пытается установить соседство. Mulicast на UDP 646 шлют hello пакеты (раз в 5 сек, dead interval = 15 сек). Другой роутер слушает hello на этом же порту, отвечает hello, т.о. устанавливается соседство.
После этого устанавливается TCP сессия. По этой сессии начинается обмен метками и пакетами по unicast.
Инициатором построения туннелей выступает egress роутер.
Роутер (A) анонсирует свой Lo соседнему роутеру (В). Этот анонс попадает в inet.3. Т.к. B - прямой сосед А, и между ними однохоповый туннель, то анонс от А придет с меткой 3.
Роутер B начинает анонсировать Lo роутера А остальным своим соседям (C,D), чтобы те начали строить туннели до роутера А. На роутерах C,D анонс от B поместится в inet.3, с push метка. А на роутере B в таблице mpls.0 - появляется запись для туннеля с swap.
В итоге - full mesh на сети. На всех роутерах в inet.3 будет Lo роутера А.
Установление LDP LSP нельзя контролировать, они следуют кратчайшему пути по IGP.
Для исключения петель:
- На каждом роутере для каждого соседа создается 2 LDP database: на вход и на выход. LDP database, поступившая на вход, сравнивается с топологией IGP. В inet.3 попадает тот анонс, который пришел с того же next-hop, что указан для пришедшего Lo.
- То, что пришло и не совпало с IGP - сохраняется, но не используется. Liberal protection.
Без настроенного link-state IGP (OSPF или ISIS) LDP работать не будет! Скорость перестроения - зависит от перестроения по IGP.
Cisco
В Cisco дефолтное поведение немного другое. Анонсируются не только Lo, а полностью таблица маршрутизации и сразу вставляется в GRT (global routing table).
Чтобы на Juniper получить такое же поведение:
- Пишем egress-policy: где указано что требуется анонсировать из таблицы маршрутизации по протоколу LDP. Policy применяется как egress policy к протоколу LDP.
- На всех остальных роутерах требуется перенести inet.3 в inet.0.
Это может понадобиться только в случае, если мы делаем редистрибьюцию внешних префиксов во внутренний протокол. - чего провайдер делать не должен.
Configuration
1. Включаем family mpls:
[edit interfaces] set ge-0/0/2.0 family mpls set ge-0/0/3.0 family mpls
2. Добавляем интерфейсы в protocols ldp
[edit protocols ldp] set interface ge-0/0/2.0 set interface ge-0/0/3.0
3. На остальных роутерах в mpls домене делаем все тоже самое.
Можно проверить что будет происходить с меткой на каждом хопе LDP LSP:
show route protocol ldp 10.200.86.7 show ldp router show route table inet.3 - если нет Lo нужного нам роутера, то проверяем есть ли Lo в inet.0 (IGP)
Обычно не стоит вопрос о том какой протокол использовать. Оба протокола друг друга просто дополняют. У двух протоколов разные preference, поэтому BGP будет выбирать RSVP, как более приоритетный.
Второй preference у RSVP: Когда внутри протокола требуется сравнение маршрутов. RSVP auto mesh - preference 2 = 3. Если на сети будет построен туннель статический, и auto-mesh, то предпочтительней будет статический. (preference 2: 1 < 3).
© Наталия Бобкова 2014—2022