Linux Kernel TCP/IP Stack — L1 Layer — NIC Controller — SKB
【摘要】 目录
文章目录
目录
sk_buff(SKB,Socket Buffer)
收包 发包
sk_buff(SKB,Socket Buffer)
Linux 内核中,用 sk_buff 来描述一个数据缓存空间。所谓分配缓存空间,就是建立一定数量的 sk_buff 实例。
sk_buff 是 Linux 内核网络协议栈实...
目录
sk_buff(SKB,Socket Buffer)
Linux 内核中,用 sk_buff 来描述一个数据缓存空间。所谓分配缓存空间,就是建立一定数量的 sk_buff 实例。
sk_buff 是 Linux 内核网络协议栈实现中最重要的 Struct(结构体),定义在 include/linux/skbuff.h 文件中,它是数据报文在 Kernel 中的代码表现形式。
sk_buff 的结构它保存数据报文的结构为一个双向链表,如下所示:
收包
当 NIC 接收到数据帧时,DMA 会自动将数据写入 RAM 并通知 CPU 处理,CPU 通过中断或轮询的方式发现有数据帧接收进来后,再将数据帧保存到 sk_buff 缓冲区中,并通过 Socket 接口读出来。流程图如下所示:
文章来源: is-cloud.blog.csdn.net,作者:范桂飓,版权归原作者所有,如需转载,请联系作者。
原文链接:is-cloud.blog.csdn.net/article/details/118701186
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)