免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 独孤九贱
打印 上一主题 下一主题

PF_RING实现分析 [复制链接]

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
11 [报告]
发表于 2010-05-06 19:25 |只看该作者
回复 7# tiger625

另外,编译出现的提示信息也很明确了,对照代码看一下。

论坛徽章:
0
12 [报告]
发表于 2010-10-23 20:43 |只看该作者
刚刚接触PF_RING,学习了,O(∩_∩)O

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

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

论坛徽章:
0
13 [报告]
发表于 2010-10-23 20:55 |只看该作者
还有一个问题请教九贱前辈->

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

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

论坛徽章:
0
14 [报告]
发表于 2010-10-24 20:18 |只看该作者
回复 1# 独孤九贱


    能否出个pdf文档?

论坛徽章:
0
15 [报告]
发表于 2010-10-25 09:27 |只看该作者
刚刚接触PF_RING,学习了,O(∩_∩)O

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

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

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

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

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

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

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

能否出个pdf文档?
——————————
这个要求没有时间满足,不好意思。

论坛徽章:
0
16 [报告]
发表于 2010-10-25 13:42 |只看该作者
回复 15# 独孤九贱


    O(∩_∩)O谢谢呐{:3_200:}

论坛徽章:
0
17 [报告]
发表于 2011-04-08 01:45 |只看该作者
在(NAPI方式)和(非NAPI方式)下,网络数据从(网卡)到达(应用层程序),分别要经过哪几个缓冲区,需要几次内存拷贝啊...?

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


如果是普通的网卡驱动和源码自带的应该是进行了一次内存拷贝,如果采用DNA驱动的话就零拷贝了,直接在网卡里的缓冲区了映射了

论坛徽章:
0
18 [报告]
发表于 2011-12-30 15:48 |只看该作者
本帖最后由 EasyIOCP 于 2011-12-30 15:52 编辑

回复 17# ryangecko



   

论坛徽章:
1
辰龙
日期:2014-05-22 11:38:58
19 [报告]
发表于 2012-04-09 21:43 |只看该作者
小弟最近刚接触pfring,对其中的一些概念不是太清楚。
1、函数pfring_open_multichannel,要使用multichannel,需要网卡支持,对吗?每个ring对应一个RX-queue,那么,对于每个RX-queue里的数据包,是不是满足“同一个流的在一个RX-queue里面”,就是同一个流的数据包会被同一个ring接收?
2、函数pfring_set_cluster,不知道这个函数具体用途是什么,cluster是什么意思?

我最终想实现的是这样,应用开若干个线程(个数任意),捕获任意个网络接口的数据包(比如服务器有三个网络接口eth0、eth1、eth2,我可以指定捕获eth0,或者捕获eth1+eth2的,或者eth0+eth1+eth2的),每个线程获得的数据包满足“流的完整性”,即同一个流的被同一个线程处理,同时各个线程尽量负载均衡,不知道pfring能否实现这种效果。

论坛徽章:
0
20 [报告]
发表于 2012-04-14 10:41 |只看该作者
求助楼主  PF_RING-5.3.0.tar.gz  官方下载的  编译好后 用在我自己的程序中  发现 需要授权  程序可以用 但是5分钟自动就停了  怎么办  现在貌似是收费了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP