一種基於acp架構的防火牆設備的製作方法
2023-08-06 10:45:31
專利名稱:一種基於acp架構的防火牆設備的製作方法
技術領域:
本發明屬於網絡安全領域,尤其涉及一種基於ACP架構的防火牆設備。
背景技術:
新建連接率(Connection Per Second,CPS)是防火牆每秒鐘內所能新建的最大的傳輸控制協議(Transmission Control Protocol,TCP)或者用戶數據報協議(User Datagram Protocol,UDP)連接數,是衡量狀態檢測防火牆的一個重要性能指標。防火牆的新建連接率直接影響防火牆響應來自網際網路的服務請求。如果防火牆的新建連接率不夠高,當眾多網際網路用戶同時請求網絡服務時,防火牆會把沒有建立連接的請求丟棄,造成此部分用戶不能訪問目標網絡。
如圖1所示,在ACP(ASIC晶片+CPU+PCI總線)架構中,專用集成電路(Application Specific Integrated Circuit,ASIC)晶片20接收到報文(Packets)後,從外掛隨機存取存儲器(Random Access Memory,RAM)22中讀取會話連接表,根據會話連接表決定接收的報文是否需要進行轉發。接收到一個還沒有建立會話連接的首包報文時,將該首包報文寫入緩存模塊204。PCI Target(PCI從接口)模塊206通過外部部件互連(Peripheral Component Interconnect,PCI)總線18經PCI橋片(Bridge)14將該首包報文上報給中央處理器(CentralProcessing Unit,CPU)12。CPU 12將該首包報文暫存在PCI橋片外掛RAM 16中,進行路由表、安全規則等處理,並根據路由表、安全規則等處理決定是否允許轉發該首包報文。如果允許轉發,CPU 12將增加的會話連接表通過PCI總線18下發到ASIC晶片20。
PCI Target模塊206採用輸入/輸出(I/O)通信方式接收CPU 12下發的會話連接表,將會話連接表寫入緩存模塊204,緩存模塊204隨後將會話連接表寫入ASIC晶片外掛RAM中,並通過PCI Target模塊206將會話連接表寫入ASIC晶片外掛RAM 22的確認信息上報給CPU。CPU收到該確認信息後,將ASIC晶片20上報的首包報文從PCI橋片外掛RAM 16中讀取出來,通過PCI總線發送到ASIC晶片20。PCI Target模塊206採用I/O通信方式接收該首包報文,並將該首包報文寫入緩存模塊204,緩存模塊204隨後將報文交給報文發送模塊210,報文發送模塊210將報文發送出去。否則,如果會話連接表還未建立而報文就已經發送出去,在此會話連接的應答報文到達防火牆設備時,此會話連接會話連接表可能仍未來得及建立,則ASIC晶片20從外掛RAM 22中查詢不到該連接而將應答報文丟棄,導致此會話連接通訊失敗。
從上述過程可知,影響防火牆新建連接率的因素如下1、CPU下發的會話連接表比較長,通常有128位元組甚至更多。CPU將會話連接表通過PCI總線的I/O通信方式寫入ASIC晶片,一次最多只能寫入8個字節的會話連接表數據,因此CPU需要執行多次PCI總線請求周期才能將會話連接表配置完畢,執行時間過長。
2、CPU下發一次會話連接表需要多次操作PCI總線,且嚴重消耗了CPU資源。
3、CPU在確認會話連接表寫入RAM後才能將報文發送。則CPU需要頻繁查詢ASIC晶片會話連接表是否建立,以確定是否可以發送報文,耗費了較多的CPU資源。
綜上所述,在基於ACP架構的硬體防火牆設備中,會話連接的建立方式嚴重消耗了CPU資源,使得CPU單位時間內能夠處理的上報首包報文數量減少,並且多次操作PCI總線,佔用PCI總線帶寬,導致會話連接表配置執行時間長,難以提高防火牆的新建連接率。
發明內容
本發明的目的在於提供一種基於ACP架構的硬體防火牆設備,旨在解決現有技術中存在的在基於ACP架構的硬體防火牆設備中,會話連接的建立方式嚴重消耗了CPU資源,使得CPU單位時間內能夠處理的上報的首包報文數量減少,並且多次操作PCI總線,佔用PCI總線帶寬,導致會話連接表配置執行時間長,難以提高防火牆的新建連接率的問題。
本發明是這樣實現的,一種基於ACP架構的硬體防火牆設備,所述設備包括CPU,與所述CPU連接的PCI橋片,PCI橋片外掛RAM,通過PCI總線與所述PCI橋片連接的ASIC晶片,以及ASIC晶片外掛RAM,其中PCI橋片外掛RAM,用於存儲CPU為ASIC晶片上報的首包報文增加的會話連接表,以及首包報文;ASIC晶片外掛RAM,用於存儲ASIC晶片寫入的會話連接表;CPU,用於通過PCI橋片及PCI總線向ASIC晶片下發PCI橋片外掛RAM的空閒地址指針,為ASIC晶片上報的首包報文增加的會話連接表及所述首包報文在PCI橋片外掛RAM的地址指針和數據長度信息;ASIC晶片,用於接收首包報文,根據PCI橋片外掛RAM的空閒地址指針將首包報文寫入PCI橋片外掛RAM,並根據會話連接表及所述首包報文在PCI橋片外掛RAM的地址指針和數據長度信息讀取PCI橋片外掛RAM中的會話連接表和首包報文,將會話連接表寫入ASIC晶片外掛RAM,並轉發所述首包報文。
所述ASIC晶片包括報文接收模塊、緩存模塊、PCI Target(PCI從接口)模塊、地址RAM、DMA控制模塊以及報文發送模塊,其中緩存模塊,用於存儲報文接收模塊寫入的首包報文以及DMA控制模塊寫入的會話連接表和首包報文;並將會話連接表寫入ASIC晶片外掛RAM,首包報文發送給報文發送模塊;地址RAM,用於存儲CPU下發的PCI橋片外掛RAM的空閒地址指針、為ASIC晶片上報的首包報文增加的會話連接表及首包報文在PCI橋片外掛RAM的地址指針和數據長度信息報文接收模塊,用於接收首包報文,將首包報文寫入緩存模塊;PCI Target(PCI從接口)模塊,用於將CPU下發的PCI橋片外掛RAM的空閒地址指針、為ASIC晶片上報的首包報文增加的會話連接表及首包報文在PCI橋片外掛RAM的地址指針和數據長度信息寫入地址RAM;DMA控制模塊,用於根據PCI橋片外掛RAM的空閒地址指針將緩存模塊中接收的首包報文寫入PCI橋片外掛RAM,並根據會話連接表及首包報文在PCI橋片外掛RAM的地址指針和數據長度信息讀取PCI橋片外掛RAM中的會話連接表和首包報文寫入緩存模塊;報文發送模塊,用於發送緩存模塊送交的首包報文。
所述DMA控制模塊採用突發讀方式一次性連續讀取PCI橋片外掛RAM中的會話連接表和首包報文。
通過本發明,可以節省CPU的資源,提高PCI總線的數據傳送效率,節省了會話連接表配置執行時間,並縮短首包報文的發送執行時間。
圖1是現有技術中基於ACP架構的硬體防火牆設備的結構框圖;圖2是本發明提供的基於ACP架構的硬體防火牆設備的結構框圖。
具體實施例方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並不用於限定本發明。
如圖2所示,CPU 12定時獲取PCI橋片外掛RAM 16的空閒地址指針,並將空閒地址指針通過PCI橋片14由PCI Target模塊206寫入地址RAM 214中。報文發送模塊202接收到一個還沒有建立會話連接的首包報文時,將該首包報文寫入緩存模塊204。DMA控制模塊212從地址RAM 214中獲取PCI橋片外掛RAM 16的空閒地址指針,然後將緩存模塊204中的首包報文通過突發(Burst)方式一次性連續寫入PCI橋片外掛RAM 16中。CPU 12根據路由表、安全規則等決定是否允許轉發該報文。如果允許轉發,CPU 12將增加的會話連接表寫入PCI橋片外掛RAM 16中,然後通過PCI Target模塊206將PCI橋片外掛RAM 16的會話連接表以及首包報文的地址指針和數據長度寫入地址RAM 214中。
DMA控制模塊212從地址RAM 214中獲取PCI橋片外掛RAM 16的會話連接表以及首包報文的地址指針和數據長度,然後通過Burst Read方式一次性連續讀取PCI橋片外掛RAM 16中與該地址指針和數據長度對應的的會話連接表和首包報文,寫入緩存模塊204。緩存模塊204隨後將會話連接表寫入ASIC晶片外掛RAM 22,將首包報文發送給報文發送模塊210。
在上述操作過程中,CPU 12將會話連接表及首包報文在PCI橋片外掛RAM16中準備完畢,並將其地址指針和數據長度等相關信息發送到ASIC晶片20後,後續的工作由ASIC晶片20完成,不再需要CPU 12參與,節省了CPU 12的資源。同時,會話連接表通過Burst Read突發方式進行讀取,提高了PCI總線14的數據傳送效率,節省了會話連接表配置執行時間,並且會話連接表配置完畢後,DMA控制模塊212立刻採用Burst Read方式讀取報文,不需要CPU 12查詢會話連接表是否配置完畢,縮短了首包報文的發送執行時間。
如果有連續的會話連接表及首包報文需要下發,可以在ASIC晶片20內部緩存允許的情況下,不需要等待前一個會話連接表及首包報文發送完畢,而連續將會話連接表及首包報文的地址指針和數據長度信息發送到ASIC晶片20進行緩存,由ASIC晶片20逐一取出連續進行操作,從而進一步減輕CPU 12的負擔,提高防火牆的新建連接率。
以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護範圍之內。
權利要求
1.一種基於ACP架構的硬體防火牆設備,其特徵在於,所述設備包括CPU,與所述CPU連接的PCI橋片,PCI橋片外掛RAM,通過PCI總線與所述PCI橋片連接的ASIC晶片,以及ASIC晶片外掛RAM,其中PCI橋片外掛RAM,用於存儲CPU為ASIC晶片上報的首包報文增加的會話連接表,以及首包報文;ASIC晶片外掛RAM,用於存儲ASIC晶片寫入的會話連接表;CPU,用於通過PCI橋片及PCI總線向ASIC晶片下發PCI橋片外掛RAM的空閒地址指針,為ASIC晶片上報的首包報文增加的會話連接表及所述首包報文在PCI橋片外掛RAM的地址指針和數據長度信息;ASIC晶片,用於接收首包報文,根據PCI橋片外掛RAM的空閒地址指針將首包報文寫入PCI橋片外掛RAM,並根據會話連接表及所述首包報文在PCI橋片外掛RAM的地址指針和數據長度信息讀取PCI橋片外掛RAM中的會話連接表和首包報文,將會話連接表寫入ASIC晶片外掛RAM,並轉發所述首包報文。
2.如權利要求1所述的基於ACP架構的硬體防火牆設備,其特徵在於,所述ASIC晶片包括報文接收模塊、緩存模塊、PCI Target模塊、地址RAM、DMA控制模塊以及報文發送模塊,其中緩存模塊,用於存儲報文接收模塊寫入的首包報文以及DMA控制模塊寫入的會話連接表和首包報文;並將會話連接表寫入ASIC晶片外掛RAM,將首包報文發送給報文發送模塊;地址RAM,用於存儲CPU下發的PCI橋片外掛RAM的空閒地址指針、為ASIC晶片上報的首包報文增加的會話連接表及首包報文在PCI橋片外掛RAM的地址指針和數據長度信息報文接收模塊,用於接收首包報文,將首包報文寫入緩存模塊;PCI Target模塊,用於將CPU下發的PCI橋片外掛RAM的空閒地址指針、為ASIC晶片上報的首包報文增加的會話連接表及首包報文在PCI橋片外掛RAM的地址指針和數據長度信息寫入地址RAM;DMA控制模塊,用於根據PCI橋片外掛RAM的空閒地址指針將緩存模塊中接收的首包報文寫入PCI橋片外掛RAM,並根據會話連接表及首包報文在PCI橋片外掛RAM的地址指針和數據長度信息讀取PCI橋片外掛RAM中的會話連接表和首包報文寫入緩存模塊;報文發送模塊,用於發送緩存模塊送交的首包報文。
3.如權利要求2所述的基於ACP架構的硬體防火牆設備,其特徵在於,所述DMA控制模塊採用Burst Read突發讀方式一次性連續讀取PCI橋片外掛RAM中的會話連接表和首包報文。
全文摘要
本發明適用於網絡安全領域,提供了一種基於ACP架構的硬體防火牆設備,CPU將會話連接表及首包報文在PCI橋片外掛RAM中準備完畢,並將其地址指針和數據長度等相關信息發送到ASIC晶片後,後續的工作由ASIC晶片完成,不再需要CPU參與,節省了CPU的資源。同時,ASIC晶片通過Burst Read方式進行讀取會話連接表,提高了PCI總線的數據傳送效率,節省了會話連接表配置執行時間,並且會話連接表配置完畢後,ASIC晶片採用Burst Read方式讀取報文,不需要CPU查詢會話連接表是否配置完畢,縮短了首包報文的發送執行時間。
文檔編號H04L12/22GK101079873SQ20061006076
公開日2007年11月28日 申請日期2006年5月25日 優先權日2006年5月25日
發明者陳龍森, 陳鵬, 王峻, 鄧子星 申請人:李 浩