跳轉到內容

IPCop 高階 QoS

25% developed
來自華夏公益教科書,開放的書籍,開放的世界

IPCop 的 QoS 附加元件是流行的 IPCop 防火牆的高階 流量整形 附加元件。由 Markus Hoffmann 維護,作為 GPL/Creative Commons 開源 專案。

目前維護著兩種 QoS 包,使用兩種不同的資料包排程協議:HTB 和 HTSC。

流量整形簡介

[編輯 | 編輯原始碼]

服務質量 (QoS) 是指構成流量整形的所有不同模組。QoS 試圖將所有這些不同的程式和協議整合在一起,以便將時間敏感的網路流量(如 VoIP 和線上遊戲)優先於時間不敏感的資料傳輸(如 P2P 或 FTP 流量)。如果它做得很好,那麼您可以在下載/上傳大檔案的同時進行 VoIP 對話,而不會延遲或出現語音通話中斷。

高階 QoS 附加元件有兩個版本

  • 分層公平服務曲線排程器 (HFSC) – (QoS 2.5 Ipcop 1.4.8)
  • 分層令牌桶排程器 (HTB) – (QoS_NG)
  1. 先決條件
  2. 安裝
  3. 設定類 (對於出站流量)
  4. 設定 ACK
  5. 定義流量
  6. IMQ – 設定入站流量的類和規則
  7. 解除安裝 QoS 附加元件
  8. 詞彙表
  • 限制不需要的/低優先順序流量有兩種方法
    • 使用第 7 層工具建立指向流量型別的規則,或使用特定埠,然後指定此流量允許的最大頻寬。
    • 為允許的流量建立規則,併為它們提供最大頻寬(或已知數量),然後限制預設規則的頻寬,從而限制所有未知流量。
  • 最大根頻寬通常設定為實際頻寬的 90%,以減少本地調變解調器或 ISP 端緩衝資料的影響。問題源於請求的資料可以排隊(大量排隊)以避免資料流中的間隙。雖然這對於大規模的連續傳輸有效,但混合資料傳輸會受到影響,因為它們必須“排隊”等待發送,導致網路響應緩慢。
  • 埠範圍可以輸入為 <埠>[空格]-[空格]<埠>。例如:1000 - 2000
  • IP 範圍可以輸入為 CIDR 表示法地址。例如:192.168.1.0/24
  • 問:在哪裡可以下載 IPCOP 的高階 QoS?
  • 問:QoS 的“最大延遲(毫秒)”到底意味著什麼?
  • 問:QoS_NG 的“Maxbust”和“Ceilmaxburst”到底意味著什麼?
    • 答:Burst : 可以以 ceil 速度突發傳輸的位元組數,超過配置的最大上傳速度。應該至少與所有子類的最高突發量一樣高

Ceilburst: 可以以“無限”速度突發傳輸的位元組數,換句話說,就是介面可以傳輸的速度。為了完美地均衡,應該最多等於一個平均資料包。應該至少與所有子類的最高 cburst 一樣高。這兩個值都可能為空,因為它們將自動計算。

  • 問:QoS(HFSC) 還是 QoS_NG(HTB) 更好?
      • 基於 HFSC 的 QoS 應該更適合 VoIP。分層樹方法旨在共享分支或類和規則之間的頻寬(想象一棵樹,樹幹是全部頻寬,每個分支是佔用樹幹頻寬的類/規則)。
      • 基於 HTB 的 QoS_NG 應該更適合第 7 層(例如 P2P)頻寬控制。HTB 背後的理念是資料像水流一樣流入“桶”。每個桶只能容納一定量的資料。這些桶按優先順序排隊,以接收可用頻寬。

QoS 對稱 128Kbps,OpenVPN 優先

[編輯 | 編輯原始碼]

假設

  • RED 出站是 eth0,入站是 imq0
  • GREEN 是 eth1
  • 客戶端和伺服器位於 GREEN 上
  • VPN 連線訪問 GREEN 內網上的伺服器
  • 客戶端將產生典型的 Web、FTP 等流量
  • VPN 是 RED 上唯一可用的網際網路服務

操作

  • 建立 RED 根類 199(eth0) 和 299(imq0),最大頻寬設定為 115 Kbps
  • 建立類 100,優先順序 1,最小頻寬 50 Kbps,延遲 25ms,最大頻寬 115 Kbps
  • 建立類 101,優先順序 2,最小頻寬 50 Kbps,延遲 50ms,最大頻寬 115 Kbps
  • 建立類 199,優先順序 7,最小頻寬 1 Kbps,延遲 500ms,最大頻寬 100 Kbps
  • 將 ACK 優先順序分配給類 100
  • 建立類 200,優先順序 1,最小頻寬 50 Kbps,延遲 25ms,最大頻寬 115 Kbps
  • 建立類 201,優先順序 2,最小頻寬 50 Kbps,延遲 50ms,最大頻寬 115 Kbps
  • 建立類 299,優先順序 7,最小頻寬 1 Kbps,延遲 500ms,最大頻寬 100 Kbps

此時,所有流量都將在預設類 199 和 299 上以略低的速度傳輸。

為了確保 VPN(特別是 OpenVPN)流量獲得優先順序,應新增以下規則

  • 建立一個規則“OpenVPNOut”,介面 eth0,協議 UDP,標記 101,源埠 1194
  • 建立一個規則“OpenVPNIn”,介面 imq0,協議 UDP,標記 201,源埠 1194

此方案將使 OpenVPN 流量比預設流量具有更高的優先順序,但是由於 ACK 比其他所有流量具有更高的優先順序,因此普通流量仍然可以流動。

檢視圖表應該可以瞭解流量

  • 1:100 將顯示來自 GREEN 客戶端到網際網路連線的 ACK 流量
  • 1:101 將顯示 VPN 出站流量(埠 1194)
  • 1:199 將顯示大量出站流量
  • 2:200 在此配置中將顯示很少,因為該規則未使用
  • 2:201 將顯示 VPN 入站流量(埠 1194)
  • 2:299 將顯示大量入站流量

可以透過新增更多規則來進一步對大量流量進行分類。

華夏公益教科書