Linux性能调优之内核网络栈发包收包认知
写在前面
- 陆续整理一些 Linux 网络调优的的技术博客
- 讲网络调优,离不开讲 ebpf,对于网络优化,我计划分四个方向整理:
- 1.内核网络栈的认知,以及一些常见的网络认知
- 2.网络相关的内核参数优化以及监控指标认知
- 3.BPF/eBPF 对于网络的性能监控与调优
- 4.容器网络/软件定义网络SDN,云原生组网认知
- 有其他小伙伴想了解的方向欢迎留言,本篇博客是第一部分,内核网络栈的认知
- 理解不足小伙伴帮忙指正 😃,生活加油
99%的焦虑都来自于虚度时间和没有好好做事,所以唯一的解决办法就是行动起来,认真做完事情,战胜焦虑,战胜那些心里空荡荡的时刻,而不是选择逃避。不要站在原地想象困难,行动永远是改变现状的最佳方式
内核网络栈的认知
在 Linux 系统中,网络数据包的接收发送是一个涉及硬件、驱动、内核协议栈的复杂协作过程。很多开发者可能只关注应用层的网络调用(如 socket 编程),却对内核底层如何 “迎接” 和 “处理”,发送数据包知之甚少。实际上涉及到一些调优,解决网络指标饱和或者异常的情况都需要对底层有一定的了解,同时在使用 ebpf
进行网络性能观测的时候,主要是通过一些内核态和用户的系统调用进行埋点,对数据进行汇总分析,所以对内核的认知是必不可少的。