




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、局域网中基于包特征检测的 IP 业务流剖析系统的设计与完成1 1 引言引言随着互联网的逐步发展,网上用户和业务流量在不断增长,除传统数据业务外,网络电话、网络视频、P2P 下载等新型网络应用使得骨干网络中话音、视频、点到点下载流量呈几何级的膨胀趋势。新型业务的剧增给网络运营者的当前业务带来了一定程度的冲击和影响,出现丢包率高,延迟抖动大等现象,满足不了 QoS 的要求1。因此,对网络数据包的业务类型进行检测和统计分析,从而对之进行监管势在必行。当前,基于业务的流量检测技术分为两类,一类是基于网络层(L3)和传输层(L4)的业务检测技术,如传统的五元组检测技术;一类是基于应用层(L7)的业务检测
2、技术,如深度包检测技术即 DPI(Deep PacketInspection)技术。前者是通过分析 IP 包头,依据网络层的地址信息、协议信息和传输层的标准端口号进行业务检测2;后者是通过分析 IP 包载荷,依据应用层的协议特征码进行业务识别3。比较两类技术,基于传输层以下层的检测技术具有识别速度快,漏判性小,并支持对加密报文进行识别的优点,但由于识别技术本身的粗粒度性,无法对业务类型做精确判断,并不支持对变化端口号的业务进行识别。当网络上的一些非法应用采用隐藏或假冒的方式仿冒合法报文时,还会产生误判的现象;基于应用层的检测技术具有识别准确度高,能对业务类型进行精确判断的优点,但由于识别技术本
3、身要求逐包进行深入分析和特征匹配,识别速度慢,对于实时性要求较高的系统来说不能支持,并且它无法对加密报文进行有效的业务识别。综合上述两类检测技术的优缺点,本文设计和实现了局域网中基于包特征检测的 IP 业务流分析系统,将传统的网络层、传输层业务感知同应用层业务感知综合起来,实现对网络流量更精细更有效的业务分析与管理。2 2 系统体系结构系统体系结构2.1 系统设计原则在系统设计时应该遵循一定的基本原则,使其具有可扩展性、安全性和方便性。可扩展性原则现在 IP 网络还在飞速发展之中,网络上的业务种类和业务数量都在迅速增加,因此,系统的体系架构应该是可扩展的,能够根据需要随时对系统功能进行扩充,这
4、样才能够使系统随着网络和网络业务的发展依然保持可用性,另外系统能够提供消息接口和数据接口,以便能够和其他应用系统进行连接和数据共享。安全性原则在系统中,安全性至关重要。必须加入一些安全机制(如用户名和口令)来限制只有那些被认证的用户才能访问该系统,确保系统的安全。方便性原则方便性原则一是指系统使用起来应该尽可能的方便,操作简单,易上手。例如,用户界面应该清楚、方便、直观。这并不意味着系统将使用一些简单的方法,而是系统所使用的分析方法的复杂性对于用户来说应该是透明的,尽可能的通过用户界面去隐藏;另外,系统应该是可定制的,支持用户在系统功能和系统界面上进行双重定制。例如,用户可以定制系统对哪些业务
5、类型的流量进行检测,也可以定制系统怎样去进行流量检测(启用哪些流量分析器的组合),用户还可以定制系统对哪些业务类型的流量检测结果在用户界面上显示和参与统计分析。2.2 系统基本功能系统的基本功能如下:充分采集局域网内有效的数据包,对其进行包特征分析;对局域网内有效数据包进行业务识别,实现数据包的汇聚分流;对局域网内各种业务的流量进行区分和统计分析;2.3 系统体系结构根据上述系统设计的基本原则、基本目标和完成的基本功能,本文设计了如下的系统体系结构框架,系统主要模块的功能描述如下:数据采集模块对局域网中数据包的业务类型进行分析的基础是获取分析数据,所以数据采集模块是整个分析系统的基础模块,根据
6、课题研究的需要,本模块通过网络探针从底层网络接口处获取网络数据报文以便对业务协议进行分析。捕获的这些数据包作为本模块的输出,送到数据预处理模块进行预处理。数据预处理模块该模块的功能主要是对数据采集模块输出的数据包按照设定好的过滤规则进行过滤后,进行初步的包解码,按照 IP 协议解析出对应的域,再把解码好的数据包存储在原始包缓冲区中,以便业务分析引擎进行分析处理。源地址分析模块该模块的功能主要是从原始数据包缓冲区中依次取数据包,分析数据包包头的源地址,对数据包进行流向分流。根据包头的源地址信息,可以识别出一部分应用。因为服务器有时是针对单一应用而配置的,如电子邮件服务器,所以分析由该类服务器产生
7、数据包的源 IP 地址就能识别该数据包的业务类型。对识别出业务类型的包按照业务类型进行分流后输出,将识别结果存于结果存储模块,其余业务类型未知的包流入端口分析模块。端口分析模块该模块的功能主要分析数据包的协议号和端口号,对知名网络服务和使用固定端口号的网络服务的数据包进行业务识别,分流后部分输出,识别结果存储于结果存储模块,未识别的包和需二次检测的包流入特征码分析模块。协议号位于 IP 数据报包头中,用于指出此数据包所携带的数据是使用何种协议,以便目的主机的 IP 层将数据部分上交给传输层的相应处理过程。比如 TCP 协议对应协议号 6,UDP 协议对应协议号 17。端口号又称为传输层服务访问
8、点(TSAP),用于在传输层上标识应用层的应用进程。01023 之间的端口号被称为标准端口号,被分配给一些知名的 TCP/IP 服务,如 FTP 服务的协议类型/端口号是 TCP/21,HTTP 服务的协议类型/端口号是 TCP/80。因此,运用协议号+标准端口号的组合可以唯一确定一些知名服务的包的业务类型。同时,端口号识别的方法也适用于一些使用固定端口号通信的网络服务,如Skype 的 1.0 版本,使用 TCP/1024 进行通信。但是,随着应用的发展,一些应用开始使用 01023 间的标准端口号进行通信,如部分 P2P 应用使用端口 25和端口 80 进行数据传输,典型的例子如 Kaza
9、A 使用 80 端口。因此,进行粗粒度的端口检测已无法满足需要。为了更精确的识别数据包的业务类型,可以通过配置业务识别特征库,使部分协议+端口组合的包流入特征码分析模块进行二次检验。特征码分析模块该模块的功能主要是分析数据包的数据报文,通过特征字符串匹配的方式识别数据包的业务类型,将数据包分流后输出,结果存于结果存储模块中。此分析器主要针对运用传统的源地址检测,协议号和端口号检测无效的数据包业务类型的检测。例如 P2P 的各种应用,大多采用动态随机端口号,使用端口号分析的方法是无法确定其业务类型的。然而,任何网络业务都依赖其特定的网络协议,这些协议在数据包的报文里都具有其特定的固有的特征字,可
10、以把它们称为程序签名。例如 BitTorrent 的包具有“0 x13BitTorrent”的程序签名,Windows Messenger 的包具有“MSMSGS”的程序签名,eMule 的包具有“0 xd4/0 xc5”的程序签名。通过在数据包报文里查找程序签名的方法,可以将数据包匹配到相应的业务类型。结果存储模块该模块的主要功能存储对数据包进行业务识别的结果,为统计分析模块提供依据。鉴于数据量较大,采用 Oracle 数据库用于原始分析数据的存储。统计分析模块该模块的功能主要是对结果存储模块存储的业务流数据,按照用户的需要进行统计分析,从而对局域网内的各种业务流量进行区分和统计。系统数据库
11、系统数据库的主要功能如下:存储业务识别特征信息,即各类 IP 业务同其业务包特征信息的对应关系,供业务分析引擎中各个分析模块在对包特征匹配时进行比对4。相当于模型中的业务识别特征库。源地址分析器、端口分析器和特征码分析器的识别依据都来源于此。通过升级,可以支持更多新业务的识别。通过配置,能控制包的检测流程,让不同特征的数据包有选择的流入各个业务分析模块。存储原始分析数据,即由结果存储模块存储的业务流信息,供统计分析模块提取数据进行统计分析。存储统计分析结果,供显示层显示。存储用户对系统的定制信息,包括对系统检测功能的定制,对系统检测业务的定制,对系统呈现方式的定制等等。鉴于系统的规模及数据量,
12、采用 Oracle 数据库。消息总线消息总线是我们实验室自行研制的分布式处理平台(DPP),该平台是是支持跨平台、跨语言的分布式软件总线。各个模块采用统一技术的接口插入到 DPP 软件总线,它们之间的通信都通过 DPP 进行。3 3 系统关键模块的算法与实现系统关键模块的算法与实现3.1 数据采集及预处理模块系统的数据采集与预处理模块使用网络探针技术,网络探针实现可以细分为“数据包捕获”和“数据包解码”两个子模块的实现,数据包捕获模块捕获所有符合过滤规则的数据包,然后交给数据包解码模块处理;数据包解码模块主要的工作是对数据包进行预处理,滤掉无效的数据包,对有效的 IP 数据包进行解码,分析出
13、IP 包头和 TCP/UDP 包头的各个域,并将捕获到的数据包存储到原始数据包缓冲区中,等待业务分析模块的分析。图 2 是网络探针的工作流程图。3.2 业务分析引擎业务分析引擎是整个基于包特征检测的 IP 业务流分析系统的核心部分,包括源地址分析模块、端口分析模块和特征码分析模块。下面对业务分析的核心分析算法和流程进行介绍。基于包特征检测的 IP 业务流分析核心算法如图 3图 5 所示。算法中包含一个数据包缓冲区和三个数据流缓冲区。数据包缓冲区可采用队列数据结构,用来存储从网络中抓取的数据包,供分析模块进行分析。流缓冲区可采用哈希表数据结构,用来将分析后的数据包按照它的特征(源地址,业务类型等
14、)准确的定位到相应的数据流,实现数据包的分流。每个数据流可设置一个定时器,定期将数据流送入下一个分析模块。算法中,流缓冲区 1 用于存储按照源地址分流但通过源地址分析无法确定其业务类型的数据流;流缓冲区 2 用于存储经过源地址和协议号+端口号分析后仍无法确定其业务类型的数据流;流缓冲区 3 用于存储业务类型分析完成后的数据流,将被发送到结果存储模块进行统计分析。算法中设置多个缓冲区便于采用多线程的方式使各个模块并行工作,提高解析效率。4 4 实验实验4.1 系统运行环境系统运行于所示的分析服务器中。图中交换机的左部代表局域网内的所有终端,所有从 Internet 流入流出局域网的包都经过此交换
15、机。此交换机具备三类端口,一为普通端口(多个),连接局域网内的各个终端;二为出/入端口(一个),所有从 Internet 进出局域网的包都通过此端口;三为镜像端口(一个),它是出/入端口的镜像端口,所有流经出/入端口的数据包都会被拷贝一份,发送到镜像端口。系统所在的分析服务器连接着镜像端口,意味着所有出/入该局域网的包都能够被系统获取。4.2 测试环境配置局域网中硬件环境配置如下:1)主机数量:100 台;2)网络接口卡:Intel PRO/100 MTConnection 系统所在的分析服务器中软件环境配置如下:1)OS:Window Server XP;2)JDK 版本:1.5.0_06;
16、3)WinPcap 版本:v4.0 beta3;4)Jpcap 版本:v0.5.1100 台测试主机中任意选择一定数目的机器运行以下七种应用程序:BitTorrent(V6.1),eMule(V0.48), Skype(V1.0),KazaA(V3.0), Web 访问,CuteFTP Pro(V8.0), Windows Messenger。为了便于比较,将三套业务流分析系统部署于分析服务器中,并对它们进行不同的配置,让它们按照不同的方案进行业务识别:1) 方案 1:打开源地址分析器和协议号+端口号分析器,关闭特征码分析器,实现传统的基于 IP 五元组的业务识别方案。2) 方案 2:打开特征
17、码分析器,关闭源地址分析器和协议号+端口号分析器,实现基于应用层特征码检测的业务识别方案。3) 方案 3:打开所有分析器,实现本文所提出的基于包特征检测的业务识别方案。4.3 测试结果及分析三套系统同时在分析服务器上运行 1 小时。使用方案 1,即基于传统的 IP 五元组的业务识别方案,可以对使用标准端口通信的知名网络业务应用如 FTP,HTTP 和使用固定端口号通信的网络业务如 Skype(V1.0)进行有效的识别。但对于非固定端口号的网络业务如 BT,eMule,MSN 等不具备识别能力。同时,当一些其它网络服务也使用标准端口通信时,识别出的知名网络业务应用流量有误,比如 KazaA 使用
18、端口 80 进行通信,它的流量便被误算入 HTTP 的流量。使用方案 2,即基于应用层特征码检测的业务识别方案,可以对具净荷特征的网络业务的数据包进行识别,如 BT,eMule,MSN,KazaA 等,但是对无净荷特征的网络业务数据包无法进行识别,如 Skype(V1.0)。使用方案 3,即本文提出的基于包特征检测的业务识别方案,可以实现对绝大多数网络业务数据包的识别。通过对以上三种识别方案的分析不难看出,基于包特征检测的业务识别方案(方案 3)较之传统的业务识别方案(方案 1)在对数据包业务进行有效地和精确地识别上具有明显优势。5 5 结束语结束语本文主要介绍了局域网中基于包特征检测的 IP
19、 业务流分析系统的设计和实现,该系统提供了一个对数据包各层信息进行全面业务特征分析的解决方案。它综合了网络层传输层识别速度快和应用层识别准确度高的优点,让多种基于包特征的业务检测方法协同工作,达到最佳的检测效果。同时,该系统中各个分析器之间模块化松耦合的结构,使之具有很好的扩展性,可以根据具体环境的需要,通过配置增加或者减少分析器的类型和数量。该系统的局限性在于无法对端口号不定同时数据被加密的数据包进行业务类型分析。这需要依靠基于流行为的业务识别技术6,7。基于包特征检测的微观识别方法和基于流行为的宏观识别方法结合起来进行业务流的分析将是下一步工作的重点。十年论文机构京都名师论文中心,正规全面的论文刊物为您提供职称论文,毕业论文,硕士论文,医学论文,教育论文等各类论文发表服务。参考文献参考文献1. 林闯,单志广,任丰原. 计算机网络的服务质量(QoS)M. 清华大学出版社,2004.2. 杨学军,吴纯青. 基于全局端口状态感知的拥塞控制算法. 计算机工程与科学,2006 Vol.28:12.3. Subhabrata Sen, Oliver Spatscheck,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论