麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

網絡密碼機的幀組加密方法

文檔序號:7612746閱讀:649來源:國知局
專利名稱:網絡密碼機的幀組加密方法
技術領域
本發明涉及網絡密碼機的幀組數據加密方法,確切地說是涉及提高千兆網絡密碼機處理小數據包(指長度為64字節的數據包)的能力、加速數據包在千兆網絡上傳輸效率的方法。
背景技術
隨著網絡技術的發展,網絡吞吐率日益提高,帶寬由10M、100M發展到現在流行的1000M。高速發展的網絡帶寬也促使IP加密產品(即在網絡層對數據包進行加密、認證等處理的網絡產品)的性能,必須不斷地提升才能滿足市場需求。目前,IP加密系列產品已經實現了從10M到1000M,低、中、高端全面覆蓋的一系列產品。但是,由于受千兆密碼機對小數據包處理能力的限制,它已經成為制約IP加密產品進一步發展的瓶頸。
其一傳統的Iinux+工控平臺的主體架構面臨高吞吐率的挑戰從密碼機目前的技術現狀來看,由于主要采用Iinux+X86架構工控平臺的開發模式,這種基于Intel×86工控平臺架構下的密碼機,在100Mbps帶寬下的性能可以滿足用戶的需求。但是,隨著千兆網絡的建設或升級,出現的新問題是帶寬提高9倍,可是系統總線、接口沒有質的提高,而CPU處理能力并沒有提高9倍,對于要完成數據包過濾、加解密、路由轉發等一系列任務的網絡密碼機來說,這樣的硬件和結構要滿足千兆環境要求是比較困難的。
其二Intel×86架構下PCI總線的帶寬成為密通吞吐率的瓶頸
PCI總線是一種通用的接口總線技術,以其通用性和靈活性得到廣泛的應用,已成為Intel×86平臺的標準。但實際應用中,尤其是它在處理小數據包(指長度小于128字節的IP數據包)情況下,遠達不到2Gbps吞吐量的標稱性能;千兆網絡密碼機主要構成是支持64位PCI總線的PCI-X服務器平臺+雙志強CPU2.4G+兩張Intel千兆網卡+兩張千兆加密卡。使用專用設備對千兆網絡密碼機進行了雙向加密傳輸吞吐率測試。對于PCI接口的加密卡加密速率測試表明,兩張加密卡每張卡的加密速率,在數據包長度達到以太網最大數據傳輸長度1518字節時,其加密速率為800Mbps,而數據包長度為64字節時的加密速率只能達到32Mbps。雙向加密傳輸吞吐率全部測試結果表明,數據包長度越小吞吐率越低,而對系統資源占用越大。
其三CPU頻繁的中斷處理壓力成為小數據包處理速率難突破的關鍵中斷是為了提高CPU利用率而生成的技術。當硬件需要得到CPU處理時而產生的信號就是中斷。但CPU的處理能力是有限的,它不僅要處理中斷還要處理其它繁重的任務,在網絡密碼機平臺上CPU的大量時間都用在處理網卡、加密卡中斷和數據包收發處理上,而CPU優先處埋中斷。在高負荷的網絡中,網卡、加密卡的中斷非常頻繁,CPU把大量時間用于處理中斷,數據包接收后由于得不到處理而堆積,當接收隊列溢出數據包就會丟失,資源被浪費掉,任務無法得到執行,導致網絡負載高情況下網絡吞吐率降低,這點在小包處理上尤為突出。如何有效降低CPU中斷處理頻率,節省中斷處理開銷是提高小包加密吞吐率的關鍵。
現有技術的缺欠在于(一)目前的軟件對處理長度為64字節至1518字節的數據包,都采用同樣的中斷處理方式,這對處理大數據包是沒有困難的,但對處理小數據包就會由于過度頻繁地中斷,而導致吞吐能力嚴重下降。例如密碼機全線速傳輸速率為1000Mbps,且大、小數據包傳輸速率均為1000Mbps,傳輸一個數據包只產生一個中斷。當采用滿包(1518字節)方式傳送時,一秒鐘可以傳送0.082M個數據包,而以64字節小數據包傳送時,一秒鐘需傳送1.953M個數據包,這就意味著在同樣吞吐能力下,傳輸小數據包每秒所要產生的中斷數是大數據包中斷數的24倍。因此,這種軟件處理方式,會造成小數據包中斷處理明顯受工控平臺性能的制約。
(二)Iinux內核中,對數據包接收處理的方法是針對每個數據包,都要分配存儲空間、再將承載數據送到各個協議層進行處理、之后將數據包發送或丟棄、再釋放存儲空間,這樣頻繁地分配與釋放內存,必然導致對CPU資源利用的巨大浪費。

發明內容
本發明的目的在于針對目前千兆網絡密碼機,對小數據包加密傳輸存在的低效率、浪費設備資源的問題,為用戶提供一種可以有效減少加密卡對數據包加密處理的中斷次數、提高對小數據包加密的速度、減少數據包在總線傳輸的頻率、提高設備資源利用率的網絡密碼機的幀組加密方法。
實現本發明的目的基本技術方案是(一)修改Linux操作系統中最小調度時鐘周期,或稱修改Linux系統“心跳”;即是保證緩沖數據塊能進行超時處理,在重新組合加密數據包時,由于前面到來的數據包需要等待后面到來的數據包,并積累到一定數量后再送去加或解密處理,這就必須有計時裝置進行控制,避免前面的數據包在后續數據包還未到達組成數據塊時,就被送去加或解密處理,也用于保證被緩存的數據包在一定時間得不到處理仍然能被發送,這個計時裝置就是Linux操作系統的“心跳”,現有的Linux操作系統在i386系統上的“心跳”為10ms,這對控制網絡數據包來說其延時間隔過長,必須將網絡數據包通過網絡密碼機的延時,控制在100μm-1ms內,即將Linux操作系統的“心跳”修改為100次/秒-1000次/秒。
(二)重新組合加密小數據包為緩沖數據塊,減少加密卡中斷次數;就是PCI加密卡把對每一個小數據包進行一次加或解密的處理過程,改變成待小數據包積累到一定數量,組成一個大數據塊時再進行一次加密或解密的處理過程,這就既減少了加密卡的中斷次數,也減少了PCI總線的傳輸頻度;具體作法是在內存中維護一個由各先入先出的加解密緩沖區所組成的加解密緩沖隊列,該隊列的長度依據平臺、數據加密卡的處理能力和內存空間大小來定,基于百兆的處理能力平臺,緩沖區長度設置在100-500個之間較好,在網絡密碼機中使用300個,所有數據包都將先被裝入加解密緩沖區中,然后再送入PCI數據加密卡處理。
(三)針對每臺網絡密碼機可能存在多個安全通道,即待加解密處理的數據包可能以不同的密鑰加解密,加密卡能夠支持的安全通道數也就是密鑰數為1024,所以確定數據包組裝進入同一個緩沖區的條件是必須是具有相同密鑰索引keyid的數據包,才能組裝到同一個加密緩沖區中。
(四)確定加密緩沖區數據塊被輸入PCI加密卡中進行加解密的條件①當緩沖區中積累的數據包數目超過最大值時,加密緩沖區的數據塊即被輸進PCI數據加密卡中進行加解密,該數據包數目的最大值,由PCI數據加密卡的加密能力確定;②當緩沖區中總字節數大于最大值時,加密緩沖區的數據塊即被輸進PCI數據加密卡中進行加解密,該總字節數最大值由確定;
③當緩沖區的維持時間超時時,加密緩沖區的數據塊即被輸進PCI數據加密卡中進行加解密,即從緩沖區裝入第一個數據包開始,如果時間超過一定時間間隔,立即將積累的數據包送入到PCI數據加密卡,避免存放在緩沖區中的數據包永遠得不到處理。
(五)引入內存回收池技術。內存回收池,是由被PCI數據加密卡加解密處理、發送了數據塊后的那些空置緩沖區所組織成的FIFO先進先出隊列;內存回收池技術是指將緩沖區中的數據塊輸入PCI數據加密卡后,該空置的緩沖區不作內存釋放而是直接回收,放入回收池中留作新的緩沖區,等待裝放后續處理的新數據塊,當網卡需要時再重新取用;這樣,每次作數據包內存空間分配時,都先從FIFO隊列中取,只有FIFO隊列空了才進行內存分配。
綜上所述一種網絡密碼機的幀組加密方法,其特征是(1)修改Linux操作系統中最小調度時鐘周期,或稱修改Linux系統“心跳”,將網絡數據包通過網絡密碼機的延時,由原有的10ms改變為100μm-1ms,即將Linux操作系統的“心跳”修改為100次/秒-1000次/秒。
(2)重新組合加密小數據包為緩沖數據塊;作法是在內存中維護一個由各先入先出的加解密緩沖區所組成的加解密緩沖隊列,該隊列長度依據平臺、數據加密卡的處理能力和內存空間大小來定,基于百兆的處理能力平臺,緩沖區長度設置在100-500間較好,在網絡密碼機中使用300;在內存中維護加解密緩沖區后,所有待加解密處理的數據包,都將先被組裝入加解密緩沖區,然后才送入PCI數據加密卡處理。
(3)各數據包被組裝進入同一個緩沖區的條件是必須具有相同的密鑰索引keyid。
(4)加密緩沖區中的數據塊,輸入PCI數據加密卡中進行加解密的條件是①當緩沖區中積累的數據包數目超過最大值時;該最大值由PCI數據加密卡的加密能力確定;②當緩沖區中總字節數大于最大值時;該總字節數最大值由確定;③當緩沖區的維持時間超時。
(5)將操作系統使用過后的內存空間回收管理,不釋放而是放入回收池中,當網卡需要內存空間時就從回收池里獲取。
附加技術特征是①緩沖區中組裝的數據包個數最大值為16;②緩沖區中容納的數據總字節數最大值為1800。③每個緩沖區的維持時間是300μs,即將Linux操作系統的“心跳”修改為300次/秒。
本發明的優點在于a、由于修改了Linux系統的“心跳”,將網絡數據包通過網絡密碼機的延時,由原有的10ms改變為100μm-1ms,因而大大提高了網絡密碼機對數據包的處理能力;b、由于在內存維護有由加密緩沖區組成的加解密緩沖隊列,將一定數量的網絡數據包先組裝到加密緩沖區中,然后再將這個緩沖區的數據塊一起送入PCI數據加密卡中進行加解密處理,從而了有效降低了CPU中斷頻率,節省了中斷處理開銷,提高了小包加密吞吐率;c、由于操作系統的內存管理相當復雜,內存的分配和釋放操作會消耗大量的CPU資源,為了提高網絡密碼機的數據包處理速度,將數據包處理所使用完畢的內存空間回收管理,放入回收池中,當網卡需要內存空間時就從回收池里提取;由于簡化了操作,因而大大節省了系統內存分配和釋放的開銷。綜上所述,通過這些技術措施,解決了網絡密碼機小數據包處理的瓶頸,大大提高了千兆網絡密碼機處理小數據包(指長度為64字節的數據包)的能力,從而加速了數據包在千兆網絡上傳輸效率。


圖1為本發明網絡密碼機主要模塊及工作原理示意2為本發明幀組加密模塊工作流程3為采用普通模式與幀組加密模式的數據包吞吐率測試中標記圖3縱坐座為吞吐率(1/1000),橫坐座為數據包長度(字節)。
具體實施例方式
一種網絡密碼機的幀組加密方法,包括(1)修改Linux操作系統中最小調度時鐘周期,或稱修改Linux系統“心跳”;在本實例中,將網絡數據包通過網絡密碼機的延時,由原有的10ms修改為300μm,即將Linux操作系統的“心跳”修改為300次/秒。
(2)重新組合加密小數據包為緩沖數據塊;在本方案中的作法是在內存中維護一個由各先入先出的加解密緩沖區所組成的加解密緩沖隊列,該隊列長度依據平臺、數據加密卡的處理能力和內存空間大小來定,對于百兆級處理能力平臺,緩沖區長度設置在100-500間較好,在網絡密碼機中使用300;在內存中維護加解密緩沖區后,所有待加解密處理的數據包,都將被組裝到加解密緩沖區中,然后才能送入PCI數據加密卡處理。
(3)各數據包被組裝進入同一個緩沖區的條件是必須具有相同的密鑰索引keyid。
(4)加密緩沖區中的數據塊,輸入PCI數據加密卡中進行加解密的條件是①當緩沖區中積累的數據包數目超過最大值時;該最大值由PCI數據加密卡的加密能力確定;本實例針對現在網絡密碼機單張PCI加密卡,該最大值取為16個小數椐包(指64字節的數據包)。
②當緩沖區中緩存的數據總數超過一定大小時;在本實例中該數據總字節數最大值為1800字節;③當緩沖區的維持時間超時;每個加密緩沖區有一個時間標記,加密機心跳的軟中斷中,會對每個正在使用的緩沖區的時間標記進行檢查,如果超時數據包將被發送;在本實例中每個緩沖區的維持時間是300μs。
(5)將操作系統使用過后的內存空間回收管理,不釋放而是放入回收池中,當網卡需要內存空間時就從回收池里提取。
性能實驗驗證在具有相同硬件平臺和配件條件下,采用上述技術措施后,將采用幀組加密模式的吞吐測試結果,與沒有采用幀組加密的普通的吞吐率測試結果相比較,由圖3的測試結果看出數據包越小性能提升越高,這是因為數據包越小采用本發明的幀組加密方法,其組包數量越多,節省cpu的中斷數越多,數據包在網絡密碼機上的吞吐性能提升也越高。
權利要求
1.一種網絡密碼機的幀組加密方法,其特征是(1)修改Linux操作系統中最小調度時鐘周期,或稱修改Linux系統“心跳”,將網絡數據包通過網絡密碼機的延時,由原有的10ms改變為100μm-1ms,即將Linux操作系統的“心跳”修改為100次/秒-1000次/秒。(2)重新組合加密小數據包為緩沖數據塊;作法是在內存中維護一個由各先入先出的加解密緩沖區所組成的加解密緩沖隊列,該隊列長度依據平臺、數據加密卡的處理能力和內存空間大小來定,基于百兆的處理能力平臺,緩沖區長度設置在100-500間較好,在網絡密碼機中使用300;在內存中維護加解密緩沖區后,所有待加解密處理的數據包,都將先被組裝入加解密緩沖區,然后才送入PCI數據加密卡處理。(3)各數據包被組裝進入同一個緩沖區的條件是必須具有相同的密鑰索引keyid。(4)加密緩沖區中的數據塊,輸入PCI數據加密卡中進行加解密的條件是①當緩沖區中積累的數據包數目超過最大值時;該最大值由PCI數據加密卡的加密能力確定;②當緩沖區中總字節數大于最大值時;該總字節數最大值由確定;③當緩沖區的維持時間超時。(5)將操作系統使用過后的內存空間回收管理,不釋放而是放入回收池中,當網卡需要內存空間時就從回收池里提取。
2.按照權利要求1所述的網絡密碼機的幀組加密方法,其特征是緩沖區中組裝的數據包個數最大值為16。
3.按照權利要求1所述的網絡密碼機的幀組加密方法,其特征是緩沖區中容納的數據總字節數最大值為1800。
4.按照權利要求1所述的網絡密碼機的幀組加密方法,其特征是每個緩沖區的維持時間是300μs,即修改Linux操作系統的心跳為300次/秒。
全文摘要
本發明公開了一種網絡密碼機的幀組加密方法,包括(1)修改Linux操作系統的“心跳”;(2)在內存中維護由加解密緩沖區組成的加解密緩沖隊列,待加解密處理的數據包,都先被組裝入加解密緩沖區,然后送入PCI加密卡;(3)各數據包被組裝入同一個緩沖區條件是有相同的密鑰索引;(4)加密緩沖區中數據塊,輸入PCI加密卡中加解密的條件是①緩沖區中積累的數據包數目超過最大值;②緩沖區中總字節數大于最大值;③緩沖區維持時間超時;(5)操作系統使用過后的內存空間不釋放而是放入回收池中,當網卡需要時從回收池中提取;優點是解決了網絡密碼機小數據包處理的瓶頸,提高了千兆網絡密碼機處理小數據包的能力,加速了其吞吐效率。
文檔編號H04L12/56GK1815947SQ20051002028
公開日2006年8月9日 申請日期2005年1月31日 優先權日2005年1月31日
發明者侯建寧, 賴韜 申請人:成都衛士通信息產業股份有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 连州市| 淮滨县| 盐池县| 清新县| 丰原市| 吉木乃县| 榆中县| 都兰县| 长宁区| 东海县| 长沙县| 牙克石市| 绥德县| 中山市| 东乌珠穆沁旗| 榕江县| 濮阳市| 浮山县| 黔江区| 涿州市| 乐平市| 察雅县| 临漳县| 颍上县| 武威市| 柏乡县| 河东区| 陈巴尔虎旗| 石嘴山市| 大同市| 东丽区| 南宫市| 康乐县| 弥渡县| 华宁县| 哈巴河县| 湾仔区| 牟定县| 桂阳县| 砀山县| 秦皇岛市|