專利名稱:資源告警處理方法和路由交換設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明實施例涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別涉及一種資源告警處理方法和路由交換設(shè)備。
背景技術(shù):
路由交換設(shè)備通常是一種嵌入式設(shè)備,路由交換設(shè)備的內(nèi)存資源有限,交換芯片所支持的路由表容量有限。圖1為現(xiàn)有技術(shù)路由交換設(shè)備的資源利用模型的示意圖,如圖1 所示,路由交換設(shè)備為達到學(xué)習(xí)路由、生成路由轉(zhuǎn)發(fā)表,以便對網(wǎng)絡(luò)數(shù)據(jù)進行轉(zhuǎn)發(fā)交換的目的,通常運行有多種動態(tài)路由協(xié)議,例如開放最短路徑優(yōu)先(Open Shortest Path First ; 以下簡稱0SPF)協(xié)議、中間系統(tǒng)到中間系統(tǒng)(Intermediate System-to-intermediate System ;以下簡稱ISIS)協(xié)議、邊界網(wǎng)關(guān)協(xié)議(Border Gateway Protocol ;以下簡稱BGP) 和路由信息協(xié)議(Routing Information Protocol ;以下簡稱RIP)等,路由交換設(shè)備通過這些路由協(xié)議,與路由交換設(shè)備的對等體設(shè)備交互并學(xué)習(xí)路由信息,消耗內(nèi)存資源;路由交換設(shè)備生成的路由轉(zhuǎn)發(fā)表項又同時消耗交換芯片路由表資源。當(dāng)路由交換設(shè)備資源不足時,會造成路由交換設(shè)備運行的異常,當(dāng)路由交換設(shè)備的內(nèi)存資源不足時,路由交換設(shè)備中的軟件模塊可能因為申請不到支持其運行的內(nèi)存資源 而進入等待掛起狀態(tài),或直接放棄計算。對于運行動態(tài)路由協(xié)議的軟件模塊而言,放棄計算意味著丟棄了路由信息,不論是掛起還是放棄計算,動態(tài)路由協(xié)議都無法正確學(xué)習(xí)當(dāng)前的 網(wǎng)絡(luò)拓撲;而對于交換芯片轉(zhuǎn)發(fā)表項不足的情況,動態(tài)路由協(xié)議學(xué)習(xí)到的新路由將不會被載入到轉(zhuǎn)發(fā)表中,以至于在實際的數(shù)據(jù)轉(zhuǎn)發(fā)過程中,轉(zhuǎn)發(fā)表無法正確反映當(dāng)前的網(wǎng)絡(luò)拓撲。 對于網(wǎng)絡(luò)拓撲,不論是由于動態(tài)路由協(xié)議無法正確學(xué)習(xí)也好,還是由于轉(zhuǎn)發(fā)表無法正確反 映當(dāng)前的網(wǎng)絡(luò)拓撲也罷,都會對網(wǎng)絡(luò)的運行產(chǎn)生問題,主要包括以下兩種問題1、部分目的網(wǎng)絡(luò)不可達;2、網(wǎng)絡(luò)的路由環(huán)路。圖2為現(xiàn)有技術(shù)一種網(wǎng)絡(luò)結(jié)構(gòu)的示意圖,如圖2所示,該網(wǎng)絡(luò)包括三臺路由器 R、Rl和R2,R、Rl和R2之間通過動態(tài)路由協(xié)議OSPF來交互并學(xué)習(xí)路由信息。路由器Rl 擁有可達的網(wǎng)段10. 0. 1.0/24和可達的網(wǎng)段192. 168. 0. 0/24,路由器R2擁有可達網(wǎng)段 10. 0. 0. 0/16。在此網(wǎng)絡(luò)拓撲中連接Rl和R的路徑長度(metric)為1,連接R和R2的路徑長 度為3,連接Rl和R2的路徑長度為10。當(dāng)所有路由設(shè)備都正常工作時,從R2進入的目的地 址為10. 0. 1. 23的因特網(wǎng)協(xié)議(Internet Protocol ;以下簡稱:IP)數(shù)據(jù)報文,將沿著R2到 R到Rl這么一條轉(zhuǎn)發(fā)路徑進行轉(zhuǎn)發(fā),因為這條路由是最短的路徑。假設(shè)R的資源不足了,R 沒能正確學(xué)習(xí)網(wǎng)段192. 168. 0. 0/24,這樣對于從R2進入網(wǎng)絡(luò),目的地址為192. 168. 0. 0/24 網(wǎng)段內(nèi)的主機地址的數(shù)據(jù)報文,這些數(shù)據(jù)報文被轉(zhuǎn)發(fā)到R后,由于R的轉(zhuǎn)發(fā)表沒有該網(wǎng)段 的轉(zhuǎn)發(fā)信息,因此R無法實現(xiàn)針對該網(wǎng)段的數(shù)據(jù)報文的轉(zhuǎn)發(fā),從而導(dǎo)致問題1 部分目的網(wǎng) 絡(luò)不可達。在此例子中,如果R學(xué)習(xí)了來自R2的可達網(wǎng)段10. 0. 0. 0/16,卻因為資源不足 沒能學(xué)習(xí)來自Rl的可達網(wǎng)段10. 0. 1. 0/24,此種情況下,對于從R2進入網(wǎng)絡(luò)的目的地址為10. 0. 1. 23的報文,R2的轉(zhuǎn)發(fā)表是完整的,因此R2確定該報文的目的地址在R1,所以R2將 該報文轉(zhuǎn)發(fā)給R,而R缺少10. 0. 1. 0/24的路由信息,經(jīng)路由匹配,匹配到10. 0. 0. 0/16這個 網(wǎng)段,也就是說R確定該報文應(yīng)到達R2才能到其目的地,所以R將會轉(zhuǎn)發(fā)該報文至R2,這 樣,就形成了路由環(huán)路,使上述報文在R和R2之間不斷被轉(zhuǎn)發(fā),從而導(dǎo)致問題2 網(wǎng)絡(luò)的路
由環(huán)路。路由交換設(shè)備的內(nèi)存資源不足,嚴重影響了路由交換設(shè)備上軟件的運行,為了避 免軟件模塊出現(xiàn)掛起或其它崩潰現(xiàn)象,現(xiàn)有技術(shù)中,路由交換設(shè)備一般會在內(nèi)存資源告警 時停止運行動態(tài)路由協(xié)議,并釋放該動態(tài)路由協(xié)議學(xué)習(xí)到的所有路由,這種情況下該路由 交換設(shè)備將因缺失路由而不再具備轉(zhuǎn)發(fā)能力,也就是說問題1的情況將嚴重放大。對于路由交換設(shè)備資源不足造成的這兩個問題,問題2的嚴重性遠遠大于問題1, 因為問題2的路由環(huán)路會造成整個網(wǎng)絡(luò)不可用,而問題1僅是單臺路由交換設(shè)備的轉(zhuǎn)發(fā)受 到影響。對于路由交換設(shè)備資源不足,現(xiàn)有技術(shù)一般是停止路由協(xié)議的運行,也就是說該臺路由交換設(shè)備放棄路由學(xué)習(xí),不再參與網(wǎng)絡(luò)轉(zhuǎn)發(fā),這會造成網(wǎng)絡(luò)的不可用,影響網(wǎng)絡(luò)業(yè)務(wù) 的運行,并會對使用網(wǎng)絡(luò)的生產(chǎn)經(jīng)營活動造成嚴重的影響。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種資源告警處理方法和路由交換設(shè)備,以在路由交換設(shè)備資 源不足時,實現(xiàn)該路由交換設(shè)備原有轉(zhuǎn)發(fā)業(yè)務(wù)的不間斷運行。本發(fā)明實施例提供一種資源告警處理方法,包括路由交換設(shè)備接收到路由信息;當(dāng)所述路由交換設(shè)備中與所述路由信息的協(xié)議類型一致的協(xié)議模塊處于溢出狀 態(tài)或者所述路由交換設(shè)備資源不足時,丟棄所述路由信息;在丟棄所述路由信息之后,當(dāng)所述協(xié)議模塊未被標(biāo)記為溢出狀態(tài)時,為所述協(xié)議 模塊設(shè)置溢出狀態(tài)標(biāo)記。本發(fā)明實施例提供一種路由交換設(shè)備,包括接收模塊,用于接收路由信息;丟棄模塊,用于在所述接收模塊接收到路由信息之后,當(dāng)所述路由交換設(shè)備中與 所述路由信息的協(xié)議類型一致的協(xié)議模塊處于溢出狀態(tài)或者所述路由交換設(shè)備資源不足 時,丟棄所述路由信息;標(biāo)記模塊,用于在所述丟棄模塊丟棄所述路由信息之后,當(dāng)所述協(xié)議模塊未被標(biāo) 記為溢出狀態(tài)時,為所述協(xié)議模塊設(shè)置溢出狀態(tài)標(biāo)記。通過本發(fā)明實施例,在接收到路由信息之后,當(dāng)路由交換設(shè)備中與該路由信息的 協(xié)議類型一致的協(xié)議模塊處于溢出狀態(tài)或者該路由交換設(shè)備資源不足時,丟棄接收到的路 由信息;在丟棄路由信息之后,如果該協(xié)議模塊未被標(biāo)記為溢出狀態(tài),則為該協(xié)議模塊設(shè)置 溢出狀態(tài)標(biāo)記;從而在路由交換設(shè)備資源不足時,確保了該路由交換設(shè)備原有轉(zhuǎn)發(fā)業(yè)務(wù)的 不間斷運行,增強了路由交換設(shè)備及網(wǎng)絡(luò)的可用性和抗風(fēng)險性。
為了更清楚地說明本發(fā)明或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的 一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這 些附圖獲得其他的附圖。圖1為現(xiàn)有技術(shù)路由交換設(shè)備的資源利用模型的示意圖;圖2為現(xiàn)有技術(shù)一種網(wǎng)絡(luò)結(jié)構(gòu)的示意圖;圖3為本發(fā)明資源告警處理方法一個實施例的流程圖;圖4為本發(fā)明資源告警處理方法另一個實施例的流程圖;圖5為本發(fā)明資源告警處理方法再一個實施例的流程圖;圖6為本發(fā)明資源告警處理方法又一個實施例的流程圖;圖7為本發(fā)明OSPF協(xié)議網(wǎng)絡(luò)一個實施例的示意圖;圖8(a)為本發(fā)明OSPF協(xié)議網(wǎng)絡(luò)中轉(zhuǎn)發(fā)數(shù)據(jù)報文一個實施例的示意圖;圖8(b)為本發(fā)明OSPF協(xié)議網(wǎng)絡(luò)中轉(zhuǎn)發(fā)數(shù)據(jù)報文另一個實施例的示意圖;圖9 (a)為本發(fā)明OSPF協(xié)議網(wǎng)絡(luò)另一個實施例的示意圖;圖9(b)為本發(fā)明OSPF協(xié)議網(wǎng)絡(luò)中轉(zhuǎn)發(fā)數(shù)據(jù)報文再一個實施例的示意圖;圖10為本發(fā)明RIP網(wǎng)絡(luò)一個實施例的示意圖;圖11為本發(fā)明資源告警處理方法又再一個實施例的流程圖;圖12為本發(fā)明內(nèi)存閾值一個實施例的示意圖;圖13為本發(fā)明資源告警處理方法再又一個實施例的流程圖;圖14為本發(fā)明路由交換設(shè)備一個實施例的結(jié)構(gòu)示意圖;圖15為本發(fā)明路由交換設(shè)備另一個實施例的結(jié)構(gòu)示意圖;圖16為本發(fā)明路由交換設(shè)備再一個實施例的結(jié)構(gòu)示意圖。
具體實施例方式下面將結(jié)合本發(fā)明中的附圖,對本發(fā)明中的技術(shù)方案進行清楚、完整地描述,顯 然,所描述的實施例僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施 例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬 于本發(fā)明保護的范圍。為了避免路由交換設(shè)備在資源不足的情況下關(guān)閉路由協(xié)議,造成網(wǎng)絡(luò)的不可用, 本發(fā)明實施例在路由交換設(shè)備的資源不足,但還未完全消耗完時,該路由交換設(shè)備上運行 的各路由協(xié)議協(xié)同一致確保資源不再繼續(xù)消耗,進行以丟棄接收到的路由信息為目的的操 作,并同時解決了因路由信息丟失而造成的路由環(huán)路問題。從而在資源不足的情況下,路由 交換設(shè)備不必通過停止運行路由協(xié)議來確保網(wǎng)絡(luò)和路由交換設(shè)備的運行,提高了路由交換 設(shè)備在資源不足的突發(fā)情況下的可用性。圖3為本發(fā)明資源告警處理方法一個實施例的流程圖,如圖3所示,該實施例包括步驟301,路由交換設(shè)備接收到路由信息。步驟302,當(dāng)路由交換設(shè)備中與該路由信息的協(xié)議類型一致的協(xié)議模塊處于溢出 狀態(tài)或者該路由交換設(shè)備資源不足時,丟棄該路由信息。
本實施例中,當(dāng)路由交換設(shè)備中與該路由信息的協(xié)議類型一致的協(xié)議模塊具有溢 出狀態(tài)標(biāo)記時,可以確定該協(xié)議模塊處于溢出狀態(tài);當(dāng)該協(xié)議模塊處于溢出狀態(tài)時,該路由 交換設(shè)備丟棄接收到的路由信息。當(dāng)路由交換設(shè)備中與該路由信息的協(xié)議類型一致的協(xié)議模塊不具有溢出狀態(tài)標(biāo) 記,但是該路由交換設(shè)備資源不足時,該路由交換設(shè)備同樣會丟棄接收到的路由信息。具體 地,路由交換設(shè)備可以根據(jù)該路由交換設(shè)備產(chǎn)生的資源不足告警消息,確定該路由交換設(shè) 備資源不足;或者,路由交換設(shè)備可以通過查詢該路由交換設(shè)備的資源狀態(tài),當(dāng)路由交換設(shè) 備的可用資源與全部資源的比值小于或等于預(yù)設(shè)的第一閾值時,確定該路由交換設(shè)備資源 不足;上述資源包括內(nèi)存資源和路由表資源。另外,還可以在路由交換設(shè)備的內(nèi)存使用量大 于預(yù)設(shè)的內(nèi)存告警閾值時,確定路由交換設(shè)備的內(nèi)存資源不足。以上僅是確定路由交換設(shè) 備資源不足的幾種方式,本實施例并不僅限于此,任何可以確定路由交換設(shè)備資源不足的 方式均應(yīng)落入本實施例的保護范圍。步驟303,在丟棄路由信息之后,當(dāng)該協(xié)議模塊未被標(biāo)記為溢出狀態(tài)時,為該協(xié)議 模塊設(shè)置溢出狀態(tài)標(biāo)記。在為該協(xié)議模塊設(shè)置溢出狀態(tài)標(biāo)記之后,可以在路由轉(zhuǎn)發(fā)表中添加溢出路由,本實施例中,該溢出路由為默認路由,該溢出路由的出接口為空接口,該溢出路由的管理距離 為1。路由交換設(shè)備在轉(zhuǎn)發(fā)報文時,若報文匹配到溢出路由,則該路由交換設(shè)備丟棄該報文。在路由交換設(shè)備的資源恢復(fù)到充足之后,該路由交換設(shè)備解除協(xié)議模塊的溢出狀態(tài),將該協(xié)議模塊恢復(fù)為正常工作狀態(tài)。具體地,路由交換設(shè)備可以根據(jù)該路由交換設(shè)備產(chǎn) 生的資源告警解除消息,確定該路由交換設(shè)備的資源恢復(fù)到充足;或者,路由交換設(shè)備可以 通過查詢該路由交換設(shè)備的資源狀態(tài),當(dāng)路由交換設(shè)備的可用資源與全部資源的比值大于 或等于預(yù)設(shè)的第二閾值時,確定該路由交換設(shè)備的資源恢復(fù)到充足;上述資源包括內(nèi)存資 源和路由表資源。另外,在路由交換設(shè)備的內(nèi)存使用量小于或等于預(yù)設(shè)的內(nèi)存告警解除閾 值之后,可以確定路由交換設(shè)備的內(nèi)存資源恢復(fù)到充足。以上僅是確定路由交換設(shè)備的資 源恢復(fù)到充足的兩種方式,本實施例并不僅限于此,任何可以確定路由交換設(shè)備的資源恢復(fù)到充足的方式均應(yīng)落入本實施例的保護范圍。本實施例中內(nèi)存告警閾值與內(nèi)存告警解除閾值的示意圖如圖12所示,圖12為本發(fā)明內(nèi)存閾值一個實施例的示意圖。上述實施例中,在接收到路由信息之后,當(dāng)該路由交換設(shè)備中與該路由信息的協(xié) 議類型一致的協(xié)議模塊處于溢出狀態(tài)或者該路由交換設(shè)備資源不足時,該路由交換設(shè)備丟 棄接收到的路由信息;在丟棄路由信息之后,如果該協(xié)議模塊未被標(biāo)記為溢出狀態(tài),則為該 協(xié)議模塊設(shè)置溢出狀態(tài)標(biāo)記,并在路由轉(zhuǎn)發(fā)表中添加溢出路由;從而在路由交換設(shè)備資源 不足時,確保了該路由交換設(shè)備原有轉(zhuǎn)發(fā)業(yè)務(wù)的不間斷運行,增強了路由交換設(shè)備及網(wǎng)絡(luò) 的可用性和抗風(fēng)險性。圖4為本發(fā)明資源告警處理方法另一個實施例的流程圖,該實施例以路由信息的 協(xié)議類型為OSPF協(xié)議為例進行說明。如圖4所示,該實施例包括步驟401,路由交換設(shè)備接收到路由信息。本實施例中,對于OSPF協(xié)議,路由交換設(shè)備接收到的路由信息主要是類型為3、 5或7的鏈路狀態(tài)廣播(Link State Advertisement ;以下簡稱LSA)。其中,類型為3的LSA為網(wǎng)絡(luò)匯總鏈路狀態(tài)廣播(Summary LSA);類型為5的LSA為自治域外部鏈路狀態(tài)廣播(Autonomous System ExternalLSA ;以下簡稱AS-External_LSA);類型為 7 的 LSA 為自治 域非完全樁區(qū)域鏈路狀態(tài)廣播(Autonomous System Not So Stubby Area LSA ;以下簡稱 AS-NSSA-LSA)。步驟402,判斷該路由交換設(shè)備中的OSPF協(xié)議模塊是否處于溢出(Overflow)狀 態(tài)。如果該OSPF協(xié)議模塊處于溢出狀態(tài),執(zhí)行步驟404 ;如果該OSPF協(xié)議模塊處于非溢出 狀態(tài),執(zhí)行步驟403。本實施例中,路由交換設(shè)備在接收到類型為3、5或7的LSA時,首先判斷該路由交 換設(shè)備中的OSPF協(xié)議模塊是否處于溢出狀態(tài),具體地,可以判斷該OSPF協(xié)議模塊是否被標(biāo) 記為溢出狀態(tài);如果該OSPF協(xié)議模塊已被標(biāo)記為溢出狀態(tài),則表示該路由交換設(shè)備曾經(jīng)丟 棄過LSA,此種情況下為確保路由交換設(shè)備丟棄LSA的行為在一段時間內(nèi)的策略連貫性,該 路由交換設(shè)備將直接執(zhí)行步驟404,進行以丟棄LSA為目的的操作;如果該OSPF協(xié)議模塊 未被標(biāo)記為溢出狀態(tài),則執(zhí)行步驟403,判斷該路由交換設(shè)備的資源是否不足。步驟403,判斷該路由交換設(shè)備的資源是否不足。如果該路由交換設(shè)備的資源不 足,則執(zhí)行步驟404 ;如果該路由交換設(shè)備的資源充足,則執(zhí)行步驟410。具體地,路由交換設(shè)備可以根據(jù)該路由交換設(shè)備產(chǎn)生的資源不足告警消息,確定 該路由交換設(shè)備的資源不足;或者,路由交換設(shè)備可以通過查詢該路由交換設(shè)備的資源狀 態(tài),當(dāng)路由交換設(shè)備的可用資源與全部資源的比值小于或等于預(yù)設(shè)的第一閾值時,確定該 路由交換設(shè)備資源不足;上述資源包括內(nèi)存資源和路由表資源。另外,還可以在路由交換設(shè) 備的內(nèi)存使用量大于預(yù)設(shè)的內(nèi)存告警閾值時,確定路由交換設(shè)備的內(nèi)存資源不足。以上僅 是確定路由交換設(shè)備資源不足的兩種方式,本實施例并不僅限于此,任何可以確定路由交 換設(shè)備資源不足的方式均應(yīng)落入本實施例的保護范圍。對應(yīng)地,當(dāng)該路由交換設(shè)備未產(chǎn)生資源不足告警消息,或者,該路由交換設(shè)備的可 用資源與全部資源的比值大于或等于預(yù)設(shè)的第二閾值時,可以確定該路由交換設(shè)備的資源 充足;另外,當(dāng)路由交換設(shè)備的內(nèi)存使用量小于或等于預(yù)設(shè)的內(nèi)存告警解除閾值時,可以確 定路由交換設(shè)備的內(nèi)存資源充足。本實施例中內(nèi)存告警閾值與內(nèi)存告警解除閾值的示意圖 如圖12所示。步驟404,在路由轉(zhuǎn)發(fā)表中查找覆蓋該路由信息所示的可達網(wǎng)段的最長路由。具體地,在路由轉(zhuǎn)發(fā)表中查找覆蓋該路由信息所示的可達網(wǎng)段的最長路由是指 在路由轉(zhuǎn)發(fā)表中查找掩碼最長的能夠包含該路由信息所示的可達網(wǎng)段的路由,例如對 于可達網(wǎng)段10. 1. 1.0/24,路由轉(zhuǎn)發(fā)表中的路由10. 1.0. 0/16就覆蓋了該可達網(wǎng)段,因為 10. 1.0. 0/16 的地址區(qū)間為 10. 1.0. 0 10. 1.255. 255,而 10. 1. 1.0/24 的地址區(qū)間為 10. 1. 1. 0 10. 1. 1. 255,10. 1. 0. 0/16的地址區(qū)間覆蓋了 10. 1. 1. 0/24的地址區(qū)間,所以 10. 1. 0. 0/16就覆蓋了可達網(wǎng)段10. 1. 1. 0/24 ;10. 1. 0. 0/16的掩碼長度為16,若路由轉(zhuǎn)發(fā) 表中覆蓋該可達網(wǎng)段10. 1. 1. 0/24的所有路由中最長的掩碼長度為16,則10. 1. 0. 0/16即 為路由轉(zhuǎn)發(fā)表中覆蓋可達網(wǎng)段10. 1. 1. 0/24的最長路由。步驟405,判斷在路由轉(zhuǎn)發(fā)表中是否查找到上述最長路由;如果路由交換設(shè)備在 路由轉(zhuǎn)發(fā)表中未查找到該最長路由,或者路由交換設(shè)備在路由轉(zhuǎn)發(fā)表中查找到的最長路由 為默認路由,則執(zhí)行步驟406 ;如果路由交換設(shè)備在路由轉(zhuǎn)發(fā)表中查找到該最長路由,且該最長路由不是默認路由,則執(zhí)行步驟410。步驟406,丟棄接收到的路由信息。由于類型為3、5或7的LSA不涉及網(wǎng)絡(luò)拓撲信息,也就是說丟棄這三種類型的LSA不會造成OSPF協(xié)議的最短路徑樹計算錯誤,只會造成OSPF協(xié)議的可達網(wǎng)段信息丟失。而 在資源不足的情況下,丟失部分無法負荷的可達網(wǎng)段信息是可以接受的。步驟407,判斷OSPF協(xié)議模塊是否被標(biāo)記為溢出狀態(tài)。如果該OSPF協(xié)議模塊未被 標(biāo)記為溢出狀態(tài),則執(zhí)行步驟408 步驟409 ;如果該OSPF協(xié)議模塊已被標(biāo)記為溢出狀態(tài), 則結(jié)束本次流程。本實施例中,在丟棄了 LSA之后,需要將OSPF協(xié)議模塊標(biāo)記為溢出狀態(tài);如果該 OSPF協(xié)議模塊已被標(biāo)記為溢出狀態(tài),則不需要進行其他操作,結(jié)束本次流程;如果該OSPF 協(xié)議模塊未被標(biāo)記為溢出狀態(tài),則需執(zhí)行步驟408 步驟409。步驟408,為OSPF協(xié)議模塊設(shè)置溢出狀態(tài)標(biāo)記。步驟409,在路由轉(zhuǎn)發(fā)表中添加溢出路由,結(jié)束本次流程。具體地,該溢出路由為默認路由,該溢出路由的出接口為空接口,該溢出路由的管 理距離為1 ;作為出接口為空接口的路由,路由交換設(shè)備在轉(zhuǎn)發(fā)報文時,若報文匹配到溢出 路由,則該路由交換設(shè)備丟棄該報文。本實施例通過在路由轉(zhuǎn)發(fā)表中添加溢出路由,避免了 丟棄路由信息可能導(dǎo)致的路由環(huán)路問題。對于網(wǎng)段相同的路由,除了手工配置的管理距離 為1的靜態(tài)的默認路由,以及管理距離為0的直連路由外,路由交換設(shè)備將優(yōu)選溢出路由作 為轉(zhuǎn)發(fā)路由。其中,路由交換設(shè)備上手工配置的管理距離為1的靜態(tài)的默認路由是通向外網(wǎng)的 路由,該靜態(tài)的默認路由所指向的出口為路由交換設(shè)備通向外網(wǎng)的出口。溢出路由若搶占 了該靜態(tài)的默認路由,則通向外網(wǎng)的數(shù)據(jù)業(yè)務(wù)將不可用;而溢出路由若不搶占該靜態(tài)的默 認路由,則本該被溢出路由丟棄的報文將被轉(zhuǎn)發(fā)到外網(wǎng),在被轉(zhuǎn)發(fā)到外網(wǎng)之后,該報文可能 會在外網(wǎng)被丟棄,也可能被正確地轉(zhuǎn)發(fā)至外網(wǎng)的目的地。因此,對于配置有靜態(tài)的默認路由 的路由交換設(shè)備,在資源不足的情況下,使用溢出路由來丟棄未知目的地的報文,同樣可以 達到避免路由環(huán)路的目的,只不過使用溢出路由無法滿足路由交換設(shè)備對外網(wǎng)的數(shù)據(jù)業(yè)務(wù) 需求,而使用靜態(tài)的默認路由可以保證該路由交換設(shè)備對外網(wǎng)的數(shù)據(jù)業(yè)務(wù)需求。步驟410,正常處理接收到的路由信息,結(jié)束本次流程。溢出狀態(tài)并不是一種正常的工作狀態(tài),在溢出狀態(tài)下,OSPF協(xié)議模塊無法完整學(xué) 習(xí)到整個網(wǎng)絡(luò)的可達情況,所以在路由交換設(shè)備的資源恢復(fù)到充足之后,路由交換設(shè)備需 要解除該OSPF協(xié)議模塊的溢出狀態(tài),將該OSPF協(xié)議模塊恢復(fù)為正常工作狀態(tài)。具體地,路由交換設(shè)備可以根據(jù)該路由交換設(shè)備產(chǎn)生的資源告警解除消息,確定 該路由交換設(shè)備的資源恢復(fù)到充足;或者,路由交換設(shè)備可以通過查詢該路由交換設(shè)備的 資源狀態(tài),當(dāng)路由交換設(shè)備的可用資源與全部資源的比值大于或等于預(yù)設(shè)的第二閾值時, 確定該路由交換設(shè)備的資源恢復(fù)到充足;上述資源包括內(nèi)存資源和路由表資源。另外,在路 由交換設(shè)備的內(nèi)存使用量小于或等于預(yù)設(shè)的內(nèi)存告警解除閾值之后,可以確定路由交換設(shè) 備的內(nèi)存資源恢復(fù)到充足。以上僅是確定路由交換設(shè)備的資源恢復(fù)到充足的兩種方式,本 實施例并不僅限于此,任何可以確定路由交換設(shè)備的資源恢復(fù)到充足的方式均應(yīng)落入本實 施例的保護范圍。
具體地,對于OSPF協(xié)議,解除OSPF協(xié)議模塊的溢出狀態(tài),將該OSPF協(xié)議模塊恢復(fù)為正常工作狀態(tài)可以為恢復(fù)OSPF協(xié)議的鏈路狀態(tài)數(shù)據(jù)庫(Link State Database ;以下簡 稱LSDB)的完整性;清除路由轉(zhuǎn)發(fā)表中的溢出路由,并清除OSPF協(xié)議模塊的溢出狀態(tài)標(biāo) 記。其中,恢復(fù)LSDB的完整性不需進行任何額外操作,因為當(dāng)路由交換設(shè)備的OSPF協(xié)議模 塊處于溢出狀態(tài)時,對于丟棄的LSA,該路由交換設(shè)備并未向發(fā)送LSA的鄰居路由交換設(shè)備 應(yīng)答肯定(Acknowledgement ;以下簡稱ACK)報文,根據(jù)OSPF協(xié)議的規(guī)定,在此情況下鄰 居路由交換設(shè)備會不斷地向該路由交換設(shè)備發(fā)送被丟棄的LSA,在該路由交換設(shè)備的資源 恢復(fù)為充足之后,該路由交換設(shè)備會開始接收在該路由交換設(shè)備的OSPF協(xié)議模塊處于溢 出狀態(tài)時被不斷丟棄的LSA,這樣OSPF協(xié)議的LSDB就能恢復(fù)其完整性。上述實施例中,在接收到LSA之后,當(dāng)該路由交換設(shè)備的OSPF協(xié)議模塊處于溢出 狀態(tài)或該路由交換設(shè)備資源不足時,該路由交換設(shè)備丟棄接收到的LSA ;在丟棄LSA之后, 如果該OSPF協(xié)議模塊未被標(biāo)記為溢出狀態(tài),則為該OSPF協(xié)議模塊設(shè)置溢出狀態(tài)標(biāo)記,并在 路由轉(zhuǎn)發(fā)表中添加溢出路由;從而在路由交換設(shè)備資源不足時,確保了該路由交換設(shè)備原 有轉(zhuǎn)發(fā)業(yè)務(wù)的不間斷運行,增強了路由交換設(shè)備及網(wǎng)絡(luò)的可用性和抗風(fēng)險性。圖5為本發(fā)明資源告警處理方法再一個實施例的流程圖,該實施例以路由信息的 協(xié)議類型為BGP為例進行說明。如圖5所示,該實施例包括步驟501,路由交換設(shè)備接收到路由信息。步驟502,判斷該路由交換設(shè)備中的BGP模塊是否處于溢出狀態(tài)。如果該BGP模塊 處于溢出狀態(tài),執(zhí)行步驟504 ;如果該BGP模塊處于非溢出狀態(tài),執(zhí)行步驟503。本實施例中,路由交換設(shè)備在接收到路由信息之后,首先判斷該路由交換設(shè)備中 的BGP模塊是否處于溢出狀態(tài),具體地,可以判斷該BGP模塊是否被標(biāo)記為溢出狀態(tài);如果 該BGP模塊已被標(biāo)記為溢出狀態(tài),則表示該路由交換設(shè)備曾經(jīng)丟棄過路由信息,此種情況 下為確保路由交換設(shè)備丟棄路由信息的行為在一段時間內(nèi)的策略連貫性,該路由交換設(shè)備 將直接執(zhí)行步驟504,進行以丟棄路由信息為目的的操作;如果該BGP模塊未被標(biāo)記為溢出 狀態(tài),則執(zhí)行步驟503,判斷該路由交換設(shè)備的資源是否不足。步驟503,判斷該路由交換設(shè)備的資源是否不足。如果該路由交換設(shè)備的資源不 足,則執(zhí)行步驟504 ;如果該路由交換設(shè)備的資源充足,則執(zhí)行步驟510。具體地,本實施例可以采用本發(fā)明圖4所示實施例步驟403中提供的方法,判斷該 路由交換設(shè)備的資源是否不足。步驟504,在路由轉(zhuǎn)發(fā)表中查找覆蓋該路由信息所示的可達網(wǎng)段的最長路由。步驟505,判斷在路由轉(zhuǎn)發(fā)表中是否查找到上述最長路由;如果路由交換設(shè)備在 路由轉(zhuǎn)發(fā)表中未查找到該最長路由,或者路由交換設(shè)備在路由轉(zhuǎn)發(fā)表中查找到的上述最長 路由為默認路由,或者路由交換設(shè)備在路由轉(zhuǎn)發(fā)表中查找到的上述最長路由不是默認路 由,但查找到的最長路由的下一跳路由信息與接收到的路由信息所示的可達網(wǎng)段的下一跳 路由信息相同,則執(zhí)行步驟506 ;如果路由交換設(shè)備在路由轉(zhuǎn)發(fā)表中查找到上述最長路由, 且查找到的最長路由不是默認路由,并且查找到的最長路由的下一跳路由信息與接收到的 路由信息所示的可達網(wǎng)段的下一跳路由信息不同,則執(zhí)行步驟510。步驟506,丟棄接收到的路由信息。步驟507,判斷BGP模塊是否被標(biāo)記為溢出狀態(tài)。如果該BGP模塊未被標(biāo)記為溢出狀態(tài),則執(zhí)行步驟508 步驟509 ;如果該BGP模塊已被標(biāo)記為溢出狀態(tài),則結(jié)束本次流程。本實施例中,在丟棄了路由信息之后,需要將BGP模塊標(biāo)記為溢出狀態(tài);如果該 BGP模塊已被標(biāo)記為溢出狀態(tài),則不需要進行其他操作,結(jié)束本次流程;如果該BGP模塊未 被標(biāo)記為溢出狀態(tài),則需執(zhí)行步驟508 步驟509。步驟508,為BGP模塊設(shè)置溢出狀態(tài)標(biāo)記。步驟509,在路由轉(zhuǎn)發(fā)表中添加溢出路由,結(jié)束本次流程。具體地,該溢出路由為默認路由,該溢出路由的出接口為空接口,該溢出路由的管 理距離為1 ;作為出接口為空接口的路由,路由交換設(shè)備在轉(zhuǎn)發(fā)報文時,若報文匹配到溢出 路由,則該路由交換設(shè)備丟棄該報文。本實施例通過在路由轉(zhuǎn)發(fā)表中添加溢出路由,避免了 丟棄路由信息可能導(dǎo)致的路由環(huán)路問題。步驟510,將接收到的路由信息存入BGP的本地路由數(shù)據(jù)庫(Local RouteInformation Base ;以下簡稱Local_RIB)中,正常處理接收到的路由信息,結(jié)束本 次流程。在路由交換設(shè)備的資源恢復(fù)到充足之后,路由交換設(shè)備解除BGP模塊的溢出狀 態(tài),將該BGP模塊恢復(fù)為正常工作狀態(tài)。具體地,本實施例可以采用本發(fā)明圖4所示實施例 中提供的方法,確定路由交換設(shè)備的資源恢復(fù)到充足。 具體地,對于BGP,解除BGP模塊的溢出狀態(tài),將該BGP模塊恢復(fù)為正常工作狀態(tài)可 以為清除路由轉(zhuǎn)發(fā)表中的溢出路由,并清除該BGP模塊的溢出狀態(tài)標(biāo)記;向運行BGP的鄰 居路由交換設(shè)備發(fā)送路由刷新(Refresh)消息。其中,路由刷新消息是BGP規(guī)定的一種刷 新本地路由信息庫的協(xié)議報文,運行BGP的路由交換設(shè)備在解除BGP模塊的溢出狀態(tài)時向 所有運行BGP的鄰居路由交換設(shè)備發(fā)送路由刷新消息,是為了向鄰居路由交換設(shè)備同步本 地路由信息庫。上述實施例中,在接收到路由信息之后,當(dāng)該路由交換設(shè)備的BGP模塊處于溢出 狀態(tài)或該路由交換設(shè)備資源不足時,該路由交換設(shè)備丟棄接收到的路由信息;在丟棄路由 信息之后,如果該BGP模塊未被標(biāo)記為溢出狀態(tài),則為該BGP模塊設(shè)置溢出狀態(tài)標(biāo)記,并在 路由轉(zhuǎn)發(fā)表中添加溢出路由;從而在路由交換設(shè)備資源不足時,確保了該路由交換設(shè)備原 有轉(zhuǎn)發(fā)業(yè)務(wù)的不間斷運行,增強了路由交換設(shè)備及網(wǎng)絡(luò)的可用性和抗風(fēng)險性。圖6為本發(fā)明資源告警處理方法又一個實施例的流程圖,該實施例以路由信息的 協(xié)議類型為ISIS協(xié)議為例進行說明。如圖6所示,該實施例包括步驟601,路由交換設(shè)備接收到路由信息。對于ISIS協(xié)議,路由信息為鏈路狀態(tài)協(xié)議數(shù)據(jù)單元(Link State ProtocolData Unit ;以下簡稱LSP),該LSP包含可達網(wǎng)段信息的類型長度值(TypeLength Value ;以下簡 稱TLV)。步驟602,判斷該路由交換設(shè)備中的ISIS協(xié)議模塊是否處于溢出狀態(tài)。如果該 ISIS協(xié)議模塊處于溢出狀態(tài),執(zhí)行步驟604;如果該ISIS協(xié)議模塊處于非溢出狀態(tài),執(zhí)行步 驟 603。本實施例中,路由交換設(shè)備在接收到LSP之后,首先判斷該路由交換設(shè)備中的ISIS協(xié)議模塊是否處于溢出狀態(tài),具體地,可以判斷該ISIS協(xié)議模塊是否被標(biāo)記為溢出狀 態(tài);如果該ISIS協(xié)議模塊已被標(biāo)記為溢出狀態(tài),該路由交換設(shè)備將直接執(zhí)行步驟604,進行以裁剪TLV為目的的操作;如果該ISIS協(xié)議模塊未被標(biāo)記為溢出狀態(tài),則執(zhí)行步驟603,判斷該路由交換設(shè)備的資源是否不足。步驟603,判斷該路由交換設(shè)備的資源是否不足。如果該路由交換設(shè)備的資源不 足,則執(zhí)行步驟604 ;如果該路由交換設(shè)備的資源充足,則執(zhí)行步驟610。具體地,本實施例可以采用本發(fā)明圖4所示實施例步驟403中提供的方法,判斷該 路由交換設(shè)備的資源是否不足。步驟604,在路由轉(zhuǎn)發(fā)表中查找覆蓋該路由信息所示的可達網(wǎng)段的最長路由。步驟605,判斷在路由轉(zhuǎn)發(fā)表中是否查找到上述最長路由;如果路由交換設(shè)備在 路由轉(zhuǎn)發(fā)表中未查找到上述最長路由,或者路由交換設(shè)備在路由轉(zhuǎn)發(fā)表中查找到的上述最 長路由為默認路由,則執(zhí)行步驟606 ;如果路由交換設(shè)備在路由轉(zhuǎn)發(fā)表中查找到上述最長 路由,且查找到的最長路由不是默認路由,則執(zhí)行步驟610。步驟606,對LSP中的TLV進行裁剪操作。具體可以為向除LSP的接收接口之外 的所有接口泛洪該LSP ;從LSP中刪除TLV,但不改變LSP的頭部信息,保留LSP的頭部信 息,該頭部信息包括LSP的序列號和校驗碼;為該LSP設(shè)置裁剪標(biāo)記,并記錄該LSP的接收接口。本實施例中,路由交換設(shè)備將裁剪后的LSP存入LSP的數(shù)據(jù)庫(LSPDatabase ;以 下簡稱LSPDB)中;在接收到鄰居路由交換設(shè)備發(fā)送的索取LSP的部分序列號協(xié)議數(shù)據(jù)單 元(Partial Sequence Number Protocol DataUnit ;以下簡稱PSNP)或完全序列號協(xié)議數(shù) 據(jù)單元(Complete SequenceNumber Protocol Data Unit ;以下簡稱CSNP)之后,路由交 換設(shè)備執(zhí)行以下操作在LSPDB中查找被索取的LSP ;當(dāng)被索取的LSP不具有裁剪標(biāo)記時, 將被索取的LSP發(fā)送至鄰居路由交換設(shè)備,結(jié)束此操作過程;當(dāng)被索取的LSP具有裁剪標(biāo)記 時,路由交換設(shè)備記錄被索取的路由信息的索取接口,并向被索取的路由信息的接收接口 發(fā)送PSNP報文,請求上述被索取的路由信息被裁剪之前的原始LSP ;從上述接收接口接收 原始LSP,當(dāng)LSPDB中存在與該原始LSP具有相同序列號和相同校驗碼的被裁剪之后的LSP 時,從上述索取接口將該原始LSP發(fā)送至鄰居路由交換設(shè)備,并清除上述索取接口的記錄, 最后丟棄原始LSP。步驟607,判斷ISIS協(xié)議模塊是否被標(biāo)記為溢出狀態(tài)。如果該ISIS協(xié)議模塊未被 標(biāo)記為溢出狀態(tài),則執(zhí)行步驟608 步驟609 ;如果該ISIS協(xié)議模塊已被標(biāo)記為溢出狀態(tài), 則結(jié)束本次流程。本實施例中,在丟棄了路由信息之后,需要將ISIS協(xié)議模塊標(biāo)記為溢出狀態(tài);如 果該ISIS協(xié)議模塊已被標(biāo)記為溢出狀態(tài),則不需要進行其他操作,結(jié)束本次流程;如果該 ISIS協(xié)議模塊未被標(biāo)記為溢出狀態(tài),則需執(zhí)行步驟608 步驟609。步驟608,為ISIS協(xié)議模塊設(shè)置溢出狀態(tài)標(biāo)記。步驟609,在路由轉(zhuǎn)發(fā)表中添加溢出路由,結(jié)束本次流程。具體地,該溢出路由為默認路由,該溢出路由的出接口為空接口,該溢出路由的管 理距離為1 ;作為出接口為空接口的路由,路由交換設(shè)備在轉(zhuǎn)發(fā)報文時,若報文匹配到溢出 路由,則該路由交換設(shè)備丟棄該報文。本實施例通過在路由轉(zhuǎn)發(fā)表中添加溢出路由,避免了 丟棄路由信息可能導(dǎo)致的路由環(huán)路問題。步驟610,正常處理接收到的路由信息,結(jié)束本次流程。
在路由交換設(shè)備的資源恢復(fù)到充足之后,路由交換設(shè)備解除該ISIS協(xié)議模塊的 溢出狀態(tài),將該ISIS協(xié)議模塊恢復(fù)為正常工作狀態(tài)。具體地,本實施例可以采用本發(fā)明圖 4所示實施例中提供的方法,確定路由交換設(shè)備的資源恢復(fù)到充足。具體地,對于ISIS協(xié)議,解除ISIS協(xié)議模塊的溢出狀態(tài),將該ISIS協(xié)議模塊恢復(fù) 為正常工作狀態(tài)可以為清除路由轉(zhuǎn)發(fā)表中的溢出路由,并清除ISIS協(xié)議模塊的溢出狀態(tài) 標(biāo)記;將LSPDB中所有具有裁剪標(biāo)記的LSP的序列號和校驗碼更改為零,并向所有ISIS協(xié) 議接口泛洪更改后的LSP。通過向所有ISIS協(xié)議接口泛洪序列號和校驗碼為零的LSP,路由 交換設(shè)備可以獲取到網(wǎng)絡(luò)中上述被裁剪的LSP的原始LSP,從而可以將ISIS協(xié)議的LSPDB 恢復(fù)到正常工作狀態(tài),即沒丟失任何LSP的狀態(tài)。上述實施例中,在接收到LSP之后,當(dāng)該路由交換設(shè)備的ISIS協(xié)議模塊處于溢出 狀態(tài)或該路由交換設(shè)備資源不足時,該路由交換設(shè)備丟棄接收到的LSP;在丟棄LSP之后, 如果該ISIS協(xié)議模塊未被標(biāo)記為溢出狀態(tài),為該ISIS協(xié)議模塊設(shè)置溢出狀態(tài)標(biāo)記,并在路 由轉(zhuǎn)發(fā)表中添加溢出路由;從而在路由交換設(shè)備資源不足時,確保了該路由交換設(shè)備原有 轉(zhuǎn)發(fā)業(yè)務(wù)的不間斷運行,增強了路由交換設(shè)備及網(wǎng)絡(luò)的可用性和抗風(fēng)險性。本發(fā)明圖4、圖5或圖6所示實施例提供的資源告警處理方法可以單獨使用,也可以結(jié)合使用。本發(fā)明實施例提供的資源告警處理方法可以有效避免路由環(huán)路的產(chǎn)生,下面 以路由交換設(shè)備運行OSPF協(xié)議時的資源告警處理方法為例進行說明。在OSPF協(xié)議的網(wǎng)絡(luò)中,當(dāng)路由交換設(shè)備的OSPF協(xié)議模塊處于溢出狀態(tài)時,該路由 交換設(shè)備進入溢出狀態(tài),由于該路由交換設(shè)備只可能丟棄類型為3、5和7的LSA,這三種類 型的LSA對路由交換設(shè)備所認知的網(wǎng)絡(luò)拓撲結(jié)構(gòu)不構(gòu)成影響,也就是說在溢出狀態(tài)下,路 由交換設(shè)備對OSPF協(xié)議的網(wǎng)絡(luò)拓撲結(jié)構(gòu)的計算與網(wǎng)絡(luò)中的其它正常工作的設(shè)備不存在區(qū) 另IJ,區(qū)別僅在于對某些可達網(wǎng)段的路由認知上存在差異,處于溢出狀態(tài)的路由交換設(shè)備認 知的路由要比其它正常工作的設(shè)備少一些。圖7為本發(fā)明OSPF協(xié)議網(wǎng)絡(luò)一個實施例的示意圖,圖7所示網(wǎng)絡(luò)中,只有一臺路 由器R進入溢出狀態(tài),根據(jù)本發(fā)明圖4所示實施例提供的資源告警處理方法,R會將新接收 到的LSA丟棄,假設(shè)為圖7中的路由(Route) A,且該路由A在OSPF協(xié)議網(wǎng)絡(luò)中未被其他路
由覆蓋。由于路由A與現(xiàn)在OSPF協(xié)議網(wǎng)絡(luò)中的其它路由不重疊,也就是說除了默認路由 夕卜,轉(zhuǎn)發(fā)面要想到達路由A的網(wǎng)段,除了獲得路由A所指示的路由信息外,OSPF協(xié)議網(wǎng)絡(luò)中 任何設(shè)備的轉(zhuǎn)發(fā)面都無法轉(zhuǎn)發(fā)目的地址為A的報文。因此可以將這個OSPF協(xié)議網(wǎng)絡(luò)在路 由器R邊上分割為兩塊OSPF協(xié)議的網(wǎng)絡(luò)區(qū)域,這里僅指網(wǎng)絡(luò)拓撲圖的分割,其中一塊網(wǎng)絡(luò) 區(qū)域是認知路由A的網(wǎng)絡(luò)區(qū)域,另一塊區(qū)域是由于路由器R將路由A的信息丟棄,且不轉(zhuǎn)發(fā) 給別的路由器,因此未認知路由A的網(wǎng)絡(luò)區(qū)域。對于未認知路由A的網(wǎng)絡(luò)區(qū)域,在轉(zhuǎn)發(fā)目的 地址為路由A的報文時,該報文不可達,故不會造成路由環(huán)路。若在未認知路由A的網(wǎng)絡(luò)區(qū) 域上通過默認路由進行報文轉(zhuǎn)發(fā),則可能出現(xiàn)兩種情況,一種是默認路由指向路由器R,由 于根據(jù)本發(fā)明圖4所示實施例提供的方法,路由器進入溢出狀態(tài)時會添加一條溢出路由, 該溢出路由為指向空接口的默認路由,因此通過默認路由發(fā)送至R的報文,會在路由器R上 被丟棄;另一種是默認路由指向另一臺設(shè)備(非R),而該設(shè)備也只有兩種報文處理的情況, 一種是把報文轉(zhuǎn)發(fā)向“認知路由A的網(wǎng)絡(luò)”,另一種是轉(zhuǎn)發(fā)向外部非OSPF協(xié)議的網(wǎng)絡(luò)。后一種情況不存在報文再進入OSPF協(xié)議網(wǎng)絡(luò)的情況,而前一種情況可歸納為在認知路由A的網(wǎng) 絡(luò)中轉(zhuǎn)發(fā)目的地址為A的數(shù)據(jù)報文。
在認知路由A的網(wǎng)絡(luò)中轉(zhuǎn)發(fā)目的地址為A的數(shù)據(jù)報文有兩種可能,一種是該數(shù)據(jù) 報文經(jīng)過R,另一種是該數(shù)據(jù)報文不經(jīng)過R。圖8(a)為本發(fā)明OSPF協(xié)議網(wǎng)絡(luò)中轉(zhuǎn)發(fā)數(shù)據(jù)報 文一個實施例的示意圖,圖8(b)為本發(fā)明OSPF協(xié)議網(wǎng)絡(luò)中轉(zhuǎn)發(fā)數(shù)據(jù)報文另一個實施例的 示意圖。在圖8 (a)所示網(wǎng)絡(luò)中,在R2轉(zhuǎn)發(fā)目的地址為A的數(shù)據(jù)報文時,由于R2與Rl之間 的路徑距離為10,R2與R之間的路徑距離為3,因此R2會通過R將該數(shù)據(jù)報文轉(zhuǎn)發(fā)至Rl, 該數(shù)據(jù)報文會經(jīng)過R ;在圖8 (b)所示網(wǎng)絡(luò)中,在R2轉(zhuǎn)發(fā)目的地址為A的數(shù)據(jù)報文時,由于 R2與Rl之間的路徑距離為2,R2與R之間的路徑距離為3,因此R2會直接將該數(shù)據(jù)報文發(fā) 送至Rl,該數(shù)據(jù)報文不會經(jīng)過R。對于經(jīng)過R的數(shù)據(jù)報文,由于R上不存在到達A的路由, 且默認路由為指向空接口的溢出路由,數(shù)據(jù)報文在R上被丟棄。對于不經(jīng)過R的數(shù)據(jù)報文, 該數(shù)據(jù)報文將會被正常轉(zhuǎn)發(fā)。綜上所述,在OSPF協(xié)議網(wǎng)絡(luò)中,如果只有一臺路由器進入溢出狀態(tài),且僅有一條 LSA被丟棄,被丟棄的LSA所描述的可達網(wǎng)段在OSPF協(xié)議網(wǎng)絡(luò)中不存在覆蓋該可達網(wǎng)段的 非默認路由的路由,那么采用本發(fā)明實施例提供的資源告警處理方法,OSPF協(xié)議網(wǎng)絡(luò)不會 產(chǎn)生路由環(huán)路。上述結(jié)論對于處于溢出狀態(tài)的路由交換設(shè)備丟棄多條LSA時的場景同樣適用。在 路由A不被其它路由覆蓋,而路由A卻覆蓋了其它路由的場景下,采用本發(fā)明實施例提供的 資源告警處理方法,OSPF協(xié)議網(wǎng)絡(luò)同樣不會產(chǎn)生路由環(huán)路。圖9(a)為本發(fā)明OSPF協(xié)議網(wǎng)絡(luò)另一個實施例的示意圖,圖9(a)所示網(wǎng)絡(luò)中存在 覆蓋路由A的非默認路由的路由。假設(shè)處于溢出狀態(tài)的路由交換設(shè)備R丟棄了路由A,而 OSPF協(xié)議網(wǎng)絡(luò)中有一條路由A+,可覆蓋路由A,A+相對于A,來自R的另一個方向。圖9 (b) 為本發(fā)明OSPF協(xié)議網(wǎng)絡(luò)中轉(zhuǎn)發(fā)數(shù)據(jù)報文再一個實施例的示意圖,如圖9(b)所示,如果路由 A的信息被R丟棄,目的地址為路由A的數(shù)據(jù)報文,原本依照路由A是要向上轉(zhuǎn)發(fā)的,如圖 9(b)中虛線箭頭所示;結(jié)果由于路由A的信息被R丟棄,因此轉(zhuǎn)發(fā)目的地址為路由A的數(shù) 據(jù)報文時,使用了 R上存在的路由信息A+,上述數(shù)據(jù)報文被錯誤地向下轉(zhuǎn)發(fā)了,正常工作的 路由器Rl接收到目的地址為路由A的數(shù)據(jù)報文之后,經(jīng)拓撲計算識別出路由A在Rl的上 游,則又將該數(shù)據(jù)報文向上游轉(zhuǎn)發(fā),因此就形成了路由環(huán)路。本發(fā)明實施例中,對于可覆蓋 路由A的非默認路由的路由,R不會將路由A的信息丟棄,而是繼續(xù)收錄到LSDB中。由于 此類情況并不多,所以在一般的網(wǎng)絡(luò)環(huán)境下,本發(fā)明實施例提出的資源告警處理方法不會 造成資源環(huán)境的進一步惡化。另外,假設(shè)一組操作K,K= {士 A,+B,+C,_D,···}。其中,“ 士”代表丟棄操作,“ + ”
代表正常添加操作,“_”代表正常刪除操作,這一組操作K結(jié)束后其結(jié)果的路由集合為E,在 K操作過程中路由集合為E-,而正常工作的路由交換設(shè)備的路由集合為F。要在OSPF協(xié)議 網(wǎng)絡(luò)中出現(xiàn)上述路由環(huán)路的情況,需要存在一條路由ε,ε屬于F,但不屬于Ε,且在E中存 在一條路由ω,ω覆蓋了 ε?;诖思僭O(shè),也就是操作K中存在士 ε的操作,根據(jù)本發(fā)明實施例提供的方法, 士 ε要求此時的E-中不存在ω,因為若存在ω,則針對ε的操作應(yīng)為+ ε,而不是士 ε。 所以此時E-中不存在ω,ω是后續(xù)加入的,即K的后續(xù)存在+ω的元素。之前ε為士 ε,表示不存在覆蓋ε的路由,而ω卻能被+ω,只有一種可能,就是ω不是類型為3、5或7 的LSA所描述的路由,即僅可能為OSPF協(xié)議中類型為1的路由。而這種情況要求OSPF協(xié)議 網(wǎng)絡(luò)內(nèi)的直連路由發(fā)生變化,且可覆蓋外部路由,這種情況非常少,可忽略掉這種可能性。對于多臺路由交換設(shè)備同時進入溢出狀態(tài),例如0SPF協(xié)議網(wǎng)絡(luò)中同時有兩臺路由交換設(shè)備進入溢出狀態(tài),可將OSPF協(xié)議網(wǎng)絡(luò)分割為兩個只擁有一臺進入溢出狀態(tài)的路 由交換設(shè)備的網(wǎng)絡(luò),由于已經(jīng)證明一個網(wǎng)絡(luò)中只有一臺進入溢出狀態(tài)的路由交換設(shè)備使用 本發(fā)明實施例提供的方法不會產(chǎn)生路由環(huán)路的問題,因此兩個這樣的網(wǎng)絡(luò)互聯(lián)同樣不會產(chǎn) 生路由環(huán)路問題。同理,多臺路由交換設(shè)備同時進入溢出狀態(tài)時,OSPF協(xié)議網(wǎng)絡(luò)同樣不會 出現(xiàn)路由環(huán)路問題。綜上所述,在一般網(wǎng)絡(luò)情況下,采用本發(fā)明實施例提供的資源告警處理方法不會 造成網(wǎng)絡(luò)的路由環(huán)路。RIP是距離矢量路由協(xié)議,在RIP網(wǎng)絡(luò)中,若目的地路由信息不是由某鄰居路由交 換設(shè)備發(fā)布的,則該鄰居路由交換設(shè)備絕不會是此路由的下一跳,因此在RIP網(wǎng)絡(luò)中,當(dāng)路 由交換設(shè)備的RIP模塊處于溢出狀態(tài)時,該路由交換設(shè)備進入溢出狀態(tài),該路由交換設(shè)備 丟棄RIP路由信息的行為不會產(chǎn)生路由環(huán)路問題。圖10為本發(fā)明RIP網(wǎng)絡(luò)一個實施例的 示意圖,如圖10所示,在RIP網(wǎng)絡(luò)中,路由A+覆蓋路由A,R進入溢出狀態(tài)后丟棄接收到的 路由A的信息,但之前R保存有路由A+的信息。在該RIP網(wǎng)絡(luò)中,R從來沒發(fā)布過路由A的信息,由于R將路由A的信息丟棄了,因 此所有的路由器都不相信R可達A。當(dāng)目的地址為A的報文被R轉(zhuǎn)發(fā)時,R會匹配路由A+, 將該報文發(fā)送至R4,R4確定該報文的目的地址為A,而路由A的信息是由R3通告給R4的, 因此該報文會沿著R4-R3-R2-R1這條路徑轉(zhuǎn)發(fā)。這條路徑雖然比R4-R-R1這條路徑要長, 但該RIP網(wǎng)絡(luò)能夠正確轉(zhuǎn)發(fā)此報文,不存在路由環(huán)路的問題。并且,RIP的路由定時重發(fā)機 制也確保了 RIP的溢出狀態(tài)能夠自動恢復(fù)。圖11為本發(fā)明資源告警處理方法又再一個實施例的流程圖,該實施例以路由信 息的協(xié)議類型為RIP為例進行說明。如圖11所示,該實施例包括步驟1101,路由交換設(shè)備接收到路由信息。步驟1102,判斷該路由交換設(shè)備的RIP模塊是否處于溢出狀態(tài)。如果該RIP模塊 處于溢出狀態(tài),執(zhí)行步驟1104 ;如果該RIP模塊處于非溢出狀態(tài),執(zhí)行步驟1103。本實施例中,路由交換設(shè)備在接收到路由信息之后,首先判斷該路由交換設(shè)備的 RIP模塊是否處于溢出狀態(tài),具體地,可以判斷該RIP模塊是否被標(biāo)記為溢出狀態(tài);如果該 RIP模塊已被標(biāo)記為溢出狀態(tài),則直接執(zhí)行步驟1104 ;如果該RIP模塊未被標(biāo)記為溢出狀 態(tài),則執(zhí)行步驟1103,判斷該路由交換設(shè)備的資源是否不足。步驟1103,判斷該路由交換設(shè)備的資源是否不足。如果該路由交換設(shè)備的資源不 足,則執(zhí)行步驟1104 ;如果該路由交換設(shè)備的資源充足,則執(zhí)行步驟1105。具體地,本實施例可以采用本發(fā)明圖4所示實施例步驟403中提供的方法,判斷該 路由交換設(shè)備的資源是否不足。步驟1104,丟棄接收到的路由信息,為RIP模塊設(shè)置溢出狀態(tài)標(biāo)記,結(jié)束本次流程。步驟1105,正常處理接收到的路由信息,結(jié)束本次流程。
在路由交換設(shè)備的資源恢復(fù)到充足之后,路由交換設(shè)備解除該RIP模塊的溢出狀態(tài),將該RIP模塊恢復(fù)為正常工作狀態(tài)。具體地,本實施例可以采用本發(fā)明圖4所示實施例 中提供的方法,確定路由交換設(shè)備的資源恢復(fù)到充足。具體地,對于RIP,解除RIP模塊的溢出狀態(tài),將該RIP模塊恢復(fù)為正常工作狀態(tài)可以為清除RIP模塊的溢出狀態(tài)標(biāo)記。上述實施例在路由交換設(shè)備資源不足時,確保了該路由交換設(shè)備原有轉(zhuǎn)發(fā)業(yè)務(wù)的不間斷運行,增強了路由交換設(shè)備及網(wǎng)絡(luò)的可用性和抗風(fēng)險性。目前在路由交換設(shè)備的內(nèi)存使用量超過預(yù)設(shè)的內(nèi)存告警閾值,觸發(fā)內(nèi)存告警處理 機制之后,標(biāo)簽分發(fā)協(xié)議(Label Distribution Protocol ;以下簡稱LDP)通常的內(nèi)存告 警處理流程為斷開LDP的所有鄰居,釋放所有路由信息,停止LDP運行,等待一定時間后, 再重新啟動LDP。上述處理流程可以在一定程度上緩解內(nèi)存不足導(dǎo)致路由交換設(shè)備崩潰的 問題,但是會造成一旦因為某種原因觸發(fā)內(nèi)存告警時,用戶的所有LDP業(yè)務(wù)將不可用,在某 些應(yīng)用場合,業(yè)務(wù)中斷將對用戶產(chǎn)生嚴重的影響。圖13為本發(fā)明資源告警處理方法再又一個實施例的流程圖,本實施例對LDP原有 的內(nèi)存告警處理方法進行優(yōu)化,在發(fā)生內(nèi)存告警后可以維持一個臨時可用的網(wǎng)絡(luò)環(huán)境而不 會造成整個網(wǎng)絡(luò)業(yè)務(wù)不可用。如圖13所示,該實施例包括步驟1301,路由交換設(shè)備接收到路由平臺通告的路由添加消息。本實施例中,路由添加消息的協(xié)議類型為LDP。步驟1302,當(dāng)路由交換設(shè)備的資源不足時,丟棄上述路由添加消息。具體地,可以采用本發(fā)明圖4所示實施例步驟403中提供的方法,判斷該路由交換 設(shè)備的資源是否不足。對于LDP,引起內(nèi)存開銷的關(guān)鍵點包括接收到路由平臺通告的路由添加消息,因此 本實施例中當(dāng)路由交換設(shè)備的資源不足時,將丟棄接收到的路由添加消息。步驟1303,在丟棄上述路由添加消息之后,當(dāng)該路由交換設(shè)備中的LDP模塊未處 于內(nèi)存告警狀態(tài)時,記錄LDP模塊進入內(nèi)存告警狀態(tài),并發(fā)布系統(tǒng)日志(SYSLOG)通告;如果 LDP模塊已處于內(nèi)存告警狀態(tài),則不需要發(fā)布SYSLOG通告。其中,SYSLOG通告是一種用來在網(wǎng)際網(wǎng)路協(xié)定中傳遞記錄檔訊息的標(biāo)準(zhǔn),路由交 換設(shè)備可以通過發(fā)布SYSLOG通告為用戶提供足夠的提示信息;例如本步驟中,通過發(fā)布 SYSLOG通告提示用戶LDP模塊進入內(nèi)存告警狀態(tài)。本實施例中,在路由交換設(shè)備的資源恢復(fù)到充足之后,路由交換設(shè)備解除LDP模 塊的內(nèi)存告警狀態(tài),將該LDP模塊恢復(fù)為正常工作狀態(tài)。具體地,本實施例可以采用本發(fā)明 圖4所示實施例中提供的方法,確定路由交換設(shè)備的資源恢復(fù)到充足。將該LDP模塊恢復(fù)為正常工作狀態(tài)的流程如下(1)記錄LDP模塊退出內(nèi)存告警狀態(tài),發(fā)布SYSLOG通告,這時,通過SYSLOG通告提 示用戶LDP模塊退出內(nèi)存告警狀態(tài);(2)請求路由平臺重分發(fā)路由添加消息。上述實施例實現(xiàn)了在內(nèi)存告警狀態(tài)下,LDP模塊不會再引進新的路由,也不會增加 轉(zhuǎn)發(fā)表項,從而在發(fā)生內(nèi)存告警后可以維持一個臨時可用的網(wǎng)絡(luò)環(huán)境而不會造成整個網(wǎng)絡(luò)業(yè)務(wù)不可用;并且在退出內(nèi)存告警狀態(tài)之后,LDP模塊可以恢復(fù)到正常工作狀態(tài),自我恢復(fù)能力良好。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述方法實施例的全部或部分步驟可以通過 程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中,該程序 在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括R0M、RAM、磁碟或者 光盤等各種可以存儲程序代碼的介質(zhì)。圖14為本發(fā)明路由交換設(shè)備一個實施例的結(jié)構(gòu)示意圖,本實施例中的路由交換 設(shè)備可以為路由器,也可以為交換機,本實施例中的路由交換設(shè)備可以實現(xiàn)本發(fā)明圖3所 示實施例的流程。如圖14所示,該路由交換設(shè)備可以包括接收模塊1401、丟棄模塊1402、 標(biāo)記模塊1403和添加模塊1404。其中,接收模塊1401可以接收路由信息;丟棄模塊1402可以在接收模塊1401接 收到路由信息之后,當(dāng)該路由交換設(shè)備中與該路由信息的協(xié)議類型一致的協(xié)議模塊處于溢 出狀態(tài)或者該路由交換設(shè)備資源不足時,丟棄該路由信息;具體地,當(dāng)協(xié)議模塊具有溢出狀 態(tài)標(biāo)記時,可以確定該協(xié)議模塊處于溢出狀態(tài);當(dāng)該協(xié)議模塊處于溢出狀態(tài)時,丟棄模塊 1402丟棄接收到的路由信息。當(dāng)協(xié)議模塊不具有溢出狀態(tài)標(biāo)記,但是該路由交換設(shè)備資源 不足時,丟棄模塊1402同樣會丟棄接收到的路由信息;具體地,可以根據(jù)該路由交換設(shè)備 產(chǎn)生的資源不足告警消息,確定該路由交換設(shè)備資源不足;或者,可以通過查詢該路由交換 設(shè)備的資源狀態(tài),當(dāng)該路由交換設(shè)備的可用資源與全部資源的比值小于或等于預(yù)設(shè)的第一 閾值時,確定該路由交換設(shè)備資源不足;上述資源包括內(nèi)存資源和路由表資源。以上僅是確 定路由交換設(shè)備資源不足的兩種方式,本實施例并不僅限于此,任何可以確定路由交換設(shè) 備資源不足的方式均應(yīng)落入本實施例的保護范圍。標(biāo)記模塊1403可以在丟棄模塊1402丟棄路由信息之后,當(dāng)該協(xié)議模塊未被標(biāo)記 為溢出狀態(tài)時,為該協(xié)議模塊設(shè)置溢出狀態(tài)標(biāo)記。該路由交換設(shè)備還可以進一步包括添加模塊1404,用于在標(biāo)記模塊1403為該協(xié) 議模塊設(shè)置溢出狀態(tài)標(biāo)記之后,在路由轉(zhuǎn)發(fā)表中添加溢出路由。上述實施例中,在接收模塊1401接收到路由信息之后,當(dāng)該路由交換設(shè)備中與該 路由信息的協(xié)議類型一致的協(xié)議模塊處于溢出狀態(tài)或該路由交換設(shè)備資源不足時,丟棄模 塊1402丟棄接收模塊1401接收到的路由信息;在丟棄路由信息之后,如果該協(xié)議模塊未被 標(biāo)記為溢出狀態(tài),則標(biāo)記模塊1403為該協(xié)議模塊設(shè)置溢出狀態(tài)標(biāo)記,并由添加模塊1404在 路由轉(zhuǎn)發(fā)表中添加溢出路由;從而在路由交換設(shè)備資源不足時,確保了該路由交換設(shè)備原 有轉(zhuǎn)發(fā)業(yè)務(wù)的不間斷運行,增強了路由交換設(shè)備及網(wǎng)絡(luò)的可用性和抗風(fēng)險性。圖15為本發(fā)明路由交換設(shè)備另一個實施例的結(jié)構(gòu)示意圖,本實施例中的路由交 換設(shè)備可以為路由器,也可以為交換機,本實施例的路由交換設(shè)備可以實現(xiàn)本發(fā)明圖4、圖 5或圖6所示實施例的流程。如圖15所示,該路由交換設(shè)備可以包括接收模塊1501、丟棄 模塊1502、標(biāo)記模塊1503和添加模塊1504、資源消息觸發(fā)模塊1505、恢復(fù)模塊1506。其中,接收模塊1501可以接收路由信息;丟棄模塊1502可以在接收模塊1501接 收到路由信息之后,當(dāng)該路由交換設(shè)備中與該路由信息的協(xié)議類型一致的協(xié)議模塊處于溢 出狀態(tài)或者該路由交換設(shè)備資源不足時,丟棄該路由信息;標(biāo)記模塊1503可以在丟棄模塊 1502丟棄路由信息之后,當(dāng)該協(xié)議模塊未被標(biāo)記為溢出狀態(tài)時,為該協(xié)議模塊設(shè)置溢出狀態(tài)標(biāo)記;添加模塊1504可以在標(biāo)記模塊1503為該協(xié)議模塊設(shè)置溢出狀態(tài)標(biāo)記之后,在路由 轉(zhuǎn)發(fā)表中添加溢出路由。本實施例中的路由交換設(shè)備還可以包括資源消息觸發(fā)模塊1505。其中,資源消息觸發(fā)模塊1505可以根據(jù)路由交換設(shè)備的內(nèi)存資源和路由表容量資源的使用情況,生成 資源不足告警消息和資源告警解除消息。例如可以設(shè)置當(dāng)該路由交換設(shè)備的可用資源與 全部資源的比值小于或等于預(yù)設(shè)的第一閾值時,生成資源不足告警消息;當(dāng)該路由交換設(shè) 備的可用資源與全部資源的比值大于或等于預(yù)設(shè)的第二閾值時,生成資源告警解除消息; 其中,第一閾值和第二閾值可以根據(jù)路由交換設(shè)備具體的資源情況設(shè)置,例如第一閾值可 以為10%,第二閾值可以為20% ;上述資源包括內(nèi)存資源和路由表資源。具體地,當(dāng)協(xié)議模塊具有溢出狀態(tài)標(biāo)記時,可以確定該協(xié)議模塊處于溢出狀態(tài);當(dāng) 該協(xié)議模塊處于溢出狀態(tài)時,丟棄模塊1502丟棄接收到的路由信息。當(dāng)協(xié)議模塊不具有 溢出狀態(tài)標(biāo)記,但是該路由交換設(shè)備資源不足時,丟棄模塊1502同樣會丟棄接收到的路由 信息;具體地,丟棄模塊1502可以根據(jù)資源消息觸發(fā)模塊1505生成的資源不足告警消息, 確定該路由交換設(shè)備資源不足。以上僅是確定路由交換設(shè)備資源不足的一種示例,本實施 例并不僅限于此,任何可以確定路由交換設(shè)備資源不足的方式均應(yīng)落入本實施例的保護范 圍。本實施例中的路由交換設(shè)備還可以包括恢復(fù)模塊1506,用于在路由交換設(shè)備的 資源恢復(fù)到充足之后,解除該協(xié)議模塊的溢出狀態(tài),將該協(xié)議模塊恢復(fù)為正常工作狀態(tài)。具 體地,恢復(fù)模塊1506可以根據(jù)資源消息觸發(fā)模塊1505生成的資源告警解除消息,確定該 路由交換設(shè)備的資源恢復(fù)到充足;以上僅是確定路由交換設(shè)備的資源恢復(fù)到充足的一種示 例,本實施例并不僅限于此,任何可以確定路由交換設(shè)備的資源恢復(fù)到充足的方式均應(yīng)落 入本實施例的保護范圍。具體地,當(dāng)路由信息的協(xié)議類型為OSPF協(xié)議時,恢復(fù)模塊1506具體可以清除溢出 路由,清除OSPF協(xié)議模塊的溢出狀態(tài)標(biāo)記,以解除OSPF協(xié)議模塊的溢出狀態(tài),將OSPF協(xié)議 模塊恢復(fù)為正常工作狀態(tài);當(dāng)路由信息的協(xié)議類型為BGP時,恢復(fù)模塊1506具體可以清除溢出路由,清除BGP 模塊的溢出狀態(tài)標(biāo)記;并向運行BGP的鄰居路由交換設(shè)備發(fā)送路由刷新消息;從而解除BGP 模塊的溢出狀態(tài),將BGP模塊恢復(fù)為正常工作狀態(tài);當(dāng)路由信息的協(xié)議類型為ISIS協(xié)議時,恢復(fù)模塊1506具體可以清除溢出路由,并 清除ISIS協(xié)議模塊的溢出狀態(tài)標(biāo)記;將ISIS協(xié)議的數(shù)據(jù)庫中所有具有裁剪標(biāo)記的路由信 息的序列號和校驗碼更改為零,并向所有ISIS協(xié)議接口泛洪更改后的路由信息;從而解除 ISIS協(xié)議模塊的溢出狀態(tài),將ISIS協(xié)議模塊恢復(fù)為正常工作狀態(tài)。本實施例中,丟棄模塊1502可以包括第一查找子模塊15021和第一丟棄子模塊 15022。其中,第一查找子模塊15021可以當(dāng)路由信息的協(xié)議類型為OSPF協(xié)議,該路由交換 設(shè)備中的OSPF協(xié)議模塊處于溢出狀態(tài)或者該路由交換設(shè)備資源不足時,在路由轉(zhuǎn)發(fā)表中 查找覆蓋接收模塊1501接收到的路由信息所示的可達網(wǎng)段的最長路由;第一丟棄子模塊 15022可以當(dāng)?shù)谝徊檎易幽K15021在路由轉(zhuǎn)發(fā)表中未查找到上述最長路由,或者第一查 找子模塊15021在路由轉(zhuǎn)發(fā)表中查找到的上述最長路由為默認路由時,丟棄接收模塊1501 接收到的路由信息。
本實施例中,丟棄模塊1502還可以包括第二查找子模塊15023和第二丟棄子模塊15024。其中,第二查找子模塊15023可以當(dāng)路由信息的協(xié)議類型為BGP,該路由交換設(shè) 備中的BGP模塊處于溢出狀態(tài)或者該路由交換設(shè)備資源不足時,在路由轉(zhuǎn)發(fā)表中查找覆蓋 接收模塊1501接收到的路由信息所示的可達網(wǎng)段的最長路由;第二丟棄子模塊15024可 以當(dāng)?shù)诙檎易幽K15023在路由轉(zhuǎn)發(fā)表中未查找到上述最長路由,或者第二查找子模塊 15023在路由轉(zhuǎn)發(fā)表中查找到的上述最長路由為默認路由時,丟棄接收模塊1501接收到的 路由信息;或者,第二丟棄子模塊15024可以當(dāng)?shù)诙檎易幽K15023在路由轉(zhuǎn)發(fā)表中查 找到上述最長路由,上述最長路由不是默認路由,且上述最長路由的下一跳路由信息與接 收模塊1501接收到的路由信息所示的可達網(wǎng)段的下一跳路由信息相同時,丟棄接收模塊 1501接收到的路由信息。本實施例中,丟棄模塊1502還可以包括第三查找子模塊15025和第三丟棄子模塊15026。其中,第三查找子模塊15025可以當(dāng)路由信息的協(xié)議類型為ISIS協(xié)議,該路由交 換設(shè)備中的ISIS協(xié)議模塊處于溢出狀態(tài)或者該路由交換設(shè)備資源不足時,在路由轉(zhuǎn)發(fā)表中查找覆蓋接收模塊1501接收到的路由信息所示的可達網(wǎng)段的最長路由;第三丟棄子模 塊15026可以當(dāng)?shù)谌檎易幽K15025在路由轉(zhuǎn)發(fā)表中未查找到上述最長路由,或者第三 查找子模塊15025在路由轉(zhuǎn)發(fā)表中查找到的上述最長路由為默認路由時,對接收模塊1501 接收到的路由信息所示的可達網(wǎng)段進行裁剪操作。第三丟棄子模塊15026具體可以向除上述路由信息的接收接口之外的所有接口 泛洪接收模塊1501接收到的路由信息;從上述路由信息中刪除可達網(wǎng)段的信息,保留路由 信息的頭部信息,該頭部信息包括路由信息的序列號和校驗碼;為上述路由信息設(shè)置裁剪 標(biāo)記,并記錄上述路由信息的接收接口。上述實施例中,在接收模塊1501接收到路由信息之后,當(dāng)該路由交換設(shè)備中與該 路由信息的協(xié)議類型一致的協(xié)議模塊處于溢出狀態(tài)或該路由交換設(shè)備資源不足時,丟棄模 塊1502丟棄接收模塊1501接收到的路由信息;在丟棄路由信息之后,當(dāng)該協(xié)議模塊未被標(biāo) 記為溢出狀態(tài)時,標(biāo)記模塊1503為該協(xié)議模塊設(shè)置溢出狀態(tài)標(biāo)記,并由添加模塊1504在路 由轉(zhuǎn)發(fā)表中添加溢出路由;從而在路由交換設(shè)備資源不足時,確保了該路由交換設(shè)備原有 轉(zhuǎn)發(fā)業(yè)務(wù)的不間斷運行,增強了路由交換設(shè)備及網(wǎng)絡(luò)的可用性和抗風(fēng)險性。圖16為本發(fā)明路由交換設(shè)備再一個實施例的結(jié)構(gòu)示意圖,本實施例中的路由交 換設(shè)備16可以為標(biāo)簽交換路由器(Label Switching Router,以下簡稱LSR),實現(xiàn)本發(fā)明 圖13所示實施例的流程。如圖16所示,該路由交換設(shè)備16可以包括接收模塊1601、丟 棄模塊1602、標(biāo)記模塊1603和恢復(fù)模塊1604。其中,接收模塊1601,用于接收路由信息;本實施例中,該路由信息為路由平臺通告的路由添加消息,該路由信息的協(xié)議類型為LDP ;丟棄模塊1602,用于在接收模塊1601接收到路由信息之后,當(dāng)該路由交換設(shè)備資源不足時,丟棄上述路由信息;具體地,可以根據(jù)本發(fā)明圖4所示實施例步驟403中提供的 方法,確定路由交換設(shè)備資源不足;標(biāo)記模塊1603,用于在丟棄模塊1602丟棄路由信息之后,當(dāng)該路由交換設(shè)備中的LDP模塊未處于內(nèi)存告警狀態(tài)時,記錄LDP模塊進入內(nèi)存告警狀態(tài),并發(fā)布SYSLOG通告;這 時,該SYSLOG通告用于提示用戶LDP模塊進入內(nèi)存告警狀態(tài);
恢復(fù)模塊1604,用于在路由交換設(shè)備的資源恢復(fù)到充足之后,解除LDP模塊的內(nèi) 存告警狀態(tài),將該LDP模塊恢復(fù)為正常工作狀態(tài)。 其中,丟棄模塊1602可以包括第四丟棄子模塊16021,用于當(dāng)路由交換設(shè)備的內(nèi) 存使用量大于預(yù)設(shè)的內(nèi)存告警閾值時,丟棄路由平臺通告的路由添加消息。恢復(fù)模塊1604具體可以在路由交換設(shè)備的資源恢復(fù)到充足之后,記錄LDP模塊退 出內(nèi)存告警狀態(tài),發(fā)布SYSLOG通告,并請求路由平臺重分發(fā)路由添加消息;這時,該SYSLOG 通告用于提示用戶LDP模塊退出內(nèi)存告警狀態(tài)。其中,恢復(fù)模塊1604可以通過本發(fā)明圖4 所示實施例中提供的方法,確定路由交換設(shè)備的資源恢復(fù)到充足。上述路由交換設(shè)備實現(xiàn)了在內(nèi)存告警狀態(tài)下,LDP模塊不會再引進新的路由,也不 會增加轉(zhuǎn)發(fā)表項,從而在發(fā)生內(nèi)存告警后可以維持一個臨時可用的網(wǎng)絡(luò)環(huán)境而不會造成整 個網(wǎng)絡(luò)業(yè)務(wù)不可用;并且在退出內(nèi)存告警狀態(tài)之后,LDP模塊可以恢復(fù)到正常工作狀態(tài),自 我恢復(fù)能力良好。本領(lǐng)域技術(shù)人員可以理解上述實施例中的路由交換設(shè)備中的模塊可以按照上述 實施例的描述分布于本發(fā)明圖14、圖15或圖16所示實施例提供的路由交換設(shè)備中,也可以 進行相應(yīng)變化位于不同于上述實施例的一個或多個路由交換設(shè)備中。上述實施例的模塊可 以合并為一個模塊,也可以進一步拆分成多個子模塊。本發(fā)明實施例還提供一種資源告警處理系統(tǒng),包括至少兩臺路由交換設(shè)備,該路 由交換設(shè)備可以由本發(fā)明圖14、圖15或圖16所示實施例的路由交換設(shè)備實現(xiàn)。本領(lǐng)域技術(shù)人員可以理解附圖只是一個優(yōu)選實施例的示意圖,附圖中的模塊或流 程并不一定是實施本發(fā)明所必須的。最后應(yīng)說明的是以上實施例僅用以說明本發(fā)明的技術(shù)方案而非對其進行限制, 盡管參照較佳實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依 然可以對本發(fā)明的技術(shù)方案進行修改或者等同替換,而這些修改或者等同替換亦不能使修 改后的技術(shù)方案脫離本發(fā)明技術(shù)方案的精神和范圍。
權(quán)利要求
一種資源告警處理方法,其特征在于,包括路由交換設(shè)備接收到路由信息;當(dāng)所述路由交換設(shè)備中與所述路由信息的協(xié)議類型一致的協(xié)議模塊處于溢出狀態(tài)或者所述路由交換設(shè)備資源不足時,丟棄所述路由信息;在丟棄所述路由信息之后,當(dāng)所述協(xié)議模塊未被標(biāo)記為溢出狀態(tài)時,為所述協(xié)議模塊設(shè)置溢出狀態(tài)標(biāo)記。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述為所述協(xié)議模塊設(shè)置溢出狀態(tài)標(biāo)記 之后,還包括在路由轉(zhuǎn)發(fā)表中添加溢出路由。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括在所述路由交換設(shè)備的資源恢復(fù)到充足之后,解除所述協(xié)議模塊的溢出狀態(tài),將所述協(xié)議模塊恢復(fù)為正常工作狀態(tài)。
4.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,所述路由信息的協(xié)議類型為開放最短路徑優(yōu)先OSPF協(xié)議,當(dāng)所述路由交換設(shè)備中的OSPF協(xié)議模塊處于溢出狀態(tài)或者所述路由 交換設(shè)備資源不足時,所述丟棄所述路由信息包括在路由轉(zhuǎn)發(fā)表中查找覆蓋所述路由信息所示的可達網(wǎng)段的最長路由; 當(dāng)在所述路由轉(zhuǎn)發(fā)表中未查找到所述最長路由,或者在所述路由轉(zhuǎn)發(fā)表中查找到的所 述最長路由為默認路由時,丟棄所述路由信息。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述解除所述協(xié)議模塊的溢出狀態(tài),將所 述協(xié)議模塊恢復(fù)為正常工作狀態(tài)包括清除所述溢出路由,并清除所述OSPF協(xié)議模塊的溢出狀態(tài)標(biāo)記。
6.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,所述路由信息的協(xié)議類型為邊界網(wǎng)關(guān) 協(xié)議BGP,當(dāng)所述路由交換設(shè)備中的BGP模塊處于溢出狀態(tài)或者所述路由交換設(shè)備資源不 足時,所述丟棄所述路由信息包括在路由轉(zhuǎn)發(fā)表中查找覆蓋所述路由信息所示的可達網(wǎng)段的最長路由; 當(dāng)在所述路由轉(zhuǎn)發(fā)表中未查找到所述最長路由,或者在所述路由轉(zhuǎn)發(fā)表中查找到的所 述最長路由為默認路由時,丟棄所述路由信息;當(dāng)在所述路由轉(zhuǎn)發(fā)表中查找到所述最長路由,所述最長路由不是默認路由,且所述最 長路由的下一跳路由信息與所述路由信息所示的可達網(wǎng)段的下一跳路由信息相同時,丟棄 所述路由信息。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述解除所述協(xié)議模塊的溢出狀態(tài),將所 述協(xié)議模塊恢復(fù)為正常工作狀態(tài)包括清除所述溢出路由,并清除所述BGP模塊的溢出狀態(tài)標(biāo)記; 向運行所述BGP的鄰居路由交換設(shè)備發(fā)送路由刷新消息。
8.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,所述路由信息的協(xié)議類型為中間系統(tǒng) 到中間系統(tǒng)ISIS協(xié)議,當(dāng)所述路由交換設(shè)備中的ISIS協(xié)議模塊處于溢出狀態(tài)或者所述路 由交換設(shè)備資源不足時,所述丟棄所述路由信息包括在路由轉(zhuǎn)發(fā)表中查找覆蓋所述路由信息所示的可達網(wǎng)段的最長路由; 當(dāng)在所述路由轉(zhuǎn)發(fā)表中未查找到所述最長路由,或者在所述路由轉(zhuǎn)發(fā)表中查找到的所述最長路由為默認路由時,對所述路由信息所示的可達網(wǎng)段進行裁剪操作。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述對所述路由信息所示的可達網(wǎng)段進行裁剪操作包括向除所述路由信息的接收接口之外的所有接口泛洪所述路由信息;從所述路由信息中刪除所述可達網(wǎng)段的信息,保留所述路由信息的頭部信息,所述頭 部信息包括所述路由信息的序列號和校驗碼;為所述路由信息設(shè)置裁剪標(biāo)記,并記錄所述路由信息的接收接口。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,還包括將裁剪后的路由信息存入所述ISIS協(xié)議的數(shù)據(jù)庫中;在接收到鄰居路由交換設(shè)備發(fā)送的索取路由信息的報文之后,在所述數(shù)據(jù)庫中查找被 索取的路由信息;當(dāng)所述被索取的路由信息不具有所述裁剪標(biāo)記時,將所述被索取的路由信息發(fā)送至所 述鄰居路由交換設(shè)備;當(dāng)所述被索取的路由信息具有所述裁剪標(biāo)記時,記錄所述被索取的路由信息的索取接 口,并向所述被索取的路由信息的接收接口發(fā)送報文,請求所述被索取的路由信息被裁剪 之前的原始路由信息;從所述接收接口接收所述原始路由信息,當(dāng)所述數(shù)據(jù)庫中存在與所 述原始路由信息具有相同序列號和相同校驗碼的被裁剪之后的路由信息時,從所述索取接 口將所述原始路由信息發(fā)送至所述鄰居路由交換設(shè)備,清除所述索取接口的記錄,丟棄所 述原始路由信息。
11.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述解除所述協(xié)議模塊的溢出狀態(tài),將 所述協(xié)議模塊恢復(fù)為正常工作狀態(tài)包括清除所述溢出路由,并清除所述ISIS協(xié)議模塊的溢出狀態(tài)標(biāo)記;將所述數(shù)據(jù)庫中所有具有裁剪標(biāo)記的路由信息的序列號和校驗碼更改為零,并向所有 ISIS協(xié)議接口泛洪所述更改后的路由信息。
12.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述溢出路由為默認路由,所述溢出路 由的出接口為空接口,所述溢出路由的管理距離為1。
13.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述路由信息為路由平臺通告的路由添 加消息,所述路由信息的協(xié)議類型為標(biāo)簽分發(fā)協(xié)議LDP,當(dāng)所述路由交換設(shè)備資源不足時, 所述丟棄所述路由信息包括丟棄所述路由平臺通告的路由添加消息。
14.根據(jù)權(quán)利要求13所述的方法,其特征在于,所述當(dāng)所述協(xié)議模塊未被標(biāo)記為溢出 狀態(tài)時,為所述協(xié)議模塊設(shè)置溢出狀態(tài)標(biāo)記包括當(dāng)所述路由交換設(shè)備中的LDP模塊未處于內(nèi)存告警狀態(tài)時,記錄所述LDP模塊進入內(nèi) 存告警狀態(tài),并發(fā)布系統(tǒng)日志通告。
15.根據(jù)權(quán)利要求14所述的方法,其特征在于,所述解除所述協(xié)議模塊的溢出狀態(tài),將 所述協(xié)議模塊恢復(fù)為正常工作狀態(tài)包括記錄所述LDP模塊退出內(nèi)存告警狀態(tài),發(fā)布系統(tǒng)日志通告,并請求所述路由平臺重分 發(fā)路由添加消息。
16.一種路由交換設(shè)備,其特征在于,包括接收模塊,用于接收路由信息;丟棄模塊,用于在所述接收模塊接收到路由信息之后,當(dāng)所述路由交換設(shè)備中與所述 路由信息的協(xié)議類型一致的協(xié)議模塊處于溢出狀態(tài)或者所述路由交換設(shè)備資源不足時,丟 棄所述路由信息;標(biāo)記模塊,用于在所述丟棄模塊丟棄所述路由信息之后,當(dāng)所述協(xié)議模塊未被標(biāo)記為 溢出狀態(tài)時,為所述協(xié)議模塊設(shè)置溢出狀態(tài)標(biāo)記。
17.根據(jù)權(quán)利要求16所述的路由交換設(shè)備,其特征在于,還包括添加模塊,用于在所述標(biāo)記模塊為所述協(xié)議模塊設(shè)置溢出狀態(tài)標(biāo)記之后,在路由轉(zhuǎn)發(fā) 表中添加溢出路由。
18.根據(jù)權(quán)利要求16所述的路由交換設(shè)備,其特征在于,還包括恢復(fù)模塊,用于在所述路由交換設(shè)備的資源恢復(fù)到充足之后,解除所述協(xié)議模塊的溢 出狀態(tài),將所述協(xié)議模塊恢復(fù)為正常工作狀態(tài)。
19.根據(jù)權(quán)利要求17或18所述的路由交換設(shè)備,其特征在于,所述丟棄模塊包括第一查找子模塊,用于當(dāng)所述路由信息的協(xié)議類型為開放最短路徑優(yōu)先OSPF協(xié)議,所 述路由交換設(shè)備中的OSPF協(xié)議模塊處于溢出狀態(tài)或者所述路由交換設(shè)備資源不足時,在 所述路由轉(zhuǎn)發(fā)表中查找覆蓋所述路由信息所示的可達網(wǎng)段的最長路由;第一丟棄子模塊,用于當(dāng)所述第一查找子模塊在所述路由轉(zhuǎn)發(fā)表中未查找到所述最長 路由,或者所述第一查找子模塊在路由轉(zhuǎn)發(fā)表中查找到的所述最長路由為默認路由時,丟 棄所述路由信息。
20.根據(jù)權(quán)利要求19所述的路由交換設(shè)備,其特征在于,所述恢復(fù)模塊具體用于清除 所述溢出路由,清除所述OSPF協(xié)議模塊的溢出狀態(tài)標(biāo)記。
21.根據(jù)權(quán)利要求17或18所述的路由交換設(shè)備,其特征在于,所述丟棄模塊包括 第二查找子模塊,用于當(dāng)所述路由信息的協(xié)議類型為邊界網(wǎng)關(guān)協(xié)議BGP,所述路由交換設(shè)備中的BGP模塊處于溢出狀態(tài)或者所述路由交換設(shè)備資源不足時,在路由轉(zhuǎn)發(fā)表中查找 覆蓋所述路由信息所示的可達網(wǎng)段的最長路由;第二丟棄子模塊,用于當(dāng)所述第二查找子模塊在路由轉(zhuǎn)發(fā)表中未查找到所述最長路 由,或者所述第二查找子模塊在路由轉(zhuǎn)發(fā)表中查找到的所述最長路由為默認路由時,丟棄 所述路由信息;或者,所述第二丟棄子模塊用于當(dāng)所述第二查找子模塊在路由轉(zhuǎn)發(fā)表中查 找到所述最長路由,所述最長路由不是默認路由,且所述最長路由的下一跳路由信息與所 述路由信息所示的可達網(wǎng)段的下一跳路由信息相同時,丟棄所述路由信息。
22.根據(jù)權(quán)利要求21所述的路由交換設(shè)備,其特征在于,所述恢復(fù)模塊具體用于清除 所述溢出路由,清除所述BGP模塊的溢出狀態(tài)標(biāo)記;并向運行所述BGP的鄰居路由交換設(shè)備 發(fā)送路由刷新消息。
23.根據(jù)權(quán)利要求17或18所述的路由交換設(shè)備,其特征在于,所述丟棄模塊包括 第三查找子模塊,用于當(dāng)所述路由信息的協(xié)議類型為中間系統(tǒng)到中間系統(tǒng)ISIS協(xié)議,所述路由交換設(shè)備中的ISIS協(xié)議模塊處于溢出狀態(tài)或者所述路由交換設(shè)備資源不足時, 在路由轉(zhuǎn)發(fā)表中查找覆蓋所述路由信息所示的可達網(wǎng)段的最長路由;第三丟棄子模塊,用于當(dāng)所述第三查找子模塊在路由轉(zhuǎn)發(fā)表中未查找到所述最長路 由,或者所述第三查找子模塊在路由轉(zhuǎn)發(fā)表中查找到的所述最長路由為默認路由時,對所述路由信息所示的可達網(wǎng)段進行裁剪操作。
24.根據(jù)權(quán)利要求23所述的路由交換設(shè)備,其特征在于,所述第三丟棄子模塊具體用 于向除所述路由信息的接收接口之外的所有接口泛洪所述路由信息;從所述路由信息中刪 除所述可達網(wǎng)段的信息,保留所述路由信息的頭部信息,所述頭部信息包括所述路由信息 的序列號和校驗碼;為所述路由信息設(shè)置裁剪標(biāo)記,并記錄所述路由信息的接收接口。
25.根據(jù)權(quán)利要求24所述的路由交換設(shè)備,其特征在于,所述恢復(fù)模塊具體用于清除 所述溢出路由,并清除所述ISIS協(xié)議模塊的溢出狀態(tài)標(biāo)記;將ISIS協(xié)議的數(shù)據(jù)庫中所有具 有裁剪標(biāo)記的路由信息的序列號和校驗碼更改為零,并向所有ISIS協(xié)議接口泛洪所述更 改后的路由信息。
26.根據(jù)權(quán)利要求18所述的路由交換設(shè)備,其特征在于,所述丟棄模塊包括第四丟棄子模塊,用于當(dāng)所述路由信息為路由平臺告的路由添加消息,所述路由信息 的協(xié)議類型為標(biāo)簽分發(fā)協(xié)議LDP,當(dāng)所述路由交換設(shè)備資源不足時,丟棄所述路由平臺通告 的路由添加消息。
27.根據(jù)權(quán)利要求26所述的路由交換設(shè)備,其特征在于,所述標(biāo)記模塊具體用于當(dāng)所 述路由交換設(shè)備中的LDP模塊未處于內(nèi)存告警狀態(tài)時,記錄所述LDP模塊進入內(nèi)存告警狀 態(tài),并發(fā)布系統(tǒng)日志通告。
28.根據(jù)權(quán)利要求27所述的路由交換設(shè)備,其特征在于,所述恢復(fù)模塊具體用于在所 述路由交換設(shè)備的資源恢復(fù)到充足之后,記錄所述LDP模塊退出內(nèi)存告警狀態(tài),發(fā)布系統(tǒng) 日志通告,并請求所述路由平臺重分發(fā)路由添加消息。
全文摘要
本發(fā)明實施例公開了一種資源告警處理方法和路由交換設(shè)備,所述資源告警處理方法包括路由交換設(shè)備接收到路由信息;當(dāng)所述路由交換設(shè)備中與所述路由信息的協(xié)議類型一致的協(xié)議模塊處于溢出狀態(tài)或者所述路由交換設(shè)備資源不足時,丟棄所述路由信息;在丟棄所述路由信息之后,當(dāng)所述協(xié)議模塊未被標(biāo)記為溢出狀態(tài)時,為所述協(xié)議模塊設(shè)置溢出狀態(tài)標(biāo)記。本發(fā)明實施例在路由交換設(shè)備資源不足時,確保了該路由交換設(shè)備原有轉(zhuǎn)發(fā)業(yè)務(wù)的不間斷運行,增強了路由交換設(shè)備及網(wǎng)絡(luò)的可用性和抗風(fēng)險性。
文檔編號H04L29/06GK101800694SQ200910221869
公開日2010年8月11日 申請日期2009年11月19日 優(yōu)先權(quán)日2009年11月19日
發(fā)明者林仕宏 申請人:福建星網(wǎng)銳捷網(wǎng)絡(luò)有限公司