專利名稱:一種單通故障的檢測(cè)方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是涉及一種單通故障的檢測(cè)方法和設(shè)備。
背景技術(shù):
STP (Spanning Tree Protocol,生成樹協(xié)議)用于在局域網(wǎng)中消除數(shù)據(jù)鏈路層物理環(huán)路。運(yùn)行STP的設(shè)備通過彼此交互信息來發(fā)現(xiàn)網(wǎng)絡(luò)中的環(huán)路,并有選擇的對(duì)某些端口進(jìn)行阻塞,從而將環(huán)路網(wǎng)絡(luò)結(jié)構(gòu)修剪成無環(huán)路的樹型網(wǎng)絡(luò)結(jié)構(gòu),從而防止報(bào)文在環(huán)路網(wǎng)絡(luò)中不斷增生和無限循環(huán),如圖1所示的環(huán)狀組網(wǎng)示意圖,經(jīng)過STP端口阻塞后,可建立如圖 2所示的樹狀組網(wǎng)示意圖。需要說明的是,由于接入層的網(wǎng)絡(luò)可能存在大量的接入設(shè)備,因此STP可部署在接入層,以防止網(wǎng)絡(luò)環(huán)路,并阻塞冗余鏈路。但是某些情況下,網(wǎng)絡(luò)中可能出現(xiàn)單通鏈路,且未引起廣播風(fēng)暴,此時(shí)STP狀態(tài)正確,只是問題鏈路的數(shù)據(jù)轉(zhuǎn)發(fā)不通,這就是網(wǎng)絡(luò)黑洞(其本質(zhì)是鏈路的單通故障,本端設(shè)備可收到對(duì)端設(shè)備的數(shù)據(jù)報(bào)文,但對(duì)端設(shè)備不能收到本端設(shè)備的數(shù)據(jù)報(bào)文)。當(dāng)出現(xiàn)網(wǎng)絡(luò)黑洞后,如果靠人工逐臺(tái)設(shè)備排除故障,則需要較長時(shí)間,并影響用戶的應(yīng)用。以下結(jié)合圖3和圖4來說明STP網(wǎng)絡(luò)中網(wǎng)絡(luò)黑洞的產(chǎn)生位置;圖3為正常的STP 三邊環(huán)網(wǎng)絡(luò)的示意圖,圖4為單通故障時(shí)的示意圖。在圖3中,A設(shè)備是根橋,阻塞端口在 C設(shè)備的P2端口。在圖4中,C設(shè)備的Pl端口和A設(shè)備的P2端口之間,出現(xiàn)從Root (根) 端口到Designated(指定)端口方向的單通故障,此時(shí)C設(shè)備的Pl端口可以正常接收協(xié)議報(bào)文,因此Root角色不會(huì)改變,但C設(shè)備到A設(shè)備的鏈路實(shí)際是中斷的,通過C設(shè)備Pl端口發(fā)出的流量均會(huì)丟失。針對(duì)上述問題,現(xiàn)有技術(shù)中,單通故障的檢測(cè)技術(shù)是DLDP (Device Link Detection Protocol,設(shè)備鏈路檢測(cè)協(xié)議)技術(shù)。運(yùn)行DLDP協(xié)議的端口有7種可能的狀態(tài) (1) Initial (初始):DLDP協(xié)議未使能時(shí)的初始化狀態(tài);(2) Inactive (非活動(dòng)):DLDP協(xié)議已使能,但是鏈路down (未啟動(dòng))時(shí)所處的狀態(tài);C3) Active (活動(dòng))DLDP協(xié)議已使能且鏈路up (啟動(dòng)),或者清空鄰居表項(xiàng)后所處的狀態(tài);(4) Advertisement (通告)所有鄰居雙向連通或者處于Active狀態(tài)超過5秒后進(jìn)入的狀態(tài),是一種沒有發(fā)現(xiàn)單向鏈路時(shí)的比較穩(wěn)定的狀態(tài);^ftObe (探測(cè))收到一個(gè)未知鄰居的報(bào)文后進(jìn)入的狀態(tài),此時(shí)將發(fā)送探測(cè)報(bào)文檢測(cè)鏈路是否為單向鏈路;(6)Disable (單通)DLDP協(xié)議檢測(cè)到單向鏈路,或在加強(qiáng)模式下鄰居消失時(shí)的狀態(tài),此時(shí)端口不再接收和發(fā)送除DLDP以外的報(bào)文;(7)DelayDown(延遲 down)當(dāng)DLDP狀態(tài)處于Active狀態(tài)、Advertisement狀態(tài)或Probe狀態(tài)時(shí),如果收到端口 down事件,不會(huì)立即刪除鄰居、進(jìn)入hactive狀態(tài),而是先進(jìn)入臨時(shí)的DelayDown狀態(tài),在該狀態(tài)下,DLDP鄰居信息仍然被保留,且系統(tǒng)只響應(yīng)端口 up事件。以圖5所示的鏈路正常組網(wǎng)為例,詳細(xì)說明DLDP端口狀態(tài)變化和單通檢測(cè)的過程=(I)DLDP使能后,處于up狀態(tài)的端口 Port A進(jìn)入Active狀態(tài),向外發(fā)送Advertisement 報(bào)文(攜帶RSY標(biāo)記)通告自身的存在,并請(qǐng)求鄰居信息。O)Port B收到Advertisement報(bào)文時(shí),認(rèn)為發(fā)現(xiàn)新鄰居,為該鄰居啟動(dòng)Echo (回聲)等待定時(shí)器,并建立表項(xiàng),同時(shí)啟動(dòng)此表項(xiàng)的老化定時(shí)器;此外,Port B進(jìn)入Probe狀態(tài),向外發(fā)送Probe報(bào)文。C3)Port A收到 Probe報(bào)文后,建立鄰居表項(xiàng),并進(jìn)入ftObe狀態(tài),向?qū)Χ嘶貜?fù)Echo報(bào)文。(4)Port B收到 Echo報(bào)文后,由于本端已經(jīng)存在相應(yīng)鄰居表項(xiàng),且報(bào)文中攜帶的鄰居信息和本端保存的信息相同,將該鄰居標(biāo)志為雙通;此外,Port B的DLDP狀態(tài)由Probe切換為Advertisement, 并定時(shí)向外發(fā)送普通Advertisement報(bào)文;在Advertisement狀態(tài)下,每次收到已知鄰居發(fā)來的報(bào)文,均會(huì)重置該鄰居的老化定時(shí)器的值。(5)DLDP使能后,端口 Port B發(fā)送報(bào)文、以及在Port A上建立鄰居的過程與步驟(1) (4)類似。(6) Port A和Port B均認(rèn)為對(duì)方為自己的雙通鄰居,并處于Advertisement狀態(tài)。Port A和Port B雙通后,如果Port B的Rx鏈路突然發(fā)生故障,如圖6所示的鏈路單通故障示意圖,根據(jù)配置的工作模式的不同,后續(xù)單向鏈路的檢測(cè)過程包括(1)在普通模式下,PortA在鄰居老化定時(shí)器超時(shí)后,刪除該鄰居表項(xiàng),進(jìn)入Active狀態(tài),發(fā)送攜帶RSY標(biāo)記的Advertisement報(bào)文,以請(qǐng)求鄰居信息;Port A處于Active狀態(tài)5秒后進(jìn)入 Advertisement狀態(tài),并一直處于該狀態(tài),且沒有鄰居。Port B—直處于hactive狀態(tài)。在這種情況下,普通模式無法檢測(cè)出單通故障。(2)在加強(qiáng)模式下,Port A在鄰居老化定時(shí)器超時(shí)后,啟用加強(qiáng)定時(shí)器和Echo等待定時(shí)器,并向鄰居發(fā)送報(bào)文;由于Port A的Tx鏈路已經(jīng)故障,等到Echo等待定時(shí)器超時(shí),Port A仍收不到鄰居Port B應(yīng)答本端的Echo報(bào)文,則PortA進(jìn)入Disable狀態(tài)。綜上所述,現(xiàn)有技術(shù)中,DLDP技術(shù)需要在每條鏈路的兩個(gè)端口上同時(shí)啟動(dòng),且需要協(xié)議報(bào)文的交互,先檢測(cè)到鏈路正常的雙通狀態(tài),然后才能檢測(cè)到單通狀態(tài)。
發(fā)明內(nèi)容
本發(fā)明提供一種單通故障的檢測(cè)方法和設(shè)備,以準(zhǔn)確檢測(cè)出單通故障。為了達(dá)到上述目的,本發(fā)明提供一種單通故障的檢測(cè)方法,應(yīng)用于生成樹協(xié)議STP 網(wǎng)絡(luò)中,所述STP網(wǎng)絡(luò)中的下游設(shè)備通過根Root端口與上游設(shè)備的指定Designated端口連接,該方法包括以下步驟所述下游設(shè)備通過所述Root端口向所述Designated端口發(fā)送鏈路狀態(tài)查詢報(bào)文;當(dāng)所述下游設(shè)備在指定時(shí)間內(nèi)沒有接收到來自所述上游設(shè)備的鏈路應(yīng)答報(bào)文時(shí), 所述下游設(shè)備確定所述Root端口到所述Designated端口的方向上發(fā)生單通故障。所述鏈路狀態(tài)查詢報(bào)文中攜帶所述上游設(shè)備的橋MAC以及所述Designated端口的標(biāo)識(shí);所述下游設(shè)備通過所述Root端口向所述Designated端口發(fā)送鏈路狀態(tài)查詢報(bào)文,之后還包括如果所述上游設(shè)備接收到所述鏈路狀態(tài)查詢報(bào)文,則所述上游設(shè)備檢查所述鏈路狀態(tài)查詢報(bào)文中攜帶的橋MAC和Designated端口的標(biāo)識(shí);如果所述鏈路狀態(tài)查詢報(bào)文中攜帶的橋MAC與所述上游設(shè)備的橋MAC —致,且攜帶的Designated端口的標(biāo)識(shí)與所述上游設(shè)備接收到所述鏈路狀態(tài)查詢報(bào)文的端口一致, 則所述上游設(shè)備通過所述Designated端口向所述Root端口發(fā)送鏈路應(yīng)答報(bào)文。
所述下游設(shè)備通過所述Root端口向所述Designated端口發(fā)送鏈路狀態(tài)查詢報(bào)文,之后還包括如果所述上游設(shè)備通過所述Designated端口接收到所述鏈路狀態(tài)查詢報(bào)文,則所述上游設(shè)備統(tǒng)計(jì)預(yù)設(shè)周期內(nèi)所述Designated端口接收到的來自所述下游設(shè)備的數(shù)據(jù)量,當(dāng)所述數(shù)據(jù)量小于預(yù)設(shè)閾值時(shí),所述上游設(shè)備確定所述Root端口到所述Designated端口的方向上發(fā)生單通故障。所述上游設(shè)備確定所述Root端口到所述Designated端口的方向上發(fā)生單通故障,進(jìn)一步包括所述上游設(shè)備通過所述Designated端口向所述Root端口發(fā)送鏈路狀態(tài)查詢報(bào)文;當(dāng)所述上游設(shè)備在指定時(shí)間內(nèi)沒有接收到來自所述下游設(shè)備的鏈路應(yīng)答報(bào)文時(shí),所述上游設(shè)備確定所述Root端口到所述Designated端口的方向上發(fā)生單通故障。所述方法還包括當(dāng)所述Root端口的角色變?yōu)閭浞軦lternate端口時(shí),如果所述上游設(shè)備通過所述Designated端口接收到角色刷新報(bào)文,且所述角色刷新報(bào)文中攜帶所述Root端口的新角色為Alternate端口,則所述上游設(shè)備停止統(tǒng)計(jì)所述Designated端口接收到的來自所述下游設(shè)備的數(shù)據(jù)量。一種單通故障的檢測(cè)設(shè)備,應(yīng)用于生成樹協(xié)議STP網(wǎng)絡(luò)中,所述STP網(wǎng)絡(luò)中的下游設(shè)備通過根Root端口與上游設(shè)備的指定Designated端口連接,所述檢測(cè)設(shè)備為下游設(shè)備或上游設(shè)備,且所述檢測(cè)設(shè)備包括發(fā)送模塊和處理模塊;其中當(dāng)所述檢測(cè)設(shè)備為下游設(shè)備時(shí),所述發(fā)送模塊,用于通過所述Root端口向所述Designated端口發(fā)送鏈路狀態(tài)查詢報(bào)文;所述處理模塊,用于當(dāng)在指定時(shí)間內(nèi)沒有接收到來自所述上游設(shè)備的鏈路應(yīng)答報(bào)文時(shí),確定所述Root端口到所述Designated端口的方向上發(fā)生單通故障。所述鏈路狀態(tài)查詢報(bào)文中攜帶所述上游設(shè)備的橋MAC以及所述Designated端口的標(biāo)識(shí)。當(dāng)所述檢測(cè)設(shè)備為上游設(shè)備時(shí),所述處理模塊,用于當(dāng)接收到來自下游設(shè)備的鏈路狀態(tài)查詢報(bào)文時(shí),檢查所述來自下游設(shè)備的鏈路狀態(tài)查詢報(bào)文中攜帶的橋MAC和Designated端口的標(biāo)識(shí);所述發(fā)送模塊,用于當(dāng)所述來自下游設(shè)備的鏈路狀態(tài)查詢報(bào)文中攜帶的橋MAC與所述上游設(shè)備的橋MAC —致,且攜帶的Designated端口的標(biāo)識(shí)與所述上游設(shè)備接收到所述來自下游設(shè)備的鏈路狀態(tài)查詢報(bào)文的端口一致時(shí),通過所述Designated端口向所述Root 端口發(fā)送鏈路應(yīng)答報(bào)文。當(dāng)所述檢測(cè)設(shè)備為上游設(shè)備時(shí),所述處理模塊,還用于當(dāng)通過所述Designated端口接收到所述來自下游設(shè)備的鏈路狀態(tài)查詢報(bào)文時(shí),則統(tǒng)計(jì)預(yù)設(shè)周期內(nèi)所述Designated端口接收到的來自所述下游設(shè)備的數(shù)據(jù)量,當(dāng)所述數(shù)據(jù)量小于預(yù)設(shè)閾值時(shí),確定所述Root端口到所述Designated端口的方向上發(fā)生單通故障。所述處理模塊,具體用于在確定所述Root端口到所述Designated端口的方向上發(fā)生單通故障時(shí),通過所述Designated端口向所述Root端口發(fā)送鏈路狀態(tài)查詢報(bào)文;當(dāng)在指定時(shí)間內(nèi)沒有接收到來自所述下游設(shè)備的鏈路應(yīng)答報(bào)文時(shí),確定所述Root端口到所述 Designated端口的方向上發(fā)生單通故障。所述處理模塊,還用于當(dāng)所述Root端口的角色變?yōu)閭浞軦lternate端口時(shí),如果通過所述Designated端口接收到角色刷新報(bào)文,且所述角色刷新報(bào)文中攜帶所述Root端口的新角色為Alternate端口,則停止統(tǒng)計(jì)所述Designated端口接收到的來自所述下游設(shè)備的數(shù)據(jù)量。與現(xiàn)有技術(shù)相比,本發(fā)明至少具有以下優(yōu)點(diǎn)通過Root端口主動(dòng)發(fā)送鏈路狀態(tài)查詢報(bào)文,可準(zhǔn)確檢測(cè)出單通故障,即可以準(zhǔn)確快捷的檢測(cè)出STP網(wǎng)絡(luò)中的網(wǎng)絡(luò)黑洞,幫助網(wǎng)管及時(shí)排除和診斷網(wǎng)絡(luò)故障。
圖1是現(xiàn)有技術(shù)中環(huán)狀組網(wǎng)示意圖;圖2是現(xiàn)有技術(shù)中樹狀組網(wǎng)示意圖;圖3是現(xiàn)有技術(shù)中正常的STP三邊環(huán)網(wǎng)絡(luò)的示意圖;圖4是現(xiàn)有技術(shù)中單通故障時(shí)的示意圖;圖5是現(xiàn)有技術(shù)中鏈路正常組網(wǎng)示意圖;圖6是現(xiàn)有技術(shù)中鏈路單通故障示意圖;圖7是本發(fā)明提供的一種單通故障的檢測(cè)方法流程圖;圖8是本發(fā)明中提供的報(bào)文格式示意圖;圖9是本發(fā)明提出的一種單通故障的檢測(cè)設(shè)備結(jié)構(gòu)圖。
具體實(shí)施例方式如圖4所示,為STP網(wǎng)絡(luò)建立前存在鏈路單通故障的情況,A設(shè)備作為網(wǎng)絡(luò)的根橋, C設(shè)備的Pl端口到A設(shè)備的P2端口存在單向故障,但反向鏈路正常,可正常接收根橋發(fā)送的STP協(xié)議報(bào)文,由于可接收協(xié)議報(bào)文(協(xié)議報(bào)文由上游設(shè)備發(fā)送給下游設(shè)備),因此A設(shè)備、B設(shè)備和C設(shè)備的STP狀態(tài)正確,但C設(shè)備的Pl端口到A設(shè)備的P2端口方向上發(fā)生單通故障(即從C設(shè)備的Pl端口發(fā)送的數(shù)據(jù)報(bào)文無法到達(dá)A設(shè)備)。針對(duì)上述問題,本發(fā)明提供一種單通故障的檢測(cè)方法,應(yīng)用于STP網(wǎng)絡(luò)中,STP網(wǎng)絡(luò)中的下游設(shè)備通過Root端口與上游設(shè)備的Designated端口連接,以圖4為本發(fā)明參考網(wǎng)絡(luò)模型示意圖,則上游設(shè)備為Designated端口對(duì)應(yīng)的設(shè)備,下游設(shè)備為Root端口(或 Root端口對(duì)應(yīng)的Alternate(備份)端口)對(duì)應(yīng)的設(shè)備;圖4中,A設(shè)備與C設(shè)備之間,A設(shè)備為上游設(shè)備,C設(shè)備為下游設(shè)備;A設(shè)備與B設(shè)備之間,A設(shè)備為上游設(shè)備,B設(shè)備為下游設(shè)備;B設(shè)備與C設(shè)備之間,B設(shè)備為上游設(shè)備,C設(shè)備為下游設(shè)備。需要注意的是,上游設(shè)備和下游設(shè)備是相對(duì)的,一個(gè)設(shè)備可以為上游設(shè)備,也可以為下游設(shè)備;例如,在圖4中,A設(shè)備與C設(shè)備之間,A設(shè)備為上游設(shè)備,C設(shè)備為下游設(shè)備; 假如A設(shè)備的Designated端口變?yōu)镽oot端口,且C設(shè)備的Root端口變?yōu)镈esignated端口時(shí),則A設(shè)備與C設(shè)備之間,A設(shè)備為下游設(shè)備,C設(shè)備為上游設(shè)備。如圖7所示,本發(fā)明提供的單通故障的檢測(cè)方法包括以下步驟步驟701,下游設(shè)備通過Root端口向上游設(shè)備的Designated端口發(fā)送鏈路狀態(tài)查
7詢報(bào)文。后續(xù)以C設(shè)備的端口 Pl向A設(shè)備的端口 P2發(fā)送鏈路狀態(tài)查詢報(bào)文為例。需要說明的是,當(dāng)端口的STP角色由Designated遷移到Root后(初始時(shí)所有端口均為Designated角色,設(shè)備之間通過交互STP協(xié)議報(bào)文可確定端口為Designated角色或Root角色,對(duì)于Root角色的端口,角色將從Designated遷移到Root),下游設(shè)備會(huì)通過 Root端口向上游設(shè)備的Designated端口發(fā)送一定數(shù)量(根據(jù)網(wǎng)絡(luò)狀況,可以手工配置)的單播鏈路狀態(tài)查詢報(bào)文。如圖8所示,為鏈路狀態(tài)查詢報(bào)文的格式示意圖,該鏈路狀態(tài)查詢報(bào)文中可包括協(xié)議標(biāo)識(shí)字段(即圖8中的協(xié)議類型和協(xié)議子類型)、本橋MAC(如C設(shè)備的橋MAC)、本端口 ID (如C設(shè)備的端口 Pl)、本端口角色(如Root角色)、指定橋MAC (如A設(shè)備的橋MAC)、指定端口 ID(如A設(shè)備的端口 P2);此外,還可包括目的MAC(如A設(shè)備的MAC,可以為橋MAC) 和源MAC (如C設(shè)備的MAC,可以為橋MAC)。步驟702,當(dāng)下游設(shè)備在指定時(shí)間(如根據(jù)實(shí)際經(jīng)驗(yàn)可設(shè)置為6s)內(nèi)沒有接收到來自上游設(shè)備的鏈路應(yīng)答報(bào)文時(shí),該下游設(shè)備確定Root端口到Designated端口的方向上發(fā)生單通故障。例如,C設(shè)備在指定時(shí)間內(nèi)沒有接收到A設(shè)備的鏈路應(yīng)答報(bào)文時(shí),C設(shè)備確定 C設(shè)備的端口 Pl到A設(shè)備的端口 P2的方向上發(fā)生單通故障。本發(fā)明中,Root端口在發(fā)送完鏈路狀態(tài)查詢報(bào)文后,如果指定時(shí)間(如3倍STP Hello定時(shí)器超時(shí)時(shí)間,STP Hello定時(shí)器超時(shí)時(shí)間可為2s)內(nèi)還沒有收到上游Designated 端口發(fā)送來的鏈路應(yīng)答報(bào)文,則可以認(rèn)為Root端口到上游Designated端口方向的鏈路故障;之后,下游設(shè)備可向網(wǎng)管發(fā)送黑洞告警報(bào)文,以幫助網(wǎng)管及時(shí)排除網(wǎng)絡(luò)故障。需要說明的是,下游設(shè)備通過Root端口向Designated端口發(fā)送鏈路狀態(tài)查詢報(bào)文之后,如果上游設(shè)備可接收到鏈路狀態(tài)查詢報(bào)文,則上游設(shè)備檢查鏈路狀態(tài)查詢報(bào)文中攜帶的橋MAC和Designated端口的標(biāo)識(shí);如果鏈路狀態(tài)查詢報(bào)文中攜帶的橋MAC與上游設(shè)備的橋MAC —致,且攜帶的Designated端口的標(biāo)識(shí)與上游設(shè)備接收到鏈路狀態(tài)查詢報(bào)文的端口一致,則上游設(shè)備通過Designated端口向Root端口發(fā)送鏈路應(yīng)答報(bào)文。具體的,上游設(shè)備收到鏈路狀態(tài)查詢報(bào)文后,檢查其中的指定橋MAC字段和指定端口 ID字段,如果指定橋MAC和本設(shè)備的橋MAC不一致、或者指定端口 ID和本設(shè)備收包端口不一致,則丟棄該鏈路狀態(tài)查詢報(bào)文。否則,上游設(shè)備向下游設(shè)備的Root端口發(fā)送鏈路應(yīng)答報(bào)文(以圖8的格式進(jìn)行發(fā)送,如指定橋MAC為C設(shè)備的橋MAC、指定端口 ID為C設(shè)備的端口 Pl),并記錄下游設(shè)備端口的如下信息橋MAC、端口角色和端口 ID。之后,下游設(shè)備在收到鏈路應(yīng)答報(bào)文后,根據(jù)鏈路應(yīng)答報(bào)文中的指定橋MAC和指定端口 ID信息確認(rèn)其是否是發(fā)送給自身的鏈路應(yīng)答報(bào)文,如果是,則該下游設(shè)備確定Root 端口到Designated端口的方向上沒有發(fā)生單通故障。本發(fā)明中,下游設(shè)備通過Root端口向Designated端口發(fā)送鏈路狀態(tài)查詢報(bào)文之后,如果上游設(shè)備通過Designated端口接收到鏈路狀態(tài)查詢報(bào)文,則上游設(shè)備統(tǒng)計(jì)預(yù)設(shè)周期(可以根據(jù)網(wǎng)絡(luò)狀況配置,例如,2s)內(nèi)Designated端口接收到的來自下游設(shè)備的數(shù)據(jù)量 (即數(shù)據(jù)報(bào)文的數(shù)量),當(dāng)數(shù)據(jù)量小于預(yù)設(shè)閾值(可根據(jù)實(shí)際經(jīng)驗(yàn)進(jìn)行選擇,例如設(shè)為正常流量的20% ;假設(shè)正常情況下2s內(nèi)應(yīng)該可以接受到100M的數(shù)據(jù)量,當(dāng)在2s內(nèi)接收到的數(shù)據(jù)量小于20M時(shí),則說明預(yù)設(shè)周期內(nèi)數(shù)據(jù)量小于預(yù)設(shè)閾值)時(shí),上游設(shè)備確定Root端口到Designated端口的方向上發(fā)生單通故障。進(jìn)一步的,當(dāng)數(shù)據(jù)量小于預(yù)設(shè)閾值時(shí),上游設(shè)備還可通過Designated端口向Root 端口發(fā)送鏈路狀態(tài)查詢報(bào)文;當(dāng)上游設(shè)備在指定時(shí)間內(nèi)沒有接收到來自下游設(shè)備的鏈路應(yīng)答報(bào)文時(shí),則上游設(shè)備確定Root端口到Designated端口的方向上發(fā)生單通故障。具體的,上游設(shè)備對(duì)收到鏈路狀態(tài)查詢報(bào)文的端口(A設(shè)備的端口 P》啟動(dòng)鏈路狀態(tài)探測(cè)每過時(shí)間T(T值可根據(jù)網(wǎng)絡(luò)狀況配置)統(tǒng)計(jì)A設(shè)備的端口 Ρ2的入方向的收包計(jì)數(shù), 如果一個(gè)T周期內(nèi)A設(shè)備的端口 Ρ2收包計(jì)數(shù)小于配置閾值,則認(rèn)為Root端口到Designated 端口的方向可能出現(xiàn)鏈路故障,并進(jìn)一步執(zhí)行以下探測(cè)上游設(shè)備的Designated端口向下游設(shè)備的Root端口發(fā)送一定數(shù)量的鏈路狀態(tài)查詢報(bào)文,當(dāng)Root端口收到鏈路狀態(tài)查詢報(bào)文后,向Designated端口回復(fù)鏈路應(yīng)答報(bào)文;之后,如果Designated端口收到鏈路應(yīng)答報(bào)文,則認(rèn)為Root端口到Designated端口的方向上沒有發(fā)生單通故障,繼續(xù)按間隔T作端口收包檢測(cè);如果在一定時(shí)間閾值后, Designated端口收不到鏈路應(yīng)答報(bào)文,或收到的報(bào)文數(shù)量小于規(guī)定閾值,則認(rèn)為Root端口到Designated端口的方向上發(fā)生單通故障,斷定出現(xiàn)了網(wǎng)絡(luò)黑洞,之后,上游設(shè)備可向網(wǎng)管發(fā)送黑洞告警報(bào)文,以幫助網(wǎng)管及時(shí)排除網(wǎng)絡(luò)故障。本發(fā)明中,當(dāng)Root端口的角色變?yōu)锳lternate端口時(shí),如果上游設(shè)備通過 Designated端口接收到角色刷新報(bào)文,且角色刷新報(bào)文中攜帶Root端口的新角色為 Alternate端口,則上游設(shè)備停止統(tǒng)計(jì)Designated端口接收到的來自下游設(shè)備的數(shù)據(jù)量。具體的,由于下游設(shè)備端口的STP角色可能出現(xiàn)Root端口和Alternate端口之間的角色互換,當(dāng)發(fā)生角色互換時(shí),下游設(shè)備需要向上游設(shè)備發(fā)送一定數(shù)量(根據(jù)網(wǎng)絡(luò)狀況, 可以手工配置)的角色刷新報(bào)文,且角色刷新報(bào)文中包含新角色信息(可根據(jù)圖8所示的格式進(jìn)行發(fā)送,且本端口角色字段為新角色的信息)。上游設(shè)備的端口收到角色刷新報(bào)文后,如果根據(jù)角色刷新報(bào)文中的指定橋MAC及指定端口 ID信息判斷該角色刷新報(bào)文是發(fā)送給自身的,則回應(yīng)刷新應(yīng)答報(bào)文,并檢查角色刷新報(bào)文中的新角色信息;如果新角色是Alternate端口,則上游設(shè)備關(guān)閉Designated端口的鏈路狀態(tài)探測(cè)過程;如果新角色是Root端口,則上游設(shè)備啟動(dòng)Designated端口的鏈路狀態(tài)探測(cè)過程。此外,如果下游設(shè)備的端口的新角色是Root端口,則下游設(shè)備的端口發(fā)送角色刷新報(bào)文后,如果3倍的STP Hello定時(shí)器超時(shí)后,還沒有收到上游設(shè)備的Designated端口發(fā)送來的刷新應(yīng)答報(bào)文,則下游設(shè)備可認(rèn)為Root端口到Designated端口的方向上發(fā)生單通故障,之后,下游設(shè)備可向網(wǎng)管發(fā)送黑洞告警報(bào)文,以幫助網(wǎng)管及時(shí)排除網(wǎng)絡(luò)故障?;谂c上述方法同樣的發(fā)明構(gòu)思,本發(fā)明還提出了一種單通故障的檢測(cè)設(shè)備,應(yīng)用于生成樹協(xié)議STP網(wǎng)絡(luò)中,所述STP網(wǎng)絡(luò)中的下游設(shè)備通過根Root端口與上游設(shè)備的指定Designated端口連接,所述檢測(cè)設(shè)備為下游設(shè)備或上游設(shè)備,如圖9所示,所述檢測(cè)設(shè)備包括發(fā)送模塊11和處理模塊12 ;其中當(dāng)所述檢測(cè)設(shè)備為下游設(shè)備時(shí),所述發(fā)送模塊11,用于通過所述Root端口向所述 Designated端口發(fā)送鏈路狀態(tài)查詢報(bào)文;所述處理模塊12,用于當(dāng)在指定時(shí)間內(nèi)沒有接收到來自所述上游設(shè)備的鏈路應(yīng)答報(bào)文時(shí),確定所述Root端口到所述Designated端口的方向上發(fā)生單通故障。
所述鏈路狀態(tài)查詢報(bào)文中攜帶所述上游設(shè)備的橋MAC以及所述Designated端口的標(biāo)識(shí)。當(dāng)所述檢測(cè)設(shè)備為上游設(shè)備時(shí),所述處理模塊12,用于當(dāng)接收到來自下游設(shè)備的鏈路狀態(tài)查詢報(bào)文時(shí),檢查所述來自下游設(shè)備的鏈路狀態(tài)查詢報(bào)文中攜帶的橋MAC和 Designated端口的標(biāo)識(shí);所述發(fā)送模塊11,用于當(dāng)所述來自下游設(shè)備的鏈路狀態(tài)查詢報(bào)文中攜帶的橋MAC與所述上游設(shè)備的橋MAC —致,且攜帶的Designated端口的標(biāo)識(shí)與所述上游設(shè)備接收到所述來自下游設(shè)備的鏈路狀態(tài)查詢報(bào)文的端口一致時(shí),通過所述Designated 端口向所述Root端口發(fā)送鏈路應(yīng)答報(bào)文。當(dāng)所述檢測(cè)設(shè)備為上游設(shè)備時(shí),所述處理模塊12,還用于當(dāng)通過所述Designated 端口接收到所述來自下游設(shè)備的鏈路狀態(tài)查詢報(bào)文時(shí),則統(tǒng)計(jì)預(yù)設(shè)周期內(nèi)所述Designated 端口接收到的來自所述下游設(shè)備的數(shù)據(jù)量,當(dāng)所述數(shù)據(jù)量小于預(yù)設(shè)閾值時(shí),確定所述Root 端口到所述Designated端口的方向上發(fā)生單通故障。所述處理模塊12,具體用于在確定所述Root端口到所述Designated端口的方向上發(fā)生單通故障時(shí),通過所述Designated端口向所述Root端口發(fā)送鏈路狀態(tài)查詢報(bào)文;當(dāng)在指定時(shí)間內(nèi)沒有接收到來自所述下游設(shè)備的鏈路應(yīng)答報(bào)文時(shí),確定所述Root端口到所述Designated端口的方向上發(fā)生單通故障。所述處理模塊12,還用于當(dāng)所述Root端口的角色變?yōu)閭浞軦lternate端口時(shí),如果通過所述Designated端口接收到角色刷新報(bào)文,且所述角色刷新報(bào)文中攜帶所述Root 端口的新角色為Alternate端口,則停止統(tǒng)計(jì)所述Designated端口接收到的來自所述下游設(shè)備的數(shù)據(jù)量。其中,本發(fā)明裝置的各個(gè)模塊可以集成于一體,也可以分離部署。上述模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子模塊。通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可以通過硬件實(shí)現(xiàn),也可以借助軟件加必要的通用硬件平臺(tái)的方式來實(shí)現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲(chǔ)在一個(gè)非易失性存儲(chǔ)介質(zhì)(可以是⑶-ROM,U盤,移動(dòng)硬盤等)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。本領(lǐng)域技術(shù)人員可以理解附圖只是一個(gè)優(yōu)選實(shí)施例的示意圖,附圖中的模塊或流程并不一定是實(shí)施本發(fā)明所必須的。本領(lǐng)域技術(shù)人員可以理解實(shí)施例中的裝置中的模塊可以按照實(shí)施例描述進(jìn)行分布于實(shí)施例的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施例的一個(gè)或多個(gè)裝置中。上述實(shí)施例的模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子模塊。上述本發(fā)明序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。以上公開的僅為本發(fā)明的幾個(gè)具體實(shí)施例,但是,本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種單通故障的檢測(cè)方法,應(yīng)用于生成樹協(xié)議STP網(wǎng)絡(luò)中,所述STP網(wǎng)絡(luò)中的下游設(shè)備通過根Root端口與上游設(shè)備的指定Designated端口連接,其特征在于,該方法包括以下步驟所述下游設(shè)備通過所述Root端口向所述Designated端口發(fā)送鏈路狀態(tài)查詢報(bào)文;當(dāng)所述下游設(shè)備在指定時(shí)間內(nèi)沒有接收到來自所述上游設(shè)備的鏈路應(yīng)答報(bào)文時(shí),所述下游設(shè)備確定所述Root端口到所述Designated端口的方向上發(fā)生單通故障。
2.如權(quán)利要求1所述的方法,其特征在于,所述鏈路狀態(tài)查詢報(bào)文中攜帶所述上游設(shè)備的橋MAC以及所述Designated端口的標(biāo)識(shí);所述下游設(shè)備通過所述Root端口向所述Designated端口發(fā)送鏈路狀態(tài)查詢報(bào)文,之后還包括如果所述上游設(shè)備接收到所述鏈路狀態(tài)查詢報(bào)文,則所述上游設(shè)備檢查所述鏈路狀態(tài)查詢報(bào)文中攜帶的橋MAC和Designated端口的標(biāo)識(shí);如果所述鏈路狀態(tài)查詢報(bào)文中攜帶的橋MAC與所述上游設(shè)備的橋MAC —致,且攜帶的 Designated端口的標(biāo)識(shí)與所述上游設(shè)備接收到所述鏈路狀態(tài)查詢報(bào)文的端口一致,則所述上游設(shè)備通過所述Designated端口向所述Root端口發(fā)送鏈路應(yīng)答報(bào)文。
3.如權(quán)利要求1所述的方法,其特征在于,所述下游設(shè)備通過所述Root端口向所述 Designated端口發(fā)送鏈路狀態(tài)查詢報(bào)文,之后還包括如果所述上游設(shè)備通過所述Designated端口接收到所述鏈路狀態(tài)查詢報(bào)文,則所述上游設(shè)備統(tǒng)計(jì)預(yù)設(shè)周期內(nèi)所述Designated端口接收到的來自所述下游設(shè)備的數(shù)據(jù)量,當(dāng)所述數(shù)據(jù)量小于預(yù)設(shè)閾值時(shí),所述上游設(shè)備確定所述Root端口到所述Designated端口的方向上發(fā)生單通故障。
4.如權(quán)利要求3所述的方法,其特征在于,所述上游設(shè)備確定所述Root端口到所述 Designated端口的方向上發(fā)生單通故障,進(jìn)一步包括所述上游設(shè)備通過所述Designated端口向所述Root端口發(fā)送鏈路狀態(tài)查詢報(bào)文;當(dāng)所述上游設(shè)備在指定時(shí)間內(nèi)沒有接收到來自所述下游設(shè)備的鏈路應(yīng)答報(bào)文時(shí),所述上游設(shè)備確定所述Root端口到所述Designated端口的方向上發(fā)生單通故障。
5.如權(quán)利要求3所述的方法,其特征在于,所述方法還包括當(dāng)所述Root端口的角色變?yōu)閭浞軦lternate端口時(shí),如果所述上游設(shè)備通過所述 Designated端口接收到角色刷新報(bào)文,且所述角色刷新報(bào)文中攜帶所述Root端口的新角色為Alternate端口,則所述上游設(shè)備停止統(tǒng)計(jì)所述Designated端口接收到的來自所述下游設(shè)備的數(shù)據(jù)量。
6.一種單通故障的檢測(cè)設(shè)備,應(yīng)用于生成樹協(xié)議STP網(wǎng)絡(luò)中,所述STP網(wǎng)絡(luò)中的下游設(shè)備通過根Root端口與上游設(shè)備的指定Designated端口連接,其特征在于,所述檢測(cè)設(shè)備為下游設(shè)備或上游設(shè)備,且所述檢測(cè)設(shè)備包括發(fā)送模塊和處理模塊;其中當(dāng)所述檢測(cè)設(shè)備為下游設(shè)備時(shí),所述發(fā)送模塊,用于通過所述Root端口向所述Designated端口發(fā)送鏈路狀態(tài)查詢報(bào)文;所述處理模塊,用于當(dāng)在指定時(shí)間內(nèi)沒有接收到來自所述上游設(shè)備的鏈路應(yīng)答報(bào)文時(shí),確定所述Root端口到所述Designated端口的方向上發(fā)生單通故障。
7.如權(quán)利要求6所述的設(shè)備,其特征在于,所述鏈路狀態(tài)查詢報(bào)文中攜帶所述上游設(shè)備的橋MAC以及所述Designated端口的標(biāo)識(shí)。
8.如權(quán)利要求7所述的設(shè)備,其特征在于,當(dāng)所述檢測(cè)設(shè)備為上游設(shè)備時(shí),所述處理模塊,用于當(dāng)接收到來自下游設(shè)備的鏈路狀態(tài)查詢報(bào)文時(shí),檢查所述來自下游設(shè)備的鏈路狀態(tài)查詢報(bào)文中攜帶的橋MAC和Designated端口的標(biāo)識(shí);所述發(fā)送模塊,用于當(dāng)所述來自下游設(shè)備的鏈路狀態(tài)查詢報(bào)文中攜帶的橋MAC與所述上游設(shè)備的橋MAC —致,且攜帶的Designated端口的標(biāo)識(shí)與所述上游設(shè)備接收到所述來自下游設(shè)備的鏈路狀態(tài)查詢報(bào)文的端口一致時(shí),通過所述Designated端口向所述Root端口發(fā)送鏈路應(yīng)答報(bào)文。
9.如權(quán)利要求6所述的設(shè)備,其特征在于,當(dāng)所述檢測(cè)設(shè)備為上游設(shè)備時(shí),所述處理模塊,還用于當(dāng)通過所述Designated端口接收到所述來自下游設(shè)備的鏈路狀態(tài)查詢報(bào)文時(shí),則統(tǒng)計(jì)預(yù)設(shè)周期內(nèi)所述Designated端口接收到的來自所述下游設(shè)備的數(shù)據(jù)量,當(dāng)所述數(shù)據(jù)量小于預(yù)設(shè)閾值時(shí),確定所述Root端口到所述Designated端口的方向上發(fā)生單通故障。
10.如權(quán)利要求9所述的設(shè)備,其特征在于,所述處理模塊,具體用于在確定所述Root端口到所述Designated端口的方向上發(fā)生單通故障時(shí),通過所述Designated端口向所述Root端口發(fā)送鏈路狀態(tài)查詢報(bào)文;當(dāng)在指定時(shí)間內(nèi)沒有接收到來自所述下游設(shè)備的鏈路應(yīng)答報(bào)文時(shí),確定所述Root端口到所述 Designated端口的方向上發(fā)生單通故障。
11.如權(quán)利要求9所述的設(shè)備,其特征在于,所述處理模塊,還用于當(dāng)所述Root端口的角色變?yōu)閭浞軦lternate端口時(shí),如果通過所述Designated端口接收到角色刷新報(bào)文,且所述角色刷新報(bào)文中攜帶所述Root端口的新角色為Alternate端口,則停止統(tǒng)計(jì)所述Designated端口接收到的來自所述下游設(shè)備的數(shù)據(jù)量。
全文摘要
本發(fā)明公開了一種單通故障的檢測(cè)方法和設(shè)備,該方法包括下游設(shè)備通過Root端口向Designated端口發(fā)送鏈路狀態(tài)查詢報(bào)文;當(dāng)所述下游設(shè)備在指定時(shí)間內(nèi)沒有接收到來自所述上游設(shè)備的鏈路應(yīng)答報(bào)文時(shí),所述下游設(shè)備確定所述Root端口到所述Designated端口的方向上發(fā)生單通故障。本發(fā)明中,可準(zhǔn)確檢測(cè)出單通故障。
文檔編號(hào)H04L12/56GK102355364SQ20111023256
公開日2012年2月15日 申請(qǐng)日期2011年8月15日 優(yōu)先權(quán)日2011年8月15日
發(fā)明者王兆萍, 蔣茂勇 申請(qǐng)人:杭州華三通信技術(shù)有限公司