强曰为道
与天地相似,故不违。知周乎万物,而道济天下,故不过。旁行而不流,乐天知命,故不忧.
文档目录

TCP/UDP 网络协议教程

TCP/UDP 网络协议教程

概述

本教程系统地介绍 TCP/IP 协议栈中的传输层协议——TCP 和 UDP。从 OSI 模型基础开始,逐步深入到协议细节、编程实践和性能优化。

目录

章节 标题 核心内容
01 TCP/UDP 概述 OSI 模型、协议栈、适用场景对比
02 IP 协议基础 IP 协议、IPv4/IPv6、子网划分、路由、分片
03 TCP 头部详解 TCP 头部结构、标志位、序列号、确认号、窗口、校验和
04 TCP 连接管理 三次握手、四次挥手、状态机、TIME_WAIT、半连接
05 TCP 可靠传输 确认机制、重传策略、超时处理、SACK、滑动窗口
06 TCP 流量控制 窗口大小、接收窗口、发送窗口、零窗口
07 TCP 拥塞控制 慢启动、拥塞避免、快速恢复、BBR、CUBIC
08 TCP 选项机制 MSS、窗口缩放、时间戳、SACK 选项
09 UDP 协议详解 UDP 头部、无连接特性、适用场景、多播、广播
10 Socket API 基础 Socket 创建、绑定、监听、连接、IO 多路复用
11 TCP 编程实战 客户端/服务器编程、并发模型、粘包处理
12 UDP 编程实战 UDP 收发、广播、多播、可靠性 UDP
13 QUIC 协议 QUIC 原理、与 TCP 对比、0-RTT、连接迁移
14 网络调试工具 tcpdump、Wireshark、nc、ss、netstat、nmap
15 最佳实践 性能优化、安全配置、协议选择指南

学习建议

  1. 初学者:建议按顺序阅读 01-09 章,建立扎实的协议基础
  2. 有经验开发者:可直接跳转到 10-12 章的编程实战内容
  3. 运维/SRE:重点关注 04、07、14、15 章的连接管理和调试工具
  4. 面试准备:03-07 章是高频面试考点

环境准备

# 安装必要工具
sudo apt-get update
sudo apt-get install -y net-tools tcpdump wireshark nmap netcat-openbsd
sudo apt-get install -y python3 python3-pip gcc make

# Python 库
pip3 install scapy psutil