專利名稱:基于Linux系統(tǒng)的報(bào)文轉(zhuǎn)發(fā)方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及嵌入式轉(zhuǎn)發(fā)領(lǐng)域,具體而言,涉及一種基于Limix系統(tǒng)的報(bào)文轉(zhuǎn)發(fā)方 法和裝置。
背景技術(shù):
Linux作為一種優(yōu)秀的操作系統(tǒng),它具備完備的網(wǎng)絡(luò)協(xié)議棧處理功能。同時(shí)它還 支持多用戶,多進(jìn)程,實(shí)時(shí)性好,功能強(qiáng)大而且穩(wěn)定,具有良好的兼容性和可移植性, 是一種非常適合應(yīng)用于嵌入式轉(zhuǎn)發(fā)設(shè)備的操作系統(tǒng),用戶可以根據(jù)需要方便的對(duì)其進(jìn)行 裁剪和相關(guān)性能的改進(jìn)。如圖1和圖2所示,Linux協(xié)議棧采用虛設(shè)備描述各個(gè)轉(zhuǎn)發(fā)接口,而轉(zhuǎn)發(fā)表的查 找都是以尋找到目的虛設(shè)備為目標(biāo)的。查找到目的設(shè)備后,通過回調(diào)目的設(shè)備的發(fā)包回 調(diào)函數(shù),繼而調(diào)用驅(qū)動(dòng)接口,就可以完成數(shù)據(jù)包的轉(zhuǎn)發(fā)。在發(fā)包時(shí)可以選擇兩種方式, 由設(shè)備的回調(diào)函數(shù)直接發(fā)包,或者采用qdiskClimix設(shè)備處理報(bào)文的發(fā)送隊(duì)列)隊(duì)列緩沖發(fā) 包的方法。這種處理方法盡管滿足了大多數(shù)轉(zhuǎn)發(fā)設(shè)備的發(fā)包需求,但在具體的應(yīng)用過程 中,尤其是針對(duì)性能要求較高的系統(tǒng),其并不能完全滿足性能的要求。由上可知,相關(guān)技術(shù)中的報(bào)文轉(zhuǎn)發(fā)方法的轉(zhuǎn)發(fā)效率較低。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種基于Linux系統(tǒng)的報(bào)文轉(zhuǎn)發(fā)方法和裝置,以至少 解決上述問題。根據(jù)本發(fā)明的一個(gè)方面,提供了一種基于Limix系統(tǒng)的報(bào)文轉(zhuǎn)發(fā)方法,其包括 接收需要被轉(zhuǎn)發(fā)的報(bào)文;從轉(zhuǎn)發(fā)表中獲取上述報(bào)文轉(zhuǎn)發(fā)的目的端口在嵌入式轉(zhuǎn)發(fā)設(shè)備中 對(duì)應(yīng)的轉(zhuǎn)發(fā)參數(shù);根據(jù)上述轉(zhuǎn)發(fā)參數(shù)將上述報(bào)文轉(zhuǎn)發(fā)給上述目的端口。進(jìn)一步地,從轉(zhuǎn)發(fā)表中獲取上述報(bào)文轉(zhuǎn)發(fā)的目的端口在嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng) 的轉(zhuǎn)發(fā)參數(shù)的步驟包括從轉(zhuǎn)發(fā)表中獲取上述報(bào)文轉(zhuǎn)發(fā)的目的端口在嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng)的二層轉(zhuǎn)發(fā) 參數(shù)和/或三層轉(zhuǎn)發(fā)參數(shù)。進(jìn)一步地,從轉(zhuǎn)發(fā)表中獲取上述報(bào)文轉(zhuǎn)發(fā)的目的端口在嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng) 的轉(zhuǎn)發(fā)參數(shù)之前,還包括將目的端口在嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng)的轉(zhuǎn)發(fā)參數(shù)作為上述二 層轉(zhuǎn)發(fā)參數(shù)存儲(chǔ)在二層轉(zhuǎn)發(fā)使用的mac表中。進(jìn)一步地,從轉(zhuǎn)發(fā)表中獲取上述報(bào)文轉(zhuǎn)發(fā)的目的端口在嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng) 的轉(zhuǎn)發(fā)參數(shù)之前,還包括通過路由、地址解析協(xié)議(ARP)和mac表之間的關(guān)系計(jì)算出 三層轉(zhuǎn)發(fā)使用到的路由、主機(jī)路由在嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng)的出接口,并將上述出接口 的參數(shù)作為上述三層轉(zhuǎn)發(fā)參數(shù)保存在上述轉(zhuǎn)發(fā)表的數(shù)據(jù)區(qū)中。進(jìn)一步地,根據(jù)上述轉(zhuǎn)發(fā)參數(shù)將上述報(bào)文轉(zhuǎn)發(fā)給上述目的端口的步驟包括在 上述報(bào)文的報(bào)文頭中添加上述轉(zhuǎn)發(fā)參數(shù);根據(jù)上述報(bào)文頭將上述報(bào)文轉(zhuǎn)發(fā)給上述目的端
4
進(jìn)一步地,根據(jù)上述報(bào)文頭將上述報(bào)文轉(zhuǎn)發(fā)給上述目的端口的步驟包括調(diào)用 驅(qū)動(dòng)接口將攜帶有上述報(bào)文頭的報(bào)文轉(zhuǎn)發(fā)給上述目的端口。根據(jù)本發(fā)明的另一方面,提供了一種基于Limix系統(tǒng)的報(bào)文轉(zhuǎn)發(fā)裝置,其包括 接收單元,用于接收需要被轉(zhuǎn)發(fā)的報(bào)文;獲取單元,用于從轉(zhuǎn)發(fā)表中獲取上述報(bào)文轉(zhuǎn)發(fā) 的目的端口在嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng)的轉(zhuǎn)發(fā)參數(shù);轉(zhuǎn)發(fā)單元,用于根據(jù)上述轉(zhuǎn)發(fā)參數(shù)將 上述報(bào)文轉(zhuǎn)發(fā)給上述目的端口。進(jìn)一步地,上述獲取單元包括獲取模塊,用于從轉(zhuǎn)發(fā)表中獲取上述報(bào)文轉(zhuǎn)發(fā) 的目的端口在嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng)的二層轉(zhuǎn)發(fā)參數(shù)和/或三層轉(zhuǎn)發(fā)參數(shù)。進(jìn)一步地,還包括表項(xiàng)管理單元,用于從轉(zhuǎn)發(fā)表中獲取上述報(bào)文轉(zhuǎn)發(fā)的目的 端口在嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng)的轉(zhuǎn)發(fā)參數(shù)之前,將目的端口在嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng)的 轉(zhuǎn)發(fā)參數(shù)作為上述二層轉(zhuǎn)發(fā)參數(shù)存儲(chǔ)在二層轉(zhuǎn)發(fā)使用的mac表中;和/或,通過路由、 ARP和mac表之間的關(guān)系計(jì)算出三層轉(zhuǎn)發(fā)使用到的路由、主機(jī)路由在嵌入式轉(zhuǎn)發(fā)設(shè)備中 對(duì)應(yīng)的出接口,并將上述出接口的參數(shù)作為上述三層轉(zhuǎn)發(fā)參數(shù)保存在上述轉(zhuǎn)發(fā)表的數(shù)據(jù) 區(qū)中。進(jìn)一步地,上述轉(zhuǎn)發(fā)單元包括處理模塊,用于在上述報(bào)文的報(bào)文頭中添加上 述轉(zhuǎn)發(fā)參數(shù);轉(zhuǎn)發(fā)模塊,用于根據(jù)上述報(bào)文頭將上述報(bào)文轉(zhuǎn)發(fā)給上述目的端口。在本發(fā)明中,針對(duì)嵌入式轉(zhuǎn)發(fā)系統(tǒng),構(gòu)建便于查找嵌入式系統(tǒng)轉(zhuǎn)發(fā)參數(shù)的轉(zhuǎn)發(fā) 表,然后對(duì)Iimix轉(zhuǎn)發(fā)系統(tǒng)進(jìn)行修改,不再需要查找目的設(shè)備,只需要從轉(zhuǎn)發(fā)表里獲取目 的端口在嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng)的轉(zhuǎn)發(fā)參數(shù),對(duì)報(bào)文頭進(jìn)行相關(guān)修改后調(diào)用驅(qū)動(dòng)接口即 可完成報(bào)文的發(fā)送,從而解決了現(xiàn)有技術(shù)中報(bào)文轉(zhuǎn)發(fā)效率較低的問題,達(dá)到提高轉(zhuǎn)發(fā)效 率的目的。
此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本 發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖 中圖1是根據(jù)相關(guān)技術(shù)的嵌入式轉(zhuǎn)發(fā)系統(tǒng)轉(zhuǎn)發(fā)表表項(xiàng)單元的示意圖;圖2是根據(jù)相關(guān)技術(shù)的Iimix協(xié)議棧查找目的設(shè)備并轉(zhuǎn)發(fā)處理流程的示意圖;圖3是根據(jù)本發(fā)明實(shí)施例的基于Linux系統(tǒng)的報(bào)文轉(zhuǎn)發(fā)方法的一種優(yōu)選流程圖;圖4是根據(jù)本發(fā)明實(shí)施例的基于Linux系統(tǒng)的報(bào)文轉(zhuǎn)發(fā)裝置的一種優(yōu)選結(jié)構(gòu)圖;圖5是根據(jù)本發(fā)明實(shí)施例的修改后的Iinux協(xié)議棧轉(zhuǎn)發(fā)查表處理流程的示意圖。
具體實(shí)施例方式下文中將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本發(fā)明。需要說明的是,在不沖突 的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。實(shí)施例1圖3是根據(jù)本發(fā)明實(shí)施例的基于Linux系統(tǒng)的報(bào)文轉(zhuǎn)發(fā)方法的一種優(yōu)選流程圖, 其包括如下步驟
S302,接收需要被轉(zhuǎn)發(fā)的報(bào)文;S304,從轉(zhuǎn)發(fā)表中獲取所述報(bào)文轉(zhuǎn)發(fā)的目的端口在嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng)的轉(zhuǎn) 發(fā)參數(shù);S306,根據(jù)所述轉(zhuǎn)發(fā)參數(shù)將所述報(bào)文轉(zhuǎn)發(fā)給所述目的端口。在本優(yōu)選的實(shí)施例中,針對(duì)嵌入式轉(zhuǎn)發(fā)系統(tǒng),構(gòu)建便于查找嵌入式系統(tǒng)轉(zhuǎn)發(fā)參 數(shù)的轉(zhuǎn)發(fā)表,然后對(duì)Kmix轉(zhuǎn)發(fā)系統(tǒng)進(jìn)行修改,不再需要查找目的設(shè)備,只需要從轉(zhuǎn)發(fā)表 里獲取目的端口在嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng)的轉(zhuǎn)發(fā)參數(shù),對(duì)報(bào)文頭進(jìn)行相關(guān)修改后調(diào)用驅(qū) 動(dòng)接口即可完成報(bào)文的發(fā)送,從而解決了現(xiàn)有技術(shù)中報(bào)文轉(zhuǎn)發(fā)效率較低的問題,達(dá)到提 高轉(zhuǎn)發(fā)效率的目的。優(yōu)選的,從轉(zhuǎn)發(fā)表中獲取所述報(bào)文轉(zhuǎn)發(fā)的目的端口在嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng)的 轉(zhuǎn)發(fā)參數(shù)的步驟包括從轉(zhuǎn)發(fā)表中獲取所述報(bào)文轉(zhuǎn)發(fā)的目的端口在嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì) 應(yīng)的二層轉(zhuǎn)發(fā)參數(shù)和/或三層轉(zhuǎn)發(fā)參數(shù)。在本優(yōu)選的實(shí)施例中,通過獲取二層轉(zhuǎn)發(fā)參數(shù) 和/或三層轉(zhuǎn)發(fā)參數(shù),實(shí)現(xiàn)了二層和三層的報(bào)文高效轉(zhuǎn)發(fā)。優(yōu)選的,從轉(zhuǎn)發(fā)表中獲取所述報(bào)文轉(zhuǎn)發(fā)的目的端口在嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng)的 轉(zhuǎn)發(fā)參數(shù)之前,根據(jù)本發(fā)明實(shí)施例的基于Limix系統(tǒng)的報(bào)文轉(zhuǎn)發(fā)方法還包括將目的 端口在嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng)的轉(zhuǎn)發(fā)參數(shù)作為所述二層轉(zhuǎn)發(fā)參數(shù)存儲(chǔ)在二層轉(zhuǎn)發(fā)使用的 mac (Media Access Control,媒體地址控制)表中。在本優(yōu)選的實(shí)施例中,通過存儲(chǔ)具體 的二層轉(zhuǎn)發(fā)參數(shù),實(shí)現(xiàn)了二層的報(bào)文高效轉(zhuǎn)發(fā)。優(yōu)選的,從轉(zhuǎn)發(fā)表中獲取所述報(bào)文轉(zhuǎn)發(fā)的目的端口在嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng)的 轉(zhuǎn)發(fā)參數(shù)之前,根據(jù)本發(fā)明實(shí)施例的基于Linux系統(tǒng)的報(bào)文轉(zhuǎn)發(fā)方法還包括通過路 由、ARP (Address Resolution Protocol,地址解析協(xié)議)和mac表之間的關(guān)系計(jì)算出三層轉(zhuǎn)
發(fā)使用到的路由、主機(jī)路由在嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng)的出接口,并將所述出接口的參數(shù) 作為所述三層轉(zhuǎn)發(fā)參數(shù)保存在所述轉(zhuǎn)發(fā)表的數(shù)據(jù)區(qū)中。在本優(yōu)選的實(shí)施例中,通過存儲(chǔ) 具體的三層轉(zhuǎn)發(fā)參數(shù),實(shí)現(xiàn)了三層的報(bào)文高效轉(zhuǎn)發(fā)。優(yōu)選的,根據(jù)所述轉(zhuǎn)發(fā)參數(shù)將所述報(bào)文轉(zhuǎn)發(fā)給所述目的端口的步驟包括在所 述報(bào)文的報(bào)文頭中添加所述轉(zhuǎn)發(fā)參數(shù);根據(jù)所述報(bào)文頭將所述報(bào)文轉(zhuǎn)發(fā)給所述目的端 口。在本優(yōu)選的實(shí)施例中,通過將轉(zhuǎn)發(fā)參數(shù)添加到報(bào)文頭,利用原有轉(zhuǎn)發(fā)流程即可提高 轉(zhuǎn)發(fā)效率,從而簡化了流程。優(yōu)選的,根據(jù)所述報(bào)文頭將所述報(bào)文轉(zhuǎn)發(fā)給所述目的端口的步驟包括調(diào)用驅(qū) 動(dòng)接口將攜帶有所述報(bào)文頭的報(bào)文轉(zhuǎn)發(fā)給所述目的端口。在本優(yōu)選的實(shí)施例中,通過調(diào) 用驅(qū)動(dòng)接口來轉(zhuǎn)發(fā)報(bào)文,可以保證發(fā)送的準(zhǔn)確性和高效性。實(shí)施例2圖4是根據(jù)本發(fā)明實(shí)施例的基于Linux系統(tǒng)的報(bào)文轉(zhuǎn)發(fā)裝置的一種優(yōu)選結(jié)構(gòu)圖, 其包括接收單元402,用于接收需要被轉(zhuǎn)發(fā)的報(bào)文;獲取單元404,用于從轉(zhuǎn)發(fā)表中獲 取所述報(bào)文轉(zhuǎn)發(fā)的目的端口在嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng)的轉(zhuǎn)發(fā)參數(shù);轉(zhuǎn)發(fā)單元406,用于 根據(jù)所述轉(zhuǎn)發(fā)參數(shù)將所述報(bào)文轉(zhuǎn)發(fā)給所述目的端口。在本優(yōu)選的實(shí)施例中,針對(duì)嵌入式轉(zhuǎn)發(fā)系統(tǒng),構(gòu)建便于查找嵌入式系統(tǒng)轉(zhuǎn)發(fā)參 數(shù)的轉(zhuǎn)發(fā)表,然后對(duì)Kmix轉(zhuǎn)發(fā)系統(tǒng)進(jìn)行修改,不再需要查找目的設(shè)備,只需要從轉(zhuǎn)發(fā)表 里獲取目的端口在嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng)的轉(zhuǎn)發(fā)參數(shù),對(duì)報(bào)文頭進(jìn)行相關(guān)修改后調(diào)用驅(qū)動(dòng)接口即可完成報(bào)文的發(fā)送,從而解決了現(xiàn)有技術(shù)中報(bào)文轉(zhuǎn)發(fā)效率較低的問題,達(dá)到提 高轉(zhuǎn)發(fā)效率的目的。優(yōu)選的,所述獲取單元404包括獲取模塊,用于從轉(zhuǎn)發(fā)表中獲取所述報(bào)文轉(zhuǎn) 發(fā)的目的端口在嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng)的二層轉(zhuǎn)發(fā)參數(shù)和/或三層轉(zhuǎn)發(fā)參數(shù)。在本優(yōu)選 的實(shí)施例中,通過獲取二層轉(zhuǎn)發(fā)參數(shù)和/或三層轉(zhuǎn)發(fā)參數(shù),實(shí)現(xiàn)了二層和三層的報(bào)文高 效轉(zhuǎn)發(fā)。優(yōu)選的,根據(jù)本發(fā)明實(shí)施例的基于Linux系統(tǒng)的報(bào)文轉(zhuǎn)發(fā)裝置還包括表項(xiàng)管 理單元408,用于從轉(zhuǎn)發(fā)表中獲取所述報(bào)文轉(zhuǎn)發(fā)的目的端口在嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng)的轉(zhuǎn) 發(fā)參數(shù)之前,將目的端口在嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng)的轉(zhuǎn)發(fā)參數(shù)作為所述二層轉(zhuǎn)發(fā)參數(shù)存 儲(chǔ)在二層轉(zhuǎn)發(fā)使用的mac表中;和/或,通過路由、ARP和mac表之間的關(guān)系計(jì)算出三 層轉(zhuǎn)發(fā)使用到的路由、主機(jī)路由在嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng)的出接口,并將所述出接口的 參數(shù)作為所述三層轉(zhuǎn)發(fā)參數(shù)保存在所述轉(zhuǎn)發(fā)表的數(shù)據(jù)區(qū)中。在本優(yōu)選的實(shí)施例中,通過 存儲(chǔ)具體的二層和三層轉(zhuǎn)發(fā)參數(shù),實(shí)現(xiàn)了二層和三層的報(bào)文高效轉(zhuǎn)發(fā)。優(yōu)選的,所述轉(zhuǎn)發(fā)單元406包括處理模塊,用于在所述報(bào)文的報(bào)文頭中添加 所述轉(zhuǎn)發(fā)參數(shù);轉(zhuǎn)發(fā)模塊,用于根據(jù)所述報(bào)文頭將所述報(bào)文轉(zhuǎn)發(fā)給所述目的端口。在 本優(yōu)選的實(shí)施例中,通過將轉(zhuǎn)發(fā)參數(shù)添加到報(bào)文頭,利用原有轉(zhuǎn)發(fā)流程即可提高轉(zhuǎn)發(fā)效 率,從而簡化了流程。優(yōu)選的,所述轉(zhuǎn)發(fā)單元406調(diào)用驅(qū)動(dòng)接口將攜帶有所述報(bào)文頭的報(bào)文轉(zhuǎn)發(fā)給所 述目的端口。在本優(yōu)選的實(shí)施例中,通過調(diào)用驅(qū)動(dòng)接口來轉(zhuǎn)發(fā)報(bào)文,可以保證發(fā)送的準(zhǔn) 確性和高效性。實(shí)施例3本發(fā)明實(shí)施例提出了一種Iinux轉(zhuǎn)發(fā)系統(tǒng)在嵌入式設(shè)備上的改進(jìn)應(yīng)用方法,其采 用了以下模塊表項(xiàng)管理模塊和轉(zhuǎn)發(fā)模塊。上述模塊主要執(zhí)行以下步驟第一階段構(gòu)建表項(xiàng)管理模塊。針對(duì)二層轉(zhuǎn)發(fā)使用的mac(硬件地址)表,直 接將目的端口在嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng)的參數(shù)存儲(chǔ)在mac表里。針對(duì)三層轉(zhuǎn)發(fā)使用到的 路由表、主機(jī)路由表,通過路由、ARP,mac表之間的關(guān)系,計(jì)算出路由、主機(jī)路由在嵌 入式轉(zhuǎn)發(fā)系統(tǒng)中對(duì)應(yīng)出接口,并把出接口對(duì)應(yīng)的相關(guān)參數(shù)保存在轉(zhuǎn)發(fā)表的數(shù)據(jù)區(qū)中。這 樣在查找二、三層轉(zhuǎn)發(fā)表時(shí),就能夠快速的找到報(bào)文在嵌入式系統(tǒng)中轉(zhuǎn)發(fā)需要填寫的參 數(shù)。在轉(zhuǎn)發(fā)流程中,去除Knux轉(zhuǎn)發(fā)系統(tǒng)查找轉(zhuǎn)發(fā)表時(shí)必須搜尋目的設(shè)備的處理流程, 改為從改進(jìn)的轉(zhuǎn)發(fā)表里直接獲取目的端口在嵌入式系統(tǒng)中對(duì)應(yīng)的轉(zhuǎn)發(fā)參數(shù),并填充報(bào)文 頭,然后調(diào)用驅(qū)動(dòng)接口就可以完成報(bào)文的轉(zhuǎn)發(fā)。第二階段啟動(dòng)嵌入式轉(zhuǎn)發(fā)處理器,完成報(bào)文的轉(zhuǎn)發(fā)功能。如圖5所示,本優(yōu)選的實(shí)施例修改了現(xiàn)有的Iinux轉(zhuǎn)發(fā)系統(tǒng)查找轉(zhuǎn)發(fā)表時(shí)必須搜 尋目的設(shè)備的處理流程,改為從改進(jìn)的轉(zhuǎn)發(fā)表里直接獲取目的端口在嵌入式系統(tǒng)中對(duì)應(yīng) 的轉(zhuǎn)發(fā)參數(shù),并修改報(bào)文頭,然后調(diào)用驅(qū)動(dòng)接口就可以完成報(bào)文的轉(zhuǎn)發(fā)。本優(yōu)選的實(shí)施例可以達(dá)到以下有益效果采用本實(shí)施例所述方法,與現(xiàn)有的使 用Iinux協(xié)議棧的轉(zhuǎn)發(fā)系統(tǒng)相比,通過對(duì)便于查找嵌入式轉(zhuǎn)發(fā)參數(shù)的表管理模塊的構(gòu)建及 對(duì)Iimix轉(zhuǎn)發(fā)系統(tǒng)的修改,使得在查轉(zhuǎn)發(fā)表時(shí)不再需要查找目的設(shè)備,只需要從改進(jìn)的轉(zhuǎn)
7發(fā)表里獲取目的端口在嵌入式設(shè)備中對(duì)應(yīng)的轉(zhuǎn)發(fā)參數(shù),修改報(bào)文頭并調(diào)用驅(qū)動(dòng)接口即可 完成報(bào)文的發(fā)送,達(dá)到了提高轉(zhuǎn)發(fā)效率的目的。本發(fā)明中所描述的基于Linux系統(tǒng)的報(bào)文轉(zhuǎn)發(fā)方法和裝置的應(yīng)用范圍適用于 采用Iinux內(nèi)核的嵌入式轉(zhuǎn)發(fā)系統(tǒng)。顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通 用的計(jì)算裝置來實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所 組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來實(shí)現(xiàn),從而可以將它 們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來執(zhí)行,或者將它們分別制作成各個(gè)集成電路模塊,或 者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來實(shí)現(xiàn)。這樣,本發(fā)明不限制于 任何特定的硬件和軟件結(jié)合。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的 技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的 任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種基于Limix系統(tǒng)的報(bào)文轉(zhuǎn)發(fā)方法,其特征在于,包括接收需要被轉(zhuǎn)發(fā)的報(bào)文;從轉(zhuǎn)發(fā)表中獲取所述報(bào)文轉(zhuǎn)發(fā)的目的端口在嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng)的轉(zhuǎn)發(fā)參數(shù);根據(jù)所述轉(zhuǎn)發(fā)參數(shù)將所述報(bào)文轉(zhuǎn)發(fā)給所述目的端口。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,從轉(zhuǎn)發(fā)表中獲取所述報(bào)文轉(zhuǎn)發(fā)的目的端 口在嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng)的轉(zhuǎn)發(fā)參數(shù)的步驟包括從轉(zhuǎn)發(fā)表中獲取所述報(bào)文轉(zhuǎn)發(fā)的目的端口在嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng)的二層轉(zhuǎn)發(fā)參數(shù) 和/或三層轉(zhuǎn)發(fā)參數(shù)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,從轉(zhuǎn)發(fā)表中獲取所述報(bào)文轉(zhuǎn)發(fā)的目的端 口在嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng)的轉(zhuǎn)發(fā)參數(shù)之前,還包括將所述目的端口在所述嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng)的轉(zhuǎn)發(fā)參數(shù)作為所述二層轉(zhuǎn)發(fā)參數(shù)存 儲(chǔ)在二層轉(zhuǎn)發(fā)使用的mac表中。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,從轉(zhuǎn)發(fā)表中獲取所述報(bào)文轉(zhuǎn)發(fā)的目的端 口在嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng)的轉(zhuǎn)發(fā)參數(shù)之前,還包括通過路由、地址解析協(xié)議ARP和mac表之間的關(guān)系計(jì)算出三層轉(zhuǎn)發(fā)使用到的路由、 主機(jī)路由在所述嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng)的出接口,并將所述出接口的參數(shù)作為所述三層 轉(zhuǎn)發(fā)參數(shù)保存在所述轉(zhuǎn)發(fā)表的數(shù)據(jù)區(qū)中。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)所述轉(zhuǎn)發(fā)參數(shù)將所述報(bào)文轉(zhuǎn)發(fā)給所 述目的端口的步驟包括在所述報(bào)文的報(bào)文頭中添加所述轉(zhuǎn)發(fā)參數(shù);根據(jù)所述報(bào)文頭將所述報(bào)文轉(zhuǎn)發(fā)給所述目的端口。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,根據(jù)所述報(bào)文頭將所述報(bào)文轉(zhuǎn)發(fā)給所述 目的端口的步驟包括調(diào)用驅(qū)動(dòng)接口將攜帶有所述報(bào)文頭的報(bào)文轉(zhuǎn)發(fā)給所述目的端口。
7.—種基于Limix系統(tǒng)的報(bào)文轉(zhuǎn)發(fā)裝置,其特征在于,包括接收單元,用于接收需要被轉(zhuǎn)發(fā)的報(bào)文;獲取單元,用于從轉(zhuǎn)發(fā)表中獲取所述報(bào)文轉(zhuǎn)發(fā)的目的端口在嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng) 的轉(zhuǎn)發(fā)參數(shù);轉(zhuǎn)發(fā)單元,用于根據(jù)所述轉(zhuǎn)發(fā)參數(shù)將所述報(bào)文轉(zhuǎn)發(fā)給所述目的端口。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述獲取單元包括獲取模塊,用于從所述轉(zhuǎn)發(fā)表中獲取所述報(bào)文轉(zhuǎn)發(fā)的所述目的端口在所述嵌入式轉(zhuǎn) 發(fā)設(shè)備中對(duì)應(yīng)的二層轉(zhuǎn)發(fā)參數(shù)和/或三層轉(zhuǎn)發(fā)參數(shù)。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,還包括表項(xiàng)管理單元,用于從所述轉(zhuǎn)發(fā)表中獲取所述報(bào)文轉(zhuǎn)發(fā)的所述目的端口在所述嵌入 式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng)的轉(zhuǎn)發(fā)參數(shù)之前,將所述目的端口在所述嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng)的轉(zhuǎn) 所述發(fā)參數(shù)作為所述二層轉(zhuǎn)發(fā)參數(shù)存儲(chǔ)在二層轉(zhuǎn)發(fā)使用的mac表中;和/或,通過路 由、ARP和mac表之間的關(guān)系計(jì)算出三層轉(zhuǎn)發(fā)使用到的路由、主機(jī)路由在所述嵌入式轉(zhuǎn) 發(fā)設(shè)備中對(duì)應(yīng)的出接口,并將所述出接口的參數(shù)作為所述三層轉(zhuǎn)發(fā)參數(shù)保存在所述轉(zhuǎn)發(fā) 表的數(shù)據(jù)區(qū)中。
10.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述轉(zhuǎn)發(fā)單元包括 處理模塊,用于在所述報(bào)文的報(bào)文頭中添加所述轉(zhuǎn)發(fā)參數(shù); 轉(zhuǎn)發(fā)模塊,用于根據(jù)所述報(bào)文頭將所述報(bào)文轉(zhuǎn)發(fā)給所述目的端口。
全文摘要
本發(fā)明提供了基于Linux系統(tǒng)的報(bào)文轉(zhuǎn)發(fā)方法和裝置,其中,該方法包括接收需要被轉(zhuǎn)發(fā)的報(bào)文;從轉(zhuǎn)發(fā)表中獲取上述報(bào)文轉(zhuǎn)發(fā)的目的端口在嵌入式轉(zhuǎn)發(fā)設(shè)備中對(duì)應(yīng)的轉(zhuǎn)發(fā)參數(shù);根據(jù)上述轉(zhuǎn)發(fā)參數(shù)將上述報(bào)文轉(zhuǎn)發(fā)給上述目的端口。本發(fā)明解決了現(xiàn)有技術(shù)中報(bào)文轉(zhuǎn)發(fā)方法的效率較低的問題,達(dá)到提高轉(zhuǎn)發(fā)效率的目的。
文檔編號(hào)H04L12/56GK102014064SQ201010576839
公開日2011年4月13日 申請(qǐng)日期2010年12月7日 優(yōu)先權(quán)日2010年12月7日
發(fā)明者段軍壘 申請(qǐng)人:中興通訊股份有限公司