IPSec轉發的方法
2023-10-29 15:50:22
專利名稱:IPSec轉發的方法
技術領域:
本發明涉及Internet安全領域,特別涉及IPSEC轉發的方法。
背景技術:
網際網路協議安全(IPSec),是由IETF(Internet Engineering Task Force)定義的一套在網絡層提供網際網路協議(IP)安全性的協議,由一系列RFC文檔組成。其中RFC2401定義IPSec的基本結構;RFC2402定義IPSec的驗證頭(AH);RFC2406定義IPSec的封裝安全載荷(ESP);RFC2409定義IPSec的網際網路密鑰交換(IKE)。
圖1描述IPSec協議基本結構。
IPSec協議包括AH、ESP、IKE等。
ESP(101)封裝安全載荷為IP載荷提供數據加密和驗證的功能。AH(102)認證頭為IP頭提供數據完整性和驗證的功能。數據加密(103)和驗證算法(104)由安全相關(SA)指定。IKE(105)密匙交換為IPSec協議生成密匙。安全策略資料庫(SPD)(106)決定兩個實體之間能否通訊及通訊轉碼方式。解釋域(DOI)用來組合相關協議,通過使用ISAKMP協商安全連接。
在IPSec協議實現中,IPSec設備必須在完成路由轉發、地址轉換等任務同時,處理IPSec加密、解密及驗證工作,轉發任務極為繁重,往往會處於瓶頸地位。
當設備硬體能力有限,轉發能力不足時,只能對無法處理的報文進行簡單丟棄。如此處理,將重要和不重要的信息一併丟棄,不符合通信網絡對於服務質量的要求。我們希望能夠將FIFO、PRIO、CQ、WFQ、CAR等隊列調度機制引入IPSec轉發,根據不同流量類型進行差別服務,提高IPSec設備在高負荷運行狀態下的轉發性能。
如此,需要解決的技術問題是
1.能否對報文流進行服務類型分類。眾所周知,IP報文內容在IPSec加密後,報文頭等信息在轉發前已經無法讀出,而我們希望在轉發前獲取這些信息。
2.實現必須簡單,對現有IPSec協議改動最小,並嚴格保證協議一致性。
發明內容
本發明的目的是提供一種改進IPSec轉發功能的方法。
為實現上述目的,一種IPSec轉發的方法,包括步驟a)在SPD資料庫、SADB資料庫中針對每個具體數據項,增加服務類型域。
b)系統在IPSec處理時,根據該服務類型域,實現隊列調度。
本發明能夠根據不同流量類型進行區別處理。防止系統高負荷運行狀態下,系統丟棄關鍵流量,導致網絡性能迅速惡化。通過隊列調度機制,根據不同流量類型分配系統資源,實現差別服務,保證通信質量。
圖1是IPSec協議組成;圖2是Outbound轉發流程;圖3是Inbound轉發流程。
具體實施例方式
本發明就IPSec報文轉發提出一種新穎的隊列調度方法,解決方案如下1.在SPD資料庫、SADB資料庫的數據項中,增加服務類型域;2.SPD資料庫服務類型域可以手工配置,或者根據某些轉發策略決定,如參考IPv4 TOS;3.SADB資料庫服務類型域在轉發過程中,查找SPD資料庫,並根據SPD資料庫中服務類型域進行刷新;該域僅僅借用SADB資料庫進行存儲,不參與IKE協商。不涉及RFC2407相關DOI內容;
4.報文轉發時,查找SPD資料庫、SADB資料庫得到服務類型域,並根據服務類型域進入相應調度隊列,等待隊列調度;5.調度算法可以為FIFO、PRIO、CQ、WFQ、CAR或其他算法。
圖2描述IPSec OutBound報文處理流程201IPSec轉發原始IP報文。
202分析報文頭,查找SPD資料庫,決定轉發策略。
203SPD查找得到服務類型域值,待205查找SADB時,為SADB服務類型域賦值。
204根據服務類型域值,將報文打入相應調度隊列。
205根據SPD查找結果,繼續查找SADB,存在有效SA項則繼續,否則啟動IKE。
206啟動IKE協商,生成SA。
207獲取SA參數。為可選實現。
208隊列中報文得到調度,進行IPSec轉發處理。
209如果支持NAT穿越,此處進行NAT報文頭處理。
210報文分段處理。
211報文轉發至Internet。
圖3描述IPSec InBound報文處理流程301從Internet接收IPSec報文,必要時進行報文重組。
302如果需要,進行NAT穿越處理,剝去NAT穿越封裝的報文頭。
303分析報文頭,解析出SPI等信息。
304查找SADB中對應SA信息。
305IPSec處理發生錯誤,丟棄該報文。
306獲取SA參數,包括服務類型域。如未賦值,取預設值。
307根據服務類型域值,將報文打入相應調度隊列。
308隊列中報文得到調度,進行後續IPSec處理。
309策略不相符或報文錯誤,丟棄該報文。
310查找SPD資料庫,驗證SPD策略和SA是否相符。
311根據SPD資料庫,刷新SADB服務類型域。
312是否存在嵌套的下一層IPSec報文頭,有則返回508進一步處理。
313報文轉發。
權利要求
1.一種IPSec轉發的方法,包括步驟a)在SPD資料庫、SADB資料庫中針對每個具體數據項,增加服務類型域。b)系統在IPSec處理時,根據該服務類型域,實現隊列調度。
2.根據權利要求1所述的方法,其特徵在於所述對列調度包括,對於IPSecOutBound報文分析報文頭,查找SPD資料庫,決定轉發策略;查找SPD得到服務類型域值;根據服務類型域,將報文打入相應調度對列。
3.根據權利要求1所述的方法,其特徵在於所述對列調度包括,對於IPSecInBound報文分析報文頭,解析出SPI信息;查找SADB中對應的SA信息;如果IPSec處理發生錯誤,丟棄該報文;獲取SA參數,包括服務類型域;根據服務類型域,將報文打入相應調度對列。
4.根據權利要求2或3所述的方法,其特徵在於還包括根據SPD查找結果,繼續查找SADB,為SADB服務類型域賦值。
5.根據權利要求2或3所述的方法,其特徵在於所述報文得到調度後才能繼續IPSec處理。
6.根據權利要求2或3所述的方法,其特徵在於採用FIFO、PRIO、CQ、WFQ、CAR或其他算法為調度算法。
全文摘要
一種IPSec轉發的方法,包括步驟在SPD資料庫、SADB資料庫中針對每個具體數據項,增加服務類型域。系統在IPSec處理時,根據該服務類型域,實現隊列調度。本發明能夠根據不同流量類型進行區別處理。防止系統高負荷運行狀態下,系統丟棄關鍵流量,導致網絡性能迅速惡化。通過隊列調度機制,根據不同流量類型分配系統資源,實現差別服務,保證通信質量。
文檔編號H04L12/56GK1984130SQ20051012647
公開日2007年6月20日 申請日期2005年12月14日 優先權日2005年12月14日
發明者賈紅升, 譚敏強, 楊武學 申請人:北京三星通信技術研究有限公司, 三星電子株式會社