1.一種實現(xiàn)IEC60870-5-104協(xié)議低延遲處理工業(yè)防火墻的方法,其特征在于,包括以下步驟:
步驟102:在數(shù)據(jù)包到來時只觸發(fā)一次硬中斷,后續(xù)關(guān)閉硬中斷并采用輪詢方式接收處理數(shù)據(jù)包,直到?jīng)]有數(shù)據(jù)包;
步驟104:為每一個隊列申請一個中斷號,通過SMP架構(gòu),將各個隊列通過中斷綁定到不同的核上,在同一時刻所有的核都可以處理網(wǎng)卡數(shù)據(jù);
步驟106:根據(jù)端口是否為2404以及數(shù)據(jù)段中前兩個字節(jié)是否為68H來確定是否為的IEC60870-5-104數(shù)據(jù)包;
步驟108:實現(xiàn)規(guī)則匹配批量處理,策略規(guī)則主要是針對上下游機(jī)器的IP地址進(jìn)行防護(hù)的規(guī)則;
步驟110:將處理模塊直接掛載于內(nèi)核提供的HOOK點上;
步驟112:采用HASH算法,提高四元組、五元組信息的匹配速度。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟102包括在數(shù)據(jù)包到來之前,網(wǎng)卡驅(qū)動采用NAPI模式并修改網(wǎng)卡驅(qū)動時只觸發(fā)一次硬中斷。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述步驟102還包括到達(dá)輪詢最大時間或到達(dá)輪詢最大數(shù)據(jù)量時重新開啟硬中斷。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟104包括:采用多隊列網(wǎng)卡,多核CPU,為每一個隊列申請一個中斷號。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟106包括:應(yīng)用IEC60870-5-104檢測機(jī)制,根據(jù)端口是否為2404以及數(shù)據(jù)段中前兩個字節(jié)是否為68H來確定是否為的IEC60870-5-104數(shù)據(jù)包。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟108包括:將用戶下發(fā)的策略規(guī)則采用IPSET工具進(jìn)行優(yōu)化,實現(xiàn)規(guī)則匹配批量處理,策略規(guī)則針對上下游機(jī)器的IP地址進(jìn)行防護(hù)的規(guī)則,防護(hù)的規(guī)則包括禁止或允許某一IP地址的某一協(xié)議類型的數(shù)據(jù)流。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟108包括:IPSET將多條防護(hù)的規(guī)則存放于一個地址集合sets。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟110包括:采用基于Linux內(nèi)核Netfilter架構(gòu)的HOOK處理機(jī)制,將處理模塊直接掛載于內(nèi)核提供的HOOK點上。