
UDT
子沭
这个作者很懒,什么都没留下…
展开
-
UDT拥塞控制算法
导语 我们知道,TCP是通过AIMD算法来控制发送速度的.UDT使用类似的算法来调整数据包的发送周期SND:UDT发送周期,即每个数据包之间的间隔时间,初始值为0. UDT每隔10毫秒都会调整它的发送速度,当收到ACK消息时,会提升发送速度,而当收到NAK(UDT数据包ACK的一种格式,表示不会对某个数据包进行ACK)时则减少发送速度. 另一种情况则是发生了超时,此时按情况调整,可以不减少原创 2017-11-14 18:09:12 · 1694 阅读 · 1 评论 -
UDT的连接建立和释放
连接的建立和释放UDT有两种建立连接的方式,C/S模式和聚合模式,在聚合模式中,各UDT Socket会同时向各方发出连接请求,类似于P2P模式。 在建立连接的过程中,UDT Client(聚合模式中的节点都是Client)会向UDT Server或者对端节点发出握手请求,握手请求报文是一个类型为0的控制包,其带有如下的信息(假设A向B发握手): 1. UDT 版本:用于兼容性处理,目前版本是原创 2017-12-14 20:32:22 · 1536 阅读 · 0 评论 -
UDT的Sender和Receiver
Sender算法数据结构和变量:Sender’s Loss List:发送方的loss list用来存储丢失包的序列号,序列号来自于两个地方,一是receiver通过NAK包反馈回来,二是超时事件发生时插入到列表里。序列号在loss list中是按序存储的。数据发送算法:如果sender的loss list不为空,那么重发loss list中的第一个包并且从list中删除它,然后转到<5>在原创 2017-12-25 11:05:45 · 495 阅读 · 0 评论