專利名稱:一種基于用戶的流量控制方法
技術領域:
本發(fā)明涉及一種基于用戶的流量控制方法。
背景技術:
隨著網(wǎng)絡安全和流量控制重要性的日益突出,各種網(wǎng)絡安全和流量控制的新技術 和新產品不斷涌現(xiàn),包括SFQ(隨機公平隊列)、TBF(令牌桶過濾器)等不可分類流量控制 技術,以及CBQ (基于類的隊列)、HTB (分層令牌桶)等可分類的流量控制技術,為保護廠商 和客戶端的信息在網(wǎng)絡傳輸過程的安全性,基于客戶端認證的加密傳輸?shù)陌踩W(wǎng)關越來越 重要,SSLVPN安全網(wǎng)關正是為滿足這個需求產生的。但在現(xiàn)有技術中,用戶的流量控制時 的數(shù)據(jù)流標識操作會引起系統(tǒng)性能下降的問題
發(fā)明內容
本發(fā)明的目的是提供一種基于用戶的流量控制方法,可以很好的解決進行基于用 戶的流量控制時的數(shù)據(jù)流標識操作引起的系統(tǒng)性能下降的問題。本發(fā)明的目的是通過以下技術方案來實現(xiàn)一種基于用戶的流量控制方法,包括=SSLVPN設備啟動源進源出功能;建立客戶 端與SSLVPN網(wǎng)關之間的隧道連接,并生成客戶端節(jié)點;為客戶端配置與客戶端節(jié)點一一對 應的流量控制策略;客戶端發(fā)起到服務器端的訪問請求;SSLVPN網(wǎng)關識別客戶端;建立客 戶端與服務器端的連接;建立連接的狀態(tài)表項與流量控制策略之間的關聯(lián);建立狀態(tài)表項 與由服務器端返回客戶端的報文之間的關聯(lián);通過流量控制策略對由服務器端返回客戶端 的報文進行流量控制。本發(fā)明通過狀態(tài)表項進行數(shù)據(jù)流標識,避免維護一張新的規(guī)則表來標識數(shù)據(jù)流, 提升整個系統(tǒng)性能。
下面根據(jù)附圖和實施例對本發(fā)明作進一步詳細說明。圖1為本發(fā)明一種基于用戶的流量控制方法示意圖;圖2為本發(fā)明實施例1中步驟103的具體流程圖;圖3為本發(fā)明實施例1中步驟107的具體流程圖;圖4為本發(fā)明實施例1中步驟109的具體流程圖。
具體實施例方式本發(fā)明提出一種基于用戶的流量控制方法,其核心思想在于配置在線客戶端的 流量控制策略;關聯(lián)在線客戶端新建連接的狀態(tài)表項與所述流量控制策略;關聯(lián)所述狀態(tài) 表項與由服務器返回的報文;根據(jù)由服務器返回的報文對在線客戶端進行流量控制。實施例1
3
SlOU SSLVPN設備啟動源進源出功能。也就是說,報文請求的入接口,一定是報文應答的出接口。S102、建立客戶端與SSLVPN網(wǎng)關之間的隧道連接,并生成客戶端節(jié)點。S103、SSLVPN網(wǎng)關為客戶端配置與客戶端節(jié)點一一對應的流量控制策略。流量控制策略包括過濾表項和規(guī)則表項,過濾表項與規(guī)則表項一一對應,過濾表 項與規(guī)則表項具有相同的classid。過濾表項由參數(shù)classid標識,classid是一個32位的值,其前16位為父類的 序號,后16位是自己的序號,過濾表項的主要參數(shù)還包括設備名稱、父類標識、優(yōu)先級、 handle值和classid等,過濾表項的handle屬性值也是一個32位值,當SSLVPN支持的客 戶端總數(shù)被限制在6萬以內時,將客戶端節(jié)點保存的classid的后16位值賦給handle。具體包括S1031、SSLVPN網(wǎng)關根據(jù)客戶端信息,獲取客戶端配置數(shù)據(jù)庫,并從客戶端配置數(shù) 據(jù)庫中獲取客戶端流量控制信息??蛻舳诵畔⒈仨毷悄軌蛭ㄒ粯俗R用戶的比如用戶名/密碼、證書等多種形式??蛻舳肆髁靠刂菩畔⒕唧w包括帶寬的上限、下限與優(yōu)先級。S1032、根據(jù)客戶端與SSLVPN網(wǎng)關之間的隧道連接的入接口及客戶端流量控制信 息配置客戶端流量控制策略。將客戶端流量控制信息即帶寬的上限、下限與優(yōu)先級植入客戶端流量控制策略的 規(guī)則表項中。S1033、維護客戶端節(jié)點與流量控制策略一一對應的關系。客戶端節(jié)點通過保存用來標識客戶端流量控制策略中標識過濾表項的classid 以維護客戶端節(jié)點與流量控制策略一一對應的關系。S104、客戶端發(fā)起到服務器端的訪問請求。S105、SSLVPN網(wǎng)關識別客戶端。SSLVPN網(wǎng)關根據(jù)上述連接請求中所攜帶的客戶端信息識別發(fā)起上述連接請求的 客戶端。 S106、建立客戶端與服務器端的連接。S107、SSLVPN網(wǎng)關建立客戶端與服務器端的連接的狀態(tài)表項與客戶端的流量控制 策略之間的關聯(lián)。具體包括S1071、SSLVPN網(wǎng)關獲取客戶端與服務器端的連接的五元組。五元組包括源/目的IP地址、源/目的端口、協(xié)議。S1072、SSLVPN網(wǎng)關根據(jù)上述五元組獲取客戶端與服務器端連接的狀態(tài)表項。S1073、將客戶端節(jié)點保存的classid的后16位值賦給上述狀態(tài)表項的mark屬性值。狀態(tài)表項包括五元組、入接口設備、mark值等信息,使用五元組進行hash存儲。流量控制策略的規(guī)則表項由參數(shù)classid標識,規(guī)則表項表項的主要參數(shù)還包 括設備名稱、父類標識、優(yōu)先級、速率上限、速率下限和classid等,相同流量控制策略的 過濾表項與狀態(tài)表項具有相同的classid。
4
通過將客戶端流量控制策略的classid的后16位值賦給客戶端與服務器端的連 接的狀態(tài)表項的mark值,從而建立客戶端與服務器端的連接的狀態(tài)表項與客戶端的流量 控制策略之間的關聯(lián)。S108、建立客戶端與服務器端的連接的狀態(tài)表項與由服務器端返回客戶端的報文 之間的關聯(lián)。申請人:將用于存儲報文的類似于Linux的sk_bufT結構體定義為skb。當客戶端訪問服務器端的資源時,將由服務器返回的報文以skb進行存儲,并將 skb的mark屬性值設置成同客戶端與服務器端的連接的狀態(tài)表項的mark值相同,從而建立 客戶端的流量控制策略與由服務器端返回客戶端的報文之間的關聯(lián)。S109、通過客戶端的流量控制策略對由服務器端返回客戶端的報文進行流量控 制。具體包括S1091、由服務器端返回的報文以skb進行存儲,使用skb的mark值與客戶端的流 量控制策略的過濾表項的handle值進行匹配,獲取handle值與skb的mark值相同的過濾表項。S1092、獲取與上述過濾表項對應的規(guī)則表項。上述過濾表項與上述規(guī)則表項屬于相同的流量控制策略,通過相同的classid進 行標識。S1093、將skb放入上述規(guī)則表項中。S1094、根據(jù)保存在上述規(guī)則表項中的帶寬上限、下限和優(yōu)先級對由服務器返回到 客戶端的報文進行流量控制。以上只是本發(fā)明一個優(yōu)選的實施例,基于本發(fā)明思想的其他實施例均應包含在本 發(fā)明的保護范圍。
權利要求
一種基于用戶的流量控制方法,其特征在于,包括SSLVPN設備啟動源進源出功能;建立客戶端與SSLVPN網(wǎng)關之間的隧道連接,并生成客戶端節(jié)點;為所述的客戶端配置與所述的客戶端節(jié)點一一對應的流量控制策略;所述的客戶端發(fā)起到所述的服務器端的訪問請求;所述的SSLVPN網(wǎng)關識別所述的客戶端;建立所述的客戶端與所述的服務器端的連接;建立所述連接的狀態(tài)表項與所述流量控制策略之間的關聯(lián);建立所述狀態(tài)表項與由所述服務器端返回所述客戶端的報文之間的關聯(lián);通過所述流量控制策略對所述由服務器端返回客戶端的報文進行流量控制。
全文摘要
一種基于用戶的流量控制方法,包括SSLVPN設備啟動源進源出功能;建立客戶端與SSLVPN網(wǎng)關之間的隧道連接,并生成客戶端節(jié)點;為客戶端配置與客戶端節(jié)點一一對應的流量控制策略;客戶端發(fā)起到服務器端的訪問請求;SSLVPN網(wǎng)關識別客戶端;建立客戶端與服務器端的連接;建立連接的狀態(tài)表項與流量控制策略之間的關聯(lián);建立狀態(tài)表項與由服務器端返回客戶端的報文之間的關聯(lián);通過流量控制策略對由服務器端返回客戶端的報文進行流量控制。本發(fā)明通過狀態(tài)表項進行數(shù)據(jù)流標識,避免維護一張新的規(guī)則表來標識數(shù)據(jù)流,提升整個系統(tǒng)性能。
文檔編號H04L12/46GK101958842SQ201010522910
公開日2011年1月26日 申請日期2010年10月28日 優(yōu)先權日2010年10月28日
發(fā)明者宋慶 申請人:神州數(shù)碼網(wǎng)絡(北京)有限公司