學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 網(wǎng)絡(luò)知識(shí) > 路由器 > 路由器知識(shí)大全 > 思科路由器平穩(wěn)重啟技術(shù)怎樣

思科路由器平穩(wěn)重啟技術(shù)怎樣

時(shí)間: 若木635 分享

思科路由器平穩(wěn)重啟技術(shù)怎樣

  眾所周知,要獲得很高的網(wǎng)絡(luò)永續(xù)性,需要使用具有熱故障恢復(fù)功能和連接 不同網(wǎng)絡(luò)路徑的主路由器和備用路由器。但是僅僅這樣并不夠。路由器本身——尤其是那些位于不安全的 WAN 邊緣的路由器——應(yīng)當(dāng)配有內(nèi)部冗余硬件組件,例如交換矩陣、線路卡、電源和路由處理器( RP )。高可用性路由器還必須支持快速軟件恢復(fù)技術(shù)。

  利用可以隔離控制和轉(zhuǎn)發(fā)面板,并使用平穩(wěn)的重啟機(jī)制——也被稱為思科不間斷轉(zhuǎn)發(fā)( NSF )——的路由器,可以大幅度地延長(zhǎng)網(wǎng)絡(luò)和應(yīng)用的正常運(yùn)行時(shí)間。這種軟件恢復(fù)技術(shù)可以在 RP 流程發(fā)生中斷時(shí),保持分組的正常傳輸,從而控制中斷對(duì)網(wǎng)絡(luò)的影響。

  雙 RP 和連續(xù)分組轉(zhuǎn)發(fā)

  RP 包含了路由器的“大腦”。它負(fù)責(zé)存儲(chǔ)最佳路徑路由信息的數(shù)據(jù)庫(kù),保存與對(duì)等路由器的鄰接關(guān)系,以及處理特定的管理職能。冗余硬件可以提高網(wǎng)絡(luò)組件在發(fā)生故障時(shí)的可用性。思科的雙 RP 設(shè)備包括 12000 、 10000 和 7600 系列高端路由器,以及 Cisco 7500 和 7300 系列路由器。

  兩個(gè) RP 的狀態(tài)信息的同步程度在一定程度上將取決于路由器能夠以多快的速度從進(jìn)程重啟或者從故障中恢復(fù)。這需要在兩個(gè)極端的備份形式之間進(jìn)行平衡。一種極端形式是 RP 的“冷”備份,即不包含任何關(guān)于第二層連接、鄰接關(guān)系和最佳路徑路由表的狀態(tài)信息。在這種情況下,所有這些信息都需要重新構(gòu)建,因而可能會(huì)導(dǎo)致極長(zhǎng)的恢復(fù)時(shí)間。另外一種極端形式是在兩個(gè) RP 之間不間斷地同步所有的信息,這可能會(huì)占用過(guò)多的處理資源,影響到網(wǎng)絡(luò)的可擴(kuò)展性和性能。

  通常采用的方式是在這兩種極端的 RP 同步方式之間保持適當(dāng)?shù)钠胶?,即將大部?但并非全部)恢復(fù)信息加載到備用 RP 中。這種同步可以在切換 RP 和集中路由表的過(guò)程中,繼續(xù)進(jìn)行第三層分組轉(zhuǎn)發(fā)。

  安裝在上述路由器平臺(tái)上的 Cisco IOS?軟件 12.0(22)S 版本或者更高版本可以支持思科 NSF 。它能在主 RP 進(jìn)行預(yù)定維護(hù)或者 RP 發(fā)生意外故障時(shí)縮短路由器的停機(jī)時(shí)間。在大多數(shù)情況下,要實(shí)現(xiàn)思科 NSF ,重啟路由器和它的對(duì)等路由器必須保存針對(duì)所有可以通過(guò)重啟路由器到達(dá)的網(wǎng)絡(luò)的轉(zhuǎn)發(fā)信息。在重啟路由器上,在從主 RP 向備用 RP 切換的過(guò)程中,控制面板和轉(zhuǎn)發(fā)面板必須互相隔離,以便讓轉(zhuǎn)發(fā)面板能繼續(xù)轉(zhuǎn)發(fā)數(shù)據(jù)流量。

  路由協(xié)議擴(kuò)展

  為了實(shí)現(xiàn) NSF ,部分思科路由器可以采用常用路由協(xié)議——包括邊界網(wǎng)關(guān)協(xié)議( BGP )、 IS-IS 和開(kāi)放最短路徑優(yōu)先( OSPF )的新型平穩(wěn)重啟擴(kuò)展。這些擴(kuò)展可以在判斷主 RP 能否迅速恢復(fù)的同時(shí),暫時(shí)繼續(xù)轉(zhuǎn)發(fā)分組和保持網(wǎng)絡(luò)連接的穩(wěn)定性。

  要讓大部分思科 NSF/ 平穩(wěn)重啟部署可以發(fā)揮作用,重啟路由器的對(duì)等路由器也必須支持這些擴(kuò)展。這主要是由于下面兩點(diǎn)原因。首先, RP 切換并不代表拓?fù)渥兓?,僅僅表示 RP 恢復(fù)。對(duì)等路由器可以利用平穩(wěn)重啟擴(kuò)展區(qū)別這兩種情況,從而避免對(duì)外廣播停用和啟用重啟路由器的信息。這可以防止不必要的廣播信息和路由變化。其次,它讓對(duì)等路由器能在恢復(fù)期間繼續(xù)向重啟路由器轉(zhuǎn)發(fā)分組,從而提供 NSF 。它還必須知道應(yīng)當(dāng)交換哪些消息和信息,以幫助主路由器迅速恢復(fù)。

  但是,因?yàn)槊糠N路由協(xié)議都使用不同的機(jī)制來(lái)建立路由器的鄰接關(guān)系或者對(duì)等關(guān)系,以及交換路由信息,所以每種協(xié)議的平穩(wěn)重啟步驟和消息都有所不同(如圖 2 所示)。

  例如, BGP 利用底層 TCP 協(xié)議來(lái)建立對(duì)等關(guān)系,而 OSPF 和 IS-IS 使用 Hello 消息來(lái)建立鄰接關(guān)系。這兩種路由協(xié)議的另外一個(gè)區(qū)別是:在發(fā)現(xiàn)重啟路由器無(wú)法恢復(fù)和決定重新利用完全網(wǎng)絡(luò)融合進(jìn)行傳統(tǒng)恢復(fù)之前,持續(xù)轉(zhuǎn)發(fā)分組的時(shí)間。

  BGP 平穩(wěn)重啟

  因?yàn)?BGP 重啟的影響可能會(huì)非常深遠(yuǎn),所以 BGP 是進(jìn)行高可用性改進(jìn)的重要對(duì)象。 BGP 可以承載大量的路由,所以在某個(gè) BGP 軟件發(fā)生故障后進(jìn)行網(wǎng)絡(luò)融合的時(shí)間通常長(zhǎng)于其他支持較少路由的路由協(xié)議。此外,因?yàn)?BGP 是一種域間路由協(xié)議,所以一個(gè)發(fā)生故障的 BGP 流程可能會(huì)傳播到多個(gè)網(wǎng)絡(luò),而不是局限于某一個(gè)域。

  在 BGP 網(wǎng)絡(luò)進(jìn)行重啟時(shí),協(xié)議改進(jìn)會(huì)在初始 BGP 連接建立之后開(kāi)始。重啟路由器及其對(duì)等路由器會(huì)通過(guò)在建立進(jìn)程的初始 BGP OPEN 消息中交換 BGP 功能代碼 64 ,表明對(duì)思科 NSF 的支持。

  在通常情況下,當(dāng)路由器重啟它的 BGP 進(jìn)程時(shí),與對(duì)等路由器的 TCP 連接將被清除,從而導(dǎo)致對(duì)等路由器清除所有與重啟路由器有關(guān)的路由。但是,在進(jìn)行 BGP 平穩(wěn)重啟時(shí)將不會(huì)進(jìn)行這樣的操作。相反,對(duì)等路由器會(huì)將這些路由標(biāo)為“過(guò)期”,并根據(jù)對(duì)重啟路由器將會(huì)迅速重新建立 BGP 進(jìn)程的預(yù)期,繼續(xù)用這些路由轉(zhuǎn)發(fā)分組。同樣,重啟路由器還將在 BGP 協(xié)議進(jìn)行重新融合時(shí)繼續(xù)轉(zhuǎn)發(fā)分組。

  當(dāng)重啟路由器建立新的 BGP 進(jìn)程時(shí),它將會(huì)再次向它的對(duì)等路由器發(fā)送 BGP 功能代碼 64 。但是在這一次,平穩(wěn)重啟功能交換中的標(biāo)記位設(shè)置將讓對(duì)等路由器知道 BGP 流程已經(jīng)重啟。

  在繼續(xù)轉(zhuǎn)發(fā)分組的同時(shí),對(duì)等路由器將向重啟路由器發(fā)送一個(gè)初始路由升級(jí)。對(duì)等路由器將通過(guò)一個(gè) end-of-RIB ( EOR )標(biāo)記表明它已經(jīng)將升級(jí)發(fā)送完畢。這個(gè)標(biāo)記實(shí)際上是一個(gè)空的 BGP UPDATE 消息。在重啟路由器從所有對(duì)等路由器收到 EOR 以后,它就知道它可以利用新的路由信息再次開(kāi)始選擇最佳路徑。

  同樣,重啟路由器也會(huì)向它的對(duì)等路由器發(fā)送所有升級(jí),再利用 EOR 標(biāo)記表示發(fā)送完成。這將讓對(duì)等路由器可以用從重啟路由器接收到的升級(jí)取代過(guò)期的路由。

  IS-IS 的特性

  互聯(lián)網(wǎng)工程任務(wù)小組 ( IETF )正在以互聯(lián)網(wǎng)草案的形式,為 IS-IS 連接狀態(tài)、單域路由協(xié)議設(shè)計(jì)一個(gè)類似的平穩(wěn)重啟流程。 IS-IS 擴(kuò)展的設(shè)計(jì)者、來(lái)自思科的 Mike Shand 指出, 在本期 Packet? 出版時(shí), IETF 將會(huì)公布這個(gè)草案的最后一個(gè)版本。如前所述, IS-IS 利用 Hello 協(xié)議發(fā)現(xiàn)相鄰的路由器,以及建立和保持鄰接關(guān)系。當(dāng)路由器重啟時(shí),它會(huì)通過(guò) Hello 協(xié)議數(shù)據(jù)單元中的一個(gè)重啟請(qǐng)求( RR )位向其對(duì)等路由器發(fā)送信號(hào)。在一個(gè) IS-IS 網(wǎng)絡(luò)中,對(duì)等路由器可以直接向重啟路由器發(fā)送數(shù)據(jù)庫(kù)信息,而無(wú)需等待確認(rèn)消息。

  在路由器重啟之后,它會(huì)發(fā)送一個(gè)帶有特殊的 RR 位設(shè)置的 Hello 分組,從而讓對(duì)等路由器知道它已經(jīng)重啟。對(duì)等路由器會(huì)通過(guò)在它自己的 Hello 消息中設(shè)置一個(gè)特殊的重啟確認(rèn)( RA )位,確認(rèn)這個(gè)重啟信號(hào)。在對(duì)等路由器知道另外一個(gè)路由器已經(jīng)重啟(因而沒(méi)有任何路由信息)之后,它會(huì)發(fā)送一個(gè)所有連接狀態(tài)分組( LSP )的匯總列表,隨后再發(fā)送該列表中指明的 LSP 。另外,一旦匯總列表符合,重啟路由器就會(huì)升級(jí)它的數(shù)據(jù)庫(kù)。從這個(gè)角度上來(lái)說(shuō),這種功能與 BGP 平穩(wěn)重啟流程中的 EOR 相當(dāng)類似。

  思科為可以利用命令行界面( CLI )進(jìn)行設(shè)置配置的 IS-IS 提供了另一種方法,即將所有的鄰接和 LSP 信息保存或者暫存到備用 RP 中。在切換完畢之后,新的主 RP 將利用暫存的數(shù)據(jù)保持它的鄰接關(guān)系,并可以迅速地重建它的路由表。

  RP 的切換過(guò)程只需要幾秒鐘時(shí)間。 IS-IS 可以在接下來(lái)的幾秒鐘內(nèi)重建它的路由表,并與網(wǎng)絡(luò)重新同步。在這個(gè)時(shí)候, IS-IS 會(huì)等待一段指定的間隔,隨后嘗試第二個(gè)思科 NSF 重啟。在此期間,新的備用 RP 將會(huì)啟動(dòng),并將它的配置與主 RP 保持同步。

  在同步完成之后, IS-IS 鄰接關(guān)系和 LSP 數(shù)據(jù)會(huì)暫存到備用 RP ;但是,只有在間隔時(shí)間結(jié)束之后, IS-IS 才會(huì)嘗試新的思科 NSF 重啟。另外,重啟路由器將會(huì)用第一個(gè)匯總列表驗(yàn)證它所緩存的 LSP 的有效性,從而保持 IS-IS 協(xié)議的狀態(tài)。

  OSPF 的工作方式

  當(dāng)某個(gè)支持 OSPF NSF 的路由器進(jìn)行 RP 切換時(shí),它會(huì)執(zhí)行兩項(xiàng)任務(wù),以便與它的 OSPF 鄰居重新同步它的連接狀態(tài)數(shù)據(jù)庫(kù)( LSDB )。首先,它必須在不重新設(shè)置鄰接關(guān)系的情況下,重新學(xué)習(xí)網(wǎng)絡(luò)上的可用 OSPF 鄰居。其次,它必須重新獲得網(wǎng)絡(luò)的 LSDB 的內(nèi)容。

  在 RP 切換之后,重啟路由器會(huì)以很短的間隔時(shí)間,向支持思科 NSF 的相鄰設(shè)備發(fā)送一個(gè) Hello 分組,并在其中的擴(kuò)展選項(xiàng)類型長(zhǎng)度值( TLV )中設(shè)置重啟信號(hào)位。對(duì)等路由器將意識(shí)到,與重啟路由器的鄰接關(guān)系不需要重新設(shè)置。在重啟路由器收到一個(gè) Hello 響應(yīng)(作為對(duì)它的 Hello 消息的回復(fù))之后,它就會(huì)開(kāi)始與它的對(duì)方路由器進(jìn)行數(shù)據(jù)庫(kù)同步。

  在數(shù)據(jù)庫(kù)同步結(jié)束之后,重啟路由器將會(huì)升級(jí)它的路由信息庫(kù)( RIB )和轉(zhuǎn)發(fā)信息庫(kù)( FIB )。如果網(wǎng)絡(luò)或者連接狀態(tài)信息與重啟路由器在數(shù)據(jù)庫(kù)同步期間收到的信息不同,重啟路由器將會(huì)把這些信息發(fā)送到對(duì)等路由器。

  高可用性網(wǎng)絡(luò)必須在很多方面進(jìn)行加固,包括采用冗余的網(wǎng)絡(luò)拓?fù)湓O(shè)計(jì)。此外,還需要部署配有冗余組件和軟件智能的路由器。這些軟件智能可以進(jìn)行故障恢復(fù)和減輕暫時(shí)中斷對(duì)網(wǎng)絡(luò)的影響。

  很多思科路由器都以路由協(xié)議擴(kuò)展的形式支持內(nèi)部設(shè)計(jì)和軟件智能,因而可以幫助服務(wù)供應(yīng)商和企業(yè)加固它們的網(wǎng)絡(luò)。

  JAYKUMAR THONTAKUDI 是思科集中營(yíng)銷部門(mén)的一位技術(shù)營(yíng)銷工程師,精通面向企業(yè)和服務(wù)供應(yīng)商網(wǎng)絡(luò)的 IP 路由和網(wǎng)絡(luò)永續(xù)性。

  計(jì)算路由器的正常運(yùn)行時(shí)間

  系統(tǒng)的可用性是通過(guò)路由器的平均故障間隔時(shí)間( MTBF )——即設(shè)備正常工作的總時(shí)間——和平均故障恢復(fù)時(shí)間( MTTR )衡量的。 MTTR 表示系統(tǒng)不能處理和轉(zhuǎn)發(fā)分組的時(shí)間。用 MTBF 除以 MTBF 和 MTTR 之和,再乘以 100 ,就得出某個(gè)特定系統(tǒng)的可用性百分比。

114291