为什么说UDP有时比TCP更有优势

Posted wecloud1314

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么说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个关键点:

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

大部分应用无需维持连接;

需要低功耗。

开发者涨薪指南 48位大咖的思考法则、工作方式、逻辑体系

以上是关于为什么说UDP有时比TCP更有优势的主要内容,如果未能解决你的问题,请参考以下文章

为什么 UDP 有时比 TCP 更有优势

女生不适合学习java吗?其实女生学java更有优势,更容易就业

Socket编程的UDP与TCP,应用在哪些地方

UDP优于TCP的优势?

UDP的崛起

为啥 UDP + 一个软件可靠的订购系统比 TCP 更快?