基于Linux的计算机网络流量控制系统研究

2019-06-15 01:01赵文涛
数字技术与应用 2019年3期
关键词:网络流量系统设计

赵文涛

摘要:本文介绍了Linux流量控制技术,并在此基础上设计一款计算机网络流量控制系统,对网络流量加以控制,以期改善网络服务质量。

关键词:Linux;网络流量;系统设计

中图分类号:TP393.06 文献标识码:A 文章编号:1007-9416(2019)03-0017-01

0 引言

网络应用的增多,直接影响了对网速质量要求较高的部分应用,导致发生延迟、丢包等问题,本文提出的网络流量控制系统,可根据实际用户使用需求,分配给用户不同的宽带流量,实现资源合理调度。在已有网络架构的基础上,通过Linux系统的应用,具有成本低廉、安装便捷等诸多优势,实现网络应用宽带的合理分配,具有一定的实用价值。

1 Linux流量控制技术

Linux操作系统具有稳定、成本低等优势,广泛运用于VPN、NAT、防火墙等网络应用中。Linux操作系统诞生于1991年,至今已发展为诸多版本,主要依赖于Internet网络、POSIX标准、GNU计划、MINIX操作系统以及UNIX操作系统五个方面,可实现用户之间的互不干扰,多线程独立运行,同时Linux还是嵌入型操作系统,可完全支持Intel64位芯片架构[1]。

Linux流量控制是指改变网络流量传入或外发方向的一种方式,本文研究的是改变外发方向的流量控制。Linux流量控制框架主要包括过滤器、类别与排队规则三个元素,其中,过滤器根据TCP/IP端口号、IP地址等参数,将外发数据包发送到排列规则中,类别用于区分数据包,根据过滤器将网络流量分为不同的类别,并予以差异优先级处理,排队规则定义于net/sched文件中。一个简单的排队规则仅包括单一队列,包括全体数据包,并依次排序,网络设备按照顺序进行发送。对于复杂的排列规则而言,可通过过滤器实现数据包类别区分,通过优先级差异进行排列[2]。

排队规则主要为分类的排队规则与无类的排队规则,其中,无类排队规则包括SFQ(随机公平队列)、TBF(令牌桶过滤器)、FIFO(先进先出)等,分类排队规则包括HTB(分层令牌桶)、CBQ(基于类的队列)等。在网络中均有一个“根排队规则”,在Linux系统中默认pfifo_fast排队规则,表示为1:0,主号码是1,次号码是0,类与父类主号码一致,且必须位移,次号码在分类和排队规则中也应保持一致。

Linux流量控制技术原理是通过过滤器为数据包分配一个类,过滤器有内部结构可控制内部原则,随后通过32位句柄引用。该句柄和类ID有些相同,但是并未分为主次号。在过滤器内部也存在内部ID,以get()函数获得。

2 基于Linux的计算机网络流量控制系统设计

2.1 设计理念

互联网技术的告诉发展,为网络应用的普及奠定了坚实的基础,网络流量逐渐呈井喷式剧增,目前,网络业务已渗透到日常生活的各个领域,为人们提供丰富、及时的信息和服务。网络业务发展初期,主要以FTP、E-mail和Telnet等业务为主,具有发展滞后的劣势,但是Web业务的诞生,促使网络业务迎来了全新的发展曙光,大量的新生网络业务(如流媒体、P2P下载等)应用而生,其中包含的部分非关键业务,如P2P业务,将大量占用网络宽带,对同组用户的电子邮件、网页浏览等关键业务的流量传输造成严重限制。传统端口协议识别已无法满足当前网络流量控制需求,P2P软件逐渐发展为动态端口。本文基于Linux系统,通过iptable、L7-filter等工具将数据包予以分类识别,再通过流量控制器TC对数据包予以流量控制,设计一款简单、高效的网络流量控制系统。本系统主要适用于中小企业单位,服务器仅需可以支持Linux操作系统即可,安装尤为方便。

2.2 系统架构

本系统设计主要包括流量控制与协议识别两个模块,其中,协议识别主要采用L7_filter与iptable的应用层协议,通过iptable识别数据包,并标记分类,最后通过HTB队列规定流量的优先级与宽带分配,实现对流量的控制,确保网络应用服务质量。计算机网络流量控制模块主要针对不同的用户组与应用协议进行宽带管理,其中,不同的用户组宽带管理是限制部分用户的宽带,避免网络堵塞,并设定用户借用宽带优先权与最大可用宽带,防止子网络的资源浪费,保证高优先权用户的宽带。不同的应用协议宽带管理可结合业务关键性设置优先级,对P2P等非关键业务流量予以控制,保证关键额业务的宽带[3]。

2.3 流量识别模块

通过L7-filter对Linux数据包予以应用层协议检测,并通过iptables标记分类,根据重要性分为六类,具体分类如:(1)DNS、Telnet、SSH等低延迟数据,该类具有最高优先权,可通过最低延迟要求获取空闲宽带。(2)HTTP协议数据包,满足用户网页浏览需求。(3)POP3、SMTP邮件协议,满足用户邮件需求。(4)FTP协议,满足用户文件传输需求。(5)P2P协议,满足下载需求。(6)其他。

2.4 流量控制模块设计

结合用户需求,可将不同的用户分为A、B、C三组,并赋予参与,保证宽带有限借用权prio、最大宽带值ceil以及最小宽带值rate,具体设计方案如:(1)A组级别最高,优先权最高,分配宽带最多;(2)B组级别中等,优先权中等,分配宽带中等;(3)C组级别最低,优先权最低,分配宽带最少。

假设上传总宽带为1000kbit/s,那么A、B、C三组HTB队列参数如表1所示:

2.5 系统平台搭建

(1)硬件平台。本系统服务器采用DELL的PC机,硬件配置如:处理器:四核E5405*2;硬盘:127GB*4;内存:DDR DRAM16GB;网络:自适应网卡*4。(2)软件平台。软件平台采用Linux操作系统(内核版本2.6.25),使用L7-filter扩展布丁、iptables、Netfilter防火墙,用户界面为PHP,软件版本如:Linux:2.6.25;Iptables:1.4.7;L7-filter:2.17。

3 结语

综上所述,基于Linux的计算机网络流量控制系统,可对网络中不同用户的流量进行有效控制与管理,限制部分用户的宽带,确保最高优先权用户宽带的服务质量,,通过设定最大借用宽带与优先权,避免子网络宽带的浪费情况发生,为高优先权用户争取更多剩余宽带。可对网络中不同应用协议的流量进行有效控制与管理,对其分配不同的网络借用等级、最大和最小可借用宽带,对非关键业务流量进行抑制,提高关键业务流量的服务质量。

参考文献

[1] 张五生,郑灵翔.基于Linux的流量控制系統研究[J].厦门大学学报(自然科学版),2010,49(1):38-42.

[2] 骆华杰,陈洋,郑仕龙.基于Linux的流量控制研究及应用[J].网络安全技术与应用,2018(7):18-19.

[3]饶国勇,张玉辉.Linux下流量控制系统的设计[J].计算机测量与控制,2014,22(10):3210-3212.

Research on Computer Network Flow Control System Based on Linux

ZHAO Wen-tao

(Guangxi Technological College of Machinery and Electricity,Nanning Guangxi  530000)

Abstract:This paper introduces Linux traffic control technology, and on this basis, designs a computer network traffic control system to control network traffic, in order to improve the quality of network service.

Key words:Linux; network traffic; system design

猜你喜欢
网络流量系统设计
基于多元高斯分布的网络流量异常识别方法
基于神经网络的P2P流量识别方法
AVB网络流量整形帧模型端到端延迟计算
网络流量监控对网络安全治理的重要性