本發(fā)明涉及分組傳送網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及一種報(bào)文處理方法及系統(tǒng)。
背景技術(shù):在分組傳送網(wǎng)絡(luò)(PacketTransmissionNetwork,PTN)技術(shù)領(lǐng)域,虛擬專用網(wǎng)絡(luò)(VirtualPrivateNetwork,VPN)技術(shù)蓬勃發(fā)展,各種基于VPN的技術(shù)層出不窮,按照RFC4026的描述,VPN主要分類為二層VPN(layer2VirtualPrivateNetwork,L2VPN)和三層VPN(L3VPN),其中基于多協(xié)議標(biāo)簽交換(MPLS)的L2VPN和L3VPN是兩種很重要的業(yè)務(wù)處理方式,在PTN技術(shù)領(lǐng)域占據(jù)越來越重要的位置。L2VPN目前采用比較多的是虛擬專用局域網(wǎng)服務(wù)(VirtualPrivateLANService,VPLS)&虛擬專用線服務(wù)(VirtualPrivateWireService,VPWS)模型,通過邊緣到邊緣的偽線仿真(PWE3)技術(shù)實(shí)現(xiàn)業(yè)務(wù)穿越(over)MPLS隧道的傳遞;L3VPN采用三層路由轉(zhuǎn)發(fā)技術(shù),常用的是通過邊界網(wǎng)關(guān)協(xié)議(BGP)發(fā)布路由信息,通過VPN標(biāo)簽技術(shù)實(shí)現(xiàn)業(yè)務(wù)overMPLS隧道的傳遞。L2VPN和L3VPN在處理上有很多相似之處,例如,L2VPN封裝格式通常采用“業(yè)務(wù)overPW標(biāo)簽overMPLS隧道”的方式,L3VPN通常采用“業(yè)務(wù)overVPN標(biāo)簽overMPLS隧道”的方式;本地處理時(shí)L2VPN是根據(jù)介質(zhì)訪問控制(MAC)地址表查找出口,L3VPN則是根據(jù)虛擬路由轉(zhuǎn)發(fā)表(VRF)查找出口;L3VPN是針對(duì)IP業(yè)務(wù)進(jìn)行的轉(zhuǎn)發(fā),L2VPN是針對(duì)以太網(wǎng)(ETH)業(yè)務(wù)或者電路仿真業(yè)務(wù)進(jìn)行的轉(zhuǎn)發(fā)等。在L2VPN中,對(duì)于各種業(yè)務(wù)(包含ETH、時(shí)分復(fù)用模式(TDM)、異步傳輸模式(ATM)、幀中繼)的仿真采用的是PWE3技術(shù),PWE3是在包交換網(wǎng)絡(luò)中仿真被傳送業(yè)務(wù)屬性的一種機(jī)制,是一種端到端的技術(shù),它在輸入端口封裝業(yè)務(wù)的比特(BIT)流、信元或者協(xié)議數(shù)據(jù)單元(PDU),然后穿越MPLS網(wǎng)絡(luò)或者IP隧道,某些情況下,它也管理以及定義分包組包等操作以實(shí)現(xiàn)對(duì)業(yè)務(wù)特性的仿真。虛鏈路(PW)可以攜帶控制字,控制字是PWE3技術(shù)中一個(gè)很有特色的定義,控制字在不同的業(yè)務(wù)中有不同的定義,例如:對(duì)于TDM業(yè)務(wù),通過控制字可以攜帶接入電路(AC)鏈路側(cè)故障和序列信息等到宿端。對(duì)于ETH業(yè)務(wù),通過控制字可以攜帶序列號(hào)信息到宿端。對(duì)于ATM業(yè)務(wù),通過控制字可以攜帶序列和ATM特性信息等到宿端。控制字的使用方便了處理仿真業(yè)務(wù)的運(yùn)營(yíng)商邊界網(wǎng)絡(luò)設(shè)備(PE)之間的交互,使得PE宿端可以獲取更多的關(guān)于特定仿真業(yè)務(wù)的PE源端的信息,例如AC鏈路故障、時(shí)鐘實(shí)時(shí)傳輸協(xié)議(RTP)信息和序列號(hào)等等。對(duì)于L3VPN,目前使用較多的格式定義為“IPoverVPN-標(biāo)簽(LABEL)overMPLS”,其中VPN-LABEL雖然不是偽線,但是格式定義和偽線是完全一樣的。但是當(dāng)宿端接收到源端的IP報(bào)文,在不對(duì)IP報(bào)文進(jìn)行解析的前提下,是無法獲知源端IP業(yè)務(wù)的任何信息的。
技術(shù)實(shí)現(xiàn)要素:本發(fā)明提供了一種報(bào)文處理方法及系統(tǒng),以解決宿端接收到源端的IP報(bào)文,在不對(duì)IP報(bào)文進(jìn)行解析的前提下,無法獲知源端IP業(yè)務(wù)的任何信息的問題。本發(fā)明提供了一種報(bào)文處理方法,應(yīng)用于三層虛擬專用網(wǎng)絡(luò)(L3VPN),該方法包括:終端接收攜帶控制字的報(bào)文,對(duì)所述報(bào)文中攜帶的控制字的各字段進(jìn)行檢測(cè),并向終端用戶上報(bào)檢測(cè)到的告警信息。優(yōu)選地,所述方法還包括:所述終端啟用攜帶控制字的配置,發(fā)送攜帶控制字的報(bào)文。優(yōu)選地,在所述終端發(fā)送攜帶控制字的報(bào)文的過程中出現(xiàn)異常情況,且確定需要繼續(xù)發(fā)送攜帶控制字的報(bào)文時(shí),以預(yù)先配置好的發(fā)送頻率發(fā)送攜帶控制字的報(bào)文。優(yōu)選地,所述終端以預(yù)先配置好的發(fā)送頻率發(fā)送攜帶控制字的報(bào)文之前,所述方法還包括:所述終端配置出現(xiàn)異常情況時(shí)繼續(xù)發(fā)送攜帶控制字的報(bào)文的發(fā)送頻率。優(yōu)選地,所述控制字的字段表示以下含義中的一種或多種:接入電路(AC)鏈路側(cè)是否有鏈路中斷故障或虛擬局域網(wǎng)是否有中斷故障;接收和發(fā)送接口的最大傳輸單元(MTU)大小不匹配;接收的IP數(shù)據(jù)包有錯(cuò)誤;以及序列號(hào)信息。本發(fā)明還提供了一種報(bào)文處理系統(tǒng),應(yīng)用于三層虛擬專用網(wǎng)絡(luò)(L3VPN),所述系統(tǒng)包括:處理模塊,用于終端接收攜帶控制字的報(bào)文,對(duì)所述報(bào)文中攜帶的控制字的各字段進(jìn)行檢測(cè),并向終端用戶上報(bào)檢測(cè)到的告警信息。優(yōu)選地,所述系統(tǒng)還包括:?jiǎn)⒂冒l(fā)送模塊,用于所述終端啟用攜帶控制字的配置,發(fā)送攜帶控制字的報(bào)文。優(yōu)選地,所述啟用發(fā)送模塊,是用于在所述終端發(fā)送攜帶控制字的報(bào)文的過程中出現(xiàn)異常情況,且確定需要繼續(xù)發(fā)送攜帶控制字的報(bào)文時(shí),以預(yù)先配置好的發(fā)送頻率發(fā)送攜帶控制字的報(bào)文。優(yōu)選地,所述系統(tǒng)還包括:配置模塊,用于所述終端配置出現(xiàn)異常情況時(shí)繼續(xù)發(fā)送攜帶控制字的報(bào)文的發(fā)送頻率。優(yōu)選地,所述控制字的字段表示以下含義中的一種或多種:接入電路(AC)鏈路側(cè)是否有鏈路中斷故障或虛擬局域網(wǎng)是否有中斷故障;接收和發(fā)送接口的最大傳輸單元(MTU)大小不匹配;接收的IP數(shù)據(jù)包有錯(cuò)誤;以及序列號(hào)信息。上述報(bào)文處理方法及系統(tǒng),使得終端在接收到報(bào)文后,不需要對(duì)報(bào)文進(jìn)行解析,只需對(duì)控制字的各字段進(jìn)行檢測(cè)即可獲知作為源端的終端的信息。附圖說明圖1是本發(fā)明定義的L3VPN控制字的通用格式;圖2是本發(fā)明實(shí)施例定義的L3VPN控制字的特定格式;圖3是本發(fā)明L3VPN源端的配置處理流程圖;圖4是本發(fā)明L3VPN宿端的處理流程圖。具體實(shí)施方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文中將結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說明。需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。本發(fā)明提供了一種報(bào)文處理方法,該方法包括:步驟一、定義L3VPN控制字的通用格式;控制字采用RFC4385規(guī)定的通用偽線控制字格式,如圖1所示,前4個(gè)BIT必須為0000,以和L2VPN的控制字格式保持統(tǒng)一;步驟二、定義L3VPN控制字的特定信息;特定格式如圖2所示,前4個(gè)BIT為0000是固定格式,為了和L2VPN的PWE3統(tǒng)一,在L2VPN的PWE3中,0000表示控制字,0001表示是OAM報(bào)文;在第4到第31BIT中可以攜帶L3VPN特有的其他信息,定義但是不限下述特定信息:Lbit表示AC鏈路側(cè)是否有LINKDOWN等告警,導(dǎo)致沒有IP報(bào)文接入,除了AC鏈路LINKDOWN外,對(duì)于基于虛擬局域網(wǎng)(VLAN)的IP接入,還可以由于VLANDOWN的故障導(dǎo)致沒有IP報(bào)文接入,當(dāng)出現(xiàn)上述故障的時(shí)候,Lbit置為1,正常情況下,Lbit為0;Mbit表示接收和發(fā)送接口的MTU單元大小不匹配,對(duì)于出口小于入口的情況,有可能需要進(jìn)行分片,但并非網(wǎng)絡(luò)上所有節(jié)點(diǎn)都支持分片,所以有可能由于MTU大小不匹配出現(xiàn)故障,通過將Mbit置位,把L3VPN中的這種問題傳遞到宿端節(jié)點(diǎn),從而有助于用戶定位故障;Ebit表示接收的IP數(shù)據(jù)包有錯(cuò)誤,例如IP版本號(hào)異常、IP頭長(zhǎng)度異常、IP頭校驗(yàn)和異常等的錯(cuò)誤報(bào)文,在一般情況下,這種類型的錯(cuò)誤都是直接丟棄的,當(dāng)用戶選擇控制字后,可以通過把Mbit置位來傳遞這種錯(cuò)誤;SequenceNo表示序列號(hào),每個(gè)數(shù)據(jù)包都有一個(gè)獨(dú)立的SequenceNo,可以用來支持亂序重排。當(dāng)SequenceNo為0的時(shí)候表示不需要使用此功能;RESV為預(yù)留bit,可用于定義其他信息;當(dāng)然,上述定義只是特定信息的一個(gè)示例,可以根據(jù)需要增加、刪除或調(diào)整上述定義;上述步驟一和步驟二為可選步驟;步驟三、支持L3VPN是否攜帶控制字的配置:對(duì)于作為源端的終端,在創(chuàng)建L3VPN業(yè)務(wù)的時(shí)候,支持配置為攜帶控制字或者不攜帶控制字,缺省為不攜帶;本發(fā)明中的終端啟用攜帶控制字的配置,發(fā)送攜帶控制字的報(bào)文;對(duì)于攜帶控制字的L3VPN處理,還可以進(jìn)一步配置在異常情況下是否需要繼續(xù)傳遞帶控制字的報(bào)文,如果需要傳遞,則配置報(bào)文發(fā)送的頻率,發(fā)送頻率根據(jù)用戶需要可以自行定義,例如可以定義為10ms、100ms等;該步驟是從源端進(jìn)行描述的;步驟四、作為L(zhǎng)3VPN宿端的終端采用自適應(yīng)的方式,可以相應(yīng)地支持對(duì)端攜帶控制字或者不帶控制字的方式;該步驟是從宿端進(jìn)行描述的,當(dāng)從宿端進(jìn)行描述時(shí),步驟三也是可選步驟;步驟五、對(duì)于控制字相關(guān)的信息進(jìn)行檢測(cè),如步驟二中定義的,向用戶上報(bào)信息,該信息包括告警信息。檢測(cè)到的告警不僅可以用來上報(bào)用戶,還可以用來觸發(fā)保護(hù)倒換。通過在L3VPN中增加控制字信息,可以起到類似于基于L3VPN業(yè)務(wù)的運(yùn)行和維護(hù)(OAM)的作用,可以將一些異常信息傳遞給終端用戶,使得宿端系統(tǒng)第一時(shí)間知道源端系統(tǒng)出現(xiàn)異常,由于有些錯(cuò)誤可以直接通過控制字識(shí)別出來,不需要再進(jìn)行IP解析,加快了系統(tǒng)對(duì)于IP層錯(cuò)誤的處理和定位。如圖3所示,是本發(fā)明L3VPN源端的配置處理流程圖,在該實(shí)施例中終端作為源端來進(jìn)行報(bào)文處理的,該過程包括:步驟301、定義L3VPN的控制字格式;步驟302、針對(duì)源端VRF配置是否啟用L3VPN的控制字功能,若未啟用,則執(zhí)行步驟303,若啟用,則執(zhí)行步驟304;步驟303、按照普通的L3VPN流程進(jìn)行處理;結(jié)束;在源端和宿端約定好控制字格式后,在源端針對(duì)VRF配置不啟用控制字的時(shí)候,按照普通的L3VPN流程進(jìn)行處理,報(bào)文發(fā)送出去的時(shí)候采用“IPoverVPN-labeloverMPLS”的方式,當(dāng)有LINKDOWN或者其他錯(cuò)誤的時(shí)候,IP報(bào)文不會(huì)被發(fā)送;步驟304、當(dāng)出現(xiàn)異常情況例如配置IP錯(cuò)誤或者LINKDOWN,確定繼續(xù)發(fā)送攜帶控制字的報(bào)文時(shí),以定義好的發(fā)送頻率發(fā)送攜帶控制字的報(bào)文;當(dāng)啟用控制字后,沒有異常的時(shí)候,發(fā)送出去的報(bào)文采用“IPover控制字(Control-Word)overVPN-labeloverMPLSlabel”的方式,對(duì)于異常情況,對(duì)于還需要進(jìn)一步定義錯(cuò)誤情況下控制字的發(fā)送方式,如果定義為繼續(xù)發(fā)送帶控制字的報(bào)文并定義了控制字的發(fā)送頻率,那么當(dāng)出現(xiàn)LINKDOWN或者其他IP錯(cuò)誤的時(shí)候,一個(gè)最短長(zhǎng)度內(nèi)容全1的IP報(bào)文被封裝在控制字內(nèi),然后打上VPN-label以及MPLSlabel,以配置的頻率發(fā)送給對(duì)端;步驟305、按照攜帶控制字的方式處理L3VPN業(yè)務(wù)。如圖4所示,是本發(fā)明L3VPN宿端的處理流程圖,在該實(shí)施例中終端作為宿端來進(jìn)行報(bào)文處理的,該過程包括:步驟401、判斷宿端VRF接收的IP報(bào)文中是否攜帶L3VPN控制字,若是執(zhí)行步驟402,否則,執(zhí)行步驟403;本領(lǐng)域的技術(shù)人員均知道:源端的VRF與宿端的VRF是一一對(duì)應(yīng)的;某個(gè)VRF接收到IP報(bào)文后,通過VPN-LABEL后面帶的是0000還是0004或者0006判斷是否攜帶控制字,如果是0004或者0006,表示未攜帶控制字,如果是0000表示攜帶了控制字;該判斷方式與L2VPN的判斷方式相同;步驟402、檢測(cè)控制字各字段的值,上報(bào)告警或狀態(tài)信息給用戶;如果攜帶了控制字,則需要對(duì)接收到的報(bào)文的控制字進(jìn)行處理;如果控制字中Lbit不為0,表示源端出現(xiàn)了DOWN狀態(tài),則可以根據(jù)這個(gè)狀態(tài)執(zhí)行倒換等操作,也可以上報(bào)宿端用戶;如果控制字中Mbit不為0,表示出現(xiàn)了MTU大小不匹配的問題,在未啟用MTU自動(dòng)調(diào)整功能的時(shí)候,用戶可以手工檢測(cè)各個(gè)節(jié)點(diǎn)MTU的大小,看看是否會(huì)引起問題;如果控制字中Ebit不為0,則表示源端發(fā)生由于IP報(bào)文的錯(cuò)誤而丟棄IP報(bào)文的動(dòng)作,在不用解析IP報(bào)文的情況下,宿端可以上報(bào)遠(yuǎn)端IP包丟失告警給用戶,以方便及時(shí)排查故障。當(dāng)SequenceNo字段不為0的時(shí)候,表示宿端需要支持亂序重組功能;步驟403、按照通用L3VPN的處理流程進(jìn)行處理。若未攜帶控制字,則按照普通的L3VPN業(yè)務(wù)的處理方式進(jìn)行接收處理;或者,在處理完步驟402之后,按照與現(xiàn)有技術(shù)相同的方式進(jìn)行后續(xù)處理,此處不詳述。通過對(duì)L3VPN增加控制字,方便了L3VPN架構(gòu)中源宿端之間故障等信息的交互,對(duì)于用戶排查故障,及時(shí)發(fā)現(xiàn)故障,提高處理效率起到了一定作用。本發(fā)明還提供了一種報(bào)文處理系統(tǒng),應(yīng)用于三層虛擬專用網(wǎng)絡(luò)(L3VPN),所述系統(tǒng)包括:處理模塊,用于終端接收攜帶控制字的報(bào)文,對(duì)所述報(bào)文中攜帶的控制字的各字段進(jìn)行檢測(cè),并向終端用戶上報(bào)檢測(cè)到的告警信息。該處理模塊是上述終端作為宿端時(shí)使用的,當(dāng)上述終端作為源端時(shí),上述系統(tǒng)還可以包括:?jiǎn)⒂冒l(fā)送模塊,用于終端啟用攜帶控制字的配置,發(fā)送攜帶控制字的報(bào)文。其中,所述控制字的字段表示以下含義中的一種或多種,但不局限于此:接入電路(AC)鏈路側(cè)是否有鏈路中斷故障或虛擬局域網(wǎng)是否有中斷故障;接收和發(fā)送接口的最大傳輸單元(MTU)大小不匹配;接收的IP數(shù)據(jù)包有錯(cuò)誤;以及序列號(hào)信息。另外,所述系統(tǒng)還可以包括:配置模塊,用于所述終端配置出現(xiàn)異常情況時(shí)繼續(xù)發(fā)送攜帶控制字的報(bào)文的發(fā)送頻率。所述啟用發(fā)送模塊,是用于在所述終端發(fā)送攜帶控制字的報(bào)文的過程中出現(xiàn)異常情況,且確定需要繼續(xù)發(fā)送攜帶控制字的報(bào)文時(shí),以預(yù)先配置好的發(fā)送頻率發(fā)送攜帶控制字的報(bào)文。上述系統(tǒng)位于終端中,上述系統(tǒng)進(jìn)行報(bào)文處理的過程可參見圖3和圖4,此處不再贅述。上述系統(tǒng),使得作為源端的終端可以發(fā)送攜帶控制字的報(bào)文,使得作為宿端的終端在接收到報(bào)文后,不需要對(duì)報(bào)文進(jìn)行解析,只需對(duì)控制字的各字段進(jìn)行檢測(cè)即可獲知源端IP業(yè)務(wù)信息。本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過程序來指令相關(guān)硬件完成,上述程序可以存儲(chǔ)于計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如只讀存儲(chǔ)器、磁盤或光盤等。可選地,上述實(shí)施例的全部或部分步驟也可以使用一個(gè)或多個(gè)集成電路來實(shí)現(xiàn)。相應(yīng)地,上述實(shí)施例中的各模塊/單元可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。本發(fā)明不限制于任何特定形式的硬件和軟件的結(jié)合。以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案而非限制,僅僅參照較佳實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說明。本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對(duì)本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍,均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。