2025-07-25 | linux · networking | #kernel #tuning #sysctl #performance #NUMA #RSS #interrupt-affinity #benchmark #iperf3 #netperf #tcp #udp
系统化的 Linux 内核网络调优方法论:从基准测试建立性能基线,到 sysctl 参数与内核数据结构的对应关系,再到中断亲和性、NUMA 拓扑、ring buffer、qdisc 的逐层调优,最终通过 A/B 对比验证生产效果。
2025-07-24 | linux · networking | #kernel #kfree_skb #drop_monitor #drop_reason #dropwatch #perf #bpftrace #packet-loss #tracepoint
从内核源码拆解 Linux 网络丢包追踪的完整体系:kfree_skb tracepoint 与 80+ 种 drop_reason 枚举、drop_monitor netlink 子系统、dropwatch 工具、perf 丢包记录、bpftrace 丢包聚合脚本,以及生产环境常见丢包点速查表。
2025-07-23 | linux · networking | #kernel #bpftrace #perf #ftrace #tracepoint #kprobe #tcp_probe #kfree_skb #softirq #flame-graph
从内核 tracepoint 定义出发,系统讲解 bpftrace、perf、ftrace 三大工具在网络诊断中的实战用法:TCP 重传根因分析、softirq 延迟定位、收发包路径延迟剖析、conntrack 表满监控、per-function 火焰图,以及各工具的适用场景与性能开销对比。
2025-07-22 | linux · networking | #kernel #eBPF #TC-BPF #XDP #socket-ops #cgroup-BPF #sockmap #sk_msg #struct_ops #bpftrace
从内核源码全面拆解 eBPF 在网络子系统中的所有挂载点:TC BPF direct-action 模式与 bpf_mprog 多程序链、XDP 驱动级钩子回顾、socket ops 回调与 TCP 生命周期事件、cgroup BPF 策略控制、sk_msg/sk_skb 的 sockmap 重定向引擎、struct_ops 实现自定义拥塞控制,以及 bpftrace 可观测实战。
2025-07-21 | linux · networking | #kernel #XDP #eBPF #AF_XDP #xdp_buff #xdp_frame #devmap #cpumap #zero-copy #bpftrace
从内核源码拆解 XDP 的完整实现:xdp_buff 数据结构、驱动级钩子、五种动作路径、AF_XDP 零拷贝通道、devmap/cpumap/xskmap 重定向机制、多缓冲区支持,以及 bpftrace 可观测实战。
2025-07-20 | linux · networking | #kernel #memory #sk_buff #page_pool #NUMA #slab #socket #backpressure #bpftrace #truesize
从内核源码拆解网络子系统的内存管理全貌:sk_buff 分配路径与 slab 缓存、page_pool 页面回收机制、NUMA 感知分配策略、socket 内存记账与反压,以及 bpftrace 可观测实战。
2025-07-19 | linux · networking | #kernel #GRO #GSO #TSO #LRO #offload #NAPI #skb_shared_info #netdev_features
从内核源码拆解 GRO 聚合引擎、GSO 延迟分段、TSO 硬件卸载的完整实现,分析 LRO 废弃原因,以及卸载机制对 Netfilter/TC/隧道的影响与常见陷阱。
2026-04-27 | linux · networking | #rss #rps #rfs #xps #arfs #multiqueue #flow-steering #toeplitz #irq-affinity #numa #bpftrace
单队列网卡的时代早已过去,但多队列本身只是起点——如何把包分到正确的 CPU 上,才是性能的关键。本文从 Linux 6.6 内核源码拆解多队列网络的完整流量分发体系:RSS 硬件哈希与 Toeplitz 算法、RPS 软件多队列模拟与 get_rps_cpu() 路径、RFS 应用感知的 rps_sock_flow_table 机制、XPS 发送端 CPU/队列亲和、aRFS 硬件流表加速,以及 netdev_pick_tx() 发送队列选择逻辑。
2026-04-26 | linux · networking | #vxlan #ipip #gre #wireguard #tunnel #overlay #ip-tunnel #metadata-dst #encapsulation #vtep #bpftrace
隧道是 overlay 网络的基础设施。本文从 Linux 6.6 内核源码拆解四类隧道协议的实现:ip_tunnel 通用框架与 struct ip_tunnel_key 元数据、IPIP 最小开销封装、GRE 可选头部与 ERSPAN 集成、VXLAN 的 UDP 封装路径与 FDB 转发表、metadata mode 流式隧道与 OVS/Cilium 集成、WireGuard 的 Noise 协议与加密路由模型,以及各协议的封装开销与硬件卸载能力对比。
2026-04-25 | linux · networking | #veth #bridge #macvlan #ipvlan #tun #tap #virtual-device #fdb #stp #container-networking #bpftrace
容器网络不能没有虚拟设备。本文从 Linux 6.6 内核源码拆解四类核心虚拟网络设备的实现:veth pair 的 veth_xmit 零拷贝转发与 XDP native 模式、Linux bridge 的 br_handle_frame 转发路径与 FDB 学习/老化机制、macvlan 五种模式的内核实现差异、tun/tap 的内核态与用户态数据交换路径,以及各类设备的性能特征对比。
2026-04-24 | linux · networking | #netns #network-namespace #struct-net #container-networking #veth #nsproxy #pernet-operations #isolation #bpftrace
容器网络的一切隔离能力,都建立在网络命名空间之上。本文从 Linux 6.6 内核源码拆解 struct net 的完整布局、possible_net_t 与 RCU 访问模式、pernet_operations 子系统注册与生命周期回调、copy_net_ns() 命名空间创建路径、per-netns 路由表/netfilter/socket 隔离机制,以及 veth pair 跨命名空间数据转发的 skb->dev 切换原理。
2026-04-23 | linux · networking | #tc #qdisc #traffic-control #htb #fq-codel #tbf #edt #pacing #tc-bpf #multiqueue #bpftrace
dev_queue_xmit() 不是直接把包交给网卡——中间还有一层 Traffic Control。本文从 Linux 6.6 内核源码拆解 TC 框架的完整实现:struct Qdisc 与 Qdisc_ops 操作表、pfifo_fast/fq_codel/HTB/TBF 的内核实现差异、TCQ_F_CAN_BYPASS 快路径、TCQ_F_NOLOCK 无锁排队、EDT(Earliest Departure Time)调度模型、TC BPF direct-action 模式,以及 MQ 多队列根 qdisc 与 netdev_queue 的关系。
2026-04-22 | linux · networking | #netfilter #conntrack #nat #iptables #nftables #nf-hook #nf-conn #snat #dnat #bpftrace
iptables/nftables 只是用户态前端——真正拦截每一个网络包的是内核中的 Netfilter 框架。本文从 Linux 6.6 内核源码拆解 Netfilter 的三大核心:nf_hook_entries 钩子链的注册与遍历、nf_conn 连接跟踪的双向元组哈希表与 GC 机制、NAT 的 SNAT/DNAT 转换路径;以及 nf_tables 相比 iptables 的关键架构升级——generation-based 无锁更新和 blob 化规则存储。
2026-04-21 | linux · networking | #routing #fib #lc-trie #policy-routing #ecmp #nexthop #dst-entry #rtable #fnhe #fib6 #bpftrace
IP 包到了 ip_rcv_finish(),下一跳怎么选?本文深入拆解 Linux 路由子系统的完整实现:fib_table 的 LC-trie 数据结构、fib_info/fib_nh 的内存布局、fib_rules 策略路由链、ECMP 多路径哈希选路、nexthop 对象 API、FNHE 异常缓存(路由缓存的替代品)、dst_entry 与 rtable 的关系、IPv6 fib6 差异,以及 bpftrace 追踪路由决策的实战方法。
2026-04-20 | linux · networking | #neighbor #arp #linux-kernel #ndp #nud-state #neigh-table #proxy-arp #gc #l2-resolution #bpftrace
IP 层知道下一跳是 10.0.0.1,但网卡发帧需要 MAC 地址。ARP 解析只是表面——底层是邻居子系统(neighbour subsystem)的完整状态机:NUD_INCOMPLETE → NUD_REACHABLE → NUD_STALE → NUD_DELAY → NUD_PROBE → NUD_FAILED。本文从 Linux 6.6 内核源码拆解 struct neighbour、neigh_table 双哈希表、ARP 请求/响应处理、NDP(IPv6)、Proxy ARP、GC 回收机制,以及 neigh_connected_output 快路径的 L2 头缓存优化。
2026-04-20 | linux · networking | #socket #linux-kernel #vfs #proto-ops #reuseport #epoll #sock-alloc #inet-create #bpftrace
你调用 socket(AF_INET, SOCK_STREAM, 0) 创建一个 TCP 连接,底层发生了什么?内核分配了两个核心对象——VFS 层的 struct socket 和协议层的 struct sock,通过 proto_ops 和 proto 两张分发表,把文件系统语义的 read/write 翻译成协议语义的 tcp_sendmsg/tcp_recvmsg。本文从 Linux 6.6 内核源码拆解 socket 创建、双层分发、SO_REUSEPORT 多核分发、epoll 集成的完整实现。
2026-04-20 | linux · networking | #udp #linux-kernel #socket-lookup #reuseport #udp-gro #recvmmsg #early-demux #encapsulation #bpftrace
UDP 简单?在内核中它一点都不简单。双哈希表 socket 查找、SO_REUSEPORT 多核分发、Early Demux 路由缓存、UDP GRO 聚合、reader_queue 无锁读、forward allocation 内存管理、UDP 封装(ESP/L2TP/VXLAN)——本文从 Linux 6.6 内核源码拆解 UDP 的每一个优化细节。
2026-04-20 | linux · networking | #tcp #linux-kernel #congestion-control #tcp-sendmsg #tcp-write-xmit #tsq #pacing #rack-tlp #cubic #bbr #bpftrace
tcp_sendmsg 把用户数据拷到 sk_buff 就完事了?远没有。后面还有 Nagle 合并、TSQ 限流、cwnd/rwnd 双窗口门控、RACK-TLP 丢包检测、拥塞状态机五态跳转、sk_pacing_rate 软件限速。本文从 Linux 6.6 内核源码拆解 TCP 数据传输的完整路径——从 send() 到 ACK 处理——以及拥塞控制框架 tcp_congestion_ops 的可插拔架构。
2026-04-20 | linux · networking | #tcp #linux-kernel #syn-queue #accept-queue #request-sock #tcp-fast-open #syn-cookie #time-wait #tcp-state-machine #bpftrace
TCP 连接在内核中不只是一个状态机——它是一组精心设计的数据结构和队列。本文从 Linux 6.6 内核源码出发,拆解 TCP 连接建立的 SYN Queue / Accept Queue 二级队列模型、request_sock 半连接对象、tcp_sock 全连接对象、SYN Cookie 无状态防御、TCP Fast Open 零 RTT 机制、inet_timewait_sock 轻量级 TIME_WAIT 实现,以及完整的 TCP 状态机在内核中的真实转换路径。
2026-04-20 | linux · networking | #ip-layer #linux-kernel #fib #routing #lc-trie #ip-fragment #netfilter #pmtu #ecmp #bpftrace
IP 层是 Linux 网络栈的中枢——收包时决定本地投递还是转发,发包时查路由、过 Netfilter、做分片。本文从 Linux 6.6 内核源码出发,拆解 ip_rcv → 路由决策 → ip_local_deliver / ip_forward 的完整路径,深入 FIB 表的 LC-trie 实现、策略路由 ip rule 选表机制、IP 分片/重组状态机、PMTU 发现与 FNHE 缓存,以及 Netfilter 五个钩子点的实际调用时机。
2026-04-20 | linux · networking | #softirq #ksoftirqd #net_rx_action #net_tx_action #threaded-napi #preempt-rt #bpftrace #linux-kernel #network-stack
网络包到达网卡后,真正消耗 CPU 的处理全部发生在软中断上下文。本文从 Linux 6.6 内核源码出发,拆解 softirq 10 向量优先级体系、__do_softirq() 主循环与 MAX_SOFTIRQ_RESTART 放弃策略、ksoftirqd 调度时机、Threaded NAPI 替代方案,以及 CONFIG_PREEMPT_RT 下的行为变化。最后用 bpftrace/perf 实测软中断延迟和 time_squeeze 饥饿。
2026-04-20 | linux · networking | #tx-path #linux-kernel #tcp-sendmsg #qdisc #gso #tso #dev_queue_xmit #ndo_start_xmit #bql #bpftrace
一个用户态 send() 调用要走过 TCP 分段、IP 路由、Netfilter 钩子、Qdisc 排队、GSO 分段、驱动 DMA 映射六个阶段才能把数据送上网线。本文从 Linux 6.6 内核源码出发,逐函数拆解完整的 TX 发包路径,深入 TSQ 限流、Qdisc 调度、BQL 防膨胀、GSO/TSO 分段决策等核心机制。
2026-04-20 | linux · networking | #rx-path #linux-kernel #napi #gro #netif_receive_skb #ip_rcv #tcp_v4_rcv #softirq #bpftrace #network-stack
一个网络包从网卡 DMA 到用户态 recvmsg(),要走过硬中断、NAPI 轮询、GRO 聚合、协议分发、IP 路由、Netfilter 钩子、TCP/UDP 处理、socket 队列八个阶段。本文从 Linux 6.6 内核源码出发,逐函数拆解完整的 RX 收包路径,量化每一跳的 CPU 开销,并用 bpftrace 实测各阶段延迟分布。
2026-04-20 | linux · networking | #net_device #linux-kernel #napi #nic-driver #ring-buffer #dma #multi-queue #network-stack
net_device 是 Linux 内核中一切网络设备的抽象——物理网卡、虚拟 veth、隧道设备都实现同一套接口。本文从 Linux 6.6 源码出发,拆解 net_device 的结构体布局、net_device_ops 驱动操作表、NAPI 轮询模型、多队列架构、DMA ring buffer 与中断机制。
2026-04-20 | linux · networking | #sk_buff #linux-kernel #network-stack #skb_shared_info #page-pool #bpftrace #zero-copy #NAPI
sk_buff 是 Linux 内核网络栈的通用货币——每一个收到或发出的网络包,都必须装在这个容器里走完全程。本文从 Linux 6.6 内核源码出发,拆解 sk_buff 的内存布局、四大指针操作、clone 与 copy 的代价差异、skb_shared_info 的 fragment 机制,并用 bpftrace 实测 sk_buff 分配热点和生命周期。
2026-04-20 | linux · networking | #linux-kernel #network-stack #sk_buff #netfilter #tcp #routing #ebpf #xdp
从 sk_buff 到 XDP,从收包路径到 TC 框架——系统拆解 Linux 内核网络子系统的每一个核心模块。基于 Linux 6.6 LTS 源码,配合 bpftrace/perf 实测追踪。
2026-04-11 | linux · containers · networking | #veth #macvlan #ipvlan #ebpf #cilium #iptables #container-networking #cni #benchmark #xdp
容器网络为什么比裸机慢?veth + bridge 每个包经过两次 netfilter,macvlan 跳过了 bridge,Cilium 用 eBPF 替掉了 iptables。到底慢多少?我们用 iperf3、wrk 和自定义 echo server 实测。
2026-04-03 | linux · networking | #linux-kernel #network-stack #sk_buff #NAPI #netfilter #bpftrace #softirq #RPS #XPS #irqbalance #perf
从 NIC 驱动到用户态 read(),一个网络包在 Linux 内核中到底经历了什么?本文拆解 sk_buff、NAPI、softirq、netfilter 的完整收包路径,并用 bpftrace 实测追踪每一跳的延迟。
2026-04-03 | linux · networking | #veth #bridge #tun #tap #macvlan #ipvlan #network-namespace #virtual-network
五种 Linux 虚拟网络设备的内核实现原理、数据流路径、性能代价与适用场景,附手工实验验证。
2026-04-03 | linux · networking | #netfilter #iptables #nftables #conntrack #SNAT #DNAT #firewall #linux-kernel
Netfilter 五个 hook 点、四表五链的真实遍历顺序、conntrack 状态机与性能开销、SNAT/DNAT/MASQUERADE 辨析,再到 nftables 替代方案和 eBPF 数据面——从内核视角拆解 Linux 防火墙。
2026-04-03 | linux · networking | #routing #vxlan #geneve #tunnel #FIB #ECMP #wireguard #overlay-network
Linux 路由表、FIB 查找、策略路由,以及 VXLAN/Geneve/WireGuard 隧道技术深度拆解
2026-04-03 | linux · networking | #BGP #routing #Calico #BIRD #route-reflector #EVPN #FRRouting #containerlab
从 AS 和路径属性到 Route Reflector,理解 Calico 底层依赖的 BGP 协议
2026-04-03 | linux · networking | #eBPF #XDP #TC #bpf_redirect #kube-proxy #programmable-dataplane #BPF-map
eBPF 在网络栈中的五大挂载点,bpf_redirect 三兄弟,以及动手写一个 TC BPF 包过滤器
2026-04-03 | kubernetes · networking | #kubernetes #network-model #Pod #pause-container #CNI #netns #containerd
K8s 网络三条铁律、pause 容器的真实作用、Pod 网络命名空间的创建全过程
2026-04-03 | kubernetes · networking | #CNI #container-networking #IPAM #kubelet #CRI #network-plugin #Go
从 CNI 规范的四个操作到手写一个最简 CNI 插件,理解 K8s 网络的插件化机制
2026-04-03 | kubernetes · networking | #kube-proxy #Service #iptables #IPVS #nftables #EndpointSlice #ClusterIP #load-balancing
从 userspace 到 eBPF,拆解 kube-proxy 四种模式的实现原理与性能权衡
2026-04-03 | kubernetes · networking | #IPv4 #IPv6 #dual-stack #ipFamilyPolicy #Happy-Eyeballs #CNI #kind
K8s 双栈网络的演化历程、地址分配机制、CNI 支持现状与现实中的陷阱
2026-04-03 | kubernetes · networking | #Flannel #VXLAN #host-gw #WireGuard #CNI #overlay-network #flanneld
Flannel 三种 backend 的深度拆解,以及为什么它仍然是某些场景的最佳选择
2026-04-03 | kubernetes · networking | #Calico #BGP #Felix #BIRD #Typha #eBPF #iptables #IPAM #CNI
Felix、BIRD、Typha 四大组件拆解,从纯 BGP 路由到 eBPF 数据面的 Calico 全景
2026-04-03 | kubernetes · networking | #Cilium #eBPF #Identity #kube-proxy #Hubble #ClusterMesh #Maglev #service-mesh
从 eBPF 数据面到 Identity 安全模型,全面拆解 Cilium 的架构与实现
2026-04-03 | kubernetes · networking | #CNI #Flannel #Calico #Cilium #benchmark #selection-guide #migration #Weave #Antrea
不是功能矩阵,而是基于真实场景和性能实测的 CNI 选型决策指南
2026-04-03 | kubernetes · networking | #CoreDNS #DNS #ndots #search-domain #NodeLocal-DNSCache #autopath #ExternalDNS
ndots:5 的查询放大、search domain 陷阱、NodeLocal DNSCache,以及 DNS 排查全套路
2026-04-03 | kubernetes · networking | #Service #ExternalTrafficPolicy #TopologyAwareHints #MetalLB #EndpointSlice #traffic-locality
ExternalTrafficPolicy 的真实行为、拓扑感知路由机制、MetalLB 深度拆解
2026-04-03 | kubernetes · networking | #Ingress #NGINX #Envoy #Traefik #cert-manager #TLS #Gateway-API #load-balancing
主流 Ingress Controller 架构对比、热更新机制、TLS 终止,以及为什么 Ingress API 注定被替代
2026-04-03 | kubernetes · networking | #Gateway-API #HTTPRoute #GatewayClass #Envoy-Gateway #GAMMA #canary #traffic-management
角色分离、资源模型、高级流量管理,以及从 Ingress 迁移到 Gateway API 的实战路径
2026-04-03 | kubernetes · networking | #NetworkPolicy #Calico #Cilium #iptables #eBPF #zero-trust #AdminNetworkPolicy
从默认放行到零信任白名单,NetworkPolicy 的实现原理、策略模式与 CRD 扩展
2026-04-03 | kubernetes · networking | #Cilium #Identity #zero-trust #mTLS #SPIFFE #L7-policy #eBPF #ClusterMesh
从 IP-based 到 Identity-based 安全,Cilium 零信任网络架构的实现与落地
2026-04-03 | kubernetes · networking | #eBPF #iptables #nftables #netfilter #firewall #conntrack #XDP #performance
iptables、nftables、eBPF 三种防火墙机制的架构差异、性能对比与迁移路径
2026-04-03 | kubernetes · networking | #WireGuard #IPsec #mTLS #encryption #SPIFFE #Cilium #Calico #key-management
WireGuard、IPsec、透明 mTLS 三种容器网络加密方案的原理、性能与选型
2026-04-03 | kubernetes · networking | #MTU #PMTUD #VXLAN #WireGuard #IPsec #troubleshooting #CNI #Jumbo-Frame
MTU 层层封装计算、不匹配症状诊断、PMTUD 黑洞排查,以及各 CNI 的最佳 MTU 配置
2026-04-03 | kubernetes · networking | #DSR #Direct-Server-Return #Cilium #Maglev #load-balancing #LVS #SNAT #eBPF
DSR 三种实现方式、Cilium DSR 深度拆解、Maglev 一致性哈希,以及 DSR 的那些坑
2026-04-03 | kubernetes · networking | #observability #Hubble #Pixie #Tetragon #tcpdump #Grafana #Prometheus #eBPF
三层可观测性体系:经典抓包工具、eBPF 原生观测、全栈 Metrics/Logs/Traces 一体化
2026-04-03 | kubernetes · networking | #troubleshooting #conntrack #MTU #DNS #NetworkPolicy #kube-proxy #tcpdump #nsenter
10 个真实网络故障案例拆解,从 conntrack 表满到 ClusterMesh DNS 失败的完整排查手册
2026-04-03 | kubernetes · networking | #multi-cluster #ClusterMesh #Submariner #MCS-API #ServiceExport #GlobalNet #CIDR
三种多集群网络模式的深度对比,从 Cilium ClusterMesh 到 Submariner 到 MCS API
2026-04-03 | kubernetes · networking | #cross-cloud #VPC-peering #AWS-VPC-CNI #Azure-CNI #GKE #federation #Istio #transit-gateway
VPC Peering、云厂商 CNI 对比、三云联邦网络架构设计实战
2026-04-03 | linux · networking | #eBPF #XDP #struct_ops #AF_XDP #SmartNIC #P4 #TCP-CC #BPF-arena
从 2014 年 socket filter 到可编程拥塞控制和 SmartNIC offload,eBPF 网络能力的完整演化史
2026-04-03 | kubernetes · networking | #future-trends #eBPF #Gateway-API #zero-trust #RDMA #GPUDirect #multi-cloud #architect
四大趋势、AI 工作负载挑战、架构师决策矩阵,以及 K8s 网络的知识图谱
2026-04-25 | linux · networking · ebpf | #xdp #ebpf #dpdk #ddos #firewall #smartnic #network-performance #linux-kernel
当 DDoS 洪水来袭,iptables 在协议栈里挣扎,而 XDP 在网卡驱动层就把垃圾包丢了。不进协议栈、不分配 skb、不走 netfilter——这才是丢包该有的样子。
2026-06-10 | networking · protocol | #quic #ngtcp2 #tls13 #udp #c #handshake #http3
上篇讲哲学,这篇写代码。用 C + ngtcp2 从 UDP socket 开始,手撕 Initial → Handshake → 1-RTT,逐帧拆解 QUIC 握手到底在干什么。
2026-04-03 | kubernetes · networking | #kubernetes #networking #series #index
从 Linux 网络栈的第一个字节到多集群联邦网络的最后一跳——用代码、抓包和内核源码把 Kubernetes 网络讲透
2026-04-03 | networking | #networking #libevent #multithreading #event-driven #epoll
多线程 Libevent 编程实践:异步网络 IO、事件驱动架构与跨平台开发
2026-04-03 | networking | #networking #tcp #syn #linux #performance-tuning
TCP SYN 处理详解:三次握手、SYN Flood 防护与网络性能优化
2025-10-30 | networking | #libevent #buffer #evbuffer #networking #C
Libevent 源码分析:evbuffer 数据缓冲结构设计与实现原理