목차

소개

사전 요구 사항

요구 사항

사용되는 구성 요소

배경 정보

이론

MBB 쿼리 및 승인 메커니즘

MBB 기능

MBB 지연

MBB - 경로 재지정

보호를 위한 MBB

mLDP 보호 이론

필수 구성

FRR용 MBB 예

사용 중인 MBB

mLDP 추적

스케일 MLDP LSP에 대한 FRR 타이머 구성

결론

소개

이 문서에서는 Cisco IOS® XR에서 MBB(Make-Before-Break)의 동작에 대해 설명합니다.

사전 요구 사항

요구 사항

이 문서에 대한 특정 요건이 없습니다.

사용되는 구성 요소

- 이 문서는 Cisco IOS® XR에만 해당되지만 특정 소프트웨어 릴리스 또는 하드웨어에 제한되지 않습니다.

- 이 문서에 사용된 모든 디바이스는 Cisco IOS XR 6.5.2를 실행합니다. 모든 라인 카드는 3세대 또는 4세대 ASR9k 라인 카드입니다.

이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.

배경 정보

MBB(Make-Before-Break)에는 새로운 mLDP(multipoint Label Distribution Protocol) 트리를 설정한 후 이전 트리를 해제하고 멀티캐스트 트래픽을 잃지 않고 이전 트리에서 새 트리로 트래픽을 전환하는 것이 목적입니다. 이는 다음 두 가지 시나리오에서 사용할 수 있습니다.

1. 더 나은 IGP(Interior Gateway Protocol) 메트릭을 사용하여 새 경로를 사용할 수 있게 되면 리라우팅이 발생합니다. 이전 트리에서 새 트리로 트래픽을 전환한 다음 이전 트리를 삭제합니다.

2. 멀티캐스트 트래픽이 백업 경로에서 보호되는 경우: 백업 경로에서 새로 신호 처리된 네이티브 mLDP 트리로 트래픽을 전환한 다음 백업 트리를 삭제합니다.

라우터가 기존 LSP(Label Switched Path)가 손상되었음을 알게 되면 새 LSP 사용을 시작할 때까지 기다리지 않아야 합니다. 더 이상 고목나무에 도착하는 교통체증이 없기 때문에 여기서 기다리는 것은 의미가 없습니다. 기존 트리가 계속 작동 중이면 새 트리가 완전히 설정될 때까지 라우터가 기존 트리를 해제해서는 안 됩니다.

이론

MBB는 RFC 6388에 설명된 대로 Query and Ack 메커니즘에 의해 구동됩니다. mLDP의 기본 RFC입니다. 이 Query and Ack 메커니즘은 새 트리가 멀티캐스트 트래픽을 전달할 준비가 되었을 때 신호를 보냅니다. 이 방법으로 패킷이 손실되지 않아야 합니다. 라우터가 기존 LSP가 손상되었음을 알게 되면 새 LSP 사용을 시작할 때까지 기다리지 않아야 합니다. 더 이상 고목나무에 도착하는 교통체증이 없기 때문에 여기서 기다리는 것은 의미가 없습니다. 기존 트리가 계속 작동 중이면 새 트리가 완전히 설정될 때까지 라우터가 기존 트리를 해제해서는 안 됩니다.

MBB가 지원할 수 있는 경우는 다음과 같습니다.

- 토폴로지 변경, 링크 가동 이벤트 또는 링크의 IGP 비용 감소로 인해 기존 트리가 다시 라우팅되고 있습니다.

- 능동적으로 보호된 TE 터널/LFA(Loop-free Alternate) 또는 Ti-LFA(Topology independent LFA) 경로에서 멀티캐스트 트래픽을 수신한 후 네이티브 mLDP 트리로 되돌리기.

이 두 가지가 좋은 사건임을 알 수 있습니다.  불량 이벤트의 예로는 업스트림 경로의 라우터에서 직접 연결된 링크가 있는 경우를 들 수 있습니다. MBB는 이 경우 어쩔 수 없습니다. 이 경우 IP FRR(Fast ReRoute)이 필요합니다.

MBB가 발생하면 일시적으로 하나 이상의 업스트림 인접 디바이스 및/또는 하나 이상의 다운스트림 인접 디바이스가 있습니다.  RFC 6388에서는 여러 수락 요소가 있을 수 있다고 지정합니다. 즉, 트리당 여러 업스트림 인접 디바이스 및 업스트림 레이블 값이 있을 수 있습니다. "수락 요소"는 업스트림 mLDP 네이버가 트래픽을 수락할 후보임을 의미합니다. 하나의 accepting 요소가 active 요소입니다. 활성 요소는 MPLS 레이블이 포워딩 평면에 설치되는 요소입니다. 다른 수락 요소는 비활성 요소입니다. 이 요소는 MPLS 레이블이 포워딩 평면에 아직 설치되지 않은 요소입니다. 이 비활성 요소는 Query/Ack 메커니즘으로 트리의 새로 신호 처리된 부분에 대한 것이며 활성 수락 요소로 전환되기 전에 수명이 짧아야 합니다. 트리당 두 개의 수락 요소만 있을 수 있습니다. 하나는 활성 항목이고, 다른 하나는 비활성 항목입니다. Query/Ack 신호 처리가 끝나거나 고정 시간 지연에 도달하는 즉시 오래된 인접 디바이스가 트리에서 제거됩니다.

Query/Ack 메커니즘 대신, 다른 구현 방법은 구성 가능한 고정된 지연으로 새 LSP로의 전환을 연기하는 것일 수 있습니다.

mLDP는 유니캐스트가 사용하는 다운스트림 할당 레이블 공간을 공유하므로 MPLS 포워딩 플레인에 대해 기본적으로 멀티캐스트 패킷과 유니캐스트 패킷 간에 차이가 없다는 점에 유의해야 합니다. 포워딩 플레인은 유니캐스트와 공유되므로 IP FRR과 같은 멀티캐스트에 대해 특정 유니캐스트 기능이 상속됩니다.

MBB 절차는 P2MP(Point-to-Multipoint) 및 MP2MP(Multipoint-to-Multipoint) 트리에 적용됩니다.

MBB 쿼리 및 승인 메커니즘

MBB는 선택 사항이므로(RFC에서도 선택 사항) 사용하도록 구성해야 합니다. 구성할 때 업스트림에서 전송된 레이블 매핑 메시지에 연결된 MBB 상태가 있을 수 있으며 업스트림 라우터에서 다운스트림 라우터로 전송하는 LDP 알림 메시지에 연결할 수도 있습니다. 라우터는 LDP MP 상태 TLV에서 MBB 상태를 연결할 수 있습니다.

MBB 상태는 LDP MP 상태 값 요소의 유형입니다.

0                   1                   2                   3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| MBB Type = 1  |      Length = 1               | Status Code   |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

상태 코드는 MBB 요청의 경우 1이고 MBB 확인의 경우 2입니다.

LDP MP 상태 TLV는 다음과 같이 인코딩됩니다.

0                   1                   2                   3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|1|0| LDP MP Status Type(0x096F)|            Length             |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                           Value                               |

~                                                               ~

|                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                               |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Value 필드에는 하나 이상의 LDP MP Status Value 요소가 포함됩니다.

LDP MP Status TLV Value(LDP MP 상태 TLV 값)에 포함된 LDP MP Status Value(LDP MP 상태 값) 요소는 다음 인코딩을 수행합니다.

0                   1                   2                   3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Type          | Length                        | Value ...     |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+               |

~                                                               ~

|                                                               |

|                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                               |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

LDP MP 상태 TLV는 Label Mapping(레이블 매핑) 메시지 또는 LDP Notification(LDP 알림) 메시지에 나타날 수 있습니다.

LDP 알림 메시지에서

0                   1                   2                   3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|0|   Notification (0x0001)     |      Message Length           |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                       Message ID                              |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                       Status TLV                              |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                   LDP MP Status TLV                           |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                 Optional LDP MP FEC TLV                       |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                 Optional Label TLV                            |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

레이블 매핑 메시지에서 다음을 수행합니다.

0                   1                   2                   3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|0|   Label Mapping (0x0400)    |      Message Length           |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                     Message ID                                |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                     FEC TLV                                   |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                     Label TLV                                 |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                     Optional LDP MP Status TLV                |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                     Additional Optional Parameters            |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

이전 버전에서는 동적 MBB 동작에 대해 설명합니다. 또 다른 옵션은 새 트리로의 전환이 지연에 의해서만 결정되는 정적 동작을 갖는 것입니다. 이 경우 전환은 새 트리가 준비된 후 일정 시간(밀리초)후에 발생합니다.

이미지 1은 mLDP Label Mapping 메시지의 Wireshark 캡처 이미지를 보여 줍니다. LDP MP Status TLV가 첨부되어 있습니다.

이미지 1

01000102은 MBB Type 1의 경우 1로, Length 1의 경우 0001로, MBB Ack의 경우 02로 디코딩합니다.

MBB 메커니즘은 P2MP mLDP FEC(Forwarding Equivalence Class) 및 MP2MP Upstream 또는 Downstream FEC에 적용됩니다.

MBB 기능

MBB를 수행할 수 있는 라우터에서는 LDP 세션에 대한 MBB 기능 알림에 이를 인접 디바이스에 광고합니다.

RP/0/RSP1/CPU0:R2#show mpls mldp neighbors

MLDP peer ID      : 10.79.196.14:0, uptime 22:32:06 Up,

Capabilities     : Typed Wildcard FEC, P2MP, MP2MP, MBB

Target Adj       : No

Upstream count   : 0

Branch count     : 0

Label map timer  : never

Policy filter in :

Path count       : 1

Path(s)          : 10.159.248.201    Bundle-Ether120 No LDP

Adj list         : 10.254.3.36      Bundle-Ether10362

Peer addr list   : 10.79.196.14

: 10.55.55.1

: 10.196.91.134

: 10.200.30.1

MBB는 Cisco IOS XR에 대해 기본적으로 활성화되어 있지 않습니다.

"make-before-break" 명령은 기능 및 기능 알림을 활성화합니다.

mpls ldp

mldp

logging notifications

address-family ipv4

make-before-break delay 0

MBB에는 기본적으로 지연이 없습니다. 크기가 조정된 설정에서만 지연을 늘려야 합니다. 그 이유는 mLDP 데이터베이스 항목이 많으면 설치해야 하는 mLDP 전달 항목이 많을 수 있기 때문입니다. 이러한 전달 항목을 라인 카드의 데이터 플레인에 설치하는 데 시간이 걸릴 수 있습니다.

MBB 지연

이미지 2를 보십시오.

이미지 2

오래된 나무와 새로 신호를 받은 나무가 있다. 두 트리가 분기되는 라우터가 PLR(Point of Local Repair)입니다. 두 트리가 다시 병합되는 라우터는 MP(Merge Point)입니다. mLDP 트리의 새로운 부분은 라우터가 더 나은 경로를 발견하기 때문에 신호를 받습니다. 새 링크 R4 - R2를 사용할 수 있게 되거나 해당 링크의 IGP 메트릭이 낮아져 전체 메트릭이 더 낮은 경로가 생성되었습니다.

MBB에 대해 두 개의 지연 값을 구성할 수 있습니다. 첫 번째는 MP가 네이티브 경로로 다시 전환되도록 MBB를 사용할 때의 지연입니다. 이 시간은 MBB 확인을 받은 후의 시간입니다.

RP/0/RP1/CPU0:Router(config-ldp-mldp-af)#make-before-break delay ?

<0-600> Forwarding delay in seconds

지연이 0이라는 것은 MBB Ack이 수신된 후 바로 새롭게 시그널링된 경로가 이전 경로 및 새로운 경로(PLR)가 다양한 라우터에서 사용됨을 의미한다. 두 번째는 MP가 네이티브 경로로 전환된 후 백업 경로 삭제가 지연되는 경우입니다.

RP/0/RP1/CPU0:Router(config-ldp-mldp-af)#make-before-break delay 10 ?

<0-60> Delete delay in seconds

<cr>

RP/0/RP1/CPU0:Router(config-ldp-mldp-af)#make-before-break delay 10 10 ?

<cr>

전환 지연 및 삭제 지연은 모두 MP에서 사용됩니다.

MBB - 경로 재지정

MBB는 기존 mLDP 트리가 철거되기 전에 새로운 mLDP 트리를 세우는 일을 처리합니다. 이는 이전 트리가 여전히 존재하고 트래픽을 전달하는 경우에만 의미가 있습니다. 링크 업 이벤트와 같은 IGP 통합은 mLDP 트리에 대한 더 나은 경로를 생성할 수 있습니다. 이는 루트를 향하는 더 작은 IGP 메트릭 또는 MP2MP mLDP 트리인 경우 리프를 향하는 더 작은 IGP 메트릭을 의미합니다.

예를 들어봅시다.

이미지 3은 라우팅 통합 이벤트 이전의 네트워크를 보여줍니다.

이미지 3

R5는 하나의 mLDP 트리의 루트 라우터이고 R6는 리프 라우터입니다. P2MP mLDP 트리는 모든 라우터에서 루트를 향해 레이블 매핑 메시지(MPLS 레이블 포함)로 시그널링됩니다. 이 LDP 레이블 매핑 메시지는 MBB 요청을 전달하지 않습니다.

mLDP 트래픽은 상위 경로를 통해 왼쪽(루트)에서 오른쪽(리프)으로 이동합니다. 각 링크에서 표시된 MPLS 레이블은 멀티캐스트 패킷의 맨 위에 있습니다.

이미지 4는 라우팅 통합 이벤트(MBB 없음) 이후의 네트워크를 보여줍니다.

이미지 4

R4 - R2 링크가 활성화됩니다. 이 링크의 메트릭은 낮은 값이므로 아래쪽 경로가 위쪽 경로보다 낮은 메트릭을 갖습니다. 두 가지 일이 발생해야 합니다. 링크를 통해 IGP 인접성을 설정하고 이 새 링크를 통해 LDP 세션을 설정해야 합니다. 이 LDP 세션이 시작되면 mLDP 트리를 위에서 아래로 이동하기 위해 이 링크를 통해 Label Mapping 메시지가 교환됩니다.

MBB가 구성되지 않은 경우, 하단 경로에 LDP Label Mapping(LDP 레이블 매핑) 메시지가 있는 일반 시그널링이 있습니다. Label Mapping(레이블 매핑) 메시지(MBB 요청 없음)가 R1에 도달하는 즉시 R1은 상위 경로의 멀티캐스트 트래픽 전달을 중지하고 하위 경로의 멀티캐스트 트래픽 전달을 시작합니다.

결국 R1은 두 경로를 통해 멀티캐스트 트래픽을 전달한 적이 없고, 한 경로를 통해서만 트래픽을 상위 경로에서 하위 경로로 전환했습니다. R4를 통해 R2에서 R1로 보내는 제어 평면 시그널링이 새로운 경로의 라우터에 있는 데이터 평면에 mLDP 항목을 설치하는 데 필요한 시간보다 약간 더 빠를 수 있기 때문에 전환이 즉각적으로 이루어지므로 멀티캐스트 트래픽이 단기간에 중단될 수 있습니다.

명시적으로 활성화된 mLDP 로깅 알림이 있습니다.

RP/0/0/CPU0:Jan  1 16:06:49.778 : mpls_ldp[1180]: %ROUTING-MLDP-5-BRANCH_ADD : 0x00001 [ipv4 10.0.0.105 232.1.1.1] P2MP 10.0.0.5, Add LDP 10.0.0.4:0 branch remote label 24009

RP/0/0/CPU0:Jan  1 16:06:49.838 : mpls_ldp[1180]: %ROUTING-MLDP-5-BRANCH_DELETE : 0x00001 [ipv4 10.0.0.105 232.1.1.1] P2MP 10.0.0.5, Delete LDP 10.0.0.3:0 branch remote label 24009

MBB가 구성되면 다음과 같이 됩니다.

R1에서 MBB만 구성하면 충분하지 않습니다.

다음은 R2의 컨피그레이션 예입니다.

mpls ldp

mldp

logging notifications

address-family ipv4

make-before-break delay 60

!

링크 R4-R2의 LDP 세션이 작동 중일 때 R2에서 이전 경로에서 새 경로로의 전환을 60초 동안 지연할 수 있습니다. 그런 일은 일어나지 않습니다. 모든 라우터(또는 R1, R4, R2 이상)에서 MBB를 활성화해야 R4에서 R2와 R1 사이에 MBB 신호 처리가 작동합니다.

MBB 신호 처리를 활성화하려면 모든 라우터에 이 최소 컨피그레이션이 있어야 합니다.

mpls ldp

mldp

logging notifications

address-family ipv4

make-before-break delay 0

!

이미지 5를 보세요.

이미지 5

모든 올바른 컨피그레이션이 갖춰져 있습니다. 우리는 사건들을 처음부터, 그러니까 융합 사건 이전의 상황을 살펴본다.

활성 상태의 위쪽 경로는 시작 경로입니다. R1에서는 R3가 유일한 다운스트림 클라이언트입니다.

RP/0/0/CPU0:R1#show mpls mldp database

mLDP database

LSM-ID: 0x00001  Type: P2MP  Uptime: 00:19:43

FEC Root           : 10.0.0.5

Opaque decoded     : [ipv4 10.0.0.105 232.1.1.1]

Features           : MBB

Upstream neighbor(s) :

10.0.0.5:0 [Active] [MBB] Uptime: 00:19:43

Local Label (D) : 24008

Downstream  client(s):

LDP 10.0.0.3:0     Uptime: 00:03:28

Next Hop         : 10.1.3.3

Interface        : GigabitEthernet0/0/0/0

Remote label (D) : 24009

RP/0/0/CPU0:R1#show mpls mldp forwarding

mLDP MPLS forwarding database

24008  LSM-ID: 0x00001 flags: None

24009, NH: 10.1.3.3, Intf: GigabitEthernet0/0/0/0 Role: M

R2에서는 R3만 허용됩니다.

RP/0/0/CPU0:R2#show mpls mldp database

mLDP database

LSM-ID: 0x00001  Type: P2MP  Uptime: 00:23:58

FEC Root           : 10.0.0.5

Opaque decoded     : [ipv4 10.0.0.105 232.1.1.1]

Features           : MBB

Upstream neighbor(s) :

10.0.0.3:0 [Active] [MBB] Uptime: 00:03:19

Local Label (D) : 24008

Downstream  client(s):

LDP 10.0.0.6:0     Uptime: 00:23:58

Next Hop         : 10.2.6.6

Interface        : GigabitEthernet0/0/0/2

Remote label (D) : 24010

RP/0/0/CPU0:R2#show mpls mldp forwarding

mLDP MPLS forwarding database

24008  LSM-ID: 0x00001 flags: None

24010, NH: 10.2.6.6, Intf: GigabitEthernet0/0/0/2 Role: M

MBB 시그널링 후, R2는 2개의 수용 요소, 즉 하나의 활성, 하나의 비활성을 갖는다.

Jan  1 16:52:43.700 : mpls_ldp[1180]: %ROUTING-MLDP-5-BRANCH_ADD : 0x00001 [ipv4 10.0.0.105 232.1.1.1] P2MP 10.0.0.5, Add LDP 10.0.0.4:0 branch remote label 240

R1에는 두 개의 다운스트림 클라이언트인 R3 및 R4가 있습니다.

RP/0/0/CPU0:R1#show mpls mldp database

mLDP database

LSM-ID: 0x00001  Type: P2MP  Uptime: 00:22:35

FEC Root           : 10.0.0.5

Opaque decoded     : [ipv4 10.0.0.105 232.1.1.1]

Features           : MBB

Upstream neighbor(s) :

10.0.0.5:0 [Active] [MBB] Uptime: 00:22:35

Local Label (D) : 24008

Downstream  client(s):

LDP 10.0.0.3:0     Uptime: 00:06:20

Next Hop         : 10.1.3.3

Interface        : GigabitEthernet0/0/0/0

Remote label (D) : 24009

LDP 10.0.0.4:0     Uptime: 00:00:36

Next Hop         : 10.1.4.4

Interface        : GigabitEthernet0/0/0/1

Remote label (D) : 24009

R1은 두 경로를 통해 포워딩하고 있습니다.

RP/0/0/CPU0:R1#show mpls mldp forwarding

mLDP MPLS forwarding database

24008  LSM-ID: 0x00001 flags: None

24009, NH: 10.1.3.3, Intf: GigabitEthernet0/0/0/0 Role: M

24009, NH: 10.1.4.4, Intf: GigabitEthernet0/0/0/1 Role: M

이제 R2에는 2개의 업스트림 인접 디바이스, 즉 하나의 활성(R3)과 하나의 비활성(R4)이 있습니다. 이 단계에서는 60초 동안 전달이 지연됩니다.

RP/0/0/CPU0:R2#show mpls mldp database

mLDP database

LSM-ID: 0x00001  Type: P2MP  Uptime: 00:27:00

FEC Root           : 10.0.0.5

Opaque decoded     : [ipv4 10.0.0.105 232.1.1.1]

MBB nbr evaluate   : 00:00:21

Features           : MBB

Upstream neighbor(s) :

10.0.0.4:0 [Inactive] [MBB] Uptime: 00:00:38

Local Label (D) : 24009

10.0.0.3:0 [Active] [Delete] [MBB] Uptime: 00:06:22

Local Label (D) : 24008

Downstream  client(s):

LDP 10.0.0.6:0     Uptime: 00:27:00

Next Hop         : 10.2.6.6

Interface        : GigabitEthernet0/0/0/2

Remote label (D) : 24010

RP/0/0/CPU0:R2#show mpls mldp forwarding

mLDP MPLS forwarding database

24008  LSM-ID: 0x00001 flags: None

24010, NH: 10.2.6.6, Intf: GigabitEthernet0/0/0/2 Role: M

24009  LSM-ID: 0x00001 flags: ED

24010, NH: 10.2.6.6, Intf: GigabitEthernet0/0/0/2 Role: M

각 mLDP 트리의 로컬 레이블이 다릅니다. 따라서 R2는 수신 mLDP 트래픽을 구별하고 어떤 수신 mLDP 패킷이 어떤 mLDP 트리에 속하는지 식별하는 데 문제가 없습니다. R2는 한 번에 하나의 트리에서만 트래픽을 전달합니다. 플래그 ED는 '이그레스 삭제'를 의미하며, 레이블 24009을 사용하여 도착한 패킷이 삭제됨을 의미합니다. 수락 요소가 비활성 상태인 트리의 패킷입니다. 수신자에게 도착하는 중복 트래픽은 없습니다!

R2의 각 mLDP 트리에 대한 발신 레이블이 동일합니다. 따라서 R2의 다운스트림 라우터인 R6에서는 트래픽이 리라우팅 후 원래 이전(위쪽) 경로를 통해 왔는지 또는 새(아래쪽) 경로를 통해 왔는지 여부를 구분할 수 없습니다.

60초 후 R2는 상위 경로의 트래픽 전달을 중지하고 하위 경로의 트래픽을 시작합니다.

RP/0/0/CPU0:R1 Jan  1 16:53:44.236 : mpls_ldp[1180]: %ROUTING-MLDP-5-BRANCH_DELETE : 0x00001 [ipv4 10.0.0.105 232.1.1.1] P2MP 10.0.0.5, Delete LDP 10.0.0.3:0 branch remote label 24009

R1에는 하나의 다운스트림 클라이언트인 R4만 있습니다.

RP/0/0/CPU0:R1#show mpls mldp database

mLDP database

LSM-ID: 0x00001  Type: P2MP  Uptime: 00:25:21

FEC Root           : 10.0.0.5

Opaque decoded     : [ipv4 10.0.0.105 232.1.1.1]

Features           : MBB

Upstream neighbor(s) :

10.0.0.5:0 [Active] [MBB] Uptime: 00:25:21

Local Label (D) : 24008

Downstream  client(s):

LDP 10.0.0.4:0     Uptime: 00:03:22

Next Hop         : 10.1.4.4

Interface        : GigabitEthernet0/0/0/1

Remote label (D) : 24009

RP/0/0/CPU0:R1#show mpls mldp forwarding

mLDP MPLS forwarding database

24008  LSM-ID: 0x00001 flags: None

24009, NH: 10.1.4.4, Intf: GigabitEthernet0/0/0/1 Role: M

R2에는 업스트림 인접 디바이스가 하나만 있습니다.

RP/0/0/CPU0:R2#show mpls mldp database

mLDP database

LSM-ID: 0x00001  Type: P2MP  Uptime: 00:29:54

FEC Root           : 10.0.0.5

Opaque decoded     : [ipv4 10.0.0.105 232.1.1.1]

Features           : MBB

Upstream neighbor(s) :

10.0.0.4:0 [Active] [MBB] Uptime: 00:03:31

Local Label (D) : 24009

Downstream  client(s):

LDP 10.0.0.6:0     Uptime: 00:29:54

Next Hop         : 10.2.6.6

Interface        : GigabitEthernet0/0/0/2

Remote label (D) : 24010

RP/0/0/CPU0:R2#show mpls mldp forwarding

mLDP MPLS forwarding database

24009  LSM-ID: 0x00001 flags: None

24010, NH: 10.2.6.6, Intf: GigabitEthernet0/0/0/2 Role: M

R2의 mLDP 추적은 MBB 시그널링이 사용되었고, 기존 경로에서 새 경로로 전환하기 전에 60초 지연이 있었고, 이후 기존 경로를 삭제하기 위해 0초 지연이 있었다는 것을 보여준다. 이 후 R2는 기존 경로에 대해 R3에 Label Withdraw(레이블 철회) 메시지를 전송하고 R3로부터 Label Release(레이블 해제) 메시지를 응답으로서 수신합니다.

RP/0/0/CPU0:R2#show mpls mldp trace

Jan  1 16:52:43.370 MLDP GLO 0/0/CPU0 t21 NBR  : New LDP peer 10.0.0.4:0 UP cap: f

Jan  1 16:52:43.370 MLDP GLO 0/0/CPU0 t21 NBR  : 10.0.0.4:0 LDP Adjacency addr: 10.2.4.4, Interface: GigabitEthernet0/0/0/1 Add

Jan  1 16:52:43.660 MLDP LSP 0/0/CPU0 t21 DB   : 0x00001 ACEL 10.0.0.4:0 installed local label 24009

Jan  1 16:52:43.660 MLDP LSP 0/0/CPU0 t21 DB   : 0x00001 P2MP label mappping MBB Request msg to 10.0.0.4:0 Success

Jan  1 16:52:43.660 MLDP LSP 0/0/CPU0 t21 FWD  : 0x00001 Label 24009 add path label 24010 intf GigabitEthernet0/0/0/2 nexthop 10.2.6.6 id 0x00001 Success

Jan  1 16:52:43.660 MLDP GLO 0/0/CPU0 t21 GEN  : Root 10.0.0.5 path 10.2.4.4 php nh 10.2.4.4 peer 134a338c:10.0.0.4:0

Jan  1 16:52:43.910 MLDP LSP 0/0/CPU0 t21 DB   : 0x00001 P2MP notification from 10.0.0.4:0 root 10.0.16.0 Opaque Len: 83886090 MBB Ack

Jan  1 16:52:43.910 MLDP LSP 0/0/CPU0 t21 DB   : 0x00001 Start MBB Notification timer 100 msec (MBB ack)

Jan  1 16:52:43.910 MLDP LSP 0/0/CPU0 t21 DB   : 0x00001 ACEL selection delayed for 60 seconds (MBB)

Jan  1 16:53:44.156 MLDP LSP 0/0/CPU0 t21 DB   : 0x00001 ACEL 10.0.0.3:0 start delete pending timer at 0 sec

Jan  1 16:53:44.156 MLDP LSP 0/0/CPU0 t21 DB   : 0x00001 ACEL 10.0.0.4:0 activate

Jan  1 16:53:44.156 MLDP LSP 0/0/CPU0 t21 DB   : 0x00001 update active ident from 10.0.0.3:0 to 10.0.0.4:0

Jan  1 16:53:44.156 MLDP LSP 0/0/CPU0 t21 DB   : 0x00001 ACEL 10.0.0.3:0 deactivate

Jan  1 16:53:44.256 MLDP LSP 0/0/CPU0 t21 DB   : 0x00001 ACEL 10.0.0.3:0 delete delay timer expired, delete pending TRUE

Jan  1 16:53:44.256 MLDP LSP 0/0/CPU0 t21 FWD  : 0x00001 Label 24008 delete, Success

Jan  1 16:53:44.256 MLDP LSP 0/0/CPU0 t21 DB   : 0x00001 ACEL 10.0.0.3:0 binding list Local Delete

Jan  1 16:53:44.256 MLDP LSP 0/0/CPU0 t21 DB   : 0x00001 Released label 24008 to LSD

Jan  1 16:53:44.256 MLDP LSP 0/0/CPU0 t21 DB   : 0x00001 P2MP label withdraw msg to 10.0.0.3:0 Success

Jan  1 16:53:44.256 MLDP LSP 0/0/CPU0 t21 DB   : 0x00001 ACEL 10.0.0.3:0 remove

Jan  1 16:53:44.256 MLDP LSP 0/0/CPU0 t21 DB   : 0x00001 P2MP label release from 10.0.0.3:0 label 24008 root 10.0.0.5 Opaque Len 11

Jan  1 16:53:44.356 MLDP LSP 0/0/CPU0 t21 DB   : 0x00001 MBB notification delay timer expired

보호를 위한 MBB

mLDP 보호는 보호 자체와 MBB(Make-Before-Break)의 두 가지 주요 부분으로 구성됩니다.

보호

mLDP 트래픽의 보호는 유니캐스트 MPLS 트래픽의 보호 메커니즘과 비슷합니다. 링크 장애가 탐지되면 PLR 라우터는 해당 링크를 지나는 트리의 멀티캐스트 트래픽을 백업 경로로 전환합니다. 이 백업 경로는 포워딩 평면에 설치되는 미리 계산된 경로입니다. 따라서 장애가 발생하는 즉시 멀티캐스트 트래픽을 백업 경로로 즉시 전환할 수 있습니다.

이 보호는 링크 다운 전용입니다. mLDP에 대한 노드 보호가 없습니다.

링크 다운 이벤트는 매우 빠르게 탐지되어야 합니다. 이는 BFD(Bidirectional Forwarding Detection)를 사용해야 함을 의미합니다.

MBB

보호가 시작된 후에는 멀티캐스트 트래픽이 백업 경로에 영원히 머무르지 않습니다. 트래픽은 새로 계산된 네이티브 mLDP 트리/경로로 전환되어야 합니다. 이러한 전환은 멀티캐스트 트래픽이 손실되지 않도록 해야 합니다. MBB가 이 작업에 사용되므로, 새로 신호를 보낸 트리가 완전히 설정되어 트래픽을 전달할 때만 트래픽이 전환됩니다. 그러면 MP 라우터가 트래픽 손실 없이 이전 백업 트리에서 새로 신호 처리된 트리로 트래픽 포워딩을 안전하게 전환할 수 있습니다.

mLDP 보호 이론

이미지 6을 보십시오. Ti-LFA로 보호되는 R1 - R2 링크가 있는 네트워크를 보여줍니다.

이미지 6

mLDP 트래픽은 링크 R1 - R2를 통해 전달됩니다. FRR은 R3을 통해 백업 경로를 계산하고 설치합니다.

이미지 7을 보세요.

이미지 7

이미지 7은 보호가 활성 상태일 때의 상황을 보여줍니다.

링크 R1 - R2가 중단되면 링크 전반의 LDP 세션이 LDP 세션 보호에 의해 활성 상태로 유지됩니다. LDP 세션(TCP 세션)은 R3를 통해 재라우팅됩니다. 이는 R1과 R2 사이의 LDP 및 mLDP에 대한 라벨 바인딩이 제거되는 것을 회피한다. 이 LDP 세션이 R3를 통해 라우팅되고 멀티 홉이 되려면 대상 LDP 세션이어야 합니다. LDP 세션 보호가 구성되면 자동으로 수행됩니다.

링크 R1 - R2가 중단되면 mLDP 트래픽은 R3를 통해 빠른 방법으로 재라우팅될 수 있습니다. 이 기능이 작동하려면 R2의 LDP 라우터 ID를 향하는 경로에 대해 R1에서 어떤 형태로든 보호해야 합니다. 이는 MPLS Traffic Engineering 터널, LFA(Loop-free Alternate) 또는 Ti-LFA(Topology Independent LFA)를 활성화하여 실현됩니다. R1에서 R2로의 멀티캐스트 트래픽에는 mLDP 레이블이 1개 있었습니다. 링크 R1 - 2가 중단되면 멀티캐스트 트래픽은 R2로 전송될 때 추가 레이블을 받습니다. Penultimate Hop Popping(PHP)이 있으므로 트래픽은 R2 방향으로 하나의 레이블로 전달됩니다. R2는 R1 - R2 링크가 작동 중일 때와 동일한 레이블로 이 트래픽을 수신합니다. R2는 이 멀티캐스트 트래픽을 계속 전달합니다.

이 보호 기능은 빠릅니다. mLDP 트래픽에 대한 보호가 있는 동안 R2는 R3를 통해 R1로 향하는 새로운 네이티브 경로를 알리기 시작합니다. 따라서 R2는 mLDP label mapping 메시지를 R3에게 보낸다. R3는 R1에 대해서도 마찬가지이다. 이는 새로운 mLDP 경로를 생성할 때 항상 동일한 프로세스/시그널링입니다. 이 신호 처리가 진행되는 동안 R2는 백업 mLDP 경로에서 트래픽을 계속 전달합니다. R2는 언제 새로 생성된 네이티브 경로에서 트래픽 전달을 시작합니까? 트리거는 두 가지, 즉 시간 지연 또는 시그널링 트리거일 수 있다. 시간이 초과된 지연은 무언가 구성되었습니다. 시그널링 트리거는 mLDP에 도입되고 RFC 6388에 지정된 MBB(Make-Before-Break) 동작입니다. R2가 R1에서 신호를 수신하면 새로운 기본 mLDP 경로가 준비되었음을 나타냅니다. 따라서 R2는 새로운 mLDP 경로에서 트래픽 전달을 시작하고 백업 경로에서 트래픽 전달을 중지할 수 있습니다.

R1은 PLR(Point-of-Local-Repair)이라고 하며, 보호 경로와 새로 신호 처리된 기본 경로가 분기되는 라우터입니다. R2는 MP(Merge Point)로, 보호된 경로와 새로 시그널링된 네이티브 경로가 다시 병합되는 라우터입니다.

이미지 8을 보십시오.

이미지 8

그림 8은 R2에서 R3으로, R3에서 R1로 mLDP 라벨 매핑 메시지가 있음을 보여줍니다. 이 레이블 매핑 메시지에 MBB 요청이 있습니다.

이미지 9를 보세요.

이미지 9

R1은 LDP 알림으로 이 시그널링에 응답하며, 역방향으로 MBB 확인을 전달합니다. 그럼 나무 아래로 이 메시지는 R1에서 R3으로, R3에서 R2로 이동합니다. 이는 MP 라우터인 R2에 새로운 네이티브 mLDP 경로가 준비되었음을 알립니다. 이 시점에서 R1은 mLDP 트래픽을 백업 경로에 한 번, 새로운 네이티브 경로에 한 번 두 번 전달합니다

여기서 MBB는 MP(R2)가 방금 생성된 네이티브 경로로 다시 전환되도록 하는 데 사용됩니다. MBB가 시그널링 부분을 완료하면 MP는 백업 경로에서 도착하는 mLDP 트래픽의 전달을 중지하고 새로 신호 처리된 네이티브 경로에서 트래픽의 전달을 시작합니다. MBB는 여기서 이 새롭게 시그널링된 경로가 준비됨을 나타내기 위해 사용된다. 또 다른 가능성은 지연을 구성하는 것입니다. 이 경우, MP는 백업 경로에서 도착하는 mLDP 트래픽의 전달을 중지하고, MBB가 이 새로운 네이티브 경로가 준비되었다는 신호를 보낸 후, 구성된 지연 타이머 이후에 새로 신호를 받은 네이티브 경로에서 트래픽의 전달을 시작합니다.

R2가 새 기본 경로에서 트래픽 전달을 시작하면 백업 경로에서 트래픽 전달을 중지하고 트리에 대한 LDP Label Revoke 메시지(및 LDP Label Release 메시지)를 전송하여 백업 경로의 해제를 알립니다.

플랫폼이 라인 카드에 대한 모든 전달 상태를 프로그래밍할 수 있도록 기존 트리를 제거하기 위해 추가 삭제 지연을 추가할 수 있습니다.

그 뒤에는 새롭게 신호를 보낸 토종트리만 있다. 이 경우 mLDP 트래픽의 전달을 보려면 이미지 10을 확인하십시오.

이미지 10

mLDP 트래픽의 맨 위에 다시 하나의 MPLS 레이블이 있습니다.

필수 구성

다음 3가지 컨피그레이션 항목은 mLDP FRR(Fast ReRoute)이 작동하기 위해 필요합니다.

필요 사항:

- mLDP에 대한 재귀적 전달 사용

- LDP 세션 보호 사용

- IGP(Ti-LFA에는 세그먼트 라우팅이 필요함) 아래의 LFA(Loop-free Alternate) 또는 Ti-LFA(Topology Independent LFA) 포인트-투-포인트 트래픽 엔지니어링도 가능합니다.

이 세 가지 중 하나라도 없으면 mLDP에 대한 FRR 보호가 없습니다. mLDP는 노드 장애가 아닌 링크 장애에 대해서만 보호합니다.

컨피그레이션 예시

mpls ldp

log

neighbor

nsr

graceful-restart

session-protection

!

igp sync delay on-session-up 25

mldp

logging notifications

address-family ipv4

make-before-break delay 600 60      <<<<<<

forwarding recursive                <<<<<<

!

!

router-id 10.79.196.14

neighbor

dual-stack transport-connection prefer ipv4

!

session protection for LDP-PEERS     <<<<<<

address-family ipv4

label

local

allocate for host-routes

!

!

!

make-before-break 명령은 선택 사항입니다.

발신 인터페이스가 LFA 또는 Ti-LFA에 의해 보호되는지 확인합니다.

router isis IGP

set-overload-bit on-startup 600

net 49.0010.0000.0000.0001.00

segment-routing global-block 100000 150000

nsf cisco

log adjacency changes

lsp-gen-interval maximum-wait 5000 initial-wait 1 secondary-wait 50

lsp-refresh-interval 1800

max-lsp-lifetime 1880

address-family ipv4 unicast

metric-style wide

fast-reroute per-prefix priority-limit critical

fast-reroute per-prefix tiebreaker lowest-backup-metric index 20

fast-reroute per-prefix tiebreaker node-protecting index 30

fast-reroute per-prefix tiebreaker srlg-disjoint index 10

mpls traffic-eng level-2-only

mpls traffic-eng router-id Loopback145

mpls traffic-eng multicast-intact

spf-interval maximum-wait 7000 initial-wait 1 secondary-wait 50

segment-routing mpls sr-prefer

segment-routing prefix-sid-map advertise-local

spf prefix-priority critical tag 17

mpls ldp auto-config

!

address-family ipv6 unicast

metric-style wide

fast-reroute per-prefix priority-limit critical

fast-reroute per-prefix tiebreaker lowest-backup-metric index 20

fast-reroute per-prefix tiebreaker node-protecting index 30

fast-reroute per-prefix tiebreaker srlg-disjoint index 10

spf-interval maximum-wait 7000 initial-wait 1 secondary-wait 50

segment-routing mpls sr-prefer

spf prefix-priority critical tag 17

!

interface Bundle-Ether10362

circuit-type level-2-only

point-to-point

address-family ipv4 unicast

fast-reroute per-prefix            <<<<<<

fast-reroute per-prefix ti-lfa     <<<<<<

metric 420 level 2

mpls ldp sync level 2

!

address-family ipv6 unicast

fast-reroute per-prefix

fast-reroute per-prefix ti-lfa

metric 420 level 2

!

새 네이티브 경로를 따르는 라우터에 MBB가 구성되어 있지 않은 경우 멀티캐스트 트래픽의 보호에는 영향이 없습니다. 보호는 PLR의 LDP 세션 보호, 재귀 포워딩 및 FRR의 컨피그레이션에만 종속됩니다. 새로 기본 경로 라우터의 MBB 컨피그레이션은 트래픽이 백업 경로에서 새로 신호 처리된 트리로 전환될 때만 결과가 발생합니다. mLDP 라우터가 다운스트림 라우터에서 MBB 요청이 있는 레이블 매핑 메시지를 받았는데 업스트림 라우터에 레이블 매핑 메시지를 보내야 하지만 해당 업스트림 라우터가 MBB를 활성화하지 않은 경우, mLDP 라우터는 MBB 요청이 없는 레이블 매핑 메시지를 업스트림 라우터로 전송하는 즉시 LDP 알림 메시지를 이 다운스트림 라우터에 보냅니다. 따라서 일반 mLDP 트리가 결과입니다.

FRR용 MBB 예

이미지 11에서 토폴로지를 확인합니다.

이미지 11

R1과 R2 간의 링크에 장애가 발생하면 R3를 통해 R1과 R2 간의 mLDP 세션이 LDP 대상 세션에 의해 보호됩니다. 따라서 R1과 R2 사이의 mLDP 세션은 그들 사이의 링크가 다운된 경우에도 계속 작동한다. 이렇게 하면 mLDP 레이블 바인딩이 보호되고 유지됩니다. 링크 R1-R2가 다운되면 포워딩 평면이 즉시 전환됩니다. 즉, 발신 링크 R1-R2는 Point-to-Point MPLS TE, LFA 또는 Ti-LFA가 배치된 덕분에 매우 빠른 방법으로 링크 R1-R3로 전환됩니다. 이 P2P MPLS TE, LFA 또는 Ti-LFA는 mLDP에 대한 전달 엔트리를 올바른 방식으로 전환하기 위해 R1에서 R2의 LDP 라우터 ID에 대한 경로를 보호해야 합니다. 마지막으로, mLDP 세션이 직접 연결된 세션에서 LDP 라우터 ID가 재귀적 방식으로 확인되는 원격 세션으로 전환되기 때문에 재귀적 전달이 필요합니다.

R1은 PLR(Point-of-Local-Repair)이라고 하며, 보호 경로와 새로 신호 처리된 기본 경로가 분기되는 라우터입니다. R2는 MP(Merge Point)로, 보호된 경로와 새로 시그널링된 네이티브 경로가 다시 병합되는 라우터입니다.

다음 세 가지 요구 사항을 확인합니다.

-LDP 보호

Bundle-Ethernet10362을 통해 직접 연결된 LDP(mLDP) 인접 디바이스의 경우, 대상 hello도 있어야 합니다.

RP/0/RP0/CPU0:R1#show mpls ldp discovery 10.79.196.10

Local LDP Identifier: 10.79.196.14:0

Discovery Sources:

Interfaces:

Bundle-Ether10362 : xmit/recv

VRF: 'default' (0x60000000)

LDP Id: 10.79.196.10:0, Transport address: 10.79.196.10

Hold time: 15 sec (local:15 sec, peer:15 sec)

Established: Dec 28 10:23:16.144 (00:02:13 ao)

Targeted Hellos:

10.79.196.14 -> 10.79.196.10 (active), xmit/recv

LDP Id: 10.79.196.10:0

Hold time: 90 sec (local:90 sec, peer:90 sec)

Established: Dec 28 10:23:30.008 (00:01:59 ago)

-LFA 또는 IGP 아래의 Ti-LFA

LDP 네이버 라우터 ID에 대한 경로에 백업 경로가 있는지 확인합니다. RIB(Routing Information Base) 및 FIB(Forwarding Information Base 또는 CEF)에는 다음과 같은 백업 경로가 있어야 합니다.

RP/0/RP0/CPU0:R1#show route 10.79.196.10

Routing entry for 10.79.196.10/32

Known via "isis IGP", distance 115, metric 420, labeled SR

Tag 17, type level-2

Installed Dec 28 10:23:42.659 for 00:07:58

Routing Descriptor Blocks

10.254.1.144, from 10.79.196.10, via Bundle-Ether10301, Backup (Local-LFA)

Route metric is 2000

10.254.3.37, from 10.79.196.10, via Bundle-Ether10362, Protected

Route metric is 420

No advertising protos.

RP/0/RP0/CPU0:R1#show cef 10.79.196.10

10.79.196.10/32, version 7364, labeled SR, internal 0x1000001 0x83 (ptr 0x788e1f78) [1], 0x0 (0x788ab5a8), 0xa28 (0x79dd1138)

Updated Oct 25 11:32:44.299

Prefix Len 32, traffic index 0, precedence n/a, priority 1

via 10.254.1.144/32, Bundle-Ether10301, 11 dependencies, weight 0, class 0, backup (Local-LFA) [flags 0x300]

path-idx 0 NHID 0x0 [0x78f4e9b0 0x0]

next hop 10.254.1.144/32

local adjacency

local label 100010      labels imposed {100010}

via 10.254.3.37/32, Bundle-Ether10362, 11 dependencies, weight 0, class 0, protected [flags 0x400]

path-idx 1 bkup-idx 0 NHID 0x0 [0x7905e510 0x7905e350]

next hop 10.254.3.37/32

local label 100010      labels imposed {ImplNull}

-mLDP에 대한 재귀적 전달

재귀적 전달이 적용되는 경우 mLDP 데이터베이스 항목에 LFIB의 발신 인터페이스가 없습니다.

재귀적 전달 없음:

RP/0/RP0/CPU0:R1#show mpls forwarding labels 25426

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

------ ----------- ------------------ ------------ --------------- ------------

25426  24440       mLDP/IR: 0x00001   BE10362      10.254.3.37    7893474

재귀적 전달:

RP/0/RP0/CPU0:R1#show mpls forwarding labels 25426

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

------ ----------- ------------------ ------------ --------------- ------------

25426  24440       mLDP/IR: 0x00001                10.79.196.10    2516786878

mLDP 포워딩 엔트리에 대한 발신 인터페이스는 더 이상 없습니다. 따라서 트러블슈팅이 좀 더 어려워집니다.

MP에는 mLDP에 대한 다음 컨피그레이션이 있습니다. 타이머는 600초 및 60초입니다. PLR에는 동일한 타이머가 있습니다. PLR은 백업 경로와 네이티브 경로를 통해 600초 동안 트래픽을 전달합니다. 600초 지연은 MP가 기본 경로에서 도착하는 트래픽을 삭제하는 동시에 백업 경로에서 오는 트래픽을 600초 동안 전달하는 것을 의미합니다. 600초는 이 타이머의 긴 시간입니다. show 명령으로 출력을 캡처하는 데 충분한 시간을 제공하기 위해 랩 환경에서 사용되었습니다. 60초 지연은 MP가 네이티브 경로에서 도착하는 트래픽을 전달하고 백업 경로를 통과하는 트래픽을 삭제하기 시작한 후 60초 동안 MBB 경로의 삭제를 대기하는 것을 의미합니다. 이 두 가지 지연에 대한 올바른 값은 네트워크에 따라 다릅니다. 특정 네트워크, 소프트웨어 및 하드웨어를 테스트하여 파생되어야 합니다.

mpls ldp

log

neighbor

nsr

graceful-restart

session-protection

!

igp sync delay on-session-up 25

mldp

logging notifications

address-family ipv4

make-before-break delay 600 60

forwarding recursive

!

!

router-id 10.79.196.10

neighbor

dual-stack transport-connection prefer ipv4

!

session protection for LDP-PEERS

address-family ipv4

label

local

allocate for LDP-PEERS

!

!

!

사용 중인 MBB

이미지 12를 보면 mLDP가 보호 모드에 있는 동안 포워딩이 보입니다.

이미지 12

발신 인터페이스가 다운되기 전에 원격 LDP 라우터 ID(R2)에 대한 LFIB 항목입니다.

RP/0/RP0/CPU0:R1#show mpls forwarding labels 100010

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

------ ----------- ------------------ ------------ --------------- ------------

100010 Pop         SR Pfx (idx 10)    BE10362      10.254.3.37    355616309429

100010      SR Pfx (idx 10)    BE10301      10.254.1.144   0            (!)

The (!) indicates a backup path.

다음은 PLR의 mLDP 트리 데이터베이스 항목입니다.

RP/0/RP0/CPU0:R1#show mpls mldp database details

mLDP database

LSM-ID: 0x00001  Type: P2MP  Uptime: 3d03h

FEC Root           : 10.79.196.14 (we are the root)

FEC Length         : 12 bytes

FEC Value internal : 02010004000000015C4FC40E

Opaque length      : 4 bytes

Opaque value       : 01 0004 00000001

Opaque decoded     : [global-id 1]

Features           : MBB RFWD Trace

Upstream neighbor(s) :

None

Downstream  client(s):

LDP 10.79.196.10:0 Uptime: 02:09:09

Rec Next Hop     : 10.79.196.10

Remote label (D) : 24440

LDP MSG ID       : 254705

PIM MDT            Uptime: 3d03h

Egress intf     : Lmdtvrfone

Table ID        : IPv4: 0xe0000014 IPv6: 0xe0800014

HLI             : 0x00001

Ingress         : Yes

Peek            : Yes

PPMP            : Yes

트리에 대한 mLDP 전달 항목입니다.

RP/0/RP0/CPU0:R1#show mpls mldp forwarding label 25426

mLDP MPLS forwarding database

25426  LSM-ID: 0x00001 HLI: 0x00001 flags: In Pk

Lmdtvrfone, RPF-ID: 0, TIDv4: E0000014, TIDv6: E0800014

24440, NH: 10.79.196.10, Intf:  Role: H, Flags: 0x4      Local Label     : 25426 (internal)

트리에 대한 LFIB(Label Forwarding Instance Base) 전달 항목입니다.

RP/0/RP0/CPU0:R1#show mpls for labels 25426

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

------ ----------- ------------------ ------------ --------------- ------------

25426  24440       mLDP/IR: 0x00001                10.79.196.10    0

mLDP 전달 항목이 보호됩니다. 전달 항목은 원격 LDP 라우터 ID에 대한 항목인 100010 레이블을 통해 보호됩니다.

RP/0/RP0/CPU0:R1#show mpls for labels 25426 detail

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

------ ----------- ------------------ ------------ --------------- ------------

25426              mLDP/IR: 0x00001 (0x00001)

Updated Dec 28 10:23:42.669

mLDP/IR LSM-ID: 0x00001, MDT: 0x2000660, Head LSM-ID: 0x00001

IPv4 Tableid: 0xe0000014, IPv6 Tableid: 0xe0800014

Flags:IP Lookup:set, Expnullv4:not-set, Expnullv6:not-set

Payload Type v4:not-set, Payload Type v6:not-set, l2vpn:not-set

Head:set, Tail:not-set, Bud:not-set, Peek:set, inclusive:not-set

Ingress Drop:not-set, Egress Drop:not-set

RPF-ID:0, Encap-ID:0

Disp-Tun:[ifh:0x0, label:-]

Platform Data [64]:

{ 0 0 0 96 0 0 0 96

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 96 0 0 0 96

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 2 9 0 0 2 10

0 0 0 1 0 0 0 1

}

mpls paths: 1, local mpls paths: 0, protected mpls paths:

24440       mLDP/IR: 0x00001 (0x00001)   \

10.79.196.10    0

Updated: Dec 28 10:23:42.670

My Nodeid:0x20

Interface Nodeids:

[ 0x8620 - - - - - - - - -  ]

Interface Handles:

[ 0xc0001c0 - - - - - - - - -  ]

Backup Interface Nodeids:

[ 0x8520 - - - - - - - - - ]

Backup Interface Handles:

[ 0xa000400 - - - - - - - - - ]

via-label:100010, mpi-flags:0x0 tos_masks:[ primary:0x0 backup:0x0]

Packets Switched: 0

하드웨어의 전달 항목입니다. 라우터는 ASR9k 라우터입니다.

RP/0/RP0/CPU0:R1#show mpls for labels 25426 detail hardware ingress location 0/2/CPU0

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

------ ----------- ------------------ ------------ --------------- ------------

25426              mLDP/IR: 0x00001 (0x00001)

Updated Dec 28 10:23:42.674

mLDP/IR LSM-ID: 0x00001, MDT: 0x2000660, Head LSM-ID: 0x00001

IPv4 Tableid: 0xe0000014, IPv6 Tableid: 0xe0800014

Flags:IP Lookup:set, Expnullv4:not-set, Expnullv6:not-set

Payload Type v4:not-set, Payload Type v6:not-set, l2vpn:not-set

Head:set, Tail:not-set, Bud:not-set, Peek:set, inclusive:not-set

Ingress Drop:not-set, Egress Drop:not-set

RPF-ID:0, Encap-ID:0

Disp-Tun:[ifh:0x0, label:-]

Platform Data [64]:

{ 0 0 0 96 0 0 0 96

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 96 0 0 0 96

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 2 9 0 0 2 10

0 0 0 1 0 0 0 1

}

mpls paths: 1, local mpls paths: 0, protected mpls paths: 1

24440       mLDP/IR: 0x00001 (0x00001)   \

10.79.196.10    N/A

Updated: Dec 28 10:23:42.674

My Nodeid:0x8420

Interface Nodeids:

[ 0x8620 - - - - - - - - -  ]

Interface Handles:

[ 0xc0001c0 - - - - - - - - -  ]

Backup Interface Nodeids:

[ 0x8520 - - - - - - - - - ]

Backup Interface Handles:

[ 0xa000400 - - - - - - - - - ]

via-label:100010, mpi-flags:0x0 tos_masks:[ primary:0x0 backup:0x0]

Packets Switched: 0

LEAF - HAL pd context :

sub-type : MPLS_P2MP, ecd_marked:0, has_collapsed_ldi:0

collapse_bwalk_required:0, ecdv2_marked:0,

Leaf H/W Result

Leaf H/W Result on NP:0

09000014000000921806352100020900006000020a0000600000a00001010400

vpn_special                        =           0 (0x0)

vc_label_vpws                      =           0 (0x0)

vc_label_vpls                      =           0 (0x0)

pwhe                               =           0 (0x0)

p2mp                               =           1 (0x1)

tp                                 =           0 (0x0)

recursive                          =           0 (0x0)

non_recursive                      =           1 (0x1)

flow_label_dispose                 =           0 (0x0)

receive_entry_type                 =           0 (0x0)

control_word_enabled               =           0 (0x0)

imp_ttl_255                        =           0 (0x0)

collapsed                          =           0 (0x0)

recursive_lsp_stats                =           0 (0x0)

vpn_key                            =          20 (0x14)

Non-recursive:

rpf_id                           =           0 (0x0)

nrldi_ptr                        =      406817 (0x63521)

P2MP:

rpf_id                           =         146 (0x92)

nrldi_ptr                        =         146 (0x92)

mldp_egr_drop                    =           0 (0x0)

mldp_ing_drop                    =           0 (0x0)

mldp_signal                      =           0 (0x0)

mldp_peek                        =           1 (0x1)

mldp_tunnel                      =           1 (0x1)

p2mp_bud_node                    =           0 (0x0)

p2mp_ip_lookup                   =           0 (0x0)

per_lc_receivers                 =           0 (0x0)

igp_local_label: eos             =           1 (0x1)

igp_local_label: exp             =           0 (0x0)

igp_local_label: label           =       25426 (0x6352)

fab_info: fab_mgid               =         521 (0x209)

fab_info: fab_slotmask           =          96 (0x60)

fab_info: fab_fgid               =   150995040 (0x9000060)

backup_fab_info: backup_fab_mgid =         522 (0x20a)

backup_fab_info: backup_fab_slotmask=          96 (0x60)

backup_fab_info: backup_fab_fgid =   167772256 (0xa000060)

rep_node_ndx                     =       40960 (0xa000)

ecmp_size                        =           1 (0x1)

stats_ptr                        =       66560 (0x10400)

Leaf H/W Result on NP:1

09000014000000921806352100020900006000020a0000600000a00001010400

…

FGID(Fabric Group Index) 및 백업 FGID가 있습니다. FGID는 스위치 패브릭에서 올바른 라인 카드에 멀티캐스트 트래픽을 전달하는 데 사용됩니다. MGID(Multicast Group Identifier)도 있습니다. MGID는 라인 카드의 올바른 복제 요소로 멀티캐스트 트래픽을 전달하는 데 사용됩니다.

RP/0/RP0/CPU0:R1#show mrib encap-id

Encap ID Key    : 00000101000000600600020100000000000002

Encap ID Length : 19

Encap ID Value  : 262145

Platform Annotation:

Slotmask: Primary: 0x40, Backup: 0x60

MGID:     Primary: 64059,   Backup: 64060

Flags (Vrflite(v4/v6),Stale,v6): N/N, N, N

Oles:

[1] type: 0x5, len: 12

LSM-ID: 0x00001      MDT: 0x2000660   Turnaround: TRUE

Primary: 0/4/CPU0[1]

Backup: 0/3/CPU0[1]

TableId: 0xe0000014[1001]

Redist History:

client id 31 redist time: 02:01:27 redist flags 0x0

다음은 MGID 항목을 조회하는 방법입니다.

RP/0/RP0/CPU0:R1#show controllers mgidprgm mgidindex 521 location 0/2/CPU0

Device         MGID-Bits       Client-Last-Modified

=======================================================

XBAR-0         1               P2MP

XBAR-1         1               P2MP

FIA-0          1               P2MP

FIA-1          0               None

FIA-2          0               None

FIA-3          0               None

FIA-4          0               None

FIA-5          0               None

FIA-6          0               None

FIA-7          0               None

========================================================

Client         Mask

========================================================

MFIBV4         0x0

MFIBV6         0x0

L2FIB          0x0

sRP-pseudo-mc  0x0

UT             0x0

Prgm-Svr       0x0

P2MP           0x1

xbar           0x0

UT1            0x0

UT2            0x0

punt_lib       0x0

RP/0/RP0/CPU0:R1#show controllers mgidprgm mgidindex 522 location 0/2/CPU0

Device         MGID-Bits       Client-Last-Modified

=======================================================

XBAR-0         1               P2MP

XBAR-1         1               P2MP

FIA-0          1               P2MP

FIA-1          0               None

FIA-2          0               None

FIA-3          0               None

FIA-4          0               Non

FIA-5          0               None

FIA-6          0               None

FIA-7          0               None

========================================================

Client         Mask

========================================================

MFIBV4         0x0

MFIBV6         0x0

L2FIB          0x0

sRP-pseudo-mc  0x0

UT             0x0

Prgm-Svr       0x0

P2MP           0x1

xbar           0x0

UT1            0x0

UT2            0x0

punt_lib       0x0

이제 발신 인터페이스가 다운되었으며 MBB가 사용 중입니다.

그림 13은 신호 처리를 보여줍니다.

이미지 13

이제 R1에는 이 트리에 대한 두 개의 전달 항목이 있습니다.

RP/0/RP0/CPU0:R1#show mpls forwarding labels 25426

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

------ ----------- ------------------ ------------ --------------- ------------

25426  24440       mLDP/IR: 0x00001                10.79.196.10    1834250032

24033       mLDP/IR: 0x00001                10.79.196.13    1825230386

RP/0/RP0/CPU0:R1#show mpls forwarding labels 25426 detail

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

------ ----------- ------------------ ------------ --------------- ------------

25426              mLDP/IR: 0x00001 (0x00001)

Updated Dec 28 13:07:03.417

mLDP/IR LSM-ID: 0x00001, MDT: 0x2000660, Head LSM-ID: 0x00001

IPv4 Tableid: 0xe0000014, IPv6 Tableid: 0xe0800014

Flags:IP Lookup:set, Expnullv4:not-set, Expnullv6:not-set

Payload Type v4:not-set, Payload Type v6:not-set, l2vpn:not-set

Head:set, Tail:not-set, Bud:not-set, Peek:set, inclusive:not-set

Ingress Drop:not-set, Egress Drop:not-set

RPF-ID:0, Encap-ID:0

Disp-Tun:[ifh:0x0, label:-]

Platform Data [64]:

{ 0 0 0 96 0 0 0 96

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 96 0 0 0 96

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 2 9 0 0 2 10

0 0 0 1 0 0 0 1

}

mpls paths: 2, local mpls paths: 0, protected mpls paths:

24440       mLDP/IR: 0x00001 (0x00001)   \

10.79.196.10    2230150704

Updated: Dec 28 13:07:03.245

My Nodeid:0x20

Interface Nodeids:

[ 0x8520 - - - - - - - - -  ]

Interface Handles:

[ 0xa000400 - - - - - - - - -  ]

Backup Interface Nodeids:

[ - - - - - - - - - - ]

Backup Interface Handles:

[ - - - - - - - - - - ]

via-label:100010, mpi-flags:0x0 tos_masks:[ primary:0x0 backup:0x0]

Packets Switched: 21039158

24033       mLDP/IR: 0x00001 (0x00001)   \

10.79.196.13    2221131058

Updated: Dec 28 13:07:03.417

My Nodeid:0x20

Interface Nodeids:

[ 0x8520 - - - - - - - - -  ]

Interface Handles:

[ 0xa000400 - - - - - - - - -  ]

Backup Interface Nodeids:

[ - - - - - - - - - - ]

Backup Interface Handles:

[ - - - - - - - - - - ]

via-label:100013, mpi-flags:0x0 tos_masks:[ primary:0x0 backup:0x0]

Packets Switched: 20954067

두 개의 다운스트림 mLDP 클라이언트인 R2와 R3가 있습니다.

RP/0/RP0/CPU0:R1#show mpls mldp database details

mLDP database

LSM-ID: 0x00001  Type: P2MP  Uptime: 3d04h

FEC Root           : 10.79.196.14 (we are the root)

FEC Length         : 12 bytes

FEC Value internal : 02010004000000015C4FC40E

Opaque length      : 4 bytes

Opaque value       : 01 0004 00000001

Opaque decoded     : [global-id 1]

Features           : MBB RFWD Trace

Upstream neighbor(s) :

None

Downstream  client(s):

LDP 10.79.196.10:0 Uptime: 02:44:09

Rec Next Hop     : 10.79.196.10

Remote label (D) : 24440

LDP MSG ID       : 254705

LDP 10.79.196.13:0 Uptime: 00:00:48

Rec Next Hop     : 10.79.196.13

Remote label (D) : 24033

LDP MSG ID       : 98489

PIM MDT            Uptime: 3d04h

Egress intf     : Lmdtvrfone

Table ID        : IPv4: 0xe0000014 IPv6: 0xe0800014

HLI             : 0x00001

Ingress         : Yes

Peek            : Yes

PPMP            : Yes

Local Label     : 25426 (internal)

MP(R2)에는 두 개의 업스트림 인접 디바이스가 있으며, 하나는 활성 상태이고 다른 하나는 비활성 상태입니다.

P/0/RSP1/CPU0:R2#show mpls mldp database details

LSM-ID: 0x00002  Type: P2MP  Uptime: 03:45:22

FEC Root           : 10.79.196.14

FEC Length         : 12 bytes

FEC Value internal : 02010004000000015C4FC40E

Opaque length      : 4 bytes

Opaque value       : 01 0004 00000001

Opaque decoded     : [global-id 1]

MBB nbr evaluate   : 00:08:18

Features           : MBB RFWD Trace

Upstream neighbor(s) :

Is CSI accepting    : N

10.79.196.13:0 [Inactive] [MBB] Uptime: 00:01:42

Local Label (D) : 24441

Is CSI accepting    : N

10.79.196.14:0 [Active] [Delete] [MBB] Uptime: 02:45:02

Local Label (D) : 24440

Downstream  client(s):

PIM MDT            Uptime: 03:45:22

Egress intf     : Lmdtvrfone

Table ID        : IPv4: 0xe0000013 IPv6: 0xe0800013

RPF ID          : 3

Peek            : Yes

RD              : 3209:92722001

백업 인터페이스가 R1에서 사라졌습니다.

RP/0/RP0/CPU0:R1#show mpls for labels 25426 detail hardware ingress location 0/2/CPU0

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

------ ----------- ------------------ ------------ --------------- ------------

25426              mLDP/IR: 0x00001 (0x00001)

Updated Dec 28 13:07:03.418

mLDP/IR LSM-ID: 0x00001, MDT: 0x2000660, Head LSM-ID: 0x00001

IPv4 Tableid: 0xe0000014, IPv6 Tableid: 0xe0800014

Flags:IP Lookup:set, Expnullv4:not-set, Expnullv6:not-set

Payload Type v4:not-set, Payload Type v6:not-set, l2vpn:not-set

Head:set, Tail:not-set, Bud:not-set, Peek:set, inclusive:not-set

Ingress Drop:not-set, Egress Drop:not-set

RPF-ID:0, Encap-ID:0

Disp-Tun:[ifh:0x0, label:-]

Platform Data [64]:

{ 0 0 0 96 0 0 0 96

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 96 0 0 0 96

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 2 9 0 0 2 10

0 0 0 1 0 0 0 1

}

mpls paths: 2, local mpls paths: 0, protected mpls paths:

24440       mLDP/IR: 0x00001 (0x00001)   \

10.79.196.10    N/A

Updated: Dec 28 13:07:03.255

My Nodeid:0x8420

Interface Nodeids:

[ 0x8520 - - - - - - - - -  ]

Interface Handles:

[ 0xa000400 - - - - - - - - -  ]

Backup Interface Nodeids:

[ - - - - - - - - - - ]

Backup Interface Handles:

[ - - - - - - - - - - ]

via-label:100010, mpi-flags:0x0 tos_masks:[ primary:0x0 backup:0x0]

Packets Switched: 0

24033       mLDP/IR: 0x00001 (0x00001)   \

10.79.196.13    N/A

Updated: Dec 28 13:07:03.418

My Nodeid:0x8420

Interface Nodeids:

[ 0x8520 - - - - - - - - -  ]

Interface Handles:

[ 0xa000400 - - - - - - - - -  ]

Backup Interface Nodeids:

[ - - - - - - - - - - ]

Backup Interface Handles:

[ - - - - - - - - - - ]

via-label:100013, mpi-flags:0x0 tos_masks:[ primary:0x0 backup:0x0]

Packets Switched: 0

RP/0/RP0/CPU0:R1#show mrib encap-id

Encap ID Key    : 00000101000000600600020100000000000002

Encap ID Length : 19

Encap ID Value  : 262145

Platform Annotation:

Slotmask: Primary: 0x20, Backup: 0x20

MGID:     Primary: 64059,   Backup: 64060

Flags (Vrflite(v4/v6),Stale,v6): N/N, N, N

Oles:

[1] type: 0x5, len: 12

LSM-ID: 0x00001      MDT: 0x2000660   Turnaround: TRUE

Primary: 0/3/CPU0[1]

Backup:

TableId: 0xe0000014[1001]

Redist History:

client id 31 redist time: 00:01:22 redist flags 0x0

MP는 새로 신호 처리된 네이티브 트리로 전환되었으며, 기존 트리를 삭제하기 전 60초 내에 있습니다.

RP/0/RSP1/CPU0:R2#show mpls mldp database details

LSM-ID: 0x00002  Type: P2MP  Uptime: 03:53:56

FEC Root           : 10.79.196.14

FEC Length         : 12 bytes

FEC Value internal : 02010004000000015C4FC40E

Opaque length      : 4 bytes

Opaque value       : 01 0004 00000001

Opaque decoded     : [global-id 1]

Features           : MBB RFWD Trace

Upstream neighbor(s) :

Is CSI accepting    : N

10.79.196.13:0 [Active] [MBB] Uptime: 00:10:16

Local Label (D) : 24441

Is CSI accepting    : N

10.79.196.14:0 [Inactive] [Delete 00:00:44] [MBB] Uptime: 02:53:37

Local Label (D) : 24440

Downstream  client(s):

PIM MDT            Uptime: 03:53:56

Egress intf     : Lmdtvrfone

Table ID        : IPv4: 0xe0000013 IPv6: 0xe0800013

RPF ID          : 3

Peek            : Yes

RD              : 3209:92722001

이전 트리가 삭제된 후의 상태가 있습니다.

RP/0/RSP1/CPU0:R2#show mpls mldp database details

mLDP database

LSM-ID: 0x00002  Type: P2MP  Uptime: 03:58:03

FEC Root           : 10.79.196.14

FEC Length         : 12 bytes

FEC Value internal : 02010004000000015C4FC40E

Opaque length      : 4 bytes

Opaque value       : 01 0004 00000001

Opaque decoded     : [global-id 1]

Features           : MBB RFWD Trace

Upstream neighbor(s) :

Is CSI accepting    : N

10.79.196.13:0 [Active] [MBB] Uptime: 00:14:23

Local Label (D) : 24441

Downstream  client(s):

PIM MDT            Uptime: 03:58:03

Egress intf     : Lmdtvrfone

Table ID        : IPv4: 0xe0000013 IPv6: 0xe0800013

RPF ID          : 3

Peek            : Yes

RD              : 3209:92722001

PLR에는 하나의 다운스트림 mLDP 클라이언트만 있습니다.

RP/0/RP0/CPU0:R1#show mpls mldp database details

mLDP database

LSM-ID: 0x00001  Type: P2MP  Uptime: 3d04h

FEC Root           : 10.79.196.14 (we are the root)

FEC Length         : 12 bytes

FEC Value internal : 02010004000000015C4FC40E

Opaque length      : 4 bytes

Opaque value       : 01 0004 00000001

Opaque decoded     : [global-id 1]

Features           : MBB RFWD Trace

Upstream neighbor(s) :

None

Downstream  client(s):

LDP 10.79.196.13:0 Uptime: 00:11:13

Rec Next Hop     : 10.79.196.13

Remote label (D) : 24033

LDP MSG ID       : 98489

PIM MDT            Uptime: 3d04h

Egress intf     : Lmdtvrfone

Table ID        : IPv4: 0xe0000014 IPv6: 0xe0800014

HLI             : 0x00001

Ingress         : Yes

Peek            : Yes

PPMP            : Yes

Local Label     : 25426 (internal)

mLDP 추적

mLDP 추적은 이벤트를 더 자세히 보여줍니다.

PLR에서

인터페이스 BE10362이 다운됩니다.

Dec 28 13:07:03.220 MLDP GLO 0/RP0/CPU0 t10704 RIB  : Read notification

Dec 28 13:07:03.225 MLDP GLO 0/RP0/CPU0 t10706 RIB  : Notify client 'Peer' for prefix: 10.79.196.10/32

Dec 28 13:07:03.225 MLDP GLO 0/RP0/CPU0 t10706 GEN  : Checkpoint save neighbor 10.79.196.10:0 canceled, no GR or NSR

Dec 28 13:07:03.227 MLDP GLO 0/RP0/CPU0 t10706 NBR  : 10.79.196.10:0 delete adj 2000460/10.254.3.37

Dec 28 13:07:03.227 MLDP GLO 0/RP0/CPU0 t10706 GEN  : Checkpoint delete neighbor adj 2000460/10.254.3.37 objid 0 version 0 Failed

Dec 28 13:07:03.227 MLDP GLO 0/RP0/CPU0 t10706 NBR  : 10.79.196.10:0 LDP Adjacency addr: 10.254.3.37, Interface: Bundle-Ether10362 Delete

Dec 28 13:07:03.325 MLDP GLO 0/RP0/CPU0 t10706 NBR  : 10.79.196.10:0 Check branches for path change

링크가 손실되었지만 LDP 인접성은 손실되지 않으며 대상 세션으로 유지됩니다.

다음 항목은 P 라우터의 새 지사(10.79.196.13)입니다.

Dec 28 13:07:03.401 MLDP LSP 0/RP0/CPU0 t10706 DB   : P2MP Label mapping from 10.79.196.13:0 label 24033 root 10.79.196.14 Opaque Len 7

Dec 28 13:07:03.401 MLDP LSP 0/RP0/CPU0 t10706 DB   : 0x00001 Add branch LDP 10.79.196.13:0 Label 24033

Dec 28 13:07:03.401 MLDP LSP 0/RP0/CPU0 t10706 DB   : 0x00001 Branch LDP 10.79.196.13:0 binding list Remote Add

Dec 28 13:07:03.401 MLDP LSP 0/RP0/CPU0 t10706 DB   : 0x00001 Changing branch LDP 10.79.196.13:0 from None/0.0.0.0 to None/10.79.196.13

Dec 28 13:07:03.401 MLDP LSP 0/RP0/CPU0 t10706 DB   : 0x00001 Notify client Add event: 6 root TRUE

Dec 28 13:07:03.401 MLDP LSP 0/RP0/CPU0 t10706 DB   : 0x00001 Add update to PIM Root TRUE Upstream TRUE Ingress TRUE

Dec 28 13:07:03.401 MLDP LSP 0/RP0/CPU0 t10706 FWD  : 0x00001 Label 25426 add path label 24033 intf None nexthop 10.79.196.13 id 0x00001 Success

Dec 28 13:07:03.401 MLDP LSP 0/RP0/CPU0 t10706 FWD  : 0x00001 Label 25426 set HLI 0x00001 Success

Dec 28 13:07:03.401 MLDP LSP 0/RP0/CPU0 t10706 DB   : 0x00001 Notify client Add event: 6 root TRUE

Dec 28 13:07:03.401 MLDP LSP 0/RP0/CPU0 t10706 DB   : 0x00001 Add update to PIM Root TRUE Upstream TRUE Ingress TRUE

Dec 28 13:07:03.401 MLDP LSP 0/RP0/CPU0 t10706 FWD  : 0x00001 Label 25426 add path label 24033 intf None nexthop 10.79.196.13 id 0x00001 Success

Dec 28 13:07:03.401 MLDP LSP 0/RP0/CPU0 t10706 FWD  : 0x00001 Label 25426 set HLI 0x00001 Success

Dec 28 13:07:03.401 MLDP LSP 0/RP0/CPU0 t10705 DB   : 0x00001 Add event from mLDP to PIM, ready TRUE root TRUE csc_rd 0:0 csc_umh 0.0.0.0, msg_len 50

Dec 28 13:07:03.401 MLDP LSP 0/RP0/CPU0 t10705 DB   : 0x00001 Add event from mLDP to PIM, ready TRUE root TRUE csc_rd 0:0 csc_umh 0.0.0.0, msg_len 50

Dec 28 13:07:05.296 MLDP GLO 0/RP0/CPU0 t10706 NBR  : 10.79.196.10:0 to address: 10.254.3.37 mapping deleted

나머지는 청소입니다. R3는 R1에 Label Revoke 메시지 및 Label Release 메시지를 보냅니다.

Dec 28 13:18:04.635 MLDP LSP 0/RP0/CPU0 t10706 DB   : 0x00001 P2MP label withdraw from 10.79.196.10:0 label 24440 root 10.79.196.14 Opaque Len 7

Dec 28 13:18:04.635 MLDP LSP 0/RP0/CPU0 t10706 DB   : 0x00001 P2MP label release msg to 10.79.196.10:0 Success

Dec 28 13:18:04.635 MLDP LSP 0/RP0/CPU0 t10706 FWD  : 0x00001 Label 25426 delete path label 24440 intf None nexthop 10.79.196.10 id 0x00001 Success

Dec 28 13:18:04.635 MLDP LSP 0/RP0/CPU0 t10706 DB   : 0x00001 Branch LDP 10.79.196.10:0 binding list Remote Delete

Dec 28 13:18:04.635 MLDP LSP 0/RP0/CPU0 t10706 DB   : 0x00001 Deleting branch entry LDP 10.79.196.10:0

MP에서

MP에 대한 인터페이스가 다운됩니다. 링크를 통해 인접성이 손실되지만 LDP 인접성은 시작 세션으로 유지됩니다.

Dec 28 13:05:27.134 MLDP GLO 0/RSP1/CPU0 t31491 NBR  : 10.79.196.14:0 delete adj 20003a0/10.254.3.36

Dec 28 13:05:27.134 MLDP GLO 0/RSP1/CPU0 t31491 GEN  : Checkpoint delete neighbor adj 20003a0/10.254.3.36 objid 0 version 0 Failed

Dec 28 13:05:27.134 MLDP GLO 0/RSP1/CPU0 t31491 NBR  : 10.79.196.14:0 LDP Adjacency addr: 10.254.3.36, Interface: Bundle-Ether10362 Delete

Dec 28 13:05:27.134 MLDP GLO 0/RSP1/CPU0 t31491 GEN  : Start path timer for root: 10.79.196.14

Dec 28 13:05:27.134 MLDP GLO 0/RSP1/CPU0 t31491 GEN  : Checkpoint save neighbor 10.79.196.14:0 canceled, no GR or NSR

Dec 28 13:05:27.152 MLDP GLO 0/RSP1/CPU0 t31488 RIB  : Read notification

Dec 28 13:05:27.152 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 Root paths count 1

Dec 28 13:05:27.152 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 None 10.79.196.13

Dec 28 13:05:27.152 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 ACEL 10.79.196.13:0 added (chkpt FALSE)

Dec 28 13:05:27.152 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 ACEL 10.79.196.13:0 binding list Local Add

Dec 28 13:05:27.152 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 ACEL 10.79.196.13:0 path changed from None:0.0.0.0 to None:10.79.196.13

Dec 28 13:05:27.152 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 Request label type ACEL ident 10.79.196.13:0 LSD Success

Dec 28 13:05:27.153 MLDP GLO 0/RSP1/CPU0 t31491 RIB  : Notify client 'Root' for prefix: 10.79.196.14/32

Dec 28 13:05:27.153 MLDP GLO 0/RSP1/CPU0 t31491 GEN  : Root 10.79.196.14 path 10.254.1.184 php nh 10.254.1.184 peer 72d83798:10.79.196.13:0

Dec 28 13:05:27.153 MLDP GLO 0/RSP1/CPU0 t31491 GEN  : mldp_root_get_path: tid e0100000 ifh 0  php_nh 0.0.0.0

Dec 28 13:05:27.153 MLDP GLO 0/RSP1/CPU0 t31491 GEN  : Failed to get intf type for ifh 0x0

Dec 28 13:05:27.153 MLDP GLO 0/RSP1/CPU0 t31491 RIB  : Notify client 'Peer' for prefix: 10.79.196.14/32

Dec 28 13:05:27.153 MLDP GLO 0/RSP1/CPU0 t31491 GEN  : Checkpoint save neighbor 10.79.196.14:0 canceled, no GR or NSR

Dec 28 13:05:27.153 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 Main Entry LSD label 24441 type ACEL ident 10.79.196.13:0 assigned

Dec 28 13:05:27.153 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 ACEL 10.79.196.13:0 installed local label 24441

Dec 28 13:05:27.153 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 Neighbor 10.79.196.13:0 not MBB capable or worse metric, ignore MBB code 0

MBB 시작: 600초는 구성된 전환 지연입니다.

Dec 28 13:05:27.153 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 Start MBB Notification timer 100 msec (MBB ack)

Dec 28 13:05:27.153 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 ACEL selection delayed for 600 seconds (MBB)

Dec 28 13:05:27.153 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 P2MP label mappping  msg to 10.79.196.13:0 Success

Dec 28 13:05:27.153 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 ACEL selection delayed for 600 seconds (MBB)

P 라우터를 통한 새 경로가 생성됩니다.

Dec 28 13:05:27.153 MLDP LSP 0/RSP1/CPU0 t31491 FWD  : 0x00002 Label 24441 create, Flags: 5 Success

Dec 28 13:05:27.153 MLDP LSP 0/RSP1/CPU0 t31491 FWD  : 0x00002 Label 24441 add path lspvif Lmdtvrfone rpf-id 3 tid v4 0xe0000013 v6 0xe0800013 Success

Dec 28 13:05:27.153 MLDP LSP 0/RSP1/CPU0 t31491 FWD  : 0x00002 Label 24441 id_val 0 id_type 0

Dec 28 13:05:27.154 MLDP GLO 0/RSP1/CPU0 t31491 GEN  : ACEL for local label 24441 label up 1048577

Dec 28 13:05:27.233 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 Root paths count 1

Dec 28 13:05:27.233 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 None 10.79.196.13

Dec 28 13:05:27.233 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 ACEL 10.79.196.13:0 found, retain TRUE, to front TRUE

Dec 28 13:05:27.233 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 ACEL selection delayed for 600 seconds (MBB)

Dec 28 13:05:27.234 MLDP GLO 0/RSP1/CPU0 t31491 NBR  : 10.79.196.14:0 Check branches for path change

Dec 28 13:05:27.234 MLDP GLO 0/RSP1/CPU0 t31491 GEN  : Checking paths for root: 10.79.196.14

Dec 28 13:05:27.234 MLDP GLO 0/RSP1/CPU0 t31491 GEN  : mldp_root_get_path: tid e0100000 ifh 0  php_nh 0.0.0.0

Dec 28 13:05:27.350 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 MBB notification delay timer expired

Dec 28 13:05:29.275 MLDP GLO 0/RSP1/CPU0 t31491 NBR  : 10.79.196.14:0 to address: 10.254.3.36 mapping deleted

600초 타이머가 만료됩니다.

Dec 28 13:15:28.352 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 Peer change delay timer expired

Dec 28 13:15:28.352 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 ACEL evaluate

이 항목은 60초 후에 삭제됩니다.

Dec 28 13:15:28.352 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 ACEL 10.79.196.14:0 start delete pending timer at 60 sec

Dec 28 13:15:28.352 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 ACEL 10.79.196.13:0 activate

Dec 28 13:15:28.352 MLDP LSP 0/RSP1/CPU0 t31491 FWD  : 0x00002 Label 24441 create, Flags: 1 Success

Dec 28 13:15:28.352 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 update active ident from 10.79.196.14:0 to 10.79.196.13:0

Dec 28 13:15:28.352 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 Checkpoint save Main Entry active 10.79.196.13:0 rec_nh 0.0.0.0 rec_rd 0:0 cont...

Dec 28 13:15:28.352 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 Checkpoint save lbl no_label length: 88 obj 80002f60 version 136 Success

Dec 28 13:15:28.352 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 ACEL 10.79.196.14:0 deactivate

Dec 28 13:15:28.352 MLDP LSP 0/RSP1/CPU0 t31491 FWD  : 0x00002 Label 24440 create, Flags: 5 Success

Dec 28 13:15:28.352 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 update active ident from 10.79.196.13:0 to 0.0.0.0:0

Dec 28 13:15:28.352 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 Checkpoint save Main Entry active 0.0.0.0:0 rec_nh 0.0.0.0 rec_rd 0:0 cont...

Dec 28 13:15:28.352 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 Checkpoint save lbl no_label length: 88 obj 80002f60 version 137 Success

Dec 28 13:15:28.352 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 update active ident from 0.0.0.0:0 to 10.79.196.13:0

Dec 28 13:15:28.352 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 Checkpoint save Main Entry active 10.79.196.13:0 rec_nh 0.0.0.0 rec_rd 0:0 cont...

Dec 28 13:15:28.352 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 Checkpoint save lbl no_label length: 88 obj 80002f60 version 138 Success

Dec 28 13:15:28.352 MLDP GLO 0/RSP1/CPU0 t31491 GEN  : ACEL for local label 24441 label up 1048577

Dec 28 13:15:28.352 MLDP GLO 0/RSP1/CPU0 t31491 GEN  : ACEL for local label 24440 label up 1048577

삭제 지연 타이머가 만료됩니다. R3는 Label Wtihdraw 메시지 및 Label Release 메시지를 R1에 보냅니다.

Dec 28 13:15:28.552 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 MBB notification delay timer expired

Dec 28 13:16:28.552 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 ACEL 10.79.196.14:0 delete delay timer expired, delete pending TRUE

Dec 28 13:16:28.552 MLDP LSP 0/RSP1/CPU0 t31491 FWD  : 0x00002 Label 24440 delete, Success

Dec 28 13:16:28.552 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 ACEL 10.79.196.14:0 binding list Local Delete

Dec 28 13:16:28.552 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 Released label 24440 to LSD

Dec 28 13:16:28.552 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 P2MP label withdraw msg to 10.79.196.14:0 Success

Dec 28 13:16:28.552 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 ACEL 10.79.196.14:0 remove

Dec 28 13:16:28.557 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 P2MP label release from 10.79.196.14:0 label 24440 root 10.79.196.14 Opaque Len 7

스케일 MLDP LSP에 대한 FRR 타이머 구성

LSP가 500개가 넘는 확장형 설정에서 FRR이 발생하면 mLDP 레이블 업데이트에 대해 유니캐스트 IGP(Internet Gateway Protocol)가 멀티캐스트 업데이트(LMRIB-FIB)보다 빠르게 통합될 수 있습니다. 따라서 FIB는 FRR 이벤트 후 2초 내에 FRR 비트를 표시할 수 있습니다. 여기서 mLDP 레이블 하드웨어 프로그래밍이 이그레스 라인 카드에서 완료되지 않아 백업 경로를 호스팅합니다. FRR 대기 시간은 기본적으로 2초입니다.

이 FRR 대기 시간을 확장형 설정에서 늘리는 것이 좋습니다.

frr-holdtime 명령은 FRR holdtime이 LSP의 스케일 수에 비례하도록 구성합니다. 권장 frr-holdtime 값은 MBB 지연 타이머와 같거나 그보다 작습니다. 이렇게 하면 기본 경로 중단 이벤트 후에 이그레스 라인 카드가 FRR 상태가 됩니다. 구성되지 않은 경우 기본 frr-holdtimer(초)는 2로 설정됩니다.

이 명령은 5.3.2에 도입되었습니다.

RP/0/RSP1/CPU0:ASR-9906#conf t

RP/0/RSP1/CPU0:ASR-9906(config)#cef platform ?

lsm  Label-switched-multicast parameters

RP/0/RSP1/CPU0:ASR-9906(config)#cef platform lsm ?

frr-holdtime  Time to keep FRR slots programmed post FRR

RP/0/RSP1/CPU0:ASR-9906(config)#cef platform lsm frr-holdtime ?

<3-180>  Time in seconds

결론

MBB는 멀티캐스트 트래픽을 백업 경로에서 네이티브 경로로 다시 전환할 때 라우팅 통합의 경우 및 링크가 다운될 경우 트래픽을 보호하는 경우 리라우팅을 위해 멀티캐스트 트래픽 손실을 방지하는 작업을 할 수 있습니다.

MBB를 활성화하려면 구성해야 합니다. 모든 라우터에서 구성해야 합니다.

MBB 전달 지연은 해당 mLDP 트리에서 트래픽을 전달하기 전에 전달 플레인에서 새로 신호 받은 mLDP 트리를 설치할 수 있도록 몇 초로 구성되어야 합니다.