UDP流量控制之分析
来源:互联网 发布:电脑文件数据恢复 免费 编辑:程序博客网 时间:2024/05/17 09:08
关健字:
UDP
UDX
UDT
TCP
吞吐量
流量
代宽
拥塞控制
大都知道,UDP是不可靠传输协议与TCP刚好相反.
不过因为UDP的特性适合传输不需要确认的数据,在应用层如果设计好的传输协议一样可以进行很好的可靠传输.比如RUDP协议.
但是光可靠传输还不够,流量控制是很重要的.
我们从简单的情况说起来说明流量控制的重要性.
可靠性:
故名思意,就是客户1发送一个包给客户2,客户2能收到这个包.这才叫可靠传输.
最简单的可靠传输协议就是停止等待协议,一问一答方式.
打个比方就是,我发了一封邮件,对方打开邮件后,发送一封回信,也叫回致,那么发送方知道了对方已经收到了我的邮件.
很显然,在等待回信的时候,有很大一段时间是用来等待的,这样对于流量来说是很大的浪费.
滑动窗口协议,是TCP使用的一种流量控制方法。该协议允许发送方在停止并等待确认前可以连续发送多个分组。由于发送方不必每发一个分组就停下来等待确认,因此该协议可以加速数据的传输.
我们可以仿照TCP来完成UDP的可靠传输,而这篇BLOG不是用来说明滑动窗口协议.我们来分析一下本质.
在流量控制上现在主要有几种技术方案,通过往返时间的增量来控制.丢包时间差控制,流量控制,ACK返回控制.等 主流控制方法.
他们控制的核心就是控制发送窗口的大小,窗口越大意味着发送流量越大.
我们分别对这些控制方法进行一个解说.当了解这些方法后,我们可以对实现这个可靠传输有了更准确的一个指导思想.
RTT方法,这个方法代表的tcp实现是TCP vegas.他是通过测RTT,通过公式 Expected =WindowSiz/BaseRTT及Actual = WindowSize/RTT,及Diff = Expected-Actual,来动态更改发送窗口
当流量超过负荷时就会发生丢包,这里会发生丢包现象.当丢包发生时,一般采用折半发送窗口解除拥塞.
需要再次提到的,就是拥塞预测,这个是很重要的手段,传统的RENO算法,是通过丢包检测,这个方法理论上说是检测的本质,但是对于超大延时网络,如果当真的丢包了再去拥塞避免,其实已经晚已,因为,网关上已经有太多的包放在那里被无情丢弃掉了.
这样的话,会马上引发慢启动.这样效率大大损失,这在其他UDP传输算法上,比如UDT,VTCP上表现比较明显,我想他们应该是没有拥塞预测方法的.
拥塞预测方式,主要方法,可以通过RTT测量,和ACK频率测量,另外就是流量增量测量.
先分析到这吧,其他的下回分解.
http://blog.csdn.net/wwwllg/article/details/5953999
- UDP流量控制之分析
- UDP流量控制之分析
- UDP的流量控制和数据报丢失问题试验分析
- 深入浅出之 TCP协议(三次握手与四次挥手、超时重发、流量控制、拥塞控制、与UDP区别)
- DSS 代码分析【Reliable UDP之拥塞控制】
- TCP的流量控制 TCP与UDP的区别
- TC流量控制实现分析(初步)
- TC流量控制实现分析(初步)
- TC流量控制实现分析(初步)
- TC流量控制实现分析(初步)
- UDP迭代服务器示例和UDP流量控制的缺失
- 计算机网络笔记--拥塞控制和流量控制区别分析
- ios开发之ASIHTTPRequest-流量控制
- qos实现之tc流量控制
- 流量控制
- 控制流量
- 流量控制
- 流量控制
- 简单的linux下shell启动脚本
- TCP/IP,HTTP,SOAP等协议之区别
- Android仿QQ列表滑动弹出按钮、长按提示、刷新列表
- 实例一:HelloWorld
- 基于Redis Lua脚本实现的分布式锁
- UDP流量控制之分析
- node.js 初体验
- Gson入门
- Android系统移植与调试之安装apk时MTK命令和出现Failure [INSTALL_FAILED_DEXOPT]问题解决方法
- Hadoop运维记录系列【收集整理】
- [vc]在鼠标移动过程中绘制矩形,有效解决重影问题
- 自定义classloader装载fastjson包
- js数组转字符串,字符串转数组
- HDU 3158--PropBot【DFS】