您的位置:首页 > 理论基础 > 计算机网络

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

2014-05-09 18:44 295 查看

这里所说的流量控制策略,适用于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)单次发送块大小>带宽控制大小
如果每次传输的块大小是实时计算(不固定)的,则对流量控制策略比较有利,不会出现这种情况,推荐使用这种方式,优点是灵活、可控、可扩展。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: