Global Sources
電子工程專輯
 
電子工程專輯 > 網路技術
 
 
網路技術  

建構高可用性的IP網路

上網時間: 2003年09月13日     打印版  Bookmark and Share  字型大小:  

關鍵字:IP network  availability  hard architecture  router  redundancy 

設計高可用系統需要在元件冗餘度、軟體可恢復性和故障恢復機制、服務等級期望以及系統成本和複雜性之間進行恰當的平衡,本文透過深入探討路由時脈最最佳化、錯誤檢測、硬體架構、軟體切換和冗餘度等問題,提供一條實現所需平衡的解決方案。

對高可用性路由系統的需求日益成長,特別是在網路邊緣,由於電路被端接,通常無法透過改變路由來繞過故障設備,因此這一需求尤為突出。百萬故障(DPM)數越低,路由器能用來處理和轉發數據包的時間百分比就越高,同時與服務級協議衝突有關的營運成本和代價也就越低。此外,IP網路上的即時交互語音和視訊應用只能容忍很小的性能下降。因此,構成網路基礎的IP路由器必須具有適應元件和軟體故障的彈性。

克服網路邊緣路由器的內在脆弱性是建構可靠IP網路過程中最重要的一步。位於網路邊緣的系統需要最大程度的高可用性保護。網路的這個部份通常最容易受到故障的影響,其原因有二。首先,邊緣設備通常端接和集聚了大量的電路。例如,在服務供應商網路中,一個邊緣設備可能端接數十萬個連接,因此一個持續時間較長的網路故障的影響將會被放大。其次,由於冗餘電路成本的問題,連接到服務供應商網路的許多用戶僅有一條鏈路來接取網路邊緣設備。在這種情況下,無法讓用戶的傳輸資訊繞過一個故障設備。與之相較,在網路的核心部份,由冗餘電路網路連接起來的冗餘系統能夠實現無縫的IP路由變更,因而繞過一個產生故障的網路元件。因此,利用冗餘元件和快速恢復機制來加強邊緣設備,把它們對網路故障的影響降到最低具有極其重要的意義。

可用性的度量圖1:由於系統可能出現局部故障,有時可以用每百萬故障數(DPM)來表示可用性。

定義一個網路設備的可用性或正常執行時間的方法有幾種。‘可用性’是指一個路由器實際處理和轉發數據包的時間百分比。因此,一個系統的可用性可以表達為設備的平均故障間隔時間(MTBF)和它的平均故障恢復時間(MTTR)。運算公式如下:

可用性=(MTBF×100)/(MTBF+MTTR)(%)

由於系統可能產生局部故障,可以用DPM數來表示可用性。局部故障難以表達為整個網路的可用性百分比。另一方面,DPM也是一種線性的量度(參見圖1)。數據包轉發中的任何延遲或中斷都可能會影響一個應用的性能,即時會話時尤其如此。例如,如果在一個語音會話中數據包連續丟失3秒以上,語音通話品質的下降將使大部份用戶掛掉電話。

為了防止數據會話中斷,建議一個系統應能在故障產生後10秒鐘內恢復,這?假設該系統支援各種Layer

3路由協議。所有路由協議都規定了最小時間間隔,會話斷開之前,對方設備必須在這段時間內接收到一個確認資訊。因此為了維持正常執行,路由器軟體至少必須能夠在此時間內得到恢復。

中間系統與中間系統之間的通訊對故障恢復的要求最為嚴格。如果在6~15秒鐘內沒有得到對方的確認資訊,某些地方的通訊將會出現超時故障,而且這些間隔時間是不可配置的。開放最短路徑優先(OSPF)的缺省超時為15秒左右,邊界網路閘道協議(BGP)的缺省值為120秒左右。不過需要注意的是,OSPF和BGP的超時時間間隔是可配置的。

設置路由協議時脈是設計高可用IP網路時必須作出的折中實例之一。如果超時間隔太長,路由器就不能迅速檢測故障,這將延長系統失效時間。如果超時間隔太短,路由協議又可能會過於頻繁地等待從對方接收確認資訊,甚至可能檢測出虛假故障,並導致網路不穩。同時,通訊太頻繁也會不必要地消耗系統的資源。

可用性元件

如果沒有一個高可用性的底層硬體平台,討論軟體的可恢復性設計策略就沒有實際的意義。換句話說,如果基礎系統不上電執行,軟體根本就不可能轉發數據包。

因此,製作高可用性系統的第一步就是考慮應當在何種程度上將備份的硬體元件建構到系統中去。例如,冗餘供電、線路板、風扇和機架都對降低MTTR具有關鍵意義。此外,將這些元件設計成能夠熱插拔可以大幅提高正常執行時間,而且使得工作中的系統不必關機就可以直接更換元件。

雙路由處理器:對於一個高可用性架構而言,冗餘路由處理器(RP)是必不可少的。RP是路由器的大腦。它運算路由和轉發表,並將最佳路徑資訊發送給對等路由器。主從RP的資訊同步進行到何種程度是軟體設計一個重要問題,因為它必須在恢復時間與系統資源的消耗之間作出某種平衡。圖2:集中式架構在一個共享RP內融合了數據包處理和轉發功能,這降低了複雜性和成本,但增大了RP故障對整個系統的影響。

硬體系統架構選擇:路由器的硬體架構選擇將對系統的潛在可用性產生影響。最主要的路由器架構有集中式架構和分散式架構,這兩種架構內部還有其他的設計選擇。在所有的架構中,都需要處於工作狀態的RP和備份RP來使整個系統維持較低的MTTR。

在集中式架構系統中,數據包處理和轉發工作在一個中央共享RP中執行,各網路介面線路板相對簡單(參見圖2)。在這種結構中,每塊線路板包含的元件相對較少。這降低了元件的故障概率,減少了系統的成本。另一方面,如果中央RP產生故障,對整個系統的影響更大,因為所有的路由和數據包轉發都會停止。這就是為什麼雙RP設計變得非常關鍵的原因。

在一個分散式架構系統中,數據包轉發能力被置於每塊線路板中(參見圖3)。將轉發引擎從中央RP轉移到每塊線路板降低了RP故障的影響,因為在RP故障期間線路板仍可繼續轉發數據包。

在分散式系統中,單塊線路板的故障概率大於集中式架構中的線路板。原因很簡單,分散式系統中每塊線路板更為複雜,其MTBF更低。

集中式系統和分散式系統都可以使用一種常規的線路板設置來進行設計,各自都包含Layer

2網路介面連接,在分散式系統中還包含了插入一組普通匯流排的轉發引擎。另外一種架構是具有某些線路板保護功能的中間層機架架構。

中間層結構將每塊線路板的功能分為兩半,分別置於一塊前端板和一塊後端板中。這兩塊‘半卡’都插入中間的一個中央機架中。藉由在設計中融入某種程度的線路板冗餘(一塊後備半卡作為一塊或多塊主半卡的備份),網路作業員可以對一塊半卡進行熱插拔而不影響它的另一半。

在許多情況下,前端卡位於系統機箱中間層的遠端,它對網路介面進行端接;後端卡則支援大部份電子電路,如數據包轉發引擎。此時,對電纜的管理變得更加複雜了,因為具有電子電路的後端卡針對機箱,使得將路由器連接到其他設備成為一項挑戰。

軟體可靠性:如前所述,任何高可用性系統的基礎是硬體冗餘,特別是雙重供電、匯流排、風扇和RP。不過,一旦冗餘硬體平台具備之後,許多軟體因素會影響到路由器有效處理和轉發輸入數據包的時間百分比。

在設計高可用性軟體中有幾個關鍵目標:


* 將軟體故障的影響降到最低。


* 對軟體故障進行迅速檢測和恢復。


* 將系統恢復時新會話的阻塞間降到最短。

對實際硬體和軟體故障的檢測必須迅速進行以便使系統得以恢復。今天大多數系統中的故障檢測需要100毫秒到3秒,具體時間長短取決於系統的設計。硬體和軟體的相互作用和故障檢測必須進行徹底測試,因為如果系統不精確檢測故障,所有系統冗餘都將是白費勁。對硬體進行故障插入測試、使用探針、在線插入和行動機器人測試可用來確保軟體檢測出所有問題,包括有缺陷的硬體和軟體。

在RP產生故障(包括硬體故障或軟體故障)的情況下,路由器的恢復將需要花費一些時間。包括將新的軟體鏡像加載到備份RP、加載配置、對其初始化、取得Layer圖3:在分散式架構中,數據包轉發引擎分佈在各系統線路板內,降低了路由處理器故障對系統的影響,但增加了線路板的複雜性。

2連接和Layer

3路由協議以及重建路由表。當然,在這些工作中,許多都可以平行執行或提前執行以降低系統的MTTR。

降低軟體故障影響的另一種方法是只重啟產生故障的那個軟體進程,而不是重啟整個系統。這必須在保留路由、轉發表和會話的情況下完成。這種方法的主要問題是想要覆蓋系統中所有進程(例如:一個軟體核心故障)比較困難,而且缺乏針對硬體故障的保護。從硬體故障恢復的唯一方法是在使用冗餘處理器的同時採用一種有彈性的軟體架構,而可重啟進程並不是一種可選的方法。

意外故障

使一個系統能夠快速有效地從故障中恢復過來可以防止故障對應用和網路服務的性能造成重大的影響。系統設計目標中有一項是要將軟體故障的影響限制在路由器本身,防止對網路的其他部份產生更廣泛的影響。其他主要目標包括確保實體鏈接在故障期間維持繼續有效;相鄰路由節點不在路由表中排除一個節點因而造成網路路由缺陷;ATM、訊框中繼、高級數據鏈路控制和點對點協議等Layer

2協議不產生超時故障並導致連接重啟或中斷;軟體恢復時數據包繼續轉發。為了實現這些目標,路由器必須執行被啟動RP和備份RP並讓它們的資訊保持同步。

<[>RP和軟體切換:在何種程度上讓處於工作狀態的RP和備份RP保持其全部資訊,並及時同步是一個關鍵性的設計考慮。其決策反映了在系統恢復速度和成本之間的一個平衡折中。可供選擇的方案有冷、暖和熱待機備份系統。

在冷備份方案中,處於工作狀態的RP和備份RP之間不共享任何狀態資訊,軟體故障將導致完全的復位,備份RP自動接替產生故障的處於工作狀態的RP,但是必須從頭開始設立自己的路由表。此外,所有的線路板也將進行復位。這種方案下產生的是徹底的用戶停機。不過,與沒有備份RP時相較MTTR仍然較低,因為系統可以自動開始恢復,無需維修或更換路由器。

暖備份時,路由器配置和軟體鏡像都已經載入了備份RP。當備份RP必須重建其路由表資訊時,由於跳過了配置和鏡像重載步驟,因此降低了MTTR。圖4:由於冗餘RP和附加的軟體切換能力建構在路由器內部,系統可用性已越來越接近或超過99.999%正常工作時間。

在熱備份方案中,備份RP加載了路由器配置、軟體鏡像和網路狀態資訊,而且還由處於工作狀態的RP對其進行連續更新。同步的狀態資訊對應於所用的協議,如訊框中繼的本地管理介面資訊、簡單網路管理協議(Simple

Network Management

Protocol)的SysUptime和特定協議的規定序列數。必須向備份處理器傳輸足夠的狀態資訊,這樣當處於工作狀態的軟體或硬體RP產生故障時,備份處理器就可以接替和恢復系統而不造成任何服務損失。

處於工作狀態的RP和備份RP之間的同步率決定了備份處理器在任意時刻的更新程度,因而也決定了系統的恢復速度。在任意時刻,由於故障中斷了兩個處理器之間的通訊資訊流,備份RP的數據同步可能無法完成,這將導致資訊失配。新的處於工作狀態的RP和線路板之間的互動軟體必須足夠智慧,以便從這種失配中恢復過來,確保系統的強韌性。

處理器同步次數越多,失配的可能性就越小。不過,頻繁同步增加了系統資源的消耗。這可能會影響路由器的吞吐性能,或者需要在系統中增加額外的處理能力。

線路板備份:與處於工作狀態的RP和備份RP之間的切換相似,線路板的冗餘程度也會影響系統的可用性水準。一種可選的方案可稱為1+1結構,其中每塊線路板都有一個備份,在熱備份模式中可供切換之用。與冗餘RP設計中類似,1+1線路板結構保持備份線路板與Layer

2和配置資訊進行同步。雖然這種方案比較昂貴,但它可以提供比N+1結構更高的可用性。在N+1結構的系統中,每N塊線路板才配置有一塊備份線路板。

選擇N+1線路板冗餘方案時,熱備份切換可能更難於實現。因為如果故障線路板和需要加載的備份線路板之間沒有1:1的互相關性,就難以保持工作的線路板和備份的線路板的同步。換句話說,單一備份線路板必須擁有所有N個處於工作狀態的線路板的所有配置和狀態資訊。因此,備份線路板常常執行在冷模式。

N+1設計方案的另一個問題是可能需要一個外部開關,以便當一塊處於工作狀態的線路板產生故障時進行切換。

IETF擴展

首先,一個高可用性的系統設計需要一個硬體平台,這個硬體平台包含冗餘的、可以熱插拔的元件以便支援快速恢復軟體技術。為了取得比採用冷備份設計時更快的MTTR,路由器軟體必須具有將某些路由器配置和狀態資訊傳遞給備份元件的智慧,或者具有從一些其他來源進行恢復的能力。例如,在第二部份探討的各種內容中,將包括IETF為了盡可能降低故障的持續時間和定位時間而完成的對路由協議的擴展。

作者:Purnam A. Sheth


IOS軟體工程主管


思科系統公司


Email: pasheth@cisco.com




投票數:   加入我的最愛
我來評論 - 建構高可用性的IP網路
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首