BCM 11AC开启脱机下载,实现智能上网的方法

1、背景

BCM 11AC AP加入了脱机下载功能,为了不影响用户上网的体验,同时又兼顾了下载的性能,有必要在开启脱机下载时,对下载的速度进行限制,从而实现智能上网。

 

2、方案

方案一:限速但不停止下载

通过一段时间里的下载峰值来判断用户当前带宽,根据带宽来确定限速的大小。比如当判断用户的带宽为1M时,每个任务的下载的最大速度设为10k,3个任务最高可达到30k。

 

方案二:忙时停止下载,闲时恢复下载

每隔一段时间检测一次,当有用户浏览网页时,停止下载;当没有用户浏览网页时恢复下载。

经过探讨,决定采用方案一。这样既不会影响用户的体验,又不影响下载的性能。

 

3、实现

智能上网主要是为了保证在开启脱机下载时,不影响用户的上网体验:忙时进行相应的限速,闲时恢复全速下载。实现智能上网主要有如下三点:

1)带宽的估算

估算带宽是要确定将速度大小限制为多少。

带宽的估算是通过脱机下载所能达到的最高速度来实现的,也就是说这里的带宽就是下载速度的峰值。峰值的获取是每5分钟读取当前所有下载任务的速度,并累加所得到的速度,速度之和就是峰值。由于下载速度波动较大,所以在更新峰值前,会判断当前峰值和上一峰值之差的绝对值是不是大于等于125(KB/S),也即相差1M的带宽,只有满足这个条件才会,更新峰值。

起初峰值默认为500KB/S,即默认用户的带宽为4M。

2)忙与闲的判断

忙与闲是通过统计WAN到LAN数据包的多少来判断的。每两分钟统计一次

数据包统计方法如下:

A、读取vlan1 的RX,这个数据代表所有有线WAN到LAN的数据包,但不包含走加速的数据包;

B、读取eth1、eth2的RX,这两个数据代表所有无线WAN到LAN的数据包,但不包含走加速的数据包;

C、计算加速表中所有条目的数据包,但要排除AP直接与外网交互的数据包,即非转发的数据包。这里是要排除含有AP WAN口地址的条目。

公式为:

两分钟内收到的数据包= 这次所有统计接口收到的数据包- 上次所有统计接口收到的数据包+ 目前加速器加速表中的数据包。

 

限速的等级如下:

将两分钟内的收到的包数目和速度的对应关系修改为:
  

Packets:两分钟内收到的数据包
  

Limit_speed:限速
  

A、Packets >= 30000, Limit_speed=1/6
  

B、Packets >= 10000, Limit_speed=1/4
  

C、Packets >= 5000, Limit_speed=1/3
  

D、Packets >= 600, Limit_speed=2/3

3)限速的实现

transmission、wget的限速可以在开始任务时,加入限速的参数实现。这样要更改下载的速度时,只能先停止当前的任务,然后加入限速的速率重新启动任务。

 

流程图如下


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值