Linux
TC(Linux Qos Utility)可以限制目標應用程序的頻寬使用嗎?
我們有許多應用程序在伺服器網路內的同一台伺服器機器上執行。我們希望將應用程序的頻寬限制為特定值。所以這裡有一些選擇:
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。