网络
#网络 · #总览
从物理层的以太网帧到应用层的 HTTP/gRPC——逐层深入网络协议的设计与工程实践。
本专题按照 TCP/IP 协议栈自底向上组织,涵盖链路层帧结构、IP 分片与路由、TCP 状态机与拥塞控制、TLS 加密握手、HTTP 版本演进、RPC 协议设计,以及各类连接技术(有线/WiFi/蜂窝/蓝牙)的对比。
核心速查
TCP 状态机
| 状态 | 含义 | 排查关键 |
|---|---|---|
| LISTEN | 服务端监听 | 正常 |
| SYN_SENT | 客户端发了 SYN | 检查防火墙/路由 |
| ESTABLISHED | 已建立连接 | 正常 |
| TIME_WAIT | 主动方等 2MSL | 过多: 检查短连接 |
| CLOSE_WAIT | 被动方收 FIN 未 close | 应用 bug!检查代码 |
HTTP 版本演进
| 版本 | 传输 | 多路复用 | 头部压缩 | 队头阻塞 |
|---|---|---|---|---|
| HTTP/1.1 | TCP Keep-Alive | ❌ | ❌ | HTTP HoL |
| HTTP/2 | TCP | ✅ (Stream) | ✅ (HPACK) | TCP HoL |
| HTTP/3 | QUIC (UDP) | ✅ (Stream) | ✅ (QPACK) | ❌ 无 |
连接技术对比
| 连接方式 | 带宽 | 延迟 | 移动性 | 覆盖 |
|---|---|---|---|---|
| 以太网 | 100M-400G | <1ms | ❌ | 100m-40km |
| WiFi 7 | 46 Gbps | 1-5ms | ✅ | 30-50m |
| 5G NR | 20 Gbps | 1-4ms | ✅✅✅ | 500m-2km |
| 蓝牙 5.4 | 3 Mbps | 5-20ms | ✅ | 10-200m |
常用调试命令
bash
ss -tanp # 所有 TCP 连接
tcpdump -i eth0 -nn 'port 80' -w capture.pcap
curl -v https://example.com # 详细请求过程
openssl s_client -connect example.com:443 -showcerts专题深入
- TCP/IP 协议栈结构 — 各层头部与帧结构、封装解封、网卡中断(NAPI/RSS/XDP/DPDK)、NAT原理
- TCP 协议深度解析 — 三次握手四次挥手、11状态机、拥塞控制、Nagle/NODELAY、半连接/全连接队列
- UDP 与 QUIC — UDP基础特性、QUIC协议(0-RTT/无队头阻塞/连接迁移)、HTTP/3、KCP可靠UDP
- DNS 域名解析 — 解析流程、记录类型、DoT/DoH/HTTPDNS、CDN调度、安全(劫持/DNSSEC)
- HTTP 协议 — 消息格式、Cookie/CORS/缓存、HTTP/1.0→1.1→2→3演进、连接复用、超时预算与客户端工程实践
- HTTPS 与 TLS — TLS 1.2/1.3握手对比、证书链验证、ECDHE数学原理、会话复用、握手成本与超时预算
- HTTP/2、RPC 与协议设计 — HTTP/2二进制帧、gRPC+Protobuf、WebSocket、序列化协议对比
- 连接技术 — 有线·无线·蜂窝 — 以太网、WiFi、蜂窝(3G/4G/5G)、蓝牙(BLE)、USB网络
- 网络工具与分析方法 — tcpdump/Wireshark/ss/curl/iperf 实战、BPF过滤、排查方法论
- 网络编程模型 — Socket API、C10K/C10M、epoll/Reactor/Proactor、Go netpoller
- 负载均衡与代理 — L4/L7均衡、加权轮询/Nginx/LVS、健康检查、会话保持
- 网络安全 — iptables/nftables防火墙、DDoS防护、mTLS、VPN/WireGuard
- SDN 与网络虚拟化 — VXLAN、CNI(Flannel/Calico/Cilium)、Service Mesh、eBPF/XDP
登录后即可发表评论 👇