《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 源抑制在網(wǎng)絡(luò)流量控制中的應(yīng)用研究
源抑制在網(wǎng)絡(luò)流量控制中的應(yīng)用研究
2015年微型機與應(yīng)用第17期
張文盛
(安徽廣播電視大學,安徽 合肥 230022)
摘要: 傳統(tǒng)網(wǎng)絡(luò)流量控制系統(tǒng)在網(wǎng)絡(luò)出口運行,只能緩解出口擁塞,不能真正控制網(wǎng)絡(luò)流量。研究網(wǎng)絡(luò)流量控制技術(shù),分析出口擁塞產(chǎn)生的根源,引入源抑制思想,從源頭控制用戶流量,構(gòu)建新型的網(wǎng)絡(luò)流量控制系統(tǒng),實現(xiàn)帶寬的合理分配和高效使用。通過建立源抑制機制,設(shè)計通信協(xié)議,在網(wǎng)關(guān)和接入交換機之間聯(lián)動,共同控制網(wǎng)絡(luò)流量。在Linux環(huán)境下實現(xiàn)和測試系統(tǒng),試驗表明源抑制機制能有效控制網(wǎng)絡(luò)流量。
Abstract:
Key words :

  摘  要: 傳統(tǒng)網(wǎng)絡(luò)流量控制系統(tǒng)在網(wǎng)絡(luò)出口運行,只能緩解出口擁塞,不能真正控制網(wǎng)絡(luò)流量。研究網(wǎng)絡(luò)流量控制技術(shù),分析出口擁塞產(chǎn)生的根源,引入源抑制思想,從源頭控制用戶流量,構(gòu)建新型的網(wǎng)絡(luò)流量控制系統(tǒng),實現(xiàn)帶寬的合理分配和高效使用。通過建立源抑制機制,設(shè)計通信協(xié)議,在網(wǎng)關(guān)和接入交換機之間聯(lián)動,共同控制網(wǎng)絡(luò)流量。在Linux環(huán)境下實現(xiàn)和測試系統(tǒng),試驗表明源抑制機制能有效控制網(wǎng)絡(luò)流量。

  關(guān)鍵詞: 源抑制;網(wǎng)絡(luò)流量控制;接入交換機;netfilter

0 引言

  隨著信息技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)流量飛速增長,帶寬使用面臨很大壓力,流量控制技術(shù)成為研究熱點[1]。目前網(wǎng)絡(luò)流量控制研究多集中在網(wǎng)絡(luò)出口,通過在網(wǎng)關(guān)上建立流量控制系統(tǒng),對轉(zhuǎn)發(fā)的數(shù)據(jù)包進行流量整形,實現(xiàn)流量控制[2]。用戶發(fā)送的數(shù)據(jù)包要經(jīng)過多個交換機的轉(zhuǎn)發(fā)才能到達網(wǎng)關(guān),而這些系統(tǒng)不能控制尚未到達的數(shù)據(jù)包,極端情況下,惡意流量仍會造成網(wǎng)絡(luò)癱瘓。本文引入源抑制思想,在接入交換機上控制用戶流量。

1 相關(guān)研究

  1.1 傳統(tǒng)網(wǎng)絡(luò)流量控制技術(shù)

  網(wǎng)絡(luò)出口是網(wǎng)絡(luò)瓶頸,容易發(fā)生擁塞,傳統(tǒng)網(wǎng)絡(luò)流量控制技術(shù)重點控制網(wǎng)絡(luò)出口,采用各種技術(shù)進行網(wǎng)絡(luò)流量控制。這些技術(shù)大致包括兩類:基于網(wǎng)絡(luò)體系結(jié)構(gòu)的流量控制技術(shù)和基于QoS的流量控制技術(shù)?;诰W(wǎng)絡(luò)體系結(jié)構(gòu)的流量控制技術(shù)從協(xié)議分層的角度,根據(jù)協(xié)議的特點對流量進行控制,例如控制P2P協(xié)議流量[3]和TCP協(xié)議流量[4]?;赒oS的流量控制技術(shù)采用分組調(diào)度、隊列管理、流量分類和流量整形技術(shù)[5-6],對轉(zhuǎn)發(fā)的數(shù)據(jù)包進行控制。傳統(tǒng)網(wǎng)絡(luò)流量控制系統(tǒng)工作在網(wǎng)絡(luò)出口,這些技術(shù)只能夠緩解擁塞,無法真正控制網(wǎng)絡(luò)流量。

  1.2 源抑制思想

  源抑制思想是當網(wǎng)絡(luò)發(fā)生擁塞或主機資源不夠時,中間路由器或目標主機向源主機發(fā)送消息,通知其降低發(fā)送數(shù)據(jù)包的速度,從而達到控制流量的目的。源抑制思想在IP協(xié)議設(shè)計之初就被引入,最典型的例子是ICMP協(xié)議,ICMP協(xié)議專門設(shè)計有源抑制報文(Source Quench Message),目標主機為了防止緩存溢出,通過發(fā)送源抑制報文來請求源主機降低數(shù)據(jù)發(fā)送速度[7]。具體過程是:首先目標主機發(fā)生緩存溢出開始丟棄數(shù)據(jù),并向源主機發(fā)送源抑制報文,其發(fā)送速度是每丟棄一個數(shù)據(jù)包就發(fā)送一個源抑制報文;源主機接收到源抑制報文開始降低其數(shù)據(jù)發(fā)送速度,直到不再接收源抑制報文為止;最后只要不再接收到源抑制報文,源主機就逐漸增加其發(fā)送速度。但在實際應(yīng)用中,該報文總是被忽略,并沒有得到很好的使用。

2 基于源抑制的網(wǎng)絡(luò)流量控制系統(tǒng)

  針對傳統(tǒng)網(wǎng)絡(luò)流量控制系統(tǒng)的缺點,引入源抑制機制,在接入交換機上控制用戶流量,建立基于源抑制的網(wǎng)絡(luò)流量控制系統(tǒng)。

  2.1 工作原理

  根據(jù)傳統(tǒng)網(wǎng)絡(luò)流量控制系統(tǒng)和基于源抑制的網(wǎng)絡(luò)流量控制系統(tǒng)的特點,繪制兩者的工作原理,如圖1所示。

001.jpg

  圖中用線條表示用戶流量,線條粗細表示流量大小,箭頭方向表示流量方向,分別顯示用戶發(fā)送流量和接收流量。傳統(tǒng)網(wǎng)絡(luò)流量控制系統(tǒng)中用戶發(fā)送的較大流量經(jīng)交換機轉(zhuǎn)發(fā)到達網(wǎng)關(guān),被限制成較小的流量發(fā)往互聯(lián)網(wǎng),而互聯(lián)網(wǎng)發(fā)往用戶的較大流量到達網(wǎng)關(guān),被限制成較小的流量發(fā)往用戶?;谠匆种频木W(wǎng)絡(luò)流量控制系統(tǒng)中用戶發(fā)送的較大流量在接入交換機即被限制成較小的流量發(fā)往網(wǎng)關(guān)和互聯(lián)網(wǎng),而互聯(lián)網(wǎng)發(fā)往用戶的較大流量到達網(wǎng)關(guān),被限制成較小的流量發(fā)往用戶。對于用戶發(fā)送的流量,傳統(tǒng)網(wǎng)絡(luò)流量控制系統(tǒng)在網(wǎng)關(guān)控制,而基于源抑制的網(wǎng)絡(luò)流量控制系統(tǒng)在接入交換機上控制,因此基于源抑制的流量控制系統(tǒng)才能真正控制網(wǎng)絡(luò)流量。

  2.2 系統(tǒng)結(jié)構(gòu)

  基于源抑制的網(wǎng)絡(luò)流量控制系統(tǒng)在網(wǎng)關(guān)上部署主控模塊,在接入交換機上部署源抑制模塊,通過兩個模塊之間的協(xié)同合作,共同控制網(wǎng)絡(luò)流量。其系統(tǒng)結(jié)構(gòu)如圖2所示。

002.jpg

  主控模塊包括主控進程、網(wǎng)絡(luò)拓撲信息表、下行流量控制單元和令牌桶算法。主控進程監(jiān)測用戶流量,如果是用戶上行流量異常,則通知源抑制模塊進行限制,如果是下行流量異常,則在網(wǎng)關(guān)上限制。網(wǎng)絡(luò)拓撲信息表保存用戶的接入信息,主要包括用戶IP、接入交換機IP和端口,主控算法根據(jù)用戶的IP在表中查詢接入交換機IP和端口,進而執(zhí)行源抑制。下行流量控制單元控制用戶下行流量,使用令牌桶算法進行流量整形。

  源抑制模塊包括源抑制進程、源抑制單元和令牌桶算法。源抑制進程解析主控模塊發(fā)送過來的命令,通知源抑制單元控制用戶上行流量,在指定端口執(zhí)行令牌桶算法進行流量整形。

  源抑制通信協(xié)議規(guī)定主控模塊和源抑制模塊之間交互的命令格式和過程。

  2.3 主控模塊

  網(wǎng)關(guān)上的操作系統(tǒng)內(nèi)核在轉(zhuǎn)發(fā)數(shù)據(jù)包時維護用戶IP的流量計數(shù)值,包括上行字節(jié)數(shù)和下行字節(jié)數(shù)。網(wǎng)絡(luò)拓撲信息表由管理員手工錄入。主控進程定時從操作系統(tǒng)內(nèi)核獲取所有用戶IP的流量計數(shù),計算每個用戶的流量值,找出超過流量閾值一定時間的IP。如果是下行流量異常,則直接將流量閾值參數(shù)設(shè)置進下行流量控制單元中,進而執(zhí)行令牌桶算法控制用戶流量;如果是上行流量異常,則查詢網(wǎng)絡(luò)拓撲信息表,找到接入交換機IP和端口,將端口和限制值等參數(shù)封裝成通信協(xié)議數(shù)據(jù)包并發(fā)送給交換機,通知其在端口上控制用戶流量。當下行流量恢復(fù)正常時(即令牌桶算法不再丟棄數(shù)據(jù)包且保持一定時間),下行流量控制單元主動取消控制。

  2.4 源抑制模塊

  交換機在轉(zhuǎn)發(fā)數(shù)據(jù)包時維護每個端口的流量計數(shù),主要是用戶發(fā)送字節(jié)數(shù)。當主控進程通知交換機在指定端口限速時,源抑制進程接收通信協(xié)議數(shù)據(jù)包,解析出端口和限速值,將其設(shè)置進源抑制單元中。在交換機轉(zhuǎn)發(fā)用戶的數(shù)據(jù)包之前,源抑制單元檢查是否需要限速,如果是,則執(zhí)行令牌桶算法進行控制,否則執(zhí)行正常的轉(zhuǎn)發(fā)操作。當端口流量恢復(fù)正常時(即令牌桶算法不再丟棄數(shù)據(jù)包且保持一定時間),源抑制單元主動取消控制。

  2.5 源抑制通信協(xié)議

  源抑制通信協(xié)議基于UDP協(xié)議,端口值為54730。協(xié)議采用請求應(yīng)答的方式工作,主控進程先發(fā)送源抑制請求報文給源抑制進程,源抑制進程再發(fā)送應(yīng)答報文作為響應(yīng),從而完成一次交互。其PDU結(jié)構(gòu)如圖3所示。

003.jpg

  主要字段用途如下:

  幻數(shù):值為0x7A1D,用于檢查和確認接收到的數(shù)據(jù)包是源抑制PDU。

  序號:從1開始編號,每開始一個新的交互后自動加1,用于區(qū)分不同的交互。

  命令類型:只有兩種類型值,1表示請求,2表示應(yīng)答。在應(yīng)答報文中除命令類型外,其他字段的值與請求報文一致。

  端口值:用戶接入交換機的端口值。

  限速值:用戶的限速值。

  鑒于UDP的不可靠性,抑制協(xié)議引入重傳機制,在請求報文發(fā)送后,如果3 s內(nèi)未收到響應(yīng)報文,則重發(fā)請求報文。在極端情況下,網(wǎng)絡(luò)可能嚴重擁塞,導(dǎo)致源抑制協(xié)議無法完成,因此規(guī)定交換機優(yōu)先轉(zhuǎn)發(fā)源抑制協(xié)議數(shù)據(jù)包。

3 系統(tǒng)測試

  在Linux環(huán)境下實現(xiàn)基于源抑制的網(wǎng)絡(luò)流量控制系統(tǒng),采用Netfilter框架建立主控模塊,采用Bridge框架建立源抑制模塊[8]。然后搭建測試環(huán)境,對源抑制機制進行測試。測試方法是在用戶端發(fā)送100 Mb/s流量到網(wǎng)關(guān),流量閾值為40 Mb/s,記錄網(wǎng)關(guān)接收到的流量,結(jié)果如圖4所示。

004.jpg

  圖4顯示用戶流量持續(xù)一段時間后,從100 Mb/s迅速下降到40 Mb/s,表明源抑制機制能有效控制用戶流量。

4 結(jié)束語

  針對傳統(tǒng)網(wǎng)絡(luò)流量控制系統(tǒng)存在的不足,通過引入源抑制機制,提出構(gòu)建新型的網(wǎng)絡(luò)流量控制系統(tǒng),在接入交換機上控制用戶發(fā)送流量,測試表明該系統(tǒng)能有效控制用戶上行流量。本系統(tǒng)中只要用戶流量超限就立即執(zhí)行控制,這可能造成個別用戶的大流量需求得不到滿足而出口帶寬又空閑浪費的情況發(fā)生,需要進一步研究提高帶寬利用率的算法。此外網(wǎng)絡(luò)拓撲信息表是手工錄入的,實際應(yīng)用中應(yīng)該采用準入控制技術(shù)自動生成。

參考文獻

  [1] 王榮,萬振凱.校園網(wǎng)流量監(jiān)控與優(yōu)化研究[J].天津工業(yè)大學學報,2014,29(2):68-72.

  [2] 張五生,鄭靈翔.基于Linux的流量控制系統(tǒng)研究[J].廈門大學學報(自然科學版),2010,49(1):38-42.

  [3] Wang Chunzhi, Zhou Xin, You Fangping, et al. Design of P2P traffic identification based on DPI and DFI[C]. 2009 International Symposium on Computer Network and Multimedia Technology, Wuhan, China: IEEE, 2009:978-981.

  [4] 楊虎,張大方,謝鯤,等.Netfilter/Iptables框架下基于TCP滑動窗口的串行流量控制算法[J].計算機工程與科學,2009,31(9):8-11,26.

  [5] 劉明,竇文華,張鶴穎.主動隊列管理研究綜述[J].計算機工程,2006,32(24):84-86.

  [6] 楊其欽.校園網(wǎng)中基于令牌桶算法的流量控制研究[D].廣州:暨南大學,2012.

  [7] COME D E. Internetworking with TCP/IP Vol I: Principles, Protocols, and Architectures(Fourth Edition)[M].林瑤,譯.北京:電子工業(yè)出版社,2001.

  [8] 張文盛.基于Netfilter的內(nèi)網(wǎng)流量控制系統(tǒng)應(yīng)用研究[J].山東理工大學學報(自然科學版),2012,26(6):44-48.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。