基于网络流量回溯系统的网络质量分析与设计
2021-10-29顾峰王庆刚伊纪梁孙远秋焦俊淞曾文杰冉志成
◆顾峰 王庆刚 伊纪梁 孙远秋 焦俊淞 曾文杰 冉志成
基于网络流量回溯系统的网络质量分析与设计
◆顾峰1王庆刚1伊纪梁2孙远秋2焦俊淞2曾文杰2冉志成2
(1.西南石油大学网络与信息化中心 四川 610500;2.西南石油大学计算机科学学院 四川 610500)
传统网络管理体系以设备监控为中心,对用户流量感知度差,难以适应网络发展的需求,现以高校网络环境为基础,设计一种网络回溯技术方案,通过抓包(Captuer)软件、可视化界面(Web)、数据存储三部分搭建网络回溯系统,对用户网络数据包分析,达到分析用户网络访问质量的目的。
校园网;抓包;流量回溯
随着网络的规模、能力和速度不断提高,传统的网络管理体系已经很难适应网络管理的需求,简单的抓包存储,无法达到IT人员对各类数据包实时响应,快速分析的需求。文献[1]对网络流媒体中的关键技术进行了详细分析,就两种不同流媒体传输架构(C/S和P2P)下的两种典型视频流(HTTP流和RTP流)进行了深入的研究,分别对其进行了视频流的识别和还原,以及视频回溯三大功能的分析和设计,并给出了基于Web浏览的视频监控与回溯系统的实现方案。文献[2]表明网络的持续、高效和安全运行是医院业务正常运行的基础,要求网络管理者能够随时掌握业务应用运行的关键指标,及时发现异常并预警,实现主动运维、主动管理。这些共同体现了网络回溯系统在维护网络稳定性中起的重要作用。
网络回溯技术可以很好地分析网络状况,但国内外存在的功能软件例如科来等大多是基于大型企业网络的专项维护软件,一般企业由于非刚性需求以及相对昂贵的费用,对此项应用的推广相对滞后,这也导致了目前网络回溯技术并不能在国内广泛的应用起来,但随着企业用户对网络质量要求的不断提高,通过网络回溯技术来进行深度的流量分析,精准定位网络故障,进一步提升网络质量就显得越来越重要。因此,本项目将研究如何把网络回溯技术应用于高校网络运维的体系中,在完善系统的同时,进一步加强校园网络的稳定性和可拓展性。
1 系统架构与安装
Moloch是一款由AOL开源的,能够大规模的捕获IPv4数据包(PCAP)、索引和数据库系统。Moloch主要为处理大量pcap文件提供一个快速索引的能力,为高效快速分析网络问题建立了一个更直接的页面,由以下三部分组成:
(1)capture:绑定interface运行的单线程C语言应用,用于监控网络流量,将网络数据抓包以pacp格式写入磁盘。
(2)viewer:运行在capture主机上的node.js Web应用,处理Web接口与传输中的文件。
(3)elasticsearch:moloch的数据检索驱动。
1.1 系统架构
通过在交换机上,将一个或多个源端口的数据流量转发到某一个指定端口来实现对网络的监听即为端口镜像(port Mirroring)。在不严重影响源端口正常吞吐流量的情况下,可以通过镜像端口对网络的流量进行监控分析。使用镜像功能,可以很好地对网络数据进行监控管理,在网络出故障的时候,可以快速地定位故障。
本次实验探索选取特定的校园网络节点,在校园网络交换机上,将多个指定源端口的数据流量转发到事先配置好的镜像端口实现流量数据包的镜像。通过Capture来抓取镜像流量包并以pcap格式存储到服务器中。Moloch以elasticsearch作为数据检所驱动,实现对大型数据包的快速打开与信息检索,最终通过moloch提供的Web的页面实现对数据包的浏览、搜索、分析,也可使用PCAP格式存储和导出所有数据包。图1为moloch系统单主机的部署图。
图1 moloch系统单主机的部署图
1.2 系统安装
(1)Moloch安装
基于Centos7:wget https://files.molo.ch/builds/centos-7/moloch-1.5.2-1.x86_64.rpm。
官网下载Nightly版本安装包,以获取最新特性,安装后可通过运行./configure命令进入moloch设置目录,首次安装可进行网卡选择、数据库地址、设定账号密码等配置,具体设置信息可参考moloch官网。
(2)安装capture
Moloch默认使用libpcap进行抓包,通过参考文献[6]对PFRING机制进行了深入地分析,了解了PFRING机制的原理、实现,最终选择在线安装pfring以提升抓包性能。
(3)elasticsearch安装及配置
Elasticsearch是个开源分布式搜索引擎,文献[7]介绍了es的相关功能与使用方式,它拥有:开源、灵活性、分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等特点,配置简单且功能强大。es可以选择在配置moloch时候安装,也可以单独安装。安装es后可选择进行虚拟内存、存储告警等设置,最后可通过访问:http://127.0.0.1:9200,根据出现信息来判断es安装是否成功。
2 抓包与比较
由于校园网络环境数据流量大,服务器可能会因为数据包过大出现卡顿现象,这时可以通过moloch系统脚本进行控制。系统磁盘保留空间一般默认为5%,可通过配置moloch安装路径下的config文件更改保留空间大小。在企业或高校的日常运维中,也可通过定时任务每天自动检查磁盘使用情况,达到设定阀值实现告警功能,方便日常维护。传统的抓包软件在存储数据过大时,很难进行对数据包的打开及分析,moloch回溯系统在es的支持下系统检索速度显著提升。
Moloch中每一个会话过程都有第一个包、最后一个包和完整会话的数据时间戳,多数Moloch版本都可通过顶部搜索栏下拉框的不同选项实现对数据包起始时间的设定。例如,在查询页面中,First Packet为一个会话接收的第一个包的时间戳,Last Packet为一个会话接收的最后一个包的时间戳,Sessions会话部分主要用于分析流量,SPI则用于详细分析一个会话。通过moloch更直观的Web页面,可以写一些search expression来检索我们所需要的信息。当我们搜索ip.src==172.16.245.55&&protocols==http语句时,即可查看源ip为172.16.245.55并且协议为http的数据包;语句country == CN && port == 80 && host == *com 即表示过滤中国范围内使用80端口并且主机名或域名中包含 ".com"的会话。
moloch流量监控所展示的是数据包的一次完整对话,可以在一条记录内查看数据的发送端与接收端的相关信息。当网络发生异常时(例如:延时较高、页面无法访问等),可通过已经捕获并且存储在服务器中的数据包,展开以TCP为核心,各种网络协议为单位的数据分析,判断数据包所出现的问题。例如通过数据包接收端的IP地址,可以分析出地理差异等因素,通过流量数据包大小可以分析流量差异等因素,如图2。
图2 数据包
3 小结及展望
本文总结了对基于网络流量回溯系统的网络质量分析与设计的基本探索,从安装、抓包以及分析三个方面介绍此系统。相较于传统的抓包分析软件,流量回溯系统在抓包速度,数据包存储容量,数据包查找分析速度等方面有了质的提升,在日常的网络维护中发挥了重要作用。
随着网络规模的不断扩大,网络技术的不断发展,流量回溯系统在排查及解决复杂网络问题领域的应用会更加广泛。人们对网络质量的要求逐步上升,流量回溯系统也会进一步发挥它的优势,在国内广泛的应用起来。
[1]巩付鑫.基于Web浏览的视频监控与回溯系统的研究与设计[D]. 南京邮电大学,2016.
[2]于宗一,曲强,邱恺,赵丽丽,陈树生.医院网络流量回溯分析系统应用实践[J].中国卫生信息管理杂志,2017,014(005):691-694.
[3]赵厉. 基于GPU的分布式数据包采集与回溯分析系统设计及实现[D]. 山东科技大学,2018.
[4]舒园园. 运营商网络流量安全监测系统的设计与实现[D]. 南京邮电大学,2016.
[5]曹志伟. 企业内部网络数据包捕获引擎的设计与实现[D]. 西安电子科技大学,2015.
[6]刘津铭.高速网卡数据传输的研究与实现[D].电子科技大学,2013.
[7](印度)波哈维•荻西特著;刘志斌译. 深入理解Elasticsearch 原书第3版[M]. 北京:机械工业出版社,2019.
[8]刁晓婧. 高校校园网络安全问题分析及对策[J]. 网络安全技术与应用,2020(07).
西南石油大学课外开放实验项目立项(KSP19G05)