목차

소개

문제

솔루션의 아키텍처

PE 라우터 엔드포인트 식별

VPLS ID 및 MPLS 레이블

캡슐화 정보

VPLS BGP 자동 검색 접두사 및 VPLS BGP 신호 접두사

샘플 Cisco IOS 소프트웨어 구성

광고 레이블 블록

경로 구별자 및 경로 대상

PE1의 컨피그레이션 예

레이블 범위 확인

레이블 확인

레이블 블록 확인

광고 접두사 확인

접두사를 자세히 보기

BGP 업데이트 메시지에서 레이블 블록 알림, 수신 및 처리

PE2:BGP 업데이트 수신

PE2:레이블 찾기

PE2:PE1에 접두사 보내기

PE1:레이블 찾기

추가 확인 명령

하나의 VFI에 대해 PE 라우터가 광고하는 다중 L2VPN VPLS 접두사

PE1 컨피그레이션

PE2 컨피그레이션

초기 레이블 블록

PE1 및 PE2 Exchange

PE1 및 PE2 교환 분석

접두사 세부 정보

상호 운용성

소개

이 문서에서는 BGP 신호 처리 VPLS(Virtual Private LAN Service)에 대한 BGP(Border Gateway Protocol) 기반 자동 검색에 대해 설명합니다.자동 검색은 PE(Provider Edge)에서 어떤 원격 PE가 지정된 VPLS 도메인의 구성인지 확인하는 방법입니다.신호 처리는 PE가 지정된 VPLS 도메인에 대해 지정된 원격 PE에서 요구하는 의사 레이블을 학습하기 위한 방법입니다.

다음 Internet Engineering Task Force 문서를 참조하십시오.

- RFC 4762 LDP(Label Distribution Protocol)를 사용하는 VPLS(Virtual Private LAN Service)는 VPLS (Martini라고도 함)에 대한 LDP(Label Distribution Protocol) 시그널링을 사용하여 BGP 자동 검색을 설명합니다.

- RFC 4761 VPLS(Virtual Private LAN Service) Using BGP for Auto-Discovery and Signaling은 VPLS (Kompella라고도 함)에 대한 BGP 자동 검색 및 BGP 신호 처리를 설명합니다.

이 문서에서는 RFC 4761에 초점을 맞춥니다.RFC 4761을 통해 BGP 업데이트의 BGP NLRI(Network Layer Reachability Information)는 자동 검색 및 신호 처리 모두에 대한 정보를 보관합니다.원격 PE 라우터가 이 BGP 업데이트를 수신하면 VPLS에 대한 의사 와이어의 전체 메쉬를 설정하는 데 필요한 모든 정보가 제공됩니다.BGP 자동 검색 및 BGP 시그널링은 동일한 BGP 주소군을 사용합니다.

CLI(Command-Line Interface) 및 출력은 Cisco IOS® Software에서 가져옵니다.구성 및 기능은 Cisco IOS-XR 소프트웨어 및 Cisco NX-OS 소프트웨어에서 매우 유사합니다.

문제

VPLS는 포인트-투-다중 지점 방식으로 PW(Pseudowire)로 구성됩니다.지금까지 LDP는 PE 라우터 간의 의사 전달에 사용되었습니다.따라서 대상 LDP 세션에서는 PE 라우터 한 쌍 간에 의사 유선으로 사용할 레이블을 표시했습니다.하나의 VPLS 도메인에 참여하는 PE 라우터 집합을 수동으로 구성하거나 BGP를 사용하여 컨피그레이션을 자동으로 검색할 수 있습니다.이 자동 검색을 수행하기 위해 VPLS 도메인의 멤버인 PE를 BGP에 알렸습니다.그러나 BGP 자동 검색에서도 LDP는 MPLS(Multiprotocol Label Switching) VC(Virtual Circuit) 레이블과 pseudowire ID에 신호를 보내는 데 사용되었습니다.

이제 PE 라우터 간의 의사 와이어에 신호를 보내기 위해 BGP를 사용할 수 있습니다.

한 쌍의 라우터 간에 하나의 pseudwire를 설정할 경우 다른 라우터에는 이 pseudwire와 관련된 정보가 필요하지 않습니다.예를 들어, 이러한 정보는 사용할 VC 레이블입니다.

LDP가 의사 와이어를 설정하기 위한 신호 프로토콜로 사용되는 경우 LDP는 포인트 투 포인트 방식으로 신호를 보내기 때문에 이 정보는 라우터 쌍에서만 수신됩니다.

BGP를 의사 유선을 설정하기 위한 신호 프로토콜로 사용하면 iBGP(internal BGP)가 포인트 투 멀티포인트 방식으로 신호를 수행하므로 다른 모든 라우터에서 정보를 수신합니다.iBGP에는 풀 메시 요건이 있으므로 하나의 라우터가 다른 모든 iBGP 라우터에 iBGP 업데이트를 전송합니다.경로 리플렉터를 사용하여 이 작업을 수행할 수도 있습니다.

iBGP를 시그널링 프로토콜로 사용하면 업데이트를 전송하는 두 가지 방법이 있습니다.

1. 각 PE 라우터는 각 PW에 대해 모든 iBGP 네이버에 하나의 BGP 업데이트를 알립니다.매번 하나의 MPLS VC 레이블이 연결됩니다.따라서 하나의 PE 라우터가 PE 라우터와 같은 수의 BGP 업데이트를 전송합니다.그러나 BGP 업데이트에 연결된 VC 레이블은 PW의 반대쪽 끝에 있는 PE 라우터 중 하나만 사용할 수 있습니다.

2. 이러한 많은 수의 BGP 업데이트의 문제를 방지하기 위해 하나의 로컬 PE 라우터가 모든 원격 PE 라우터에 로컬 VC 레이블 세트 또는 블록을 전송하는 아키텍처를 설계했습니다.각 원격 PE 라우터는 로컬 PE 라우터에 대한 PW의 원격 VC 레이블로 사용할 VC 레이블 중 하나를 선택합니다.원격 PE 라우터는 알려진 레이블 블록에서 동일한 VC 레이블을 선택하지 않도록 고유한 방식으로 원격 VC 레이블을 선택해야 합니다.레이블 블록이 전송되기 때문에 설정할 수 있는 모든 가능한 PW를 제공하기 위해 사용 가능한 레이블이 충분히 있어야 하지만, 너무 많은 레이블이 예약되어 사용되지 않고 낭비되어서는 안 됩니다.

이 문서에서는 유사 와이어에 신호를 보내기 위해 BGP를 사용하는 방법에 대해 설명합니다.BGP는 자동 검색에도 동시에 사용됩니다.

솔루션의 아키텍처

이는 VPLS이므로, PE에서 PE 라우터로 레이블이 지정된 패킷을 전달하기 위해 코어에 hop-by-hop 시그널링 프로토콜이 여전히 필요합니다.코어의 이 전송 기능은 LDP 또는 MPLS 트래픽 엔지니어링에서 계속 수행되어야 합니다.

BGP는 VPLS에 필요한 포인트-투-멀티포인트 방식으로 의사 와이어를 설정하려면 필요한 정보를 보내야 합니다.이 신호 정보는 다음과 같습니다.

- PE 라우터 엔드포인트 식별

- VPLS ID

- MPLS 레이블 블록

- 캡슐화 정보

PE 라우터 엔드포인트 식별

PE 라우터 엔드포인트 식별은 업데이트의 BGP 발신자인 PE 라우터에서 결정됩니다.

L2VPN(Layer 2 Virtual Private Networks) VPLS에 대한 BGP 업데이트는 AFI/SAFI 25/65로 식별됩니다. 이 주소 패밀리는 BGP가 OPEN 메시지를 전송할 때 협상됩니다.

VPLS ID 및 MPLS 레이블

접두사라고도 하는 NLRI는 VPLS ID 및 MPLS 레이블 블록에 대한 정보를 보유합니다.인코딩의 총 길이는 19바이트입니다.

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

|  Length (2 octets)                 |

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

|  Route Distinguisher  (8 octets)   |

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

|  VE ID (2 octets)                  |

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

|  VE Block Offset (2 octets)        |

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

|  VE Block Size (2 octets)          |

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

|  Label Base (3 octets)             |

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

RD(Route Distinguisher)는 VPLS의 ID와 관련이 있습니다.

참고:Cisco IOS 및 Cisco NX-OS 소프트웨어 구현에서 모든 PE 라우터는 동일한 VPLS 도메인 내에서 동일한 RD를 가져야 합니다.

가상 확장(VE) ID, VE 블록 오프셋, VE 블록 크기 및 LB(Label Base)는 다음 섹션에 설명된 대로 알려진 레이블 블록과 관련됩니다.

캡슐화 정보

캡슐화 정보는 접두사에 연결되며 BGP 업데이트에 확장 커뮤니티 'Layer2 Info Extended Community'로 인코딩됩니다.값은 0x800A이며 다음과 같이 인코딩됩니다.

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

| Extended community type (2 octets) |

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

|  Encaps Type (1 octet)             |

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

|  Control Flags (1 octet)           |

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

|  Layer-2 MTU (2 octet)             |

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

|  Reserved (2 octets)               |

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

VPLS의 Encaps 유형은 19입니다.

컨트롤 플래그(비트 벡터)는 다음과 같이 인코딩됩니다.

0 1 2 3 4 5 6 7

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

|   MBZ     |C|S|      (MBZ = MUST Be Zero)

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

이름

가치

의미

C

1

VPLS 패킷이 이 PE로 전송될 때 제어 단어가 있어야 합니다.

0

VPLS 패킷이 이 PE로 전송되는 경우 제어 단어가 없어야 합니다.

S

1

VPLS 패킷이 이 PE로 전송될 때 프레임의 순차 전달을 사용해야 합니다.

0

VPLS 패킷이 이 PE로 전송될 때 프레임의 순차적 전달을 사용하지 않아야 합니다.

BGP 업데이트에 연결된 RT(Route Target)도 있습니다.RT는 MPLS L3VPN과 동일한 방식으로 L2VPN에서 가져오기 및 내보내기를 제어합니다.

VPLS BGP 자동 검색 접두사 및 VPLS BGP 신호 접두사

VPLS BGP 자동 검색 접두사는 /96 접두사이지만 VPLS BGP 신호 접두사는 /136 접두사입니다.다음은 각 항목의 예입니다.

PE2#show bgp l2vpn vpls all

BGP table version is 264, local router ID is 10.100.1.2

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

r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,

x best-external, a additional-path, c RIB-compressed,

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

RPKI validation codes: V valid, I invalid, N Not found

Network          Next Hop            Metric LocPrf Weight Path

Route Distinguisher: 1:100

*>i 1:100:VEID-1001:Blk-150/136

10.100.1.1               0    100      0 ?

*>  1:100:10.100.1.2/96

0.0.0.0                            32768 ?

PE2#show bgp l2vpn vpls rd 1:100 ve-id 1001 block-offset 150

BGP routing table entry for 1:100:VEID-1001:Blk-150/136, version 262

Paths: (1 available, best #1, table L2VPN-VPLS-BGP-Table)

Not advertised to any peer

Refresh Epoch 1

Local

10.100.1.1 (metric 21) from 10.100.1.4 (10.100.1.4)

Origin incomplete, metric 0, localpref 100, valid, internal, best

AGI version(0), VE Block Size(50) Label Base(10105)

Extended Community: RT:1:100 RT:32:64 L2VPN L2:0x0:MTU-1500

Originator: 10.100.1.1, Cluster list: 10.100.1.4

rx pathid: 0, tx pathid: 0x0

PE2#show bgp l2vpn vpls rd 1:100 10.100.1.2

BGP routing table entry for 1:100:10.100.1.2/96, version 43

Paths: (1 available, best #1, table L2VPN-VPLS-BGP-Table)

Not advertised to any peer

Refresh Epoch 1

Local

0.0.0.0 from 0.0.0.0 (10.100.1.2)

Origin incomplete, localpref 100, weight 32768, valid, sourced, local,

best, AGI version(0)

Extended Community: RT:1:100 L2VPN AGI:1:100

rx pathid: 0, tx pathid: 0x0

샘플 Cisco IOS 소프트웨어 구성

다음은 Cisco IOS 소프트웨어 구성의 예입니다.

!

l2vpn vfi context one

vpn id 100

autodiscovery bgp signaling bgp     <<< "signaling ldp" would be RFC 4762

ve id 1001

ve range 50

route-target export 32:64

route-target import 32:64

mpls label range 10000 20000

!

bridge-domain 1

member Ethernet0/0 service-instance 100

member vfi one

!

l2 router-id 10.100.1.1

!

interface Ethernet0/0

no ip address

service instance 100 ethernet

!

!

router bgp 1

bgp log-neighbor-changes

neighbor 10.100.1.4 remote-as 1

neighbor 10.100.1.4 update-source Loopback0

!

address-family l2vpn vpls

neighbor 10.100.1.4 activate

neighbor 10.100.1.4 send-community extended

neighbor 10.100.1.4 suppress-signaling-protocol ldp

exit-address-family

광고 레이블 블록

하나의 PE 라우터가 하나 이상의 레이블 블록을 광고해야 합니다.레이블 블록은 연속적인 MPLS 레이블 집합이며 원격 PE 라우터에서 하나의 원격 VC 레이블을 선택하기 위해 사용합니다.원격 레이블은 로컬 및 원격 PE 라우터 간 PW에 사용됩니다.(PE 라우터는 이후 섹션에서 설명한 대로 여러 레이블 블록을 광고할 수 있습니다.)

각 PE에 VE-ID를 구성해야 합니다.VPLS 도메인 내에서 PE 라우터를 식별합니다.

VBS(VE Block Size)는 레이블 블록의 크기이며 기본값은 10입니다. 've range'가 구성된 경우 해당 값입니다.'ve range'는 [11 -100]로 구성할 수 있습니다.

Label Base(LB)는 이 VPLS 도메인에 사용할 PE 라우터에서 예약할 수 있는 사용 가능한 레이블 집합의 첫 번째 레이블 값입니다.

VBO(VE Block Offset)는 PE 라우터에서 여러 레이블 블록을 생성해야 하는 경우 사용할 오프셋 값입니다.VBO는 다음 등식으로 계산됩니다.VBO = RND(VE-ID/VBS) * VBS

다음은 계산 예입니다.

- VBS = 8 및 VE-ID = 2인 경우 VBO = RND(2/8) * 8 = 1

- VBS = 8, VE-ID = 20인 경우 VBO = RND(20/8) * 8 = 16

- VBS = 50 및 VE-ID = 199이면 VBO = RND(199/50) * 50 = 150

- VBS = 50 및 VE-ID = 1002이면 VBO = RND(1002/50) * 50 = 1000

원격 PE 라우터에 광고되는 레이블 블록은 {LB, LB + 1, ?, LB + VBS - 1}.레이블 블록은 LB와 VBS로 정의됩니다.블록은 LB에서 시작하여 (LB + VBS - 1)로 끝납니다.

필요한 경우 각 PE 라우터에서 여러 레이블 블록을 생성할 수 있습니다.라우터는 연속 사용 가능한 레이블 집합인지 확인해야 합니다.

경로 구별자 및 경로 대상

PE1의 컨피그레이션 예

router bgp 1

l2vpn vfi context one

vpn id 100

autodiscovery bgp signaling bgp

ve id 1001

ve range 50

route-target export 32:64

route-target import 32:64

mpls label range 10000 20000

구성 값에 대한 설명입니다.

- VPN ID는 100으로 구성됩니다.

- RD가 명시적으로 구성되지 않는 한 RD는 [ASN:vpn id]에서 가져옵니다.여기, RD는 1시 100분입니다.

- 가져오기/내보내기 경로 대상은 32:64입니다.

- LB는 [10000 20000] 범위의 값입니다.LB의 정확한 값은 VBS에서 결정한 모든 레이블을 수용할 만큼 충분히 큰 사용 가능한 연속 로컬 레이블 첫 번째 집합에 따라 달라집니다.

- VE-ID는 1001로 구성됩니다.

- VBS는 50으로 구성됩니다.

- VBO는 다음과 같이 계산됩니다.VBO = RND(VE-ID/VBS) * VBS 또는 RND(1001/50) * 50 = 1000입니다.

레이블 범위 확인

show mpls label range 명령을 사용하여 레이블 범위를 확인할 수 있습니다.

PE1#show mpls label range

Downstream Generic label region: Min/Max label: 10000/20000

플랫폼별 기본 레이블 범위가 있으며, mpls label range 명령으로 변경할 수 있습니다.

레이블 확인

show mpls forwarding-table 명령을 사용하여 LFIB(label forwarding information base)에서 한 레이블 블록에 대해 실제 사용된 레이블을 확인할 수 있습니다.

PE1#show mpls forwarding-table

Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop   Label

Label      or Tunnel Id     Switched      interface

10000      No Label   lbl-blk-id(1:0)  0             drop

10001      No Label   lbl-blk-id(1:1)  0             drop

10002      No Label   lbl-blk-id(1:2)  0             drop

?

10048      No Label   lbl-blk-id(1:48) 0             drop

10049      No Label   lbl-blk-id(1:49) 0             drop

10050      Pop Label  10.100.1.4/32    0             Et1/0      10.1.1.4

이 예에서 로컬 라우터인 PE1은 레이블 블록에 대해 50개의 로컬 레이블을 예약했습니다.'lbl-blk-id(1:0)'는 블록의 첫 번째 레이블을 식별하는 블록 ID의 1과 블록 인스턴스 0을 의미합니다.이 블록의 마지막 레이블은 레이블 10049입니다.

해당 로컬 레이블에 대해 설정된 PW가 없으면 LFIB의 'Outgoing' 인터페이스는 'drop'입니다.PW가 설정된 경우 'Outgoing' 인터페이스는 'none point2point'입니다.

레이블 블록 확인

'service internal'이 구성된 경우 show mpls infrastructure lfd block-database summary 명령을 사용하여 할당된 레이블 블록을 확인할 수도 있습니다.

PE1#show mpls infrastructure lfd block-database summary

Block-DB entry for block-id : 0x1

Block-size : 50, App-Key type : AToM PWID, Labels : 10000 - 10049

LB는 10000입니다. 이 예에서 레이블 블록은 LB에서 (LB + VBS - 1) 또는 10000에서 (1000 + 50 - 1) = 10049까지입니다.

광고 접두사 확인

show bgp l2vpn vpls rd 1:100 명령을 사용하여 알려진 접두사를 확인할 수 있습니다.

PE1#show bgp l2vpn vpls rd 1:100

BGP table version is 3, local router ID is 10.100.1.1

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

r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,

x best-external, a additional-path, c RIB-compressed,

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

RPKI validation codes: V valid, I invalid, N Not found

Network          Next Hop            Metric LocPrf Weight Path

Route Distinguisher: 1:100

*>  1:100:VEID-1001:Blk-1000/136

0.0.0.0                            32768 ?

접두사를 자세히 보기

이 접두사를 자세히 보려면 show bgp l2vpn vpls rd 1:100 ve-id 1001 block-offset 1000 명령을 사용합니다.NLRI(Blk-1000)에서 찾을 수 있는 VE-ID 및 레이블 블록을 지정합니다.

PE1#show bgp l2vpn vpls rd 1:100 ve-id 1001 block-offset 1000

BGP routing table entry for 1:100:VEID-1001:Blk-1000/136, version 3

Paths: (1 available, best #1, table L2VPN-VPLS-BGP-Table)

Advertised to update-groups:

1

Refresh Epoch 1

Local

0.0.0.0 from 0.0.0.0 (10.100.1.1)

Origin incomplete, localpref 100, weight 32768, valid, sourced, local, best

AGI version(0), VE Block Size(50) Label Base(10000)

Extended Community: RT:1:100 RT:32:64 L2VPN L2:0x0:MTU-1500

rx pathid: 0, tx pathid: 0x0

NLRI는 1:100, VE-ID 1001, VBO 1000, VBS 50, LB 1000을 보여줍니다.

Layer2 Info Extended 커뮤니티는 다음 정보를 보유합니다.

- 캡슐화 유형은 19(VPLS)입니다.

- 컨트롤 플래그:C = 0(Control Word는 설정하지 않아야 함);S = 0(프레임의 순차 전달 없음)

- MTU는 1500입니다.

RT 확장 커뮤니티에는 다음 정보가 있습니다.

- RT 1:100

- RT 32:64

참고:기본 VBS(10)는 크기가 작으므로 로컬 레이블이 낭비되지 않습니다.

BGP 업데이트 메시지에서 레이블 블록 알림, 수신 및 처리

로컬 PE 라우터가 L2VPN VPLS 접두사/레이블 블록을 광고할 때 각 원격 PE 라우터는 원격 VC 레이블로 사용하기 위해 해당 범위에서 하나의 레이블을 선택하려고 시도해야 합니다.

- 원격 PE 라우터가 성공하면 해당 원격 VC 레이블을 사용하여 데이터 평면에 프로그래밍합니다.BGP에 의한 추가 신호 처리가 없습니다.

- 원격 PE 라우터에 장애가 발생하면 다른 L2VPN VPLS 접두사가 로컬 PE 라우터에 의해 광고될 때까지 기다린 다음 해당 레이블 블록에서 다른 원격 VC 레이블을 선택하려고 합니다.

PE1이 이전 컨피그레이션의 로컬 PE이고 PE2가 이 컨피그레이션의 원격 PE라고 가정합니다.

l2vpn vfi context one

vpn id 100

autodiscovery bgp signaling bgp

ve id 1002

ve range 50

!

mpls label range 3000 60000

PE2:BGP 업데이트 수신

PE2는 PE1에서 이 BGP 업데이트를 수신합니다.

PE2#show bgp l2vpn vpls rd 1:100 ve-id 1001 block-offset 1000

BGP routing table entry for 1:100:VEID-1001:Blk-1000/136, version 5

Paths: (1 available, best #1, table L2VPN-VPLS-BGP-Table)

Not advertised to any peer

Refresh Epoch 2

Local

10.100.1.1 (metric 21) from 10.100.1.4 (10.100.1.4)

Origin incomplete, metric 0, localpref 100, valid, internal, best

AGI version(0), VE Block Size(50) Label Base(10000)

Extended Community: RT:1:100 RT:32:64 L2VPN L2:0x0:MTU-1500

Originator: 10.100.1.1, Cluster list: 10.100.1.4

rx pathid: 0, tx pathid: 0x0

PE2:레이블 찾기

PE2는 PW에서 PE1에 대해 원격 VC 레이블로 사용할 수 있는 레이블을 찾아야 합니다.

PE2는 먼저 VBO가 컨피그레이션 범위 내에 있는지 확인해야 합니다.PE2는 계산 VBO <= VE-ID < VBO + VBS를 사용하여 PE1에서 광고하는 범위에 대해 VE-ID를 확인합니다.이 경우 1000 <= 1002 < 1000 + 50이므로 PE2가 성공합니다.

그런 다음 PE2에서 원격 VC 레이블을 선택해야 합니다.원격 PE에서 사용할 VC(demultiplexer) 레이블은 (LB + VE-ID - VBO)로 계산됩니다.

이전 접두사에서 LB는 10000이고 VBO는 1000입니다.VE-ID는 PE2의 ID이며 1002입니다.따라서 PE2는 레이블(LB + VE-ID - VBO) = (10000 + 1002 - 1000) = 10002를 선택합니다.

이를 확인하려면 show l2vpn vfi name one 명령을 사용합니다.

PE2#show l2vpn vfi name one

Legend: RT=Route-target, S=Split-horizon, Y=Yes, N=No

VFI name: one, state: up, type: multipoint, signaling: BGP

VPN ID: 100, VE-ID: 1002, VE-SIZE: 50

RD: 1:100, RT: 1:100

Bridge-Domain 100 attachment circuits:

Pseudo-port interface: pseudowire100001

Interface          Peer Address    VE-ID  Local Label  Remote Label    S

pseudowire100002   10.100.1.1      1001   3101         10002           Y

PE2:PE1에 접두사 보내기

그런 다음 PE2에서 접두사를 PE1에 전송합니다.

PE1#show bgp l2vpn vpls rd 1:100 ve-id 1002 block-offset 1000

BGP routing table entry for 1:100:VEID-1002:Blk-1000/136, version 4

Paths: (1 available, best #1, table L2VPN-VPLS-BGP-Table)

Not advertised to any peer

Refresh Epoch 1

Local

10.100.1.2 (metric 21) from 10.100.1.4 (10.100.1.4)

Origin incomplete, metric 0, localpref 100, valid, internal, best

AGI version(0), VE Block Size(50) Label Base(3100)

Extended Community: RT:1:100 L2VPN L2:0x0:MTU-1500

Originator: 10.100.1.2, Cluster list: 10.100.1.4

rx pathid: 0, tx pathid: 0x0

PE1:레이블 찾기

PE1은 이제 원격 PE이며 PE2에 대한 PW의 원격 VC 레이블로 사용할 수 있는 레이블을 찾아야 합니다.

PE1은 먼저 VBO가 컨피그레이션 범위 내에 있는지 확인해야 합니다.PE1은 계산 VBO <= VE-ID < VBO + VBS를 사용하여 PE2가 광고한 범위에 대해 VE-ID를 확인합니다.이 경우 1000 <= 1001 < 1000 + 50이므로 PE1이 성공합니다.

그런 다음 PE1에서 원격 VC 레이블을 선택해야 합니다.원격 PE에서 사용할 VC(demultiplexer) 레이블은 (LB + VE-ID - VBO)로 계산됩니다.

이전 접두사에서 LB는 3100이고 VBO는 1000입니다.VE-ID는 PE1의 ID이며 1001입니다.따라서 PE1은 레이블(LB + VE-ID - VBO) = (3100 + 1001 - 1000) = 3101을 선택합니다.

이를 확인하려면 show l2vpn vfi name one 명령을 사용합니다.

PE1#show l2vpn vfi name one

Legend: RT=Route-target, S=Split-horizon, Y=Yes, N=No

VFI name: one, state: up, type: multipoint, signaling: BGP

VPN ID: 100, VE-ID: 1001, VE-SIZE: 50

RD: 1:100, RT: 1:100, 32:64

Bridge-Domain 1 attachment circuits:

Pseudo-port interface: pseudowire100001

Interface          Peer Address    VE-ID  Local Label  Remote Label    S

pseudowire100002   10.100.1.2      1002   10002        3101            Y

추가 확인 명령

PE1#show mpls l2transport vc detail

Local interface: VFI one vfi up

Interworking type is Ethernet

Destination address: 10.100.1.2, VC ID: 100, VC status: up

Output interface: Et1/0, imposed label stack {17 3101}

Preferred path: not configured

Default path: active

Next hop: 10.1.1.4

Create time: 02:06:08, last status change time: 02:06:08

Last label FSM state change time: 02:06:08

Signaling protocol: BGP

Status TLV support (local/remote)   : Not Applicable

LDP route watch                   : Not Applicable

Label/status state machine        : established, LruRru

Last local dataplane   status rcvd: No fault

Last BFD dataplane     status rcvd: Not Applicable

Last BFD peer monitor  status rcvd: Not Applicable

Last local AC  circuit status rcvd: No fault

Last local AC  circuit status sent: No fault

Last local PW i/f circ status rcvd: No fault

Last local LDP TLV     status sent: Not Applicable

Last remote LDP TLV    status rcvd: Not Applicable

Last remote LDP ADJ    status rcvd: Not Applicable

MPLS VC labels: local 10002, remote 3101

Group ID: local 0, remote 0

MTU: local 1500, remote 1500

Control Word: Off

Dataplane:

SSM segment/switch IDs: 8195/4097 (used), PWID: 3

VC statistics:

transit packet totals: receive 0, send 0

transit byte totals:   receive 0, send 0

transit packet drops:  receive 0, seq error 0, send 0

PE1#show mpls infrastructure lfd block-database id 1

Block-DB entry for block-id : 0x1

Block-size : 50, App-Key type : AToM PWID

App-Key entries:

l2ckt(1)  10000

l2ckt(2)  10001

l2ckt(3)  10002

l2ckt(4)  10003

l2ckt(5)  10004

l2ckt(6)  10005

l2ckt(7)  10006

l2ckt(8)  10007

l2ckt(9)  10008

l2ckt(10)  10009

l2ckt(11)  10010

l2ckt(12)  10011

l2ckt(13)  10012

l2ckt(14)  10013

l2ckt(15)  10014

l2ckt(16)  10015

l2ckt(17)  10016

l2ckt(18)  10017

l2ckt(19)  10018

l2ckt(20)  10019

l2ckt(21)  10020

l2ckt(22)  10021

l2ckt(23)  10022

l2ckt(24)  10023

l2ckt(25)  10024

l2ckt(26)  10025

l2ckt(27)  10026

l2ckt(28)  10027

l2ckt(29)  10028

l2ckt(30)  10029

l2ckt(31)  10030

l2ckt(32)  10031

l2ckt(33)  10032

l2ckt(34)  10033

l2ckt(35)  10034

l2ckt(36)  10035

l2ckt(37)  10036

l2ckt(38)  10037

l2ckt(39)  10038

l2ckt(40)  10039

l2ckt(41)  10040

l2ckt(42)  10041

l2ckt(43)  10042

l2ckt(44)  10043

l2ckt(45)  10044

l2ckt(46)  10045

l2ckt(47)  10046

l2ckt(48)  10047

l2ckt(49)  10048

l2ckt(50)  10049

PE1#show l2vpn atom vc destination 10.100.1.2

Service

Interface Dest Address    VC ID      Type   Name                     Status

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

pw100002  10.100.1.2      100        vfi    one                      UP

PE1#show l2vpn atom vc destination 10.100.1.2 detail

pseudowire100002 is up, VC status is up PW type: Ethernet

Create time: 02:11:13, last status change time: 02:11:13

Last label FSM state change time: 02:11:13

Destination address: 10.100.1.2 VC ID: 100

Output interface: Et1/0, imposed label stack {17 3101}

Preferred path: not configured

Default path: active

Next hop: 10.1.1.4

Member of vfi service one

Bridge-Domain id: 1

Service id: 0xe7000001

Signaling protocol: BGP

Local VE ID: 1001, Remote VE ID: 1002

Status TLV support (local/remote)         : Not Applicable

LDP route watch                         : Not Applicable

Label/status state machine              : established, LruRru

Local dataplane status received         : No fault

BFD dataplane status received           : Not Applicable

BFD peer monitor status received        : Not Applicable

Status received from access circuit     : No fault

Status sent to access circuit           : No fault

Status received from pseudowire i/f     : No fault

Status sent to network peer             : Not Applicable

Status received from network peer       : Not Applicable

Adjacency status of remote peer         : Not Applicable

Bindings

Parameter    Local                          Remote

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

Label        10002                          3101

Group ID     0                              0

Interface

MTU          1500                           1500

Control word off                            off

PW type      Ethernet                       Ethernet

VCCV CV type 0x32                           0x32

LSPV [2], BFD/Raw [5]          LSPV [2], BFD/Raw [5]

BFD/Raw + sig [6]              BFD/Raw + sig [6]

VCCV CC type 0x07                           0x07

CW [1], RA [2], TTL [3]       CW [1], RA [2], TTL [3]

Status TLV   disabled                       N/A

Dataplane:

SSM segment/switch IDs: 8195/4097 (used), PWID: 3

Rx Counters

0 input transit packets, 0 bytes

0 drops, 0 seq err

Tx Counters

0 output transit packets, 0 bytes

0 drops

PE1#show l2vpn signaling rib rd 1:100

+- Origin of entry                                (i=iBGP/e=eBGP)

| +- Provisioned                                  (Yes/No)?

| | +- Stale entry                                (Yes/No)?

| | |

v v v

O P S     RD             VE-ID    VBO     VBS       LB       Next-Hop

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

i Y N  1:100             1002    1000    50      3100       10.100.1.2

PE1#show l2vpn signaling rib rd 1:100 detail

Route 1:100:1002 (epoch:0) from iBGP peer 10.100.1.2

Provisioned (Y) Stale (N)

Route-Target: 1:100

NLRI [FF000001]

VE-ID:1002 VBO:1000 VBS:50 LB:3100

MTU: 1500 Control Word: off

RIB Filter [27000002]

RD: 1:100

VE-ID: 1001, VBO: 1000, VBS: 50 LB: 10000

Forwarder [58000001] VFI one

PE1#show l2vpn atom pwid

AToM Pseudowire IDs: In use: 50, In holddown: 0

Label  Peer-Address    VCID       PWID       In-Use FirstUse ResuedAt FreedAt

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

10000  0.0.0.0         0          1          Yes    00:00:15 Never    Never

10001  0.0.0.0         0          2          Yes    00:00:15 Never    Never

10002  10.100.1.2      100        3          Yes    00:00:15 Never    Never

10003  0.0.0.0         0          4          Yes    00:00:15 Never    Never

10004  0.0.0.0         0          5          Yes    00:00:15 Never    Never

PE1#show l2vpn atom summary

Destination address: 10.100.1.2, total number of vc: 1

0 unknown, 1 up, 0 down, 0 admin down, 0 recovering, 0 standby, 0 hotstandby

1 active vc on MPLS interface Et1/0

하나의 VFI에 대해 PE 라우터가 광고하는 다중 L2VPN VPLS 접두사

하나의 PE에서 하나의 VFI(virtual forwarding instance)에 대해 여러 레이블 블록을 광고해야 할 수 있습니다.

원격 PE의 VE-ID가 로컬 PE에서 광고하는 범위에 속하지 않으면 원격 PE에서 PW에 대한 원격 레이블을 선택할 수 없습니다.앞에서 설명한 이 계산은 VBO <= VE-ID < VBO + VBS입니다.

이 검사가 실패하면 원격 PE의 VE-ID가 범위를 벗어났습니다.원격 PE는 로컬 PE에서 수신한 접두사를 무시합니다.로컬 PE는 원격 PE가 광고하고 있는 접두사를 수신하면 원격 PE가 범위를 벗어났다는 것을 알게 됩니다.로컬 PE는 해당 원격 PE 라우터에 사용할 원격 레이블을 결정해야 합니다.또한 로컬 PE는 원격 PE에서 원격 레이블을 선택하기 위해 사용할 수 있어야 하는 새 로컬 레이블 블록에 대한 두 번째 접두사를 원격 PE로 전송합니다.

PE1 컨피그레이션

앞의 예는 여기서 계속됩니다.PE1에는 여전히 다음과 같은 기능이 있습니다.

l2vpn vfi context one

vpn id 100

autodiscovery bgp signaling bgp

ve id 1001

ve range 50

route-target export 32:64

route-target import 32:64

!

mpls label range 10000 20000

PE2 컨피그레이션

이제 PE2에 VE-ID가 1002이고 이 컨피그레이션이 있습니다.

l2vpn vfi context one

vpn id 100

autodiscovery bgp signaling bgp

ve id 10002

ve range 50

!

mpls label range 3000 60000

초기 레이블 블록

PE1과 PE2 모두 이러한 초기 레이블 블록으로 시작합니다.

PE1#show bgp l2vpn vpls rd 1:100

BGP table version is 2, local router ID is 10.100.1.1

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

r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,

x best-external, a additional-path, c RIB-compressed,

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

RPKI validation codes: V valid, I invalid, N Not found

Network          Next Hop            Metric LocPrf Weight Path

Route Distinguisher: 1:100

*>  1:100:VEID-1001:Blk-1000/136

0.0.0.0                            32768 ?

PE2#show bgp l2vpn vpls rd 1:100

BGP table version is 3, local router ID is 10.100.1.2

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

r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,

x best-external, a additional-path, c RIB-compressed,

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

RPKI validation codes: V valid, I invalid, N Not found

Network          Next Hop            Metric LocPrf Weight Path

Route Distinguisher: 1:100

*>  1:100:VEID-10002:Blk-10000/136

0.0.0.0                            32768 ?

PE1 및 PE2 Exchange

debug bgp l2vpn vpls updates 명령을 사용하여 PE1 및 PE2 교환을 검토한 다음 show bgp l2vpn vpls rd 1:100 명령을 사용하여 세부 정보를 검토합니다.

PE1#

%BGP-5-ADJCHANGE: neighbor 10.100.1.4 Up

BGP(9): update formatted for 1:100:VEID-1001:Blk-1000:VBS-50:LB-10000/136 VE ID

1001 VE Block Offset 1000 VE Block Size 50 Label Base 10000 /136

BGP(9): (base) 10.100.1.4 send UPDATE (format) 1:100:VEID-1001:Blk-1000:VBS-50:

LB-10000/136, next 10.100.1.1, metric 0, path Local, extended community RT:1:100

RT:32:64 L2VPN L2:0x0:MTU-1500

BGP(9): 10.100.1.4 rcvd UPDATE w/ attr: nexthop 10.100.1.2, origin ?,

localpref 100, metric 0, originator 10.100.1.2, clusterlist 10.100.1.4, extended

community RT:1:100 L2VPN L2:0x0:MTU-1500

BGP(9): 10.100.1.4 rcvd 1:100:VEID-10002:Blk-10000:VBS-50:LB-3000/136

BGP(9): bump net 1:100:VEID-10002:Blk-10000:VBS-50:LB-3000/136, non bpath  added

BGP(9): nettable_walker called for 1:100:VEID-10002:Blk-10000:VBS-50:LB-3000/136

BGP(9): best path[0] 1:100:VEID-10002:Blk-10000:VBS-50:LB-3000/136 source

10.100.1.1 nh 10.100.1.2 vpls-id: L2VPN L2:0x0:MTU-1500

BGP(9): add XC RIB route 1:100:VEID-10002:Blk-10000:VBS-50:LB-3000/136 masklen 136

L2VPN L2:0x0:MTU-1500 pathcount: 1 [0] LDP source:10.100.1.1 nexthop:10.100.1.2

RT:1:100

BGP(9): bump net 1:100:VEID-1001:Blk-10000:VBS-50:LB-10053/136, non bpath  added

BGP(9): nlri update add VBS 50 LB 10053

BGP(9): nlri update add export extcomm count 4

BGPSSA ssacount is 0

BGP(9): update formatted for 1:100:VEID-10002:Blk-10000:VBS-50:LB-3000/136 VE ID

10002 VE Block Offset 10000 VE Block Size 50 Label Base 3000 /136

BGP(9): nettable_walker called for 1:100:VEID-1001:Blk-10000:VBS-50:LB-10053/136

BGP(9): nettable_walker 1:100:VEID-1001:Blk-10000:VBS-50:LB-10053/136 route sourced

locally

BGP(9): update formatted for 1:100:VEID-1001:Blk-10000:VBS-50:LB-10053/136 VE ID

1001 VE Block Offset 10000 VE Block Size 50 Label Base 10053 /136

BGP(9): (base) 10.100.1.4 send UPDATE (format) 1:100:VEID-1001:Blk-10000:VBS-50:

LB-10053/136, next 10.100.1.1, metric 0, path Local, extended community RT:1:100

RT:32:64 L2VPN L2:0x0:MTU-1500 L2VPN L2:0x0:MTU-1500

BGP(9): 10.100.1.4 rcvd UPDATE w/ attr: nexthop 10.100.1.2, origin ?, localpref 100,

metric 0, originator 10.100.1.2, clusterlist 10.100.1.4, extended community

RT:1:100 L2VPN L2:0x0:MTU-1500

BGP(9): 10.100.1.4 rcvd 1:100:VEID-10002:Blk-1000:VBS-50:LB-3053/136

BGP(9): bump net 1:100:VEID-10002:Blk-1000:VBS-50:LB-3053/136, non bpath  added

BGP(9): nettable_walker called for 1:100:VEID-10002:Blk-1000:VBS-50:LB-3053/136

BGP(9): best path[0] 1:100:VEID-10002:Blk-1000:VBS-50:LB-3053/136 source 10.100.1.1

nh 10.100.1.2 vpls-id: L2VPN L2:0x0:MTU-1500

BGP(9): add XC RIB route 1:100:VEID-10002:Blk-1000:VBS-50:LB-3053/136 masklen 136

L2VPN L2:0x0:MTU-1500 pathcount: 1 [0] LDP source:10.100.1.1 nexthop:10.100.1.2

RT:1:100

BGP(9): update formatted for 1:100:VEID-10002:Blk-1000:VBS-50:LB-3053/136 VE ID

10002 VE Block Offset 1000 VE Block Size 50 Label Base 3053 /136

BGPSSA ssacount is 0

PE1#show bgp l2vpn vpls rd 1:100

BGP table version is 5, local router ID is 10.100.1.1

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

r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,

x best-external, a additional-path, c RIB-compressed,

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

RPKI validation codes: V valid, I invalid, N Not found

Network          Next Hop            Metric LocPrf Weight Path

Route Distinguisher: 1:100

*>  1:100:VEID-1001:Blk-1000/136

0.0.0.0                            32768 ?

*>  1:100:VEID-1001:Blk-10000/136

0.0.0.0                            32768 ?

*>i 1:100:VEID-10002:Blk-1000/136

10.100.1.2               0    100      0 ?

*>i 1:100:VEID-10002:Blk-10000/136

10.100.1.2               0    100      0 ?

PE2#show bgp l2vpn vpls rd 1:100

BGP table version is 6, local router ID is 10.100.1.2

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

r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,

x best-external, a additional-path, c RIB-compressed,

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

RPKI validation codes: V valid, I invalid, N Not found

Network          Next Hop            Metric LocPrf Weight Path

Route Distinguisher: 1:100

*>i 1:100:VEID-1001:Blk-1000/136

10.100.1.1               0    100      0 ?

*>i 1:100:VEID-1001:Blk-10000/136

10.100.1.1               0    100      0 ?

*>  1:100:VEID-10002:Blk-1000/136

0.0.0.0                            32768 ?

*>  1:100:VEID-10002:Blk-10000/136

0.0.0.0                            32768 ?

PE1 및 PE2 교환 분석

이제 PE1과 PE2는 두 개의 레이블 블록을 서로 광고했습니다.

PE1은 먼저 PE2에 초기 BGP 업데이트를 알립니다.

BGP(9): update formatted for 1:100:VEID-1001:Blk-1000:VBS-50:LB-10000/136 VE ID

1001 VE Block Offset 1000 VE Block Size 50 Label Base 10000 /136

BGP(9): (base) 10.100.1.4 send UPDATE (format) 1:100:VEID-1001:Blk-1000:VBS-50:

LB-10000/136, next 10.100.1.1, metric 0, path Local, extended community

RT:1:100 RT:32:64 L2VPN L2:0x0:MTU-1500

이 업데이트에는 PE1의 컨피그레이션에 따라 NLRI가 설정됩니다.

그런 다음 PE1은 PE2에서 초기 BGP 업데이트를 수신합니다.

BGP(9): 10.100.1.4 rcvd UPDATE w/ attr: nexthop 10.100.1.2, origin ?, localpref

100, metric 0, originator 10.100.1.2, clusterlist 10.100.1.4, extended

community RT:1:100 L2VPN L2:0x0:MTU-1500

BGP(9): 10.100.1.4 rcvd 1:100:VEID-10002:Blk-10000:VBS-50:LB-3000/136

PE2는 VE-ID 10002, VBO = 10000, VBS = 50, LB = 3000 값으로 초기 접두사를 광고합니다.

PE1은 PE1이 레이블 블록 LB에서 (LB + VBS - 1) 또는 10000에서 (10000 + 50 - 1) = 10049로 시작되었으므로 PE2가 범위를 벗어났다는 것을 알려줍니다.

PE1은 VBO가 컨피그레이션 범위 내에 있는지 확인해야 합니다.따라서 PE1에서 광고하는 범위에 대해 PE2의 VE-ID를 확인해야 합니다. 계산은 VBO <= VE-ID < VBO + VBS입니다.이 경우 1000 <= 10002 < 1000 + 50. 이는 사실이 아닙니다.따라서 PE1은 PE2의 범위를 벗어난 VE-ID를 수용하기 위해 새 레이블 블록을 전송해야 합니다. PE2의 초기 업데이트에 대한 응답으로 PE1은 새로운 추가 BGP 업데이트를 PE2로 포맷하고 전송합니다. 이제 PE1은 10000의 새 VBO를 사용합니다.

BGP(9): update formatted for 1:100:VEID-1001:Blk-10000:VBS-50:LB-10053/136

VE ID 1001 VE Block Offset 10000 VE Block Size 50 Label Base 10053 /136

BGP(9): (base) 10.100.1.4 send UPDATE (format) 1:100:VEID-1001:Blk-10000:

VBS-50:LB-10053/136, next 10.100.1.1, metric 0, path Local, extended

community RT:1:100 RT:32:64 L2VPN L2:0x0:MTU-1500 L2VPN L2:0x0:MTU-1500

PE1의 경우 VBO는 1000이고 VBS는 50이고 LB는 10053입니다. PE2의 확인은 VBO <= VE-ID < VBO + VBS입니다.이 경우, 10000 <= 10002 < 10000 + 50, 참PE2는 PE1에서 이 새 레이블 블록 [10053 - 10102]에서 원격 레이블을 선택할 수 있습니다. 즉, PE1은 PE2를 수용하기 위해 새 레이블 블록을 추가하고 두 개의 BGP 업데이트 메시지를 보냈습니다.

반대 방향에서도 마찬가지입니다.PE2는 PE1에서 초기 BGP 업데이트를 수신합니다. 이 업데이트에는 VE-ID 1001, VBO = 1000, VBS = 50, LB = 1000 값이 있습니다.

PE2는 PE1의 VE-ID가 PE2의 초기 업데이트와 함께 범위를 벗어났음을 확인합니다.PE1?s 확인은 VBO <= VE-ID < VBO + VBS 또는 1000 <= 1001 < 1000 + 50입니다. 이에 대한 응답으로 PE2는 VE-ID 1001의 PE1을 수용하는 새로운 레이블 블록 [3053 - 3102]과 함께 이 두 번째 BGP 업데이트를 보냅니다. PE1s 검사는 VBO <= VE-ID < VBO + VBS 또는 1000 <= 1001 < 1000 + 50이므로

BGP(9): 10.100.1.4 rcvd UPDATE w/ attr: nexthop 10.100.1.2, origin ?,

localpref 100, metric 0, originator 10.100.1.2, clusterlist 10.100.1.4,

extended community RT:1:100 L2VPN L2:0x0:MTU-1500

BGP(9): 10.100.1.4 rcvd 1:100:VEID-10002:Blk-1000:VBS-50:LB-3053/136

접두사 세부 정보

다음은 PE1에서 시작된 두 접두사의 세부 정보입니다.

PE1#show bgp l2vpn vpls rd 1:100 ve-id 1001 block-offset 1000

BGP routing table entry for 1:100:VEID-1001:Blk-1000/136, version 2

Paths: (1 available, best #1, table L2VPN-VPLS-BGP-Table)

Not advertised to any peer

Refresh Epoch 1

Local

0.0.0.0 from 0.0.0.0 (10.100.1.1)

Origin incomplete, localpref 100, weight 32768, valid, sourced, local, best

AGI version(0), VE Block Size(50) Label Base(10000)

Extended Community: RT:1:100 RT:32:64 L2VPN L2:0x0:MTU-1500

rx pathid: 0, tx pathid: 0x0

PE1#show bgp l2vpn vpls rd 1:100 ve-id 1001 block-offset 10000

BGP routing table entry for 1:100:VEID-1001:Blk-10000/136, version 4

Paths: (1 available, best #1, table L2VPN-VPLS-BGP-Table)

Not advertised to any peer

Refresh Epoch 1

Local

0.0.0.0 from 0.0.0.0 (10.100.1.1)

Origin incomplete, localpref 100, weight 32768, valid, sourced, local, best

AGI version(0), VE Block Size(50) Label Base(10053)

Extended Community: RT:1:100 RT:32:64 L2VPN L2:0x0:MTU-1500

L2VPN L2:0x0:MTU-1500

rx pathid: 0, tx pathid: 0x0

여기에서 두 PE 라우터에는 연속되지 않은 번호 체계가 있으며, 이로 인해 각 PE는 두 개의 BGP 업데이트를 전송합니다.연속되지 않은 번호 체계를 가진 PE 라우터가 많은 경우 BGP 업데이트 수가 빠르게 증가합니다.

www.cisco.com에 따르면"예를 들어, 1, 2, 3 또는 501, 502, 503과 같은 VE-ID 번호 지정 시퀀스는 VE-ID가 연속적이기 때문에 적합합니다.100, 200, 300과 같은 번호 지정 체계는 인접하지 않으므로 잘못되었습니다."

1, 2, 3 또는 501, 502, 503의 첫 번째 예제는 연속된 숫자이므로 각 PE 라우터는 하나의 L2VPN VPLS 접두사만 전송해야 합니다.세 번째 예(100, 200, 300)를 통해 각 PE는 여러 L2VPN VPLS 접두사를 전송해야 합니다.인접하지 않은 번호의 경우 VE 범위가 충분히 커지면 광고할 접두사의 수가 줄어듭니다.그러나 예약된(불필요하게 사용된) 레이블의 양이 여전히 큽니다.

상호 운용성

BGP RR(Route Reflector)이 RFC 4761을 인식하지 않지만 RFC 4762를 지원하는 소프트웨어를 실행하는 경우 RR에 특별 BGP neighbor x.x.x prefix-length-size 2 컨피그레이션 명령이 필요하므로 RFC 4761에 사용되는 BGP 업데이트가 반영됩니다.

접두사는 일반적으로 길이가 1바이트로 전송됩니다.Cisco IOS Software는 초안 'draft-ietf-l2vpn-signaling-08'을 구현했으며, 이후 RFC 6074가 되었습니다.1바이트의 길이 필드가 비트 단위로 선택되었습니다.

RFC 6074 Provisioning, Auto-Discovery 및 Signaling in Layer 2 Virtual Private Networks(L2VPN) 은 BGP 자동 검색을 위한 NLRI 인코딩이 2바이트여야 함을 지정합니다.2바이트는 가변 길이 접두사에서 뒤에 오는 접두사 수를 나타냅니다.

RFC 6074의 섹션 7, "BGP-AD 및 VPLS-BGP 상호 운용성"은 다음을 나타냅니다.

"BGP-AD와 VPLS-BGP [RFC4761]에서 모두 동일한 AFI/SAFI를 사용합니다.BGP-AD와 VPLS-BGP가 모두 공존하려면 NLRI 길이를 demultiplexer로 사용해야 합니다.

BGP-AD NLRI는 8바이트 RD와 4바이트 VSI-ID만 포함하는 NLRI 길이가 12바이트입니다.VPLS-BGP [RFC4761]은 17바이트 NLRI 길이를 사용합니다.따라서 BGP-AD의 구현은 12바이트보다 큰 NLRI를 무시해야 합니다."

RR에 neighbor x.x.x prefix-length-size 2 명령이 없으면 BGP 인접 디바이스가 나타나지 않으며 RR은 길이 필드를 1바이트로만 해석합니다.이 알림은 RR에 나타납니다.

%BGP-3-NOTIFICATION: sent to neighbor 10.100.1.2 3/10 (illegal network) 1 bytes FF

%BGP-4-MSGDUMP: unsupported or mal-formatted message received from 10.100.1.2:

FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 005E 0200 0000 4780 0E1C 0019 4104 0A64

0102 0000 1100 0000 0100 0000 6427 1227 1000 3200 BB80 4001 0102 4002 0080 0404

*Feb 15 12:14:11.561: %BGP_SESSION-5-ADJCHANGE: neighbor 10.100.1.2 L2VPN Vpls

topology base removed from session  BGP Notification sent

*Feb 15 12:14:11.561: %BGP_SESSION-5-ADJCHANGE: neighbor 10.100.1.2 IPv4 Unicast

topology base removed from session  BGP Notification sent

이 알림은 PE 라우터에 나타납니다.

%BGP-3-NOTIFICATION: received from neighbor 10.100.1.4 3/10 (illegal network)

1 bytes FD

이는 Cisco IOS 소프트웨어에서 BGP 자동 검색을 처음 구현한 경우 길이 필드가 1바이트이므로 발생합니다.

RR에 neighbor x.x.x prefix-length-size 2 명령을 입력하면 알림이 표시되지 않습니다.

router bgp 1

neighbor 10.100.1.2 remote-as 1

neighbor 10.100.1.2 update-source Loopback0

!

address-family l2vpn vpls

neighbor 10.100.1.2 activate

neighbor 10.100.1.2 send-community extended

neighbor 10.100.1.2 prefix-length-size 2

neighbor 10.100.1.2 route-reflector-client