- 2024-08-150233-Net-linux 收包流程
环境Time2022-11-27WSL-Ubuntu22.04前言说明参考:https://github.com/leandromoreira/linux-network-performance-parameters目标了解linux系统接收网络数据包的具体流程。数据到达网卡网卡将光电信号还原成数据包。网卡校验如果不是在混杂模式下,网卡校验数据包中
- 2024-01-30网络收包讲解
图1整体流程图一、系统启yjqe动1.1概述网卡驱动的加载网卡驱动的初始化(probe)网卡设备的启用(ndo_open)软中断进程初始化(ksoftirqd)网络子系统初始化(net)网络协议栈初始化1.2网卡驱动的加载网卡需要有驱动才能工作,驱动是加载到内核中的模块,负责衔接网卡
- 2024-01-30收包
整体流程图三、网络接口层3.1概述数据包在本层主要处理流程有五:网卡收到数据包,DMA方式写入RingBuffer,发出硬中断;内核收到硬中断,NAPI加入本CPU的轮询列表,发出软中断;内核收到软中断,轮询NAPI并执行poll函数从RingBuffer取数据;GRO操作(默认开启),合并多个数
- 2023-12-25Linux收包之数据L3层是如何流转的
一、环境说明内核版本:Linux3.10内核源码地址:https://elixir.bootlin.com/linux/v3.10/source(包含各个版本内核源码,且网页可全局搜索函数)网卡:Intel的igb网卡网卡驱动源码目录:drivers/net/ethernet/intel/igb/二、L3层概览 本章主要介绍收包的流程,在L3层是如何处理的。
- 2023-12-06Linux收包(L2层)
一、环境说明内核版本:Linux3.10内核源码地址:https://elixir.bootlin.com/linux/v3.10/source(包含各个版本内核源码,且王页可全局搜索函数)网卡:Intel的igb网卡网卡驱动源码目录:drivers/net/ethernet/intel/igb/二、Linux启动Linux驱动,内核协议栈等等模块在具备接收网卡数据