乐趣区

关于即时通讯:为什么说UDP有时比TCP更有优势

网速的晋升给 UDP 稳定性提供牢靠网络保障

CDN 服务商 Akamai 报告从 2008 年到 2015 年 7 年工夫,各个国家网络均匀速率由 1.5Mbps 晋升为 5.1Mbps,网速晋升近 4 倍。网络环境变好,网络传输的提早、稳定性也随之改善,UDP 的丢包率低于 5%,如果再应用应用层重传,可能齐全确保传输的可靠性。

比照测试后果 UDP 性能优于 TCP

为了晋升浏览速度,Google 基于 TCP 提出了 SPDY 协定以及 HTTP/2。Google 在 Chrome 上试验基于 UDP 的 QUIC 协定,传输速率缩小到 100ms 以内。

Google 采纳 QUIC 后连贯速率能无效晋升 75%;

Google 搜寻采纳 QUIC 后页面加载性能晋升 3%;

YouTube 采纳 QUIC 后从新缓冲次数缩小了 30%。

TCP 设计过于冗余,速度难以进一步晋升

TCP 为了实现网络通信的可靠性,应用了简单的拥塞控制算法,建设了繁琐的握手过程以及重传策略。因为 TCP 内置在零碎协定栈中,极难对其进行改良。

UDP 协定以其简略、传输快的劣势,在越来越多场景下取代了 TCP

网页浏览

应用 UDP 协定有三个长处:

可能对握手过程进行精简,缩小网络通信往返次数;

可能对 TLS 加解密过程进行优化;

收发疾速,无阻塞。

流媒体

采纳 TCP,一旦产生丢包,TCP 会将后续包缓存起来,等后面的包重传并接管到后再持续发送,提早会越来越大。基于 UDP 的协定如实时音视频开源工程 WebRTC 是极佳的抉择。即时通讯聊天软件开发能够征询蔚可云。

实时游戏

对实时要求较为严格的状况下,采纳自定义的牢靠 UDP 协定,比方 Enet、RakNet(用户有 sony online game、minecraft)等,自定义重传策略,可能把丢包产生的提早降到最低,尽量减少网络问题对游戏性造成的影响。

采纳 UDP 的经典游戏如 FPS 游戏 Quake、CS,驰名的游戏引擎 Unity3D 采纳的也是 RakNet。

物联网

2014 年 google 旗下的 Nest 建设 Thread Group,推出了物联网通信协议 Thread,欠缺物联网通信。

采纳 UDP 有 3 个关键点:

网络带宽需要较小,而实时性要求高;

大部分利用无需维持连贯;

须要低功耗。

退出移动版