一種基于PowerPC硬件架構(gòu)的網(wǎng)絡(luò)數(shù)據(jù)包過濾方法
【專利摘要】本發(fā)明公開了一種基于PowerPC硬件架構(gòu)的網(wǎng)絡(luò)數(shù)據(jù)包過濾方法,屬于網(wǎng)絡(luò)數(shù)據(jù)包過濾【技術(shù)領(lǐng)域】,本發(fā)明要解決目前在內(nèi)核空間進行數(shù)據(jù)包過濾所帶來的效率差、容易導(dǎo)致系統(tǒng)崩潰、過濾策略不方便加載、不便于調(diào)試一系列問題。技術(shù)方案為:PowerPC硬件架構(gòu)采用PowerPC多核網(wǎng)絡(luò)處理器,PowerPC多核網(wǎng)絡(luò)處理器采用DPAA技術(shù),包括如下步驟:在操作系統(tǒng)用戶空間獲取網(wǎng)絡(luò)數(shù)據(jù)包;根據(jù)過濾匹配列表對網(wǎng)絡(luò)數(shù)據(jù)包進行過濾處理;管理用戶能夠通過過濾規(guī)則配置模塊對過濾匹配列表內(nèi)容進行配置修改,保證過濾匹配內(nèi)容的及時性。
【專利說明】—種基于PowerPC硬件架構(gòu)的網(wǎng)絡(luò)數(shù)據(jù)包過濾方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種網(wǎng)絡(luò)數(shù)據(jù)包過濾【技術(shù)領(lǐng)域】,具體地說是一種基于PowerPC硬件架構(gòu)的網(wǎng)絡(luò)數(shù)據(jù)包過濾方法。
【背景技術(shù)】
[0002]PowerPC是一種RISC架構(gòu)的CPU,PowerPC處理器有非常強的嵌入式表現(xiàn),因為它具有優(yōu)異的性能、較低的能量損耗以及較低的散熱量。PowerPC處理器有32個(32位或64位)GPR (通用寄存器)以及諸如PC (程序計數(shù)器,也稱為IAR /指令地址寄存器或NIP /下一指令指針)、LR (鏈接寄存器)、CR (條件寄存器)等各種其它寄存器,還有32個64位FPR (浮點寄存器)。
[0003]傳統(tǒng)的網(wǎng)絡(luò)數(shù)據(jù)包過濾方法大都采用在操作系統(tǒng)內(nèi)核態(tài)收發(fā)網(wǎng)絡(luò)數(shù)據(jù)包的模式,然后交給內(nèi)核協(xié)議棧進行過濾處理。這種處理方式由于在內(nèi)核空間進行,存在效率差、容易導(dǎo)致系統(tǒng)崩潰、過濾策略不方便加載、不便于調(diào)試等一系列問題。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的技術(shù)任務(wù)是針對以上不足之處,提供一種解決目前在內(nèi)核空間進行數(shù)據(jù)包過濾所帶來的效率差、容易導(dǎo)致系統(tǒng)崩潰、過濾策略不方便加載、不便于調(diào)試一系列問題的一種基于PowerPC硬件架構(gòu)的網(wǎng)絡(luò)數(shù)據(jù)包過濾方法。
[0005]本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
一種基于PowerPC硬件架構(gòu)的網(wǎng)絡(luò)數(shù)據(jù)包過濾方法,PowerPC硬件架構(gòu)采用PowerPC多核網(wǎng)絡(luò)處理器,PowerPC多核網(wǎng)絡(luò)處理器采用DPAA技術(shù),包括如下步驟:
步驟一、在操作系統(tǒng)用戶空間獲取網(wǎng)絡(luò)數(shù)據(jù)包;
步驟二、根據(jù)過濾匹配列表對網(wǎng)絡(luò)數(shù)據(jù)包進行過濾處理;
步驟三、管理用戶能夠通過過濾規(guī)則配置模塊對過濾匹配列表內(nèi)容進行配置修改,保證過濾匹配內(nèi)容的及時有效性。
[0006]步驟一具體包括如下步驟:
(1)、對操作系統(tǒng)進行配置,使PowerPC的數(shù)據(jù)通道加速架構(gòu)DPAA能夠正常工作;
(2)、申請一大塊物理地址連續(xù)的內(nèi)存用于用戶空間USDPAA收發(fā)網(wǎng)絡(luò)數(shù)據(jù)包,并且通過mmap映射到用戶空間,實現(xiàn)零拷貝,保證在用戶空間快速高效獲取網(wǎng)絡(luò)數(shù)據(jù)包。
[0007]步驟二具體包括如下步驟:
(I )、將網(wǎng)絡(luò)數(shù)據(jù)包交由過濾規(guī)則匹配模塊進行判斷;
(2)、過濾規(guī)則匹配模塊將網(wǎng)絡(luò)數(shù)據(jù)包與自身所存儲的過濾匹配列表內(nèi)容進行匹配,并將匹配結(jié)果和匹配策略通知數(shù)據(jù)過濾模塊;
(3)、數(shù)據(jù)過濾模塊根據(jù)匹配結(jié)果和匹配策略來決定網(wǎng)絡(luò)數(shù)據(jù)包是否通過,并且記錄相關(guān)日志信息。
[0008]PowerPC硬件架構(gòu)米用飛思卡爾公司推出的PowerPC多核網(wǎng)絡(luò)處理器。飛思卡爾公司推出的一系列PowerPC多核網(wǎng)絡(luò)處理器,由于采用數(shù)據(jù)通道加速架構(gòu)(DatapathAccelerat1n Architecture, DPAA)技術(shù),能夠極大的提高網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送、處理速度,并且利用用戶空間USDPAA技術(shù),可以實現(xiàn)在用戶空間以零拷貝的方式獲取網(wǎng)絡(luò)數(shù)據(jù)包,并結(jié)合用戶空間的過濾規(guī)則匹配模塊和數(shù)據(jù)過濾模塊,能夠?qū)崿F(xiàn)網(wǎng)絡(luò)數(shù)據(jù)包的快速、高效過濾。這種實現(xiàn)方式由于在用戶空間進行,具備容易調(diào)試、過濾策略方便加載、不影響系統(tǒng)穩(wěn)定運行等優(yōu)點。
[0009]DPAA,為英文Data path Accelerat1n Architecture 的簡稱,翻譯為數(shù)據(jù)通道加速架構(gòu)。
[0010]USDPAA,也簡稱為UPAA,翻譯為用戶空間數(shù)據(jù)通道加速架構(gòu)。
[0011]本發(fā)明的一種基于PowerPC硬件架構(gòu)的網(wǎng)絡(luò)數(shù)據(jù)包過濾方法和現(xiàn)有技術(shù)相比,能夠在操作系統(tǒng)用戶空間實現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)包高速、高效過濾,解決目前在內(nèi)核空間進行數(shù)據(jù)包過濾所帶來的效率差、容易導(dǎo)致系統(tǒng)崩潰、過濾策略不方便加載、不便于調(diào)試等一系列問題。
【專利附圖】
【附圖說明】
[0012]下面結(jié)合附圖對本發(fā)明進一步說明。
[0013]附圖1為一種基于PowerPC硬件架構(gòu)的網(wǎng)絡(luò)數(shù)據(jù)包過濾方法的結(jié)構(gòu)架構(gòu)圖。
【具體實施方式】
[0014]下面結(jié)合附圖和具體實施例對本發(fā)明作進一步說明。
[0015]實施例1:
本發(fā)明的一種基于PowerPC硬件架構(gòu)的網(wǎng)絡(luò)數(shù)據(jù)包過濾方法,PowerPC硬件架構(gòu)采用PowerPC多核網(wǎng)絡(luò)處理器,PowerPC多核網(wǎng)絡(luò)處理器采用DPAA技術(shù),包括如下步驟:
步驟一、在操作系統(tǒng)用戶空間獲取網(wǎng)絡(luò)數(shù)據(jù)包;
步驟二、根據(jù)過濾匹配列表對網(wǎng)絡(luò)數(shù)據(jù)包進行過濾處理;
步驟三、管理用戶能夠通過過濾規(guī)則配置模塊對過濾匹配列表內(nèi)容進行配置修改,保證過濾匹配內(nèi)容的及時有效性。
[0016]步驟一具體包括如下步驟:
(1)、對操作系統(tǒng)進行配置,使PowerPC的數(shù)據(jù)通道加速架構(gòu)DPAA能夠正常工作;
(2)、申請一大塊物理地址連續(xù)的內(nèi)存用于用戶空間USDPAA收發(fā)網(wǎng)絡(luò)數(shù)據(jù)包,并且通過mmap映射到用戶空間,實現(xiàn)零拷貝,保證在用戶空間快速高效獲取網(wǎng)絡(luò)數(shù)據(jù)包。
[0017]步驟二具體包括如下步驟:
(I )、將網(wǎng)絡(luò)數(shù)據(jù)包交由過濾規(guī)則匹配模塊進行判斷;
(2)、過濾規(guī)則匹配模塊將網(wǎng)絡(luò)數(shù)據(jù)包與自身所存儲的過濾匹配列表內(nèi)容進行匹配,并將匹配結(jié)果和匹配策略通知數(shù)據(jù)過濾模塊;
(3)、數(shù)據(jù)過濾模塊根據(jù)匹配結(jié)果和匹配策略來決定網(wǎng)絡(luò)數(shù)據(jù)包是否通過,并且記錄相關(guān)日志信息。
[0018]實施例2:
本發(fā)明的一種基于PowerPC硬件架構(gòu)的網(wǎng)絡(luò)數(shù)據(jù)包過濾方法,PowerPC硬件架構(gòu)采用PowerPC多核網(wǎng)絡(luò)處理器,PowerPC多核網(wǎng)絡(luò)處理器采用DPAA技術(shù),包括如下步驟:
步驟一、在操作系統(tǒng)用戶空間獲取網(wǎng)絡(luò)數(shù)據(jù)包;
步驟二、根據(jù)過濾匹配列表對網(wǎng)絡(luò)數(shù)據(jù)包進行過濾處理;
步驟三、管理用戶能夠通過過濾規(guī)則配置模塊對過濾匹配列表內(nèi)容進行配置修改,保證過濾匹配內(nèi)容的及時有效性。
[0019]步驟一具體包括如下步驟:
(1)、對操作系統(tǒng)進行配置,使PowerPC的數(shù)據(jù)通道加速架構(gòu)DPAA能夠正常工作;
(2)、申請一大塊物理地址連續(xù)的內(nèi)存用于用戶空間USDPAA收發(fā)網(wǎng)絡(luò)數(shù)據(jù)包,并且通過mmap映射到用戶空間,實現(xiàn)零拷貝,保證在用戶空間快速高效獲取網(wǎng)絡(luò)數(shù)據(jù)包。
[0020]步驟二具體包括如下步驟:
(I )、將網(wǎng)絡(luò)數(shù)據(jù)包交由過濾規(guī)則匹配模塊進行判斷;
(2)、過濾規(guī)則匹配模塊將網(wǎng)絡(luò)數(shù)據(jù)包與自身所存儲的過濾匹配列表內(nèi)容進行匹配,并將匹配結(jié)果和匹配策略通知數(shù)據(jù)過濾模塊;
(3)、數(shù)據(jù)過濾模塊根據(jù)匹配結(jié)果和匹配策略來決定網(wǎng)絡(luò)數(shù)據(jù)包是否通過,并且記錄相關(guān)日志信息。
[0021]PowerPC硬件架構(gòu)采用飛思卡爾公司推出的PowerPC多核網(wǎng)絡(luò)處理器。
[0022]實施例3:
本發(fā)明的一種基于PowerPC硬件架構(gòu)的網(wǎng)絡(luò)數(shù)據(jù)包過濾方法,包含獲取網(wǎng)絡(luò)數(shù)據(jù)包、對網(wǎng)絡(luò)數(shù)據(jù)包進行過濾處理、對過濾匹配列表進行維護三部分,具體如下:
一、在操作系統(tǒng)用戶空間獲取網(wǎng)絡(luò)數(shù)據(jù)包:
I)對操作系統(tǒng)進行配置,使PowerPC的數(shù)據(jù)通道加速架構(gòu)DPAA (DatapathAccelerat1n Architecture)能夠正常工作;
DPAA主要包括BMan、QMan、FMan、RMan四個模塊,BMan提供了內(nèi)存緩存池功能,可以減輕軟件對內(nèi)核管理的負載,QMan為網(wǎng)絡(luò)接口硬件加速模塊,為CPU內(nèi)核之間提供了數(shù)據(jù)隊列的功能,F(xiàn)Man用于解析、分類和分發(fā)書包,RMan用于網(wǎng)絡(luò)數(shù)據(jù)包的Rapid1接口高速傳輸。要使這四個模塊能夠正常工作,需要進行以下操作:
a)在內(nèi)核編譯選項選中對以上模塊的支持;
b)在dts文件中加入對以上模塊的支持;
c)在文件系統(tǒng)中加入對fmc等DPAA配置工具以及usdpaa_policy_hash_ipv4.xml等DPAA配置文件的支持。
[0023]d)重新編譯內(nèi)核和文件系統(tǒng),并將其燒寫到PowerPC主板中。
[0024]e)系統(tǒng)啟動后,運行fmc配置工具,對DPAA進行配置,使DPAA可以正常工作。
[0025]2)申請一大塊物理地址連續(xù)的內(nèi)存用于用戶空間UPAA (USDPAA)收發(fā)網(wǎng)絡(luò)數(shù)據(jù)包,并且通過mmap映射到用戶空間,實現(xiàn)零拷貝,保證在用戶空間快速高效獲取網(wǎng)絡(luò)數(shù)據(jù)包;
使用Π0 (Userspace 1/0)技術(shù),能夠映射DPAA寄存器到用戶空間,從而使接口層的FMan, QMan, RMan接口直接與驅(qū)動層的FMan、QMan, RMan驅(qū)動進行通信,避免之前采用的1ctl接口頻繁從用戶空間到內(nèi)核空間的這種低效率調(diào)用方式,從而保證在應(yīng)用程序?qū)幽軌蚩焖俑咝У墨@取網(wǎng)絡(luò)數(shù)據(jù)包。
[0026]二、根據(jù)過濾匹配列表對網(wǎng)絡(luò)數(shù)據(jù)包進行過濾處理:
I)將網(wǎng)絡(luò)數(shù)據(jù)包交由過濾規(guī)則匹配模塊進行判斷;
應(yīng)用程序通過調(diào)用接口層QMan接口獲取網(wǎng)絡(luò)數(shù)據(jù)包,并將其交給過濾規(guī)則匹配模塊進行過濾匹配。
[0027]2)過濾規(guī)則匹配模塊將網(wǎng)絡(luò)數(shù)據(jù)包與自身所存儲的過濾匹配列表內(nèi)容進行匹配,并將匹配結(jié)果和匹配策略通知數(shù)據(jù)過濾模塊;
過濾規(guī)則信息內(nèi)容包括IP五元組、應(yīng)用協(xié)議類型/內(nèi)容、時間、QOS等其他網(wǎng)絡(luò)屬性信息以及采用白名單、黑名單何種規(guī)則匹配模式。
[0028]3)數(shù)據(jù)過濾模塊根據(jù)匹配結(jié)果和匹配策略來決定網(wǎng)絡(luò)數(shù)據(jù)包是否通過,并且記錄相關(guān)日志信息;
數(shù)據(jù)過濾模塊從過濾規(guī)則匹配模塊得到匹配結(jié)果(匹配成功/失敗)和匹配策略(允許/禁止數(shù)據(jù)包通過、是否需要記錄日志信息等),如果允許網(wǎng)絡(luò)數(shù)據(jù)包通過,調(diào)用接口層QMan接口、RMan接口實現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)包轉(zhuǎn)發(fā),否則在數(shù)據(jù)過濾模塊丟棄網(wǎng)絡(luò)數(shù)據(jù)包。
[0029]三、對過濾匹配列表進行維護:
管理用戶可通過過濾配置模塊對過濾匹配列表內(nèi)容進行配置修改,保證過濾匹配內(nèi)容的及時有效性。
[0030]上述【具體實施方式】僅是本發(fā)明的具體個案,本發(fā)明的專利保護范圍包括但不限于上述【具體實施方式】,任何符合本發(fā)明的一種基于PowerPC硬件架構(gòu)的網(wǎng)絡(luò)數(shù)據(jù)包過濾方法的權(quán)利要求書的且任何所屬【技術(shù)領(lǐng)域】的普通技術(shù)人員對其所做的適當變化或替換,皆應(yīng)落入本發(fā)明的專利保護范圍。
【權(quán)利要求】
1.一種基于PowerPC硬件架構(gòu)的網(wǎng)絡(luò)數(shù)據(jù)包過濾方法,其特征在于PowerPC硬件架構(gòu)采用PowerPC多核網(wǎng)絡(luò)處理器,PowerPC多核網(wǎng)絡(luò)處理器采用DPAA技術(shù),包括如下步驟: 步驟一、在操作系統(tǒng)用戶空間獲取網(wǎng)絡(luò)數(shù)據(jù)包; 步驟二、根據(jù)過濾匹配列表對網(wǎng)絡(luò)數(shù)據(jù)包進行過濾處理; 步驟三、管理用戶能夠通過過濾規(guī)則配置模塊對過濾匹配列表內(nèi)容進行配置修改,保證過濾匹配內(nèi)容的及時性。
2.根據(jù)權(quán)利要求1所述的一種基于PowerPC硬件架構(gòu)的網(wǎng)絡(luò)數(shù)據(jù)包過濾方法,其特征在于步驟一具體包括如下步驟: (1)、對操作系統(tǒng)進行配置,使PowerPC的數(shù)據(jù)通道加速架構(gòu)DPAA能夠正常工作; (2)、申請一大塊物理地址連續(xù)的內(nèi)存用于用戶空間USDPAA收發(fā)網(wǎng)絡(luò)數(shù)據(jù)包,并且通過mmap映射到用戶空間,實現(xiàn)零拷貝,保證在用戶空間快速高效獲取網(wǎng)絡(luò)數(shù)據(jù)包。
3.根據(jù)權(quán)利要求1所述的一種基于PowerPC硬件架構(gòu)的網(wǎng)絡(luò)數(shù)據(jù)包過濾方法,其特征在于步驟二具體包括如下步驟: (I )、將網(wǎng)絡(luò)數(shù)據(jù)包交由過濾規(guī)則匹配模塊進行判斷; (2)、過濾規(guī)則匹配模塊將網(wǎng)絡(luò)數(shù)據(jù)包與自身所存儲的過濾匹配列表內(nèi)容進行匹配,并將匹配結(jié)果和匹配策略通知數(shù)據(jù)過濾模塊; (3)、數(shù)據(jù)過濾模塊根據(jù)匹配結(jié)果和匹配策略來決定網(wǎng)絡(luò)數(shù)據(jù)包是否通過,并且記錄相關(guān)日志信息。
4.根據(jù)權(quán)利要求1所述的一種基于PowerPC硬件架構(gòu)的網(wǎng)絡(luò)數(shù)據(jù)包過濾方法,其特征在于PowerPC硬件架構(gòu)采用飛思卡爾公司推出的PowerPC多核網(wǎng)絡(luò)處理器。
【文檔編號】H04L12/861GK104202315SQ201410420248
【公開日】2014年12月10日 申請日期:2014年8月25日 優(yōu)先權(quán)日:2014年8月25日
【發(fā)明者】李巖 申請人:山東超越數(shù)控電子有限公司