網(wǎng)絡(luò)運(yùn)維管理方法及裝置的制造方法
【專利摘要】本發(fā)明公開了一種網(wǎng)絡(luò)運(yùn)維管理方法及裝置,屬于網(wǎng)絡(luò)技術(shù)領(lǐng)域。所述方法包括:接收數(shù)據(jù)包;檢測所述數(shù)據(jù)包的流特征是否與需要監(jiān)控的流的流特征匹配;如果匹配,則在所述數(shù)據(jù)包的包頭中插入字段集,所述字段集包括指定類型的標(biāo)識和流標(biāo)記;根據(jù)所述指定類型的標(biāo)識更新所述數(shù)據(jù)包經(jīng)過的入端口和出端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值;將所述數(shù)據(jù)包發(fā)送給下游相鄰節(jié)點。本發(fā)明通過根據(jù)流特征來為數(shù)據(jù)包插入字段集,節(jié)點根據(jù)該字段集來對數(shù)據(jù)包經(jīng)過的端口上與流標(biāo)記對應(yīng)的計數(shù)器值進(jìn)行計數(shù);解決了現(xiàn)有技術(shù)中無法對單個流進(jìn)行故障定位的問題;達(dá)到了可以針對單個流中的數(shù)據(jù)包進(jìn)行監(jiān)控的效果。
【專利說明】
網(wǎng)絡(luò)運(yùn)維管理方法及裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明實施例涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別涉及一種網(wǎng)絡(luò)運(yùn)維管理方法及裝置。
【背景技術(shù)】
[0002] 在通信網(wǎng)絡(luò)的運(yùn)維管理中,數(shù)據(jù)包計數(shù)技術(shù)是用于對網(wǎng)絡(luò)故障進(jìn)行診斷的一種重 要手段。
[0003] 現(xiàn)有技術(shù)中,上游節(jié)點將流經(jīng)的數(shù)據(jù)包按照時間周期進(jìn)行劃分,將屬于同一時間 周期內(nèi)的數(shù)據(jù)包的預(yù)定比特位中設(shè)置一個相同的標(biāo)識,將相鄰的兩個時間周期內(nèi)的數(shù)據(jù)包 的預(yù)定比特位中設(shè)置不同的標(biāo)識,以便下游節(jié)點進(jìn)行數(shù)據(jù)包計數(shù)。圖1示意性地示出了該 過程,該網(wǎng)絡(luò)中包括上游節(jié)點1和下游節(jié)點2。上游節(jié)點1包括CPU1和交換芯片1,交換芯 片1提供有端口 11、端口 12和內(nèi)部接口 13, CPU1通過內(nèi)部接口 13與交換芯片1相連;下 游節(jié)點2包括CPU2和交換芯片2,交換芯片2提供有端口 21、端口 22和內(nèi)部接口 23,CPU2 通過內(nèi)部接口 23與交換芯片2相連。在上游節(jié)點1通過端口 11接收到6個數(shù)據(jù)包后,上 游節(jié)點1將屬于第一個時間周期內(nèi)的數(shù)據(jù)包1和數(shù)據(jù)包2中的預(yù)定比特位設(shè)為1,得到數(shù) 據(jù)包Ια和數(shù)據(jù)包2α ;上游節(jié)點1將屬于第二個時間周期內(nèi)的數(shù)據(jù)包3和數(shù)據(jù)包4中的 預(yù)定比特位設(shè)為〇,得到數(shù)據(jù)包3β和數(shù)據(jù)包4β ;上游節(jié)點1將屬于第三個時間周期內(nèi)的 數(shù)據(jù)包5和數(shù)據(jù)包6中的預(yù)定比特位設(shè)為1,得到數(shù)據(jù)包5α和數(shù)據(jù)包6α。然后,上游節(jié) 點1對預(yù)定比特位為1的數(shù)據(jù)包和預(yù)定比特位為〇的數(shù)據(jù)包分別進(jìn)行數(shù)據(jù)包計數(shù),并通過 端口 12將6個數(shù)據(jù)包順序發(fā)送給下游節(jié)點2。下游節(jié)點2通過端口 21接收到6個數(shù)據(jù)包 后,CPU2對預(yù)定比特位為1的數(shù)據(jù)包和預(yù)定比特位為0的數(shù)據(jù)包分別進(jìn)行數(shù)據(jù)包計數(shù)。最 后,外部的控制器統(tǒng)計上游節(jié)點1和下游節(jié)點2各自的數(shù)據(jù)包計數(shù),并根據(jù)計數(shù)差值來判斷 上游節(jié)點1和下游節(jié)點2之間的路徑上是否存在丟包。
[0004] 在實現(xiàn)本發(fā)明實施例的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題:
[0005] 上述方法通過時間周期來為數(shù)據(jù)包中的預(yù)定比特位進(jìn)行置位,從而實現(xiàn)數(shù)據(jù)包 計數(shù)。但該方法對同一時間周期內(nèi)的所有數(shù)據(jù)包設(shè)置相同的標(biāo)識,如果這些數(shù)據(jù)包分別屬 于不同的流,則無法針對單個流進(jìn)行故障定位。
【發(fā)明內(nèi)容】
[0006] 為了解決現(xiàn)有技術(shù)的問題,本發(fā)明實施例提供了一種網(wǎng)絡(luò)運(yùn)維管理方法及裝置。
[0007] 第一方面,本發(fā)明實施例提供了一種網(wǎng)絡(luò)運(yùn)維管理方法,所述方法包括:
[0008] 接收數(shù)據(jù)包;
[0009] 檢測所述數(shù)據(jù)包的流特征是否與需要監(jiān)控的流的流特征匹配;
[0010] 如果所述數(shù)據(jù)包的流特征與所述需要監(jiān)控的流的流特征匹配,則在所述數(shù)據(jù)包的 包頭中插入字段集,所述字段集包括指定類型的標(biāo)識和流標(biāo)記(英文:fl〇w flag);所述流 標(biāo)記用于標(biāo)識所述需要監(jiān)控的流;
[0011] 根據(jù)所述指定類型的標(biāo)識更新所述數(shù)據(jù)包經(jīng)過的入端口上與所述流標(biāo)記對應(yīng)的 計數(shù)器值;
[0012] 根據(jù)所述指定類型的標(biāo)識更新所述數(shù)據(jù)包經(jīng)過的出端口上與所述流標(biāo)記對應(yīng)的 計數(shù)器值;
[0013] 將所述數(shù)據(jù)包發(fā)送給下游相鄰節(jié)點。
[0014] 在第一方面的第一種可能的實施方式中,所述在所述數(shù)據(jù)包的包頭中插入字段 集,包括:
[0015] 在所述數(shù)據(jù)包的以太幀頭的虛擬局域網(wǎng)(英文:Virtual Local Area Network ;簡 稱:VLAN)字段之后插入所述字段集;
[0016] 或,
[0017] 在所述數(shù)據(jù)包的表示負(fù)荷的以太類型之前插入所述字段集。
[0018] 在第一方面的第二種可能的實施方式中,所述字段集包括新的隧道頭或原始隧道 頭中的新增字段;所述在所述數(shù)據(jù)包的包頭插入字段集,包括:
[0019] 在所述數(shù)據(jù)包的外部網(wǎng)際間互聯(lián)協(xié)議(英文:Internet Protocol ;簡稱:IP)報文 頭之后、內(nèi)部負(fù)荷之前插入所述字段集。
[0020] 結(jié)合第一方面或第一方面的第一種可能的實施方式或第一方面的第二種可能的 實施方式,在第一方面的第三種可能的實施方式中,所述檢測所述數(shù)據(jù)包的流特征是否與 需要監(jiān)控的流的流特征匹配之前,還包括:
[0021] 接收監(jiān)控指令;
[0022] 根據(jù)所述監(jiān)控指令獲取所述需要監(jiān)控的流的流特征。
[0023] 結(jié)合第一方面或第一方面的第一種可能的實施方式或第一方面的第二種可能的 實施方式或第一方面的第三種可能的實施方式中,在第一方面的第四種可能的實施方式 中,所述更新所述數(shù)據(jù)包的出端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值,包括:
[0024] 根據(jù)所述數(shù)據(jù)包的目的地址查詢所述數(shù)據(jù)包的出端口;
[0025] 檢測所述數(shù)據(jù)包的類型是否為所述指定類型;
[0026] 如果所述數(shù)據(jù)包的類型是所述指定類型,則提取所述字段集中的流標(biāo)記;
[0027] 更新所述出端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值。
[0028] 結(jié)合第一方面或第一方面的第一種可能的實施方式或第一方面的第二種可能的 實施方式或第一方面的第三種可能的實施方式或第一方面的第四種可能的實施方式,在第 一方面的第五種可能的實施方式中,所述方法還包括:
[0029] 接收初始化指令;
[0030] 將各個端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值置為初始值。
[0031] 結(jié)合第一方面或第一方面的第一種可能的實施方式或第一方面的第二種可能的 實施方式或第一方面的第三種可能的實施方式或第一方面的第四種可能的實施方式或第 一方面的第五種可能的實施方式,在第一方面的第六種可能的實施方式中,所述方法還包 括:
[0032] 接收提取指令;
[0033] 上報各個端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值。
[0034] 第二方面,本發(fā)明實施例提供了一種網(wǎng)絡(luò)運(yùn)維管理方法,所述方法包括:
[0035] 接收數(shù)據(jù)包;
[0036] 檢測所述數(shù)據(jù)包的類型是否為指定類型;
[0037] 如果所述數(shù)據(jù)包的類型是所述指定類型,則從所述數(shù)據(jù)包的包頭提取字段集,得 到所述字段集中的流標(biāo)記;
[0038] 根據(jù)所述字段集更新所述數(shù)據(jù)包經(jīng)過的入端口和/或出端口上的與所述流標(biāo)記 對應(yīng)的計數(shù)器值;
[0039] 將所述數(shù)據(jù)包發(fā)送給下游相鄰節(jié)點。
[0040] 在第二方面的第一種可能的實施方式中,所述根據(jù)所述字段集更新所述數(shù)據(jù)包 經(jīng)過的入端口和/或出端口上的與所述流標(biāo)記對應(yīng)的計數(shù)器值,包括:
[0041] 從所述數(shù)據(jù)包的包頭提取所述字段集,得到所述字段集中的生存期(英文:Time To Live ;簡稱:TTL);
[0042] 檢測所述TTL是否小于或等于預(yù)定閾值;
[0043] 如果所述TTL小于或等于所述預(yù)定閾值,則從所述數(shù)據(jù)包的包頭中刪除所述字段 集;
[0044] 更新所述數(shù)據(jù)包的入端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值。
[0045] 在第二方面的第二種可能的實施方式中,所述根據(jù)所述字段集更新所述數(shù)據(jù)包經(jīng) 過的入端口和/或出端口上的與所述流標(biāo)記對應(yīng)的計數(shù)器值,包括:
[0046] 從所述數(shù)據(jù)包的包頭提取所述字段集,得到所述字段集中的TTL ;
[0047] 檢測所述TTL是否小于或等于預(yù)定閾值;
[0048] 如果所述TTL大于所述預(yù)定閾值,則將所述字段集中的TTL更新為TTL-1 ;
[0049] 更新所述數(shù)據(jù)包的入端口和出端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值。
[0050] 結(jié)合第二方面或第二方面的第一種可能的實施方式或第二方面的第二種可能的 實施方式,在第二方面的第三種可能的實施方式中,所述從所述數(shù)據(jù)包的包頭提取字段集, 包括:
[0051] 從所述數(shù)據(jù)包的以太幀頭的VLAN字段之后提取所述字段集;
[0052] 或,
[0053] 從所述數(shù)據(jù)包的表示負(fù)荷的以太類型之前提取所述字段集。
[0054] 結(jié)合第二方面的第三種可能的實施方式,在第二方面的第四種可能的實施方式 中,所述節(jié)點是IP網(wǎng)節(jié)點,下游相鄰節(jié)點是IP網(wǎng)節(jié)點;
[0055] 所述將所述字段集中的TTL更新為TTL-1,包括:
[0056] 在所述數(shù)據(jù)包的外部IP報文頭之后、內(nèi)部以太幀頭之前插入新的字段集;
[0057] 將所述新的字段集中的流標(biāo)記設(shè)置為提取到的所述流標(biāo)記,將所述新的字段集中 的TTL設(shè)置為提取到的TTL-1。
[0058] 結(jié)合第二方面或第二方面的第一種可能的實施方式或第二方面的第二種可能的 實施方式,在第二方面的第五種可能的實施方式中,所述字段集包括新的隧道頭或原始隧 道頭中的新增字段;
[0059] 所述從所述數(shù)據(jù)包的包頭提取字段集,包括:
[0060] 從所述數(shù)據(jù)包的外部IP報文頭之后、內(nèi)部負(fù)荷之前提取所述字段集。
[0061] 結(jié)合第二方面的第五種可能的實施方式,在第二方面的第六種可能的實施方式 中,所述節(jié)點為IP網(wǎng)節(jié)點、下游相鄰節(jié)點是以太網(wǎng)節(jié)點;
[0062] 所述將所述字段集中的TTL更新為TTL-1,包括:
[0063] 刪除位于所述數(shù)據(jù)包的外部IP報文頭之后、內(nèi)部以太幀頭之前的所述字段集;
[0064] 判斷所述數(shù)據(jù)包的內(nèi)部以太幀頭中是否存在其他字段集;
[0065] 如果存在,則將所述其他字段集中的TTL設(shè)置為提取到的TTL-1 ;
[0066] 如果不存在,則在所述數(shù)據(jù)包的以太幀頭中插入新的字段集,并將所述新的字段 集中的流標(biāo)記設(shè)置為提取到的所述流標(biāo)記,將所述新的字段集中的TTL設(shè)置為提取到的 TTL-l〇
[0067] 結(jié)合第二方面或第二方面的第一種可能的實施方式或第二方面的第二種可能的 實施方式或第二方面的第三種可能的實施方式或第二方面的第四種可能的實施方式或第 二方面的第五種可能的實施方式或第二方面的第六種可能的實施方式,在第二方面的第七 種可能的實施方式中,所述節(jié)點是目的側(cè)邊緣節(jié)點;或,所述下游相鄰節(jié)點是所述數(shù)據(jù)包的 目的端設(shè)備;
[0068] 所述將所述數(shù)據(jù)包發(fā)送給下游相鄰節(jié)點之前,還包括:
[0069] 從所述數(shù)據(jù)包的包頭中刪除所述字段集。
[0070] 結(jié)合第二方面或第二方面的第一種可能的實施方式或第二方面的第二種可能的 實施方式或第二方面的第三種可能的實施方式或第二方面的第四種可能的實施方式或第 二方面的第五種可能的實施方式或第二方面的第六種可能的實施方式或第二方面的第七 種可能的實施方式,在第二方面的第八種可能的實施方式中,所述方法還包括:
[0071] 接收初始化指令;
[0072] 將各個端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值置為初始值。
[0073] 結(jié)合第二方面或第二方面的第一種可能的實施方式或第二方面的第二種可能的 實施方式或第二方面的第三種可能的實施方式或第二方面的第四種可能的實施方式或第 二方面的第五種可能的實施方式或第二方面的第六種可能的實施方式或第二方面的第七 種可能的實施方式或第二方面的第八種可能的實施方式,在第二方面的第九種可能的實施 方式中,所述方法還包括:
[0074] 接收提取指令;
[0075] 上報各個端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值。
[0076] 第三方面,本發(fā)明實施例提供了一種網(wǎng)絡(luò)運(yùn)維管理方法,所述方法包括:
[0077] 提取監(jiān)控范圍內(nèi)的所有節(jié)點的各個端口上與流標(biāo)記對應(yīng)的第一計數(shù)器值;
[0078] 向所述監(jiān)控范圍內(nèi)的指定節(jié)點發(fā)送監(jiān)控指令,所述監(jiān)控指令用于指示所述指定節(jié) 點對符合預(yù)定條件的數(shù)據(jù)包的包頭中插入字段集,所述字段集包括指定類型的標(biāo)識和流標(biāo) 記;所述預(yù)定條件是所述數(shù)據(jù)包的流特征與需要監(jiān)控的流的流特征匹配,所述指定類型的 標(biāo)識用于觸發(fā)所述數(shù)據(jù)包經(jīng)過的節(jié)點更新所述數(shù)據(jù)包經(jīng)過的端口上與所述流標(biāo)記對應(yīng)的 計數(shù)器值,所述流標(biāo)記用于標(biāo)識所述需要監(jiān)控的流;
[0079] 設(shè)置定時器;
[0080] 在所述定時器到期時,提取所述監(jiān)控范圍內(nèi)的所有節(jié)點的各個端口上與所述流標(biāo) 記對應(yīng)的第二計數(shù)器值;
[0081] 根據(jù)每個端口的第一計數(shù)器值和第二計數(shù)器值計算得到每個端口的第三計數(shù)器 值;
[0082] 根據(jù)上下游相鄰端口的第三計數(shù)器值的差值進(jìn)行節(jié)點內(nèi)和/或節(jié)點間丟包測量。
[0083] 在第三方面的第一種可能的實施方式中,所述根據(jù)上下游相鄰端口的第三計數(shù)器 值的差值進(jìn)行節(jié)點內(nèi)和節(jié)點間丟包測量,包括:
[0084] 選擇所述監(jiān)控范圍內(nèi)的一條路徑上的源端口作為當(dāng)前端口;
[0085] 檢測所述當(dāng)前端口的下游相鄰端口的第三計數(shù)器值是否小于所述當(dāng)前端口的第 三計數(shù)器值;
[0086] 如果所述下游相鄰端口的第三計數(shù)器值小于所述當(dāng)前端口的第三計數(shù)器值,則確 定所述當(dāng)前端口和所述下游相鄰端口之間存在丟包。
[0087] 在第三方面的第二種可能的實施方式中,所述根據(jù)相鄰上下游相鄰端口的第三計 數(shù)器值的差值進(jìn)行節(jié)點內(nèi)丟包測量,包括:
[0088] 選擇所述監(jiān)控范圍內(nèi)的一條路徑上的源端口作為當(dāng)前端口;
[0089] 檢測所述當(dāng)前端口的下游相鄰端口是否與所述當(dāng)前端口屬于同一節(jié)點;
[0090] 如果所述下游相鄰端口和所述當(dāng)前端口屬于同一節(jié)點,則檢測所述下游相鄰端口 的第三計數(shù)器值是否小于所述當(dāng)前端口的第三計數(shù)器值;
[0091] 如果所述下游相鄰端口的第三計數(shù)器值小于所述當(dāng)前端口的第三計數(shù)器值,則 確定所述節(jié)點存在丟包。
[0092] 結(jié)合第三方面的第二種可能的實施方式,在第三方面的第三種可能的實施方式 中,所述檢測所述當(dāng)前端口的下游相鄰端口是否與所述當(dāng)前端口屬于同一節(jié)點之后,還包 括:
[0093] 如果所述下游相鄰端口和所述當(dāng)前端口不屬于同一節(jié)點,則將所述下游相鄰端口 確定為新的當(dāng)前端口,執(zhí)行檢測所述新的當(dāng)前端口的下游相鄰端口是否與所述新的當(dāng)前端 口屬于同一節(jié)點的步驟。
[0094] 在第三方面的第四種可能的實施方式中,所述根據(jù)相鄰上下游相鄰端口的第三計 數(shù)器值的差值進(jìn)行節(jié)點間丟包測量,包括:
[0095] 選擇所述監(jiān)控范圍內(nèi)的一條路徑上的源端口作為當(dāng)前端口;
[0096] 檢測所述當(dāng)前端口的下游相鄰端口是否與所述當(dāng)前端口屬于同一節(jié)點;
[0097] 如果所述下游相鄰端口和所述當(dāng)前端口不屬于同一節(jié)點,則檢測所述下游相鄰端 口的第三計數(shù)器值是否小于所述當(dāng)前端口的第三計數(shù)器值;
[0098] 如果所述下游相鄰端口的第三計數(shù)器值小于所述當(dāng)前端口的第三計數(shù)器值,則確 定所述當(dāng)前端口所屬的節(jié)點和所述下游相鄰端口所屬的節(jié)點之間存在丟包。
[0099] 結(jié)合第三方面的第四種可能的實施方式,在第三方面的第五種可能的實施方式 中,所述檢測所述當(dāng)前端口的下游相鄰端口是否與所述當(dāng)前端口屬于同一節(jié)點之后,還包 括:
[0100] 如果所述下游相鄰端口和所述當(dāng)前端口屬于同一節(jié)點,則將所述下游相鄰端口確 定為新的當(dāng)前端口,執(zhí)行檢測所述新的當(dāng)前端口的下游相鄰端口是否與所述新的當(dāng)前端口 屬于同一節(jié)點的步驟。
[0101] 結(jié)合第三方面的第一種可能的實施方式或第三方面的第二種可能的實施方式或 第三方面的第四種可能的實施方式,在第三方面的第六種可能的實施方式中,所述方法,還 包括:
[0102] 檢測所述下游相鄰端口是否為所述路徑的出端口;
[0103] 如果所述下游相鄰端口不是所述路徑的出端口,則將所述下游相鄰端口確定為新 的當(dāng)前端口;
[0104] 如果所述下游相鄰端口是所述路徑的出端口,則檢測所述監(jiān)控范圍是否還存在其 它路徑;
[0105] 如果所述監(jiān)控范圍還存在其它路徑,則選擇所述其它路徑上的源端口作為新的當(dāng) 前端口。
[0106] 結(jié)合第三方面或第三方面的第一種可能的實施方式或第三方面的第一種可能的 實施方式或第三方面的第二種可能的實施方式或第三方面的第三種可能的實施方式或第 三方面的第四種可能的實施方式或第三方面的第五種可能的實施方式或第三方面的第六 種可能的實施方式,在第三方面的第七種可能的實施方式中,所述向監(jiān)控范圍內(nèi)的指定節(jié) 點發(fā)送監(jiān)控指令之前,還包括:
[0107] 向監(jiān)控范圍內(nèi)的所有節(jié)點發(fā)送初始化指令,所述初始化指令用于指示所述節(jié)點將 各個端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值置為初始值。
[0108] 第四方面,本發(fā)明實施例提供了一種邊緣節(jié)點,所述邊緣節(jié)點包括:
[0109] 接收模塊,用于接收數(shù)據(jù)包;
[0110] 特征匹配模塊,用于檢測所述數(shù)據(jù)包的流特征是否與需要監(jiān)控的流的流特征匹 配;
[0111] 字段插入模塊,用于如果所述數(shù)據(jù)包的流特征與所述需要監(jiān)控的流的流特征匹 配,則在所述數(shù)據(jù)包的包頭中插入字段集,所述字段集包括指定類型的標(biāo)識和流標(biāo)記;所述 流標(biāo)記用于標(biāo)識所述需要監(jiān)控的流;
[0112] 入端口更新模塊,用于根據(jù)所述指定類型的標(biāo)識更新所述數(shù)據(jù)包經(jīng)過的入端口上 與所述流標(biāo)記對應(yīng)的計數(shù)器值,
[0113] 出端口更新模塊,用于根據(jù)所述指定類型的標(biāo)識更新所述數(shù)據(jù)包經(jīng)過的出端口上 與所述流標(biāo)記對應(yīng)的計數(shù)器值;
[0114] 發(fā)送模塊,用于將所述數(shù)據(jù)包發(fā)送給下游相鄰節(jié)點。
[0115] 在第四方面的第一種可能的實施方式中,所述字段插入模塊,用于在所述數(shù)據(jù)包 的以太幀頭的VLAN字段之后插入所述字段集;或,所述字段插入模塊,用于在所述數(shù)據(jù)包 的表示負(fù)荷的以太類型之前插入所述字段集。
[0116] 在第四方面的第二種可能的實施方式中,所述字段集包括新的隧道頭或原始隧道 頭中的新增字段;
[0117] 所述字段插入模塊,用于在所述數(shù)據(jù)包的外部IP報文頭之后、內(nèi)部負(fù)荷之前插入 所述字段集。
[0118] 結(jié)合第四方面或第四方面的第一種可能的實施方式或第四方面的第二種可能的 實施方式,在第四方面的第三種可能的實施方式中,所述邊緣節(jié)點,還包括:特征獲取模 塊;
[0119] 所述接收模塊,還用于接收監(jiān)控指令;
[0120] 所述特征獲取模塊,還用于根據(jù)所述監(jiān)控指令獲取所述需要監(jiān)控的流的流特征。
[0121] 結(jié)合第四方面或第四方面的第一種可能的實施方式或第四方面的第二種可能的 實施方式或第四方面的第三種可能的實施方式,在第四方面的第四種可能的實施方式中, 所述出端口更新模塊,用于根據(jù)所述數(shù)據(jù)包的目的地址查詢所述數(shù)據(jù)包的出端口;檢測所 述數(shù)據(jù)包的類型是否為所述指定類型;如果所述數(shù)據(jù)包的類型是所述指定類型,則提取所 述字段集中的流標(biāo)記;更新所述出端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值。
[0122] 結(jié)合第四方面或第四方面的第一種可能的實施方式或第四方面的第二種可能的 實施方式或第四方面的第三種可能的實施方式或第四方面的第四種可能的實施方式,在第 四方面的第五種可能的實施方式中,所述邊緣節(jié)點還包括:初始化模塊;
[0123] 所述接收模塊,還用于接收初始化指令;
[0124] 所述初始化模塊,用于將各個端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值置為初始值。
[0125] 結(jié)合第四方面或第四方面的第一種可能的實施方式或第四方面的第二種可能的 實施方式或第四方面的第三種可能的實施方式或第四方面的第四種可能的實施方式或第 四方面的第五種可能的實施方式,在第四方面的第六種可能的實施方式中,
[0126] 所述接收模塊,還用于接收提取指令;
[0127] 所述發(fā)送模塊,還用于上報各個端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值。
[0128] 第五方面,本發(fā)明實施例提供了一種節(jié)點,所述節(jié)點包括:
[0129] 接收模塊,用于接收數(shù)據(jù)包;
[0130] 類型檢測模塊,用于檢測所述數(shù)據(jù)包的類型是否為指定類型;
[0131] 字段提取模塊,用于如果所述數(shù)據(jù)包的類型是所述指定類型,則從所述數(shù)據(jù)包的 包頭提取字段集,得到所述字段集中的流標(biāo)記;
[0132] 計數(shù)更新模塊,用于根據(jù)所述字段集更新所述數(shù)據(jù)包經(jīng)過的入端口和/或出端口 上的與所述流標(biāo)記對應(yīng)的計數(shù)器值;
[0133] 發(fā)送模塊,用于將所述數(shù)據(jù)包發(fā)送給下游相鄰節(jié)點。
[0134] 在第五方面的第一種可能的實施方式中,所述計數(shù)更新模塊,用于從所述數(shù)據(jù)包 的包頭提取所述字段集,得到所述字段集中的TTL ;檢測所述TTL是否小于或等于預(yù)定閾 值;如果所述TTL小于或等于所述預(yù)定閾值,則從所述數(shù)據(jù)包的包頭中刪除所述字段集;更 新所述數(shù)據(jù)包的入端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值。
[0135] 在第五方面的第二種可能的實施方式中,所述計數(shù)更新模塊,用于從所述數(shù)據(jù)包 的包頭提取所述字段集,得到所述字段集中的TTL ;檢測所述TTL是否小于或等于預(yù)定閾 值;如果所述TTL大于所述預(yù)定閾值,則將所述字段集中的TTL更新為TTL-1 ;更新所述數(shù) 據(jù)包的入端口和出端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值。
[0136] 結(jié)合第五方面或第五方面的第一種可能的實施方式或第五方面的第二種可能的 實施方式,在第五方面的第三種可能的實施方式中,所述字段提取模塊,用于從所述數(shù)據(jù)包 的以太幀頭的VLAN字段之后提取所述字段集;或,所述字段提取模塊,用于從所述數(shù)據(jù)包 的表示負(fù)荷的以太類型之前提取所述字段集。
[0137] 結(jié)合第五方面的第三種可能的實施方式,在第五方面的第四種可能的實施方式 中,所述節(jié)點是IP網(wǎng)節(jié)點,所述下游相鄰節(jié)點是IP網(wǎng)節(jié)點;
[0138] 所述計數(shù)更新模塊,還用于在所述數(shù)據(jù)包的外部IP報文頭之后、內(nèi)部以太幀頭之 前插入新的字段集;將所述新的字段集中的流標(biāo)記設(shè)置為提取到的所述流標(biāo)記,將所述新 的字段集中的TTL設(shè)置為提取到的TTL-1。
[0139] 結(jié)合第五方面或第五方面的第一種可能的實施方式或第五方面的第二種可能的 實施方式,在第五方面的第五種可能的實施方式中,所述字段集包括新的隧道頭或原始隧 道頭中的新增字段;
[0140] 所述字段提取模塊,用于從所述數(shù)據(jù)包的外部IP報文頭之后、內(nèi)部負(fù)荷之前提取 所述字段集。
[0141] 結(jié)合第五方面的第五種可能的實施方式,在第五方面的第六種可能的實施方式 中,所述節(jié)點為IP網(wǎng)節(jié)點、所述下游相鄰節(jié)點是以太網(wǎng)節(jié)點;
[0142] 所述計數(shù)更新模塊,還用于刪除位于所述數(shù)據(jù)包的外部IP報文頭之后、內(nèi)部以太 幀頭之前的所述字段集;判斷所述數(shù)據(jù)包的內(nèi)部以太幀頭中是否存在其他字段集;如果存 在,則將所述其他字段集中的TTL設(shè)置為提取到的TTL-1 ;如果不存在,則在所述數(shù)據(jù)包 的以太幀頭中插入新的字段集,并將所述新的字段集中的流標(biāo)記設(shè)置為提取到的所述流標(biāo) 記,將所述新的字段集中的TTL設(shè)置為提取到的TTL-1。
[0143] 結(jié)合第五方面或第五方面的第一種可能的實施方式或第五方面的第二種可能的 實施方式或第五方面的第三種可能的實施方式或第五方面的第四種可能的實施方式或第 五方面的第五種可能的實施方式或第五方面的第六種可能的實施方式,在第五方面的第七 種可能的實施方式中,所述節(jié)點是目的側(cè)邊緣節(jié)點;或,所述下游相鄰節(jié)點是所述數(shù)據(jù)包的 目的端設(shè)備;
[0144] 所述節(jié)點,還包括:
[0145] 字段刪除模塊,用于從所述數(shù)據(jù)包的包頭中刪除所述字段集。
[0146] 結(jié)合第五方面或第五方面的第一種可能的實施方式或第五方面的第二種可能的 實施方式或第五方面的第三種可能的實施方式或第五方面的第四種可能的實施方式或第 五方面的第五種可能的實施方式或第五方面的第六種可能的實施方式或第五方面的第七 種可能的實施方式,在第五方面的第八種可能的實施方式中,所述節(jié)點還包括:初始化模 塊;
[0147] 所述接收模塊,還用于接收初始化指令;
[0148] 所述初始化模塊,還用于將各個端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值置為初始 值。
[0149] 結(jié)合第五方面或第五方面的第一種可能的實施方式或第五方面的第二種可能的 實施方式或第五方面的第三種可能的實施方式或第五方面的第四種可能的實施方式或第 五方面的第五種可能的實施方式或第五方面的第六種可能的實施方式或第五方面的第七 種可能的實施方式或第五方面的第八種可能的實施方式,在第五方面的第九種可能的實施 方式中,
[0150] 所述接收模塊,還用于接收提取指令;
[0151] 所述發(fā)送模塊,還用于上報各個端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值。
[0152] 第六方面,本發(fā)明實施例提供了一種網(wǎng)絡(luò)管理中心,所述網(wǎng)絡(luò)管理中心包括:
[0153] 計數(shù)提取模塊,用于提取監(jiān)控范圍內(nèi)的所有節(jié)點的各個端口上與流標(biāo)記對應(yīng)的第 一計數(shù)器值;
[0154] 發(fā)送模塊,用于向所述監(jiān)控范圍內(nèi)的指定節(jié)點發(fā)送監(jiān)控指令,所述監(jiān)控指令用于 指示所述指定節(jié)點對符合預(yù)定條件的數(shù)據(jù)包的包頭中插入字段集,所述字段集包括指定類 型的標(biāo)識和流標(biāo)記;所述預(yù)定條件是所述數(shù)據(jù)包的流特征與需要監(jiān)控的流的流特征匹配, 所述指定類型的標(biāo)識用于觸發(fā)所述數(shù)據(jù)包經(jīng)過的節(jié)點更新所述數(shù)據(jù)包經(jīng)過的端口上與所 述流標(biāo)記對應(yīng)的計數(shù)器值,所述流標(biāo)記用于標(biāo)識所述需要監(jiān)控的流;
[0155] 定時模塊,用于設(shè)置定時器;
[0156] 所述計數(shù)提取模塊,還用于在所述定時器到期時,提取所述監(jiān)控范圍內(nèi)的所有節(jié) 點的各個端口上與所述流標(biāo)記對應(yīng)的第二計數(shù)器值;
[0157] 計算模塊,用于根據(jù)每個端口的第一計數(shù)器值和第二計數(shù)器值計算得到每個端口 的第三計數(shù)器值;
[0158] 丟包測量模塊,用于根據(jù)上下游相鄰端口的第三計數(shù)器值的差值進(jìn)行節(jié)點內(nèi)和/ 或節(jié)點間丟包測量。
[0159] 在第六方面的第一種可能的實施方式中,所述丟包測量模塊,用于選擇所述監(jiān)控 范圍內(nèi)的一條路徑上的源端口作為當(dāng)前端口;檢測所述當(dāng)前端口的下游相鄰端口的第三計 數(shù)器值是否小于所述當(dāng)前端口的第三計數(shù)器值;如果所述下游相鄰端口的第三計數(shù)器值 小于所述當(dāng)前端口的第三計數(shù)器值,則確定所述當(dāng)前端口和所述下游相鄰端口之間存在丟 包。
[0160] 在第六方面的第二種可能的實施方式中,所述丟包測量模塊,用于選擇所述監(jiān)控 范圍內(nèi)的一條路徑上的源端口作為當(dāng)前端口;檢測所述當(dāng)前端口的下游相鄰端口是否與所 述當(dāng)前端口屬于同一節(jié)點;如果所述下游相鄰端口和所述當(dāng)前端口屬于同一節(jié)點,貝U檢測 所述下游相鄰端口的第三計數(shù)器值是否小于所述當(dāng)前端口的第三計數(shù)器值;如果所述下游 相鄰端口的第三計數(shù)器值小于所述當(dāng)前端口的第三計數(shù)器值,則確定所述節(jié)點存在丟包。
[0161] 結(jié)合第六方面的第二種可能的實施方式,在第六方面的第三種可能的實施方式 中,所述丟包測量模塊,還用于如果所述下游相鄰端口和所述當(dāng)前端口不屬于同一節(jié)點,則 將所述下游相鄰端口確定為新的當(dāng)前端口,執(zhí)行檢測所述新的當(dāng)前端口的下游相鄰端口是 否與所述新的當(dāng)前端口屬于同一節(jié)點的步驟。
[0162] 在第六方面的第四種可能的實施方式中,所述丟包測量模塊,用于選擇所述監(jiān)控 范圍內(nèi)的一條路徑上的源端口作為當(dāng)前端口;檢測所述當(dāng)前端口的下游相鄰端口是否與所 述當(dāng)前端口屬于同一節(jié)點;如果所述下游相鄰端口和所述當(dāng)前端口不屬于同一節(jié)點,貝 1J檢 測所述下游相鄰端口的第三計數(shù)器值是否小于所述當(dāng)前端口的第三計數(shù)器值;如果所述下 游相鄰端口的第三計數(shù)器值小于所述當(dāng)前端口的第三計數(shù)器值,則確定所述當(dāng)前端口所屬 的節(jié)點和所述下游相鄰端口所屬的節(jié)點之間存在丟包。
[0163] 結(jié)合第六方面的第四種可能的實施方式,在第六方面的第五種可能的實施方式 中,所述丟包測量模塊,還用于如果所述下游相鄰端口和所述當(dāng)前端口屬于同一節(jié)點,則將 所述下游相鄰端口確定為新的當(dāng)前端口,執(zhí)行檢測所述新的當(dāng)前端口的下游相鄰端口是否 與所述新的當(dāng)前端口屬于同一節(jié)點的步驟。
[0164] 結(jié)合第六方面的第一種可能的實施方式或第六方面的第二種可能的實施方式或 第六方面的第四種可能的實施方式,在第六方面的第五種可能的實施方式中,所述網(wǎng)絡(luò)管 理中心,還包括:
[0165] 出口檢測模塊,用于檢測所述下游相鄰端口是否為所述路徑的出端口;
[0166] 所述丟包測量模塊,還用于如果所述下游相鄰端口不是所述路徑的出端口,則將 所述下游相鄰端口確定為新的當(dāng)前端口;
[0167] 路徑檢測模塊,用于如果所述下游相鄰端口是所述路徑的出端口,則檢測所述監(jiān) 控范圍是否還存在其它路徑;
[0168] 所述丟包測量模塊,還用于如果所述監(jiān)控范圍還存在其它路徑,則選擇所述其它 路徑上的源端口作為新的當(dāng)前端口。
[0169] 結(jié)合第六方面或第六方面的第一種可能的實施方式或第六方面的第二種可能的 實施方式或第六方面的第三種可能的實施方式或第六方面的第四種可能的實施方式或第 六方面的第五種可能的實施方式,在第六方面的第六種可能的實施方式中,所述發(fā)送模塊, 還用于向監(jiān)控范圍內(nèi)的所有節(jié)點發(fā)送初始化指令,所述初始化指令用于指示所述節(jié)點將各 個端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值置為初始值。
[0170] 本發(fā)明根據(jù)流特征來為數(shù)據(jù)包插入字段集,節(jié)點根據(jù)該字段集來對數(shù)據(jù)包經(jīng)過的 端口上與流標(biāo)記對應(yīng)的計數(shù)器值進(jìn)行計數(shù);解決了現(xiàn)有技術(shù)中無法對單個流進(jìn)行故障定位 的問題;達(dá)到了可以針對單個流中的數(shù)據(jù)包進(jìn)行監(jiān)控的效果。
【附圖說明】
[0171] 為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或 現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是 本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可 以根據(jù)這些附圖獲得其他的附圖。
[0172] 圖1是現(xiàn)有技術(shù)提供的數(shù)據(jù)包計數(shù)方法的流程示意圖;
[0173] 圖2A是本發(fā)明一個實施例提供的交換網(wǎng)絡(luò)的架構(gòu)示意圖;
[0174] 圖2B是本發(fā)明一個實施例提供的以太交換網(wǎng)絡(luò)的路徑示意圖;
[0175] 圖2C是本發(fā)明一個實施例提供的以太-IP交換網(wǎng)絡(luò)的路徑示意圖;
[0176] 圖3是本發(fā)明一個實施例提供的網(wǎng)絡(luò)運(yùn)維管理方法的流程示意圖;
[0177] 圖4是本發(fā)明另一個實施例提供的網(wǎng)絡(luò)運(yùn)維管理方法的流程示意圖;
[0178] 圖5是本發(fā)明再一個實施例提供的網(wǎng)絡(luò)運(yùn)維管理方法的流程示意圖;
[0179] 圖6A是本發(fā)明一個實施例提供的網(wǎng)絡(luò)運(yùn)維管理方法的流程示意圖;
[0180] 圖6B是本發(fā)明另一個實施例提供的網(wǎng)絡(luò)運(yùn)維管理方法的流程示意圖;
[0181] 圖6C是本發(fā)明另一個實施例提供的網(wǎng)絡(luò)運(yùn)維管理方法的流程示意圖;
[0182] 圖6D是本發(fā)明另一個實施例提供的網(wǎng)絡(luò)運(yùn)維管理方法的流程示意圖;
[0183] 圖7是本發(fā)明一個實施例提供的故障處理方法的流程示意圖;
[0184] 圖8是本發(fā)明一個實施例提供的網(wǎng)絡(luò)運(yùn)維管理方法的流程示意圖;
[0185] 圖9是本發(fā)明另一個實施例提供的網(wǎng)絡(luò)運(yùn)維管理方法的流程示意圖;
[0186] 圖10是本發(fā)明另一個實施例提供的網(wǎng)絡(luò)運(yùn)維管理方法的流程示意圖;
[0187] 圖11是本發(fā)明另一個實施例提供的網(wǎng)絡(luò)運(yùn)維管理方法的流程示意圖;
[0188] 圖12是本發(fā)明一個實施例提供的路徑發(fā)現(xiàn)方法的流程示意圖;
[0189] 圖13A是本發(fā)明另一個實施例提供的路徑發(fā)現(xiàn)方法的流程示意圖;
[0190] 圖13B是本發(fā)明另一個實施例提供的路徑發(fā)現(xiàn)方法的流程示意圖;
[0191] 圖13C是本發(fā)明另一個實施例提供的路徑發(fā)現(xiàn)方法的流程示意圖;
[0192] 圖14是本發(fā)明另一個實施例提供的交換網(wǎng)絡(luò)的架構(gòu)示意圖;
[0193] 圖15是本發(fā)明實施例中網(wǎng)絡(luò)管理中心向節(jié)點發(fā)送的指令的格式示意圖;
[0194] 圖16是本發(fā)明一個實施例提供的邊緣節(jié)點的結(jié)構(gòu)示意圖;
[0195] 圖17是本發(fā)明另一個實施例提供的邊緣節(jié)點的結(jié)構(gòu)示意圖;
[0196] 圖18是本發(fā)明一個實施例提供的節(jié)點的結(jié)構(gòu)示意圖;
[0197] 圖19是本發(fā)明另一個實施例提供的節(jié)點的結(jié)構(gòu)示意圖;
[0198] 圖20是本發(fā)明一個實施例提供的網(wǎng)絡(luò)管理中心的結(jié)構(gòu)示意圖;
[0199] 圖21是本發(fā)明另一個實施例提供的網(wǎng)絡(luò)管理中心的結(jié)構(gòu)示意圖;
[0200] 圖22是本發(fā)明另一個實施例提供的節(jié)點的結(jié)構(gòu)示意圖;
[0201] 圖23是本發(fā)明另一個實施例提供的網(wǎng)絡(luò)管理中心的結(jié)構(gòu)示意圖;
[0202] 圖24是本發(fā)明一個實施例提供的網(wǎng)絡(luò)運(yùn)維管理系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實施方式】
[0203] 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方 式作進(jìn)一步地詳細(xì)描述。
[0204] 參考圖2A,其示出了本發(fā)明實施例所涉及的一種交換網(wǎng)絡(luò)200的架構(gòu)示意圖。該 交換網(wǎng)絡(luò)200包括邊緣節(jié)點220、中間節(jié)點240、控制器260和網(wǎng)絡(luò)管理中心280。
[0205] 每個邊緣節(jié)點220可以與至少一臺服務(wù)器10相連。
[0206] 每個邊緣節(jié)點220都與至少一個中間節(jié)點240相連。
[0207] 各個服務(wù)器10之間通過交換網(wǎng)絡(luò)200中的節(jié)點實現(xiàn)互聯(lián)。也即,每個服務(wù)器10 可以將報文通過交換網(wǎng)絡(luò)200中的節(jié)點發(fā)送給其它服務(wù)器。
[0208] 交換網(wǎng)絡(luò)200還包括有控制器260,該控制器260與每個服務(wù)器10、每個邊緣節(jié)點 220、每個中間節(jié)點240分別相連。
[0209] 交換網(wǎng)絡(luò)200還包括有網(wǎng)絡(luò)管理中心280,該網(wǎng)絡(luò)管理中心280可以為獨(dú)立于控制 器260之外的硬件設(shè)備,也可以為控制器260中的一個邏輯模塊。在下文中為了簡化描述, 以網(wǎng)絡(luò)管理中心280是獨(dú)立于控制器260之外的硬件設(shè)備來舉例說明。
[0210] 當(dāng)該交換網(wǎng)絡(luò)200是以太網(wǎng)絡(luò)時,邊緣節(jié)點220和中間節(jié)點240都是以太網(wǎng)節(jié)點, 比如交換機(jī)。換句話說,當(dāng)交換網(wǎng)絡(luò)200是以太網(wǎng)絡(luò)時,兩個服務(wù)器10之間的路徑上的節(jié) 點全部為交換機(jī),如圖2B所示。
[0211] 當(dāng)該交換網(wǎng)絡(luò)200既包括以太網(wǎng)絡(luò),又包括IP網(wǎng)絡(luò)時,邊緣節(jié)點220可能是以太 網(wǎng)節(jié)點,比如交換機(jī);也可能是IP網(wǎng)節(jié)點,比如路由器。中間節(jié)點220可能是以太網(wǎng)節(jié)點, 比如交換機(jī);也可能是IP網(wǎng)節(jié)點,比如路由器。換句話說,當(dāng)交換網(wǎng)絡(luò)200既包括以太網(wǎng) 絡(luò),又包括IP網(wǎng)絡(luò)時,兩個服務(wù)器10之間的路徑上的節(jié)點既可能是交換機(jī),又可能是路由 器,相鄰的路由器之間通過隧道相連,如圖2C所示。
[0212] 需要說明的是,圖2A至圖2C所示出的交換網(wǎng)絡(luò)僅為便于本文中各個方法的描述, 但對本文中各個方法在實施時的網(wǎng)絡(luò)環(huán)境不做具體限定。也即,既不對網(wǎng)絡(luò)環(huán)境中節(jié)點的 數(shù)量做具體限定,也不對網(wǎng)絡(luò)環(huán)境中的拓?fù)浣Y(jié)構(gòu)做具體限定。而且,本文中的監(jiān)控范圍可以 是整個交換網(wǎng)絡(luò),也可以是交換網(wǎng)絡(luò)中的一部分。當(dāng)監(jiān)控范圍是交換網(wǎng)絡(luò)的一部分時,邊緣 設(shè)備的劃分可以以監(jiān)控范圍為準(zhǔn)。
[0213] 還需要說明的是,本文中的數(shù)據(jù)包是指具有一定長度的比特序列。在以太網(wǎng)絡(luò)中, 數(shù)據(jù)包也可以稱之為以太幀;在IP網(wǎng)絡(luò)中,數(shù)據(jù)包也可以稱之為報文。但為了便于簡化描 述,本文中均采用數(shù)據(jù)包作為統(tǒng)一描述。
[0214] 還需要說明的是,上述服務(wù)器10也可以視為邊緣節(jié)點220的下游相鄰節(jié)點。
[0215] 請參考圖3,其示出了本發(fā)明一個實施例提供的網(wǎng)絡(luò)運(yùn)維管理方法的流程示意圖。 本實施例以該網(wǎng)絡(luò)運(yùn)維管理方法應(yīng)用于圖2A所示的邊緣節(jié)點和中間節(jié)點中的一個指定節(jié) 點來舉例說明,該指定節(jié)點通常是監(jiān)控范圍中一條路徑上的起始側(cè)邊緣節(jié)點。該網(wǎng)絡(luò)運(yùn)維 管理方法包括:
[0216] 步驟301,接收數(shù)據(jù)包。
[0217] 指定節(jié)點接收上游相鄰節(jié)點發(fā)送的數(shù)據(jù)包,上游相鄰節(jié)點通常是服務(wù)器,也可能 是交換網(wǎng)絡(luò)中的節(jié)點。
[0218] 步驟302,檢測所述數(shù)據(jù)包的流特征是否與需要監(jiān)控的流的流特征匹配。
[0219] 需要監(jiān)控的流的流特征可以由管理員配置,或者,由網(wǎng)絡(luò)管理中心下發(fā)的監(jiān)控指 令中攜帶。
[0220] 流特征可以分為兩類:一類是數(shù)據(jù)包自身攜帶的信息;另一類是該數(shù)據(jù)包的目的 端設(shè)備上的特征信息。
[0221] 流特征包括如下特征中的至少一項:數(shù)據(jù)包的源IP地址、數(shù)據(jù)包的目的IP地址、 數(shù)據(jù)包的源MAC地址、數(shù)據(jù)包的目的MAC地址、數(shù)據(jù)包的源端口、數(shù)據(jù)包的目的端口、數(shù)據(jù)包 的IP協(xié)議類型、數(shù)據(jù)包的以太類型、目的端設(shè)備的端口號或端口類型、虛擬局域網(wǎng)標(biāo)識等 等。
[0222] 步驟303,如果所述數(shù)據(jù)包的流特征與需要監(jiān)控的流的流特征匹配,則在所述數(shù)據(jù) 包的包頭中插入字段集,所述字段集包括指定類型的標(biāo)識和流標(biāo)記。
[0223] 該字段集用于實現(xiàn)對該數(shù)據(jù)包的隨路監(jiān)控。
[0224] 該字段集至少包括指定類型的標(biāo)識和流標(biāo)記。該指定類型的標(biāo)識用于表明該數(shù)據(jù) 包的類型為隨路監(jiān)控類型。所述流標(biāo)記用于標(biāo)識需要監(jiān)控的流。隨路監(jiān)控是指所述數(shù)據(jù)包 轉(zhuǎn)發(fā)路徑上的節(jié)點都需要監(jiān)控所述數(shù)據(jù)包。
[0225] 該字段集中還可選包括生存期(英文:Time To Live,簡稱:TTL)。該TTL用于表 示該字段集在該數(shù)據(jù)包中的生存期。
[0226] 步驟304,根據(jù)所述指定類型的標(biāo)識更新所述數(shù)據(jù)包經(jīng)過的入端口上與所述流標(biāo) 記對應(yīng)的計數(shù)器值。
[0227] 該數(shù)據(jù)包在指定節(jié)點上經(jīng)過一個入端口和一個出端口。指定節(jié)點根據(jù)所述指定類 型的標(biāo)識更新數(shù)據(jù)包經(jīng)過的入端口上與流標(biāo)記對應(yīng)的計數(shù)器值。
[0228] 步驟305,根據(jù)所述指定類型的標(biāo)識更新所述數(shù)據(jù)包經(jīng)過的出端口上與所述流標(biāo) 記對應(yīng)的計數(shù)器值。
[0229] 對應(yīng)地,指定節(jié)點還根據(jù)所述指定類型的標(biāo)識更新數(shù)據(jù)包的出端口上與流標(biāo)記對 應(yīng)的計數(shù)器值。
[0230] 步驟306,將所述數(shù)據(jù)包發(fā)送給下游相鄰節(jié)點。
[0231] 本實施例提供的網(wǎng)絡(luò)運(yùn)維管理方法,根據(jù)流特征來為數(shù)據(jù)包插入字段集,節(jié)點根 據(jù)該字段集來對數(shù)據(jù)包經(jīng)過的端口上與流標(biāo)記對應(yīng)的計數(shù)器值進(jìn)行計數(shù);解決了現(xiàn)有技術(shù) 中無法對單個流進(jìn)行故障定位的問題;達(dá)到了可以針對單個流中的數(shù)據(jù)包進(jìn)行監(jiān)控的效 果。
[0232] 請參考圖4,其示出了本發(fā)明另一個實施例提供的網(wǎng)絡(luò)運(yùn)維管理方法的流程示意 圖。本實施例以該網(wǎng)絡(luò)運(yùn)維管理方法應(yīng)用于圖2A所示的邊緣節(jié)點和中間節(jié)點中的一個節(jié) 點來舉例說明,該節(jié)點通常是監(jiān)控范圍中一條路徑上位于起始側(cè)邊緣節(jié)點之后的節(jié)點。該 網(wǎng)絡(luò)運(yùn)維管理方法包括:
[0233] 步驟401,接收數(shù)據(jù)包。
[0234] 當(dāng)前節(jié)點接收上游相鄰節(jié)點發(fā)送的數(shù)據(jù)包。
[0235] 步驟402,檢測所述數(shù)據(jù)包的類型是否為指定類型。
[0236] 所述指定類型是隨路監(jiān)控類型。
[0237] 當(dāng)前節(jié)點檢測所述數(shù)據(jù)包的包頭中是否包括所述指定類型的標(biāo)識;
[0238] 如果包括,則所述數(shù)據(jù)包的類型是指定類型;如果不包括,則所述數(shù)據(jù)包的類型 不是指定類型。
[0239] 步驟403,如果所述數(shù)據(jù)包的類型是所述指定類型,則從所述數(shù)據(jù)包的包頭提取字 段集,得到所述字段集中的流標(biāo)記。
[0240] 所述字段集至少包括指定類型的標(biāo)識和流標(biāo)記。可選包括:TTL。所述指定類型的 標(biāo)識用于指示該數(shù)據(jù)包的類型是隨路監(jiān)控類型。所述流標(biāo)記用于標(biāo)識需要監(jiān)控的流。
[0241] 步驟404,根據(jù)所述字段集更新所述數(shù)據(jù)包經(jīng)過的入端口和/或出端口上與所述 流標(biāo)記對應(yīng)的計數(shù)器值。
[0242] 當(dāng)前節(jié)點根據(jù)所述字段集僅更新所述數(shù)據(jù)包經(jīng)過的入端口上與所述流標(biāo)記對應(yīng) 的計數(shù)器值;或,
[0243] 當(dāng)前節(jié)點根據(jù)所述字段集同時更新所述數(shù)據(jù)包經(jīng)過的入端口和出端口上與所述 流標(biāo)記對應(yīng)的計數(shù)器值。
[0244] 步驟405,將所述數(shù)據(jù)包發(fā)送給下游相鄰節(jié)點。
[0245] 下游相鄰節(jié)點可能是中間節(jié)點或目的側(cè)邊緣節(jié)點,也可能是目的端設(shè)備。
[0246] 本實施例提供的網(wǎng)絡(luò)運(yùn)維管理方法,節(jié)點根據(jù)數(shù)據(jù)包中插入的字段集來對數(shù)據(jù)包 經(jīng)過的端口上與流標(biāo)記對應(yīng)的計數(shù)器值進(jìn)行計數(shù),該字段集包括有流標(biāo)記;解決了現(xiàn)有技 術(shù)中無法對單個流進(jìn)行故障定位的問題;達(dá)到了可以針對單個流中的數(shù)據(jù)包進(jìn)行監(jiān)控的效 果。
[0247] 請參考圖5,其示出了本發(fā)明另一個實施例提供的網(wǎng)絡(luò)運(yùn)維管理方法的流程示意 圖。作為圖3實施例更進(jìn)一步的實施例,該網(wǎng)絡(luò)運(yùn)維管理方法包括:
[0248] 步驟501,接收初始化指令。
[0249] 指定節(jié)點接收網(wǎng)絡(luò)管理中心的初始化指令,該初始化指令攜帶有流標(biāo)記。該初始 化指令用于指示節(jié)點對各個端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值置為初始值。
[0250] 步驟502,將各個端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值置為初始值。
[0251] 指定節(jié)點為各個端口都設(shè)置有與所述流標(biāo)記對應(yīng)的計數(shù)器。而且,指定節(jié)點可以 為每個端口設(shè)置不止1個計數(shù)器,如果有η個需要監(jiān)控的流,則為每個端口設(shè)置η個計數(shù) 器。
[0252] 該初始值通常為0。
[0253] 步驟503,接收監(jiān)控指令。
[0254] 指定節(jié)點接收網(wǎng)絡(luò)管理中心發(fā)送的監(jiān)控指令。
[0255] 監(jiān)控指令從功能上可以分為:用于進(jìn)行路徑發(fā)現(xiàn)的監(jiān)控指令、用于進(jìn)行丟包測量 的監(jiān)控指令。
[0256] 監(jiān)控指令,至少包括:需要監(jiān)控的流的流特征。流特征可以分為兩類:一類是數(shù)據(jù) 包自身攜帶的信息;另一類是該數(shù)據(jù)包的目的端設(shè)備上的特征信息。
[0257] 流特征包括如下特征中的至少一項:數(shù)據(jù)包的源IP地址、數(shù)據(jù)包的目的IP地址、 數(shù)據(jù)包的源MAC地址、數(shù)據(jù)包的目的MAC地址、數(shù)據(jù)包的源端口、數(shù)據(jù)包的目的端口、數(shù)據(jù)包 的IP協(xié)議類型、數(shù)據(jù)包的以太類型、目的端設(shè)備的端口號或端口類型、虛擬局域網(wǎng)標(biāo)識等 等。
[0258] 可選地,監(jiān)控指令還包括:TTL、染色時長或被染色的數(shù)據(jù)包個數(shù)。染色是指對數(shù)據(jù) 包插入所述字段集。
[0259] 步驟504,根據(jù)所述監(jiān)控指令獲取需要監(jiān)控的流的流特征。
[0260] 所述指定節(jié)點從監(jiān)控指令中提取需要監(jiān)控的流的流特征。
[0261] 步驟505,接收數(shù)據(jù)包。
[0262] 指定節(jié)點接收上游相鄰節(jié)點發(fā)送的數(shù)據(jù)包。上游相鄰節(jié)點通常是服務(wù)器。
[0263] 步驟506,檢測所述數(shù)據(jù)包的流特征是否與需要監(jiān)控的流的流特征匹配;
[0264] 如果匹配,則執(zhí)行步驟507 ;如果不匹配,則執(zhí)行步驟512。
[0265] 步驟507,如果數(shù)據(jù)包的流特征與需要監(jiān)控的流的流特征匹配,則在數(shù)據(jù)包的包頭 中插入字段集,所述字段集包括指定類型的標(biāo)識和所述流標(biāo)記;
[0266] 該字段集用于實現(xiàn)對該數(shù)據(jù)包的隨路監(jiān)控。
[0267] 該字段集包括:指定類型的標(biāo)識、所述流標(biāo)記和TTL。該指定類型的標(biāo)識是該數(shù)據(jù) 包的類型為隨路監(jiān)控類型的標(biāo)識。流標(biāo)記用于識別需要監(jiān)控的流。該TTL用于表示該字段 集在該數(shù)據(jù)包中的生存期。
[0268] 可選地,流標(biāo)記可以為顏色標(biāo)識(英文:Color);或者,為組標(biāo)識(英文:Group)和 顏色標(biāo)識兩者的組合。組標(biāo)識用于標(biāo)識管理組,且組標(biāo)識在整個網(wǎng)絡(luò)的管理域內(nèi)唯一;顏色 標(biāo)識用于在整個管理組中標(biāo)識監(jiān)控流,且顏色標(biāo)識在整個管理組中唯一。
[0269] 步驟508,根據(jù)所述指定類型的標(biāo)識更新所述數(shù)據(jù)包的入端口上與所述流標(biāo)記對 應(yīng)的計數(shù)器值。
[0270] 在所述數(shù)據(jù)包的包頭中插入字段集之后,指定節(jié)點更新所述數(shù)據(jù)包的入端口上與 所述流標(biāo)記對應(yīng)的計數(shù)器值。
[0271] 步驟509,根據(jù)所述數(shù)據(jù)包的目的地址查詢所述數(shù)據(jù)包的出端口。
[0272] 在以太網(wǎng)絡(luò)中,指定節(jié)點根據(jù)所述數(shù)據(jù)包的目的MAC地址查詢數(shù)據(jù)包的出端口。
[0273] 在IP網(wǎng)絡(luò)中,指定節(jié)點根據(jù)所述數(shù)據(jù)包的目的IP地址查詢數(shù)據(jù)包的出端口。
[0274] 步驟510,檢測所述數(shù)據(jù)包的類型是否為指定類型。
[0275] 如果是,則執(zhí)行步驟511 ;如果不是,則執(zhí)行步驟513。
[0276] 步驟511,如果是,則提取所述數(shù)據(jù)包的包頭中的字段集中的流標(biāo)記;
[0277] 步驟512,更新所述數(shù)據(jù)包經(jīng)過的出端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值;
[0278] 步驟513,將所述數(shù)據(jù)包發(fā)送給下游相鄰節(jié)點。
[0279] 在下游相鄰節(jié)點是以太網(wǎng)節(jié)點時,所述指定節(jié)點通過鏈路將所述數(shù)據(jù)包發(fā)送給所 述下游相鄰節(jié)點。
[0280] 在下游相鄰節(jié)點是IP網(wǎng)節(jié)點時,所述指定節(jié)點通過隧道將所述數(shù)據(jù)包發(fā)送給所 述下游相鄰節(jié)點。
[0281] 步驟514,接收提取指令。
[0282] 所述指定節(jié)點還接收網(wǎng)絡(luò)管理中心發(fā)送的提取指令。
[0283] 步驟515,上報各個端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值。
[0284] 在接收到所述提取指令后,所述指定節(jié)點向網(wǎng)絡(luò)管理中心上報各個端口上與所述 流標(biāo)記對應(yīng)的計數(shù)器值。
[0285] 本實施例提供的網(wǎng)絡(luò)運(yùn)維管理方法,節(jié)點根據(jù)流特征來為數(shù)據(jù)包插入字段集,并 根據(jù)該字段集來對數(shù)據(jù)包經(jīng)過的端口上與流標(biāo)記對應(yīng)的計數(shù)器值進(jìn)行計數(shù);解決了現(xiàn)有技 術(shù)中無法對單個流進(jìn)行故障定位的問題;達(dá)到了可以針對單個流中的數(shù)據(jù)包進(jìn)行監(jiān)控的效 果。
[0286] 另外,由于現(xiàn)有技術(shù)中提供的網(wǎng)絡(luò)運(yùn)維管理方法中,每個節(jié)點僅設(shè)置1個計數(shù)器, 如果路徑上存在分叉,則一個上游節(jié)點的數(shù)據(jù)包會分散至多個下游節(jié)點;如果路徑匯聚,則 多個上游節(jié)點的數(shù)據(jù)包會交織至一個下游節(jié)點,導(dǎo)致數(shù)據(jù)包無法計數(shù)。而本實施例中為一 個節(jié)點中的每個端口上都設(shè)置有與流標(biāo)記對應(yīng)的計數(shù)器,即便網(wǎng)絡(luò)拓?fù)渲写嬖?節(jié)點-多 個節(jié)點"的拓?fù)湫问剑捎诠?jié)點上與其它節(jié)點相連的端口是互相獨(dú)立的,所以該網(wǎng)絡(luò)運(yùn)維管 理方法仍然能夠正常計數(shù)。
[0287] 由于指定節(jié)點可能是以太網(wǎng)節(jié)點,也可能是IP網(wǎng)節(jié)點,所以在圖5實施例中,該字 段集在數(shù)據(jù)包的包頭中的插入位置也可能不同。本文不對該插入位置做具體限定,該插入 位置以不影響數(shù)據(jù)包在網(wǎng)絡(luò)中的正常傳輸為確定基準(zhǔn)。
[0288] 當(dāng)指定節(jié)點是以太網(wǎng)節(jié)點,比如圖2B中的交換機(jī)1時,在數(shù)據(jù)包的以太幀頭中插 入該字段集。該字段集包括新的以太類型或現(xiàn)有以太類型的擴(kuò)展字段。
[0289] 在數(shù)據(jù)包的包頭中包括虛擬局域網(wǎng)VLAN字段時,在數(shù)據(jù)包的以太幀頭的VLAN字 段之后插入字段集。
[0290] 在數(shù)據(jù)包的包頭中不包含VLAN字段時,在數(shù)據(jù)包的以太幀頭的表示負(fù)荷的以太 類型之前插入字段集。表示負(fù)荷的以太類型= 0x0800。
[0291] 比如,在數(shù)據(jù)包的包頭中不包含VLAN字段時,數(shù)據(jù)包的以太幀頭的目的MAC地址 (英文〖Destination MAC Address)和源 MAC 地址(英文:Source MAC Address)之后,以 太類型(英文:Ethertype)之前,以新增字段的方式插入了字段集。該字段集包括:指定類 型的標(biāo)識:以太類型=0X8980、生存期、組標(biāo)識和顏色標(biāo)識。
[0292] 當(dāng)指定節(jié)點是IP節(jié)點,比如圖2C中的路由器1時,指定節(jié)點在數(shù)據(jù)包的外部IP 報文頭之后、內(nèi)部負(fù)荷之前插入字段集。該字段集包括新的隧道頭或原始隧道頭中的新增 字段。
[0293] 路由器之間的隧道可能是虛擬化可擴(kuò)展的局域網(wǎng)(英文:Virtual extensible Local Area Network ;簡稱:VXLAN)格式的隧道;也可能是通用網(wǎng)絡(luò)虛擬化封裝(英文: Generic Network Virtualization Encapsulation,簡稱:Geneve);
[0294] 在隧道是VXLAN格式的隧道時,該數(shù)據(jù)包的包頭包括:外部以太幀頭、外部IP報文 頭、外部用戶數(shù)據(jù)報協(xié)議(英文:User Datagram Protocol ;簡稱:UDP)頭、VXLAN隧道頭、 內(nèi)部以太幀頭、內(nèi)部IP報文頭和內(nèi)部負(fù)荷。在外部UDP頭之后、內(nèi)部幀頭之前的原始VXLAN 隧道頭的預(yù)留字段中插入了字段集。該字段集包括:指定類型的標(biāo)識:C、生存期、組標(biāo)識和 顏色標(biāo)識。
[0295] 在隧道是Geneve格式的隧道時,該數(shù)據(jù)包的包頭包括:外部以太幀頭、外部IP報 文頭、外部用戶數(shù)據(jù)報協(xié)議(英文:User Datagram Protocol ;簡稱:UDP)頭、Geneve隧道 頭、內(nèi)部以太幀頭、內(nèi)部IP報文頭和載荷。在外部UDP頭之后、內(nèi)部幀頭之前的原始Geneve 隧道頭的可變長度選項中插入了字段集。該字段集包括:指定類型的標(biāo)識:選項類別、生存 期、組標(biāo)識和顏色標(biāo)識。
[0296] 本實施例對路由器之間的隧道的格式不做具體限定,還可能是通用路由封裝協(xié)議 (英文:Generic Routing Encapsulation ;簡稱:GRE)格式的隧道以及IP-in-IP格式的隧 道等等。路由器之間的隧道是GRE格式的隧道時,字段集可以插入在GRE隧道頭之后、內(nèi)部 以太幀之前;路由器之間的隧道是IP-in-IP格式的隧道時,字段集可以插入在外部IP報文 頭之后、內(nèi)部以太幀之前,諸如此類,不再一一贅述。
[0297] 本實施例提供的網(wǎng)絡(luò)運(yùn)維管理方法,根據(jù)指定節(jié)點的類型不同,在數(shù)據(jù)包的包頭 中的不同位置添加字段集,使得該網(wǎng)絡(luò)運(yùn)維管理方法即可以用于以太網(wǎng)節(jié)點,也可以用于 IP網(wǎng)節(jié)點。而在現(xiàn)有技術(shù)提供的網(wǎng)絡(luò)運(yùn)維管理方法中,預(yù)定比特位是添加在IP報文頭中的 比特位,僅適用于IP網(wǎng)節(jié)點,不適用于以太網(wǎng)節(jié)點。
[0298] 請參考圖6A,其示出了本發(fā)明另一個實施例提供的網(wǎng)絡(luò)運(yùn)維管理方法的流程示意 圖。作為圖4實施例的更進(jìn)一步的實施例。該網(wǎng)絡(luò)運(yùn)維管理方法包括:
[0299] 步驟601,接收初始化指令。
[0300] 當(dāng)前節(jié)點接收網(wǎng)絡(luò)管理中心的初始化指令,該初始化指令攜帶有流標(biāo)記。該初始 化指令用于指示節(jié)點對各個端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值置為初始值。
[0301] 步驟602,將各個端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值置為初始值。
[0302] 當(dāng)前節(jié)點為各個端口都設(shè)置有與所述流標(biāo)記對應(yīng)的計數(shù)器。而且,當(dāng)前節(jié)點可以 為每個端口設(shè)置不止1個計數(shù)器,如果有η個需要監(jiān)控的流,則為每個端口設(shè)置η個計數(shù) 器。
[0303] 該初始值通常為0。
[0304] 步驟603,接收數(shù)據(jù)包。
[0305] 所述當(dāng)前節(jié)點接收上游相鄰節(jié)點發(fā)送的數(shù)據(jù)包。
[0306] 步驟604,根據(jù)所述數(shù)據(jù)包的目的地址查詢所述數(shù)據(jù)包的出端口。
[0307] 在以太網(wǎng)絡(luò)中,當(dāng)前節(jié)點根據(jù)所述數(shù)據(jù)包的目的MAC地址查詢所述數(shù)據(jù)包的出 端口。
[0308] 在IP網(wǎng)絡(luò)中,當(dāng)前節(jié)點根據(jù)所述數(shù)據(jù)包的目的IP地址查詢所述數(shù)據(jù)包的出端口。
[0309] 步驟605,檢測所述數(shù)據(jù)包的類型是否為指定類型。
[0310] 所述指定類型是隨路監(jiān)控類型。
[0311] 所述當(dāng)前節(jié)點檢測所述數(shù)據(jù)包的包頭中是否包括指定類型的標(biāo)識;
[0312] 如果包括,則數(shù)據(jù)包的類型是指定類型;如果不包括,則數(shù)據(jù)包的類型不是指定類 型。
[0313] 步驟606,如果所述數(shù)據(jù)包的類型是所述指定類型,則從所述數(shù)據(jù)包的包頭提取字 段集,得到所述字段集中的所述流標(biāo)記和TTL ;
[0314] 如果所述數(shù)據(jù)包的類型是指定類型,則數(shù)據(jù)包的包頭中被插入了字段集。
[0315] 所述字段集包括指定類型的標(biāo)識、流標(biāo)記和TTL。當(dāng)前節(jié)點從所述數(shù)據(jù)包的包頭提 取字段集,得到所述字段集中的所述流標(biāo)記和TTL。
[0316] 在以太網(wǎng)絡(luò)中,當(dāng)前節(jié)點從數(shù)據(jù)包的以太幀頭中提取字段集。也即,當(dāng)前節(jié)點從所 述數(shù)據(jù)包的以太幀頭的VLAN字段之后提取所述字段集;或,當(dāng)前節(jié)點從所述數(shù)據(jù)包的以太 幀頭的表示負(fù)荷的以太類型之前提取所述字段集。
[0317] 在IP網(wǎng)絡(luò)中,當(dāng)前節(jié)點從數(shù)據(jù)包的外部IP報文頭之后、內(nèi)部負(fù)荷之前提取所述字 段集。
[0318] 步驟607,檢測所述TTL是否小于等于預(yù)定閾值。
[0319] 該預(yù)定閾值可以是1,也即,當(dāng)前節(jié)點檢測TTL是否等于1。
[0320] 如果TTL等于1,則執(zhí)行步驟608 ;如果TTL大于1,則執(zhí)行步驟610。
[0321] 步驟608,如果所述TTL等于1,則從所述數(shù)據(jù)包的包頭中刪除所述字段集。
[0322] 當(dāng)前節(jié)點從所述數(shù)據(jù)包的包頭中刪除所述字段集,重組為初始的數(shù)據(jù)包。
[0323] 步驟609,更新所述數(shù)據(jù)包經(jīng)過的入端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值;
[0324] 所述在TTL等于1時,當(dāng)前節(jié)點僅更新數(shù)據(jù)包的入端口上與所述流標(biāo)記對應(yīng)的計 數(shù)器值,然后執(zhí)行步驟612。
[0325] 步驟610,如果所述TTL大于1,則將所述字段集中的TTL更新為(TTL-1);
[0326] 當(dāng)前節(jié)點將所述字段集中的TTL更新為(TTL-1)。
[0327] 步驟611,更新所述數(shù)據(jù)包經(jīng)過的入端口和出端口上與所述流標(biāo)記對應(yīng)的計數(shù)器 值。
[0328] 在TTL大于1時,所述當(dāng)前節(jié)點同時更新數(shù)據(jù)包的入端口和出端口上與所述流標(biāo) 記對應(yīng)的計數(shù)器值。
[0329] 步驟612,將所述數(shù)據(jù)包發(fā)送給下游相鄰節(jié)點。
[0330] 所述下游相鄰節(jié)點可以是節(jié)點或目標(biāo)端設(shè)備。
[0331] 步驟613,接收提取指令。
[0332] 當(dāng)前節(jié)點還接收網(wǎng)絡(luò)管理中心發(fā)送的提取指令。
[0333] 步驟614,上報各個端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值。
[0334] 在接收到提取指令后,當(dāng)前節(jié)點向網(wǎng)絡(luò)管理中心上報各個端口上與流標(biāo)記對應(yīng)的 計數(shù)器值。
[0335] 本實施例提供的網(wǎng)絡(luò)運(yùn)維管理方法,節(jié)點根據(jù)數(shù)據(jù)包中插入的字段集來對數(shù)據(jù)包 經(jīng)過的端口上與流標(biāo)記對應(yīng)的計數(shù)器值進(jìn)行計數(shù);解決了現(xiàn)有技術(shù)中無法對單個流進(jìn)行故 障定位的問題;達(dá)到了可以針對單個流中的數(shù)據(jù)包進(jìn)行監(jiān)控的效果。
[0336] 另外,由于現(xiàn)有技術(shù)中提供的網(wǎng)絡(luò)運(yùn)維管理方法中,每個節(jié)點僅設(shè)置1個計數(shù)器, 如果路徑上存在分叉,則一個上游節(jié)點的數(shù)據(jù)包會分散至多個下游節(jié)點;如果路徑匯聚,則 多個上游節(jié)點的數(shù)據(jù)包會交織至一個下游節(jié)點,導(dǎo)致數(shù)據(jù)包無法計數(shù)。而本實施例中為一 個節(jié)點中的每個端口上都設(shè)置有與流標(biāo)記對應(yīng)的計數(shù)器,即便網(wǎng)絡(luò)拓?fù)渲写嬖?節(jié)點-多 個節(jié)點"的拓?fù)湫问?,由于?jié)點上與其它節(jié)點相連的端口是互相獨(dú)立的,所以該網(wǎng)絡(luò)運(yùn)維管 理方法仍然能夠正常計數(shù)。
[0337] 需要說明的第一點是,由于圖6A中的當(dāng)前節(jié)點可能是監(jiān)控范圍的一條路徑上的 目的側(cè)邊緣節(jié)點,該目的側(cè)邊緣節(jié)點可能是交換網(wǎng)絡(luò)上與目的側(cè)服務(wù)器相連的邊緣節(jié)點; 也可能不是交換網(wǎng)絡(luò)上與目的側(cè)服務(wù)器相連的邊緣節(jié)點,因為監(jiān)控范圍通常小于交換網(wǎng) 絡(luò),當(dāng)前節(jié)點僅僅是監(jiān)控范圍的一條路徑上的目的側(cè)邊緣節(jié)點。此時,當(dāng)前節(jié)點也需要將所 述數(shù)據(jù)包的包頭中的字段集刪除,以不影響數(shù)據(jù)包的正常傳輸。也即,上述方法在步驟607 之后、步驟612之前還包括步驟615,如圖6B所示:
[0338] 步驟615,檢測當(dāng)前節(jié)點是否為目的側(cè)邊緣節(jié)點,或,檢測下游相鄰節(jié)點是數(shù)據(jù)包 的目的端設(shè)備。
[0339] -方面,可以由網(wǎng)絡(luò)管理中心以監(jiān)控指令的形式預(yù)先告知當(dāng)前節(jié)點是目的側(cè)邊緣 節(jié)點;另一方面,當(dāng)前節(jié)點可以通過數(shù)據(jù)包的目的地址和下游相鄰節(jié)點的地址來檢測下游 相鄰節(jié)點是否為數(shù)據(jù)包的目的端設(shè)備。
[0340] 如果是,則執(zhí)行步驟608 ;如果否,則執(zhí)行步驟610。也即,在當(dāng)前節(jié)點為目的側(cè)邊 緣節(jié)點,或,下游相鄰節(jié)點是數(shù)據(jù)包的目的端設(shè)備時,從數(shù)據(jù)包的包頭中刪除字段集,以保 證數(shù)據(jù)包的正常傳輸。
[0341] 需要說明的第二點是,如果上一跳節(jié)點是以太網(wǎng)節(jié)點、當(dāng)前節(jié)點是IP網(wǎng)節(jié)點,下 一跳節(jié)點是IP網(wǎng)節(jié)點,由于數(shù)據(jù)包要從以太網(wǎng)絡(luò)穿越到IP網(wǎng)絡(luò),字段集的插入位置需要發(fā) 生改變,則步驟610可替換為步驟610a和步驟610b,如圖6C所示:
[0342] 步驟608a,在數(shù)據(jù)包的外部IP報文頭之后、內(nèi)部負(fù)荷之前插入新的字段集。
[0343] 插入過程可以參考圖5所示出的實施例。
[0344] 對于位于數(shù)據(jù)包的以太幀頭中已經(jīng)被插入的字段集,當(dāng)前節(jié)點可以刪除,也可以 保留。
[0345] 步驟608b,將所述新的字段集中的流標(biāo)記設(shè)置為提取到的所述流標(biāo)記,將所述新 的字段集中的TTL設(shè)置為提取到的TTL-1。
[0346] 需要說明的第三點是,如果上一跳節(jié)點是IP網(wǎng)節(jié)點、當(dāng)前節(jié)點是IP網(wǎng)節(jié)點,下一 跳節(jié)點是以太網(wǎng)節(jié)點,由于數(shù)據(jù)包要從IP網(wǎng)絡(luò)穿越到以太網(wǎng)絡(luò),字段集的插入位置需要發(fā) 生改變,則步驟610可替換為步驟610c至步驟610g,如圖6D所示:
[0347] 步驟610c,刪除位于所述數(shù)據(jù)包的外部IP報文頭之后、內(nèi)部負(fù)荷之前的所述字段 集;
[0348] 步驟610d,判斷數(shù)據(jù)包的以太幀頭中是否其他字段集;
[0349] 步驟610e,如果存在,則將以太幀頭中的所述其他字段集中的TTL設(shè)置為提取到 的 TTL-1。
[0350] 步驟610f,如果不存在,則在數(shù)據(jù)包的以太幀頭中插入新的字段集;
[0351] 插入過程可以參考圖5所示出的實施例。
[0352] 步驟610g,將插入的字段集中的流標(biāo)記設(shè)置為提取到的流標(biāo)記,將所述新的字段 集中的TTL設(shè)置為提取到的TTL-1。
[0353] 網(wǎng)絡(luò)管理中心可以在需要進(jìn)行網(wǎng)絡(luò)故障診斷時,指示監(jiān)控范圍內(nèi)的節(jié)點執(zhí)行上述 網(wǎng)絡(luò)運(yùn)維管理方法,從而實現(xiàn)路徑發(fā)現(xiàn)或者丟包測量。
[0354] 由控制器觸發(fā)網(wǎng)絡(luò)管理中心進(jìn)行網(wǎng)絡(luò)故障診斷的過程,請參考圖7,其示出了本發(fā) 明一個實施例提供的故障處理方法的流程示意圖。本實施例以該故障處理方法應(yīng)用于圖2A 所示出的交換網(wǎng)絡(luò)200來舉例說明。該故障處理方法包括:
[0355] 步驟701,每臺服務(wù)器上的代理實時監(jiān)控與其它服務(wù)器通信時的網(wǎng)絡(luò)參數(shù)。
[0356] 該網(wǎng)絡(luò)參數(shù)包括:丟包率、傳輸控制協(xié)議(英文〖Transmission Control Protocol,簡稱:TCP)重傳次數(shù)、往返時延(英文:round_trip time,簡稱:RTT)、帶寬等。
[0357] 步驟702,每臺服務(wù)器根據(jù)網(wǎng)絡(luò)參數(shù)和本機(jī)規(guī)則決策是否投票給異常的服務(wù)器。
[0358] 步驟703,在決策結(jié)果為投票給異常的服務(wù)器時,服務(wù)器向控制器投票異常的服務(wù) 器和自身。
[0359] 步驟704,控制器根據(jù)每個服務(wù)器的投票結(jié)果,將得票最多的前N個服務(wù)器確定為 問題服務(wù)器。
[0360] 步驟705,控制器查找問題服務(wù)器中通信存在異常的五元組信息,并根據(jù)該五元組 信息計算出問題通信路徑。
[0361] 步驟706,控制器計算出問題通信路徑上的節(jié)點,將節(jié)點報警給網(wǎng)絡(luò)管理中心。
[0362] 該節(jié)點可以是問題通信路徑上的起始側(cè)邊緣節(jié)點和目的節(jié)點,也可以是問題通信 路徑上的全部節(jié)點。
[0363] 步驟707,網(wǎng)絡(luò)管理中心根據(jù)報警的節(jié)點確定監(jiān)控范圍,進(jìn)行網(wǎng)絡(luò)故障診斷。
[0364] 網(wǎng)絡(luò)管理中心根據(jù)報警的節(jié)點,確定監(jiān)控范圍和診斷方案,對監(jiān)控范圍進(jìn)行網(wǎng)絡(luò) 故障診斷。網(wǎng)絡(luò)管理中心中可以預(yù)設(shè)多種診斷方案。
[0365] 本實施例提供的故障處理方法,控制器根據(jù)服務(wù)器的投票結(jié)果發(fā)現(xiàn)問題通信路 徑,并將問題通信路徑上的節(jié)點報警給網(wǎng)絡(luò)管理中心,從而觸發(fā)網(wǎng)絡(luò)管理中心采用上述實 施例提供的網(wǎng)絡(luò)運(yùn)維管理方法進(jìn)行網(wǎng)絡(luò)故障診斷。
[0366] 網(wǎng)絡(luò)管理中心在路徑已知時,執(zhí)行下述實施例提供的網(wǎng)絡(luò)運(yùn)維管理方法。網(wǎng)絡(luò)管 理中心在路徑未知時,需要執(zhí)行下述實施例提供的路徑發(fā)現(xiàn)方法。
[0367] 請參考圖8,其示出了本發(fā)明一個實施例提供的網(wǎng)絡(luò)運(yùn)維管理方法的流程示意圖。 本實施例以該網(wǎng)絡(luò)運(yùn)維管理方法應(yīng)用于網(wǎng)絡(luò)管理中心來舉例說明。該網(wǎng)絡(luò)運(yùn)維管理方法包 括:
[0368] 步驟801,提取監(jiān)控范圍內(nèi)的所有節(jié)點的各個端口上與流標(biāo)記對應(yīng)的第一計數(shù)器 值。
[0369] 網(wǎng)絡(luò)管理中心向監(jiān)控范圍內(nèi)的所有節(jié)點發(fā)送第一提取指令,網(wǎng)絡(luò)管理中心接收每 個節(jié)點反饋的各個端口上與所述流標(biāo)記對應(yīng)的第一計數(shù)器值。
[0370] 或者,網(wǎng)絡(luò)管理中心向監(jiān)控范圍內(nèi)的所有節(jié)點發(fā)送初始化指令,該初始化指令用 于指示每個節(jié)點將各個端口上與流標(biāo)記對應(yīng)的計數(shù)器值置為初始值,且網(wǎng)絡(luò)管理中心將初 始值作為第一計數(shù)器值,初始值可以為〇。
[0371] 步驟802,向監(jiān)控范圍內(nèi)的指定節(jié)點發(fā)送監(jiān)控指令,所述監(jiān)控指令用于指示指定節(jié) 點對符合預(yù)定條件的數(shù)據(jù)包的包頭中插入字段集,所述字段集包括指定類型的標(biāo)識和流標(biāo) 記。
[0372] 預(yù)定條件是數(shù)據(jù)包的流特征符合需要監(jiān)控的流的流特征。
[0373] 指定類型的標(biāo)識用于觸發(fā)數(shù)據(jù)包經(jīng)過的節(jié)點更新數(shù)據(jù)包經(jīng)過的端口上與流標(biāo)記 對應(yīng)的計數(shù)器值。
[0374] 該監(jiān)控指令包括:需要監(jiān)控的流的流特征、TTL、染色時長或被染色數(shù)據(jù)包的個數(shù)。 其中,染色是指數(shù)據(jù)包的包頭插入所述字段集。
[0375] 換句話說,該監(jiān)控指令用于指示指定節(jié)點對符合預(yù)定條件的所有數(shù)據(jù)包的包頭中 插入字段集;或,用于指示指定節(jié)點在預(yù)定時間段內(nèi)對符合預(yù)定條件的所有數(shù)據(jù)包的包頭 中插入字段集;或,用于指示指定節(jié)點對符合預(yù)定條件的η個數(shù)據(jù)包的包頭中插入字段集, η為正整數(shù)。
[0376] 步驟803,設(shè)置定時器。
[0377] 步驟804,在所述定時器到期時,提取所述監(jiān)控范圍內(nèi)的所有節(jié)點的各個端口上與 所述流標(biāo)記對應(yīng)的第二計數(shù)器值。
[0378] 網(wǎng)絡(luò)管理中心向所述監(jiān)控范圍內(nèi)的所有節(jié)點發(fā)送第二提取指令,網(wǎng)絡(luò)管理中心接 收每個節(jié)點反饋的各個端口上與所述流標(biāo)記對應(yīng)的第二計數(shù)器值。
[0379] 步驟805,根據(jù)每個端口的所述第一計數(shù)器值和所述第二計數(shù)器值計算得到每個 端口的第三計數(shù)器值。
[0380] 將每個端口的所述第二計數(shù)器值減去所述第一計數(shù)器值得到每個端口的第三計 數(shù)器值。
[0381] 步驟806,根據(jù)上下游相鄰端口的所述第三計數(shù)器值的差值進(jìn)行節(jié)點內(nèi)和/或節(jié) 點間丟包測量。
[0382] 本實施例提供的網(wǎng)絡(luò)運(yùn)維管理方法,通過指示指定節(jié)點對符合預(yù)定條件的數(shù)據(jù)包 的包頭中插入字段集,使節(jié)點根據(jù)字段集進(jìn)行網(wǎng)絡(luò)運(yùn)維管理,并根據(jù)計數(shù)結(jié)果進(jìn)行丟包測 量,達(dá)到了可以針對單個流中的數(shù)據(jù)包進(jìn)行丟包測量的效果。
[0383] 本實施例中的網(wǎng)絡(luò)運(yùn)維管理方法,還通過每次探測過程只對1個數(shù)據(jù)包插入字段 集,通過定時器來收集各個節(jié)點的各個端口上與流標(biāo)記對應(yīng)的計數(shù)器值,使得該網(wǎng)絡(luò)運(yùn)維 管理方法對全網(wǎng)時間同步的依賴性較低;而在現(xiàn)有技術(shù)中,上游節(jié)點和下游節(jié)點需要嚴(yán)格 的時間同步,否則不同時間周期的數(shù)據(jù)包會發(fā)生計數(shù)偏差。
[0384] 圖8所示出的網(wǎng)絡(luò)運(yùn)維管理方法可以進(jìn)行三種形式的丟包測量:
[0385] 第一,一條路徑上任意兩個相鄰端口之間的丟包測量;
[0386] 第二,一條路徑上每個節(jié)點內(nèi)的丟包測量;
[0387] 第三,一條路徑上任意兩個相鄰節(jié)點間的丟包測量。
[0388] 對于第一種丟包測量方式,步驟806可替換為步驟806a至步驟806i,如圖9所示。
[0389] 步驟806a,選擇所述監(jiān)控范圍內(nèi)的一條路徑上的源端口作為當(dāng)前端口。
[0390] 步驟806b,檢測所述當(dāng)前端口的下游相鄰端口的第三計數(shù)器值是否小于所述當(dāng)前 端口的第三計數(shù)器值。
[0391] 步驟806c,如果所述下游相鄰端口的第三計數(shù)器值小于所述當(dāng)前端口的第三計數(shù) 器值,則確定所述當(dāng)前端口和所述下游相鄰端口之間存在丟包。
[0392] 步驟806d,如果所述下游相鄰端口的第三計數(shù)器值等于所述當(dāng)前端口的第三計數(shù) 器值,則確定所述當(dāng)前端口和所述下游相鄰端口之間不存在丟包。
[0393] 步驟806e,檢測所述下游相鄰端口是否為所述路徑的出端口。
[0394] 步驟806f,如果所述下游相鄰端口是所述路徑的出端口,則檢測所述監(jiān)控范圍是 否還存在其它路徑。
[0395] 步驟806h,如果所述監(jiān)控范圍還存在其它路徑,則選擇所述其它路徑上的源端口 作為新的當(dāng)前端口。
[0396] 再次執(zhí)行步驟806b。
[0397] 步驟806g,如果所述下游相鄰端口不是所述路徑的出端口,則將所述下游相鄰端 口確定為新的當(dāng)前端口。
[0398] 再次執(zhí)行步驟806b。
[0399] 步驟806 i,結(jié)束流程。
[0400] 對于第二種丟包測量方式,步驟806a和806b之間還增加有步驟807和步驟808, 如圖10所示。
[0401 ] 步驟807,檢測所述當(dāng)前端口的下游相鄰端口是否與所述當(dāng)前端口屬于同一節(jié)點。
[0402] 如果是,則執(zhí)行步驟806b。
[0403] 如果否,則執(zhí)行步驟808。
[0404] 步驟808,將所述下游相鄰端口確定為新的當(dāng)前端口。
[0405] 在所述當(dāng)前端口和所述下游相鄰端口不屬于同一節(jié)點時,網(wǎng)絡(luò)管理中心跳過這兩 個端口的丟包測量,將所述下游相鄰端口確定新的當(dāng)前端口后,再次執(zhí)行步驟807。也即,檢 測所述新的當(dāng)前端口的下游相鄰端口是否與所述新的當(dāng)前端口屬于同一節(jié)點。
[0406] 對于第三種丟包測量方式,步驟806a和806b之間還增加有步驟809和步驟810, 如圖11所示。
[0407] 步驟809,檢測所述當(dāng)前端口的下游相鄰端口是否與所述當(dāng)前端口屬于同一節(jié)點。
[0408] 如果否,則執(zhí)行步驟806b。
[0409] 如果是,則執(zhí)行步驟810。
[0410] 步驟810,將所述下游相鄰端口確定為新的當(dāng)前端口。
[0411] 在所述當(dāng)前端口和所述下游相鄰端口屬于同一節(jié)點時,網(wǎng)絡(luò)管理中心跳過這兩個 端口的丟包測量,將所述下游相鄰端口確定新的當(dāng)前端口后,再次執(zhí)行步驟809。也即,檢 測所述新的當(dāng)前端口的下游相鄰端口是否與所述新的當(dāng)前端口屬于同一節(jié)點。
[0412] 請參考圖12,其示出了本發(fā)明一個實施例提供的路徑發(fā)現(xiàn)方法的流程示意圖。本 實施例以該路徑發(fā)現(xiàn)方法應(yīng)用于網(wǎng)絡(luò)管理中心來舉例說明。該路徑發(fā)現(xiàn)方法包括:
[0413] 步驟1201,向監(jiān)控范圍內(nèi)的指定節(jié)點發(fā)送監(jiān)控指令,所述監(jiān)控指令用于指示指定 節(jié)點對符合預(yù)定條件的一個數(shù)據(jù)包的包頭中插入字段集,所述字段集包括指定類型的標(biāo) 識、流標(biāo)記和生存期TTL。
[0414] 指定節(jié)點通常是路徑上的起始側(cè)邊緣節(jié)點。在路徑的起始側(cè)邊緣節(jié)點已知時,該 指定節(jié)點為確定的節(jié)點;在路徑的起始側(cè)邊緣節(jié)點未知時,該指定節(jié)點是所有可能作為起 始側(cè)邊緣節(jié)點的節(jié)點。
[0415] 預(yù)定條件是數(shù)據(jù)包的流特征符合需要監(jiān)控的流的流特征。指定類型的標(biāo)識是該數(shù) 據(jù)包的類型為隨路監(jiān)控類型的標(biāo)識。流標(biāo)記是需要監(jiān)控的流的標(biāo)識。該TTL用于表示該字 段集在該數(shù)據(jù)包中的生存期。
[0416] 其中,指定類型的標(biāo)識用于觸發(fā)數(shù)據(jù)包經(jīng)過的節(jié)點更新數(shù)據(jù)包經(jīng)過的端口上與流 標(biāo)記對應(yīng)的計數(shù)器值。
[0417] 監(jiān)控指令,還可以包括染色時長和被染色數(shù)據(jù)包的個數(shù),染色是指對數(shù)據(jù)包插入 字段集。本實施例中,被染色數(shù)據(jù)包的個數(shù)通常為1。
[0418] 在路徑發(fā)現(xiàn)的第一次探測過程中,TTL通常設(shè)置為1。
[0419] 步驟1202,設(shè)置定時器。
[0420] 定時器的值大于數(shù)據(jù)包的單次傳輸時長。
[0421 ] 步驟1203,在所述定時器到期時,提取所述監(jiān)控范圍內(nèi)的各個節(jié)點的各個端口上 與所述流標(biāo)記對應(yīng)的計數(shù)器值。
[0422] 步驟1204,根據(jù)所述計數(shù)器值在所述監(jiān)控范圍內(nèi)確定所述需要監(jiān)控的流的路徑。
[0423] 本實施例提供的路徑發(fā)現(xiàn)方法,通過指示指定節(jié)點對符合預(yù)定條件的數(shù)據(jù)包的包 頭中插入字段集,使節(jié)點根據(jù)字段集進(jìn)行網(wǎng)絡(luò)運(yùn)維管理,并根據(jù)計數(shù)結(jié)果進(jìn)行路徑發(fā)現(xiàn)。解 決了現(xiàn)有技術(shù)中無法對單個流進(jìn)行故障定位的問題;達(dá)到了可以針對單個流中進(jìn)行路徑發(fā) 現(xiàn)的效果。
[0424] 請參考圖13A,在圖12所示的基礎(chǔ)上,其示出了本發(fā)明一個實施例提供的路徑發(fā) 現(xiàn)方法的流程示意圖。該路徑發(fā)現(xiàn)方法中,步驟1201前還包括:
[0425] 步驟1200,向監(jiān)控范圍內(nèi)的所有節(jié)點發(fā)送初始化指令,初始化指令用于指示節(jié)點 將各個端口上與流標(biāo)記對應(yīng)的計數(shù)器值置為初始值。
[0426] 該初始值可以為0。
[0427] 所述步驟1204具體包括:
[0428] 步驟1204a,檢測最近一次出現(xiàn)的計數(shù)器值為非初始值的端口與路徑已知上的距 離源端最遠(yuǎn)的端口是否屬于同一節(jié)點的端口。
[0429] 通常,一次探測過程會導(dǎo)致兩個端口上與流標(biāo)記對應(yīng)的計數(shù)器值由初始值變?yōu)槌?始值+1。
[0430] 對于這兩個端口,網(wǎng)絡(luò)管理中心檢測最近一次出現(xiàn)的計數(shù)器值為非初始值的端口 與路徑上已知的距離源端最遠(yuǎn)的端口是否屬于同一節(jié)點的端口。
[0431] 由于與源端相連的端口通常是已知狀態(tài),初始狀態(tài)下,路徑上已知的距離源端最 遠(yuǎn)的端口就是起始側(cè)邊緣節(jié)點上與源端相連的端口。
[0432] 步驟1204b,如果端口與路徑上已知的距離源端最遠(yuǎn)的端口屬于同一節(jié)點的端口, 則確定端口是路徑上已知的距離源端最遠(yuǎn)的端口的下游相鄰端口。
[0433] 步驟1204c,如果端口與路徑上已知上的距離源端最遠(yuǎn)的端口不屬于同一節(jié)點的 端口,則確定端口是路徑上已知的距離源端最遠(yuǎn)的端口的下下游端口。
[0434] 步驟1204d,將端口插入路徑。
[0435] 步驟1204e,將TTL更新為TTL+1,再次執(zhí)行向監(jiān)控范圍內(nèi)的指定節(jié)點發(fā)送監(jiān)控指 令的步驟。
[0436] 本實施例提供的路徑發(fā)現(xiàn)方法,通過指示指定節(jié)點對符合預(yù)定條件的數(shù)據(jù)包的包 頭中插入字段集,使節(jié)點根據(jù)字段集進(jìn)行網(wǎng)絡(luò)運(yùn)維管理,并根據(jù)計數(shù)結(jié)果進(jìn)行路徑發(fā)現(xiàn)。解 決了現(xiàn)有技術(shù)中無法對單個流進(jìn)行故障定位的問題;達(dá)到了可以針對單個流中進(jìn)行路徑發(fā) 現(xiàn)的效果。
[0437] 本實施例中的路徑發(fā)現(xiàn)方法,還通過每次探測過程只對1個數(shù)據(jù)包插入字段集, 通過定時器來收集各個節(jié)點的各個端口上與流標(biāo)記對應(yīng)的計數(shù)器值,使得該路徑發(fā)現(xiàn)方法 對全網(wǎng)時間同步的依賴性較低;而在現(xiàn)有技術(shù)中,上游節(jié)點和下游節(jié)點需要嚴(yán)格的時間同 步,否則不同時間周期的數(shù)據(jù)包會發(fā)生計數(shù)偏差。
[0438] 另外,由于本實施例中為節(jié)點的各個端口都設(shè)置有與流標(biāo)記對應(yīng)的計數(shù)器,能夠 實現(xiàn)以端口為單位的路徑發(fā)現(xiàn)流程,使發(fā)現(xiàn)的路徑更為準(zhǔn)確和細(xì)化。
[0439] 需要說明的是,如果目的側(cè)邊緣節(jié)點為已知,則上述步驟1204e可替換為步驟 1205至步驟1207,如圖13B所示。
[0440] 步驟1205,判斷目的側(cè)邊緣節(jié)點的各個端口上與流標(biāo)記對應(yīng)的計數(shù)器值是否具有 非初始值。
[0441] 如果不具有非初始值,則進(jìn)入步驟1206 ;如果具有非初始值,則進(jìn)入步驟1207。
[0442] 步驟1206,如果目的側(cè)邊緣節(jié)點的各個端口上與流標(biāo)記對應(yīng)的計數(shù)器值都不具有 非初始值,則執(zhí)行將TTL更新為TTL+1的步驟。
[0443] 步驟1207,如果目的側(cè)邊緣節(jié)點的一個端口上與流標(biāo)記對應(yīng)的計數(shù)器值具有非初 始值,則結(jié)束本次路徑發(fā)現(xiàn)診斷。
[0444] 需要說明的是,如果目的側(cè)邊緣節(jié)點為未知,則上述步驟1204e至步驟1204g可替 換為步驟1208至步驟1210,如圖13C所示。
[0445] 步驟1208,判斷TTL是否大于或等于最大閾值。
[0446] 如果TTL小于最大閾值,則進(jìn)入步驟1209 ;如果TTL大于或等于最大閾值,則進(jìn)入 步驟1210。
[0447] 步驟1209,如果TTL小于最大閾值,則執(zhí)行將TTL更新為TTL+1的步驟。
[0448] 步驟1210,如果TTL大于或等于最大閾值,則結(jié)束本次路徑發(fā)現(xiàn)診斷。
[0449] 下面結(jié)合圖14所示出的網(wǎng)絡(luò)拓?fù)鋵D13A提供的路徑發(fā)現(xiàn)方法做更進(jìn)一步的說 明。圖14所示出的網(wǎng)絡(luò)拓?fù)浒ü?jié)點1、節(jié)點2、節(jié)點3、節(jié)點4和節(jié)點5。
[0450] 節(jié)點1包括端口 1、端口 2和端口 3。其中,端口 1分別與端口 2和端口 3相連,節(jié) 點1通過端口 2與節(jié)點2上的端口 4相連,節(jié)點1通過端口 3與節(jié)點3上的端口 6相連。
[0451] 節(jié)點2包括端口 4和端口 5。其中,端口 4和端口 5相連,節(jié)點2通過端口 5與節(jié) 點4的端口 8相連。
[0452] 節(jié)點3包括端口 6和端口 7。其中,端口 6和端口 7相連,節(jié)點3通過端口 7與節(jié) 點4上的端口 9相連。
[0453] 節(jié)點4包括端口 8、端口 9和端口 10。其中,端口 8和端口 9分別與端口 10相連, 節(jié)點4通過端口 10與節(jié)點5上的端口 11相連。
[0454] 節(jié)點5包括端口 11和端口 12,端口 11和端口 12相連。
[0455] 在初始狀態(tài),網(wǎng)絡(luò)管理中心對每個節(jié)點所包括的端口、起始側(cè)邊緣節(jié)點為節(jié)點1、 目的側(cè)邊緣節(jié)點是節(jié)點5為已知狀態(tài),但對端口之間的連接關(guān)系未知。
[0456] 首先,網(wǎng)絡(luò)管理中心向各個節(jié)點發(fā)送初始化指令,該初始化指令指示各個節(jié)點將 各個端口上與流標(biāo)記為1〇〇的計數(shù)器值置為〇。每個端口上可以為不同的流標(biāo)記設(shè)置各自 對應(yīng)的計數(shù)器值此時,計數(shù)器值示意如下:
[0457]
[0458] 在第一次探測過程中,網(wǎng)絡(luò)管理中心向節(jié)點1發(fā)送監(jiān)控指令,該監(jiān)控指令指示節(jié) 點1對流標(biāo)記為100的一個數(shù)據(jù)包插入字段集,且TTL為1。在定時器到期后,計數(shù)器值示 意如下:
[0459]
[0460] 其中,端口 1是與源端設(shè)備相連的端口,首先將端口 1作為路徑上已知的距離源端 最遠(yuǎn)的端口。端口 2和端口 4是最近一次出現(xiàn)的計數(shù)器值非0的端口,由于端口 2和端口 1 屬于同一節(jié)點,將端口 2作為端口 1的下游相鄰端口;端口 4和端口 1不屬于同一節(jié)點,將 端口 4作為端口 1的下下游端口。將這兩個端口插入路徑,得到路徑為:節(jié)點1的端口 1 - 節(jié)點1的端口 2 -節(jié)點2的端口 4。
[0461] 由于目的側(cè)邊緣節(jié)點5的端口上的計數(shù)器都是0,將TTL+1后,執(zhí)行第二次探測過 程。
[0462] 在第二次探測過程中,網(wǎng)絡(luò)管理中心向節(jié)點1發(fā)送監(jiān)控指令,該監(jiān)控指令指示節(jié) 點1對流標(biāo)記為100的一個數(shù)據(jù)包插入字段集,且TTL為2。在定時器到期后,計數(shù)器值示 意如下:
[0463]
[0464] 此時,端口 4是路徑上已知的距離源端最遠(yuǎn)的端口,端口 5和端口 8是最近一次出 現(xiàn)的計數(shù)器值非〇的端口,由于端口 5和端口 4屬于同一節(jié)點,將端口 5作為端口 4的下游 相鄰端口;端口 8和端口 4不屬于同一節(jié)點,將端口 8作為端口 4的下下游端口。將這兩個 端口插入路徑,得到路徑為:節(jié)點1的端口 1 -節(jié)點1的端口 2 -節(jié)點2的端口 4 -節(jié)點2 的端口 5 -節(jié)點4的端口 8。
[0465] 由于目的側(cè)邊緣節(jié)點5的端口上的計數(shù)器都是0,將TTL+1后,執(zhí)行第三次探測過 程。
[0466] 在第三次探測過程中,網(wǎng)絡(luò)管理中心向節(jié)點1發(fā)送監(jiān)控指令,該監(jiān)控指令指示節(jié) 點1對流標(biāo)記為100的一個數(shù)據(jù)包插入字段集,且TTL為3。在定時器到期后,計數(shù)器值示 意如下:
[0467]
[0468] 此時,端口 8是路徑上已知的距離源端最遠(yuǎn)的端口,端口 10和端口 11是最近一次 出現(xiàn)的計數(shù)器值非0的端口,由于端口 10和端口 11屬于同一節(jié)點,將端口 10作為端口 8的 下游相鄰端口;端口 11和端口 8不屬于同一節(jié)點,將端口 11作為端口 8的下下游端口。將 這兩個端口插入路徑,得到路徑為:節(jié)點1的端口 1 -節(jié)點1的端口 2 -節(jié)點2的端口 4 - 節(jié)點2的端口 5 -節(jié)點4的端口 8 -節(jié)點4的端口 10 -節(jié)點5的端口 11。
[0469] 由于目的側(cè)邊緣節(jié)點5的端口 11上的計數(shù)器由0變?yōu)?,終止本次路徑發(fā)現(xiàn)過程。
[0470] 但需要補(bǔ)充說明的是,由于網(wǎng)絡(luò)拓?fù)涞膹?fù)雜性和數(shù)據(jù)包的路徑不確定性,在上述 探測過程中,可能會出現(xiàn)數(shù)據(jù)包流經(jīng)節(jié)點3的情形。在第二次探測過程中,網(wǎng)絡(luò)管理中心向 節(jié)點1發(fā)送監(jiān)控指令,該監(jiān)控指令指示節(jié)點1對流標(biāo)記為100的一個數(shù)據(jù)包插入字段集,且 TTL為2。在定時器到期后,計數(shù)器值示意如下:
[0471]
[0472] 此時,端口 4是路徑上已知的距離源端最遠(yuǎn)的端口,與第一次探測相比,端口 3、端 口 6、端口 7和端口 9是最近一次出現(xiàn)的計數(shù)器值非0的端口,網(wǎng)絡(luò)管理中心檢測出最近一 次出現(xiàn)的計數(shù)器值非0的端口與端口 4均不屬于同一節(jié)點,則網(wǎng)絡(luò)管理中心重新執(zhí)行第二 次探測過程。
[0473] 也即,上述路徑發(fā)現(xiàn)方法還可選包括:在最近一次出現(xiàn)的計數(shù)器值非初始值的端 口與路徑上已知的距離源端最遠(yuǎn)的端口均不屬于同一節(jié)點時,保持TTL不變,再次執(zhí)行向 指定節(jié)點發(fā)送監(jiān)控指令的步驟。
[0474] 需要說明的是,由于每個端口上為不同流標(biāo)記設(shè)置有各自對應(yīng)的計數(shù)器值,針對 不同監(jiān)控流的路徑發(fā)現(xiàn)過程可以并行執(zhí)行,只需要每個流標(biāo)記各自唯一即可。
[0475] 還需要補(bǔ)充說明的是,上述實施例中以路徑發(fā)現(xiàn)的最開始,網(wǎng)絡(luò)管理中心向各個 節(jié)點發(fā)送一次初始化指令為例來舉例說明。但是作為另外一種可能的實施方式,網(wǎng)絡(luò)管理 中心每次向各個節(jié)點發(fā)送監(jiān)控指令之前,都可以發(fā)送一次初始化指令,要求每個節(jié)點將流 標(biāo)記對應(yīng)的計數(shù)器值置為初始值。在這種實施方式下,每次探測后的計數(shù)器值示意如下:
[0476]
[0478] 請參考圖15,其示出了本發(fā)明一個實施例提供的網(wǎng)絡(luò)管理中心向節(jié)點發(fā)送的指令 的格式示意圖。該指令是提取指令、初始化指令或監(jiān)控指令。該指令包括:
[0479] 命令類字段(英文:command class)、類型字段(英文:type)、長度字段(英文: length)、命令描述字段(英文:command specification)。其中:
[0480] 命令類字段,可以置為:設(shè)置(英文:set)和提?。ㄓ⑽模篻et)。
[0481] 類型字段,可以置為:流描述(英文:flow specification)、初始化(英文: initialize)、組標(biāo)識(英文:group)、顏色標(biāo)識(英文:color)、節(jié)點標(biāo)識(英文:node)、端 口標(biāo)識(英文:P〇rt)。
[0482] 其中,提取指令通常包括:命令類字段為提取,組標(biāo)識和顏色標(biāo)識。初始化指令通 常包括:命令類字段為設(shè)置,類型字段包括初始化、組標(biāo)識和顏色標(biāo)識。監(jiān)控指令通常包括: 命令類字段為設(shè)置,類型字段包括流描述、組標(biāo)識和顏色標(biāo)識。
[0483] 請參考圖16,其示出了本發(fā)明一個實施例提供的邊緣節(jié)點的結(jié)構(gòu)示意圖,該邊緣 節(jié)點也可稱之為網(wǎng)絡(luò)運(yùn)維管理裝置,該邊緣節(jié)點通常為監(jiān)控范圍內(nèi)一條路徑上的起始側(cè)邊 緣節(jié)點,所述邊緣節(jié)點能夠執(zhí)行圖3和圖5所示的方法。所述邊緣節(jié)點包括:
[0484] 接收模塊1610,用于接收數(shù)據(jù)包。
[0485] 特征匹配模塊1620,用于檢測所述數(shù)據(jù)包的流特征是否與需要監(jiān)控的流的流特征 匹配。
[0486] 字段插入模塊1630,用于如果所述數(shù)據(jù)包的流特征與所述需要監(jiān)控的流的流特征 匹配,則在所述數(shù)據(jù)包的包頭中插入字段集,所述字段集包括指定類型的標(biāo)識和流標(biāo)記;所 述流標(biāo)記用于標(biāo)識所述需要監(jiān)控的流。
[0487] 入端口更新模塊1640,用于根據(jù)所述指定類型的標(biāo)識更新所述數(shù)據(jù)包經(jīng)過的入端 口上與所述流標(biāo)記對應(yīng)的計數(shù)器值。
[0488] 出端口更新模塊1650,用于根據(jù)所述指定類型的標(biāo)識更新所述數(shù)據(jù)包經(jīng)過的出端 口上與所述流標(biāo)記對應(yīng)的計數(shù)器值。
[0489] 發(fā)送模塊1660,用于將所述數(shù)據(jù)包發(fā)送給下游相鄰節(jié)點。
[0490] 本實施例提供的邊緣節(jié)點,根據(jù)流特征來為數(shù)據(jù)包插入字段集,節(jié)點根據(jù)該字段 集來對數(shù)據(jù)包經(jīng)過的端口上與流標(biāo)記對應(yīng)的計數(shù)器值進(jìn)行計數(shù);解決了現(xiàn)有技術(shù)中無法對 單個流進(jìn)行故障定位的問題;達(dá)到了可以針對單個流中的數(shù)據(jù)包進(jìn)行監(jiān)控的效果。
[0491] 可選地,所述字段插入模塊1630,用于在所述數(shù)據(jù)包的以太幀頭的VLAN字段之后 插入所述字段集;或,所述字段插入模塊1630,用于在所述數(shù)據(jù)包的表示負(fù)荷的以太類型 之前插入所述字段集。
[0492] 可選地,所述字段集包括新的隧道頭或原始隧道頭中的新增字段。
[0493] 所述字段插入模塊1630,用于在所述數(shù)據(jù)包的外部IP報文頭之后、內(nèi)部負(fù)荷之前 插入所述字段集。
[0494] 可選地,在圖16所示的基于上,如圖17所示,在另一個實施例中,所述邊緣節(jié)點還 可以進(jìn)一步包括:特征獲取模塊1670。
[0495] 所述接收模塊1610,還用于接收監(jiān)控指令。
[0496] 所述特征獲取模塊1670,用于根據(jù)所述監(jiān)控指令獲取所述需要監(jiān)控的流的流特 征。
[0497] 可選地,所述出端口更新模塊1650,用于根據(jù)所述數(shù)據(jù)包的目的地址查詢所述數(shù) 據(jù)包的出端口;檢測所述數(shù)據(jù)包的類型是否為所述指定類型;如果所述數(shù)據(jù)包的類型是所 述指定類型,則提取所述字段集中的流標(biāo)記;更新所述出端口上與所述流標(biāo)記對應(yīng)的計數(shù) 器值。
[0498] 可選地,所述邊緣節(jié)點還包括:初始化模塊1680。
[0499] 所述接收模塊1610,還用于接收初始化指令。
[0500] 所述初始化模塊1680,用于將各個端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值置為初始 值。
[0501] 可選地,所述接收模塊1610,還用于接收提取指令;所述發(fā)送模塊1660,還用于上 報各個端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值。
[0502] 本實施例提供的邊緣節(jié)點,根據(jù)流特征來為數(shù)據(jù)包插入字段集,并根據(jù)該字段集 來對數(shù)據(jù)包經(jīng)過的端口上與流標(biāo)記對應(yīng)的計數(shù)器值進(jìn)行計數(shù);解決了現(xiàn)有技術(shù)中無法對單 個流進(jìn)行故障定位的問題;達(dá)到了可以針對單個流中的數(shù)據(jù)包進(jìn)行監(jiān)控的效果。
[0503] 另外,由于現(xiàn)有技術(shù)中提供的方法中,每個節(jié)點僅設(shè)置1個計數(shù)器,如果路徑上存 在分叉,則一個上游節(jié)點的數(shù)據(jù)包會分散至多個下游節(jié)點;如果路徑匯聚,則多個上游節(jié)點 的數(shù)據(jù)包會交織至一個下游節(jié)點,導(dǎo)致數(shù)據(jù)包無法計數(shù)。而本實施例中為邊緣節(jié)點中的每 個端口上都設(shè)置有與流標(biāo)記對應(yīng)的計數(shù)器,即便網(wǎng)絡(luò)拓?fù)渲写嬖?節(jié)點-多個節(jié)點"的拓?fù)?形式,由于節(jié)點上與其它節(jié)點相連的端口是互相獨(dú)立的,所以該邊緣節(jié)點仍然能夠正常計 數(shù)。
[0504] 請參考圖18,其示出了本發(fā)明一個實施例提供的節(jié)點的結(jié)構(gòu)示意圖。該節(jié)點也可 稱之為網(wǎng)絡(luò)運(yùn)維管理裝置,該節(jié)點通常是監(jiān)控范圍內(nèi)一條路徑上位于起始側(cè)邊緣節(jié)點之后 的中間節(jié)點或者邊緣節(jié)點。所述節(jié)點可以執(zhí)行如圖4或圖6A所示出的方法,所述節(jié)點包 括:
[0505] 接收模塊1810,用于接收數(shù)據(jù)包。
[0506] 類型檢測模塊1820,用于檢測所述數(shù)據(jù)包的類型是否為指定類型。
[0507] 字段提取模塊1830,用于如果所述數(shù)據(jù)包的類型是所述指定類型,則從所述數(shù)據(jù) 包的包頭提取字段集,得到所述字段集中的流標(biāo)記。
[0508] 計數(shù)更新模塊1840,用于根據(jù)所述字段集更新所述數(shù)據(jù)包經(jīng)過的入端口和/或出 端口上的與所述流標(biāo)記對應(yīng)的計數(shù)器值。
[0509] 發(fā)送模塊1850,用于將所述數(shù)據(jù)包發(fā)送給下游相鄰節(jié)點。
[0510] 本實施例提供的節(jié)點,根據(jù)數(shù)據(jù)包中插入的字段集來對數(shù)據(jù)包經(jīng)過的端口上與流 標(biāo)記對應(yīng)的計數(shù)器值進(jìn)行計數(shù),該字段集包括有流標(biāo)記;解決了現(xiàn)有技術(shù)中無法對單個流 進(jìn)行故障定位的問題;達(dá)到了可以針對單個流中的數(shù)據(jù)包進(jìn)行監(jiān)控的效果。
[0511] 可選地,所述計數(shù)更新模塊1840,用于從所述數(shù)據(jù)包的包頭提取所述字段集,得到 所述字段集中的生存期TTL ;檢測所述TTL是否小于或等于預(yù)定閾值;如果所述TTL小于或 等于所述預(yù)定閾值,則從所述數(shù)據(jù)包的包頭中刪除所述字段集;更新所述數(shù)據(jù)包的入端口 上與所述流標(biāo)記對應(yīng)的計數(shù)器值。
[0512] 可選地,所述計數(shù)更新模塊1840,用于從所述數(shù)據(jù)包的包頭提取所述字段集,得到 所述字段集中的生存期TTL ;檢測所述TTL是否小于或等于預(yù)定閾值;如果所述TTL大于所 述預(yù)定閾值,則將所述字段集中的TTL更新為TTL-1 ;更新所述數(shù)據(jù)包的入端口和出端口上 與所述流標(biāo)記對應(yīng)的計數(shù)器值。
[0513] 可選地,所述字段提取模塊1830,用于從所述數(shù)據(jù)包的以太幀頭的VLAN字段之后 提取所述字段集;或,所述字段提取模塊1830,用于從所述數(shù)據(jù)包的表示負(fù)荷的以太類型 之前提取所述字段集。
[0514] 可選地,所述節(jié)點是IP網(wǎng)節(jié)點,下游相鄰節(jié)點是IP網(wǎng)節(jié)點。
[0515] 所述計數(shù)更新模塊1840,還用于在所述數(shù)據(jù)包的外部IP報文頭之后、內(nèi)部以太幀 頭之前插入新的字段集;將所述新的字段集中的流標(biāo)記設(shè)置為提取到的所述流標(biāo)記,將所 述新的字段集中的TTL設(shè)置為提取到的TTL-1。
[0516] 可選地,所述字段集包括新的隧道頭或原始隧道頭中的新增字段。
[0517] 所述字段提取模塊1830,用于從所述數(shù)據(jù)包的外部IP報文頭之后、內(nèi)部負(fù)荷之前 提取所述字段集。
[0518] 可選地,所述節(jié)點為IP網(wǎng)節(jié)點、下游相鄰節(jié)點是以太網(wǎng)節(jié)點。
[0519] 所述計數(shù)更新模塊1840,還用于刪除位于所述數(shù)據(jù)包的外部IP報文頭之后、內(nèi)部 以太幀頭之前的所述字段集;判斷所述數(shù)據(jù)包的內(nèi)部以太幀頭中是否存在其他字段集;如 果存在,則將所述其他字段集中的TTL設(shè)置為提取到的TTL-1 ;如果不存在,則在所述數(shù)據(jù) 包的以太幀頭中插入新的字段集,并將所述新的字段集中的流標(biāo)記設(shè)置為提取到的所述流 標(biāo)記,將所述新的字段集中的TTL設(shè)置為提取到的TTL-1。
[0520] 可選地,所述節(jié)點是目的側(cè)邊緣節(jié)點;或,所述下游相鄰節(jié)點是所述數(shù)據(jù)包的目的 端設(shè)備。
[0521] 可選地,在圖18所示的基于上,如圖19所示,在另一個實施例中,所述邊緣節(jié)點還 可以進(jìn)一步包括:
[0522] 字段刪除模塊1860,用于從所述數(shù)據(jù)包的包頭中刪除所述字段集。
[0523] 可選地,所述節(jié)點還包括:初始化模塊1870。
[0524] 所述接收模塊1810,還用于接收初始化指令。
[0525] 所述初始化模塊1870,還用于將各個端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值置為初 始值。
[0526] 可選地,所述接收模塊1810,還用于接收提取指令.
[0527] 所述發(fā)送模塊1850,還用于上報各個端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值。
[0528] 本實施例提供的節(jié)點,根據(jù)流特征來為數(shù)據(jù)包插入字段集,并根據(jù)該字段集來對 數(shù)據(jù)包經(jīng)過的端口上與流標(biāo)記對應(yīng)的計數(shù)器值進(jìn)行計數(shù);解決了現(xiàn)有技術(shù)中無法對單個 流進(jìn)行故障定位的問題;達(dá)到了可以針對單個流中的數(shù)據(jù)包進(jìn)行監(jiān)控的效果。
[0529] 另外,由于現(xiàn)有技術(shù)中提供的方法中,每個節(jié)點僅設(shè)置1個計數(shù)器,如果路徑上存 在分叉,則一個上游節(jié)點的數(shù)據(jù)包會分散至多個下游節(jié)點;如果路徑匯聚,則多個上游節(jié)點 的數(shù)據(jù)包會交織至一個下游節(jié)點,導(dǎo)致數(shù)據(jù)包無法計數(shù)。而本實施例中為一個節(jié)點中的每 個端口上都設(shè)置有與流標(biāo)記對應(yīng)的計數(shù)器,即便網(wǎng)絡(luò)拓?fù)渲写嬖?節(jié)點-多個節(jié)點"的拓?fù)?形式,由于節(jié)點上與其它節(jié)點相連的端口是互相獨(dú)立的,所以該節(jié)點仍然能夠正常計數(shù)。
[0530] 請參考圖20,其示出了本發(fā)明一個實施例提供的網(wǎng)絡(luò)管理中心的結(jié)構(gòu)示意圖。該 網(wǎng)絡(luò)管理中心也可以稱為網(wǎng)絡(luò)運(yùn)維管理裝置,該網(wǎng)絡(luò)管理中心包括:
[0531 ] 計數(shù)提取模塊2010,用于提取監(jiān)控范圍內(nèi)的所有節(jié)點的各個端口上與流標(biāo)記對應(yīng) 的第一計數(shù)器值。
[0532] 發(fā)送模塊2020,用于向所述監(jiān)控范圍內(nèi)的指定節(jié)點發(fā)送監(jiān)控指令,所述監(jiān)控指令 用于指示所述指定節(jié)點對符合預(yù)定條件的數(shù)據(jù)包的包頭中插入字段集,所述字段集包括指 定類型的標(biāo)識和流標(biāo)記;所述預(yù)定條件是所述數(shù)據(jù)包的流特征與需要監(jiān)控的流的流特征匹 配,所述指定類型的標(biāo)識用于觸發(fā)所述數(shù)據(jù)包經(jīng)過的節(jié)點更新所述數(shù)據(jù)包經(jīng)過的端口上與 所述流標(biāo)記對應(yīng)的計數(shù)器值,所述流標(biāo)記用于標(biāo)識所述需要監(jiān)控的流。
[0533] 定時模塊2030,用于設(shè)置定時器。
[0534] 所述計數(shù)提取模塊2010,還用于在所述定時器到期時,提取所述監(jiān)控范圍內(nèi)的所 有節(jié)點的各個端口上與所述流標(biāo)記對應(yīng)的第二計數(shù)器值。
[0535] 計算模塊2040,用于根據(jù)每個端口的第一計數(shù)器值和第二計數(shù)器值計算得到每個 端口的第三計數(shù)器值。
[0536] 丟包測量模塊2050,用于根據(jù)上下游相鄰端口的第三計數(shù)器值的差值進(jìn)行節(jié)點內(nèi) 和/或節(jié)點間丟包測量。
[0537] 本實施例提供的網(wǎng)絡(luò)管理中心,通過指示指定節(jié)點對符合預(yù)定條件的數(shù)據(jù)包的包 頭中插入字段集,使節(jié)點根據(jù)字段集進(jìn)行網(wǎng)絡(luò)運(yùn)維管理,并根據(jù)計數(shù)結(jié)果進(jìn)行丟包測量,達(dá) 到了可以針對單個流中的數(shù)據(jù)包進(jìn)行丟包測量的效果。
[0538] 可選地,所述丟包測量模塊2050,用于選擇所述監(jiān)控范圍內(nèi)的一條路徑上的源端 口作為當(dāng)前端口;檢測所述當(dāng)前端口的下游相鄰端口的第三計數(shù)器值是否小于所述當(dāng)前端 口的第三計數(shù)器值;如果所述下游相鄰端口的第三計數(shù)器值小于所述當(dāng)前端口的第三計數(shù) 器值,則確定所述當(dāng)前端口和所述下游相鄰端口之間存在丟包。
[0539] 可選地,所述丟包測量模塊2050,用于選擇所述監(jiān)控范圍內(nèi)的一條路徑上的源端 口作為當(dāng)前端口;檢測所述當(dāng)前端口的下游相鄰端口是否與所述當(dāng)前端口屬于同一節(jié)點; 如果所述下游相鄰端口和所述當(dāng)前端口屬于同一節(jié)點,則檢測所述下游相鄰端口的第三計 數(shù)器值是否小于所述當(dāng)前端口的第三計數(shù)器值;如果所述下游相鄰端口的第三計數(shù)器值小 于所述當(dāng)前端口的第三計數(shù)器值,則確定所述節(jié)點存在丟包。
[0540] 可選地,所述丟包測量模塊2050,還用于如果所述下游相鄰端口和所述當(dāng)前端口 不屬于同一節(jié)點,則將所述下游相鄰端口確定為新的當(dāng)前端口,執(zhí)行檢測所述新的當(dāng)前端 口的下游相鄰端口是否與所述新的當(dāng)前端口屬于同一節(jié)點的步驟。
[0541] 可選地,所述丟包測量模塊2050,用于選擇所述監(jiān)控范圍內(nèi)的一條路徑上的源端 口作為當(dāng)前端口;檢測所述當(dāng)前端口的下游相鄰端口是否與所述當(dāng)前端口屬于同一節(jié)點; 如果所述下游相鄰端口和所述當(dāng)前端口不屬于同一節(jié)點,則檢測所述下游相鄰端口的第三 計數(shù)器值是否小于所述當(dāng)前端口的第三計數(shù)器值;如果所述下游相鄰端口的第三計數(shù)器值 小于所述當(dāng)前端口的第三計數(shù)器值,則確定所述當(dāng)前端口所屬的節(jié)點和所述下游相鄰端口 所屬的節(jié)點之間存在丟包。
[0542] 可選地,所述丟包測量模塊2050,還用于如果所述下游相鄰端口和所述當(dāng)前端口 屬于同一節(jié)點,則將所述下游相鄰端口確定為新的當(dāng)前端口,執(zhí)行檢測所述新的當(dāng)前端口 的下游相鄰端口是否與所述新的當(dāng)前端口屬于同一節(jié)點的步驟。
[0543] 可選地,在圖20的基礎(chǔ)上,如圖21所示,在另一個實施例中,所述網(wǎng)絡(luò)管理中心還 包括:
[0544] 出口檢測模塊2062,用于檢測所述下游相鄰端口是否為所述路徑的出端口;
[0545] 所述丟包測量模塊2050,還用于如果所述下游相鄰端口不是所述路徑的出端口, 則將所述下游相鄰端口確定為新的當(dāng)前端口;
[0546] 路徑檢測模塊2064,用于如果所述下游相鄰端口是所述路徑的出端口,則檢測所 述監(jiān)控范圍是否還存在其它路徑;
[0547] 所述丟包測量模塊2050,還用于如果所述監(jiān)控范圍還存在其它路徑,則選擇所述 其它路徑上的源端口作為新的當(dāng)前端口。
[0548] 可選地,所述發(fā)送模塊2020,還用于向監(jiān)控范圍內(nèi)的所有節(jié)點發(fā)送初始化指令,所 述初始化指令用于指示所述節(jié)點將各個端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值置為初始值。
[0549] 本實施例提供的網(wǎng)絡(luò)管理中心,通過指示指定節(jié)點對符合預(yù)定條件的數(shù)據(jù)包的包 頭中插入字段集,使節(jié)點根據(jù)字段集進(jìn)行網(wǎng)絡(luò)運(yùn)維管理,并根據(jù)計數(shù)結(jié)果進(jìn)行丟包測量,達(dá) 到了可以針對單個流中的數(shù)據(jù)包進(jìn)行丟包測量的效果。
[0550] 本實施例中的網(wǎng)絡(luò)管理中心,還通過每次探測過程只對1個數(shù)據(jù)包插入字段集, 通過定時器來收集各個節(jié)點的各個端口上與流標(biāo)記對應(yīng)的計數(shù)器值,使得該網(wǎng)絡(luò)運(yùn)維管理 方法對全網(wǎng)時間同步的依賴性較低;而在現(xiàn)有技術(shù)中,上游節(jié)點和下游節(jié)點需要嚴(yán)格的時 間同步,否則不同時間周期的數(shù)據(jù)包會發(fā)生計數(shù)偏差。
[0551] 請參考圖22,其示出了本發(fā)明另一個實施例提供的節(jié)點的結(jié)構(gòu)示意圖。該節(jié)點包 括處理器2210、存儲器2220和轉(zhuǎn)發(fā)芯片2230。
[0552] 所述處理器2210和所述存儲器2220相連,所述處理器2210和所述轉(zhuǎn)發(fā)芯片2230 相連。
[0553] 所述轉(zhuǎn)發(fā)芯片2230提供至少多個端口 32,所述多個端口 32包括與上游相鄰節(jié)點 相連的端口、與下游相鄰節(jié)點相連的端口和與網(wǎng)絡(luò)管理中心相連的端口。
[0554] 所述轉(zhuǎn)發(fā)芯片2230上還設(shè)置有至少1個計數(shù)器34。
[0555] 存儲器2220存儲有一個或一個以上的指令,所述處理器2210調(diào)用所述指令以實 現(xiàn)本發(fā)明所述網(wǎng)絡(luò)運(yùn)維管理方法。具體來講:
[0556] 當(dāng)所述節(jié)點是監(jiān)控范圍中一條路徑上的起始側(cè)邊緣節(jié)點時,所述處理器2210調(diào) 用一個指令以實現(xiàn)圖3或圖5所示的方法。
[0557] 當(dāng)所述節(jié)點是位于監(jiān)控范圍中一條路徑上的中間節(jié)點或目的側(cè)邊緣節(jié)點時,所述 處理器2210調(diào)用另一個指令以實現(xiàn)圖4和圖6A至6D任意一個所示的方法。
[0558] 請參考圖23,其示出了本發(fā)明另一個實施例提供的網(wǎng)絡(luò)管理中心的結(jié)構(gòu)示意圖。 該網(wǎng)絡(luò)管理中心包括:處理器2310、分別與處理器2310相連的存儲器2320和收發(fā)器2330。 所述存儲器2320存儲有1個或1個以上的指令,所述處理器2310調(diào)用所述指令以實現(xiàn)圖 8至圖13任意一個所示的方法。
[0559] 請參考圖24,其示出了一種網(wǎng)絡(luò)運(yùn)維管理系統(tǒng)的結(jié)構(gòu)示意圖,所述系統(tǒng)包括:至 少兩個節(jié)點2420和與各個節(jié)點2420相連的網(wǎng)絡(luò)管理中心2440。
[0560] 至少一個所述節(jié)點2420是圖16所示實施例或圖17所示實施例或圖22所示實施 例所述的節(jié)點。
[0561] 至少一個所述節(jié)點2420是如圖18所示實施例或圖19所示實施例或圖23所示實 施例所述的節(jié)點。
[0562] 所述網(wǎng)絡(luò)管理中心2440是如圖20所示實施例或圖21所示實施例或圖23所示實 施例所述的網(wǎng)絡(luò)管理中心。
[0563] 上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
[0564] 本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件 來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機(jī)可讀 存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
[0565] 以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和 原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項】
1. 一種網(wǎng)絡(luò)運(yùn)維管理方法,其特征在于,所述方法包括: 接收數(shù)據(jù)包; 檢測所述數(shù)據(jù)包的流特征是否與需要監(jiān)控的流的流特征匹配; 如果所述數(shù)據(jù)包的流特征與所述需要監(jiān)控的流的流特征匹配,則在所述數(shù)據(jù)包的包頭 中插入字段集,所述字段集包括指定類型的標(biāo)識和流標(biāo)記;所述流標(biāo)記用于標(biāo)識所述需要 監(jiān)控的流; 根據(jù)所述指定類型的標(biāo)識更新所述數(shù)據(jù)包經(jīng)過的入端口上與所述流標(biāo)記對應(yīng)的計數(shù) 器值; 根據(jù)所述指定類型的標(biāo)識更新所述數(shù)據(jù)包經(jīng)過的出端口上與所述流標(biāo)記對應(yīng)的計數(shù) 器值; 將所述數(shù)據(jù)包發(fā)送給下游相鄰節(jié)點。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述在所述數(shù)據(jù)包的包頭中插入字段集, 包括: 在所述數(shù)據(jù)包的以太幀頭的虛擬局域網(wǎng)VLAN字段之后插入所述字段集; 或, 在所述數(shù)據(jù)包的表示負(fù)荷的以太類型之前插入所述字段集。3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述字段集包括新的隧道頭或原始隧道 頭中的新增字段; 所述在所述數(shù)據(jù)包的包頭插入字段集,包括: 在所述數(shù)據(jù)包的外部網(wǎng)際互聯(lián)協(xié)議IP報文頭之后、內(nèi)部負(fù)荷之前插入所述字段集。4. 根據(jù)權(quán)利要求1至3任一所述的方法,其特征在于,所述檢測所述數(shù)據(jù)包的流特征是 否與需要監(jiān)控的流的流特征匹配之前,還包括: 接收監(jiān)控指令; 根據(jù)所述監(jiān)控指令獲取所述需要監(jiān)控的流的流特征。5. 根據(jù)權(quán)利要求1至4任一所述的方法,其特征在于,所述更新所述數(shù)據(jù)包的出端口上 與所述流標(biāo)記對應(yīng)的計數(shù)器值,包括: 根據(jù)所述數(shù)據(jù)包的目的地址查詢所述數(shù)據(jù)包的出端口; 檢測所述數(shù)據(jù)包的類型是否為所述指定類型; 如果所述數(shù)據(jù)包的類型是所述指定類型,則提取所述字段集中的流標(biāo)記; 更新所述出端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值。6. 根據(jù)權(quán)利要求1至5任一所述的方法,其特征在于,所述方法還包括: 接收初始化指令; 將各個端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值置為初始值。7. 根據(jù)權(quán)利要求1至6任一所述的方法,其特征在于,所述方法還包括: 接收提取指令; 上報各個端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值。8. -種網(wǎng)絡(luò)運(yùn)維管理方法,其特征在于,所述方法包括: 接收數(shù)據(jù)包; 檢測所述數(shù)據(jù)包的類型是否為指定類型; 如果所述數(shù)據(jù)包的類型是所述指定類型,則從所述數(shù)據(jù)包的包頭提取字段集,得到所 述字段集中的流標(biāo)記; 根據(jù)所述字段集更新所述數(shù)據(jù)包經(jīng)過的入端口和/或出端口上的與所述流標(biāo)記對應(yīng) 的計數(shù)器值; 將所述數(shù)據(jù)包發(fā)送給下游相鄰節(jié)點。9. 根據(jù)權(quán)利要求8所述的方法,其特征在于,所述根據(jù)所述字段集更新所述數(shù)據(jù)包經(jīng) 過的入端口和/或出端口上的與所述流標(biāo)記對應(yīng)的計數(shù)器值,包括: 從所述數(shù)據(jù)包的包頭提取所述字段集,得到所述字段集中的生存期TTL ; 檢測所述TTL是否小于或等于預(yù)定閾值; 如果所述TTL小于或等于所述預(yù)定閾值,則從所述數(shù)據(jù)包的包頭中刪除所述字段集; 更新所述數(shù)據(jù)包的入端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值。10. 根據(jù)權(quán)利要求8所述的方法,其特征在于,所述根據(jù)所述字段集更新所述數(shù)據(jù)包經(jīng) 過的入端口和/或出端口上的與所述流標(biāo)記對應(yīng)的計數(shù)器值,包括: 從所述數(shù)據(jù)包的包頭提取所述字段集,得到所述字段集中的生存期TTL ; 檢測所述TTL是否小于或等于預(yù)定閾值; 如果所述TTL大于所述預(yù)定閾值,則將所述字段集中的TTL更新為TTL-1 ; 更新所述數(shù)據(jù)包的入端口和出端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值。11. 根據(jù)權(quán)利要求8至10任意一項所述的方法,其特征在于,所述從所述數(shù)據(jù)包的包頭 提取字段集,包括: 從所述數(shù)據(jù)包的以太幀頭的VLAN字段之后提取所述字段集; 或, 從所述數(shù)據(jù)包的表示負(fù)荷的以太類型之前提取所述字段集。12. 根據(jù)權(quán)利要求11所述的方法,其特征在于,當(dāng)前節(jié)點是IP網(wǎng)節(jié)點,所述下游相鄰節(jié) 點是IP網(wǎng)節(jié)點; 所述將所述字段集中的TTL更新為TTL-1,包括: 在所述數(shù)據(jù)包的外部IP報文頭之后、內(nèi)部以太幀頭之前插入新的字段集; 將所述新的字段集中的流標(biāo)記設(shè)置為提取到的所述流標(biāo)記,將所述新的字段集中的 TTL設(shè)置為提取到的TTL-1。13. 根據(jù)權(quán)利要求8至10任一所述的方法,其特征在于,所述字段集包括新的隧道頭或 原始隧道頭中的新增字段; 所述從所述數(shù)據(jù)包的包頭提取字段集,包括: 從所述數(shù)據(jù)包的外部IP報文頭之后、內(nèi)部負(fù)荷之前提取所述字段集。14. 根據(jù)權(quán)利要求13所述的方法,其特征在于,當(dāng)前節(jié)點為IP網(wǎng)節(jié)點、所述下游相鄰節(jié) 點為以太網(wǎng)節(jié)點; 所述將所述字段集中的TTL更新為TTL-1,包括: 刪除位于所述數(shù)據(jù)包的外部IP報文頭之后、內(nèi)部以太幀頭之前的所述字段集; 判斷所述數(shù)據(jù)包的內(nèi)部以太幀頭中是否存在其他字段集; 如果存在,則將所述其他字段集中的TTL設(shè)置為提取到的TTL-1 ; 如果不存在,則在所述數(shù)據(jù)包的以太幀頭中插入新的字段集,并將所述新的字段集中 的流標(biāo)記設(shè)置為提取到的所述流標(biāo)記,將所述新的字段集中的TTL設(shè)置為提取到的TTL-1。15. 根據(jù)權(quán)利要求8至14任一所述的方法,其特征在于,所述當(dāng)前節(jié)點是目的側(cè)邊緣節(jié) 點;或,所述下游相鄰節(jié)點是所述數(shù)據(jù)包的目的端設(shè)備; 所述將所述數(shù)據(jù)包發(fā)送給下游相鄰節(jié)點之前,還包括: 從所述數(shù)據(jù)包的包頭中刪除所述字段集。16. 根據(jù)權(quán)利要求8至15任一所述的方法,其特征在于,所述方法還包括: 接收初始化指令; 將各個端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值置為初始值。17. 根據(jù)權(quán)利要求8至16任一所述的方法,其特征在于,所述方法還包括: 接收提取指令; 上報各個端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值。18. -種網(wǎng)絡(luò)運(yùn)維管理方法,其特征在于,所述方法包括: 提取監(jiān)控范圍內(nèi)的所有節(jié)點的各個端口上與流標(biāo)記對應(yīng)的第一計數(shù)器值; 向所述監(jiān)控范圍內(nèi)的指定節(jié)點發(fā)送監(jiān)控指令,所述監(jiān)控指令用于指示所述指定節(jié)點對 符合預(yù)定條件的數(shù)據(jù)包的包頭中插入字段集,所述字段集包括指定類型的標(biāo)識和流標(biāo)記; 所述預(yù)定條件是所述數(shù)據(jù)包的流特征與需要監(jiān)控的流的流特征匹配,所述指定類型的標(biāo)識 用于觸發(fā)所述數(shù)據(jù)包經(jīng)過的節(jié)點更新所述數(shù)據(jù)包經(jīng)過的端口上與所述流標(biāo)記對應(yīng)的計數(shù) 器值,所述流標(biāo)記用于標(biāo)識所述需要監(jiān)控的流; 設(shè)置定時器; 在所述定時器到期時,提取所述監(jiān)控范圍內(nèi)的所有節(jié)點的各個端口上與所述流標(biāo)記對 應(yīng)的第二計數(shù)器值; 根據(jù)每個端口的第一計數(shù)器值和第二計數(shù)器值計算得到每個端口的第三計數(shù)器值; 根據(jù)上下游相鄰端口的第三計數(shù)器值的差值進(jìn)行節(jié)點內(nèi)和/或節(jié)點間丟包測量。19. 根據(jù)權(quán)利要求18所述的方法,其特征在于,所述根據(jù)上下游相鄰端口的第三計數(shù) 器值的差值進(jìn)行節(jié)點內(nèi)和節(jié)點間丟包測量,包括: 選擇所述監(jiān)控范圍內(nèi)的一條路徑上的源端口作為當(dāng)前端口; 檢測所述當(dāng)前端口的下游相鄰端口的第三計數(shù)器值是否小于所述當(dāng)前端口的第三計 數(shù)器值; 如果所述下游相鄰端口的第三計數(shù)器值小于所述當(dāng)前端口的第三計數(shù)器值,則確定所 述當(dāng)前端口和所述下游相鄰端口之間存在丟包。20. 根據(jù)權(quán)利要求18所述的方法,其特征在于,所述根據(jù)相鄰上下游相鄰端口的第三 計數(shù)器值的差值進(jìn)行節(jié)點內(nèi)丟包測量,包括: 選擇所述監(jiān)控范圍內(nèi)的一條路徑上的源端口作為當(dāng)前端口; 檢測所述當(dāng)前端口的下游相鄰端口是否與所述當(dāng)前端口屬于同一節(jié)點; 如果所述下游相鄰端口和所述當(dāng)前端口屬于同一節(jié)點,則檢測所述下游相鄰端口的第 三計數(shù)器值是否小于所述當(dāng)前端口的第三計數(shù)器值; 如果所述下游相鄰端口的第三計數(shù)器值小于所述當(dāng)前端口的第三計數(shù)器值,則確定所 述節(jié)點存在丟包。21. 根據(jù)權(quán)利要求20所述的方法,其特征在于,所述檢測所述當(dāng)前端口的下游相鄰端 口是否與所述當(dāng)前端口屬于同一節(jié)點之后,還包括: 如果所述下游相鄰端口和所述當(dāng)前端口不屬于同一節(jié)點,則將所述下游相鄰端口確定 為新的當(dāng)前端口,執(zhí)行檢測所述新的當(dāng)前端口的下游相鄰端口是否與所述新的當(dāng)前端口屬 于同一節(jié)點的步驟。22. 根據(jù)權(quán)利要求18所述的方法,其特征在于,所述根據(jù)相鄰上下游相鄰端口的第三 計數(shù)器值的差值進(jìn)行節(jié)點間丟包測量,包括: 選擇所述監(jiān)控范圍內(nèi)的一條路徑上的源端口作為當(dāng)前端口; 檢測所述當(dāng)前端口的下游相鄰端口是否與所述當(dāng)前端口屬于同一節(jié)點; 如果所述下游相鄰端口和所述當(dāng)前端口不屬于同一節(jié)點,則檢測所述下游相鄰端口的 第三計數(shù)器值是否小于所述當(dāng)前端口的第三計數(shù)器值; 如果所述下游相鄰端口的第三計數(shù)器值小于所述當(dāng)前端口的第三計數(shù)器值,則確定所 述當(dāng)前端口所屬的節(jié)點和所述下游相鄰端口所屬的節(jié)點之間存在丟包。23. 根據(jù)權(quán)利要求22所述的方法,其特征在于,所述檢測所述當(dāng)前端口的下游相鄰端 口是否與所述當(dāng)前端口屬于同一節(jié)點之后,還包括: 如果所述下游相鄰端口和所述當(dāng)前端口屬于同一節(jié)點,則將所述下游相鄰端口確定為 新的當(dāng)前端口,執(zhí)行檢測所述新的當(dāng)前端口的下游相鄰端口是否與所述新的當(dāng)前端口屬于 同一節(jié)點的步驟。24. 根據(jù)權(quán)利要求19或20或22所述的方法,其特征在于,所述方法,還包括: 檢測所述下游相鄰端口是否為所述路徑的出端口; 如果所述下游相鄰端口不是所述路徑的出端口,則將所述下游相鄰端口確定為新的當(dāng) 前端口; 如果所述下游相鄰端口是所述路徑的出端口,則檢測所述監(jiān)控范圍是否還存在其它路 徑; 如果所述監(jiān)控范圍還存在其它路徑,則選擇所述其它路徑上的源端口作為新的當(dāng)前端 □ 〇25. 根據(jù)權(quán)利要求18至24任一所述的方法,其特征在于,所述向監(jiān)控范圍內(nèi)的指定節(jié) 點發(fā)送監(jiān)控指令之前,還包括: 向監(jiān)控范圍內(nèi)的所有節(jié)點發(fā)送初始化指令,所述初始化指令用于指示所述節(jié)點將各個 端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值置為初始值。26. -種邊緣節(jié)點,其特征在于,所述邊緣節(jié)點包括: 接收模塊,用于接收數(shù)據(jù)包; 特征匹配模塊,用于檢測所述數(shù)據(jù)包的流特征是否與需要監(jiān)控的流的流特征匹配; 字段插入模塊,用于如果所述數(shù)據(jù)包的流特征與所述需要監(jiān)控的流的流特征匹配,則 在所述數(shù)據(jù)包的包頭中插入字段集,所述字段集包括指定類型的標(biāo)識和流標(biāo)記;所述流標(biāo) 記用于標(biāo)識所述需要監(jiān)控的流; 入端口更新模塊,用于根據(jù)所述指定類型的標(biāo)識更新所述數(shù)據(jù)包經(jīng)過的入端口上與所 述流標(biāo)記對應(yīng)的計數(shù)器值, 出端口更新模塊,用于根據(jù)所述指定類型的標(biāo)識更新所述數(shù)據(jù)包經(jīng)過的出端口上與所 述流標(biāo)記對應(yīng)的計數(shù)器值; 發(fā)送模塊,用于將所述數(shù)據(jù)包發(fā)送給下游相鄰節(jié)點。27. 根據(jù)權(quán)利要求26所述的邊緣節(jié)點,其特征在于, 所述字段插入模塊,用于在所述數(shù)據(jù)包的以太幀頭的VLAN字段之后插入所述字段集; 或, 所述字段插入模塊,用于在所述數(shù)據(jù)包的表示負(fù)荷的以太類型之前插入所述字段集。28. 根據(jù)權(quán)利要求26所述的邊緣節(jié)點,其特征在于,所述字段集包括新的隧道頭或原 始隧道頭中的新增字段; 所述字段插入模塊,用于在所述數(shù)據(jù)包的外部IP報文頭之后、內(nèi)部負(fù)荷之前插入所述 字段集。29. 根據(jù)權(quán)利要求26至28任一所述的邊緣節(jié)點,其特征在于,所述邊緣節(jié)點,還包括: 特征獲取模塊; 所述接收模塊,還用于接收監(jiān)控指令; 所述特征獲取模塊,還用于根據(jù)所述監(jiān)控指令獲取所述需要監(jiān)控的流的流特征。30. 根據(jù)權(quán)利要求26至29任一所述的邊緣節(jié)點,其特征在于, 所述出端口更新模塊,用于根據(jù)所述數(shù)據(jù)包的目的地址查詢所述數(shù)據(jù)包的出端口;檢 測所述數(shù)據(jù)包的類型是否為所述指定類型;如果所述數(shù)據(jù)包的類型是所述指定類型,則提 取所述字段集中的流標(biāo)記;更新所述出端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值。31. 根據(jù)權(quán)利要求26至30任一所述的邊緣節(jié)點,其特征在于,所述邊緣節(jié)點還包括: 初始化模塊; 所述接收模塊,還用于接收初始化指令; 所述初始化模塊,用于將各個端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值置為初始值。32. 根據(jù)權(quán)利要求26至31任一所述的邊緣節(jié)點,其特征在于, 所述接收模塊,還用于接收提取指令; 所述發(fā)送模塊,還用于上報各個端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值。33. -種節(jié)點,其特征在于,所述節(jié)點包括: 接收模塊,用于接收數(shù)據(jù)包; 類型檢測模塊,用于檢測所述數(shù)據(jù)包的類型是否為指定類型; 字段提取模塊,用于如果所述數(shù)據(jù)包的類型是所述指定類型,則從所述數(shù)據(jù)包的包頭 提取字段集,得到所述字段集中的流標(biāo)記; 計數(shù)更新模塊,用于根據(jù)所述字段集更新所述數(shù)據(jù)包經(jīng)過的入端口和/或出端口上的 與所述流標(biāo)記對應(yīng)的計數(shù)器值; 發(fā)送模塊,用于將所述數(shù)據(jù)包發(fā)送給下游相鄰節(jié)點。34. 根據(jù)權(quán)利要求33所述的節(jié)點,其特征在于, 所述計數(shù)更新模塊,用于從所述數(shù)據(jù)包的包頭提取所述字段集,得到所述字段集中的 生存期TTL ;檢測所述TTL是否小于或等于預(yù)定閾值;如果所述TTL小于或等于所述預(yù)定閾 值,則從所述數(shù)據(jù)包的包頭中刪除所述字段集;更新所述數(shù)據(jù)包的入端口上與所述流標(biāo)記 對應(yīng)的計數(shù)器值。35. 根據(jù)權(quán)利要求33所述的節(jié)點,其特征在于, 所述計數(shù)更新模塊,用于從所述數(shù)據(jù)包的包頭提取所述字段集,得到所述字段集中的 生存期TTL ;檢測所述TTL是否小于或等于預(yù)定閾值;如果所述TTL大于所述預(yù)定閾值,則 將所述字段集中的TTL更新為TTL-1 ;更新所述數(shù)據(jù)包的入端口和出端口上與所述流標(biāo)記 對應(yīng)的計數(shù)器值。36. 根據(jù)權(quán)利要求33至35任意一項所述的節(jié)點,其特征在于, 所述字段提取模塊,用于從所述數(shù)據(jù)包的以太幀頭的VLAN字段之后提取所述字段集; 或, 所述字段提取模塊,用于從所述數(shù)據(jù)包的表示負(fù)荷的以太類型之前提取所述字段集。37. 根據(jù)權(quán)利要求36所述的節(jié)點,其特征在于,所述節(jié)點是IP網(wǎng)節(jié)點,所述下游相鄰節(jié) 點是IP網(wǎng)節(jié)點; 所述計數(shù)更新模塊,還用于在所述數(shù)據(jù)包的外部IP報文頭之后、內(nèi)部以太幀頭之前插 入新的字段集;將所述新的字段集中的流標(biāo)記設(shè)置為提取到的所述流標(biāo)記,將所述新的字 段集中的TTL設(shè)置為提取到的TTL-1。38. 根據(jù)權(quán)利要求33至35任一所述的節(jié)點,其特征在于,所述字段集包括新的隧道頭 或原始隧道頭中的新增字段; 所述字段提取模塊,用于從所述數(shù)據(jù)包的外部IP報文頭之后、內(nèi)部負(fù)荷之前提取所述 字段集。39. 根據(jù)權(quán)利要求38所述的節(jié)點,其特征在于,所述節(jié)點為IP網(wǎng)節(jié)點、所述下游相鄰節(jié) 點是以太網(wǎng)節(jié)點; 所述計數(shù)更新模塊,還用于刪除位于所述數(shù)據(jù)包的外部IP報文頭之后、內(nèi)部以太幀頭 之前的所述字段集;判斷所述數(shù)據(jù)包的內(nèi)部以太幀頭中是否存在其他字段集;如果存在, 則將所述其他字段集中的TTL設(shè)置為提取到的TTL-1 ;如果不存在,則在所述數(shù)據(jù)包的以太 幀頭中插入新的字段集,并將所述新的字段集中的流標(biāo)記設(shè)置為提取到的所述流標(biāo)記,將 所述新的字段集中的TTL設(shè)置為提取到的TTL-1。40. 根據(jù)權(quán)利要求33至39任一所述的節(jié)點,其特征在于,所述節(jié)點是目的側(cè)邊緣節(jié)點; 或,所述下游相鄰節(jié)點是所述數(shù)據(jù)包的目的端設(shè)備; 所述節(jié)點,還包括: 字段刪除模塊,用于從所述數(shù)據(jù)包的包頭中刪除所述字段集。41. 根據(jù)權(quán)利要求33至40任一所述的節(jié)點,其特征在于,所述節(jié)點還包括:初始化模 塊; 所述接收模塊,還用于接收初始化指令; 所述初始化模塊,還用于將各個端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值置為初始值。42. 根據(jù)權(quán)利要求33至41任一所述的節(jié)點,其特征在于, 所述接收模塊,還用于接收提取指令; 所述發(fā)送模塊,還用于上報各個端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值。43. -種網(wǎng)絡(luò)管理中心,其特征在于,所述網(wǎng)絡(luò)管理中心包括: 計數(shù)提取模塊,用于提取監(jiān)控范圍內(nèi)的所有節(jié)點的各個端口上與流標(biāo)記對應(yīng)的第一計 數(shù)器值; 發(fā)送模塊,用于向所述監(jiān)控范圍內(nèi)的指定節(jié)點發(fā)送監(jiān)控指令,所述監(jiān)控指令用于指示 所述指定節(jié)點對符合預(yù)定條件的數(shù)據(jù)包的包頭中插入字段集,所述字段集包括指定類型的 標(biāo)識和流標(biāo)記;所述預(yù)定條件是所述數(shù)據(jù)包的流特征與需要監(jiān)控的流的流特征匹配,所述 指定類型的標(biāo)識用于觸發(fā)所述數(shù)據(jù)包經(jīng)過的節(jié)點更新所述數(shù)據(jù)包經(jīng)過的端口上與所述流 標(biāo)記對應(yīng)的計數(shù)器值,所述流標(biāo)記用于標(biāo)識所述需要監(jiān)控的流; 定時模塊,用于設(shè)置定時器; 所述計數(shù)提取模塊,還用于在所述定時器到期時,提取所述監(jiān)控范圍內(nèi)的所有節(jié)點的 各個端口上與所述流標(biāo)記對應(yīng)的第二計數(shù)器值; 計算模塊,用于根據(jù)每個端口的第一計數(shù)器值和第二計數(shù)器值計算得到每個端口的第 三計數(shù)器值; 丟包測量模塊,用于根據(jù)上下游相鄰端口的第三計數(shù)器值的差值進(jìn)行節(jié)點內(nèi)和/或節(jié) 點間丟包測量。44. 根據(jù)權(quán)利要求43所述的網(wǎng)絡(luò)管理中心,其特征在于, 所述丟包測量模塊,用于選擇所述監(jiān)控范圍內(nèi)的一條路徑上的源端口作為當(dāng)前端口; 檢測所述當(dāng)前端口的下游相鄰端口的第三計數(shù)器值是否小于所述當(dāng)前端口的第三計數(shù)器 值;如果所述下游相鄰端口的第三計數(shù)器值小于所述當(dāng)前端口的第三計數(shù)器值,則確定所 述當(dāng)前端口和所述下游相鄰端口之間存在丟包。45. 根據(jù)權(quán)利要求43所述的網(wǎng)絡(luò)管理中心,其特征在于, 所述丟包測量模塊,用于選擇所述監(jiān)控范圍內(nèi)的一條路徑上的源端口作為當(dāng)前端口; 檢測所述當(dāng)前端口的下游相鄰端口是否與所述當(dāng)前端口屬于同一節(jié)點;如果所述下游相鄰 端口和所述當(dāng)前端口屬于同一節(jié)點,則檢測所述下游相鄰端口的第三計數(shù)器值是否小于所 述當(dāng)前端口的第三計數(shù)器值;如果所述下游相鄰端口的第三計數(shù)器值小于所述當(dāng)前端口的 第三計數(shù)器值,則確定所述節(jié)點存在丟包。46. 根據(jù)權(quán)利要求45所述的網(wǎng)絡(luò)管理中心,其特征在于, 所述丟包測量模塊,還用于如果所述下游相鄰端口和所述當(dāng)前端口不屬于同一節(jié)點, 則將所述下游相鄰端口確定為新的當(dāng)前端口,執(zhí)行檢測所述新的當(dāng)前端口的下游相鄰端口 是否與所述新的當(dāng)前端口屬于同一節(jié)點的步驟。47. 根據(jù)權(quán)利要求43所述的網(wǎng)絡(luò)管理中心,其特征在于, 所述丟包測量模塊,用于選擇所述監(jiān)控范圍內(nèi)的一條路徑上的源端口作為當(dāng)前端口; 檢測所述當(dāng)前端口的下游相鄰端口是否與所述當(dāng)前端口屬于同一節(jié)點;如果所述下游相鄰 端口和所述當(dāng)前端口不屬于同一節(jié)點,則檢測所述下游相鄰端口的第三計數(shù)器值是否小于 所述當(dāng)前端口的第三計數(shù)器值;如果所述下游相鄰端口的第三計數(shù)器值小于所述當(dāng)前端口 的第三計數(shù)器值,則確定所述當(dāng)前端口所屬的節(jié)點和所述下游相鄰端口所屬的節(jié)點之間存 在丟包。48. 根據(jù)權(quán)利要求47所述的網(wǎng)絡(luò)管理中心,其特征在于, 所述丟包測量模塊,還用于如果所述下游相鄰端口和所述當(dāng)前端口屬于同一節(jié)點,則 將所述下游相鄰端口確定為新的當(dāng)前端口,執(zhí)行檢測所述新的當(dāng)前端口的下游相鄰端口是 否與所述新的當(dāng)前端口屬于同一節(jié)點的步驟。49. 根據(jù)權(quán)利要求44或45或47所述的網(wǎng)絡(luò)管理中心,其特征在于,所述網(wǎng)絡(luò)管理中 心,還包括: 出口檢測模塊,用于檢測所述下游相鄰端口是否為所述路徑的出端口; 所述丟包測量模塊,還用于如果所述下游相鄰端口不是所述路徑的出端口,則將所述 下游相鄰端口確定為新的當(dāng)前端口; 路徑檢測模塊,用于如果所述下游相鄰端口是所述路徑的出端口,則檢測所述監(jiān)控范 圍是否還存在其它路徑; 所述丟包測量模塊,還用于如果所述監(jiān)控范圍還存在其它路徑,則選擇所述其它路徑 上的源端口作為新的當(dāng)前端口。50.根據(jù)權(quán)利要求43至49任一所述的網(wǎng)絡(luò)管理中心,其特征在于, 所述發(fā)送模塊,還用于向監(jiān)控范圍內(nèi)的所有節(jié)點發(fā)送初始化指令,所述初始化指令用 于指示所述節(jié)點將各個端口上與所述流標(biāo)記對應(yīng)的計數(shù)器值置為初始值。
【文檔編號】H04L12/26GK105991338SQ201510098412
【公開日】2016年10月5日
【申請日】2015年3月5日
【發(fā)明人】鄭合文, 莊艷, 韓磊, 李彬軒, 潘灝濤
【申請人】華為技術(shù)有限公司