quic实现方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
quic实现方法
Quic是一种新型的网络传输协议,它基于UDP协议实现,可以显著提高网页或应用程序的传输速度,并带来更好的性能和安全。
Quic具有Single R/TT(Round-Trip Time)的低延迟,可恢复性网络通信和流量优化等特点。
Quic的实现方式包括QUIC IETF(Internet Engineering Task Force)和Google Quic。
QUIC IETF实现方法
QUIC IETF是IETF的QUIC标准化工作,它是一种基于UDP的可靠、快速、低延迟的传输协议。
QUIC IETF是QUIC协议的一个开放源代码版本。
Quic协议的IETF实现旨在为开发者创建一个接口,使他们能够创建高性能应用程序,并实现其他开发维护更新、协议演变和安全更新的函数。
Quic协议的QUIC IETF实现(标准)主要由以下部分组成:
1. 连接:QUIC IETF建立连接和握手仪式的方式类似于TLS,但是建立连接的方式与TLS的略有不同。
连接建立过程中包含了客户端连接请求、服务器连接建立和连接确认等几个步骤。
2. 流:QUIC IETF中的流可以理解成一个逻辑通道,它可以被应用程序用来传输数据。
流可以是单向或双向,
它们通常由另一个流作为数据源或数据目标。
一个寿命结
束的流将从连接中删除。
3. 窗口流控制:QUIC IETF中的每个流都有不同的独立窗口,窗口的大小限制了这个流所能接收的数据量。
同时,还有一个连接级的窗口大小限制了所有流的数据量,
以保证总数据量不超过接收端的能力。
4. 重传和可恢复性:QUIC IETF中采用了类似于TCP 的重传机制和快速恢复机制,确保在网络丢包或其他网络
错误时能够正确地恢复数据。
5. 双向传输:由于QUIC IETF是基于UDP的,所以支持双向传输。
即服务器和客户端都可以向对方发送数据。
Google Quic实现方法
Google Quic是由Google公司开发的QUIC协议实现
版本。
它主要是为了提高站点访问速度,减少建立连接的
握手时间,同时减少站点的带宽需求。
Google Quic的实现方法相对简单,主要包括以下几个方面:
1. Google Quic在传输方面采用了UDP协议,与QUIC IETF实现方式略有不同。
2. Google Quic采用了类似于TLS的方式进行连接建立和握手,以确保数据传输的安全性。
3. Google Quic采用了一个称为“针织
者”(Knitter)的实现技术,把多个流合并到一个数据报中传输,以达到更高的效率。
4. Google Quic在实现上,有很多对现有TCP协议的改进。
例如:支持多路复用(Multiplexing)、零RTT(因为之前的连接Cache)、前向纠错(Forward Error Correction)等技术,高效地支持了大量并发连接。
总结:
在Quic实现方法方面,基于标准化的QUIC IETF和Google Quic的实现方式各自有优劣。
选择哪个版本主要取决于具体的应用场景和需求。
无论哪种实现方式,Quic的优点在于协议支持的单R/T(Round Trip Time)延迟非常低,同时Quic协议还支持流量优化、传输层安全保护、滑动窗口传输和可恢复机制等特性,在一定程度上提高了应用程序和网页的用户体验。