怎麼保證和按優先級管理流量?

隊列樹通常的應用,是用來限定特殊用戶,協議和端口等等。
在下邊的例子裏將介紹:
  怎樣保證某一服務的帶寬和使用空閒帶寬
  怎樣優化一個服務(POP3)在其它的服務中(HTTP 、 FTP)
看我們如何共享流量的 ( 192.168.0.0/24是僞裝地址):


1. 首先,我們用 mangle 標記 HTTP, FTP 和 POP3 的下載數據流. 在 192.168.0.0/24裏, 我們需要用mark-connection參數標記外出的連接

/ip firewall mangle
add in-interface=Local dst-address=:80 protocol=tcp action=passthrough \
    mark-connection=http-con comment="" disabled=no
add in-interface=Local dst-address=:110 protocol=tcp action=passthrough \
    mark-connection=pop3-con comment="" disabled=no
add in-interface=Local dst-address=:21 protocol=tcp action=passthrough \
    mark-connection=ftp-con comment="" disabled=no


接着才能用 flow mark標記下載的數據流

/ip firewall mangle
add protocol=tcp connection=http-con action=passthrough mark-flow=HTTP \
    comment="" disabled=no
add protocol=tcp connection=pop3-con action=passthrough mark-flow=POP3 \
    comment="" disabled=no
add protocol=tcp connection=ftp-con action=passthrough mark-flow=FTP \
    comment="" disabled=no


2. 然後當我們有了用flow-mark 標記的數據包,我們就可以用它來構建一個隊列樹

添加一個隊列保證有全部帶寬(512kbps)的80% ,就是409.6kbps ,給HTTP服務。如果其它服務空閒時可以使用全部的帶寬:
/queue tree
add name="http-queue" parent=Local flow=HTTP limit-at=409600 max-limit=512000


添加一個隊列給FTP保證有15% (76,8kbps):
/queue tree
add name="ftp-queue" parent=Local flow=FTP limit-at=76800 max-limit=512000


現在添加一個隊列保證全部帶寬5% (25,6kbps)給POP3 服務使用. 設置這個服務的優先級爲優先級7. 這意味着這條隊列比其它之前的隊列有着更高的優先級(默認的優先級是8) 所以他能在http-queue 和ftp-queue 之前處理:
/queue tree
add name="pop3-queue" parent=Local flow=POP3 limit-at=25600 max-limit=512000 priority=7

POP3數據流因爲更高的優先級,所以他能夠搶先處理,比其他服務有更小的延遲通過路由。
使用 limit-at 和 max-limit參數,你能控制給服務允許的最小和最大的帶寬。首先,limit-at是能夠達到的速率,然後如果有更多的能用帶寬,他將使用這些帶寬(上邊例子裏是512kbps)
注意:對於正確設置的隊列樹所有limit-at的值得總和應該小於或低於總的帶寬。這裏是25,6kbps + 76,8kbps + 409,6kbps = 512kbps.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章