BFD(Bidirectional Forwarding Detection)란?
BFD는 두 라우팅 디바이스(또는 네트워크 노드) 간의 직접적인 링크 오류를 밀리초 단위로 신속하게 감지하도록 설계된 프로토콜입니다. 기존의 라우팅 프로토콜(예: OSPF, BGP)은 링크 오류 감지에 자체적인 메커니즘을 가지고 있지만, 이들은 오류 감지 시간이 비교적 길 수 있습니다 (초 단위). 반면 BFD는 훨씬 더 빠른 감지를 제공하여 네트워크 컨버전스 시간을 크게 단축시킵니다.
BFD의 필요성 (ExpressRoute 관점에서)
제공해주신 글에 따르면 ExpressRoute 환경에서 BFD는 다음과 같은 필요성을 가집니다.
- 링크 오류 감지 속도 향상: ExpressRoute는 기업 네트워크와 Microsoft Azure 클라우드를 연결하는 중요한 전용 회선입니다. 이 회선에서 링크 오류가 발생할 경우, 기존 라우팅 프로토콜만으로는 오류 감지 및 경로 전환에 시간이 걸릴 수 있습니다. BFD를 사용하면 이러한 링크 오류를 밀리초 단위로 신속하게 감지하여 서비스 중단을 최소화할 수 있습니다.
- MSEE(Microsoft Enterprise Edge) 디바이스와 CE/PE 라우터 간 연결 모니터링: ExpressRoute 회로는 고객사의 라우터(CE/PE)와 Microsoft의 엣지 디바이스(MSEE) 사이에 설정됩니다. BFD는 이 두 장치 간의 물리적 또는 논리적 연결 상태를 지속적으로 모니터링하여, 문제가 발생하면 즉시 알립니다.
- 고가용성 확보: 빠른 오류 감지는 고가용성 네트워크를 구축하는 데 필수적입니다. 오류 발생 시 신속하게 백업 경로로 트래픽을 전환함으로써, 클라우드 서비스와의 연결 안정성을 높일 수 있습니다.
BGP 연결 상태 확 한계
BGP는 주기적으로 두 디바이스간에 연결이 잘 되어있는지 확안힙니다.
이를 연결유지(Keep-Alive)라고 하는데 이 메시지가 일정 시간동안 오지 않으면, 연결에 문제가 생겼다고 판단합니다.
MSEE(Micorsoft Enterprise Edge)에서는 이 연결유지 메시지를 60초마다 보내고, 만약 180초 동안 메시지를 받지 못하면 연결에 문제가 있다는 것으로 판단되로고 되어있습니다. 180초(3분)은 클라우드 서비스 사용 입장에서는 꽤 긴 시간일 수 있기 때문에 BFD와 같은 경량화된 링크 연결 상태 확인 프로토콜을 사용하게 되었습니다.
💡빠른 감지 BGP 설정
BGP 또한 3초마다 연결 유지 메시지를 보내고, 10초 동안 받지 못하면 문제가 생겼다고 판단할 수 있도록 설정은 가능하나, 이와 같이 너무 짧은 간격으로 상태 확인을 하려고하면 기존 BGP 네트워킹 기술에 성능 저하를 발생할 수 있습니다.
Express Route 에서 BFD 활성화
현재 시점(25.07)에서 새로 구성된 ER 피어링은 기본적으로 BFD가 활성화 되어 있습니다.
사용자가 별도로 활성화 하지 않아도 기본적으로 되어있으며, 비활성화는 불가능합니다.
고객사 측 라우터(CE/PE)에서는 BFD를 구성하는 것은 선택사항입니다.
Microsoft 장비에서는 BFD가 늘 활성화 되어있지만, 고객사 측 라우터는 선택사항이기 때문에 양방향 빠른 오류 감지를 위해서는 고객사 라우터의 BFD 활성화가 필요합니다.
💡오래된 Expree Route Peering
2018년 8월 이전 ER Private Peering, Microsoft Peering의 경우 기본적으로 BFD가 활성화 되어있지 않습니다. 그러므로 활성화 하기 위해서는 Peering를 다시 생성하여야합니다.
BFD Failover
BFD는 링크 오류가 감지는 빠르게 진행되나, Express Route와 MSEE 간의 장애조치(failover)는 최대 1분이 걸립니다. 즉, 링크 오류 감지는 빠르지만 정상화하는데는 시간이 최대 1분정도 소요됩니다.
BFD 타이머 협상
온프렘 라우터와 MSEE 간 BFD 상태확인을 진행하기 위해 서로 헬로 패킷을 전달합니다.
상태 확인을 위한 MSEE BFD 전송/수신 간격은 300ms (0.3초)로 설정되어 있습니다.
해당 전송/수신 간격은 750ms로 늘릴수 있습니다. 값을 늘릴 순 있지만 줄일 순 없습니다.
이렇게 온프렘 라우터 장비와 MSEE 상태 확인을 위한 타이머 협상을 진행할 때, BFD 피어간 전송 속도는 둘 중 더 느린쪽을 따르게 됩니다.
💡느린쪽을 따르게 된다 ?
만약 여러분의 라우터가 "난 100밀리초마다 보낼게!"라고 제안하고, 마이크로소프트의 MSEE가 "난 300밀리초마다 보낼게!"라고 제안하면, 실제로는 두 장비 모두 300밀리초 간격으로 패킷을 주고받게 된다는 뜻입니다.
'Azure' 카테고리의 다른 글
| [Azure] AKS & Managed Lustre CSI Driver (0) | 2025.07.24 |
|---|---|
| [Azure] Infiniband on AKS (0) | 2025.07.24 |
| [Azure] Google(IdP) MS EntraID (SP) Federation & Account Sync (0) | 2025.07.24 |
| [Azure] MS EntraID(IdP) Google(SP) Federation & Account Sync (0) | 2025.07.24 |
| [Azure] Application Gateway for container (0) | 2025.05.21 |