由浅深,详细解析。从常见传输协议的化过程始介绍,全面地分析了传输协议、TLS版本、HTTP的发展。原理清晰,逻辑严密。从传输协议设计的角度出发,详细介绍了QUIC各方面的实现,并结合QUIC报文的具体格式介绍了QUIC的连过程和传输方式。精准深,示例翔实。介绍了QUIC常用的分析工具,并以具体实例展示了使用方法。结合源码,实用性强。分析了最常用的源码之一quic-go,介绍了最常用的应用之一DNS。
售 价:¥
纸质售价:¥62.30购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
前言
Chapter 1 第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的诞生
Chapter 2 第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 变长整型编码
Chapter 3 第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测量
Chapter 4 第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密钥
Chapter 5 第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 无状态重置
Chapter 6 第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 共享状态的重试卸载
Chapter 7 第7章 QUIC扩展协议
7.1 多路QUIC[1]
7.1.1 多路QUIC传输参数
7.1.2 报文编号空间
7.1.3 增加的新帧
7.1.4 多路的加解密
7.1.5 新路径建立和拆除过程
7.1.6 数据的调度
7.2 不可靠数据报
Chapter 8 第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例子
Chapter 9 第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 应用标识
Chapter 10 第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源码分析
Chapter 11 第11章 分析工具
11.1 qlog
11.2 qvis
11.3 wireshark
Chapter 12 第12章 QUIC未来展望
12.1 QUIC的局限性
12.2 QUIC未来发展
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜