互联网
类型
可以朗读
语音朗读
183千字
字数
2024-07-01
发行日期
展开全部
主编推荐语
解析HTTP/3QUIC通信协议,理论与实践相结合。
内容简介
随着通信技术的不断进步,越来越多的应用开始向HTTP3迁移,这极大地提升了互联网的数据传输效率与安全性。本书深入浅出地剖析了HTTP3的网络传输层协议QUIC,是作者在多年实践中总结的智慧结晶。本书不仅可以帮助读者精准判断QUIC技术的适用场景,还能在问题出现时,迅速帮助读者分析原因并找到解决方案。
目录
- 版权信息
- 前言
- 第1章 QUIC产生背景
- 1.1 网络传输协议
- 1.1.1 UDP
- 1.1.2 TCP
- 1.1.3 SCTP
- 1.1.4 其他协议
- 1.2 TLS版本演化
- 1.2.1 SSL系列协议
- 1.2.2 TLS 1.0
- 1.2.3 TLS 1.1
- 1.2.4 TLS 1.2
- 1.2.5 TLS 1.3
- 1.3 HTTP版本演化
- 1.3.1 HTTP1
- 1.3.2 HTTP1.1
- 1.3.3 HTTP2
- 1.4 QUIC的诞生
- 第2章 QUIC报文
- 2.1 分层
- 2.2 报文格式
- 2.2.1 长首部报文
- 2.2.2 短首部报文
- 2.2.3 无状态重置报文
- 2.3 连接标识
- 2.3.1 发布连接标识
- 2.3.2 撤销连接标识
- 2.3.3 零长度的连接标识
- 2.3.4 连接标识协商与验证
- 2.4 报文编号
- 2.4.1 报文编号空间
- 2.4.2 报文编号编码
- 2.4.3 报文编号解码
- 2.5 流
- 2.5.1 流标识
- 2.5.2 流的打开和关闭
- 2.5.3 流状态
- 2.6 帧
- 2.6.1 PADDING帧
- 2.6.2 PING帧
- 2.6.3 ACK帧
- 2.6.4 RESET_STREAM帧
- 2.6.5 STOP_SENDING帧
- 2.6.6 CRYPTO帧
- 2.6.7 NEW_TOKEN帧
- 2.6.8 STREAM帧
- 2.6.9 MAX_DATA帧
- 2.6.10 MAX_STREAM_DATA帧
- 2.6.11 MAX_STREAMS帧
- 2.6.12 DATA_BLOCKED帧
- 2.6.13 STREAM_DATA_BLOCKED帧
- 2.6.14 STREAMS_BLOCKED帧
- 2.6.15 NEW_CONNECTION_ID帧
- 2.6.16 RETIRE_CONNECTION_ID帧
- 2.6.17 PATH_CHALLENGE帧
- 2.6.18 PATH_RESPONSE帧
- 2.6.19 CONNECTION_CLOSE帧
- 2.6.20 HANDSHAKE_DONE帧
- 2.6.21 扩展其他帧
- 2.7 错误码
- 2.7.1 连接错误码
- 2.7.2 应用错误码
- 2.8 传输参数
- 2.9 变长整型编码
- 第3章 QUIC基础
- 3.1 报文确认
- 3.1.1 生成确认
- 3.1.2 处理确认和重传
- 3.1.3 RTT计算
- 3.1.4 丢包检测
- 3.1.5 探测超时
- 3.2 流控
- 3.2.1 流级别的流控
- 3.2.2 连接级别的流控
- 3.3 拥塞控制
- 3.3.1 拥塞控制概述
- 3.3.2 QUIC拥塞控制的改进
- 3.3.3 ECN
- 3.3.4 QUIC拥塞控制算法NewReno
- 3.3.5 QUIC拥塞控制算法BBR
- 3.4 PMTU探测
- 3.4.1 PMTUD
- 3.4.2 DPLPMTUD
- 3.5 地址验证
- 3.5.1 连接建立期间隐式地址验证
- 3.5.2 通过重试报文进行地址验证
- 3.5.3 通过NEW_TOKEN帧进行地址验证
- 3.5.4 通过PATH_CHALLENGE帧进行地址验证
- 3.6 连接迁移
- 3.6.1 客户端有意的连接迁移
- 3.6.2 客户端无意的连接迁移
- 3.6.3 客户端迁移安全考虑
- 3.6.4 服务器移到首选地址
- 3.7 中间件的RTT测量
- 第4章 QUIC加密与保护
- 4.1 TLS 1.3介绍
- 4.1.1 TLS 1.3的密钥
- 4.1.2 TLS 1.3首次连接
- 4.1.3 TLS 1.3恢复连接
- 4.1.4 密钥更新
- 4.2 QUIC与TLS 1.3
- 4.2.1 TCP与TLS
- 4.2.2 QUIC与TLS的关系
- 4.2.3 QUIC与TLS的接口
- 4.2.4 QUIC对TLS的修改
- 4.3 QUIC的报文保护
- 4.3.1 QUIC的加密级别
- 4.3.2 丢弃密钥
- 4.4 首部保护
- 4.5 负载保护
- 4.5.1 初始报文
- 4.5.2 重试报文
- 4.5.3 密钥更新
- 4.6 连接恢复与0-RTT
- 4.6.1 0-RTT的发送与接收
- 4.6.2 0-RTT密钥
- 第5章 QUIC连接的建立与关闭
- 5.1 首次建立连接
- 5.1.1 QUIC报文交互
- 5.1.2 验证客户端证书
- 5.1.3 建立连接时TLS参数不匹配
- 5.1.4 建立连接过程中丢包
- 5.1.5 版本协商
- 5.2 连接恢复
- 5.2.1 连接恢复过程
- 5.2.2 0-RTT传输参数
- 5.2.3 0-RTT安全
- 5.2.4 0-RTT例子
- 5.3 连接关闭
- 5.3.1 空闲超时
- 5.3.2 立即关闭
- 5.3.3 无状态重置
- 第6章 QUIC中间件
- 6.1 简单的负载均衡
- 6.1.1 服务器共享地址
- 6.1.2 服务器不共享地址
- 6.2 协作的负载均衡
- 6.2.1 连接标识的格式
- 6.2.2 配置代理
- 6.2.3 服务器生成连接标识
- 6.2.4 负载均衡器路由算法
- 6.3 重试卸载
- 6.3.1 不共享状态的重试卸载
- 6.3.2 共享状态的重试卸载
- 第7章 QUIC扩展协议
- 7.1 多路QUIC
- 7.1.1 多路QUIC传输参数
- 7.1.2 报文编号空间
- 7.1.3 增加的新帧
- 7.1.4 多路的加解密
- 7.1.5 新路径建立和拆除过程
- 7.1.6 数据的调度
- 7.2 不可靠数据报
- 第8章 HTTP3
- 8.1 流的使用
- 8.1.1 控制流
- 8.1.2 推送流
- 8.1.3 编码器流和解码器流
- 8.2 HTTP3帧
- 8.2.1 DATA帧
- 8.2.2 HEADER帧
- 8.2.3 CANCEL_PUSH帧
- 8.2.4 SETTING帧
- 8.2.5 PUSH_PROMISE帧
- 8.2.6 GOAWAY帧
- 8.2.7 MAX_PUSH_ID帧
- 8.3 HTTP3交互
- 8.3.1 建立连接
- 8.3.2 请求和响应
- 8.3.3 服务器推送
- 8.3.4 连接关闭
- 8.4 QPACK
- 8.4.1 前缀整数编码
- 8.4.2 静态字典
- 8.4.3 动态字典
- 8.4.4 字段行集合编码
- 8.4.5 QPACK例子
- 第9章 基于QUIC的其他协议
- 9.1 DNS
- 9.1.1 DNS简介
- 9.1.2 DoQ
- 9.2 使用QUIC的通用考虑
- 9.2.1 0-RTT使用的考虑
- 9.2.2 保活的考虑
- 9.2.3 传输协议回退的考虑
- 9.2.4 流的使用
- 9.2.5 连接关闭
- 9.2.6 应用标识
- 第10章 QUIC开源代码与应用实例
- 10.1 接口介绍
- 10.1.1 QUIC的配置
- 10.1.2 TLS的配置
- 10.1.3 服务器接口
- 10.1.4 客户端的接口
- 10.1.5 连接的接口
- 10.1.6 流的接口
- 10.2 源码使用
- 10.2.1 使用QUIC
- 10.2.2 HTTP3接口使用
- 10.3 quic-go源码分析
- 10.3.1 QUIC源码分析
- 10.3.2 HTTP3源码分析
- 10.3.3 qtls源码分析
- 第11章 分析工具
- 11.1 qlog
- 11.2 qvis
- 11.3 wireshark
- 第12章 QUIC未来展望
- 12.1 QUIC的局限性
- 12.2 QUIC未来发展
展开全部
出版方
机械工业出版社
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。