使用 PPPoE Half-Bridge 解決 UniFi Gateway 的 PPPoE 效能瓶頸
UniFi gateway 經常在 PPPoE 連線上遇到嚴重的吞吐量下降,因為其 CPU 缺乏對 PPPoE 和 NAT 的硬體加速。透過將 PPPoE 撥號程序卸載到一個獨立的 OpenWrt 設備上——這種技術稱為 PPPoE Half-Bridge——使用者可以透過經由 DHCP 提供公網 IPv4 地址,而不是要求 gateway 處理 PPPoE 會話本身,從而讓 UniFi gateway 恢復全速線路速度。
UniFi PPPoE 效能問題的根本原因
大多數 UniFi gateway,包括 UDM Pro、UDM SE、UDM Pro Max、UXG Pro 和 EFG,都使用不支援 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: 可以超過 5000 Mbps,因為它使用 MediaTek Filogic 880 SoC,其中包含原生的 PPPoE 硬體加速。
PPPoE Half-Bridge 加速如何運作
PPPoE Half-Bridge(也稱為 Zero IP Bridge)將計算密集型的 PPPoE 撥號和會話管理任務移至專用的卸載設備。與其讓 UniFi gateway 撥號 ISP,不如讓卸載設備處理 PPPoE 會話,獲取公網 IPv4 地址,然後透過本地 DHCP 伺服器將該地址「遞交」給 UniFi gateway。
在此架構中,卸載設備本身並不持有公網 IP;它僅作為 IP 地址的透明傳輸通道。UniFi gateway 透過 DHCP 接收公網 IPv4,使其能夠將其 CPU 資源集中在路由、NAT 和 IDS/IPS 上,而無需承受 PPPoE 封裝的開銷。
雖然某些 ISP 提供的 ONT/ONU 設備透過「Advanced DMZ」或「IP Passthrough」等功能提供類似的功能,但許多設備並不支援,因此需要自定義實作。
使用 OpenWrt 實作該方案
ArcBox Labs 實作了此方案,使用的是 OpenWrt 和 Banana Pi BPI-R4 Pro。該實作依賴 hotplug.d 機制來在每次建立 PPPoE 會話時自動化橋接配置。
技術工作流程
該程序由兩個主要文件:99-half-bridge(觸發器)和 start-half-bridge.sh(邏輯)管理。執行流程如下:
- 防火牆調整: 在 OpenWrt 防火牆的 WAN 端禁用 NAT/MASQUERADE。
- IP 提取: 腳本從 PPPoE 虛擬介面(例如
ppp0)讀取撥號後的公網 IPv4 地址。 - DHCP 配置: 腳本計算公網 IP 的 /24 子網,並配置 OpenWrt DHCP 伺服器,將該特定的公網 IPv4 遞交給下游的 UniFi gateway。
- 基於來源的路由: 實作了策略路由,使得封包僅在與分配給下游路由器的來源 IP 相匹配時,才會透過 PPPoE 虛擬介面發送出去。這使得系統能夠同時支援多個 PPPoE 連線。
- 介面重置: 重啟物理介面以觸發 UniFi gateway 透過 DHCP 請求新 IP。
- ARP Fix: 由於 UniFi 的 ARP 實作問題,在 OpenWrt 上添加了靜態 ARP 條目 (
ip neigh replace) 以確保通訊穩定。
使用這種方法,ArcBox Labs 報告稱突破了 5000 Mbps 的 PPPoE 吞吐量。
社群洞察與反對觀點
關於此實作的技術討論突顯了幾個爭議點和替代觀點:
硬體 vs. 協定開銷
使用者用戶認為效能下降純粹是硬體差距,而非 PPPoE 協定的內在缺陷。正如一位使用者所說:
The UCG Fiber numbers make the case: this is a SoC acceleration gap, not a PPPoE overhead problem. Half-bridge is a workaround for hardware Ubiquiti shipped.
ISP 普及率與準確性
關於目前 PPPoE 的普及率存在顯著爭議。雖然作者聲稱它仍被廣泛使用於 AT&T Fiber 和 Xfinity 等美國主要供應商,但社群成員糾正了這些說法,指出 Xfinity (DOCSIS) 和 AT&T Fiber (XGSPON) 在數據鏈路層並不使用 PPPoE。
替代方案
使用者用戶建議,如果使用者已經部署了功能強大的 OpenWrt 設備來處理 PPPoE 會話,那麼直接替換整個 UniFi gateway 可能會比進行橋接更有效率。其他人則提到使用特定的硬體,例如 WAS-110,以在某些供應商(例如 Bell Canada)下實現全速 PPPoE。