張壽榆 王永群
一、引言:
當前,IP已經成為大部分骨干網絡產品的路由協議。在部分網絡環境,用戶對網絡的要求是很高的,任何停工和儲運損耗都會對用戶造成嚴重影響。例如:
1.Internet服務提供商提供Web主機設備,為了使得用戶的Web服務器對公眾總是有效的,必須保證用戶99.9999%的正常運行時間。
2.過程控制應用必須能夠適時訪問它的控制的系統,否則可能會發生結果損失嚴重的控制;
3.有時,運行在IP主機上的應用會超時,如果業務運行對網絡應用要求較高,這種超時會帶來很壞影響。
越來越多的IP主機使用DHCP指定它們的IP地址。然而,許多IP主機使用手工配置作為發現網關路由地址的唯一手段。一些主機使用網關偵探辦法獲得,但一般不推廣使用這一方法(RFC1122),動態Ping網關也是禁止使用的。ICMP路由發現協議允許路由器通過IP主機被發現,但尚未廣泛使用。
這就意味著大部分主機無法快速知道路由器和與之相聯的局域網連接是否已經失敗,而且IP主機檢測連路失敗與替代路由器進行交換需要很長時間。
因此,對任何設備來說,提高網絡的有效性至關重要。利用虛擬路由集群技術,可以有效解決一些問題。本文通過舉例介紹CABLETRON公司的SSR千兆交換路由集群技術,來作一些探討。
二、如何去做?
采用虛擬路由集群技術能夠將位于同一局域網的CABLETRON多個SSR路由器定義為互相之間作路由備份的集群,集群中的SSR路由器采用IETF虛擬冗余路由協議實現路由交換機間以及各路由器所在局域網間的鏡像,如果一個路由器或它所連接的局域網連接失敗,其它的路由器會自動代替失敗的路由器繞過故障點重新路由,路由的恢復時間在數秒之內,因此這是運行在IP主機上的透明應用。
1、VRRP的概念
如圖一所示,VRRP可以在工作站的缺省網關失效時提供一個備份路由器,VRRP可以創建一個具有虛擬MAC地址和虛擬IP地址的虛擬路由器! ≌\然,我們可以在Windows98中添加多個缺省網關,但該特征只能在主機啟動時使用。換句話說,主機啟動時對網關列表中的第一個缺省網關使用ARP進行地址解析,如果解析失敗,將對列表中的其它網關繼續進行地址解析。
當主機找到缺省網關的MAC地址后,該網關突然癱瘓會整么樣呢?只能從新啟動主機,讓它繼續尋找下一個缺省網關。
使用VRRP便可以解決這個問題,因為它是動態變化的,如果主路由器癱瘓,則備份路由器隨之便自動替代主路由器。主機根本覺察不到其中的絲毫差異! √摂M路由集群技術被作為一個模塊集成到SSR的軟件中以保證網絡應用的實用性,且提高了應用要求較高的網絡的可靠性和適應性。 CABLETRON的虛擬路由集群技術遵循IETF(Internet工程任務組)制定的VRRP(虛擬冗余路由協議)標準協議。
在圖二中IP主機H1、H2等連接到具有多個路由器(R1、R2等)的局域網上R1和R2提供到目的地D1的連接。正常情況下主機H1、H2等只配置單一路由器R1或R2的路由IP地址。問題是當任何一個路由器失敗,則有一個或多個主機H1、H2等與目的地D1推動連接。對一般的路由協議如RIP、OSPF等來說,主機H1、H2等發現路由失敗需要很長時間(大約40-90秒)甚至導致TCP連接中斷。當在虛擬路由集群技術中使用VRRP協議時,使得網絡中的路由失敗恢復僅需幾秒鐘,它極大提高了網絡的有效性,為網絡應用要求挑剔的骨干提供路由冗余。
2、虛擬路由集群技術是如何工作的?
虛擬路由集群里的每個路由器被指定一個相應IP地址對應的虛擬MAC地址。然后將每個SSR配置為與所有其它路由器的MAC地址和IP地址的路由。IP主機被配置成使用任何或所有路由器作為自己的路由器。
SSR在集群里使用VRRP信息去選擇主路由,其它SSR成為熱備份路由器。集群里的每一個路由器提供一個虛擬的MAC地址(而不是它實際的MAC地址)作為對主機應答的ARP(地址解析協議)原地址,且每個路由器也發送由ICMP(網間控制報文協議)重定向優化了的IP主機作業。如果集群中的任何路由器或它們的局域網連接失敗,則主路由器接管其相應作業,并通過取代它的虛擬MAC地址和IP地址實現ARP應答。如果主路由器失敗,剩下的路由器會選擇一個新的主路由器,它取代了失敗的主路由器的虛擬MAC地址和虛擬IP地址。
3、ICMP路由發現和ICMP重定向
ICMP路由發現允許IP主機使用ICMP信息和程序區分路由器。使用ICMP,SSR周期性的廣播ICMP路由廣播信息并對來自IP主機的ICMP路由請求作出響應。
ICMP重定向是使路由器通知IP主機到達特定目的地的最好路由的機制,ICMP重定向遵循RFC1122標準。
虛擬路由集群使用標準的ICMP重定向機制去控制路由器通過在鏈路失敗點周圍作路由,使IP包發向目的地。信息包在重定向之前仍被SSR所轉發,保證不會由于路由改變而導致數據丟失。
圖三幫助說明虛擬路由集群是如何工作的。在這個圖表中路由器A和路由器B都是同一虛擬路由集群的組成單元,并各自在其自己的集群內設置成主路由器,而在其它集群設置成備份路由器。路由器A配置成自己的IP地址和虛擬MAC地址(圖三中正體字部分),同時配置成認知路由器B的IP地址和虛擬MAC地址(圖三斜體字部分)。同樣,路由器B配置成自己的IP地址和虛擬MAC地址(圖三中正體字部分),同時配置成認知路由器A的IP地址和虛擬MAC地址(圖三中斜體字部分)! ≡谶@個案例里,SSR A被選為主路由器,相應地SSR B被設選為備份路由器。兩個路由器都能夠對主機1、2、3通過其虛擬MAC地址發來的ARP請求,兩個主機也都能對IP主機1、2、3的流量作路由。
三、這樣做的結果: 1.如果一個SSR路由器失敗會發生什么? 假設SSR B由于其所連接的局域網斷路或起串口模塊電路壞掉,如圖3所示,SSR A迅速發現SSR B失敗,并且快速取得SSR B的IP地址和虛擬MAC地址,SSR A現在開始主動對發到失敗路由器SSR B的ARP請求作出響應,取得失敗路由器的虛擬MAC地址作為原地址,并主動接收發往失敗路由器虛擬MAC地址的IP數據,并轉發到相應的目的地。
2.當SSR路由器恢復后會發生什么?
如果SSR B恢復了,它會通知它自己和SSR,讓其停止模仿它的工作,從此SSR B會用它自己的MAC地址響應ARP請求,兩個路由器同時對信息包進行路由。SSR B恢復響應和主路由器停止使用它的虛擬地址之間間隔只是一短暫的間隔。在這短暫的時間內,數據包有可能被丟失或復制,通常情況下,TCP傳輸協議能夠保證端對端的數據恢復。
四、結束語
通常,在一個系統中使用RIP和OSPF去檢測一個故障,需要數分鐘(甚至可能檢測不到)。但在SSR中配置好路由后使用VRRP配置一定數量的虛擬路由集群可在5秒鐘內檢測和確認一個故障,并且可迅速以新的路由取代。這種識別和在故障周圍重路由的能力大大改善了骨干網絡應用的故障復原能力。在CISCO的路由交換機上,可用熱路由備份(HRVP)方法實現,在其它產品上大多有實現的辦法。