https://zh.wikipedia.org/zh-tw/%E7%BC%93%E5%86%B2%E8%86%A8%E8%83%80
再來,請了解甚麼是fq_codel↓
https://www.jianshu.com/p/3b2e701f61ea
測試bufferbloat↓
https://www.waveform.com/tools/bufferbloat
或是利用speedtest.net看上傳/下載滿載時的ping↓
https://www.speedtest.net
這邊給大家一個不用關閉fasttrack,不用mangle標記封包,並同時使用queue tree的方法,
那就是queue parent必須指定在"interface"上(e.g. ether1~5, pppoe_out, bridge...),
然後packet mark要指定為"no-mark" (因為開啟fasttrack就無法用mangle標記封包)。
這是RouterOS唯一可以同時使用fasttrack和queue tree的方法。
https://wiki.mikrotik.com/wiki/Manual:IP/Fasttrack
不管光世代是浮動IP、假固定IP,多數光世代用戶都是用PPPoE Client的方式撥接上網,所以通常WAN都是插在"ether1",而LAN區域網路是設在虛擬的"bridge"上。
先去queue type手動新增一個fq_codel,其餘參數保持預設即可。
![[Mikrotik] 利用RouterOS v7.5的fq_codel緩解光世代的緩衝膨脹](https://attach.mobile01.com/attach/202209/mobile01-835ea43b5c5228ae21ca826263aa3cee.jpg)
再到queue tree新增兩條規則,
一條控制上傳,parent=ether1,並設定fq_codel、no-mark和你申請的光世代上傳頻寬(e.g. 40M,100M,250M...)。
![[Mikrotik] 利用RouterOS v7.5的fq_codel緩解光世代的緩衝膨脹](https://attach.mobile01.com/attach/202209/mobile01-3ec6fb5761e5bfec689b20099e494b61.jpg)
另一條控制下載,parent=bridge,並一樣設定fq_codel、no-mark和下載頻寬(e.g. 100M, 300M, 500M...)。
![[Mikrotik] 利用RouterOS v7.5的fq_codel緩解光世代的緩衝膨脹](https://attach.mobile01.com/attach/202209/mobile01-da4d7290d10f70b55bf21b748f5b75c9.jpg)
這樣就完成了,可以再回去測試bufferbloat看看。
![[Mikrotik] 利用RouterOS v7.5的fq_codel緩解光世代的緩衝膨脹](https://attach.mobile01.com/attach/202209/mobile01-1c2703a4d54fa63ddedd926218a986c7.jpg)
緩衝膨脹只發生在頻寬滿載時(不管是用戶端還是來自ISP端),
並且bufferbloat會發生在光世代線路經過的任一設備上,
所以使用fq_codel目的是"緩解"客戶端吃滿頻寬時的卡頓,
盡量在公平、不丟包下維持整體的低延遲,
(e.g. 有人在區網掛BT、看Netflix,而你玩遊戲不想lag爆ping),
所以這並不能解決來自中華電信那端造成的不穩定。
設備較好的(e.g. RB4011, RB5009),可以玩玩看cake,
因為cake更細緻但較吃資源。
一般入門設備的(e.g. ac2, ac3, RB450Gx4...IPQ-4018/4019),
建議保留Fasttrack並使用fq_codel,避免CPU被吃滿。
附記:
這兩天剛升級RouterOS v7.5 stable,
發現光世代附的白圓盤WE410443-TC WIFI5 4T4R可以正常取得DHCP,
目前已經可以正常使用了,也可利用win10 CMD內建的ssh把2.4G SSID和5G SSID拆開,
ssh方法請自行google,中華電信死都不肯更新韌體解決。
=============================================================
(注意!!) 還有不要把頻寬設定為測速出來的最大頻寬,
正確應該是設定頻寬的90%~95%(合約是500M,測速通常會多5%=525M),
但中華電信的QOS在尖峰時段(e.g. 9pm~12am)有時會偷吃掉那5%甚至10%頻寬,
這樣fq_codel就會失效了。
附上犧牲Fasttrack使用simple queue+fq_codel的方法
文末有提示:"但要注意滿負載時的 CPU 使用率。 FQ-CoDel 可能會佔用大量資源"↓
https://scoop.co.za/blog/set-up-simple-queues-with-fq-codel-and-mikrotik-routerosv7