Contents

Introduction

Informações de Apoio

Sinalização dentro da banda

Valor opaco usado neste perfil

Árvore central MLDP

P2MP TREE

TREE MP2MP

Valor opaco

Sinalização de sobreposição

Tipos de LSP MLDP

Multicast comutado por rótulo

Topologia

Configuração

Verificar

Verificação detalhada

Como construir um plano de controle?

Etapa 1. Essa troca de mensagens ocorre depois que você configura o MLDP no núcleo.

Etapa 2. Ative a SINALIZAÇÃO DE INBAND no núcleo para MLDP.

O receptor vem on-line

A origem inicia o fluxo

Captura de pacote (PCAP)

Verificação LSPVIF

Conclusão

Informações Relacionadas

Introduction

Este documento descreve o MLDP Global de Sinalização em Banda que é o Perfil 7 para Multicast de Próxima Geração sobre VPN (mVPN). Ele usa um exemplo e a implementação no Cisco IOS para ilustrar o comportamento.

Informações de Apoio

- árvore P2MP mLDP in-band no núcleo; sem roteamento multicast C.

- O tráfego do cliente pode ser SM S, G ou SSM.

- Suporte para a tabela global (S, G) em PE.

- O PIM no núcleo não é necessário para o mLDP

Sinalização dentro da banda

Valor opaco é usado para mapear um LSP MP para um fluxo de multicast IP.

O conteúdo do valor opaco é derivado do fluxo multicast.

Valor opaco usado neste perfil

O tráfego IPv4 PIM-SSM permite que fluxos globais PIM-SSM sejam transportados através do núcleo do Multiprotocol Label Switch (MPLS). O valor opaco contém o real (S, G) que reside na tabela de mroute global dos roteadores de entrada e saída PE.

O valor opaco não só identifica exclusivamente o MP LSP, como também pode transportar as informações de fluxo (S, G) da rede de transmissão múltipla IP de borda. Os roteadores P no caminho comutado por rótulo MP (LSP) não precisam analisar o valor opaco, mas usam o valor como um índice no banco de dados MP LSP local para determinar os próximos saltos para replicar o pacote multicast. No entanto, o LSP do PE de entrada (mais próximo da origem) decodifica o valor para que ele possa selecionar o LSP MP correto para o fluxo de entrada (S, G). O PE de saída pode usar o valor para instalar (S, G) no VRF local ou na tabela global mroute.

1. O LSM permite o uso de um único plano de encaminhamento MPLS para tráfego unicast e multicast.

2. O LSM permite que os mecanismos existentes de proteção MPLS (por exemplo, MPLS (TE/RSVP) e MPLS (OAM) sejam usados para tráfego multicast.

3. LSM Reduz a complexidade operacional devido à eliminação da necessidade de PIM na rede central MPLS.

Árvore central MLDP

P2MP TREE

Driver do receptor e raiz aprendida sinalizada usando MLDP P2MP FEC.

Identificado com exclusividade:

- Endereço do nó raiz

- P2MP LSP -ID [32 bits]

TREE MP2MP

Configuração Orientada e raiz é configurada manualmente.

Identificado com exclusividade:

- Endereço do nó raiz

- MP2MP LSP -ID [32 bits]

Valor opaco

Usado para transportar informações de fluxo multicast, que tem significado para raiz e folhas.

- (S,G) Sinalização Inband

- LSPID (padrão/dados)

Tipo 1: Definido por MDLP, contém LSP-ID para gerenciar o espaço de ID para LSPs P2MP / MP2MP.

Tipo 2: Definido para provisionamento de túneis MP-LDP e usado para BGP-MVPN sem sobreposição.

Sinalização de sobreposição

Tipos de LSP MLDP

Multicast comutado por rótulo

Extensões de tecnologia MPLS para suportar multicast usando rótulos:

- LSPs ponto a multiponto

- LSPs multiponto a multiponto

P2MP

MP2MP

Rótulo

Alocação upstream

Upstream e downstream

Tráfego

Fluxo downstream

Upstream e downstream

Root

Roteador de entrada

Fornecer/Fornecer Borda

Tipo de tráfego

Roteador de controle

Somente controle de tráfego

Tipo de LSP

Raiz para muitas folhas

Muitas raízes em muitas folhas

Topologia

Configuração

Etapa 1. Habilite MLDP MPLS nos nós do núcleo.

Em PE1, PE2 e PE3:

# mpls mldp logging

Etapa 2. Habilitar SINALIZAÇÃO DE BANDA MLDP NO NÚCLEO.

Em PE1, PE2 e PE3:

# ip multicast mpls mldp

# ip pim mpls source loopback 0

Etapa 3. Ative o roteamento multicast.

Em todos os nós:

# ip multicast-routing

Etapa 4. Habilite o Protocol Independent Multicast (PIM) SSM na borda do cliente (CE).

Nos nós CE:

# ip pim ssm default

Etapa 5. Ative o PIM SM em todas as interfaces CE e na interface Provider Edge (PE).

Em CE1, CE2, CE3 e todas as interfaces PE voltadas para CE:

# interface x/x

# ip pim sparse-mode

# interface loopback x/x

# ip pim sparse-mode

Note: x representa o número da interface que PE conectou ao CE e vice-versa.

Verificar

Tarefa 1: Verifique a conectividade física.

- Verifique se toda a interface conectada está UP.

Tarefa 2: Verificar unicast IPv4 da família de endereços BGP

- Verifique se o Border Gateway Protocol (BGP) está ativado em todos os roteadores para unicast AF IPv4 e os vizinhos BGP estão UP.

- Verifique se a tabela BGP IPv4 tem todos os prefixos do cliente.

Tarefa 3: Verifique o tráfego multicast de ponta a ponta.

- Verifique a vizinhança PIM com o vizinho PIM conectado.

- Verifique se o estado multicast foi criado.

- Na entrada PE mRIB em PE1, PE2 e PE3

- Verifique se a entrada (S, G) mFIB, pacote sendo incrementado no encaminhamento de software.

- Verifique se os pacotes ICMP estão chegando de CE a CE.

Tarefa 4: Verifique o NÚCLEO MPLS.

- Verifique o núcleo MPLS LSP.

- Verifique o encaminhamento de MPLS dentro do núcleo conforme o projeto.

- Ping de LSP P2MP do MPLS para IPv4.

Verificação detalhada

O Interior Gateway Protocol (IGP), o MPLS LDP, o Border Gateway Protocol (BGP) são executados normalmente em toda a rede.

Nesta seção, verifique a rede de núcleo/agregação. Verifique a adjacência e o plano de controle e o plano de dados para tráfego sobre a rede MPLS.

Para verificar se os dispositivos CE locais e remotos podem se comunicar através do núcleo Multiprotocol Label Switching (MPLS), execute as etapas mostradas na imagem:

Como construir um plano de controle?

Verifique o plano de controle, no qual a imposição de rótulo ocorre quando o roteador PE encaminha, com base no cabeçalho IP e adiciona um rótulo MPLS ao pacote quando ele entra em uma rede MPLS.

Na direção da imposição de rótulo, o roteador comuta pacotes com base em uma pesquisa na tabela Cisco Express Forwarding (CEF) para localizar o próximo salto e adiciona as informações de rótulo apropriadas armazenadas no FIB para o destino. Quando um roteador executa a troca de rótulo no núcleo de um pacote MPLS, o roteador realiza uma pesquisa na tabela MPLS. O roteador deriva essa tabela MPLS (LFIB) das informações na tabela CEF e na Base de Informações de Rótulo (LIB).

A disposição do rótulo ocorre quando o roteador PE recebe um pacote MPLS, toma uma decisão de encaminhamento com base no rótulo MPLS, remove o rótulo e envia um pacote IP. O roteador PE usa o LFIB para a determinação do caminho de um pacote nessa direção. Como mencionado anteriormente, uma sessão especial do iBGP facilita o anúncio de prefixos de VPNv4 e seus rótulos entre roteadores PE. No PE de anúncio, o BGP aloca rótulos para os prefixos VPN aprendidos localmente e os instala na Base de Informações de Encaminhamento de Rótulos (LFIB - Label Forwarding Information Base), que é a tabela de encaminhamento de MPLS.

Etapa 1. Essa troca de mensagens ocorre depois que você configura o MLDP no núcleo.

MLDP-MFI: Enabled MLDP MFI client on Ethernet0/0; status =  ok

MLDP-MFI: Enabled MLDP MFI client on Ethernet0/1; status =  ok

MLDP: P2MP Wildcard label request sent to 11.11.11.11:0 success

MLDP: MP2MP Wildcard label request sent to 11.11.11.11:0 success

MLDP-NBR: 11.11.11.11:0 ask LDP for adjacencies

Note: Use # debug mpls mldp all para verificar o estabelecimento anterior.

PE1#sh mpls mldp neighbors

MLDP peer ID    : 11.11.11.11:0, uptime 00:02:05 Up,

Target Adj     : No

Session hndl   : 1

Upstream count : 0

Branch count   : 0

Path count     : 1

Path(s)        : 10.0.1.2          LDP Ethernet0/1

Nhop count     : 0

Etapa 2. Ative a SINALIZAÇÃO DE INBAND no núcleo para MLDP.

ip pim mpls source loopback 0

ip multicast mpls mldp

MLDP: Enabled IPv4 on Lspvif0 unnumbered with Loopback0

MLDP-MFI: Enabled MLDP MFI client on Lspvif0; status =  ok

PIM(*): PIM subblock added to Lspvif0

MLDP: Enable pim on lsp vif: Lspvif0

MLDP: Add success lsp vif: Lspvif0 address: 0.0.0.0 application: MLDP vrf_id: 0

MLDP-DB: Replaying database events for opaque type value: 3

%LINEPROTO-5-UPDOWN: Line protocol on Interface Lspvif0, changed state to up

PIM(0): Check DR after interface: Lspvif0 came up!

%PIM-5-DRCHG: DR change from neighbor 0.0.0.0 to 1.1.1.1 on interface Lspvif0

Note: Use # debug mpls mldp all para verificar o estabelecimento anterior.

PE1#sh int lspvif 0

Lspvif0 is up, line protocol is up

Hardware is

Interface is unnumbered. Using address of Loopback0 (1.1.1.1)

MTU 17940 bytes, BW 8000000 Kbit/sec, DLY 5000 usec,

reliability 255/255, txload 1/255, rxload 1/255

Encapsulation LOOPBACK, loopback not set

Note: O MPLS MLDP ainda não foi criado, pois o receptor ainda não está on-line.

O receptor 3 entra on-line e envia as mensagens PIM JOIN (S, G) para PE3.

O receptor vem on-line

PIM(0): Received v2 Join/Prune on Ethernet0/2 from 10.2.0.2, to us

PIM(0): Join-list: (10.1.0.2/32, 232.1.1.1), S-bit set

MRT(0): Create (*,232.1.1.1), RPF (unknown, 0.0.0.0, 2147483647/0)

MRT(0): RPF Track start on 10.1.0.2 for (10.1.0.2, 232.1.1.1)

MRT(0): Reset the z-flag for (10.1.0.2, 232.1.1.1)

MLDP: Enabled IPv4 on Lspvif1 unnumbered with Loopback0

MLDP-MFI: Enable lsd on int failed; not registered;

PIM(*): PIM subblock added to Lspvif1

MLDP: Enable pim on lsp vif: Lspvif1

MLDP: Add success lsp vif: Lspvif1 address: 1.1.1.1 application: MLDP vrf_id: 0

MLDP-MRIB-IP: (10.1.0.2,232.1.1.1/32) update (t=0) RPF: 0.0.0.0

MLDP-MRIB-IP: (10.1.0.2,232.1.1.1/32) set rpf nbr: 0.0.0.0

MLDP-MRIB-IP: wavl insert success (10.1.0.2, 232.1.1.1)

MLDP-MRIB-IP: no RPF neighbor, done!

MLDP-MRIB-IP: (10.1.0.2,232.1.1.1/32) update (t=1) RPF: 1.1.1.1

MLDP-MRIB-IP: (10.1.0.2,232.1.1.1/32) set rpf nbr: 1.1.1.1

MLDP-MRIB-IP: Change RPF neighbor from 0.0.0.0 to 1.1.1.1

MLDP-MRIB-IP: (10.1.0.2,232.1.1.1/32) update idb = Lspvif1, (f=2,c=2)

MLDP-MRIB-IP: add accepting interface: Lspvif1 root: 1.1.1.1

MLDP-MRIB-IP: change interface from NULL to Lspvif1

%LINEPROTO-5-UPDOWN: Line protocol on Interface Lspvif1, changed state to up

PIM(0): Check DR after interface: Lspvif1 came up!

PIM(0): Changing DR for Lspvif1, from 0.0.0.0 to 2.2.2.2 (this system)

%PIM-5-DRCHG: DR change from neighbor 0.0.0.0 to 2.2.2.2 on interface Lspvif1

Note: Use # debug mpls mldp all e # debug ip bgp ipv4 mvpn updates Debugs para verificar o estabelecimento anterior.

Qualquer comunicação do Receiver (S,G) Join é convertida em MLDP e todas as mensagens são passadas em direção ao Lspvif 1

Com PIM JOIN (S,G) como o MLDP é um protocolo orientado por receptor, ele cria o banco de dados MLDP do Receptor para a Origem. Esta é a alocação de Rótulo de downstream para P2MP MLDP.

Note: Na sinalização Inband, as LSPVIFs (Label Switched Path Virtual Interfaces, interfaces virtuais de caminho comutado por rótulo) são criadas por ingress-PE para implementar RPF estrito, ou seja, aceitar um pacote (S,G) somente se ele for proveniente do PE remoto esperado; este é o LSPVIF1 no seu caso. Um PE de origem, o LSPVIF padrão é usado para encaminhar para o núcleo. Observe que não há sinal de números de interface LSPVIF, ou seja, lspvif0 nem sempre é a interface padrão e lspvif1 nem sempre é a interface per-PE. Esses números são alocados sob demanda, conforme necessário.

PE3#sh ip mroute 232.1.1.1 verbose

IP Multicast Routing Table

Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,

T - SPT-bit set, p - PIM Joins on route,

(10.1.0.2, 232.1.1.1), 00:19:28/00:02:42, flags: sTp

Incoming interface: Lspvif1, RPF nbr 1.1.1.1

Outgoing interface list:

Ethernet0/0, Forward/Sparse, 00:19:28/00:02:42, p

PE3#sh mpls mldp database

* For interface indicates MLDP recursive forwarding is enabled

* For RPF-ID indicates wildcard value

> Indicates it is a Primary MLDP MDT Branch

LSM ID : 1   Type: P2MP   Uptime : 00:28:02

FEC Root           : 1.1.1.1

Opaque decoded     : [ipv4 10.1.0.2 232.1.1.1]

Opaque length      : 8 bytes

Opaque value       : 03 0008 0A010002E8010101

Upstream client(s) :

11.11.11.11:0    [Active]

Expires        : Never         Path Set ID  : 1

Out Label (U)  : None          Interface    : Ethernet0/3*

Local Label (D): 24            Next Hop     : 10.0.3.2

Replication client(s):

MRIBv4(0)

Uptime         : 00:28:02      Path Set ID  : None

Interface      : Lspvif1

RR-P #sh mpls mldp database

* For interface indicates MLDP recursive forwarding is enabled

* For RPF-ID indicates wildcard value

> Indicates it is a Primary MLDP MDT Branch

LSM ID : A   Type: P2MP   Uptime : 00:40:52

FEC Root           : 1.1.1.1

Opaque decoded     : [ipv4 10.1.0.2 232.1.1.1]

Opaque length      : 8 bytes

Opaque value       : 03 0008 0A010002E8010101

Upstream client(s) :

1.1.1.1:0    [Active]

Expires        : Never         Path Set ID  : A

Out Label (U)  : None          Interface    : Ethernet0/1*

Local Label (D): 24            Next Hop     : 10.0.1.1

Replication client(s):

2.2.2.2:0

Uptime         : 00:40:52      Path Set ID  : None

Out label (D)  : 23            Interface    : Ethernet0/3*

Local label (U): None          Next Hop     : 10.0.2.1

3.3.3.3:0

Uptime         : 00:40:52      Path Set ID  : None

Out label (D)  : 24            Interface    : Ethernet0/2*

Local label (U): None          Next Hop     : 10.0.3.1

As informações recebidas no PE de origem com base na pesquisa de RPF para o próximo salto.

MLDP-LDP: [ipv4 10.1.0.2 232.1.1.1] label mapping from: 11.11.11.11:0 label: 23 root: 1.1.1.1 Opaque_len: 11 sess_hndl: 0x1

MLDP: LDP root 1.1.1.1 added

MLDP-DB: Added [ipv4 10.1.0.2 232.1.1.1] DB Entry

MLDP-DB: [ipv4 10.1.0.2 232.1.1.1] Changing branch 11.11.11.11:0 from Null/0.0.0.0 to Ethernet0/1/10.0.1.2

MLDP-MFI: Could not add Path type: PKT, Label: 23, Next hop: 11.11.11.11, Interface: NULL to set: 3, error 1

MLDP-DB: [ipv4 10.1.0.2 232.1.1.1] Added P2MP branch for 11.11.11.11:0 label 23

MLDP-MRIB-IP: [ipv4 10.1.0.2 232.1.1.1] client update: We are root

MLDP-MRIB-IP: wavl insert success (10.1.0.2, 232.1.1.1)

MLDP-MRIB-IP: [ipv4 10.1.0.2 232.1.1.1] Created: Lspvif0 for: 0.0.0.0

MLDP-MRIB: Created adjacency for LSM ID 3

MLDP-MRIB-IP: [ipv4 10.1.0.2 232.1.1.1] Created adjacency on Lspvif0

MLDP: nhop 1.1.1.1 added

MRT(0): Set the T-flag for (10.1.0.2, 232.1.1.1)

MRT(0): (10.1.0.2,232.1.1.1), RPF install from  /0.0.0.0 to Ethernet0/2/10.1.0.2

PIM(0): Insert (10.1.0.2,232.1.1.1) join in nbr 10.1.0.2's queue

MLDP-MRIB-IP: (10.1.0.2,232.1.1.1/32) update (t=1) RPF: 10.1.0.2

MLDP-MRIB-IP: (10.1.0.2,232.1.1.1/32) set rpf nbr: 10.1.0.2

MLDP-MRIB-IP: ignoring interface Ethernet0/2, no LS

Note: Use # debug mpls mldp all e # debug ip bgp ipv4 mvpn updates para verificar o estabelecimento anterior.

PE1#sh ip mroute 232.1.1.1 verbose

IP Multicast Routing Table

Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,

L - Local, P - Pruned, R - RP-bit set, F - Register flag,

T - SPT-bit set, I - Received Source Specific Host Report,

(10.1.0.2, 232.1.1.1), 00:25:14/stopped, flags: sTI

Incoming interface: Ethernet0/2, RPF nbr 10.1.0.2

Outgoing interface list:

Lspvif0, LSM ID: 4, Forward/Sparse, 00:25:14/00:01:45

PE1# sh mpls mldp database

* For interface indicates MLDP recursive forwarding is enabled

* For RPF-ID indicates wildcard value

> Indicates it is a Primary MLDP MDT Branch

LSM ID : 4   Type: P2MP   Uptime : 00:25:25

FEC Root           : 1.1.1.1 (we are the root)

Opaque decoded     : [ipv4 10.1.0.2 232.1.1.1]

Opaque length      : 8 bytes

Opaque value       : 03 0008 0A010002E8010101

Upstream client(s) :

None

Expires        : N/A           Path Set ID  : 4

Replication client(s):

11.11.11.11:0

Uptime         : 00:25:25      Path Set ID  : None

Out label (D)  : 24            Interface    : Ethernet0/1*

Local label (U): None          Next Hop     : 10.0.1.2

MLDP-LDP: [id 0] Wildcard label request from: 11.11.11.11:0 label: 0 root: 6.2.0.0 Opaque_len: 0 sess_hndl: 0x1

MLDP-LDP: [ipv4 10.1.0.2 232.1.1.1] label mapping from: 11.11.11.11:0 label: 23 root: 1.1.1.1 Opaque_len: 11 sess_hndl: 0x1

Neighbor 11.11.11.11 request for the label request to PE1.

Note: Responda a solicitações de rótulo curinga digitadas recebidas do peer reproduzindo seu banco de dados de rótulos para prefixos. Utilizar Solicitações de Rótulo Curinga Digitadas para peers para solicitar a repetição do banco de dados de rótulo correspondente para prefixos.

MLDP-LDP: [ipv4 10.1.0.2 232.1.1.1] label mapping from: 11.11.11.11:0 label: 24 root: 1.1.1.1 Opaque_len: 11 sess_hndl: 0x1

MLDP: LDP root 1.1.1.1 added

MLDP-DB: Added [ipv4 10.1.0.2 232.1.1.1] DB Entry

MLDP-DB: [ipv4 10.1.0.2 232.1.1.1] Changing branch 11.11.11.11:0 from Null/0.0.0.0 to Ethernet0/1/10.0.1.2

%MLDP-5-ADD_BRANCH: [ipv4 10.1.0.2 232.1.1.1] Root: 1.1.1.1, Add P2MP branch 11.11.11.11:0 remote label 24

debug ip mfib pak

debug ip mfib mrib

A origem inicia o fluxo

Traffic from Source 10.1.0.2 streaming from 232.1.1.1. Enters through ethernet0/2.

The packet got forwarded via Lspvif 0.

PIM(0): Insert (10.1.0.2,232.1.1.1) join in nbr 10.1.0.2's queue

PIM(0): Building Join/Prune packet for nbr 10.1.0.2

PIM(0):  Adding v2 (10.1.0.2/32, 232.1.1.1), S-bit Join

PIM(0): Send v2 join/prune to 10.1.0.2 (Ethernet0/2)

MFIBv4(0x0): Pkt (10.1.0.2,232.1.1.1) from Ethernet0/2 (FS) accepted for forwarding

MFIBv4(0x0): Pkt (10.1.0.2,232.1.1.1) from Ethernet0/2 (FS) sent on Lspvif0, LSM NBMA/4

Captura de pacote (PCAP)

Este pacote é encapsulado no Lspvif 0.

At the receiver Side:

At the receiver side the packet reach at the Lspvif 1.

MFIBv4(0x0): Pkt (10.1.0.2,232.1.1.1) from Lspvif1 (FS) accepted for forwarding

MFIBv4(0x0): Pkt (10.1.0.2,232.1.1.1) from Lspvif1 (FS) sent on Ethernet0/0

PIM(0): Received v2 Join/Prune on Ethernet0/0 from 10.3.0.2, to us

PIM(0): Join-list: (10.1.0.2/32, 232.1.1.1), S-bit set

PIM(0): Update Ethernet0/0/10.3.0.2 to (10.1.0.2, 232.1.1.1), Forward state, by PIM SG Join

Verificação LSPVIF

Quando o pacote chega ao PE1, ele verifica o ID do LSM para encaminhar o tráfego, que rótulo deve impor no pacote Multicast.

Conclusão

A sinalização in-band LDP multiponto (M-LDP) permite transportar tráfego multicast através de um backbone IP/MPLS existente, enquanto o uso de PIM no núcleo do provedor é evitado.

No roteador Label-Edge (LER), habilite o PIM para usar a sinalização M-LDP in-band para os vizinhos upstream quando o LER não detectar um vizinho PIM upstream.

Informações Relacionadas

- https://tools.ietf.org/html/rfc4760

- https://tools.ietf.org/html/rfc4447

- https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipmulti_lsm/configuration/15-sy/imc-lsm-15-sy-book...

- Suporte Técnico e Documentação - Cisco Systems