專利名稱:一種在環(huán)網(wǎng)中實現(xiàn)快速收斂的方法、裝置及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù),尤其是指一種在環(huán)網(wǎng)中實現(xiàn)快速收斂的方法、裝
置及系統(tǒng)。
背景技術(shù):
隨著以太網(wǎng)在城域網(wǎng)中的廣泛應(yīng)用,特別是在以太網(wǎng)上的點對點協(xié)議
(PPPoE, Point-to-Point Protocol over Ethernet )接入才莫式中和虛擬局域網(wǎng)(Vlan, Virtual Local Area Network)類型的虛擬專用網(wǎng)(VPN, Virtual Private Network) 應(yīng)用才莫式中,二層網(wǎng)絡(luò)的規(guī)模越來越大,而隨著網(wǎng)絡(luò)規(guī)模的不斷擴(kuò)大,在大型 交換網(wǎng)絡(luò)中將可能會出現(xiàn)環(huán)路。在出現(xiàn)了環(huán)路的大型網(wǎng)絡(luò)中,由于報文4艮有可 能會在環(huán)路中被不斷地循環(huán)轉(zhuǎn)發(fā),使得網(wǎng)絡(luò)中所生成的廣播幀的數(shù)量在很短的 時間內(nèi)以指數(shù)形式迅速增長,形成"廣播風(fēng)暴",從而使網(wǎng)絡(luò)變得不堪重負(fù),無 法執(zhí)行任何功能,造成網(wǎng)絡(luò)擁塞。
在現(xiàn)有技術(shù)中,通常使用生成樹(STP, Spanning Tree Protocol)技術(shù)來解 決上述的問題。所述的STP技術(shù)的基本思想為通過構(gòu)造不會出現(xiàn)環(huán)路的樹狀 網(wǎng)絡(luò)結(jié)構(gòu)來達(dá)到防止出現(xiàn)網(wǎng)絡(luò)環(huán)路的目的,即可通過阻塞冗余鏈路來消除網(wǎng)絡(luò) 中可能存在的環(huán)路,并在當(dāng)前活動路徑發(fā)生故障時激活冗余備份鏈路恢復(fù)網(wǎng)絡(luò) 連通性,以確保數(shù)據(jù)或報文只能通過單一路徑抵達(dá)網(wǎng)絡(luò)中的其他設(shè)備。此外, 為了解決STP技術(shù)在擴(kuò)展性和收斂速度上存在的問題,Extreme公司還推出了 一種以太網(wǎng)備用路由器協(xié)議(EAPS)技術(shù),該技術(shù)常用于環(huán)形主干網(wǎng),且不需 要網(wǎng)絡(luò)中所有的交換機(jī)都支持上述技術(shù),因此具備更大的靈活性。另外,除了 EAPS技術(shù),其他一些廠家也推出了類似的以太環(huán)網(wǎng)解決方案。
在上述的這些解決方案中, 一般都是指定環(huán)網(wǎng)上的某個節(jié)點為主節(jié)點,環(huán)網(wǎng)中的其他節(jié)點為傳輸節(jié)點,環(huán)網(wǎng)的管理、計算等大部分工作都是由主節(jié)點完
成。如圖l所示,圖1中的S1為主節(jié)點,S2、 S3和S4為傳輸節(jié)點,四個節(jié)點 之間的傳輸路徑分別為鏈路1-4,從而形成一個環(huán)網(wǎng)。在上述的環(huán)網(wǎng)中,如果 某條鏈路發(fā)生了故障,則該鏈路將處于故障狀態(tài),此時,各節(jié)點在該鏈路上的 端口也將處于故障狀態(tài);同理,當(dāng)某節(jié)點的某個端口出現(xiàn)故障時,該端口將處 于故障狀態(tài),此時,該端口所在的鏈路也將處于故障狀態(tài),并導(dǎo)致該端口所在 的鏈路上的其他端口也將處于故障狀態(tài)。
在通常情況下,可將主節(jié)點Sl與環(huán)網(wǎng)連接的兩個端口分別指定為指定主端 口和從端口,例如,將主節(jié)點Sl在鏈路1上的端口指定為主端口,而將主節(jié)點 Sl在鏈路4上的端口指定為從端口 。主節(jié)點Sl從主端口發(fā)出環(huán)路檢測報文, 如果主節(jié)點Sl在一段設(shè)定的時間內(nèi)從從端口接收到自己發(fā)送的上述環(huán)路4全測 報文,則說明環(huán)網(wǎng)中存在完整的環(huán)路,因此主節(jié)點Sl將阻塞自己的從端口,使 得在環(huán)網(wǎng)中不會形成環(huán)路;如果主節(jié)點Sl在一段設(shè)定的時間內(nèi)沒有收到自己發(fā) 送的上述環(huán)路檢測報文,則說明環(huán)網(wǎng)中的某處出現(xiàn)了故障,沒有形成環(huán)路,因 此主節(jié)點Sl將從端口設(shè)置為轉(zhuǎn)發(fā)狀態(tài),并分別通過主端口和從端口將環(huán)網(wǎng)中出 現(xiàn)故障的信息通知給環(huán)網(wǎng)上的各個節(jié)點。而對于傳輸節(jié)點S2、 S3和S4來說, 它們將透傳上述的環(huán)路檢測報文,并在獲知本節(jié)點在環(huán)網(wǎng)上的端口處于故障狀 態(tài)后,由本節(jié)點在環(huán)網(wǎng)上的處于正常狀態(tài)的端口向主節(jié)點Sl發(fā)送鏈路故障告警 的信息。例如,當(dāng)圖1中的鏈路2處于故障狀態(tài)時,傳輸節(jié)點S2和S3在鏈路 2上的端口也分別處于故障狀態(tài),此時傳輸節(jié)點S2可通過在鏈路1上的端口向 主節(jié)點Sl發(fā)送鏈路故障告警的信息,而傳輸節(jié)點S3則可通過在鏈路3上的端 口向傳輸節(jié)點S4發(fā)送鏈路故障告警的信息,并由傳輸節(jié)點S4將該鏈路故障告 警的信息轉(zhuǎn)發(fā)給主節(jié)點Sl。如果主節(jié)點Sl在收到自己發(fā)送的環(huán)路檢測報文或 通過其他方式獲知環(huán)網(wǎng)中存在完整環(huán)路后,又收到上述鏈路故障告警的信息, 則主節(jié)點Sl將在收到第一條鏈路故障告警的信息時,將從端口設(shè)置為轉(zhuǎn)發(fā)狀 態(tài),并分別通過主端口和從端口將環(huán)網(wǎng)中出現(xiàn)故障的信息通知給環(huán)上各個節(jié)點。
當(dāng)上述環(huán)網(wǎng)中的鏈路故障得到恢復(fù)后,該鏈路故障得到恢復(fù)的消息需要經(jīng)過一定的時延才能傳播到整個網(wǎng)絡(luò)。因此,在所有網(wǎng)絡(luò)節(jié)點獲知網(wǎng)絡(luò)結(jié)構(gòu)的變 化之前,為了避免在重新計算傳輸路徑時出現(xiàn)臨時性環(huán)路,連接在上述故障已
恢復(fù)的鏈路(例如,鏈路2)上的傳輸節(jié)點(例如,上述的傳輸節(jié)點S2和S3) 在獲知該鏈路的故障已得到恢復(fù)時,并不馬上將在該故障已恢復(fù)的鏈路上的端 口 (稱為故障端口 )設(shè)置為轉(zhuǎn)發(fā)狀態(tài),而是先將該故障端口設(shè)置為阻塞狀態(tài)(也 可稱之為臨時阻塞狀態(tài)),并啟動故障恢復(fù)定時器,使得該故障端口只能轉(zhuǎn)發(fā)環(huán) 路檢測報文(例如,以太環(huán)協(xié)議中的hello報文),而不轉(zhuǎn)發(fā)數(shù)據(jù)。當(dāng)環(huán)網(wǎng)上所 有的鏈路故障都得到恢復(fù)之后,由于環(huán)網(wǎng)上的各傳輸節(jié)點都將透傳主節(jié)點Sl 所發(fā)送的hello報文,因此主節(jié)點Sl可收到自己所發(fā)送的hello報文。當(dāng)主節(jié)點 Sl第一次收到自己所發(fā)送的hello報文后,主節(jié)點Sl將阻塞從端口 ,并將環(huán)路 完整的信息通知給環(huán)網(wǎng)上的各個節(jié)點。上述與故障已恢復(fù)的鏈路相連接的各個 傳輸節(jié)點在收到主節(jié)點Sl的環(huán)路完整的信息后,將改變上述故障端口的狀態(tài), 將上述的故障端口設(shè)置為轉(zhuǎn)發(fā)狀態(tài),同時關(guān)閉故障恢復(fù)定時器。
但是,如果環(huán)網(wǎng)上存在多處鏈路故障,則當(dāng)其中某一處鏈路故障得到恢復(fù), 而其他的鏈路故障還尚未得到恢復(fù)時,由于環(huán)路尚不完整,所以主節(jié)點S1不會 收到hello報文,因此也不會向各個節(jié)點發(fā)送環(huán)路完整的信息,上述與故障已恢 復(fù)的鏈路相連接的傳輸節(jié)點只能等到故障恢復(fù)定時器超時(時間長度一般為 hello報文發(fā)送周期的三倍)時,才能將上述臨時阻塞的端口設(shè)置為轉(zhuǎn)發(fā)狀態(tài)。
由上述可知,在現(xiàn)有技術(shù)中,如果環(huán)網(wǎng)上存在多處鏈路故障,則即使是該 環(huán)網(wǎng)上某條鏈路的故障已得到恢復(fù)時,與該故障已恢復(fù)的鏈路相連接的各個節(jié) 點也必須在接收到主節(jié)點所發(fā)送的環(huán)路完整的信息之后,或者是在節(jié)點的故障 恢復(fù)定時器超時之后,才能將在該故障已恢復(fù)的鏈路上的端口設(shè)置為轉(zhuǎn)發(fā)狀態(tài), 從而使得在故障已恢復(fù)的鏈路上的端口進(jìn)入轉(zhuǎn)發(fā)狀態(tài)的時間較長,導(dǎo)致整個環(huán) 網(wǎng)的故障恢復(fù)的收斂時間較長,降低了網(wǎng)絡(luò)的傳輸效率。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實施例的主要目的在于提供一種在環(huán)網(wǎng)中實現(xiàn)快速收斂
7的方法、裝置及系統(tǒng),》人而縮短環(huán)網(wǎng)的故障恢復(fù)的收癥支時間。
為達(dá)到上述目的,本發(fā)明實施例中的技術(shù)方案是這樣實現(xiàn)的
一種在環(huán)網(wǎng)中實現(xiàn)快速收斂的方法,該方法包括
當(dāng)環(huán)網(wǎng)中的一條鏈路從故障狀態(tài)恢復(fù)到正常狀態(tài)時,與所述恢復(fù)到正常狀 態(tài)的鏈路相連接的節(jié)點查詢環(huán)網(wǎng)中是否有至少一條鏈路仍處于故障狀態(tài),如果 是,則該節(jié)點將其與所述恢復(fù)到正常狀態(tài)的鏈路相連的端口設(shè)置為轉(zhuǎn)發(fā)狀態(tài)。
本發(fā)明的實施例中還提供了 一種在環(huán)網(wǎng)中實現(xiàn)快速收斂的裝置,該裝置包
括信息處理模塊和設(shè)置模塊;
所述信息處理模塊,用于當(dāng)與該裝置相連接的鏈路從故障狀態(tài)恢復(fù)到正常 狀態(tài)時,查詢環(huán)網(wǎng)中是否有至少一條鏈路仍處于故障狀態(tài);當(dāng)環(huán)網(wǎng)中有至少一 條鏈路仍處于故障狀態(tài)時,向所述設(shè)置模塊發(fā)送轉(zhuǎn)發(fā)指令;
所述設(shè)置模塊,用于根據(jù)所述轉(zhuǎn)發(fā)指令,將該裝置與所述恢復(fù)到正常狀態(tài) 的鏈路相連的端口設(shè)置為轉(zhuǎn)發(fā)狀態(tài)。
本發(fā)明的實施例中還提供了 一種在環(huán)網(wǎng)中實現(xiàn)快速收斂的系統(tǒng),該系統(tǒng)包 括主節(jié)點和至少兩個傳輸節(jié)點;
所述主節(jié)點,通過鏈路與環(huán)網(wǎng)中的傳輸節(jié)點相連接,用于根據(jù)檢測周期發(fā) 送環(huán)路檢測報文,當(dāng)收到自身發(fā)出的環(huán)路檢測報文時,發(fā)送環(huán)路完整的信息, 并將從端口設(shè)置為阻塞狀態(tài);用于當(dāng)獲知環(huán)網(wǎng)中至少有一處鏈路故障未得到恢
復(fù)時,將該主節(jié)點與故障已恢復(fù)的鏈路相連的端口設(shè)置為轉(zhuǎn)發(fā)狀態(tài);
所述傳輸節(jié)點,通過鏈路與環(huán)網(wǎng)中的主節(jié)點或相鄰傳輸節(jié)點相連接,用于 當(dāng)收到環(huán)路完整的信息時,將處于阻塞狀態(tài)的端口設(shè)置為轉(zhuǎn)發(fā)狀態(tài);用于當(dāng)獲 知環(huán)網(wǎng)中至少有一處鏈路故障未得到恢復(fù)時,將該傳輸節(jié)點與故障已恢復(fù)的鏈 路相連接的端口設(shè)置為轉(zhuǎn)發(fā)狀態(tài)。
綜上可知,本發(fā)明的實施例中提供了 一種在環(huán)網(wǎng)中實現(xiàn)快速收斂的方法、 裝置及系統(tǒng)。通過使用上述的方法、裝置及系統(tǒng),使得當(dāng)環(huán)網(wǎng)中存在多處鏈路 故障時,如果環(huán)網(wǎng)中的一條鏈路從故障狀態(tài)恢復(fù)到正常狀態(tài),則與所述恢復(fù)到 正常狀態(tài)的鏈路相連接的節(jié)點節(jié)點可通過故障查詢應(yīng)答機(jī)制或快/慢檢測切換機(jī)制,快速地將其在所述恢復(fù)到正常狀態(tài)的鏈路上的端口設(shè)置為轉(zhuǎn)發(fā)狀態(tài),因
此有效地縮短了鏈路故障恢復(fù)的收斂時間,使其小于50毫秒(ms),從而縮短
來了整個環(huán)網(wǎng)的故障恢復(fù)的收斂時間,提高了網(wǎng)絡(luò)的傳輸效率。
圖1為現(xiàn)有技術(shù)中的實現(xiàn)鏈路故障恢復(fù)的示意圖。
圖2為本發(fā)明實施例中在環(huán)網(wǎng)中實現(xiàn)快速收斂的方法的總流程圖。 圖3為本發(fā)明實施例一中實現(xiàn)快速收斂的方法的示意圖。 圖4為本發(fā)明實施例二中實現(xiàn)快速收斂的方法的示意圖。 圖5為本發(fā)明實施例中實現(xiàn)快速收斂的裝置的示意圖。
具體實施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點表達(dá)得更加清楚明白,下面結(jié)合附 圖及具體實施例對本發(fā)明再作進(jìn)一步詳細(xì)的說明。
圖2為本發(fā)明實施例中在環(huán)網(wǎng)中實現(xiàn)快速收斂的方法的總流程圖。如圖 2所示,本發(fā)明實施例中在環(huán)網(wǎng)中實現(xiàn)快速收斂的方法包括如下所述的步 驟
步驟201,存在多處鏈路故障的環(huán)網(wǎng)中的某一條鏈路從故障狀態(tài)恢復(fù)到 正常狀態(tài)??蓪⑺龌謴?fù)到正常狀態(tài)的鏈路稱之為故障恢復(fù)鏈路。
步驟202,在故障恢復(fù)鏈路上的節(jié)點查詢并獲知環(huán)網(wǎng)中的其他鏈路仍處 于故障狀態(tài)。
在該步驟中,所述節(jié)點首先判斷其在環(huán)網(wǎng)中未與上述故障恢復(fù)鏈路相連 接的端口是否處于故障狀態(tài),即該節(jié)點在環(huán)網(wǎng)上的其他端口是否可用;
如果其他的端口中有至少一個端口處于故障狀態(tài),則該端口所連接的鏈 路必然處于故障狀態(tài);該節(jié)點可立即獲知環(huán)網(wǎng)中的其他鏈路仍處于故障狀 態(tài);
如果其他端口均處于正常狀態(tài),即其他端口均可用,則所述節(jié)點將通過上述可用端口發(fā)送查詢信息;環(huán)網(wǎng)中的其他傳輸節(jié)點在接收到該查詢信息 后,如果發(fā)現(xiàn)該環(huán)網(wǎng)中與自身相連接的鏈路均未處于故障狀態(tài)時,則該節(jié)點
將透傳該查詢信息,直至環(huán)網(wǎng)中的主節(jié)點接收到該查詢信息;當(dāng)主節(jié)點在接 收到上述查詢信息后,如果發(fā)現(xiàn)該環(huán)網(wǎng)中與自身相連接的鏈路均未處于故障 狀態(tài)時,則主節(jié)點不做任何操作。
而如果接收到該查詢信息的節(jié)點(包括主節(jié)點和其他傳輸節(jié)點)發(fā)現(xiàn)該 環(huán)網(wǎng)中與自身相連接的鏈路處于故障狀態(tài)時,則該節(jié)點將從接收到上述查詢 信息的端口返回一個與上述查詢信息相對應(yīng)的應(yīng)答信息;當(dāng)上述發(fā)送查詢信 息的節(jié)點從上述可用端口接收到了與所述查詢信息相對應(yīng)的應(yīng)答信息時,則 該節(jié)點可知環(huán)網(wǎng)中的至少有一處鏈路仍處于故障狀態(tài),因此執(zhí)行步驟203 。 步驟203 ,該節(jié)點將其在故障恢復(fù)鏈路上的端口設(shè)置為轉(zhuǎn)發(fā)狀態(tài)。 以下將結(jié)合具體實施例對上述的在環(huán)網(wǎng)中實現(xiàn)快速收斂的方法進(jìn)行更 進(jìn)一步的介紹。
實施例 一使用故障查詢應(yīng)答機(jī)制實現(xiàn)快速收斂的方法。
在本實施例中,所述的故障查詢應(yīng)答機(jī)制為當(dāng)環(huán)網(wǎng)中的存在多處鏈路 故障時,如果某處鏈路故障得到了恢復(fù),則與該故障已恢復(fù)的鏈路相連接的 各個節(jié)點可通過發(fā)送查詢消息來查詢環(huán)網(wǎng)上是否還存在其他的鏈路故障;如 果與該故障已恢復(fù)的鏈路相連接的節(jié)點接收到了與上述查詢信息相對應(yīng)的 應(yīng)答信息,則該節(jié)點可獲知環(huán)網(wǎng)上還存在其他的鏈路故障,因此,該節(jié)點可 將當(dāng)前故障恢復(fù)的端口直接設(shè)置為轉(zhuǎn)發(fā)狀態(tài)。
在以下的描述中,將以 一 個具有1個主節(jié)點和3個傳輸節(jié)點的環(huán)網(wǎng)為例, 對本實施例的具體實施方式
進(jìn)行介紹。
圖3為本發(fā)明實施例一中實現(xiàn)快速收斂的方法的示意圖。如圖3所示, 圖3中的環(huán)網(wǎng)具有一個主節(jié)點Sl, 3個傳輸節(jié)點S2、 S3和S4。其中,可 假設(shè)環(huán)網(wǎng)中的鏈路2和鏈路4均發(fā)生了故障,此時,傳輸節(jié)點S2和S3在鏈 路2上的端口處于故障狀態(tài),主節(jié)點Sl和傳輸節(jié)點S4在鏈路4上的端口也處于故障狀態(tài)。
如果在一段時間后鏈路2的故障得到了恢復(fù),則傳輸節(jié)點S3可通過在
鏈路2上的端口獲知鏈路2的故障已得到恢復(fù)。此時,S3判斷自己在環(huán)網(wǎng) 中的另一個端口 ,即S3在鏈路3上的端口是否處于故障狀態(tài)。如果S3在鏈 路3上的端口處于故障狀態(tài),則此時鏈路3必然也處于故障狀態(tài),所以在環(huán) 網(wǎng)中不會出現(xiàn)完整的環(huán)路,因此S3將其在鏈路2上的端口直接設(shè)置為轉(zhuǎn)發(fā) 狀態(tài);如果S3在鏈路3上的端口處于正常狀態(tài),則S3將通過其在鏈路3 上的端口向S4發(fā)送鏈路恢復(fù)報文;當(dāng)S4通過鏈路3收到上述鏈路恢復(fù)報文 時,由于鏈路4的故障仍未得到恢復(fù),因此傳輸節(jié)點S4將通過收到鏈路恢 復(fù)報文的端口 ,即S4在鏈路3上的端口向S3發(fā)送鏈路故障才艮文;當(dāng)S3收 到S4的鏈路故障報文后,S3可獲知鏈路4的故障仍未得到恢復(fù),因此在環(huán) 網(wǎng)中不會出現(xiàn)完整的環(huán)路,所以S3可立即將其在鏈路2上的端口直接設(shè)置 為轉(zhuǎn)發(fā)狀態(tài)。
與上述的傳輸節(jié)點S3相類似,當(dāng)傳輸節(jié)點S2通過在鏈路2上的端口獲 知鏈路2的故障已得到恢復(fù)時,S2也將判斷自己在環(huán)網(wǎng)中的另一個端口, 即S2在鏈路1上的端口是否處于故障狀態(tài)。如果S2在鏈路1上的端口處于 故障狀態(tài),此時鏈路1必然也處于故障狀態(tài),所以在環(huán)網(wǎng)中不會出現(xiàn)完整的 環(huán)路,因此S2將其在鏈路2上的端口直接設(shè)置為轉(zhuǎn)發(fā)狀態(tài);如果S2在鏈路 1上的端口處于正常狀態(tài),則S2將通過其在鏈路1上的端口上向主節(jié)點Sl 發(fā)送鏈路恢復(fù)報文;當(dāng)主節(jié)點Sl通過鏈路1收到上述鏈路恢復(fù)報文時,由 于鏈路4的故障仍未得到恢復(fù),因此主節(jié)點Sl將通過收到鏈路恢復(fù)報文的 端口 ,即Sl在鏈路1上的端口向S2發(fā)送鏈路故障報文;當(dāng)S2收到Sl發(fā) 送的鏈路故障報文后,S2將其在鏈路2上的端口直接設(shè)置為轉(zhuǎn)發(fā)狀態(tài),并 將所接收到的鏈路故障報文轉(zhuǎn)發(fā)給傳輸節(jié)點S3;如果S3在接收到S2所轉(zhuǎn) 發(fā)的鏈路故障報文時,已經(jīng)將其在鏈路2上的端口設(shè)置為轉(zhuǎn)發(fā)狀態(tài),則S3 只向S4轉(zhuǎn)發(fā)所接收到的鏈路故障報文,不做其他的操作。
此時,在整個環(huán)路中,鏈路2已經(jīng)從故障狀態(tài)恢復(fù)到正常狀態(tài),而鏈路4仍處于故障狀態(tài),因此主節(jié)點Sl不會發(fā)送環(huán)路完整的信息。但傳輸節(jié)點
S2和S3可根據(jù)所接收到的鏈路故障報文分別將自身在鏈路2上的端口直接 設(shè)置為轉(zhuǎn)發(fā)狀態(tài),而并不需要等到故障恢復(fù)定時器超時后,再將上述在鏈路 2上的端口設(shè)置為轉(zhuǎn)發(fā)狀態(tài)。因此,通過上述的方法,當(dāng)環(huán)網(wǎng)中至少有一處 鏈路故障未得到恢復(fù)時,各個節(jié)點可以直接將其在故障已恢復(fù)的鏈路上的端 口設(shè)置為轉(zhuǎn)發(fā)狀態(tài),而無須等到接收到主節(jié)點發(fā)送的環(huán)路完整的信息后,或 在該節(jié)點的故障恢復(fù)定時器超時之后,才將上述端口設(shè)置為轉(zhuǎn)發(fā)狀態(tài),從而 縮短了環(huán)網(wǎng)的故障恢復(fù)的收斂時間。
在上述的描述中,是以鏈路2和鏈路4均發(fā)生故障,且鏈路2的故障先 得到恢復(fù)為例來進(jìn)行說明的;當(dāng)鏈路4的故障先得到恢復(fù),而鏈路2的故障
因此不再贅述。
另外,在本實施例中,在使用故障查詢應(yīng)答機(jī)制實現(xiàn)快速收斂的基礎(chǔ)上, 還可以同時使用如下所述的實施例二中的快/慢檢測切換機(jī)制來實現(xiàn)快速收 凌夂的方法。
實施例二使用快/慢檢測切換機(jī)制實現(xiàn)快速收斂的方法。 在本實施例中,所述的快/慢檢測切換機(jī)制為主節(jié)點首先判斷其所處 的環(huán)網(wǎng)處于何種狀態(tài),如果主節(jié)點判斷所處的環(huán)網(wǎng)處于正常狀態(tài),則采用慢 檢測模式,即主節(jié)點以慢檢測周期(例如,1秒)連續(xù)發(fā)送環(huán)路檢測報文, 進(jìn)行狀態(tài)維護(hù);而當(dāng)環(huán)網(wǎng)中出現(xiàn)故障時,則主節(jié)點將切換到快檢測模式,即 主節(jié)點以快檢測周期(例如,10毫秒)連續(xù)發(fā)送環(huán)路檢測報文,從而可快 速地發(fā)現(xiàn)環(huán)網(wǎng)上的鏈路故障恢復(fù)情況。在快檢測模式中,環(huán)網(wǎng)上的非主節(jié)點 (例如,傳輸節(jié)點等)的故障恢復(fù)定時器采用主節(jié)點快發(fā)周期的三倍或以上, 例如30毫秒,即在發(fā)生故障的端口的故障得到恢復(fù)的30ms后,就將該發(fā)生 故障的端口設(shè)置為轉(zhuǎn)發(fā)狀態(tài)。其中,上述的慢檢測周期和快檢測周期可根據(jù) 具體實際情況預(yù)先進(jìn)行設(shè)置。圖4為本發(fā)明實施例二中實現(xiàn)快速收斂的方法的示意圖。如圖4所示,
當(dāng)環(huán)網(wǎng)上存在多處故障時,即鏈路2和4均發(fā)生故障時,此時環(huán)網(wǎng)處于故障 狀態(tài),所以主節(jié)點Sl將采用快檢測模式,以快檢測周期快速發(fā)送環(huán)路檢測 報文,例如,每10毫秒(ms)發(fā)送一個環(huán)路檢測報文。在本實施例中,可 假設(shè)鏈路2的故障先得到恢復(fù),而鏈路4仍然存在故障,此時主節(jié)點S1仍 然收不到自己所發(fā)送的環(huán)路檢測報文,因此主節(jié)點判斷環(huán)網(wǎng)仍然處于故障狀 態(tài),繼續(xù)采用快檢測模式。此時,傳輸節(jié)點S2和傳輸節(jié)點S3在故障恢復(fù)定 時器超時(例如,30毫秒)后,將在鏈路2上的端口設(shè)置為轉(zhuǎn)發(fā)狀態(tài)。
如果上述的環(huán)網(wǎng)中僅出現(xiàn)了一處故障,例如,圖4所示的鏈路4出現(xiàn)了 故障。當(dāng)鏈路4的故障得到恢復(fù)后,主節(jié)點Sl和傳輸節(jié)點S4在鏈路4上的 端口都進(jìn)入阻塞狀態(tài),同時S1和S2都啟動了各自的故障恢復(fù)定時器。因為 此時的環(huán)網(wǎng)仍處于故障狀態(tài),所以主節(jié)點Sl采用的是快檢測模式,因此, 在一個發(fā)送周期(例如,IO毫秒)后,主節(jié)點Sl便可以收到自己所發(fā)送的 環(huán)路檢測報文,從而阻塞S1的從端口,使得環(huán)網(wǎng)由故障狀態(tài)進(jìn)入到環(huán)路完 整的狀態(tài),此時,主節(jié)點Sl將切換到慢檢測模式,并將環(huán)路完整的信息發(fā) 送給環(huán)網(wǎng)上的各個節(jié)點;環(huán)網(wǎng)上的其他非主節(jié)點(例如,S4)收到上述環(huán)^各 完整的信息后,將上述被阻塞的端口設(shè)置為轉(zhuǎn)發(fā)狀態(tài)。
在本發(fā)明的實施例中,還可提供一種在環(huán)網(wǎng)中實現(xiàn)快速收斂的裝置。圖 5為本發(fā)明實施例中實現(xiàn)快速收斂的裝置的示意圖。如圖5所示,本發(fā)明實 施例中的實現(xiàn)快速收斂的裝置包括信息處理模塊和設(shè)置模塊;
所述信息處理模塊,用于當(dāng)與該裝置相連接的鏈路從故障狀態(tài)恢復(fù)到正 常狀態(tài)時,查詢環(huán)網(wǎng)中是否有至少一條鏈路仍處于故障狀態(tài);當(dāng)環(huán)網(wǎng)中有至 少 一條鏈路仍處于故障狀態(tài)時,向所述設(shè)置模塊發(fā)送轉(zhuǎn)發(fā)指令;
所述設(shè)置模塊,用于根據(jù)所述轉(zhuǎn)發(fā)指令,將該裝置與所述恢復(fù)到正常狀 態(tài)的鏈路相連的端口設(shè)置為轉(zhuǎn)發(fā)狀態(tài)。
其中,所述信息處理模塊包括判斷單元、發(fā)送單元和處理單元。所述判斷單元,用于判斷所述裝置在環(huán)網(wǎng)中未與所述恢復(fù)到正常狀態(tài)的 鏈路相連接的端口是否處于故障狀態(tài);如果所述端口處于故障狀態(tài),則判斷
單元向所述處理單元發(fā)送鏈路故障信息;如果所述端口處于正常狀態(tài),則判 斷單元向所述發(fā)送單元發(fā)送查詢指令;
所述發(fā)送單元,用于根據(jù)所接收到的查詢指令,通過所述未與所述恢復(fù) 到正常狀態(tài)的鏈路相連接的端口發(fā)送查詢信息;
所述處理單元,用于根據(jù)從所述未與所述恢復(fù)到正常狀態(tài)的鏈路相連接 的端口接收到的與所述查詢信息相對應(yīng)的應(yīng)答信息,或所述判斷單元發(fā)送的 鏈路故障信息,向所述設(shè)置模塊發(fā)送轉(zhuǎn)發(fā)指令。
上述的在環(huán)網(wǎng)中實現(xiàn)快速收斂的裝置可以時傳輸節(jié)點,也可以是主節(jié) 點。如果上述的在環(huán)網(wǎng)中實現(xiàn)快速收斂的裝置為主節(jié)點,則該裝置還可以包 括檢測模塊;此時
所述檢測模塊,用于發(fā)送環(huán)路檢測報文,并根據(jù)所接收到的自身所發(fā)送 的環(huán)路檢測報文(此時表明環(huán)網(wǎng)中不存在鏈路故障),切換到慢檢測模式, 根據(jù)設(shè)定的慢檢測周期發(fā)送環(huán)路檢測報文,并阻塞自身的從端口,通過主端 口將環(huán)路完整的信息發(fā)送給環(huán)網(wǎng)上的各個節(jié)點;還用于根據(jù)所接收到的至少 一條鏈路仍處于故障狀態(tài)的信息(此時表明環(huán)網(wǎng)中仍存在鏈路故障),切換 到快檢測模式時,根據(jù)設(shè)定的快檢測周期發(fā)送環(huán)路檢測報文;其中,所述快 檢測周期小于所述慢檢測周期。
所述信息處理模塊中的接收單元,還用于將接收到的環(huán)路檢測報文發(fā)送 給所述的檢測模塊;當(dāng)環(huán)網(wǎng)中有至少一條鏈路仍處于故障狀態(tài)時,向檢測模 塊發(fā)送故障信息。
此外,本發(fā)明的實施例中還提供了 一種在環(huán)網(wǎng)中實現(xiàn)快速收斂的系統(tǒng), 該系統(tǒng)包括主節(jié)點和至少兩個傳輸節(jié)點。
所述主節(jié)點,通過鏈路與環(huán)網(wǎng)中的傳輸節(jié)點相連接,用于根據(jù)檢測周期發(fā) 送環(huán)路檢測報文,當(dāng)收到自身發(fā)出的環(huán)路檢測報文時,發(fā)送環(huán)路完整的信息, 并將從端口設(shè)置為阻塞狀態(tài);用于當(dāng)獲知環(huán)網(wǎng)中至少有一處鏈路故障未得到恢復(fù)時,將該主節(jié)點與故障已恢復(fù)的鏈路相連的端口設(shè)置為轉(zhuǎn)發(fā)狀態(tài);
所述傳輸節(jié)點,通過鏈路與環(huán)網(wǎng)中的主節(jié)點或相鄰傳輸節(jié)點相連接,用
于當(dāng)收到環(huán)路完整的信息時,將處于阻塞狀態(tài)的端口設(shè)置為轉(zhuǎn)發(fā)狀態(tài);用于 當(dāng)獲知環(huán)網(wǎng)中至少有一處鏈路故障未得到恢復(fù)時,將該傳輸節(jié)點與故障已恢 復(fù)的鏈路相連接的端口設(shè)置為轉(zhuǎn)發(fā)狀態(tài)。
此外,所述主節(jié)點,還用于根據(jù)所接收到的自身所發(fā)送的環(huán)路檢測報文切 換到慢檢測模式,根據(jù)設(shè)定的慢檢測周期發(fā)送環(huán)路檢測報文;當(dāng)獲知環(huán)網(wǎng)中至 少有一處鏈路故障未得到恢復(fù)時,切換到快檢測模式,根據(jù)設(shè)定的快檢測周期 發(fā)送環(huán)路檢測報文;其中,所述快檢測周期小于所述慢檢測周期。
以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護(hù) 范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等, 均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種在環(huán)網(wǎng)中實現(xiàn)快速收斂的方法,其特征在于,該方法包括當(dāng)環(huán)網(wǎng)中的一條鏈路從故障狀態(tài)恢復(fù)到正常狀態(tài)時,與所述恢復(fù)到正常狀態(tài)的鏈路相連接的節(jié)點查詢環(huán)網(wǎng)中是否有至少一條鏈路仍處于故障狀態(tài),如果是,則該節(jié)點將其與所述恢復(fù)到正常狀態(tài)的鏈路相連的端口設(shè)置為轉(zhuǎn)發(fā)狀態(tài)。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,與所述恢復(fù)到正常狀態(tài)的鏈 路相連接的節(jié)點查詢環(huán)網(wǎng)中是否至少一條鏈路仍處于故障狀態(tài)包括與所述恢復(fù)到正常狀態(tài)的鏈路相連接的節(jié)點,判斷其在環(huán)網(wǎng)中未與所述恢 復(fù)到正常狀態(tài)的鏈路相連接的端口是否處于故障狀態(tài);如果所述端口處于故障狀態(tài),則所述節(jié)點獲知與所述處于故障狀態(tài)的端口 相連接的鏈路處于故障狀態(tài);如果所述端口處于正常狀態(tài),則所述節(jié)點通過所述端口發(fā)送查詢信息;才艮 據(jù)從所述端口接收到與所述查詢信息相對應(yīng)的應(yīng)答信息,獲知環(huán)網(wǎng)中所述恢復(fù) 到正常狀態(tài)的鏈路之外的至少一條鏈路仍處于故障狀態(tài)。
3、 根據(jù)權(quán)利要求2所述的方法,其特征在于 所述的查詢消息為鏈路恢復(fù)報文;所述的應(yīng)答信息為鏈路故障報文。
4、 根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法進(jìn)一步包括當(dāng)環(huán)網(wǎng)中的主節(jié)點獲知環(huán)網(wǎng)中不存在鏈路故障時,所述主節(jié)點根據(jù)設(shè)定的 慢^^測周期發(fā)送環(huán)路^^測報文;當(dāng)環(huán)網(wǎng)中的主節(jié)點獲知環(huán)網(wǎng)中存在鏈^4丈障時, 所述主節(jié)點根據(jù)設(shè)定的快檢測周期發(fā)送環(huán)路檢測報文;其中,所述快檢測周期 小于所述慢檢測周期。
5、 根據(jù)權(quán)利要求4所述的方法,其特征在于,該方法進(jìn)一步包括 與所述恢復(fù)到正常狀態(tài)的鏈路相連接的節(jié)點在故障恢復(fù)定時器超時后,將該節(jié)點在所述恢復(fù)到正常狀態(tài)的鏈路上的端口設(shè)置為轉(zhuǎn)發(fā)狀態(tài);或者,所述主節(jié)點在接收到自身所發(fā)送的環(huán)路檢測報文后,阻塞自身的乂人 端口 ,通過主端口將環(huán)路完整的信息發(fā)送給環(huán)網(wǎng)上的各個節(jié)點;與所述恢復(fù)到正常狀態(tài)的鏈路相連接的節(jié)點根據(jù)接收到的環(huán)路完整的信 息,將該節(jié)點在所述恢復(fù)到正常狀態(tài)的鏈路上的端口設(shè)置為轉(zhuǎn)發(fā)狀態(tài)。
6、 一種在環(huán)網(wǎng)中實現(xiàn)快速收斂的裝置,其特征在于,該裝置包括信息處理模塊和設(shè)置模塊;所述信息處理模塊,用于當(dāng)與該裝置相連接的鏈路從故障狀態(tài)恢復(fù)到正常狀態(tài)時,查詢環(huán)網(wǎng)中是否有至少一條鏈路仍處于故障狀態(tài);當(dāng)環(huán)網(wǎng)中有至少一 條鏈路仍處于故障狀態(tài)時,向所述設(shè)置模塊發(fā)送轉(zhuǎn)發(fā)指令;所述設(shè)置模塊,用于根據(jù)所述轉(zhuǎn)發(fā)指令,將該裝置與所述恢復(fù)到正常狀態(tài) 的鏈路相連的端口設(shè)置為轉(zhuǎn)發(fā)狀態(tài)。
7、 根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述信息處理模塊包括判 斷單元、發(fā)送單元和處理單元;所述判斷單元,用于判斷所述裝置在環(huán)網(wǎng)中未與所述恢復(fù)到正常狀態(tài)的鏈 路相連接的端口是否處于故障狀態(tài);如果所述端口處于故障狀態(tài),則判斷單元 向所述處理單元發(fā)送鏈路故障信息;如果所述端口處于正常狀態(tài),則判斷單元 向所述發(fā)送單元發(fā)送查詢指令;所述發(fā)送單元,用于根據(jù)所接收到的查詢指令,通過所述未與所述恢復(fù)到 正常狀態(tài)的鏈路相連接的端口發(fā)送查詢信息;所述處理單元,用于根據(jù)從所述未與所述恢復(fù)到正常狀態(tài)的鏈^各相連接的 端口接收到的與所述查詢信息相對應(yīng)的應(yīng)答信息,或所述判斷單元發(fā)送的鏈路 故障信息,向所述設(shè)置模塊發(fā)送轉(zhuǎn)發(fā)指令。
8、 根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還進(jìn)一步包括檢 測模塊;所述檢測模塊,用于發(fā)送環(huán)路檢測報文;根據(jù)所接收到的自身所發(fā)送的環(huán) 路檢測報文切換到慢檢測模式,根據(jù)設(shè)定的慢檢測周期發(fā)送環(huán)路檢測報文,并 阻塞自身的從端口 ,通過主端口將環(huán)路完整的信息發(fā)送給環(huán)網(wǎng)上的各個節(jié)點; 還用于根據(jù)所接收到的故障信息,切換到快檢測模式,根據(jù)設(shè)定的快檢測周期 發(fā)送環(huán)路檢測報文;其中,所述快檢測周期小于所述慢檢測周期;所述信息處理模塊,還用于將接收到的環(huán)路檢測報文發(fā)送給所述的檢測模塊;當(dāng)環(huán)網(wǎng)中有至少一條鏈路仍處于故障狀態(tài)時,向檢測模塊發(fā)送故障信息。
9、 一種在環(huán)網(wǎng)中實現(xiàn)快速收斂的系統(tǒng),其特征在于,該系統(tǒng)包括主節(jié)點 和至少兩個傳輸節(jié)點;所述主節(jié)點,通過鏈路與環(huán)網(wǎng)中的傳輸節(jié)點相連接,用于根據(jù)^r測周期發(fā) 送環(huán)路檢測報文,當(dāng)收到自身發(fā)出的環(huán)路檢測報文時,發(fā)送環(huán)路完整的信息, 并將從端口設(shè)置為阻塞狀態(tài);用于當(dāng)獲知環(huán)網(wǎng)中至少有一處鏈路故障未得到恢 復(fù)時,將該主節(jié)點與故障已恢復(fù)的鏈路相連的端口設(shè)置為轉(zhuǎn)發(fā)狀態(tài);所述傳輸節(jié)點,通過鏈路與環(huán)網(wǎng)中的主節(jié)點或相鄰傳輸節(jié)點相連接,用于 當(dāng)收到環(huán)路完整的信息時,將處于阻塞狀態(tài)的端口設(shè)置為轉(zhuǎn)發(fā)狀態(tài);用于當(dāng)獲 知環(huán)網(wǎng)中至少有一處鏈路故障未得到恢復(fù)時,將該傳輸節(jié)點與故障已恢復(fù)的鏈 路相連接的端口設(shè)置為轉(zhuǎn)發(fā)狀態(tài)。
10、 根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,該系統(tǒng)還包括 所述主節(jié)點,還用于根據(jù)所接收到的自身所發(fā)送的環(huán)路檢測報文切換到慢檢測模式,根據(jù)設(shè)定的慢檢測周期發(fā)送環(huán)路檢測報文;當(dāng)獲知環(huán)網(wǎng)中至少有一 處鏈路故障未得到恢復(fù)時,切換到快檢測模式,根據(jù)設(shè)定的快檢測周期發(fā)送環(huán) 路檢測報文;其中,所述快檢測周期小于所述慢檢測周期。
全文摘要
本發(fā)明的實施例中公開了一種在環(huán)網(wǎng)中實現(xiàn)快速收斂的方法,該方法包括當(dāng)環(huán)網(wǎng)中的一條鏈路從故障狀態(tài)恢復(fù)到正常狀態(tài)時,與所述恢復(fù)到正常狀態(tài)的鏈路相連接的節(jié)點查詢環(huán)網(wǎng)中是否有至少一條鏈路仍處于故障狀態(tài),如果是,則該節(jié)點將其與所述恢復(fù)到正常狀態(tài)的鏈路相連的端口設(shè)置為轉(zhuǎn)發(fā)狀態(tài)。本發(fā)明的實施例中還公開了一種在環(huán)網(wǎng)中實現(xiàn)快速收斂的裝置和系統(tǒng),所述裝置包括信息處理模塊和設(shè)置模塊;所述系統(tǒng)包括主節(jié)點和至少兩個傳輸節(jié)點。通過使用上述的方法、裝置和系統(tǒng),使得當(dāng)環(huán)網(wǎng)中存在多處鏈路故障時,可有效縮短鏈路故障恢復(fù)的收斂時間,從而縮短了整個環(huán)網(wǎng)的故障恢復(fù)的收斂時間,提高了網(wǎng)絡(luò)的傳輸效率。
文檔編號H04L12/42GK101436975SQ20071018822
公開日2009年5月20日 申請日期2007年11月13日 優(yōu)先權(quán)日2007年11月13日
發(fā)明者汪河川 申請人:華為技術(shù)有限公司