Protokół dystrybucji etykiet (LDP) w MPLS

9

Ostatnio przeszedłem przez technologię MPLS i mam wątpliwości co do tego, po przeczytaniu niektórych funkcji MPLS.

A---B---c
    |    |
    D----E

Powiedzmy, że routery A, E to LER, a B, C, D to LSR, chcemy wysyłać ruch z A-> E. Dowiedziałem się, że tylko LSR może początkowo przypisywać etykiety, a w LDP routery podrzędne inicjują dystrybucję etykiet i wiązanie etykiety / FEC.

Can someone please explain me
1.)how A(LER) can transmit the packets to B(LSR).
2.)how can B know which label and port to forward,if it receives the distribution from C(Where C and D are downstream routers)

Dzięki.

starkk92
źródło

Odpowiedzi:

12

Sama etykieta jest albo etykietą zbiorczą, co oznacza, że ​​etykieta nie ma dołączonej informacji o przepisywaniu, więc nie zna interfejsu wyjściowego ani adresu MAC wyjściowego. Etykiety zbiorcze są używane na przykład do podłączonych sieci.
Etykieta zbiorcza oznacza, że ​​nie znasz informacji o wyjściu po wyszukiwaniu MPLS, więc musisz wykonać normalne wyszukiwanie adresu IP, aby określić informacje o wyjściu.

Normalna etykieta jest dołączana z informacjami o przepisywaniu danych wyjściowych, tzn. Wyszukiwanie względem etykiety zwróci interfejs wyjściowy (ze wszystkimi niezbędnymi informacjami, takimi jak adres MAC, VLAN itp.)

Załóżmy, że wszystkie linki są metryką 1 IGP, z wyjątkiem metryki BC 2.

Aby A wysłał do sprzężenia zwrotnego E (192.0.2.5), nastąpi:

  1. E przydzieli albo jawne (0) albo niejawne (domyślne) dla 192.0.2.5/32
  2. E rozdzieli prefiks + etykietę (FEC) do C i D, używając LDP
  3. C przydzieli do tego lokalną etykietę, powiedzmy 100 (może być cokolwiek)
    1. C zaprogramuje wpis FIB, aby etykieta 100 punktów do interfejsu w kierunku E, a operacje etykiety MPLS „SWAP 0”, jeśli jawnie zerowy, lub „POP”, jeśli domyślnie zerowy
    2. C zaprogramuje wpis FIB, tak aby prefiks 192.0.2.5/32 wskazywał na interfejs w kierunku E, a operacja na etykiecie MPLS „PUSH 0”, jeśli jest jawna zerowa
  4. D przydzieli do tego lokalną etykietę, powiedzmy 200 (może to być cokolwiek, nawet 100, 300, 400)
    1. D zaprogramuje wpis FIB, tak aby etykieta 200 punktów wskazywała interfejs w kierunku E, a operacja etykiety MPLS „SWAP 0”, jeśli jest jawnie zerowa, lub „POP”, jeśli domyślnie jest zerowa
    2. D zaprogramuje wpis FIB, tak aby prefiks 192.0.2.5/32 wskazywał na interfejs w kierunku E, a operacja na etykiecie MPLS „PUSH 0”, jeśli jest jawna zerowa
  5. D i C rozprowadzą prefiks + etykietę do B, używając LDP
  6. B przydzieli do tego lokalną etykietę, powiedzmy 300 (może być cokolwiek)
    1. B zaprogramuje wejście FIB, dzięki czemu etykieta 300 punktów do interfejsu w kierunku D (z powodu metryki IGP!), A operacja etykiety MPLS „SWAP 200”
    2. B zaprogramuje wpis FIB, tak aby prefiks 192.0.2.5/32 wskazywał na interfejs w kierunku D, a operacja na etykiecie MPLS „PUSH 200”
  7. B rozdzieli prefiks + etykietę do A, używając LDP
  8. A przydzieli do tego lokalną etykietę, powiedzmy 400 (może być cokolwiek)
    1. A zaprogramuje wpis FIB, aby etykieta 400 wskazywała na interfejs w kierunku B, a operacja etykiety MPLS „SWAP 300”
    2. A programuje wpis FIB, tak aby prefiks 192.0.2.5/32 wskazywał na interfejs w kierunku B, a operacja etykiety MPLS „PUSH 300”

Teraz dzieje się w płaszczyźnie przekazującej, gdy A wysyła do 192.0.2.5/32

  1. A PUSH (narzuci) etykietę 300 i wyśle ​​w kierunku B
  2. B skonsultuje się z FIB w sprawie 300, czyli interfejsu D i SWAP 200
  3. D skonsultuje się z FIB dla 200, czyli interfejsu E i POP (lub SWAP 0)
  4. E otrzyma ramkę
iti
źródło
1
Dzięki kolego. Co się stanie, jeśli BC jest również metryką 1?
starkk92,
2
Czy metryka BC ma również wartość 1, a równoważenie obciążenia jest wyłączone, istnieje jakiś wyłącznik powiązań, taki jak identyfikator routera. Jeśli funkcja równoważenia obciążenia jest włączona, będziesz korzystać z ECMP (Equal Cost Multi Path). MPLS w żaden sposób nie zmienia normalnego zachowania IPv4 / IPv6 w przypadku równoważenia obciążenia, więc jeśli zrozumiesz, jak działa IPv4 w tym przypadku, jest dokładnie taki sam, tylko z etykietami dodanymi do ramek. Więc w krokach 6.1 i 6.2 dodawalibyście DWIE wpisy FIB, a ruch robiłby HASH (klawisze) -> [12], aby zdecydować, którego użyć.
ytti