<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

一種提高網絡流量控制性能的方法及其設備的制作方法

文檔序號:8004386閱讀:425來源:國知局
專利名稱:一種提高網絡流量控制性能的方法及其設備的制作方法
技術領域
本發明涉及計算機網絡技術,尤其涉及一種提高網絡流量控制性能的方法及其設備。
背景技術
流量控制是一種主動調整流量輸出速率的措施,其典型的作用是限制流出某一網絡的某些流量與突發,使這類報文以均勻的速度向外發送。
流量控制通常使用隊列和令牌桶算法來完成,當報文的發送速度過快時,首先在隊列進行緩存,在令牌桶的控制下再均勻地發送這些被緩沖的報文。
現有技術中用到的分層令牌桶(Hierarchical Token Bucket,HTB)是一種流量分類控制的經典算法,它可以有效提高帶寬利用率和限制P2P等海量下載軟件的使用。對于正常上網的內網主機,系統將允許它突破最小限速,但不能突破最大限帶;相反,對于長期使用P2P等軟件的內網主機,系統將會減小它的帶寬,使其不能突破其最小限速,對其他主機的影響降到最低。每個HTB的類(CLASS)都有三種狀態:綠色、黃色和紅色狀態。綠色狀態指當前速率小于或等于穩定速度,該狀態下的CLASS有充足的令牌桶用于發送隊列中的數據包;黃色狀態指當前速率大于穩定速率但不大于最大速率,該狀態下的CLASS沒有足夠的令牌桶用于發送隊列中的數據包,需向其上級CLASS借用令牌,其所有的上級CLASS被稱為父類。當黃色狀態下的CLASS積累了足夠多的令牌桶時再發送隊列中的數據包,如果其父類也處于黃色狀態,則繼續此規則;紅色狀態指當前速率超過了最大速率,此CLASS不能從其父類分得任何數目的令牌桶。
圖1A為HTB算法中等待樹模型圖。該等待樹創建有CLASSl: 2和CLASSl: 5,其中CLASSl: 2下又創建有CLASSl: 3和CLASSl: 4。如圖所示,CLASSl: 2和CLASSl: 4都處于紅色狀態,該狀態下進來的數據包將不會被馬上發送甚至被丟棄;CLASS1:3和CLASSl: 5處于黃色狀態,該狀態下的進來的數據包將需要向其父類借用令牌桶發送。每隔一段時間HTB算法都會刷新一次等待樹,它會檢查CLASS的刷新時間與當前時間的差是否超過一定的值,如果超過則先去更新CLASS的令牌桶數,并更新CLASS的狀態和當前CLASS的更新時間,當其狀態變為綠色狀態時,將其從等待樹刪除。因此等待樹狀態為黃色或者紅色的CLASS組成,且為二叉樹。
圖2為HTB算法中的就緒樹模型圖。等待樹在經過刷新后,原來處于黃色狀態的CLASSl: 5可能變成了綠色狀態,其將從等待樹上刪除;原來處于紅色狀態的CLASSl: 2也變成了綠色狀態,它也將從等待樹上刪除,而原來處于紅色狀態的CLASS1:4變成了黃色。
現有技術的流量控制設備通過遍歷就緒樹,就緒樹是由狀態為黃色和綠色狀態的CLASS組成,黃色的CLASS通過其綠色狀態的祖先CLASS掛到就緒樹上,而綠色狀態的CLASS則直接掛到就緒樹上。遍歷的原則是兩緯的,一個是層次,另外一個是優先級。由于黃色的CLASS是通過其祖先掛到就緒樹上的,因此其層次更深,而綠色狀態的CLASS層次更淺,因此綠色狀態的CLASS將被優先遍歷到,在遍歷綠色狀態的CLASS時,按照CLASS所指定的優先級進行遍歷,從就緒樹中選擇到CLASS后,將CLASS的隊列中的數據包進行發送,然后根據數據包的長度再算出要消耗的令牌桶數目,再更新CLASS和其父類的令牌桶數和它們的狀態。
由于現有技術流量控制設備需要頻繁刷新等待樹,且遍歷就緒樹的復雜性,降低了設備的性能。發明內容
本發明的目的是提供一種能提高網絡流量控制性能的方法及其設備。
為實現上述目的,一方面,本發明提供了一種提高網絡流量控制性能的方法,該方法包括以下步驟:接收數據包;根據配置的系統策略將數據包打上其所屬的CLASS標簽;根據CLASS標簽找到相應CLASS ;當CLASS的狀態為可發送狀態時,根據數據包的長度再算出要消耗的令牌桶數目,根據當前時間更新CLASS當前所擁有的令牌桶數,然后用CLASS當前所擁有的令牌桶數減去數據包所消耗的令牌桶數,對CLASS的父類也做此操作,更新CLASS和其父類的狀態;最后發送數據包。
另一方面,本發明提供了一種提高網絡流量控制性能的設備。該設備包括接收模塊、數據包標簽模塊、流量處理模塊和發送模塊,其中接收模塊用于接收數據包;數據包標簽模塊用于根據數據包類型建立類標簽;流量處理模塊用于根據類標簽找到相應的CLASS,當CLASS的狀態為可發送狀態時,根據數據包的長度再算出要消耗的令牌桶數目,根據當前時間更新CLASS當前所擁有的令牌桶數,然后用CLASS當前所擁有的令牌桶數減去數據包所消耗的令牌桶數,對CLASS的父類也做此操作,更新CLASS和其父類的狀態;發送模塊用于轉發數據包。
根據本發明的方法及其設備,可以提高網絡流量控制的性能。另外,本發明的方法還可用于策略中的網絡應用控制、帶寬管理,并可進行網絡應用時監控。


本發明的示例性實施例將從下文中給出的詳細說明和本發明不同實施例的附圖中被更完全地理解,然而這不應該被視為將本發明限制于具體的實施例,而應該只是為了解釋和理解。
圖1A為現有技術HTB算法中等待樹模型圖1B為現有技術HTB算法中就緒樹模型圖2為本發明網絡流控設備應用場景圖3為本發明實施例提高網絡流量控制性能的方法流程圖4為本發明實施例網絡流控設備的示意結構圖5為本發明實施例流量處理模塊的示意結構圖。
具體實施方式
本領域的普通技術人員將意識到,所述示例性實施例的下述詳細說明僅僅是說明性的,并且不是意在以任何方式加以限制。
圖2為本發明網絡流控設備應用場景圖。在圖2中,網絡流控設備12用于接收用戶11(用戶A、用戶B,......,用戶N)發送的數據,并按照流控策略轉發給因特網13。其中,流控策略包括針對用戶進行帶寬的分配與監控,或者根據不同的帶寬應用分配物理鏈路。
在一個例子中,對于正常上網的內網用戶,網絡流控設備將允許它偶然突破最大限速;相反,對于長期使用P2P等軟件的內網用戶,網絡流控設備將會減小它的帶寬,保證對其他主機的影響降到最低。
圖3為本發明實施例提高網絡流量控制性能的方法流程圖。該方法流程圖包括步驟 101-105。
在步驟101,網絡流量控制設備接收來自用戶數據包。
在步驟102,網 絡流量控制設備根據在步驟I中接收的數據包建立類標簽。
具體地,網絡流量控制設備可以根據數據包的元組信息或者數據包的應用類型來建立類標簽,其中數據包的元組信息包括IP地址和端口號。
在一個例子中,網絡流量控制設備采用HTB算法中的TC命令為IP地址為191.168.1.100,且目的端口號為80的數據包建立類標簽。
TC命令如下:
tc filter add dev ethO protocol ip parent 1:0 prio I u32\
match ip src 192.168.1.100
match ip dport 80 Oxffff flowid 1:10
上述TC命令建立了類標簽1:10,該類標簽針對IP為191.168.1.100,且目的端口號為80的數據包都會打上類標簽1:10。
在步驟103,網絡流量控制設備根據數據包的類標簽找到相應的CLASS。
在步驟104,網絡流量控制設備檢查CLASS的狀態是否為可發送狀態,例如綠色狀態,如果是,則根據數據包的長度再算出要消耗的令牌桶數目,根據當前時間更新CLASS當前所擁有的令牌桶數,然后用CLASS當前所擁有的令牌桶數減去數據包所消耗的令牌桶數,對CLASS的父類也做此操作,更新CLASS和其父類的狀態。
在一個例子中,網絡流量控制設備判斷CLASS的狀態是綠色狀態時,首先,更新該CLASS的令牌桶數目,計算從上次發送數據包到現在的時間里生成的令牌桶數;接著,把生成的令牌桶數加上原先CLASS的令牌桶數為該CLASS的令牌桶數;最后,將該CLASS總的令牌桶數減去數據包的長度需要消耗的令牌桶數,結果作為該CLASS當前令牌桶數,并更新CLASS的父類令牌桶數。再執行步驟105。
令牌桶計算單位為tick( 一瞬間),tick是最小的時間計算單位。根據令牌桶的的計算公式可計算出傳輸數據包所需要的tick數。
令牌桶計算公式為: Tfir'll
TOK =-XlO6 RATEus
其中,L為數據包長,單位為Byte (字節);RATE為數據傳輸速率,單位為Byte/s,且RATE =流控目標/8 表示傳輸數據包所需要秒數表示傳輸數據包所KAIL.KA1L.Ttic'll需微秒數,X——表示傳輸數據包所需tick數。RATEus
在步驟105,網絡流量控制設備轉發CLASS中的數據包。
本發明實施例針對符合HTB算法中可發送狀態下的數據包,則直接計算該CLASS中令牌桶數,并發送數據包,相比現有技術HTB的算法機制,省去了 HTB算法中的刷新等待樹步驟和遍歷就緒樹步驟,提高了數據的轉發性能。
圖4為本發明實施例網絡流控設備的示意結構圖。所圖4所示,該設備包括接收模塊21、數據包標簽模塊22、流量處理模塊23和發送模塊24。
接收模塊21用于接收來自用戶的數據包。
數據包標簽模塊22根據接收模塊21接收的數據包建立類標簽。數據包標簽模塊22可以根據數據包的元組信息或者數據包的應用類型來建立類標簽,其中數據包的元組信息包括IP地址和端口號。
流量處理模塊23根據數據包標簽模塊22建立的類標簽找到相應的CLASS,當CLASS狀態為可發送狀態時,重新計算CLASS和其父類的令牌桶數。
流量處理模塊23首先更新CLASS中令牌桶數目,計算從上次發送數據包到現在的時間里生成的令牌桶數;接著,把生成的令牌桶數加上原先CLASS中的令牌桶數為該CLASS總的令牌桶數;最后,將該CLASS總的令牌桶數減去中數據包的長度需要消耗的令牌桶數,結果作為該CLASS當前的令牌桶數,同時對CLASS的父類進行同樣的操作。
發送模塊24轉發上述數據包。
本發明實施例網絡流量控制設備的接收模塊21、數據包標簽模塊22、流量處理模塊23和發送模塊24分別為了實現圖3中各個方法的相應流程,在此不再贅述。
圖5為本發明實施例流量處理模塊的示意結構圖。所圖5所示,該流量處理模塊包括判斷單元31、更新單元32和計算單元33。
判斷單元31判斷CLASS的狀態是否為可發送狀態,例如綠色狀態。
更新單元32根據判斷單元31的判斷結果執行相應的操作,當判斷單元31判斷類標簽所對應的CLASS狀態為綠色狀態時,則計算從上次發送數據包到現在的時間里生成的令牌桶數,并將生成的令牌桶數加上原先CLASS中的令牌桶數為該CLASS總令牌桶數,對CLASS的父類做同樣的操作。
計算單元33根據更新單元32更新后的總令牌桶數減去數據包的長度需要消耗的令牌桶數后的數目,結果作為該CLASS當前令牌桶數,更新CLASS狀態同時對CLASS的父類做同樣的操作。
需要說明的是,該網絡流控設備可以是一個獨立的網絡設備,也可以是以一個模塊形式存儲在于網關、上網行為管理等網絡設備中。
盡管已經示出并描述了本發明的特殊實施例,然而在不背離本發明的示例性實施例及其更寬廣方面的前提下,本領域技術人員顯然可以基于此處的教學做出變化和修改。因此,所附的權利要求意在將所有這類不背離本發明的示例性實施例的真實精神和范圍的變化和更改包含在其范圍之內。
權利要求
1.一種提高網絡流量控制性能的方法,其特征在于:包括以下步驟: 接收數據包; 根據所述數據包建立類標簽; 根據所述類標簽把所述數據包放入相應類中; 當所述類的狀態為可發送狀態時,重新計算所述類和父類的令牌桶數; 發送所述數據包。
2.根據權利要求1所述的方法,其特征在于:所述可發送狀態是綠色狀態。
3.根據權利要求1所述的方法,其特征在于:所述根據所述數據包建立類標簽的步驟包括根據所述數據包的元組信息建立類標簽。
4.根據權利要求1所述的方法,其特征在于:所述根據所述數據包建立類標簽的步驟包括根據所述數據包的應用類型建立類標簽。
5.根據權利要求1所述的方法,其特征在于:所述重新計算所述類中令牌桶數的步驟包括: 更新所述類和其父類的令牌桶數目; 將所述類和其父類的令牌桶數目減去所述數據包的長度需要消耗的令牌桶數。
6.一種提高網絡流量控制性能的設備,其特征在于包括: 接收模塊,用于接收數據包; 數據包標簽模塊,用于根據數據包建立類標簽; 流量處理模塊,用于根據類標簽找到相應的類,當類的狀態為可發送狀態時,重新計算所述類和其父類的令牌桶數; 發送模塊:用于轉發數據包。
7.根據權利要求6所述的設備,其特征在于:所述數據包標簽模塊根據數據包的元組信息建立類標簽。
8.根據權利要求6所述的設備,其特征在于:所述數據包標簽模塊根據數據包的應用類型建立類標簽。
9.根據權利要求6所述的設備,其特征在于:所述數據流量處理模塊包括: 判斷單元,用于判斷類的狀態是否為可發送狀態; 更新單元,用于更新類和其父類的令牌桶數目; 計算單元,用于計算類和其父類的令牌桶數減去數據包的長度需要消耗的令牌桶數后的數目。
10.根據權利要求9所述的設備,其特征在于:所述可發送狀態是綠色狀態。
全文摘要
本發明公開了一種提高網絡流量控制性能的方法及其設備,所述方法包括以下步驟接收數據包;根據數據包建立類標簽;根據類標簽查找相應的類;當類的狀態為可發送狀態時,則重新計算類和其父類的令牌桶數,減去數據包所消耗的令牌桶,并更新類和其父類狀態;發送數據包。所述設備包括接收模塊、數據包標簽模塊、流量處理模塊和發送模塊。本發明能夠更好的提高數據轉發性能,可作為網絡流控設備功能實現。
文檔編號H04L12/801GK103152277SQ20111040401
公開日2013年6月12日 申請日期2011年12月7日 優先權日2011年12月7日
發明者王慶官, 梁志勇, 米嘉 申請人:北京網康科技有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩国伦理电影