Skip to content

5. 核心模块

网络可以拆成多个核心模块。本章聚焦 AI Infra 工程师最经常打交道的几个:NIC、协议栈、RDMA、CNI、DNS、负载均衡、网络可观测。

5.1 NIC 与网卡驱动

NIC(Network Interface Card)是服务器连接网络的硬件。现代 NIC 已经从简单的收发设备变成强大的“网络协处理器”。

传统 NIC

  • 数据收发都要经过内核协议栈;
  • CPU 负责中断处理、协议解析、数据拷贝。

SmartNIC / DPU

  • 把网络、存储、安全卸载到网卡;
  • 常见:NVIDIA ConnectX / BlueField、Intel IPU、AWS Nitro、Alibaba XPU。

RDMA NIC

  • 支持 RDMA 的网卡,如 NVIDIA ConnectX-6/7;
  • bypass 内核,直接读写远程内存;
  • 需要支持 RoCE 或 InfiniBand 的交换机。

5.2 Linux 网络协议栈

Linux 内核网络协议栈从底到上:

应用层:socket API

传输层:TCP / UDP

网络层:IP / ICMP / ARP

数据链路层:Ethernet / VLAN

网卡驱动 / NIC

NAPI

传统网卡每收到一个包就中断 CPU,高吞吐下中断风暴会拖垮 CPU。NAPI 让网卡在收到一批包后才中断一次。

RPS / RFS / XPS

技术作用
RPS把软中断分发到多个 CPU
RFS把同一 flow 的处理固定到同一个 CPU
XPS把发送队列映射到特定 CPU

分布式训练常用 RFS 把同一 NCCL 通信流的处理固定,减少缓存失效。

XDP / DPDK / RDMA

技术特点
XDP内核早期包处理,可 drop/redirect,延迟低
DPDK用户态轮询网卡,完全 bypass 内核
RDMA网卡直接读写远程内存,CPU 不参与数据搬运

5.3 RDMA 与 Verbs

RDMA 编程基于 Verbs API

c
ibv_create_qp();      // 创建 Queue Pair
ibv_reg_mr();         // 注册 Memory Region
ibv_post_send();      // 下发发送请求
ibv_poll_cq();        // 轮询完成队列

RoCEv1 vs RoCEv2

协议层级特点
RoCEv1二层(Ethernet)不需要 IP,但无法跨三层路由
RoCEv2三层(UDP/IP)可路由,主流选择

RoCEv2 需要网络支持 PFC(Priority Flow Control)ECN(Explicit Congestion Notification) 来避免丢包和死锁。

5.4 CNI 插件

bridge

最简单的 CNI:每个节点创建一个 Linux bridge,Pod veth 连到 bridge,bridge 通过 host 路由出节点。

Calico

  • 使用 BGP 在节点之间发布 Pod 路由;
  • 性能好,支持 NetworkPolicy;
  • 适合大规模集群。

Cilium

  • 基于 eBPF 实现 CNI、kube-proxy、NetworkPolicy、Service Mesh;
  • 高性能可观测;
  • 支持 RDMA/SR-IOV 集成。

Multus

允许一个 Pod 拥有多个网卡,适合:

  • RDMA 网络和管理网络分离;
  • 存储网络(如 NFS/RDMA)独立。

5.5 DNS

DNS 是互联网的命名系统,把域名解析为 IP。

DNS 解析流程

DNS 在 Kubernetes 中

Kubernetes 用 CoreDNS 为集群提供 DNS:

  • Service DNS:my-svc.my-namespace.svc.cluster.local
  • Pod DNS:pod-ip.my-namespace.pod.cluster.local

AI 推理服务中,DNS 解析延迟和 TTL 缓存会影响冷启动和故障切换速度。

5.6 负载均衡

kube-proxy 模式

模式特点
iptables默认,规则多时有性能问题
ipvs内核级,性能好
eBPFCilium 直接转发,延迟最低

Ingress / Gateway API

  • Ingress:K8s 的七层入口抽象;
  • Gateway API:Ingress 的下一代,更灵活,支持 TCP/UDP/HTTP/TLS 路由。

服务网格

Istio/Envoy 提供:

  • 流量管理(路由、灰度、熔断、重试);
  • 安全(mTLS);
  • 可观测(trace、metrics)。

AI 推理服务常用 Envoy 做 L7 网关。

5.7 网络可观测工具

工具用途
ping测试连通性和 RTT
traceroute / mtr追踪路径
tcpdump抓包分析
ss / netstat查看 socket 状态
iperf / iperf3测带宽
nccl-tests测 NCCL all-reduce 带宽和延迟
nvidia-smi topo查看 GPU/NIC 拓扑
perftestRDMA 性能测试
bpftool / bcc / bpftraceeBPF 动态追踪

5.8 本节小结

模块核心关注点
NIC传统 NIC / SmartNIC / DPU / RDMA NIC
Linux 协议栈socket/TCP/UDP/IP、NAPI、RPS/RFS/XPS、XDP/DPDK/RDMA
RDMAVerbs、QP/CQ/MR、RoCEv2、PFC/ECN
CNIbridge/Calico/Cilium/Multus
DNS解析流程、CoreDNS、TTL
负载均衡kube-proxy、Ingress/Gateway API、Envoy/Istio
可观测ping、tcpdump、iperf、nccl-tests、perftest、bcc

下一节,我们通过源码分析深入一个具体机制。

Released under CC-BY-SA-4.0 License.