你我什么时候
有过自由

解决三大运营商QOS原理叙述以及应对方案

看到过很多分析Qos的文章,有伪造为tcp数据包什么的,
看似很高深,好像并没有什么用。

在一般的运营商Qos里面,只有两种策略。
1:惩罚式(比如联通,可以使用iperf3 发起上行测试,如果超过一个值,然后这个tcp连接就变得非常慢,只有几k/s,解决办法,只能断开重连。
2:限速式,电信非也,电信限制了单连接的最大上行带宽,大多家宽上行单连接都在15-20Mbps,所以导致电信宽带比较稳定,联通惩罚,体验很差,所以稳定性联通大不如电信,但是联通突发速度快。

不管是电信,还是联通,其实上行,下行qos的判断条件是一样的,基本都是突发快,然后就慢了,

比如:

kcptunclient:192.168.1.2:3321 ->>-kcptunserver:8.8.8.8:80

这是连接方式,本地会有一个端口,对应远程服务端端口,本地端口一般是随机的,

解决Qos就两种方式,
1:每个并发限速,限制最大速度,这样可以使用iperf3去测试当时qos最大值,略小,尽量不要超过惩罚值,
2:设置每个连接的时效。
比如vpngate里面有一种模式,就可以设置多并发,并且多连接。
但是释放本地端口,重新建立连接怎么会话平滑转移,我就不得而知了,
我记得quic是支持会话平滑转移的。

这种现象很明显,比如你刚开始测试kcptun开启的一段时间,速度是挺快,但是挂久了,就变得非常慢,这时候,只需要释放掉隧道,重新发起新隧道即可,这样本地的

kcptunclient:192.168.1.2:3322  ->>-kcptunserver:8.8.8.8:80
kcptunclient:192.168.1.2:3323  ->>-kcptunserver:8.8.8.8:80
kcptunclient:192.168.1.2:3324  ->>-kcptunserver:8.8.8.8:80

一直在变化,运营商Qos那边是有时效期的。

当然;最好的办法是:
1:限速,针对每个隧道限制最大带宽
2:多并发,
3:设置每个隧道的时效,超过时效释放,重新发起新隧道

还有一种情况,我测udp打洞的时候,复现的,
比如阿里云来说

本地 192.168.2.22:8889–>>—阿里云 47.221.22.22:80

udp发送数据,连续发送几个udp数据包,如果阿里云那边没有返回数据,那么本地怎么发数据,阿里云那边也收不到,
这就是我看到一些人有讲必须重启进程才能连上的原因,
如果网络抖动的时候,过多单边发送udp数据,会被视为攻击行为,会被屏蔽
这时候,就要释放掉本地的端口,重新建立新的连接,即可,这就是重启进程就恢复的根本原因。

以上3点如果做到,基本就有本质的改变了。

Qos的条件非常简单,
在互联网中qos除了特别的策略,
只有四个条件,
源ip,源port,目标ip,目标port
而且还有时效性,
只要这四个条件一直变,就可以完全避开Qos策略。

赞(1)

评论 2

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    前排

    emmm7个月前 (05-07)回复
  2. #2

    滑稽!!!!

    emmm7个月前 (05-11)回复

分享下

点击登机网盘