查看: 661|回复: 2

[网络/安全] 为什么UDP有时比TCP更有优势

[复制链接]
  • TA的每日心情
    郁闷
    昨天 22:34
  • 签到天数: 1167 天

    连续签到: 1 天

    [LV.10]以坛为家III

    查看他的品牌

    发表于 2016-3-16 20:35:01 | 显示全部楼层 |阅读模式







      随着网络技术飞速发展,网速已不再是传输的瓶颈,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内置在系统协议栈中,极难对其进行改进。
      4, UDP协议以其简单、传输快的优势,在越来越多场景下取代了TCP  4.1 网页浏览
      使用UDP协议有三个优点 :
    • 能够对握手过程进行精简,减少网络通信往返次数;
    • 能够对TLS加解密过程进行优化;
    • 收发快速,无阻塞。
      4.2 流媒体
      采用TCP,一旦发生丢包,TCP会将后续包缓存起来,等前面的包重传并接收到后再继续发送,延迟会越来越大。基于UDP的协议如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,完善物联网通信。
      采用UDP有3个关键点:
    • 网络带宽需求较小,而实时性要求高;
    • 大部分应用无需维持连接;
    • 需要低功耗。
     小结
      如今全球将近50%的人都在使用互联网,人们不断的追求更快、更好的服务,一切都在变化,在越来越多的领域,UDP将会抢占TCP的主导地位。


    相关帖子

  • TA的每日心情
    擦汗
    2017-12-6 14:56
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]常住居民I

    发表于 2016-3-17 10:50:28 | 显示全部楼层
    好像很厉害的样子,虽然看不懂在说什么
  • TA的每日心情
    开心
    2017-8-14 15:18
  • 签到天数: 18 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    发表于 2017-3-13 16:35:49 | 显示全部楼层
    很详细,感谢分享
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    站长推荐上一条 /1 下一条