예: 스위치의 PIM 도메인에서 멀티캐스트 전용 Fast Reroute 구성
다음 예시는 링크 장애가 있을 때 네트워크에서 패킷 손실을 최소화하기 위해 MoFRR(Multicast-only Fast Reroute)을 구성하는 방법을 보여줍니다. 멀티캐스트 라우팅 프로토콜인 PIM(Protocol Independent Multicast)을 향상시켜 작동합니다.
MoFRR은 수신기에서 기본 경로의 소스로 멀티캐스트 조인 메시지를 전송하는 동시에 수신기에서 백업 경로의 소스로 보조 멀티캐스트 조인 메시지를 전송합니다. 데이터 패킷은 기본 경로와 백업 경로 모두에서 수신됩니다. 중복 패킷은 우선 순위(기본 및 백업 경로에 할당된 가중치)에 따라 토폴로지 병합 지점에서 폐기됩니다. 기본 경로에서 장애가 감지되면 패킷이 수락되는 인터페이스를 보조 인터페이스로 변경하여 복구가 이루어집니다. 복구가 로컬에서 이루어지기 때문에 속도가 빠르며, 기본 경로에서 링크 장애가 발생할 경우 컨버전스 시간이 크게 향상됩니다.
요구 사항
이 예제를 구성하기 전에 디바이스 초기화 이외의 특별한 구성은 필요하지 않습니다.
이 예에서는 QFX 시리즈 스위치를 사용하며, 송신 프로바이더 에지(PE) 디바이스에서만 MoFRR이 활성화되어 있습니다. 이 토폴로지에는 MoFRR이 활성화되지 않은 다른 디바이스에 대한 MX 시리즈 라우터가 포함될 수도 있습니다. 이 경우, 기본 또는 백업 멀티캐스트 트래픽 스트림에 사용되는 MX 시리즈 디바이스 포트를 해당 인터페이스로 대체하십시오.
이 예에서는 MoFRR을 실행하는 디바이스에서 Junos OS 릴리스 17.4R1 이상이 필요합니다.
개요
이 예에서 디바이스 R3은 송신 에지 디바이스입니다. MoFRR은 이 디바이스에서만 활성화됩니다.
OSPF 또는 IS-IS가 연결에 사용되지만 모든 내부 게이트웨이 프로토콜(IGP) 또는 정적 경로를 사용할 수 있습니다.
PIM Sparse 모드 버전 2는 PIM 도메인의 모든 디바이스에서 사용하도록 설정됩니다. 디바이스 R1은 랑데부 포인트(RP) 역할을 합니다.
디바이스 R3는 MoFRR과 더불어 PIM 조인 로드 밸런싱도 활성화되어 있습니다.
테스트 목적으로 라우팅 또는 스위칭 디바이스를 사용하여 멀티캐스트 소스와 수신기를 시뮬레이션합니다. 디바이스 R3은 명령을 사용하여 원하는 그룹에 정적으로 합류하도록 set protocols igmp interface xe-0/0/15.0 static group 225.1.1.1
구성됩니다. 그것은 단지 듣는 것이 아니라 합류하는 것입니다. xe-0/0/15.0 인터페이스는 수신기를 향하는 디바이스 R3 인터페이스입니다. 이 예와 같이 실제 멀티캐스트 수신기 호스트를 사용할 수 없는 경우 이 정적 IGMP 구성이 유용합니다. 수신기에서 멀티캐스트 그룹 주소를 수신하기 위해 이 예는 을(를) 사용합니다 set protocols sap listen 225.1.1.1
. 소스가 멀티캐스트 트래픽을 전송하기 위해 소스 디바이스에서 멀티캐스트 핑이 발행됩니다. ping 명령은 ping 225.1.1.1 bypass-routing interface xe-0/0/10.0 ttl 10 count 1000000000
입니다. xe-0/0/10.0 인터페이스는 디바이스 R1을 향하는 소스 인터페이스입니다.
MoFRR 구성에는 이 예에 나와 있지 않지만 별도로 설명되어 있는 여러 옵션이 포함되어 있습니다. 옵션은 다음과 같습니다.
stream-protection { mofrr-asm-starg; mofrr-disjoint-upstream-only; mofrr-no-backup-join; mofrr-primary-path-selection-by-routing; policy policy-name; }
위상수학
그림 1 은 샘플 네트워크를 보여줍니다.
CLI Quick Configuration(빠른 컨피그레이션 )은 그림 1의 모든 디바이스에 대한 컨피그레이션을 보여줍니다.
단계별 구성 섹션에서는 디바이스 R3의 단계에 대해 설명합니다.
CLI 빠른 구성
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 변경한 다음, 계층 수준에서 명령을 CLI로 [edit]
복사해 붙여 넣습니다.
디바이스 R1
set interfaces xe-0/0/10 unit 0 family inet address 10.0.0.2/30 set interfaces xe-0/0/11 unit 0 family inet address 10.0.0.5/30 set interfaces xe-0/0/12 unit 0 family inet address 10.0.0.17/30 set interfaces lo0 unit 0 family inet address 192.168.0.1/32 set protocols ospf area 0.0.0.0 interface xe-0/0/10.0 set protocols ospf area 0.0.0.0 interface xe-0/0/11.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface xe-0/0/12.0 set protocols pim rp local family inet address 192.168.0.1 set protocols pim interface all mode sparse set protocols pim interface all version 2
디바이스 R2
set interfaces xe-0/0/11 unit 0 family inet address 10.0.0.6/30 set interfaces xe-0/0/13 unit 0 family inet address 10.0.0.9/30 set interfaces lo0 unit 0 family inet address 192.168.0.2/32 set protocols ospf area 0.0.0.0 interface xe-0/0/11.0 set protocols ospf area 0.0.0.0 interface xe-0/0/13.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols pim rp static address 192.168.0.1 set protocols pim interface all mode sparse set protocols pim interface all version 2
디바이스 R3
set interfaces xe-0/0/13 unit 0 family inet address 10.0.0.10/30 set interfaces xe-0/0/15 unit 0 family inet address 10.0.0.13/30 set interfaces xe-0/0/14 unit 0 family inet address 10.0.0.22/30 set interfaces lo0 unit 0 family inet address 192.168.0.3/32 set protocols igmp interface xe-0/0/15.0 static group 225.1.1.1 set protocols ospf area 0.0.0.0 interface xe-0/0/13.0 set protocols ospf area 0.0.0.0 interface xe-0/0/15.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface xe-0/0/14.0 set protocols pim rp static address 192.168.0.1 set protocols pim interface all mode sparse set protocols pim interface all version 2 set protocols pim join-load-balance automatic set policy-options policy-statement load-balancing-policy then load-balance per-packet set routing-options forwarding-table export load-balancing-policy set routing-options multicast stream-protection
디바이스 R6
set interfaces xe-0/0/12 unit 0 family inet address 10.0.0.18/30 set interfaces xe-0/0/14 unit 0 family inet address 10.0.0.21/30 set interfaces lo0 unit 0 family inet address 192.168.0.6/32 set protocols ospf area 0.0.0.0 interface xe-0/0/12.0 set protocols ospf area 0.0.0.0 interface xe-0/0/14.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols pim rp static address 192.168.0.1 set protocols pim interface all mode sparse set protocols pim interface all version 2
장치 소스
set interfaces xe-0/0/10 unit 0 family inet address 10.0.0.1/30 set interfaces lo0 unit 0 family inet address 192.168.0.4/32 set protocols ospf area 0.0.0.0 interface xe-0/0/10.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive
장치 수신기
set interfaces xe-0/0/15 unit 0 family inet address 10.0.0.14/30 set interfaces lo0 unit 0 family inet address 192.168.0.5/32 set protocols sap listen 225.1.1.1 set protocols ospf area 0.0.0.0 interface xe-0/0/15.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive
단계별 구성
절차
단계별 절차
다음 예제에서는 구성 계층의 다양한 수준을 탐색해야 합니다. CLI 탐색에 대한 자세한 내용은 Junos OS CLI 사용자 가이드의 구성 모드에서 CLI 편집기 사용을 참조하십시오.
디바이스 R3 구성:
디바이스 인터페이스를 구성합니다.
[edit interfaces] user@R3# set xe-0/0/13 unit 0 family inet address 10.0.0.10/30 user@R3# set xe-0/0/15 unit 0 family inet address 10.0.0.13/30 user@R3# set xe-0/0/14 unit 0 family inet address 10.0.0.22/30 user@R3# set lo0 unit 0 family inet address 192.168.0.3/32
테스트 목적으로만 Receiver라는 레이블이 지정된 디바이스를 향하는 인터페이스에서 IGMP 조인을 시뮬레이션합니다.
테스트 환경에 수신기 호스트가 있는 경우에는 이 단계가 필요하지 않습니다.
[edit protocols igmp interface xe-0/0/15.0] user@R3# set static group 225.1.1.1
IGP 또는 정적 경로를 구성합니다.
[edit protocols ospf area 0.0.0.0] user@R3# set interface xe-0/0/13.0 user@R3# set interface xe-0/0/15.0 user@R3# set interface lo0.0 passive user@R3# set interface xe-0/0/14.0
PIM을 구성합니다.
[edit protocols pim] user@R3# set rp static address 192.168.0.1 user@R3# set interface all mode sparse user@R3# set interface all version 2
(선택 사항) PIM 조인 로드 밸런싱을 구성합니다.
[edit protocols pim] user@R3# set join-load-balance automatic
(선택 사항) 패킷당 로드 밸런싱을 구성합니다.
[edit policy-options policy-statement load-balancing-policy] user@R3# set then load-balance per-packet [edit routing-options forwarding-table] user@R3# set export load-balancing-policy
MoFRR을 활성화합니다.
[edit routing-options multicast] user@R3# set stream-protection
결과
구성 모드에서 , show protocols
, show policy-options
및 show routing-options
명령을 입력하여 show interfaces
구성을 확인합니다. 출력에 의도한 구성이 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정하십시오.
user@R3# show interfaces xe-0/0/13 { unit 0 { family inet { address 10.0.0.10/30; } } } xe-0/0/14 { unit 0 { family inet { address 10.0.0.22/30; } } } xe-0/0/15 { unit 0 { family inet { address 10.0.0.13/30; } } } lo0 { unit 0 { family inet { address 192.168.0.3/32; } } }
user@R3# show protocols igmp { interface xe-0/0/15.0 { static { group 225.1.1.1; } } } ospf { area 0.0.0.0 { interface xe-0/0/13.0; interface xe-0/0/15.0; interface lo0.0 { passive; } interface xe-0/0/14.0; } } pim { rp { static { address 192.168.0.1; } } interface all { mode sparse; version 2; } join-load-balance { automatic; } }
user@R3# show policy-options policy-statement load-balancing-policy { then { load-balance per-packet; } }
user@R3# show routing-options forwarding-table { export load-balancing-policy; } multicast { stream-protection; }
디바이스 구성을 마쳤으면 구성 모드에서 을 입력합니다 commit
.
확인
구성이 올바르게 작동하고 있는지 확인합니다.
PIM 도메인으로 멀티캐스트 트래픽 전송
목적
멀티캐스트 ping 명령을 사용하여 멀티캐스트 트래픽을 시뮬레이션합니다.
행동
user@Source> ping 225.1.1.1 bypass-routing interface xe-0/0/10.0 ttl 10 count 1000000000 PING 225.1.1.1 (225.1.1.1): 56 data bytes 64 bytes from 10.0.0.14: icmp_seq=1 ttl=61 time=0.845 ms 64 bytes from 10.0.0.14: icmp_seq=2 ttl=61 time=0.661 ms 64 bytes from 10.0.0.14: icmp_seq=3 ttl=61 time=0.615 ms 64 bytes from 10.0.0.14: icmp_seq=4 ttl=61 time=0.640 ms
의미
디바이스 R1을 향하는 디바이스 소스의 인터페이스는 xe-0/0/10.0입니다. 멀티캐스트 핑의 TTL은 기본적으로 1이므로 옵션을 사용해야 ttl
합니다.
업스트림 인터페이스 검증
목적
송신 디바이스에 멀티캐스트 그룹 조인을 위한 두 개의 업스트림 인터페이스가 있는지 확인합니다.
행동
user@R3> show pim join 225.1.1.1 extensive sg Instance: PIM.master Family: INET R = Rendezvous Point Tree, S = Sparse, W = Wildcard Group: 225.1.1.1 Source: 10.0.0.1 Flags: sparse,spt Active upstream interface: xe-0/0/13.0 Active upstream neighbor: 10.0.0.9 MoFRR Backup upstream interface: xe-0/0/14.0 MoFRR Backup upstream neighbor: 10.0.0.21 Upstream state: Join to Source, No Prune to RP Keepalive timeout: 354 Uptime: 00:00:06 Downstream neighbors: Interface: xe-0/0/15.0 10.0.0.13 State: Join Flags: S Timeout: Infinity Uptime: 00:00:06 Time since last Join: 00:00:06 Number of downstream interfaces: 1
의미
출력은 활성 업스트림 인터페이스 및 인접 라우터와 MoFRR 백업 업스트림 인터페이스 및 인접 라우터를 보여줍니다.
멀티캐스트 경로 확인
목적
IP 멀티캐스트 포워딩 테이블을 검토하여 기본 및 백업 인터페이스가 있는 업스트림 RPF 인터페이스 목록이 있는지 확인합니다.
행동
user@R3> show multicast route extensive Instance: master Family: INET Group: 225.1.1.1 Source: 10.0.0.1/32 Upstream rpf interface list: xe-0/0/13.0 (P) xe-0/0/14.0 (B) Downstream interface list: xe-0/0/15.0 Session description: Unknown Forwarding statistics are not available RPF Next-hop ID: 836 Next-hop ID: 1048585 Upstream protocol: PIM Route state: Active Forwarding state: Forwarding Cache lifetime/timeout: 171 seconds Wrong incoming interface notifications: 0 Uptime: 00:03:09
의미
출력은 기본 및 백업 인터페이스와 함께 업스트림 RPF 인터페이스 목록을 보여줍니다.