Глава 2. Label Distribution Protocols (RSVP, LDP): различия между версиями
(Новая страница: «===RSVP=== '''RSVP''' - ''resource reservation protocol'' - требует больше конфигурации для работы, чем LPD, но зато и…») |
(→LDP) |
||
Строка 30: | Строка 30: | ||
===LDP=== | ===LDP=== | ||
'''LDP''' - ''label distribution protocol'' - намного более простой в настройке, но малофункциональный сигнальный протокол, по сравнению с RSVP. | '''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 роутера А. | |||
{{note|text=Установление 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==== | ====Configuration==== | ||
Строка 45: | Строка 77: | ||
3. На остальных роутерах в mpls домене делаем все тоже самое. | 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). |
Версия 13:30, 2 ноября 2016
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).