專利名稱:網(wǎng)絡(luò)處理器鏡像實(shí)現(xiàn)方法及網(wǎng)絡(luò)處理器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種網(wǎng)絡(luò)處理器鏡像實(shí)現(xiàn)方法及網(wǎng)絡(luò)處理器。
背景技術(shù):
隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,網(wǎng)絡(luò)流量的增長以及新業(yè)務(wù)的出現(xiàn),對網(wǎng)絡(luò)設(shè)備的線速、靈活的處理能力提出了更高的要求。網(wǎng)絡(luò)處理器憑借其高速轉(zhuǎn)發(fā)性能、可靠性以及靈活的可編程性,已成為目前網(wǎng)絡(luò)數(shù)據(jù)處理的有效解決方案。數(shù)據(jù)鏡像是網(wǎng)絡(luò)設(shè)備的一個(gè)常用功能,其原理是將一個(gè)物理端口的數(shù)據(jù)流或者符合某種規(guī)則的特定流復(fù)制到另一個(gè)指定的監(jiān)控端口上,其中,將物理端口的數(shù)據(jù)流復(fù)制到另一指定的監(jiān)控端口上稱為端口鏡像;將符合某種規(guī)則的特定流復(fù)制到另一個(gè)指定的監(jiān)控端口上稱為流鏡像。通過鏡像可以在監(jiān)控端口上獲取被鏡像端口的數(shù)據(jù),以便進(jìn)行網(wǎng)絡(luò)流 量分析、錯(cuò)誤診斷等?,F(xiàn)有的鏡像報(bào)文的轉(zhuǎn)發(fā)過程需要通過較為復(fù)雜的硬件來實(shí)現(xiàn),由此增加了系統(tǒng)資源和成本。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種網(wǎng)絡(luò)處理器鏡像實(shí)現(xiàn)方法及網(wǎng)絡(luò)處理器,旨在降低系統(tǒng)資源和成本。為了達(dá)到上述目的,本發(fā)明提出一種網(wǎng)絡(luò)處理器鏡像實(shí)現(xiàn)方法,包括網(wǎng)絡(luò)處理器獲取從源端口進(jìn)入緩存單元的原始報(bào)文的報(bào)文頭,所述原始報(bào)文分配有一索引號;將所述索引號攜帶于所述報(bào)文頭中送入微引擎單元;對所述報(bào)文頭進(jìn)行微碼處理,并根據(jù)所述索引號從預(yù)設(shè)的鏡像表中獲取鏡像的出口信息;將所述緩存單元中的原始報(bào)文與微碼處理后的報(bào)文頭重新鏈接形成鏡像報(bào)文,從所述鏡像的出口信息指示的鏡像端口發(fā)送出去。優(yōu)選地,所述網(wǎng)絡(luò)處理器獲取從源端口進(jìn)入緩存單元的原始報(bào)文的報(bào)文頭的步驟之前還包括網(wǎng)絡(luò)處理器從源端口接收所述原始報(bào)文存入所述緩存單元,并為所述原始報(bào)文分配所述索引號;復(fù)制一份所述原始報(bào)文的報(bào)文頭,并將所述索引號攜帶于所述復(fù)制的報(bào)文頭中送入微引擎單元;通過查詢端口表或訪問控制列表獲取所述鏡像的出口信息;以所述索引號為存儲索引號將所述鏡像的出口信息保存于所述預(yù)設(shè)的鏡像表中。優(yōu)選地,所述將索引號攜帶于所述復(fù)制的報(bào)文頭中送入微引擎單元的步驟之后還包括
對所述復(fù)制的報(bào)文頭進(jìn)行微碼處理;將微碼處理后的報(bào)文頭送入所述緩存單元;將所述緩存單元中的原始報(bào)文與微碼處理后的報(bào)文頭重新鏈接形成目的報(bào)文,從目的端口發(fā)送出去。優(yōu)選地,所述鏡像的出口信息包括所述鏡像報(bào)文對應(yīng)的鏡像端口號。優(yōu)選地,所述端口表或訪問控制列表包括所述源端口與鏡像端口的對應(yīng)關(guān)系。優(yōu)選地,所述鏡像表、端口表及訪問控制列表存儲于內(nèi)部或外部存儲器中。本發(fā)明還提出一種實(shí)現(xiàn)鏡像的網(wǎng)絡(luò)處理器,包括緩存單元,用于獲取從源端口進(jìn)入該緩存單元的原始報(bào)文的報(bào)文頭,所述原始報(bào)文分配有一索引號;微引擎單元,用于接收來自所述緩存單元并攜帶有所述索引號的報(bào)文頭,對所述報(bào)文頭進(jìn)行微碼處理;并根據(jù)所述索引號從預(yù)設(shè)的鏡像表中獲取鏡像的出口信息;發(fā)送單元,用于將所述緩存單元中的原始報(bào)文與微碼處理后的報(bào)文頭重新鏈接形成鏡像報(bào)文,從所述鏡像的出口信息指示的鏡像端口發(fā)送出去。優(yōu)選地,所述緩存單元,還用于從源端口接收所述原始報(bào)文并保存,為所述原始報(bào)文分配所述索引號;復(fù)制一份所述原始報(bào)文的報(bào)文頭,并將所述索引號攜帶于所述復(fù)制的報(bào)文頭中送入微引擎單元;所述微引擎單元,還用于通過查詢端口表或訪問控制列表獲取所述鏡像的出口信息;以所述索引號為存儲索引號將所述鏡像的出口信息保存于所述預(yù)設(shè)的鏡像表中。優(yōu)選地,所述微引擎單元,還用于對所述復(fù)制的報(bào)文頭進(jìn)行微碼處理;將微碼處理后的報(bào)文頭送入所述緩存單元;所述發(fā)送單元,還用于將所述緩存單元中的原始報(bào)文與微碼處理后的報(bào)文頭重新鏈接形成目的報(bào)文,從目的端口發(fā)送出去。優(yōu)選地,所述鏡像的出口信息包括所述鏡像報(bào)文對應(yīng)的鏡像端口號;所述端口表或訪問控制列表包括所述源端口與鏡像端口的對應(yīng)關(guān)系。本發(fā)明提出的一種網(wǎng)絡(luò)處理器鏡像實(shí)現(xiàn)方法及網(wǎng)絡(luò)處理器,利用現(xiàn)有的報(bào)文轉(zhuǎn)發(fā)流程實(shí)現(xiàn)鏡像報(bào)文的轉(zhuǎn)發(fā),在原始報(bào)文從源端口至目的端口的轉(zhuǎn)發(fā)過程中,通過微引擎單元對報(bào)文頭進(jìn)行微碼處理,查詢端口表或訪問控制列表獲取鏡像的出口信息,并對應(yīng)報(bào)文頭攜帶的緩存單元為其分配的索引號,將獲取的鏡像的出口信息保存于預(yù)設(shè)的鏡像表中,當(dāng)需要對原始報(bào)文進(jìn)行鏡像轉(zhuǎn)發(fā)時(shí),重新復(fù)制一份原始報(bào)文的報(bào)文頭送入微引擎單元進(jìn)行微碼處理,但不改變報(bào)文頭的內(nèi)容,然后根據(jù)索引號從預(yù)設(shè)的鏡像表中獲取相應(yīng)的鏡像的出口信息,將原始報(bào)文和攜帶有出口信息的報(bào)文頭重新鏈接后,從相應(yīng)的鏡像端口發(fā)送出去,從而實(shí)現(xiàn)鏡像報(bào)文的轉(zhuǎn)發(fā),本發(fā)明鏡像報(bào)文的轉(zhuǎn)發(fā)過程靈活、通用,具有較強(qiáng)的應(yīng)用性,并可節(jié)省系統(tǒng)資源及成本。
圖I是現(xiàn)有的網(wǎng)絡(luò)處理器的結(jié)構(gòu)及報(bào)文轉(zhuǎn)發(fā)示意圖;圖2是本發(fā)明網(wǎng)絡(luò)處理器鏡像實(shí)現(xiàn)方法一實(shí)施例流程示意圖;圖3是本發(fā)明網(wǎng)絡(luò)處理器鏡像實(shí)現(xiàn)方法另一實(shí)施例流程示意圖4是本發(fā)明實(shí)現(xiàn)鏡像的網(wǎng)絡(luò)處理器一實(shí)施例結(jié)構(gòu)示意圖。為了使本發(fā)明的技術(shù)方案更加清楚、明了,下面將結(jié)合附圖作進(jìn)一步詳述。
具體實(shí)施例方式本發(fā)明實(shí)施例解決方案主要是利用現(xiàn)有的報(bào)文轉(zhuǎn)發(fā)流程實(shí)現(xiàn)鏡像報(bào)文的轉(zhuǎn)發(fā),在原始報(bào)文從源端口至目的端口的轉(zhuǎn)發(fā)過程中,通過微引擎單元對報(bào)文頭進(jìn)行微碼處理,查詢端口表或訪問控制列表獲取鏡像的出口信息,并對應(yīng)報(bào)文頭攜帶的緩存單元為其分配的索引號,將獲取的鏡像的出口信息保存于預(yù)設(shè)的鏡像表中,當(dāng)需要對原始報(bào)文進(jìn)行鏡像轉(zhuǎn)發(fā)時(shí),重新復(fù)制一份原始報(bào)文的報(bào)文頭送入微引擎單元進(jìn)行微碼處理,但不改變報(bào)文頭的內(nèi)容,然后根據(jù)索引號從預(yù)設(shè)的鏡像表中獲取相應(yīng)的鏡像的出口信息,將原始報(bào)文和攜帶有出口信息的報(bào)文頭重新鏈接后,從相應(yīng)的鏡像端口發(fā)送出去,以節(jié)省系統(tǒng)資源及成本。具體地,為了實(shí)現(xiàn)鏡像報(bào)文的轉(zhuǎn)發(fā),本發(fā)明在現(xiàn)有的網(wǎng)絡(luò)處理器進(jìn)行原始報(bào)文的 轉(zhuǎn)發(fā)流程的基礎(chǔ)上,引入緩存單元為原始報(bào)文分配的索引號及用于存儲鏡像的出口信息的鏡像表。如圖I所示,圖I為現(xiàn)有的網(wǎng)絡(luò)處理器的結(jié)構(gòu)及報(bào)文轉(zhuǎn)發(fā)示意圖?,F(xiàn)有的原始報(bào)文在網(wǎng)絡(luò)處理器中的轉(zhuǎn)發(fā)過程為步驟①,原始報(bào)文從源物理端口進(jìn)入網(wǎng)絡(luò)處理器,首先進(jìn)入報(bào)文緩存單元,在報(bào)文緩存單元中分配一塊緩存區(qū)域;步驟②,從原始報(bào)文中復(fù)制報(bào)文頭部進(jìn)入網(wǎng)絡(luò)處理器的微引擎;步驟③,報(bào)文頭經(jīng)過微引擎的微碼處理,修改后的報(bào)文頭從微引擎出來,重新進(jìn)入報(bào)文緩存單元;步驟④,從緩存單元中取出原始報(bào)文,與新的報(bào)文頭重組后形成新的報(bào)文,發(fā)送到目的端口。如圖2所示,本發(fā)明一實(shí)施例提出一種網(wǎng)絡(luò)處理器鏡像實(shí)現(xiàn)方法,包括步驟S101,網(wǎng)絡(luò)處理器獲取從源端口進(jìn)入緩存單元的原始報(bào)文的報(bào)文頭,原始報(bào)文分配有一索引號;將索引號攜帶于報(bào)文頭中送入微引擎單元;其中,原始報(bào)文從源端口進(jìn)入網(wǎng)絡(luò)處理器后,首先進(jìn)入網(wǎng)絡(luò)處理器中的緩存單元,緩存單元為其分配有一索引號。為了實(shí)現(xiàn)原始報(bào)文的鏡像轉(zhuǎn)發(fā),需要獲取該原始報(bào)文需要轉(zhuǎn)發(fā)的鏡像的出口信息,比如鏡像端口號,上述鏡像的出口信息預(yù)先存儲于一張預(yù)設(shè)的鏡像表中,該鏡像表中存儲有原始報(bào)文在緩存單元中的索引號與該原始報(bào)文的鏡像端口號的對應(yīng)關(guān)系。鏡像表可以存儲于網(wǎng)絡(luò)處理器的內(nèi)部存儲器中,也可存儲于網(wǎng)絡(luò)處理器之外的外部存儲器中。通過微引擎單元對原始報(bào)文的微碼處理過程可以查詢到該預(yù)設(shè)的鏡像表中的鏡像的出口信息。本實(shí)施例將索引號攜帶于報(bào)文頭中,送入微引擎單元;以便后續(xù)通過微引擎單元及索引號查詢鏡像表,獲取相應(yīng)的鏡像的出口信息。步驟S102,對報(bào)文頭進(jìn)行微碼處理,并根據(jù)索引號從預(yù)設(shè)的鏡像表中獲取鏡像的出口信息;微引擎單元對來自緩存單元的報(bào)文頭進(jìn)行微碼處理,根據(jù)報(bào)文頭攜帶的索引號從預(yù)設(shè)的鏡像表中獲取鏡像的出口信息。之后,將攜帶有鏡像的出口信息的報(bào)文頭返回至緩存單元,由于是對原始報(bào)文的鏡像轉(zhuǎn)發(fā),報(bào)文頭在微引擎單元中進(jìn)行微碼處理時(shí)沒有改變內(nèi)容,僅僅是為了獲取鏡像的出口信息。步驟S103,將緩存單元中的原始報(bào)文與微碼處理后的報(bào)文頭重新鏈接形成鏡像報(bào)文,從鏡像的出口信息指示的鏡像端口發(fā)送出去。攜帶有鏡像的出口信息的報(bào)文頭進(jìn)入緩存單元后,網(wǎng)絡(luò)處理器將緩存單元中的原始報(bào)文與微碼處理后的報(bào)文頭重新鏈接形成鏡像報(bào)文,從鏡像的出口信息指示的鏡像端口發(fā)送出去,從而實(shí)現(xiàn)了原始報(bào)文的鏡像轉(zhuǎn)發(fā)。如圖3所示,本發(fā)明另一實(shí)施例提出一種網(wǎng)絡(luò)處理器鏡像實(shí)現(xiàn)方法,與上述實(shí)施例的區(qū)別在于,本實(shí)施例在實(shí)現(xiàn)原始報(bào)文的鏡像轉(zhuǎn)發(fā)的同時(shí),還可實(shí)現(xiàn)原始報(bào)文從源端口至目的端口的正常轉(zhuǎn)發(fā)。該方法具體包括步驟S201,網(wǎng)絡(luò)處理器從源端口接收原始報(bào)文存入緩存單元,并為原始報(bào)文分配
一索引號;原始報(bào)文從源端口進(jìn)入網(wǎng)絡(luò)處理器后,首先進(jìn)入緩存單元進(jìn)行緩存,緩存單元為其分配一索引號,作為后續(xù)從鏡像表中查詢原始報(bào)文對應(yīng)的鏡像端口號的唯一標(biāo)識。步驟S202,復(fù)制一份原始報(bào)文的報(bào)文頭,并將索引號攜帶于復(fù)制的報(bào)文頭中送入微引擎單元;原始報(bào)文的正常轉(zhuǎn)發(fā)即從源端口至目的端口的轉(zhuǎn)發(fā)流程,詳見下述步驟S208、步驟S209和步驟S310。鏡像報(bào)文的轉(zhuǎn)發(fā)流程則進(jìn)入下述步驟S203。步驟S203,通過查詢端口表或訪問控制列表獲取鏡像的出口信息;其中,鏡像的出口信息包括原始報(bào)文鏡像轉(zhuǎn)發(fā)的鏡像端口號。端口表對應(yīng)端口鏡像的場景,訪問控制列表對應(yīng)流鏡像的場景。端口表或訪問控制列表包括源端口與鏡像端口的對應(yīng)關(guān)系。如果需要進(jìn)行端口鏡像,微引擎在對復(fù)制的報(bào)文頭進(jìn)行微碼處理時(shí),通過查詢端口表獲取鏡像的出口信息;如果需要進(jìn)行流鏡像,微引擎在對復(fù)制的報(bào)文頭進(jìn)行微碼處理時(shí),通過查詢訪問控制列表獲取鏡像的出口信息。查詢端口表及訪問控制列表可以存儲于網(wǎng)絡(luò)處理器的內(nèi)部存儲器中,也可存儲于網(wǎng)絡(luò)處理器之外的外部存儲器中。步驟S204,以索引號為存儲索引號將鏡像的出口信息保存于預(yù)設(shè)的鏡像表中;將獲取的鏡像的出口信息保存于預(yù)設(shè)的鏡像表中,其存放索引號為原始報(bào)文在緩存單元中存放的索引號。上述鏡像表反映出原始報(bào)文在緩存單元中的索引號與該原始報(bào)文的鏡像端口號的對應(yīng)關(guān)系。鏡像表可以存儲于網(wǎng)絡(luò)處理器的內(nèi)部存儲器中,也可存儲于網(wǎng)絡(luò)處理器之外的外部存儲器中。步驟S205,網(wǎng)絡(luò)處理器重新復(fù)制一份從源端口進(jìn)入緩存單元的原始報(bào)文的報(bào)文頭,將原始報(bào)文的索引號攜帶于報(bào)文頭中送入微引擎單元;當(dāng)需要端口鏡像或流鏡像時(shí),網(wǎng)絡(luò)處理器從緩存單元中選擇需要鏡像的原始報(bào)文,重新復(fù)制一份該原始報(bào)文的報(bào)文頭,并將緩存單元為原始報(bào)文分配的索引號攜帶于報(bào)文頭中送入微引擎單元。
步驟S206,對報(bào)文頭進(jìn)行微碼處理,并根據(jù)索引號從預(yù)設(shè)的鏡像表中獲取鏡像的出口信息;微引擎單元對來自緩存單元的報(bào)文頭進(jìn)行微碼處理,由于是鏡像報(bào)文轉(zhuǎn)發(fā)流程中的微碼處理,此微碼處理過程不改變報(bào)文頭的內(nèi)容,而是通過報(bào)文頭攜帶的索引號從預(yù)設(shè)的鏡像表中獲取鏡像的出口信息。步驟S207,將緩存單元中的原始報(bào)文與微碼處理后的報(bào)文頭重新鏈接形成鏡像報(bào)文,從鏡像的出口信息指示的鏡像端口發(fā)送出去。獲得原始報(bào)文的鏡像的出口信息之后,網(wǎng)絡(luò)處理器將緩存單元中待鏡像的原始報(bào)文與微碼處理后的報(bào)文頭重新鏈接形成鏡像報(bào)文,從鏡像的出口信息指示的鏡像端口發(fā)送出去。此外,作為原始報(bào)文從源端口至目的端口的正常轉(zhuǎn)發(fā)流程,本實(shí)施例在步驟S202 之后還包括步驟S208,對復(fù)制的報(bào)文頭進(jìn)行微碼處理;步驟S209,將微碼處理后的報(bào)文頭送入緩存單元;步驟S310,將緩存單元中的原始報(bào)文與微碼處理后的報(bào)文頭重新鏈接形成目的報(bào)文,從目的端口發(fā)送出去。上述步驟S208、步驟S209及步驟S310與現(xiàn)有的原始報(bào)文的正常轉(zhuǎn)發(fā)流程相同,在此不作詳述。本實(shí)施例實(shí)現(xiàn)了原始報(bào)文的鏡像轉(zhuǎn)發(fā),同時(shí)還實(shí)現(xiàn)了原始報(bào)文從源端口至目的端口的正常轉(zhuǎn)發(fā),充分利用現(xiàn)有的報(bào)文轉(zhuǎn)發(fā)流程實(shí)現(xiàn)鏡像報(bào)文的轉(zhuǎn)發(fā),且鏡像報(bào)文的轉(zhuǎn)發(fā)過程靈活、通用,具有較強(qiáng)的應(yīng)用性,大大節(jié)省系統(tǒng)資源及成本。如圖4所示,本發(fā)明一實(shí)施例提出一種實(shí)現(xiàn)鏡像的網(wǎng)絡(luò)處理器,包括緩存單元301、微引擎單元302及發(fā)送單元303,其中緩存單元301,用于獲取從源端口進(jìn)入該緩存單元301的原始報(bào)文的報(bào)文頭,原始報(bào)文分配有一索引號;微引擎單元302,用于接收來自緩存單元301并攜帶有索引號的報(bào)文頭,對報(bào)文頭進(jìn)行微碼處理;并根據(jù)索引號從預(yù)設(shè)的鏡像表中獲取鏡像的出口信息;發(fā)送單元303,用于將緩存單元301中的原始報(bào)文與微碼處理后的報(bào)文頭重新鏈接形成鏡像報(bào)文,從鏡像的出口信息指示的鏡像端口發(fā)送出去。進(jìn)一步,在原始報(bào)文從源端口至目的端口的正常轉(zhuǎn)發(fā)過程中,緩存單元301還用于從源端口接收原始報(bào)文并保存,為原始報(bào)文分配索引號;復(fù)制一份原始報(bào)文的報(bào)文頭,并將索引號攜帶于復(fù)制的報(bào)文頭中送入微引擎單元302 ;微引擎單元302,還用于通過查詢端口表或訪問控制列表獲取鏡像的出口信息;以索引號為存儲索引號將鏡像的出口信息保存于預(yù)設(shè)的鏡像表中。同時(shí),微引擎單元302還用于對復(fù)制的報(bào)文頭進(jìn)行微碼處理;將微碼處理后的報(bào)文頭送入緩存單兀301 ;發(fā)送單元303還用于將緩存單元301中的原始報(bào)文與微碼處理后的報(bào)文頭重新鏈接形成目的報(bào)文,從目的端口發(fā)送出去。以下詳細(xì)說明本實(shí)施例中網(wǎng)絡(luò)處理器進(jìn)行鏡像報(bào)文轉(zhuǎn)發(fā)的功能原理
原始報(bào)文從網(wǎng)絡(luò)處理器的源端口進(jìn)入網(wǎng)絡(luò)處理器的后,首先進(jìn)入網(wǎng)絡(luò)處理器內(nèi)的緩存單元301,緩存單元301為原始報(bào)文分配一索引號,作為后續(xù)查找鏡像的出口信息的唯—標(biāo)識。之后,原始報(bào)文通過其正常的轉(zhuǎn)發(fā)流程為鏡像報(bào)文的轉(zhuǎn)發(fā)獲取鏡像的出口信息。具體地,緩存單元301復(fù)制一份原始報(bào)文的報(bào)文頭,并將原始報(bào)文在緩存單元301的索引號攜帶在上述報(bào)文頭中送入微引擎單元302,微引擎單元302對進(jìn)入的報(bào)文頭進(jìn)行微碼處理,作為原始報(bào)文的正常轉(zhuǎn)發(fā)流程,微引擎單元302將改變報(bào)文頭的內(nèi)容,并將微碼處理后的報(bào)文頭送回緩存單元301,發(fā)送單元303將緩存單元301中的原始報(bào)文與經(jīng)過微碼處理后的報(bào)文頭重新鏈接后形成最終報(bào)文,從目的端口發(fā)送出去。其中,對目的端口信息的獲取,是在微引擎單元302對報(bào)文頭進(jìn)行微碼處理過程中,通過查詢MAC表(對應(yīng)原始報(bào)文的二層轉(zhuǎn)發(fā))或者路由表(對應(yīng)原始報(bào)文的三層轉(zhuǎn)發(fā))來實(shí)現(xiàn)的。此過程屬于現(xiàn)有技術(shù),在此不作詳述。
本實(shí)施例在微引擎單元302對報(bào)文頭進(jìn)行微碼處理的過程中,通過查詢端口表或訪問控制列表,獲取原始報(bào)文的鏡像的出口信息,鏡像的出口信息包括鏡像報(bào)文對應(yīng)的鏡像端口號。上述端口表或訪問控制列表包括源端口與鏡像端口的對應(yīng)關(guān)系。其中,端口表對應(yīng)端口鏡像的場景,訪問控制列表對應(yīng)流鏡像的場景。微引擎單元302將查詢的鏡像的出口信息保存于預(yù)設(shè)的鏡像表中,并以原始報(bào)文在緩存單元301中存儲的索引號作為鏡像的出口信息在上述鏡像表中存儲的索引號。當(dāng)需要鏡像時(shí),在緩存單元301重新復(fù)制一份原始報(bào)文的報(bào)文頭,并將原始報(bào)文在緩存單元301中的索引號攜帶于報(bào)文頭中送入微引擎單元302,通過微引擎單元302對報(bào)文頭的微碼處理,獲取鏡像表中的對應(yīng)的鏡像的出口信息。由于是鏡像報(bào)文的轉(zhuǎn)發(fā)過程,此時(shí)微引擎單元302對報(bào)文頭的微碼處理并不會改變報(bào)文頭的內(nèi)容,而是通過微碼處理,以索引號為查詢標(biāo)識,從鏡像表中獲取鏡像的出口信息,并將鏡像的出口信息攜帶于報(bào)文頭中返回緩存單元301。最后,通過發(fā)送單元303將緩存單元301中的原始報(bào)文與微碼處理后的報(bào)文頭重新鏈接形成鏡像報(bào)文,從鏡像的出口信息指示的鏡像端口發(fā)送出去。本發(fā)明實(shí)施例網(wǎng)絡(luò)處理器鏡像實(shí)現(xiàn)方法及網(wǎng)絡(luò)處理器,利用現(xiàn)有的報(bào)文轉(zhuǎn)發(fā)流程實(shí)現(xiàn)鏡像報(bào)文的轉(zhuǎn)發(fā),在原始報(bào)文從源端口至目的端口的轉(zhuǎn)發(fā)過程中,通過微引擎單元對報(bào)文頭進(jìn)行微碼處理,查詢端口表或訪問控制列表獲取鏡像的出口信息,并對應(yīng)報(bào)文頭攜帶的緩存單元為其分配的索引號,將獲取的鏡像的出口信息保存于預(yù)設(shè)的鏡像表中,當(dāng)需要對原始報(bào)文進(jìn)行鏡像轉(zhuǎn)發(fā)時(shí),重新復(fù)制一份原始報(bào)文的報(bào)文頭送入微引擎單元進(jìn)行微碼處理,但不改變報(bào)文頭的內(nèi)容,然后根據(jù)索引號從預(yù)設(shè)的鏡像表中獲取相應(yīng)的鏡像的出口信息,將原始報(bào)文和攜帶有出口信息的報(bào)文頭重新鏈接后,從相應(yīng)的鏡像端口發(fā)送出去,從而實(shí)現(xiàn)鏡像報(bào)文的轉(zhuǎn)發(fā),本發(fā)明鏡像報(bào)文的轉(zhuǎn)發(fā)過程靈活、通用,具有較強(qiáng)的應(yīng)用性,并可節(jié)省系統(tǒng)資源及成本。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或流程變換,或直接或間接運(yùn)用在其它相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種網(wǎng)絡(luò)處理器鏡像實(shí)現(xiàn)方法,其特征在于,包括 網(wǎng)絡(luò)處理器獲取從源端口進(jìn)入緩存單元的原始報(bào)文的報(bào)文頭,所述原始報(bào)文分配有一索引號;將所述索引號攜帶于所述報(bào)文頭中送入微引擎單元; 對所述報(bào)文頭進(jìn)行微碼處理,并根據(jù)所述索引號從預(yù)設(shè)的鏡像表中獲取鏡像的出口信息; 將所述緩存單元中的原始報(bào)文與微碼處理后的報(bào)文頭重新鏈接形成鏡像報(bào)文,從所述鏡像的出口信息指示的鏡像端口發(fā)送出去。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述網(wǎng)絡(luò)處理器獲取從源端口進(jìn)入緩存單元的原始報(bào)文的報(bào)文頭的步驟之前還包括 網(wǎng)絡(luò)處理器從源端口接收所述原始報(bào)文存入所述緩存單元,并為所述原始報(bào)文分配所述索引號; 復(fù)制一份所述原始報(bào)文的報(bào)文頭,并將所述索引號攜帶于所述復(fù)制的報(bào)文頭中送入微引擎單元; 通過查詢端口表或訪問控制列表獲取所述鏡像的出口信息; 以所述索引號為存儲索引號將所述鏡像的出口信息保存于所述預(yù)設(shè)的鏡像表中。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將索引號攜帶于所述復(fù)制的報(bào)文頭中送入微引擎單元的步驟之后還包括 對所述復(fù)制的報(bào)文頭進(jìn)行微碼處理; 將微碼處理后的報(bào)文頭送入所述緩存單元; 將所述緩存單元中的原始報(bào)文與微碼處理后的報(bào)文頭重新鏈接形成目的報(bào)文,從目的端口發(fā)送出去。
4.根據(jù)權(quán)利要求1、2或3所述的方法,其特征在于,所述鏡像的出口信息包括所述鏡像報(bào)文對應(yīng)的鏡像端口號。
5.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,所述端口表或訪問控制列表包括所述源端口與鏡像端口的對應(yīng)關(guān)系。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述鏡像表、端口表及訪問控制列表存儲于內(nèi)部或外部存儲器中。
7.一種實(shí)現(xiàn)鏡像的網(wǎng)絡(luò)處理器,其特征在于,包括 緩存單元,用于獲取從源端口進(jìn)入該緩存單元的原始報(bào)文的報(bào)文頭,所述原始報(bào)文分配有一索引號; 微引擎單元,用于接收來自所述緩存單元并攜帶有所述索引號的報(bào)文頭,對所述報(bào)文頭進(jìn)行微碼處理;并根據(jù)所述索引號從預(yù)設(shè)的鏡像表中獲取鏡像的出口信息; 發(fā)送單元,用于將所述緩存單元中的原始報(bào)文與微碼處理后的報(bào)文頭重新鏈接形成鏡像報(bào)文,從所述鏡像的出口信息指示的鏡像端口發(fā)送出去。
8.根據(jù)權(quán)利要求7所述的網(wǎng)絡(luò)處理器,其特征在于, 所述緩存單元,還用于從源端口接收所述原始報(bào)文并保存,為所述原始報(bào)文分配所述索引號;復(fù)制一份所述原始報(bào)文的報(bào)文頭,并將所述索引號攜帶于所述復(fù)制的報(bào)文頭中送入微引擎單元; 所述微引擎單元,還用于通過查詢端口表或訪問控制列表獲取所述鏡像的出口信息;以所述索引號為存儲索引號將所述鏡像的出口信息保存于所述預(yù)設(shè)的鏡像表中。
9.根據(jù)權(quán)利要求8所述的網(wǎng)絡(luò)處理器,其特征在于, 所述微引擎單元,還用于對所述復(fù)制的報(bào)文頭進(jìn)行微碼處理;將微碼處理后的報(bào)文頭送入所述緩存單元; 所述發(fā)送單元,還用于將所述緩存單元中的原始報(bào)文與微碼處理后的報(bào)文頭重新鏈接形成目的報(bào)文,從目的端口發(fā)送出去。
10.根據(jù)權(quán)利要求8或9所述的網(wǎng)絡(luò)處理器,其特征在于,所述鏡像的出口信息包括所述鏡像報(bào)文對應(yīng)的鏡像端口號;所述端口表或訪問控制列表包括所述源端口與鏡像端口的對應(yīng)關(guān)系。
全文摘要
本發(fā)明涉及一種網(wǎng)絡(luò)處理器鏡像實(shí)現(xiàn)方法及網(wǎng)絡(luò)處理器,其方法包括網(wǎng)絡(luò)處理器獲取從源端口進(jìn)入緩存單元的原始報(bào)文的報(bào)文頭,原始報(bào)文分配有一索引號;將索引號攜帶于報(bào)文頭中送入微引擎單元;對報(bào)文頭進(jìn)行微碼處理,并根據(jù)索引號從預(yù)設(shè)的鏡像表中獲取鏡像的出口信息;將緩存單元中的原始報(bào)文與微碼處理后的報(bào)文頭重新鏈接形成鏡像報(bào)文,從鏡像的出口信息指示的鏡像端口發(fā)送出去。本發(fā)明利用現(xiàn)有的報(bào)文轉(zhuǎn)發(fā)流程實(shí)現(xiàn)鏡像報(bào)文的轉(zhuǎn)發(fā),其鏡像報(bào)文的轉(zhuǎn)發(fā)過程靈活、通用,具有較強(qiáng)的應(yīng)用性,并可節(jié)省系統(tǒng)資源及成本。
文檔編號H04L12/801GK102932262SQ20111022967
公開日2013年2月13日 申請日期2011年8月11日 優(yōu)先權(quán)日2011年8月11日
發(fā)明者姜海明, 孔玲麗 申請人:中興通訊股份有限公司