newsence

OpenBSD:PF 佇列突破 4 Gbps 限制

Hacker News·17 天前

OpenBSD 更新了內核中 HFSC 調度器的頻寬欄位,將其從 32 位元擴展至 64 位元整數,徹底移除了以往超過 4 Gbps 會導致數值溢位與調度異常的瓶頸,讓 PF 佇列能正確支援現代高速網路介面。

背景

OpenBSD 的 PF 封包過濾器長期以來透過 HFSC 調度器支援流量整形功能,然而其內部結構一直存在 32 位元整數的限制,導致頻寬設定上限被鎖定在約 4.29 Gbps。隨著 10G、25G 甚至 100G 網路介面普及,加上 OpenBSD 核心在對稱多處理(SMP)與硬體驅動程式上的進展,這項限制已成為瓶頸。開發者近期發布補丁將頻寬欄位擴展至 64 位元,正式移除這道技術門檻。

社群觀點

針對這次更新,Hacker News 社群展開了熱烈的技術討論,焦點集中在「999G」這個新上限是否足以應對未來需求。部分用戶引用比爾蓋茲關於 640K 記憶體的名言,諷刺「這對未來絕對足夠」的說法往往經不起時間考驗。技術愛好者進一步指出,IEEE 802.3dj 標準已經在制定 1.6 Tbps 的規範,且市面上已出現 800G 的網路卡,若透過鏈路聚合技術,頻寬輕易就能突破 1 Tbps。對於補丁中提到的 999G 限制,有網友分析原始碼後發現,這並非隨意設定的數字,而是為了避免在 HFSC 內部運算中發生溢位而設定的驗證上限。

除了頻寬數值的討論,社群也對 OpenBSD 在高效能環境下的實用性提出質疑。有觀點認為,當網路速度達到 10G 以上時,通常不會再透過軟體進行流量整形或封包過濾,因為軟體處理的速度難以跟上硬體線速。然而,支持者反駁指出,現代技術如 VPP(向量封包處理)已經證明單一 IPv4 路由器可以達到 1 Tbps 以上的效能,且 Unix 系統仍常被用於管理介面與卸載編程。

此外,討論也觸及了 OpenBSD 與 FreeBSD 在資料中心應用上的差距。部分留言者指出,OpenBSD 過去對效能的重視程度不如安全性,且在光纖驅動程式與數位光學監控(DOM)的支援上長期落後於 FreeBSD,這使得 OpenBSD 在高階網路設備市場的市佔率受限。儘管如此,社群普遍認可 OpenBSD 近年來在 SMP 鎖定優化與 BGP 路由表處理效能上的顯著進步。也有人提出另一種思考:當頻寬達到 10G 以上時,流量整形的重要性可能隨之降低,因為網路擁塞導致的延遲問題在極高頻寬下已不再像過去撥接或非對稱 DSL 時代那樣致命。

延伸閱讀

在討論過程中,網友提到了數個與高效能網路處理相關的技術資源。包括 FD.io 的 VPP(Vector Packet Processing)專案,該技術能實現 Tbps 等級的路由轉發;另外也提及了 Cumulus Networks 在開放網路交換機上的應用。對於想了解乙太網路演進史的讀者,留言中也推薦參考維基百科關於 Terabit Ethernet 與 OSI 模型的相關章節,以理解硬體標準如何影響軟體架構的設計。

https://undeadly.org/cgi?action=article%3Bsid%3D20260319125859