예: PIM을 위한 무중단 활성 라우팅 구성
PIM에 대한 논스톱 액티브 라우팅 이해
논스톱 액티브 라우팅 구성에는 라우팅 엔진 페일오버 중에 라우팅이 중단되지 않도록 정보를 공유하는 두 개의 라우팅 엔진이 포함됩니다. 듀얼 라우팅 엔진 플랫폼에서 무중단 활성 라우팅이 구성되면 PIM 제어 상태가 두 라우팅 엔진 모두에 복제됩니다.
이 PIM 상태 정보에는 다음이 포함됩니다.
인접 관계
조인 및 정보 정리
RP 설정 정보
경로와 다음 홉 간의 동기화 및 두 라우팅 엔진 간의 포워딩 상태
PIM 제어 상태는 기본 라우팅 엔진에서 백업 라우팅 엔진으로 상태 정보를 복제하고 백업 라우팅 엔진이 기본 라우팅 엔진의 [instance].inet.1 라우팅 테이블에서 경로 설치 및 수정에 반응하도록 하여 백업 라우팅 엔진에서 유지됩니다. 백업 라우팅 엔진은 PIM 프로토콜 패킷을 직접 송수신하지 않습니다. 또한 백업 라우팅 엔진은 기본 라우팅 엔진에서 생성된 동적 인터페이스를 사용합니다. 이러한 동적 인터페이스에는 PIM 캡슐화, 캡슐화 해제 및 멀티캐스트 터널 인터페이스가 포함됩니다.
논스톱 활성 라우팅이 활성화된 경우 백업 라우팅 엔진에서 clear pim join, clear pim register 및 clear pim statistics 운영 모드 명령이 지원되지 않습니다.
PIM에 대한 무중단 활성 라우팅을 활성화하려면(기본 라우팅 엔진의 PIM 구성 외에도) 계층 수준에서 다음 문을 [ edit] 포함해야 합니다.
섀시 이중화 graceful-switchover
routing-options 논스톱 라우팅
시스템 커밋 동기화
예: PIM을 사용한 무중단 활성 라우팅 구성
이 예는 PIM 기반의 멀티캐스트 IPv4 및 IPv6 트래픽에 대해 무중단 활성 라우팅을 구성하는 방법을 보여줍니다.
요구 사항
개요
Junos OS는 다음과 같은 PIM 시나리오에서 논스톱 액티브 라우팅을 지원합니다.
고밀도 모드
스파스 모드
증권 시세 표시기
정적 RP
Auto-RP(IPv4 전용)
부트스트랩 라우터
비 RP 라우터에 내장된 RP(IPv6 전용)
BFD 지원
Rosen 멀티캐스트 VPN 및 BGP 멀티캐스트 VPN 초안(기본 라우팅 엔진과 백업 라우팅 엔진 간에 MVPN 경로, cmcast, 프로바이더-터널 및 포워딩 정보를 동기화하려면 계층 수준에서 옵션
[edit protocols bgp]
사용advertise-from-main-vpn-tables
)인접 정책, 부트스트랩 라우터 내보내기 및 가져오기 정책, 범위 정책, 플로우 맵, RPF(Reverse Path Forwarding) 확인 정책과 같은 정책 기능
Junos OS 릴리스 13.3에서 멀티캐스트 VPN은 무중단 활성 라우팅으로 지원되지 않습니다. 정책 기반 기능(예: 인접 정책, 참가 정책, BSR 정책, 범위 정책, 플로우 맵, RPF 검사 정책)은 무중단 활성 라우팅에서 지원되지 않습니다.
이 예에서는 정적 RP를 사용합니다. 인터페이스는 IPv4 및 IPv6 트래픽을 모두 수신하도록 구성됩니다. R2는 로컬 RP로 RP 서비스를 제공합니다. 무중단 활성 라우팅은 RP 라우터에서 지원되지 않습니다. 이 예에 표시된 구성은 R1에 있습니다.
구성
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 변경하고, 계층 수준에서 명령을 CLI로 [edit]
복사해 붙여 넣은 다음, 구성 모드에서 을 입력합니다 commit
.
R1
set system syslog archive size 10m set system syslog file messages any info set system commit synchronize set chassis redundancy graceful-switchover set interfaces traceoptions file dcd-trace set interfaces traceoptions file size 10m set interfaces traceoptions file files 10 set interfaces traceoptions flag all set interfaces so-0/0/1 unit 0 description "to R0 so-0/0/1.0" set interfaces so-0/0/1 unit 0 family inet address 10.210.1.2/30 set interfaces so-0/0/1 unit 0 family inet6 address FDCA:9E34:50CE:0001::2/126 set interfaces fe-0/1/3 unit 0 description "to R2 fe-0/1/3.0" set interfaces fe-0/1/3 unit 0 family inet address 10.210.12.1/30 set interfaces fe-0/1/3 unit 0 family inet6 address FDCA:9E34:50CE:0012::1/126 set interfaces fe-1/1/0 unit 0 description "to H1" set interfaces fe-1/1/0 unit 0 family inet address 10.240.0.250/30 set interfaces fe-1/1/0 unit 0 family inet6 address ::10.240.0.250/126 set interfaces lo0 unit 0 description "R1 Loopback" set interfaces lo0 unit 0 family inet address 10.210.255.201/32 primary set interfaces lo0 unit 0 family iso address 47.0005.80ff.f800.0000.0108.0001.0102.1025.5201.00 set interfaces lo0 unit 0 family inet6 address abcd::10:210:255:201/128 set protocols ospf traceoptions file r1-nsr-ospf2 set protocols ospf traceoptions file size 10m set protocols ospf traceoptions file files 10 set protocols ospf traceoptions file world-readable set protocols ospf traceoptions flag error set protocols ospf traceoptions flag lsa-update detail set protocols ospf traceoptions flag flooding detail set protocols ospf traceoptions flag lsa-request detail set protocols ospf traceoptions flag state detail set protocols ospf traceoptions flag event detail set protocols ospf traceoptions flag hello detail set protocols ospf traceoptions flag nsr-synchronization detail set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface so-0/0/1.0 metric 100 set protocols ospf area 0.0.0.0 interface fe-0/1/3.0 metric 100 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface fxp0.0 disable set protocols ospf area 0.0.0.0 interface fe-1/1/0.0 passive set protocols ospf3 traceoptions file r1-nsr-ospf3 set protocols ospf3 traceoptions file size 10m set protocols ospf3 traceoptions file world-readable set protocols ospf3 traceoptions flag lsa-update detail set protocols ospf3 traceoptions flag flooding detail set protocols ospf3 traceoptions flag lsa-request detail set protocols ospf3 traceoptions flag state detail set protocols ospf3 traceoptions flag event detail set protocols ospf3 traceoptions flag hello detail set protocols ospf3 traceoptions flag nsr-synchronization detail set protocols ospf3 area 0.0.0.0 interface fe-1/1/0.0 passive set protocols ospf3 area 0.0.0.0 interface fe-1/1/0.0 metric 1 set protocols ospf3 area 0.0.0.0 interface lo0.0 passive set protocols ospf3 area 0.0.0.0 interface so-0/0/1.0 metric 1 set protocols ospf3 area 0.0.0.0 interface fe-0/1/3.0 metric 1 set protocols pim traceoptions file r1-nsr-pim set protocols pim traceoptions file size 10m set protocols pim traceoptions file files 10 set protocols pim traceoptions file world-readable set protocols pim traceoptions flag mdt detail set protocols pim traceoptions flag rp detail set protocols pim traceoptions flag register detail set protocols pim traceoptions flag packets detail set protocols pim traceoptions flag autorp detail set protocols pim traceoptions flag join detail set protocols pim traceoptions flag hello detail set protocols pim traceoptions flag assert detail set protocols pim traceoptions flag normal detail set protocols pim traceoptions flag state detail set protocols pim traceoptions flag nsr-synchronization set protocols pim rp static address 10.210.255.202 set protocols pim rp static address abcd::10:210:255:202 set protocols pim interface lo0.0 set protocols pim interface fe-0/1/3.0 mode sparse set protocols pim interface fe-0/1/3.0 version 2 set protocols pim interface so-0/0/1.0 mode sparse set protocols pim interface so-0/0/1.0 version 2 set protocols pim interface fe-1/1/0.0 mode sparse set protocols pim interface fe-1/1/0.0 version 2 set policy-options policy-statement load-balance then load-balance per-packet set routing-options nonstop-routing set routing-options router-id 10.210.255.201 set routing-options forwarding-table export load-balance set routing-options forwarding-table traceoptions file r1-nsr-krt set routing-options forwarding-table traceoptions file size 10m set routing-options forwarding-table traceoptions file world-readable set routing-options forwarding-table traceoptions flag queue set routing-options forwarding-table traceoptions flag route set routing-options forwarding-table traceoptions flag routes set routing-options forwarding-table traceoptions flag synchronous set routing-options forwarding-table traceoptions flag state set routing-options forwarding-table traceoptions flag asynchronous set routing-options forwarding-table traceoptions flag consistency-checking set routing-options traceoptions file r1-nsr-sync set routing-options traceoptions file size 10m set routing-options traceoptions flag nsr-synchronization set routing-options traceoptions flag commit-synchronize
절차
단계별 절차
다음 예제에서는 구성 계층의 다양한 수준을 탐색해야 합니다. CLI 탐색에 대한 자세한 내용은 Junos OS CLI 사용자 가이드의 구성 모드에서 CLI 편집기 사용을 참조하십시오.
R1에서 무중단 활성 라우팅을 구성하려면 다음을 수행합니다.
라우팅 엔진을 동기화합니다.
[edit] user@host# edit system [edit system] user@host# set commit synchronize user@host# exit
GRES(Graceful Routing Engine Switchover)를 활성화합니다.
[edit] user@host# set chassis redundancy graceful-switchover
R1의 인터페이스를 구성합니다.
[edit] user@host# edit interfaces [edit interfaces] user@host# set so-0/0/1 unit 0 description "to R0 so-0/0/1.0" user@host# set so-0/0/1 unit 0 family inet address 10.210.1.2/30 user@host# set so-0/0/1 unit 0 family inet6 address FDCA:9E34:50CE:0001::2/126 user@host# set fe-0/1/3 unit 0 description "to R2 fe-0/1/3.0" user@host# set fe-0/1/3 unit 0 family inet address 10.210.12.1/30 user@host# set fe-0/1/3 unit 0 family inet6 address FDCA:9E34:50CE:0012::1/126 user@host# set fe-1/1/0 unit 0 description "to H1" user@host# set fe-1/1/0 unit 0 family inet address 10.240.0.250/30 user@host# set fe-1/1/0 unit 0 family inet6 address ::10.240.0.250/126 user@host# set lo0 unit 0 description "R1 Loopback" user@host# set lo0 unit 0 family inet address 10.210.255.201/32 primary user@host# set lo0 unit 0 family iso address 47.0005.80ff.f800.0000.0108.0001.0102.1025.5201.00 user@host# set lo0 unit 0 family inet6 address abcd::10:210:255:201/128 user@host# exit
R1에서 IPv4에 대한 OSPF를 구성합니다.
[edit] user@host# edit protocols ospf [edit protocols ospf] user@host# set traffic-engineering user@host# set area 0.0.0.0 interface so-0/0/1.0 metric 100 user@host# set area 0.0.0.0 interface fe-0/1/3.0 metric 100 user@host# set area 0.0.0.0 interface lo0.0 passive user@host# set area 0.0.0.0 interface fxp0.0 disable user@host# set area 0.0.0.0 interface fe-1/1/0.0 passive
R1에서 IPv6에 대한 OSPF를 구성합니다.
[edit] user@host# edit protocols ospf3 [edit protocols ospf3] user@host# set area 0.0.0.0 interface fe-1/1/0.0 passive user@host# set area 0.0.0.0 interface fe-1/1/0.0 metric 1 user@host# set area 0.0.0.0 interface lo0.0 passive user@host# set area 0.0.0.0 interface so-0/0/1.0 metric 1 user@host# set area 0.0.0.0 interface fe-0/1/3.0 metric 1
R1에서 PIM을 구성합니다. PIM 정적 주소는 RP 라우터(R2)를 가리킵니다.
[edit] user@host# edit [edit protocols pim] user@host# set protocols pim rpstatic address 10.210.255.202 user@host# set protocols pim rp static address abcd::10:210:255:202 user@host# set protocols pim interface (Protocols PIM) lo0.0 user@host# set protocols pim interface fe-0/1/3.0 mode sparse user@host# set protocols pim interface fe-0/1/3.0 version 2 user@host# set protocols pim interface so-0/0/1.0 mode sparse user@host# set protocols pim interface so-0/0/1.0 version 2 user@host# set protocols pim interface fe-1/1/0.0 mode sparse user@host# set protocols pim interface fe-1/1/0.0 version 2
R1에서 패킷당 로드 밸런싱을 구성합니다.
[edit] user@host# edit policy-options policy-statement load-balance [edit policy-options policy-statement load-balance] user@host# set then load-balance per-packet
R1에 부하 분산 정책을 적용합니다.
[edit] user@host# set routing-options forwarding-table export load-balance
R1에서 무중단 라우팅을 구성합니다.
[edit] user@host# set routing-options nonstop-routing user@host# set routing-options router-id 10.210.255.201
단계별 절차
문제 해결을 위해 시스템 로그 및 추적 작업을 구성합니다.
시스템 로그 메시지를 활성화합니다.
[edit] user@host# set system syslog archive size 10m user@host# set system syslog file messages any info
인터페이스 작업을 추적합니다.
[edit] user@host# set interfaces traceoptions file dcd-trace user@host# set interfaces traceoptions file size 10m user@host# set interfaces traceoptions file files 10 user@host# set interfaces traceoptions flag all
IPv4에 대한 IGP 작업을 추적합니다.
[edit] user@host# set protocols ospf traceoptions file r1-nsr-ospf2 user@host# set protocols ospf traceoptions file size 10m user@host# set protocols ospf traceoptions file files 10 user@host# set protocols ospf traceoptions file world-readable user@host# set protocols ospf traceoptions flag error user@host# set protocols ospf traceoptions flag lsa-update detail user@host# set protocols ospf traceoptions flag flooding detail user@host# set protocols ospf traceoptions flag lsa-request detail user@host# set protocols ospf traceoptions flag state detail user@host# set protocols ospf traceoptions flag event detail user@host# set protocols ospf traceoptions flag hello detail user@host# set protocols ospf traceoptions flag nsr-synchronization detail
IPv6에 대한 IGP 작업을 추적합니다.
[edit] user@host# set protocols ospf3 traceoptions file r1-nsr-ospf3 user@host# set protocols ospf3 traceoptions file size 10m user@host# set protocols ospf3 traceoptions file world-readable user@host# set protocols ospf3 traceoptions flag lsa-update detail user@host# set protocols ospf3 traceoptions flag flooding detail user@host# set protocols ospf3 traceoptions flag lsa-request detail user@host# set protocols ospf3 traceoptions flag state detail user@host# set protocols ospf3 traceoptions flag event detail user@host# set protocols ospf3 traceoptions flag hello detail user@host# set protocols ospf3 traceoptions flag nsr-synchronization detail
PIM 작업을 추적합니다.
[edit] user@host# set protocols pim traceoptions file r1-nsr-pim user@host# set protocols pim traceoptions file size 10m user@host# set protocols pim traceoptions file files 10 user@host# set protocols pim traceoptions file world-readable user@host# set protocols pim traceoptions flag mdt detail user@host# set protocols pim traceoptions flag rp detail user@host# set protocols pim traceoptions flag register detail user@host# set protocols pim traceoptions flag packets detail user@host# set protocols pim traceoptions flag autorp detail user@host# set protocols pim traceoptions flag join detail user@host# set protocols pim traceoptions flag hello detail user@host# set protocols pim traceoptions flag assert detail user@host# set protocols pim traceoptions flag normal detail user@host# set protocols pim traceoptions flag state detail user@host# set protocols pim traceoptions flag nsr-synchronization
모든 라우팅 프로토콜 기능을 추적합니다.
[edit] user@host# set routing-options traceoptions file r1-nsr-sync user@host# set routing-options traceoptions file size 10m user@host# set routing-options traceoptions flag nsr-synchronization user@host# set routing-options traceoptions flag commit-synchronize
포워딩 테이블 작업을 추적합니다.
[edit] user@host# set routing-options forwarding-table traceoptions file r1-nsr-krt user@host# set routing-options forwarding-table traceoptions file size 10m user@host# set routing-options forwarding-table traceoptions file world-readable user@host# set routing-options forwarding-table traceoptions flag queue user@host# set routing-options forwarding-table traceoptions flag route user@host# set routing-options forwarding-table traceoptions flag routes user@host# set routing-options forwarding-table traceoptions flag synchronous user@host# set routing-options forwarding-table traceoptions flag state user@host# set routing-options forwarding-table traceoptions flag asynchronous user@host# set routing-options forwarding-table traceoptions flag consistency-checking
디바이스 구성을 완료하면 구성을 커밋합니다.
[edit] user@host# commit
결과
구성 모드에서 show chassis, show interfaces, show policy-options, show protocols, show routing-options 및 show system 명령을 입력하여 구성을 확인합니다. 출력이 의도한 구성을 표시하지 않으면, 이 예의 구성 지침을 반복하여 수정합니다.
user@host# show chassis redundancy { graceful-switchover; }
user@host# show interfaces traceoptions { file dcd-trace size 10m files 10; flag all; } so-0/0/1 { unit 0 { description "to R0 so-0/0/1.0"; family inet { address 10.210.1.2/30; } family inet6 { address FDCA:9E34:50CE:0001::2/126; } } } fe-0/1/3 { unit 0 { description "to R2 fe-0/1/3.0"; family inet { address 10.210.12.1/30; } family inet6 { address FDCA:9E34:50CE:0012::1/126; } } } fe-1/1/0 { unit 0 { description "to H1"; family inet { address 10.240.0.250/30; } family inet6 { address ::10.240.0.250/126; } } } lo0 { unit 0 { description "R1 Loopback"; family inet { address 10.210.255.201/32 { primary; } } family iso { address 47.0005.80ff.f800.0000.0108.0001.0102.1025.5201.00; } family inet6 { address abcd::10:210:255:201/128; } } }
user@host# show policy-options policy-statement load-balance { then { load-balance per-packet; } }
user@host# show protocols ospf { traceoptions { file r1-nsr-ospf2 size 10m files 10 world-readable; flag error; flag lsa-update detail; flag flooding detail; flag lsa-request detail; flag state detail; flag event detail; flag hello detail; flag nsr-synchronization detail; } traffic-engineering; area 0.0.0.0 { interface so-0/0/1.0 { metric 100; } interface fe-0/1/3.0 { metric 100; } interface lo0.0 { passive; } interface fxp0.0 { disable; } interface fe-1/1/0.0 { passive; } } } ospf3 { traceoptions { file r1-nsr-ospf3 size 10m world-readable; flag lsa-update detail; flag flooding detail; flag lsa-request detail; flag state detail; flag event detail; flag hello detail; flag nsr-synchronization detail; } area 0.0.0.0 { interface fe-1/1/0.0 { passive; metric 1; } interface lo0.0 { passive; } interface so-0/0/1.0 { metric 1; } interface fe-0/1/3.0 { metric 1; } } } pim { traceoptions { file r1-nsr-pim size 10m files 10 world-readable; flag mdt detail; flag rp detail; flag register detail; flag packets detail; flag autorp detail; flag join detail; flag hello detail; flag assert detail; flag normal detail; flag state detail; flag nsr-synchronization; } rp { static { address 10.210.255.202; address abcd::10:210:255:202; } } interface lo0.0; interface fe-0/1/3.0 { mode sparse; version 2; } interface so-0/0/1.0 { mode sparse; version 2; } interface fe-1/1/0.0 { mode sparse; version 2; } }
user@host# show routing-options traceoptions { file r1-nsr-sync size 10m; flag nsr-synchronization; flag commit-synchronize; } nonstop-routing; router-id 10.210.255.201; forwarding-table { traceoptions { file r1-nsr-krt size 10m world-readable; flag queue; flag route; flag routes; flag synchronous; flag state; flag asynchronous; flag consistency-checking; } export load-balance; }
user@host# show system syslog { archive size 10m; file messages { any info; } } commit synchronize;
확인
구성을 확인하려면 다음 명령을 실행합니다.
show pim join extensive
pim neighbors inet detail 표시
pim neighbors inet6 세부 정보 표시
pim rps inet 세부 정보 표시
pim rps inet6 세부 정보 표시
show multicast route inet extensive
show multicast route inet6 extensive
show route table inet.1 detail
show route table inet6.1 세부 정보
PIM Sparse 모드 Graceful Restart 구성
PIM 스파스 모드를 구성하여 라우팅 프로세스 실패 시 기존 멀티캐스트 패킷 스트림을 계속 전달하고 다시 시작할 수 있습니다. PIM Sparse 모드만 이 방식으로 구성할 수 있습니다. 라우팅 프로세스는 실패한 후 다른 모든 멀티캐스트 프로토콜을 다시 시작해야 하므로 라우팅 플랫폼은 GR(Graceful Restart) 중에 PIM 이외의 프로토콜에 대한 멀티캐스트 패킷을 전달하지 않습니다. PIM Sparse-Dense 모드를 구성하는 경우, Graceful Restart의 이점을 스파스 멀티캐스트 그룹만 누릴 수 있습니다.
라우팅 플랫폼은 재시작이 완료될 때까지 새 스트림을 전달하지 않습니다. 재시작 후, 라우팅 플랫폼은 재시작 기간 동안 인접 라우터에서 수신한 모든 업데이트로 전달 상태를 새로 고칩니다. 예를 들어, 라우팅 플랫폼은 재시작 중에 이웃의 조인 및 정리 상태를 다시 학습하지만, 재시작 후까지 포워딩 테이블에 변경 사항을 적용하지 않습니다.
PIM 스파스 모드가 활성화되면 라우팅 플랫폼은 세대 식별자라고 하는 고유한 32비트 난수를 생성합니다. 생성 식별자는 인터넷 초안 draft-ietf-pim-sm-v2-new-10.txt에 지정된 대로 PIM Hello 메시지에 기본적으로 포함됩니다. 라우팅 플랫폼이 점대점 인터페이스에서 세대 식별자를 포함하는 PIM Hello 메시지를 수신하면 Junos OS는 Graceful Restart를 최적화하는 알고리즘을 활성화합니다.
PIM 스파스 모드 Graceful Restart가 발생하기 전에 각 라우팅 플랫폼은 생성 식별자를 생성하여 멀티캐스트 이웃으로 보냅니다. PIM 스파스 모드의 라우팅 플랫폼이 다시 시작되면 새로운 세대 식별자를 생성하여 이웃으로 보냅니다. 인접 라우터가 새 식별자를 수신하면 재시작 라우터에 멀티캐스트 업데이트를 다시 전송하여 Graceful Restart를 효율적으로 종료할 수 있도록 합니다. 재시작 기간 타이머가 만료되면 재시작 단계가 완료됩니다.
멀티캐스트 전달은 두 가지 방법으로 중단할 수 있습니다. 첫째, 기본 라우팅 프로토콜이 불안정하면 멀티캐스트 RPF 검사가 실패하고 중단될 수 있습니다. 둘째, 포워딩 테이블은 GR(Graceful Restart) 기간 동안 업데이트되지 않기 때문에 새로운 멀티캐스트 스트림은 GR(Graceful Restart)이 완료될 때까지 포워딩되지 않습니다.
전역적으로 또는 라우팅 인스턴스에 대해 Graceful Restart를 구성할 수 있습니다. 이 예에서는 전역적으로 Graceful Restart를 구성하는 방법을 보여줍니다.
PIM 스파스 모드에 대해 Graceful Restart를 구성하려면:
또한보십시오
변경 내역 테이블
기능 지원은 사용 중인 플랫폼 및 릴리스에 따라 결정됩니다. 기능 탐색기 를 사용하여 플랫폼에서 기능이 지원되는지 확인합니다.