Protective ReRoute를 사용하여 TCP 네트워크 복원력 최적화

Protective ReRoute(PRR)는 멀티 경로 네트워크에서 오류가 발생하면 패킷을 라우팅하는 호스트 기반 기법입니다. PRR은 Google의 글로벌 네트워크에 배포되며, 기존 복원력 메커니즘과 함께 작동하여 모든 사용자의 네트워크 가용성을 개선합니다.

PRR 모드 선택

Google Cloud 는 하이퍼바이저 모드와 게스트 모드라는 두 가지 모드로 PRR을 제공합니다.

하이퍼바이저 모드의 PRR

하이퍼바이저 모드의 PRR은 기본적으로 대부분의 트래픽을 보호하지만 다음과 같은 제한사항이 있습니다.

  • 인스턴스의 트래픽 팬아웃이 큰 경우(예: 인스턴스가 동시에 수천 개의 리전 간 인스턴스에 패킷을 활발하게 전송하는 경우) 일부 패킷은 보호되지 않습니다.

  • 하이퍼바이저 모드 PRR은 네트워크 경로의 주요 세그먼트를 보호하지만 완전한 엔드 투 엔드는 아닙니다.

  • 하이퍼바이저 모드 PRR은 한 자릿수 초 단위 내로 반응합니다.

게스트 모드의 PRR

게스트 모드 PRR은 단기 네트워크 이벤트에 특히 민감하거나, 팬아웃 패턴이 크거나, 패킷 손실에 매우 민감하거나, 가능한 가장 빠른 네트워크 복구 시간(RTT 시간 척도)이 필요한 중요한 애플리케이션에 사용할 수 있습니다.

모든 Google Cloud 고객은 구성 조치 없이 하이퍼바이저 모드 PRR을 자동으로 받습니다.

게스트 모드 PRR 구성

패킷 손실에 매우 민감하거나, 팬아웃 패턴이 크거나, 가능한 가장 빠른 네트워크 복구가 필요한 애플리케이션에는 게스트 모드를 사용해야 합니다.

게스트 모드 PRR을 구성하려면 다음 단계를 따르세요.

  1. Linux 커널 버전을 확인합니다. 다음 명령어를 사용하여 인스턴스 OS가 버전 4.20 이상을 사용하는지 확인합니다.

    uname -r
    
  2. IPv6 흐름 라벨이 자동으로 생성되는지 확인합니다. 다음 명령어를 사용하여 /proc/sys/net/ipv6/auto_flowlabels 설정이 사용 설정되어 있는지 확인합니다. 이 sysctl 설정은 기본적으로 사용 설정되어 있는 경우가 많습니다.

    cat /proc/sys/net/ipv6/auto_flowlabels
    

    값이 1이 아니면 시스템 구성에서 사용 설정합니다.

  3. 전체 PRR 지원을 위해 gVNIC 네트워크 인터페이스 드라이버를 사용합니다. IPv4 및 IPv6 트래픽을 모두 보호하려면 인스턴스에서 gVNIC 네트워크 인터페이스를 사용해야 합니다. 인스턴스가 VirtIO 네트워크 인터페이스를 사용하는 경우 PRR은 IPv6 트래픽만 보호합니다.

다음 단계