首页»WEB综合»为什么UDP有时比TCP更有优势

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

来源:blog.wilddog.com 发布时间:2015-12-08 阅读次数:

  随着网络技术飞速发展,网速已不再是传输的瓶颈,UDP协议以其简单、传输快的优势,在越来越多场景下取代了TCP,如网页浏览、流媒体、实时游戏、物联网。

 

  1,网速的提升给UDP稳定性提供可靠网络保障

  CDN服务商Akamai(NASDAQ: AKAM)报告从2008年到2015年7年时间,各个国家网络平均速率由1.5Mbps提升为5.1Mbps,网速提升近4倍。网络环境变好,网络传输的延迟、稳定性也随之改善,UDP的丢包率低于5%,如果再使用应用层重传,能够完全确保传输的可靠性。

  2,对比测试结果UDP性能优于TCP

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

 

  Google采用QUIC后连接速率能有效提升75%。
  Google搜索采用QUIC后页面加载性能提升3%。
  YouTube采用QUIC后重新缓冲次数减少了30%。

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

  TCP为了实现网络通信的可靠性,使用了复杂的拥塞控制算法,建立了繁琐的握手过程以及重传策略。由于TCP内置在系统协议栈中,极难对其进行改进。

2

  4, UDP协议以其简单、传输快的优势,在越来越多场景下取代了TCP

  4.1 网页浏览

  使用UDP协议有三个优点 :

  • 能够对握手过程进行精简,减少网络通信往返次数;
  • 能够对TLS加解密过程进行优化;
  • 收发快速,无阻塞。

  4.2 流媒体

  采用TCP,一旦发生丢包,TCP会将后续包缓存起来,等前面的包重传并接收到后再继续发送,延迟会越来越大?;赨DP的协议如WebRTC是极佳的选择。

  2010年google 通过收购 Global IP Solutions,获得了WebRTC(网页实时通信,Web Real-Time Communication)技术,用于提升网页视频速率。

  4.3 实时游戏

  对实时要求较为严格的情况下,采用自定义的可靠UDP协议,比如Enet、RakNet(用户有sony online game、minecraft)等,自定义重传策略,能够把丢包产生的延迟降到最低,尽量减少网络问题对游戏性造成的影响。
采用UDP的经典游戏如FPS游戏Quake、CS,著名的游戏引擎Unity3D采用的也是RakNet。

  4.4 物联网

  2014年google旗下的Nest建立Thread Group,推出了物联网通信协议Thread,完善物联网通信。

3

  采用UDP有3个关键点:

  • 网络带宽需求较小,而实时性要求高;
  • 大部分应用无需维持连接;
  • 需要低功耗。

 小结

  如今全球将近50%的人都在使用互联网,人们不断的追求更快、更好的服务,一切都在变化,在越来越多的领域,UDP将会抢占TCP的主导地位。

QQ群:WEB开发者官方群(515171538),验证消息:10000
微信群:加小编微信 849023636 邀请您加入,验证消息:10000
提示:更多精彩内容关注微信公众号:全栈开发者中心(fsder-com)
TCP | UDP
网友评论(共0条评论) 正在载入评论......
理智评论文明上网,拒绝恶意谩骂 发表评论 / 共0条评论
登录会员中心
大发国际网址 黄龙县| 渑池县| 呼和浩特市| 南城县| 甘德县| 金华市| 灵宝市| 柳江县| 普兰县| 西丰县| 雷州市| 额敏县| 临安市| 姚安县| 南皮县| 泰兴市| 北宁市| 南皮县| 郧西县| 麻江县| 远安县| 临清市| 贵德县| 克拉玛依市| 苏尼特右旗| 梁山县| 合江县| 株洲县| 班玛县| 拉孜县| 屯昌县| 比如县| 洪泽县| 淮南市| 景东| 凤翔县| 西丰县| 左权县| 禹州市| 浙江省| 环江| 长白| 葵青区| 平凉市| 平果县| 淮阳县| 浙江省| 永泰县| 黄骅市| 临西县| 丹东市| 商南县| 石嘴山市| 海城市| 大余县| 新邵县| 建水县| 祁连县| 高碑店市| 开远市| 沙河市| 读书| 绥滨县| 游戏| 江陵县| 安仁县| 克拉玛依市| 寿宁县| 高尔夫| 舟山市| 台前县| 两当县| 鹿邑县| 广州市| 河源市| 东辽县| 新昌县| 梓潼县| 冷水江市| 黎平县| 普宁市| 孝感市| 平塘县| 六枝特区| 金塔县| 开江县| 嘉峪关市| 临清市| 唐海县| 措勤县| 夏津县| 芷江| 长宁区| 临洮县| 营山县| 阿克| 大余县| 梅河口市| 临汾市| 和静县| 忻城县| 天气| 台东县| 河南省| 达拉特旗| 临泽县| 化州市| 安徽省| 阿瓦提县| 象州县| 镶黄旗| 旺苍县| 北流市| 海丰县| 岳普湖县| 沅陵县| 萨迦县| 离岛区| 大埔区| 武功县| 潮安县| 名山县| 高安市| 兴和县| 嘉峪关市| 雅江县| 台中县| 吴川市| 江陵县| 宁海县| 甘孜县| 五台县| 溆浦县| 蒙阴县| 格尔木市| 通辽市| 英吉沙县|