趙文濤

摘要:本文介紹了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