Linux

TC(Linux Qos Utility)可以限制目標應用程序的頻寬使用嗎?

  • August 15, 2013

我們有許多應用程序在伺服器網路內的同一台伺服器機器上執行。我們希望將應用程序的頻寬限制為特定值。所以這裡有一些選擇:

  suppose we have three apps: A, B, and C.
  1) Use Linux (kernel 2.6) QoS Utilities to limit the bandwidth of
     these three applications.            
  2) Develop our own application to limit the bandwidth.

當然首選第一個,但我們需要知道Linux提供的qos實用程序是否可以滿足我們的要求。首先要檢查的是,像 TC 這樣的 Qos 工具是否提供了任何方法來限制多個應用程序的頻寬(指定應用程序名稱或其他)?

您可以使用u32取自此頁面的以下範例中指定的選擇器。我在這裡只顯示感興趣的線。

match u32 00000016 0000ffff at nexthdr+0

此範例匹配目標埠的值 0x16(從 TCP 標頭開始的第三個和第四個字節)。

這只是一個範例,以了解如何根據目標埠進行操作。

是的,linux/tc 可以滿足您的需求,tc 允許您設置過濾器以匹配廣泛的流量,您還可以使用 iptables 標記數據包並匹配這些標記。如果您嘗試為特定應用程序匹配任何網路流量,這會變得更加困難。我建議以專用使用者身份執行該過程並使用 iptables 所有者匹配來標記這些數據包以獲得 QoS,然後可以在這些標記上使用 tc。

引用自:https://serverfault.com/questions/531185