英文: Memory Buffer
中文: 存储器缓存
介绍: 一种为了管理存储器缓存而定义的一种数据结构,为一种链表结构。
为什么需要MBUF
MBUF的出现是为了满足以下两个网络协议对内存管理的一些特殊需求:
- 网络协议需要可以方便的操作可变长缓存,这样的话数据在网络协议栈从上到下和从下到上的添加、删除头部、尾部信息就能变得非常灵活,减少不必要的操作,内核中的存储器的管理调度直接关系到联网协议的性能。
- 数据可以很容易的共享使用,在数据转发过程中对数据的物理复制是绝对不可以接受的。
MBUF机制就像操作系统对物理内存进行管理一样,==主要解决的就是内存的分配和回收问题==,但MBUF更重要的是为了解决可变长缓存的要求和解决缓存共享上的问题(==也即为了实现数据的零拷贝==)。
==总结起来mbuf的定义就是为了更加方便、安全、高效的管理内存数据,实现数据的零拷贝。==
注:不同系统中对于MBUF的定义、使用均可能存在差异,因为mbuf的存在就是为了更加方便的管理内存数据,自然只有适应具体环境下的不同系统才能达到最好的效果,但原理还是基本一样。