PF_RING实现分析(3)

简介: 刚刚接触PF_RING,学习了,O(∩_∩)O有个问题请教一下九贱前辈:内核中的PACKET_MMAP跟PF_RING有什么不同呢?感觉PACKET_MMAP跟transparent_mode=0时的PF_RING原理上是一样的( ⊙ o ⊙ )啊...?

刚刚接触PF_RING,学习了,O(∩_∩)O

有个问题请教一下九贱前辈:内核中的PACKET_MMAP跟PF_RING有什么不同呢?

感觉PACKET_MMAP跟transparent_mode=0时的PF_RING原理上是一样的( ⊙ o ⊙ )啊...?

_
取包的方式不同,最大的不同在于pf_ring用户态拿包时,不用进过系统调用的传递拷贝,而是与内核共享内存,以提高效率。

还有一个问题请教九贱前辈->

在(NAPI方式)和(非NAPI方式)下,网络数据从富贵论坛(网卡)到达(应用层程序),分别要经过哪几个缓冲区,需要几次内存拷贝啊...?

最近在分析网络数据包接收流程,看了好多文章,感觉说的都不是很明确,现在自己脑子里也是一片混乱啊!急待九贱前辈指点...!O(∩_∩)O谢谢

——————————————————————
不好意思,这个没有总结过,也记不清socket层是否存在拷贝了。所以只记得用户层取包的一次拷贝,嘿嘿。

文章来源CU社区:PF_RING实现分析

目录
相关文章
|
3月前
|
Linux Windows
[收藏] Ring0 Call Ring3
[收藏] Ring0 Call Ring3
|
存储
av_register_all分析
av_register_all分析
98 0
av_register_all分析
|
7月前
|
编译器 C++
offsetof宏的使用、模拟实现及 (size_t)&(((struct_type*)0)->mem_name)的解释
offsetof宏的使用、模拟实现及 (size_t)&(((struct_type*)0)->mem_name)的解释
AVPacket结构体内几个变量分析
AVPacket结构体内几个变量分析
62 0
AVPacket结构体内几个变量分析
NR PDSCH(六) DL data operation
NR中,网络端会根据UE业务动态的调整BWP,进而改变频域资源范围;不同的BWP会配置CORESET/Searchspace确定不同的时频域资源,让UE在对应的资源上进行盲检接收DCI;通过DCI获得调度信息后,再去PDSCH对应的时域资源和频域资源上 decode data。
系统编程之文件IO(六)——获取文件属性(stat、fstat、lstat、struct stat)
系统编程之文件IO(六)——获取文件属性(stat、fstat、lstat、struct stat)
162 0
系统编程之文件IO(六)——获取文件属性(stat、fstat、lstat、struct stat)
|
安全 Shell
[PWN][高级篇]利用ROP-ret2Syscall突破NX保护(上)
[PWN][高级篇]利用ROP-ret2Syscall突破NX保护
220 0
[PWN][高级篇]利用ROP-ret2Syscall突破NX保护(上)
|
NoSQL Shell
[PWN][高级篇]利用ROP-ret2Syscall突破NX保护(下)
[PWN][高级篇]利用ROP-ret2Syscall突破NX保护
140 0
[PWN][高级篇]利用ROP-ret2Syscall突破NX保护(下)
|
存储 Linux API
PF_RING实现分析(1)
内核版本:Linux 2.6.30.9 PF_RING版本:4.1.0 最近看了一个PF_RING的实现,看了个大概,发上来大家讨论讨论,共同学习。 一、什么是PF_RING PF_RING是一个第三方的内核数据包捕获接口,类似于libpcap。 二、为什么需要PF_RING 一切为了效率,按照其官方网站上的测试数据,在Linux平台之上,其效率至少高于libpcap 50% - 60%,甚至是一倍。更好的是,PF_RING提供了一个修改版本的libpcap,使之建立在PF_RING接口之上。这样,原来使用libpcap的程序,就可以自然过渡了。
715 0