加速流量获取流程,通过创建循环buf和mmap零拷贝技术的使用,缩短数据到达应用层的时间,提高系统处理数据的效率,降低丢包的概率。
环境安装
#yum install flex byacc libpcap ncursesncurses-devel libpcap-devel numactl numactl-devel bison kernel-devel gcc
编译安装 pfring
#cd /hdfs/port_project/PF_RING-8.0.0/kernel
#make
Make 报错:
问题原因:版本不兼容
解决办法:Kernel-devel 新版本链接
#ln -sf /usr/src/kernels/3.10.0-957.10.1.el7.x86_64 /lib/modules/3.10.0-514.el7.x86_64/build
#make
#make install
userland 编译安装
#cd /hdfs/port_project/PF_RING-8.0.0/userland
#make && make install
加载驱动
#cd /hdfs/port_project/PF_RING-8.0.0/kernel
#insmod ./pf_ring.kotransparent_mode=1min_num_slots=16384 enable_tx_capture=1 enable_ip_defrag=1
insmod加载驱动报错
问题原因:内核版本不一致
Kernel-devel版本号保持一致,重新编译安装
#insmod ./pf_ring.kotransparent_mode=1min_num_slots=16384 enable_tx_capture=1 enable_ip_defrag=1
#cat /proc/net/pf_ring/info
rx:收包
tx:发包
网口设置为混杂模式
#ifconfig eth0 promisc 设置混杂
#fconfig eth0 -promisc 取消混杂