1.UDT主要应用于高带宽延时积(BDP)的网络中,BDP=bandwidth*RTT/8,代表链路中所能容纳的数据量),但是TCP的窗口大小为16bit,最高有65536个byte在传输,所以不适合用于高速广域网上进行数据传输。
2.UDT的可分为数据包和控制包,控制包共分为7种:ACK,NACK,keep-alive,shutdown等。
3.UDT支持多路复用技术:多路复用器维持两个队列:发送队列和接收队列。发送队列根据需要发送的包的时间对socket进行排序。发送端维持一个高精度的定时器。当定时器时间到了之后,它会把数据包发出并将socket从队列中移出。接收队列和发送队列类似,也维持了一个高精度的定时器,队列中包含一些等待接收数据的socket,接收队列每隔0.01s检查队列中的socket有没有timeout。destination ID是0的数据包会被送往listener.
4.UDT维持了四个定时器:SND,ACK,NACK,EXP.SND是基于速率控制的,用于控制包的发送间隔。ACK TIMER是触发ACK的定时器,ACK TIMER的时长 不得超过0.01s。NACK timer是触发对没有收到的包的回应,它的周期是根据ACK中的RTT以及RTT样本方差估算出来的。EXP是超时重传的定时器,它的 值是由RTT和RTT的样本方差以及timeout次数算出来的。
5.UDT支持两种模式:传统的C/S模式以及rendevous模式,rendevous mode适合NAT打洞,打洞的原理就是两端同时向对端发起连接。

UDT是一种适用于高带宽延时积网络的数据传输协议,它支持多路复用、拥塞控制和精确定时器。UDT的数据包分为数据包和控制包,包括ACK、NACK等多种控制类型。协议维护了多个定时器来处理ACK、NACK和超时重传。此外,UDT支持C/S模式和rendevous模式,尤其适用于NAT穿透。连接关闭和数据包丢失处理机制确保了通信的可靠性和效率。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



