MPLS를 위한 BFD(Bidirectional Forwarding Detection)
MPLS에 대한 양방향 전달 탐지 구성(CLI 절차)
EX8200 독립형 스위치 및 EX8200 Virtual Chassis에서 BFD(Bidirectional Forwarding Detection) 프로토콜을 구성하여 MPLS 레이블 스위치 경로(LSP)의 장애를 감지할 수 있습니다. BFD 프로토콜은 네트워크의 실패를 감지하는 간단한 Hello 메커니즘입니다. Hello 패킷은 정규적이며 지정된 간격으로 전송됩니다. 라우팅 디바이스가 지정된 간격 후 이웃으로부터 회신 수신을 중단하면 이웃 실패가 감지됩니다. BFD는 다양한 네트워크 환경과 토폴로지에서 작동합니다. BFD에 대한 실패 검출 타이머는 정적 경로에 대한 실패 검출 메커니즘의 시간 제한보다 짧은 시간 제한을 가지므로, 더 빠른 탐지를 제공합니다. 이 타이머는 적응형이기도 합니다. 예를 들어, 인접성이 실패하면 타이머가 더 높은 값에 적응하거나 이웃이 구성된 것보다 더 높은 값을 협상할 수 있습니다.
이 주제에서는 LDP 기반 LSP 및 RSVP 기반 LSP를 지원하기 위한 프로바이더 에지(PE) 스위치 및 프로바이더 스위치를 구성하는 방법에 대해 설명합니다.
이 주제에는 다음 내용이 포함됩니다.
LDP 기반 LSP를 위한 프로바이더 에지 및 프로바이더 스위치에서 BFD 구성
특정 FEC(Forwarding Equivalence Class)와 관련된 LDP 기반 LSP 또는 RSVP 기반 LSP에 대해 BFD를 활성화할 수 있습니다. 또는 OAM(Operation Administration and Maintenance) 수신 정책을 구성하여 다양한 FEC 주소에서 BFD를 활성화할 수 있습니다.
LDP 기반 LSP에 대한 BFD를 구성하기 전에 MPLS 네트워크에 대한 기본 구성 요소를 구성해야 합니다.
두 개의 PE 스위치를 구성합니다. IP-over-MPLS를 사용하여 프로바이더 에지 스위치에서 MPLS 구성을 참조하십시오.
하나 이상의 프로바이더 스위치를 구성합니다. EX8200 및 EX4500 프로바이더 스위치에서 MPLS 구성을 참조하십시오.
PE 및 프로바이더 스위치에서 BFD를 구성하려면:
RSVP 기반 LSP를 위한 프로바이더 에지 및 프로바이더 스위치에서 BFD 구성
수신 스위치에서 RSVP 기반 LSP에 대해 BFD가 구성되면 기본 경로와 해당 LSP의 모든 대기 보조 경로에서 활성화됩니다. 스위치의 모든 LSP 또는 특정 LSP에 대해 BFD를 활성화할 수 있습니다. 특정 LSP에 대해 BFD를 구성하는 경우, BFD에 대해 전역적으로 구성된 모든 값이 해당 LSP에서 재정의됩니다. BFD 세션은 수신 스위치에서만 시작되어 송신 스위치에서 종료됩니다.
RSVP 기반 LSP에 대한 BFD를 구성하기 전에 MPLS 네트워크에 대한 기본 구성 요소를 구성해야 합니다.
두 개의 PE 스위치를 구성합니다. IP-over-MPLS를 사용하여 프로바이더 에지 스위치에서 MPLS 구성을 참조하십시오.
하나 이상의 프로바이더 스위치를 구성합니다. EX8200 및 EX4500 프로바이더 스위치에서 MPLS 구성을 참조하십시오.
PE 및 프로바이더 스위치에서 BFD를 구성하려면:
신속한 컨버전스를 위한 BFD 트리거 로컬 복구
BFD 트리거 로컬 보호 이해
링크 또는 노드 장애 후 네트워크가 통합되는 데 걸리는 시간은 네트워크 크기, 사용되는 프로토콜, 네트워크 설계 등 여러 요인에 따라 크게 달라질 수 있습니다. 그러나 각각의 특정 수렴 이벤트는 다르지만 수렴 프로세스는 본질적으로 일관됩니다. 장애가 감지되고, 네트워크에서 장애가 보고(플러딩)되며, 트래픽에 대한 대체 경로가 발견되고, 포워딩 플레인이 업데이트되어 새 경로로 트래픽을 전달합니다.
이 개요에서는 BFD(Bidirectional Forwarding Detection) 트리거 로컬 복구가 MPLS 네트워크의 빠른 컨버전스를 위한 더 빠른 복원 시간에 어떻게 기여하는지 설명합니다.
BFD 트리거 로컬 복구의 목적
Junos OS에서 RSVP 신호 LSP(label-switched path) 실패에 대한 일반적인 MPLS 트래픽 보호는 몇 가지 보완 메커니즘에 의해 제공됩니다. 이러한 보호 메커니즘에는 로컬 보호(Fast Reroute, 링크 보호 및 노드 링크 보호)와 경로 보호(기본 및 보조 경로)가 포함됩니다. 경로 보호와 결합된 로컬 보호는 LSP의 패킷 손실을 최소화하고 실패 후 LSP가 다시 라우팅되는 방식을 제어할 수 있습니다. 일반적으로 두 가지 유형의 보호 모두 물리적 수준에서 연결 실패를 빠르게 감지하는 데 의존합니다. 그러나 빠른 물리적 레벨 감지가 없는 전송 미디어의 경우, Junos OS는 빠른 장애 감지를 위해 BFD 및 MPLS 핑을 지원합니다.
라우터 간의 링크를 사용하면 경로가 다운되면 라우팅 프로토콜 프로세스가 차선의 경로를 다시 계산합니다. MPLS FRR(Fast Reroute)이 활성화되면 ifl 메시지가 모든 FPC(Flexible PIC Concentrator)에 플러딩됩니다. 에지 FPC는 우회 MPLS LSP 터널을 지원합니다. 마지막으로 모든 경로가 복구되어 우회 MPLS LSP 터널을 통해 전송됩니다. 모든 경로를 복구하는 데 걸리는 시간은 경로 수에 비례합니다.
이 복구 시나리오는 스위치가 두 링크 사이에 있을 때 더 어려워집니다. 그림 1을(를) 참조하세요.
원격 엔드에서 링크가 다운되면 IGP(Interior Gateway Protocol)가 다운될 때까지 로컬 엔드에서 장애가 감지되지 않습니다. 라우팅 프로토콜 프로세스가 차선의 경로를 다시 계산할 때까지 기다리는 데 너무 많은 시간이 걸립니다.
BFD 트리거 로컬 복구가 활성화된 상태에서 패킷 전달 엔진은 우회 MPLS LSP 터널(사전 구성 및 설치됨)을 사용하여 먼저 복구를 완료한 다음 라우팅 프로토콜 프로세스에 새 경로를 다시 계산하도록 알립니다. 이렇게 하면 기본 MPLS LSP 터널이 다운될 때 FPC는 우회 MPLS LSP 터널을 통해 트래픽을 간헐적으로 즉시 FPC로 전환할 수 있습니다.
이러한 방식으로 로컬 복구를 사용하면 50ms 미만의 더 빠른 복원 시간을 얻을 수 있습니다.
BFD 트리거 로컬 복구 구성
BFD 트리거 로컬 복구는 구성할 수 없지만 기본 구성의 일부입니다.
BFD 트리거 로컬 복구는 레거시 Junos OS 기능 MPLS-FRR, IGP용 BFD 및 LFA(loop-free alternates) 내에서 작동합니다.
BFD 트리거 로컬 복구 비활성화
기본적으로 BFD 트리거 로컬 복구는 모든 라우팅 인터페이스에 대해 활성화됩니다. 원하는 경우 [edit routing-options] 계층 수준에서 BFD 트리거 로컬 복구를 비활성화할 수 있습니다.
BFD 트리거 로컬 복구를 명시적으로 비활성화하려면:
no-bfd-triggered-local-repair
[edit routing-options] 계층 수준에서 명령문을 포함합니다.user@host# set no-bfd-triggered-local-repair
(선택 사항) 명령을 사용하여
show routing-options
커밋하기 전에 구성 설정을 확인합니다.user@host# run show routing-options
명령을 실행하여 show routing-options 구성을 확인합니다.
user@host# show routing-options ... no-bfd-triggered-local-repair; }
이 기능을 비활성화할 때 IGP에 graceful-restart 대한 문을 포함하여 라우팅도 다시 시작해야 합니다. 예를 들어 OSPF의 경우 계층 수준에서 문을 [edit protocols ospf]
포함하여 graceful-restart 이 작업을 수행합니다.
MPLS IPv4 LSP에 대한 BFD 구성
인터넷 초안 draft-ietf-bfd-mpls-02.txt, MPLS LSP용 BFD에 설명된 대로 MPLS IPv4 LSP에서 BFD(Bidirectional Forwarding Detection) 프로토콜을 구성할 수 있습니다. BFD는 LSP가 LSP 데이터 플레인 결함을 감지하기 위한 주기적인 OAM(Operation, Administration, and Maintenance) 기능으로 사용됩니다. 신호 프로토콜로 LDP 또는 RSVP를 사용하는 LSP에 대해 BFD를 구성할 수 있습니다.
MPLS IPv4 LSP에 대한 BFD는 라우팅 엔진을 기반으로 하며 분산되지 않습니다. 그 결과, 지원되는 최소 BFD 타이머 간격은 하나의 LSP 세션당 (100ms * 3)이며, 확장된 LSP 세션의 경우 지원되는 최소 BFD 타이머 간격은 (300ms * 3)입니다. BFD를 사용하는 LSP 세션 수를 늘리면 네트워크를 지원하기 위해 인터벌 타이머도 늘려야 합니다.
NSR(Nonstop Active Routing)을 지원하는 라우팅 엔진 전환 인스턴스의 경우 지원되는 최소 BFD 타이머 간격은 (2.5초 * 3)입니다.
LSP ping
명령을 사용하여 LSP 데이터 플레인 결함을 감지할 수도 있습니다. 그러나 BFD에는 몇 가지 이점이 있습니다. LSP ping
명령보다 컴퓨터 처리가 덜 필요하며 많은 수의 LSP에서 결함을 신속하게 감지할 수 있습니다(LSP ping
명령은 각 LSP에 대해 개별적으로 실행해야 함). 반면, BFD는 송신 LSR에서 데이터 플레인에 대해 컨트롤 플레인을 검증하는 데 사용할 수 없으며, 이는 LSP ping
에코 요청이 FEC(Forwarding Equivalence Class)와 연결될 때 가능합니다.
BFD 실패 검출 타이머는 적응 가능하며 더 많거나 적은 공격용으로 조정할 수 있습니다. 예를 들어, 타이머는 인접성이 실패하면 더 높은 값에 적응하거나 또는 이웃이 구성된 값보다 타이머의 높은 값을 협상할 수 있습니다. BFD 세션 플랩이 15초 동안 3배 이상 발생하면 타이머는 더 높은 값에 적응합니다. 로컬 BFD 인스턴스가 세션 플랩의 이유인 경우 물러서기 알고리즘은 수신 (Rx) 간격을 2배로 증가시킵니다. 원격 BFD 인스턴스가 세션 플랩의 이유인 경우 전송 (Tx) 간격은 2배 증가합니다. clear bfd adaptation
명령을 사용하여 BFD 간격 타이머를 구성된 값으로 돌려줄 수 있습니다. clear bfd adaptation
명령은 중단이 없으며, 이는 명령이 라우팅 디바이스의 트래픽 플로우에 영향을 미치지 않는다는 것을 의미합니다.
Junos OS 릴리스 13.2R4, 13.3R2 및 14.1부터 LSP 핑 메시지와 LSP 핑 응답 수 간의 시간 간격을 각각 설정할 수 있으며, 그 후에 BFD(Bidirectional Forwarding Detection) 세션이 중단됩니다. 이를 위해 계층 수준에서 명령문과 명령문을 lsp-ping-multiplier
[edit protocols mpls oam]
구성합니다lsp-ping-interval
.
LDP 신호 LSP에 대한 구성 지침은 LDP LSP의 BFD 구성을 참조하십시오. RSVP 신호 LSP에 대한 구성 지침은 다음 섹션을 참조하십시오.
RSVP 신호 LSP에 대한 BFD 구성
RSVP용 BFD는 유니캐스트 IPv4 LSP를 지원합니다. BFD가 수신 라우터에서 RSVP LSP에 대해 구성되면 기본 경로와 해당 LSP의 모든 대기 보조 경로에서 활성화됩니다. MPLS BFD 세션의 송신 측에서 나가는 BFD 패킷의 소스 IP 주소는 나가는 인터페이스 IP 주소를 기반으로 합니다. 라우터의 모든 LSP 또는 특정 LSP에 대해 BFD를 활성화할 수 있습니다. 특정 LSP에 대해 BFD를 구성하면 BFD에 대해 전역적으로 구성된 모든 값이 재정의됩니다. BFD 세션은 수신 라우터에서만 시작되어 송신 라우터에서 종료됩니다.
경로에 대한 BFD 세션이 실패할 때마다 오류가 기록됩니다. 다음 예는 RSVP LSP 로그 메시지에 대한 BFD가 어떻게 나타나는지 보여줍니다.
RPD_MPLS_PATH_BFD_UP: MPLS BFD session for path path1 up on LSP R0_to_R3 RPD_MPLS_PATH_BFD_DOWN: MPLS BFD session for path path1 down on LSP R0_to_R3
라우터의 모든 RSVP LSP, 특정 LSP 또는 특정 LSP의 기본 경로에 대해 BFD를 구성할 수 있습니다. RSVP LSP에 대한 BFD를 oam
구성하려면 및 bfd-liveness-detection
문을 포함합니다.
oam { bfd-liveness-detection { failure-action { make-before-break teardown-timeout seconds; teardown; } failure-action teardown; minimum-interval milliseconds; minimum-receive-interval milliseconds; minimum-transmit-interval milliseconds; multiplier detection-time-multiplier; } lsp-ping-interval time-interval; lsp-ping-multiplier multiplier; }
이 명령문은 다음의 계층 수준에서 구성하실 수 있습니다.
[edit protocols mpls]
[edit protocols mpls label-switched-path lsp-name]
[edit protocols mpls label-switched-path lsp-name primary path-name]
bfd-liveness-detection
문에는 다음과 같은 옵션이 포함됩니다.
minimum-interval
- 최소 전송 및 수신 간격을 지정합니다.minimum-receive-interval
- 최소 수신 간격을 지정합니다. 범위는 1~255,000 밀리초입니다.minimum-transmit-interval
- 최소 전송 간격을 지정합니다. 범위는 1~255,000 밀리초입니다.lsp-ping-multiplier
- 탐지 시간 승수를 지정합니다. 범위는 1~255입니다.주:거짓 음성이 트리거되지 않도록 하려면 BFD 장애 감지 시간을 빠른 경로 재설정 시간보다 길게 구성합니다.
LSP 핑 사이의 시간 간격을 조정하는 옵션을 구성할 lsp-ping-interval
수도 있습니다. RSVP 신호 LSP에 대한 LSP ping 명령은 입니다 ping mpls rsvp
. ping mpls rsvp
명령에 대한 자세한 정보는 CLI 익스플로러를 참조하십시오.
RSVP LSP에서 BFD 세션에 대한 실패 동작 구성
RSVP LSP에 대한 BFD 세션이 중단되면 LSP가 해체되고 다시 신호됩니다. 트래픽을 대기 LSP로 전환하거나 LSP 경로를 간단히 삭제할 수 있습니다. 수행된 모든 작업이 기록됩니다.
RSVP LSP 경로에 대한 BFD 세션이 중단되면 Junos OS를 구성하여 LSP 경로를 재신호하거나 단순히 LSP 경로를 비활성화할 수 있습니다. 기본 LSP 경로를 사용할 수 없는 동안 트래픽을 처리하도록 대기 LSP 경로를 구성할 수 있습니다. 라우터는 BFD에서 감지할 수 있는 LSP 장애를 자동으로 복구할 수 있습니다. 기본적으로 BFD 세션이 실패하면 이벤트가 기록됩니다.
BFD 이벤트 발생 시 Junos OS가 RSVP LSP 경로를 삭제할 수 있도록 하려면 다음과 같은 명령문을 포함합니다.failure-action
failure-action { make-before-break teardown-timeout seconds; teardown; }
이 명령문을 포함할 수 있는 계층 수준의 목록은 이 명령문에 대한 명령문 요약 섹션을 참조하십시오.
또는 make-before-break
옵션을 구성할 수 있습니다.teardown
teardown
- LSP 경로가 삭제되고 즉시 재신호됩니다.make-before-break
- Junos OS가 기존 LSP 경로를 삭제하기 전에 새 LSP 경로에 신호를 보내도록 합니다. 또한 LSP를teardown-timeout
재신호하려는 시도가 간격 내에 실패할 경우 지정된 기간이 지나면 LSP를 자동으로 삭제하도록 옵션을 구성할 수 있습니다teardown-timeout
. 간격에 대해teardown-timeout
0의 값을 지정하면 LSP가 중단되고 즉시 신호를 보냅니다(옵션을 구성할teardown
때와 동일한 동작).
모든 RSVP LSP에 대한 실패 동작을 구성하려면 계층 수준에서 문을 [edit protocols mpls oam bfd-liveness-detection]
포함합니다failure-action
. 특정 RSVP LSP에 대한 실패 동작을 구성하려면 계층 수준에서 문을 [edit protocols mpls label-switched-path lsp-name oam bfd-liveness-detection]
포함합니다failure-action
.
특정 기본 경로에 대한 실패 동작을 구성하려면 계층 수준에서 문을 [edit protocols mpls label-switched path lsp-name primary path-name oam bfd-liveness-detection]
포함합니다failure-action
. 특정 보조 LSP 경로에 대한 실패 동작을 구성하려면 계층 수준에서 명령문을 [edit protocols mpls label-switched-path lsp-name secondary path-name oam bfd-liveness-detection]
포함합니다failure-action
.
변경 내역 표
기능 지원은 사용 중인 플랫폼과 릴리스에 따라 결정됩니다. Feature Explorer 를 사용하여 플랫폼에서 기능이 지원되는지 확인하세요.