刚刚接触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实现分析