Linux 内核之旅(八):内核数据包接收

Posted by pandaychen on March 2, 2025

0x00 前言

recv-arch

0x0 sk_buff结构

sk_buff用来管理和控制接收或发送数据包的信息,各层协议都依赖于sk_buff而存在。内核中sk_buff结构体在各层协议之间传输不是用拷贝sk_buff结构体,而是通过增加协议头和移动指针来操作的。如果是从L4传输到L2,则是通过往sk_buff结构体中增加该层协议头来操作;如果是从L4到L2,则是通过移动sk_buff结构体中的data指针来实现,不会删除各层协议头

0x0 参考