Nginx支持QUIC/HTTP3的实现路径和实践思考(内含ppt)

2021-07-22 10:53:32 浏览数 (1)

代码语言:javascript复制
Nginx支持QUIC/HTTP3的实现路径和实践思考 | InfoQ公开课
https://www.infoq.cn/video/VPK3Zu0xrv6U8727ZSXB (内涵ppt)

受益

了解 HTTP3 协议解决了哪些问题

了解 HTTP3 协议的实现细节

能够基于 Nginx 搭建 HTTP3 Web Server

理解 Nginx HTTP3 框架与 HTTP 模块间的协作关系

大纲

UDP、连接、Stream、QPACK 等 HTTP3 概念间的关系

如何用 Nginx 搭建 HTTP3 服务器?

Nginx 是怎样实现 HTTP3 协议的?

内容介绍

  • HTTP3 协议在 HTTP1 语义的基础上,解决了 HTTP2 协议中存在的队头阻塞问题,同时基于 UDP 协议降低了握手时延。
  • 此外,面对不稳定的移动互联网环境,HTTP3 还提供了连接迁移功能。

因此可以说,理解 HTTP3 协议,能让我们轻松应对下一代高速互联网的挑战。

  • 经过 3 年多时间 27 个草案的协定,HTTP3 标准接近完成,Nginx 已经在 QUIC 分支中推出了支持 HTTP3 的官方版本。本次分享,将演示如何基于 BoringSSL 搭建 Nginx HTTP3 Web 服务器。
  • Nginx 基于 HTTP 模块构建了开放的生态, 当 Nginx 支持基于 UDP 的 HTTP3 协议后,它又是如何与原有 HTTP 模块互相协作的?本次分享也将从源码角度对其架构进行解读。
  1. udp 为什么可以跨 ip迁移,不用连接(手机)
  2. 队头阻塞问题
  1. 客户端主动发起请求
  2. 无状态导致编码效率低
  3. 慢启动(现在带宽很高)
  4. 为啥浏览器 限制多路复 epoll select 开发成本高,同步写代码最简单。【多路复用成本高,为啥浏览器不支持几万并发连接只支持6个】
  1. 视频编码 固定序列

60秒问答:系统调用之send函数

https://http3-explained.haxx.se/en/why-quic/why-tcphol

问 http3 出现根本原因是什么?是解决队头阻塞问题吗?

2个消息 一个黄色,一个绿色,send 缓冲区,缓冲区 变成有序字节流

假如 一个黄色消息丟了,会影响 绿色,感觉什么没什么

100个消息请求,假如一个丟了,剩余99个处理不了【这个理解不了】

问:连接怎么摆脱四元组做到跨ip迁移的?

  • 如何防止攻击,切换连接路径 ?秘钥
  • 跟坚哥学QUIC系列:连接迁移(Connection Migration)
  • 【翻译】ietf-quic-draft-24: 9. Connection Migration https://blog.csdn.net/chuanglan/article/details/103935180
  • https://datatracker.ietf.org/doc/html/draft-ietf-quic-transport-24#section-9
  • 单独的通道

问:tcp怎么做到有序字节流?

静态表 就是写死到代表中 每个数组代表什么含义?http2 有61个

  1. 时间先后 会阻塞
  1. 有时间先后,前面不知道后面意思?不同管道解释后面含义。 eg 1个管道传递 62, 另外一个管道解释62含义
  1. 网络是共享的,流控怎么做?
  2. 流和消息什么关系?tcp连接 vs请求和相应消息
  3. 问:quick协议在http3和流媒体有什么优劣?
    1. 在客户端好处很大
    2. 页面对象特别多, 迅雷视频下载导致丢包重传 阻塞,一个阻塞不能阻塞多个。
    3. 流媒体:可以丢包 不能延迟。半天听不到讲话不行的。

0 人点赞