專利名稱:網(wǎng)絡(luò)設(shè)備及其處理封包的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種網(wǎng)絡(luò)設(shè)備,尤指一種網(wǎng)絡(luò)設(shè)備及其處理封包的方法。
背景技術(shù):
Li皿x作為較早的源代碼開放操作系統(tǒng),具有低廉成本與高度可設(shè)定性的優(yōu)點(diǎn),得到越 來越廣泛的利用,如Linux常常被應(yīng)用于嵌入式系統(tǒng),例如機(jī)頂盒、移動電話及移動裝置等
網(wǎng)絡(luò)過濾器(Netfilter)為Li皿x系統(tǒng)中的重要元件,其可用于從網(wǎng)絡(luò)中獲取包括用戶 所需求訊息的封包,然,其只能處理ACCEPT/DROP/REJECT等動作,無法將封包與應(yīng)用程序聯(lián) 系起來
發(fā)明內(nèi)容
有鑒于此,需提供一種網(wǎng)絡(luò)設(shè)備,用于處理封包。 此外,還需提供一種處理封包的方法。
一種網(wǎng)絡(luò)設(shè)備,用于處理封包,包括用戶守護(hù)進(jìn)程及內(nèi)核模塊。用戶守護(hù)進(jìn)程包括多個(gè) 功能子進(jìn)程。內(nèi)核模塊包括規(guī)則表、網(wǎng)絡(luò)過濾子模塊及目標(biāo)擴(kuò)展子模塊。規(guī)則表包括多個(gè)匹 配條件、與所述匹配條件對應(yīng)的多個(gè)目標(biāo)及多個(gè)執(zhí)行動作。網(wǎng)絡(luò)過濾子模塊用于接收封包, 査詢該規(guī)則表內(nèi)同該封包對應(yīng)的匹配條件,并發(fā)送該封包至該匹配條件對應(yīng)的目標(biāo)。目標(biāo)擴(kuò) 展子模塊用于接收該網(wǎng)絡(luò)過濾子模塊所傳送的封包,從該規(guī)則表獲取與該封包對應(yīng)的匹配條 件對應(yīng)的執(zhí)行動作,并傳送該封包與該執(zhí)行動作至該用戶守護(hù)進(jìn)程。其中,該用戶守護(hù)進(jìn)程 用于根據(jù)該執(zhí)行動作傳送該封包至對應(yīng)的功能子進(jìn)程進(jìn)行處理。
一種處理封包的方法,用于網(wǎng)絡(luò)設(shè)備中,該處理封包的方法包括接收封包,査詢規(guī)則 表內(nèi)同該封包對應(yīng)的匹配條件,并發(fā)送該封包至該匹配條件對應(yīng)的目標(biāo);接收網(wǎng)絡(luò)過濾子模 塊所傳送的封包,從該規(guī)則表獲取與該封包對應(yīng)的匹配條件對應(yīng)的執(zhí)行動作,并傳送該封包 與該執(zhí)行動作至用戶守護(hù)進(jìn)程;及根據(jù)該執(zhí)行動作傳送該封包至對應(yīng)的功能子進(jìn)程進(jìn)行處理
所述網(wǎng)絡(luò)設(shè)備通過設(shè)定規(guī)則及目標(biāo)擴(kuò)展子模塊,將封包與相應(yīng)的程序/進(jìn)程關(guān)聯(lián)起來, 從而可將封包傳送至用戶端程序進(jìn)行處理,如此減少了內(nèi)核模塊的負(fù)擔(dān)。
4圖1是本發(fā)明 一實(shí)施方式中網(wǎng)絡(luò)設(shè)備的模塊圖。 圖2是本發(fā)明 一實(shí)施方式中處理封包的方法的流程圖。
具體實(shí)施例方式
請參閱圖l,所示為本發(fā)明一實(shí)施方式中網(wǎng)絡(luò)設(shè)備10的模塊圖。在本實(shí)施方式中,網(wǎng)絡(luò) 設(shè)備10用于處理封包,其為具有Li皿x系統(tǒng)的設(shè)備,包括計(jì)算機(jī)、機(jī)頂盒等。網(wǎng)絡(luò)設(shè)備10包 括用戶守護(hù)進(jìn)程30及內(nèi)核模塊20。內(nèi)核模塊20用于提供網(wǎng)絡(luò)設(shè)備10的工作程序,如驅(qū)動程序 等,其包括網(wǎng)絡(luò)過濾子模塊(netfilter) 200、目標(biāo)擴(kuò)展子模塊210及規(guī)則表220。
規(guī)則表220包括多個(gè)匹配條件、與所述匹配條件對應(yīng)的目標(biāo)及執(zhí)行動作。在本實(shí)施方式 中,該匹配條件為封包的來源因特網(wǎng)地址,在本發(fā)明的其它實(shí)施方式中,該匹配條件也可為 封包的來源端口、目的因特網(wǎng)地址等。該目標(biāo)包括該目標(biāo)擴(kuò)展子模塊210,目標(biāo)擴(kuò)展子模塊 21 O對應(yīng)的執(zhí)行動作為執(zhí)行該執(zhí)行動作的命令。在本實(shí)施方式中,規(guī)則表220可由用戶根據(jù)需 要設(shè)定。
網(wǎng)絡(luò)過濾子模塊200用于接收封包,并根據(jù)該規(guī)則表220傳送該封包。網(wǎng)絡(luò)過濾子模塊 200接收封包,査詢該規(guī)則表220內(nèi)同該封包對應(yīng)的匹配條件,并發(fā)送該封包至該匹配條件對 應(yīng)的目標(biāo)。若該封包符合與該目標(biāo)擴(kuò)展子模塊210對應(yīng)的匹配條件,該網(wǎng)絡(luò)過濾子模塊200傳 送該封包至該目標(biāo)擴(kuò)展子模塊210。
目標(biāo)擴(kuò)展子模塊210用于接收該網(wǎng)絡(luò)過濾子模塊200所傳送的封包,從該規(guī)則表220獲取 與該封包的匹配條件對應(yīng)的執(zhí)行動作,并傳送該封包與該執(zhí)行動作至用戶守護(hù)進(jìn)程30。在本 實(shí)施方式中,用戶守護(hù)進(jìn)程30為用戶空間程序(User Space Program),其通過netlink與 目標(biāo)擴(kuò)展子模塊210通訊。用戶守護(hù)進(jìn)程30包括多個(gè)功能子進(jìn)程,如第一功能子進(jìn)程40、第 二功能子進(jìn)程50及第N功能子進(jìn)程60,其用于接收目標(biāo)擴(kuò)展子模塊210傳送的封包及執(zhí)行動作 ,并根據(jù)該執(zhí)行動作傳送該封包至對應(yīng)的功能子進(jìn)程進(jìn)行處理。用戶守護(hù)進(jìn)程30還用于判斷 是否存在同該執(zhí)行動作對應(yīng)的功能子進(jìn)程,若有,則發(fā)送該封包至對應(yīng)的功能子進(jìn)程進(jìn)行處 理;若無,則根據(jù)該執(zhí)行動作創(chuàng)建新的功能子進(jìn)程,并把封包傳送至新的功能子進(jìn)程進(jìn)行處 理。該等功能子進(jìn)程用于處理不同的封包及執(zhí)行不同的動作。
圖2所示為本發(fā)明一實(shí)施方式中網(wǎng)絡(luò)設(shè)備10處理封包的方法的流程圖。首先,在步驟 S200,網(wǎng)絡(luò)過濾子模塊200接收封包,并根據(jù)該規(guī)則表220傳送該封包。在本實(shí)施方式中,網(wǎng) 絡(luò)過濾子模塊200査詢規(guī)則表220內(nèi)同該封包對應(yīng)的匹配條件,并發(fā)送該封包至該匹配條件對 應(yīng)的目標(biāo)。在步驟S202,目標(biāo)擴(kuò)展子模塊210接收該網(wǎng)絡(luò)過濾子模塊200所傳送的封包,從該 規(guī)則表220獲取與該封包對應(yīng)的執(zhí)行動作,并傳送該封包與該執(zhí)行動作至用戶守護(hù)進(jìn)程30。
5在步驟S204,用戶守護(hù)進(jìn)程30接收目標(biāo)擴(kuò)展子模塊210傳送的封包及執(zhí)行動作,并根據(jù) 該執(zhí)行動作傳送該封包至對應(yīng)的功能子進(jìn)程進(jìn)行處理。在本實(shí)施方式中,用戶守護(hù)進(jìn)程30判 斷是否存在同該執(zhí)行動作對應(yīng)的功能子進(jìn)程,若有,則發(fā)送該封包至對應(yīng)的功能子進(jìn)程進(jìn)行 處理;若無,則根據(jù)該執(zhí)行動作創(chuàng)建新的功能子進(jìn)程,并把封包傳送至新的功能子進(jìn)程進(jìn)行 處理。
網(wǎng)絡(luò)設(shè)備10通過設(shè)定規(guī)則,將封包與相應(yīng)的程序/進(jìn)程關(guān)聯(lián)起來,從而可將封包傳送至 用戶空間程序進(jìn)行處理,如此減少了內(nèi)核模塊20的負(fù)擔(dān),且用戶可用不同的程序語言編寫應(yīng) 用程序30,靈活性較高,此外,即使應(yīng)用程序30出現(xiàn)錯誤,也不會對內(nèi)核模塊20產(chǎn)生影響, 不會引起網(wǎng)絡(luò)設(shè)備10崩潰。
權(quán)利要求
1.一種網(wǎng)絡(luò)設(shè)備,用于處理封包,其特征在于包括用戶守護(hù)進(jìn)程,包括多個(gè)功能子進(jìn)程;及內(nèi)核模塊,包括規(guī)則表,包括多個(gè)匹配條件、與所述匹配條件對應(yīng)的多個(gè)目標(biāo)及多個(gè)執(zhí)行動作;網(wǎng)絡(luò)過濾子模塊,用于接收封包,查詢所述規(guī)則表內(nèi)同所述封包對應(yīng)的匹配條件,并發(fā)送所述封包至所述匹配條件對應(yīng)的目標(biāo);及目標(biāo)擴(kuò)展子模塊,用于接收所述網(wǎng)絡(luò)過濾子模塊所傳送的封包,從所述規(guī)則表獲取與所述封包對應(yīng)的匹配條件對應(yīng)的執(zhí)行動作,并傳送所述封包與所述執(zhí)行動作至所述用戶守護(hù)進(jìn)程;其中,所述用戶守護(hù)進(jìn)程用于根據(jù)所述執(zhí)行動作傳送所述封包至對應(yīng)的功能子進(jìn)程進(jìn)行處理。
2.如權(quán)利要求l所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述目標(biāo)包括所述目 標(biāo)擴(kuò)展子模塊。
3.如權(quán)利要求2所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述目標(biāo)擴(kuò)展子模塊 對應(yīng)的執(zhí)行動作為執(zhí)行所述執(zhí)行動作的命令。
4.如權(quán)利要求l所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述用戶守護(hù)進(jìn)程為 用戶空間程序,通過netlink與所述目標(biāo)擴(kuò)展子模塊通訊。
5.如權(quán)利要求l所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述用戶守護(hù)進(jìn)程還 用于判斷是否存在同所述執(zhí)行動作對應(yīng)的功能子進(jìn)程。
6.如權(quán)利要求5所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述用戶守護(hù)進(jìn)程還 用于當(dāng)不存在同所述執(zhí)行動作對應(yīng)的功能子進(jìn)程時(shí),根據(jù)所述執(zhí)行動作創(chuàng)建新的功能子進(jìn)程 ,并把所述封包傳送至所述新的功能子進(jìn)程進(jìn)行處理。
7. 一種處理封包的方法,用于網(wǎng)絡(luò)設(shè)備中,其特征在于,所述處理 封包的方法包括接收封包,査詢規(guī)則表內(nèi)同所述封包對應(yīng)的匹配條件,并發(fā)送所述封包至所述匹配條 件對應(yīng)的目標(biāo);接收網(wǎng)絡(luò)過濾子模塊所傳送的封包,從所述規(guī)則表獲取與所述封包對應(yīng)的匹配條件對 應(yīng)的執(zhí)行動作,并傳送所述封包與所述執(zhí)行動作至用戶守護(hù)進(jìn)程;及根據(jù)所述執(zhí)行動作傳送所述封包至對應(yīng)的功能子進(jìn)程進(jìn)行處理。
8.如權(quán)利要求7所述的處理封包的方法,其特征在于,根據(jù)所述執(zhí)行 動作傳送所述封包至對應(yīng)的功能子進(jìn)程進(jìn)行處理的步驟還包括以下步驟判斷是否存在同所述執(zhí)行動作對應(yīng)的功能子進(jìn)程;及若有,則發(fā)送所述封包至所述對應(yīng)的功能子進(jìn)程進(jìn)行處理。
9.如權(quán)利要求8所述的處理封包的方法,其特征在于,根據(jù)所述執(zhí)行 動作傳送所述封包至對應(yīng)的功能子進(jìn)程進(jìn)行處理的步驟還包括以下步驟若無,則根據(jù)所述執(zhí)行動作創(chuàng)建新的功能子進(jìn)程,并把封包傳送至所述新的功能子進(jìn) 程進(jìn)行處理。
全文摘要
一種網(wǎng)絡(luò)設(shè)備,包括用戶守護(hù)進(jìn)程及內(nèi)核模塊。內(nèi)核模塊包括規(guī)則表、網(wǎng)絡(luò)過濾子模塊及目標(biāo)擴(kuò)展子模塊。規(guī)則表包括多個(gè)匹配條件、與這些匹配條件對應(yīng)的多個(gè)目標(biāo)及多個(gè)執(zhí)行動作。網(wǎng)絡(luò)過濾子模塊用于接收封包,查詢規(guī)則表內(nèi)同該封包對應(yīng)的匹配條件,并發(fā)送該封包至該匹配條件對應(yīng)的目標(biāo)。目標(biāo)擴(kuò)展子模塊用于接收網(wǎng)絡(luò)過濾子模塊所傳送的封包,從規(guī)則表獲取與該封包對應(yīng)的匹配條件對應(yīng)的執(zhí)行動作,并傳送封包與執(zhí)行動作至用戶守護(hù)進(jìn)程。用戶守護(hù)進(jìn)程用于根據(jù)執(zhí)行動作傳送封包至對應(yīng)的功能子進(jìn)程進(jìn)行處理。所述網(wǎng)絡(luò)設(shè)備通過設(shè)定規(guī)則及目標(biāo)擴(kuò)展子模塊,將封包與相應(yīng)的程序/進(jìn)程關(guān)聯(lián)起來,從而可將封包傳送至用戶端程序進(jìn)行處理,如此減少內(nèi)核模塊的負(fù)擔(dān)。
文檔編號H04L29/06GK101651672SQ20081030377
公開日2010年2月17日 申請日期2008年8月14日 優(yōu)先權(quán)日2008年8月14日
發(fā)明者李慶輝, 杜耀宏 申請人:鴻富錦精密工業(yè)(深圳)有限公司;鴻海精密工業(yè)股份有限公司