用于網絡設備的IPsec隧道的控制方法和系統的制作方法
【專利摘要】一種用于網絡設備的IPsec隧道的控制方法和系統。方法包括如下步驟:建立網絡設備間的IPsec隧道,協商生成IPsec隧道的一級隧道IKE?SA和二級隧道IPsec?SA;在檢測到一級隧道IKE?SA的超時時間或者二級隧道IPsec?SA的超時時間達到預設時間后,發送協商報文;如果沒有收到回應報文,則判斷協商報文的出物理接口的報文處理速度是否等于或大于預設上限;如果報文處理速度等于或大于預設上限,則進一步判斷IPsec隧道是否可以對報文正常加密和解密;如果是,則判斷IPsec隧道可使用,等待預設時長后,重新發送協商報文。本發明可以解決IPsec隧道的震蕩問題。
【專利說明】用于網絡設備的IPsec隧道的控制方法和系統
【技術領域】
[0001] 本發明涉及網絡通信【技術領域】,特別涉及一種用于網絡設備的IPsec隧道的控制 方法和系統。
【背景技術】
[0002] 多核網絡設備對報文進行處理時,首先處理轉發報文,其次處理主機報文,這樣可 以保證設備的吞吐量,增加性能。但是對于其他功能來說,主機報文如果接收失敗可以重 發,不會有嚴重影響,但對于IPsec (Internet Protocol Security,Internet協議安全性) 隧道而言,協商報文即是主機報文,此時如果協商報文接收失敗就會導致IPsec隧道斷開。 由于協商報文失敗的原因可能是由多方面造成,并且這種原因也是會隨著網絡狀態的改變 而消失的。如果僅僅因為協商報文接收失敗就斷開IPsec隧道,從而會對用戶來說會出現 隧道震蕩的情況,而且草率的斷開IPsec隧道,而沒有根據當前網絡狀態的變化適時的恢 復IPsec隧道,會影響IPsec隧道的正常功能。
【發明內容】
[0003] 本發明鑒于上述情況而作出,其目的是提供一種用于網絡設備的IPsec隧道的控 制方法,該方法可以解決IPsec隧道的震蕩問題。
[0004] 為實現上述目的,本發明提供一種用于網絡設備的IPsec隧道的控制方法,包括 如下步驟:
[0005] 建立網絡設備間的IPsec隧道,協商生成IPsec隧道的一級隧道IKE SA和二級隧 道 IPsec SA ;
[0006] 在檢測到所述一級隧道IKE SA的超時時間或者二級隧道IPsec SA的超時時間達 到預設時間后,發送協商報文;
[0007] 如果沒有收到回應報文,則判斷所述協商報文的出物理接口的報文處理速度是否 等于或大于預設上限;
[0008] 如果報文處理速度等于或大于預設上限,則進一步判斷所述IPsec隧道是否可以 對報文正常加密和解密;
[0009] 如果是,則判斷所述IPsec隧道可使用,等待預設時長后,重新發送所述協商報 文。
[0010] 根據本發明的一個方面,如果所述協商報文的出物理接口的報文處理速度小于預 設上限,則斷開所述IPsec隧道。
[0011] 根據本發明的另一個方面,在檢測到所述IPsec隧道設置有入加密報文時,判斷 所述IPsec隧道可以對報文正常加密。
[0012] 根據本發明的又一方面,如果判斷所述IPsec隧道不可以對報文正常加密或解 密,則斷開所述IPsec隧道。
[0013] 根據本發明的再一方面,所述預設時長由用戶根據網絡狀態進行配置。
[0014] 本發明提供的用于網絡設備的IPsec隧道的控制方法,在發現協商失敗后,不立 即進行IPsec隧道刪除,而是綜合考慮協商報文的出物理接口的速度和IPsec隧道是否可 以對報文正常加密和解密,選擇斷開IPsec隧道或者延時一定時間,錯過流量高峰再進行 重新協商,從而解決IPsec隧道的震蕩問題。
[0015] 本發明的又一個目的是提供一種用于網絡設備的IPsec隧道的控制系統,該系統 可以解決IPsec隧道的震蕩問題。
[0016] 為實現上述目的,本發明提供一種用于網絡設備的IPsec隧道的控制系統,包括: IPsec隧道設置模塊,用于建立網絡設備間的IPsec隧道并協商生成IPsec隧道的一級隧道 IKE SA和二級隧道IPsec SA;超時時間檢測模塊,用于檢測所述一級隧道IKE SA的超時時 間或者二級隧道IPsec SA的超時時間是否達到預設時間;通信模塊,所述通信模塊連接至 所述超時時間檢測模塊,用于在所述超時時間檢測模塊檢測到所述一級隧道IKE SA的超時 時間或者二級隧道IPsec SA的超時時間達到預設時間后,發送協商報文;判斷模塊,所述 判斷模塊連接至所述通信模塊和所述IPsec隧道設置模塊,用于在所述通信模塊沒有收到 回應報文后,判斷所述協商報文的出物理接口的報文處理速度是否等于或大于預設上限, 如果是則進一步判斷所述IPsec隧道是否可以對報文正常加密和解密,如果是則判斷所述 IPsec隧道可使用,等待預設時長后,由所述通信模塊重新發送所述協商報文。
[0017] 根據本發明的一個方面,如果所述判斷模塊判斷協商報文的出物理接口的報文處 理速度小于預設上限,則所述IPsec隧道設置模塊斷開所述IPsec隧道。
[0018] 根據本發明的又一方面,如果所述判斷模塊判斷協商報文的出物理接口的報文處 理速度小于預設上限,則所述IPsec隧道設置模塊斷開所述IPsec隧道。
[0019] 根據本發明的再一方面,如果所述判斷模塊判斷所述IPsec隧道不可以對報文正 常加密或解密,則所述IPsec隧道設置模塊斷開所述IPsec隧道。
[0020] 根據本發明的又一方面,所述預設時長由用戶根據網絡狀態進行配置。
[0021] 本發明提供的用于網絡設備的IPsec隧道的控制系統,在發現協商失敗后,不立 即進行IPsec隧道刪除,而是綜合考慮協商報文的出物理接口的速度和IPsec隧道是否可 以對報文正常加密和解密,選擇斷開IPsec隧道或者延時一定時間,錯過流量高峰再進行 重新協商,從而解決IPsec隧道的震蕩問題。
【專利附圖】
【附圖說明】
[0022] 圖1是根據本發明第一實施方式的用于網絡設備的IPsec隧道的控制方法的流程 圖;
[0023] 圖2是根據本發明第二實施方式的用于網絡設備的IPsec隧道的控制方法的流程 圖;
[0024] 圖3示意性地示出網絡設備間的IPsec隧道的示意圖;
[0025] 圖4是根據本發明實施方式的用于網絡設備的IPsec隧道的控制系統的結構圖。
【具體實施方式】
[0026] 為使本發明的目的、技術方案和優點更加清楚明了,下面結合【具體實施方式】并參 照附圖,對本發明進一步詳細說明。應該理解,這些描述只是示例性的,而并非要限制本發 明的范圍。此外,在以下說明中,省略了對公知結構和技術的描述,以避免不必要地混淆本 發明的概念。
[0027] 由于多核網絡設備處理報文的優先級為,首先處理轉發報文,其次處理主機報文, 從而可以保證設備的吞吐,增加性能。但是對于IPsec隧道,協商報文即是主機報文,此時 如果丟棄協商報文就會導致IPsec隧道斷開,對用戶來說就會出現隧道震蕩的情況。因此, 針對多核網絡設備,本發明提供一種用于網絡設備的IPsec隧道的控制方法和系統,可以 防止由于優先處理轉發報文引起的網卡忙,即不能及時處理主機報文或者協商報文,導致 協商報文件丟失,進而導致的IPsec隧道重協商失敗,刪除了 IPsec隧道,無法保證IPsec 隧道的正常功能。
[0028] 圖1是根據本發明第一實施方式的用于網絡設備的IPsec隧道的控制方法的流程 圖。
[0029] 如圖1所示,本發明第一實施方式的用于網絡設備的IPsec隧道的控制方法,包括 如下步驟:
[0030] 步驟S1,建立網絡設備間的IPsec隧道,協商生成IPsec隧道的一級隧道IKE SA 和二級隧道IPsec SA。
[0031] 具體來說,在網絡設備之間建立IPsec隧道。參考圖3,以防火墻設備Fw a和防火 墻設備Fw b為例,防火墻設備Fw a和防火墻設備Fw b建立IPsec隧道。在IPsec隧道的 建立過程中協商生成一級隧道IKE SA和二級隧道IPsec SA。其中,一級隧道IKE SA用于 保護IKE協議報文。二級隧道IPsec SA用于數據報文加密。
[0032] 步驟S2,在檢測到一級隧道IKE SA的超時時間或者二級隧道IPsec SA的超時時 間達到預設時間后,發送協商報文。
[0033] 檢測一級隧道IKE SA或二級隧道IPsec SA是否發生超時,且超時時間是否達到 預設時間,如果是則進行協商報文發送,開始IKE SA和IPsec SA的更新協商,即協商生成 新的 IKE SA 和 IPsec SA。
[0034] 步驟S3,如果沒有收到回應報文,則判斷協商報文的出物理接口的報文處理速度 是否等于或大于預設上限。
[0035] 在步驟S2中發送協商報文之后,如果收到回應報文,則判斷協商成功,生成新的 IKE SA和IPsec SA。如果沒有收到回應報文,則判斷協商失敗,此時不立即進行IPsec隧 道刪除,而是查看該協商報文的出物理接口的報文處理速度。具體地,判斷協商報文的出物 理接口的報文處理速度是否等于或大于預設上限。由于一段時間的出物理接口的流量可以 利用報文處理速度和單位時長計算獲取,因此通過判斷協商報文的出物理接口的報文處理 速度是否等于或大于預設上限,可以達到判斷單位時長內出物理接口的流量是否超過上限 的目的。
[0036] 步驟S4,如果報文處理速度等于或大于預設上限則進一步判斷IPsec隧道是否可 以對報文正常加密和解密。
[0037] 如果協商報文的出物理接口的報文處理速度等于或大于預設上限,則查看IPsec 隧道是否可以對報文正常加密。
[0038] 在本發明的實施方式中,通過判斷IPsec隧道是否有入加密報文,來判斷報文是 否可以被正常的加密。其中,如果IPsec隧道有入加密報文,則判斷IPsec隧道可以對報文 正常加密,反之判斷IPsec隧道不能對報文正常加密。
[0039] 并且,在IPsec隧道可以對報文進行正常加密的基礎上,進一步判斷報文是否 可以被正常解密。具體地,本步驟中可以通過查找解密報文的三元組,其中,三元組包括 SPI (Security Parameter Index,安全參數索引)、加解密類型和目的地址。如果通過SPI、 加解密類型HE目的地址這三個元素可以找到對應的解密SA(Security Association,安全 關聯),那么就可以認定為報文能夠正常解密。
[0040] 步驟S5,如果是,則判斷IPsec隧道可使用,等待預設時長后,重新發送協商報文。
[0041] 如果協商報文的出物理接口的報文處理速度等于或大于預設上限,并且IPsec隧 道可以對報文進行正常加密和解密,則認為隧道是仍然可以繼續使用的,只是由于多核設 備自身的原因在報文轉發過程中導致協商報文丟失,則使用當前IPsec隧道,等待預設時 長后(如:等流量高峰期過了或等待10分鐘),再次發送協商報文,進行協商,可以正常協 商IKE SA和IPsec SA時,再使用新的IPsec隧道,那么就將IKE SA和IPsec SA的更新推 遲預設時長再進行更新,由此可以解決IPsec隧道的震蕩問題。
[0042] 在本發明的實施方式中,預設時長由用戶根據網絡狀態進行配置。優選的,預設時 長為一個周期,例如10分鐘。
[0043] 圖2是根據本發明第二實施方式的用于網絡設備的IPsec隧道的控制方法的流程 圖。
[0044] 在本發明的一個實施方式中,在步驟S3之后,還包括如下步驟:如果協商報文的 出物理接口的報文處理速度小于預設上限,則執行步驟S6,斷開IPsec隧道。需要說明的 是,在步驟中的斷開IPsec隧道是在滿足一定條件下的主動實施的斷開,而并非現有技術 中由于協商失敗導致的被動斷開。具體來說,由于此時報文的出物理接口的報文處理速度 小于預設上限,表明此時網絡發生擁堵。在該時機下斷開IPsec隧道,不對IPsec隧道內的 報文進行加密和解密,即對IPsec隧道的報文暫時斷流。這種方式可以從根本上解決IPsec 隧道震蕩的問題,因為不建立IPsec隧道,切斷了 IPsec隧道震蕩發生的源頭。從另一個方 面可以理解為,通過對IPsec隧道的暫時屏蔽達到避免IPsec隧道震蕩,同時保證背景流有 限通過。
[0045] 并且,IPsec隧道只是在一定條件下的暫時斷開,當報文的出物理接口的報文處理 速度等于或大于預設上限,即網絡擁堵狀況解除,端口的流量帶寬夠用時,重新建立IPsec 隧道,恢復IPsec隧道內的報文的加密和解密,從而盡量做到不影響IPsec隧道的正常功 能。
[0046] 在步驟S4之后,還包括如下步驟:如果判斷IPsec隧道沒有入加密報文或者解密 失敗,則執行步驟S6,斷開IPsec隧道。
[0047] 根據本發明實施方式的用于網絡設備的IPsec隧道的控制方法,在發現協商失敗 后,不立即進行IPsec隧道刪除,而是綜合考慮協商報文的出物理接口的報文處理速度和 IPsec隧道是否可以對報文正常加密和解密,選擇斷開IPsec隧道或者延時預設時長,錯過 流量高峰再進行重新協商,從而解決IPsec隧道的震蕩問題。
[0048] 圖4是根據本發明實施方式的用于網絡設備的IPsec隧道的控制系統的結構圖。
[0049] 如圖4所示,本發明實施方式的用于網絡設備的IPsec隧道的控制系統包括: IPsec隧道設置模塊1、超時時間檢測模塊2、通信模塊3和判斷模塊4。
[0050] 具體地,IPsec隧道設置模塊1用于建立網絡設備間的IPsec隧道并協商生成 IPsec隧道的一級隧道IKE SA和二級隧道IPsec SA。
[0051] 具體來說,IPsec隧道設置模塊1在網絡設備之間建立IPsec隧道。在IPsec隧 道的建立過程中協商生成一級隧道IKE SA和二級隧道IPsec SA。其中,一級隧道IKE SA 用于保護IKE協議報文。二級隧道IPsec SA用于數據報文加密。
[0052] 超時時間檢測模塊2用于檢測一級隧道IKE SA的超時時間或者二級隧道IPsec SA的超時時間是否達到預設時間。
[0053] 通信模塊3連接至超時時間檢測模塊2,用于在超時時間檢測模塊2檢測到一級隧 道IKE SA的超時時間或者二級隧道IPsec SA的超時時間達到預設時間后,發送協商報文, 開始IKE SA和IPsec SA的更新協商,即協商生成新的IKE SA和IPsec SA。
[0054] 判斷模塊4連接至通信模塊3,用于在通信模塊3沒有收到回應報文后,判斷協商 失敗,此時不立即進行IPsec隧道刪除。判斷模塊4進一步判斷協商報文的出物理接口的報 文處理速度是否等于或大于預設上限。由于一段時間的出物理接口的流量可以利用報文處 理速度和單位時長計算獲取,因此通過判斷協商報文的出物理接口的報文處理速度是否等 于或大于預設上限,可以達到判斷單位時長內出物理接口的流量是否超過上限的目的。如 果是則判斷模塊4進一步判斷IPsec隧道是否可以對報文正常加密和解密,如果是則判斷 IPsec隧道可使用,等待預設時長后,由通信模塊3重新發送協商報文。
[0055] 需要說明的是,如果通信模塊3收到回應報文,則可以認為協商成功,生成新的 IKE SA 和 IPsec SA。
[0056] 在本發明的實施方式中,判斷模塊4通過判斷IPsec隧道是否有入加密報文,來判 斷是否報文可以被正常的加密。其中,如果IPsec隧道有入加密報文,則判斷IPsec隧道可 以對報文正常加密,反之判斷IPsec隧道不能對報文正常加密。
[0057] 并且,在IPsec隧道可以對報文進行正常加密的基礎上,判斷模塊4進一步判斷報 文是否可以被正常解密。
[0058] 如果協商報文的出物理接口的報文處理速度等于或大于預設上限,并且IPsec 隧道可以對報文進行正常加密和解密,則判斷模塊4認為隧道是仍然可以繼續使用的,只 是由于多核設備自身的原因導致協議報文丟失,則使用當前IPsec隧道,等待預設時長后 (如:等流量高峰期過了或等待10分鐘),再次發送協商報文,進行協商,可以正常協商IKE SA和IPsec SA時,再使用新的IPsec隧道,那么就將IKE SA和IPsec SA的更新推遲預設 時長再進行更新,由此可以解決IPsec隧道的震蕩問題。
[0059] 在本發明的實施方式中,預設時長由用戶根據網絡狀態進行配置。優選的,預設時 長為一個周期,例如10分鐘。
[0060] 在本發明的一個實施方式中,如果判斷模塊4判斷協商報文的出物理接口的報文 處理速度小于預設上限,則IPsec隧道設置模塊1斷開IPsec隧道。需要說明的是,IPsec 隧道設置模塊1斷開IPsec隧道是在滿足一定條件下的主動實施的斷開,而并非現有技術 中由于協商失敗導致的被動斷開。具體來說,由于此時報文的出物理接口的報文處理速度 小于預設上限,表明此時網絡發生擁堵。在該時機下斷開IPsec隧道,不對IPsec隧道內的 報文進行加密和解密,即對IPsec隧道的報文暫時斷流。這種對IPsec隧道的暫時屏蔽措 施在避免隧道震蕩的同時,保證背景流有限通過。
[0061] 并且,IPsec隧道只是在一定條件下的暫時斷開,當報文的出物理接口的報文處理 速度等于或大于預設上限,即網絡擁堵狀況解除,端口的流量帶寬夠用時,重新建立IPsec 隧道,恢復IPsec隧道內的報文的加密和解密,從而盡量做到不影響IPsec隧道的正常功 能。
[0062] 判斷模塊4在檢測到IPsec隧道設置有入加密報文時,判斷IPsec隧道可以對報 文正常加密。如果判斷模塊4判斷IPsec隧道沒有入加密報文或者解密失敗,則IPsec隧 道設置模塊1斷開IPsec隧道。
[0063] 根據本發明實施方式的用于網絡設備的IPsec隧道的控制系統,在發現協商失敗 后,不立即進行IPsec隧道刪除,而是綜合考慮協商報文的出物理接口的報文處理速度和 IPsec隧道是否可以對報文正常加密和解密,選擇斷開IPsec隧道或者延時預設時長,錯過 流量高峰再進行重新協商,從而解決IPsec隧道的震蕩問題。
[〇〇64] 應當理解的是,本發明的上述【具體實施方式】僅僅用于示例性說明或解釋本發明的 原理,而不構成對本發明的限制。因此,在不偏離本發明的精神和范圍的情況下所做的任何 修改、等同替換、改進等,均應包含在本發明的保護范圍之內。此外,本發明所附權利要求旨 在涵蓋落入所附權利要求范圍和邊界、或者這種范圍和邊界的等同形式內的全部變化和修 改例。
【權利要求】
1. 一種用于網絡設備的IPsec隧道的控制方法,包括如下步驟: 建立網絡設備間的IPsec隧道,協商生成IPsec隧道的一級隧道IKE SA和二級隧道 IPsec SA ; 在檢測到所述一級隧道IKE SA的超時時間或者二級隧道IPsec SA的超時時間達到預 設時間后,發送協商報文; 如果沒有收到回應報文,則判斷所述協商報文的出物理接口的報文處理速度是否等于 或大于預設上限; 如果報文處理速度等于或大于預設上限,則進一步判斷所述IPsec隧道是否可以對報 文正常加密和解密; 如果是,則判斷所述IPsec隧道可使用,等待預設時長后,重新發送所述協商報文。
2. 根據權利要求1所述的用于網絡設備的IPsec隧道的控制方法,其中,如果所述協商 報文的出物理接口的報文處理速度小于預設上限,則斷開所述IPsec隧道。
3. 根據權利要求1所述的用于網絡設備的IPsec隧道的控制方法,其中,在檢測到所述 IPsec隧道設置有入加密報文時,判斷所述IPsec隧道可以對報文正常加密。
4. 根據權利要求1所述的用于網絡設備的IPsec隧道的控制方法,其中,如果判斷所述 IPsec隧道不可以對報文正常加密或解密,則斷開所述IPsec隧道。
5. 根據權利要求1所述的用于網絡設備的IPsec隧道的控制方法,其中,所述預設時長 由用戶根據網絡狀態進行配置。
6. -種用于網絡設備的IPsec隧道的控制系統,包括: IPsec隧道設置模塊,用于建立網絡設備間的IPsec隧道并協商生成IPsec隧道的一級 隧道IKE SA和二級隧道IPsec SA ; 超時時間檢測模塊,用于檢測所述一級隧道IKE SA的超時時間或者二級隧道IPsec SA 的超時時間是否達到預設時間; 通信模塊,所述通信模塊連接至所述超時時間檢測模塊,用于在所述超時時間檢測模 塊檢測到所述一級隧道IKE SA的超時時間或者二級隧道IPsec SA的超時時間達到預設時 間后,發送協商報文;以及 判斷模塊,所述判斷模塊連接至所述通信模塊和所述IPsec隧道設置模塊,用于在所 述通信模塊沒有收到回應報文后,判斷所述協商報文的出物理接口的報文處理速度是否等 于或大于預設上限,如果是則進一步判斷所述IPsec隧道是否可以對報文正常加密和解 密,如果是則判斷所述IPsec隧道可使用,等待預設時長后,由所述通信模塊重新發送所述 協商報文。
7. 根據權利要求6所述的設備的IPsec隧道的控制系統,其中,如果所述判斷模塊判斷 協商報文的出物理接口的報文處理速度小于預設上限,則所述IPsec隧道設置模塊斷開所 述IPsec隧道。
8. 根據權利要求6所述的用于網絡設備的IPsec隧道的控制系統,其中,所述判斷模塊 在檢測到所述IPsec隧道設置有入加密報文時,判斷所述IPsec隧道可以對報文正常加密。
9. 根據權利要求6所述的用于網絡設備的IPsec隧道的控制系統,其中,如果所述判斷 模塊判斷所述IPsec隧道不可以對報文正常加密或解密,則所述IPsec隧道設置模塊斷開 所述IPsec隧道。
10.根據權利要求6所述的用于網絡設備的IPsec隧道的控制系統,其中,所述預設時 長由用戶根據網絡狀態進行配置。
【文檔編號】H04L12/46GK104104573SQ201410382421
【公開日】2014年10月15日 申請日期:2014年8月6日 優先權日:2014年8月6日
【發明者】陳海濱, 于立洋, 章敏, 王禹, 王智民 申請人:漢柏科技有限公司