System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實現(xiàn)步驟摘要】
本專利技術(shù)屬于計算機網(wǎng)絡(luò)通信,具體涉及一種算法卡調(diào)度方法、裝置、存儲介質(zhì)及電子設(shè)備。
技術(shù)介紹
1、目前,網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)目煽啃浴⒉豢纱鄹男杂蒳psec(互聯(lián)網(wǎng)安全協(xié)議,internetprotocol?security)協(xié)議完成,對數(shù)據(jù)流進行加密、認(rèn)證。鑒于加密算法的cpu消耗較大,通常采用外接算法卡的形式對數(shù)據(jù)加解密。
2、現(xiàn)有技術(shù)中,通過調(diào)用算法卡提供的api接口實現(xiàn)加解密功能,調(diào)用api接口的過程中,存在較多的io口操作、內(nèi)存復(fù)制、數(shù)據(jù)交換等耗時操作,特別是小字節(jié)傳輸,耗時更大,效率更低。ipsec協(xié)議棧中傳統(tǒng)的算法卡使用方式是對每個數(shù)據(jù)包串行加解密,在算法卡性能較低時,極大降低了網(wǎng)絡(luò)數(shù)據(jù)傳輸性能。
技術(shù)實現(xiàn)思路
1、為此,本專利技術(shù)提供一種算法卡調(diào)度方法、裝置、存儲介質(zhì)及電子設(shè)備,解決傳算法卡性能較低時,網(wǎng)絡(luò)數(shù)據(jù)傳輸性能差的問題。
2、為了實現(xiàn)上述目的,本專利技術(shù)提供如下技術(shù)方案:第一方面,提供一種算法卡調(diào)度方法,包括:
3、對本端網(wǎng)卡接收的數(shù)據(jù)包進行加密之前拼包處理,加密之前拼包處理過程對數(shù)據(jù)包進行五元組匹配,將五元組一致的數(shù)據(jù)包按照順序拼接到對應(yīng)的hash鏈表中,通過預(yù)設(shè)的累加長度判斷是否拼包完成,若數(shù)據(jù)包拼包完成,將所述hash鏈表下拼接成累加長度的數(shù)據(jù)包提交給ipsec網(wǎng)絡(luò)協(xié)議棧,通過加密卡進行ipsec加密處理后發(fā)送到對端;
4、將對端接收的ipsec加密處理的數(shù)據(jù)包,經(jīng)ipsec網(wǎng)絡(luò)處理和加密卡解密之后,對新添加的
5、作為算法卡調(diào)度方法的優(yōu)選方案,加密之前拼包處理過程對數(shù)據(jù)包進行五元組匹配的項目包括:源ip地址、目的ip地址、源端口號、目的端口號和傳輸協(xié)議。
6、作為算法卡調(diào)度方法的優(yōu)選方案,加密之前拼包處理過程中,通過添加超時機制判斷拼包的數(shù)據(jù)包是否為最后一包;
7、加密之前拼包處理過程中,在插入首個數(shù)據(jù)包時啟動時間輪機制,根據(jù)業(yè)務(wù)需求設(shè)定超時閾值,如果數(shù)據(jù)包拼包長度大于mtu值或時間間隔大于設(shè)定的超時閾值,則將所述hash鏈表中已有數(shù)據(jù)包組成一個數(shù)據(jù)包交由ipsec協(xié)議棧處理。
8、作為算法卡調(diào)度方法的優(yōu)選方案,對端接收到ipsec加密處理的數(shù)據(jù)包esp報文后,對拼包報文和正常報文不進行區(qū)分直接使用加密卡解密;
9、加密卡解密之后的報文由拼包前8個字節(jié)進行標(biāo)記判斷,如果是重組后的報文則進行拆包操作,如果不是重組后的報文,直接交由ipsec網(wǎng)絡(luò)協(xié)議棧處理,將拆解之后的報文輪詢發(fā)送至ipsec網(wǎng)絡(luò)協(xié)議棧。
10、作為算法卡調(diào)度方法的優(yōu)選方案,對本端網(wǎng)卡接收的數(shù)據(jù)包進行加密之前拼包處理之前,還包括拼包條件判斷,拼包條件判斷過程中,通過ipsec網(wǎng)絡(luò)協(xié)議棧下發(fā)加密策略,采用添加協(xié)議棧鉤子函數(shù)的方式獲取加密策略判斷是否進行拼包,如果滿足加密策略再對數(shù)據(jù)包進行五元組匹配,將五元組一致的數(shù)據(jù)包按照順序拼接到對應(yīng)的hash鏈表中。
11、第二方面,提供一種算法卡調(diào)度裝置,包括:
12、加密之前拼包處理模塊,用于對本端網(wǎng)卡接收的數(shù)據(jù)包進行加密之前拼包處理,加密之前拼包處理過程對數(shù)據(jù)包進行五元組匹配,將五元組一致的數(shù)據(jù)包按照順序拼接到對應(yīng)的hash鏈表中,通過預(yù)設(shè)的累加長度判斷是否拼包完成,若數(shù)據(jù)包拼包完成,將所述hash鏈表下拼接成累加長度的數(shù)據(jù)包提交給ipsec網(wǎng)絡(luò)協(xié)議棧,通過加密卡進行ipsec加密處理后發(fā)送到對端;
13、解密之后拆包模塊,用于將對端接收的ipsec加密處理的數(shù)據(jù)包,經(jīng)ipsec網(wǎng)絡(luò)處理和加密卡解密之后,對新添加的拼接數(shù)據(jù)包ip頭進行解析及校驗,確定數(shù)據(jù)包正確無誤后得到拼接數(shù)據(jù)包長度,拼接數(shù)據(jù)包長度為拼接的所有ip包長度之和,將前若干個字節(jié)作為拼接的第一個ip包包頭,將第一個ip包包頭指定的數(shù)據(jù)包長度作為拼接的第二個ip包的偏移量,逐步將所有拼接的ip報文進行拆分,將拆分后的ip報文輪詢發(fā)送至ipsec網(wǎng)絡(luò)協(xié)議棧,直至發(fā)送完畢。
14、作為算法卡調(diào)度裝置優(yōu)選方案,所述加密之前拼包處理模塊中,對數(shù)據(jù)包進行五元組匹配的項目包括:源ip地址、目的ip地址、源端口號、目的端口號和傳輸協(xié)議;
15、所述加密之前拼包處理模塊中,通過添加超時機制判斷拼包的數(shù)據(jù)包是否為最后一包;
16、所述加密之前拼包處理模塊中,在插入首個數(shù)據(jù)包時啟動時間輪機制,根據(jù)業(yè)務(wù)需求設(shè)定超時閾值,如果數(shù)據(jù)包拼包長度大于mtu值或時間間隔大于設(shè)定的超時閾值,則將所述hash鏈表中已有數(shù)據(jù)包組成一個數(shù)據(jù)包交由ipsec協(xié)議棧處理。
17、作為算法卡調(diào)度裝置優(yōu)選方案,所述解密之后拆包模塊中,對端接收到ipsec加密處理的數(shù)據(jù)包esp報文后,對拼包報文和正常報文不進行區(qū)分直接使用加密卡解密;
18、加密卡解密之后的報文由拼包前8個字節(jié)進行標(biāo)記判斷,如果是重組后的報文則進行拆包操作,如果不是重組后的報文,直接交由ipsec網(wǎng)絡(luò)協(xié)議棧處理,將拆解之后的報文輪詢發(fā)送至ipsec網(wǎng)絡(luò)協(xié)議棧;
19、還包括拼包條件判斷模塊,用于通過ipsec網(wǎng)絡(luò)協(xié)議棧下發(fā)加密策略,采用添加協(xié)議棧鉤子函數(shù)的方式獲取加密策略判斷是否進行拼包,如果滿足加密策略再對數(shù)據(jù)包進行五元組匹配,將五元組一致的數(shù)據(jù)包按照順序拼接到對應(yīng)的hash鏈表中。
20、第三方面,提供一種存儲介質(zhì),所述存儲介質(zhì)中存儲有算法卡調(diào)度方法的程序代碼,所述程序代碼包括用于執(zhí)行第一方面或其任意可能實現(xiàn)方式的一種算法卡調(diào)度方法的指令。
21、第四方面,提供一種電子設(shè)備,包括:存儲器和處理器;所述處理器和所述存儲器通過總線完成相互間的通信;所述存儲器存儲有可被所述處理器執(zhí)行的程序指令,所述處理器調(diào)用所述程序指令執(zhí)行第一方面或其任意可能實現(xiàn)方式的一種算法卡調(diào)度方法。
22、本專利技術(shù)的有益效果如下,對本端網(wǎng)卡接收的數(shù)據(jù)包進行加密之前拼包處理,加密之前拼包處理過程對數(shù)據(jù)包進行五元組匹配,將五元組一致的數(shù)據(jù)包按照順序拼接到對應(yīng)的hash鏈表中,通過預(yù)設(shè)的累加長度判斷是否拼包完成,若數(shù)據(jù)包拼包完成,將所述hash鏈表下拼接成累加長度的數(shù)據(jù)包提交給ipsec網(wǎng)絡(luò)協(xié)議棧,通過加密卡進行ipsec加密處理后發(fā)送到對端;將對端接收的ipsec加密處理的數(shù)據(jù)包,經(jīng)ipsec網(wǎng)絡(luò)處理和加密卡解密之后,對新添加的拼接數(shù)據(jù)包ip頭進行解析及校驗,確定數(shù)據(jù)包正確無誤后得到拼接數(shù)據(jù)包長度,拼接數(shù)據(jù)包長度為拼接的所有ip包長度之和,將前若干個字節(jié)作為拼接的第一個ip包包頭,將第一個ip包包頭指定的數(shù)據(jù)包長度作為拼接的第二個ip包的偏移量,逐步將所有拼接的ip報文進行拆本文檔來自技高網(wǎng)...
【技術(shù)保護點】
1.一種算法卡調(diào)度方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的一種算法卡調(diào)度方法,其特征在于,加密之前拼包處理過程對數(shù)據(jù)包進行五元組匹配的項目包括:源IP地址、目的IP地址、源端口號、目的端口號和傳輸協(xié)議。
3.根據(jù)權(quán)利要求2所述的一種算法卡調(diào)度方法,其特征在于,加密之前拼包處理過程中,通過添加超時機制判斷拼包的數(shù)據(jù)包是否為最后一包;
4.根據(jù)權(quán)利要求1所述的一種算法卡調(diào)度方法,其特征在于,對端接收到IPSEC加密處理的數(shù)據(jù)包ESP報文后,對拼包報文和正常報文不進行區(qū)分直接使用加密卡解密;
5.根據(jù)權(quán)利要求1所述的一種算法卡調(diào)度方法,其特征在于,對本端網(wǎng)卡接收的數(shù)據(jù)包進行加密之前拼包處理之前,還包括拼包條件判斷,拼包條件判斷過程中,通過IPSEC網(wǎng)絡(luò)協(xié)議棧下發(fā)加密策略,采用添加協(xié)議棧鉤子函數(shù)的方式獲取加密策略判斷是否進行拼包,如果滿足加密策略再對數(shù)據(jù)包進行五元組匹配,將五元組一致的數(shù)據(jù)包按照順序拼接到對應(yīng)的HASH鏈表中。
6.一種算法卡調(diào)度裝置,其特征在于,包括:
7.根據(jù)權(quán)利要求6所述的一種算法卡調(diào)
8.根據(jù)權(quán)利要求6所述的一種算法卡調(diào)度裝置,其特征在于,所述解密之后拆包模塊中,對端接收到IPSEC加密處理的數(shù)據(jù)包ESP報文后,對拼包報文和正常報文不進行區(qū)分直接使用加密卡解密;
9.一種存儲介質(zhì),所述存儲介質(zhì)中存儲有算法卡調(diào)度方法的程序代碼,其特征在于,所述程序代碼包括用于執(zhí)行權(quán)利要求1至5任意一項所述的一種算法卡調(diào)度方法的指令。
10.一種電子設(shè)備,包括:存儲器和處理器;所述處理器和所述存儲器通過總線完成相互間的通信;所述存儲器存儲有可被所述處理器執(zhí)行的程序指令,其特征在于,所述處理器調(diào)用所述程序指令執(zhí)行權(quán)利要求1至5任意一項所述的一種算法卡調(diào)度方法。
...【技術(shù)特征摘要】
1.一種算法卡調(diào)度方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的一種算法卡調(diào)度方法,其特征在于,加密之前拼包處理過程對數(shù)據(jù)包進行五元組匹配的項目包括:源ip地址、目的ip地址、源端口號、目的端口號和傳輸協(xié)議。
3.根據(jù)權(quán)利要求2所述的一種算法卡調(diào)度方法,其特征在于,加密之前拼包處理過程中,通過添加超時機制判斷拼包的數(shù)據(jù)包是否為最后一包;
4.根據(jù)權(quán)利要求1所述的一種算法卡調(diào)度方法,其特征在于,對端接收到ipsec加密處理的數(shù)據(jù)包esp報文后,對拼包報文和正常報文不進行區(qū)分直接使用加密卡解密;
5.根據(jù)權(quán)利要求1所述的一種算法卡調(diào)度方法,其特征在于,對本端網(wǎng)卡接收的數(shù)據(jù)包進行加密之前拼包處理之前,還包括拼包條件判斷,拼包條件判斷過程中,通過ipsec網(wǎng)絡(luò)協(xié)議棧下發(fā)加密策略,采用添加協(xié)議棧鉤子函數(shù)的方式獲取加密策略判斷是否進行拼包,如果滿足加密策略再對數(shù)據(jù)包進行五元組匹配,將五元組一致的數(shù)據(jù)包按照順序拼接到對...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:常濤,汪海洋,郟暉,白紅霞,馬娜,王瀟,徐劍南,李海亮,甄小麗,
申請(專利權(quán))人:江蘇新質(zhì)信息科技有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。