Skip to content

网络 ​

#网络 · #总览

从物理层的以太网帧到应用层的 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.1TCP Keep-Alive❌❌HTTP HoL
HTTP/2TCP✅ (Stream)✅ (HPACK)TCP HoL
HTTP/3QUIC (UDP)✅ (Stream)✅ (QPACK)❌ 无

连接技术对比 ​

连接方式带宽延迟移动性覆盖
以太网100M-400G<1ms❌100m-40km
WiFi 746 Gbps1-5ms✅30-50m
5G NR20 Gbps1-4ms✅✅✅500m-2km
蓝牙 5.43 Mbps5-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

参考 ​

批注模式

💬 文章评论

暂无评论,来说点什么吧 👇

编程学习笔记