资讯

展开

UDP实现可靠

作者:快盘下载 人气:

UDP实现可靠;

UDP不属于连接协议;具有资源消耗少;处理速度快的优点;所以通常音频;视频和普通数据在传送时;使用UDP较多;因为即使丢失少量的包;也不会对接受结果产生较大的影响。

传输层无法保证数据的可靠传输;只能通过应用层来实现了。实现的方式可以参照tcp可靠性传输的方式;只是实现不在传输层;实现转移到了应用层。

最简单的方式是在应用层模仿传输层TCP的可靠性传输。下面不考虑拥塞处理;可靠UDP的简单设计。

1、添加seq/ack机制;确保数据发送到对端
2、添加发送和接收缓冲区;主要用于用户超时重传。
3、添加超时重传机制。

详细说明;送端发送数据时;生成一个随机seq=x;然后每一片按照数据大小分配seq。数据到达接收端后接收端放入缓存;并发送一个ack=x;1的包;表示对方已经收到了数据。发送端收到了ack包后;删除缓冲区对应的数据。如果超过一定时间还没收到ack;那么重传数据。

目前有如下开源程序利用udp实现了可靠的数据传输。分别为RUDP、RTP、UDT。

TCP与UDP区别总结;

1、TCP面向连接;如打电话要先拨号建立连接;;UDP是无连接的;即发送数据之前不需要建立连接。

2、TCP提供可靠的服务;也就是说;通过TCP连接传送的数据;无差错;不丢失;不重复;且按序到达;UDP尽最大努力交付;即不保证可靠交付。

Tcp通过校验和;重传控制;序号标识;滑动窗口、确认应答实现可靠传输。如丢包时的重发控制;还可以对次序乱掉的分包进行顺序控制。

3、UDP具有较好的实时性;工作效率比TCP高;适用于对高速传输和实时性有较高的通信或广播通信。

4.每一条TCP连接只能是点到点的;UDP支持一对一;一对多;多对一和多对多的交互通信。

5、TCP对系统资源要求较多;UDP对系统资源要求较少。

加载全部内容

相关教程
猜你喜欢
用户评论
快盘暂不提供评论功能!