UDT协议-基于UDP的可靠数据传输协议

日期:2007年8月7日 作者: 查看:[大字体 中字体 小字体]
注意,对于数据和控制包来说,可以从UDP协议头中得到实际的包大小。包大小信息能被用来得到有效的数据负载和NAK包中的控制信息字段大小。
3.3.定时器
UDT在接收端使用4个定时器来触发不同的周期事件,包括速率控制、应答、丢失报告(negative应答)和重传/连接维护。
UDT中的定时器使用系统时间作为源。UDT接收端主动查询系统时间来检查一个定时器是否过期。对于某个定时器T来说,其拥有周期TP,将定变量t用来记录最近T被设置或复位的时间。如果T在系统时间t0(t= t0)被复位,那么任何t1(t1-t>=TP)是T过期的条件。
四个定时器是:RC定时器、ACK定时器、NAK定时器、EXP定时器。他们的周期分别是:RCTP、ATP、NTP、ETP。
RC定时器用来触发周期性的速率控制。ACK定时器用来触发周期性的有选择的应答(应答包)。RCTP和ATP是常量值,值为:RCTP=ATP=0.01秒。

NAK被用来触发negative应答(NAK包)。重传定时器被用来触发一个数据包的重传和维护连接状态。他们周期依赖于对于RTT的估计。ETP值也依赖于连续EXP时间溢出的次数。推荐的RTT初始值是0.1秒,而NTP和ETP的初始值是:NTP=3*RTT,ETP=3*RTT+ATP。
在每次bounded UDP接收操作(如果收到一个UDP包,一些额外的必须的数据处理时间)时查询系统时间来检查四个定时器是否已经过期。推荐的周期粒度是微秒。UDP接收时间溢出值是实现的一个选择,这依赖于循环查询的负担和事件周期精确度之间的权衡。
速率控制事件更新包发送周期,UDT发送端使用STP来安排数据包的发送。假定一个在时间t0被发送,那么下一次包发送时间是(t0+ STP)。换句话说,如果前面的包发送花费了t’时间,发送端将等待(STP-t’)来发送下一个数据包(如果STP-t’ <0,就不需要等待了)。这个等待间隔需要一个高精确度的实现,推荐使用CPU时钟周期粒度。
3.4.发送端算法
3.4.1.    数据结构和变量
A.SND PKT历史窗口:一个循环数组记录每个数据包的开始时间
B.发送端丢失链表:发送段丢失列表是一个连接链表,用来存储被接收方NAK包中返回的丢失包序号。这些数字以增加的顺序存储。
3.4.2.    数据发送算法
A.如果发送端的丢失链表是非空的,重传第一个在list中的包,并删除该成员,到5。
B.等待有应用程序数据需要发送
C.如果未应答的包数量超过了两量窗口的大小,转到1。如果不是包装一个新的包并发送它。
D.如果当前包的序号是16n,n是一个整数,转第2步。
E.在SND PKT历史窗口中记录包的发送时间
F.如果这是自上次发送速率降低之后的第一个包,等外SYN时间。

  • 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] 下一页 


  • UDT协议-基于UDP的可靠数据传输协议 相关文章:
  • ·《仙剑奇侠传2》完美补充攻略 - 游戏攻略
  • ·仙剑奇侠传3-问情篇:支线任务全攻略
  • ·《武林群侠传》详尽剧情攻略 - 游戏攻略
  • ·楚留香新传:桃花传奇 - 游戏攻略
  • ·三国群侠传 流程攻略 - 游戏攻略
  • ·炎龙骑士团外传——风之纹章 - 游戏秘籍
  • ·三国群雄传之卧龙与凤雏 支线任务 - 游戏攻略
  • ·三国群英传3 官方全攻略 - 游戏攻略
  • ·Struts+Spring+Hibernate实现上传下载
  • ·三国赵云传终极武器炼化
  • UDT协议-基于UDP的可靠数据传输协议 相关软件
  • ·梦幻西游单机版-梦幻群侠传
  • ·梦幻麻将馆 V4麻雀传说
  • ·中华客栈2 满汉传奇
  • ·仙剑奇侠传 98柔情版
  • ·三国群英传1.2.3(合集)
  • ·西游记释厄传 一代
  • ·梦幻麻将馆4 麻雀传说真人版
  • ·《三国群英传3》完美硬盘版
  • ·三国刘备传
  • ·《大宋英豪岳飞传》中文硬盘版
  • 上一篇:[项目管理]管理中的人

    下一篇:一较高下:Windows与Linux安全性比较

  • 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
  • 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
  • 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
  • 精品推荐

    热点TOP10

    特别推荐