Citrix ADC

Http3通过quic协议

通过TCP的http /2是通过单个连接发送多个http请求流的首选标准。但是,在TCP传输机制中,访问网站和Web应用程序存在一定的限制和延迟问题。当您通过同一连接对多个请求进行多次复用时,它们受到同一连接的可靠性的影响。如果一个请求的数据包丢失,则所有其他多路复用请求都会延迟,直到检测到丢失的数据包并重新传输为止。这会导致线路阻塞延迟和延迟问题。

对于连接和传输延迟,http /3使用quic而不是TCP协议。QUIC是一种新兴的协议,它使用 UDP 而不是 TCP 作为基础传输。 在 HTTP-OverQuic 中,您可以在不依赖于单个 TCP 连接的情况下对几个独立的请求进行多路复用。QUIC 实现了可靠的连接,您可以在此连接上流式传输多个 HTTP 请求。QUIC 还将 TLS 作为集成组件,而不是像 HTTP/1.1 或 HTTP/2 那样作为额外的层。

使用http /3协议的优势

下面给出了使用quic协议进行http /3数据传输的一些重要优势:

•流式传输多路复用•流和连接级别的流量控制•低延迟连接建立•连接迁移和对NAT重新绑定的弹性•经过身份验证和加密的标头和

HTTP协议中的传输堆栈

下图显示了http /1.1, http /2和http /3协议中的传输堆栈。

HTTP协议中的传输堆栈

QUIC和HTTP/3连接管理在Citrix ADC中的工作原理

下图显示了Citrix ADC设备中的QUIC和HTTP / 3连接管理方式以及组件之间的交互方式。

Quic和http /3连接管理的工作原理

步骤1:客户端HTTP/3通过QUIC协议向Citrix ADC设备发出请求。第二步骤:Citrix ADC作为HTTP / 1.1或HTTP / 2转发的请求,具体取决于后端服务器支持。步骤3:通过HTTP/2或HTTP/1.1从后端服务器响应Citrix ADC。步骤4:adc将响应作为http /3响应转发给客户端。

Http /3协议的工作原理

在HTTP / 3中,当客户端知道某个端点上存在HTTP / 3服务器时,它会打开QUIC连接。Quic协议提供多路复用和流量控制。在每个流中,http /3通信的基本单元是帧。每种帧类型都有不同的用途。例如,头部和数据帧构成了HTTP请求和响应的基础。

请求的多路复用是使用quic流抽象来执行的。每个请求-响应对都占用一个quic流。流互相独立,因此一个被阻止或遭受数据包丢失的流不会阻止其他流上的进展。服务器推送是HTTP / 2中引入的一种交互模式,它允许服务器在客户端发出指定请求之前向客户端推送请求——响应交换。这将网络使用量与潜在的延迟增益相抵消。几个HTTP / 3帧用于管理服务器推送,例如PUSH_PROMISE, MAX_PUSH_ID和CANCEL_PUSH。与http /2一样,请求和响应字段被压缩以进行传输。由于HPACK依赖于按顺序传输压缩字段(QUIC不提供的保证),因此HTTP / 3用QPACK取代HPACK。Qpack使用独立的单向流来修改和跟踪字段表状态,而编码字段部分在不修改表的情况下引用表的状态。

Http /3协议的工作原理

Http3通过quic协议