一種數據包的轉發方法和裝置的製作方法
2023-05-14 05:07:46 1
專利名稱:一種數據包的轉發方法和裝置的製作方法
技術領域:
本發明涉及防火牆技術領域,特別是涉及一種數據包的轉發方法和裝置。
背景技術:
目前的防火牆系統都是基於狀態檢測技術的。防火牆在收到包之後匹配訪問策 略,如果策略允許通過,就建立session (連接)轉發出去,並把當前的policy—age (策略 年齡)記錄到這個session中,其中session由源地址、源埠 、目的地址、目的埠 、協議 號確定,policy—age是用來記錄訪問策略修改次數的全局變量。防火牆在收到後續的屬於 這個session的包後,比較一下session中記錄的策略年齡和policy_age,如果相等就直 接轉發出去,不需要再匹配訪問策略等工作;如果不相等就重新匹配訪問策略、查找路由和 ARP(AddressResolve Protocol,地址解析協議)轉發出去。目前的技術都是針對訪問策略、 路由和ARP的修改來增加policy—age,這樣當訪問策略、路由和ARP有任一修改後,都需要 把所有的session重新走一遍匹配訪問策略、查找路由和ARP等工作。這在一般穩定的網 絡環境中是不會有問題的,因為用戶不會經常修改訪問策略和路由,即使是在有動態路由 協議的網絡環境中,路由協商好後路由也不會再變化。而且當訪問策略和路由發生變化時, 所有的session的確需要重新匹配訪問策略和查找路由。但是當ARP變化後,只有和這個 ARP相關的session才需要重新查找ARP ;其他session的ARP沒有變化,不需要重新匹配 訪問策略和查找路由。 但是,當訪問策略、路由和ARP變化時,轉發系統會把session中記錄的策略年齡 和全局的policy—age來比較,如果不相等,就重新匹配訪問策略、查找路由和ARP。這樣在 ARP變化頻繁的網絡環境中,防火牆轉發系統就會頻繁震蕩,造成系統的整體性能下降。
發明內容
本發明要解決的問題是提供一種數據包的轉發方法和裝置,以克服現有技術中在 ARP變化頻繁的網絡環境中,防火牆轉發系統會頻繁震蕩的缺陷。 為達到上述目的,本發明的技術方案提供一種數據包的轉發方法,所述方法包括 以下步驟A、接收數據包;B、當與所述數據包對應的連接中記錄的策略年齡等於全局的策 略年齡,且所述連接中記錄的鄰居年齡不等於全局的鄰居年齡時,判斷所述連接中記錄的 鄰居信息是否修改過,如果是,則轉步驟C,否則轉步驟D ;C、匹配所述數據包的訪問策略、 建立連接、查找路由和地址解析協議並記錄到所述連接中,將全局策略年齡和鄰居年齡的 值記錄到所述連接中;D、轉發所述數據包。 進一步,在所述步驟B中,具體包括B1、判斷所述連接中記錄的策略年齡是否等 於全局的策略年齡,如果是,則轉步驟B2,否則轉步驟C ;B2、判斷所述連接中記錄的鄰居年 齡是否等於全局的鄰居年齡,如果是,則轉步驟D,否則轉步驟B3 ;B3、判斷所述連接中記錄 的鄰居信息是否修改過,如果是,則轉步驟C,否則轉步驟D。 進一步,在步驟A與步驟B之間,還包括E、查找是否存在與所述數據包對應的連接,如果是,則轉步驟B,否則轉步驟C。
本發明的技術方案還提供一種數據包的轉發裝置,所述裝置包括數據包接收單
元,用於接收數據包;連接檢測單元,用於當與所述數據包對應的連接中記錄的策略年齡等
於全局的策略年齡,且所述連接中記錄的鄰居年齡不等於全局的鄰居年齡時,判斷所述連
接中記錄的鄰居信息是否修改過;連接建立單元,用於根據連接檢測單元的檢測結果,匹配
所述數據包的訪問策略、建立連接、查找路由和地址解析協議並記錄到所述連接中,將全局
策略年齡和鄰居年齡的值記錄到所述連接中;數據包轉發單元,用於轉發所述數據包。 進一步,所述連接檢測單元包括策略年齡檢測子單元,用於判斷所述連接中記錄
的策略年齡是否等於全局的策略年齡;鄰居年齡檢測子單元,用於判斷所述連接中記錄的
鄰居年齡是否等於全局的鄰居年齡;鄰居信息修改檢測子單元,用於判斷所述連接中記錄
的鄰居信息是否修改過。 進一步,所述裝置還包括連接查找單元,用於根據所述數據包接收單元接收到的
數據包,查找與所述數據包對應的連接。 與現有技術相比,本發明有益效果如下 當與接收到的數據包對應的連接中記錄的策略年齡等於全局的策略年齡,且所述 連接中記錄的鄰居年齡不等於全局的鄰居年齡時,本發明判斷所述連接中記錄的鄰居信息 是否修改過,如果沒有被修改過,就直接轉發出去,不用重新匹配訪問策略、查找路由/ARP 等工作,從而消除因為網絡環境中的ARP變化引起的防火牆轉發系統震蕩,使得防火牆轉 發系統性能更加穩定、可靠。
圖1是本發明實施例的一種數據包的轉發方法的流程圖;
圖2是本發明實施例的一種數據包的轉發裝置的結構示意圖。
具體實施例方式
下面結合附圖和實施例,對本發明的具體實施方式
作進一步詳細描述。以下實施 例用於說明本發明,但不用來限制本發明的範圍。 本發明實施例的一種數據包的轉發方法如圖l所示,防火牆轉發系統收到數據 包,如果查找到session就比較session中記錄的ts_policy_age/ts_neigh_age禾口全局的 policy—age/neigh—age,如果二者都不相等,就判斷session中記錄的ts_neigh信息是否
被修改過,如果沒有被修改過,就直接轉發出去。參照圖l,本實施例包括以下步驟
步驟sl01,接收數據包。 步驟S102,查找是否存在與數據包對應的session,如果是,則轉步驟s103,否則 轉步驟sl06。 步驟sl03,判斷所述session中記錄的策略年齡ts_p0liCy_age是否等於全局的 策略年齡policy—age,如果是,則轉步驟s104,否則轉步驟sl06。 步驟sl04,判斷所述session中記錄的鄰居年齡tsneigh—age是否等於全局的鄰 居年齡neigh_age,如果是,則轉步驟s107,否則轉步驟sl05。 步驟s105,判斷所述session中記錄的鄰居信息tS_neigh是否修改過,如果是,則轉步驟sl06,否則轉步驟s107。 步驟S106,匹配所述數據包的訪問策略、建立session、查找路由和ARP並記錄 到所述session中,將全局策略年齡policy—age和鄰居年齡neigh—age的值記錄到所述 session中; 步驟sl07,轉發所述數據包。 本發明實施例的一種數據包的轉發裝置如圖2所示,包括數據包接收單元、連接 查找單元、連接檢測單元、連接建立單元和數據包轉發單元。其中連接查找單元分別與數據 包接收單元、連接檢測單元和連接建立單元連接,連接檢測單元分別與連接建立單元和數 據包轉發單元連接,連接建立單元和數據包轉發單元連接。 數據包接收單元用於接收數據包;連接查找單元用於根據所述數據包接收單元接 收到的數據包,查找與所述數據包對應的連接;連接檢測單元用於當與所述數據包對應的 連接中記錄的策略年齡等於全局的策略年齡,且所述連接中記錄的鄰居年齡不等於全局的 鄰居年齡時,判斷所述連接中記錄的鄰居信息是否修改過;連接建立單元用於根據連接檢 測單元的檢測結果,匹配所述數據包的訪問策略、建立連接、查找路由和地址解析協議並記 錄到所述連接中,將全局策略年齡和鄰居年齡的值記錄到所述連接中;數據包轉發單元用 於轉發所述數據包。 連接檢測單元包括策略年齡檢測子單元、鄰居年齡檢測子單元和鄰居信息修改檢
測子單元。策略年齡檢測子單元用於判斷所述連接中記錄的策略年齡是否等於全局的策
略年齡;鄰居年齡檢測子單元用於判斷所述連接中記錄的鄰居年齡是否等於全局的鄰居年
齡;鄰居信息修改檢測子單元用於判斷所述連接中記錄的鄰居信息是否修改過。 在本發明實施例中,當與接收到的數據包對應的連接中記錄的策略年齡等於全局
的策略年齡,且所述連接中記錄的鄰居年齡不等於全局的鄰居年齡時,本發明判斷所述連
接中記錄的鄰居信息是否修改過,如果沒有被修改過,就直接轉發出去,不用重新匹配訪問
策略、查找路由/ARP等工作,從而消除因為網絡環境中的ARP變化引起的防火牆轉發系統
震蕩,使得防火牆轉發系統性能更加穩定、可靠。尤其在快速轉發和匹配訪問策略、查找路
由和ARP的處理過程有很大性能差異時,效果更好。 以上所述僅是本發明的優選實施方式,應當指出,對於本技術領域的普通技術人 員來說,在不脫離本發明技術原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾 也應視為本發明的保護範圍。
權利要求
一種數據包的轉發方法,其特徵在於,所述方法包括以下步驟A、接收數據包;B、當與所述數據包對應的連接中記錄的策略年齡等於全局的策略年齡,且所述連接中記錄的鄰居年齡不等於全局的鄰居年齡時,判斷所述連接中記錄的鄰居信息是否修改過,如果是,則轉步驟C,否則轉步驟D;C、匹配所述數據包的訪問策略、建立連接、查找路由和地址解析協議並記錄到所述連接中,將全局策略年齡和鄰居年齡的值記錄到所述連接中;D、轉發所述數據包。
2. 如權利要求1所述的數據包的轉發方法,其特徵在於,在所述步驟B中,具體包括 B1、判斷所述連接中記錄的策略年齡是否等於全局的策略年齡,如果是,則轉步驟B2,否則轉步驟C ;B2、判斷所述連接中記錄的鄰居年齡是否等於全局的鄰居年齡,如果是,則轉步驟D,否 則轉步驟B3 ;B3、判斷所述連接中記錄的鄰居信息是否修改過,如果是,則轉步驟C,否則轉步驟D。
3. 如權利要求1或2所述的數據包的轉發方法,其特徵在於,在步驟A與步驟B之間, 還包括E、 查找是否存在與所述數據包對應的連接,如果是,則轉步驟B,否則轉步驟C。
4. 一種數據包的轉發裝置,其特徵在於,所述裝置包括 數據包接收單元,用於接收數據包;連接檢測單元,用於當與所述數據包對應的連接中記錄的策略年齡等於全局的策略年 齡,且所述連接中記錄的鄰居年齡不等於全局的鄰居年齡時,判斷所述連接中記錄的鄰居 信息是否修改過;連接建立單元,用於根據連接檢測單元的檢測結果,匹配所述數據包的訪問策略、建立 連接、查找路由和地址解析協議並記錄到所述連接中,將全局策略年齡和鄰居年齡的值記 錄到所述連接中;數據包轉發單元,用於轉發所述數據包。
5. 如權利要求4所述的數據包的轉發裝置,其特徵在於,所述連接檢測單元包括 策略年齡檢測子單元,用於判斷所述連接中記錄的策略年齡是否等於全局的策略年齡;鄰居年齡檢測子單元,用於判斷所述連接中記錄的鄰居年齡是否等於全局的鄰居年齡;鄰居信息修改檢測子單元,用於判斷所述連接中記錄的鄰居信息是否修改過。
6. 如權利要求4或5所述的數據包的轉發裝置,其特徵在於,所述裝置還包括連接查找 單元,用於根據所述數據包接收單元接收到的數據包,查找與所述數據包對應的連接。
全文摘要
本發明公開了一種數據包的轉發方法,包括A、接收數據包;B、當與所述數據包對應的連接中記錄的策略年齡等於全局的策略年齡,且所述連接中記錄的鄰居年齡不等於全局的鄰居年齡時,判斷所述連接中記錄的鄰居信息是否修改過,如果是,則轉步驟C,否則轉步驟D;C、匹配所述數據包的訪問策略、建立連接、查找路由和地址解析協議並記錄到所述連接中,將全局策略年齡和鄰居年齡的值記錄到所述連接中;D、轉發所述數據包。本發明還公開了一種數據包的轉發裝置。本發明消除了因為網絡環境中的ARP變化引起的防火牆轉發系統震蕩,使得防火牆轉發系統性能更加穩定、可靠。
文檔編號H04L29/06GK101771685SQ20091021755
公開日2010年7月7日 申請日期2009年12月31日 優先權日2009年12月31日
發明者王震 申請人:北京天融信科技有限公司