Contents

Introduction

Migração de protocolos da árvore central

Migração do protocolo C-Multicast

Cenário 1.

Cenário 2.

Cenário 3.

Cenário 4.

problema

A solução

Conclusão

Introduction

Este documento descreve a migração de Árvores de Distribuição Multicast VPN (mVPN) Protocol Independent Multicast (PIM) Multicast Distribution Trees (MDTs) para Multipoint Label Distribution Protocol (mLDP) MDTs baseados em árvore central. Além disso, como os MDTs de dados são sinalizados no momento da migração em detalhes. Este documento descreve a migração somente para o roteador de Borda do Provedor de Entrada (PE - Ingress Provider Edge) executando o Cisco IOS®-XR.

Migração de protocolos da árvore central

A encap dupla refere-se a um roteador de entrada que pode encaminhar um fluxo multicast do cliente (C) para diferentes tipos de árvore central ao mesmo tempo. Por exemplo, o roteador Ingress PE encaminha um fluxo de multicast C para uma árvore de núcleo baseada em PIM e uma árvore de núcleo baseada em mLDP ao mesmo tempo. Este é um requisito para migrar com êxito o mVPN de um tipo de árvore central para outro.

A dupla capacitação é suportada para PIM e mLDP.

A conexão dupla não é suportada para Multiprotocol Label Switching (MPLS) P2MP Traffic Engineering (TE).

O Generic Routing Encapsulation (GRE) de MDT padrão e a migração ou coexistência padrão de MDT mLDP dependem do fato de que o roteador do IP de ingresso encaminha um fluxo multicast C para uma árvore de núcleo baseada em PIM e uma árvore de núcleo baseada em mLDP ao mesmo tempo. Enquanto o PE de entrada encaminha para ambos os MDTs, os roteadores PE de saída podem ser migrados um a um de um de um tipo de árvore de núcleo para outro.

Normalmente, as rotas PE migrarão do modelo de implantação mVPN mais antigo usando árvores de núcleo baseadas em PIM para um modelo de implantação mVPN usando árvores baseadas em mLDP. A implementação mVPN mais antiga é o Perfil 0, que é árvores de núcleo baseadas em PIM, sem Identificação Automática de BGP (Border Gateway Protocol) e PIM na sinalização de sobreposição. No entanto, a migração também pode ocorrer do modo oposto.

Vejamos esse cenário de migração, pois essa é a migração mais comum que está ocorrendo: do GRE no núcleo (Perfil 0) a um Perfil mLDP MDT padrão.

Há alguns possíveis perfis mLDP padrão possíveis.

Vejamos estes:

- mLDP sem BGP AD

- mLDP com sinalização C de AD e PIM BGP

- mLDP com sinalização C BGP AD e BGP

Neste último caso, há também uma migração do protocolo de sinalização C.

Uma das coisas a ter em mente é que quando o BGP AD foi usado, o Data MDT é sinalizado pelo BGP por padrão. Se não houver AD BGP, o MDT de Dados não poderá ser sinalizado pelo BGP.

Em qualquer caso, o PE de entrada deve ter o perfil 0 e o perfil mLDP configurado. O PE de entrada encaminhará o tráfego multicast C para ambos os MDTs (padrão ou dados) dos dois protocolos de árvore de núcleo. Portanto, ambos os MDTs padrão devem ser configurados no PE de entrada.

Se o PE de saída for capaz de executar os protocolos PIM e mLDP da árvore central, ele poderá decidir a partir de qual árvore extrair o tráfego C-multicast. Isso é feito configurando a política Reverse Path Forwarding (RPF) no PE de saída.

Se o roteador de PE de saída for capaz apenas do Perfil 0, esse PE só se juntará à árvore PIM no núcleo e receberá o fluxo multicast C na árvore baseada em PIM.

Note: Se o PIM Sparse Mode for usado, tanto o RP-PE como o S-PE devem estar acessíveis através do MDT baseado em GRE e no mLDP.

Migração do protocolo C-Multicast

O protocolo C-multicast pode ser migrado do PIM para o BGP ou vice-versa. Isso é feito configurando o PE de saída para escolher PIM ou BGP como um protocolo de sobreposição. É o PE de saída enviando uma junção pelo PIM ou BGP. O PE de entrada pode receber e processar ambos em um cenário de migração.

Este é um exemplo de migração do protocolo multicast C, configurado no PE de saída:

router pim

vrf one

address-family ipv4

rpf topology route-policy rpf-for-one

mdt c-multicast-routing bgp

!

interface GigabitEthernet0/1/0/0

enable

!

!

!

!

route-policy rpf-for-one

set core-tree mldp-default

end-policy

!

O BGP é ativado como o protocolo de sinalização de sobreposição. O padrão é PIM.

Cenários

Veja a Figura 1. para ver a configuração usada para os cenários.

Figura 1.

Nesses cenários, você tem pelo menos um roteador PE herdado como um roteador PE de receptor. Este é um roteador que executa somente o Perfil 0 (Default MDT - GRE - PIM C-mcast Signaling).

Esse roteador deve ter o MDT IPv4 de BGP configurado.

Há pelo menos um roteador Receiver-PE que executa um perfil baseado em mLDP. Todos eles são perfis MDT mLDP padrão (1, 9, 13, 12, 17), todos os perfis MDT mLDP particionados (2, 4, 5, 14, 15) e Perfil 7. O perfil 8 para P2MP TE também é suportado.

O roteador Ingresso PE é um roteador de encapsulamento duplo: ele executa o perfil 0 e um perfil baseado em mLDP.

Esse roteador de PE de entrada deve sempre encaminhar o tráfego nos MDT baseados em PIM e nos MDT baseados em mLDP. Esses MDTs podem ser o padrão e os MDTs de dados.

Como um roteador herdado, pegue um roteador executando o IOS, que só pode executar o Perfil 0. A configuração do roteador herdado é esta.

vrf definition one

rd 1:3

vpn id 1:1

route-target export 1:1

route-target import 1:1

!

address-family ipv4

mdt default 232.1.1.1

exit-address-family

O BGP IPv4 MDT precisa ser configurado:

router bgp 1

…

address-family ipv4 mdt

neighbor 10.1.100.7 activate

neighbor 10.1.100.7 send-community extended

exit-address-family

!

…

Cenário 1.

Há um ou mais roteadores PE herdados como um roteador Receiver-PE.

Há um ou mais roteadores PE como roteador Receiver-PE que executam o Perfil 1 (Padrão MDT - mLDP MP2MP PIM C-mcast Signaling).

Não há sinalização BGP AD ou BGP C-multicast.

Configuração do roteador Receptor-PE, executando o Perfil 1:

vrf one

vpn id 1:1

address-family ipv4 unicast

import route-target

1:1

!

export route-target

1:1

!

!

router pim

vrf one

address-family ipv4

rpf topology route-policy rpf-for-one

!

interface GigabitEthernet0/1/0/0

enable

!

!

!

!

route-policy rpf-for-one

set core-tree mldp-default

end-policy

!

multicast-routing

vrf one

address-family ipv4

mdt source Loopback0

mdt default mldp ipv4 10.1.100.7

mdt data 100

rate-per-route

interface all enable

!

accounting per-prefix

!

!

!

mpls ldp

mldp

logging notifications

address-family ipv4

!

!

!

route-policy rpf-for-one

set core-tree mldp-default

Configuração do roteador do PE de entrada:

vrf one

vpn id 1:1

address-family ipv4 unicast

import route-target

1:1

!

export route-target

1:1

!

!

router pim

vrf one

address-family ipv4

!

interface GigabitEthernet0/1/0/0

enable

!

!

!

multicast-routing

vrf one

address-family ipv4

mdt source Loopback0

interface all enable

!

mdt default ipv4 232.1.1.1

mdt default mldp ipv4 10.1.100.7

mdt data 255

mdt data 232.1.2.0/24

!

!

!

mpls ldp

mldp

logging notifications

address-family ipv4

!

!

!

O roteador PE de entrada deve ter a família de endereços BGP IPv4 MDT, correspondendo ao que o roteador PE herdado tem.

O PE de entrada deve estar encaminhando para os dois tipos de MDT:

Ingress-PE#show mrib vrf one route 232.100.1.1

IP Multicast Routing Information Base

Entry flags: L - Domain-Local Source, E - External Source to the Domain,

C - Directly-Connected Check, S - Signal, IA - Inherit Accept,

IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,

MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle

CD - Conditional Decap, MPLS - MPLS Decap, MF - MPLS Encap, EX - Extranet

MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary

MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN

Interface flags: F - Forward, A - Accept, IC - Internal Copy,

NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,

II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,

LD - Local Disinterest, DI - Decapsulation Interface

EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,

EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,

MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface

IRMI - IR MDT Interface

(10.2.2.9,232.100.1.1) RPF nbr: 10.2.2.9 Flags: RPF MT

MT Slot: 0/1/CPU0

Up: 00:56:09

Incoming Interface List

GigabitEthernet0/1/0/0 Flags: A, Up: 00:56:09

Outgoing Interface List

mdtone Flags: F NS MI MT MA, Up: 00:22:59      <<< PIM-based tree

Lmdtone Flags: F NS LMI MT MA, Up: 00:56:09    <<< mLDP-based tree

O PE de entrada deve ver o PE legado no tom de interface e o Perfil 1 PE na interface Lmdtone como um vizinho PIM:

Ingress-PE#show pim vrf one neighbor

PIM neighbors in VRF one

Flag: B - Bidir capable, P - Proxy capable, DR - Designated Router,

E - ECMP Redirect capable

* indicates the neighbor created for this router

Neighbor Address             Interface             Uptime   Expires DR pri   Flags

10.1.100.1                   Lmdtone 6w1d     00:01:29 1     P

10.1.100.2*                  Lmdtone               6w1d     00:01:15 1 (DR) P

10.1.100.2*                  mdtone                 5w0d     00:01:30 1     P

10.1.100.3                   mdtone 00:50:20 00:01:30 1 (DR) P

"debug pim vrf one mdt data" no PE de entrada:

Você vê que um PIM tipo 1 (árvore principal PIM) e um PIM Join TLV tipo 2 (árvore principal mLDP) são enviados. O primeiro sobre mdtone e o segundo sobre Lmdtone.

pim[1140]: [13] MDT Grp lookup: Return match for grp 232.1.2.4 src 10.1.100.2 in local list (-)

pim[1140]: [13] In mdt timers process...

pim[1140]: [13] Processing MDT JOIN SEND timer for MDT null core mldp pointer in one

pim[1140]: [13] In join_send_update_timer: route->mt_head 50c53b44

pim[1140]: [13] Create new MDT tlv buffer for one for type 0x1

pim[1140]: [13] Buffer allocated for one mtu 1348 size 0

pim[1140]: [13] TLV type set to 0x1

pim[1140]: [13] TLV added for one mtu 1348 size 16

pim[1140]: [13] MDT cache upd: pe 0.0.0.0, (10.2.2.9,232.100.1.1), mdt_type 0x1, core (10.1.100.2,232.1.2.4), for vrf one [local, -], mt_lc 0x11, mdt_if 'mdtone', cache NULL

pim[1140]: [13] Looked up cache pe 0.0.0.0(10.2.2.9,232.100.1.1) mdt_type 0x1 in one (found) - No error

pim[1140]: [13] Cache get: Found entry for 0.0.0.0(10.2.2.9,232.100.1.1) mdt_type 0x1 in one

pim[1140]: [13] pim_mvrf_mdt_cache_update:946, mt_lc 0x11, copied mt_mdt_ifname 'mdtone'

pim[1140]: [13] Create new MDT tlv buffer for one for type 0x2

pim[1140]: [13] Buffer allocated for one mtu 1348 size 0

pim[1140]: [13] TLV type set to 0x2, o_type 0x2

pim[1140]: [13] TLV added for one mtu 1348 size 36

pim[1140]: [13] MDT cache upd: pe 0.0.0.0, (10.2.2.9,232.100.1.1), mdt_type 0x2, core src 10.1.100.2, id [mdt 1:1 1], for vrf one [local, -], mt_lc 0x11, mdt_if 'Lmdtone', cache NULL

pim[1140]: [13] Looked up cache pe 0.0.0.0(10.2.2.9,232.100.1.1) mdt_type 0x2 in one (found) - No error

pim[1140]: [13] Cache get: Found entry for 0.0.0.0(10.2.2.9,232.100.1.1) mdt_type 0x2 in one

pim[1140]: [13] pim_mvrf_mdt_cache_update:946, mt_lc 0x11, copied mt_mdt_ifname 'Lmdtone'

pim[1140]: [13] Set next send time for core type (0x0/0x2) (v: 10.2.2.9,232.100.1.1) in one

pim[1140]: [13] 2. Flush MDT Join for one on Lmdtone(10.1.100.2) 6 (Cnt:1, Reached size 36 MTU 1348)

pim[1140]: [13] 2. Flush MDT Join for one (Lo0) 10.1.100.2

pim[1140]: [13] 2. Flush MDT Join for one on mdtone(10.1.100.2) 6 (Cnt:1, Reached size 16 MTU 1348)

pim[1140]: [13] 2. Flush MDT Join for one (Lo0) 10.1.100.2

Ingress-PE#show pim vrf one mdt cache

Core Source     Cust (Source, Group)               Core Data       Expires

10.1.100.2       (10.2.2.9, 232.100.1.1)             232.1.2.4       00:02:36

10.1.100.2       (10.2.2.9, 232.100.1.1)             [mdt 1:1 1]     00:02:36

Note: O PIM Join Type Length Value (TLV) é uma mensagem PIM enviada pelo MDT padrão e é usada para sinalizar o MDT de dados. É enviada periodicamente, uma vez a cada minuto.

O PE de saída legado:

"debug ip pim vrf one 232.100.1.1":

PIM(1): Receive MDT Packet (55759) from 10.1.100.2 (Tunnel3), length (ip: 44, udp: 24), ttl: 1PIM(1): TLV type: 1 length: 16 MDT Packet length: 16

O PE herdado coloca em cache o PIM Join TLV:

Legacy-PE#show ip pim vrf one mdt receive

Joined MDT-data [group/mdt number : source] uptime/expires for VRF: one

[232.1.2.4 : 10.1.100.2] 00:01:10/00:02:45

O PE legado une-se ao MDT de dados no núcleo:

Legacy-PE#show ip mroute vrf one 232.100.1.1

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, J - Join SPT, M - MSDP created entry, E - Extranet,

X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,

U - URD, I - Received Source Specific Host Report,

Z - Multicast Tunnel, z - MDT-data group sender,

Y - Joined MDT-data group, y - Sending to MDT-data group,

G - Received BGP C-Mroute, g - Sent BGP C-Mroute,

N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed,

Q - Received BGP S-A Route, q - Sent BGP S-A Route,

V - RD & Vector, v - Vector, p - PIM Joins on route,

x - VxLAN group

Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join

Timers: Uptime/Expires

Interface state: Interface, Next-Hop or VCD, State/Mode

(10.2.2.9, 232.100.1.1), 00:08:48/00:02:34, flags: sTY

Incoming interface: Tunnel3, RPF nbr 10.1.100.2, MDT:[10.1.100.2,232.1.2.4]/00:02:46

Outgoing interface list:

GigabitEthernet1/1, Forward/Sparse, 00:08:48/00:02:34

O Receptor-PE do Perfil 1 também recebe o TLV de junção do PIM, mas para o MDT de dados baseado em mLDP:

Egress-PE#debug pim vrf one mdt data

pim[1161]: [13] Received MDT Packet on Lmdtone (vrf:one) from 10.1.100.2, len 36

pim[1161]: [13] Processing type 2 tlv

pim[1161]: [13] Received MDT Join TLV from 10.1.100.2 for cust route 10.2.2.9,232.100.1.1

MDT number 1 len 36

pim[1161]: [13] Looked up cache pe 10.1.100.2(10.2.2.9,232.100.1.1) mdt_type 0x2 in one

(found) - No error

pim[1161]: [13] MDT cache upd: pe 10.1.100.2, (10.2.2.9,232.100.1.1), mdt_type 0x2, core

src 10.1.100.2, id [mdt 1:1 1], for vrf one [remote, -], mt_lc 0xffffffff, mdt_if 'xxx',

cache NULL

pim[1161]: [13] Looked up cache pe 10.1.100.2(10.2.2.9,232.100.1.1) mdt_type 0x2 in one

(found) - No error

pim[1161]: [13] Cache get: Found entry for 10.1.100.2(10.2.2.9,232.100.1.1) mdt_type 0x2

in one

RP/0/RP1/CPU0:Nov 27 16:04:02.726 : Return match for [mdt 1:1 1] src 10.1.100.2 in remote

list (one)

pim[1161]: [13] Remote join: MDT [mdt 1:1 1] known in one. Refcount (1, 1)

Egress-PE#show pim vrf one mdt cache

Core Source     Cust (Source, Group)               Core Data       Expires

10.1.100.2       (10.2.2.9, 232.100.1.1)             [mdt 1:1 1]     00:02:12

Egress-PE#show mrib vrf one route 232.100.1.1

IP Multicast Routing Information Base

Entry flags: L - Domain-Local Source, E - External Source to the Domain,

C - Directly-Connected Check, S - Signal, IA - Inherit Accept,

IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,

MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle

CD - Conditional Decap, MPLS - MPLS Decap, MF - MPLS Encap, EX - Extranet

MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary

MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN

Interface flags: F - Forward, A - Accept, IC - Internal Copy,

NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,

II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,

LD - Local Disinterest, DI - Decapsulation Interface

EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,

EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,

MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface

IRMI - IR MDT Interface

(10.2.2.9,232.100.1.1) RPF nbr: 10.1.100.2 Flags: RPF

Up: 00:45:20

Incoming Interface List

Lmdtone Flags: A LMI, Up: 00:45:20

Outgoing Interface List

GigabitEthernet0/0/0/9 Flags: F NS LI, Up: 00:45:20

Cenário 2.

Há um ou mais roteadores PE herdados como roteadores Receiver-PE.

Há um ou mais roteadores PE como roteador Receiver-PE que executam o Perfil 9 (Padrão MDT - mLDP MP2MP BGP-AD PIM C-mcast Signaling).

Há AD BGP envolvido, mas não há sinalização C-multicast BGP.

Configuração do roteador Receptor-PE, executando o Perfil 9:

vrf one

vpn id 1:1

address-family ipv4 unicast

import route-target

1:1

!

export route-target

1:1

!

!

router pim

vrf one

address-family ipv4

rpf topology route-policy rpf-for-one

!

interface GigabitEthernet0/1/0/0

enable

!

!

!

!

route-policy rpf-for-one

set core-tree mldp-default

end-policy

!

multicast-routing

vrf one

address-family ipv4

mdt source Loopback0

rate-per-route

interface all enable

accounting per-prefix

bgp auto-discovery mldp

!

mdt default mldp ipv4 10.1.100.7

!

!

!

router bgp 1

!

address-family vpnv4 unicast

!

!

address-family ipv4 mvpn

!

!

neighbor 10.1.100.7     <<< iBGP neighbor

remote-as 1

update-source Loopback0

address-family vpnv4 unicast

!

address-family ipv4 mvpn

!

!

vrf one

rd 1:1

address-family ipv4 unicast

redistribute connected

!

address-family ipv4 mvpn

!

!

mpls ldp

mldp

logging notifications

address-family ipv4

!

!

!

O roteador PE de entrada deve ter a família de endereços BGP IPv4 MDT, correspondendo ao que o roteador PE herdado tem. O roteador PE de entrada deve ter a família de endereços BGP IPv4 MVPN, correspondendo ao que o roteador Profile 9 Egress PE tem.

Configuração do roteador do PE de entrada:

vrf one

vpn id 1:1

address-family ipv4 unicast

import route-target

1:1

!

export route-target

1:1

!

!

address-family ipv6 unicast

!

!

router pim

vrf one

address-family ipv4

mdt c-multicast-routing pim

announce-pim-join-tlv

!

interface GigabitEthernet0/1/0/0

enable

!

!

!

!

multicast-routing

vrf one

address-family ipv4

mdt source Loopback0

interface all enable

bgp auto-discovery mldp

!

mdt default ipv4 232.1.1.1

mdt default mldp ipv4 10.1.100.7

mdt data 255

mdt data 232.1.2.0/24

!

!

!

router bgp 1

address-family vpnv4 unicast

!

address-family ipv4 mdt

!

address-family ipv4 mvpn

!

neighbor 10.1.100.7     <<< iBGP neighbor

remote-as 1

update-source Loopback0

address-family vpnv4 unicast

!

address-family ipv4 mdt

!

address-family ipv4 mvpn

!

!

vrf one

rd 1:2

address-family ipv4 unicast

redistribute connected

!

address-family ipv4 mvpn

!

mpls ldp

mldp

logging notifications

address-family ipv4

!

!

!

Sem o comando "anuncice-pim-join-tlv", o roteador do PE de entrada não envia as mensagens de TLV de junção do PIM sobre os MDTs padrão, se a descoberta automática (AD) do BGP estiver habilitada. Sem esse comando, o roteador do PE de ingresso envia apenas uma atualização do tipo 3 da rota do mvpn do IPv4 do BGP. O roteador PE de saída do perfil 9 recebe a atualização do BGP e instala a mensagem de MDT de dados em seu cache. O roteador PE legado não executa o AD BGP e, portanto, não aprende a mensagem de junção de MDT de dados através do BGP.

O PE de entrada deve encaminhar o tráfego de multicast C para os dois tipos de MDT:

Ingress-PE#show mrib vrf one route 232.100.1.1

IP Multicast Routing Information Base

Entry flags: L - Domain-Local Source, E - External Source to the Domain,

C - Directly-Connected Check, S - Signal, IA - Inherit Accept,

IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,

MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle

CD - Conditional Decap, MPLS - MPLS Decap, MF - MPLS Encap, EX - Extranet

MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary

MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN

Interface flags: F - Forward, A - Accept, IC - Internal Copy,

NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,

II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,

LD - Local Disinterest, DI - Decapsulation Interface

EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,

EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,

MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface

IRMI - IR MDT Interface

(10.2.2.9,232.100.1.1) RPF nbr: 10.2.2.9 Flags: RPF MT

MT Slot: 0/1/CPU0

Up: 05:03:56

Incoming Interface List

GigabitEthernet0/1/0/0 Flags: A, Up: 05:03:56

Outgoing Interface List

mdtone Flags: F NS MI MT MA, Up: 05:03:56

Lmdtone Flags: F NS LMI MT MA, Up: 05:03:12

O PE de entrada deve ver o PE legado no tom de interface e o Perfil 9 PE na interface Lmdtone como vizinho PIM:

Ingress-PE#show pim vrf one neighbor

PIM neighbors in VRF one

Flag: B - Bidir capable, P - Proxy capable, DR - Designated Router,

E - ECMP Redirect capable

* indicates the neighbor created for this router

Neighbor Address             Interface             Uptime   Expires DR pri   Flags

10.1.100.1                   Lmdtone               6w1d     00:01:18 1     P

10.1.100.2*                  Lmdtone               6w1d     00:01:34 1 (DR) P

10.1.100.2*                  mdtone                5w0d     00:01:18 1     P

10.1.100.3                   mdtone                06:00:03 00:01:21 1 (DR)

O PE de saída do perfil 9 recebe a mensagem de MDT de dados como uma atualização de BGP para um tipo de rota 3 na família de endereços IPv4 MVPN:

Egress-PE#show bgp ipv4 mvpn vrf one

BGP router identifier 10.1.100.1, local AS number 1

BGP generic scan interval 60 secs

BGP table state: Active

Table ID: 0x0   RD version: 1367879340

BGP main routing table version 92

BGP scan interval 60 secs

Status codes: s suppressed, d damped, h history, * valid, > best

i - internal, r RIB-failure, S stale, N Nexthop-discard

Origin codes: i - IGP, e - EGP, ? - incomplete

Network           Next Hop           Metric LocPrf Weight Path

Route Distinguisher: 1:1 (default for vrf one)

*> [1][10.1.100.1]/40 0.0.0.0                               0 i

*>i[1][10.1.100.2]/40 10.1.100.2                   100     0 i

*>i[3][32][10.2.2.9][32][232.100.1.1][10.1.100.2]/120

10.1.100.2                   100     0 i

Processed 3 prefixes, 3 paths

Egress-PE#show bgp ipv4 mvpn vrf one [3][32][10.2.2.9][32][232.100.1.1][10.1.100.2]/120

BGP routing table entry for [3][32][10.2.2.9][32][232.100.1.1][10.1.100.2]/120, Route

Distinguisher: 1:1

Versions:

Process           bRIB/RIB SendTblVer

Speaker                 92         92

Last Modified: Nov 27 20:25:32.474 for 00:44:22

Paths: (1 available, best #1, not advertised to EBGP peer)

Not advertised to any peer

Path #1: Received by speaker 0

Not advertised to any peer

Local

10.1.100.2 (metric 12) from 10.1.100.7 (10.1.100.2)

Origin IGP, localpref 100, valid, internal, best, group-best, import-candidate,

imported

Received Path ID 0, Local Path ID 1, version 92

Community: no-export

Extended community: RT:1:1

Originator: 10.1.100.2, Cluster list: 10.1.100.7

PMSI: flags 0x00, type 2, label 0, ID

0x060001040a016402000e02000b0000010000000100000001

Source VRF: default, Source Route Distinguisher: 1:2

Essa rota BGP é um tipo de rota 3, para o túnel de protocolo tipo 2, que é mLDP P2MP LSP (o MDT de dados construído em um LSP mLSP P2MP). Não há entrada de tipo 3 de rota BGP para qualquer árvore PIM, pois o AD BGP não está habilitado para PIM.

"debug pim vrf one mdt data" no PE de entrada:

pim[1140]: [13] In mdt timers process...

pim[1140]: [13] Processing MDT JOIN SEND timer for MDT null core mldp pointer in one

pim[1140]: [13] In join_send_update_timer: route->mt_head 50c53b44

pim[1140]: [13] Create new MDT tlv buffer for one for type 0x1

pim[1140]: [13] Buffer allocated for one mtu 1348 size 0

pim[1140]: [13] TLV type set to 0x1

pim[1140]: [13] TLV added for one mtu 1348 size 16

pim[1140]: [13] MDT cache upd: pe 0.0.0.0, (10.2.2.9,232.100.1.1), mdt_type 0x1, core

(10.1.100.2,232.1.2.5), for vrf one [local, -], mt_lc 0x11, mdt_if 'mdtone', cache NULL

pim[1140]: [13] Looked up cache pe 0.0.0.0(10.2.2.9,232.100.1.1) mdt_type 0x1 in one

(found) - No error

pim[1140]: [13] Cache get: Found entry for 0.0.0.0(10.2.2.9,232.100.1.1) mdt_type 0x1 in

one

pim[1140]: [13] pim_mvrf_mdt_cache_update:946, mt_lc 0x11, copied mt_mdt_ifname 'mdtone'

pim[1140]: [13] Create new MDT tlv buffer for one for type 0x2

pim[1140]: [13] Buffer allocated for one mtu 1348 size 0

pim[1140]: [13] TLV type set to 0x2, o_type 0x2

pim[1140]: [13] TLV added for one mtu 1348 size 36

pim[1140]: [13] MDT cache upd: pe 0.0.0.0, (10.2.2.9,232.100.1.1), mdt_type 0x2, core src

10.1.100.2, id [mdt 1:1 1], for vrf one [local, -], mt_lc 0x11, mdt_if 'Lmdtone', cache

NULL

: pim[1140]: [13] Looked up cache pe 0.0.0.0(10.2.2.9,232.100.1.1) mdt_type 0x2 in one

(found) - No error

pim[1140]: [13] Cache get: Found entry for 0.0.0.0(10.2.2.9,232.100.1.1) mdt_type 0x2 in

one

pim[1140]: [13] pim_mvrf_mdt_cache_update:946, mt_lc 0x11, copied mt_mdt_ifname 'Lmdtone'

pim[1140]: [13] Set next send time for core type (0x0/0x2) (v: 10.2.2.9,232.100.1.1) in

one

pim[1140]: [13] 2. Flush MDT Join for one on Lmdtone(10.1.100.2) 6 (Cnt:1, Reached size

36 MTU 1348)

pim[1140]: [13] 2. Flush MDT Join for one (Lo0) 10.1.100.2

pim[1140]: [13] 2. Flush MDT Join for one on mdtone(10.1.100.2) 6 (Cnt:1, Reached size 16

MTU 1348)

pim[1140]: [13] 2. Flush MDT Join for one (Lo0) 10.1.100.2

O PE de entrada envia um TLV de junção de PIM para o MDT de dados baseado em PIM e baseado em mLDP.

No PE legado:

"debug ip pim vrf one 232.100.1.1":

PIM(1): Receive MDT Packet (56333) from 10.1.100.2 (Tunnel3), length (ip: 44, udp: 24), ttl: 1

PIM(1): TLV type: 1 length: 16 MDT Packet length: 16

O PE herdado recebe e coloca em cache o PIM Join TLV:

Legacy-PE#show ip pim vrf one mdt receive

Joined MDT-data [group/mdt number : source] uptime/expires for VRF: one

[232.1.2.5 : 10.1.100.2] 00:23:30/00:02:33

O PE legado une-se ao MDT de dados no núcleo:

Legacy-PE#show ip mroute vrf one 232.100.1.1

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, J - Join SPT, M - MSDP created entry, E - Extranet,

X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,

U - URD, I - Received Source Specific Host Report,

Z - Multicast Tunnel, z - MDT-data group sender,

Y - Joined MDT-data group, y - Sending to MDT-data group,

G - Received BGP C-Mroute, g - Sent BGP C-Mroute,

N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed,

Q - Received BGP S-A Route, q - Sent BGP S-A Route,

V - RD & Vector, v - Vector, p - PIM Joins on route,

x - VxLAN group

Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join

Timers: Uptime/Expires

Interface state: Interface, Next-Hop or VCD, State/Mode

(10.2.2.9, 232.100.1.1), 05:13:35/00:03:02, flags: sTY

Incoming interface: Tunnel3, RPF nbr 10.1.100.2, MDT:[10.1.100.2,232.1.2.5]/00:02:37

Outgoing interface list:

GigabitEthernet1/1, Forward/Sparse, 05:13:35/00:03:02

O perfil 9 Receiver-PE.

"debug pim vrf one mdt data" no PE de saída do perfil 9:

pim[1161]: [13] Received MDT Packet on Lmdtone (vrf:one) from 10.1.100.2, len 36

pim[1161]: [13] Processing type 2 tlv

pim[1161]: [13] Received MDT Join TLV from 10.1.100.2 for cust route 10.2.2.9,232.100.1.1

MDT number 1 len 36

pim[1161]: [13] Looked up cache pe 10.1.100.2(10.2.2.9,232.100.1.1) mdt_type 0x2 in one

(found) - No error

pim[1161]: [13] MDT cache upd: pe 10.1.100.2, (10.2.2.9,232.100.1.1), mdt_type 0x2, core

src 10.1.100.2, id [mdt 1:1 1], for vrf one [remote, -], mt_lc 0xffffffff, mdt_if 'xxx',

cache NULL

pim[1161]: [13] Looked up cache pe 10.1.100.2(10.2.2.9,232.100.1.1) mdt_type 0x2 in one

(found) - No error

pim[1161]: [13] Cache get: Found entry for 10.1.100.2(10.2.2.9,232.100.1.1) mdt_type 0x2

in one

pim[1161]: [13] MDT lookup: Return match for [mdt 1:1 1] src 10.1.100.2 in remote list

(one)

pim[1161]: [13] Remote join: MDT [mdt 1:1 1] known in one. Refcount (1, 1)

O Receptor-PE do Perfil 9 recebe e coloca em cache o TLV de junção do PIM. O Receptor-PE do Perfil 9 também aprendeu sobre o MDT de dados devido ao recebimento da mensagem de atualização do BGP para um tipo de rota 3 do PE de entrada. O PIM Join TLV e o BGP update message route-type são equivalentes e mantêm as mesmas informações em relação ao túnel de árvore de núcleo para o Data MDT.

Egress-PE#show pim vrf one mdt cache

Core Source     Cust (Source, Group)               Core Data       Expires

10.1.100.2       (10.2.2.9, 232.100.1.1)             [mdt 1:1 1]     00:02:35

Egress-PE#show mrib vrf one route 232.100.1.1

IP Multicast Routing Information Base

Entry flags: L - Domain-Local Source, E - External Source to the Domain,

C - Directly-Connected Check, S - Signal, IA - Inherit Accept,

IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,

MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle

CD - Conditional Decap, MPLS - MPLS Decap, MF - MPLS Encap, EX - Extranet

MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary

MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN

Interface flags: F - Forward, A - Accept, IC - Internal Copy,

NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,

II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,

LD - Local Disinterest, DI - Decapsulation Interface

EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,

EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,

MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface

IRMI - IR MDT Interface

(10.2.2.9,232.100.1.1) RPF nbr: 10.1.100.2 Flags: RPF

Up: 05:10:22

Incoming Interface List

Lmdtone Flags: A LMI, Up: 05:10:22

Outgoing Interface List

GigabitEthernet0/0/0/9 Flags: F NS LI, Up: 05:10:22

Cenário 3.

Há um ou mais roteadores PE herdados como um roteador Receiver-PE.

Há um ou mais roteadores PE como roteador Receptor-PE que executa o Perfil 13 (Padrão MDT - mLDP MP2MP BGP-AD BGP C-mcast Signaling).

Há um AD BGP envolvido e sinalização C-multicast BGP.

Configuração do roteador Receptor-PE, executando o Perfil 13:

vrf one

vpn id 1:1

address-family ipv4 unicast

import route-target

1:1

!

export route-target

1:1

!

!

router pim

vrf one

address-family ipv4

rpf topology route-policy rpf-for-one

mdt c-multicast-routing bgp

!

interface GigabitEthernet0/1/0/0

enable

!

!

!

!

route-policy rpf-for-one

set core-tree mldp-default

end-policy

!

multicast-routing

vrf one

address-family ipv4

mdt source Loopback0

rate-per-route

interface all enable

accounting per-prefix

bgp auto-discovery mldp

!

mdt default mldp ipv4 10.1.100.7

!

!

!

router bgp 1

!

address-family vpnv4 unicast

!

!

address-family ipv4 mvpn

!

!

neighbor 10.1.100.7     <<< iBGP neighbor

remote-as 1

update-source Loopback0

!

address-family vpnv4 unicast

!

address-family ipv4 mvpn

!

!

vrf one

rd 1:1

address-family ipv4 unicast

redistribute connected

!

address-family ipv4 mvpn

!

!

mpls ldp

mldp

logging notifications

address-family ipv4

!

!

!

Configuração do roteador do PE de entrada:

vrf one

vpn id 1:1

address-family ipv4 unicast

import route-target

1:1

!

export route-target

1:1

!

!

address-family ipv6 unicast

!

!

router pim

vrf one

address-family ipv4

mdt c-multicast-routing bgp

announce-pim-join-tlv

!

interface GigabitEthernet0/1/0/0

enable

!

!

!

!

multicast-routing

vrf one

address-family ipv4

mdt source Loopback0

interface all enable

mdt default ipv4 232.1.1.1

mdt default mldp ipv4 10.1.100.7

mdt data 255

mdt data 232.1.2.0/24

!

!

!

router bgp 1

address-family vpnv4 unicast

!

address-family ipv4 mdt

!

address-family ipv4 mvpn

!

neighbor 10.1.100.7      <<< iBGP neighbor

remote-as 1

update-source Loopback0

address-family vpnv4 unicast

!

address-family ipv4 mdt

!

address-family ipv4 mvpn

!

!

vrf one

rd 1:2

address-family ipv4 unicast

redistribute connected

!

address-family ipv4 mvpn

!

mpls ldp

mldp

logging notifications

address-family ipv4

!

!

!

Sem o comando advertice-pim-join-tlv, o roteador do PE de entrada não envia as mensagens TLV de junção do PIM sobre o MDT padrão, se o AD do BGP estiver ativado. Sem esse comando, o roteador do PE de ingresso envia apenas uma atualização do tipo 3 da rota do mvpn do IPv4 do BGP. O roteador Profile 13 Egress PE não recebe a atualização do BGP e instala a mensagem Data MDT em seu cache. O roteador PE legado não executa o AD BGP e, portanto, não aprende a mensagem de junção de MDT de dados através do BGP.

O PE de entrada deve estar encaminhando para os dois tipos de MDT:

Ingress-PE#show mrib vrf one route 232.100.1.1

IP Multicast Routing Information Base

Entry flags: L - Domain-Local Source, E - External Source to the Domain,

C - Directly-Connected Check, S - Signal, IA - Inherit Accept,

IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,

MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle

CD - Conditional Decap, MPLS - MPLS Decap, MF - MPLS Encap, EX - Extranet

MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary

MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN

Interface flags: F - Forward, A - Accept, IC - Internal Copy,

NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,

II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,

LD - Local Disinterest, DI - Decapsulation Interface

EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,

EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,

MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface

IRMI - IR MDT Interface

(10.2.2.9,232.100.1.1) RPF nbr: 10.2.2.9 Flags: RPF MT

MT Slot: 0/1/CPU0

Up: 19:49:27

Incoming Interface List

GigabitEthernet0/1/0/0 Flags: A, Up: 19:49:27

Outgoing Interface List

mdtone Flags: F MI MT MA, Up: 19:49:27

Lmdtone Flags: F LMI MT MA, Up: 01:10:15

O PE de entrada deve ver o PE legado no tom de interface como um vizinho PIM. No entanto, não é necessário ter o Perfil 13 PE na interface Lmdtone como um vizinho PIM, porque o BGP agora é usado como um protocolo de sinalização C-multicast.

"debug pim vrf one mdt data" no PE de entrada:

pim[1140]: [13] In mdt timers process...

pim[1140]: [13] Processing MDT JOIN SEND timer for MDT null core mldp pointer in one

pim[1140]: [13] In join_send_update_timer: route->mt_head 50c53b44

pim[1140]: [13] Create new MDT tlv buffer for one for type 0x1

pim[1140]: [13] Buffer allocated for one mtu 1348 size 0

pim[1140]: [13] TLV type set to 0x1

pim[1140]: [13] TLV added for one mtu 1348 size 16

pim[1140]: [13] MDT cache upd: pe 0.0.0.0, (10.2.2.9,232.100.1.1), mdt_type 0x1, core (10.1.100.2,232.1.2.5), for vrf one [local, -], mt_lc 0x11, mdt_if 'mdtone', cache NULL

pim[1140]: [13] Looked up cache pe 0.0.0.0(10.2.2.9,232.100.1.1) mdt_type 0x1 in one (found) - No error

pim[1140]: [13] Cache get: Found entry for 0.0.0.0(10.2.2.9,232.100.1.1) mdt_type 0x1 in one

pim[1140]: [13] pim_mvrf_mdt_cache_update:946, mt_lc 0x11, copied mt_mdt_ifname 'mdtone'

pim[1140]: [13] Create new MDT tlv buffer for one for type 0x2

pim[1140]: [13] Buffer allocated for one mtu 1348 size 0

pim[1140]: [13] TLV type set to 0x2, o_type 0x2

pim[1140]: [13] TLV added for one mtu 1348 size 36

pim[1140]: [13] MDT cache upd: pe 0.0.0.0, (10.2.2.9,232.100.1.1), mdt_type 0x2, core src 10.1.100.2, id [mdt 1:1 1], for vrf one [local, -], mt_lc 0x11, mdt_if 'Lmdtone', cache NULL

pim[1140]: [13] Looked up cache pe 0.0.0.0(10.2.2.9,232.100.1.1) mdt_type 0x2 in one (found) - No error

pim[1140]: [13] Cache get: Found entry for 0.0.0.0(10.2.2.9,232.100.1.1) mdt_type 0x2 in one

pim[1140]: [13] pim_mvrf_mdt_cache_update:946, mt_lc 0x11, copied mt_mdt_ifname 'Lmdtone'

pim[1140]: [13] Set next send time for core type (0x0/0x2) (v: 10.2.2.9,232.100.1.1) in one

pim[1140]: [13] 2. Flush MDT Join for one on Lmdtone(10.1.100.2) 6 (Cnt:1, Reached size 36 MTU 1348)

pim[1140]: [13] 2. Flush MDT Join for one (Lo0) 10.1.100.2

pim[1140]: [13] 2. Flush MDT Join for one on mdtone(10.1.100.2) 6 (Cnt:1, Reached size 16 MTU 1348)

pim[1140]: [13] 2. Flush MDT Join for one (Lo0) 10.1.100.2

pim[1140]: [13] MDT Grp lookup: Return match for grp 232.1.2.5 src 10.1.100.2 in local list (-)

O PE de entrada envia TLV de junção de PIM para o MDT de dados baseado em PIM e baseado em mLDP.

"debug ip pim vrf one 232.100.1.1" no PE legado:

PIM(1): Receive MDT Packet (57957) from 10.1.100.2 (Tunnel3), length (ip: 44, udp: 24), ttl: 1

PIM(1): TLV type: 1 length: 16 MDT Packet length: 16

O PE herdado coloca em cache o PIM Join TLV:

Legacy-PE#show ip pim vrf one mdt receive

Joined MDT-data [group/mdt number : source]  uptime/expires for VRF: one

[232.1.2.5 : 10.1.100.2]  00:03:36/00:02:24

O PE legado une-se ao MDT de dados no núcleo:

Legacy-PE#show ip mroute vrf one 232.100.1.1

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, J - Join SPT, M - MSDP created entry, E - Extranet,

X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,

U - URD, I - Received Source Specific Host Report,

Z - Multicast Tunnel, z - MDT-data group sender,

Y - Joined MDT-data group, y - Sending to MDT-data group,

G - Received BGP C-Mroute, g - Sent BGP C-Mroute,

N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed,

Q - Received BGP S-A Route, q - Sent BGP S-A Route,

V - RD & Vector, v - Vector, p - PIM Joins on route,

x - VxLAN group

Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join

Timers: Uptime/Expires

Interface state: Interface, Next-Hop or VCD, State/Mode

(10.2.2.9, 232.100.1.1), 18:53:53/00:02:50, flags: sTY

Incoming interface: Tunnel3, RPF nbr 10.1.100.2, MDT:[10.1.100.2,232.1.2.5]/00:02:02

Outgoing interface list:

GigabitEthernet1/1, Forward/Sparse, 18:53:53/00:02:50

O perfil 13 Receptor-PE:

"debug pim vrf one mdt data" no PE de saída do perfil 13:

pim[1161]: [13] Received MDT Packet on Lmdtone (vrf:one) from 10.1.100.2, len 36

pim[1161]: [13] Processing type 2 tlv

pim[1161]: [13] Received MDT Join TLV from 10.1.100.2 for cust route 10.2.2.9,232.100.1.1 MDT number 1 len 36

pim[1161]: [13] Looked up cache pe 10.1.100.2(10.2.2.9,232.100.1.1) mdt_type 0x2 in one (found) - No error

pim[1161]: [13] MDT cache upd: pe 10.1.100.2, (10.2.2.9,232.100.1.1), mdt_type 0x2, core src 10.1.100.2, id [mdt 1:1 1], for vrf one [remote, -], mt_lc 0xffffffff, mdt_if 'xxx', cache NULL

pim[1161]: [13] Looked up cache pe 10.1.100.2(10.2.2.9,232.100.1.1) mdt_type 0x2 in one (found) - No error

pim[1161]: [13] Cache get: Found entry for 10.1.100.2(10.2.2.9,232.100.1.1) mdt_type 0x2 in one

pim[1161]: [13] MDT lookup: Return match for [mdt 1:1 1] src 10.1.100.2 in remote list (one)

pim[1161]: [13] Remote join: MDT [mdt 1:1 1] known in one. Refcount (1, 1)

RP/0/RP1/CPU0:Legacy-PE#show pim vrf one mdt cache

Core Source      Cust (Source, Group)                Core Data        Expires

10.1.100.2       (10.2.2.9, 232.100.1.1)             [mdt 1:1 1]      00:02:21

O perfil 13 Receiver-PE recebe e armazena em cache o PIM Join TLV para o MDT baseado em mLDP. O Receptor-PE do Perfil 13 também aprendeu sobre o MDT de dados devido ao recebimento da mensagem de atualização do BGP para um tipo de rota 3 do PE de entrada. O PIM Join TLV e o BGP update message route-type são equivalentes e mantêm as mesmas informações em relação ao túnel de árvore de núcleo para o Data MDT.

Ingress-PE#show bgp ipv4 mvpn vrf one

BGP router identifier 10.1.100.1, local AS number 1

BGP generic scan interval 60 secs

BGP table state: Active

Table ID: 0x0   RD version: 1367879340

BGP main routing table version 93

BGP scan interval 60 secs

Status codes: s suppressed, d damped, h history, * valid, > best

i - internal, r RIB-failure, S stale, N Nexthop-discard

Origin codes: i - IGP, e - EGP, ? - incomplete

Network            Next Hop            Metric LocPrf Weight Path

Route Distinguisher: 1:1 (default for vrf one)

*> [1][10.1.100.1]/40 0.0.0.0                                0 i

*>i[1][10.1.100.2]/40 10.1.100.2                    100      0 i

*>i[3][32][10.2.2.9][32][232.100.1.1][10.1.100.2]/120

10.1.100.2                    100      0 i

*> [7][1:2][1][32][10.2.2.9][32][232.100.1.1]/184

0.0.0.0                                0 i

Processed 4 prefixes, 4 paths

Egress-PE#show bgp ipv4 mvpn vrf one [3][32][10.2.2.9][32][232.100.1.1][10.1.100.2]/120

BGP routing table entry for [3][32][10.2.2.9][32][232.100.1.1][10.1.100.2]/120, Route Distinguisher: 1:1

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                 92          92

Paths: (1 available, best #1, not advertised to EBGP peer)

Not advertised to any peer

Path #1: Received by speaker 0

Not advertised to any peer

Local

10.1.100.2 (metric 12) from 10.1.100.7 (10.1.100.2)

Origin IGP, localpref 100, valid, internal, best, group-best, import-candidate, imported

Received Path ID 0, Local Path ID 1, version 92

Community: no-export

Extended community: RT:1:1

Originator: 10.1.100.2, Cluster list: 10.1.100.7

PMSI: flags 0x00, type 2, label 0, ID 0x060001040a016402000e02000b0000010000000100000001

Source VRF: default, Source Route Distinguisher: 1:2

Essa rota BGP é um tipo de rota 3, para o túnel de protocolo tipo 2, que é mLDP P2MP LSP (o MDT de dados construído em um LSP mLSP P2MP). Não há nenhum tipo de rota BGP 3 para qualquer árvore PIM, pois o AD BGP não está ativado para PIM.

Há também um tipo de rota 7 porque a sinalização multicast C está ativada entre o PE de saída do perfil 13 e o PE de entrada. A atualização do BGP tipo de rota 7 é enviada do PE de saída do perfil 13 para o PE de entrada.

Cenário 4.

Há o modo PIM Sparse no contexto VPN neste cenário.

Há um ou mais roteadores PE herdados como roteador Source-PE.

Há um ou mais roteadores PE como roteador Receptor-PE que executa o Perfil 13 (Padrão MDT - mLDP MP2MP BGP-AD BGP C-mcast Signaling). Há um AD BGP envolvido e sinalização C-multicast BGP. Como esses roteadores PE precisarão ser capazes de receber tráfego diretamente do Source-PE - o roteador PE legado - eles também precisam executar o Perfil 0.

O RP-PE é um roteador PE que executa o Perfil 13 (MDT Padrão - mLDP MP2MP BGP-AD BGP C-mcast Signaling). Há um AD BGP envolvido e sinalização C-multicast BGP. Como o roteador RP-PE precisará ser capaz de receber tráfego diretamente do Source-PE - o roteador PE legado - eles também precisam executar o Perfil 0.

O roteamento multicast funcionou no cenário 3, mas isso pode funcionar somente para o Source-Specific Multicast (SSM). Se a sinalização C for modo escasso, o multicast poderá falhar. Isso pode depender de onde o Ponto Rendez-Vous (RP) é colocado. Se a sinalização na sobreposição for apenas (S, G), o roteamento multicast funcionará como no cenário 3. Isso ocorre se o RP estiver localizado no local do Receptor. Se o RP estiver no local de um Receptor, o Receptor-PE não enviará uma (*, G) Junção na sobreposição, por PIM ou BGP. No entanto, se o RP estiver localizado no Source-PE ou em outro PE, haverá (*, G) e (S, G) sinalização na sobreposição. O roteamento multicast pode falhar se isso for feito com a configuração como no cenário 3.

Veja a Figura 2. Ele mostra uma rede com um Source-PE (Legacy-PE), um RP-PE (PE2) e um Receptor-PE (PE1).

Figura 2.

Os roteadores PE de saída precisam enviar junções para (*,G). O protocolo que eles usarão é determinado pela configuração. O Egress-PE usará o BGP, e o roteador Legacy-Source-PE usará o PIM se tiver um Receptor também. A árvore compartilhada será sinalizada corretamente. Haverá um problema quando a origem começar a enviar: a árvore de origem não será sinalizada.

problema

Quando a origem começar a enviar, o RP receberá os pacotes de registro do PIM First Hop Router (FHR). Este pode ser o roteador Legacy-Source-PE aqui. O RP-PE precisaria então enviar um PIM (S, G) Join para o Legacy-Source-PE, já que o Legacy-Source-PE não executa o BGP como um protocolo de sinalização de sobreposição. No entanto, o RP-PE tem o BGP configurado como o protocolo de sinalização de sobreposição. Portanto, o Legacy-Source-PE nunca receberá uma mensagem PIM (S, G) Join do RP-PE e, portanto, a árvore de origem da origem para o RP não pode ser sinalizada. A configuração está presa na fase de registro. A Lista de Interface de Saída (OIL - Outgoing Interface List) no Legacy-Source-PE estará vazia:

Legacy-PE#show ip mroute vrf one 225.1.1.1

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, J - Join SPT, M - MSDP created entry, E - Extranet,

X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,

U - URD, I - Received Source Specific Host Report,

Z - Multicast Tunnel, z - MDT-data group sender,

Y - Joined MDT-data group, y - Sending to MDT-data group,

G - Received BGP C-Mroute, g - Sent BGP C-Mroute,

N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed,

Q - Received BGP S-A Route, q - Sent BGP S-A Route,

V - RD & Vector, v - Vector, p - PIM Joins on route,

x - VxLAN group

Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join

Timers: Uptime/Expires

Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 225.1.1.1), 00:05:47/stopped, RP 10.2.100.9, flags: SPF

Incoming interface: Tunnel3, RPF nbr 10.1.100.2

Outgoing interface list: Null

(10.2.3.10, 225.1.1.1), 00:05:47/00:02:42, flags: PFT

Incoming interface: GigabitEthernet1/1, RPF nbr 10.2.3.10

Outgoing interface list: Null

Para corrigir isso, é necessário que o RP-PE envie um PIM Join for (S, G) para o Legacy-Source-PE, enquanto o RP-PE ainda tem o BGP ativado como um protocolo de sinalização de sobreposição para roteadores não herdados. Se uma origem ficar on-line por trás de um roteador não herdado, o RP-PE precisará enviar uma mensagem de atualização de BGP tipo 7 de rota para esse roteador não herdado.

O RP-PE pode usar o PIM e o BGP como sinalização de sobreposição. A escolha de um será determinada por uma política de rota. Você precisa ter o comando de migração no PIM do roteador para o VRF. Para a rede descrita na Figura 2, esta é a configuração necessária no RP-PE:

router pim

vrf one

address-family ipv4

rpf topology route-policy rpf-for-one

mdt c-multicast-routing bgp

migration route-policy PIM-to-BGP

announce-pim-join-tlv

!

interface GigabitEthernet0/1/0/0

enable

!

!

!

!

route-policy rpf-for-one

if next-hop in (10.1.100.3/32) then

set core-tree pim-default

else

set core-tree mldp-default

endif

end-policy

!

route-policy PIM-to-BGP

if next-hop in (10.1.100.3/32) then

set c-multicast-routing pim

else

set c-multicast-routing bgp

endif

end-policy

!

multicast-routing

vrf one

address-family ipv4

mdt source Loopback0

rate-per-route

interface all enable

accounting per-prefix

bgp auto-discovery mldp

!

mdt default ipv4 232.1.1.1

mdt default mldp ipv4 10.1.100.7

!

!

!

O PIM para BGP da política de rota especifica que se o roteador PE remoto for 10.1.100.3 (Legacy-Source-PE), então use o PIM como um protocolo de sinalização de sobreposição. Caso contrário (para o roteador PE não herdado), o BGP é usado como o protocolo de sinalização de sobreposição. Então, o RP-PE agora envia um PIM (S, G) Join para o Legacy-Source-PE no PIM Default MDT baseado em PIM. O Legacy-Source-PE agora tem a entrada (S, G):

Legacy-PE#show ip mroute vrf one 225.1.1.1

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, J - Join SPT, M - MSDP created entry, E - Extranet,

X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,

U - URD, I - Received Source Specific Host Report,

Z - Multicast Tunnel, z - MDT-data group sender,

Y - Joined MDT-data group, y - Sending to MDT-data group,

G - Received BGP C-Mroute, g - Sent BGP C-Mroute,

N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed,

Q - Received BGP S-A Route, q - Sent BGP S-A Route,

V - RD & Vector, v - Vector, p - PIM Joins on route,

x - VxLAN group

Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join

Timers: Uptime/Expires

Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 225.1.1.1), 00:11:56/stopped, RP 10.2.100.9, flags: SPF

Incoming interface: Tunnel3, RPF nbr 10.1.100.2

Outgoing interface list: Null

(10.2.3.10, 225.1.1.1), 00:11:56/00:03:22, flags: FT

Incoming interface: GigabitEthernet1/1, RPF nbr 10.2.3.10

Outgoing interface list:

Tunnel3, Forward/Sparse, 00:00:11/00:03:18

O receptor pode receber os pacotes multicast se o RP-PE U-gira os pacotes: ele encaminha os pacotes multicast recebidos do MDT para a árvore Lmdt.

Note: Verifique se o roteador RP-PE tem suporte para o recurso de ciclo de vida do PE nessa plataforma e software.

RP/0/3/CPU1:PE2#show mrib vrf one route 225.1.1.1

IP Multicast Routing Information Base

Entry flags: L - Domain-Local Source, E - External Source to the Domain,

C - Directly-Connected Check, S - Signal, IA - Inherit Accept,

IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,

MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle

CD - Conditional Decap, MPLS - MPLS Decap, MF - MPLS Encap, EX - Extranet

MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary

MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN

Interface flags: F - Forward, A - Accept, IC - Internal Copy,

NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,

II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,

LD - Local Disinterest, DI - Decapsulation Interface

EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,

EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,

MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface

IRMI - IR MDT Interface

(*,225.1.1.1) RPF nbr: 10.2.2.9 Flags: C RPF

Up: 00:53:59

Incoming Interface List

GigabitEthernet0/1/0/0 Flags: A, Up: 00:53:59

Outgoing Interface List

Lmdtone Flags: F LMI, Up: 00:53:59

(10.2.3.10,225.1.1.1) RPF nbr: 10.1.100.3 Flags: RPF

Up: 00:03:00

Incoming Interface List

mdtone Flags: A MI, Up: 00:03:00

Outgoing Interface List

Lmdtone Flags: F NS LMI, Up: 00:03:00

Não importa se o LHR (Last Hop Router) tem SPT-switchover configurado ou não, o tráfego multicast continua a ser encaminhado pela árvore compartilhada, em direção ao RP-PE. Veja a Figura 3. para ver como o tráfego multicast é encaminhado.

Figura 3.

O Egress-PE não tem nenhuma entrada (S, G):

RP/0/RP1/CPU0:PE1#show mrib vrf one route 225.1.1.1

IP Multicast Routing Information Bas

Entry flags: L - Domain-Local Source, E - External Source to the Domain,

C - Directly-Connected Check, S - Signal, IA - Inherit Accept,   IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,

MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle

CD - Conditional Decap, MPLS - MPLS Decap, MF - MPLS Encap, EX - Extranet

MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary

MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN

Interface flags: F - Forward, A - Accept, IC - Internal Copy,

NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,

II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,

LD - Local Disinterest, DI - Decapsulation Interface

EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,

EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,

MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface

IRMI - IR MDT Interface

(*,225.1.1.1) RPF nbr: 10.1.100.2 Flags: C RPF

Up: 04:35:36

Incoming Interface List

Lmdtone Flags: A LMI, Up: 03:00:24

Outgoing Interface List

GigabitEthernet0/0/0/9 Flags: F NS, Up: 04:35:36

Se o Egress-PE for o LHR, então ele não terá uma entrada (S, G). A razão pela qual o Egress-PE não pode alternar para a entrada (S, G) é que ele não recebeu uma rota de origem BGP ativa de um roteador PE. O tráfego multicast é encaminhado como na Figura 3.

No entanto, é possível que o Egress-PE não seja o LHR, mas um roteador CE no local Egress-PE - seja o LHR. Se o roteador CE mudar para a árvore de origem, o roteador de saída-PE receberá um PIM (S, G) Join e instalará a entrada (S, G).

RP/0/RP1/CPU0:PE1#show mrib vrf one route 225.1.1.1

IP Multicast Routing Information Base

Entry flags: L - Domain-Local Source, E - External Source to the Domain,

C - Directly-Connected Check, S - Signal, IA - Inherit Accept,

IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,

MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle

CD - Conditional Decap, MPLS - MPLS Decap, MF - MPLS Encap, EX - Extranet

MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary

MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN

Interface flags: F - Forward, A - Accept, IC - Internal Copy,

NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,

II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,

LD - Local Disinterest, DI - Decapsulation Interface

EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,

EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,

MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface

IRMI - IR MDT Interface

(*,225.1.1.1) RPF nbr: 10.1.100.2 Flags: C RPF

Up: 00:04:51

Incoming Interface List

Lmdtone Flags: A LMI, Up: 00:04:51

Outgoing Interface List

GigabitEthernet0/0/0/9 Flags: F NS, Up: 00:04:51

(10.2.3.10,225.1.1.1) RPF nbr: 10.1.100.3 Flags: RPF

Up: 00:00:27

Incoming Interface List

Lmdtone Flags: A LMI, Up: 00:00:27

Outgoing Interface List

GigabitEthernet0/0/0/9 Flags: F NS, Up: 00:00:27

Mas o Egress-PE agora irá RPF para a Origem e encontrar o roteador Legacy-Source-PE como o vizinho RPF:

RP/0/RP1/CPU0:PE1#show pim vrf one rpf 10.2.3.10

Table: IPv4-Unicast-default

* 10.2.3.10/32 [200/0]

via Lmdtone with rpf neighbor 10.1.100.3

Connector: 1:3:10.1.100.3, Nexthop: 10.1.100.3

Como não há MDT entre o Egress-PE e o Legacy-Source-PE, o Egress-PE não pode enviar um Join para o Legacy-Source-PE. Lembre-se de que o Egress-PE só constrói árvores mLDP e sinaliza o cliente BGP. Lembre-se de que o Legacy-Source-PE só cria árvores baseadas em PIM e somente sinaliza o cliente PIM.

No entanto, como o Egress-PE tem informações de RPF apontando para a interface de entrada Lmdt e o tráfego multicast chega ainda nesse MDT do RP-PE, o tráfego multicast será encaminhado para o receptor e não falhará RPF. O motivo é que o RPF não faz uma verificação RPF rigorosa para verificar se o tráfego multicast realmente chega do vizinho RPF 10.1.100.3, o roteador Legacy-PE. Observe que não há adjacência de PIM para 10.1.100.3 em PE1 em Lmdt, porque o Legacy-PE não pode ter Lmdt porque executa somente o PIM como protocolo de árvore central (Perfil 0):

RP/0/RP1/CPU0:PE1#show pim vrf one neighbor

PIM neighbors in VRF one

Flag: B - Bidir capable, P - Proxy capable, DR - Designated Router,

E - ECMP Redirect capable

* indicates the neighbor created for this router

Neighbor Address             Interface             Uptime   Expires DR pri   Flags

10.1.100.1*                  Lmdtone               01:32:46 00:01:32 100 (DR) P

10.1.100.2                   Lmdtone               01:30:46 00:01:16 1     P

10.1.100.4                   Lmdtone               01:30:38 00:01:24 1     P

10.1.100.1*                  mdtone                 01:32:46 00:01:34 100 (DR) P

10.1.100.2                   mdtone                 01:32:45 00:01:29 1     P

10.1.100.3                   mdtone                 01:32:17 00:01:29 1     P

10.1.100.4                   mdtone                 01:32:43 00:01:20 1     P

10.2.1.1*                    GigabitEthernet0/0/0/9 01:32:46 00:01:18 100     B P E

10.2.1.8                     GigabitEthernet0/0/0/9 01:32:39 00:01:16 100 (DR)

O motivo pelo qual PE1 escolhe Lmdt como a interface de entrada é que essa é a informação recebida do comando de topologia RPF em PE1:

route-policy rpf-for-one

set core-tree mldp-default

end-policy

!

Se o RPF ainda estiver ok em PE1, o tráfego multicast pode alcançar o Receptor atrás de PE1. Mas o tráfego não segue o caminho mais curto Legacy-PE para PE1 no núcleo.

A solução

Para corrigir isso, o PE de saída (PE1) deve ser configurado para sinalizar MDT baseado em PIM e BGP como sinalização de sobreposição também. Essa configuração é necessária no Egress-PE nesse caso:

router pim

vrf one

address-family ipv4

rpf topology route-policy rpf-for-one

mdt c-multicast-routing bgp

migration route-policy PIM-to-BGP

announce-pim-join-tlv

!

rp-address 10.2.100.9 override

!

interface GigabitEthernet0/0/0/9

enable

!

!

!

!

route-policy rpf-for-one

if next-hop in (10.1.100.3/32) then

set core-tree pim-default

else

set core-tree mldp-default

endif

end-policy

!

route-policy PIM-to-BGP

if next-hop in (10.1.100.3/32) then

set c-multicast-routing pim

else

set c-multicast-routing bgp

endif

end-policy

!

multicast-routing

vrf one

address-family ipv4

mdt source Loopback0

rate-per-route

interface all enable

accounting per-prefix

bgp auto-discovery mldp

!

mdt default ipv4 232.1.1.1

mdt default mldp ipv4 10.1.100.7

!

!

!

Veja a Figura 4. Agora há um MDT baseado em PIM entre o Legacy-PE e o Egress-PE.

Figura 4.

O Egress-PE envia mensagens PIM Join através do PIM-based MDT para o Legacy-Source-PE para (S, G) após o switchover SPT. A interface de entrada no Egress-PE agora é mdtone. O RP-PE não é mais um roteador de ciclo para tráfego multicast.

RP/0/RP1/CPU0:PE1#show mrib vrf one route 225.1.1.1

IP Multicast Routing Information Base

Entry flags: L - Domain-Local Source, E - External Source to the Domain,

C - Directly-Connected Check, S - Signal, IA - Inherit Accept,

IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,

MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle

CD - Conditional Decap, MPLS - MPLS Decap, MF - MPLS Encap, EX - Extranet

MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary

MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN

Interface flags: F - Forward, A - Accept, IC - Internal Copy,

NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,

II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,

LD - Local Disinterest, DI - Decapsulation Interface

EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,

EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,

MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface

IRMI - IR MDT Interface

(*,225.1.1.1) RPF nbr: 10.1.100.2 Flags: C RPF

Up: 00:09:59

Incoming Interface List

Lmdtone Flags: A LMI, Up: 00:09:59

Outgoing Interface List

GigabitEthernet0/0/0/9 Flags: F NS, Up: 00:09:59

(10.2.3.10,225.1.1.1) RPF nbr: 10.1.100.3 Flags: RPF

Up: 00:14:29

Incoming Interface List

mdtone Flags: A MI, Up: 00:14:29

Outgoing Interface List

GigabitEthernet0/0/0/9 Flags: F NS, Up: 00:14:29

E o PE1 tem estas informações PIM RPF para a Origem:

RP/0/RP1/CPU0:PE1#show pim vrf one rpf 10.2.3.10

Table: IPv4-Unicast-default

* 10.2.3.10/32 [200/0]

via mdtone with rpf neighbor 10.1.100.3

RT:1:1 ,Connector: 1:3:10.1.100.3, Nexthop: 10.1.100.3

Isso significa que o tráfego agora flui diretamente do Legacy-Source-PE para o Egress-PE na rede central através do MDT baseado em PIM. Consulte a Figura 5.

Figura 5.

Conclusão

Todos os roteadores PE não herdados, que são roteadores Receiver-PE ou RP-PE, devem ter a configuração estabelecida para migrar os protocolos da árvore central e para migrar os protocolos de sinalização C.

Como alternativa, uma solução alternativa é garantir que o SPT-switchover não ocorra, mas o roteamento do tráfego multicast talvez não esteja no caminho mais curto no núcleo da rede.