中国联合网络通信有限公司菏泽市分公司 274000
摘要:文章站在大数据应用背景下从事网络流量监控系统设计研究,在对网络流量监控必要性进行分析后,针对系统设计提出基于大数据的网络流量监控需求,随后从事系统设计研究,包括系统多层设计、数据库的设计以及算法的应用。仅以本文研究成果,供我国数据密级较高企业加以参考、借鉴,促进企业数据安全水平的提升。
关键词:大数据与技术;Hadoop平台;网络流量监控;系统设计
在大数据时代全面到来的背景下,不论是企业、个人亦或是国家,都应高度重视网络安全、重视数据隐私。当前社会发展已同网络数据流量、数据存储密切相关,而基于流量的统计分析进行网络安全管理,成为大数据时代企业经济良性发展的重要环节。通过有效的流量监控,能够让数据管理者实时了解企业网络的安全性、健壮性,是否具有服务器及应用,是否受到来自网络黑客、木马的安全攻击。因此,从事基于大数据应用背景的网络流量监控系统设计,是全面提升大数据时代下企业数据安全、信息安全,保障企业可持续发展的高价值研究举措。
一、网络流量监控必要性分析
所谓网络流量,即计算机系统接入因特网期间传输的数据流量。在大数据时代下,随着数据几何式增长,伴随进步的还有多样化的安全攻击手段。站在网络流量视角下,目前大数据时代下常见的攻击方式包括网络流量攻击、以太网帧攻击、泛洪攻击[1]。
网络流量攻击方面,流量为网络上传输的数据量,涉及路由器等网络设备、防火墙等安全设备的处理能力。网络流量攻击,是基于DOS、DDOS的攻击,此类攻击常见体现形式为应用攻击、带宽攻击。一般情况下,网络流量攻击的手段为基于大量数据包攻击若干台服务器,基于庞大数据流将服务器冲垮,使网站、应用处于非正常状态,如无法使用、无法打开、无法登录。同时,CC类连接攻击也可归纳为流量攻击,其在攻击阶段会模拟为多线程用户,直接打击被攻击方的要害部位,攻击者一般会基于代理服务器、网站的那流量页面对服务器进行无休止连接,基于对CPU的占用是服务器疲于供应,最终造成网络阻塞,用户无法访问网站或应用。
以太网帧攻击方面,网络内以太链路最底层含有MAC地址的数据包,即为以太网帧,以太网帧攻击方式包括巨型帧攻击、小型帧攻击,其原理是利用<40的并发数据包或是>5119的数据包进行网络攻击。巨型帧攻击以超长帧攻击举例,当网络线路中存在一个超大数据包进行传输,在线路长时间被占用背景下将带来网络延迟,影响其他用户对线路的使用。小型帧攻击,则通过数量来取胜,对网络处理效率产生影响。
泛洪攻击方面,目前泛洪攻击有着多种方式,最常见当属面向ARP进行攻击的手段。常见ARP泛洪攻击方式为ARP欺骗、ARP泛洪。其中ARP欺骗为盗取数据的攻击手段,在伪造报文后发送报文,更改服务器网关地址,实现交换网背景下的数据嗅探。ARP泛洪攻击,则是以破坏为目的,面向主机连续发送无法解析报文,导致设备ARP表溢出,占用网络带宽资源阻碍报文正常收发。
综上分析,大数据时代下,企业网络体系将面临三种攻击方式,遭遇任何一项攻击,都有可能导致企业蒙受严重经济损失,甚至关乎企业生死存亡。因此,基于大数据技术实现网络流量监控,对于企业数据安全、企业发展而言有着高度的必要性,其直接决定着企业应对大数据时代下各类攻击的防范水平[2]。
二、基于大数据的网络流量监控需求分析
(一)设计背景
中国联合网络通信有限公司(以下简称中国联通)成立于2009年,由中国网络通信有限公司(原中国网通)和中国联合通信有限公司(原中国联通)合并组建,目前在国内31个省、自治区、直辖市以及境外多个国家、地区均已经设立分支机构,拥有通达世界且覆盖全国的现代化通信网络体系以及面向全球客户的服务体系,致力于面向客户提供专业化、高水平的移动通信业务、固定通信业务、国内与国际通信设施服务业务、网络接入业务等。
日常经营阶段,中国联通网络之下传输着大量来自于客户与企业自身的高价值数据信息,这些数据均成为网络不法分子攻击、窃取的主要目标。为应对大数据时代下各类基于网络流量的非法攻击,中国联通计划基于大数据技术的应用,构建以Hadoop平台为框架的网络流量监控系统,采用Hadoop生态组件+数据处理软件+数据库+HTML5以及JAVA结合形式进行系统开发。Hadoop框架下的生态组件,高度符合分布式开发需求,同时专注于大数据的计算、存储,具有极高的兼容性,且易于操作、观察。
(二)功能需求
中国联通本次基于Hadoop大数据平台开发的网络流量监控系统,主要基于Hadoop集群实现TCP/IP协议数据包离线分析,同时植入百度Echarts图表插件,实现流量监控可视化。
本次网络流量监控系统包含三台服务器,Bigtata-01服务器为主节点,Bigdata-02服务器、Bigdata-03服务器为从节点。将HA待机节点设置于Bigdata-02从节点,集群利用从节点实现数据保存,以主节点进行数据计算、分析。前端页面则面向用户提供三类监控图标,即饼状、柱状与折线图,用户在饼状图进行协议类型选取,便可直接观看协议在网络流量中的百分比,柱状图、折线图则用于直接观察数据情况
[3]。
三、基于大数据应用背景的网络流量监控系统设计
中国联通网络流量监控系统,主要设计内容分为三大部分,包括系统的多层结构设计、系统数据库设计以及系统算法的应用。
(一)系统多层设计
中国联通规划的网络流量系统,采取七层设计结构,具体各层结构与功能描述见表1:
表1 网络流量监控系统多层结构
序列 | 层描述 | 层功能 |
1 | 数据源 | 捕获数据包 |
2 | 采集层 | 采集数据 |
3 | 存储层 | 存储日志文件 |
4 | 算法层 | 存储算法,负责进行数据计算 |
5 | 服务层 | 连接数据库,自数据库内获取数据服务 |
6 | 接口层 | 为通信协议提供接口,实现服务器、客户端诗句交互 |
7 | 展示层 | 基于Echarts图标框架实现监控数据展示 |
如表1,数据源层,主要利用Wireshark,进行特定周期下的数据包捕获,数据结构涵盖数据捕获时间、数据地址、数据重点、数据发送端口、数据目的地、数据长度、数据相关信息。
采集层,主要负责基于csv格式进行数据文件保存,实现文件格式转换后,再将其存入带空格符格式的txt文档之中,最后存入Hadoop集群下的节点日志文件之中。
存储层,主要负责以Flume+Kafka+Hbase集群模式将DataNode下的log日志发送到HBase分布式存储数据库内保存,系统会自动模拟企业场景,利用代码逐行打印模拟日志。同时,系统利用Flume下Spool sources模式实现文件内新增文件日志的监控。与此同时,Hive数据仓库内,系统会针对HBase数据创建外部表,用于用户直观查询,在收集特定数量数据之后,系统会自动运行HQL将数据基于Sqoop向Mysql数据库传输,便于用户直接进行数据应用。
算法层存储着系统功能算法,在Hive接收到SQL语句后,基于HQL进行算法应用。首先,系统将SQL算法转换成为抽象语法树,第二步将抽象语法树转化成为查询模块。第三步将查询模块转换成为逻辑查询计划,第四步对逻辑查询计划重写。第五步将逻辑计划面向物理计划转换。第六步选取最佳优化查询策略。
服务层基于JDBC AIP实现同Mysql数据库的连接,JDBC可实现多种关系型数据库的访问工作,面向开发者提供了统一接口公开发表。
接口层,基于IDEA建立WebAPP工程,于Socket端系统会选择实时器WebSocket协议,基于WebSocket协议提出通信协议实现客户端、服务器二者之间的数据交互、传输。
展示层,则主要基于接入系统的百度Echarts图标框架js插件,直接呈现数据、图标,同时用可根据自身喜好、企业需求进行样式自定义[4]。
(二)系统数据库设计
中国联通流量监控系统数据库设计,包括HBase数据库设计、Hive数据仓库设计以及Mysql数据库设计三部分。
1.HBase数据库
HBase数据库设计要点在于rowkey的设计,设计阶段,需确保rowkey唯一性,同时严格遵循长度规则、高效主键查询原则。中国联通网络流量监控系统HBase数据库rowkey设计为,其内容包括捕获报文期间的ID、时间簇、插入数据库时间。列簇设计见式1:
(1)
2.Hive数据仓库
Hive数据仓库,对于流量监控系统二样等同于逻辑表,系统运行阶段,仅需基于HQL语句直接输入相关语句,便可自动生成适应表。Hive数据仓库下的数据类型,设置为String、Int两类,Hive数据仓库下共计包含3个表,即,前2表负责存储协议,src_count负责存储源地址ip[5]。
3.Mysql数据库
Mysql数据库设计阶段,需要设计面向Hive数据仓库数据库表下的三个表的对应表,具体见表2、3、4:
表2 表数据结构
数据结构 | 数据类型 | 是否允许为空 | 备注 |
Protocol | varchar(16) | 否 | 协议名 |
Count | Int(11) | 否 | 数量统计 |
表3 表数据结构
数据结构 | 数据类型 | 是否允许为空 | 备注 |
Protocol | varchar(32) | 否 | 协议名 |
Min | Int(11) | 否 | 报文最小长度 |
Max | Int(11) | 否 | 报文最大长度 |
表4 表数据结构
数据结构 | 数据类型 | 是否允许为空 | 备注 |
src | varchar(32) | 否 | 源地址IP |
Count | Int(11) | 否 | 数量统计 |
(三)算法分析
中国联通网络流量监控系统,主要基于协议占比、宽带占比、协议长度来实现网络流量的监控,继而系统判断流量中的数据是否处于正常状态。
1.协议占比算法
系统中,计算协议占比的算法见式2:
(2)
协议占比算法,首先系统会调用Mapper接口内的map方法,以数据库名作为参数中键,value为协议算法内协议名称,指向数据库内protocol全部数据,随后将其分解为单个数据,每次产生中间键值,便输出结果<协议名,1>,并将结果写入到OuputCollector内,最后将一切value相加,获取不通过协议所出现的次数。
2.宽带占比算法
尽管宽带占比的计算对象,同协议占比计算对象不同,但算法完全一致,具体HQL语句见式3:
(3)
3.协议长度算法
系统判断网络流量中协议长度算法见式4:
(4)
对于上述占比算法,可以发现长度算法的HQL语句,多出一个字段数据,且加了最大、最小值的判断[6]。
结束语:本文站在大数据应用背景下,对中国联通网络流量监控系统进行设计分析,详细研究了系统的分层结构、数据库设计以及算法设计。目前该套系统已经经过测试,在使用systemctl status mysqld命令测试结果下,HBase集群、Hive客户端均体现出良好的运行状态,且系统对各种网络流量均能实现有效的监控,能够帮助企业及时发现网络攻击手段,提升企业数据安全与客户数据安全,也为中国联通面向客户的近源安全防护服务提供参考依据。
参考文献:
[1]谢添丞,吴凌淳,林羽丰,高瑞玮,杨国平,彭钰寒,冉黎琼,韩楠.面向大数据的网络流量监控与分析算法综述[J/OL].无线电通信技术:1-13.
[2]易灿,彭婷.实时大数据网络流量在云计算技术中识别算法研究[J].无线互联科技,2021,18(17):108-109.
[3]李勋章,周慧怡,刘思远.基于CDH的校园网络流量大数据平台的设计与实现[J].桂林航天工业学院学报,2021,26(02):145-151.
[4]祝唯微,李万阳,张世军,李婷.基于CCHP耦合的电力网络监控仪表流量监控分析[J].自动化与仪器仪表,2021(04):186-189.
[5]何江.探究大数据时代的计算机网络安全及防范措施[J].信息记录材料,2020,21(12):225-226.
[6]段红秀,周灵.基于大数据应用背景的网络流量监控系统设计[J].电脑知识与技术,2020,16(05):31-32.
作者简介:刘怀珍(1980年10月),性别:男,籍贯:山东郓城,学历:大学本科;学士学位,职称:中级,从事工作:中国联通创新业务研发及拓展。