BGP 세션에 대한 BFD
BGP의 BFD 이해
BFD(Bidirectional Forwarding Detection) 프로토콜은 네트워크의 장애를 감지하는 간단한 Hello 메커니즘입니다. Hello 패킷은 정규적이며 지정된 간격으로 전송됩니다. 지정된 간격 후 라우팅 디바이스가 응답 수신을 중단하면 이웃 실패가 감지됩니다. BFD는 다양한 네트워크 환경과 토폴로지에서 작동합니다. BFD의 고장 검출 타이머는 BGP의 기본 고장 검출 메커니즘보다 짧은 시간 제한을 가지므로 더 빠른 탐지를 제공합니다.
동일한 디바이스에서 BGP에 대해 BFD와 Graceful Restart를 모두 구성하는 것은 비생산적입니다. 인터페이스가 다운되면 BFD가 이를 즉시 감지하고 트래픽 전달을 중지하며 BGP 세션이 다운되는 반면, 인터페이스 장애에도 불구하고 Graceful Restart는 트래픽을 전달하므로 이 동작으로 인해 네트워크 문제가 발생할 수 있습니다. 따라서 동일한 디바이스에서 BFD와 Graceful Restart를 모두 구성하는 것은 권장되지 않습니다.
Junos OS 또는 Junos OS Evolved에서 실행되는 EX4600 및 QFX5000 시리즈 스위치는 중앙 집중식 및 분산 모드에서 1초 미만의 최소 간격 값을 지원하지 않습니다.
EX4650, QFX5110, QFX5120, QFX5200 및 QFX5210 스위치는 멀티홉 BFD(Bidirectional Forwarding Detection) 인라인 연결 유지(Keep Alive) 지원을 지원하여 세션을 1초 이내에 구성할 수 있습니다. 성능은 시스템 부하에 따라 달라질 수 있습니다. 10개의 인라인 BFD 세션이 지원되며 150 x 3밀리초의 타이머로 구성할 수 있습니다. 단일 홉 세션도 지원됩니다.
BFD 실패 검출 타이머는 더 빠르거나 느리게 조정할 수 있습니다. BFD 실패 검출 타이머 값이 낮을수록 실패 검출 속도가 빨라지고 그 반대의 경우도 마찬가지입니다. 예를 들어 인접성이 실패하는 경우(즉, 타이머가 실패를 더 느리게 감지하는 경우) 타이머는 더 높은 값에 적응할 수 있습니다. 또는 이웃이 구성된 값보다 타이머에 대해 더 높은 값을 협상할 수 있습니다. 타이머는 BFD 세션 플랩이 15초(15000밀리초) 동안 3회 이상 발생하면 더 높은 값에 적응합니다. 로컬 BFD 인스턴스가 세션 플랩의 이유인 경우 물러서기 알고리즘은 수신 (Rx) 간격을 2배로 증가시킵니다. 원격 BFD 인스턴스가 세션 플랩의 이유인 경우 전송 (Tx) 간격은 2배 증가합니다. clear bfd adaptation
명령을 사용하여 BFD 간격 타이머를 구성된 값으로 돌려줄 수 있습니다. clear bfd adaptation
명령은 중단이 없으며, 이는 명령이 라우팅 디바이스의 트래픽 플로우에 영향을 미치지 않는다는 것을 의미합니다.
모든 SRX 시리즈 방화벽에서 CPU 집약적인 명령 및 SNMP 워크와 같은 이유로 높은 CPU 사용률이 트리거되면 대규모 BGP 업데이트를 처리하는 동안 BFD 프로토콜이 플랩됩니다. (플랫폼 지원은 설치 시 Junos OS 릴리즈에 따라 다릅니다.)
Junos OS 릴리스 15.1X49-D100부터 SRX340, SRX345 및 SRX1500 디바이스가 전용 BFD를 지원합니다.
Junos OS 릴리스 15.1X49-D100부터 SRX300 및 SRX320 디바이스는 실시간 BFD를 지원합니다.
Junos OS 릴리스 15.1X49-D110부터 SRX550M 디바이스가 전용 BFD를 지원합니다.
Junos OS 릴리스 8.3 이상에서 BFD는 단일 홉 EBGP 세션뿐만 아니라 내부 BGP(IBGP) 및 멀티홉 외부 BGP(EBGP) 세션에서도 지원됩니다. Junos OS 릴리스 9.1부터 Junos OS 릴리스 11.1까지 BFD는 정적 경로에서만 IPv6 인터페이스를 지원합니다. Junos OS 릴리스 11.2 이상에서 BFD는 BGP를 통한 IPv6 인터페이스를 지원합니다.
참조
예: 내부 BGP 피어 세션에서 BFD 구성
이 예에서는 BFD(Bidirectional Forwarding Detection) 프로토콜을 사용하여 내부 BGP(IBGP) 피어 세션을 구성하여 네트워크에서 장애를 감지하는 방법을 보여줍니다.
요구 사항
이 예제를 구성하기 전에 디바이스 초기화 이외의 특별한 구성은 필요하지 않습니다.
개요
IBGP 세션에서 BFD를 활성화하기 위한 최소 구성은 BFD 세션에 참여하는 모든 이웃의 BGP 구성에 문을 포함하는 bfd-liveness-detection minimum-interval
것입니다. 명령문은 minimum-interval
장애 감지를 위한 최소 전송 및 수신 간격을 지정합니다. 특히, 이 값은 로컬 라우팅 디바이스가 Hello 패킷을 전송하는 최소 간격과 라우팅 디바이스가 BFD 세션을 설정한 이웃으로부터 응답을 수신할 것으로 예상하는 최소 간격을 나타냅니다. 1에서 255,000밀리초까지 값을 구성할 수 있습니다.
선택적으로 및 minimum-receive-interval
문을 사용하여 transmit-interval minimum-interval
최소 전송 및 수신 간격을 별도로 지정할 수 있습니다. 이러한 명령문과 기타 선택적 BFD 구성 문에 대한 정보는 을 참조하십시오 bfd-liveness-detection
.
BFD는 시스템 리소스를 소비하는 집약적인 프로토콜입니다. 라우팅 엔진 기반 세션의 경우 100밀리초 미만, 분산 BFD 세션의 경우 10밀리초 미만으로 BFD의 최소 간격을 지정하면 원치 않는 BFD 플래핑이 발생할 수 있습니다.
네트워크 환경에 따라 다음과 같은 추가 권장 사항이 적용될 수 있습니다.
일반적인 라우팅 엔진 전환 이벤트 중 BFD 플랩핑을 방지하려면 라우팅 엔진 기반 세션에 대해 최소 간격을 5000밀리초로 지정합니다. 이 최소값은 일반적인 라우팅 엔진 전환 이벤트 중에 RPD, MIBD 및 SNMPD와 같은 프로세스가 지정된 임계값 이상으로 CPU 리소스를 활용하기 때문에 필요합니다. 따라서 BFD 처리 및 스케줄링은 CPU 리소스 부족으로 인해 영향을 받습니다.
듀얼 섀시 클러스터 제어 링크 시나리오 동안 BFD 세션이 계속 유지되도록 하려면 첫 번째 제어 링크에 장애가 발생할 때 라우팅 엔진 기반 세션의 보조 노드에서 LACP가 플랩핑되지 않도록 최소 간격을 6000밀리초로 지정합니다.
많은 수의 BFD 세션이 있는 대규모 네트워크 구축의 경우, 라우팅 엔진 기반 세션의 경우 최소 300밀리초, 분산 BFD 세션의 경우 100밀리초의 최소 간격을 지정합니다.
많은 수의 BFD 세션이 있는 대규모 네트워크 구축의 경우 주니퍼 네트웍스 고객 지원에 자세한 내용을 문의하십시오.
NSR(Nonstop Active Routing)이 구성된 경우 라우팅 엔진 전환 이벤트 중에 BFD 세션이 계속 유지되도록 하려면 라우팅 엔진 기반 세션에 대해 최소 간격을 2500밀리초로 지정합니다. NSR이 구성된 분산 BFD 세션의 경우 최소 간격 권장 사항은 변경되지 않으며 네트워크 구축에만 의존합니다.
BFD는 기본 라우팅 인스턴스(기본 라우터), 라우팅 인스턴스 및 논리적 시스템에서 지원됩니다. 이 예는 논리적 시스템의 BFD를 보여줍니다.
그림 1에는 내부 피어 세션이 있는 일반적인 네트워크가 나와 있습니다.

구성
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 바꾸고 [edit]
계층 수준에서 명령을 CLI로 복사해 붙여 넣습니다.
디바이스 A
set logical-systems A interfaces lt-1/2/0 unit 1 description to-B set logical-systems A interfaces lt-1/2/0 unit 1 encapsulation ethernet set logical-systems A interfaces lt-1/2/0 unit 1 peer-unit 2 set logical-systems A interfaces lt-1/2/0 unit 1 family inet address 10.10.10.1/30 set logical-systems A interfaces lo0 unit 1 family inet address 192.168.6.5/32 set logical-systems A protocols bgp group internal-peers type internal set logical-systems A protocols bgp group internal-peers traceoptions file bgp-bfd set logical-systems A protocols bgp group internal-peers traceoptions flag bfd detail set logical-systems A protocols bgp group internal-peers local-address 192.168.6.5 set logical-systems A protocols bgp group internal-peers export send-direct set logical-systems A protocols bgp group internal-peers bfd-liveness-detection minimum-interval 1000 set logical-systems A protocols bgp group internal-peers neighbor 192.163.6.4 set logical-systems A protocols bgp group internal-peers neighbor 192.168.40.4 set logical-systems A protocols ospf area 0.0.0.0 interface lo0.1 passive set logical-systems A protocols ospf area 0.0.0.0 interface lt-1/2/0.1 set logical-systems A policy-options policy-statement send-direct term 2 from protocol direct set logical-systems A policy-options policy-statement send-direct term 2 then accept set logical-systems A routing-options router-id 192.168.6.5 set logical-systems A routing-options autonomous-system 17
디바이스 B
set logical-systems B interfaces lt-1/2/0 unit 2 description to-A set logical-systems B interfaces lt-1/2/0 unit 2 encapsulation ethernet set logical-systems B interfaces lt-1/2/0 unit 2 peer-unit 1 set logical-systems B interfaces lt-1/2/0 unit 2 family inet address 10.10.10.2/30 set logical-systems B interfaces lt-1/2/0 unit 5 description to-C set logical-systems B interfaces lt-1/2/0 unit 5 encapsulation ethernet set logical-systems B interfaces lt-1/2/0 unit 5 peer-unit 6 set logical-systems B interfaces lt-1/2/0 unit 5 family inet address 10.10.10.5/30 set logical-systems B interfaces lo0 unit 2 family inet address 192.163.6.4/32 set logical-systems B protocols bgp group internal-peers type internal set logical-systems B protocols bgp group internal-peers local-address 192.163.6.4 set logical-systems B protocols bgp group internal-peers export send-direct set logical-systems B protocols bgp group internal-peers bfd-liveness-detection minimum-interval 1000 set logical-systems B protocols bgp group internal-peers neighbor 192.168.40.4 set logical-systems B protocols bgp group internal-peers neighbor 192.168.6.5 set logical-systems B protocols ospf area 0.0.0.0 interface lo0.2 passive set logical-systems B protocols ospf area 0.0.0.0 interface lt-1/2/0.2 set logical-systems B protocols ospf area 0.0.0.0 interface lt-1/2/0.5 set logical-systems B policy-options policy-statement send-direct term 2 from protocol direct set logical-systems B policy-options policy-statement send-direct term 2 then accept set logical-systems B routing-options router-id 192.163.6.4 set logical-systems B routing-options autonomous-system 17
디바이스 C
set logical-systems C interfaces lt-1/2/0 unit 6 description to-B set logical-systems C interfaces lt-1/2/0 unit 6 encapsulation ethernet set logical-systems C interfaces lt-1/2/0 unit 6 peer-unit 5 set logical-systems C interfaces lt-1/2/0 unit 6 family inet address 10.10.10.6/30 set logical-systems C interfaces lo0 unit 3 family inet address 192.168.40.4/32 set logical-systems C protocols bgp group internal-peers type internal set logical-systems C protocols bgp group internal-peers local-address 192.168.40.4 set logical-systems C protocols bgp group internal-peers export send-direct set logical-systems C protocols bgp group internal-peers bfd-liveness-detection minimum-interval 1000 set logical-systems C protocols bgp group internal-peers neighbor 192.163.6.4 set logical-systems C protocols bgp group internal-peers neighbor 192.168.6.5 set logical-systems C protocols ospf area 0.0.0.0 interface lo0.3 passive set logical-systems C protocols ospf area 0.0.0.0 interface lt-1/2/0.6 set logical-systems C policy-options policy-statement send-direct term 2 from protocol direct set logical-systems C policy-options policy-statement send-direct term 2 then accept set logical-systems C routing-options router-id 192.168.40.4 set logical-systems C routing-options autonomous-system 17
디바이스 A 구성
단계별 절차
다음 예는 구성 계층에서 다양한 수준의 탐색이 필요합니다. CLI 탐색에 관한 정보는 CLI 사용자 가이드에서 구성 모드에서 CLI 편집기 사용을 참조하십시오.
디바이스 A 구성:
CLI를 논리적 시스템 A로 설정합니다.
user@host> set cli logical-system A
인터페이스를 구성합니다.
[edit interfaces lt-1/2/0 unit 1] user@host:A# set description to-B user@host:A# set encapsulation ethernet user@host:A# set peer-unit 2 user@host:A# set family inet address 10.10.10.1/30 [edit interfaces lo0 unit 1] user@host:A# set family inet address 192.168.6.5/32
BGP를 구성합니다.
디바이스 A가 디바이스 C에 직접 연결되어 있지 않아도
neighbor
명령문은 디바이스 B와 디바이스 C 모두에 대해 포함되어 있습니다.[edit protocols bgp group internal-peers] user@host:A# set type internal user@host:A# set local-address 192.168.6.5 user@host:A# set export send-direct user@host:A# set neighbor 192.163.6.4 user@host:A# set neighbor 192.168.40.4
BFD를 구성합니다.
[edit protocols bgp group internal-peers] user@host:A# set bfd-liveness-detection minimum-interval 1000
연결 피어에서 동일한 최소 간격을 구성해야 합니다.
(선택 사항) BFD 추적을 구성합니다.
[edit protocols bgp group internal-peers] user@host:A# set traceoptions file bgp-bfd user@host:A# set traceoptions flag bfd detail
OSPF를 구성합니다.
[edit protocols ospf area 0.0.0.0] user@host:A# set interface lo0.1 passive user@host:A# set interface lt-1/2/0.1
직접 경로를 수용하는 정책을 구성합니다.
이 시나리오의 다른 유용한 옵션은 OSPF 또는 로컬 경로를 통해 학습된 경로를 수용하는 것일 수 있습니다.
[edit policy-options policy-statement send-direct term 2] user@host:A# set from protocol direct user@host:A# set then accept
라우터 ID 및 AS(Autonomous System) 번호를 구성합니다.
[edit routing-options] user@host:A# set router-id 192.168.6.5 user@host:A# set autonomous-system 17
디바이스 구성을 마쳤으면 구성 모드에서
commit
을(를) 입력합니다. 이 단계를 반복하여 디바이스 B와 디바이스 C를 구성합니다.
결과
구성 모드에서 show interfaces
, show policy-options
, show protocols
및 show routing-options
명령을 입력하여 구성을 확인합니다. 출력 결과가 의도한 구성대로 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정하십시오.
user@host:A# show interfaces lt-1/2/0 { unit 1 { description to-B; encapsulation ethernet; peer-unit 2; family inet { address 10.10.10.1/30; } } } lo0 { unit 1 { family inet { address 192.168.6.5/32; } } }
user@host:A# show policy-options policy-statement send-direct { term 2 { from protocol direct; then accept; } }
user@host:A# show protocols bgp { group internal-peers { type internal; traceoptions { file bgp-bfd; flag bfd detail; } local-address 192.168.6.5; export send-direct; bfd-liveness-detection { minimum-interval 1000; } neighbor 192.163.6.4; neighbor 192.168.40.4; } } ospf { area 0.0.0.0 { interface lo0.1 { passive; } interface lt-1/2/0.1; } }
user@host:A# show routing-options router-id 192.168.6.5; autonomous-system 17;
검증
구성이 올바르게 작동하고 있는지 확인합니다.
BFD가 활성화되었는지 확인
목적
IBGP 피어 간에 BFD가 활성화되었는지 확인합니다.
작업
운영 모드에서 show bgp neighbor
명령을 입력합니다. 필터를 사용하여 | match bfd
출력 범위를 좁힐 수 있습니다.
user@host:A> show bgp neighbor | match bfd Options: <BfdEnabled> BFD: enabled, up Trace file: /var/log/A/bgp-bfd size 131072 files 10 Options: <BfdEnabled> BFD: enabled, up Trace file: /var/log/A/bgp-bfd size 131072 files 10
의미
출력은 논리적 시스템 A에 BFD가 활성화된 두 개의 이웃이 있음을 보여줍니다. BFD가 활성화되지 않으면 출력에 이 <BfdEnabled>
표시되고 BFD: disabled, down
옵션이 없습니다. BFD가 활성화되고 세션이 중단되면 출력에 가 표시됩니다 BFD: enabled, down
. 또한 출력은 추적 작업이 구성되었기 때문에 BFD 관련 이벤트가 로그 파일에 기록되고 있음을 보여줍니다.
BFD 세션이 작동 중인지 확인하기
목적
BFD 세션이 작동 중인지 확인하고 BFD 세션에 대한 세부 정보를 확인합니다.
작업
운영 모드에서 show bfd session extensive
명령을 입력합니다.
user@host:A> show bfd session extensive Detect Transmit Address State Interface Time Interval Multiplier 192.163.6.4 Up 3.000 1.000 3 Client BGP, TX interval 1.000, RX interval 1.000 Session up time 00:54:40 Local diagnostic None, remote diagnostic None Remote state Up, version 1 Logical system 12, routing table index 25 Min async interval 1.000, min slow interval 1.000 Adaptive async TX interval 1.000, RX interval 1.000 Local min TX interval 1.000, minimum RX interval 1.000, multiplier 3 Remote min TX interval 1.000, min RX interval 1.000, multiplier 3 Local discriminator 10, remote discriminator 9 Echo mode disabled/inactive Multi-hop route table 25, local-address 192.168.6.5 Detect Transmit Address State Interface Time Interval Multiplier 192.168.40.4 Up 3.000 1.000 3 Client BGP, TX interval 1.000, RX interval 1.000 Session up time 00:48:03 Local diagnostic None, remote diagnostic None Remote state Up, version 1 Logical system 12, routing table index 25 Min async interval 1.000, min slow interval 1.000 Adaptive async TX interval 1.000, RX interval 1.000 Local min TX interval 1.000, minimum RX interval 1.000, multiplier 3 Remote min TX interval 1.000, min RX interval 1.000, multiplier 3 Local discriminator 14, remote discriminator 13 Echo mode disabled/inactive Multi-hop route table 25, local-address 192.168.6.5 2 sessions, 2 clients Cumulative transmit rate 2.0 pps, cumulative receive rate 2.0 pps
의미
출력은 TX interval 1.000, RX interval 1.000
명령문으로 minimum-interval
구성된 설정을 나타냅니다. 다른 모든 출력은 BFD의 기본 설정을 나타냅니다. 기본 설정을 수정하려면 bfd-liveness-detection
문 아래의 옵션 문을 포함합니다.
자세한 BFD 이벤트 보기
목적
필요한 경우 문제 해결에 도움이 되도록 BFD 추적 파일의 내용을 확인합니다.
작업
운영 모드에서 file show /var/log/A/bgp-bfd
명령을 입력합니다.
user@host:A> file show /var/log/A/bgp-bfd Aug 15 17:07:25 trace_on: Tracing to "/var/log/A/bgp-bfd" started Aug 15 17:07:26.492190 bgp_peer_init: BGP peer 192.163.6.4 (Internal AS 17) local address 192.168.6.5 not found. Leaving peer idled Aug 15 17:07:26.493176 bgp_peer_init: BGP peer 192.168.40.4 (Internal AS 17) local address 192.168.6.5 not found. Leaving peer idled Aug 15 17:07:32.597979 task_connect: task BGP_17.192.163.6.4+179 addr 192.163.6.4+179: No route to host Aug 15 17:07:32.599623 bgp_connect_start: connect 192.163.6.4 (Internal AS 17): No route to host Aug 15 17:07:36.869394 task_connect: task BGP_17.192.168.40.4+179 addr 192.168.40.4+179: No route to host Aug 15 17:07:36.870624 bgp_connect_start: connect 192.168.40.4 (Internal AS 17): No route to host Aug 15 17:08:04.599220 task_connect: task BGP_17.192.163.6.4+179 addr 192.163.6.4+179: No route to host Aug 15 17:08:04.601135 bgp_connect_start: connect 192.163.6.4 (Internal AS 17): No route to host Aug 15 17:08:08.869717 task_connect: task BGP_17.192.168.40.4+179 addr 192.168.40.4+179: No route to host Aug 15 17:08:08.869934 bgp_connect_start: connect 192.168.40.4 (Internal AS 17): No route to host Aug 15 17:08:36.603544 advertising receiving-speaker only capabilty to neighbor 192.163.6.4 (Internal AS 17) Aug 15 17:08:36.606726 bgp_read_message: 192.163.6.4 (Internal AS 17): 0 bytes buffered Aug 15 17:08:36.609119 Initiated BFD session to peer 192.163.6.4 (Internal AS 17): address=192.163.6.4 ifindex=0 ifname=(none) txivl=1000 rxivl=1000 mult=3 ver=255 Aug 15 17:08:36.734033 advertising receiving-speaker only capabilty to neighbor 192.168.40.4 (Internal AS 17) Aug 15 17:08:36.738436 Initiated BFD session to peer 192.168.40.4 (Internal AS 17): address=192.168.40.4 ifindex=0 ifname=(none) txivl=1000 rxivl=1000 mult=3 ver=255 Aug 15 17:08:40.537552 BFD session to peer 192.163.6.4 (Internal AS 17) up Aug 15 17:08:40.694410 BFD session to peer 192.168.40.4 (Internal AS 17) up
의미
경로가 설정 No route to host
되기 전에 출력에 메시지가 나타납니다. 경로가 설정된 후 마지막 두 줄은 두 BFD 세션이 모두 실행됨을 보여줍니다.
루프백 인터페이스를 비활성화했다가 다시 활성화한 후 자세한 BFD 이벤트 보기
목적
라우터 또는 스위치를 중단했다가 다시 가동한 후 어떤 일이 발생하는지 확인합니다. 라우터 또는 스위치 다운을 시뮬레이션하려면 논리적 시스템 B에서 루프백 인터페이스를 비활성화합니다.
작업
구성 모드에서
deactivate logical-systems B interfaces lo0 unit 2 family inet
명령을 입력합니다.user@host:A# deactivate logical-systems B interfaces lo0 unit 2 family inet user@host:A# commit
운영 모드에서
file show /var/log/A/bgp-bfd
명령을 입력합니다.user@host:A> file show /var/log/A/bgp-bfd ... Aug 15 17:20:55.995648 bgp_read_v4_message:9747: NOTIFICATION received from 192.163.6.4 (Internal AS 17): code 6 (Cease) subcode 6 (Other Configuration Change) Aug 15 17:20:56.004508 Terminated BFD session to peer 192.163.6.4 (Internal AS 17) Aug 15 17:21:28.007755 task_connect: task BGP_17.192.163.6.4+179 addr 192.163.6.4+179: No route to host Aug 15 17:21:28.008597 bgp_connect_start: connect 192.163.6.4 (Internal AS 17): No route to host
구성 모드에서
activate logical-systems B interfaces lo0 unit 2 family inet
명령을 입력합니다.user@host:A# activate logical-systems B interfaces lo0 unit 2 family inet user@host:A# commit
운영 모드에서
file show /var/log/A/bgp-bfd
명령을 입력합니다.user@host:A> file show /var/log/A/bgp-bfd ... Aug 15 17:25:53.623743 advertising receiving-speaker only capabilty to neighbor 192.163.6.4 (Internal AS 17) Aug 15 17:25:53.631314 Initiated BFD session to peer 192.163.6.4 (Internal AS 17): address=192.163.6.4 ifindex=0 ifname=(none) txivl=1000 rxivl=1000 mult=3 ver=255 Aug 15 17:25:57.570932 BFD session to peer 192.163.6.4 (Internal AS 17) up
BGP에 대한 BFD 인증 이해
BFD(Bidirectional Forwarding Detection Protocol)를 사용하면 인접 시스템 간의 통신 장애를 신속하게 감지할 수 있습니다. 기본적으로 BFD 세션에 대한 인증은 비활성화되어 있습니다. 그러나 네트워크 레이어 프로토콜을 통해 BFD를 실행하는 경우 서비스 공격의 위험이 상당할 수 있습니다. 여러 홉을 통해 또는 안전하지 않은 터널을 통해 BFD를 실행하는 경우 인증을 사용하는 것이 좋습니다. Junos OS 릴리스 9.6부터 Junos OS는 BGP를 통해 실행되는 BFD 세션에 대한 인증을 지원합니다. BFD 인증은 MPLS OAM 세션에서 지원되지 않습니다. BFD 인증은 캐나다 및 미국 버전의 Junos OS 이미지에서만 지원되며 내보내기 버전에서는 사용할 수 없습니다.
인증 알고리즘 및 키체인을 지정한 다음 키체인 이름을 사용하여 해당 구성 정보를 보안 인증 키체인과 연결하여 BFD 세션을 인증합니다.
다음 섹션에서는 지원되는 인증 알고리즘, 보안 키 체인 및 구성할 수 있는 인증 수준에 대해 설명합니다.
BFD 인증 알고리즘
Junos OS는 BFD 인증을 위해 다음 알고리즘을 지원합니다.
simple-password- 일반 텍스트 암호입니다. 1바이트에서 16바이트의 일반 텍스트가 BFD 세션을 인증하는 데 사용됩니다. 하나 이상의 암호를 구성할 수 있습니다. 이 방법은 가장 안전하지 않으며 BFD 세션이 패킷 가로채기의 대상이 아닌 경우에만 사용해야 합니다.
keyed-md5- 전송 및 수신 간격이 100ms보다 큰 세션에 대한 키 메시지 다이제스트 5 해시 알고리즘. BFD 세션을 인증하기 위해 키 MD5는 하나 이상의 비밀 키(알고리즘에 의해 생성됨)와 주기적으로 업데이트되는 시퀀스 번호를 사용합니다. 이 방법을 사용하면 키 중 하나가 일치하고 시퀀스 번호가 수신된 마지막 시퀀스 번호보다 크거나 같을 경우 세션의 수신 끝에서 패킷이 수락됩니다. 이 방법은 단순한 암호보다 안전하지만 재생 공격에 취약합니다. 시퀀스 번호가 업데이트되는 속도를 높이면 이러한 위험을 줄일 수 있습니다.
meticulous-keyed-md5—꼼꼼한 키 메시지 다이제스트 5 해시 알고리즘. 이 방법은 키 MD5와 동일한 방식으로 작동하지만 시퀀스 번호는 모든 패킷마다 업데이트됩니다. 이 방법은 키가 지정된 MD5 및 단순 암호보다 안전하지만 세션을 인증하는 데 시간이 더 걸릴 수 있습니다.
keyed-sha-1- 전송 및 수신 간격이 100ms보다 큰 세션의 경우 키 보안 해시 알고리즘 I. BFD 세션을 인증하기 위해 키 SHA는 하나 이상의 비밀 키(알고리즘에 의해 생성됨)와 주기적으로 업데이트되는 시퀀스 번호를 사용합니다. 키는 패킷 내에서 전달되지 않습니다. 이 방법을 사용하면 키 중 하나가 일치하고 시퀀스 번호가 마지막으로 수신된 시퀀스 번호보다 큰 경우 세션의 수신 끝에서 패킷이 수락됩니다.
meticulous-keyed-sha-1—꼼꼼한 키 보안 해시 알고리즘 I. 이 방법은 키 SHA와 동일한 방식으로 작동하지만 시퀀스 번호는 모든 패킷마다 업데이트됩니다. 이 방법은 키가 지정된 SHA 및 단순 암호보다 안전하지만 세션을 인증하는 데 추가 시간이 걸릴 수 있습니다.
NSR(Nonstop Active Routing)은 meticulous-keyed-md5 및 meticulous-keyed-sha-1 인증 알고리즘으로 지원되지 않습니다. 이러한 알고리즘을 사용하는 BFD 세션은 전환 후 중단될 수 있습니다.
QFX5000 시리즈 스위치 및 EX4600 스위치는 1초 미만의 최소 간격 값을 지원하지 않습니다.
보안 인증 키체인
보안 인증 키 체인은 인증 키 업데이트에 사용되는 인증 속성을 정의합니다. 보안 인증 키체인이 구성되고 키체인 이름을 통해 프로토콜과 연결되면 라우팅 및 신호 프로토콜을 중단하지 않고 인증 키 업데이트가 발생할 수 있습니다.
인증 키체인에는 하나 이상의 키체인이 포함되어 있습니다. 각 키체인에는 하나 이상의 키가 포함되어 있습니다. 각 키에는 비밀 데이터와 키가 유효해지는 시간이 들어 있습니다. 알고리즘과 키 체인은 BFD 세션의 양쪽 끝에서 구성되어야 하며 일치해야 합니다. 구성이 일치하지 않으면 BFD 세션이 생성되지 않습니다.
BFD는 세션당 여러 클라이언트를 허용하며 각 클라이언트는 고유한 키 체인과 알고리즘을 정의할 수 있습니다. 혼동을 피하려면 보안 인증 키체인을 하나만 지정하는 것이 좋습니다.
엄격한 인증과 느슨한 인증 비교
기본적으로 엄격한 인증이 활성화되고 각 BFD 세션의 양쪽 끝에서 인증이 확인됩니다. 선택적으로 인증되지 않은 세션에서 인증된 세션으로의 원활한 마이그레이션을 위해 느슨한 검사를 구성할 수 있습니다. 느슨한 검사가 구성되면 세션의 각 끝에서 인증을 확인하지 않고 패킷이 수락됩니다. 이 기능은 전환 기간에만 사용할 수 있습니다.
참조
예: BGP를 위한 BFD 인증 구성
Junos OS 릴리스 9.6부터 BGP를 통해 실행되는 BFD 세션에 대한 인증을 구성할 수 있습니다. BFD 세션에서 인증을 구성하는 데는 세 단계만 필요합니다.
BGP 프로토콜에 대한 BFD 인증 알고리즘을 지정합니다.
인증 키 체인을 BGP 프로토콜과 연결합니다.
관련 보안 인증 키 체인을 구성합니다.
다음 섹션에서는 BGP에서 BFD 인증을 구성하고 보기 위한 지침을 제공합니다.
BFD 인증 매개 변수 구성
BFD 인증은 전체 BGP 프로토콜 또는 특정 BGP 그룹, 이웃 또는 라우팅 인스턴스에 대해 구성할 수 있습니다.
다음 예는 구성 계층에서 다양한 수준의 탐색이 필요합니다. CLI 탐색 관련 정보는 Junos OS CLI 사용자 가이드의 구성 모드에서의 CLI 편집기 사용을 참조하십시오.
BFD 인증을 구성하려면 다음을 수행합니다.
BFD 인증은 캐나다 및 미국 버전의 Junos OS 이미지에서만 지원되며 내보내기 버전에서는 사용할 수 없습니다.
BFD 세션에 대한 인증 정보 보기
및 show bfd session extensive
명령을 사용하여 show bfd session detail
기존 BFD 인증 구성을 볼 수 있습니다.
다음 예에서는 BGP 그룹에 대해 구성된 BFD 인증을 보여 줍니다 bgp-gr1
. 키 SHA-1 인증 알고리즘과 키 체인 이름을 bfd-bgp
지정합니다. 인증 키 체인은 두 개의 키로 구성됩니다. 키 1 에는 비밀 데이터 "$ABC123$ABC123"와 시작 시간이 2009년 6월 1일 오전 9:46:02 PST로 포함되어 있습니다. 키 2 에는 비밀 데이터 "$ABC123$ABC123"와 시작 시간이 2009년 6월 1일 오후 3:29:20 PST로 포함되어 있습니다.
[edit protocols bgp] group bgp-gr1 { bfd-liveness-detection { authentication { algorithm keyed-sha-1; key-chain bfd-bgp; } } } [edit security] authentication key-chains { key-chain bfd-bgp { key 1 { secret “$ABC123$ABC123”; start-time “2009-6-1.09:46:02 -0700”; } key 2 { secret “$ABC123$ABC123”; start-time “2009-6-1.15:29:20 -0700”; } } }
이러한 업데이트를 구성에 커밋하면 다음과 유사한 출력이 표시됩니다. 명령의 show bfd session detail
출력에서 은(는) Authenticate BFD 인증이 구성되었음을 나타내기 위해 표시됩니다. 구성에 대한 자세한 정보를 보려면 명령을 사용하십시오 show bfd session extensive
. 이 명령의 출력은 세션의 각 클라이언트에 대한 키 체인 이름, 인증 알고리즘 및 모드, 전체 BFD 인증 구성 상태, 키 체인 이름, 인증 알고리즘 및 모드를 제공합니다.
bfd 세션 세부 정보 표시
user@host# show bfd session detail Detect Transmit Address State Interface Time Interval Multiplier 192.0.2.2 Up ge-0/1/5.0 0.900 0.300 3 Client BGP, TX interval 0.300, RX interval 0.300, Authenticate Session up time 3d 00:34 Local diagnostic None, remote diagnostic NbrSignal Remote state Up, version 1 Replicated
bfd 세션 확장 표시
user@host# show bfd session extensive Detect Transmit Address State Interface Time Interval Multiplier 192.0.2.2 Up ge-0/1/5.0 0.900 0.300 3 Client BGP, TX interval 0.300, RX interval 0.300, Authenticate keychain bfd-bgp, algo keyed-sha-1, mode strict Session up time 00:04:42 Local diagnostic None, remote diagnostic NbrSignal Remote state Up, version 1 Replicated Min async interval 0.300, min slow interval 1.000 Adaptive async TX interval 0.300, RX interval 0.300 Local min TX interval 0.300, minimum RX interval 0.300, multiplier 3 Remote min TX interval 0.300, min RX interval 0.300, multiplier 3 Local discriminator 2, remote discriminator 2 Echo mode disabled/inactive Authentication enabled/active, keychain bfd-bgp, algo keyed-sha-1, mode strict
변경 내역 표
기능 지원은 사용 중인 플랫폼과 릴리스에 따라 결정됩니다. Feature Explorer 를 사용하여 플랫폼에서 기능이 지원되는지 확인하세요.