一種會話數(shù)限制方法和裝置的制造方法
【專利摘要】本發(fā)明提供一種會話數(shù)限制方法和裝置,所述方法包括:當發(fā)生策略集更新時,將更新后的策略集更新到備表中;當策略集更新完成時,更新全局魔術(shù)字,將更新后的全局魔術(shù)字更新至所述備表中,并進行主備表切換;當接收到目標會話的訪問請求,且確定目標會話中包括魔術(shù)字信息時,判斷所述目標會話中包括的魔術(shù)字信息與當前的全局魔術(shù)字是否一致;若一致,則對所述目標會話進行會話數(shù)限制處理;否則,則不對所述目標會話進行會話數(shù)限制。應用本發(fā)明實施例可以避免由于從會話匹配策略集成功之后,以及會話老化之前發(fā)生過策略集更新而導致的會話計數(shù)發(fā)生錯誤。
【專利說明】
一種會話數(shù)限制方法和裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及網(wǎng)絡通信技術(shù)領(lǐng)域,尤其涉及一種會話數(shù)限制方法和裝置。
【背景技術(shù)】
[0002]會話數(shù)限制通過對網(wǎng)絡設(shè)備上的連接數(shù)進行統(tǒng)計并根據(jù)預先配置的策略集,對會話加以限制,以使設(shè)備系統(tǒng)資源得到保護,且系統(tǒng)資源分配更加合理。
[0003]現(xiàn)有會話數(shù)限制方案中,策略集更新時使用雙表,即有策略更新時將新策略集更新到備表,再主備表切換,此后會話匹配新主表。此種方案在策略更新時允許訪問備表,有效提高了策略集更新期間會話匹配的效率。
[0004]然而實踐發(fā)現(xiàn),上述會話數(shù)限制方案中,若從會話匹配策略集成功之后,會話老化之前發(fā)生過策略集更新時,可能會導致命中策略對應的會話計數(shù)發(fā)生錯誤。例如,會話I創(chuàng)建時,命中的為表A中的策略集中的策略,且被允許通過,而當會話I老化時,命中的為表B (表A和表B為主備表關(guān)系,且會話I創(chuàng)建之后,老化之前發(fā)生過主備表切換)中的策略集中的策略,此時,會話I老化需要回減表B中的命中策略對應的會話計數(shù),導致表B中的命中策略對應的會話計數(shù)發(fā)生錯誤。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供一種會話數(shù)限制方法和裝置,以解決現(xiàn)有會話數(shù)限制方案中若從會話匹配策略集成功之后,會話老化之前發(fā)生過策略集更新時,可能會導致命中策略對應的會話計數(shù)發(fā)生錯誤的問題。
[0006]根據(jù)本發(fā)明實施例的第一方面,提供一種會話數(shù)限制方法,包括:
[0007]當發(fā)生策略集更新時,將更新后的策略集更新到備表中;
[0008]當策略集更新完成時,更新全局魔術(shù)字,將更新后的全局魔術(shù)字更新至所述備表中,并進行主備表切換;
[0009]當接收到目標會話的訪問請求,且確定目標會話中包括魔術(shù)字信息時,判斷所述目標會話中包括的魔術(shù)字信息與當前的全局魔術(shù)字是否一致;
[0010]若一致,則對所述目標會話進行會話數(shù)限制處理;
[0011 ] 否則,則不對所述目標會話進行會話數(shù)限制。
[0012]根據(jù)本發(fā)明實施例的第二方面,提供一種會話數(shù)限制裝置,包括:
[0013]更新單元,用于當發(fā)生策略集更新時,將更新后的策略集更新到備表中;當策略集更新完成時,更新全局魔術(shù)字,將更新后的全局魔術(shù)字更新至所述備表中,并進行主備表切換;
[0014]判斷單元,用于當所述裝置接收到目標會話的訪問請求,且確定目標會話中包括魔術(shù)字信息時,判斷所述目標會話中包括的魔術(shù)字信息與當前的全局魔術(shù)字是否一致;
[0015]處理單元,用于當所述判斷單元判斷為是時,對所述目標會話進行會話數(shù)限制處理;當所述判斷單元判斷為否時,不對所述目標會話進行會話數(shù)限制。
[0016]應用本發(fā)明實施例,通過設(shè)置全局魔術(shù)字,該魔術(shù)字在發(fā)生策略更新時進行更新,且與更新后的主表中的魔術(shù)字信息一致,當接收到目標會話,且該目標會話中包括魔術(shù)字信息時,可以判斷該目標會話中包括的魔術(shù)字信息與當前的全局魔術(shù)字是否一致,若一致,則對該目標會話進行會話數(shù)限制處理;否則,不對該目標會話進行會話數(shù)限制處理。由于目標會話中包括魔術(shù)字信息,且魔術(shù)字信息與當前的全局魔術(shù)字信息不一致時,可以認為此次訪問請求不是該目標會話的第一次訪問請求,且目標會話第一次訪問請求之后,以及此次訪問請求之前,發(fā)生了主備表切換,此時,不對該目標會話進行會話限制,可以避免由于從會話匹配策略集成功之后,以及會話老化之前發(fā)生過策略集更新而導致的會話計數(shù)發(fā)生錯誤。
【附圖說明】
[0017]圖1是本發(fā)明實施例提供的一種會話數(shù)限制方法的流程示意圖;
[0018]圖2是本發(fā)明實施例提供的另一種會話數(shù)限制方法的流程示意圖;
[0019]圖3是本發(fā)明實施例提供的會話數(shù)限制裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖;
[0020]圖4是本發(fā)明實施例提供的一種會話數(shù)限制裝置的結(jié)構(gòu)示意圖;
[0021]圖5是本發(fā)明實施例提供的另一種會話數(shù)限制裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0022]為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實施例中的技術(shù)方案,并使本發(fā)明實施例的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖對本發(fā)明實施例中技術(shù)方案作進一步詳細的說明。
[0023]請參見圖1,為本發(fā)明實施例提供的一種會話數(shù)限制方法的流程示意圖,如圖1所示,該會話數(shù)限制方法可以包括以下步驟:
[0024]步驟101、當發(fā)生策略集更新時,將更新后的策略集更新到備表中。
[0025]本發(fā)明實施例中,上述方法的執(zhí)行主體可以為防火墻或防火墻中的處理器,如CPU (Center Process Unit,中央處理單元),該防火墻可以包括硬件防火墻,或軟件防火墻等。為便于描述,以下以上述方法的執(zhí)行主體為防火墻為例進行描述。
[0026]本發(fā)明實施例中,策略集更新時使用雙表,即發(fā)生策略集更新時,將更新后的策略更新到備表中。
[0027]作為一種優(yōu)選的實施方式,上述步驟101中,將更新后的策略集更新到備表中,包括:
[0028]將更新后的策略集按照策略屬性以及限制條件進行多維編譯,并將編輯結(jié)果下發(fā)到備表。
[0029]在該實施方式中,為了提高會話匹配策略集時的匹配效率,策略集下發(fā)之前,可以根據(jù)策略集的策略屬性以及限制條件進行多維編譯,并將編譯后的策略集下發(fā),從而,當會話需要匹配策略集時,可以不需要遍歷整個策略集,有效地提高了會話匹配策略集的匹配效率。其中,策略屬性可以包括但不限于源IP(Internet Protocol,互聯(lián)網(wǎng)協(xié)議)地址、目的IP地址、服務等;限制條件可以包括但不限于限制的IP地址范圍、IP地址域等。
[0030]步驟102、當策略集更新完成時,更新全局魔術(shù)字,并將更新后的全局魔術(shù)字更新至備表中,并進行主備表切換。
[0031]本發(fā)明實施例中,為了使防火墻能夠及時獲知策略集是否更新完成,以及主備表是否完成切換,可以在系統(tǒng)中新增全局魔術(shù)字,并在主備表中分別記錄魔術(shù)字,當未發(fā)生策略集更新時,系統(tǒng)中的全局魔術(shù)字與主表中的魔術(shù)字一致。當發(fā)生策略集更新時,防火墻可以在策略集更新完成時,更新全局魔術(shù)字并將更新后的全局魔術(shù)字更新至備表中,即將備表中記錄的魔術(shù)字更新為與更新后的全局魔術(shù)字一致,并進行主備表切換。從而防火墻可以通過比較主備表中的魔術(shù)字與全局魔術(shù)字確定策略集更新是否完成,以及主備表切換是否完成。
[0032]步驟103、當接收到目標會話的訪問請求,且確定目標會話中包括魔術(shù)字信息時,判斷目標會話中包括的魔術(shù)字信息與當前的全局魔術(shù)字是否一致。若是,轉(zhuǎn)至步驟104 ;否貝丨J,轉(zhuǎn)至步驟105。
[0033]本發(fā)明實施例中,考慮到會話從創(chuàng)建到老化需要三次訪問防火墻中的會話數(shù)限制模塊:第一次訪問是會話預處理;第二次訪問時會話創(chuàng)建;第三次訪問是會話老化?,F(xiàn)有會話數(shù)限制方案中在第二次訪問時對會話進行限制,即在會話創(chuàng)建完成后,進行會話匹配,確定是否允許會話通過,而會話創(chuàng)建過程本身對系統(tǒng)性能消耗較大,因此,為了提升系統(tǒng)性能,本發(fā)明實施例提供的技術(shù)方案中在會話第一次訪問時即進行會話限制。
[0034]相應地,作為一種可選地實施方式,本發(fā)明實施例提供的會話數(shù)限制方案中,還可以包括以下步驟:
[0035]11)、當?shù)谝淮谓邮盏侥繕藭挼脑L問請求時,根據(jù)目標會話查詢主表中的策略集;
[0036]12)、若查詢到命中策略,且命中策略對應的會話計數(shù)未超過預設(shè)會話數(shù)閾值時,則在該目標會話中記錄命中策略,以及全局魔術(shù)字,并允許該目標會話通過。
[0037]本該實施方式中,當目標會話第一次訪問防火墻中的會話限制模塊時,即目標會話處于預處理階段時,防火墻就可以根據(jù)目標會話中包括的五元組、虛擬系統(tǒng)、安全域等信息查詢主表中的策略集。
[0038]在該實施方式中,可以在會話中添加一個結(jié)構(gòu)字體,用于存儲魔術(shù)字與命中的策略信息。若查詢到命中策略,且命中策略對應的會話計數(shù)未超過預設(shè)會話數(shù)閾值時,可以在該目標會話中記錄該命中策略,以及全局魔術(shù)字,并允許該目標會話通過。
[0039]若未查詢到命中策略,則可以認為該目標會話不是會話數(shù)限制的目標,允許該目標會話通過;若查詢到命中策略,且該命中策略對應的會話計數(shù)達到預設(shè)會話數(shù)閾值,則丟棄該目標會話。
[0040]本發(fā)明實施例中,當防火墻接收到目標會話的訪問請求時,可以確定該目標會話中是否包括魔術(shù)字信息,若包括,則可以認為該目標會話不是第一次訪問會話數(shù)限制模塊,此時,防火墻可以判斷該目標會話中包括的魔術(shù)字信息與當前的全局魔術(shù)字是否一致。若是,轉(zhuǎn)至步驟104 ;否則,轉(zhuǎn)至步驟105。
[0041]作為一種可選的實施方式,上述步驟103中,當接收到目標會話的訪問請求,且確定目標會話中包括魔術(shù)字信息時,上述判斷目標會話中包括的魔術(shù)字信息與當前的全局魔術(shù)字是否一致之前,還可以包括以下步驟:
[0042]21)、判斷主表中包括的魔術(shù)字信息與當前的全局魔術(shù)字是否一致;
[0043]22)、若一致,則確定執(zhí)行判斷目標會話中包括的魔術(shù)字信息與當前的全局魔術(shù)字是否一致的步驟;
[0044]23)、否則,不對目標會話進行會話數(shù)限制。
[0045]在該實施方式中,當防火墻接收到目標會話的訪問請求,且確定該目標會話中包括魔術(shù)字信息時,可以先判斷當前的主表中包括的魔術(shù)字信息與當前的全局魔術(shù)字是否一致。若一致,則表明當前未發(fā)生主備表切換,或主備表切換已完成,防火墻可以進一步判斷目標會話中包括的魔術(shù)字信息與當前的全局魔術(shù)字是否一致;否則,可以認為當前正在進行主備表切換,且主備表切換尚未完成(進行了全局魔術(shù)字更新,但主備表切換尚未完成),此時,防火墻可以不對該目標會話進行會話數(shù)限制。
[0046]步驟104、對目標會話進行會話數(shù)限制處理。
[0047]本發(fā)明實施例中,當防火墻確定目標會話中包括的魔術(shù)字信息與當前全局魔術(shù)字一致時,則可以認為目標會話此次訪問會話數(shù)限制模塊之前,第一次訪問會話限制模塊之后,未發(fā)生過雙表切換,從而,防火墻可以對該目標會話進行會話數(shù)限制處理。
[0048]作為一種實施方式,在本發(fā)明實施例中,對目標會話進行會話數(shù)限制處理,可以包括:
[0049]當該訪問請求為接收到的目標會話的第二次訪問請求時,更新該目標會話中包括的命中策略對應的會話計數(shù);
[0050]當該訪問請求為接收到的目標會話的第三次訪問請求時,回減目標會話中包括的命中策略對應的會話計數(shù)。
[0051]在該實施方式中,當防火墻確定目標會話的訪問請求為第二次訪問請求時,即該目標會話處于會話創(chuàng)建階段時,防火墻可以更新該目標會話中包括的命中策略對應的會話計數(shù)。
[0052]舉例來說,假設(shè)目標會話中包括的命中策略為策略A,即目標會話在第一次訪問會話數(shù)限制模塊時命中策略為策略A,則當目標會話第二次訪問會話數(shù)限制模塊,且防火墻確定未發(fā)生過雙表切換時,防火墻可以將策略A對應的會話計數(shù)由N更新為N+1。
[0053]需要注意的是,在本發(fā)明實施例中,當訪問請求為接收到的目標會話的第二次訪問請求時,防火墻在更新該目標會話包括的命中策略對應的會話計數(shù)之前,還可以先判斷該命中策略對應的會話計數(shù)是否達到預設(shè)的會話數(shù)閾值,若達到,則可以丟棄該目標會話;否則,確定更新目標會話中包括的命中策略對應的會話計數(shù)。
[0054]在該實施方式中,當防火墻確定目標會話的訪問請求為該目標會話的第三次訪問請求時,即該目標會話處于老化階段時,防火墻可以回減該目標會話中包括的命中策略對應的會話計數(shù)。
[0055]舉例來說,假設(shè)目標會話中包括的命中策略為策略A,即目標會話在第一次訪問會話數(shù)限制模塊時命中策略為策略A,則當目標會話第三次訪問會話數(shù)限制模塊,且防火墻確定未發(fā)生過雙表切換時,防火墻可以將策略A對應的會話計數(shù)由N更新為N-1。
[0056]步驟105、不對該目標會話進行會話數(shù)限制。
[0057]本發(fā)明實施例中,當防火墻確定目標會話中包括的魔術(shù)字信息與當前的全局魔術(shù)字不一致時,即目標會話第一次訪問會話數(shù)限制模塊之后,此次訪問會話數(shù)限制模塊之前,發(fā)生了主備表切換,此時,防火墻可以不對該目標會話進行會話數(shù)限制。
[0058]可見,在圖1所描述的方法流程中,通過設(shè)置全局魔術(shù)字,該魔術(shù)字在發(fā)生策略更新時進行更新,且與更新后的主表中的魔術(shù)字信息一致,當接收到目標會話,且該目標會話中包括魔術(shù)字信息時,可以判斷該目標會話中包括的魔術(shù)字信息與當前的全局魔術(shù)字是否一致,若一致,則對該目標會話進行會話數(shù)限制處理;否則,不對該目標會話進行會話數(shù)限制處理。由于目標會話中包括魔術(shù)字信息,且魔術(shù)字信息與當前的全局魔術(shù)字信息不一致時,可以認為此次訪問請求不是該目標會話的第一次訪問請求,且目標會話第一次訪問請求之后,以及此次訪問請求之前,發(fā)生了主備表切換,此時,不對該目標會話進行會話限制,可以避免由于從會話匹配策略集成功之后,以及會話老化之前發(fā)生過策略集更新而導致的會話計數(shù)發(fā)生錯誤。
[0059]請參見圖2,為本發(fā)明實施例提供的另一種會話數(shù)限制方法的流程示意圖,如圖2所示,該會話數(shù)限制方法可以包括以下步驟:
[0060]步驟201、當接收到目標會話的訪問請求時,判斷該訪問請求是否為目標會話的第一次訪問請求。若是,轉(zhuǎn)至步驟202 ;否則,轉(zhuǎn)至步驟204。
[0061]步驟202、根據(jù)目標會話查詢主表中的策略集。若查詢到命中策略,且命中策略對應的會話計數(shù)未超過預設(shè)會話數(shù)閾值時,則轉(zhuǎn)至步驟203 ;否則,結(jié)束當前流程。
[0062]步驟203、在目標會話中記錄該命中策略,以及全局魔術(shù)字,并允許該目標會話通過。
[0063]本發(fā)明實施例中,當防火墻接收到目標會話的訪問請求,且確定該訪問請求為該目標會話的第一次訪問請求,即該目標會話處于預處理階段時,防火墻可以根據(jù)該目標會話中包括的五元組、虛擬系統(tǒng)、安全域等信息查詢主表中的策略集。
[0064]本發(fā)明實施例中,可以在會話中添加一個結(jié)構(gòu)字體,用于存儲魔術(shù)字與命中的策略信息。若查詢到命中策略,且命中策略對應的會話計數(shù)未超過預設(shè)會話數(shù)閾值時,可以在該目標會話中記錄該命中策略,以及全局魔術(shù)字,并允許該目標會話通過。
[0065]若未查詢到命中策略,則可以認為該目標會話不是會話數(shù)限制的目標,允許該目標會話通過;若查詢到命中策略,且該命中策略對應的會話計數(shù)達到預設(shè)會話數(shù)閾值,則丟棄該目標會話。
[0066]可見,在該實施例中,通過在會話預處理階段對會話進行限制處理,從而可以直接在預處理階段對命中策略,且該命中策略對應的會話計數(shù)超過預設(shè)會話數(shù)閾值的會話進行丟棄處理,減少了由于該部分會話的創(chuàng)建造成的資源消耗以及對系統(tǒng)性能的影響。
[0067]步驟204、判斷該目標會話中是否包括魔術(shù)字信息。若是,轉(zhuǎn)至步驟205 ;否則,結(jié)束當前流程。
[0068]步驟205、判斷目標會話中包括的魔術(shù)字信息與當前的全局魔術(shù)字是否一致。若是,轉(zhuǎn)至步驟206 ;否則,轉(zhuǎn)至步驟207。
[0069]本發(fā)明實施例中,當防火墻確定目標會話的訪問請求不是第一次訪問請求時,防火墻可以確定該目標會話中是否包括魔術(shù)字信息。若該目標會話中包括魔術(shù)字信息,則防火墻可以認為該目標會話屬于需要進行會話限制的會話,進而,防火墻可以判斷目標會話中包括的魔術(shù)字信息與當前的全局魔術(shù)字是否一致。
[0070]若該目標會話中不包括魔術(shù)字信息,則防火墻可以認為該目標會話不屬于需要進行會話限制的會話,進而,防火墻可以直接允許該會話通過,其具體實現(xiàn)本發(fā)明不做限定。
[0071]作為一種可選的實施方式,在本發(fā)明實施例中,當確定目標會話的訪問請求不是第一次訪問請求時,在判斷該目標會話中是否包括魔術(shù)字信息之前,還可以包括:
[0072]31)、判斷主表中包括的魔術(shù)字信息與當前的全局魔術(shù)字是否一致;
[0073]32)、若一致,則確定執(zhí)行判斷目標會話中包括的魔術(shù)字信息與當前的全局魔術(shù)字是否一致的步驟;
[0074]33)、否則,不對目標會話進行會話數(shù)限制。
[0075]在該實施方式中,當防火墻接收到目標會話的訪問請求,且確定該目標會話中包括魔術(shù)字信息時,可以先判斷當前的主表中包括的魔術(shù)字信息與當前的全局魔術(shù)字是否一致。若一致,則表明當前未發(fā)生主備表切換,或主備表切換已完成,防火墻可以進一步判斷目標會話中包括的魔術(shù)字信息與當前的全局魔術(shù)字是否一致;否則,可以認為當前正在進行主備表切換,且主備表切換尚未完成(進行了全局魔術(shù)字更新,但主備表切換尚未完成),此時,防火墻可以不對該目標會話進行會話數(shù)限制。
[0076]步驟206、對目標會話進行會話數(shù)限制處理。
[0077]本發(fā)明實施例中,當防火墻確定目標會話中包括的魔術(shù)字信息與當前全局魔術(shù)字一致時,則可以認為目標會話此次訪問會話數(shù)限制模塊之前,第一次訪問會話限制模塊之后,未發(fā)生過雙表切換,從而,防火墻可以對該目標會話進行會話數(shù)限制處理。
[0078]作為一種實施方式,在本發(fā)明實施例中,對目標會話進行會話數(shù)限制處理,可以包括:
[0079]當該訪問請求為接收到的目標會話的第二次訪問請求時,更新該目標會話中包括的命中策略對應的會話計數(shù);
[0080]當該訪問請求為接收到的目標會話的第三次訪問請求時,回減目標會話中包括的命中策略對應的會話計數(shù)。
[0081]在該實施方式中,當防火墻確定目標會話的訪問請求為第二次訪問請求時,即該目標會話處于會話創(chuàng)建階段時,防火墻可以更新該目標會話中包括的命中策略對應的會話計數(shù)。
[0082]舉例來說,假設(shè)目標會話中包括的命中策略為策略A,即目標會話在第一次訪問會話數(shù)限制模塊時命中策略為策略A,則當目標會話第二次訪問會話數(shù)限制模塊,且防火墻確定未發(fā)生過雙表切換時,防火墻可以將策略A對應的會話計數(shù)由N更新為N+1。
[0083]需要注意的是,在本發(fā)明實施例中,當訪問請求為接收到的目標會話的第二次訪問請求時,防火墻在更新該目標會話包括的命中策略對應的會話計數(shù)之前,還可以先判斷該命中策略對應的會話計數(shù)是否達到預設(shè)的會話數(shù)閾值,若達到,則可以丟棄該目標會話;否則,確定更新目標會話中包括的命中策略對應的會話計數(shù)。
[0084]在該實施方式中,當防火墻確定目標會話的訪問請求為該目標會話的第三次訪問請求時,即該目標會話處于老化階段時,防火墻可以回減該目標會話中包括的命中策略對應的會話計數(shù)。
[0085]舉例來說,假設(shè)目標會話中包括的命中策略為策略A,即目標會話在第一次訪問會話數(shù)限制模塊時命中策略為策略A,則當目標會話第三次訪問會話數(shù)限制模塊,且防火墻確定未發(fā)生過雙表切換時,防火墻可以將策略A對應的會話計數(shù)由N更新為N-1。
[0086]步驟207、不對該目標會話進行會話數(shù)限制。
[0087]本發(fā)明實施例中,當防火墻確定目標會話中包括的魔術(shù)字信息與當前的全局魔術(shù)字不一致時,即目標會話第一次訪問會話數(shù)限制模塊之后,此次訪問會話數(shù)限制模塊之前,發(fā)生了主備表切換,此時,防火墻可以不對該目標會話進行會話數(shù)限制。
[0088]通過以上描述可以看出,在本發(fā)明實施例提供的技術(shù)方案中,通過設(shè)置全局魔術(shù)字,該魔術(shù)字在發(fā)生策略更新時進行更新,且與更新后的主表中的魔術(shù)字信息一致,當接收到目標會話,且該目標會話中包括魔術(shù)字信息時,可以判斷該目標會話中包括的魔術(shù)字信息與當前的全局魔術(shù)字是否一致,若一致,則對該目標會話進行會話數(shù)限制處理;否則,不對該目標會話進行會話數(shù)限制處理。由于目標會話中包括魔術(shù)字信息,且魔術(shù)字信息與當前的全局魔術(shù)字信息不一致時,可以認為此次訪問請求不是該目標會話的第一次訪問請求,且目標會話第一次訪問請求之后,以及此次訪問請求之前,發(fā)生了主備表切換,此時,不對該目標會話進行會話限制,可以避免由于從會話匹配策略集成功之后,以及會話老化之前發(fā)生過策略集更新而導致的會話計數(shù)發(fā)生錯誤。
[0089]與前述會話數(shù)限制方法實施例相對應,本發(fā)明還提供了會話數(shù)限制裝置的實施例。
[0090]裝置實施例可以通過軟件實現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實現(xiàn)。以軟件實現(xiàn)為例,作為一個邏輯意義上的裝置,是通過其所在設(shè)備的處理器將非易失性存儲器中對應的計算機程序指令讀取到內(nèi)存中運行形成的。從硬件層面而言,如圖3所示,為本發(fā)明實施例提供的會話數(shù)限制裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖3所示的處理器、網(wǎng)絡接口、內(nèi)存以及非易失性存儲器之外,實施例中裝置所在的設(shè)備通常還可以包括其他硬件,如負責處理報文的轉(zhuǎn)發(fā)芯片等等;從硬件結(jié)構(gòu)上來講該設(shè)備還可能是分布式的設(shè)備,可能包括多個接口卡,以便在硬件層面進行報文處理的擴展。
[0091]請參見圖4,為本發(fā)明實施例提供的一種會話數(shù)限制裝置的結(jié)構(gòu)示意圖,其中,所述裝置可以應用于可以上述方法實施例中的防火墻或防火墻中的處理器,如圖4所示,該會話數(shù)限制裝置可以包括:
[0092]更新單元410,用于當發(fā)生策略集更新時,將更新后的策略集更新到備表中;當策略集更新完成時,更新全局魔術(shù)字,將更新后的全局魔術(shù)字更新至所述備表中,并進行主備表切換;
[0093]判斷單元420,用于當所述裝置接收到目標會話的訪問請求,且確定目標會話中包括魔術(shù)字信息時,判斷所述目標會話中包括的魔術(shù)字信息與當前的全局魔術(shù)字是否一致;
[0094]處理單元430,用于當所述判斷單元420判斷為是時,對所述目標會話進行會話數(shù)限制處理;當所述判斷單元420判斷為否時,不對所述目標會話進行會話數(shù)限制。
[0095]在可選實施例中,所述判斷單元420,還可以用于當所述裝置接收到目標會話的訪問請求,且確定目標會話中包括魔術(shù)字信息時,判斷主表中包括的魔術(shù)字信息與當前的全局魔術(shù)字是否一致;
[0096]所述判斷單元420,可以具體用于當所述主表中包括的魔術(shù)字信息與當前的全局魔術(shù)字一致時,判斷所述目標會話中包括的魔術(shù)字信息與當前的全局魔術(shù)字是否一致;
[0097]所述處理單元430,還可以用于當所述主表中包括的魔術(shù)字信息與當前的全局魔術(shù)字不一致時,不對所述目標會話進行會話數(shù)限制。
[0098]請一并參見圖5,為本發(fā)明實施例提供的另一種會話數(shù)限制裝置的結(jié)構(gòu)示意圖,該實施例在前述圖4所示實施例的基礎(chǔ)上,所述裝置還可以包括:查詢單元440。其中:
[0099]查詢單元440,用于當所述裝置第一次接收到目標會話的訪問請求時,根據(jù)所述目標會話查詢主表中的策略集;
[0100]相應地,所述處理單元430,還用于當所述查詢單元440查詢到命中策略,且所述命中策略對應的會話計數(shù)未超過預設(shè)會話數(shù)閾值時,在該目標會話中記錄所述命中策略,以及全局魔術(shù)字,并允許該目標會話通過。
[0101]在可選實施例中,所述處理單元430,具體用于當所述訪問請求為接收到的所述目標會話的第二次訪問請求時,更新所述目標會話中包括的命中策略對應的會話計數(shù);當所述訪問請求為接收到的所述目標會話的第三次訪問請求時,回減所述目標會話中包括的命中策略對應的會話計數(shù)。
[0102]在可選實施例中,所述更新單元410,具體用于將所述更新后的策略集按照策略屬性以及限制條件進行多維編譯,并將編譯結(jié)果下發(fā)到備表。
[0103]上述裝置中各個單元的功能和作用的實現(xiàn)過程具體詳見上述方法中對應步驟的實現(xiàn)過程,在此不再贅述。
[0104]對于裝置實施例而言,由于其基本對應于方法實施例,所以相關(guān)之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本發(fā)明方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。
[0105]由上述實施例可見,通過設(shè)置全局魔術(shù)字,該魔術(shù)字在發(fā)生策略更新時進行更新,且與更新后的主表中的魔術(shù)字信息一致,當接收到目標會話,且該目標會話中包括魔術(shù)字信息時,可以判斷該目標會話中包括的魔術(shù)字信息與當前的全局魔術(shù)字是否一致,若一致,則對該目標會話進行會話數(shù)限制處理;否則,不對該目標會話進行會話數(shù)限制處理。由于目標會話中包括魔術(shù)字信息,且魔術(shù)字信息與當前的全局魔術(shù)字信息不一致時,可以認為此次訪問請求不是該目標會話的第一次訪問請求,且目標會話第一次訪問請求之后,以及此次訪問請求之前,發(fā)生了主備表切換,此時,不對該目標會話進行會話限制,可以避免由于從會話匹配策略集成功之后,以及會話老化之前發(fā)生過策略集更新而導致的會話計數(shù)發(fā)生錯誤。
[0106]本領(lǐng)域技術(shù)人員在考慮說明書及實踐這里公開的發(fā)明后,將容易想到本發(fā)明的其它實施方案。本申請旨在涵蓋本發(fā)明的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本發(fā)明的一般性原理并包括本發(fā)明未公開的本技術(shù)領(lǐng)域中的公知常識或慣用技術(shù)手段。說明書和實施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。
[0107]應當理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。
【主權(quán)項】
1.一種會話數(shù)限制方法,其特征在于,包括: 當發(fā)生策略集更新時,將更新后的策略集更新到備表中; 當策略集更新完成時,更新全局魔術(shù)字,將更新后的全局魔術(shù)字更新至所述備表中,并進行主備表切換; 當接收到目標會話的訪問請求,且確定目標會話中包括魔術(shù)字信息時,判斷所述目標會話中包括的魔術(shù)字信息與當前的全局魔術(shù)字是否一致; 若一致,則對所述目標會話進行會話數(shù)限制處理; 否則,則不對所述目標會話進行會話數(shù)限制。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,當接收到目標會話的訪問請求,且確定目標會話中包括魔術(shù)字信息時,所述判斷所述目標會話中包括的魔術(shù)字信息與當前的全局魔術(shù)字是否一致之前,還包括: 判斷主表中包括的魔術(shù)字信息與當前的全局魔術(shù)字是否一致; 若一致,則確定執(zhí)行判斷所述目標會話中包括的魔術(shù)字信息與當前的全局魔術(shù)字是否一致的步驟; 否則,不對所述目標會話進行會話數(shù)限制。3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述方法還包括: 當?shù)谝淮谓邮盏侥繕藭挼脑L問請求時,根據(jù)所述目標會話查詢主表中的策略集;若查詢到命中策略,且所述命中策略對應的會話計數(shù)未超過預設(shè)會話數(shù)閾值時,則在該目標會話中記錄所述命中策略,以及全局魔術(shù)字,并允許該目標會話通過。4.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述對所述目標會話進行會話數(shù)限制處理,包括: 當所述訪問請求為接收到的所述目標會話的第二次訪問請求時,更新所述目標會話中包括的命中策略對應的會話計數(shù); 當所述訪問請求為接收到的所述目標會話的第三次訪問請求時,回減所述目標會話中包括的命中策略對應的會話計數(shù)。5.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述將更新后的策略集更新到備表中,包括: 將所述更新后的策略集按照策略屬性以及限制條件進行多維編譯,并將編譯結(jié)果下發(fā)到備表。6.一種會話數(shù)限制裝置,其特征在于,包括: 更新單元,用于當發(fā)生策略集更新時,將更新后的策略集更新到備表中;當策略集更新完成時,更新全局魔術(shù)字,將更新后的全局魔術(shù)字更新至所述備表中,并進行主備表切換;判斷單元,用于當所述裝置接收到目標會話的訪問請求,且確定目標會話中包括魔術(shù)字信息時,判斷所述目標會話中包括的魔術(shù)字信息與當前的全局魔術(shù)字是否一致; 處理單元,用于當所述判斷單元判斷為是時,對所述目標會話進行會話數(shù)限制處理;當所述判斷單元判斷為否時,不對所述目標會話進行會話數(shù)限制。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于, 所述判斷單元,還用于當所述裝置接收到目標會話的訪問請求,且確定目標會話中包括魔術(shù)字信息時,判斷主表中包括的魔術(shù)字信息與當前的全局魔術(shù)字是否一致; 所述判斷單元,具體用于當所述主表中包括的魔術(shù)字信息與當前的全局魔術(shù)字一致時,判斷所述目標會話中包括的魔術(shù)字信息與當前的全局魔術(shù)字是否一致; 所述處理單元,還用于當所述主表中包括的魔術(shù)字信息與當前的全局魔術(shù)字不一致時,不對所述目標會話進行會話數(shù)限制。8.根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,所述裝置還包括: 查詢單元,用于當所述裝置第一次接收到目標會話的訪問請求時,根據(jù)所述目標會話查詢主表中的策略集; 所述處理單元,還用于當所述查詢單元查詢到命中策略,且所述命中策略對應的會話計數(shù)未超過預設(shè)會話數(shù)閾值時,在該目標會話中記錄所述命中策略,以及全局魔術(shù)字,并允許該目標會話通過。9.根據(jù)權(quán)利要求6或7所述的裝置,其特征在于, 所述處理單元,具體用于當所述訪問請求為接收到的所述目標會話的第二次訪問請求時,更新所述目標會話中包括的命中策略對應的會話計數(shù);當所述訪問請求為接收到的所述目標會話的第三次訪問請求時,回減所述目標會話中包括的命中策略對應的會話計數(shù)。10.根據(jù)權(quán)利要求6或7所述的裝置,其特征在于, 所述更新單元,具體用于將所述更新后的策略集按照策略屬性以及限制條件進行多維編譯,并將編譯結(jié)果下發(fā)到備表。
【文檔編號】H04L29/08GK105939368SQ201510566248
【公開日】2016年9月14日
【申請日】2015年9月8日
【發(fā)明人】湯小梁
【申請人】杭州迪普科技有限公司