Skip to content

Linux 网络栈原理、监控与调优:前言(2022)

来源: arthurchiao.art

核心信息

  • 作者背景: Arthur Chiao, 系列文章基于 Linux 5.10 + Mellanox ConnectX-4/5 (mlx5_core, 25Gbps) 驱动
  • 与 2016 旧版区别: 内核 5.10 (旧版 3.13) + 现代监控 (Prometheus/Grafana) + 二十多张流程图 + BPF/XDP 新增内容
  • 范围: "Linux networking stack" = 物理网卡到用户态程序, 不只内核协议栈

系列结构 (3 部分)

类别章节
原理与实现前言 / IRQ-softirq 基础 / RX 原理 / RX 调优 / (TX TBD)
监控(待补)
调优RX 调优 / (TX TBD)

80/20 网络问题分布

80%  — 常规问题, 日志/经验/Google/StackOverflow, 分钟到小时
  └── 20% — 需专业排查, 看代码/测试/社区, 小时到天
        └── 20% (4%) — 需深入钻研, 天到周
              └── 0.8% — 长尾, 需系统学习网络栈

核心论断: 这 4% 长尾问题, 唯一办法是系统学习网络栈, 理解包从网卡到用户态的完整路径.

云原生时代背景

  • K8s ServiceIP 抽象 L4 负载均衡 — 怎么实现由网络方案决定
  • K8s NetworkPolicy 抽象 L3/L4 访问控制 — 怎么实现由网络方案决定
  • 实现这些方案 必须熟悉内核网络栈

关键 takeaway

没有捷径, 除非业务方能忍受长尾, 或用加机器/工程手段绕过. 系统学习整个网络栈 + 现代监控 (Prometheus/Grafana) + BPF/XDP 新工具是必要投资.


原文 5.3KB, 仅前言, 主要是系列导览. 实质技术内容在后续章节.

基于 VitePress 构建