企业局域网流量控制方案的研究与设计

时间:2022-10-15 09:26:48

企业局域网流量控制方案的研究与设计

摘要:针对目前企业局域网中存在的个别用户频繁使用以P2P技术为基础的在线视频、文件下载等应用,造成局局域网网络带宽被占用,影响到其他用户使用网络的情况,研究并设计了基于局域网的流量控制方案,重点研究了P2P流量的识别技术和基于Linux平台的流量控制方案,并利用开源的Netfilter架构对P2P流量进行精确控制。该方案适用于企业局域网等小型网络,可以实现对网络中不同类型流量的区分与控制,并具有良好的扩展性及可移植性。

关键词:局域网;流量控制;类型识别

中图分类号:TP393.1 文献标识码:A 文章编号:1007-9599 (2012) 20-0000-02

1 引言

目前,很多企业为了方便与客户及其他相关部门的交流,普遍将企业的局域网与互联网连接。这一方式在方便了业务联系与交流外,也带来了一系列的问题,一些员工在工作时间利用网络与朋友聊天、浏览与工作无关的信息、下载歌曲等,尤其是使用基于P2P技术的视频点播、文件下载等功能时,会占用大量的网络带宽,直接影响到其他员工的上网速度,致使正常的工作业务难以展开。为了解决这一问题,局域网流量控制技术逐渐受到人们的关注,流量控制可以避免带宽浪费,提高带宽的利用率,提高网络的服务质量。企业的网络管理人员可以通过选择设置,自主禁止一些占用带宽较多但业务价值不高的网络数据流,从而保证企业的主要业务通信不受影响。传统的局域网流量控制需要输入较多的字符命令,需要操作者具有较高的计算机操作能力和网络技术水平。利用基于Linux操作系统的Netfilter框架开发局域网流量控制系统,可以在图形化管理界面下实现流量控制的各项功能。

2 流量识别与控制技术

流量的识别技术是流量控制研究的前提,直接影响到流量控制的使用效果。目前使用较为广泛的流量识别技术包括两种[1],一种是特征字检测方法,它是以深度包检测技术为技术基础;一种是数据流特征检测方法,它是以深度流检测技术为技术基础。

对网络数据流量的识别完成后,对于需要控制的指定流量进行限制,这一技术被称为流量控制技术。具体的工作流程是先利用网络中的连接设备,如网关等,收集被控制链路的相关信息,然后根据流量识别的结果,采用某种限流算法将需要控制流量的协议或应用的带宽控制在设定的范围内。流量控制技术主要采用的方法包括TCP整形技术、PFQ(基于流的队列法)技术、旁路干扰技术等[2]。其中,TCP整形技术主要是利用TCP协议的滑动窗口机制来实现流利控制,通过发送通告信息来实现对发送方窗口的限制与调整;PFQ技术利用了TCP协议中的缓慢启动和拥塞回避两个机制来实现带宽的最大化利用;旁路干扰技术通过复制数据流的五元组信息,伪造成数据的接收方,通过发送TCP数据包来实现对流量的控制。基于Linux操作系统的TC是一种较为常用的流量控制工具,它采用基于路由的方式,通过在输出端口建立流量控制队列来实现对流量的控制。

3 局域网流量控制方案的总体设计

企业局域网流量控制方案的设计目的,是为了能够对企业内部网络的各类应用流量进行有效的监督和控制,并且能够根据网络管理员的设置和指令,生成流量控制策略,实现对特定设备的特定协议进行精确有效的流量控制。

方案的总体架构如所示:

方案主要包括四个大的组成模块,分别是后台流量处理模块、前台指令和策略分发模块、数据库管理模块、流量统计与查询模块。

3.1 后台流量处理模块

这一模块是整个方案的重点与核心,功能上负责实现对所有流经的网络数据流进行类型的准确识别,然后根据前台分发的流量控制策略,对指定的协议进行带宽限制或者截断连接的操作。在协议的识别方面,主要采用的是深度数据包检测识别技术,以及针对于P2P的数据流识别技术。

后台流量处理模块包括了三个子模块。深度数据包检测识别模块主要是负责对数据流征信息的提取与识别,处理的对象是网络报文中的数据负载部分,通过对比数据包的特征与类型数据库中的特征信息,达到确定流量具体类型的目的;P2P行为识别模块是对深度流检测技术的扩展应用,由于深度数据包检测技术虽然所有较高的检测准确度,但无法对特征信息不明显的数据包进行识别,而如P2P之类占用大量网络带宽的协议在加密后,数据包的特征信息十分不明显,需要利用基于数据流检测技术进行二次识别,P2P行为识别模块专门针对P2P协议的流行为特征进行了设计,使方案具备对加密P2P流量的识别能力;策略执行模块完成的工作主要是根据前台分发的流量控制策略,结合经过流量类型识别后需要进行流量限制的协议或者应用,限制其带宽或者截断其连接。

3.2 前台指令和策略分发模块

该模块的主要功能包括制定和更新流量控制策略,将控制策略发送到后台模块进行处理。该模块是系统与用户之间的交互接口,网络管理员通过该模块选择或者输入流量控制的指令,输入的信息包括需要控制流量的协议、需要截断通信连接的应用程序等。模块根据用户的输入自动生成控制策略,其中包括的内容有目标设备、目标协议、控制方式(限流或者是阻断)等。

3.3 数据库管理模块

数据库管理模块主要完成的工作是存储系统中的所有数据,并为其他功能模块提供数据服务。具体的功能包括:存储流量统计信息、提供数据查询服务、为前台策略与分发模块提供策略存储服务、为后台处理模块提供策略的读取服务、为流量统计模块提供查询与报表服务。

3.4 流量统计模块

流量统计模块支持两种网络流量的统计模式,一种是实时统计,一种是历史查询统计。实时统计是通过动态的图形化界面,采用图形和文字相结合的方式,向系统管理员提供当前网络中各种不同类型网络流量的实时变化情况;历史查询统计是通过对数据库中历史流量记录的查询,以图形化的方式将指定时间范围内的网络流量展现给用户。

系统部署于一台双网卡的服务器上,其中的一张网卡连接到互联网上,另一张网卡连接企业内部的局域网。连接局域网的网卡作为内部网络的网关,同时配置SNAT,实现网络数据流的转发。具体的部署图如图2所示:

参考文献:

[1]周世杰,秦志光,吴春江.对待网络流量检测技术研究[EB/OL].http:/// magazine/1009-6868/2007/0501695937.htm,2007.

[2]米淑云.IP网络流量监控系统的设计与实现[D].北京邮电大学,2009.

[3]李霞丽.基于Linux的网络流量测量技术研究和Netfilter Prober的设计与实现[D].西安交通大学,2004.

上一篇:解析PDM与ERP系统集成方法及应用研究 下一篇:基于PacketTracer的“计算机网络组建”虚拟实...