趙文濤
摘要:本文介紹了Linux流量控制技術(shù),并在此基礎(chǔ)上設(shè)計(jì)一款計(jì)算機(jī)網(wǎng)絡(luò)流量控制系統(tǒng),對網(wǎng)絡(luò)流量加以控制,以期改善網(wǎng)絡(luò)服務(wù)質(zhì)量。
關(guān)鍵詞:Linux;網(wǎng)絡(luò)流量;系統(tǒng)設(shè)計(jì)
中圖分類號:TP393.06 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2019)03-0017-01
0 引言
網(wǎng)絡(luò)應(yīng)用的增多,直接影響了對網(wǎng)速質(zhì)量要求較高的部分應(yīng)用,導(dǎo)致發(fā)生延遲、丟包等問題,本文提出的網(wǎng)絡(luò)流量控制系統(tǒng),可根據(jù)實(shí)際用戶使用需求,分配給用戶不同的寬帶流量,實(shí)現(xiàn)資源合理調(diào)度。在已有網(wǎng)絡(luò)架構(gòu)的基礎(chǔ)上,通過Linux系統(tǒng)的應(yīng)用,具有成本低廉、安裝便捷等諸多優(yōu)勢,實(shí)現(xiàn)網(wǎng)絡(luò)應(yīng)用寬帶的合理分配,具有一定的實(shí)用價值。
1 Linux流量控制技術(shù)
Linux操作系統(tǒng)具有穩(wěn)定、成本低等優(yōu)勢,廣泛運(yùn)用于VPN、NAT、防火墻等網(wǎng)絡(luò)應(yīng)用中。Linux操作系統(tǒng)誕生于1991年,至今已發(fā)展為諸多版本,主要依賴于Internet網(wǎng)絡(luò)、POSIX標(biāo)準(zhǔn)、GNU計(jì)劃、MINIX操作系統(tǒng)以及UNIX操作系統(tǒng)五個方面,可實(shí)現(xiàn)用戶之間的互不干擾,多線程獨(dú)立運(yùn)行,同時Linux還是嵌入型操作系統(tǒng),可完全支持Intel64位芯片架構(gòu)[1]。
Linux流量控制是指改變網(wǎng)絡(luò)流量傳入或外發(fā)方向的一種方式,本文研究的是改變外發(fā)方向的流量控制。Linux流量控制框架主要包括過濾器、類別與排隊(duì)規(guī)則三個元素,其中,過濾器根據(jù)TCP/IP端口號、IP地址等參數(shù),將外發(fā)數(shù)據(jù)包發(fā)送到排列規(guī)則中,類別用于區(qū)分?jǐn)?shù)據(jù)包,根據(jù)過濾器將網(wǎng)絡(luò)流量分為不同的類別,并予以差異優(yōu)先級處理,排隊(duì)規(guī)則定義于net/sched文件中。一個簡單的排隊(duì)規(guī)則僅包括單一隊(duì)列,包括全體數(shù)據(jù)包,并依次排序,網(wǎng)絡(luò)設(shè)備按照順序進(jìn)行發(fā)送。對于復(fù)雜的排列規(guī)則而言,可通過過濾器實(shí)現(xiàn)數(shù)據(jù)包類別區(qū)分,通過優(yōu)先級差異進(jìn)行排列[2]。
排隊(duì)規(guī)則主要為分類的排隊(duì)規(guī)則與無類的排隊(duì)規(guī)則,其中,無類排隊(duì)規(guī)則包括SFQ(隨機(jī)公平隊(duì)列)、TBF(令牌桶過濾器)、FIFO(先進(jìn)先出)等,分類排隊(duì)規(guī)則包括HTB(分層令牌桶)、CBQ(基于類的隊(duì)列)等。在網(wǎng)絡(luò)中均有一個“根排隊(duì)規(guī)則”,在Linux系統(tǒng)中默認(rèn)pfifo_fast排隊(duì)規(guī)則,表示為1:0,主號碼是1,次號碼是0,類與父類主號碼一致,且必須位移,次號碼在分類和排隊(duì)規(guī)則中也應(yīng)保持一致。
Linux流量控制技術(shù)原理是通過過濾器為數(shù)據(jù)包分配一個類,過濾器有內(nèi)部結(jié)構(gòu)可控制內(nèi)部原則,隨后通過32位句柄引用。該句柄和類ID有些相同,但是并未分為主次號。在過濾器內(nèi)部也存在內(nèi)部ID,以get()函數(shù)獲得。
2 基于Linux的計(jì)算機(jī)網(wǎng)絡(luò)流量控制系統(tǒng)設(shè)計(jì)
2.1 設(shè)計(jì)理念
互聯(lián)網(wǎng)技術(shù)的告訴發(fā)展,為網(wǎng)絡(luò)應(yīng)用的普及奠定了堅(jiān)實(shí)的基礎(chǔ),網(wǎng)絡(luò)流量逐漸呈井噴式劇增,目前,網(wǎng)絡(luò)業(yè)務(wù)已滲透到日常生活的各個領(lǐng)域,為人們提供豐富、及時的信息和服務(wù)。網(wǎng)絡(luò)業(yè)務(wù)發(fā)展初期,主要以FTP、E-mail和Telnet等業(yè)務(wù)為主,具有發(fā)展滯后的劣勢,但是Web業(yè)務(wù)的誕生,促使網(wǎng)絡(luò)業(yè)務(wù)迎來了全新的發(fā)展曙光,大量的新生網(wǎng)絡(luò)業(yè)務(wù)(如流媒體、P2P下載等)應(yīng)用而生,其中包含的部分非關(guān)鍵業(yè)務(wù),如P2P業(yè)務(wù),將大量占用網(wǎng)絡(luò)寬帶,對同組用戶的電子郵件、網(wǎng)頁瀏覽等關(guān)鍵業(yè)務(wù)的流量傳輸造成嚴(yán)重限制。傳統(tǒng)端口協(xié)議識別已無法滿足當(dāng)前網(wǎng)絡(luò)流量控制需求,P2P軟件逐漸發(fā)展為動態(tài)端口。本文基于Linux系統(tǒng),通過iptable、L7-filter等工具將數(shù)據(jù)包予以分類識別,再通過流量控制器TC對數(shù)據(jù)包予以流量控制,設(shè)計(jì)一款簡單、高效的網(wǎng)絡(luò)流量控制系統(tǒng)。本系統(tǒng)主要適用于中小企業(yè)單位,服務(wù)器僅需可以支持Linux操作系統(tǒng)即可,安裝尤為方便。
2.2 系統(tǒng)架構(gòu)
本系統(tǒng)設(shè)計(jì)主要包括流量控制與協(xié)議識別兩個模塊,其中,協(xié)議識別主要采用L7_filter與iptable的應(yīng)用層協(xié)議,通過iptable識別數(shù)據(jù)包,并標(biāo)記分類,最后通過HTB隊(duì)列規(guī)定流量的優(yōu)先級與寬帶分配,實(shí)現(xiàn)對流量的控制,確保網(wǎng)絡(luò)應(yīng)用服務(wù)質(zhì)量。計(jì)算機(jī)網(wǎng)絡(luò)流量控制模塊主要針對不同的用戶組與應(yīng)用協(xié)議進(jìn)行寬帶管理,其中,不同的用戶組寬帶管理是限制部分用戶的寬帶,避免網(wǎng)絡(luò)堵塞,并設(shè)定用戶借用寬帶優(yōu)先權(quán)與最大可用寬帶,防止子網(wǎng)絡(luò)的資源浪費(fèi),保證高優(yōu)先權(quán)用戶的寬帶。不同的應(yīng)用協(xié)議寬帶管理可結(jié)合業(yè)務(wù)關(guān)鍵性設(shè)置優(yōu)先級,對P2P等非關(guān)鍵業(yè)務(wù)流量予以控制,保證關(guān)鍵額業(yè)務(wù)的寬帶[3]。
2.3 流量識別模塊
通過L7-filter對Linux數(shù)據(jù)包予以應(yīng)用層協(xié)議檢測,并通過iptables標(biāo)記分類,根據(jù)重要性分為六類,具體分類如:(1)DNS、Telnet、SSH等低延遲數(shù)據(jù),該類具有最高優(yōu)先權(quán),可通過最低延遲要求獲取空閑寬帶。(2)HTTP協(xié)議數(shù)據(jù)包,滿足用戶網(wǎng)頁瀏覽需求。(3)POP3、SMTP郵件協(xié)議,滿足用戶郵件需求。(4)FTP協(xié)議,滿足用戶文件傳輸需求。(5)P2P協(xié)議,滿足下載需求。(6)其他。
2.4 流量控制模塊設(shè)計(jì)
結(jié)合用戶需求,可將不同的用戶分為A、B、C三組,并賦予參與,保證寬帶有限借用權(quán)prio、最大寬帶值ceil以及最小寬帶值rate,具體設(shè)計(jì)方案如:(1)A組級別最高,優(yōu)先權(quán)最高,分配寬帶最多;(2)B組級別中等,優(yōu)先權(quán)中等,分配寬帶中等;(3)C組級別最低,優(yōu)先權(quán)最低,分配寬帶最少。
假設(shè)上傳總寬帶為1000kbit/s,那么A、B、C三組HTB隊(duì)列參數(shù)如表1所示:
2.5 系統(tǒng)平臺搭建
(1)硬件平臺。本系統(tǒng)服務(wù)器采用DELL的PC機(jī),硬件配置如:處理器:四核E5405*2;硬盤:127GB*4;內(nèi)存:DDR DRAM16GB;網(wǎng)絡(luò):自適應(yīng)網(wǎng)卡*4。(2)軟件平臺。軟件平臺采用Linux操作系統(tǒng)(內(nèi)核版本2.6.25),使用L7-filter擴(kuò)展布丁、iptables、Netfilter防火墻,用戶界面為PHP,軟件版本如:Linux:2.6.25;Iptables:1.4.7;L7-filter:2.17。
3 結(jié)語
綜上所述,基于Linux的計(jì)算機(jī)網(wǎng)絡(luò)流量控制系統(tǒng),可對網(wǎng)絡(luò)中不同用戶的流量進(jìn)行有效控制與管理,限制部分用戶的寬帶,確保最高優(yōu)先權(quán)用戶寬帶的服務(wù)質(zhì)量,,通過設(shè)定最大借用寬帶與優(yōu)先權(quán),避免子網(wǎng)絡(luò)寬帶的浪費(fèi)情況發(fā)生,為高優(yōu)先權(quán)用戶爭取更多剩余寬帶??蓪W(wǎng)絡(luò)中不同應(yīng)用協(xié)議的流量進(jìn)行有效控制與管理,對其分配不同的網(wǎng)絡(luò)借用等級、最大和最小可借用寬帶,對非關(guān)鍵業(yè)務(wù)流量進(jìn)行抑制,提高關(guān)鍵業(yè)務(wù)流量的服務(wù)質(zhì)量。
參考文獻(xiàn)
[1] 張五生,鄭靈翔.基于Linux的流量控制系統(tǒng)研究[J].廈門大學(xué)學(xué)報(自然科學(xué)版),2010,49(1):38-42.
[2] 駱華杰,陳洋,鄭仕龍.基于Linux的流量控制研究及應(yīng)用[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2018(7):18-19.
[3]饒國勇,張玉輝.Linux下流量控制系統(tǒng)的設(shè)計(jì)[J].計(jì)算機(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