Protocolo de distribuição de etiqueta (LDP) no MPLS

9

Eu tenho passado pela tecnologia MPLS recentemente. Tenho essa dúvida em mente depois de ler alguns dos recursos do MPLS.

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

Vamos dizer que os roteadores A, E são LER e B, C, D são LSR, queremos enviar tráfego de A-> E. Aprendi que apenas o LSR pode inicialmente atribuir rótulos e, no LDP, os roteadores a jusante iniciam a distribuição dos rótulos e a ligação rótulo / 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)

Obrigado.

starkk92
fonte

Respostas:

12

O próprio rótulo é um rótulo agregado, o que significa que o rótulo não tem informações de reescrita anexadas a ele, portanto, não conhece a interface de saída nem o endereço MAC de saída. Rótulos agregados são usados, por exemplo, em redes conectadas.
O rótulo agregado implica que você não conhece as informações de saída após a pesquisa do MPLS, portanto, você deve fazer uma pesquisa de IP normal para determinar as informações de saída.

A etiqueta normal é anexada às informações de reescrita de saída, ou seja, a pesquisa na etiqueta retornará a interface de saída (com todas as informações necessárias, como endereço MAC, VLAN etc.)

Vamos supor que todos os links sejam métricas IGP 1, exceto BC é métrica 2.

Para que A envie para o loopback de E (192.0.2.5), acontecerá o seguinte

  1. E alocará explícito (0) ou implícito (padrão) para 192.0.2.5/32
  2. E distribuirá o prefixo + rótulo (FEC) para C e D, usando LDP
  3. C alocará o rótulo local para isso, digamos 100 (pode ser qualquer coisa)
    1. C programará a entrada FIB, de modo que o rótulo 100 pontos faça interface com as operações de rótulo E, e MPLS 'SWAP 0' se nulo explícito ou 'POP' se nulo implícito
    2. C programará a entrada FIB, de modo que o prefixo 192.0.2.5/32 aponte para a interface em direção a E e a operação de rótulo MPLS 'PUSH 0' se nulo explícito
  4. D alocará o rótulo local para isso, digamos 200 (pode ser qualquer coisa, até 100, 300, 400)
    1. D programará a entrada FIB, de modo que o rótulo 200 pontos faça interface com E, e a operação de rótulo MPLS 'SWAP 0' se nulo explícito ou 'POP' se nulo implícito
    2. D programará a entrada FIB, de modo que o prefixo 192.0.2.5/32 aponte para a interface em direção a E e a operação de rótulo MPLS 'PUSH 0' se nulo explícito
  5. D e C distribuirão o prefixo + rótulo para B, usando LDP
  6. B alocará o rótulo local para isso, digamos 300 (pode ser qualquer coisa)
    1. B programará a entrada FIB, de modo que o rótulo 300 pontos faça interface com D (devido à métrica IGP!) E a operação de rótulo MPLS 'SWAP 200'
    2. B programará a entrada FIB, de modo que o prefixo 192.0.2.5/32 aponte para a interface para D e a operação de etiqueta MPLS 'PUSH 200'
  7. B distribuirá o prefixo + rótulo para A, usando LDP
  8. A alocará o rótulo local para isso, digamos 400 (pode ser qualquer coisa)
    1. A programará a entrada FIB, de modo que a etiqueta 400 pontos entre em interface com B e a operação de etiqueta MPLS 'SWAP 300'
    2. A programará a entrada FIB, de modo que o prefixo 192.0.2.5/32 aponte para a interface em direção a B e a operação de etiqueta MPLS 'PUSH 300'

Agora, o que acontece no plano de encaminhamento quando A envia para 192.0.2.5/32

  1. A empurra (impõe) a etiqueta 300 e envia em direção a B
  2. B consultará a FIB para 300, que é a Interface D e SWAP 200
  3. D consultará o FIB para 200, que é a Interface E e POP (ou SWAP 0)
  4. E receberá quadro
ytti
fonte
11
Obrigado companheiro. O que acontece se o BC também for métrico 1?
starkk92
2
A métrica BC é também 1 e o balanceamento de carga está desabilitado, há um desempatador, como o ID do roteador. Se o balanceamento de carga estiver ativado, você usará o ECMP (Multi Path of Equal Cost). O MPLS de forma alguma altera o comportamento normal do IPv4 / IPv6 no caso de balanceamento de carga; portanto, se você entender como o IPv4 funciona nesse caso, é exatamente o mesmo, apenas com os rótulos adicionados aos quadros. Assim, nas etapas 6.1 e 6.2, você adicionaria DUAS entradas FIB, e o tráfego faria HASH (chaves) -> [12] para decidir qual delas usar.
usar o seguinte comando