研:QUIC问题整理及扩展知识

问题:

1.stream(什么是流)

2.prioritization (流的优先级)multiplexing

 

 

其他:

多路复用?数据包?连接?数据传递过程描述?http请求?

multiplexing,多路复用,

 

QUIC协议放弃了经典的TCP链接,而是使用UDP协议,原因:快!快!快!。UDP协议本身不需要三次握手的确认,这就优化了链接建立的延迟,而不同于UDP协议,它在应用层实现了TCP的可靠性、TLS的安全性以及HTTP2.0的多路复用特性。

 

1.stream(流)

https://blog.csdn.net/fsx2550553488/article/details/82318425

基于stream和connection级别的流量控制

由于QUIC支持多路服用,所以QUIC完全兼容HTTP2.0的流量控制机制:

    Stream 可以认为就是一条 HTTP 请求。(??流,是一个通道,单向或双向,里面是各种数据帧,一次完整的数据请求交互)

    Connection 可以类比一条 TCP 连接。多路复用意味着在一条 Connetion 上会同时存在多条 Stream。既需要对单个 Stream 进行控制,又需要针对所有 Stream 进行总体控制。

具体的QUIC实现流量控制机制:

通过 window_update 帧告诉对端自己可以接收的字节数,这样发送方就不会发送超过这个数量的数据。

通过 BlockFrame 告诉对端由于流量控制被阻塞了,无法发送数据。

QUIC 的流量控制和 TCP 有点区别,TCP 为了保证可靠性,窗口左边沿向右滑动时的长度取决于已经确认的字节数。如果中间出现丢包,就算接收到了更大序号的 Segment,窗口也无法超过这个序列号。但是QUIC 不同,就算此前有些 packet 没有接收到,它的滑动只取决于接收到的最大偏移字节数。

HTTP/2笔记之流和多路复用

针对Stream:

可用窗口=最大窗口数-接收到的最大偏移数

针对Connection:

可用窗口=stream1可用窗口+stream2可用窗口+streamN可用窗口

最重要的是,我们可以在内存不足或者上游处理性能出现问题时,通过流量控制来限制传输速率,保障服务可用性。

流(stream):QUIC连接中有序字节的单向或双向通道。 QUIC连接可以携带多个同时的流。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值