全国直销电话:4006-854-568
IT-technology
以人为本,众志成城,以“用户至上”.“服务上乘”为原则,
追求产品和服务高质量,努力实现与客户之间真诚有效的沟通,
不断地圆梦、奔跑与腾飞。
新闻动态   NEWS
UDP 分片 与 丢包,UDP 真的比 TCP 高效吗?UDP 的应用场景-北京赛维博信科技发展有限公司
来源:本文摘自网络,如有侵权请联系删除 | 作者:svbx001 | 发布时间: 2022-12-26 | 1982 次浏览 | 分享到:

对于这样的场景就比较合适用 UDP 了,如果采用 TCP,那么在出现丢包的时候,就可能会出现比较大的延时。

3、UDP应用举例

通常情况下,UDP 的使用范围是较小的,在以下的场景下,使用 UDP 才是明智的。

[1] 实时性要求很高,并且几乎不能容忍重传:
例子:NTP 协议,实时音视频通信,直播、实时游戏、多人动作类游戏中人物动作、位置。
[2] TCP 实在不方便实现多点传输的情况;
[3] 需要进行 NAT 穿越;
[4] 对网络状态很熟悉,确保 udp 网络中没有氓流行为,疯狂抢带宽;
[5] 熟悉 UDP 编程。

UDP本身是不可靠,现在需要保证可靠,在不改变 UDP 协议的情况下能够想到的是在应用层做可靠性设计,但是应用层做可能通用性会差一些,那么在传输层和应用层之间加一层实现UDP的可靠性呢?

基于这个想法提出了RUDP(Reliable UDP),实际上,已经有项目在这么做了,比如 Google 的 QUIC 和 WebRTC。

据了解,目前国内厂商做实时传输一般都会考虑 RUDP。

4、QQ udp 浅析

1>、用 tcp 长连接,对服务器的负担很大

首先每一个 QQ 客户端实际上都适合服务器交互,再由服务器转发给正在通信的用户,如果每一个 QQ 从一上线到下线的这段时间全部采用 tcp 长连接,这对服务器的负担很大,而如果采用 tcp 短连接,频繁的连接断开也会造成网络负担,而采用 udp 则可以避开上述麻烦,减少服务器的负担。

不管 udp 还是 tcp,最终登陆成功之后,QQ 都会有一个 tcp 连接来保持在线状态。这个 tcp 连接的远程端口一般是80,采用 udp 方式登陆的时候,端口是8000。

udp 协议是无连接方式的协议,它的效率高,速度快,占资源少,但是其传输机制为不可靠传送,必须依靠辅助的算法来完成传输控制。

QQ 采用的通信协议以 udp 为主,辅以 tcp 协议。由于 QQ 的服务器设计容量是海量级的应用,一台服务器要同时容纳十几万的并发连接,因此服务器端只有采用 udp 协议与客户端进行通讯才能保证这种超大规模的服务。

2>、tcp 较难实现 NAT 穿越

QQ 客户端之间的消息传送也采用了 udp 模式,因为国内的网络环境非常复杂,而且很多用户采用的方式是通过代理服务器共享一条线路上网的方式

在这些复杂的情况下,客户端之间能彼此建立起来 tcp 连接的概率较小,严重影响传送信息的效率。

而 udp 包能够穿透大部分的代理服务器,因此 QQ 选择了 udp 作为客户之间的主要通信协议。采用 udp 协议,通过服务器中转方式。因此,现在的 IP 侦探在你仅仅跟对方发送聊天消息的时候是无法获取到IP的。

 

服务热线

1391-024-6332