專利名稱:基于安全業(yè)務的包轉發(fā)方法及系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及安全業(yè)務技術領域,具體涉及基于安全業(yè)務的包轉發(fā)方法及 系統(tǒng)。
背景技術:
隨著網絡的普及與發(fā)展,對網絡設備的要求已經不僅僅是單純的快速轉 發(fā),還需要網絡設備提供安全業(yè)務。市場的這一需求促進了安全設備的發(fā)展,
并對安全設備提出以下要求在對網絡數據實施安全業(yè)務如安全檢查過濾 等的情況下仍然提供比較好的轉發(fā)性能。
安全設備要達到以上要求,依賴于硬件性能的提升,同時也依賴軟件相 關表項的組織以及相關的業(yè)務流程優(yōu)化。如何組織相關的主要表項并依賴其 提升處理性能,成為安全產品面臨的一個命題。
圖1為現有的基于安全業(yè)務的包轉發(fā)流程圖,如圖1所示,其具體步驟 如下:
步驟101:在安全設備上配置安全業(yè)務表項。
每個安全業(yè)務表項包括五元組信息中的一個或任意組合與安全業(yè)務信 息的對應關系,或者包括轉發(fā)信息與安全業(yè)務信息的對應關系,或者包括 五元組信息中的一個或任意組合、轉發(fā)信息與安全業(yè)務信息的對應關系。
五元組信息即源IP地址信息、源端口信息、協議號碼、目的IP地址 信息、目的出端口4言息。
轉發(fā)信息即轉發(fā)信息庫(FIB)表項中的三層出接口信息等,地址解 析協議(ARP )表項中的出端口信息等。
安全業(yè)務信息指示具體應執(zhí)行何種安全業(yè)務處理,如過濾處理等。
步驟102:安全設備接收到包,查找與該包的五元組對應的安全業(yè)務表項。
步驟103:安全設備根據查找到的安全業(yè)務表項中的安全業(yè)務信息,執(zhí)
行相應的安全業(yè)務處理,執(zhí)行完畢,轉至步驟104。
本步驟中的安全業(yè)務處理針對的是入口處的安全業(yè)務處理。
步驟104:安全i殳備查找與該包的目的IP地址對應的FIB表項。
步驟105:安全設備查找與FIB表項最匹配的ARP表項。
步驟106:安全設備查找與FIB表項中的三層出接口信息對應的安全業(yè)
務表項。
步驟107:安全設備根據查找到的安全業(yè)務表項中的安全業(yè)務信息,執(zhí) 行相應的安全業(yè)務處理,執(zhí)行完畢,轉至步驟108。
本步驟中的安全業(yè)務處理針對的是出口處的安全業(yè)務處理。
步驟108:安全設備將查找到的ARP表項中的二層鏈路層頭封裝到包 的二層頭上,將該包轉發(fā)出去。
從以上過程可以看出安全設備接收到包后,首先根據包的五元組信息 查找安全業(yè)務表項,并進行相應的安全業(yè)務處理,然后查找FIB表項和ARP 表項,再根據查找到的FIB表項和ARP表項查找安全業(yè)務表項,并進行相 應的安全業(yè)務處理,處理完畢,根據ARP表項轉發(fā)包。很顯然,處理流程 較長,大大降低了包的轉發(fā)效率。
發(fā)明內容
本發(fā)明提供基于安全業(yè)務的包轉發(fā)方法及系統(tǒng),以提高基于安全業(yè)務的包 的轉發(fā)效率。
本發(fā)明的技術方案是這樣實現的
一種基于安全業(yè)務的包轉發(fā)方法,其特征在于,包括
接收業(yè)務流的首包,獲取與該首包對應的安全業(yè)務信息和ARP表項,建立 首包攜帶的業(yè)務流包的屬性信息與安全業(yè)務信息、ARP表項信息的關聯關系;
接收業(yè)務流的后續(xù)包,根據后續(xù)包攜帶的業(yè)務流包屬性信息及所述關聯關
系,查找到安全業(yè)務信息和ARP表項信息,根據安全業(yè)務信息對后續(xù)包執(zhí)行安 全業(yè)務處理,根據ARP表項信息將后續(xù)包轉發(fā)出去。 所述關聯關系保存在軟件單元中。
所述建立關聯關系包括建立業(yè)務流包的屬性信息、安全業(yè)務信息及ARP 表項的索引之間的關聯關系。
當接收到后續(xù)包時,所述查找包括在所有關聯關系中,查找與后續(xù)包攜 帶的業(yè)務流包的屬性信息對應的關聯關系,該關聯關系中的安全業(yè)務信息即為 查找到的安全業(yè)務信息,根據該關聯關系中的ARP表項索引查找到ARP表項。
所述接收業(yè)務流的首包之前進一步包括在軟件單元中學習FIB表項;
當接收到業(yè)務流的首包時,所述獲取ARP表項包括查找與該首包對應的 FIB表項,再查找與該FIB表項最匹配的ARP表項,
且,所述建立關聯關系進一步包括為該關聯關系設置指示有效的有效標 志位,并建立FIB表項的索引與該關聯關系的索引的對應關系,
且,當更新FIB表項時,根據該FIB表項索引在所述對應關系中查找到關 聯關系索引,將該關聯關系索引指向的關聯關系中的有效標志位設置為無效。
當接收到后續(xù)包時,所述查找到關聯關系進一步包括判斷該關聯關系中 的有效標志位是否指示有效,若是,根據該關聯關系中的安全業(yè)務信息進行安 全處理;否則,在軟件單元中重新查找與該后續(xù)包對應的安全業(yè)務信息和ARP 表項,以查找到的安全業(yè)務信息替換該關聯關系中的安全業(yè)務信息,以查找到 的ARP表項的索引替換該關聯關系中的ARP表項索引。
所述關聯關系保存在硬件單元中。
所述接收業(yè)務流的首包之前進一步包括在軟件單元中學習ARP表項,在 硬件單元中保存內容與該ARP表項相同的ARP感知表項,
所述建立關聯關系為建立業(yè)務流包的屬性信息、安全業(yè)務信息及所述獲 取到的ARP表項中的ARP感知表項的索引之間的關聯關系,將該關聯關系保 存到硬件單元中。
當接收到后續(xù)包時,所述查找包括在硬件單元中的所有關聯關系中,查 找與該后續(xù)包攜帶的業(yè)務流包的屬性信息對應的關聯關系,該關聯關系中的安 全業(yè)務信息即為查找到的安全業(yè)務信息,根據該關聯關系中的ARP感知表項索 虧1在硬件單元中查找到ARP感知表項,該ARP感知表項即為查找到的ARP表 項信息。
所述建立ARP感知表項之后進一步包括在ARP表項中記錄該ARP感知 表項的索引,
所述接收業(yè)務流的首包之前進一步包括在軟件單元中學習FIB表項;
當接收到業(yè)務流的首包時,所述查找ARP表項包括查找與該首包對應的 FIB表項,再查找與該FIB表項最匹配的ARP表項,
且,所述建立關聯關系進一步包括為該關聯關系設置指示有效的有效標 志位,并建立FIB表項的索引與該關聯關系的索引的對應關系,
且,當更新FIB表項時,根據該FIB表項索引在所述對應關系中查找到關 聯關系索引,將該關聯關系索引指向的關聯關系中的有效標志位設置為無效。
當接收到后續(xù)包時,所述查找到關聯關系進一步包括判斷該關聯關系中 的有效標志位是否指示有效,若是,根據該關聯關系中的安全業(yè)務信息進行安 全處理;否則,在軟件單元中重新查找與該后續(xù)包對應的安全業(yè)務信息和ARP 表項,以查找到的安全業(yè)務信息替換該關聯關系中的安全業(yè)務信息,以查找到 的ARP表項中的ARP感知表項索引替換該關聯關系中的ARP感知表項索引。
所述業(yè)務流包的屬性信息為五元組信息。
一種基于安全業(yè)務的包轉發(fā)系統(tǒng),包括
業(yè)務轉發(fā)關聯4莫塊,接收業(yè)務流的首包,建立首包攜帶的業(yè)務流包的屬性
信息與首包對應的安全業(yè)務信息、首包對應的ARP表項信息之間的關聯關系;
接收業(yè)務流的后續(xù)包,根據該后續(xù)包攜帶的業(yè)務流包的屬性信息以及所述關聯
關系,查找到安全業(yè)務信息和ARP表項信息;將查找到的安全業(yè)務信息發(fā)送給
安全業(yè)務處理模塊,將查找到的ARP表項信息發(fā)送給轉發(fā)模塊;
安全業(yè)務處理模塊,根據接收到的安全業(yè)務信息對接收到的業(yè)務流包執(zhí)行
安全業(yè)務處理,執(zhí)行完畢,將業(yè)務流包發(fā)送給轉發(fā)模塊;
轉發(fā)模塊,根據接收到的ARP表項信息將接收到的業(yè)務流包轉發(fā)出去。 所述業(yè)務轉發(fā)關聯才莫塊包括
Session表項存儲模塊,保存由業(yè)務流包的屬性信息、安全業(yè)務信息、 ARP表項索引組成的各Session表項;
Session表項查找模塊,接收業(yè)務流包,在Session表項存儲模塊中查找 與業(yè)務流包的屬性信息對應的Session表項,若查找到,將Session表項中的 安全業(yè)務信息發(fā)送給安全業(yè)務處理模塊,將Session表項中的ARP表項索引 發(fā)送給轉發(fā)模塊;否則,將業(yè)務流包發(fā)送給Session表項建立更新模塊;
Session表項建立更新模塊,接收業(yè)務流包,將業(yè)務流包對應的安全業(yè)務 信息發(fā)送給安全業(yè)務處理模塊,建立包括業(yè)務流包的屬性信息和所述安全業(yè) 務信息的Session表項,查找與業(yè)務流包對應的ARP表項,將該ARP表項 發(fā)送給轉發(fā)模塊,并將查找到的ARP表項的索引添加到建立的Session表項 中,將Session表項保存到Session表項存儲模塊。
該系統(tǒng)進一步包括FIB和Session表項關聯模塊、FIB表項更新模塊, 其中-.
FIB和Session表項關聯模塊,保存FIB表項索引和Session表項索引的 對應關系;
且,所述Session表項建立更新模塊進一步,為建立的Session表項設 置指示有效的有效標志位,并將業(yè)務流包對應的FIB表項的索引和所建立的 Session表項的索引的對應關系保存在FIB和Session表項關聯模塊中,
FIB表項更新模塊,當更新FIB表項時,在FIB和Session表項關聯模 塊中查找到與該FIB表項索引對應的Session表項索引,根據該Session表 項索引在Session表項存儲模塊中查找到Session表項,將Session表項中的 有效標志位i殳置為無效。
所述Session表項查找模塊在Session表項存儲模塊中查找到Session表 項后,判斷該Session表項中的有效標志位是否指示有效,若指示無效,則
將業(yè)務流包和該Session表項的索引發(fā)送給Session表項建立更新模塊,
所述Session表項建立更新模塊接收到業(yè)務流包和Session表項索引后, 將與該業(yè)務流包對應的安全業(yè)務信息發(fā)送給安全業(yè)務處理模塊,根據該 Session表項索引在Session表項存儲模塊中查找到Session表項,以查找到 的安全業(yè)務信息替換該Session表項中的安全業(yè)務信息;查找與業(yè)務流包對 應的ARP表項,將該ARP表項發(fā)送給轉發(fā)模塊,以該ARP表項的索引替 換該Session表項中的ARP表項索引。
所述Session表項存儲模塊位于軟件單元中。 所述業(yè)務轉發(fā)關聯模塊包括
ARP表項學習存儲模塊,學習ARP表項,將ARP感知表項存儲模塊中 與ARP表項內容相同的ARP感知表項的索引添加到ARP表項中;
ARP感知表項存儲模塊,保存與軟件單元中的ARP表項內容相同的 ARP感知表項;
Session表項存儲模塊,保存由業(yè)務流包的屬性信息、安全業(yè)務信息、 ARP感知表項索引組成的各Session表項;
Session表項查找模塊,接收業(yè)務流包,在Session表項存儲模塊中查找 與業(yè)務流包的屬性信息對應的Session表項,若查找到,將Session表項中的 安全業(yè)務信息發(fā)送給安全業(yè)務處理模塊,將Session表項中的ARP感知表項 索引發(fā)送給轉發(fā)模塊;否則,將業(yè)務流包發(fā)送給Session表項建立更新模塊;
Session表項建立更新模塊,接收業(yè)務流包,將與業(yè)務流包對應的安全 業(yè)務信息發(fā)送給安全業(yè)務處理模塊,建立包括業(yè)務流包的屬性信息和所述安 全業(yè)務信息的Session表項;查找與業(yè)務流包對應的ARP表項,將該ARP 表項發(fā)送給轉發(fā)模塊,并將ARP表項中的ARP感知表項索引添加到建立的 Session表項中,將Session表項保存到Session表項存儲模塊。
該系統(tǒng)進一步包括FIB和Session表項關聯模塊、FIB表項更新模塊, 其中
FIB和Session表項關聯模塊,保存FIB表項索引和Session表項索引的
對應關系;
且,所述Session表項建立更新模塊進一步,為建立的Session表項設 置指示有效的有效標志位,將業(yè)務流包對應的FIB表項的索引和建立的 Session表項的索引的對應關系保存在FIB和Session表項關聯模塊中,
FIB表項更新模塊,當更新FIB表項時,在FIB和Session表項關聯模 塊中查找到與該FIB表項索引對應的Session表項索引,根據該Session表 項索引在Session表項存儲模塊中查找到Session表項,將Session表項中的 有效標志位設置為無效。
所述Session表項查找才莫塊在Session表項存儲j莫塊中查找到Session表 項后,判斷該Session表項中的有效標志位是否指示有效,若指示無效,將 業(yè)務流包和Session表項索引發(fā)送給Session表項建立更新模塊,
所述Session表項建立更新模塊接收到業(yè)務流包和Session表項索引后, 將與業(yè)務流包對應的安全業(yè)務信息發(fā)送給安全業(yè)務處理模塊,根據該 Session表項索引在Session表項存儲模塊中查找到Session表項,以所述安 全業(yè)務信息替換該Session表項中的安全業(yè)務信息;查找與業(yè)務流包對應的 ARP表項,將該ARP表項發(fā)送給轉發(fā)模塊,并以該ARP表項中的ARP感 知表項索引替換所查找到的Session表項中的ARP感知表項索引。
所述ARP感知表項存儲模塊、Session表項存儲模塊位于硬件單元中。
與現有技術相比,本發(fā)明通過對業(yè)務流的首包采用現有技術進行安全業(yè) 務表項、FIB表項、ARP表項的查找,并以該首包的屬性信息為業(yè)務流各包 的屬性信息,根據查找結果建立該業(yè)務流包的屬性信息與安全業(yè)務信息、 ARP表項的關聯關系,使得業(yè)務流的后續(xù)包可直接根據所述關聯關系進行安 全業(yè)務處理和轉發(fā)處理,無需每個包都進行安全業(yè)務表項、FIB表項、ARP 表項的查找,大大提高了基于安全業(yè)務的包轉發(fā)效率。
圖1為現有的基于安全業(yè)務的包轉發(fā)流程圖2為本發(fā)明實施例一提供的基于安全業(yè)務的包轉發(fā)流程圖; 圖3為本發(fā)明實施例二提供的基于安全業(yè)務的包轉發(fā)流程圖; 圖4為本發(fā)明實施例 一 提供的基于安全業(yè)務的包轉發(fā)系統(tǒng)組成圖; 圖5為本發(fā)明實施例二提供的基于安全業(yè)務的包轉發(fā)系統(tǒng)組成圖。
具體實施例方式
由于同一業(yè)務流中的各個包的五元組是相同的,且安全業(yè)務表項通常都 以包的五元組為依據建立,而轉發(fā)表項FIB表項和ARP表項也是以包的 五元組為依據建立的,從而可以得知對同一業(yè)務流的各個包所進行的安全 業(yè)務處理和轉發(fā)處理是相同的。因此,本發(fā)明的核心思想是對業(yè)務流的首 包按照現有技術進行安全業(yè)務表項查找和FIB表項、ARP表項查找,并根 據查找結果建立該首包的五元組信息與需對該包執(zhí)行的所有安全業(yè)務的信 息以及該包對應的ARP表項的關if關關系。這樣,該業(yè)務流的后續(xù)包就可才艮 據該關聯關系直接查找到安全業(yè)務信息和ARP表項信息,從而直接對該后 續(xù)包進行安全業(yè)務處理和轉發(fā)處理,而無需再進行安全業(yè)務表項和FIB表 項、ARP表項的查找過程。
下面結合附圖及具體實施例對本發(fā)明再作進一步詳細的說明。
圖2為本發(fā)明實施例一提供的基于安全業(yè)務的包轉發(fā)流程圖,如圖2所 示,其具體步驟如下
步驟201:安全設備接收到包,在軟件中查找與該包的五元組信息對應 的Session表項。
步驟202:安全設備判斷是否查找到Session表項,若是,執(zhí)行步驟213; 否則,執(zhí)行步驟203。
步驟203:安全設備確定該包為業(yè)務流的首包,查找與該首包攜帶的信 息如五元組信息對應的安全業(yè)務表項。
步驟204:安全設備根據查找到的安全業(yè)務表項中的安全業(yè)務信息,執(zhí) 行相應的安全業(yè)務處理,并在軟件中建立Session表項,該Session表項包括 該首包的五元組信息和所述安全業(yè)務信息。
本步驟中的安全業(yè)務處理針對的是入口處的安全業(yè)務處理。
步驟205:安全設備在軟件中查找與該首包的目的IP地址對應的FIB 表項。
步驟206:安全設備查找到FIB表項,在軟件中查找與該FIB表項最匹 配的ARP表項。
在本步驟中,當安全設備查找到FIB表項時,進一步保存該FIB表項的 索引與所建立的Session表項索引的對應關系,并且,當修改或刪除FIB表 項時,通過所述對應關系,查找到與該FIB表項對應的所有Session表項, 將所有Session表項中的有效標志位設置為指示無效。這樣,當收到業(yè)務流 的后續(xù)包時,就可根據Session表項中的有效標志位確定FIB表項是否被修 改或刪除過,若是,就觸發(fā)Session表項的更新。
步驟207:安全設備將查找到的ARP表項的索引添加到步驟204建立 的Session表項中。
可以看出,執(zhí)行完本步驟后,安全設備建立的Session表項包括五元 組信息、安全業(yè)務信息、ARP表項索引。
步驟208:安全設備查找與所述FIB表項中的三層出接口信息對應的安 全業(yè)務表項。
FIB表項包括目的IP地址、目的掩碼、三層出接口、下一跳等信息。 步驟209:安全設備判斷是否查找到安全業(yè)務表項,若是,執(zhí)行步驟210;
否則,執(zhí)行步驟211。
步驟210:安全設備根據查找到的安全業(yè)務表項中的安全業(yè)務信息,對
該首包執(zhí)行相應的安全業(yè)務處理,同時將該安全業(yè)務信息添加到步驟204建
立的Session表項中,安全業(yè)務處理完畢,轉至步驟211。
本步驟中的安全業(yè)務處理針對的是出口處的安全業(yè)務處理。
步驟211:安全設備將指示有效的有效標志位添加到步驟204建立的
Session表項中。
若在步驟209中未查找到安全業(yè)務表項,則可確定該首包在出口處無需 作安全業(yè)務處理。
步驟212:安全設備將查找到的ARP表項中的二層鏈路層頭封裝到該 首包的二層頭上,將該包轉發(fā)出去,返回步驟201。
步驟213:安全設備確定該包為業(yè)務流的后續(xù)包,判斷Session表項中 的有效標志位是否指示有效,若是,執(zhí)行步驟214;否則,執(zhí)行步驟216。
步驟214:安全設備確定FIB表項未被修改或刪除過,從而確定Session 表項中的ARP表項索引正確,根據Session表項中的安全業(yè)務信息,對該后 續(xù)包執(zhí)行相應的安全業(yè)務處理,執(zhí)行完畢,轉至步驟215。
步驟215:安全設備根據Session表項中的ARP表項索引查找到ARP 表項,將查找到的ARP表項中的二層鏈路層頭封裝到該后續(xù)包的二層頭上, 將該包轉發(fā)出去,返回步驟201。
步驟216:安全設備確定FIB表項被修改或刪除過,將該后續(xù)包當作首 包處理,在軟件中查找與該后續(xù)包的五元組信息對應的安全業(yè)務表項。
步驟217:安全設備根據查找到的安全業(yè)務表項中的安全業(yè)務信息,對 該后續(xù)包執(zhí)行相應的安全業(yè)務處理,并以該安全業(yè)務信息替換查找到的 Session表項中的安全業(yè)務信息。
步驟218:安全設備在軟件中查找與該后續(xù)包的目的IP地址對應的FIB 表項。
步驟219:安全設備查找到FIB表項,在軟件中查找與該FIB表項最匹 配的ARP表項。
步驟220:安全設備以查找到的ARP表項的索引替換查找到的Session 表項中的ARP表項索引。
步驟221:安全設備查找與所述FIB表項中的三層出接口信息對應的安 全業(yè)務表項。
步驟222:安全設備判斷是否查找到安全業(yè)務表項,若是,執(zhí)行步驟223; 否則,執(zhí)行步驟224。
步驟223:安全設備根據查找到的安全業(yè)務表項中的安全業(yè)務信息,對 該后續(xù)包執(zhí)行相應的安全業(yè)務處理,同時將該安全業(yè)務信息添加到查找到的 Session表項中,并將查找到的Session表項中的有效標志位設置為指示有效, 安全業(yè)務處理完畢,轉至步驟224。
步驟224:安全設備將查找到的ARP表項中的二層鏈路層頭封裝到該 后續(xù)包的二層頭上,將該包轉發(fā)出去,返回步驟201。
從圖2所示流程可以看出當對業(yè)務流的首包進行了軟件中的安全業(yè)務 表項、FIB表項和ARP表項查找后,根據查找結果在軟件中所建立的Session 表項的結構如下
Session表項五元組信息、安全業(yè)務信息、ARP表項索引、有效標志位。
這樣,當收到該業(yè)務流的后續(xù)包后,就可根據該后續(xù)包的五元組信息在 軟件中查找到上述Session表項,然后根據該Session表項中的安全業(yè)務信息 執(zhí)行相應的安全業(yè)務處理,根據該Session表項中的ARP表項索引查找到軟 件中的ARP表項,從而將該后續(xù)包轉發(fā)出去??梢钥闯?,所有的安全業(yè)務 信息都集中存儲在Session表項中,提高了安全業(yè)務處理效率;且,在查找 ARP表項時,也無需再根據五元組信息進行FIB表項的查找、也無需進行 ARP表項與FIB表項的匹配操作,而可以根據Session表項中的ARP表項 索引直接查找到ARP表項,進一步提高了轉發(fā)效率。
圖2所示實施例中,對業(yè)務流的后續(xù)包的安全業(yè)務處理和轉發(fā)處理都是 在軟件中進行的,以下給出在硬件中對業(yè)務流的后續(xù)包進行安全業(yè)務處理和 轉發(fā)處理的實施例。
圖3為本發(fā)明實施例二提供的基于安全業(yè)務的包轉發(fā)流程圖,如圖3所 示,其具體步驟如下
步驟301:安全設備通過軟件學習到ARP表項,在硬件中建立ARP感
知表項,該ARP感知表項中包含的內容與所學習到的ARP表項的內容相同,
并將ARP感知表項的索引添加到所學習到的ARP表項中。
當通過軟件更新ARP表項時,根據該ARP表項中的ARP感知表項索 引查找到硬件中的ARP感知表項,從而同步更新該ARP感知表項。
步驟302:安全設備接收到包,在硬件中查找與該包的五元組信息對應 的Session表項。
步驟303:安全設備判斷是否查找到Session表項,若是,執(zhí)行步驟314; 否則,執(zhí)行步驟304。
步驟304:安全設備確定該包為業(yè)務流的首包,在軟件中查找與該首包 攜帶的信息如五元組信息對應的安全業(yè)務表項。
步驟305:安全設備根據查找到的安全業(yè)務表項中的安全業(yè)務信息,對 該首包執(zhí)行相應的安全業(yè)務處理,并在軟件中建立Session表項,該Session 表項包括該首包的五元組信息和所述安全業(yè)務信息。
步驟306:安全設備在軟件中查找與該首包的目的IP地址對應的FIB 表項。
步驟307:安全設備查找到FIB表項,在軟件中查找與該FIB表項最匹 配的ARP表項。
在本步驟中,當安全設備查找到FIB表項時,進一步保存該FIB表項的 索引與所建立的Session表項索引的對應關系,并且,當修改或刪除FIB表 項時,通過所述對應關系,查找到與該FIB表項對應的所有Session表項, 將所有Session表項中的有效標志位設置為指示無效。這樣,當收到業(yè)務流 的后續(xù)包時,就可根據Session表項中的有效標志位確定FIB表項是否被修 改或刪除過,若是,就觸發(fā)Session表項的更新。
步驟308:安全設備將查找到的ARP表項中的ARP感知表項索引添加 到步驟305中建立的Session表項中。
可以看出,執(zhí)行完本步驟后,安全設備建立的Session表項包括五元 組信息、安全業(yè)務信息、ARP感知表項索引。
步驟309:安全設備在軟件中查找與所述FIB表項中的三層出接口信息 對應的安全業(yè)務表項。
步驟310:安全設備判斷是否查找到安全業(yè)務表項,若是,執(zhí)行步驟311; 否則,執(zhí)行步驟312。
步驟311:安全設備根據查找到的安全業(yè)務表項中的安全業(yè)務信息,對 該首包執(zhí)行相應的安全業(yè)務處理,同時將該安全業(yè)務信息添加到步驟305建 立的Session表項中,安全業(yè)務處理完畢,轉至步驟312。
步驟312:安全設備將指示有效的有效標志位添加到步驟305建立的 Session表項中,然后將該Session表項保存到硬件中。
步驟313:安全設備將查找到的ARP表項中的二層鏈路層頭封裝到該 首包的二層頭上,將該包轉發(fā)出去,返回步驟302。
步驟314:安全設備確定該包為業(yè)務流的后續(xù)包,判斷Session表項中 的有效標志位是否指示有效,若是,執(zhí)行步驟315;否則,執(zhí)行步驟317。
步驟315:安全設備確定FIB表項未被修改或刪除過,從而確定Session 表項中的ARP感知表項索引正確,根據Session表項中的安全業(yè)務信息,對 該后續(xù)包執(zhí)行相應的安全業(yè)務處理,執(zhí)行完畢,轉至步驟316。
步驟316:安全設備根據Session表項中的ARP感知表項索引查找到 ARP感知表項,將查找到的ARP感知表項中的二層鏈路層頭封裝到該后續(xù) 包的二層頭上,將該包轉發(fā)出去,返回步驟302。
步驟317:安全設備確定FIB表項被修改或刪除過,將該后續(xù)包當作首 包處理,在軟件中查找與該后續(xù)包的五元組信息對應的安全業(yè)務表項。
步驟318:安全設備根據查找到的安全業(yè)務表項中的安全業(yè)務信息,對 該后續(xù)包執(zhí)行相應的安全業(yè)務處理,并以該安全業(yè)務信息替換查找到的 Session表項中的安全業(yè)務信息。
步驟319:安全設備在軟件中查找與該后續(xù)包的目的IP地址對應的FIB 表項。
步驟320:安全設備查找到FIB表項,在軟件中查找與該FIB表項最匹 配的ARP表項。
步驟321:安全設備以查找到的ARP表項中的ARP感知表項索引替換
查找到的Session表項中的ARP感知表項索引。
步驟322:安全設備在軟件中查找與所述FIB表項中的三層出接口信息 對應的安全業(yè)務表項。
步驟323:安全設備判斷是否查找到安全業(yè)務表項,若是,執(zhí)行步驟324; 否則,執(zhí)行步驟325。
步驟324:安全設備根據查找到的安全業(yè)務表項中的安全業(yè)務信息,對 該后續(xù)包執(zhí)行相應的安全業(yè)務處理,同時將該安全業(yè)務信息添加到查找到的 Session表項中,并將該Session表項中的有效標志位設置為指示有效,安全 業(yè)務處理完畢,執(zhí)行步驟325。
步驟325:安全設備將查找到的ARP表項中的二層鏈路層頭封裝到該 后續(xù)包的二層頭上,將該包轉發(fā)出去,返回步驟302。
從圖3所示流程可以看出當在軟件中學習到ARP表項后,會在硬件 中保存與該ARP表項對應的ARP感知表項,并將該ARP感知表項索引保 存到學習到的ARP表項中。
當對業(yè)務流的首包進行了軟件中的安全業(yè)務表項、FIB表項和ARP表 項查找后,根據查找結果在硬件中所保存的Session表項的結構如下
Session表項五元組信息、安全業(yè)務信息、ARP感知表項索引、有效 標志位。
這樣,當收到該業(yè)務流的后續(xù)包后,就可根據該包的五元組信息在硬件 中查找到上述Session表項,然后根據該Session表項中的安全業(yè)務信息執(zhí)行 相應的安全業(yè)務處理,根據該Session表項中的ARP感知表項索引查找到硬 件中的ARP感知表項,從而將該報文轉發(fā)出去。可以看出,對后續(xù)包的安 全業(yè)務處理和轉發(fā)處理都是在硬件中進行的,大大提高了后續(xù)包的安全業(yè)務 處理效率和轉發(fā)效率。
圖4為本發(fā)明實施例一提供的基于安全業(yè)務的包轉發(fā)系統(tǒng)組成圖,如圖 4所示,其主要包括安全業(yè)務表項存儲模塊401、 FIB表項學習存儲模塊 402、 ARP表項學習存儲模塊403、 Session表項存儲模塊404、包接收模塊
405、 Session表項查找模塊406、 Session表項建立更新模塊407、安全業(yè)務 處理模塊408、轉發(fā)模塊409、 FIB和Session表項關聯模塊410和FIB表項 更新模塊411,其中
安全業(yè)務表項存儲模塊401:保存由五元組信息和/或轉發(fā)表項信息與安 全業(yè)務信息組成的各安全業(yè)務表項。
IB表項學習存儲模塊402:學習到FIB表項,保存該FIB表項。 ARP表項學習存儲模塊403:學習并保存ARP表項。 Session表項存儲模塊404:保存由五元組信息、安全業(yè)務信息、ARP 感知表項索引、有效標志位組成的各Session表項。
包接收模塊405:用于接收包,將該包發(fā)送給安全業(yè)務處理模塊408和 Session表項查找模塊406。
Session表項查找模塊406:接收包接收模塊405發(fā)來的包,在Session 表項存儲模塊404中查找與該包攜帶的五元組信息對應的Session表項,若 查找到,判斷該Session表項中的有效標志位是否指示有效,若指示有效, 則將該Session表項中的安全業(yè)務信息發(fā)送給安全業(yè)務處理模塊408,根據 該Session表項中的ARP表項索引在ARP表項學習存儲模塊403中查找到 ARP表項,將該ARP表項發(fā)送給轉發(fā)模塊409;若指示無效,將該包和該 Session表項索S1攜帶在更新指示中發(fā)送給Session表項建立更新模塊407; 若未查找到,則將該包攜帶在建立指示中發(fā)送給Session表項建立更新模塊 407。
Session表項建立更新模塊407:接收到Session表項查找模塊406發(fā)來 的攜帶包的建立指示后,在安全業(yè)務表項存儲模塊401中查找與該包攜帶的 信息如五元組信息對應的安全業(yè)務信息,將查找到的安全業(yè)務信息發(fā)送給 安全業(yè)務處理模塊408,建立新的Session表項,該Session表項包括所述 五元組信息和查找到的安全業(yè)務信息;在FIB表項學習存儲模塊402中查找 與該包攜帶的目的IP地址對應的FIB表項,將該FIB表項的索引與所建立 的Session表項的索引的對應關系保存在FIB和Session表項關聯模塊410
中,在ARP表項學習存儲模塊403中查找與該FIB表項最匹配的ARP表項, 將該ARP表項發(fā)送給轉發(fā)模塊409,并將該ARP表項中的ARP感知表項索 引添加到新建立的Session表項中,然后在安全業(yè)務表項存儲模塊401中查 找與所述查找到的FIB表項中的三層出接口信息對應的安全業(yè)務信息,若查 找到,將該安全業(yè)務信息發(fā)送給安全業(yè)務處理模塊408,并將該安全業(yè)務信 息添加到新建立的Session表項中,將該Session表項保存到Session表項存 儲模塊404中。接收到Session表項查找模塊406發(fā)來的攜帶包和Session 表項索引的更新指示后,在安全業(yè)務表項存儲模塊401中查找與該包攜帶的 信息如五元組信息對應的安全業(yè)務信息,將查找到的安全業(yè)務信息發(fā)送給 安全業(yè)務處理模塊408,根據該Session表項索引在Session表項存儲模塊404 中查找到Session表項,以查找到的安全業(yè)務信息替換該Session表項中的安 全業(yè)務信息;在FIB表項學習存儲模塊402中查找與該包攜帶的目的IP地 址對應的FIB表項,在ARP表項學習存儲模塊403中查找與該FIB表項最 匹配的ARP表項,將該ARP表項發(fā)送給轉發(fā)模塊409,以該ARP表項中的 ARP感知表項索引替換該Session表項中的ARP感知表項索引,并在安全業(yè) 務表項存儲模塊401中查找與所述查找到的FIB表項中的三層出接口信息對 應的安全業(yè)務信息,若查找到,將該安全業(yè)務信息發(fā)送給安全業(yè)務處理模塊 408,并將該安全業(yè)務信息添加到該Session表項中。
安全業(yè)務處理模塊408:接收包接收模塊405發(fā)來的包,接收Session 表項查找一莫塊406或Session表項建立更新模塊407發(fā)來的安全業(yè)務信息, 根據該安全業(yè)務信息對該包進行相應的安全業(yè)務處理,處理完畢,將該包發(fā) 送給轉發(fā)4莫塊409。
轉發(fā)模塊409:接收安全業(yè)務處理模塊408發(fā)來的經安全業(yè)務處理的包, 接收Session表項查找模塊406或Session表項建立更新模塊407發(fā)來的ARP 表項,根據該ARP表項,將該包發(fā)送出去。
FIB和Session表項關聯模塊410:保存FIB表項索引和Session表項索 引的對應關系。
FIB表項更新模塊411:用于更新FIB表項學習存儲模塊402中的FIB 表項,且在更新FIB表項時,在FIB和Session表項關聯才莫塊410中查找到 與該FIB表項索引對應的Session表項索引,根據該Session表項索引在 Session表項存儲模塊404中查找到Session表項,將該Session表項的有效 標志位設置為指示無效。
在實際應用中,可將安全業(yè)務表項存儲模塊401、 FIB表項學習存儲模 塊402、 ARP表項學習存儲模塊403、 Session表項存儲模塊404、 Session 表項查找模塊406和Session表項建立更新模塊407統(tǒng)稱為業(yè)務轉發(fā)關聯模 塊。
在圖4所示實施例中,安全業(yè)務表項存儲模塊401、 FIB表項學習存儲 模塊402、 ARP表項學習存儲模塊403、 Session表項存儲模塊404都位于軟 件單元中。
圖5為本發(fā)明實施例二提供的基于安全業(yè)務的包轉發(fā)系統(tǒng)組成圖,如圖 5所示,其主要包括安全業(yè)務表項存儲模塊501、 FIB表項學習存儲模塊 502、 ARP表項學習存儲模塊503、 ARP感知表項存儲模塊504、 Session表 項存儲模塊505、包接收模塊506、 Session表項查找模塊507、 Session表項 建立更新模塊508、安全業(yè)務處理模塊509、轉發(fā)模塊510、 FIB和Session 表項關聯模塊511和FIB表項更新模塊512,其中
安全業(yè)務表項存儲模塊501:保存由五元組信息和/或轉發(fā)表項信息與安 全業(yè)務信息組成的各安全業(yè)務表項。
FIB表項學習存儲模塊502:學習到FIB表項,保存該FIB表項。
ARP表項學習存儲模塊503:學習并保存ARP表項,同時在ARP感知 表項存儲才莫塊504中建立ARP感知表項,該ARP感知表項的內容與學習到 的ARP表項的內容相同,將該ARP感知表項的索引添加到學習到的ARP 表項中。
ARP感知表項存儲模塊504:存儲ARP感知表項。
Session表項存儲模塊505:保存由五元組信息、安全業(yè)務信息、ARP
感知表項索引、有效標志位組成的各Session表項。
包接收模塊506:用于接收包,將該包發(fā)送給安全業(yè)務處理模塊509和 Session表項查找模塊507。
Session表項查找模塊507:接收包接收模塊506發(fā)來的包,在Session 表項存儲模塊505中查找與該包攜帶的信息如五元組信息對應的Session 表項,若查找到,判斷該Session表項中的有效標志位是否指示有效,若指 示有效,則將該Session表項中的安全業(yè)務信息發(fā)送給安全業(yè)務處理模塊 509,將該Session表項中的ARP感知表項索引發(fā)送給轉發(fā)模塊510;若指 示無效,將該包和該Session表項索引攜帶在更新指示中發(fā)送給Session表項 建立更新模塊508;若未查找到,則將該包攜帶在建立指示中發(fā)送給Session 表項建立更新模塊508。
Session表項建立更新模塊508:接收Session表項查找模塊507發(fā)來的 攜帶包的建立指示,在安全業(yè)務表項存儲模塊501中查找與該包攜帶的信息 如五元組信息對應的安全業(yè)務信息,將查找到的安全業(yè)務信息發(fā)送給安全 業(yè)務處理模塊509,建立新的Session表項,該Session表項包括所述五元 組信息和查找到的安全業(yè)務信息;在FIB表項學習存儲模塊502中查找與該 包攜帶的目的IP地址對應的FIB表項,將該FIB表項的索引與所建立的 Session表項的索引的對應關系保存在FIB和Session表項關聯模塊511中, 在ARP表項學習存儲模塊503中查找與該FIB表項最匹配的ARP表項,將 該ARP表項發(fā)送給轉發(fā)模塊510,并將該ARP表項中的ARP感知表項索引 添加到新建立的Session表項中,并在安全業(yè)務表項存儲模塊501中查找與 所述查找到的FIB表項中的三層出接口信息對應的安全業(yè)務信息,若查找 到,將該安全業(yè)務信息發(fā)送給安全業(yè)務處理模塊509,并將該安全業(yè)務信息 添加到新建立的Session表項中,將該Session表項保存到Session表項存^f諸 模塊505中。接收Session表項查找模塊507發(fā)來的攜帶包和Session表項索 引的更新指示,在安全業(yè)務表項存儲模塊501中查找與該包攜帶的信息如 五元組信息對應的安全業(yè)務信息,將查找到的安全業(yè)務信息發(fā)送給安全業(yè)務
處理模塊509,根據該Session表項索引在Session表項存儲模塊505中查找 到Session表項,以查找到的安全業(yè)務信息替換該Session表項中的安全業(yè)務 信息;在FIB表項學習存儲模塊502中查找與該包攜帶的目的IP地址對應 的FIB表項,在ARP表項學習存儲模塊503中查找與該FIB表項最匹配的 ARP表項,將該ARP表項發(fā)送給轉發(fā)模塊510,并以該ARP表項中的ARP 感知表項索引替換所查找到的Session表項中的ARP感知表項索引,并在安 全業(yè)務表項存儲模塊501中查找與所述查找到的FIB表項中的三層出接口信 息對應的安全業(yè)務信息,若查找到,將該安全業(yè)務信息發(fā)送給安全業(yè)務處理 模塊509,并將該安全業(yè)務信息添加到所查找到的Session表項中。
安全業(yè)務處理模塊509:接收包接收模塊506發(fā)來的包,接收Session 表項查找模塊507或Session表項建立更新模塊508發(fā)來的安全業(yè)務信息, 根據該安全業(yè)務信息對該包進行相應的安全業(yè)務處理,處理完畢,將該包發(fā) 送給轉發(fā)模塊510。
轉發(fā)模塊510:接收安全業(yè)務處理模塊509發(fā)來的經安全業(yè)務處理的包, 接收Session表項查找模塊507發(fā)來的ARP感知表項索引,在ARP感知表 項存儲模塊504中查找該ARP感知表項索引指向的ARP感知表項,根據該 ARP感知表項,將該包發(fā)送出去;接收Session表項建立更新模塊508發(fā)來 的ARP表項,根據該ARP表項,將包發(fā)送出去。
FIB和Session表項關聯模塊511:保存FIB表項索引和Session表項索 引的對應關系。
FIB表項更新模塊512,用于更新FIB表項學習存儲模塊502中的FIB 表項,且在更新FIB表項時,在FIB和Session表項關聯模塊511中查找到 與該FIB表項索引對應的Session表項索引,根據該Session表項索引在 Session表項存儲才莫塊505中查找到Session表項,將該Session表項的有效 標志位設置為指示無效。
在實際應用中,可將安全業(yè)務表項存儲模塊501、 FIB表項學習存儲模 塊502、 ARP表項學習存儲模塊503、 ARP感知表項存儲模塊504、 Session
表項存儲模塊505、 Session表項查找模塊507和Session表項建立更新模塊 508統(tǒng)稱為業(yè)務轉發(fā)關聯模塊。
在圖5所示實施例中,安全業(yè)務表項存儲模塊501、 FIB表項學習存儲 模塊502、 ARP表項學習存儲模塊503為采用現有技術構造的模塊,保存在 軟件中。而ARP感知表項存儲模塊504、 Session表項存儲模塊505為本發(fā) 明實施例構造的模塊,保存在硬件中,如TCAM中,以加快安全設備對 Session表項、ARP感知表項的訪問速度,從而提高基于安全業(yè)務的包轉發(fā) 效率。
以上所述僅為本發(fā)明的過程及方法實施例,并不用以限制本發(fā)明,凡在 本發(fā)明的精神和原則之內所做的任何修改、等同替換、改進等,均應包含在 本發(fā)明的保護范圍之內。
權利要求
1、一種基于安全業(yè)務的包轉發(fā)方法,其特征在于,包括接收業(yè)務流的首包,獲取與該首包對應的安全業(yè)務信息和地址解析協議ARP表項,建立首包攜帶的業(yè)務流包的屬性信息與安全業(yè)務信息、ARP表項信息的關聯關系;接收業(yè)務流的后續(xù)包,根據后續(xù)包攜帶的業(yè)務流包屬性信息及所述關聯關系,查找到安全業(yè)務信息和ARP表項信息,根據安全業(yè)務信息對后續(xù)包執(zhí)行安全業(yè)務處理,根據ARP表項信息將后續(xù)包轉發(fā)出去。
2、 如權利要求l所述的方法,其特征在于,所述關聯關系保存在軟件單元中。
3、 如權利要求2所述的方法,其特征在于,所述建立關聯關系包括建立 業(yè)務流包的屬性信息、安全業(yè)務信息及ARP表項的索引之間的關聯關系。
4、 如權利要求3所述的方法,其特征在于,當接收到后續(xù)包時,所述查找 包括在所有關聯關系中,查找與后續(xù)包攜帶的業(yè)務流包的屬性信息對應的關 聯關系,該關聯關系中的安全業(yè)務信息即為查找到的安全業(yè)務信息,根據該關 聯關系中的ARP表項索引查找到ARP表項。
5、 如權利要求3所述的方法,其特征在于,所述接收業(yè)務流的首包之前進 一步包括在軟件單元中學習轉發(fā)信息庫FIB表項;當接收到業(yè)務流的首包時,所述獲取ARP表項包括查找與該首包對應的 FIB表項,再查找與該FIB表項最匹配的ARP表項,且,所述建立關聯關系進一步包括為該關聯關系設置指示有效的有效標 志位,并建立FIB表項的索引與該關聯關系的索引的對應關系,且,當更新FIB表項時,根據該FIB表項索引在所述對應關系中查找到關 聯關系索引,將該關聯關系索引指向的關聯關系中的有效標志位設置為無效。
6、 如權利要求5所述的方法,其特征在于,當接收到后續(xù)包時,所述查找 到關聯關系進一步包括判斷該關聯關系中的有效標志位是否指示有效,若是, 根據該關聯關系中的安全業(yè)務信息進行安全處理;否則,在軟件單元中重新查 找與該后續(xù)包對應的安全業(yè)務信息和ARP表項,以查找到的安全業(yè)務信息替換 該關聯關系中的安全業(yè)務信息,以查找到的ARP表項的索引替換該關聯關系中 的ARP表項索引。
7、 如權利要求l所述的方法,其特征在于,所述關聯關系保存在硬件單元中。
8、 如權利要求7所述的方法,其特征在于,所述接收業(yè)務流的首包之前進 一步包括在軟件單元中學習ARP表項,在硬件單元中保存內容與該ARP表 項相同的ARP感知表項,所述建立關聯關系為建立業(yè)務流包的屬性信息、安全業(yè)務信息及所述獲 取到的ARP表項中的ARP感知表項的索引之間的關聯關系,將該關聯關系保 存到硬件單元中。
9、 如權利要求8所述的方法,其特征在于,當接收到后續(xù)包時,所述查找 包括在硬件單元中的所有關聯關系中,查找與該后續(xù)包攜帶的業(yè)務流包的屬 性信息對應的關聯關系,該關聯關系中的安全業(yè)務信息即為查找到的安全業(yè)務 信息,根據該關聯關系中的ARP感知表項索引在硬件單元中查找到ARP感知 表項,該ARP感知表項即為查找到的ARP表項信息。
10、 如權利要求8所述的方法,其特征在于,所述建立ARP感知表項之后 進一步包括在ARP表項中記錄該ARP感知表項的索引,所述接收業(yè)務流的首包之前進一步包括在軟件單元中學習FIB表項;當接收到業(yè)務流的首包時,所述查找ARP表項包括查找與該首包對應的 FIB表項,再查找與該FIB表項最匹配的ARP表項,且,所述建立關聯關系進一步包括為該關聯關系設置指示有效的有效標 志位,并建立FIB表項的索引與該關聯關系的索引的對應關系,且,當更新FIB表項時,根據該FIB表項索引在所ii^"應關系中查找到關 聯關系索引,將該關聯關系索引指向的關聯關系中的有效標志位設置為無效。
11、 如權利要求IO所述的方法,其特征在于,當接收到后續(xù)包時,所述查 找到關聯關系進一步包括判斷該關聯關系中的有效標志位是否指示有效,若 是,根據該關聯關系中的安全業(yè)務信息進行安全處理;否則,在軟件單元中重 新查找與該后續(xù)包對應的安全業(yè)務信息和ARP表項,以查找到的安全業(yè)務信息 替換該關聯關系中的安全業(yè)務信息,以查找到的ARP表項中的ARP感知表項 索51替換該關聯關系中的ARP感知表項索引。
12、 如權利要求l所述的方法,其特征在于,所述業(yè)務流包的屬性信息為 五元組信息。
13、 一種基于安全業(yè)務的包轉發(fā)系統(tǒng),其特征在于,包括 業(yè)務轉發(fā)關聯模塊,接收業(yè)務流的首包,建立首包攜帶的業(yè)務流包的屬性信息與首包對應的安全業(yè)務信息、首包對應的ARP表項信息之間的關聯關系; 接收業(yè)務流的后續(xù)包,根據該后續(xù)包攜帶的業(yè)務流包的屬性信息以及所述關聯 關系,查找到安全業(yè)務信息和ARP表項信息;將查找到的安全業(yè)務信息發(fā)送給 安全業(yè)務處理模塊,將查找到的ARP表項信息發(fā)送給轉發(fā)模塊;安全業(yè)務處理模塊,根據接收到的安全業(yè)務信息對接收到的業(yè)務流包執(zhí)行 安全業(yè)務處理,執(zhí)行完畢,將業(yè)務流包發(fā)送給轉發(fā)模塊;轉發(fā)模塊,根據接收到的ARP表項信息將接收到的業(yè)務流包轉發(fā)出去。
14、 如權利要求12所述的系統(tǒng),其特征在于,所述業(yè)務轉發(fā)關聯模塊包括 Session表項存儲模塊,保存由業(yè)務流包的屬性信息、安全業(yè)務信息、ARP表項索引組成的各Session表項;Session表項查找模塊,接收業(yè)務流包,在Session表項存儲模塊中查找 與業(yè)務流包的屬性信息對應的Session表項,若查找到,將Session表項中的 安全業(yè)務信息發(fā)送給安全業(yè)務處理模塊,將Session表項中的ARP表項索引 發(fā)送給轉發(fā)模塊;否則,將業(yè)務流包發(fā)送給Session表項建立更新模塊;Session表項建立更新模塊,接收業(yè)務流包,將業(yè)務流包對應的安全業(yè)務 信息發(fā)送給安全業(yè)務處理模塊,建立包括業(yè)務流包的屬性信息和所述安全業(yè) 務信息的Session表項,查找與業(yè)務流包對應的ARP表項,將該ARP表項 發(fā)送給轉發(fā)模塊,并將查找到的ARP表項的索引添加到建立的Session表項中,將Session表項保存到Session表項存儲才莫塊。
15、 如權利要求14所述的系統(tǒng),其特征在于,該系統(tǒng)進一步包括FIB 和Session表項關聯模塊、FIB表項更新模塊,其中FIB和Session表項關聯模塊,保存FIB表項索引和Session表項索引的 對應關系;且,所述Session表項建立更新模塊進一步,為建立的Session表項設 置指示有效的有效標志位,并將業(yè)務流包對應的FIB表項的索引和所建立的 Session表項的索引的對應關系保存在FIB和Session表項關聯模塊中,FIB表項更新模塊,當更新FIB表項時,在FIB和Session表項關聯模 塊中查找到與該FIB表項索引對應的Session表項索引,根據該Session表 項索引在Session表項存儲模塊中查找到Session表項,將Session表項中的 有步爻標志j立^殳置為無戔文。
16、 如權利要求15所述的系統(tǒng),其特征在于,所述Session表項查找模 塊在Session表項存儲模塊中查找到Session表項后,判斷該Session表項中 的有效標志位是否指示有效,若指示無效,則將業(yè)務流包和該Session表項 的索引發(fā)送給Session表項建立更新模塊,所述Session表項建立更新模塊接收到業(yè)務流包和Session表項索引后, 將與該業(yè)務流包對應的安全業(yè)務信息發(fā)送給安全業(yè)務處理模塊,根據該 Session表項索引在Session表項存儲模塊中查找到Session表項,以查找到 的安全業(yè)務信息替換該Session表項中的安全業(yè)務信息;查找與業(yè)務流包對 應的ARP表項,將該ARP表項發(fā)送給轉發(fā)模塊,以該ARP表項的索引替 換該Session表項中的ARP表項索引。
17、 如權利要求14至16中任一項所述的系統(tǒng),其特征在于,所述Session 表項存儲模塊位于軟件單元中。
18、 如權利要求13所述的系統(tǒng),其特征在于,所述業(yè)務轉發(fā)關聯模塊包括 ARP表項學習存儲模塊,學習ARP表項,將ARP感知表項存儲模塊中與ARP表項內容相同的ARP感知表項的索引添加到ARP表項中;ARP感知表項存儲模塊,保存與軟件單元中的ARP表項內容相同的 ARP感知表項;Session表項存儲模塊,保存由業(yè)務流包的屬性信息、安全業(yè)務信息、 ARP感知表項索引組成的各Session表項;Session表項查找模塊,接收業(yè)務流包,在Session表項存儲模塊中查找 與業(yè)務流包的屬性信息對應的Session表項,若查找到,將Session表項中的 安全業(yè)務信息發(fā)送給安全業(yè)務處理模塊,將Session表項中的ARP感知表項 索引發(fā)送給轉發(fā)模塊;否則,將業(yè)務流包發(fā)送給Session表項建立更新模塊;Session表項建立更新才莫塊,接收業(yè)務流包,將與業(yè)務流包對應的安全 業(yè)務信息發(fā)送給安全業(yè)務處理模塊,建立包括業(yè)務流包的屬性信息和所述安 全業(yè)務信息的Session表項;查找與業(yè)務流包對應的ARP表項,將該ARP 表項發(fā)送給轉發(fā)模塊,并將ARP表項中的ARP感知表項索引添加到建立的 Session表項中,將Session表項保存到Session表項存儲模塊。
19、 如權利要求18所述的系統(tǒng),其特征在于,該系統(tǒng)進一步包括FIB 和Session表項關聯模塊、FIB表項更新模塊,其中FIB和Session表項關聯模塊,保存FIB表項索引和Session表項索引的 對應關系;且,所述Session表項建立更新模塊進一步,為建立的Session表項設 置指示有效的有效標志位,將業(yè)務流包對應的FIB表項的索引和建立的 Session表項的索引的對應關系保存在FIB和Session表項關聯模塊中,FIB表項更新模塊,當更新FIB表項時,在FIB和Session表項關聯模 塊中查找到與該FIB表項索引對應的Session表項索引,根據該Session表 項索引在Session表項存儲模塊中查找到Session表項,將Session表項中的 有效標志位設置為無效。
20、 如權利要求19所述的系統(tǒng),其特征在于,所述Session表項查找模 塊在Session表項存儲模塊中查找到Session表項后,判斷該Session表項中 的有效標志位是否指示有效,若指示無效,將業(yè)務流包和Session表項索引 發(fā)送給Session表項建立更新才莫塊,所述Session表項建立更新模塊接收到業(yè)務流包和Session表項索引后, 將與業(yè)務流包對應的安全業(yè)務信息發(fā)送給安全業(yè)務處理模塊,根據該 Session表項索引在Session表項存儲模塊中查找到Session表項,以所述安 全業(yè)務信息替換該Session表項中的安全業(yè)務信息;查找與業(yè)務流包對應的 ARP表項,將該ARP表項發(fā)送給轉發(fā)模塊,并以該ARP表項中的ARP感 知表項索引替換所查找到的Session表項中的ARP感知表項索引。
21、如權利要求18至20中任一項所述的系統(tǒng),其特征在于,所述ARP 感知表項存儲模塊、Session表項存儲模塊位于硬件單元中。
全文摘要
本發(fā)明公開了基于安全業(yè)務的包轉發(fā)方法及系統(tǒng)。接收業(yè)務流的首包,獲取與該首包對應的安全業(yè)務信息和ARP表項,建立首包攜帶的業(yè)務流包的屬性信息與安全業(yè)務信息、ARP表項信息的關聯關系;接收業(yè)務流的后續(xù)包,根據后續(xù)包攜帶的業(yè)務流包屬性信息及所述關聯關系,查找到安全業(yè)務信息和ARP表項信息,根據安全業(yè)務信息對后續(xù)包執(zhí)行安全業(yè)務處理,根據ARP表項信息將后續(xù)包轉發(fā)出去。本發(fā)明無需對每個包都進行安全業(yè)務表項、FIB表項、ARP表項的查找,大大提高了基于安全業(yè)務的包轉發(fā)效率。
文檔編號H04L29/06GK101106529SQ200710119880
公開日2008年1月16日 申請日期2007年8月2日 優(yōu)先權日2007年8月2日
發(fā)明者常向青, 李明玉, 颶 王, 鄒旭東 申請人:杭州華三通信技術有限公司