Quic协议--学习记录

学习文章:《技术扫盲:新一代基于UDP的低延时网络传输层协议——QUIC详解-网络编程/专项技术区 - 即时通讯开发者社区! 》

如有错误,恳请诸位不吝赐教!

目录

一.Quic协议概述

二.目前协议存在问题

        1.中间设备的僵化

        2.依赖于操作系统

        3.TCP+SSL/TSL链接延迟大

        4.队头阻塞问题

三.Quic协议目标

四.Quic原理

        1.采用UDP协议

        2.改进的拥堵控制

        3.基于 stream 和 connecton 级别的流量控制


一.Quic协议概述

        Quic 全称 quick UDP internet connection,是由 Google 提出的使用 UDP 进行多路并发传输的传输层协议。

二.目前协议存在问题

        近年来的各种协议发展缓慢,目前协议存在以下一些问题:

        1.中间设备的僵化

       目前协议很多端口的动作成为行业默认,导致端口锁死。

        想要对端口特性,数量上进行修改,以及协议优化变得很困难。

        2.依赖于操作系统

        TCP 是在操作系统内核和中间件固件中实现的,但是操作系统的更新迭代是一个麻烦的过程,系统更新不仅要实现新的协议,同时向下兼容旧版协议。一旦对新的操作系统对TCP协议进行更改,旧版的操作系统很有可能无法于新的操作系统通讯。

        因此对 TCP 进行重大更改几乎是不可能的。

        3.TCP+SSL/TSL链接延迟大

        两个设备连接时,选择TCP+SSL/TLS的连接时,一方面由于TCP连接的三次握手,另一方面TLS的建立也需要2RTT的连接时间,都会导致连接时延,且无法避免。

        在目前一些需要时效性的场景下,比如网络直播等,这是不能接受的。

        4.队头阻塞问题

        TCP协议和TSL协议的可靠性就会导致队头阻塞的问题,结构性问题使得他们无法改变。

        比如一旦传递的stream或者stream的部分segment丢失或错误,就需要发送端重新发送。接收端等待接受完毕后才会接收之后的stream。

三.Quic协议目标

        Quic协议目标其实就是旨在解决上述问题:

        1.实现TCP的可靠传输和UDP的低延时

        2.避开中间设备和操作系统,在应用程序层面实现可靠安全通讯。

四.Quic原理

        QUIC 非常类似于在 UDP 上实现的 TCP + TLS + HTTP/2。       

        针对上述问题,Quic协议主要解决方法:

        1.采用UDP协议

        一方面上述问题中提到TCP协议是由操作系统的内核实现,无法对TCP进行重大的修改。所以采用UDP协议,对协议优化调整和使用可以脱离操作系统实现。

        另一方面UDP协议使用上不需要通讯双方进行连接,默认连接。从而实现0RTT 的连接传输:在连接时刻同时传输数据。

        

        图中QUIC握手实现TCP和TLS握手。

        2.改进的拥堵控制

        (这一部分我也还没理解好,后续补上)

        3.基于 stream 和 connecton 级别的流量控制

        流量控制:流量控制(traffic control)是利用软件或硬件方式来实现对电脑网络流量的控制的一种措施。它的最主要方法,是引入QoS的概念,通过为不同类型的网络数据包标记,从而决定数据包通行的优先次序

        在计算机网络中,当数据源向目的端口发送数据流时,如果目的端口队列已满,则数据包可能会丢失或被丢弃。为了防止这种情况发生,可以采用流量控制技术来控制数据包的发送速率,以确保目的端口能够及时处理收到的数据包。

        QUIC 的流量控制类似 HTTP2,即在 Connection 和 Stream 级别提供了两种流量控制。 

         

(看代码学习ing。。。后续更新) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值