Glossary
概述
参考:
DataPath(数据路径)
网络数据在内核中进行网络传输时,所经过的所有点组合起来,称为数据路径。
Ring Buffer
由网卡驱动程序创建的一种 Ring Buffer 的数据结构,保存在内存中,驱动程序会将这些内存地址告诉 NIC 硬件,以便 NIC 可以通过 DMA(直接内存访问) 将接收到的数据包直接写入这些地址,而无需 CPU 介入。
同时,驱动程序会消费 Ring Buffer 中的网络数据包,并将这些数据包封装成内核通用的 skb 接口,交给内核网络栈。
Socket Buffer(简称 sk_buff 或 skb)
在内核代码中是一个名为 sk_buff 的结构体。内核显然需要一个数据结构来储存报文的信息。这就是 skb 的作用。
sk_buff 结构自身并不存储报文内容,它通过多个指针指向真正的报文内存空间:

sk_buff 是一个贯穿整个协议栈层次的结构,在各层间传递时,内核只需要调整 sk_buff 中的指针位置就行。

DEVICE(设备)
在内核代码中,是一个名为 net_device 的结构体。一个巨大的数据结构,描述一个网络设备的所有 属性、数据 等信息。
反馈
此页是否对你有帮助?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.