IT/Infra&Cloud

[gcp] Cloud Router

Hayley Shim 2024. 4. 20. 15:37

안녕하세요. GCP의 네트워크 서비스 중 Border Gateway Protocol(BGP) 라우팅 프로토콜 요구 사항을 지원하기 위해 GCP Cloud Router를 제공합니다. 이번 글에서는 Cloud Router 서비스에 대해 알아보겠습니다.[지난 게시글 참고-BGP] 

 

Cloud Router는 Cloud NAT의 제어 영역 역할을 하며, 다음 Google Cloud 제품에 BGP 서비스를 제공합니다.

[참고-GCP Cloud Router Docs]

 

BGP 세션 

Cloud Router는 경계 경로 프로토콜(BGP)을 사용하여 Virtual Private Cloud(VPC) 네트워크와 온프레미스 네트워크 간에 경로를 교환합니다. Cloud Router에서는 온프레미스 라우터의 인터페이스와 BGP 피어를 구성합니다. 인터페이스와 BGP 피어 구성은 함께 BGP 세션을 구성합니다.

  • 동적 라우팅을 사용하는 기본 VPN 터널(특정 기본 VPN 동적 라우팅 기능은 지원 중단되었습니다. 자세한 내용은 기본 VPN 동적 라우팅 부분 지원 중단을 참조하세요.)
  • HA VPN 터널(필요에 따라 동적 라우팅 사용)
  • Cloud Interconnect용 VLAN 연결
  • 라우터 어플라이언스 인스턴스

 Cloud Router에서는 모든 BGP 세션에 동일한 ASN을 사용합니다. Partner Interconnect에는 공개 ASN이 필요하고 다른 유형의 모든 인터페이스에는 비공개 ASN이 필요하므로 Partner Interconnect에서 VLAN 연결용 BGP 세션을 관리하는 Cloud Router는 다른 인터페이스 유형의 BGP 세션을 관리할 수 없습니다.

 

 

BGP 인증

Cloud Router는 Border Gateway Protocol(BGP)을 사용하여 Virtual Private Cloud(VPC) 네트워크와 피어 네트워크 간에 경로를 교환합니다. 기본적으로 Cloud Router BGP 세션은 인증되지 않습니다. 하지만 특정 제품과 함께 Cloud Router를 사용하는 경우 MD5 인증을 사용하도록 BGP 세션을 필요에 따라 구성할 수 있습니다.

MD5 인증을 사용할 수 있는 제품에는 다음이 포함됩니다.

제3자 네트워크 가상 어플라이언스에서 MD5 인증을 사용할 수도 있습니다. 자세한 내용은 Network Connectivity Center 문서의 라우터 어플라이언스를 참조하세요.

MD5 인증을 사용하도록 세션을 구성할 때는 Cloud Router를 구성할 때와 피어 라우터를 구성할 때 사용하는 보안 비밀 공유 키를 제공합니다. 필요한 설정 단계를 완료하면 Cloud Router가 해당 키를 사용하여 BGP 피어를 인증합니다. Cloud Router는 RFC 2385에 설명된 모델을 사용하여 MD5 인증을 시행합니다.

피어를 만들 때 MD5 인증을 추가할 수 있습니다. 기존 세션에 인증을 추가하거나 세션에서 사용하는 키를 변경하거나 인증을 삭제할 수도 있습니다.

 

 

양방향 전송 감지(BFD) 개요

BFD(RFC 5880, RFC 5881)는 대부분의 상용 라우터에서 지원하는 전달 경로 중단 감지 프로토콜입니다. Cloud Router에서 BFD를 사용하면 BGP 세션 내에서 BFD 기능을 사용 설정하여 링크 다운 이벤트와 같은 전달 경로 중단을 감지할 수 있습니다. 이 기능은 하이브리드 네트워크의 복원력을 높여줍니다.

 

BFD 이점

BGP 기반 장애 감지는 60초가 걸리는 것과 달리 기본 설정으로 구성된 BFD에서는 5초 내에 장애를 감지합니다. Cloud Router에 BFD를 구현하면 엔드 투 엔드 감지 시간이 5초 밖에 안 걸립니다.

BFD는 연결의 각 끝에서 전달 경로를 통해 주기적으로 패킷을 전송하는 고정 길이 hello 프로토콜입니다.

BFD는 UDP 기반 감지 프로토콜로, 인접한 두 라우터 간의 전달 경로에서 장애를 감지하는 오버헤드가 낮은 방법을 제공합니다. 여기에는 인터페이스, 데이터 링크, 전달 영역의 장애 감지가 포함됩니다. 라우팅 프로토콜 수준에서 BFD를 사용 설정할 수 있습니다.

 

BFD 제한사항

Dedicated Interconnect 또는 Partner Interconnect의 VLAN 연결에 구성하는 BGP 세션에서만 BFD를 사용하도록 설정할 수 있습니다. BFD는 HA VPN 터널 또는 Network Connectivity Center의 일부인 라우터 어플라이언스용으로 구성된 BGP 세션에서 지원되지 않습니다.

BFD 세션 설정

 

 

실패 이벤트 중 BFD

다음 그림은 네트워크에서 장애가 발생할 때의 상황을 보여줍니다.

BFD 제어 전용 모드에서 Cloud Router와 온프레미스 라우터는 주기적으로 BFD 제어 패킷을 서로 전송합니다. Cloud Router의 bfd multiplier 설정에 구성된 행의 제어 패킷 수가 다른 라우터에서 수신되지 않으면 세션은 다운으로 선언됩니다. 그러면 다음과 같은 결과가 발생합니다.

  1. Google Cloud와 온프레미스 라우터 간에 링크 장애가 발생합니다.
  2. BGP 인접 라우터를 사용한 BFD 인접 세션은 해제됩니다.
  3. BFD가 로컬 BGP 프로세스에 더 이상 BFD 인접 항목에 연결할 수 없다고 알립니다.
  4. 로컬 BGP 프로세스가 BGP 인접 관계를 해제합니다.

대체 경로를 사용할 수 있으면 라우터에서 즉시 수렴을 시작합니다.

 

기본적으로 BFD는 Cloud Router BGP 세션에서 중지되어 있습니다. BFD를 사용하려면 사용 설정해야 합니다.

다음 장애 시나리오의 라우터는 다음과 같이 설정됩니다.

  • Cloud Router의 BFD 수신 간격은 감지 타이머를 5,000밀리초(ms)로 설정한 경우 1,000ms에 BFD 배수 5를 곱한 값으로 설정됩니다.
  • 피어 라우터의 BFD 전송 간격은 감지 타이머를 5,000ms로 설정한 경우 1,000ms에 BFD 배수 5를 곱한 값으로 설정됩니다.

Cloud Router는 피어 라우터와 협상하고 피어 라우터에서 1,000ms마다 제어 패킷을 수신할 것으로 예상합니다. Cloud Router가 제어 패킷을 수신하지 않고 5,000ms가 지나면 감지 타이머가 만료되고 BFD 세션이 다운된 것으로 선언합니다.

에코 패킷 없는 BFD

 

 

 

커스텀 학습된 경로

Cloud Router는 경계 게이트웨이 프로토콜(BGP)을 사용하여 외부 경로에서 동적으로 경로를 학습합니다. 그러나 수동으로 정의하는 추가 학습된 경로를 적용하도록 Cloud Router에서 BGP 세션을 구성할 수도 있습니다. 이렇게 수동으로 구성된 경로를 커스텀 학습된 경로라고 부릅니다. BGP 세션에 대해 경로를 지정하면 BGP 피어에서 경로를 학습할 때와 같이 Cloud Router가 작동합니다.

 

최적 경로 선택

Cloud Router는 커스텀 학습된 경로를 다음과 같이 평가합니다.

  • 경로가 여러 BGP 피어에 대해 커스텀 학습된 경로로 구성된 경우에는 이전 섹션에 설명된 것처럼 Google Cloud에서 우선순위가 가장 낮은 경로가 선호됩니다.
  • 다음 홉이 서로 다른 여러 경로가 동일한 우선순위를 공유할 때 Google Cloud는 동일 비용 다중 경로(ECMP)를 사용해서 경로 간에 트래픽을 할당합니다.

 

커스텀 공지 경로

커스텀 공지 경로를 사용하면 Cloud Router가 BGP(경계 경로 프로토콜)를 통해 온프레미스 라우터에 공지하는 경로를 선택할 수 있습니다.

Cloud Router나 각 BGP 세션에서 커스텀 공지 경로를 지정할 수 있습니다. Cloud Router에서 커스텀 공지 경로를 지정하면 Cloud Router의 모든 BGP 세션에 적용됩니다. BGP 세션에 커스텀 공지 경로를 지정하면 이러한 공지가 Cloud Router 공지를 대체합니다.

 

 

BGP 세션 문제 해결

BGP 세션의 설정 실패, BGP 재설정과 같은 BGP 세션 문제 해결을 위해 다음 문서를 참고합니다. 

 

 

 

참고

Google Cloud Router Docs