레이어 3 VPN의 로드 밸런싱
VPN 패킷당 로드 밸런싱
기본적으로 활성 경로에 대해 동일한 대상에 대한 동일 비용 경로가 여러 개 있는 경우 Junos OS 소프트웨어는 해시 알고리즘을 사용하여 포워딩 테이블에 설치할 다음 홉 주소 중 하나를 선택합니다. 대상에 대한 다음 홉 집합이 변경될 때마다 이 선택 프로세스(동일한 해시 알고리즘 사용)가 반복되어 동일한 해시 알고리즘을 사용하여 최상의 단일 다음 홉 주소를 선택합니다.
다른 방법으로는 Junos OS 소프트웨어를 구성하여 PE 디바이스 간의 여러 유효한 경로에 VPN 트래픽을 분산시킬 수도 있습니다. 이 기능을 패킷당 로드 밸런싱이라고 합니다. VPN 트래픽 로드 밸런싱은 둘 이상의 유효한 경로를 사용할 수 있는 경우에만 가능합니다. 활성 경로의 경우 대상의 모든 다음 홉 주소가 포워딩 테이블에 설치되도록 Junos OS를 구성할 수 있습니다. VPN 디바이스 간에 전송할 수 있는 트래픽 볼륨을 늘리는 것 외에도 패킷당 로드 밸런싱을 구성하여 여러 경로에서의 트래픽 흐름을 최적화할 수 있습니다.
MPLS 레이블 또는 목적지 주소와 같은 경로의 다양한 요소에서 해시 알고리즘을 실행하여 유효한 여러 경로에 트래픽을 분산합니다. 다음 표에서는 로드 밸런싱 해시 알고리즘이 수신 라우터와 전송 및 송신 라우터의 경로에서 실행되는 방법을 설명합니다. 해시 알고리즘에서 사용하는 경로 요소는 VPN 애플리케이션에 따라 다릅니다. Junos OS가 1로 설정된 S-bit(스택의 하단을 나타냄)를 발견하면 해시 알고리즘을 더 이상 적용하지 않습니다.
신청 |
수신 논리적 인터페이스 |
MPLS 레이블 |
소스 및 대상 MAC 주소 |
순서 변경 및 플로우 분리 위험 |
제어 단어 사용 안 함 |
IP(소스/대상 주소 및 포트, 프로토콜) |
|---|---|---|---|---|---|---|
CCC로 구성된 레이어 2 VPN 및 레이어 2 서킷 |
예 |
예 |
아니요 |
예(데이터가 가변적인 경우, 예: ATM) |
예 |
해당 사항 없음 |
TCC로 구성된 레이어 2 VPN 및 레이어 2 서킷 |
예 |
예 |
아니요 |
예(데이터가 가변적인 경우, 예: ATM) |
예 |
해당 사항 없음 |
레이어 3 VPN 및 IPv4 또는 IPv6 RIB |
예 |
아니요 |
아니요 |
아니요 |
아니요 |
예 |
증권 시세 표시기 |
예 |
아니요 |
예 |
아니요 |
아니요 |
예 |
신청 |
수신 논리적 인터페이스 |
MPLS 레이블(최대 3개, S-비트는 1로 설정됨) |
순서 변경 및 플로우 분리 위험 |
IP(소스/대상 주소 및 포트, 프로토콜) |
|---|---|---|---|---|
CCC로 구성된 레이어 2 VPN 및 레이어 2 서킷 |
예 |
예 |
아니요 |
아니요 |
TCC로 구성된 레이어 2 VPN 및 레이어 2 서킷 |
예 |
예 |
아니요 |
예 |
레이어 3 VPN 및 IPv4 또는 IPv6 RIB |
예 |
예 |
아니요 |
예 |
증권 시세 표시기 |
예 |
알려진 유니캐스트 트래픽의 경우 예 브로드캐스트, 유니캐스트 알 수 없음 및 멀티캐스트 트래픽의 경우 아니요 |
아니요 |
아니요 |
레이어 3 VPN을 위한 로드 밸런싱 및 IP 헤더 필터링
이제 내부 및 외부 BGP 경로 모두에서 트래픽 로드 밸런싱과 IP 헤더 기반 트래픽 필터링을 동시에 활성화할 수 있습니다. 이를 통해 내부 및 외부 BGP 경로 모두에서 동시에 로드 밸런싱되고 있는 트래픽에 대해 송신 PE 라우터에서 필터와 폴리서를 구성할 수 있습니다. 이 기능은 M120 라우터, M320 라우터, MX 시리즈 라우터, T 시리즈 라우터에서만 사용할 수 있습니다.
레이어 3 VPN 라우팅 인스턴스에서 이러한 기능을 활성화하려면 계층 수준에서 문을 [edit routing-instances routing-instance-name routing-options multipath] 포함하고 vrf-table-label 계층 수준에서 문을 [edit routing-instances routing-instance-name] 포함합니다vpn-unequal-cost equal-external-internal.
명령을 실행하면 경로가 show route detail 로드 밸런싱(equal-external-internal) 중인지 여부와 인터페이스 인덱스를 검색할 수 있습니다.
또한 Fast Reroute를 구성한 경우 다음 동작에 유의하십시오.
IBGP 경로가 중단되면 활성 EBGP 경로 또는 활성 IBGP 경로로 대체될 수 있습니다.
EBGP 경로가 중단되면 다른 활성 EBGP 경로로만 교체할 수 있습니다. 이로 인해 코어 대면 인터페이스 트래픽이 IBGP 대상으로 전달되지 않습니다.
계층 수준에서 문과 l3vpn 문을 [edit routing-options forwarding-options chained-composite-next-hop ingress] 동시에 포함할 vpn-unequal-cost equal-external-internal 수 있습니다. 그러나 이 작업을 수행하면 EBGP가 작동하지 않습니다. 즉, EBGP ECMP(Equal-cost multipath)의 후보로 연동된 다음 홉이 있는 경로와 연동되지 않은 다음 홉이 있는 경로가 모두 있는 경우 연동된 다음 홉을 사용하는 경로는 제외됩니다. 일반적으로 제외되는 경로는 내부 경로입니다.
레이어 3 VPN 로드 밸런싱 개요
로드 밸런싱 기능을 사용하면 디바이스가 여러 경로를 따라 들어오고 나가는 트래픽을 나누어 네트워크의 혼잡을 줄일 수 있습니다. 로드 밸런싱은 다양한 네트워크 경로의 사용률을 높이고 보다 효과적인 네트워크 대역폭을 제공합니다.
여러 프로토콜이 사용 중인 경우 디바이스는 경로 선호 값( 관리 거리 값이라고도 함)을 사용하여 경로를 선택합니다. 단일 라우팅 프로토콜을 사용하는 동안 라우터는 대상에 대한 비용(또는 메트릭)이 가장 낮은 경로를 선택합니다. 디바이스가 목적지에 대해 동일한 경로 기본 설정과 동일한 비용을 가진 여러 경로를 수신하고 설치하는 경우 로드 밸런싱을 구성해야 합니다.
서로 다른 AS(Autonomous System)의 디바이스 간에 내부 및 외부 BGP 경로가 모두 설치된 네트워크에서 BGP는 기본적으로 단일 최적 경로만 선택하고 로드 밸런싱을 수행하지 않습니다. 내부 및 외부 BGP 경로가 있는 레이어 3 VPN은 프로토콜 독립적 로드 밸런싱을 multipath 위해 문을 사용합니다. 라우팅 인스턴스에 명령문을 포함 multipath 하면 해당 라우팅 인스턴스의 기본 라우팅 테이블에 프로토콜 독립적 로드 밸런싱이 적용됩니다. 문을 사용하면 vpn-unequal-cost 프로토콜 독립적인 로드 밸런싱이 VPN 경로에 적용됩니다. 명령문을 사용하면 equal-external-internal 프로토콜 독립적 로드 밸런싱이 내부 및 외부 BGP 경로 모두에 적용되며 IP 헤더 필터링과 함께 구성될 수 있습니다(명령문으로 활성화).vrf-table-label
예: IP 헤더 필터링을 동시에 사용하면서 레이어 3 VPN 트래픽 로드 밸런싱
당사 콘텐츠 테스트 팀은 이 예제를 검증하고 업데이트했습니다.
이 예는 IP 헤더 필터링을 동시에 사용하면서 레이어 3 VPN(내부 및 외부 BGP 경로 포함)에서 로드 밸런싱을 구성하는 방법을 보여줍니다.
요구 사항
이 예에는 다음과 같은 하드웨어 및 소프트웨어 구성 요소가 필요합니다.
-
M Series Multiservice 에지 라우터(M120 및 M320 전용), MX 시리즈 5G 유니버설 라우팅 플랫폼, T 시리즈 코어 라우터 또는 PTX 시리즈 전송 라우터.
-
Junos OS 릴리스 12.1 이상
-
MX 시리즈 라우터에 대해 Junos OS 릴리스 20.1R1에서 재검증되었습니다
-
개요
다음 예는 레이어 3 VPN에서 IP 헤더 필터링을 사용하면서 동시에 로드 밸런싱을 구성하는 방법을 보여줍니다.
이 예는 로드 밸런싱 및 IP 헤더 필터링이 함께 작동하는 방법을 보여줍니다. IP 헤더 필터링 테스트는 이 예제의 범위를 벗어납니다.
Junos OS BGP는 동일하거나 다른 AS(Autonomous System)의 피어 간에 로드 밸런싱을 허용하는 다중 경로 기능을 제공합니다. 이 예에서는 계층 수준에서 [edit routing-instances instance-name routing-options multipath vpn-unequal-cost] 문을 사용하여 equal-external-internal 로드 밸런싱을 수행합니다. 문은 vrf-table-label IP 헤더 필터링을 [edit routing-instances instance-name] 활성화하기 위해 계층 수준에서 구성됩니다.
[edit]
routing-instances {
instance-name {
vrf-table-label;
routing-options {
multipath {
vpn-unequal-cost {
equal-external-internal;
}
}
}
}
}
이러한 문은 라우팅 인스턴스의 컨텍스트에서만 사용할 수 있습니다.
이 예에서 디바이스 CE1은 AS1에 있으며 디바이스 PE1에 연결되어 있습니다. 디바이스 PE1, PE2, PE3 및 P는 AS2에 있습니다. 디바이스 CE2는 디바이스 PE2 및 PE3에 연결되며 AS3에 있습니다. 디바이스 CE3는 디바이스 PE3에 연결되며 AS4에 있습니다. BGP 및 MPLS는 네트워크를 통해 구성됩니다. OSPF는 이 네트워크에서 사용되는 IGP(Interior Gateway Protocol)입니다.
디바이스 PE1, PE2 및 PE3의 구성에는 네트워크에서 로드 밸런싱을 활성화하기 위해 계층 수준의 문이 [edit routing-instances instance-name routing-options multipath vpn-unequal-cost] 포함됩니다equal-external-internal. IP 헤더 필터링은 PE 디바이스의 [edit routing-instances instance-name] 계층 수준에서 문이 구성될 때 vrf-table-label 활성화됩니다.
그림 1 은 이 예에서 사용되는 토폴로지입니다.
위상수학
을 사용한 레이어 3 VPN 로드 밸런싱
표 3 은 빠른 참조를 위해 이 예에서 사용된 IP 주소 목록을 보여줍니다.
| 장치 |
만큼 |
디바이스 ID |
인터페이스 |
인터페이스 IP 주소 |
|---|---|---|---|---|
| CE1 |
65001 |
192.0.2.1/32 |
ge-0/0/0.0 |
10.1.1.1/30 |
| PE1 |
65000 |
192.0.2.2/32 |
ge-0/0/2.0 |
10.1.1.2/30 |
| ge-0/0/0.0 |
10.1.2.5/30 |
|||
| ge-0/0/1.0 |
10.1.3.9/30 |
|||
| PE2 |
65000 |
192.0.2.3/32 |
ge-0/0/0.0 |
10.1.2.6/30 |
| ge-0/0/1.0 |
10.1.4.13/30 |
|||
| ge-0/0/2.0 |
10.1.6.21/30 |
|||
| PE3 (영문) |
65000 |
192.0.2.4/32 |
ge-0/0/1.0 |
10.1.3.10/30 |
| ge-0/0/0.0 |
10.1.5.18/30 |
|||
| ge-0/0/2.0 |
10.1.7.25/30 |
|||
| ge-0/0/3.0 |
10.1.8.29/30 |
|||
| P |
65000 |
192.0.2.5/32 |
ge-0/0/1.0 |
10.1.4.14/30 |
| ge-0/0/0.0 |
10.1.5.17/30 |
|||
| CE2 (CE2) |
65002 |
192.0.2.6/32 |
ge-0/0/1.0 |
10.1.6.22/30 |
| ge-0/0/2.0 |
10.1.7.26/30 |
|||
| CE3 (CE3) |
65003 |
192.0.2.7/32 |
ge-0/0/3.0 |
10.1.8.30/30 |
이 예제는 논리적 시스템(논리적 라우터)을 사용하여 테스트되었습니다. 따라서 예제의 모든 물리적 인터페이스는 동일하며 구성은 별도의 논리적 인터페이스에서 수행됩니다. 비테스트 네트워크에서는 다른 디바이스에 연결하기 위해 별도의 물리적 라우터와 물리적 인터페이스를 사용합니다.
구성
절차
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 바꾸고 계층 수준에서 명령을 CLI [edit] 로 복사해 붙여 넣습니다.
Device CE1
set interfaces ge-0/0/0 unit 0 family inet address 10.1.1.1/30
set interfaces ge-0/0/0 unit 0 family mpls
set interfaces ge-0/0/0 unit 0 description toPE1
set interfaces lo0 unit 0 family inet address 192.0.2.1/32
set routing-options router-id 192.0.2.1
set routing-options autonomous-system 65001
set protocols bgp group toPE1 type external
set protocols bgp group toPE1 export send-direct
set protocols bgp group toPE1 peer-as 65000
set protocols bgp group toPE1 neighbor 10.1.1.2
set policy-options policy-statement send-direct from protocol direct
set policy-options policy-statement send-direct then accept
Device PE1
set interfaces ge-0/0/2 unit 0 family inet address 10.1.1.2/30
set interfaces ge-0/0/2 unit 0 family mpls
set interfaces ge-0/0/2 unit 0 description toCE1
set interfaces ge-0/0/0 unit 0 family inet address 10.1.2.5/30
set interfaces ge-0/0/0 unit 0 family mpls
set interfaces ge-0/0/0 unit 0 description toPE2
set interfaces ge-0/0/1 unit 0 family inet address 10.1.3.9/30
set interfaces ge-0/0/1 unit 0 family mpls
set interfaces ge-0/0/1 unit 0 description toPE3
set interfaces lo0 unit 0 family inet address 192.0.2.2/32
set protocols mpls interface all
set protocols ldp interface all
set protocols ospf area 0.0.0.0 interface lo0.0 passive
set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 metric 10
set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 metric 10
set protocols bgp group toInternal type internal
set protocols bgp group toInternal family inet-vpn unicast
set protocols bgp group toInternal local-address 192.0.2.2
set protocols bgp group toInternal neighbor 192.0.2.3
set protocols bgp group toInternal neighbor 192.0.2.4
set routing-options router-id 192.0.2.2
set routing-options autonomous-system 65000
set routing-options forwarding-table export lb
set routing-instances toCE1 instance-type vrf
set routing-instances toCE1 interface ge-0/0/2.0
set routing-instances toCE1 route-distinguisher 65000:1
set routing-instances toCE1 vrf-target target:65000:1
set routing-instances toCE1 vrf-table-label
set routing-instances toCE1 protocols bgp group toCE1 type external
set routing-instances toCE1 protocols bgp group toCE1 peer-as 65001
set routing-instances toCE1 protocols bgp group toCE1 neighbor 10.1.1.1
set routing-instances toCE1 routing-options multipath vpn-unequal-cost equal-external-internal
set policy-options policy-statement lb then load-balance per-packet
Device PE2
set interfaces ge-0/0/0 unit 0 family inet address 10.1.2.6/30
set interfaces ge-0/0/0 unit 0 family mpls
set interfaces ge-0/0/0 unit 0 description toPE1
set interfaces ge-0/0/1 unit 0 family inet address 10.1.4.13/30
set interfaces ge-0/0/1 unit 0 family mpls
set interfaces ge-0/0/1 unit 0 description toP
set interfaces ge-0/0/2 unit 0 family inet address 10.1.6.21/30
set interfaces ge-0/0/2 unit 0 family mpls
set interfaces ge-0/0/2 unit 0 description toCE2
set interfaces lo0 unit 0 family inet address 192.0.2.3/32
set protocols mpls interface all
set protocols ldp interface all
set protocols ospf area 0.0.0.0 interface lo0.0 passive
set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 metric 10
set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 metric 5
set protocols bgp group toInternal type internal
set protocols bgp group toInternal family inet-vpn unicast
set protocols bgp group toInternal local-address 192.0.2.3
set protocols bgp group toInternal neighbor 192.0.2.2
set protocols bgp group toInternal neighbor 192.0.2.4
set routing-options router-id 192.0.2.3
set routing-options autonomous-system 65000
set routing-options forwarding-table export lb
set routing-instances toCE2 instance-type vrf
set routing-instances toCE2 interface ge-0/0/2.0
set routing-instances toCE2 route-distinguisher 65000:1
set routing-instances toCE2 vrf-target target:65000:1
set routing-instances toCE2 vrf-table-label
set routing-instances toCE2 protocols bgp group toCE2 type external
set routing-instances toCE2 protocols bgp group toCE2 peer-as 65002
set routing-instances toCE2 protocols bgp group toCE2 neighbor 10.1.6.22
set routing-instances toCE2 routing-options multipath vpn-unequal-cost equal-external-internal
set policy-options policy-statement lb then load-balance per-packet
Device PE3
set interfaces ge-0/0/1 unit 0 family inet address 10.1.3.10/30
set interfaces ge-0/0/1 unit 0 family mpls
set interfaces ge-0/0/1 unit 0 description toPE1
set interfaces ge-0/0/0 unit 0 family inet address 10.1.5.18/30
set interfaces ge-0/0/0 unit 0 family mpls
set interfaces ge-0/0/0 unit 0 description toP
set interfaces ge-0/0/2 unit 0 family inet address 10.1.7.25/30
set interfaces ge-0/0/2 unit 0 family mpls
set interfaces ge-0/0/2 unit 0 description toCE2
set interfaces ge-0/0/3 unit 0 family inet address 10.1.8.29/30
set interfaces ge-0/0/3 unit 0 family mpls
set interfaces ge-0/0/3 unit 0 description toCE3
set interfaces lo0 unit 0 family inet address 192.0.2.4/32
set protocols mpls interface all
set protocols ldp interface all
set protocols ospf area 0.0.0.0 interface lo0.0 passive
set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 metric 10
set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 metric 5
set protocols bgp group toInternal type internal
set protocols bgp group toInternal local-address 192.0.2.4
set protocols bgp group toInternal family inet-vpn unicast
set protocols bgp group toInternal family route-target
set protocols bgp group toInternal neighbor 192.0.2.2
set protocols bgp group toInternal neighbor 192.0.2.3
set routing-options router-id 192.0.2.4
set routing-options autonomous-system 65000
set routing-options forwarding-table export lb
set routing-instances toCE2_3 instance-type vrf
set routing-instances toCE2_3 interface ge-0/0/2.0
set routing-instances toCE2_3 interface ge-0/0/3.0
set routing-instances toCE2_3 route-distinguisher 65000:1
set routing-instances toCE2_3 vrf-target target:65000:1
set routing-instances toCE2_3 vrf-table-label
set routing-instances toCE2_3 protocols bgp group toCE2 type external
set routing-instances toCE2_3 protocols bgp group toCE2 peer-as 65002
set routing-instances toCE2_3 protocols bgp group toCE2 neighbor 10.1.7.26
set routing-instances toCE2_3 protocols bgp group toCE3 type external
set routing-instances toCE2_3 protocols bgp group toCE3 peer-as 65003
set routing-instances toCE2_3 protocols bgp group toCE3 neighbor 10.1.8.30
set routing-instances toCE2_3 routing-options multipath vpn-unequal-cost equal-external-internal
set policy-options policy-statement lb then load-balance per-packet
Device P
set interfaces ge-0/0/1 unit 0 family inet address 10.1.4.14/30
set interfaces ge-0/0/1 unit 0 family mpls
set interfaces ge-0/0/1 unit 0 description toPE2
set interfaces ge-0/0/0 unit 0 family inet address 10.1.5.17/30
set interfaces ge-0/0/0 unit 0 family mpls
set interfaces ge-0/0/0 unit 0 description toPE3
set interfaces lo0 unit 0 family inet address 192.0.2.5/32
set protocols mpls interface all
set protocols ldp interface all
set protocols ospf area 0.0.0.0 interface lo0.0 passive
set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 metric 5
set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 metric 5
set routing-options router-id 192.0.2.5
set routing-options autonomous-system 65000
Device CE2
set interfaces ge-0/0/1 unit 0 family inet address 10.1.6.22/30
set interfaces ge-0/0/1 unit 0 family mpls
set interfaces ge-0/0/1 unit 0 description toPE2
set interfaces ge-0/0/2 unit 0 family inet address 10.1.7.26/30
set interfaces ge-0/0/2 unit 0 family mpls
set interfaces ge-0/0/2 unit 0 description toPE3
set interfaces lo0 unit 0 family inet address 192.0.2.6/32
set routing-options router-id 192.0.2.6
set routing-options autonomous-system 65002
set protocols bgp group toPE2PE3 type external
set protocols bgp group toPE2PE3 export send-direct
set protocols bgp group toPE2PE3 peer-as 65000
set protocols bgp group toPE2PE3 neighbor 10.1.6.21
set protocols bgp group toPE2PE3 neighbor 10.1.7.25
set policy-options policy-statement send-direct from protocol direct
set policy-options policy-statement send-direct then accept
Device CE3
set interfaces ge-0/0/3 unit 0 family inet address 10.1.8.30/30
set interfaces ge-0/0/3 unit 0 family mpls
set interfaces ge-0/0/3 unit 0 description toPE3
set interfaces lo0 unit 0 family inet address 192.0.2.7/32
set routing-options router-id 192.0.2.7
set routing-options autonomous-system 65003
set protocols bgp group toPE3 type external
set protocols bgp group toPE3 export send-direct
set protocols bgp group toPE3 peer-as 65000
set protocols bgp group toPE3 neighbor 10.1.8.29
set policy-options policy-statement send-direct from protocol direct
set policy-options policy-statement send-direct then accept
단계별 절차
다음 예는 구성 계층에서 다양한 수준의 탐색이 필요합니다. CLI 탐색에 관한 정보는 CLI 사용자 가이드에서 구성 모드에서 CLI 편집기 사용을 참조하십시오.
VPN 설정 전체에서 같지 않은 비용의 로드 밸런싱을 구성하려면 다음을 수행합니다.
-
디바이스 CE1에서 라우터 ID를 구성하고 디바이스를 AS(Autonomous System)에 할당합니다.
[edit routing-options] user@CE1# set router-id 192.0.2.1 user@CE1# set autonomous-system 65001마찬가지로 다른 모든 디바이스를 구성합니다.
-
전체 네트워크를 통한 트래픽에 대해 BGP 그룹을 구성합니다.
-
MPLS 네트워크(CE 디바이스)에서 들어오고 나가는 트래픽에 대해 BGP 그룹을 구성합니다.
[edit protocols bgp group toPE1] user@CE1# set type external user@CE1# set peer-as 65000 user@CE1# set neighbor 10.1.1.2 -
및
neighbor문을 적절하게 수정하여 디바이스 CE2 및 CE3에서 유사한 BGP 그룹(to AS 65000toPE3및)을peer-as구성합니다. -
MPLS 네트워크(PE 디바이스)를 통한 트래픽에 대한 BGP 그룹을 구성합니다.
[edit protocols bgp group toInternal] user@PE1# set type internal user@PE1# set family inet-vpn unicast user@PE1# set local-address 192.0.2.2 user@PE1# set neighbor 192.0.2.3 user@PE1# set neighbor 192.0.2.4 -
및 문을 적절하게 수정하여 디바이스 PE2 및 PE3에서 동일한 BGP 그룹(
toInternal)을local-addressneighbor구성합니다.
-
-
MPLS 네트워크 측으로의 경로 내보내기 라우팅 정책(
send-directpolicy)과 MPLS 네트워크 전반의 로드 밸런싱 트래픽 네트워크 정책(lbpolicy)을 구성합니다.-
디바이스 CE1의 라우팅 테이블에서 BGP로 경로를 내보내기 위한 정책(
send-direct)을 구성합니다.[edit policy-options policy-statement send-direct] user@CE1# set from protocol direct user@CE1# set then accept[edit protocols bgp group toPE1] user@CE1# set export send-direct마찬가지로 디바이스 CE2 및 CE3에서 정책을 구성합니다
send-direct. -
라우팅 테이블에서 디바이스 PE1의 포워딩 테이블로 경로를 내보내기 위한 정책(
lb)을 구성합니다.이
lb정책은 패킷당 로드 밸런싱을 구성하여 목적지에 대한 모든 다음 홉 주소가 포워딩 테이블에 설치되도록 합니다.[edit policy-options policy-statement lb] user@PE1# set then load-balance per-packet[edit routing-options] user@PE1# set forwarding-table export lb마찬가지로 디바이스 PE2 및 PE3에서
lb정책을 구성합니다.
-
-
다음을 구성합니다.
-
AS(Autonomous System)를 통해 경로를 내보내기 위해 PE 디바이스에서 라우팅 인스턴스를 구성합니다.
-
equal-external-internal계층 수준에서 문을[edit routing-instances instance-name routing-options multipath vpn-unequal-cost]포함하여 네트워크에서 로드 밸런싱을 활성화합니다. -
vrf-table-label송신 디바이스(디바이스 CE3)를 나가기 전에 트래픽을 필터링하기 위해 계층 수준에서 문을[edit routing-instances instance-name]포함합니다.
Device PE1
[edit routing-instances toCE1] user@PE1# set instance-type vrf user@PE1# set interface ge-0/0/2.0 user@PE1# set route-distinguisher 65000:1 user@PE1# set vrf-target target:65000:1 user@PE1# set vrf-table-label user@PE1# set protocols bgp group toCE1 type external user@PE1# set protocols bgp group toCE1 peer-as 65001 user@PE1# set protocols bgp group toCE1 neighbor 10.1.1.1 user@PE1# set routing-options multipath vpn-unequal-cost equal-external-internalDevice PE2
[edit routing-instances toCE1] user@PE2# set instance-type vrf user@PE2# set interface ge-0/0/2.0 user@PE2# set route-distinguisher 65000:1 user@PE2# set vrf-target target:65000:1 user@PE2# set vrf-table-label user@PE2# set protocols bgp group toCE2 type external user@PE2# set protocols bgp group toCE2 peer-as 65002 user@PE2# set protocols bgp group toCE2 neighbor 10.1.6.22 user@PE2# set routing-options multipath vpn-unequal-cost equal-external-internalDevice PE3
[edit routing-instances toCE2_3] user@PE3# set instance-type vrf user@PE3# set interface ge-0/0/2.0 user@PE3# set interface ge-0/0/3.0 user@PE3# set route-distinguisher 65000:1 user@PE3# set vrf-target target:65000:1 user@PE3# set vrf-table-label user@PE3# set protocols bgp group toCE2 type external user@PE3# set protocols bgp group toCE2 peer-as 65002 user@PE3# set protocols bgp group toCE2 neighbor 10.1.7.26 user@PE3# set protocols bgp group toCE3 type external user@PE3# set protocols bgp group toCE3 peer-as 65003 user@PE3# set protocols bgp group toCE3 neighbor 10.1.8.30 user@PE3# set routing-options multipath vpn-unequal-cost equal-external-internal -
결과
구성 모드에서 명령을 입력하여 show configuration 구성을 확인합니다. 출력 결과가 의도한 구성대로 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정하십시오. 다음은 PE3의 출력에서 발췌한 show configuration 것입니다.
user@PE3#
show configuration
interfaces {
ge-0/0/0 {
unit 0 {
description toP;
family inet {
address 10.1.5.18/30;
}
family mpls;
}
}
ge-0/0/1 {
unit 0 {
description toPE1;
family inet {
address 10.1.3.10/30;
}
family mpls;
}
}
ge-0/0/2 {
unit 0 {
description toCE2;
family inet {
address 10.1.7.25/30;
}
family mpls;
}
}
ge-0/0/3 {
unit 0 {
description toCE3;
family inet {
address 10.1.8.29/30;
}
family mpls;
}
}
lo0 {
unit 0 {
family inet {
address 192.0.2.4/32;
}
}
}
}
policy-options {
policy-statement lb {
then {
load-balance per-packet;
}
}
}
routing-instances {
toCE2_3 {
routing-options {
multipath {
vpn-unequal-cost equal-external-internal;
}
}
protocols {
bgp {
group toCE2 {
type external;
peer-as 65002;
neighbor 10.1.7.26;
}
group toCE3 {
type external;
peer-as 65003;
neighbor 10.1.8.30;
}
}
}
instance-type vrf;
interface ge-0/0/2.0;
interface ge-0/0/3.0;
route-distinguisher 65000:1;
vrf-target target:65000:1;
vrf-table-label;
}
}
routing-options {
forwarding-table {
export lb;
}
router-id 192.0.2.4;
autonomous-system 65000;
}
protocols {
ospf {
area 0.0.0.0 {
interface lo0.0 {
passive;
}
interface ge-0/0/1.0 {
metric 10;
}
interface ge-0/0/0.0 {
metric 5;
}
}
}
bgp {
group toInternal {
type internal;
local-address 192.0.2.4;
family inet-vpn {
unicast;
}
family route-target;
neighbor 192.0.2.2;
neighbor 192.0.2.3;
}
}
ldp {
interface all;
}
mpls {
interface all;
}
}
디바이스 구성을 마쳤으면 구성 모드에서 을(를) 입력합니다 commit .
확인
구성이 올바르게 작동하고 있는지 확인합니다.
BGP 검증
목적
BGP가 작동하는지 확인합니다.
행동
운영 모드에서 명령을 실행합니다 show route protocol bgp .
user@PE3> show route protocol bgp
inet.0: 19 destinations, 19 routes (19 active, 0 holddown, 0 hidden)
inet.3: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)
toCE2_3.inet.0: 9 destinations, 14 routes (9 active, 0 holddown, 0 hidden)
@ = Routing Use Only, # = Forwarding Use Only
+ = Active Route, - = Last Active, * = Both
10.1.1.0/30 *[BGP/170] 6d 19:24:16, localpref 100, from 192.0.2.2
AS path: I, validation-state: unverified
> to 10.1.3.9 via ge-0/0/1.0, Push 16
10.1.6.20/30 *[BGP/170] 6d 19:24:12, localpref 100, from 192.0.2.3
AS path: I, validation-state: unverified
> to 10.1.5.17 via ge-0/0/0.0, Push 16, Push 299808(top)
[BGP/170] 6d 17:53:50, localpref 100
AS path: 65002 I, validation-state: unverified
> to 10.1.7.26 via ge-0/0/2.0
10.1.7.24/30 [BGP/170] 6d 17:53:50, localpref 100
AS path: 65002 I, validation-state: unverified
> to 10.1.7.26 via ge-0/0/2.0
10.1.8.28/30 [BGP/170] 6d 17:55:03, localpref 100
AS path: 65003 I, validation-state: unverified
> to 10.1.8.30 via ge-0/0/3.0
192.0.2.1/32 *[BGP/170] 6d 19:24:16, localpref 100, from 192.0.2.2
AS path: 65001 I, validation-state: unverified
> to 10.1.3.9 via ge-0/0/1.0, Push 16
192.0.2.6/32 @[BGP/170] 6d 17:53:50, localpref 100
AS path: 65002 I, validation-state: unverified
> to 10.1.7.26 via ge-0/0/2.0
[BGP/170] 6d 17:53:50, localpref 100, from 192.0.2.3
AS path: 65002 I, validation-state: unverified
> to 10.1.5.17 via ge-0/0/0.0, Push 16, Push 299808(top)
192.0.2.7/32 *[BGP/170] 6d 17:55:03, localpref 100
AS path: 65003 I, validation-state: unverified
> to 10.1.8.30 via ge-0/0/3.0
mpls.0: 12 destinations, 12 routes (12 active, 0 holddown, 0 hidden)
bgp.l3vpn.0: 4 destinations, 4 routes (4 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
65000:1:10.1.1.0/30
*[BGP/170] 6d 19:24:16, localpref 100, from 192.0.2.2
AS path: I, validation-state: unverified
> to 10.1.3.9 via ge-0/0/1.0, Push 16
65000:1:10.1.6.20/30
*[BGP/170] 6d 19:24:12, localpref 100, from 192.0.2.3
AS path: I, validation-state: unverified
> to 10.1.5.17 via ge-0/0/0.0, Push 16, Push 299808(top)
65000:1:192.0.2.1/32
*[BGP/170] 6d 19:24:16, localpref 100, from 192.0.2.2
AS path: 65001 I, validation-state: unverified
> to 10.1.3.9 via ge-0/0/1.0, Push 16
65000:1:192.0.2.6/32
*[BGP/170] 6d 17:53:50, localpref 100, from 192.0.2.3
AS path: 65002 I, validation-state: unverified
> to 10.1.5.17 via ge-0/0/0.0, Push 16, Push 299808(top)
inet6.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)
toCE2_3.inet6.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)
bgp.rtarget.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
출력에는 라우팅 테이블에 설치된 BGP 경로가 나열됩니다. , 10.1.1.0/30및 65000:1:192.0.2.1/32 로 192.0.2.1/32시작하는 출력 라인은 AS 65001에 있는 디바이스 CE1에 대한 BGP 경로를 보여줍니다. , 65000:1:192.0.2.6/32및 65000:1:10.1.6.20/30 로 192.0.2.6/32시작하는 출력 라인은 AS 65002에 있는 디바이스 CE2에 대한 BGP 경로를 보여줍니다. 으로 192.0.2.7/32 시작하는 출력 라인은 AS 65003에 있는 디바이스 CE3에 대한 BGP 경로를 보여줍니다.
의미
BGP는 네트워크에서 작동합니다.
로드 밸런싱 확인
목적
다음을 확인하여 전달이 양방향으로 이루어지고 있는지 확인합니다.
-
다음 홉이 모두 경로에 대한 포워딩 테이블에 설치된 경우.
-
외부 BGP 경로가 경로에 대한 포워딩 테이블에 설치된 경우.
행동
운영 모드에서 및 show route forwarding-table destination <destination IP> 명령을 실행합니다show route forwarding-table.
user@PE3> show route forwarding-table
Routing table: default.inet
Internet:
Destination Type RtRef Next hop Type Index NhRef Netif
default perm 1 rjct 36 2
0.0.0.0/32 perm 0 dscd 34 1
10.1.2.4/30 user 0 ulst 1048576 2
10.1.5.17 ucst 625 12 ge-0/0/0.0
10.1.3.9 ucst 617 8 ge-0/0/1.0
10.1.3.8/30 intf 0 rslv 604 1 ge-0/0/1.0
10.1.3.8/32 dest 0 10.1.3.8 recv 602 1 ge-0/0/1.0
10.1.3.9/32 dest 0 0:50:56:93:63:e7 ucst 617 8 ge-0/0/1.0
10.1.3.10/32 intf 0 10.1.3.10 locl 603 2
10.1.3.10/32 dest 0 10.1.3.10 locl 603 2
10.1.3.11/32 dest 0 10.1.3.11 bcst 601 1 ge-0/0/1.0
10.1.4.12/30 user 0 10.1.5.17 ucst 625 12 ge-0/0/0.0
10.1.5.16/30 intf 0 rslv 600 1 ge-0/0/0.0
10.1.5.16/32 dest 0 10.1.5.16 recv 598 1 ge-0/0/0.0
10.1.5.17/32 dest 0 0:50:56:93:f8:ff ucst 625 12 ge-0/0/0.0
10.1.5.18/32 intf 0 10.1.5.18 locl 599 2
10.1.5.18/32 dest 0 10.1.5.18 locl 599 2
10.1.5.19/32 dest 0 10.1.5.19 bcst 597 1 ge-0/0/0.0
192.0.2.2/32 user 1 10.1.3.9 ucst 617 8 ge-0/0/1.0
192.0.2.3/32 user 1 10.1.5.17 ucst 625 12 ge-0/0/0.0
192.0.2.4/32 intf 0 192.0.2.4 locl 607 1
192.0.2.5/32 user 1 10.1.5.17 ucst 625 12 ge-0/0/0.0
224.0.0.0/4 perm 1 mdsc 35 1
224.0.0.1/32 perm 0 224.0.0.1 mcst 31 5
224.0.0.2/32 user 1 224.0.0.2 mcst 31 5
224.0.0.5/32 user 1 224.0.0.5 mcst 31 5
255.255.255.255/32 perm 0 bcst 32 1
Routing table: __master.anon__.inet
Internet:
Destination Type RtRef Next hop Type Index NhRef Netif
default perm 0 rjct 524 1
0.0.0.0/32 perm 0 dscd 522 1
224.0.0.0/4 perm 0 mdsc 523 1
224.0.0.1/32 perm 0 224.0.0.1 mcst 526 1
255.255.255.255/32 perm 0 bcst 527 1
Routing table: toCE2_3.inet
Internet:
Destination Type RtRef Next hop Type Index NhRef Netif
default perm 0 rjct 566 1
0.0.0.0/32 perm 0 dscd 564 1
10.1.1.0/30 user 0 indr 1048574 3
10.1.3.9 Push 16 623 2 ge-0/0/1.0
10.1.6.20/30 user 0 indr 1048575 3
10.1.5.17 Push 16, Push 299808(top) 629 2 ge-0/0/0.0
10.1.7.24/30 intf 0 rslv 616 1 ge-0/0/2.0
10.1.7.24/32 dest 0 10.1.7.24 recv 614 1 ge-0/0/2.0
10.1.7.25/32 intf 0 10.1.7.25 locl 615 2
10.1.7.25/32 dest 0 10.1.7.25 locl 615 2
10.1.7.26/32 dest 1 0:50:56:93:86:18 ucst 618 4 ge-0/0/2.0
10.1.7.27/32 dest 0 10.1.7.27 bcst 613 1 ge-0/0/2.0
10.1.8.28/30 intf 0 rslv 612 1 ge-0/0/3.0
10.1.8.28/32 dest 0 10.1.8.28 recv 610 1 ge-0/0/3.0
10.1.8.29/32 intf 0 10.1.8.29 locl 611 2
10.1.8.29/32 dest 0 10.1.8.29 locl 611 2
10.1.8.30/32 dest 1 0:50:56:93:bb:ed ucst 622 4 ge-0/0/3.0
10.1.8.31/32 dest 0 10.1.8.31 bcst 609 1 ge-0/0/3.0
192.0.2.1/32 user 0 indr 1048574 3
10.1.3.9 Push 16 623 2 ge-0/0/1.0
192.0.2.6/32 user 0 ulst 1048577 2
10.1.7.26 ucst 618 4 ge-0/0/2.0
indr 1048575 3
10.1.5.17 Push 16, Push 299808(top) 629 2 ge-0/0/0.0
192.0.2.7/32 user 0 10.1.8.30 ucst 622 4 ge-0/0/3.0
224.0.0.0/4 perm 0 mdsc 565 1
224.0.0.1/32 perm 0 224.0.0.1 mcst 568 1
255.255.255.255/32 perm 0 bcst 569 1
...
default.inet 포워딩 테이블인 라우팅 테이블에서 로 10.1.2.4/30 시작하는 출력 라인은 동일한 AS의 디바이스 PE2 경로에 대해 테이블에 두 개의 다음 홉이 설치 10.1.3.9 됨을 보여줍니다. 및 10.1.5.17.
toCE2_3.inet 외부 라우팅 테이블인 라우팅 테이블에서 로 192.0.2.6/32 시작하는 출력 라인은 AS 65002에서 디바이스 CE2로 가는 경로의 경우, 의 10.1.5.17 내부 다음 홉과 의 10.1.7.26 외부 다음 홉이 테이블에 설치됨을 보여줍니다. 이는 내부 및 외부 BGP 경로가 모두 네트워크에서 작동하고 있음을 나타냅니다.
user@PE3> show route forwarding-table destination 10.1.2.6
Routing table: default.inet
Internet:
Destination Type RtRef Next hop Type Index NhRef Netif
10.1.2.4/30 user 0 ulst 1048576 2
10.1.5.17 ucst 625 12 ge-0/0/0.0
10.1.3.9 ucst 617 8 ge-0/0/1.0
Routing table: __pfe_private__.inet
Internet:
Destination Type RtRef Next hop Type Index NhRef Netif
default perm 0 dscd 513 2
Routing table: __master.anon__.inet
Internet:
Destination Type RtRef Next hop Type Index NhRef Netif
default perm 0 rjct 524 1
Routing table: __juniper_services__.inet
Internet:
Destination Type RtRef Next hop Type Index NhRef Netif
default perm 0 dscd 546 2
Routing table: toCE2_3.inet
Internet:
Destination Type RtRef Next hop Type Index NhRef Netif
default perm 0 rjct 630 1
(으)로 10.1.2.4/30 시작하는 출력 라인은 동일한 AS에서 디바이스 PE3에서 디바이스 PE2로의 경로에 대해 두 개의 다음 홉이 테이블에 10.1.3.9 설치됨을 보여줍니다. 인터페이스를 통해 ge-0/0/1.0 , 그리고 10.1.5.17 인터페이스를 ge-2/1/10.18 통해.
의미
외부 BGP 경로를 포함하여 경로에 대한 여러 다음 홉이 포워딩 테이블에 설치됩니다.
레이어 3 VPN에서 프로토콜 독립 로드 밸런싱 구성
레이어 3 VPN에 대한 프로토콜 독립적 로드 밸런싱을 통해 활성 경로와 대체 경로 모두의 포워딩 다음 홉을 로드 밸런싱에 사용할 수 있습니다. 프로토콜 독립적 로드 밸런싱은 레이어 3 VPN과 함께 작동합니다. 할당된 경로 식별자와 독립적으로 VPN 경로의 로드 밸런싱을 지원합니다. 프로토콜 독립적 로드 밸런싱이 활성화되면 다른 PE 라우터로의 경로와 직접 연결된 CE 라우터로의 경로 모두가 로드 밸런싱됩니다.
지정된 경로에 대한 로드 밸런싱 정보가 생성되면 활성 경로는 명령의 show route table 출력에 로 Routing Use Only 표시됩니다.
다음 섹션에서는 프로토콜 독립적 로드 밸런싱을 구성하는 방법과 이 구성이 라우팅 정책에 미치는 영향에 대해 설명합니다.
레이어 3 VPN에 대한 로드 밸런싱 구성
레이어 3 VPN에 대한 프로토콜 독립 로드 밸런싱의 구성은 IPv4와 IPv6에서 약간 다릅니다.
IPv4 - 계층 수준 또는
[edit routing-instances routing-instance-name routing-options rib routing-table-name]계층 수준에서만 문을[edit routing-instances routing-instance-name routing-options]구성해야multipath합니다.IPv6 - 계층 수준과
[edit routing-instances routing-instance-name routing-options rib routing-table-name]계층 수준 모두에서[edit routing-instances routing-instance-name routing-options]문을 구성해야multipath합니다.
l3vpn 문을 구성한 동시에 문과 하위 문을 구성할 multipath 수 없습니다.
레이어 3 VPN에 대한 프로토콜 독립적 로드 밸런싱을 구성하려면 다음과 같은 명령문을 포함 multipath 하십시오.
multipath { vpn-unequal-cost equal-external-internal; }
다음 계층 수준에서 명령문을 포함 multipath 하면 해당 라우팅 인스턴스(.inet.0)의 기본 라우팅 테이블에 프로토콜 독립적 로드 밸런싱이 적용됩니다.routing-instance-name
[edit routing-instances routing-instance-name routing-options][edit logical-systems logical-system-name routing-instances routing-instance-name routing-options]
[edit logical-systems] 계층 수준은 ACX 시리즈 라우터에 적용되지 않습니다.
다음 계층 수준에서 명령문을 포함 multipath 하면 지정된 라우팅 테이블에 프로토콜 독립적 로드 밸런싱이 적용됩니다.
[edit routing-instances routing-instance-name routing-options rib routing-table-name][edit logical-systems logical-system-name routing-instances routing-instance-name routing-options rib routing-table-name]
[edit logical-systems] 계층 수준은 ACX 시리즈 라우터에 적용되지 않습니다.
vpn-unequal-cost 문은 선택 사항입니다.
이를 포함하면 프로토콜 독립적 로드 밸런싱이 경로 선택과 관련하여 IGP 메트릭까지 동일한 VPN 경로에 적용됩니다.
이를 포함하지 않으면 프로토콜 독립적 로드 밸런싱이 경로 선택과 관련하여 라우터 식별자까지 동일한 VPN 경로에 적용됩니다.
명령문은 vpn-unequal-cost ACX 시리즈 라우터에 적용되지 않습니다.
문도 equal-external-internal 선택 사항입니다. 이를 포함하면 내부 및 외부 BGP 경로 모두에 프로토콜 독립적 로드 밸런싱이 적용됩니다. 이는 송신 IP 헤더 필터링(명령문으로 활성화)과 vrf-table-label 함께 구성할 수 있습니다. 자세한 내용은 레이어 3 VPN에 대한 로드 밸런싱 및 IP 헤더 필터링을 참조하십시오.
계층 수준에서 문과 l3vpn 문을 [edit routing-options forwarding-options chained-composite-next-hop ingress] 동시에 포함할 vpn-unequal-cost equal-external-internal 수 있습니다. 그러나 이 작업을 수행하면 EBGP가 작동하지 않습니다. 즉, EBGP ECMP(Equal-cost multipath)의 후보로 연동된 다음 홉을 가진 경로와 연동되지 않은 다음 홉을 가진 경로가 모두 있는 경우 연동된 다음 홉을 사용하는 경로는 제외됩니다. 일반적으로 제외되는 경로는 내부 경로입니다.
로드 밸런싱 및 라우팅 정책 구성
명령문을 포함하여 multipath 레이어 3 VPN에 대해 프로토콜 독립적 로드 밸런싱을 활성화하고 라우팅 정책 구성에 명령문을 포함하는 load-balance per-packet 경우 패킷은 로드 밸런싱되지 않습니다.
예를 들어, PE 라우터는 다음과 같은 VRF 라우팅 인스턴스를 구성합니다.
[edit routing-instances]
load-balance-example {
instance-type vrf;
interface fe-0/1/1.0;
interface fe-0/1/1.1;
route-distinguisher 2222:2;
vrf-target target:2222:2;
routing-options {
multipath;
}
protocols {
bgp {
group group-example {
import import-policy;
family inet {
unicast;
}
export export-policy;
peer-as 4444;
local-as 3333;
multipath;
as-override;
neighbor 10.12.33.22;
}
}
}
}
PE 라우터는 또한 다음과 같은 정책 명령문을 구성합니다:
[edit policy-options policy-statement export-policy]
from protocol bgp;
then {
load-balance per-packet;
}
VRF 라우팅 인스턴스 구성에 multipath 명령문을 포함하면 경로가 더 이상 BGP 경로로 표시되지 않고 대신 multipath 경로로 표시됩니다. PE 라우터의 패킷은 로드 밸런싱되지 않습니다.
VPN 로드 밸런싱이 예상대로 작동하도록 보장하려면 정책 문 구성에 from protocol 문을 포함하지 마십시오. 정책 설명은 다음과 같이 구성해야 합니다.
[edit policy-options policy-statement export-policy]
then {
load-balance per-packet;
}
패킷당 로드 밸런싱을 구성하는 방법에 대한 자세한 내용은 라우팅 정책, 방화벽 필터 및 트래픽 폴리서 사용자 가이드를 참조하십시오.
예: 차세대 멀티캐스트 VPN에서 PIM 조인 로드 밸런싱 구성
이 예는 차세대 멀티캐스트 VPN(MVPN)을 실행하는 프로바이더 에지(PE) 라우터에서 동일하지 않은 내부 게이트웨이 프로토콜(IGP) 메트릭 및 PIM(Protocol Independent Multicast) 참가 로드 밸런싱을 사용하여 외부 및 내부 VPN(Virtual Private Network) 경로에 대한 다중 경로 라우팅을 구성하는 방법을 보여줍니다. 이 기능을 사용하면 외부 BGP(EBGP) 경로가 없는 경우 사용 가능한 내부 BGP(IBGP) 업스트림 경로에서 고객 PIM(C-PIM) 참가 메시지의 로드 밸런싱을 수행하고, 소스 또는 RP(랑데뷰 포인트)로 향하는 외부 및 내부 BGP(EIBGP) 경로가 있는 경우 사용 가능한 EBGP 업스트림 경로 전반에 걸쳐 로드 밸런싱할 수 있습니다.
요구 사항
이 예에서 사용되는 하드웨어 및 소프트웨어 구성 요소는 다음과 같습니다.
M Series, MX 시리즈 또는 T 시리즈 라우터 조합의 라우터 3개
Junos OS 릴리스 12.1이 모든 디바이스에서 실행됩니다.
시작하기 전에:
디바이스 인터페이스를 구성합니다.
모든 PE 라우터에서 다음 라우팅 프로토콜을 구성합니다.
최단 경로 우선(OSPF)
MPLS (엠폴스)
LDP
PIM (핌)
BGP(Border
멀티캐스트 VPN을 구성합니다.
개요 및 토폴로지
Junos OS 릴리스 12.1 이상은 PIM 참가 로드 밸런싱과 함께 다중 경로 구성을 지원합니다. 이를 통해 IBGP 경로만 있는 경우 사용 가능한 모든 IBGP 경로에서 C-PIM 가입 메시지를 로드 밸런싱하고, EIBGP 경로가 소스(또는 RP)로 향하는 경우 사용 가능한 모든 업스트림 EBGP 경로에서 로드 밸런싱할 수 있습니다. Draft-Rosen MVPN과 달리 차세대 MVPN은 C-PIM 참가 메시지를 전송하기 위해 동일하지 않은 EIBGP 경로를 사용하지 않습니다. 이 기능은 IPv4 C-PIM 참가 메시지에 적용할 수 있습니다.
기본적으로 소스(또는 RP)로 향하는 IBGP 경로만 있는 PE 라우터에 대해 C-PIM 참가 메시지를 보내는 데 단 하나의 활성 IBGP 경로만 사용됩니다. EIBGP 업스트림 경로가 있는 경우 참가 메시지를 보내는 데 하나의 활성 EBGP 경로만 사용됩니다.
차세대 MVPN에서 C-PIM 가입 메시지는 BGP 고객 멀티캐스트(C-멀티캐스트) MVPN 경로로 변환(또는 인코딩)되고 발신자 PE 라우터에 BGP MCAST-VPN 주소 패밀리와 함께 보급됩니다. PE 라우터는 고객 에지(CE) 라우터 인터페이스에 대한 PE 라우터를 통해 C-PIM 참가 메시지 수신에 대한 응답으로 C-멀티캐스트 MVPN 경로를 시작합니다. 두 가지 유형의 C-멀티캐스트 MVPN 경로는 다음과 같습니다.
공유 트리 조인 경로(C-*, C-G)
수신기 PE 라우터에 의해 생성됨.
PE 라우터가 PE-CE 라우터 인터페이스를 통해 공유 트리 C-PIM 참가 메시지를 수신할 때 시작됩니다.
소스 트리 조인 경로(C-S, C-G)
수신기 PE 라우터에 의해 생성됨.
PE 라우터가 소스 트리 C-PIM 가입 메시지(C-S, C-G)를 수신할 때 시작되거나, 이미 공유 트리 참가 경로가 있고 소스 활성 자동 검색 경로를 수신하는 PE 라우터에 의해 시작됩니다.
차세대 MVPN의 업스트림 경로는 인터넷 초안 draft-ietf-l3vpn-2547bis-mcast, Multicast in MPLS/BGP IP VPNs에 지정된 대로 Bytewise-XOR 해시 알고리즘을 사용하여 선택됩니다. 해시 알고리즘은 다음과 같이 수행됩니다.
후보 세트의 PE 라우터는 0부터 시작하여 낮은 IP 주소에서 높은 IP 주소로 번호가 매겨집니다.
모든 바이트의 바이트별 배타적 OR은 C-루트(소스) 및 C-G(그룹) 주소에서 수행됩니다.
결과는 modulo n입니다. 여기서 n 는 후보 집합의 PE 라우터 수입니다. 결과는 N입니다.
N 은 1단계에서 번호가 매겨진 업스트림 PE 라우터의 IP 주소를 나타냅니다.
로드 밸런싱 중 소스(또는 RP)로 향하는 하나 이상의 업스트림 IBGP 경로를 가진 PE 라우터가 동일한 소스(또는 RP)로 향하는 새로운 IBGP 경로를 발견하면, 후보 PE 라우터 세트의 변경으로 인해 기존 IBGP 경로 사이에 분산된 C-PIM 참가 메시지가 재배포됩니다.
이 예에서 PE1, PE2 및 PE3은 다중 경로 PIM 참가 로드 밸런싱 기능이 구성된 PE 라우터입니다. 라우터 PE1에는 EBGP 경로 2개와 IBGP 업스트림 경로 1개가 있고, PE2에는 EBGP 경로 1개와 IBGP 업스트림 경로 1개가 있으며, PE3에는 소스로 향하는 IBGP 업스트림 경로 2개가 있습니다. 라우터 CE4는 PE3에 연결된 고객 에지(CE) 라우터입니다. Source 및 Receiver는 Free BSD 호스트입니다.
PE1 및 PE2와 같이 소스(또는 RP)로 향하는 EIBGP 경로가 있는 PE 라우터에서 PIM 조인 로드 밸런싱은 다음과 같이 수행됩니다.
C-PIM 참가 메시지는 EBGP 경로만을 사용하여 전송됩니다. IBGP 경로는 참가 메시지를 전파하는 데 사용되지 않습니다.
그림 2에서 PE1 라우터는 CE1 라우터에 대한 두 EBGP 경로 사이에 참가 메시지를 배포하고, PE2는 CE1에 대한 EBGP 경로를 사용하여 참가 메시지를 보냅니다.
PE 라우터가 소스(또는 RP)로 향하는 하나 이상의 EBGP 경로를 손실하는 경우, 멀티캐스트 터널 인터페이스의 RPF neighbor가 해시 메커니즘을 기반으로 선택됩니다.
첫 번째 EBGP 경로를 발견하면 새로운 참가 메시지만 사용 가능한 EBGP 경로에서 로드 밸런싱을 수행하고, 멀티캐스트 터널 인터페이스의 기존 참가 메시지는 재배포되지 않습니다.
PE2 라우터에서 CE1 라우터로의 EBGP 경로가 내려가면 PE2는 IBGP 경로를 사용하여 PE1에 참가 메시지를 보냅니다. CE1에 대한 EBGP 경로가 복원되면 PE2에 도착하는 새로운 참가 메시지만 복원된 EBGP 경로를 사용하는 반면, IBGP 경로에서 이미 전송된 참가 메시지는 재배포되지 않습니다.
PE3 라우터와 같이 소스(또는 RP)로 향하는 IBGP 경로만 있는 PE 라우터에서는 PIM 참가 로드 밸런싱이 다음과 같이 수행됩니다.
CE 라우터의 C-PIM 참가 메시지는 IBGP 경로 중 BGP C-멀티캐스트 데이터 메시지로만 로드 밸런싱됩니다.
그림 2에서 CE4 호스트가 소스에서 트래픽을 수신하는 데 관심이 있고 CE4가 다른 그룹(그룹 1 [C-S,C-G1] 및 그룹 2 [C-S,C-G2])에 대한 소스 참가 메시지를 시작한다고 가정하면 소스 참가 메시지가 PE3 라우터에 도착합니다.
그런 다음 라우터 PE3는 Bytewise-XOR 해시 알고리즘을 사용하여 업스트림 PE 라우터를 선택하여 각 그룹에 대한 C-멀티캐스트 데이터를 전송합니다. 알고리즘은 먼저 업스트림 PE 라우터의 번호를 0부터 시작하여 낮은 IP 주소에서 높은 IP 주소로 지정합니다.
라우터 PE1 라우터에 번호가 0 , 라우터 PE2가 1로 번호가 매겨지고 그룹 1 및 그룹 2 참가 메시지에 대한 해시 결과가 각각 0 과 1이라고 가정하면, PE3 라우터는 업스트림 PE 라우터로 PE1을 선택하여 그룹 1 참가 메시지를 보내고, PE2를 업스트림 PE 라우터로 선택하여 그룹 2 참가 메시지를 소스로 보냅니다.
다른 그룹 [C-*,C-G]에 대한 공유 조인 메시지도 대상에 도달하기 위해 유사한 방식으로 처리됩니다.
구성
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 바꾸고 계층 수준에서 명령을 CLI [edit] 로 복사해 붙여 넣은 다음, 구성 모드에서 을(를) 입력합니다 commit .
PE1
set routing-instances vpn1 instance-type vrf set routing-instances vpn1 interface ge-3/0/1.0 set routing-instances vpn1 interface ge-3/3/2.0 set routing-instances vpn1 interface lo0.1 set routing-instances vpn1 route-distinguisher 1:1 set routing-instances vpn1 provider-tunnel rsvp-te label-switched-path-template default-template set routing-instances vpn1 vrf-target target:1:1 set routing-instances vpn1 vrf-table-label set routing-instances vpn1 routing-options multipath vpn-unequal-cost equal-external-internal set routing-instances vpn1 protocols bgp export direct set routing-instances vpn1 protocols bgp group bgp type external set routing-instances vpn1 protocols bgp group bgp local-address 10.40.10.1 set routing-instances vpn1 protocols bgp group bgp family inet unicast set routing-instances vpn1 protocols bgp group bgp neighbor 10.40.10.2 peer-as 3 set routing-instances vpn1 protocols bgp group bgp1 type external set routing-instances vpn1 protocols bgp group bgp1 local-address 10.10.10.1 set routing-instances vpn1 protocols bgp group bgp1 family inet unicast set routing-instances vpn1 protocols bgp group bgp1 neighbor 10.10.10.2 peer-as 3 set routing-instances vpn1 protocols pim rp static address 10.255.10.119 set routing-instances vpn1 protocols pim interface all set routing-instances vpn1 protocols pim join-load-balance set routing-instances vpn1 protocols mvpn mvpn-mode rpt-spt set routing-instances vpn1 protocols mvpn mvpn-join-load-balance bytewise-xor-hash
PE2
set routing-instances vpn1 instance-type vrf set routing-instances vpn1 interface ge-1/0/9.0 set routing-instances vpn1 interface lo0.1 set routing-instances vpn1 route-distinguisher 2:2 set routing-instances vpn1 provider-tunnel rsvp-te label-switched-path-template default-template set routing-instances vpn1 vrf-target target:1:1 set routing-instances vpn1 vrf-table-label set routing-instances vpn1 routing-options multipath vpn-unequal-cost equal-external-internal set routing-instances vpn1 protocols bgp export direct set routing-instances vpn1 protocols bgp group bgp local-address 10.50.10.2 set routing-instances vpn1 protocols bgp group bgp family inet unicast set routing-instances vpn1 protocols bgp group bgp neighbor 10.50.10.1 peer-as 3 set routing-instances vpn1 protocols pim rp static address 10.255.10.119 set routing-instances vpn1 protocols pim interface all set routing-instances vpn1 protocols mvpn mvpn-mode rpt-spt set routing-instances vpn1 protocols mvpn mvpn-join-load-balance bytewise-xor-hash
PE3 (영문)
set routing-instances vpn1 instance-type vrf set routing-instances vpn1 interface ge-0/0/8.0 set routing-instances vpn1 interface lo0.1 set routing-instances vpn1 route-distinguisher 3:3 set routing-instances vpn1 provider-tunnel rsvp-te label-switched-path-template default-template set routing-instances vpn1 vrf-target target:1:1 set routing-instances vpn1 vrf-table-label set routing-instances vpn1 routing-options multipath vpn-unequal-cost equal-external-internal set routing-instances vpn1 routing-options autonomous-system 1 set routing-instances vpn1 protocols bgp export direct set routing-instances vpn1 protocols bgp group bgp type external set routing-instances vpn1 protocols bgp group bgp local-address 10.80.10.1 set routing-instances vpn1 protocols bgp group bgp family inet unicast set routing-instances vpn1 protocols bgp group bgp neighbor 10.80.10.2 peer-as 2 set routing-instances vpn1 protocols pim rp static address 10.255.10.119 set routing-instances vpn1 protocols pim interface all set routing-instances vpn1 protocols mvpn mvpn-mode rpt-spt set routing-instances vpn1 protocols mvpn mvpn-join-load-balance bytewise-xor-hash
절차
단계별 절차
다음 예제에서는 구성 계층에서 다양한 수준의 탐색이 필요합니다. CLI 탐색에 대한 정보는 구성 모드에서 CLI 편집기 사용을 참조하십시오. PE1 라우터를 구성하려면 다음과 같이 하십시오.
각 라우터에 대한 적절한 인터페이스 이름, 주소 및 기타 매개 변수를 수정한 후 MVPN 도메인의 모든 주니퍼 네트웍스 라우터에 대해 이 절차를 반복합니다.
VPN 라우팅 포워딩(VRF) 라우팅 인스턴스를 구성합니다.
[edit routing-instances vpn1] user@PE1# set instance-type vrf user@PE1# set interface ge-3/0/1.0 user@PE1# set interface ge-3/3/2.0 user@PE1# set interface lo0.1 user@PE1# set route-distinguisher 1:1 user@PE1# set provider-tunnel rsvp-te label-switched-path-template default-template user@PE1# set vrf-target target:1:1 user@PE1# set vrf-table-labelVRF 인스턴스에 대한 프로토콜 독립 로드 밸런싱을 활성화합니다.
[edit routing-instances vpn1] user@PE1# set routing-options multipath vpn-unequal-cost equal-external-internalPE-CE 라우팅을 활성화하도록 BGP 그룹 및 이웃을 구성합니다.
[edit routing-instances vpn1 protocols] user@PE1# set bgp export direct user@PE1# set bgp group bgp type external user@PE1# set bgp group bgp local-address 10.40.10.1 user@PE1# set bgp group bgp family inet unicast user@PE1# set bgp group bgp neighbor 10.40.10.2 peer-as 3 user@PE1# set bgp group bgp1 type external user@PE1# set bgp group bgp1 local-address 10.10.10.1 user@PE1# set bgp group bgp1 family inet unicast user@PE1# set bgp group bgp1 neighbor 10.10.10.2 peer-as 3PE-CE 멀티캐스트 라우팅을 활성화하도록 PIM을 구성합니다.
[edit routing-instances vpn1 protocols] user@PE1# set pim rp static address 10.255.10.119모든 네트워크 인터페이스에서 PIM을 사용하도록 설정합니다.
[edit routing-instances vpn1 protocols] user@PE1# set pim interface allVRF 인스턴스에 대한 PIM 참가 로드 밸런싱을 활성화합니다.
[edit routing-instances vpn1 protocols] user@PE1# set pim join-load-balanceC-PIM 참가 메시지 모드를 구성하여 랑데부 포인트 트리를 사용하고 소스가 알려진 후 최단 경로 트리로 전환합니다.
[edit routing-instances vpn1 protocols] user@PE1# set mvpn mvpn-mode rpt-sptBytewise-XOR 해시 알고리즘을 사용하도록 VRF 인스턴스를 구성합니다.
[edit routing-instances vpn1 protocols] user@PE1# set mvpn mvpn-join-load-balance bytewise-xor-hash
결과
구성 모드에서 명령을 입력하여 구성을 show routing-instances 확인합니다. 출력 결과가 의도한 구성대로 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정하십시오.
user@PE1# show routing-instances
routing-instances {
vpn1 {
instance-type vrf;
interface ge-3/0/1.0;
interface ge-3/3/2.0;
interface lo0.1;
route-distinguisher 1:1;
provider-tunnel {
rsvp-te {
label-switched-path-template {
default-template;
}
}
}
vrf-target target:1:1;
vrf-table-label;
routing-options {
multipath {
vpn-unequal-cost equal-external-internal;
}
}
protocols {
bgp {
export direct;
group bgp {
type external;
local-address 10.40.10.1;
family inet {
unicast;
}
neighbor 10.40.10.2 {
peer-as 3;
}
}
group bgp1 {
type external;
local-address 10.10.10.1;
family inet {
unicast;
}
neighbor 10.10.10.2 {
peer-as 3;
}
}
}
pim {
rp {
static {
address 10.255.10.119;
}
}
interface all;
join-load-balance;
}
mvpn {
mvpn-mode {
rpt-spt;
}
mvpn-join-load-balance {
bytewise-xor-hash;
}
}
}
}
디바이스 구성을 마쳤으면 구성 모드에서 commit 을 입력합니다.
확인
구성이 올바르게 작동하고 있는지 확인합니다.
다른 참가 메시지 그룹에 대한 MVPN C-멀티캐스트 경로 정보 확인
목적
PE3 라우터에서 수신된 다양한 참가 메시지 그룹에 대한 MVPN C-멀티캐스트 경로 정보를 확인합니다.
행동
운영 모드에서 명령을 show mvpn c-multicast 실행합니다.
user@PE3>
MVPN instance:
Legend for provider tunnel
I-P-tnl -- inclusive provider tunnel S-P-tnl -- selective provider tunnel
Legend for c-multicast routes properties (Pr)
DS -- derived from (*, c-g) RM -- remote VPN route
Family : INET
Instance : vpn1
MVPN Mode : RPT-SPT
C-mcast IPv4 (S:G) Ptnl St
0.0.0.0/0:203.0.113.1/24 RSVP-TE P2MP:10.255.10.2, 5834,10.255.10.2
192.0.2.2/24:203.0.113.1/24 RSVP-TE P2MP:10.255.10.2, 5834,10.255.10.2
0.0.0.0/0:203.0.113.2/24 RSVP-TE P2MP:10.255.10.14, 47575,10.255.10.14
192.0.2.2/24:203.0.113.2/24 RSVP-TE P2MP:10.255.10.14, 47575,10.255.10.14
의미
출력은 PE3 라우터가 서로 다른 그룹에 대해 C-멀티캐스트 데이터를 어떻게 로드 밸런싱했는지 보여줍니다.
소스 조인 메시지(S,G)의 경우:
PE1 라우터 방향(10.255.10.2는 라우터 PE1의 루프백 주소)을 향하는 192.0.2.2/24:203.0.113.1/24(S,G1).
PE2 라우터(10.255.10.14는 라우터 PE2의 루프백 주소)를 향하는 192.0.2.2/24:203.0.113.2/24(S,G2).
공유 참가 메시지(*,G)의 경우:
PE1 라우터(10.255.10.2는 라우터 PE1의 루프백 주소)로 향하는 0.0.0.0/0:203.0.113.1/24(*,G1).
PE2 라우터(10.255.10.14는 라우터 PE2의 루프백 주소)를 향하는 0.0.0.0/0:203.0.113.2/24(*,G2)입니다.