使用 CBQ 进行 pfSense 流量整形

网络工程 感知
2022-02-15 17:46:44

我是网络新手,但我做了一些研究,但我无法确定问题的根源。

我想按港口、目的地或我决定的任何其他因素优先考虑游戏流量。

我将 pfSense 盒配置为按目的地对游戏流量进行优先级排序,使用 LAN 接口上的规则将游戏流量放入第 5 层的 qGame 队列中。

然后,我尝试玩,一切正常。然后我打开了一些 YouTube 视频,游戏并没有滞后,但是当我在网络上打开另外 25 台计算机时,游戏开始滞后。

游戏流量流向 qGame 队列,我观察到它是小流量,正如我所料,任何其他流量都流向 qLink 和 qDefault 流量队列。

于是,我又做了一个实验。我将一台带有 torrent 下载的 PC 放在网络上,并将其 IP 地址放入 LAN 规则中,以将其流量发送到 qp2p 队列。torrent PC 流量确实流向优先级为 1 的 qp2p 流量队列,以及优先级为 3 的 qDefault 队列。使用未指定的流量,我启动了一个 YouTube 视频,并 ping 了一个 DNS 服务器以查看延迟. ping 是正常的 200-400 毫秒,带有 YouTube 视频和低洪流流量。一分钟后,ping 变高了,视频停止了,我开始失去 ping 流量。

进入优先级为 1 的 qp2p 队列的 Torrent 流量比优先级为 3 的 qDefault 占用更多带宽。

我停止了 torrent PC 以使用 Internet 和其他原因。

pfTop: Up Queue 1-16/16, View: queue
QUEUE               BW SCH  PR  PKTS BYTES DROP_P DROP_B QLEN BORR SUSP P/S            B/S
root_em0         1000K cbq   0  9784  953K      0      0    0    0    0         
qInternet       1000K cbq         0     0      0      0    0    0    0         
qACK            190K cbq   6     0     0      0      0    0    0    0         
qDefault       90000 cbq   3  9784  953K      0      0    0 3997    0         
qP2P           40000 cbq         0     0      0      0    0    0    0         
qGames          190K cbq   5     0     0      0      0    0    0    0         
qOthersHigh    90000 cbq   4     0     0      0      0    0    0    0         
qOthersLow     50000 cbq   2     0     0      0      0    0    0    0         
root_em1          100M cbq   0 18568   21M      0      0    0    0    0         
qLink             20M cbq   2 18568   21M      0      0    0  703    0         
qInternet       4096K cbq         0     0      0      0    0    0    0         
qACK            778K cbq   6     0     0      0      0    0    0    0         
qP2P            163K cbq         0     0      0      0    0    0    0         
qGames          778K cbq   5     0     0      0      0    0    0    0         
qOthersHigh     368K cbq   4     0     0      0      0    0    0    0         
qOthersLow      204K cbq   3     0     0      0      0    0    0    0   

为什么低优先级队列比高优先级队列占用更多带宽?借用选项是否会覆盖 CBQ 调度程序的优先级?

有没有办法让 qP2P 队列只接收额外的流量而不会导致 qDefault 队列流量滞后?

1个回答

路由器只能控制只能上网的流量,不能控制收入流量

路由器只有在其 tcp 数据包的情况下才能控制收入流量。tcp 流量有拥塞控制。所以接收方可以控制他想从发送方获得多少流量

有本地路由器无法控制的 udp 数据包,它需要一个 isp 路由器,因此 isp 路由器可以从互联网上获取所有收入流量,并决定哪些数据包需要传送,哪些数据包应该延迟或丢弃