网络调度程序对无状态报告带宽分配无效

网络调度程序对无状态报告带宽分配无效

我最近了解了 sqm、bufferbloat 和网络调度程序等概念,或者排队学科,如 cake、fq_codel 等。

# tc -d qdisc

qdisc noqueue 0: dev lo root refcnt 2
qdisc mq 0: dev eth0 root
qdisc fq_codel 0: dev eth0 parent :1 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 4Mb ecn
qdisc mq 0: dev eth1 root
qdisc fq_codel 0: dev eth1 parent :1 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 4Mb ecn
qdisc noqueue 0: dev eth0.11 root refcnt 2
qdisc ingress ffff: dev eth0.11 parent ffff:fff1 ----------------
qdisc noqueue 0: dev wlan1 root refcnt 2
qdisc noqueue 0: dev wlan0 root refcnt 2
qdisc noqueue 0: dev br-lan root refcnt 2
qdisc noqueue 0: dev eth1.1 root refcnt 2
qdisc cake 8063: dev ifb4eth0.11 root refcnt 2 bandwidth 214Mbit besteffort triple-isolate nonat wash no-ack-filter split-gso rtt 100.0ms raw overhead 0

我发现我的 ISP 在 GPON 光纤上使用非状态报告动态带宽分配,并且我怀疑这会在为通过 WAN 端口连接到 ONT 的路由器上的 qdisc 指定上行/上传带宽速率时导致问题。

因为速率会大幅下降,而且负载下的延迟比无限速率更糟糕。我认为这是因为 ONT(我的 ISP 调制解调器)流量监控由 OLT 控制,然后速率会随着使用而增加。我尝试过非常低的速率,比如 200mbps 订购中的 70-90mbps,也尝试过 300mbps(开销很大),结果与无限制类似,但负载下的延迟明显恶化 - 我认为这是因为速率不是“固定的”

ISP 的设置对我来说似乎很不寻常,因为这似乎不是人们对调度程序的常见问题,我猜这种设置会跟随我使用任何提供商 - 因为如果有任何设备,只有我的 ONT 调制解调器会被更换。如果我本质上无法控制队列,那么在负载下我无法做太多事情来改善稳定性和延迟,对吗?

难道不能在像这样的非状态报告带宽分配网络上使用具有速率限制上行的调度程序吗?

相关内容