本申請(qǐng)涉及網(wǎng)絡(luò)通信
技術(shù)領(lǐng)域:
,特別涉及一種報(bào)文轉(zhuǎn)發(fā)路徑探測的方法和裝置。
背景技術(shù):
:路徑追蹤,是指報(bào)文在網(wǎng)絡(luò)中傳輸時(shí),能夠快速地了解到報(bào)文的轉(zhuǎn)發(fā)路徑,并根據(jù)報(bào)文的轉(zhuǎn)發(fā)路徑,能快速定位報(bào)文的丟包位置以及獲取報(bào)文的傳輸延時(shí)。相關(guān)技術(shù)中,網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展導(dǎo)致不僅網(wǎng)絡(luò)的規(guī)模日益擴(kuò)大,而且網(wǎng)絡(luò)的復(fù)雜度也在不斷提升。為了提高整個(gè)網(wǎng)絡(luò)的服務(wù)質(zhì)量和提升路徑追蹤的精確性,探測到的報(bào)文轉(zhuǎn)發(fā)路徑的完整性顯的十分重要。技術(shù)實(shí)現(xiàn)要素:有鑒于此,本申請(qǐng)?zhí)峁┮环N報(bào)文轉(zhuǎn)發(fā)路徑探測的方法和裝置,應(yīng)用于UMC服務(wù)器。具體地,本申請(qǐng)是通過如下技術(shù)方案實(shí)現(xiàn)的:一種報(bào)文轉(zhuǎn)發(fā)路徑探測的方法,應(yīng)用于UMC服務(wù)器,所述UMC服務(wù)器管理若干轉(zhuǎn)發(fā)設(shè)備,包括:將用戶預(yù)配置的目標(biāo)報(bào)文特征分別下發(fā)至所述若干轉(zhuǎn)發(fā)設(shè)備;接收所述若干轉(zhuǎn)發(fā)設(shè)備發(fā)送的從基于所述目標(biāo)報(bào)文特征采集到的目標(biāo)報(bào)文中提取到的路徑信息;其中,所述路徑信息用于計(jì)算所述目標(biāo)報(bào)文的轉(zhuǎn)發(fā)路徑;針對(duì)各轉(zhuǎn)發(fā)設(shè)備發(fā)送的所述路徑信息進(jìn)行統(tǒng)計(jì)計(jì)算,以得到所述目標(biāo)報(bào)文的轉(zhuǎn)發(fā)路徑。一種報(bào)文轉(zhuǎn)發(fā)路徑探測的裝置,應(yīng)用于UMC服務(wù)器,所述UMC服務(wù)器管理若干轉(zhuǎn)發(fā)設(shè)備,包括:下發(fā)單元,用于將用戶預(yù)配置的目標(biāo)報(bào)文特征分別下發(fā)至所述若干轉(zhuǎn)發(fā)設(shè)備;接收單元,用于接收所述若干轉(zhuǎn)發(fā)設(shè)備發(fā)送的從基于所述目標(biāo)報(bào)文特征采集到的目標(biāo)報(bào)文中提取到的路徑信息;其中,所述路徑信息用于計(jì)算所述目標(biāo)報(bào)文的轉(zhuǎn)發(fā)路徑;計(jì)算單元,用于針對(duì)各轉(zhuǎn)發(fā)設(shè)備發(fā)送的所述路徑信息進(jìn)行統(tǒng)計(jì)計(jì)算,以得到所述目標(biāo)報(bào)文的轉(zhuǎn)發(fā)路徑。由以上本申請(qǐng)?zhí)峁┑募夹g(shù)方案可見,所述UMC服務(wù)器通過將用戶預(yù)配置的目標(biāo)報(bào)文特征分別下發(fā)至所述若干轉(zhuǎn)發(fā)設(shè)備,并接收所述若干轉(zhuǎn)發(fā)設(shè)備發(fā)送的從基于所述目標(biāo)報(bào)文特征采集到的目標(biāo)報(bào)文中提取到的路徑信息;所述路徑信息用于計(jì)算所述目標(biāo)報(bào)文的轉(zhuǎn)發(fā)路徑;然后針對(duì)各轉(zhuǎn)發(fā)設(shè)備發(fā)送的所述路徑信息進(jìn)行統(tǒng)計(jì)計(jì)算,以得到所述目標(biāo)報(bào)文的轉(zhuǎn)發(fā)路徑。由于所述轉(zhuǎn)發(fā)路徑是通過匯總各轉(zhuǎn)發(fā)設(shè)備從基于所述目標(biāo)報(bào)文特征采集到的目標(biāo)報(bào)文中提取到的路徑信息,進(jìn)行統(tǒng)計(jì)計(jì)算后得到的,因此可以得到所述目標(biāo)報(bào)文完整的轉(zhuǎn)發(fā)路徑。附圖說明圖1為相關(guān)技術(shù)中一示例性實(shí)施例示出的一種利用TRACERT協(xié)議的報(bào)文轉(zhuǎn)發(fā)路徑探測的方法的場景圖;圖2為本申請(qǐng)一示例性實(shí)施例示出的一種報(bào)文轉(zhuǎn)發(fā)路徑探測的方法流程圖;圖3為本申請(qǐng)一示例性實(shí)施例示出的一種報(bào)文轉(zhuǎn)發(fā)路徑探測的方法的場景圖;圖4為本申請(qǐng)一示例性實(shí)施例示出的一種報(bào)文轉(zhuǎn)發(fā)路徑探測的裝置所在UMC服務(wù)器的一種硬件結(jié)構(gòu)圖圖5為本申請(qǐng)一示例性實(shí)施例示出的一種報(bào)文轉(zhuǎn)發(fā)路徑探測的裝置。具體實(shí)施方式這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本申請(qǐng)相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本申請(qǐng)的一些方面相一致的裝置和方法的例子。在本申請(qǐng)使用的術(shù)語是僅僅出于描述特定實(shí)施例的目的,而非旨在限制本申請(qǐng)。在本申請(qǐng)和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應(yīng)當(dāng)理解,本文中使用的術(shù)語“和/或”是指并包含一個(gè)或多個(gè)相關(guān)聯(lián)的列出項(xiàng)目的任何或所有可能組合。應(yīng)當(dāng)理解,盡管在本申請(qǐng)可能采用術(shù)語第一、第二、第三等來描述各種信息,但這些信息不應(yīng)限于這些術(shù)語。這些術(shù)語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請(qǐng)范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時(shí)”或“當(dāng)……時(shí)”或“響應(yīng)于確定”。相關(guān)技術(shù)中,報(bào)文轉(zhuǎn)發(fā)路徑的探測,通常是利用TRACERT協(xié)議中的TTL超時(shí)機(jī)制來實(shí)現(xiàn)的。它的基本原理是當(dāng)一臺(tái)設(shè)備需要轉(zhuǎn)發(fā)報(bào)文時(shí),如果發(fā)現(xiàn)報(bào)文中的TTL超時(shí),則可以向源地址發(fā)送不可達(dá)報(bào)文。通過構(gòu)造TTL累加的報(bào)文,然后可以逐跳探測報(bào)文的轉(zhuǎn)發(fā)路徑。請(qǐng)參見圖1,圖1為相關(guān)技術(shù)中一示例性實(shí)施例示出的一種利用TRACERT協(xié)議的報(bào)文轉(zhuǎn)發(fā)路徑探測方法的場景圖。在圖1中,源主機(jī)與目的主機(jī)之間通過分別為A,B,C,D,E的五臺(tái)轉(zhuǎn)發(fā)設(shè)備相連。其中,假設(shè)這五臺(tái)轉(zhuǎn)發(fā)設(shè)備均允許發(fā)送TTL超時(shí)報(bào)文。結(jié)合圖1,假設(shè)源主機(jī)將要向目的主機(jī)發(fā)送數(shù)據(jù)報(bào)文,且報(bào)文在轉(zhuǎn)發(fā)設(shè)備之間只進(jìn)行三層轉(zhuǎn)發(fā),為了保證數(shù)據(jù)的安全性,源主機(jī)通常會(huì)先獲悉報(bào)文轉(zhuǎn)發(fā)的路徑,然后再進(jìn)行數(shù)據(jù)報(bào)文的發(fā)送。相關(guān)技術(shù)中一般通過TTL超時(shí)機(jī)制進(jìn)行報(bào)文轉(zhuǎn)發(fā)路徑的探測,探測過程詳見如下描述。1、首先源主機(jī)構(gòu)造ICMP請(qǐng)求報(bào)文,其目的IP地址為要探測的目的主機(jī)的IP地址,所述ICMP請(qǐng)求報(bào)文的TTL初始值設(shè)置為1,然后發(fā)送,跳轉(zhuǎn)到步驟3;2、判斷TTL值是否已經(jīng)達(dá)到預(yù)設(shè)的閾值,如果是,表明探測失敗,輸出探測到的部分路徑,結(jié)束;否則,源主機(jī)將所述ICMP請(qǐng)求報(bào)文的TTL取值累加1,然后重新發(fā)送,跳轉(zhuǎn)到步驟3;3、如果源主機(jī)接收到來自目的主機(jī)的回應(yīng)報(bào)文,則輸出探測到的報(bào)文轉(zhuǎn)發(fā)路徑,結(jié)束;否則進(jìn)行步驟4;4、如果源主機(jī)接收到中間轉(zhuǎn)發(fā)設(shè)備發(fā)送的TTL超時(shí)報(bào)文,則記錄該路徑,或者源主機(jī)在設(shè)定的時(shí)間內(nèi)沒有接收到任何報(bào)文,則表明該TTL的轉(zhuǎn)發(fā)路徑探測失敗,發(fā)生本步驟中的任意一種情況都跳轉(zhuǎn)到步驟2。然而根據(jù)上述方法探測報(bào)文的轉(zhuǎn)發(fā)路徑,至少存在以下缺陷:第一,如果想要得到完整的報(bào)文轉(zhuǎn)發(fā)路徑,需要轉(zhuǎn)發(fā)設(shè)備均被允許發(fā)送TTL超時(shí)報(bào)文,然而由于為了數(shù)據(jù)的安全考慮,很多轉(zhuǎn)發(fā)設(shè)備都會(huì)被禁止發(fā)送TTL超時(shí)報(bào)文,因此無法探測到完整的報(bào)文轉(zhuǎn)發(fā)路徑。第二,由于上述方法,使用的是IP頭中的TTL字段,而該字段只有在進(jìn)行三層轉(zhuǎn)發(fā)時(shí)才會(huì)遞減,,因而只能夠用于探測三層轉(zhuǎn)發(fā)的轉(zhuǎn)發(fā)路徑。第三,由于上述方法中發(fā)送TTL超時(shí)消息需要設(shè)備的控制面來進(jìn)行,而實(shí)際數(shù)據(jù)在進(jìn)行轉(zhuǎn)發(fā)時(shí),則是在數(shù)據(jù)面進(jìn)行的,因而兩者之間存在時(shí)間差。第四,由于上述方法沒有全網(wǎng)拓?fù)?,且在發(fā)送TTL超時(shí)時(shí),未提供該報(bào)文的下一步轉(zhuǎn)發(fā)動(dòng)作(出口,下一跳地址,MAC地址等),因而得到的轉(zhuǎn)發(fā)路徑只是一些零碎的信息,不夠連續(xù)。為了解決相關(guān)技術(shù)中存在的問題,本申請(qǐng)?zhí)峁┝艘环N報(bào)文轉(zhuǎn)發(fā)路徑探測的方法,應(yīng)用于UMC服務(wù)器,所述UMC服務(wù)器通過將用戶預(yù)配置的目標(biāo)報(bào)文特征分別下發(fā)至所述若干轉(zhuǎn)發(fā)設(shè)備,并接收所述若干轉(zhuǎn)發(fā)設(shè)備發(fā)送的從基于所述目標(biāo)報(bào)文特征采集到的目標(biāo)報(bào)文中提取到的路徑信息;所述路徑信息用于計(jì)算所述目標(biāo)報(bào)文的轉(zhuǎn)發(fā)路徑;然后針對(duì)各轉(zhuǎn)發(fā)設(shè)備發(fā)送的所述路徑信息進(jìn)行統(tǒng)計(jì)計(jì)算,以得到所述目標(biāo)報(bào)文的轉(zhuǎn)發(fā)路徑。由于所述轉(zhuǎn)發(fā)路徑是通過匯總各轉(zhuǎn)發(fā)設(shè)備從基于所述目標(biāo)報(bào)文特征采集到的目標(biāo)報(bào)文中提取到的路徑信息,進(jìn)行統(tǒng)計(jì)計(jì)算后得到的,因此可以得到所述目標(biāo)報(bào)文完整的轉(zhuǎn)發(fā)路徑。進(jìn)一步的,所述UMC服務(wù)器在基于所述路徑信息探測轉(zhuǎn)發(fā)路徑時(shí),由于所述路徑信息中包含TTL的取值以及報(bào)文接收時(shí)間,因此通過對(duì)TTL或者接收時(shí)間進(jìn)行排序,既可以探測到二層轉(zhuǎn)發(fā)路徑,也可以探測到三層轉(zhuǎn)發(fā)路徑。另外,所述UMC服務(wù)器在基于所述路徑信息探測轉(zhuǎn)發(fā)路徑時(shí),由于所述路徑信息是由各轉(zhuǎn)發(fā)設(shè)備在數(shù)據(jù)層面提取到的,因此通過所述路徑信息中的報(bào)文接收時(shí)間,可以計(jì)算出各轉(zhuǎn)發(fā)設(shè)備之間接收到報(bào)文的精確延時(shí)。最后,所述UMC服務(wù)器在基于所述路徑信息探測轉(zhuǎn)發(fā)路徑之前,由于UMC服務(wù)器收集了全網(wǎng)拓?fù)湫畔?,并生成了相?yīng)的全網(wǎng)拓?fù)洌虼嘶谏傻娜W(wǎng)拓?fù)鋪磉M(jìn)行轉(zhuǎn)發(fā)路徑探測,可以確保探測到的轉(zhuǎn)發(fā)路徑的連續(xù)性。請(qǐng)參見圖2,圖2為本申請(qǐng)一示例性實(shí)施例示出的一種報(bào)文轉(zhuǎn)發(fā)路徑探測的方法流程圖,應(yīng)用于UMC服務(wù)器,所述UMC服務(wù)器管理若干轉(zhuǎn)發(fā)設(shè)備,具體執(zhí)行如下步驟:步驟201:將用戶預(yù)配置的目標(biāo)報(bào)文特征分別下發(fā)至所述若干轉(zhuǎn)發(fā)設(shè)備;步驟202:接收所述若干轉(zhuǎn)發(fā)設(shè)備發(fā)送的從基于所述目標(biāo)報(bào)文特征采集到的目標(biāo)報(bào)文中提取到的路徑信息;其中,所述路徑信息用于計(jì)算所述目標(biāo)報(bào)文的轉(zhuǎn)發(fā)路徑;步驟203:針對(duì)各轉(zhuǎn)發(fā)設(shè)備發(fā)送的所述路徑信息進(jìn)行統(tǒng)計(jì)計(jì)算,以得到所述目標(biāo)報(bào)文的轉(zhuǎn)發(fā)路徑。其中,上述UMC服務(wù)器,用于將報(bào)文特征下發(fā)給它所管理的轉(zhuǎn)發(fā)設(shè)備,然后可以通過接收轉(zhuǎn)發(fā)設(shè)備發(fā)送的路徑信息,并對(duì)所述路徑信息進(jìn)行匯總計(jì)算,得到報(bào)文的轉(zhuǎn)發(fā)路徑。得到報(bào)文的轉(zhuǎn)發(fā)路徑之后,所述UMC服務(wù)器就可以根據(jù)所述報(bào)文的轉(zhuǎn)發(fā)路徑以及每一個(gè)轉(zhuǎn)發(fā)設(shè)備接收到報(bào)文的時(shí)間,計(jì)算得到各轉(zhuǎn)發(fā)設(shè)備接收到所述目標(biāo)報(bào)文的時(shí)間延遲。上述目標(biāo)報(bào)文特征,即為用戶配置的需要探測其轉(zhuǎn)發(fā)路徑的目標(biāo)報(bào)文的報(bào)文特征;在實(shí)際應(yīng)用中,上述目標(biāo)報(bào)文可以是二層報(bào)文,也可以是三層報(bào)文,因此目標(biāo)報(bào)文特征可以是二層報(bào)文特征,也可以是三層報(bào)文特征。例如,上述目標(biāo)報(bào)文可以是二層報(bào)文中的源MAC以及目的MAC等信息;也可以是三層報(bào)文中的IP報(bào)文五元組等信息。當(dāng)然,除了以上描述的二層報(bào)文特征和三層報(bào)文特征以外,也可以是報(bào)文的其它特征,只要能基于所述報(bào)文特征,可以區(qū)別不同的報(bào)文即可。所述轉(zhuǎn)發(fā)設(shè)備,用于接收所述UMC服務(wù)器發(fā)送的用戶預(yù)配置的報(bào)文特征,然后可以將所述報(bào)文特征上傳至CPU,除此之外,還可以動(dòng)態(tài)地添加ACL(AccessControlList,訪問控制列表)規(guī)則,該規(guī)則對(duì)應(yīng)的動(dòng)作為將與所述報(bào)文特征相同的目標(biāo)報(bào)文進(jìn)行拷貝,然后將所述目標(biāo)報(bào)文上傳至CPU。CPU接收到所述拷貝上送的目標(biāo)報(bào)文后,根據(jù)報(bào)文特征對(duì)所述拷貝上送的目標(biāo)報(bào)文進(jìn)行路徑信息的提取,所述路徑信息可以是轉(zhuǎn)發(fā)設(shè)備自身標(biāo)識(shí)、接收到的報(bào)文的特征值(包括IP中的ipid,checksum,TTL等關(guān)鍵字段)、接收到報(bào)文的時(shí)間以及報(bào)文入口和出口等信息,最后,轉(zhuǎn)發(fā)設(shè)備可以將提取到的路徑信息進(jìn)行組包后發(fā)送給UMC服務(wù)器,由UMC服務(wù)器對(duì)所述路徑信息進(jìn)一步處理。以下結(jié)合全網(wǎng)拓?fù)渖伞r(shí)鐘同步、目標(biāo)報(bào)文特征下發(fā)、報(bào)文上送、路徑計(jì)算五個(gè)階段,對(duì)本申請(qǐng)實(shí)施例進(jìn)行詳細(xì)描述。1)、拓?fù)渖捎捎谙嚓P(guān)技術(shù)中,沒有全網(wǎng)拓?fù)洌以诎l(fā)送TTL超時(shí)報(bào)文時(shí),所述超時(shí)報(bào)文中未提供ICMP請(qǐng)求報(bào)文的下一步轉(zhuǎn)發(fā)動(dòng)作(包括出口、下一跳地址,MAC地址等),因而得到的轉(zhuǎn)發(fā)路徑只是一些零碎的信息,不是一條完整的轉(zhuǎn)發(fā)路徑。因此,為了解決上述問題,所述UMC服務(wù)器可以預(yù)先進(jìn)行全網(wǎng)拓?fù)涞纳桑阌诤罄m(xù)輸出的報(bào)文轉(zhuǎn)發(fā)路徑的精確與完整。在示出的一種實(shí)施方式中,為了便于后續(xù)輸出報(bào)文的精確路徑,所述UMC服務(wù)器可以從所述若干轉(zhuǎn)發(fā)設(shè)備中收集網(wǎng)絡(luò)拓?fù)湫畔?,然后基于收集到的所述網(wǎng)絡(luò)拓?fù)湫畔ⅲ蓪?duì)應(yīng)的網(wǎng)絡(luò)拓?fù)?。在?shí)現(xiàn)時(shí),所述UMC服務(wù)器可以通過標(biāo)準(zhǔn)的snmp或者自定義協(xié)議進(jìn)行網(wǎng)絡(luò)拓?fù)涞纳?。所述UMC服務(wù)器從所述若干轉(zhuǎn)發(fā)設(shè)備收集到的網(wǎng)絡(luò)拓?fù)湫畔ㄋ鲛D(zhuǎn)發(fā)設(shè)備的接口以及IP地址等信息。2)、時(shí)鐘同步另外,為了后續(xù)的報(bào)文轉(zhuǎn)發(fā)路徑的計(jì)算,以及基于所述轉(zhuǎn)發(fā)路徑計(jì)算各轉(zhuǎn)發(fā)設(shè)備接收到所述目標(biāo)報(bào)文的時(shí)間延遲,所述若干轉(zhuǎn)發(fā)設(shè)備的時(shí)鐘需要保持同步。所述時(shí)鐘同步過程可以選擇使用標(biāo)準(zhǔn)的或者自定義的時(shí)鐘同步技術(shù)來完成。3)、目標(biāo)報(bào)文特征下發(fā)所述若干轉(zhuǎn)發(fā)設(shè)備完成時(shí)鐘同步之后,所述UMC服務(wù)器就可以下發(fā)所述目標(biāo)報(bào)文特征。所述目標(biāo)報(bào)文特征可以是用戶提前配置好的,用于轉(zhuǎn)發(fā)設(shè)備基于所述目標(biāo)報(bào)文特征匹配到目標(biāo)報(bào)文,然后CPU可以基于所述目標(biāo)報(bào)文特征從所述目標(biāo)報(bào)文中提取出路徑信息。由于要得到符合所述目標(biāo)報(bào)文特征的目標(biāo)報(bào)文完整的轉(zhuǎn)發(fā)路徑,因此,所述UMC服務(wù)器需要將所述目標(biāo)報(bào)文特征通告給它管理的所有轉(zhuǎn)發(fā)設(shè)備。如果所述若干轉(zhuǎn)發(fā)設(shè)備在同一個(gè)網(wǎng)段中,所述UMC服務(wù)器也可以采用廣播的形式將所述目標(biāo)報(bào)文特征分別下發(fā)至所述若干轉(zhuǎn)發(fā)設(shè)備。如果所述若干轉(zhuǎn)發(fā)設(shè)備不在同一個(gè)網(wǎng)段中,所述UMC服務(wù)器可以采用組播的形式將所述目標(biāo)報(bào)文特征分別下發(fā)至所述若干轉(zhuǎn)發(fā)設(shè)備。當(dāng)然,UMC服務(wù)器也可以采用其他方式將所述目標(biāo)報(bào)文特征下發(fā)至所述若干轉(zhuǎn)發(fā)設(shè)備,只要保證所有轉(zhuǎn)發(fā)設(shè)備能接收到所述目標(biāo)報(bào)文特征即可。4)、報(bào)文上送所述若干轉(zhuǎn)發(fā)設(shè)備接收到UMC服務(wù)器下發(fā)的目標(biāo)報(bào)文特征后,可以基于所述目標(biāo)報(bào)文特征匹配到目標(biāo)報(bào)文,并從所述目標(biāo)報(bào)文中提取到所述目標(biāo)報(bào)文的路徑信息,最后將所述路徑信息發(fā)送至所述UMC服務(wù)器,由所述UMC服務(wù)器基于所述路徑信息來統(tǒng)計(jì)計(jì)算得到所述目標(biāo)報(bào)文的轉(zhuǎn)發(fā)路徑。在實(shí)現(xiàn)時(shí),所述若干轉(zhuǎn)發(fā)設(shè)備接收到所述UMC服務(wù)器下發(fā)的所述目標(biāo)報(bào)文特征后,可以將所述目標(biāo)報(bào)文特征上傳至CPU,同時(shí)也可以動(dòng)態(tài)地添加ACL規(guī)則,所述規(guī)則對(duì)應(yīng)的動(dòng)作為將與所述ACL規(guī)則匹配成功的報(bào)文上送至CPU。所述若干轉(zhuǎn)發(fā)設(shè)備添加完該ACL規(guī)則后,就可以對(duì)需要進(jìn)行轉(zhuǎn)發(fā)的報(bào)文進(jìn)行匹配。如果匹配成功,則表明該報(bào)文為目標(biāo)報(bào)文,轉(zhuǎn)發(fā)設(shè)備就會(huì)執(zhí)行ACL規(guī)則對(duì)應(yīng)的動(dòng)作,它就會(huì)拷貝該目標(biāo)報(bào)文,并將該目標(biāo)報(bào)文上送至CPU。同時(shí),為了不影響業(yè)務(wù)正常運(yùn)行,轉(zhuǎn)發(fā)設(shè)備會(huì)將該目標(biāo)報(bào)文進(jìn)行正常轉(zhuǎn)發(fā)。CPU接收到所述拷貝上送的目標(biāo)報(bào)文后,可以基于所述目標(biāo)報(bào)文特征,從所述拷貝上送的目標(biāo)報(bào)文中提取該目標(biāo)報(bào)文的路徑信息。所述路徑信息可以包括轉(zhuǎn)發(fā)設(shè)備自身的標(biāo)識(shí),接收到的目標(biāo)報(bào)文的特征值、接收到報(bào)文的時(shí)間以及報(bào)文的入口和出口等信息。其中,上述目標(biāo)報(bào)文的特征值可以是IP報(bào)文頭中關(guān)鍵字段的取值。在示出的一種實(shí)施方式中,上述目標(biāo)報(bào)文的特征值,可以包括IP報(bào)文頭中的ipid,checksum,TTL等關(guān)鍵字段的取值。CPU提取到所述路徑信息后,可以將所述路徑信息組包后發(fā)送至UMC服務(wù)器,由所述UMC服務(wù)器根據(jù)若干轉(zhuǎn)發(fā)設(shè)備發(fā)送的路徑信息,來計(jì)算得到所述目標(biāo)報(bào)文的轉(zhuǎn)發(fā)路徑。5)、路徑計(jì)算UMC服務(wù)器接收到轉(zhuǎn)發(fā)設(shè)備發(fā)送的路徑信息后,所述UMC服務(wù)器可以統(tǒng)計(jì)計(jì)算所述路徑信息來得到所述目標(biāo)報(bào)文的轉(zhuǎn)發(fā)路徑。在實(shí)現(xiàn)時(shí),UMC服務(wù)器接收到轉(zhuǎn)發(fā)設(shè)備發(fā)送的路徑信息后,可以從各路徑信息中提取出對(duì)應(yīng)的TTL取值、設(shè)備標(biāo)識(shí)和報(bào)文接收時(shí)間。在示出的一種實(shí)施方式中,當(dāng)UMC服務(wù)器管理的各轉(zhuǎn)發(fā)設(shè)備之間進(jìn)行三層轉(zhuǎn)發(fā)時(shí),在這種場景下,由于在三層轉(zhuǎn)發(fā)中,TTL取值會(huì)發(fā)生遞減,因此UMC服務(wù)器可以基于TTL取值由大到小的順序,針對(duì)各轉(zhuǎn)發(fā)設(shè)備發(fā)送的路徑信息進(jìn)行排序;然后按順序提取排序后的所述路徑信息中的設(shè)備標(biāo)識(shí),以得到所述目標(biāo)報(bào)文的轉(zhuǎn)發(fā)路徑。通過這種方式,可以利用在三層轉(zhuǎn)發(fā)過程中,TTL取值會(huì)發(fā)生遞減的特性,通過對(duì)TTL取值進(jìn)行排序,可以探測到完整的三層轉(zhuǎn)發(fā)路徑。在示出的一種實(shí)施方式中,當(dāng)UMC服務(wù)器管理的各轉(zhuǎn)發(fā)設(shè)備之間進(jìn)行二層轉(zhuǎn)發(fā)時(shí),由于二層轉(zhuǎn)發(fā)的過程中,報(bào)文中的TTL字段的取值通常不發(fā)生變化,因此在這種情況下,UMC服務(wù)器可以基于所述目標(biāo)報(bào)文的報(bào)文接收時(shí)間由小到大的順序,針對(duì)各轉(zhuǎn)發(fā)設(shè)備發(fā)送的路徑信息進(jìn)行排序;然后按順序提取排序后的所述路徑信息中的設(shè)備標(biāo)識(shí),以得到所述目標(biāo)報(bào)文的轉(zhuǎn)發(fā)路徑。通過這種方式,可以利用在二層轉(zhuǎn)發(fā)過程中,報(bào)文接收時(shí)間會(huì)發(fā)生遞增的特性,通過對(duì)報(bào)文接收時(shí)間進(jìn)行排序,可以探測到完整的二層轉(zhuǎn)發(fā)路徑。當(dāng)然,除了上述兩種情況之外,也會(huì)出現(xiàn)上述兩種情況的混合情況,即報(bào)文在上述各轉(zhuǎn)發(fā)設(shè)備之間不僅進(jìn)行了三層轉(zhuǎn)發(fā),也進(jìn)行了二層轉(zhuǎn)發(fā)。在這樣的情況下,所述UMC服務(wù)器可以先按照三層轉(zhuǎn)發(fā)的情況,將路徑信息進(jìn)行排序,然后在基礎(chǔ)上按照二層轉(zhuǎn)發(fā)的情況,將路徑信息進(jìn)行排序,這樣就可以得到完成的報(bào)文轉(zhuǎn)發(fā)路徑,當(dāng)然也可以直接基于報(bào)文接收時(shí)間由小到大的順序,針對(duì)各轉(zhuǎn)發(fā)設(shè)備發(fā)送的路徑信息進(jìn)行排序,然后按順序提取排序后的所述路徑信息中的設(shè)備標(biāo)識(shí),以得到報(bào)文的轉(zhuǎn)發(fā)路徑,最后得到的這條報(bào)文轉(zhuǎn)發(fā)路徑即為完整的轉(zhuǎn)發(fā)路徑。下面以在具體場景中報(bào)文轉(zhuǎn)發(fā)路徑計(jì)算為例。請(qǐng)參見圖3,圖3為本申請(qǐng)一示例性示出的一種報(bào)文轉(zhuǎn)發(fā)路徑探測的方法的場景圖。假設(shè)所述目標(biāo)報(bào)文依次經(jīng)過了設(shè)備標(biāo)識(shí)分別為A,B,C,D,E的5個(gè)轉(zhuǎn)發(fā)設(shè)備,那么所述UMC服務(wù)器從所述路徑信息中提取出的TTL取值、設(shè)備標(biāo)識(shí)和報(bào)文接收時(shí)間,可能會(huì)出現(xiàn)如表1所示的情況。表1其中,表中的報(bào)文接收時(shí)間Ta<Tb<Tc<Td<Te。由于表中各轉(zhuǎn)發(fā)設(shè)備的TTL取值互不相同,因此可以確定,報(bào)文在所述5個(gè)轉(zhuǎn)發(fā)設(shè)備之間只進(jìn)行了三層轉(zhuǎn)發(fā)。從表中可以看出,上述5個(gè)轉(zhuǎn)發(fā)設(shè)備的TTL取值分別為10,9,8,7,6,因此根據(jù)TTL取值由大到小的順序,針對(duì)轉(zhuǎn)發(fā)設(shè)備發(fā)送的路徑信息進(jìn)行排序的結(jié)果就是(A,10,Ta)→(B,9,Tb)→(C,8,Tc)→(D,7,Td)→(E,6,Te),然后按照順序提取排序后的路徑信息中的設(shè)備標(biāo)識(shí),來得到所述目標(biāo)報(bào)文的轉(zhuǎn)發(fā)路徑,從而可以得到A→B→C→D→E這樣一條轉(zhuǎn)發(fā)路徑,由于報(bào)文在上述5個(gè)轉(zhuǎn)發(fā)設(shè)備之間只進(jìn)行了三層轉(zhuǎn)發(fā),因此得到的這條轉(zhuǎn)發(fā)路徑是一條完整的報(bào)文轉(zhuǎn)發(fā)路徑。然而,所述UMC從若干轉(zhuǎn)發(fā)設(shè)備發(fā)送的路徑信息中提取出的TTL取值,設(shè)備標(biāo)識(shí),以及報(bào)文接收時(shí)間,也可能出現(xiàn)如表2所示的情況。設(shè)備標(biāo)識(shí)TTL報(bào)文接收時(shí)間A10TaB10TbC10TcD10TdE10Te表2其中,表中的報(bào)文接收時(shí)間Ta<Tb<Tc<Td<Te。從表中可以看出,上述5個(gè)轉(zhuǎn)發(fā)設(shè)備的報(bào)文接收時(shí)間分別為Ta,Tb,Tc,Td,Te,且Ta<Tb<Tc<Td<Te,因此根據(jù)報(bào)文接收時(shí)間由小到大的順序,針對(duì)轉(zhuǎn)發(fā)設(shè)備發(fā)送的路徑信息進(jìn)行排序的結(jié)果就是(A,10,Ta)→(B,10,Tb)→(C,10,Tc)→(D,10,Td)→(E,10,Te),然后按照順序提取排序后的路徑信息中的設(shè)備標(biāo)識(shí),來得到所述目標(biāo)報(bào)文的轉(zhuǎn)發(fā)路徑,從而可以得到A→B→C→D→E這樣一條轉(zhuǎn)發(fā)路徑,得到的這條轉(zhuǎn)發(fā)路徑即為一條完整的報(bào)文轉(zhuǎn)發(fā)路徑。在示出的一種實(shí)施方式中,所述UMC服務(wù)器得到報(bào)文完整的轉(zhuǎn)發(fā)路徑后,可以根據(jù)所述報(bào)文接收時(shí)間,計(jì)算各轉(zhuǎn)發(fā)設(shè)備之間接收到所述目標(biāo)報(bào)文的時(shí)間延遲。在實(shí)現(xiàn)時(shí),由于相關(guān)技術(shù)中,是通過TTL超時(shí)報(bào)文的發(fā)送時(shí)間來探測報(bào)文的時(shí)間延遲,然而發(fā)送TTL超時(shí)報(bào)文是需要在設(shè)備的控制面來進(jìn)行的,而實(shí)際數(shù)據(jù)報(bào)文在進(jìn)行轉(zhuǎn)發(fā)時(shí)是在數(shù)據(jù)面進(jìn)行的,二者之間存在著時(shí)間差,因此相關(guān)技術(shù)無法精確探測到報(bào)文的時(shí)間延遲。相比于相關(guān)技術(shù),本申請(qǐng)?zhí)峁┑募夹g(shù)方案可以精確地探測到報(bào)文的時(shí)間延遲。在實(shí)現(xiàn)時(shí),UMC服務(wù)器計(jì)算得到所述目標(biāo)報(bào)文的轉(zhuǎn)發(fā)路徑后,提取出各轉(zhuǎn)發(fā)設(shè)備的報(bào)文接收時(shí)間,然后將各轉(zhuǎn)發(fā)設(shè)備的報(bào)文接收時(shí)間進(jìn)行差運(yùn)算,得到各轉(zhuǎn)發(fā)設(shè)備之間接收到所述目標(biāo)報(bào)文的時(shí)間延遲。以在圖3所示的具體場景中接收到報(bào)文的時(shí)間延遲計(jì)算為例。參照表2中設(shè)備標(biāo)識(shí)分別為B和C的轉(zhuǎn)發(fā)設(shè)備,它們的報(bào)文接收時(shí)間分別為Tb和Tc。由于報(bào)文在進(jìn)行轉(zhuǎn)發(fā)時(shí)是在數(shù)據(jù)面進(jìn)行的,而Tb和Tc也是從數(shù)據(jù)面得到的,因此根據(jù)Tc和Tb就可以得到所述目標(biāo)報(bào)文精確的時(shí)間延遲,所述目標(biāo)報(bào)文的時(shí)間延遲即為Tc-Tb。所述UMC服務(wù)器計(jì)算出所述目標(biāo)報(bào)文完整的轉(zhuǎn)發(fā)路徑后,可以根據(jù)所述轉(zhuǎn)發(fā)路徑,快速定位丟包位置(比如某個(gè)設(shè)備或者某個(gè)接口),便于進(jìn)行丟包分析。在實(shí)現(xiàn)時(shí),比如所述UMC服務(wù)器已經(jīng)統(tǒng)計(jì)計(jì)算出完整的報(bào)文轉(zhuǎn)發(fā)路徑后,如果UMC服務(wù)器對(duì)各個(gè)轉(zhuǎn)發(fā)設(shè)備發(fā)送來的數(shù)據(jù)進(jìn)行匯總計(jì)算后,得到轉(zhuǎn)發(fā)路徑不完整,比如沒有得到某個(gè)轉(zhuǎn)發(fā)設(shè)備之后的路徑,則可以進(jìn)一步分析該轉(zhuǎn)發(fā)設(shè)備發(fā)送來的報(bào)文,如果其指示由于查找路由失敗導(dǎo)致出口為空,則可以明確得知是由于該轉(zhuǎn)發(fā)設(shè)備的原因丟包;如果該轉(zhuǎn)發(fā)設(shè)備發(fā)送至所述UMC服務(wù)器的報(bào)文指示有確定的出口等信息,則可以將故障原因定位至是由于該轉(zhuǎn)發(fā)設(shè)備發(fā)送報(bào)文失敗或者是該轉(zhuǎn)發(fā)設(shè)備相連設(shè)備收取報(bào)文失敗。除此之外,如果中間轉(zhuǎn)發(fā)設(shè)備主動(dòng)丟包時(shí),還可以提供對(duì)于該報(bào)文的丟包原因,比如配置了黑洞路由,或者由于ARP(AddressResolutionProtocol,地址解析協(xié)議)無效導(dǎo)致無法正確轉(zhuǎn)發(fā)等。以在圖3所示的具體場景中丟包位置的定位為例。比如所述UMC服務(wù)器已經(jīng)統(tǒng)計(jì)計(jì)算出完整的報(bào)文轉(zhuǎn)發(fā)路徑為A→B→C→D→E,如果UMC服務(wù)器對(duì)各個(gè)轉(zhuǎn)發(fā)設(shè)備發(fā)送來的數(shù)據(jù)進(jìn)行匯總計(jì)算后,得到轉(zhuǎn)發(fā)路徑為A→B→C,則可以進(jìn)一步分析C轉(zhuǎn)發(fā)設(shè)備發(fā)送來的報(bào)文,如果其指示由于查找路由失敗導(dǎo)致出口為空,則可以明確得知是由于C轉(zhuǎn)發(fā)設(shè)備的原因丟包;如果C轉(zhuǎn)發(fā)設(shè)備發(fā)送至所述UMC服務(wù)器的報(bào)文指示有確定的出口等信息,則可以將故障原因定位至是由于C轉(zhuǎn)發(fā)設(shè)備發(fā)送報(bào)文失敗或者是D轉(zhuǎn)發(fā)設(shè)備收取報(bào)文失敗。由以上本申請(qǐng)?zhí)峁┑募夹g(shù)方案可見,所述UMC服務(wù)器可以管理若干轉(zhuǎn)發(fā)設(shè)備,它通過將用戶預(yù)配置的目標(biāo)報(bào)文特征分別下發(fā)至所述若干轉(zhuǎn)發(fā)設(shè)備,然后接收所述若干轉(zhuǎn)發(fā)設(shè)備發(fā)送的從基于所述目標(biāo)報(bào)文特征采集到的目標(biāo)報(bào)文中提取到的路徑信息;所述路徑信息用于計(jì)算所述目標(biāo)報(bào)文的轉(zhuǎn)發(fā)路徑;最后,針對(duì)各轉(zhuǎn)發(fā)設(shè)備發(fā)送的所述路徑信息進(jìn)行統(tǒng)計(jì)計(jì)算,以得到所述目標(biāo)報(bào)文的轉(zhuǎn)發(fā)路徑。由于UMC服務(wù)器將用戶預(yù)配置的目標(biāo)報(bào)文特征分別下發(fā)至它所管理的若干轉(zhuǎn)發(fā)設(shè)備,然后通過接收所述若干轉(zhuǎn)發(fā)設(shè)備發(fā)送的路徑信息,其中所述路徑信息是所述若干轉(zhuǎn)發(fā)設(shè)備從基于所述目標(biāo)報(bào)文特征采集到的目標(biāo)報(bào)文中提取到的,因此,可以得到所述目標(biāo)報(bào)文完整的路徑信息,最后通過對(duì)所述路徑信息進(jìn)行統(tǒng)計(jì)計(jì)算,可以得到所述目標(biāo)報(bào)文完整的轉(zhuǎn)發(fā)路徑。與前述一種報(bào)文轉(zhuǎn)發(fā)路徑探測的方法的實(shí)施例相對(duì)應(yīng),本申請(qǐng)還提供了一種報(bào)文轉(zhuǎn)發(fā)路徑探測的裝置的實(shí)施例。本申請(qǐng)一種報(bào)文轉(zhuǎn)發(fā)路徑探測的裝置的實(shí)施例可以應(yīng)用在UMC服務(wù)器上。裝置實(shí)施例可以通過軟件實(shí)現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。以軟件實(shí)現(xiàn)為例,作為一個(gè)邏輯意義上的裝置,是通過其所在UMC服務(wù)器的處理器將非易失性存儲(chǔ)器中對(duì)應(yīng)的計(jì)算機(jī)程序指令讀取到內(nèi)存中運(yùn)行形成的。從硬件層面而言,如圖4所示,為本申請(qǐng)一種報(bào)文轉(zhuǎn)發(fā)路徑探測的裝置所在UMC服務(wù)器的一種硬件結(jié)構(gòu)圖,除了圖4所示的處理器、內(nèi)存、網(wǎng)絡(luò)接口、以及非易失性存儲(chǔ)器之外,實(shí)施例中裝置所在的UMC服務(wù)器通常根據(jù)該報(bào)文轉(zhuǎn)發(fā)路徑探測的實(shí)際功能,還可以包括其他硬件,對(duì)此不再贅述。請(qǐng)參考圖5,圖5為本申請(qǐng)一示例性實(shí)施例示出的一種報(bào)文轉(zhuǎn)發(fā)路徑探測的裝置,應(yīng)用于UMC服務(wù)器,所述裝置包括:下發(fā)單元510,接收單元520,計(jì)算單元530,收集單元540,生成單元550,時(shí)延計(jì)算單元560。其中,下發(fā)單元510,用于將用戶預(yù)配置的目標(biāo)報(bào)文特征分別下發(fā)至所述若干轉(zhuǎn)發(fā)設(shè)備;接收單元520,用于接收所述若干轉(zhuǎn)發(fā)設(shè)備發(fā)送的從基于所述目標(biāo)報(bào)文特征采集到的目標(biāo)報(bào)文中提取到的路徑信息;其中,所述路徑信息用于計(jì)算所述目標(biāo)報(bào)文的轉(zhuǎn)發(fā)路徑;計(jì)算單元530,用于針對(duì)各轉(zhuǎn)發(fā)設(shè)備發(fā)送的所述路徑信息進(jìn)行統(tǒng)計(jì)計(jì)算,以得到所述目標(biāo)報(bào)文的轉(zhuǎn)發(fā)路徑。收集單元540,用于從所述若干轉(zhuǎn)發(fā)設(shè)備中收集網(wǎng)絡(luò)拓?fù)湫畔ⅲ簧蓡卧?50,用于基于收集到的所述網(wǎng)絡(luò)拓?fù)湫畔⑸蓪?duì)應(yīng)的網(wǎng)絡(luò)拓?fù)?。時(shí)延計(jì)算單元560,用于根據(jù)所述轉(zhuǎn)發(fā)設(shè)備的所述目標(biāo)報(bào)文的接收時(shí)間,計(jì)算得到各轉(zhuǎn)發(fā)設(shè)備接收到所述目標(biāo)報(bào)文的時(shí)間延遲。在本例中,所述計(jì)算單元530,具體用于基于TTL取值由大到小的順序,針對(duì)各轉(zhuǎn)發(fā)設(shè)備發(fā)送的路徑信息進(jìn)行排序;按順序提取排序后的所述路徑信息中的設(shè)備標(biāo)識(shí),以得到所述目標(biāo)報(bào)文的轉(zhuǎn)發(fā)路徑。所述計(jì)算單元530,進(jìn)一步用于基于所述目標(biāo)報(bào)文的報(bào)文接收時(shí)間由小到大的順序,針對(duì)各轉(zhuǎn)發(fā)設(shè)備發(fā)送的路徑信息進(jìn)行排序;按順序提取排序后的所述路徑信息中的設(shè)備標(biāo)志,以得到所述目標(biāo)報(bào)文的轉(zhuǎn)發(fā)路徑。上述裝置中各個(gè)單元的功能和作用的實(shí)現(xiàn)過程具體詳見上述方法中對(duì)應(yīng)步驟的實(shí)現(xiàn)過程,在此不再贅述。對(duì)于裝置實(shí)施例而言,由于其基本對(duì)應(yīng)于方法實(shí)施例,所以相關(guān)之處參見方法實(shí)施例的部分說明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本申請(qǐng)方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。以上所述僅為本申請(qǐng)的較佳實(shí)施例而已,并不用以限制本申請(qǐng),凡在本申請(qǐng)的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)保護(hù)的范圍之內(nèi)。當(dāng)前第1頁1 2 3