当前位置: 首页 > wzjs >正文

网站做优化有效吗产品推广词

网站做优化有效吗,产品推广词,一级页面的网站怎么做的,服装企业官方网站首先我们要知道TCP存在什么样的痛点问题 TCP的升级很困难TCP建立连接的延迟网络迁移需要重新建立连接TCP存在队头阻塞问题 QUIC就是为了解决以上的问题而诞生了, 下面我会介绍QUIC的一些特性和原理 QUIC对比TCP优势: 握手建连更快 QUIC内部包含了TLS, 它在自己的帧会携带TL…

首先我们要知道TCP存在什么样的痛点问题

  • TCP的升级很困难
  • TCP建立连接的延迟
  • 网络迁移需要重新建立连接
  • TCP存在队头阻塞问题

QUIC就是为了解决以上的问题而诞生了, 下面我会介绍QUIC的一些特性和原理

QUIC对比TCP优势:

握手建连更快

QUIC内部包含了TLS, 它在自己的帧会携带TLS里的记录, 再加上QUIC使用的是TLS1.3, 因此仅需1个RTT就可以同时完成建立与密钥协商, 甚至第二次连接的时候, 应用数据包和QUIC握手信息一起发送, 达到0-RTT的效果. 

而HTTP/1和HTTP/2协议, TCP和TLS都是分层的, 分别在内核的传输层和openssl的表示层, 所以要先进行TCP握手(1-RTT), 在进行TLS握手(2RTT), 所以需要3-RTT的延迟才能传输数据. 

QUIC建连时间大约0~1 RTT,在两方面做了优化:

1)传输层使用了UDP,减少了1个RTT三次握手的延迟。

2)加密协议采用了TLS 协议的最新版本TLS 1.3,相对之前的TLS 1.1-1.2,TLS1.3允许客户端无需等待TLS握手完成就开始发送应用程序数据的操作,可以支持1 RTT和0RTT。

对于QUIC协议,客户端第一次建连的握手协商需1-RTT,而已建连的客户端重新建连可以使用之前协商好的缓存信息来恢复TLS连接,仅需0-RTT时间。因此QUIC建连时间大部分0-RTT、极少部分1-RTT,相比HTTPS的3-RTT的建连,具有极大的优势。

避免队首阻塞的多路复用

QUIC同样支持多路复用,QUIC的流与流之间完全隔离的,互相没有时序依赖。如果某个流出现丢包,不会阻塞其他流数据的传输和应用层处理,所以这个方案并不会造成队首阻塞。

支持连接迁移

什么是连接迁移?举个例子,当你用手机使用蜂窝网络参加远程会议,当你把网络切换到WLAN时,会议客户端会立马重连,视频同时出现一瞬间的卡顿。这是因为,TCP采用四元组(包括源IP、源端口、目标地址、目标端口)标识一个连接,在网络切换时,客户端的IP发生变化,TCP连接被瞬间切断然后重连。连接迁移就是当四元组中任一值发生变化时,连接依旧能保持,不中断业务。QUIC支持连接迁移,它用一个(一般是64位随机数)ConnectionID标识连接,这样即使源的IP或端口发生变化,只要ConnectionID一致,连接都可以保持,不会发生切断重连。

可插拔的拥塞控制

QUIC是应用层协议,用户可以插拔式选择像Cubic、BBR、Reno等拥塞控制算法,也可以根据具体的场景定制私有算法。

Quic使用可插拔的拥塞控制,相较于TCP,它能提供更丰富的拥塞控制信息。比如对于每一个包,不管是原始包还是重传包,都带有一个新的序列号(seq),这使得Quic能够区分ACK是重传包还是原始包,从而避免了TCP重传模糊的问题。Quic同时还带有收到数据包与发出ACK之间的时延信息。这些信息能够帮助更精确的计算RTT。此外,Quic的ACK Frame 支持256个NACK 区间,相比于TCP的SACK(Selective Acknowledgment)更弹性化,更丰富的信息会让client和server 哪些包已经被对方收到。

QUIC 的传输控制不再依赖内核的拥塞控制算法,而是实现在应用层上,这意味着我们根据不同的业务场景,实现和配置不同的拥塞控制算法以及参数。GOOGLE 提出的 BBR 拥塞控制算法与 CUBIC 是思路完全不一样的算法,在弱网和一定丢包场景,BBR 比 CUBIC 更不敏感,性能也更好。在 QUIC 下我们可以根据业务随意指定拥塞控制算法和参数,甚至同一个业务的不同连接也可以使用不同的拥塞控制算法。

前向纠错(FEC: Fowrard Error Correcting)

QUIC支持前向纠错,弱网丢包环境下,动态的增加一些FEC数据包,可以减少重传次数,提升传输效率。

如果接收端出现少量(不超过FEC的纠错能力)的丢包或错包,可以借助冗余纠错码恢复丢失或损坏的数据包,这就不需要再重传该数据包了,降低了丢包重传概率,自然就减少了拥塞控制机制的触发次数,可以维持较高的网络利用效率。

QUIC连接

QUIC也是需要三次握手来建立连接的, 目的是为了协商连接ID. 协商好连接ID后, 后续双方都只需要连接ID,就可以实现连接迁移的问题了. 并且QUIC传输过程中的Packet Number是每个报文独一无二的编号, 它是严格递增的. 

为什么要这样设计?

这个设计是为了解决TCP重传的一个歧义问题. 例如下图所示, 当TCP发生超时重传的时候, 客户端发起了重传, 客户端发起了重传, 然后收到了来自服务器的确认ACK. 但是客户端原始报文和重传报文序号都是一样的, 所以服务器回复的都是相同的ACK.

所以, 客户端是无法知道哪个是原始的报文, 哪个是重传的报文的. 这样RTT就会有误,

  • 如果计算为原始的报文, 但是实际上是重传的响应, 那么RTT会变大
  • 如果计算为重传的报文, 但是实际上是原始的响应, 那么RTT会变小

RTO(超时时间)是通过RTT来计算的, 如果RTP不准, 那么重传的概率也会变大.

所以, QUIC这样的传输方式可以准确的计算出RTT, RTO的计算也是准确的. 如下图所示

QUIC解决TCP队头阻塞问题

TCP的队头阻塞问题其实就是出现在接收窗口的队头阻塞问题

当接收方收到的是有序数据时, 接收窗口才会滑动, 然后那些已经接收并且被确认的有序数据可以被应用层读取.

但是, 如果接收窗口收到的数据不是有序的, 那么就会阻塞住, 一直等待数据的到达. 这时候就出现了队头阻塞问题.  所以可以的出一个结论: TCP是为了保证数据的有序性

上图所示, QUIC借鉴了HTTP/2里的Stream的概念, 在一个QUIC连接中可以并发发送多个请求

每一个steam都分配了一个独立的滑动窗口, 这样使得一个连接上的多个Stream之间没有任何依赖关系, 都是独立的, 各自控制滑动窗口.

http://www.dtcms.com/wzjs/88503.html

相关文章:

  • 做网站咋么插入背景图片湛江今日头条新闻
  • 旅游网站开发的意义相关资料旺道seo
  • 模板网站怎么做seo营销策略
  • wordpress网站管理插件关键词搜索挖掘爱网站
  • SharePoint做网站好吗东莞最新消息今天
  • 私募基金公司网站建设沈阳沈河seo网站排名优化
  • 企业建站系统下载色盲测试图看图技巧
  • 成都网站品牌设计新闻 近期大事件
  • 中关村做网站设计的厦门网络推广
  • 汕头h5建站杭州seo网站建设
  • 深圳西乡网站建设seo网站推广的主要目的包括
  • 营口建设工程信息网站手机百度app免费下载
  • 建网站需要什么手续成都seo达人
  • 网站集群建设是免费宣传网站
  • 基金公司网站建设方案百度网站打不开
  • 企业网站推广阶段策划网络营销活动
  • 做网站版权所有怎么写上海关键词优化公司哪家好
  • 网站收索功能怎么做搜索引擎营销方式
  • seo西安aso优化方案
  • 郑州做网站网站建设费用哪家培训机构学校好
  • 青岛网站建设的方案简述网站制作的步骤
  • 仿做赌博网站站长工具推荐网站
  • 江苏省建设厅网站 投诉cnn头条新闻
  • 大兴安岭做网站在线crm管理系统
  • 建设集团有限公司网站首页企业网络推广网站
  • html做的小网站360网站推广登录
  • 做公司门户网站的重点广州网站设计
  • 房地产新闻app哪个好西安企业网站seo
  • 宝山武汉阳网站建设刷推广链接
  • 怎样找到网站建设设置模板网络宣传渠道