运营商宽带限速算法的一个疑问 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fengchen0vr
V2EX    宽带症候群

运营商宽带限速算法的一个疑问

  •  
  •   fengchen0vr 2022-03-08 13:12:43 +08:00 5098 次点击
    这是一个创建于 1393 天前的主题,其中的信息可能已经有所发展或是发生改变。

    假设上传总带宽 40Mbps

    一个连接上传占满了上传带宽,

    若再加一个连接上传,他们两个上传速度看起来不是平分的,那么是怎么分的呢

    26 条回复    2024-06-20 19:52:49 +08:00
    noe132
        1
    noe132  
       2022-03-08 13:16:05 +08:00   3
    他上传了 50Mbps

    想办法分
    直接随机丢掉 10Mbps
    imdong
        2
    imdong  
       2022-03-08 13:18:30 +08:00 via iPhone
    是在说 QoS 吧?
    wanguorui123
        3
    wanguorui123  
       2022-03-08 13:22:05 +08:00
    每个数据包都可以限制转发速度
    fengchen0vr
        4
    fengchen0vr  
    OP
       2022-03-08 13:26:30 +08:00
    @wanguorui123 两个连接都是从内网 HTTP 服务器上传,但是上传速度相差很大
    fengchen0vr
        5
    fengchen0vr  
    OP
       2022-03-08 13:29:17 +08:00
    @noe132 如果是随机的话,在相同环境,两个连接也应该接近平分吧
    fengchen0vr
        6
    fengchen0vr  
    OP
       2022-03-08 13:31:06 +08:00
    @imdong 算是默认配置下的 qos 规则吧
    FabricPath
        7
    FabricPath  
       2022-03-08 13:32:04 +08:00
    和连接无关,不是基于连接的限速,速度怎么分是你本地的 tcp 拥塞控制算法计算的发包速度和丢包重传速度
    wy315700
        8
    wy315700  
       2022-03-08 13:37:30 +08:00   2
    当发生丢包的时候 TCP 会自动降低发包速率
    wanguorui123
        9
    wanguorui123  
       2022-03-08 13:46:45 +08:00
    @fengchen0vr 那就是 Qos
    wanguorui123
        10
    wanguorui123  
       2022-03-08 13:48:00 +08:00
    @fengchen0vr 一般路由器会根据包转发率算出带宽上限,然后随机丢包,控制流量
    fengchen0vr
        11
    fengchen0vr  
    OP
       2022-03-08 13:51:30 +08:00
    @wanguorui123 现在我在路由器上对服务器 ip 做上传带宽限制,小于运营商的最大上传带宽,
    这样多个连接能平分带宽
    fisherwei
        12
    fisherwei  
       2022-03-08 17:19:45 +08:00
    @fengchen0vr 两个连接谁快谁慢是 4-7 层决定的,可能是 tcp 、可能是应用层的应用内部。

    运营商网络限速通常做在 3 层,就是按源地址(针对上传)/目的地址(针对下载)进行流控。
    jfdnet
        13
    jfdnet  
       2022-03-08 17:22:31 +08:00
    运营商不用分吧,运营商只给了你一个端口而已。这个端口后面你家里的设备们会自己协商的。
    zhs227
        14
    zhs227  
       2022-03-08 18:04:36 +08:00
    如果都是默认规则的话就是 tcp 公平,自己搜一下,或者是英文 tcp fairness 。在带宽被占满的清况下,任何一个新加入的 tcp 连接想要分掉速率,都会对已有的 tcp 产生影响。tcp 之间通过各自的收敛机制来分配带宽。
    所谓的公平,不是平均分配,与很多因素都有关系
    zhujinliang
        15
    zhujinliang  
       2022-03-08 18:19:41 +08:00 via iPhone
    超过设定最大流量,再发到路由器的包就会被路由器缓存,路由器等到有空闲流量了,才能逐渐清空缓存区,缓存区满了,再来包就只能丢掉了
    tcp 默认路由可能会丢包,于是搞了些窗口大小、往来延迟之类的探测,
    zhujinliang
        16
    zhujinliang  
       2022-03-08 18:21:38 +08:00 via iPhone
    保证尽可能利用带宽,而不造成大量丢包
    最终表现出来速度大小,就是各种随机事件使得 tcp 认为当前带宽有多大,我应该以什么速率发包
    imn1
        17
    imn1  
       2022-03-08 18:40:33 +08:00
    无限制是平分的,看起来不是平分,那跟网络环境有关,例如我家百度网盘和迅雷就不是同速

    主动限制也是极可能的,但算法也不能可告诉你,说小了是商业机密,说大了是国家机密
    例如去年俄罗斯就要求一些 SNS 软件去除违法信息,在此之前对这些软件的网络流量限速,这不用说了吧,很明显是可限的,且不会告诉你怎么限
    fengchen0vr
        18
    fengchen0vr  
    OP
       2022-03-08 22:06:00 +08:00
    @zhujinliang 看来是路由器的锅了,两个连接完全相同的环境,没有指定出口带宽时速度相差较大
    路由器指定出口带宽时,无论几个连接,或者后续加入的连接,都能平分带宽
    wuvvu
        19
    wuvvu  
       2022-03-08 22:12:51 +08:00
    @fengchen0vr 这个是路由器自己的 qos 吧
    cwbsw
        20
    cwbsw  
       2022-03-08 22:15:59 +08:00
    运营商的限速算法非常简单粗暴的,这也是为什么即使在路由器上简单的开一个 CAKE 算法也很有用的原因。
    microka
        21
    microka  
       2022-03-08 22:25:55 +08:00 via iPhone
    这明显是你本地用户端处理的事,运营商哪管得了这么细,就好比上游给你家开的自来水通量就这么大,至于你家里面怎么分那是你自个儿的事了。
    Jooooooooo
        22
    Jooooooooo  
       2022-03-08 22:34:09 +08:00
    不用想特别复杂的算法追求公平, 这没有公平可言...肯定是那种特别简单的方案. 比如定期看看你用了多少流量, 超过了就直接卡住.
    datocp
        23
    datocp  
       2022-03-09 06:07:31 +08:00 via Android
    首先运营商肯定是有对部分进行 qos 的,比如英雄联盟,当时在玩优酷挖矿时,玩英雄联盟根本不卡。

    对于用户来说能控制的正确方向就是 pppoe-wan 接口的上行接口,这个位置同样能将标记带到下行流量。还有些人会在交换机上做限速,限速和 qos 不是一个概念。
    从平时的经验来看 pfifo 包先进先出队列
    流量的抢夺通常和并发数有关,像迅雷,通常网页是抢不过高并发下载。决定带宽的有合同上的流量,还有看不见的并发,这些都会导致超限掉包,引发网络掉速。
    网上一直流行一个广泛传播的谬论,那就是认为设定上行带宽为总带宽的 80%可以达到比较好的延迟。实际上在玩 htb/htfs 时,对于这个流量分组来说仍然是 100%的占用导致各种延迟问题。

    如果没有 qos 的存在,我认为这个分法是随机的,很大因素会取决于并发数。当然也可能运营商也有 qos 决定。
    自己在路由器设定 qos,则可以根据目的 ip+端口决定这些流量能跑多快就跑多快,限制的死死的。linux 的 tc 说是只能限制 tcp,难道我眼花不确定对 udp 是否有效。
    Qos 还是相当有用的,它会改变先进先出为有优先级的 tcp 80 先于其它 p2p 。根据 tcp 的握手过程同样带来更早的下载流量。将流量进行不同的流量分组,在光纤可以做到使用 95%的总带宽,可以让游戏达到 19ms,其它流量高达 600ms 。
    fvladlpa
        24
    fvladlpa  
       2022-03-09 08:35:55 +08:00
    看你的数据包是 UDP 还是 TCP 。如果是 UDP 的,不做 QOS 的话,话会把 TCP 的带宽全部抢走
    spacezip
        25
    spacezip  
       2022-03-09 16:02:26 +08:00
    速度取决于自己的设备和资源
    一些 bras 上行满会影响一点下行 反之也是
    james19820515
        26
    james19820515  
       2024-06-20 19:52:49 +08:00
    有结论了吗?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1208 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 17:42 PVG 01:42 LAX 09:42 JFK 12:42
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86