我目前有以下情况:
我在一个相当不稳定的networking连接上使用VPN(OpenVPN)。 这意味着最大带宽在100kbs和1mbit之间变化。 每当连接相当不稳定,stream量很大时,会造成很多丢包,一切都变得非常缓慢。 为了防止这种情况,我需要一些机制来控制基于数据包丢失/延迟的最大带宽,以达到数据包大量丢弃的阈值。 我正在考虑将一个icmp(ping)控制通道连接到vpn服务器,这个通道使用某种脚本进行连续分析,如果ping不好或丢包,最大带宽将通过设置一个新的最大带宽来调整tc(用于QoS)。
我的问题是:1.这可以使用tc完成吗? 2.有没有工具,已经做了,我想要什么?
在此先感谢和最好的问候!
我想你想find一种方法来形成你的stream量封装发生之前,在一个虚拟机与桥接以太网例如。 您的计算机形成并路由到您的虚拟机,您的虚拟机进行封装。
而且,由于您无法修复费率,因此您应该使用tc来使用prio调度程序。 由于TCP具有拥塞避免机制,并且UDP没有(QUIC除外),因此将UDP和TCP放置在不同的qdisc中。 你的问题可能是在TCPstream量降低率,而UDPstream量不是。
此外,在这种情况下,如果您不知道线路速率,应优先考虑UDP qdisc上的TCP qdisc,但有一个例外:低速率高优先级UDPstream(DNS,NTP)应具有最高优先级。