예: 어그리게이션 이더넷 링크를 통한 멀티캐스트 로드 밸런싱 구성
이 예는 어그리게이션 이더넷 링크에서 로드 밸런싱을 위해 포인트 투 멀티포인트 LSP를 구성하는 방법을 보여줍니다. 로드 밸런싱은 멀티캐스트를 포함한 모든 트래픽 유형에 적용됩니다. .
요구 사항
시작하기 전에:
-
라우터 인터페이스를 구성합니다.
-
내부 게이트웨이 프로토콜 또는 정적 라우팅을 구성합니다. 라우팅 디바이스에 대한 Junos OS 라우팅 프로토콜 라이브러리를 참조하십시오.
개요
이 예는 다음 작업을 수행하기 위한 샘플 토폴로지 및 구성을 보여줍니다.
-
링크 어그리게이션을 통한 VPLS 멀티캐스트 트래픽 로드 밸런싱
-
링크 어그리게이션을 통한 로드 밸런싱 포인트 투 멀티포인트 멀티캐스트 트래픽
-
다음 홉 토폴로지 변경 후 재로드 밸런싱
다음 홉 토폴로지 변경에는 다음이 포함될 수 있지만 이에 국한되지는 않습니다.
-
링크 어그리게이션의 레이어 2 구성원 변경
-
간접적인 다음 홉 변경
-
복합 다음 홉 변경
-
로드 밸런싱은 해시 기반이므로 플로우 수가 많을수록 좋습니다. 유니캐스트의 경우와 마찬가지로 해시 키를 레이어 3 및 레이어 4 정보를 기반으로 구성하여 더 나은 로드 밸런싱 결과를 얻을 수도 있습니다. 멀티캐스트 트래픽에만 해당되는 몇 가지 예외가 있으며, 이는 고르지 않은 로드 밸런싱으로 이어질 수 있습니다(예: 발신 인터페이스 목록에 하위 링크 수가 동일하지 않은 여러 어그리게이션 인터페이스가 포함된 경우).
초안 로젠 멀티캐스트 VPN(MVPN)의 경우, LAG가 모두 코어 인터페이스일 때 어그리게이션 이더넷 인터페이스를 통한 로드 밸런싱이 고르지 않습니다. 차세대 MBGP MPVN의 경우, 멀티캐스트 트래픽은 포인트 투 멀티포인트 및 RSVP를 통해 전송되며, 해시는 IP 헤더까지 계산됩니다. Draft Rosen의 경우 멀티캐스트 트래픽은 GRE 터널을 통해 터널링되고 해시는 GRE 터널 헤더에만 사용됩니다. 이것이 LAG가 모두 코어 인터페이스일 때 로드 밸런싱이 Draft Rosen을 위한 것이 아닌 이유입니다.
토폴로지
그림 1 은 이 예의 토폴로지를 보여줍니다. 이 예에는 디바이스 PE1 및 PE2에 대한 구성이 포함됩니다.
구성
절차
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 변경한 다음, 계층 수준에서 [edit] 명령을 복사하여 CLI에 붙여 넣습니다.
디바이스 PE1
[edit] set forwarding-options hash-key family multiservice source-mac set forwarding-options hash-key family multiservice destination-mac set forwarding-options hash-key family multiservice payload ip layer-3 set interfaces ge-0/0/6 gigether-options 802.3ad ae0 set interfaces ge-0/1/6 gigether-options 802.3ad ae0 set interfaces ge-0/2/2 encapsulation ethernet-vpls set interfaces ge-0/2/2 unit 0 family vpls set interfaces ge-0/2/3 gigether-options 802.3ad ae0 set interfaces ge-0/2/6 gigether-options 802.3ad ae0 set interfaces ge-0/3/0 gigether-options 802.3ad ae0 set interfaces ge-0/3/1 gigether-options 802.3ad ae0 set interfaces ge-0/3/6 gigether-options 802.3ad ae0 set interfaces ge-1/0/6 gigether-options 802.3ad ae0 set interfaces ge-1/2/6 unit 0 family inet address 10.13.1.2/30 set interfaces ae0 unit 0 family inet address 10.11.11.1/30 set interfaces ae0 unit 0 family iso set interfaces ae0 unit 0 family mpls set policy-options policy-statement exp-to-fwd term a from community grn-com set policy-options policy-statement exp-to-fwd term a then install-nexthop lsp PE1-to-PE2 set policy-options policy-statement exp-to-fwd term a then accept set policy-options community grn-com members target:65000:1 set protocols rsvp interface all set protocols rsvp interface fxp0.0 disable set protocols mpls label-switched-path PE1-to-PE2 to 10.255.19.77 set protocols mpls label-switched-path PE1-to-PE3 to 10.255.19.79 set protocols mpls interface all set protocols mpls interface fxp0.0 disable set protocols bgp group int type internal set protocols bgp group int local-address 10.255.71.214 set protocols bgp group int family inet any set protocols bgp group int family l2vpn signaling set protocols bgp group int neighbor 10.255.19.77 set protocols bgp group int neighbor 10.255.19.79 set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable set routing-instances vpls instance-type vpls set routing-instances vpls interface ge-0/2/2.0 set routing-instances vpls route-distinguisher 65000:1 set routing-instances vpls vrf-target target:65000:1 set routing-instances vpls protocols vpls site-range 3 set routing-instances vpls protocols vpls no-tunnel-services set routing-instances vpls protocols vpls site asia site-identifier 1 set routing-instances vpls protocols vpls site asia interface ge-0/2/2.0 set routing-instances vpls protocols vpls vpls-id 100 set routing-instances vpls protocols vpls bum-hashing
디바이스 PE2
set interfaces ge-0/0/7 gigether-options 802.3ad ae0 set interfaces ge-0/1/7 gigether-options 802.3ad ae0 set interfaces ge-0/2/3 gigether-options 802.3ad ae0 set interfaces ge-0/2/7 gigether-options 802.3ad ae0 set interfaces ge-2/0/0 gigether-options 802.3ad ae1 set interfaces ge-2/0/1 gigether-options 802.3ad ae1 set interfaces ge-2/0/2 gigether-options 802.3ad ae1 set interfaces ge-2/0/4 encapsulation ethernet-vpls set interfaces ge-2/0/4 unit 0 family vpls set interfaces ge-2/0/7 gigether-options 802.3ad ae0 set interfaces ge-2/0/9 unit 0 family inet address 10.10.1.1/30 set interfaces ge-2/0/9 unit 0 family mpls set interfaces ge-2/1/7 gigether-options 802.3ad ae0 set interfaces ge-2/2/7 gigether-options 802.3ad ae0 set interfaces ge-2/3/7 gigether-options 802.3ad ae0 set interfaces ae0 unit 0 family inet address 10.11.11.2/30 set interfaces ae0 unit 0 family iso set interfaces ae0 unit 0 family mpls set interfaces ae1 unit 0 family inet address 10.1.1.1/30 set interfaces ae1 unit 0 family mpls set protocols rsvp interface all set protocols rsvp interface fxp0.0 disable set protocols mpls label-switched-path PE2-to-PE3 from 10.255.19.77 set protocols mpls label-switched-path PE2-to-PE3 to 10.255.19.79 set protocols mpls label-switched-path PE2-to-PE1 to 10.255.71.214 set protocols mpls interface all set protocols mpls interface fxp0.0 disable set protocols bgp group int type internal set protocols bgp group int local-address 10.255.19.77 set protocols bgp group int family inet any set protocols bgp group int family l2vpn signaling set protocols bgp group int neighbor 10.255.71.214 set protocols bgp group int neighbor 10.255.19.79 set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface lo0.0 set protocols ospf area 0.0.0.0 interface ge-2/0/0.0 set protocols ospf area 0.0.0.0 interface ge-2/0/1.0 set protocols ospf area 0.0.0.0 interface ge-2/0/2.0 set protocols ospf area 0.0.0.0 interface ae0.0 set protocols ospf area 0.0.0.0 interface ae1.0 set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable set protocols ldp interface all set protocols ldp interface fxp0.0 disable set routing-instances vpls instance-type vpls set routing-instances vpls interface ge-2/0/4.0 set routing-instances vpls route-distinguisher 65000:1 set routing-instances vpls vrf-target target:65000:1 set routing-instances vpls protocols vpls site-range 3 set routing-instances vpls protocols vpls no-tunnel-services set routing-instances vpls protocols vpls site 2 site-identifier 2 set routing-instances vpls protocols vpls site 2 interface ge-2/0/4.0 set routing-instances vpls protocols vpls vpls-id 100 set routing-instances vpls protocols vpls bum-hashing
단계별 절차
디바이스 PE1 구성:
-
디바이스 PE1 인터페이스를 구성합니다.
[edit interfaces] user@PE1# set ge-0/0/6 gigether-options 802.3ad ae0 user@PE1# set ge-0/1/6 gigether-options 802.3ad ae0 user@PE1# set ge-0/2/2 encapsulation ethernet-vpls user@PE1# set ge-0/2/2 unit 0 family vpls user@PE1# set ge-0/2/3 gigether-options 802.3ad ae0 user@PE1# set ge-0/2/6 gigether-options 802.3ad ae0 user@PE1# set ge-0/3/0 gigether-options 802.3ad ae0 user@PE1# set ge-0/3/1 gigether-options 802.3ad ae0 user@PE1# set ge-0/3/6 gigether-options 802.3ad ae0 user@PE1# set ge-1/0/6 gigether-options 802.3ad ae0 user@PE1# set ge-1/2/6 unit 0 family inet address 10.1.1.2/30 user@PE1# set ae0 unit 0 family inet address 10.11.11.1/30 user@PE1# set ae0 unit 0 family iso user@PE1# set ae0 unit 0 family mpls
-
디바이스 PE1에서 플로우별 로드 밸런싱에 사용할 패킷 헤더 데이터를 구성합니다.
[edit forwarding-options hash-key family multiservice] user@PE1# set source-mac user@PE1# set destination-mac user@PE1# set payload ip layer-3
-
디바이스 PE1에서 라우팅 정책을 구성합니다.
[edit policy-options] user@PE1# set policy-statement exp-to-fwd term a from community grn-com user@PE1# set policy-statement exp-to-fwd term a then install-nexthop lsp PE1-to-PE2 user@PE1# set policy-statement exp-to-fwd term a then accept user@PE1# set policy-options community grn-com members target:65000:1
-
디바이스 PE1 라우팅 프로토콜 및 MPLS를 구성합니다.
[edit protocols] user@PE1# set rsvp interface all user@PE1# set rsvp interface fxp0.0 disable user@PE1# set mpls label-switched-path PE1-to-PE2 to 10.255.19.77 user@PE1# set mpls label-switched-path PE1-to-PE3 to 10.255.19.79 user@PE1# set mpls interface all user@PE1# set mpls interface fxp0.0 disable user@PE1# set bgp group int type internal user@PE1# set bgp group int local-address 10.255.71.214 user@PE1# set bgp group int family inet any user@PE1# set bgp group int family l2vpn signaling user@PE1# set bgp group int neighbor 10.255.19.77 user@PE1# set bgp group int neighbor 10.255.19.79 user@PE1# set ospf traffic-engineering user@PE1# set ospf area 0.0.0.0 interface all user@PE1# set ospf area 0.0.0.0 interface fxp0.0 disable
-
디바이스 PE1에서 VPLS를 구성합니다.
[edit routing-instances vpls] user@PE1# set instance-type vpls user@PE1# set interface ge-0/2/2.0 user@PE1# set route-distinguisher 65000:1 user@PE1# set vrf-target target:65000:1 user@PE1# set protocols vpls site-range 3 user@PE1# set protocols vpls no-tunnel-services user@PE1# set protocols vpls site asia site-identifier 1 user@PE1# set protocols vpls site asia interface ge-0/2/2.0 user@PE1# set protocols vpls vpls-id 100 user@PE1# set protocols vpls bum-hashing
단계별 절차
디바이스 PE2 구성:
-
디바이스 PE2 인터페이스를 구성합니다.
[edit interfaces] user@PE2# set ge-0/0/7 gigether-options 802.3ad ae0 user@PE2# set ge-0/1/7 gigether-options 802.3ad ae0 user@PE2# set ge-0/2/3 gigether-options 802.3ad ae0 user@PE2# set ge-0/2/7 gigether-options 802.3ad ae0 user@PE2# set ge-2/0/0 gigether-options 802.3ad ae1 user@PE2# set ge-2/0/1 gigether-options 802.3ad ae1 user@PE2# set ge-2/0/2 gigether-options 802.3ad ae1 user@PE2# set ge-2/0/4 encapsulation ethernet-vpls user@PE2# set ge-2/0/4 unit 0 family vpls user@PE2# set ge-2/0/7 gigether-options 802.3ad ae0 user@PE2# set ge-2/0/9 unit 0 family inet address 10.10.1.1/30 user@PE2# set ge-2/0/9 unit 0 family mpls user@PE2# set ge-2/1/7 gigether-options 802.3ad ae0 user@PE2# set ge-2/2/7 gigether-options 802.3ad ae0 user@PE2# set ge-2/3/7 gigether-options 802.3ad ae0 user@PE2# set ae0 unit 0 family inet address 10.11.11.2/30 user@PE2# set ae0 unit 0 family iso user@PE2# set ae0 unit 0 family mpls user@PE2# set ae1 unit 0 family inet address 10.1.1.1/30 user@PE2# set ae1 unit 0 family mpls
-
디바이스 PE2 라우팅 프로토콜 및 MPLS를 구성합니다.
[edit protocols] user@PE2# set rsvp interface all user@PE2# set rsvp interface fxp0.0 disable user@PE2# set mpls label-switched-path PE2-to-PE3 from 10.255.19.77 user@PE2# set mpls label-switched-path PE2-to-PE3 to 10.255.19.79 user@PE2# set mpls label-switched-path PE2-to-PE1 to 10.255.71.214 user@PE2# set mpls interface all user@PE2# set mpls interface fxp0.0 disable user@PE2# set bgp group int type internal user@PE2# set bgp group int local-address 10.255.19.77 user@PE2# set bgp group int family inet any user@PE2# set bgp group int family l2vpn signaling user@PE2# set bgp group int neighbor 10.255.71.214 user@PE2# set bgp group int neighbor 10.255.19.79 user@PE2# set ospf traffic-engineering user@PE2# set ospf area 0.0.0.0 interface lo0.0 user@PE2# set ospf area 0.0.0.0 interface ge-2/0/0.0 user@PE2# set ospf area 0.0.0.0 interface ge-2/0/1.0 user@PE2# set ospf area 0.0.0.0 interface ge-2/0/2.0 user@PE2# set ospf area 0.0.0.0 interface ae0.0 user@PE2# set ospf area 0.0.0.0 interface ae1.0 user@PE2# set ospf area 0.0.0.0 interface all user@PE2# set ospf area 0.0.0.0 interface fxp0.0 disable user@PE2# set ldp interface all user@PE2# set ldp interface fxp0.0 disable
-
디바이스 PE2에서 VPLS를 구성합니다.
[edit routing-instances vpls] user@PE2# set instance-type vpls user@PE2# set interface ge-2/0/4.0 user@PE2# set route-distinguisher 65000:1 user@PE2# set vrf-target target:65000:1 user@PE2# set protocols vpls site-range 3 user@PE2# set protocols vpls no-tunnel-services user@PE2# set protocols vpls site 2 site-identifier 2 user@PE2# set protocols vpls site 2 interface ge-2/0/4.0 user@PE2# set protocols vpls vpls-id 100 user@PE2# set protocols vpls bum-hashing
결과
구성 모드에서 , show interfaces, , show protocolsshow policy-options및 show routing-options 명령을 실행show forwarding-options하여 구성을 확인합니다. 출력에 의도한 구성이 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정합니다.
디바이스 PE1
user@PE1# show forwarding-options
hash-key {
family multiservice {
source-mac;
destination-mac;
payload {
ip {
layer-3;
}
}
}
}
user@PE1# show interfaces
ge-0/0/6 {
gigether-options {
802.3ad ae0;
}
}
ge-0/1/6 {
gigether-options {
802.3ad ae0;
}
}
ge-0/2/2 {
encapsulation ethernet-vpls;
unit 0 {
family vpls;
}
}
ge-0/2/3 {
gigether-options {
802.3ad ae0;
}
}
ge-0/2/6 {
gigether-options {
802.3ad ae0;
}
}
ge-0/3/0 {
gigether-options {
802.3ad ae0;
}
}
ge-0/3/1 {
gigether-options {
802.3ad ae0;
}
}
ge-0/3/6 {
gigether-options {
802.3ad ae0;
}
}
ge-1/0/6 {
gigether-options {
802.3ad ae0;
}
}
ge-1/2/6 {
unit 0 {
family inet {
address 10.1.1.2/30;
}
}
}
ae0 {
unit 0 {
family inet {
address 10.11.11.1/30;
}
family iso;
family mpls;
}
}
user@PE1# show protocols
mpls {
interface all;
interface fxp0.0 {
disable;
}
label-switched-path PE1-to-PE2 {
to 10.255.19.77;
}
label-switched-path PE1-to-PE3 {
to 10.255.19.79;
}
}
rsvp {
interface all;
interface fxp0.0 {
disable;
}
}
bgp {
group int {
type internal;
local-address 10.255.71.214;
family inet {
any;
}
family l2vpn {
signaling;
}
neighbor 10.255.19.77;
neighbor 10.255.19.79;
}
}
ospf {
traffic-engineering;
area 0.0.0.0 {
interface all;
interface fxp0.0 {
disable;
}
}
}
user@PE1# show policy-options
policy-statement exp-to-fwd {
term a {
from community grn-com;
then {
install-nexthop lsp PE1-to-PE2;
accept;
}
}
}
community grn-com members target:65000:1;
user@PE1# show routing-instances
vpls {
instance-type vpls;
interface ge-0/2/2.0;
route-distinguisher 65000:1;
vrf-target target:65000:1;
protocols {
vpls {
site-range 3;
no-tunnel-services;
site asia {
site-identifier 1;
interface ge-0/2/2.0;
}
vpls-id 100;
bum-hashing;
}
}
}
디바이스 PE2
user@PE2# show interfaces
ge-0/0/7 {
gigether-options {
802.3ad ae0;
}
}
ge-0/1/7 {
gigether-options {
802.3ad ae0;
}
}
ge-0/2/3 {
gigether-options {
802.3ad ae0;
}
}
ge-0/2/7 {
gigether-options {
802.3ad ae0;
}
}
ge-2/0/0 {
gigether-options {
802.3ad ae1;
}
}
ge-2/0/1 {
gigether-options {
802.3ad ae1;
}
}
ge-2/0/2 {
gigether-options {
802.3ad ae1;
}
}
ge-2/0/4 {
encapsulation ethernet-vpls;
unit 0 {
family vpls;
}
}
ge-2/0/7 {
gigether-options {
802.3ad ae0;
}
}
ge-2/0/9 {
unit 0 {
family inet {
address 10.10.1.1/30;
}
family mpls;
}
}
ge-2/1/7 {
gigether-options {
802.3ad ae0;
}
}
ge-2/2/7 {
gigether-options {
802.3ad ae0;
}
}
ge-2/3/7 {
gigether-options {
802.3ad ae0;
}
}
ae0 {
unit 0 {
family inet {
address 10.11.11.2/30;
}
family iso;
family mpls;
}
}
ae1 {
unit 0 {
family inet {
address 10.1.1.1/30;
}
family mpls;
}
}
user@PE2# show protocols
rsvp {
interface all;
interface fxp0.0 {
disable;
}
}
mpls {
label-switched-path PE2-to-PE3 {
from 10.255.19.77;
to 10.255.19.79;
}
label-switched-path PE2-to-PE1 {
to 10.255.71.214;
}
interface all;
interface fxp0.0 {
disable;
}
}
bgp {
group int {
type internal;
local-address 10.255.19.77;
family inet {
any;
}
family l2vpn {
signaling;
}
neighbor 10.255.71.214;
neighbor 10.255.19.79;
}
}
ospf {
traffic-engineering;
area 0.0.0.0 {
interface lo0.0;
interface ge-2/0/0.0;
interface ge-2/0/1.0;
interface ge-2/0/2.0;
interface ae0.0;
interface ae1.0;
interface all;
interface fxp0.0 {
disable;
}
}
}
ldp {
interface all;
interface fxp0.0 {
disable;
}
}
user@PE2# show routing-instances
vpls {
instance-type vpls;
interface ge-2/0/4.0;
route-distinguisher 65000:1;
vrf-target target:65000:1;
protocols {
vpls {
site-range 3;
no-tunnel-services;
site 2 {
site-identifier 2;
interface ge-2/0/4.0;
}
vpls-id 100;
bum-hashing;
}
}
}
검증
and monitor interface traffic 명령을 실행 show interfaces ae1.0 extensive 하여 라우팅 인스턴스의 작동을 모니터링할 수 있습니다.
문제 해결을 위해 모든 프로토콜에 대한 추적 작업을 구성할 수 있습니다.