會話控制方法及裝置的制造方法
【專利摘要】本公開是關于會話控制方法及裝置,可以應用于網絡設備中,其方法包括:接收報文;從緩存的會話表中判斷是否存在與報文的特征相匹配的會話特征;若不存在匹配的會化特征,判斷當前會話數是否達到會話上限數;若當前會話數達到會話上限數,則根據報文的特征查找轉發(fā)信息,并根據轉發(fā)信息將所述報文進行轉發(fā);若當前會話數沒有達到會話上限數,則創(chuàng)建新會話。本方案實現在當前會話數達到會話上限數時,不會因為頻繁創(chuàng)建連接導致大量消耗被攻擊設備的系統(tǒng)資源,保證被攻擊設備正常工作。
【專利說明】
會話控制方法及裝置
技術領域
[0001]本公開涉及數據通信領域,尤其涉及會話控制方法及裝置。
【背景技術】
[0002]當前的網絡安全形勢嚴峻,各種攻擊手段層出不窮,大部分攻擊會造成網絡流量異常,消耗掉大量的網絡資源。為了解決上述問題,相關技術中,逐漸提高信息安全設備中的最大并發(fā)會話數,并采用會話老化的方式進行會話控制。其中,會話老化是指長時間沒有報文交互的會話需要立即老化掉。
[0003]雖然最大會話數越來越大、會話老化可以減少會話,能夠滿足正常情況下的各種應用,但是對于特殊的環(huán)境下,比如頻繁創(chuàng)建連接,會大量消耗被攻擊設備的系統(tǒng)資源,從而造成被攻擊設備無法正常工作。
【發(fā)明內容】
[0004]本公開提供了會話控制方法及裝置,以解決相關技術中資源消耗過大導致無法正常工作的問題。
[0005]根據本發(fā)明實施例的第一方面,提供一種會話控制方法,所述方法應用于網絡設備中,所述方法包括:
[0006]接收報文;
[0007]從緩存的會話表中判斷是否存在與報文的特征相匹配的會話特征;
[0008]若不存在匹配的會化特征,判斷當前會話數是否達到會話上限數;
[0009]若當前會話數達到會話上限數,則根據報文的特征查找轉發(fā)信息,并根據轉發(fā)信息將所述報文進行轉發(fā);
[0010]若當前會話數沒有達到會話上限數,則創(chuàng)建新會話。
[0011]根據本發(fā)明實施例的第二方面,提供一種會話控制裝置,所述裝置應用于網絡設備中,所述裝置包括:
[0012]接收單元,用于接收報文;
[0013]第一判斷單元,用于從緩存的會話表中判斷是否存在與報文的特征相匹配的會話特征;
[0014]第二判斷單元,用于若不存在匹配的會化特征,判斷當前會話數是否達到會話上限數;
[0015]轉發(fā)單元,用于若當前會話數達到會話上限數,則根據報文的特征查找轉發(fā)信息,并根據轉發(fā)信息將所述報文進行轉發(fā);
[0016]會話創(chuàng)建單元,用于若當前會話數沒有達到會話上限數,則創(chuàng)建新會話。
[0017]本發(fā)明提供一種會話控制方法及裝置,在接收到報文時,從緩存的會話表中判斷是否存在與報文的特征相匹配的會話特征,如果不存在匹配的會話特征,則對當前會話數進行判斷,在當前會話數沒有達到會話上限數時創(chuàng)建會話,在當前會話數達到會話數時,根據報文的特征查找轉發(fā)信息,并根據轉發(fā)信息將報文進行轉發(fā),不再創(chuàng)建會話,從而實現在當前會話數達到會話上限數時,不會因為頻繁創(chuàng)建連接導致大量消耗被攻擊設備的系統(tǒng)資源,保證被攻擊設備正常工作,舊流的業(yè)務功能正常,新流能正常轉發(fā)。
[0018]應當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性和解釋性的,并不能限制本公開。
【附圖說明】
[0019]此處的附圖被并入說明書中并構成本說明書的一部分,示出了符合本公開的實施例,并與說明書一起用于解釋本公開的原理。
[0020]圖1是應用本發(fā)明實施例會話控制方法的應用場景示意圖。
[0021]圖2是根據一示例性實施例示出的一種會話控制方法的流程圖。
[0022]圖3是根據一示例性實施例示出的另一種會話控制方法的流程圖。
[0023]圖4是本發(fā)明會話控制裝置所在設備的一種硬件結構圖。
[0024]圖5根據一示例性實施例示出的一種會話控制裝置的框圖。
【具體實施方式】
[0025]為了使本技術領域的人員更好地理解本發(fā)明實施例中的技術方案,并使本發(fā)明實施例的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結合附圖對本發(fā)明實施例中技術方案作進一步詳細的說明。
[0026]如圖1所示,為應用本發(fā)明實施例會話控制方法的應用場景示意圖。圖1中示出了一種會話控制的組網架構。該架構中可以包括第一設備、第二設備和網絡設備。其中,第一設備和第二設備可以是客戶端的終端設備,終端設備可以包括各種智能手機、平板電腦、PC (Personal Computer,個人計算機)等;第一設備和第二設備也可以其他的設備,例如服務器設備。網絡設備可以為路由器、交換機、防火墻等設備。
[0027]如圖2所示,圖2是根據一示例性實施例示出的一種會話控制方法的流程圖,該方法應用于網絡設備中,包括以下步驟:
[0028]步驟201:接收報文。
[0029]在網絡領域,會話(sess1n)是一種持久網絡協(xié)議,可以在一臺設備和另一臺設備之間創(chuàng)建關聯(lián),從而起到交換數據包的作用機制,會話在網絡協(xié)議(例如telnet或FTP)中是非常重要的部分。報文(message)是網絡中一臺設備與另一臺設備交互的一種數據包。會話的定義標準有很多,其中常采用五元組的方式來定義,所謂五元組通常包括源IP地址、目的IP地址、源端口號、目的端口號以及協(xié)議類型。網絡中,五元組相同的報文為一條會話,例如,一臺電腦從ftp服務器下載東西,整個下載過程都是一條會話。
[0030]步驟202:從緩存的會話表中判斷是否存在與報文的特征相匹配的會話特征,若存在匹配的會化特征,進入步驟203,若不存在匹配的會化特征,進入步驟204。
[0031]網絡設備中,可以將已創(chuàng)建的會話的相關信息緩存在會話表中,例如會話表可以包括會話特征。其中,會話特征是會話的特征信息,例如可以是該會話中報文的特征,比如常見的五元組信息:源IP地址、目的IP地址、源端口號、目的端口號以及協(xié)議類型。當緩存的會話表中不存在匹配的會話特征時,可能有兩種情況,一種情況是,報文是一條流的首報文,則該條流沒有創(chuàng)建報文,則不存在匹配的會話特征;另一種情況是,由于本方案在會話數達到會話上限數時不會創(chuàng)建會話,則在會話達到會話上限數時,后續(xù)所有的新建流都不會查找到匹配的會話特征。
[0032]進一步的,會話表中還可以記錄有快轉表項??燹D是利用同一個會話的報文轉發(fā)策略相同來實現的,當一個會話的首報文到達設備時,正常上送協(xié)議棧做轉發(fā)處理及業(yè)務處理,同時將相關處理結果信息收集好下刷到驅動的快轉表項中,后續(xù)當同一五元組的后續(xù)報文再次到達設備時,只需在驅動進行一次快轉表查找操作即可完成對報文的業(yè)務處理和轉發(fā)處理。因此,快轉表項中可以存儲有報文的業(yè)務處理信息以及轉發(fā)信息。其中,業(yè)務處理信息可以是報文審計、NAT轉發(fā)、帶寬保證、流量分析等。會話表中存在與報文的特征相匹配的會話特征時,可以直接根據會話特征對應的快轉表項執(zhí)行業(yè)務處理和轉發(fā)處理。
[0033]應當理解的是,在另一個實施例中,會話表可以包括會話特征、快轉表項和轉發(fā)表項。其中,快轉表項用于記錄報文的業(yè)務處理信息,轉發(fā)表項用于記錄報文的轉發(fā)信息。
[0034]步驟203:可以根據會化特征對應的相關表項進行相應的處理。
[0035]由于會話表中可以記錄會話的會化特征和相關表項,則可以根據會化特征查找對應的表項。例如,可以根據會化特征對應的快轉表項進行業(yè)務處理和轉發(fā)處理。
[0036]步驟204:判斷當前會話數是否達到會話上限數,若當前會話數達到會話上限數,則進入步驟205,若當前會話數沒有達到會話上限數,則進入步驟206。
[0037]在沒有匹配到會話特征時,即表明該報文沒有創(chuàng)建會話,則需要判斷當前會話數是否達到會話上限數,若達到會話上限數,則表明會話已滿,可以執(zhí)行步驟205的操作,直接根據報文的特征查找轉發(fā)信息,將報文轉走。例如,根據報文的目的IP和目的端口將報文信息轉走,不再創(chuàng)建新會話;若當前會話數沒有達到會話上限數,則表明當前會話數未滿,則可以根據報文創(chuàng)建新會話。例如,上送協(xié)議棧做業(yè)務處理和轉發(fā)處理,在會話表中創(chuàng)建快轉表項,將相關處理結果信息存儲在快轉表項中。
[0038]在一個可選的實現方式中,設備啟動后即開啟會話過載保護功能。在其他實施例中,可以控制會話過載保護功能的開啟與關閉。例如,步驟203之前,可以判斷會話過載保護功能是否開啟,若開啟,則進入步驟203,若未開啟,則直接根據報文創(chuàng)建新會話。判斷會話過載保護功能是否開啟的方式有很多種,例如,可以檢測指示會話過載保護功能開啟的按鈕或按鍵是否觸發(fā),若觸發(fā),則表示會話過載保護功能開啟。
[0039]步驟205:根據報文的特征查找轉發(fā)信息,并根據轉發(fā)信息將所述報文進行轉發(fā)。
[0040]步驟206:創(chuàng)建新會話。
[0041]由上述實施例可見,在接收到報文時,從緩存的會話表中判斷是否存在與報文的特征相匹配的會話特征,如果不存在匹配的會話特征,則對當前會話數進行判斷,在當前會話數沒有達到會話上限數時,創(chuàng)建會話;在當前會話數達到會話數時,根據報文的特征查找轉發(fā)信息,并根據轉發(fā)信息將報文進行轉發(fā),不再創(chuàng)建會話,從而實現在當前會話數達到會話上限數時,不會因為頻繁創(chuàng)建連接導致大量消耗被攻擊設備的系統(tǒng)資源,保證被攻擊設備正常工作,舊流的業(yè)務功能正常,新流能正常轉發(fā)。
[0042]如圖3所示,圖3是根據一示例性實施例示出的另一種會話控制方法的流程圖,該方法可以用于網絡設備中,包括以下步驟:
[0043]步驟301:接收報文。
[0044]步驟302:從緩存的會話表中判斷是否存在與報文的特征相匹配的會話特征;若存在匹配的會化特征,則進入步驟303 ;若不存在匹配的會化特征,則進入步驟304。
[0045]步驟303:可以根據會化特征對應的相關表項進行相應的處理。
[0046]由于會話表中可以記錄會話的會化特征和相關表項,則可以根據會化特征查找對應的表項。例如,可以根據會化特征對應的快轉表項進行業(yè)務處理和轉發(fā)處理。
[0047]步驟304:獲取會話過載保護標記,并進入步驟305。
[0048]上述會話過載保護標記是預先設置的用來指示會話是否過載的標記,例如,可以用會話過載標記指示會話數達到設定會話數,可以用會話未過載標記指示會話數沒有達到會話上限數。其中,會話過載標記可以是數字、字符串、符號等的任意組合,只要能唯一標識會話已滿即可。同理,會話未過載標記也可以是數字、字符串、符號等的任意組合,只要能唯一標識會話未滿即可。例如,會話過載標記可以為1,會話未過載標記可以為O ;又如,會話過載標記可以為“真”,會話未過載標記可以為“假”。
[0049]步驟305:對所述會話過載保護標記進行識別;當所述會話過載保護標記為會話過載標記時,則進入步驟306,當所述會話過載保護標記為會話未過載標記時,則進入步驟307。
[0050]本步驟中,當所述會話過載保護標記為會話過載標記時,則判定當前會話數達到所述會話上限數;當所述會話過載保護標記為會話未過載標記時,則判定當前會話數沒有達到所述會話上限數。
[0051]步驟306:根據報文的特征查找轉發(fā)信息,并根據轉發(fā)信息將所述報文進行轉發(fā)。
[0052]在識別出會話過載保護標記為會話過載標記時,不再創(chuàng)建新會話,直接根據報文的特征查找轉發(fā)信息,并根據轉發(fā)信息將報文進行轉發(fā),避免在會話已滿的情況下繼續(xù)創(chuàng)建會話導致的斷網、正常功能失效等問題。
[0053]步驟307:創(chuàng)建新會話。
[0054]由于在緩存的會話表中不存在與報文的特征相匹配的會話特征,同時會話數沒有達到會話上限數,則表示該報文之前沒有創(chuàng)建會話,可以將報文上送協(xié)議棧做業(yè)務處理和轉發(fā)處理,在會話表中創(chuàng)建快轉表項,將相關處理結果信息存儲在快轉表項中。
[0055]由上述實施例可見,可以利用會話過載保護標記的方式指示會話數是否達到會話上限數,提供了一種判斷當前會話數是否達到會話上限數的方式,可以根據會話過載保護標記快速識別出當前會話數是否達到會話上限數,并進行相應的處理,提高了判斷效率。同時,當會話過載保護標記為會話過載標記時,相當于將當前會話狀態(tài)設置為會話保護狀態(tài),在會話保護狀態(tài)下,禁止創(chuàng)建新會話,從而避免資源過大消耗,保證功能正常運行。
[0056]在一個可選的實現方式中,所述創(chuàng)建新會話之后,還包括:根據新會話對當前會話數進行更新;判斷更新后的會話數是否達到所述會話上限數,若達到,則將所述會話過載保護標記設為會話過載標記。
[0057]在該實施例中,提供了一種會話過載標記的設置方法,可以在每次創(chuàng)建新會話后,判斷更新后的會話數是否達到會話上限數,若達到,則將會話過載保護標記設為會話過載標記。本實施例在會話數更新時才判斷是否設置會話過載標記,避免資源浪費。當然,當會話老化刪除的時候,會話數可以自動更新。
[0058]應當理解,在其他實現方式中,也可以在緩存的會話表中不存在與報文的特征相匹配的會話特征時,直接獲取當前會話數,判斷當前會話數是否達到會話數上限數,根據判斷結果設置會話過載保護標記。
[0059]在一個可選的實現方式中,針對會話未過載標記的設置方法,可以采用以下方式進行設置:
[0060]方式一
[0061]根據當前會話數進行判斷,當前會話數沒有達到會話上限數時,則將會話過載保護標記設為會話未過載標記。例如,可以預先設置計數器,當創(chuàng)建新會話時,計數器的計數值加一,當會話刪除時,計數器的計數值減一,則可以根據計數器的計數值判斷會話數是否達到會話上限數,達到,則將會話過載保護標記設為會話過載標記,未達到,則將會話過載保護標記設置為會話未過載標記。針對判斷時間,可以在會話數進行更新后進行判斷,也可以是在接收到報文、且緩存的會話表中不存在與報文的特征相匹配的會話特征時進行判斷。這種方式是通過會話數未達到會話上限數的方式來設置會話未過載標記,可以實現會話過載保護標記更新的實時性。
[0062]方式二
[0063]以設置會話過載標記的時間為起始時間,間隔設定的過載保護時間后將所述會話過載保護標記設置為會話未過載標記。
[0064]本實施例在會話數達到會話上限數時,設置了過載保護時間,在該過載保護時間內,會話處于會話保護狀態(tài),該狀態(tài)下禁止創(chuàng)建新會話,過了過載保護時間后,則會話過載保護標記自動更新為會話未過載標記,取消會話保護狀態(tài)。本實施例通過過載保護時間的方式設置會話未過載標記,避免實時檢測和判斷會話數的方式導致的資源浪費。
[0065]與前述會話控制方法的實施例相對應,本公開還提供了會話控制裝置的實施例。
[0066]本發(fā)明會話控制裝置的實施例可以應用在網絡設備上。裝置實施例可以通過軟件實現,也可以通過硬件或者軟硬件結合的方式實現。以軟件實現為例,作為一個邏輯意義上的裝置,是通過其所在設備的處理器將非易失性存儲器中對應的計算機程序指令讀取到內存中運行形成的。從硬件層面而言,如圖4所示,為本發(fā)明會話控制裝置所在設備的一種硬件結構圖,除了圖4所示的處理器、網絡接口、內存以及非易失性存儲器之外,實施例中裝置所在的設備通常還可以包括其他硬件,圖4中不再一一示出。
[0067]如圖5所示,圖5是本公開根據一示例性實施例示出的一種會話控制裝置框圖,所述裝置應用于網絡設備中,所述裝置包括:
[0068]接收單元510,用于接收報文;
[0069]第一判斷單元520,用于從緩存的會話表中判斷是否存在與報文的特征相匹配的會話特征;
[0070]第二判斷單元530,用于若不存在匹配的會化特征,判斷當前會話數是否達到會話上限數;
[0071]轉發(fā)單元540,用于若當前會話數達到會話上限數,則根據報文的特征查找轉發(fā)信息,并根據轉發(fā)信息將所述報文進行轉發(fā);
[0072]會話創(chuàng)建單元550,用于若當前會話數沒有達到會話上限數,則創(chuàng)建新會話。
[0073]由上述實施例可見,在接收到報文時,從緩存的會話表中判斷是否存在與報文的特征相匹配的會話特征,如果不存在匹配的會話特征,則對當前會話數進行判斷,在當前會話數沒有達到會話上限數時,創(chuàng)建會話;在當前會話數達到會話數時,根據報文的特征查找轉發(fā)信息,并根據轉發(fā)信息將報文進行轉發(fā),不再創(chuàng)建會話,從而實現在當前會話數達到會話上限數時,不會因為頻繁創(chuàng)建連接導致大量消耗被攻擊設備的系統(tǒng)資源,保證被攻擊設備正常工作,舊流的業(yè)務功能正常,新流能正常轉發(fā)。
[0074]在一個可選的實現方式中,所述第二判斷單元包括:
[0075]標記獲取子單元,用于獲取會話過載保護標記;
[0076]標記識別子單元,用于對所述會話過載保護標記進行識別;當所述會話過載保護標記為會話過載標記時,則判定當前會話數達到所述會話上限數;當所述會話過載保護標記為會話未過載標記時,則判定當前會話數沒有達到所述會話上限數。
[0077]由上述實施例可見,可以利用會話過載保護標記的方式指示會話數是否達到會話上限數,提供了一種判斷當前會話數是否達到會話上限數的方式,可以根據會話過載保護標記快速識別出當前會話數是否達到會話上限數,并進行相應的處理,提高了判斷效率。同時,當會話過載保護標記為會話過載標記時,相當于將當前會話狀態(tài)設置為會話保護狀態(tài),在會話保護狀態(tài)下,禁止創(chuàng)建新會話,從而避免資源過大消耗,保證功能正常運行。
[0078]在一個可選的實現方式中,所述裝置還包括:
[0079]會話數更新單元,用于根據新會話對當前會話數進行更新;
[0080]第三判斷單元,用于判斷更新后的會話數是否達到所述會話上限數;
[0081]會話過載標記設置單元,用于若達到會話上限數,則將所述會話過載保護標記設為會話過載標記。
[0082]由上述實施例可見,提供了一種會話過載標記的設置方法,可以在每次創(chuàng)建新會話后,判斷更新后的會話數是否達到會話上限數,若達到,則將會話過載保護標記設為會話過載標記。本實施例在會話數更新時才判斷是否設置會話過載標記,避免資源浪費。
[0083]在一個可選的實現方式中,所述裝置還包括:
[0084]會話未過載標記設置單元,用于以設置會話過載標記的時間為起始時間,間隔設定的過載保護時間后將所述會話過載保護標記設置為會話未過載標記。
[0085]由上述實施例可見,通過過載保護時間的方式設置會話未過載標記,避免實時檢測和判斷會話數的方式導致的資源浪費。
[0086]在一個可選的實現方式中,所述會話表包括會話特征和快轉表項,所述裝置還包括:
[0087]處理單元,用于若存在匹配的會話特征,則根據所述會化特征對應的快轉表項執(zhí)行業(yè)務處理和轉發(fā)處理。
[0088]本領域技術人員在考慮說明書及實踐這里公開的發(fā)明后,將容易想到本公開的其它實施方案。本公開旨在涵蓋本公開的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本公開的一般性原理并包括本公開未公開的本技術領域中的公知常識或慣用技術手段。說明書和實施例僅被視為示例性的,本公開的真正范圍和精神由下面的權利要求指出。
[0089]應當理解的是,本公開并不局限于上面已經描述并在附圖中示出的精確結構,并且可以在不脫離其范圍進行各種修改和改變。本公開的范圍僅由所附的權利要求來限制。
【主權項】
1.一種會話控制方法,其特征在于,所述方法應用于網絡設備中,所述方法包括: 接收報文; 從緩存的會話表中判斷是否存在與報文的特征相匹配的會話特征; 若不存在匹配的會化特征,判斷當前會話數是否達到會話上限數; 若當前會話數達到會話上限數,則根據報文的特征查找轉發(fā)信息,并根據轉發(fā)信息將所述報文進行轉發(fā); 若當前會話數沒有達到會話上限數,則創(chuàng)建新會話。2.根據權利要求1所述的方法,其特征在于,所述判斷當前會話數是否達到會話上限數,包括: 獲取會話過載保護標記; 對所述會話過載保護標記進行識別; 當所述會話過載保護標記為會話過載標記時,則判定當前會話數達到所述會話上限數; 當所述會話過載保護標記為會話未過載標記時,則判定當前會話數沒有達到所述會話上限數。3.根據權利要求2所述的方法,其特征在于,所述創(chuàng)建新會話之后,還包括: 根據新會話對當前會話數進行更新; 判斷更新后的會話數是否達到所述會話上限數,若達到,則將所述會話過載保護標記設為會話過載標記。4.根據權利要求3所述的方法,其特征在于,所述方法還包括: 以設置會話過載標記的時間為起始時間,間隔設定的過載保護時間后將所述會話過載保護標記設置為會話未過載標記。5.根據權利要求1至4任一所述的方法,其特征在于,所述會話表包括會話特征和快轉表項,所述方法還包括: 若存在匹配的會話特征,則根據所述會化特征對應的快轉表項執(zhí)行業(yè)務處理和轉發(fā)處理。6.一種會話控制裝置,其特征在于,所述裝置應用于網絡設備中,所述裝置包括: 接收單元,用于接收報文; 第一判斷單元,用于從緩存的會話表中判斷是否存在與報文的特征相匹配的會話特征; 第二判斷單元,用于若不存在匹配的會化特征,判斷當前會話數是否達到會話上限數; 轉發(fā)單元,用于若當前會話數達到會話上限數,則根據報文的特征查找轉發(fā)信息,并根據轉發(fā)信息將所述報文進行轉發(fā); 會話創(chuàng)建單元,用于若當前會話數沒有達到會話上限數,則創(chuàng)建新會話。7.根據權利要求6所述的裝置,其特征在于,所述第二判斷單元包括: 標記獲取子單元,用于獲取會話過載保護標記; 標記識別子單元,用于對所述會話過載保護標記進行識別;當所述會話過載保護標記為會話過載標記時,則判定當前會話數達到所述會話上限數;當所述會話過載保護標記為會話未過載標記時,則判定當前會話數沒有達到所述會話上限數。8.根據權利要求7所述的裝置,其特征在于,所述裝置還包括: 會話數更新單元,用于根據新會話對當前會話數進行更新; 第三判斷單元,用于判斷更新后的會話數是否達到所述會話上限數; 會話過載標記設置單元,用于若達到會話上限數,則將所述會話過載保護標記設為會話過載標記。9.根據權利要求8所述的裝置,其特征在于,所述裝置還包括: 會話未過載標記設置單元,用于以設置會話過載標記的時間為起始時間,間隔設定的過載保護時間后將所述會話過載保護標記設置為會話未過載標記。10.根據權利要求6至9任一所述的裝置,其特征在于,所述會話表包括會話特征和快轉表項,所述裝置還包括: 處理單元,用于若存在匹配的會話特征,則根據所述會化特征對應的快轉表項執(zhí)行業(yè)務處理和轉發(fā)處理。
【文檔編號】H04L12/853GK105939288SQ201510466733
【公開日】2016年9月14日
【申請日】2015年7月31日
【發(fā)明人】鄧龍飛
【申請人】杭州迪普科技有限公司