Juniper (JNCIS-SP)
  • 1) Juniper Initial Configuration
  • 2) Juniper VLANs + Inter VLAN Routing + DHCP
    • 2.1) Классическая маршрутизация между VLAN (При помощи роутера)
      • Настройка VLAN'ов на SW-MSK-ARB
      • Настройка VLAN'ов на SW-SPB-NEV
      • Настройка IP-адресации, DHCP и маршрутизации между VLAN'ами
      • Проверка конфигурации
      • Полезные ссылки
    • 2.2) Маршрутизация между VLAN на L3-коммутаторе
  • 3) LAGs + Static Routing (с резервированием) + SysLog + SSH
    • Агрегирование каналов и настройка IP-адресов
    • Статическая маршрутизация с резервированием
    • Настройка доступа к Juniper по SSH
    • SysLog Server
    • Конфигурации Устройств
    • Полезные ссылки
  • 4) Q-in-Q
    • Настройка Q-in-Q
    • Конфигурации устройств
  • 5) MC-LAG (Multi-Chassis LAG) + BFD + IRB
    • MC-LAG
    • Конфигурации устройств
    • Полезные ссылки
  • 6) STP (RSTP/VSTP/MSTP + MVRP)
    • RSTP
    • VSTP
    • MSTP
    • STP Protection
    • Конфигурации устройств
    • Полезные ссылки
  • 7) Basic Routing Concepts
    • Полезные ссылки
  • 8) OSPF
    • 4.1) Смена типов областей и Load Balancing
      • Конфигурации устройств
    • 4.2) Настройка Virtual-Link, OSPF в Broadcast-сетях (Выбор DR и BDR) и OSPF summarization
      • Выбор DR и BDR
      • Настройка Virtual-Link + Route Summarization
      • Конфигурации устройств
    • Примечание (Router-ID)
    • OSPF Database and LSA
    • Полезные ссылки
  • 9) IS-IS
    • Практическая часть
    • Конфигурации устройств
    • Полезные ссылки
  • 10) BGP
    • eBGP
    • Анонсирование первых префиксов
    • iBGP
      • BGP Confederations
      • Атрибут Next-Hop и iBGP
      • BGP Route Reflectors
    • BGP Routing Policies
    • BGP Load Balancing
    • BGP Session Attributes
    • Конфигурации устройств
    • Примечание (Router-ID)
    • Полезные ссылки:
  • 11) MPLS
    • Static LSP
    • LDP
    • RSVP
    • L2/L3 VPN
    • Конфигурации Устройств
    • Полезные ссылки
  • 12) CSPF (Dynamic TE)
    • Настройка
    • Конфигурации устройств
    • Полезные ссылки
  • 13) Tunneling Technologies (IPIP/GRE)
    • Конфигурации устройств
    • Полезные ссылки
  • 14) High Availability
    • Конфигурации устройств
    • Полезные ссылки
  • 15) IPv6
  • Полезные ссылки
Powered by GitBook
On this page
  • 1. Настройка LDP
  • 2. Процесс обмена меток
  • 3. Проверка работы LDP
  • 4. Взаимодействие MPLS и BGP:

Was this helpful?

  1. 11) MPLS

LDP

PreviousStatic LSPNextRSVP

Last updated 4 years ago

Was this helpful?

Схема сети остаётся прежней. Перед настройкой LDP удалим все настройки статического LSP и включим на всех интерфейсах обработку меток (кроме интерфейсов в сторону eBGP-пиров).

LDP позволяет распространить метки и направлять трафик по меткам, согласно IGP Best Path. Однако, в LDP недоступен TE. В то же время LDP легко настраивается и сравнительно быстро перестраивается вместе с IGP-протоколами при изменениях в топологии. Используется для построения VPN-сервисов и формирования более простых iBGP-соседств. В JunOS по умолчанию по LDP распространяется только информация о LoopBack-адресах (В Cisco обо всех напрямую доступных префиксах), но это можно изменить при помощи Egress-Policy.

1. Настройка LDP

Тут всё довольно просто. Нужно просто добавить на нужные нам юниты family mpls (у нас уже сделано) и включить все интерфейсы в LDP:

root@RT.MSK.M34# show | compare 
[edit protocols]
+   ldp {
+       interface all;
+   }

На этом первоначальная настройка LDP заканчивается и между LoopBack-адресами устройств устанавливается Pseudowire-соединение.

2. Процесс обмена меток

Как происходит установка LDP-сессии и обмен метками (На примере сообщени M9, отсылаемых в сторону M34):

1) Рассылка Hello-пакетов на multicast-адрес 224.0.0.2 (Все роутеры в сети) на 646 UDP-порт

2) Далее идёт установка TCP-соединения, но уже между адресами интерфейсов:

3) Далее идёт обмен Initialization Message, в ходе которого идёт согласование параметров:

4) После чего произошёл обмен KeepAlive и пересылка Address Message с напрямую доступными сетями от нашего роутера:

5) Далле мы просто выделяем метку и говорим, что если хочешь добраться до 192.168.0.3, то используй метку 3 (Это Penultimate-Hop Popping, так как 192.168.0.3 это наш LoopBack).

Далее этот FEC попадает соседям, они также под него выделяют свою метку, записывают, что её нужно Swap'нуть на принятую и уже со своей меткой передают информацию об этом FEC далее по сети.

3. Проверка работы LDP

Трассировка пути:

root@RT.MSK.M34# run traceroute mpls ldp 192.168.0.5  
  Probe options: ttl 64, retries 3, wait 10, paths 16, exp 7, fanout 16

  ttl    Label  Protocol    Address          Previous Hop     Probe Status
    1   299824  LDP         10.0.0.5         (null)           Success           
    2        3  LDP         10.0.0.15        10.0.0.5         Egress            

  Path 1 via ge-0/0/1.0 destination 127.0.0.64

  ttl    Label  Protocol    Address          Previous Hop     Probe Status
    1   299824  LDP         10.0.0.11        (null)           Success           
    2        3  LDP         10.0.0.21        10.0.0.11        Egress            

  Path 2 via ge-0/0/0.0 destination 127.0.1.64

  ttl    Label  Protocol    Address          Previous Hop     Probe Status
    1   299824  LDP         10.0.0.1         (null)           Success           
    2        3  LDP         10.0.0.17        10.0.0.1         Egress            

  Path 3 via ge-0/0/3.0 destination 127.0.2.64

Тут видно, что у нас сразу происходит проверка всех путей:

root@RT.MSK.M34# run show route table inet.3 192.168.0.5     

inet.3: 7 destinations, 7 routes (7 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

192.168.0.5/32     *[LDP/9] 00:53:44, metric 1
                      to 10.0.0.11 via ge-0/0/0.0, Push 299824
                    > to 10.0.0.5 via ge-0/0/1.0, Push 299824
                      to 10.0.0.1 via ge-0/0/3.0, Push 299824

Информация о сессияъ, интерфейсах и соседях:

root@RT.MSK.M34# run show ldp session 
  Address           State        Connection     Hold time  Adv. Mode
192.168.0.2         Operational  Open             20         DU
192.168.0.3         Operational  Open             20         DU
192.168.0.4         Operational  Open             20         DU

[edit]
root@RT.MSK.M34# run show ldp interface  
Interface            Label space ID        Nbr count   Next hello
lo0.0                192.168.0.1:0            0           0
ge-0/0/0.0           192.168.0.1:0            1           3
ge-0/0/1.0           192.168.0.1:0            1           4
ge-0/0/3.0           192.168.0.1:0            1           3

[edit]
root@RT.MSK.M34# run show ldp neighbor     
Address            Interface          Label space ID         Hold time
10.0.0.11          ge-0/0/0.0         192.168.0.2:0            14
10.0.0.5           ge-0/0/1.0         192.168.0.3:0            12
10.0.0.1           ge-0/0/3.0         192.168.0.4:0            10

Также можно посмотреть базу данных меток для определённой сессии. Тут видно что мы от него получли и что ему передали:

root@RT.MSK.M34# run show ldp database session 192.168.0.2     
Input label database, 192.168.0.1:0--192.168.0.2:0
  Label     Prefix
 299776      192.168.0.1/32
      3      192.168.0.2/32
 299792      192.168.0.3/32
 299808      192.168.0.4/32
 299824      192.168.0.5/32
 299840      192.168.0.6/32
 299856      192.168.0.7/32
 299872      192.168.0.8/32

Output label database, 192.168.0.1:0--192.168.0.2:0
  Label     Prefix
      3      192.168.0.1/32
 299776      192.168.0.2/32
 299792      192.168.0.3/32
 299808      192.168.0.4/32
 299824      192.168.0.5/32
 299840      192.168.0.6/32
 299856      192.168.0.7/32
 299872      192.168.0.8/32

4. Взаимодействие MPLS и BGP:

А теперь вспомним, что у нас настроен iBGP, но только между двумя маршрутизаторами на границе автономной системы, которые передают друг другу маршруты с политикой Next-Hop Self. Если бы у нас не был развернут LDP, то при проходждении трафика от AS400 к AS600 возникла бы проблема: он застрянет на следующем же хопе, после нашего граничного роутера.

Но, так как у нас на сети есть LDP, то мы видим следующую картину:

root@AS400> traceroute monitor 160.0.0.1 source 140.0.0.1    

                             My traceroute  [v0.69]
AS400 (0.0.0.0)(tos=0x0 psize=64 bitpattern=0x00)      Mon Apr 26 18:22:57 2021
Keys:  Help   Display mode   Restart statistics   Order of fields   quit
                                       Packets               Pings
 Host                                Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. 40.0.0.3                          0.0%     9    1.2   1.7   1.1   2.1   0.4
 2. ???
 3. 10.0.0.9                          0.0%     9    2.9   4.0   2.4  10.1   2.3
 4. 160.0.0.1                         0.0%     8    3.6   3.9   3.6   4.3   0.3

Тут видно, что трафик проходит, при этом число прыжков явно меньше. Это происходит из-за MPLS, который туннелирует трафик. Если посмотреть на таблицу маршрутизации на M34, то мы увидим, что для пакета с Dst IP 160.0.0.1 Next-Hop - 192.168.0.8:

root@RT.MSK.M34> show route 160.0.0.1 detail
inet.0: 29 destinations, 29 routes (29 active, 0 holddown, 0 hidden)
160.0.0.0/16 (1 entry, 1 announced)
        *BGP    Preference: 170/-101
...
Label operation: Push 299776
Protocol next hop: 192.168.0.8

Соответственно, мы навешиваем ту же метку, что выделена в таблице inet.3 под FEC = 192.168.0.8:

root@RT.MSK.M34> show route 192.168.0.8 table inet.3  

inet.3: 7 destinations, 7 routes (7 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

192.168.0.8/32     *[LDP/9] 00:24:35, metric 1
                    > to 10.0.0.1 via ge-0/0/3.0, Push 299776

Далее пакет просто коммутируется по меткам вплоть до маршрутизатора LNX, который сможет отправить этот пакет уже без метки.

При этом если мы хотели пускать трафик по статическому LSP, то нужно было прописывать статический маршрут или использовать Route Leaking для переноса маршрутов из inet.3 в inet.0. Тут же для ничего конфигурировать не нужно, метки автоматически попадают в таблицу inet.0, но только для BGP-маршрутов. Т.е. внутренняя маршрутизация происходить по IGP.

Один из главных минусов LDP - отсутствие возможности Traffic Engineering'а. Далее будет рассмотрен протокол RSVP, который обладает такой возможностью. На основе RSVP мы развернём L2 и L3 VPN c типами соединений VPWS и VPLS. На основе LDP также возможно развернуть эти сервисы. Настройка PE-роутеров будет идентична, за исключением некоторых деталей, а в настройке провайдерской сети не будет необходимости, так как LDP всё сделает за нас.