📡 TP层 · 深度剖析
🌈 风格 · 30章全彩目录
1
TP层概述
01
TP层在TCP/IP栈中的位置 · 端到端通信、可靠传输、流量控制、复用分用 · TCP与UDP概览
2
端口与Socket
02
端口号分类(知名/注册/动态) · Socket编程模型 · 客户端与服务器通信流程
3
UDP协议详解
03
UDP报文格式(源/目的端口、长度、校验和) · 无连接、不可靠、低延迟 · DNS/DHCP/视频流
4
UDP校验和计算
04
校验和范围(伪首部+UDP报文) · 伪首部构造 · 计算步骤与示例
5
UDP编程实践
05
Python socket UDP通信 · 客户端/服务器代码 · 广播与多播
6
TCP协议概述
06
面向连接、可靠、全双工 · 报文格式(端口、序号、确认号、标志位、窗口等)
7
TCP序号与确认号
07
Seq与Ack作用 · 初始序号ISN生成 · 累计确认机制
8
TCP标志位详解
08
SYN,ACK,FIN,RST,PSH,URG含义与使用 · 标志位组合典型报文
9
TCP三次握手
09
SYN, SYN+ACK, ACK · 状态变迁 · 为什么是三次而不是两次或四次
10
TCP四次挥手
10
FIN,ACK,FIN,ACK过程 · 状态变迁 · TIME_WAIT作用与问题
11
TCP状态转换图
11
完整TCP状态机 · 状态转换条件 · 实际案例分析
12
TCP超时重传
12
RTT与RTO · SRTT/RTTVAR · Karn算法 · 重传二义性
13
TCP快速重传与快速恢复
13
重复ACK触发 · 快速重传 · NewReno快速恢复
14
TCP流量控制
14
滑动窗口 · rwnd与swnd · 窗口关闭/探测 · 糊涂窗口SWS避免
15
TCP拥塞控制(上)
15
cwnd与慢启动 · 拥塞避免 · 慢启动阈值ssthresh
16
TCP拥塞控制(下)
16
快速恢复 · Tahoe/Reno/NewReno区别 · SACK · BBR简介
17
TCP保活机制
17
Keep-Alive原理与配置 · 保活探测 · 应用层心跳 vs TCP Keep-Alive
18
TCP粘包与拆包
18
Nagle算法、TCP分段 · 解决方案(固定长度/分隔符/长度前缀)
19
TCP编程实践(上)
19
Python socket TCP · listen/accept阻塞 · send/recv缓冲区管理
20
TCP编程实践(下)
20
非阻塞I/O · select/poll/epoll · asyncio高并发TCP服务器
21
TCP与UDP对比
21
可靠性、延迟、吞吐量、头部开销 · 应用场景全面对比 · 如何选择
22
QUIC协议简介
22
HTTP/2队头阻塞 · 基于UDP · 0-RTT连接建立 · 多路复用
23
TP层安全
23
TLS/SSL在TP层位置 · TLS握手简介 · 对TCP性能影响
24
TP层性能优化
24
TCP参数调优(tcp_tw_reuse等) · Nagle与TCP_NODELAY · 大页与零拷贝
25
TP层抓包分析(上)
25
Wireshark基础 · 捕获/显示过滤器 · TCP流跟踪
26
TP层抓包分析(下)
26
重传、重复ACK、零窗口、SYN洪水 · 性能瓶颈定位
27
物联网中的TP层
27
MQTT over TCP · CoAP over UDP · NB-IoT与TP层适配
28
数据中心TP层
28
RDMA与InfiniBand · RoCEv2 · iWARP
29
云计算中的TP层
29
L4/L7负载均衡 · VIP与DIP · DPDK加速
30
TP层协议的未来
30
HTTP/3与QUIC普及 · MPTCP · 基于UDP的新一代传输(SRT/KCP)