网络传输流量控制策略小结


    这里所说的流量控制策略,适用于TCP可靠传输协议,可能不适合UDP传输协议。
一般来说,流量控制策略可分为应用层流量控制、传输层流量控制两种。
1、应用层流量控制
    也就是,在应用程序内部开发逻辑实现流量控制,根据带宽控制策略来决定是否进一步发送或接收。
    网络传输时,通过回调机制来动态显示带宽大小。动态显示带宽的时机或指标(固定以秒/毫秒为单位显示速率都会对性能有影响,也肯定不是最优的),根据需要动态显示速率:
    1》时间采样周期(如250毫秒)越细,流量控制越准确,但可能造成传输性能的降低。采样周期适当,能显示带宽变化的连续性,能满足使用者视觉上的需求;
    2》传输百分比采样,百分比发生变化后,才进行显示和处理。
    传输百分比发生变化后,能有带宽的变化;
    3》对传输控制事件的响应,如停止、暂停等
     应用开发中,因带宽限制要进行传输的停顿时,一般要使用sleep或时钟中断(定时器)。相对来说,sleep方法实现起来简单点,时钟中断方式会复杂一些,根据个人情况而定。
    sleep要精确到毫秒,最好不超过50毫秒,避免出现多sleep情况;sleep后,一定要实施校对时间,如果是多sleep了,则需要在下一个时间段内扣除,使得带宽控制平稳;
    另外,一定要注意,流量控制可能仅仅是一个传输可选项,不要因为流量控制的逻辑代码,而导致不需要流量控制时的传输性能的影响
2、传输层控制
    通过对网卡等硬件设备进行流量控制,实现TCP信息流的流量控制。前提时,没有对硬件设备有控制权,并且能区分出流经网络的应用流量

    带宽大小的计算策略:时间段内传输量/所花费时间,以250毫秒为单位,进行衡量。如1M/S,则每250毫秒,应该传输256K大小。如果超过256K,则将250毫秒剩余的时间sleep掉;再接着进行衡量下一个周期,经过几轮后,就会按照250毫秒对齐。

    使用带宽控制策略时,如果单次传输块大小固定,则可能会出现两种的策略对应机制:
    a)单次发送块大小>带宽控制大小
    b)单次发送块大小>带宽控制大小
    如果每次传输的块大小是实时计算(不固定)的,则对流量控制策略比较有利,不会出现这种情况,推荐使用这种方式,优点是灵活、可控、可扩展。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pony12

助力1000篇OpenDDS文

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值