專利名稱::基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法。技術(shù)背景IPv4協(xié)議是當(dāng)代Internet上最重要的協(xié)議族,它是現(xiàn)階段連接到Internet上的絕大部分計(jì)算機(jī)都必須支持的協(xié)議。但是,隨著Internet的發(fā)展,IPv4協(xié)議的一些缺點(diǎn)也逐漸暴露出來(lái),其中最主要的缺點(diǎn)就是地址空間嚴(yán)重不足。由于歷史原因,分配給我國(guó)的IPv4協(xié)議地址較少,地址枯竭問題就更加嚴(yán)重。IPv6協(xié)議是設(shè)計(jì)用來(lái)替代IPv4協(xié)議,也被稱作下一代互聯(lián)網(wǎng)協(xié)議。IPv6協(xié)議是為了解決IPv4協(xié)議所存在的一些問題和不足而提出的,同時(shí)它還在許多方面提出了改進(jìn),例如路由方面、自動(dòng)配置方面。IPv6協(xié)議取代IPv4協(xié)議需要一個(gè)長(zhǎng)達(dá)數(shù)年的時(shí)間,期間兩者是共存的關(guān)系?,F(xiàn)階段的網(wǎng)絡(luò)實(shí)際情況是在以IPv4為大網(wǎng)絡(luò)的背景下,存在許多IPv6"孤島",為了能夠使這些IPv6"孤島"之間通過IPv4網(wǎng)絡(luò)相互通信,可以使用一些諸如協(xié)議翻譯、隧道等機(jī)制。根據(jù)RFC2893的定義,隧道可以劃分為配置隧道和自動(dòng)隧道兩種類型,并且可以被配置在路由器與路由器之間、路由器與主機(jī)之間、主機(jī)與主機(jī)之間。具體相關(guān)的隧道機(jī)制,主要包括配置隧道、GRE(通用路由協(xié)議封裝)隧道(通用路由協(xié)議封裝隧道)、6to4隧道、ISATAP(站間自動(dòng)隧道尋址協(xié)議)隧道(站間自動(dòng)隧道尋址協(xié)議隧道)。配置隧道與GRE(通用路由協(xié)議封裝)隧道都屬于手工配置隧道,不同之處在于封裝方式的不同。顧名思義,手工配置隧道即是手工配置隧道兩端的地址。而對(duì)于哪些數(shù)據(jù)包是要經(jīng)由隧道進(jìn)行轉(zhuǎn)發(fā)的,通常是由路由決定的。路由信息可以是靜態(tài)配置,也可以使用動(dòng)態(tài)的跨隧道路由協(xié)議來(lái)獲得。手工配置隧道的入口點(diǎn)地址、出口點(diǎn)地址及路由信息是隧道兩端路由器應(yīng)有的配置信息。當(dāng)經(jīng)過路由器的數(shù)據(jù)包匹配上隧道路由后,便會(huì)以隧道方式,將原數(shù)據(jù)包封裝后由隧道端口發(fā)出,封裝后的報(bào)文源地址/目標(biāo)地址分別是隧道的本地地址/遠(yuǎn)端地址,封裝好的數(shù)據(jù)包通過IPv4網(wǎng)絡(luò)走IPv4的路由到達(dá)隧道的終點(diǎn),經(jīng)終點(diǎn)解封裝取出原IPv6數(shù)據(jù)包后,再通過IPv6網(wǎng)絡(luò)到達(dá)最終的目的地。對(duì)于GRE(通用路由協(xié)議封裝)隧道,先在原數(shù)據(jù)包封裝一個(gè)GRE(通用路由協(xié)議封裝)頭之后,再加封裝一個(gè)IPv4頭。GRE(通用路由協(xié)議封裝)頭格式如圖1-2所示6to4隧道機(jī)制用于在站點(diǎn)之間進(jìn)行穿越IPv4的IPv6通訊,每個(gè)站點(diǎn)必須至少有一臺(tái)"6to4路由器"作為出入口,站點(diǎn)內(nèi)的主機(jī)使用特定的地址格式(地址前綴為2002::/16),并將路由器的IPv4地址嵌入IPv6地址中,因此位于不同6to4站點(diǎn)內(nèi)的主機(jī)彼此通訊時(shí)可自動(dòng)抽出IPv4地址在路由器之間建立隧道。通過6to4路由器,不同6to4站點(diǎn)內(nèi)的主機(jī)可互相穿越IPv4網(wǎng)絡(luò)進(jìn)行通訊,當(dāng)需與一般IPv6主機(jī)通訊時(shí),則必須過6to4中繼路由器。6to4中繼路由器必須同時(shí)具備6to4及IPv6接口,同時(shí)提供這些接口的封包轉(zhuǎn)發(fā)。6to4需要一個(gè)全球合法的IPv4地址(記為V4Addr),該地址分配給6to4路由器的IPv6偽接口,同時(shí)6to4路由器連接6to4站點(diǎn)的接口有IPv6地址2002:V4Addr::/64+EUI-64。6to4路由器將2002:V4ADDR:SLA/64前綴公告給其連接的6to4站點(diǎn)。ISATAP(站間自動(dòng)隧道尋址協(xié)議,以下簡(jiǎn)稱ISATAP)隧道是一種主機(jī)一主機(jī)或是主機(jī)一路由器的隧道方式,它解決的是孤立于IPv4網(wǎng)絡(luò)中的雙棧主機(jī)之間、雙棧主機(jī)與外部IPv6站點(diǎn)之間的通信問題。隧道兩端的地址分別為雙棧主機(jī)的IPv4地址及ISATAP路由器ISATAP接口的IPv4地址或是本網(wǎng)內(nèi)的另一雙棧主機(jī)的IPv4地址。雙棧主機(jī)支持ISATAP后會(huì)自動(dòng)在該隧道接口上生成本地鏈路的前綴(FE80::/64)和64位的接口標(biāo)識(shí)符EUI-64,這樣隧道的終點(diǎn)地址就能自動(dòng)的從IPv6地址中抽取出來(lái)。對(duì)于ISATAP路由器而言,其ISATAP接口同樣會(huì)自動(dòng)生成本地鏈路地址,同時(shí)需要為其分配一個(gè)全局的前綴(RFC4214推薦使用前綴2001::/64,2002::/64,3FFE::/64)以生成全局的IPv6地址,這個(gè)前綴也是路由器響應(yīng)ISATAP主機(jī)路由器請(qǐng)求前綴發(fā)現(xiàn)分配給主機(jī)的前綴。ISATAP路由器上同時(shí)要生成一條該前綴的路由,路由指向ISATAP隧道,這樣從外部IPv6網(wǎng)站與ISATAP主機(jī)的通信才能正確的路由到ISATAP主機(jī)。ISATAP主機(jī)為了與外部的IPv6主機(jī)進(jìn)行通信需要獲得全局的IPv6前綴,此前綴是通過路由器發(fā)現(xiàn)從ISATAP路由器獲得,為了使路由器發(fā)現(xiàn)能夠進(jìn)行,首先要知道ISATAP接口的地址,這是通過在主機(jī)上手動(dòng)配置潛在路由器列表獲得的。路由器發(fā)現(xiàn)也是以隧道方式進(jìn)行通信的,隧道兩端的地址分別為主機(jī)的IPv4地址和ISATAP接口的IPv4地址,IPv6包的源地址是主機(jī)的本地鏈路地址,目標(biāo)地址是鏈路本地范圍所有路由器的多播地址FF02::2。隨著網(wǎng)絡(luò)速度的飛速發(fā)展,傳統(tǒng)的路由器已經(jīng)越來(lái)越難已滿足報(bào)文的快速轉(zhuǎn)發(fā)要求。為了適應(yīng)這一發(fā)展,出現(xiàn)了新型的網(wǎng)絡(luò)處理器。它是一種新型的處理器類型,專門用于滿足網(wǎng)絡(luò)交換設(shè)備的需求、網(wǎng)絡(luò)環(huán)境的要求而設(shè)計(jì)的。它除了一般處理器的功能外還包含若干個(gè)專門處理數(shù)據(jù)分組的高速智能接口,即高速引擎,使得網(wǎng)絡(luò)處理器能夠處理高速網(wǎng)絡(luò)中同時(shí)到達(dá)的多個(gè)數(shù)據(jù)流。網(wǎng)絡(luò)處理器是用于實(shí)現(xiàn)報(bào)文處理、協(xié)議分析、路由、語(yǔ)音/數(shù)據(jù)集成、防火墻和QoS(服務(wù)質(zhì)量)等通信工作的可編程硬件。它被經(jīng)過專門設(shè)計(jì)和高度優(yōu)化來(lái)完成各種網(wǎng)絡(luò)功能?,F(xiàn)有的網(wǎng)絡(luò)通訊設(shè)備主要有基于通用CPU(中央處理單元)和基于ASIC(特定應(yīng)用集成電路)兩種類型?;谕ㄓ肅PU的網(wǎng)絡(luò)通訊設(shè)備具備了易于擴(kuò)展和修改的能力,但是它提供的性能不能滿足現(xiàn)在高速網(wǎng)絡(luò)的需求。基于ASIC的網(wǎng)絡(luò)通訊設(shè)備達(dá)到高性能的數(shù)據(jù)傳輸速度。雖然ASIC提供了快速處理能力,但它的靈活性遠(yuǎn)遠(yuǎn)跟不上網(wǎng)絡(luò)協(xié)議和標(biāo)準(zhǔn)的快速改變,典型的ASIC需要1年至3年的開發(fā)周期,無(wú)法進(jìn)行版本更新和功能升級(jí),制造工藝的需要也較高。
發(fā)明內(nèi)容本發(fā)明是為了解決現(xiàn)有技術(shù)存在的上述問題而提出的一種采用網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4網(wǎng)絡(luò)的隧道報(bào)文的處理方法。為了解決上述問題,本發(fā)明采用的技術(shù)措施是基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其特征在于,采用IPv4報(bào)頭來(lái)封裝IPv6數(shù)據(jù)包,以使IPv6數(shù)據(jù)包可以穿越IPv4的網(wǎng)絡(luò)結(jié)構(gòu);包括以下步驟a、在網(wǎng)絡(luò)處理器中為每個(gè)IPv6穿越IPv4的隧道建立一個(gè)隧道端點(diǎn),此端點(diǎn)和遠(yuǎn)端設(shè)備的另一個(gè)隧道端點(diǎn)或者一組隧道端點(diǎn)一起組成一個(gè)完整的IPv6穿越IPv4的隧道;b、本地網(wǎng)絡(luò)處理器上的每個(gè)隧道以隧道標(biāo)識(shí)碼標(biāo)識(shí);C、建立隧道信息表、IPv6非法隧道地址列表、路由表和會(huì)話表;其中隧道信息表記錄隧道的相關(guān)信息;IPv6非法地址列表記錄了非法的隧道源地址和目標(biāo)地址組合;路由表用來(lái)決定哪些報(bào)文需要被加封裝,具體屬于哪個(gè)隧道;會(huì)話表記錄了同一會(huì)話的確定處理路徑和參數(shù);d、通過查詢隧道信息表、IPv6非法隧道地址列表、路由表和會(huì)話表,獲得IPv4封裝頭的信息,然后為IPv6報(bào)文加封裝IPv4報(bào)頭,形成穿越IPv4的隧道報(bào)文;e、根據(jù)IPv4報(bào)頭中的協(xié)議號(hào)和目標(biāo)地址來(lái)判斷是否需要本地端點(diǎn)對(duì)步驟d的隧道報(bào)文進(jìn)行解封裝;如果需要,直接像處理普通IPv6報(bào)文一樣處理被封裝的IPv6報(bào)文;f、同時(shí),對(duì)于隧道報(bào)文進(jìn)行合法性檢測(cè),并將不合法的報(bào)文交由設(shè)備的控制層面處理。上述基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其中,步驟d所述的為IPv6報(bào)文加封裝IPv4報(bào)頭的步驟包括d-l、對(duì)IPv6報(bào)文的源地址、目標(biāo)地址進(jìn)行IPv6非法隧道地址列表匹配;如果命中,即表示具有非法地址,丟棄該報(bào)文;如果不命中,則以目標(biāo)地址匹配路由表,然后根據(jù)路由結(jié)果進(jìn)行不同的處理;包括是隧道路由的處理和不是路由隧道的處理;如果是隧道路由,則進(jìn)行隧道加封裝處理;如果不10是隧道路由,則進(jìn)行正常的IPv6路由轉(zhuǎn)發(fā)處理;d-2、通過隧道信息表、或根據(jù)路由表下一跳地址、或根據(jù)目標(biāo)地址,得到作為封裝頭的IP"目標(biāo)地址;d-3、通過隧道信息表取得封裝頭的源地址;d-4、以獲得的目標(biāo)地址為鍵查詢路由表,進(jìn)行正常的IPv4路由轉(zhuǎn)發(fā)處理,并通過隧道對(duì)應(yīng)的ID計(jì)數(shù)器得到封裝頭的ID號(hào);d-5、封裝結(jié)束;上述基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其中,步驟e所述的解封裝步驟包括e-l、對(duì)IPv4報(bào)文進(jìn)行四層協(xié)議類型解析,如果其協(xié)議類型為封裝IPv6報(bào)文的IPv4報(bào)文(協(xié)議號(hào)41)或者為通用路由協(xié)議封裝(協(xié)議號(hào)47),并且目標(biāo)地址為本網(wǎng)關(guān)IPv4地址,則需要解封裝;;e-2、對(duì)封裝的源地址、目標(biāo)地址進(jìn)行非法地址列表匹配;如果命中,即表示具有非法地址,丟棄該報(bào)文;如果不命中,則以被封裝的IPv6報(bào)頭中的源地址匹配路由表,得到的結(jié)果為隧道路由,根據(jù)結(jié)果中的隧道類型進(jìn)一步檢查封裝頭源地址的合法性;e-3、檢査是否是配置隧道?如果不是配置隧道,則進(jìn)行一個(gè)通常的IPv6報(bào)文處理;如果是配置隧道,再檢査源地址是否等于遠(yuǎn)端端點(diǎn)地址?如果是遠(yuǎn)端端點(diǎn)地址,則進(jìn)行一個(gè)通常的IPv6報(bào)文處理;如果不是遠(yuǎn)端端點(diǎn)地址,則表明封裝頭中的源地址不合法,丟棄該報(bào)文;e-4、解封裝結(jié)束。上述基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其中,所述IPv6穿越IPv4的隧道解封裝和加封裝過程分別對(duì)已建立會(huì)話的報(bào)文和對(duì)未建立會(huì)話的報(bào)文進(jìn)行處理時(shí),網(wǎng)絡(luò)處理器的各個(gè)不同階段的任務(wù)處理模塊進(jìn)行不同的操作;所述的各個(gè)不同階段的任務(wù)處理模塊包括分析階段的分析模塊(T0Pparse:ParseModule),用來(lái)分辨和提取各種數(shù)據(jù)幀的報(bào)頭、標(biāo)記、地址、端口、協(xié)議、領(lǐng)域、模式和關(guān)鍵字;查找階段的第一個(gè)査找模塊(TOPsearchI:SearchIModule),該模塊使用分析過的區(qū)域作為關(guān)鍵字進(jìn)行相關(guān)表的查找、分類和管理表;決策階段的決策模塊(TOPresolve:ResolveModule),該模塊進(jìn)行數(shù)據(jù)包轉(zhuǎn)發(fā)和QoS(服務(wù)質(zhì)量)決策,并更新相關(guān)表和狀態(tài)信息;附加查找階段的第二個(gè)查找模塊(TOPserachII:SearchIIModule),該模塊是可選的,在TOPresolve完成之后,進(jìn)行附加的査找;修改階段的修改模塊(T0Pmodify:ModifyModule),該模塊對(duì)數(shù)據(jù)包的內(nèi)容進(jìn)行具體修改,完成在數(shù)據(jù)包的任何地方進(jìn)行改寫、添加和刪除操作;上述基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其中,對(duì)已建立會(huì)話的隧道報(bào)文處理流程;(1)分析階段(T0Pparse)首先區(qū)分不同類型的報(bào)文;然后創(chuàng)建五元組,用于査找會(huì)話表;再就是創(chuàng)建報(bào)文相關(guān)消息和硬件寄存器消息;(2)第一査找階段(TOPsearchI)根據(jù)五元組査找相應(yīng)的會(huì)話表即可;(3)決策階段(TOPresolve)根據(jù)會(huì)話表的結(jié)果中的控制字段進(jìn)行分支跳轉(zhuǎn),進(jìn)入相應(yīng)的分支程序;(4)修改階段(TOPmodify)根據(jù)決策階段(TOPresolve)傳入的消息和"MDFLabel"進(jìn)行具體的加封裝和解封裝。上述基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其中,所述的第一查找階段(TOPsearchI)根據(jù)五元組查找相應(yīng)的會(huì)話表時(shí),此時(shí)會(huì)話表一定命中,査詢結(jié)果中幾乎包含了所有需要的封裝信息、路由信息,其中如果是加封裝處理,必須動(dòng)態(tài)從對(duì)應(yīng)的計(jì)數(shù)器得到封裝頭的ID號(hào),如果需要支持隧道QoS(服務(wù)質(zhì)量),必須使用對(duì)應(yīng)的TokenBucket(令牌桶)進(jìn)行動(dòng)態(tài)的流量測(cè)速。上述基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其中,所述的決策階段(TOPresolve),如果是加封裝,決定封裝頭中各個(gè)域的值和封裝以后的路由;如果是解封裝,決定解封裝以后IPv6報(bào)文的路由,然后將這些信息組合成修改策略和修改行標(biāo)"MDFLabel",以消息的形式傳給修改階段(TOPmodify)。上述基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其中,所述的對(duì)于未建立會(huì)話的隧道報(bào)文處理流程,是對(duì)隧道會(huì)話首包處理的流程,該流程是指在會(huì)話表中沒有對(duì)應(yīng)表項(xiàng)的報(bào)文,包括是需要解封裝的IPv4報(bào)文,或是需要加封裝的IPv6報(bào)文,或者是需要先解封裝然后再進(jìn)行另一個(gè)隧道加封裝的IPv4報(bào)文;具體流程是(1)分析階段(T0Pparse):首先區(qū)分不同類型的報(bào)文;然后創(chuàng)建五元組用于査找會(huì)話表;再就是創(chuàng)建報(bào)文相關(guān)消息和硬件寄存器消息;(2)第一査找階段(TOPsearchl):以五元組為鍵查詢會(huì)話表,此時(shí)會(huì)話表不命中,表明是一個(gè)會(huì)話首包,然后進(jìn)行一系列的查詢,包括對(duì)隧道信息表、IPv6非法隧道地址列表、路由表等的查詢;(3)決策階段(TOPresolve):根據(jù)分析階段(T0Pparse)傳入的決策行標(biāo)"RSVLabel"值和各個(gè)數(shù)據(jù)結(jié)構(gòu)匹配的結(jié)果進(jìn)行分支跳轉(zhuǎn),進(jìn)入相應(yīng)的分支程序;(4)修改階段(T0Pmodify):根據(jù)決策階段(TOPresolve)傳入的消息和修改行標(biāo)"MDFLabel"進(jìn)行具體的加封裝和解封裝。上述基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其中,還包括分別在相應(yīng)的會(huì)話表中為首包所在方向建立相應(yīng)的表項(xiàng),以便該會(huì)話后續(xù)報(bào)文能被高速處理。上述基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其中,所述的第一查找階段(TOPsearchl)中,如果是解封裝,直接進(jìn)入解封裝程序,首先使用報(bào)文五元組中的源地址和目標(biāo)地址査詢非法地址列表,然后用源地址反向査詢路由,以此來(lái)獲得封裝隧道的相應(yīng)信息,最后用五元組的目標(biāo)地址進(jìn)行IPv6報(bào)文路由處理;如果是加封裝,必須在用目標(biāo)地址經(jīng)過路由查詢以后才能確定,確定相應(yīng)的隧道以后,通過不同的隧道處理得到封裝頭中的源地址和目標(biāo)地址。如果系統(tǒng)需要支持隧道QoS(服務(wù)質(zhì)量),還必須進(jìn)行相應(yīng)的QoS服務(wù)質(zhì)量查詢,主要涉及分類和測(cè)速。上述基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其中,所述的決策階段(TOPresolve)中,如果是加封裝,從相應(yīng)的數(shù)據(jù)結(jié)構(gòu)匹配結(jié)果中抽取出封裝頭中各個(gè)域的值和封裝以后的路由信息;如果是解封裝,也從相應(yīng)的數(shù)據(jù)結(jié)構(gòu)匹配結(jié)果中抽取出解封裝以后IPv6報(bào)文的路由信息,包括可能是另一個(gè)隧道的封裝過程;然后將這些信息組合成修改策略和修改行標(biāo)"MDFLabel",以消息的形式傳給修改階段(T0Pmodify)。上述基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其中,所述的分析階段(TOPparse)區(qū)分不同類型的報(bào)文是指先區(qū)分該報(bào)文是從網(wǎng)口進(jìn)來(lái)的隧道相關(guān)的報(bào)文,還是從同一網(wǎng)絡(luò)處理器的另一端繞回的報(bào)文;對(duì)于從網(wǎng)口進(jìn)入隧道相關(guān)的報(bào)文,網(wǎng)絡(luò)處理器的任務(wù)處理器T0Ps,首先要區(qū)分出具體的協(xié)議類型,包括IPv4傳輸控制協(xié)議、用戶數(shù)據(jù)報(bào)協(xié)議、網(wǎng)絡(luò)控制消息協(xié)議或IPv6的傳輸控制協(xié)議、用戶數(shù)據(jù)報(bào)協(xié)議、網(wǎng)絡(luò)控制消息協(xié)議。上述基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其中,所述的分析階段(TOPparse)創(chuàng)建報(bào)文相關(guān)消息是指為那些需要修改的數(shù)據(jù)或者那些將被后面階段用到的信息創(chuàng)建消息;所述的分析階段(TOPparse)硬件寄存器消息是指所有報(bào)文所必需的、記錄了所有硬件相關(guān)的信息,該消息中的決策行標(biāo)"RSVLabel"域,存儲(chǔ)的是跳轉(zhuǎn)行標(biāo),用于在決策階段(TOPresolve)實(shí)現(xiàn)多分支跳轉(zhuǎn)。上述基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其中,所述的修改階段(T0Pmodify),根據(jù)決策階段(TOPresolve)傳入的消息和修改行標(biāo)"MDFLabel"進(jìn)行具體的加封裝和解封裝對(duì)于加封裝就是在原報(bào)文的二層頭和三層頭之間加入一個(gè)IPv4報(bào)頭,此報(bào)頭的各個(gè)域值可以在決策階段(TOPresolve)傳入的消息中獲得,然后再修改二層頭相應(yīng)的域;對(duì)于解封裝,刪除原有的封裝頭,還原封裝前的IPv6報(bào)文,然后修改二層頭相應(yīng)的域。上述基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其中,所述的隧道端點(diǎn)在網(wǎng)絡(luò)處理器中以虛擬端點(diǎn)的形式存在,上述基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其中,所述的網(wǎng)絡(luò)處理器上的每個(gè)隧道端點(diǎn)相當(dāng)于該網(wǎng)絡(luò)處理器上一個(gè)獨(dú)立的邏輯端口。由于本發(fā)明采用了以上的技術(shù)方案,在實(shí)現(xiàn)IPv6穿越IPv4時(shí),既能滿足隧道的靈活配置,又能滿足高速網(wǎng)絡(luò)的需求,達(dá)到高性能的數(shù)據(jù)傳輸速度。本發(fā)明的具體特征、性能可由以下的實(shí)施例及其附圖進(jìn)一步描述。圖1是描述IPv6穿越IPv4的隧道機(jī)制示意圖。圖2是NP-2a網(wǎng)絡(luò)處理器的邏輯接口示意圖。圖3是NP-2a網(wǎng)絡(luò)處理器中T0Ps體系的結(jié)構(gòu)示意圖。圖4是NP-2a網(wǎng)絡(luò)處理器中隧道端點(diǎn)的物理模型的結(jié)構(gòu)示意圖。圖5是本發(fā)明加封裝流程示意圖。圖6是本發(fā)明解封裝流程示意圖。具體實(shí)施方式請(qǐng)參閱圖1。IPv6穿越IPv4(IPv6overIPv4)的隧道,是指用IPv4報(bào)頭來(lái)封裝IPv6數(shù)據(jù)包,以使IPv6數(shù)據(jù)包可以穿越IPv4的網(wǎng)絡(luò)結(jié)構(gòu)。在IPv4報(bào)頭中IPv4協(xié)議字段的值為41或者47,表示這是一個(gè)經(jīng)過封裝的IPv6數(shù)據(jù)包。IPv4源地址和目標(biāo)地址字段的值為隧道端點(diǎn)的IPv4地址。一般是手工配置的隧道信息的一部分,或者是從發(fā)送接口自動(dòng)獲得的與路由相匹配的下一跳地址的一部分,或者是IPv6報(bào)頭中的源IPv6地址或目標(biāo)IPv6地址的一部分。本發(fā)明基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,就是采用IPv4報(bào)頭來(lái)封裝IPv6數(shù)據(jù)包,以使IPv6數(shù)據(jù)包可以穿越IPv4的網(wǎng)絡(luò)結(jié)構(gòu);.包括以下步驟a、在網(wǎng)絡(luò)處理器中為每個(gè)IPv6穿越IPv4的隧道建立一個(gè)隧道端點(diǎn),此端點(diǎn)和遠(yuǎn)端設(shè)備的另一個(gè)隧道端點(diǎn)或者一組隧道端點(diǎn)一起組成一個(gè)完整的IPv6穿越IPv4的隧道;b、本地網(wǎng)絡(luò)處理器上的每個(gè)隧道以隧道標(biāo)識(shí)碼標(biāo)識(shí);C、建立隧道信息表、IPv6非法隧道地址列表、路由表和會(huì)話表;d、通過查詢隧道信息表、IPv6非法隧道地址列表、路由表和會(huì)話表,形成IPv4封裝頭,為IPv6報(bào)文加封裝IPv4報(bào)頭,形成穿越IPv4的隧道報(bào)文;e、根據(jù)IPv4報(bào)頭中的協(xié)議號(hào)和目標(biāo)地址來(lái)判斷是否需要本地端點(diǎn)對(duì)隧道報(bào)文進(jìn)行解封裝;如果需要,直接像處理普通IPv6報(bào)文一樣處理被封裝的IPv6報(bào)文;f、同時(shí),對(duì)于隧道報(bào)文進(jìn)行合法性檢測(cè),并將不合法的報(bào)文交由設(shè)備的控制層面處理。網(wǎng)絡(luò)處理器被稱為第五代路由器的核心,既繼承了路由器的優(yōu)點(diǎn),又克服了它們的缺點(diǎn)既有高性能,又具可編程性,這使得Internet上不斷涌現(xiàn)的新技術(shù)能夠迅速的在實(shí)際的路由器中得以應(yīng)用。因此網(wǎng)絡(luò)處理器的開發(fā)被許多芯片廠商作為一項(xiàng)重要內(nèi)容,眾多的芯片廠商紛紛提出了自己的設(shè)計(jì)理念和產(chǎn)品,其中比較典型的產(chǎn)品有EZchip的NP系列、IBM的PowerNP和Motorola的C-5等。本發(fā)明所基于的網(wǎng)絡(luò)處理器的實(shí)施例選擇以色列EZchip公司的NP-2a網(wǎng)絡(luò)處理器。該處理器具有全雙工10Gb速度進(jìn)行任務(wù)的報(bào)文解析、表格搜索、邏輯控制和報(bào)文修改。另外,該處理器還采用嵌入式內(nèi)容定位存儲(chǔ)器(CAM)來(lái)處理分類任務(wù)。具有很高的集成度,簡(jiǎn)化的編程模型,先進(jìn)的業(yè)務(wù)能力。擴(kuò)大了代碼空間,集成了流量管理模塊(TrafficManagement)用來(lái)支持10Gb線速的QoS(服務(wù)質(zhì)量)控制。本發(fā)明提出的實(shí)現(xiàn)方案將以NP-2a網(wǎng)絡(luò)處理器平臺(tái)為例,但不限于NP-2a網(wǎng)絡(luò)處理器平臺(tái)。如圖2所示,這是NP-2a網(wǎng)絡(luò)處理器的邏輯接口示意圖。NP-2a網(wǎng)絡(luò)處理器對(duì)外可以提供兩個(gè)全雙工的可配置的IOG接口,其包括XGMII:10GGigabitMediaInd印endentInterface,艮卩10G比特與介質(zhì)無(wú)關(guān)的接口。RGMII:1GReducedGigabitMediaIndependentInterface,艮卩1G比特與介質(zhì)無(wú)關(guān)的接口。SPI:SerialPeripheralInterface,艮卩串行夕卜設(shè)接口。PCI:PeripheralComponentInterconnect,艮卩周邊元件擴(kuò)展接口。CPU:CentralProcessingUnit,即中央處理器。隱DualDataRate,艮卩雙倍速率。QDR:QuadDataRate,即四倍速率。DRAM:DynamicRandom-accessMemory,艮卩動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器。SRAM:StaticRandom-accessMemory,即靜態(tài)隨機(jī)存取存儲(chǔ)器。CAM:ContentAccessMemory,艮卩內(nèi)容尋址存儲(chǔ)器。請(qǐng)參閱圖3。NP-2a網(wǎng)絡(luò)處理器內(nèi)部采用了優(yōu)化的任務(wù)處理器(TaskOptimizedProcessors—TOPs)體系結(jié)構(gòu),包括4種不同類型的TOP,各類型的TOP完成不同的任務(wù)。包括分析階段(T0Pparse):ParseModule,即分析模塊,用來(lái)分辨和提取各種數(shù)據(jù)幀的報(bào)頭、標(biāo)記、地址、端口、協(xié)議、領(lǐng)域、模式和關(guān)鍵字;該模塊能夠分析任意格式、任意封裝方式和任意具有優(yōu)先權(quán)標(biāo)記等的包。第一查找階段(TOPsearchI):SearchIModule,即第一個(gè)查找模塊,該模塊使用分析過的區(qū)域作為關(guān)鍵字進(jìn)行相關(guān)表的查找、分類和管理表。決策階段(TOPresolve):ResolveModule,即決策模塊,該模塊進(jìn)行數(shù)據(jù)包轉(zhuǎn)發(fā)和QoS(服務(wù)質(zhì)量)決策,并更新相關(guān)表和狀態(tài)信息。附件查找階段(TOPserachII):SearchIIModule,即第二個(gè)査找模塊,該模塊是可選的,在決策階段(TOPresolve)完成之后,進(jìn)行附加的査找。修改階段(T0Pmodify):ModifyModule,即修改模塊,該模塊對(duì)數(shù)據(jù)包的內(nèi)容進(jìn)行具體修改,完成在數(shù)據(jù)包的任何地方進(jìn)行改寫、添加和刪除操作。另外,其內(nèi)部還包括HDMA:HostDMA,即主機(jī)直接內(nèi)存訪問模塊。IBDMA:IngressBackDMA,即接收后端直接內(nèi)存訪問模塊。IFDMA:IngressFrontDMA,即接收前端直接內(nèi)存訪問模塊。EFDMA:EgressFrontDMA,即發(fā)送前端直接內(nèi)存訪問模塊。EBDMA:EgressBackDMA,即發(fā)送后端直接內(nèi)存訪問模塊。HTFDQueue:HostTransmitFrameDescriptorQueue,艮卩用于存儲(chǔ)發(fā)往CP數(shù)據(jù)幀描述符的隊(duì)列。VOQQueue:VirtualOutputQueues,即用于存儲(chǔ)發(fā)往交換開關(guān)數(shù)據(jù)幀描述符的隊(duì)列。ETFDQueue:EgressTransmitFrameDescriptorQueue,艮卩用于存儲(chǔ)發(fā)往網(wǎng)口數(shù)據(jù)幀描述符的隊(duì)列。STATMSGQueue:StatisticsMessageQueue,即計(jì)數(shù)器模塊發(fā)往CP的消息隊(duì)列。SRHQueue:SearchMessageQueue,即存儲(chǔ)著增加或刪除查找表項(xiàng)時(shí)發(fā)往CP的消息隊(duì)列。ICFDQueue:IngressClassifiedFrameDescriptorQueue,艮卩用于存儲(chǔ)從網(wǎng)口進(jìn)入NP(網(wǎng)絡(luò)處理器)的數(shù)據(jù)幀描述符的隊(duì)列。ECFDQueue:EgressClassifiedFrameDescriptorQueue,艮卩存儲(chǔ)從交換開關(guān)或PCI進(jìn)入NP(網(wǎng)絡(luò)處理器)的數(shù)據(jù)幀描述符的隊(duì)列。RFDTables:ReceiveFr騰DescriptorTables,艮卩記錄空閑的Buffer、以被占用的Buffer指針的表。從圖3可以看出,四種不同類型的TOPs處理器形成一種超標(biāo)量體系結(jié)構(gòu),可用于并行處理和流水線處理。在每個(gè)處理階段,每種類型的TOPs處理器中的多個(gè)處理器同時(shí)對(duì)多個(gè)數(shù)據(jù)幀進(jìn)行處理,滿足10GE對(duì)數(shù)據(jù)幀進(jìn)行7層線速處理(全雙工)的要求。分配TOPs處理器去處理接收到的幀,傳送分析結(jié)果,信息,幀指針從一個(gè)流水線階段到另一個(gè)流水線階段,以及維持?jǐn)?shù)據(jù)幀的順序等工作均由硬件完成。本發(fā)明采用在NP-2a網(wǎng)絡(luò)處理器中為每個(gè)IPv6穿越IPv4的隧道建立一個(gè)隧道端點(diǎn),此端點(diǎn)和遠(yuǎn)端設(shè)備的另一個(gè)隧道端點(diǎn)(或者一組隧道端點(diǎn))一起組成一個(gè)完整的IPv6穿越IPv4的隧道。隧道端點(diǎn)在NP-2a網(wǎng)絡(luò)處理器中以虛擬的端點(diǎn)形式存在,和其上的物理端口并沒有對(duì)應(yīng)關(guān)系。如圖4所示。NP-2a網(wǎng)絡(luò)處理器上的每個(gè)隧道以隧道標(biāo)識(shí)碼(Tunnel(隧道)ID)標(biāo)識(shí),并且認(rèn)為每個(gè)隧道端點(diǎn)只屬于整個(gè)設(shè)備,并不屬于哪個(gè)具體的物理端口。也就是說(shuō),每個(gè)隧道端點(diǎn)相當(dāng)于NP-2a網(wǎng)絡(luò)處理器上獨(dú)立的邏輯端口。對(duì)于手工配置隧道,其本地端點(diǎn)(LocalNode)和遠(yuǎn)端端點(diǎn)(RemoteNode)的關(guān)系為"一點(diǎn)對(duì)一點(diǎn)",這樣配置隧道的隧道標(biāo)識(shí)碼完全對(duì)應(yīng)隧道的兩個(gè)端點(diǎn),即通過隧道標(biāo)識(shí)碼可以確定封裝報(bào)頭的源地址和目標(biāo)地址;對(duì)于自動(dòng)隧道,其本地端點(diǎn)和遠(yuǎn)端端點(diǎn)的關(guān)系為"一點(diǎn)對(duì)多點(diǎn)",所以對(duì)于自動(dòng)隧道,每個(gè)隧道標(biāo)識(shí)碼對(duì)應(yīng)隧道的本地端點(diǎn),即通過隧道標(biāo)識(shí)碼可以確定封裝報(bào)頭的源地址。但是遠(yuǎn)端端點(diǎn)是不確定的,所以封裝報(bào)頭中的目標(biāo)地址只能通過原報(bào)文目標(biāo)地址(DIPv6),或者通過路由表中的下一跳地址獲得。根據(jù)IPv4報(bào)頭中的協(xié)議號(hào)和目標(biāo)地址來(lái)判斷是否需要本地端點(diǎn)對(duì)報(bào)文進(jìn)行解封裝,如果需要,直接像處理普通IPv6報(bào)文一樣處理被封裝的IPv6報(bào)文。為了支持10G線速的IPv6穿越IPv4的隧道報(bào)文加解封裝處理,在進(jìn)行隧道每個(gè)會(huì)話的首包處理時(shí),同時(shí)在NP-2a網(wǎng)絡(luò)處理器的查詢存儲(chǔ)器中建立相應(yīng)的會(huì)話表項(xiàng),使得屬于這個(gè)會(huì)話的同一方向的后續(xù)報(bào)文得以10G線速處理。同時(shí)須對(duì)隧道報(bào)文進(jìn)行一定的合法性檢測(cè),將不合法的報(bào)文交由設(shè)備的控制層面處理,以免影響設(shè)備數(shù)據(jù)層面的高速性。在NP-2a網(wǎng)絡(luò)處理器上實(shí)現(xiàn)IPv6穿越IPv4的隧道,主要涉及四個(gè)主要數(shù)據(jù)結(jié)構(gòu),包括隧道信息表、IPv6非法隧道地址列表、路由表和會(huì)話表。其中隧道信息表是其特有的數(shù)據(jù)結(jié)構(gòu),其他的數(shù)據(jù)結(jié)構(gòu)都是設(shè)備上的所有模塊共享的。本網(wǎng)關(guān)IPv4地址集合,在NP-2a網(wǎng)絡(luò)處理器的內(nèi)容尋址存儲(chǔ)器(CAM32)中記錄本網(wǎng)關(guān)配置的所有IPv4地址,以便確定IPv4報(bào)頭協(xié)議號(hào)為41/47的報(bào)文是否是發(fā)往本地隧道端點(diǎn)的。隧道信息表記錄隧道的相關(guān)信息,以直接表的形式存在。具體如表1所示表h隧道信息表域名偏移量長(zhǎng)度備注鍵TurmelID02隧道標(biāo)識(shí)碼結(jié)果Control01控制字段,用來(lái)<table>tableseeoriginaldocumentpage20</column></row><table>IPv6非法隧道地址列表記錄了非法的隧道源地址和目標(biāo)地址組合,包含IPv6穿越IPv4隧道的非法地址,為了進(jìn)行掩碼匹配,其以樹的形式存在。對(duì)于需要被加封裝的報(bào)文,必須檢測(cè)其源IPv6地址的合法性,對(duì)于需解封裝的報(bào)文,必須檢測(cè)其IPv4封裝報(bào)頭中源地址(SIPv4)是否為隧道配置表中相應(yīng)隧道的遠(yuǎn)端IPv4地址和被封裝的IPv6報(bào)頭中IPv6地址的合法性。IPv6非法隧道地址表具體如表2所示表2:IPv6非法隧道地址表域名偏移量長(zhǎng)度備注<table>tableseeoriginaldocumentpage20</column></row><table>路由表用來(lái)決定哪些報(bào)文需要被加封裝,具體從屬于哪個(gè)隧道。對(duì)于一些隧道,封裝報(bào)頭的目標(biāo)地址也需要從路由表中獲得,路由表以樹的形式存在。路由表具體如表3所示表3:路由表<table>tableseeoriginaldocumentpage21</column></row><table>會(huì)話表是為了支持高速處理而存在的,使得同一會(huì)話同一方向的后續(xù)報(bào)文不用再經(jīng)過多次查詢才能確定處理路徑和參數(shù),而是通過匹配會(huì)話表的表項(xiàng)直接獲得處理路徑和參數(shù),其以哈希表的形式存在。會(huì)話表具體如表4所示表4:會(huì)話表<table>tableseeoriginaldocumentpage21</column></row><table><table>tableseeoriginaldocumentpage22</column></row><table><table>tableseeoriginaldocumentpage23</column></row><table>下面分別對(duì)于IPv6穿越IPv4的隧道解封裝和加封裝進(jìn)行詳細(xì)的描述。對(duì)于需要加封裝的IPv6報(bào)文,在分析階段(TOPparse)階段并不區(qū)分,直至第一査找階段(TOPsearchl)階段由路由表或者會(huì)話表確定。如果是某個(gè)會(huì)話的首報(bào)文,根據(jù)隧道路由類型得到DIPv4,根據(jù)隧道標(biāo)識(shí)碼得到其隧道相關(guān)信息,進(jìn)一步得到SIPv4。其后的處理就是以DIPv4為目的地的IPv4路由轉(zhuǎn)發(fā)處理,但是如果遇上出錯(cuò),只將原來(lái)的IPv6報(bào)文送至協(xié)議棧。在決策階段(TOPresolve)階段在會(huì)話表中會(huì)對(duì)這個(gè)IPv6報(bào)文創(chuàng)建加封裝的表項(xiàng)。如果會(huì)話表命中,直接根據(jù)會(huì)話表相應(yīng)表項(xiàng)的信息進(jìn)行加封裝處理。請(qǐng)參閱圖5,這是本發(fā)明基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法中所述的為IPv6報(bào)文加封裝IPv4報(bào)頭的具體流程圖。所述的加封裝包括以下步驟d-l、對(duì)IPv6報(bào)文的源地址、目標(biāo)地址進(jìn)行非法地址列表匹配;如果命中,即表示具有非法地址,丟棄該報(bào)文;如果不命中,則以目標(biāo)地址匹配路由表,然后根據(jù)路由結(jié)果進(jìn)行不同的處理;包括是隧道路由的處理和不是路由隧道的處理;如果是隧道路由,則進(jìn)行隧道加封裝處理;如果不是隧道路由,則進(jìn)行正常的IPv6路由轉(zhuǎn)發(fā)處理;d-2、根據(jù)隧道的不同(配置的隧道、根據(jù)路由表下一跳地址得到封裝頭目標(biāo)地址的隧道、根據(jù)原目標(biāo)地址得到封裝頭目標(biāo)地址的隧道),得到作為封裝頭的IPv4目標(biāo)地址和源地址如果是配置隧道,則根據(jù)路由表結(jié)果中的隧道標(biāo)示碼查詢隧道信息表,在相應(yīng)的隧道信息中取得遠(yuǎn)端IPv4作為封裝頭的目標(biāo)地址,取得本地IPv4地址作為封裝頭的源地址;如果是根據(jù)路由表下一跳地址得到封裝頭目標(biāo)地址的隧道,則將路由表下一跳地址中的IPv4地址作為封裝頭的目標(biāo)地址,取得隧道信息表的本地IPv4地址作為封裝頭的源地址;如果是根據(jù)原目標(biāo)地址得到封裝頭目標(biāo)地址的隧道,則將原報(bào)文的目標(biāo)地址中IPv4地址作為封裝頭的目標(biāo)地址,取得隧道信息表的本地IPv4地址作為封裝頭的源地址。d-3、將已獲得的目標(biāo)地址作為鍵査詢路由表,作正常的IPv4路由轉(zhuǎn)發(fā)處理,并通過隧道對(duì)應(yīng)的ID計(jì)數(shù)器得到封裝頭的ID號(hào);d-4封裝結(jié)束。請(qǐng)參閱圖6。本發(fā)明基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法中,所述的解封裝步驟包括e-l、對(duì)IPv4報(bào)文進(jìn)行四層協(xié)議類型解析;如果其協(xié)議類型為封裝IPv6報(bào)文的IPv4報(bào)文(協(xié)議號(hào)41)或者通用路由協(xié)議封裝(協(xié)議號(hào)47),并且目標(biāo)地址為本網(wǎng)關(guān)IPv4地址,則需要解封裝,否則當(dāng)作未知報(bào)文處理;e-2、對(duì)封裝的源地址、目標(biāo)地址進(jìn)行非法地址列表匹配;如果命中,即表示具有非法地址,丟棄該報(bào)文;如果不命中,則以被封裝的IPv6報(bào)頭中的源地址匹配路由表,得到的結(jié)果為隧道路由,根據(jù)結(jié)果中的隧道類型進(jìn)一步檢査封裝頭源地址的合法性;e-3、檢査是否是配置隧道?如果不是配置隧道,則進(jìn)行一個(gè)通常的IPv6報(bào)文處理;如果是配置隧道,再檢査源地址是否等于遠(yuǎn)端端點(diǎn)地址?如果是遠(yuǎn)端端點(diǎn)地址,則進(jìn)行一個(gè)通常的IPv6報(bào)文處理;如果不是遠(yuǎn)端端點(diǎn)地址,則表明封裝頭中的源地址不合法,丟棄該報(bào)文;e-4、解封裝結(jié)束。實(shí)際上,所述IPv6穿越IPv4的隧道解封裝和加封裝過程分別對(duì)已建立會(huì)話的報(bào)文和對(duì)未建立會(huì)話的報(bào)文進(jìn)行處理時(shí),網(wǎng)絡(luò)處理器的各個(gè)不同階段的任務(wù)處理模塊進(jìn)行不同的操作;所述的各個(gè)不同階段的任務(wù)處理模塊包括分析階段的分析模塊(T0Pparse:ParseModule),用來(lái)分辨和提取各種數(shù)據(jù)幀的報(bào)頭、標(biāo)記、地址、端口、協(xié)議、領(lǐng)域、模式和關(guān)鍵字;査找階段的第一個(gè)査找模塊(TOPsearchI:SearchIModule),該模塊使用分析過的區(qū)域作為關(guān)鍵字進(jìn)行相關(guān)表的査找、分類和管理表;24決策階段的決策模塊(TOPresolve:ResolveModule),該模塊進(jìn)行數(shù)據(jù)包轉(zhuǎn)發(fā)和QoS(服務(wù)質(zhì)量)決策,并更新相關(guān)表和狀態(tài)信息;附加查找階段的第二個(gè)査找模塊(TOPserachII:SearchIIModule),該模塊是可選的,在TOFresolve完成之后,進(jìn)行附加的查找;修改階段的修改模塊(T0Pmodify:ModifyModule),該模塊對(duì)數(shù)據(jù)包的內(nèi)容進(jìn)行具體修改,完成在數(shù)據(jù)包的任何地方進(jìn)行改寫、添加和刪除操作;對(duì)于需要解封裝的IPv4報(bào)文,在分析階段(T0Pparse)階段即可以確定,具體辦法就是通過四層協(xié)議號(hào)和IPv4報(bào)頭的目標(biāo)地址,然后分析其載荷中的IPv6報(bào)文,組建一個(gè)IPv6五元組(五元組指由源地址、目標(biāo)地址、源端口、目標(biāo)端口、協(xié)議號(hào)組成的集合)的復(fù)合鍵傳至第一查找階段(TOPsearchl),第一查找階段(TOPsearchl)根據(jù)會(huì)話表或者源地址査詢路由獲得其加封裝的隧道信息(某個(gè)會(huì)話的首報(bào)文),以便決策階段(TOPresolve)檢測(cè)合法性。然后將報(bào)文作為一個(gè)普通的IPv6進(jìn)行路由轉(zhuǎn)發(fā)處理,但是如果遇上出錯(cuò),將原來(lái)已經(jīng)封裝的IPv4報(bào)文送至協(xié)議棧。如果是某個(gè)會(huì)話的首報(bào)文,在決策階段(TOPresolve)階段會(huì)在會(huì)話表中對(duì)這個(gè)IPv6報(bào)文創(chuàng)建解封裝的表項(xiàng)。下面對(duì)于IPv6穿越IPv4的隧道解封裝和加封裝過程以每個(gè)TOP的角度進(jìn)行詳細(xì)的描述。對(duì)已建立會(huì)話的報(bào)文處理流程對(duì)于已經(jīng)建立會(huì)話的報(bào)文,其處理所需的大部分信息已經(jīng)保存在會(huì)話表中相應(yīng)表項(xiàng)的結(jié)果中,只有一些動(dòng)態(tài)的信息需要?jiǎng)討B(tài)取得,所以對(duì)于已建立會(huì)話的報(bào)文處理相對(duì)簡(jiǎn)單,并且能夠保證設(shè)備的IOG線速。1、在分析階段(T0Pparse),包括區(qū)分不同類型的報(bào)文;創(chuàng)建由源地址、目標(biāo)地址、源端口、目標(biāo)端口、協(xié)議號(hào)組成的五元組,用于査找會(huì)話表;創(chuàng)建報(bào)文相關(guān)消息和硬件寄存器消息。在區(qū)分不同類型的報(bào)文時(shí),先區(qū)分該報(bào)文是從網(wǎng)口(RX端)進(jìn)來(lái)還是從同一網(wǎng)絡(luò)處理器的另一端(TX端)繞回的報(bào)文。隧道相關(guān)的報(bào)文只可能從RX端進(jìn)入NP-2a網(wǎng)絡(luò)處理器的T0Ps,首先要區(qū)分出具體的3層和4層協(xié)議類型,即IPv4(TCP(傳輸控制協(xié)議),UDP(用戶數(shù)據(jù)報(bào)協(xié)議),ICMP(網(wǎng)絡(luò)控制消息協(xié)議),未知協(xié)議,隧道報(bào)文)或IPv6(TCP(傳輸控制協(xié)議),UDP(用戶數(shù)據(jù)報(bào)協(xié)議),ICMP(網(wǎng)絡(luò)控制消息協(xié)議),未知協(xié)議)。對(duì)于隧道報(bào)文,是指封裝頭的協(xié)議號(hào)為41或者47的報(bào)文,如果其協(xié)議類型為封裝IPv6報(bào)文的IPv4報(bào)文(協(xié)議號(hào)為41)或者為通用路由協(xié)議封裝(協(xié)議號(hào)為47)并且目標(biāo)地址為本網(wǎng)關(guān)配置的某個(gè)地址,這類報(bào)文即確定為需要進(jìn)行解封裝處理的隧道報(bào)文。創(chuàng)建五元組用于査找會(huì)話表。對(duì)于創(chuàng)建報(bào)文相關(guān)消息和硬件寄存器消息。由于各個(gè)處理階段(TOPs)之間信息的共享必須通過消息來(lái)實(shí)現(xiàn),所以須為那些需要修改的數(shù)據(jù)或者那些將被后面階段用到的信息創(chuàng)建消息。硬件寄存器消息是所有報(bào)文所必需的,記錄了所有硬件相關(guān)的信息。值得一提的是,該消息中的決策行標(biāo)"RSVLabel"域,存儲(chǔ)的是跳轉(zhuǎn)行標(biāo),用于在決策階段(TOPresolve)實(shí)現(xiàn)多分支跳轉(zhuǎn)。2、第一査找階段(TOPsearchI)根據(jù)五元組査找相應(yīng)的會(huì)話表即可。此時(shí)會(huì)話表一定命中,查詢結(jié)果中幾乎包含了所有需要的封裝信息、路由信息,其中如果是加封裝處理,必須動(dòng)態(tài)從對(duì)應(yīng)的計(jì)數(shù)器得到封裝頭的ID號(hào),如果需要支持隧道QoS(服務(wù)質(zhì)量),必須使用對(duì)應(yīng)的TokenBucket(令牌桶)進(jìn)行動(dòng)態(tài)的流量測(cè)速。3、決策階段(TOPresolve)根據(jù)會(huì)話表的結(jié)果中的控制字段進(jìn)行分支跳轉(zhuǎn),進(jìn)入相應(yīng)的分支程序。如果是加封裝,決定封裝頭中各個(gè)域的值和封裝以后的路由;如果是解封裝,決定解封裝以后IPv6報(bào)文的路由。然后將這些信息組合成修改策略和修改行標(biāo)"MDFLabel",以消息的形式傳給修改階段(T0Pmodify)。4、、修改階段(T0Pmodify)根據(jù)決策階段(TOPresolve)傳入的消息和修改行標(biāo)"MDFLabel"進(jìn)行具體的加封裝和解封裝。對(duì)于加封裝就是在原報(bào)文的二層頭和三層頭之間加入一個(gè)IPv4報(bào)頭,此報(bào)頭的各個(gè)域值可以在決策階段(TOPresolve)傳入的消息中獲得,然后再修改二層頭相應(yīng)的域;對(duì)于解封裝,刪除原有的封裝頭,還原封裝前的IPv6報(bào)文,然后修改二層頭相應(yīng)的域。對(duì)于未建立會(huì)話的報(bào)文處理流程,首先要進(jìn)行隧道會(huì)話首包處理。隧道會(huì)話首包就是在會(huì)話表沒有對(duì)應(yīng)表項(xiàng)的報(bào)文,有可能是需要解封裝的IPv4報(bào)文,也有可能是需要加封裝的IPv6報(bào)文,更加復(fù)雜的情況是,先解封裝然后再進(jìn)行另一個(gè)隧道的加封裝。我們分別在相應(yīng)的會(huì)話表中為首包所在方向建立,應(yīng)的表項(xiàng),以便該會(huì)話后續(xù)報(bào)文能被高速處理。包括1、分析階段(T0Pparse),包括區(qū)分不同類型的報(bào)文;創(chuàng)建五元組用于査找會(huì)話表;創(chuàng)建報(bào)文相關(guān)消息和硬件寄存器消息。其中對(duì)于區(qū)分不同類型的報(bào)文先區(qū)分該報(bào)文是從網(wǎng)口(RX端)進(jìn)來(lái)還是從同一網(wǎng)絡(luò)處理器的另一端(TX端)繞回的報(bào)文。隧道相關(guān)的報(bào)文只可能從RX端進(jìn)入NP-2a網(wǎng)絡(luò)處理器的T0Ps(NP網(wǎng)絡(luò)處理器內(nèi)的一種優(yōu)化的任務(wù)處理器),首先要區(qū)分出具體的3層和4層協(xié)議類型,即IPv4包括TCP(傳輸控制協(xié)議)、UDP(用戶數(shù)據(jù)報(bào)協(xié)議)、ICMP(網(wǎng)絡(luò)控制消息協(xié)議)、未知協(xié)議、以及隧道報(bào)文,或IPv6包括TCP(傳輸控制協(xié)議)、UDP(用戶數(shù)據(jù)報(bào)協(xié)議)、ICMP(網(wǎng)絡(luò)控制消息協(xié)議)、未知協(xié)議。對(duì)于隧道報(bào)文,是指封裝頭的協(xié)議號(hào)為41或者47,并且目標(biāo)地址為本網(wǎng)關(guān)配置的某個(gè)地址,這類報(bào)文確定為需要設(shè)備進(jìn)行解封裝處理的隧道報(bào)文。創(chuàng)建五元組用于査找會(huì)話表。對(duì)于創(chuàng)建報(bào)文相關(guān)消息和硬件寄存器消息由于各個(gè)處理階段(TOPs)之間信息的共享必須通過消息來(lái)實(shí)現(xiàn),所以我們必須為那些需要修改的數(shù)據(jù)或者那些將被后面階段用到的信息創(chuàng)建消息。硬件寄存器消息是所有報(bào)文所必需的,記錄了所有硬件相關(guān)的信息。值得一提的是,該消息中的決策行標(biāo)"RSVLabel"域,存儲(chǔ)的是跳轉(zhuǎn)行標(biāo),用于在決策階段(TOPresolve)實(shí)現(xiàn)多分支跳轉(zhuǎn)。2、第一查找階段(曹searchl):以五元組為鍵查詢會(huì)話表,此時(shí)會(huì)話表不命中,表明是一個(gè)會(huì)話首包。如果是解封裝,直接進(jìn)入解封裝程序,首先使用報(bào)文五元組中的源地址和目標(biāo)地址查詢非法地址列表,然后用源地址反向查詢路由,以此來(lái)獲得封裝隧道的相應(yīng)信息,最后用五元組的目標(biāo)地址進(jìn)入IPv6報(bào)文路由處理,可能此時(shí)會(huì)進(jìn)入另一個(gè)隧道的封裝處理如果是加封裝,必須在用目標(biāo)地址經(jīng)過路由査詢以后才能確定,確定相應(yīng)的隧道以后,通過不同的隧道處理得到封裝頭中的源地址和目標(biāo)地址。如果系統(tǒng)需要支持隧道QoS(服務(wù)質(zhì)量),還必須進(jìn)行相應(yīng)的QoS服務(wù)質(zhì)量查詢,主要涉及分類和測(cè)速。3、決策階段(TOPresolve):根據(jù)分析階段(T0Pparse)傳入的決策行標(biāo)"RSVLabel"值和各個(gè)數(shù)據(jù)結(jié)構(gòu)匹配的結(jié)果進(jìn)行分支跳轉(zhuǎn),進(jìn)入相應(yīng)的分支程序。如果是加封裝,從相應(yīng)的數(shù)據(jù)結(jié)構(gòu)匹配結(jié)果中抽取出封裝頭中各個(gè)域的值和封裝以后的路由信息;如果是解封裝,也從相應(yīng)的數(shù)據(jù)結(jié)構(gòu)匹配結(jié)果中抽取出解封裝以后IPv6報(bào)文的路由信息(有可能是另一個(gè)隧道的封裝過程)。然后將這些信息組合成修改策略和修改行標(biāo)"MDFLabel",以消息的形式傳給修改階段(TOPraodify)。4、修改階段(T0Pmodify):根據(jù)決策階段(TOPresolve)傳入的消息和"MDFLabel"進(jìn)行具體的加封裝和解封裝。對(duì)于加封裝就是在原報(bào)文的二層頭和三層頭之間加入一個(gè)IPv4報(bào)頭,此報(bào)頭的各個(gè)域值可以在決策階段(TOPresolve)傳入的消息中獲得,然后再修改二層頭相應(yīng)的域;對(duì)于解封裝,刪除原有的封裝頭,還原封裝前的IPv6報(bào)文,然后修改二層頭相應(yīng)的域。本發(fā)明的實(shí)施,可以使IPv6穿越IPv4網(wǎng)絡(luò)時(shí),能滿足現(xiàn)在高速網(wǎng)絡(luò)的需求,其靈活性可跟上網(wǎng)絡(luò)協(xié)議和標(biāo)準(zhǔn)的快速改變,使其達(dá)到高性能的數(shù)據(jù)傳輸速度。權(quán)利要求1.基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其特征在于,采用IPv4報(bào)頭來(lái)封裝IPv6數(shù)據(jù)包,使得IPv6數(shù)據(jù)包能在IPv4網(wǎng)絡(luò)上傳輸;包括以下步驟a、在網(wǎng)絡(luò)處理器中為每個(gè)IPv6穿越IPv4的隧道建立一個(gè)隧道端點(diǎn),此端點(diǎn)和遠(yuǎn)端設(shè)備的另一個(gè)隧道端點(diǎn)或者一組隧道端點(diǎn)一起組成一個(gè)完整的IPv6穿越IPv4的隧道;b、本地網(wǎng)絡(luò)處理器上的每個(gè)隧道以隧道標(biāo)識(shí)碼標(biāo)識(shí);c、建立隧道信息表、IPv6非法隧道地址列表、路由表和會(huì)話表;其中隧道信息表記錄隧道的相關(guān)信息;IPv6非法地址列表記錄了非法的隧道源地址和隧道目標(biāo)地址組合;路由表用來(lái)決定哪些報(bào)文需要被加封裝,具體屬于哪個(gè)隧道;會(huì)話表記錄了同一會(huì)話的確定處理路徑和參數(shù);d、通過查詢隧道信息表、IPv6非法隧道地址列表、路由表和會(huì)話表,獲得IPv4封裝頭的信息,然后為IPv6報(bào)文加封裝IPv4報(bào)頭,形成穿越IPv4網(wǎng)絡(luò)的隧道報(bào)文;e、根據(jù)IPv4報(bào)頭中的協(xié)議號(hào)和目標(biāo)地址來(lái)判斷是否需要本地隧道端點(diǎn)對(duì)已封裝的隧道報(bào)文進(jìn)行解封裝;如果需要,去掉IPv4報(bào)頭,然后對(duì)解封裝以后的報(bào)文做普通的IPv6路由處理。2、根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其特征在于,還包括以下步驟f、同時(shí),對(duì)于隧道報(bào)文進(jìn)行合法性檢測(cè),并將不合法的報(bào)文交由設(shè)備的控制層面處理。3、根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其特征在于,步驟d所述的為IPv6報(bào)文加封裝IPv4報(bào)頭的步驟包括d-l、對(duì)IPv6報(bào)文的源地址、目標(biāo)地址進(jìn)行非法地址列表匹配;如果命中,即表示具有非法地址,丟棄該報(bào)文;如果不命中,則以目標(biāo)地址匹配路由表,然后根據(jù)路由結(jié)果進(jìn)行不同的處理,包括是隧道路由的處理和不是路由隧道的處理;如果是隧道路由,則進(jìn)行隧道加封裝處理;如果不是隧道路由,則進(jìn)行正常的IPv6路由轉(zhuǎn)發(fā)處理;d-2、通過隧道信息表、或根據(jù)路由表下一跳地址、或根據(jù)原報(bào)文目標(biāo)地址,得到作為封裝頭的IPv4目標(biāo)地址d-3、通過隧道信息表取得封裝頭的源地址;d-4、將已獲得的目標(biāo)地址作為鍵査詢路由表,進(jìn)行正常的IPv4路由轉(zhuǎn)發(fā)處理,并通過隧道對(duì)應(yīng)的ID計(jì)數(shù)器得到封裝頭的ID號(hào);d-5、封裝結(jié)束。4、根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其特征在于,步驟e所述的解封裝步驟包括e-1、對(duì)IPv4報(bào)文進(jìn)行四層協(xié)議類型解析,如果其協(xié)議類型為封裝IPv6報(bào)文的IPv4報(bào)文(協(xié)議號(hào)41)或者通用路由協(xié)議封裝(協(xié)議號(hào)47),并且目標(biāo)地址為本網(wǎng)關(guān)IPv4地址,則需要解封裝;e-2、對(duì)封裝的IPv6報(bào)文源地址、目標(biāo)地址進(jìn)行非法地址列表匹配;如果命中,即表示具有非法地址,丟棄該報(bào)文;如果不命中,則以被封裝的IPv6報(bào)頭中的源地址匹配路由表,得到的結(jié)果為隧道路由,根據(jù)結(jié)果中的隧道類型進(jìn)一步檢查封裝頭源地址的合法性;e-3、檢査是否是配置隧道?如果不是配置隧道,則進(jìn)行一個(gè)通常的IPv6報(bào)文處理;如果是配置隧道,再檢査源地址是否等于遠(yuǎn)端端點(diǎn)地址?如果是遠(yuǎn)端端點(diǎn)地址,則進(jìn)行一個(gè)通常的IPv6報(bào)文處理;如果不是遠(yuǎn)端端點(diǎn)地址,則表明封裝頭中的源地址不合法,丟棄該報(bào)文;e-4、解封裝結(jié)束。5、根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其特征在于,所述IPv6穿越IPv4的隧道解封裝和加封裝過程分別對(duì)已建立會(huì)話的報(bào)文和對(duì)未建立會(huì)話的報(bào)文進(jìn)行處理時(shí),網(wǎng)絡(luò)處理器的各個(gè)不同階段的任務(wù)處理模塊進(jìn)行不同的操作;所述的各個(gè)不同階段的任務(wù)處理模塊包括分析階段的分析模塊,用來(lái)分辨和提取各種數(shù)據(jù)幀的報(bào)頭、標(biāo)記、地址、端口、協(xié)議、領(lǐng)域、模式和關(guān)鍵字;査找階段的第一個(gè)査找模塊,該模塊使用分析過的區(qū)域作為關(guān)鍵字進(jìn)行相關(guān)表的査找、分類和管理表;決策階段的決策模塊,該模塊進(jìn)行數(shù)據(jù)包轉(zhuǎn)發(fā)和服務(wù)質(zhì)量決策,并更新相關(guān)表和狀態(tài)信息;附加查找階段的第二個(gè)査找模塊,該模塊是可選的,在決策階段完成之后,進(jìn)行附加的査找;修改階段的修改模塊,該模塊對(duì)數(shù)據(jù)包的內(nèi)容進(jìn)行具體修改,完成在數(shù)據(jù)包的任何地方進(jìn)行改寫、添加和刪除操作。6、根據(jù)權(quán)利要求5所述的基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其特征在于,對(duì)已建立會(huì)話的報(bào)文處理流程包括;(1)分析階段首先區(qū)分不同類型的報(bào)文;然后創(chuàng)建由源地址、目標(biāo)地址、源端口、目標(biāo)端口、協(xié)議號(hào)組成的五元組,用于查找會(huì)話表;再就是創(chuàng)建報(bào)文相關(guān)消息和硬件寄存器消息;(2)第一査找階段根據(jù)五元組査找相應(yīng)的會(huì)話表;(3)決策階段根據(jù)會(huì)話表的結(jié)果中的控制字段進(jìn)行分支跳轉(zhuǎn),進(jìn)入相應(yīng)的分支程序;(4)修改階段根據(jù)決策階段傳入的消息和修改行標(biāo)域進(jìn)行具體的加封裝和解封裝。7、根據(jù)權(quán)利要求6所述的基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其特征在于,所述的第一查找階段根據(jù)五元組查找相應(yīng)的會(huì)話表時(shí),如果是加封裝處理,須動(dòng)態(tài)從對(duì)應(yīng)的計(jì)數(shù)器得到封裝頭的ID號(hào);如果需要支持隧道服務(wù)質(zhì)量,必須使用對(duì)應(yīng)的令牌桶進(jìn)行動(dòng)態(tài)的流量測(cè)速。8、根據(jù)權(quán)利要求6所述的基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其特征在于,所述的決策階段,如果是加封裝,決定封裝頭中各個(gè)域的值和封裝以后的路由;如果是解封裝,決定解封裝以后IPv6報(bào)文的路由,然后將這些信息組合成修改策略和修改行標(biāo),以消息的形式傳給修改階段。9、根據(jù)權(quán)利要求5所述的基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其特征在于,所述的對(duì)于未建立會(huì)話的報(bào)文處理流程是對(duì)隧道會(huì)話首包處理的流程,該流程是指在會(huì)話表沒有對(duì)應(yīng)表項(xiàng)的報(bào)文,包括是需要解封裝的IPv4報(bào)文,或是需要加封裝的IPv6報(bào)文,或者是先解封裝然后再進(jìn)行另一個(gè)隧道加封裝的IPv4報(bào)文;具體流程是(1)分析階段首先區(qū)分不同類型的報(bào)文;然后創(chuàng)建由源地址、目標(biāo)地址、源端口、目標(biāo)端口、協(xié)議號(hào)組成的五元組,用于查找會(huì)話表;再就是創(chuàng)建報(bào)文相關(guān)消息和硬件寄存器消息;(2)第一查找階段以五元組為鍵查詢會(huì)話表,此時(shí)會(huì)話表不命中,表明是一個(gè)會(huì)話首包,然后進(jìn)行一系列的査詢,包括對(duì)隧道信息表、IPv6非法隧道地址列表、路由表的查詢;(3)決策階段根據(jù)分析階段傳入的決策行標(biāo)值和各個(gè)數(shù)據(jù)結(jié)構(gòu)匹配的結(jié)果進(jìn)行分支跳轉(zhuǎn),進(jìn)入相應(yīng)的分支程序;(4)修改階段根據(jù)決策階段傳入的消息和修改行標(biāo)進(jìn)行具體的加封裝和解封裝。10、根據(jù)權(quán)利要求9所述的基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其特征在于,還包括分別在相應(yīng)的會(huì)話表中為首包所在方向建立相應(yīng)的表項(xiàng),以便該會(huì)話后續(xù)報(bào)文能被高速處理。11、根據(jù)權(quán)利要求9所述的基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其特征在于,所述的第一查找階段中,如果是解封裝,直接進(jìn)入解封裝程序,首先使用報(bào)文五元組中的源地址和目標(biāo)地址査詢非法地址列表,然后用源地址反向查詢路由,以此來(lái)獲得封裝隧道的相應(yīng)信息,最后用五元組的目標(biāo)地址進(jìn)入IPv6報(bào)文路由處理;如果是加封裝,采用目標(biāo)地址經(jīng)過路由査詢以后確定,確定相應(yīng)的隧道以后,通過不同的隧道處理得到封裝頭中的源地址和目標(biāo)地址。12、根據(jù)權(quán)利要求9所述的基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其特征在于,所述的決策階段中,如果是加封裝,從相應(yīng)的數(shù)據(jù)結(jié)構(gòu)匹配結(jié)果中抽取出封裝頭中各個(gè)域的值和封裝以后的路由信息;如果是解封裝,也從相應(yīng)的數(shù)據(jù)結(jié)構(gòu)匹配結(jié)果中抽取出解封裝以后IPv6報(bào)文的路由信息,包括可能是另一個(gè)隧道的封裝過程;然后將這些信息組合成修改策略和修改行標(biāo),以消息的形式傳給修改階段。13、根據(jù)權(quán)利要求6或9所述的基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其特征在于,所述的分析階段區(qū)分不同類型的報(bào)文是指區(qū)分該報(bào)文是從網(wǎng)口進(jìn)來(lái)的隧道相關(guān)的報(bào)文,還是從同一網(wǎng)絡(luò)處理器的另一端繞回的報(bào)文;對(duì)于從網(wǎng)口進(jìn)入隧道相關(guān)的報(bào)文,網(wǎng)絡(luò)處理器的任務(wù)處理器,首先要區(qū)分出具體的協(xié)議類型,包括IPv4傳輸控制協(xié)議、用戶數(shù)據(jù)報(bào)協(xié)議、網(wǎng)絡(luò)控制消息協(xié)議或IPv6的傳輸控制協(xié)議、用戶數(shù)據(jù)報(bào)協(xié)議、網(wǎng)絡(luò)控制消息協(xié)議。14、根據(jù)權(quán)利要求6或9所述的基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其特征在于,所述的分析階段創(chuàng)建報(bào)文相關(guān)消息是指為需要修改的數(shù)據(jù)或者將被后面階段用到的信息創(chuàng)建消息;所述的分析階段硬件寄存器消息是指所有報(bào)文所必需的、記錄了所有硬件相關(guān)的信息,該消息中的決策行標(biāo)域,存儲(chǔ)的是跳轉(zhuǎn)行標(biāo),用于在決策階段實(shí)現(xiàn)多分支跳轉(zhuǎn)。15、根據(jù)權(quán)利要求6或9所述的基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其特征在于,所述的修改階段,根據(jù)決策階段傳入的消息和修改行標(biāo)進(jìn)行具體的加封裝和解封裝對(duì)于加封裝就是在原報(bào)文的二層頭和三層頭之間加入一個(gè)IPv4報(bào)頭,此報(bào)頭的各個(gè)域值可以在決策階段傳入的消息中獲得,然后再修改二層頭相應(yīng)的域;對(duì)于解封裝,刪除原有的封裝頭,還原封裝前的IPv6報(bào)文,然后修改二層頭相應(yīng)的域。16、根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其特征在于,所述的隧道端點(diǎn)在網(wǎng)絡(luò)處理器中以虛擬的端點(diǎn)形式存在,17、根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其特征在于,所述的網(wǎng)絡(luò)處理器上的每個(gè)隧道端點(diǎn)相當(dāng)于該網(wǎng)絡(luò)處理器上一個(gè)獨(dú)立的邏輯端口。全文摘要本發(fā)明公開了一種基于網(wǎng)絡(luò)處理器實(shí)現(xiàn)IPv6穿越IPv4的隧道報(bào)文處理方法,其特點(diǎn)是,采用IPv4報(bào)頭來(lái)封裝IPv6數(shù)據(jù)包,使得IPv6數(shù)據(jù)包能在IPv4網(wǎng)絡(luò)上傳輸;包括以下步驟a.建立一個(gè)完整的IPv6穿越IPv4的隧道;b.每個(gè)隧道以隧道標(biāo)識(shí)碼標(biāo)識(shí);c.建立隧道信息表、IPv6非法隧道地址列表、路由表和會(huì)話表;d.查詢上述表獲得IPv4封裝頭信息,形成穿越IPv4的隧道報(bào)文;e.根據(jù)IPv4報(bào)頭中的協(xié)議號(hào)和目標(biāo)地址來(lái)判斷和進(jìn)行解封裝,并且對(duì)解封裝以后的報(bào)文做普通的IPv6路由處理。在實(shí)現(xiàn)IPv6穿越IPv4時(shí),通過會(huì)話表緩存有關(guān)信息,簡(jiǎn)化查詢路徑,從而使得系統(tǒng)具有高性能的數(shù)據(jù)傳輸速度。文檔編號(hào)H04L12/46GK101247308SQ20071003745公開日2008年8月20日申請(qǐng)日期2007年2月13日優(yōu)先權(quán)日2007年2月13日發(fā)明者張文良,曲延光,曹昊陽(yáng),存李,兵楊,王乃博申請(qǐng)人:上海億人通信終端有限公司