本公開涉及計算機網絡技術領域,尤其涉及一種鏈路非對稱網閘雙機熱備系統(tǒng)及主備切換方法。
背景技術:
隨著互聯網經濟的快速發(fā)展,信息化是當今世界發(fā)展的一大趨勢,也是我國產業(yè)結構優(yōu)化升級,實現工業(yè)和現代化、增強國際競爭力與綜合國力的關鍵環(huán)節(jié)。信息的保密性、完整性和可用性對保持競爭優(yōu)勢,資金流動、企業(yè)效益、商業(yè)形象、客戶權益和個人隱私都是至關重要的。網閘(netgap)全名為安全隔離網閘,是一種在不同等級網絡間借助物理隔離進行數據安全交換的網絡設備。同時,網閘也是連接不同安全等級網絡之間的唯一橋梁,一旦網閘設備出現單點故障(singlepointsoffailures,簡稱spofs),整個被保護網絡對外的傳輸和交換業(yè)務將會受到巨大影響,甚至可能會引起整個網絡的癱瘓。因此,衡量一個網閘的負載能力和可靠性是網閘應用中的一個關鍵指標。雙機熱備技術為解決網閘單點故障
(singlepointsoffailures,簡稱spofs)提供了可靠保障,研究網閘的雙機熱備技術對提高網閘的負載能力和可靠性具有非常重要的意義。
技術實現要素:
本公開在基于vrrp1.0協(xié)議和原網閘雙機熱備系統(tǒng)鏈路完全對稱結構的基礎上,提出了一種鏈路非對稱結構網閘雙機熱備系統(tǒng)以及主備切換方法,使得網閘的切換性能能夠得到顯著的提升。相比現有技術中完全對稱結構的網閘解決方案,解決了鏈路切換容易“鎖死”的問題,并且還具有鏈路收斂速度快,多線程并行處理程序結構簡單等優(yōu)點,同時還可以自主設置網閘組id(haid),提高網閘熱備組的安全性。
為了達到上述目的,根據本公開的一方面,提出一種鏈路非對稱結構網閘雙機熱備系統(tǒng),所述系統(tǒng)包括:
主用網閘和至少一個備用網閘;所述主用網閘包括主用網閘內端機和主用網閘外端機;所述備用網閘包括備用網閘內端機和備用網閘外端機;
其中,所述主用網閘內端機和主用網閘外端機之間、以及所述備用網閘內端機和備用網閘外端機之間通過tcp協(xié)議進行相互通信協(xié)商;而所述主用網閘內端機和備用網閘內端機之間、以及主用網閘外端機和備用網閘外端機之間通過vrrp協(xié)議進行心跳監(jiān)測;
當所述主用網閘內端機切換為備用網閘內端機時,通過tcp協(xié)議通知所述主用網閘外端機切換為備用網閘外端機,當所述主用網閘外端機切換為備用網閘外端機時,通過tcp協(xié)議通知所述主用網閘內端機切換為備用網閘內端機;
當所述備用網閘內端機通過所述vrrp協(xié)議檢測不到主用網閘內端機的心跳,且當所述備用網閘外端機通過所述vrrp協(xié)議檢測不到主用網閘外端機的心跳時,所述備用網閘內端機與所述備用網閘外端機之間通過tcp協(xié)議協(xié)商后,分別切換成主用網閘內端機和主用網閘外端機。
可選地,所述主用網閘內端機向所述備用網閘內端機定時發(fā)送并隨時接收vrrp心跳包,所述主用網閘外端機向所述備用網閘外端機定時發(fā)送并隨時接收vrrp心跳包。
可選地,所述備用網閘內端機向所述備用網閘內端機定時發(fā)送vrrp心跳包,所述備用網閘外端機向所述備用網閘外端機定時發(fā)送vrrp心跳包。
可選地,所述主要網閘內端機檢測到所述主用網閘外端機切換至備用網閘外端機后,切換為備用網閘內端機。
可選地,在無主用網閘、主用網閘丟線或者主用網閘不參考vrrp協(xié)議時,選擇優(yōu)先級最高的備用網閘切作為主用網閘。
可選地,所述鏈路非對稱網閘雙機熱備系統(tǒng)采用搶占模式和非搶占模式作為備機競選機制,在搶占模式下,優(yōu)先級最高的備用網閘切換成主用網閘,當前主用網閘切換成備用網閘;在非搶占模式下,只有主用網閘發(fā)生故障時,主用網閘切換至備用網閘。
根據本公開另一方面,提供了一種鏈路非對稱網閘雙機熱備系統(tǒng)的主備切換方法,所述鏈路非對稱網閘雙機熱備系統(tǒng)包括主用網閘和至少一個備用網閘;所述主用網閘包括主用網閘內端機和主用網閘外端機;所述備用網閘包括備用網閘內端機和備用網閘外端機;所述方法包括:
在所述主用網閘內端機切換為備用網閘內端機時,通過tcp協(xié)議通知所述主用網閘外端機切換為備用網閘外端機;
在所述主用網閘外端機切換為備用網閘外端機時,通過tcp協(xié)議通知所述主用網閘內端機切換為備用網閘內端機;
在所述備用網閘內端機通過所述vrrp協(xié)議檢測不到主用網閘內端機的心跳,且在所述備用網閘外端機通過所述vrrp協(xié)議檢測不到主用網閘外端機的心跳時,所述備用網閘內端機與所述備用網閘外端機之間通過tcp協(xié)議進行協(xié)商;
在寫上通過后,所述備用網閘內端機與所述備用網閘外端機分別切換成主用網閘內端機和主用網閘外端機。
可選地,所述主用網閘內端機向所述備用網閘內端機定時發(fā)送并隨時接收vrrp心跳包,所述主用網閘外端機向所述備用網閘外端機定時發(fā)送并隨時接收vrrp心跳包。
可選地,所述備用網閘內端機向所述備用網閘內端機定時發(fā)送vrrp心跳包,所述備用網閘外端機向所述備用網閘外端機定時發(fā)送vrrp心跳包。
可選地,所述主要網閘內端機檢測到所述主用網閘外端機切換至備用網閘外端機后,切換為備用網閘內端機。
本公開鏈路非對稱結構網閘雙機熱備系統(tǒng)及數據處理方法主要通過同網端網閘間vrrp協(xié)議心跳包監(jiān)測和網閘內外處理器間tcp協(xié)議雙重協(xié)商機制來確保網閘的主備機切換。而不是當前如現有技術中所采用的完全對稱結構,通過心跳線簡單監(jiān)測網閘內外端機的狀態(tài)和主備網閘間處理機狀態(tài)。解決了網閘“單設備雙系統(tǒng)”特性下,目前“單設備單系統(tǒng)”高可用(highavailability)方案無法適用這一難題,并且,本公開告別了完全對稱結構交叉切換“鎖死”的情況,使網閘的切換性能得到了顯著的提升。
附圖說明
圖1為根據本公開一實施例的鏈路非對稱結構網閘雙機熱備系統(tǒng)的拓撲圖;
圖2為根據本公開一實施例的鏈路非對稱結構網閘雙機熱備系統(tǒng)的結構演進圖;
圖3為根據本公開一實施例的鏈路非對稱結構網閘雙機熱備系統(tǒng)的模塊圖;
圖4(a)-(b)為根據本公開一實施例的鏈路非對稱結構網閘雙機熱備系統(tǒng)的主備切換數據處理方法流程圖;
圖5為根據本公開一實施例的鏈路非對稱結構網閘雙機熱備主備切換的流程圖。
具體實施方式
為使本公開的目的、技術方案和優(yōu)點更加清楚明白,以下結合具體實施例,并參照附圖,對本公開進一步詳細說明。
已有技術中,利用熱備份路由器協(xié)議(hotstandbyrouterprotocol,hsrp)和虛擬路由器冗余協(xié)議(virtualrouterredundancyprotocol,vrrp)設計了基于網閘的熱備協(xié)議(gap-vrrp),實現對網閘的熱備功能,但其方案中其實只是在網閘內網一端實現了熱備,主網閘和備網閘之間只有內端機間心跳線相連,網閘內外端處理器間通過心跳相互監(jiān)測(如:圖2中結構1所示),這樣就存在一個明顯的不足,當主備網閘內網端間心跳線出現故障時,將會導致“雙主”現象,有可能會導致系統(tǒng)崩潰。
為了解決上述提到的會導致“雙主”現象的問題,額可以增加主備網閘間外端機間的心跳監(jiān)測,網閘內外端機和主被網閘內外端機間都通過心跳協(xié)議進行檢測,形成網閘熱備方案,如圖2中結構2所示。但是由于這種方案協(xié)議結構完全對稱,在兩網閘內外端機同時處理數據交叉切換時,容易出現“鎖死”現象。
因此,本公開公開實施例在此基礎上又對以上方案進行改進,提出了鏈路非對稱結構網閘雙機熱備系統(tǒng),如圖2中結構3所示,本公開提出的鏈路非對稱結構網閘雙機熱備系統(tǒng)避免了程序的“鎖死”現象,并且使網閘的切換性能上得到顯著提升。
如圖1所示,本公開實施例提出了一種鏈路非對稱結構網閘雙機熱備系統(tǒng),該系統(tǒng)主要應用于如圖2所示的鏈路非對稱結構網閘高可用拓撲結構中。
根據本公開一實施例的鏈路非對稱結構網閘雙機熱備系統(tǒng),如圖1所示,所述鏈路非對稱結構網閘雙機熱備系統(tǒng)包括:主用網閘和備用網閘,其中,主用網閘和備用網閘都由兩套獨立的高性能處理系統(tǒng)分別作為內端機和外端機,即所述主用網閘包括主用網閘內端機和主用網閘外端機;所述備用網閘包括備用網閘內端機和備用網閘外端機。
由于網閘屬于“單設備雙系統(tǒng)”設備,考慮到網閘的雙機熱備和設計,根據本公開一實施例的鏈路非對稱結構網閘雙機熱備系統(tǒng)模塊圖,如圖2所示,整個雙機熱備系統(tǒng)包括主用網閘和備用網閘,主備網閘都由內外端機構成,主、備網閘間互為熱備。
其中,所述主用網閘內端機和主用網閘外端機之間、以及所述備用網閘內端機和備用網閘外端機之間通過tcp協(xié)議進行相互通信協(xié)商;而所述主用網閘內端機和備用網閘內端機之間、以及主用網閘外端機和備用網閘外端機之間通過vrrp協(xié)議進行心跳監(jiān)測;
當所述主用網閘內端機切換為備用網閘內端機時,通過tcp協(xié)議通知所述主用網閘外端機切換為備用網閘外端機,當所述主用網閘外端機切換為備用網閘外端機時,通過tcp協(xié)議通知所述主用網閘內端機切換為備用網閘內端機;
當所述備用網閘內端機通過所述vrrp協(xié)議檢測不到主用網閘內端機的心跳,且當所述備用網閘外端機通過所述vrrp協(xié)議檢測不到主用網閘外端機的心跳時,所述備用網閘內端機與所述備用網閘外端機之間通過tcp協(xié)議協(xié)商后,分別切換成主用網閘內端機和主用網閘外端機。
如圖2中網閘熱備系統(tǒng)中結構3所示,可以把主用(master)網閘內端機用a1表示、外端機用b1來表示,備用(backup)網閘內端機按備用網閘內端機a2表示、外端機按備用網閘外端機b2來表示,其熱備系統(tǒng)特征在于,所述方法包括:
主用網閘內端機a1和主用網閘外端機b1之間通過開啟tcp協(xié)議來進行相互通信協(xié)商,備用網閘內端機a2和備用網閘外端機b2之間通過開啟tcp協(xié)議來進行相互通信協(xié)商;主用網閘內端機a1和備用網閘內端機a2之間通過vrrp協(xié)議包進行通信,主用網閘外端機b1和備用網閘外端機b2之間通過vrrp協(xié)議包進行通信,協(xié)議規(guī)則如下:
當自身為master時,如果處理機a(主用網閘內端機a1/備用網閘內端機a2)成為了backup/fault,那么通知將處理機b(主用網閘外端機b1/備用網閘外端機b2)也成為backup,反之亦然;
當自身為backup時,以處理機主用網閘內端機a1舉例,只有在同時滿足主用網閘內端機a1、備用網閘內端機a2間協(xié)商條件和主用網閘內端機a1、主用網閘外端機b1間協(xié)商條件時才會變?yōu)閙aster(即:雙重協(xié)商條件),其他處理機亦然。
處理機處于backup狀態(tài)時只接收vrrp包,處于master狀態(tài)時定時發(fā)送,并且隨時接收vrrp包。
由此可以看出,四臺處理機熱備協(xié)議處于非對稱結構,也可以說是一種協(xié)商式的結構,解決了完全對稱結構下交叉切換時容易“鎖死”的問題,提高了網閘的切換性能。
當主用網閘內端機或外端機出現故障或宕機時,主用網閘變?yōu)閭溆脿顟B(tài)(backup),備用網閘能夠迅速轉變?yōu)橹饔脿顟B(tài)(master)并完全接管主網閘的現有全部業(yè)務,保證數據安全可靠的傳輸和交換。
由于網閘的雙向傳輸特性,網閘的內外端機都要進行類似的數據處理和數據同步來保障網閘正常的數據交換。
基于網閘的“單設備雙系統(tǒng)”的特性,網閘的雙機熱備其特征下,在出現故障時通過網閘內、外端機間協(xié)調使網閘內、外端機保持統(tǒng)一的主備狀態(tài);
在網閘的雙機熱備協(xié)議下,網閘內、外端機保持統(tǒng)一的主備狀態(tài)是通過利用網閘內外端機進行tcp通信協(xié)商機制進行的。內端機為主控端作tcp通信服務器端,外端機為tcp通信的客戶端,當自身當前要狀態(tài)改變時,協(xié)議相互發(fā)送自己要變?yōu)榈臓顟B(tài),當服務器端(客戶端)接收到客戶端(服務器端)狀態(tài)跟自己想要狀態(tài)(主/備狀態(tài))相同時,則一塊變?yōu)樵摖顟B(tài),不同時,則同時變?yōu)閭錂C狀態(tài)。也就是說,只要內外端機其一為想做備機,則內外端機一塊作備機。
基于網閘的“單設備雙系統(tǒng)”的特性,網閘的雙機熱備其特征下,在出現故障時,最短的時間內保證主機宕機后備用網閘進行向主機狀態(tài)和業(yè)務的切換;
熱備系統(tǒng)通過vrrp(virtualrouterredundancyprotocol)心跳包進行主備網閘間的協(xié)議通信,主網閘內端機與備網閘內端機通過與內網交換機相連或通過ha(心跳口)直接相連來進行心跳監(jiān)測。心跳包包括主備機優(yōu)先級(priority)、組id(haid)、虛擬ip、虛擬mac、認證方式、廣播間隔(adver_interval),校驗和等內容。通過匹配haid和優(yōu)先級信息的比較來確定網閘狀態(tài)為主機或備機。
在網閘處于備機狀態(tài)時引入了一個與優(yōu)先級相關的漂移時間t當經過時間t=(3×adver_interval+(256-priority)/256)秒,仍未收到主網閘發(fā)來的心跳包時,則認為主機宕機,再經過備用網閘內外端處理機間的協(xié)商符合條件后一塊變?yōu)橹鳈C狀態(tài)。
基于網閘的“單設備雙系統(tǒng)”的特性,網閘的雙機熱備其特征下,在出現故障時雙機熱備下四個系統(tǒng)間的狀態(tài)監(jiān)測及切換機制;
熱備系統(tǒng)的狀態(tài)監(jiān)測主要硬件狀態(tài)監(jiān)測和主備機狀態(tài)監(jiān)測。硬件狀態(tài)監(jiān)測主要指熱備端口的狀態(tài)監(jiān)測、數據端口的狀態(tài)監(jiān)測和網卡的狀態(tài)監(jiān)測,硬件狀態(tài)出錯則用fault表示。主備機狀態(tài)(master/backup)監(jiān)測主要指使網閘主備機間的狀態(tài)變化,并通過vrrp包(網閘與網閘間的通信)和網閘內外端機間通信協(xié)商機制進行判定主備狀態(tài)的切換。
可配置的網閘熱備組id(haid)可以使網閘自動識別是否是熱備組網閘發(fā)來心跳包,若匹配是則接收,不匹配則丟棄,避免了局域網內其它非熱備組的vrrp包對熱備組造成干擾,提高了網閘熱備的可靠性和安全性。
基于網閘的“單設備雙系統(tǒng)”的特性,網閘的雙機熱備其特征下,在出現故障時主備網閘間切換和數據同步;
網閘業(yè)務同步包括數據同步和配置同步,當網閘處于主機狀態(tài)時,網閘的數據傳輸和交換需要把自己的配置和業(yè)務數據同步到備用網閘,用來防止主網閘出現故障,在主備網閘切換時網閘業(yè)務丟失的情況。網閘配置同步:在主網閘業(yè)務配置更改時會及時同步到備用網閘以更新備用網閘的配置情況;數據業(yè)務的同步:主網閘正在進行業(yè)務的傳輸和交換時,備用網閘會及時緩存所傳業(yè)務數據,當主用網閘出現故障或宕機時,備用網閘則會切換為主機狀態(tài)并進行數據的續(xù)傳或重傳。
由于兩臺網閘互為熱備時,備用網閘突然出現故障或異常,必將導致熱備功能的作用失敗。此發(fā)明方案中熱備系統(tǒng)還配置了異常故障的警告和日志記錄功能。當網閘處于熱備狀態(tài)時,網閘出現異常故障則會發(fā)出警告,并自動錄于網閘故障日志。
下面通過具體的實施例來闡述上述鏈路非對稱結構網閘雙機熱備系統(tǒng)的實現方式。
在具體實現雙機備份時,通過在主用網閘內外端機、備用網閘內外端機上分別加載下述模塊來完實現雙機熱備:vrrp發(fā)送模塊、vrrp接收模塊、peer_to_peer接收模塊、設備狀態(tài)監(jiān)控模塊和主程序模塊。
其中,vrrp發(fā)送模塊和vrrp接收模塊用于主、備網閘間用心跳線相連來監(jiān)測主備網閘所處優(yōu)先級、vhid等信息;peer_to_peer接收模塊屬于網閘內外端機間通信模塊,主要負責網閘內外網狀態(tài)的監(jiān)測和接收;設備狀態(tài)監(jiān)控模塊主要用于宕機監(jiān)測,網口、網卡通斷監(jiān)測;主程序模塊主要負責根據其它模塊的狀態(tài)變換信息來控制本端機所處狀態(tài)及狀態(tài)轉換工作。
根據本公開的另一方面,還提出一種鏈路非對稱結構網閘雙機熱備主備切換方法,該方法包括以下步驟:
在所述主用網閘內端機切換為備用網閘內端機時,通過tcp協(xié)議通知所述主用網閘外端機切換為備用網閘外端機;
在所述主用網閘外端機切換為備用網閘外端機時,通過tcp協(xié)議通知所述主用網閘內端機切換為備用網閘內端機;
在所述備用網閘內端機通過所述vrrp協(xié)議檢測不到主用網閘內端機的心跳,且在所述備用網閘外端機通過所述vrrp協(xié)議檢測不到主用網閘外端機的心跳時,所述備用網閘內端機與所述備用網閘外端機之間通過tcp協(xié)議進行協(xié)商;
在協(xié)商通過后,所述備用網閘內端機與所述備用網閘外端機分別切換成主用網閘內端機和主用網閘外端機。
下面通過具體的實施方式說明實現鏈路非對稱結構網閘雙機熱備主備切換的流程,如圖5所示。
步驟1:進行網閘雙機熱備系統(tǒng)vrrp發(fā)送模塊、vrrp接收模塊、peer_to_peer接收模塊、設備狀態(tài)監(jiān)控模塊的初始化工作(如圖3所示,除主程序外的其它線程的初始化)。即,以上初始化的四個模塊我們用線程來表示,并且各線程的主要工作內容為:
線程1:vrrp發(fā)送線程(vrrp發(fā)送/接收指主備網閘間的通信),主要負責組建vrrp包(以太網頭+vrrp報文);定時發(fā)送vrrp包(間隔1秒);輸出發(fā)送狀態(tài)信息。
線程2:vrrp接收線程,主要負責接收vrrp包,設置超時,判斷超時與否;接收并解析vrrp數據包,校驗haid,并與自己優(yōu)先級進行比較;輸出接收狀態(tài)信息(優(yōu)先級、接收超時,校驗haid(網閘互備組id)是否匹配,不匹配則丟棄,視為干擾包)。
線程3:peer_to_peer接收線程(peer_to_peer接收/發(fā)送指網閘內部內外端機間通信),主要負責心跳監(jiān)測(監(jiān)測網閘內外端機socket通信是否正常。并設置定時檢測和超時);監(jiān)聽并接收peer端機(peer端機指網閘內/外端機的統(tǒng)稱,內外端機相互通信)發(fā)來的狀態(tài),給主線程狀態(tài)轉換作參考。
線程4:設備狀態(tài)監(jiān)測線程,主要負責測試應用口(即:虛擬ip口)狀態(tài)是否正常;測試ha口(即:熱備口)狀態(tài)是否正常;測試獲取網卡信息是否正常。
步驟2:根據vrrp發(fā)送模塊、vrrp接收模塊、peer_to_peer接收模塊、設備狀態(tài)監(jiān)控模塊初始化反饋的信息完成雙機熱備系統(tǒng)主程序模塊的初始化工作。
主程序模塊初始化流程如圖4(a)所示,其主要負責讀取配置文件,監(jiān)測配置是否正確,初始化變量;向peer主機發(fā)送本機狀態(tài)信息(網閘內外端機間的通信);根據各線程動態(tài)進行狀態(tài)監(jiān)控,確定當前網閘自身端機的主/備狀態(tài)。最后,如果確認自身將切換為主機狀態(tài)時,則利用虛擬ip技術發(fā)送免費arp廣播包來實現由備用網閘向主用網閘狀態(tài)的切換。
其中,當網閘處于熱備狀態(tài)時,如果主用網閘任意處理機(內端機/外端機)出現故障(網線斷掉、宕機重啟、內外端機通信故障),網閘對端處理機都會通過tcp協(xié)議進行通信了解對方情況,并切網閘兩處理機同時轉為備用狀態(tài)。備用網閘根據主備網閘間的心跳線監(jiān)測主用網閘出現故障(一般是一定時間收不到心跳包則認定主用網閘同端處理器出現故障),然后自己再跟本網閘對端機進行tcp通信,告訴對端機自己想要變?yōu)橹鳈C狀態(tài),由于網閘另一側也用心跳線相連,對端機也會收到主用網閘故障的消息,并且也會通知對端機自己也要變?yōu)橹鳈C,因此,備用網閘的兩處理機都會收到對端機要變主機的消息,如果對端恰好和自己意愿相同,則處理機變?yōu)橹鳈C,這樣兩處理器就做到了同時變?yōu)橹鳈C狀態(tài)。
步驟3:根據vrrp發(fā)送模塊、vrrp接收模塊、peer_to_peer接收模塊、設備狀態(tài)監(jiān)控模塊的實時監(jiān)控信息和主程序模塊的初始化信息完成工雙機熱備系統(tǒng)主程序模塊中主、備機狀態(tài)流程的數據處理,最終確定主備機狀態(tài)。
主程序模塊主備機狀態(tài)轉換流程如圖4(b)所示,當網閘在主程序初始化流程(如圖4(a)中)初始化判定為主機狀態(tài)時,主機狀態(tài)將會繼續(xù)監(jiān)測各子線程的變化,用來隨時準備主/備機的切換。主機狀態(tài)程序流程如圖4(a)所示。其主要任務是:開啟數據同步;定期發(fā)送vrrp心跳包通告?zhèn)溆镁W閘自己處于master狀態(tài);響應對虛擬ip地址的arp請求(響應的是熱備接口的真實mac地址);接收到比自己的優(yōu)先級大的vrrp報文或自身設備不正常時,才會轉為backup狀態(tài)。
當網閘在主程序初始化流程(如圖4(a)中)初始化判定為備機狀態(tài)時,備機狀態(tài)也將會繼續(xù)監(jiān)測各子線程的變化,用來隨時準備主/備機的切換。其主要任務是:接收master發(fā)送的vrrp廣播報文,從中了解master;接收到vrrp報文,如果收到報文的優(yōu)先級為0或接收超時,將狀態(tài)設置為master,開始發(fā)送報文;如果收到報文優(yōu)先級小于本地優(yōu)先級而且本地設置了搶占方式,一段時間后轉為master狀態(tài)否則正常接收;網閘處于backup狀態(tài),當間隔(3×adver_interval+(256-priority)/256)秒沒有收到master發(fā)來的vrrp報文,則認為當前的master已經down掉,將自己轉為master狀態(tài),發(fā)送vrrp報文。
運行vrrp協(xié)議的vrrp網閘對外組成一個虛擬網閘,其中之一處于master狀,稱為主控網閘或主用網閘,而其它的處于backup狀態(tài),稱為備用網閘。起初沒有主控網閘,或者主控網閘丟線,再或者主控網閘不參考vrrp協(xié)議,那么將選擇一個優(yōu)選級最高的備份網閘成為主控網閘。
運行vrrp協(xié)議的vrrp網閘對外組成一個虛擬網閘,其中之一處于master狀,稱為主控網閘或主用網閘,而其它的處于backup狀態(tài),稱為備用網閘。起初沒有主控網閘,或者主控網閘丟線,再或者主控網閘不參考vrrp協(xié)議,那么將選擇一個優(yōu)選級最高的備份網閘成為主控網閘,這需vrrp的競選機制來維護各個vrrp網閘的狀態(tài)。
為強化熱備系統(tǒng)的可靠性和穩(wěn)定性,本公開實施例中還提供了可供選擇的雙機熱備系統(tǒng)的備機競選機制。該競選機制可分為搶占模式和非搶占模式。搶占模式即:嚴格按優(yōu)先級級別,優(yōu)先級高的搶占為主機(主機狀態(tài)時發(fā)送vrrp包優(yōu)先級為自己的優(yōu)先級,優(yōu)先級高的做主機)。非搶占模式即:設備做為主機時不再受優(yōu)先級別影響,只有在發(fā)生故障時才會轉為備機狀態(tài)。(網閘為主機狀態(tài)時發(fā)送vrrp包優(yōu)先級為最大值255)。
此發(fā)明方案中熱備系統(tǒng)還配置了異常故障的警告和日志記錄功能。當網閘處于熱備狀態(tài)時,網閘出現異常故障則會發(fā)出警告,并自動錄于網閘故障日志。
為了測試本公開實施例提出的鏈路非對稱網閘雙機熱備系統(tǒng)的有效性,專門搭建了如圖1拓撲所示的測試系統(tǒng),并在網閘、服務器、客戶端上搭建了相應的業(yè)務環(huán)境,需要用到硬件設備如下:網閘2臺;交換機2臺;pc機兩臺(一臺作內網服務器,一臺作外網服務器);網線六根。另外,測試可以分為兩類,第一類是:熱備程序的關閉、網線插拔等宕機測試,用來測試雙機熱備程序軟件診測和主備切換的正確性。第二類是:軟件輔助測試,用網閘文件共享同步功能來測試雙機在發(fā)生主/備切換時數據業(yè)務是否丟失。最后,保證業(yè)務配置和測試數據準確無誤的情況下,做了如表1所示的以下測試,并給出了相應測試結果。并且各種模擬交叉切換的故障場景實驗,測試結果均十分理想,程序未出現“鎖死”現象。由測試結果可知,該雙機熱備系統(tǒng)能夠對我們所發(fā)生的各種故障進行檢測,并能夠相應地完成各種故障切換,系統(tǒng)的切換時間都在和文獻中的故障切換時間(2-4秒)范圍之內。由此表明該發(fā)明方案的合理性和可靠性。
表1
通過上述技術方案可知,本公開實施例中鏈路非對稱結構網閘雙機熱備系統(tǒng)及數據處理方法主要通過同網端網閘間vrrp協(xié)議心跳包監(jiān)測和網閘內外處理器間tcp協(xié)議雙重協(xié)商機制來確保網閘的主備機切換。而不是當前如現有技術中所采用的完全對稱結構,通過心跳線簡單監(jiān)測網閘內外端機的狀態(tài)和主備網閘間處理機狀態(tài)。解決了網閘“單設備雙系統(tǒng)”特性下,目前“單設備單系統(tǒng)”高可用(highavailability)方案無法適用這一難題,并且,本公開告別了完全對稱結構交叉切換“鎖死”的情況,使網閘的切換性能得到了顯著的提升。
以上所述的具體實施例,對本發(fā)明的目的、技術方案和有益效果進行了進一步詳細說明,應理解的是,以上所述僅為本發(fā)明的具體實施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。