推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > 直击灵魂的那些事 > HTTP/3将要来临,互联网将进入3.0时代?

HTTP/3将要来临,互联网将进入3.0时代?

直击灵魂的那些事 2019-02-12

        互联网经过几十年的发展,已经越来越成熟。http作为互联网中最重要的一个协议,从最开始的 HTTP/0.9到如今的HTTP/2.0,给互联网行业及我们的生活带来了翻天覆地的变化。就在近几日,互联网行业组织IETF的HTTP工作组和QUIC工作组主席Mark Nottingham  提议将HTTP-over-QUIC重命名为HTTP / 3,该提案似乎已被广泛接受。这标志着web3.0是带将要来临.那么HTTP/3究竟又有啥比较牛X的地方呢?                 今天的HTTP(版本1.0,1.1和2)都在TCP(传输控制协议)之上。TCP(定义为IP(Internet协议)层核心集的一部分)通过IP网络提供可靠,有序和错误检查的数据传输。“可靠”意味着如果在传输过程中某些数据丢失(由于硬件故障,拥塞或超时),接收端可以检测到这一点,并要求发送端重新发送丢失的数据; “有序”是指按照传输顺序接收数据; “错误检查”表示可以检测到传输过程中的任何损坏。这些都是理想的属性,对于HTTP等协议是必需的,但TCP被设计为一种通用的解决方案,适用于任何需要这种可靠性的应用程序。它没有特别针对HTTP用于的场景类型进行调整。例如,TCP需要在客户端和服务器之间进行多次往返以建立连接; 使用SSL over TCP需要后续往返以建立加密连接。专为HTTP构建的协议可以组合这些协商并减少往返次数,从而改善网络延迟。

       相反http/3( HTTP-over-QUIC)将放弃TCP,而是使用其兄弟协议UDP(用户数据报协议)。UDP是TCP的“对立面”; 它是不可靠的(从一端发送的数据可能永远不会被另一端接收,而另一端无法知道某些东西已经丢失),并且它是无序的(稍后发送的数据可能超过先前发送的数据,到达混乱)。新协议通常建立在UDP之上。


        HTTP3主要特点是更快的连接设置和延迟        

        TCP需要在建立连接之前来回发送多个数据包。SSL再次需要在建立加密之前来回发送许多数据包。如果有很多网络延迟,例如当人们使用具有半秒ping时间的卫星互联网时,建立连接可能需要相当长的时间。通过减少往返次数,连接可以更快地进行设置,因此当您单击链接时,链接的资源会立即弹出。

        带宽         网络连接的源和目标之间始终存在带宽限制,这几乎总是由于拥塞。双方都需要发现一种速度级别,以这个速度他们能够以合适的速率发送数据包。发送数据包太快也不行,会被丢弃,导致其他人拥塞更多,这样并不会提高传输速率。发送数据包太慢也不行,意味着网络使用不当。

        HTTP传统上这一点实现得很糟糕,使用单个TCP连接不适用于HTTP,因为与网站的交互需要同时传输多个内容,因此浏览器会打开多个连接(通常为6个)。但是,这会打破带宽估计,因为每个TCP连接都尝试独立完成,就像其他连接不存在一样。SPDY通过其多路复用  功能解决了这个问题,该功能将浏览器/服务器之间的多个交互放入一个连接。         QUIC(HTTP-over-QUIC)扩展了这种多路复用,使得处理浏览器/服务器之间的多个交互变得更加容易,而没有任何一个交互阻止另一个交互,但都具有同样的带宽。从用户的角度来看,这将使交互更加顺畅,同时减少路由器遇到的拥塞。

        用户模式堆栈         TCP的问题,特别是在服务器上,是TCP连接由操作系统内核处理,而服务本身在usermode中运行。跨内核/用户模式边界移动会导致性能问题。跟踪大量TCP连接会导致可伸缩性问题。有些人尝试将服务放入内核,以避免转换,但是它破坏了操作系统的稳定性。

        从TCP迁移到UDP可以在没有用户模式驱动程序的情况下获得相同的性能。BTW,“RSS”是网络硬件的一项功能,它将传入的数据包分成多个接收队列。多核可扩展性的最大问题是两个CPU核心需要同时读取/修改同一个东西,因此共享相同的UDP队列成为最大的瓶颈。因此英特尔和其他以太网供应商添加了RSS,为每个核心提供了自己的非共享数据包队列。Linux和其他操作系统升级UDP以支持单个套接字(SO_REUSEPORT)的多个文件描述符来处理多个队列。

        现在,QUIC使用这些发展成果,允许每个核心管理自己的UDP数据包流,而没有与其他CPU核心共享内容的可扩展性问题。如果没有网络硬件中的RSS,QUIC就不太可能成为标准。
        移动支持        

    
        总之, 毫无疑问, 新的 HTTP 版本即将推出,它就是基于 QUIC 传输的 HTTP/3,让我们一起期待HTTP/3带来的改变吧!!!


        本文由作者整理网络数据自行整理发布,仅代表个人观点,图文版权归原作者所有·如有侵权请联系删除。

版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《HTTP/3将要来临,互联网将进入3.0时代?》的版权归原作者「直击灵魂的那些事」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注直击灵魂的那些事微信公众号

直击灵魂的那些事微信公众号:gh_62ba56a8f2b2

直击灵魂的那些事

手机扫描上方二维码即可关注直击灵魂的那些事微信公众号

直击灵魂的那些事最新文章

精品公众号随机推荐