Hyperscan 介绍与安装【转】

来源:http://blog.sina.com.cn/s/blog_913a533b0102wc38.html

Hyperscan 介绍与安装

(2016-01-27 16:22:32)

转载▼

   

1. 新闻背景

当地时间10月19日,intel将它的高速正则表达式匹配引擎hyperscan开源了,版本4.0,基于BSD许可。这个基于自动机(Automata)的引擎经过了多年开发(2008年起),经过不断优化与完善,效率非常之高,虽然没有pcre等对正则语法支持全面,但非常适用于网络设备。用户可以在网络设备数据面(Data Plane)使用hyperscan进行规则匹配,实现高性能DPI/lPS/IDS等应用。之前开源的dpdk,搭配hyperscan,简直是双剑合璧。

从此之后,DPI/IPS/IDS/NGFW开发人员可以把精力更多地放在业务上,而不需要苦于优化报文转发(dpdk之功)和规则匹配(hyperscan之力)的性能。对于DPI来说,从此之后,也许特征/规则才是核心价值,软件本身已经不重要了。而基于dpdk的软件产品,凭借其不输太多的性能、较低的成本、较低的开发门槛和灵活性,也对相同功能的硬件产品发起了挑战。

2.安装方法

2.1    系统基础配置:centos-6.4 ,yum、epel、时间、网路连通性等等。

# yum install gcc gcc-c++ glibc-static -y    因为在编译过程中需要c语言编译,所以先用yum安装一个版本。

2.2    gcc:# wget ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.8.2/gcc-4.8.2.tar.bz2    下载源码包

# tar xvzf gcc-4.8.2.tar.gz  && cd gcc-4.8.2    解压缩

# ./contrib/download_prerequisites     执行中会下载3个包,mpfr、gmp、mpc,

如果执行失败,则手动执行脚本中的下载url,下载mpfr、gmp、mpc,依次解压缩,创建链接文件。

# cd gmp &&  mkdir build &&  cd build/

# ../configure --prefix=/usr/local/gcc/gmp-4.3.2 && make && make install    编译安装gmp

# cd ../../mpfr && mkdir build && cd build/

# ../configure --prefix=/usr/local/gcc/mpfr-2.4.2 --with-gmp=/usr/local/gcc/gmp-4.3.2 && make&&make install

# cd ../../mpc && mkdir build && cd build

# ../configure --prefix=/usr/local/gcc/mpc-0.8.1 --with-mpfr=/usr/local/gcc/mpfr-2.4.2 --with-gmp=/usr/local/gcc/gmp-4.3.2 && make && make install

# 添加共享库路径。

# vim /etc/ls.do.conf    加入如下内容

/usr/local/gcc/gmp-4.3.2/lib

/usr/local/gcc/mpfr-2.4.2/lib

/usr/local/gcc/mpc-0.8.1/lib

# 保存退出,执行ldconfig

# 编译GCC4.8.2

# cd ../../

# mkdir build

# cd build

# ../configure --prefix=/usr/local/gcc --enable-threads=posix --disable-checking --enable-languages=c,c++ --disable-multilib

# make && make install

  # yum remove gcc gcc-c++ && updatedb 卸载旧版本

# 链接到新版本

# cd /usr/bin && ln -s /usr/local/gcc/bin/gcc gcc  && ln -s /usr/local/gcc/bin/g++ g++

2.3    CMake    安装操作系统时,已经有了cmake,并且版本符合要求。

[[email protected] ~]# rpm -qa | grep cmake

cmake-2.8.12.2-4.el6.x86_64

2.4    ragel    下载源码包,编译安装。

ragel-6.9.tar.gz && cd ragel-6.9 && ./configure  && make &&make install

2.5    Python   升级python至2.7

# wget http://www.python.org/ftp/python/2.7.3/Python-2.7.2.tgz

# 解压缩,并且新建/usr/local/python-2.7.2,之后编译安装,指定prefix为新建目录。

# mv /usr/bin/python /usr/bin/python_old

# ln -s /usr/local/python-2.7.2/bin/python2.7 /usr/bin/python

# python -V    验证版本是否正确2.7.2

2.6    pcap      安装libpcap、系统已经安装了。

[[email protected] tmp]# rpm -qa | grep pcap

libpcap-1.0.0-6.20091201git117cb5.el6.x86_64

2.6    Boost    安装源码包boost

# tar -xvf  boost_1_60_0.tar && cd boost_1_60_0

# ./bootstrap.sh 生成了bjam 和b2 安装工具

# b2

# b2 install

2.7    hyperscan 安装

# wget https://codeload.github.com/01org/hyperscan/tar.gz/v4.0.0

# tar xvzf v4.0.0  && cd hyperscan-4.0.0/ && mkdir hs_build  && cd hs_build

        # cmake ../hyperscan-4.0.0 && cmake --build . && make install

2.8  hyperscan 验证

#[[email protected] hs_build]# ./bin/unit-hyperscan   验证hyperscan,提示libstdc版本问题。

./bin/unit-hyperscan: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15‘ not found (required by ./bin/unit-hyperscan)

# 解决方法

# find / -name libstdc++.so.6

/usr/local/gcc/lib64/libstdc++.so.6

/usr/lib64/libstdc++.so.6

# cd /usr/lib64/ && mv libstdc++.so.6 libstdc++.so.6_bak

# cp /usr/local/gcc/lib64/libstdc++.so.6.0.18 /usr/lib64/

# ln libstdc++.so.6.0.18 libstdc++.so.6

3.完成

  

时间: 2024-11-09 00:49:39

Hyperscan 介绍与安装【转】的相关文章

Tokyo Tyrant(TTServer)系列(一)-介绍和安装

Tokyo Cabinet 是日本人Mikio Hirabayashi 开发的一款DBM 数据库,该数据库读写非常快,哈希模式写入100 万条数据只需0.643 秒,读取100 万条数据只需0.773 秒,是Berkeley DB 等DBM 的几倍.Tokyo Tyrant 是由同一作者开发的Tokyo Cabinet 数据库网络接口.它拥有Memcached兼容协议,也可以通过HTTP 协议进行数据交换. Tokyo Tyrant 加上Tokyo Cabinet,构成了一款支持高并发的分布式持

Laravel介绍及安装

Laravel是目前最流行的php框架,此前已有耳闻,还没有好好的研究下,目前由于项目的需求要用到这个框架,所以只能硬着头皮学习了.今天算是Laravel学习的第一天,先讲讲laravel框架的安装流程. 下载最新版本Laravel框架,可以到Laravel官网下载,也可以到国内社区下载,下载后解压到服务器网根目录. LaraveL框架使用Composer(PHP包管理工具)来管理代码依赖性. 首先,你需要下载Composer的PHAR打包文件( composer.phar ),下载完成后把它放

System center 2012 R2 实战五、SCVMM2012R2介绍及安装

大家好,今天我来分享的是微软System center组件中第一个组件,SCVMM2012R2的安装,说起SCVMM2012R2,我还想与大家聊一聊,SCVMM2012R2在微软私有云中的作用. 我们知道,微软的私有云一共分为三个层,最底层,是基础架构层,基础架构层上面是服务标准与自动化流程,最上面的是应用管理层,那么什么是基础架构层,基础架构层在微软私有云中是干什么的呢,我先来跟大家说一说我的理解. 微软私有云基础架构层,在我看来,主要作用是,通过微软的云计算,改善企业的IT环境,将企业传统的

Storm介绍及安装部署

本节内容: Apache Storm是什么 Apache Storm核心概念 Storm原理架构 Storm集群安装部署 启动storm ui.Nimbus和Supervisor 一.Apache Storm是什么 Apache Storm是自由开源的分布式实时计算系统,擅长处理海量数据,适用于数据实时处理而非批处理. 批处理使用的大多是鼎鼎大名的hadoop或者hive,作为一个批处理系统,hadoop以其吞吐量大.自动容错等优点,在海量数据处理上得到了广泛的使用.但是,hadoop不擅长实时

python 常库介绍及安装方法

文大赛,秀绝招,赢无人机! python 常库介绍及安装方法 标签: PYTHON库 2016-10-13 15:32 798人阅读 评论(0) 收藏 举报  分类: 其他(33)  bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheetahcherrypy:一个WEB frameworkctypes:用来调用动态链接库DBUtils:数据库连接池django:一个WEB frameworkdocutils:用来写文档的dpkt:数据包的解包和组包My

Web服务介绍 & httpd安装

Web简介 什么是Web WWW:World Wide Web,万维网 英国人TimBerners-Lee在1989年欧洲共同体的一个大型科研机构工作时发明的 Web是一种超文本信息系统,其主要实现方式是超文本连接 Web特点 1.Web页面的图形化和易于链接 2.Web与操作系统.浏览器平台无关 3.分布式 4.动态习惯 5.交互性 Web工作原理 HTTP(Hyper Text Transfer Protocol,超文本传输协议):提供了访问超文本信息的功能,是Web浏览器和Web服务器之间

Memcached介绍及安装

memcached:由LiveJournal旗下Danga Interactive公司的Brad Fitzpatric为首开发的一款软件,现已成为mixi,hatena,Facebook,Vox,LiveJournal等众多服务器提高Web应用程序扩展性的重要因素: memcached是一款开源.高性能.分布式内存对象缓存系统,可应用各种需要缓存的场景,其主要目的是通过降低对Database的访问来加速web应用程序.它是一个基于内存的"键值对"存储,用于存储数据库调用.API调用或页

VMware Horizon View Config Tool 用户使用手册之一 -- VCT介绍和安装之前的准备

安装Horizon View Configuration Tool VMware Horizon View Configuration Tool (以下简称为vCT), 现在版本为1.0, 本产品的用途为帮助用户自动安装部署 Horizon View 5.3的基础环境,其中包括域服务器,VMware vCenter 服务器,View Connection 服务器和View Composer服务器.本工具替代了复杂的手动安装部署步骤,能够自动部署基础的Horizon View环境. vCT发布为一

兄弟连新版ThinkPHP视频教程1.ThinkPHP 3.1.2 介绍及安装

老师给咋们这么好的礼物,咋可不能浪费^_^记在博客上方便以后查阅 ## ThinkPHP 3 介绍及安装#讲师:赵桐正微博:http://weibo.com/zhaotongzheng 本节课大纲:一.ThinkPHP的介绍            //了解    MVC        M - Model 模型                工作:负责数据的操作        V - View  视图(模板)        工作:负责前台页面显示        C - Controller 控制器