보다 빠른 네트워크 장애 감지를 위한 정적 경로에 대한 BFD 이해
BFD(Bidirectional Forwarding Detection) 프로토콜은 네트워크의 장애를 감지하는 단순한 hello 메커니즘입니다. BFD는 다양한 네트워크 환경 및 토폴로지에서 작동합니다. 한 쌍의 라우팅 디바이스가 BFD 패킷을 교환합니다. Hello 패킷은 지정된 간격으로 전송됩니다. 라우팅 장비가 지정된 간격 후에 응답 수신을 중지하면 이웃 장애가 감지됩니다. BFD 장애 감지 타이머는 정적 경로 장애 감지 메커니즘보다 시간 제한이 짧기 때문에 더 빠른 감지를 제공합니다.
BFD 장애 감지 타이머를 더 빠르거나 느리게 조정할 수 있습니다. BFD 장애 탐지 타이머 값이 낮을수록 장애 감지 속도가 빨라지고 그 반대의 경우도 마찬가지입니다. 예를 들어, 타이머는 인접에 장애가 발생하면 더 높은 값에 적응할 수 있습니다(즉, 타이머가 장애를 더 느리게 감지함). 또는 이웃은 구성된 값보다 타이머에 대해 더 높은 값을 협상할 수 있습니다. BFD 세션 플랩이 15초 동안 3회 이상 발생할 때 타이머는 더 높은 값에 적응합니다. 로컬 BFD 인스턴스가 세션 플랩의 이유인 경우, 백오프 알고리즘은 수신(Rx) 간격을 2배 증가합니다. 원격 BFD 인스턴스가 세션 플랩의 이유인 경우 전송(Tx) 간격이 2배 증가합니다. 명령을 사용하여 clear bfd adaptation
BFD 간격 타이머를 구성된 값으로 반환할 수 있습니다. 무 clear bfd adaptation
중단 명령어로, 명령이 라우팅 디바이스의 트래픽 흐름에 영향을 미치지 않음을 의미합니다.
기본적으로 BFD는 단일 홉 정적 경로에서 지원됩니다.
MX 시리즈 디바이스에서 정적 경로가 두 개 이상의 다음 홉으로 구성된 경우, 정적 경로에서 멀티홉 BFD가 지원되지 않습니다. 정적 경로에 멀티홉 BFD가 필요할 때는 여러 홉을 사용하지 않는 것이 좋습니다.
장애 감지를 활성화하려면 정적 경로 구성에 명령문을 포함 bfd-liveness-detection
하십시오.
Junos OS 릴리스 15.1X49-D70 및 Junos OS Release 17.3R1 bfd-liveness-detection
로 시작하여 설명 필드에 포함됩니다. 설명은 객체의 bfd-liveness-detection 속성이며 SRX 시리즈 디바이스에서만 지원됩니다. 이 필드는 정적 경로에만 적용됩니다.
Junos OS Release 9.1 이상에서 BFD 프로토콜은 IPv6 정적 경로에 대해 지원됩니다. 정적 경로에 대해 글로벌 유니캐스트 및 링크 로컬 IPv6 주소가 지원됩니다. BFD 프로토콜은 멀티캐스트 또는 애니캐스트 IPv6 주소에서 지원되지 않습니다. IPv6의 경우 BFD 프로토콜은 정적 경로만 지원하며 Junos OS Release 9.3 이상에서만 지원합니다. BFD용 IPv6도 eBGP 프로토콜에서도 지원됩니다.
IPv6 정적 경로에 대한 BFD 프로토콜을 구성하려면 계층 수준의 명령문을 [edit routing-options rib inet6.0 static route destination-prefix]
포함합니다bfd-liveness-detection
.
Junos OS Release 8.5 이상에서 상태 변경 알림이 전송되기 전에 BFD 세션이 유지되어야 하는 길이를 지정하기 위해 보류 간격을 구성할 수 있습니다.
보류 간격을 지정하려면 BFD 구성에 holddown-interval
명령문을 포함하십시오. 0~255,000밀리초 범위의 숫자를 구성할 수 있습니다. 기본값은 0입니다. BFD 세션이 중단되고 홀드다운 간격 동안 다시 나타나면 타이머가 다시 시작됩니다.
단일 BFD 세션에 여러 정적 경로가 포함된 경우 가장 높은 값을 가진 홀드다운 간격이 사용됩니다.
장애 감지를 위한 최소 전송 및 수신 간격을 지정하려면 BFD 구성에 minimum-interval
명령문을 포함합니다.
이 값은 로컬 라우팅 장비가 Hello 패킷을 전송한 후의 최소 간격과 라우팅 장비가 BFD 세션을 설정한 이웃으로부터 회신을 받을 것으로 예상하는 최소 간격을 모두 나타냅니다. 1~255,000밀리초 범위의 숫자를 구성할 수 있습니다. 선택적으로 이 명령문을 사용하는 대신 전송 간격 최소 간격 및 명령문을 사용하여 별도로 최소 전송 및 minimum-receive-interval
수신 간격을 구성할 수 있습니다.
EX4600 스위치는 1초 미만의 최소 간격 값을 지원하지 않습니다.
BFD는 시스템 리소스를 소모하는 집중적인 프로토콜입니다. 라우팅 엔진 기반 세션의 경우 100ms 미만의 BFD 최소 간격을 지정하고 분산된 BFD 세션의 경우 10ms를 지정하면 원하지 않는 BFD 플래핑이 발생할 수 있습니다.
네트워크 환경에 따라 다음과 같은 추가 권장 사항이 적용될 수 있습니다.
-
BFD 세션이 많은 대규모 네트워크 구축의 경우 라우팅 엔진 기반 세션의 경우 최소 300ms, 분산된 BFD 세션은 100ms를 지정합니다.
-
많은 수의 BFD 세션이 있는 대규모 네트워크 구축의 경우 주니퍼 네트웍스 고객 지원에 문의하십시오.
-
NSR( Nonstop Active Routing )이 구성될 때 라우팅 엔진 전환 이벤트 동안 BFD 세션이 가동되도록 하려면 라우팅 엔진 기반 세션의 최소 간격을 2500ms를 지정합니다. NSR이 구성된 분산된 BFD 세션의 경우 최소 간격 권장 사항은 변경되지 않으며 네트워크 구축에만 의존합니다.
장애 탐지를 위한 최소 수신 간격을 minimum-receive-interval
지정하려면 BFD 구성에 명령문을 포함하십시오. 이 값은 라우팅 장비가 BFD 세션을 설정한 neighbor로부터 회신을 받을 것으로 예상하는 최소 간격을 나타냅니다. 1~255,000밀리초 범위의 숫자를 구성할 수 있습니다. 선택적으로 이 명령문을 사용하는 대신 계층 수준에서 명령문을 사용하여 minimum-interval
최소 수신 간격을 [edit routing-options static route destination-prefix bfd-liveness-detection]
구성할 수 있습니다.
시작 인터페이스를 아래로 선언하는 이웃에 의해 수신되지 않는 hello 패킷의 수를 지정하려면 BFD 구성에 명령문을 포함합니다 multiplier
. 기본값은 3입니다. 1부터 255까지의 범위에서 번호를 구성할 수 있습니다.
탐지 시간의 적응을 감지하기 위한 임계값을 지정하려면 BFD 구성에 threshold
명령문을 포함합니다.
BFD 세션 감지 시간이 임계값과 같거나 높은 값에 적응하면 단일 트랩 및 시스템 로그 메시지가 전송됩니다. 탐지 시간은 최소 간격 또는 최소 수신 간격 값을 곱한 값을 기준으로 합니다. 임계값은 이들 구성된 값 중 하나에 대해 곱한 값보다 더 높은 값이어야 합니다. 예를 들어 , 최소 수신 간격 이 300ms이고 배가 3인 경우, 총 탐지 시간은 900ms입니다. 따라서 탐지 시간 임계값은 900 이상의 값을 가져야 합니다.
장애 감지를 위한 최소 전송 간격을 transmit-interval minimum-interval
지정하려면 BFD 구성에 명령문을 포함하십시오.
이 값은 로컬 라우팅 장비가 BFD 세션을 설정한 이웃에 Hello 패킷을 전송한 후 최소 간격을 나타냅니다. 1~255,000밀리초 범위의 값을 구성할 수 있습니다. 선택적으로 이 명령문을 사용하는 대신 계층 수준에서 명령문을 사용하여 minimum-interval
최소 전송 간격을 [edit routing-options static route destination-prefix bfd-liveness-detection]
구성할 수 있습니다.
전송 간격의 적응을 위한 임계값을 지정하려면 BFD 구성에 명령문을 포함합니다 transmit-interval threshold
.
임계값 값은 전송 간격보다 커야 합니다. BFD 세션이 시간을 임계값보다 큰 값으로 전송하면 단일 트랩과 시스템 로그 메시지가 전송됩니다. 탐지 시간은 최소 간격 에 대한 값의 배가된 값 또는 minimum-receive-interval
계층 레벨의 [edit routing-options static route destination-prefix bfd-liveness-detection]
명령문을 기반으로 합니다. 임계값은 이들 구성된 값 중 하나에 대해 곱한 값보다 더 높은 값이어야 합니다.
BFD 버전을 지정하려면 BFD 구성에 명령문을 포함 version
하십시오. 기본값은 버전을 자동으로 감지하는 것입니다.
BFD 세션의 다음 홉을 위한 IP 주소를 포함하려면 BFD 구성에 명령문을 포함 neighbor
하십시오.
지정된 다음 홉이 neighbor
인터페이스 이름인 경우 명령문을 구성해야 합니다. IP 주소를 다음 홉으로 지정하면 해당 주소가 BFD 세션의 인접 주소로 사용됩니다.
Junos OS 릴리스 9.0 이상에서는 변화하는 네트워크 조건에 적응하지 않는 BFD 세션을 구성할 수 있습니다. BFD 적응을 비활성화하려면 BFD 구성에 명령문을 포함 no-adaptation
하십시오.
네트워크에서 BFD를 조정하지 않는 것이 바람직하지 않은 한 BFD 적응을 비활성화 하지 않는 것이 좋습니다.
정적 경로의 한 단말에서만 BFD가 구성된 경우 라우팅 테이블에서 루트가 제거됩니다. BFD는 정적 경로의 양 끝에서 BFD가 구성되면 세션을 설정합니다.
정적 경로의 ISO 주소 제품군에서는 BFD가 지원되지 않습니다. BFD는 IS-IS를 지원합니다.
GRES( Graceful Routing Engine Switchover )를 BFD와 동시에 구성하는 경우, GRES는 페일오버 중에 BFD 상태 정보를 보존하지 않습니다.
bfd-liveness-detection
로 시작하여 설명 필드에 포함됩니다. 설명은 객체의
bfd-liveness-detection 속성이며 SRX 시리즈 디바이스에서만 지원됩니다. 이 필드는 정적 경로에만 적용됩니다.