PF_RING 实验
前提:pf_ring.ko 运行在模式2
收包实验:
使用两台机器同时对装PF_RING的机器进行发包,此机器的网卡流量达到14M的效果。如下所示:
![](http://images0.cnblogs.com/i/257712/201408/060957078188743.jpg)
上图为PF_RING自己的例子程序pf_count在用户态统计。如下所示为脚本监控网卡情况:
![](http://images0.cnblogs.com/i/257712/201408/060957585062495.jpg)
后面出现丢包是因为程序停止运行。
实验过程中CPU的运行情况如下:
![](http://images0.cnblogs.com/i/257712/201408/060958296151333.jpg)
![](http://images0.cnblogs.com/i/257712/201408/060958568342281.jpg)
发包实验:
使用PF_RING的用户态程序pfsend进行发包,发包效果如下:
![](http://images0.cnblogs.com/i/257712/201408/060959311932179.jpg)
监控脚本效果如下:
![](http://images0.cnblogs.com/i/257712/201408/061000049751733.jpg)
当时系统运行情况如下:
![](http://images0.cnblogs.com/i/257712/201408/061000359905841.jpg)
![](http://images0.cnblogs.com/i/257712/201408/061001014286446.jpg)
结论:
1.使用PF_RING的ZC功能,性能可行
2.PF_RING实现上绕过了内核协议栈,因此有些工具需要重新编写
3.PF_RING的高级功能需要花钱购买license