网络传输流量控制策略小结
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)单次发送块大小>带宽控制大小
如果每次传输的块大小是实时计算(不固定)的,则对流量控制策略比较有利,不会出现这种情况,推荐使用这种方式,优点是灵活、可控、可扩展。
这里所说的流量控制策略,适用于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)单次发送块大小>带宽控制大小
如果每次传输的块大小是实时计算(不固定)的,则对流量控制策略比较有利,不会出现这种情况,推荐使用这种方式,优点是灵活、可控、可扩展。
相关文章推荐
- [原]网络传输流量控制策略小结
- 网络传输流量控制策略小结
- 计算机网络教程-传输层(十)传输层提供的服务:进程与进程通信,寻址,差错、流量、拥塞控制。
- TCP可靠传输、流量控制、拥塞控制小结
- 网络执法官.P2P终结者等监控网络流量控制软件的原理和防范
- Cisco公司的CAR流量控制策略
- 【转自Oracle官方技术博客】RAC之间消息传输流量控制
- 在网络传输中图片质量的控制
- 应聘复习基础笔记1:网络编程之TCP与UDP的优缺点,TCP三次握手、四次挥手、传输窗口控制、存在问题
- 自己写远程控制软件之网络传输
- Linux网络流量控制工具—Netem(可用于网络故障注入)
- java网络的流量控制
- 网络资源访问控制(iptables)和常用策略的介绍
- TCP可靠传输的实现[流量控制、拥塞控制]
- 互联网DNS存在重大漏洞 黑客可能控制网络流量
- TCP/IP:拥塞算法与流量控制算法 学习小结
- 传输层-5、网络拥塞原因和TCP拥塞控制
- TCP的流量控制和拥塞控制 (小结)