PPPoE Half-Bridge를 사용한 UniFi 게이트웨이 PPPoE 성능 병목 현상 해결

UniFi 게이트웨이는 PPPoE 연결에서 CPU가 PPPoE 및 NAT에 대한 하드웨어 가속이 부족하여 심각한 처리량 저하를 자주 겪습니다. 별도의 OpenWrt 기반 장치에 PPPoE 다이얼링 프로세스를 오프로드함으로써(이를 PPPoE Half-Bridge 기법이라고 함) 사용자는 게이트웨이가 PPPoE 세션을 직접 처리하도록 요구하는 대신 DHCP를 통해 공용 IPv4 주소를 제공하여 UniFi 게이트웨이의 전체 라인 속도를 복원할 수 있습니다.

UniFi PPPoE 성능 문제의 근본 원인

UDM Pro, UDM SE, UDM Pro Max, UXG Pro, EFG를 포함한 대부분의 UniFi 게이트웨이는 PPPoE 하드웨어 가속을 지원하지 않는 OEM 플랫폼을 사용합니다. 이로 인해 PPPoE 프로토콜이 모든 패킷을 캡슐화하고 디캡슐화해야 하는데, 이 과정은 Linux 및 pfSense 구현에서 일반적으로 단일 스레드로 실행되므로 상당한 처리량 병목 현상이 발생합니다.

처리가 단일 CPU 코어에 고정되어 있기 때문에 디바이스의 총 코어 수와 관계없이 처리량이 제한됩니다. 관찰된 성능 벤치마크는 이 격차를 강조합니다:

  • UDM Pro/SE: 일반적으로 PPPoE에서 1200 Mbps에서 1500 Mbps.
  • UDM Pro Max: 일반적으로 PPPoE에서 1400 Mbps에서 1800 Mbps.
  • EFG: 일반적으로 PPPoE에서 1400 Mbps에서 2400 Mbps.
  • UCG Fiber: MediaTek Filogic 880 SoC를 사용하여 네이티브 PPPoE 하드웨어 가속을 제공하므로 5000 Mbps를 초과할 수 있습니다.

PPPoE Half-Bridge 가속 작동 방식

PPPoE Half-Bridge(또는 Zero IP Bridge라고도 함)는 비용이 많이 드는 PPPoE 다이얼링 및 세션 관리 작업을 전용 오프로드 장치로 이동시킵니다. UniFi 게이트웨이가 ISP에 다이얼링하는 대신, 오프로드 장치가 PPPoE 세션을 처리하고 공용 IPv4 주소를 얻은 후 로컬 DHCP 서버를 통해 해당 주소를 UniFi 게이트웨이에 "전달"합니다.

이 아키텍처에서 오프로드 장치는 공용 IP를 자체적으로 보유하지 않으며, 단순히 IP 주소를 투명하게 전달하는 역할을 합니다. UniFi 게이트웨이는 DHCP를 통해 공용 IPv4를 수신하여 PPPoE 캡슐화 오버헤드 없이 라우팅, NAT 및 IDS/IPS에 CPU 자원을 집중할 수 있습니다.

일부 ISP 제공 ONT/ONU 장치는 "Advanced DMZ" 또는 "IP Passthrough"와 같은 기능을 통해 유사한 기능을 제공하지만, 많은 경우 그렇지 않아 맞춤형 구현이 필요합니다.

OpenWrt를 사용한 솔루션 구현

ArcBox Labs는 Banana Pi BPI-R4 Pro와 OpenWrt를 사용하여 이 솔루션을 구현했습니다. 구현은 hotplug.d 메커니즘을 활용하여 PPPoE 세션이 설정될 때마다 브리지 구성을 자동화합니다.

기술 워크플로

프로세스는 두 가지 주요 파일로 관리됩니다: 99-half-bridge (트리거)와 start-half-bridge.sh (로직). 실행 흐름은 다음과 같습니다:

  1. 방화벽 조정: OpenWrt 방화벽의 WAN 측에서 NAT/MASQUERADE가 비활성화됩니다.
  2. IP 추출: 스크립트는 PPPoE 가상 인터페이스(예: ppp0)에서 다이얼된 공용 IPv4 주소를 읽습니다.
  3. DHCP 구성: 스크립트는 공용 IP의 /24 서브넷을 계산하고 OpenWrt DHCP 서버를 구성하여 해당 특정 공용 IPv4를 다운스트림 UniFi 게이트웨이에 제공합니다.
  4. 소스 기반 라우팅: 소스 IP가 다운스트림 라우터에 할당된 것과 일치하는 경우에만 패킷이 PPPoE 가상 인터페이스로 전송되도록 정책 기반 라우팅이 구현됩니다.これにより、システムは複数のPPPoE接続を同時にサポートできます。
  5. 인터페이스 리셋: 물리적 인터페이스가 재시작되어 UniFi 게이트웨이가 DHCP를 통해 새로운 IP를 요청하도록 트리거됩니다.
  6. ARP 수정: UniFi의 ARP 구현 문제로 인해 OpenWrt에 정적 ARP 엔트리(ip neigh replace)를 추가하여 안정적인 통신을 보장합니다.

이 방법을 사용하여 ArcBox Labs는 5000 Mbps를 초과하는 PPPoE 처리량을 달성했다고 보고했습니다.

커뮤니티 인사이트 및 반론

이 구현에 대한 기술 논의에서는 여러 가지 논란점과 대체 관점이 강조되었습니다:

하드웨어 대 프로토콜 오버헤드

일부 사용자는 성능 저하가 PPPoE 자체의 inherent한 결함이 아니라 순수한 하드웨어 격차라고 주장합니다. 한 사용자는 다음과 같이 언급했습니다:

UCG Fiber 수치는 이것이 SoC 가속 격차이지 PPPoE 오버헤드 문제가 아님을 보여줍니다. Half-bridge는 Ubiquiti가 출하한 하드웨어를 위한 우회책입니다.

ISP 보편성과 정확성

PPPoE의 현재 보편성에 대해 상당한 논쟁이 있습니다. 저자는 AT&T Fiber와 Xfinity와 같은 주요 미국 제공업체에서 여전히 널리 사용된다고 주장하지만, 커뮤니티 구성원들은 Xfinity(DOCSIS)와 AT&T Fiber(XGSPON)가 데이터 링크 계층에서 PPPoE를 사용하지 않으며 이러한 주장을 수정했습니다.

대체 솔루션

일부 사용자는 이미 PPPoE 세션을 처리할 수 있는 성능 좋은 OpenWrt 박스를 배포하고 있다면 UniFi 게이트웨이를 완전히 교체하는 것이 더 효율적일 수 있다고 제안했습니다. 다른 사용자는 특정 제공업체(예: Bell Canada)에서 전체 속도 PPPoE를 달성하기 위해 WAS-110과 같은 특정 하드웨어를 사용할 수 있다고 언급했습니다.

Sources