專利名稱:一種主機(jī)和轉(zhuǎn)發(fā)設(shè)備同步切換的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及主備切換技術(shù),尤指一種主機(jī)和轉(zhuǎn)發(fā)設(shè)備同步切換的方法。
背景技術(shù):
隨著因特網(wǎng)(Internet)技術(shù)的發(fā)展,大量的主機(jī)需要通過(guò)轉(zhuǎn)發(fā)設(shè)備可靠地連接到NGN、Internet網(wǎng)絡(luò)或?qū)S镁W(wǎng)絡(luò)上。其中,所述的主機(jī)通常是一些重要的網(wǎng)絡(luò)設(shè)備,如提供WEB服務(wù)或FTP服務(wù)的服務(wù)器、或者是軟交換設(shè)備。所述的轉(zhuǎn)發(fā)設(shè)備為網(wǎng)關(guān)、三層交換機(jī)或路由器。在此,轉(zhuǎn)發(fā)設(shè)備以網(wǎng)關(guān)為例進(jìn)行說(shuō)明。通常,主機(jī)必須經(jīng)過(guò)網(wǎng)關(guān)連接到Internet或?qū)S镁W(wǎng)絡(luò)上,一旦為主機(jī)提供服務(wù)的網(wǎng)關(guān)發(fā)生故障,就會(huì)導(dǎo)致主機(jī)和Internet或?qū)>W(wǎng)之間的連接中斷,致使依靠主機(jī)提供服務(wù)的用戶無(wú)法獲取Internet的服務(wù)。對(duì)于一些重要的主機(jī),為了防止因?yàn)榫W(wǎng)關(guān)故障而使主機(jī)跟Internet或?qū)S镁W(wǎng)絡(luò)的連接中斷,通常設(shè)置主機(jī)同時(shí)與兩臺(tái)或兩臺(tái)以上的網(wǎng)關(guān)進(jìn)行連接,其中一臺(tái)作為主用網(wǎng)關(guān),為主機(jī)提供連接服務(wù);其他作為備用網(wǎng)關(guān),在主用網(wǎng)關(guān)故障時(shí),備用網(wǎng)關(guān)升級(jí)為主用網(wǎng)關(guān)繼續(xù)為主機(jī)提供服務(wù),從而有效的防止因?yàn)橐慌_(tái)網(wǎng)關(guān)的故障而導(dǎo)致主機(jī)跟Internet之間的連接中斷。
在現(xiàn)有技術(shù)中,通常在兩臺(tái)或兩臺(tái)以上網(wǎng)關(guān)設(shè)備中運(yùn)行虛擬路由冗余協(xié)議(VRRP,Virtual Router Redundancy Protocol)或其他能實(shí)現(xiàn)主、備設(shè)備切換的協(xié)議,來(lái)實(shí)現(xiàn)由兩臺(tái)或兩臺(tái)以上網(wǎng)關(guān)通過(guò)主備切換的方式,為主機(jī)提供持續(xù)的連接服務(wù)。這里,稱由兩臺(tái)或兩臺(tái)以上轉(zhuǎn)發(fā)設(shè)備組成的組為轉(zhuǎn)發(fā)設(shè)備組。
在轉(zhuǎn)發(fā)設(shè)備組內(nèi)開(kāi)始運(yùn)行VRRP協(xié)議時(shí),先配置一個(gè)虛擬IP地址,通過(guò)VRRP協(xié)議協(xié)商產(chǎn)生一個(gè)主用網(wǎng)關(guān),其他為備用網(wǎng)關(guān)。在運(yùn)行VRRP協(xié)議的轉(zhuǎn)發(fā)設(shè)備組內(nèi),只有主用網(wǎng)關(guān)使用配置的虛擬IP地址向主機(jī)提供連接服務(wù),而備用網(wǎng)關(guān)只是在主用網(wǎng)關(guān)無(wú)法正常工作、或當(dāng)主用網(wǎng)關(guān)的鏈路故障時(shí),通過(guò)VRRP協(xié)議協(xié)商產(chǎn)生新的主用網(wǎng)關(guān),再由新的主用網(wǎng)關(guān)負(fù)責(zé)對(duì)主機(jī)提供連接服務(wù)。
當(dāng)新產(chǎn)生主用網(wǎng)關(guān)時(shí),新產(chǎn)生的主用網(wǎng)關(guān)會(huì)向主機(jī)發(fā)送免費(fèi)地址解析協(xié)議(ARP,Address Resolution Protocol)報(bào)文,雖然主機(jī)能夠收到新主用網(wǎng)關(guān)發(fā)送的免費(fèi)ARP報(bào)文,但是免費(fèi)ARP報(bào)文中并不攜帶提示主機(jī)進(jìn)行主備端口切換的信息,因此主機(jī)并不會(huì)將與新主用網(wǎng)關(guān)相連的備用端口切換為主用端口,所以,主機(jī)還是會(huì)通過(guò)與原主用網(wǎng)關(guān)相連的端口向新產(chǎn)生的主用設(shè)備發(fā)送報(bào)文。因此,使主機(jī)通過(guò)轉(zhuǎn)發(fā)設(shè)備組發(fā)送報(bào)文的過(guò)程中,增加了報(bào)文轉(zhuǎn)發(fā)跳數(shù)、系統(tǒng)時(shí)延,并且占用了轉(zhuǎn)發(fā)設(shè)備組內(nèi)網(wǎng)關(guān)與網(wǎng)關(guān)之間的帶寬,增加了網(wǎng)關(guān)之間的互聯(lián)成本,浪費(fèi)了系統(tǒng)資源。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種主機(jī)和轉(zhuǎn)發(fā)設(shè)備同步切換的方法,應(yīng)用該方法能夠在報(bào)文發(fā)送的過(guò)程中,降低報(bào)文的轉(zhuǎn)發(fā)次數(shù)、降低系統(tǒng)延時(shí)、節(jié)約轉(zhuǎn)發(fā)設(shè)備之間的資源。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的一種主機(jī)和轉(zhuǎn)發(fā)設(shè)備同步切換的方法,由兩臺(tái)或兩臺(tái)以上的轉(zhuǎn)發(fā)設(shè)備組成轉(zhuǎn)發(fā)設(shè)備組并產(chǎn)生主用設(shè)備和備用設(shè)備,轉(zhuǎn)發(fā)設(shè)備組中的各轉(zhuǎn)發(fā)設(shè)備分別與主機(jī)相連并通過(guò)主用設(shè)備向主機(jī)提供服務(wù),該方法還包括以下步驟A、轉(zhuǎn)發(fā)設(shè)備組中的各轉(zhuǎn)發(fā)設(shè)備分別向主機(jī)通告自身當(dāng)前的主備用狀態(tài);B、主機(jī)根據(jù)各轉(zhuǎn)發(fā)設(shè)備通告的主備用狀態(tài)確定轉(zhuǎn)發(fā)設(shè)備組中的主用設(shè)備,并將與主用設(shè)備相連的端口切換為主用端口,通過(guò)主用端口與主用設(shè)備重新建立連接。
其中,步驟A中,所述各轉(zhuǎn)發(fā)設(shè)備分別向主機(jī)通告自身當(dāng)前的主備用狀態(tài)為各轉(zhuǎn)發(fā)設(shè)備將自身當(dāng)前的主備用狀態(tài)寫(xiě)入信息雙向檢測(cè)協(xié)議報(bào)文中,并將攜帶自身主備用狀態(tài)的信息雙向檢測(cè)協(xié)議報(bào)文發(fā)送給主機(jī)。
其中,所述各轉(zhuǎn)發(fā)設(shè)備將自身當(dāng)前的主備用狀態(tài)寫(xiě)入信息雙向檢測(cè)協(xié)議報(bào)文為各轉(zhuǎn)發(fā)設(shè)備將自身當(dāng)前的主備用狀態(tài)寫(xiě)入信息雙向檢測(cè)協(xié)議報(bào)文的擴(kuò)展鑒定單元中。
其中,當(dāng)各轉(zhuǎn)發(fā)設(shè)備到達(dá)發(fā)送信息雙向檢測(cè)協(xié)議報(bào)文周期時(shí),執(zhí)行步驟A。
其中,步驟A中,所述各轉(zhuǎn)發(fā)設(shè)備分別向主機(jī)通告自身當(dāng)前的主備用狀態(tài)為各轉(zhuǎn)發(fā)設(shè)備將自身當(dāng)前的主備用狀態(tài)寫(xiě)入信息操作管理與維護(hù)報(bào)文,并將攜帶自身主備用狀態(tài)的信息操作管理與維護(hù)報(bào)文發(fā)送給主機(jī)。
另外,該方法進(jìn)一步包括在信息操作管理與維護(hù)報(bào)文中增加類型長(zhǎng)度參數(shù)字段,所述各轉(zhuǎn)發(fā)設(shè)備將自身當(dāng)前的主備用狀態(tài)寫(xiě)入信息操作管理與維護(hù)報(bào)文為各轉(zhuǎn)發(fā)設(shè)備將自身當(dāng)前的主備用狀態(tài)寫(xiě)入信息操作管理與維護(hù)報(bào)文中增加的類型長(zhǎng)度參數(shù)字段。
所述,各轉(zhuǎn)發(fā)設(shè)備當(dāng)?shù)竭_(dá)發(fā)送信息操作管理與維護(hù)報(bào)文周期時(shí),執(zhí)行步驟A。
另外,該方法進(jìn)一步包括設(shè)置主備同步周期,步驟B中,所述主機(jī)根據(jù)各轉(zhuǎn)發(fā)設(shè)備通告的主備用狀態(tài)確定轉(zhuǎn)發(fā)設(shè)備組中的主用設(shè)備為,主機(jī)每到達(dá)主備同步周期時(shí),執(zhí)行以下步驟B1、主機(jī)根據(jù)各轉(zhuǎn)發(fā)設(shè)備發(fā)送的主備用狀態(tài)的通告,針對(duì)每個(gè)轉(zhuǎn)發(fā)設(shè)備記錄主用狀態(tài)和備用狀態(tài)的次數(shù),并在主機(jī)當(dāng)前的主備同步周期結(jié)束時(shí),執(zhí)行步驟B2;B2、得到主用狀態(tài)最多的轉(zhuǎn)發(fā)設(shè)備,并確定主用狀態(tài)最多的轉(zhuǎn)發(fā)設(shè)備為主用設(shè)備。
另外,步驟B2中,在得到主用狀態(tài)最多的轉(zhuǎn)發(fā)設(shè)備和確定主用設(shè)備之間,進(jìn)一步包括B21、判斷當(dāng)前得到的轉(zhuǎn)發(fā)設(shè)備是否在當(dāng)前主備同步周期內(nèi)還存在備用狀態(tài)的記錄,如果不存在,則確定當(dāng)前得到的轉(zhuǎn)發(fā)設(shè)備為主用設(shè)備;否則,主機(jī)不執(zhí)行切換操作。
另外,步驟B21中,在確定當(dāng)前得到的轉(zhuǎn)發(fā)設(shè)備為主用設(shè)備之前,進(jìn)一步包括判斷當(dāng)前得到的轉(zhuǎn)發(fā)設(shè)備是否與當(dāng)前使用的主用設(shè)備是同一臺(tái)轉(zhuǎn)發(fā)設(shè)備,如果不是,則確定當(dāng)前得到的轉(zhuǎn)發(fā)設(shè)備為主用設(shè)備;否則,主機(jī)不執(zhí)行切換操作。
另外,該方法進(jìn)一步包括設(shè)置變化標(biāo)識(shí);步驟A中進(jìn)一步包括轉(zhuǎn)發(fā)設(shè)備判斷當(dāng)前通告的主備用狀態(tài)相對(duì)于上一次通告的主備用狀態(tài)是否發(fā)生變化,如果發(fā)生變化,則轉(zhuǎn)發(fā)設(shè)備設(shè)置自身變化標(biāo)識(shí)有效;否則設(shè)置變化標(biāo)識(shí)無(wú)效;并在通告當(dāng)前主備用狀態(tài),將變化標(biāo)識(shí)發(fā)送給主機(jī);步驟B之前進(jìn)一步包括主機(jī)判斷收到的變化標(biāo)識(shí)是否有效,如果有效,步驟B1中,所述記錄轉(zhuǎn)發(fā)設(shè)備的主用狀態(tài)和備用狀態(tài)的次數(shù)為在與上一次記錄的主備用狀態(tài)相反的狀態(tài)上加一;否則,步驟B1中,所述記錄轉(zhuǎn)發(fā)設(shè)備的主用狀態(tài)和備用狀態(tài)的次數(shù)為在與上一次記錄的主備用狀態(tài)相同的狀態(tài)上加一。
所述,所述通告為轉(zhuǎn)發(fā)設(shè)備組中發(fā)生主備切換時(shí),轉(zhuǎn)發(fā)設(shè)備組中的各轉(zhuǎn)發(fā)設(shè)備分別向主機(jī)通告自身當(dāng)前的主備用狀態(tài)。
另外,該方法進(jìn)一步包括為轉(zhuǎn)發(fā)設(shè)備組中的每個(gè)轉(zhuǎn)發(fā)設(shè)備設(shè)置通告定時(shí)器以及相同的通告時(shí)間;所述通告為當(dāng)各轉(zhuǎn)發(fā)設(shè)備內(nèi)的通告定時(shí)器到達(dá)通告時(shí)間后,轉(zhuǎn)發(fā)設(shè)備組中的各轉(zhuǎn)發(fā)設(shè)備分別向主機(jī)通告自身當(dāng)前的主備用狀態(tài)。
另外,該方法進(jìn)一步包括為每個(gè)轉(zhuǎn)發(fā)設(shè)備分別設(shè)置成為主用設(shè)備時(shí)的優(yōu)先級(jí)、以及成為備用設(shè)備的優(yōu)先級(jí),所有轉(zhuǎn)發(fā)設(shè)備設(shè)置成為主用設(shè)備時(shí)的優(yōu)先級(jí)相同,并高于設(shè)置成為備用設(shè)備時(shí)的優(yōu)先級(jí),步驟A中,所述各轉(zhuǎn)發(fā)設(shè)備向主機(jī)通告自身當(dāng)前的主備用狀態(tài)為各轉(zhuǎn)發(fā)設(shè)備根據(jù)自身當(dāng)前的主備用狀態(tài)分別向主機(jī)通告自身當(dāng)前的優(yōu)先級(jí);步驟B中,所述主機(jī)根據(jù)主備用狀態(tài)確定主用設(shè)備為對(duì)所有收到的優(yōu)先級(jí)進(jìn)行比較,確定優(yōu)先級(jí)最高的轉(zhuǎn)發(fā)設(shè)備為主用設(shè)備。
另外,該方法進(jìn)一步包括當(dāng)主機(jī)無(wú)法通過(guò)與當(dāng)前主用設(shè)備相連的端口與當(dāng)前主用設(shè)備連接上,主機(jī)發(fā)送告警信息。
本發(fā)明所提供的一種主機(jī)和轉(zhuǎn)發(fā)設(shè)備同步切換的方法,通過(guò)轉(zhuǎn)發(fā)設(shè)備組內(nèi)各轉(zhuǎn)發(fā)設(shè)備將自身的主備用狀態(tài)通告給主機(jī),主機(jī)根據(jù)收到的各轉(zhuǎn)發(fā)設(shè)備發(fā)送來(lái)的主備用狀態(tài)確定當(dāng)前的主用設(shè)備,并將自身與當(dāng)前主用設(shè)備相連的端口切換為主用端口,通過(guò)主用端口與主用設(shè)備重新建立連接。應(yīng)用該方法能使轉(zhuǎn)發(fā)設(shè)備進(jìn)行主備切換后,主機(jī)能夠根據(jù)主備切換后的主用設(shè)備進(jìn)行自身主備用端口的切換,將與切換后的主用設(shè)備相連的端口作為主用端口與主用設(shè)備進(jìn)行連接。本發(fā)明通過(guò)主機(jī)和主用設(shè)備直接連接,減少了轉(zhuǎn)發(fā)報(bào)文的跳數(shù)、系統(tǒng)時(shí)延,以及盡可能小的占用轉(zhuǎn)發(fā)設(shè)備組內(nèi)轉(zhuǎn)發(fā)設(shè)備與轉(zhuǎn)發(fā)設(shè)備之間的帶寬,節(jié)約了系統(tǒng)資源,減少了轉(zhuǎn)發(fā)設(shè)備與轉(zhuǎn)發(fā)設(shè)備之間的互聯(lián)成本。
圖1為本發(fā)明實(shí)施例一中轉(zhuǎn)發(fā)設(shè)備發(fā)送信息BFD報(bào)文的流程圖;圖2為本發(fā)明實(shí)施例一中主機(jī)確定主用設(shè)備的流程圖;圖3為本發(fā)明實(shí)施例二的流程圖。
具體實(shí)施例方式
本發(fā)明的核心思想是轉(zhuǎn)發(fā)設(shè)備組內(nèi)的各轉(zhuǎn)發(fā)設(shè)備分別將自身的主備用狀態(tài)發(fā)送給主機(jī),主機(jī)通過(guò)各轉(zhuǎn)發(fā)設(shè)備發(fā)送來(lái)的主備用狀態(tài)確定當(dāng)前的主用設(shè)備,并將與當(dāng)前主用設(shè)備相連的端口切換為主用端口,并通過(guò)主用端口與主用設(shè)備重新建立連接。
在本發(fā)明中,轉(zhuǎn)發(fā)設(shè)備組內(nèi)的各轉(zhuǎn)發(fā)設(shè)備周期性的、或當(dāng)自身的主備用狀態(tài)發(fā)生變化時(shí),將自身當(dāng)前的主備用狀態(tài)發(fā)送給主機(jī)。
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并列舉實(shí)施例,對(duì)本發(fā)明做進(jìn)一步的詳細(xì)說(shuō)明。
實(shí)施例一在本實(shí)施例中,利用現(xiàn)有技術(shù)中雙向檢測(cè)協(xié)議(BFD)的擴(kuò)展鑒定單元攜帶轉(zhuǎn)發(fā)設(shè)備的主備用狀態(tài),該擴(kuò)展鑒定單元在BFD協(xié)議中表示為AuthType=0。BFD協(xié)議主要用于定位網(wǎng)絡(luò)設(shè)備端口的故障、以及用來(lái)進(jìn)行環(huán)回檢測(cè)等。
在本實(shí)施例中,對(duì)擴(kuò)展鑒定單元的定義可以是如表一所示的格式
表一如表一所示,對(duì)擴(kuò)展鑒定單元的數(shù)據(jù)單元定義了四個(gè)字段,包括字段類型、字段長(zhǎng)度、設(shè)備標(biāo)識(shí)和狀態(tài)。其中,字段類型Auth Type為0,表示該數(shù)據(jù)單元為BFD協(xié)議保留的擴(kuò)展鑒定單元;字段長(zhǎng)度Auth Len表示該擴(kuò)展鑒定單元的總字節(jié)數(shù);設(shè)備標(biāo)識(shí)Device ID表示發(fā)送信息BFD報(bào)文的轉(zhuǎn)發(fā)設(shè)備的唯一設(shè)備號(hào);狀態(tài)State表示當(dāng)前轉(zhuǎn)發(fā)設(shè)備的主備用狀態(tài)。
在實(shí)際應(yīng)用中,還可以根據(jù)用戶或者設(shè)備的要求,在擴(kuò)展鑒定單元中增加新的字段,如增加信息Information字段,用來(lái)對(duì)當(dāng)前轉(zhuǎn)發(fā)設(shè)備的性能或運(yùn)行情況作進(jìn)一步的補(bǔ)充說(shuō)明。也可以對(duì)各個(gè)字段所占的字節(jié)數(shù)根據(jù)網(wǎng)絡(luò)環(huán)境自身的需要進(jìn)行定義,但為了兼容原有BFD協(xié)議的應(yīng)用,定義的擴(kuò)展鑒定單元數(shù)據(jù)單元的總長(zhǎng)度必須滿足4個(gè)字節(jié)的整數(shù)倍。
根據(jù)BFD協(xié)議,網(wǎng)絡(luò)設(shè)備均會(huì)周期性的發(fā)送信息BFD報(bào)文。當(dāng)轉(zhuǎn)發(fā)設(shè)備組中的轉(zhuǎn)發(fā)設(shè)備到達(dá)信息BFD報(bào)文發(fā)送周期時(shí),轉(zhuǎn)發(fā)設(shè)備具體發(fā)送攜帶自身主備用狀態(tài)的信息BFD報(bào)文的過(guò)程如圖1所示步驟101~102當(dāng)轉(zhuǎn)發(fā)設(shè)備組中的任一轉(zhuǎn)發(fā)設(shè)備到達(dá)自身發(fā)送信息BFD報(bào)文周期時(shí),則查詢并得到當(dāng)前自身在轉(zhuǎn)發(fā)設(shè)備組中的主備用狀態(tài)。
這里,具體查詢自身主備用狀態(tài)的方法,可以根據(jù)轉(zhuǎn)發(fā)設(shè)備組內(nèi)運(yùn)行的協(xié)議進(jìn)行,如果運(yùn)行的是VRRP協(xié)議,則可以根據(jù)VRRP協(xié)議查詢并獲得當(dāng)前自身在轉(zhuǎn)發(fā)設(shè)備組內(nèi)的主備用狀態(tài)。
步驟103轉(zhuǎn)發(fā)設(shè)備將獲得的主備用狀態(tài)寫(xiě)入當(dāng)前要發(fā)送的信息BFD報(bào)文的擴(kuò)展鑒定單元內(nèi)的State字段中,并將攜帶了自身主備用狀態(tài)的信息BFD報(bào)文發(fā)送給主機(jī)。
轉(zhuǎn)發(fā)設(shè)備組內(nèi)的各個(gè)轉(zhuǎn)發(fā)設(shè)備當(dāng)?shù)竭_(dá)自身的信息BFD報(bào)文發(fā)送周期時(shí),均執(zhí)行步驟101~103。
在接收信息BFD報(bào)文的接收端主機(jī),每當(dāng)主機(jī)收到了攜帶主用狀態(tài)的信息BFD報(bào)文時(shí),則根據(jù)當(dāng)前收到的信息BFD報(bào)文所對(duì)應(yīng)的轉(zhuǎn)發(fā)設(shè)備,將自身的主用端口切換至與當(dāng)前轉(zhuǎn)發(fā)設(shè)備相連的端口,并通過(guò)主用端口與主用設(shè)備重新建立連接。
雖然,主機(jī)與當(dāng)前主用設(shè)備在當(dāng)前重新建立連接之前就已經(jīng)存在了物理上的連接,但是在當(dāng)前重新建立連接之前,主機(jī)并不能直接通過(guò)當(dāng)前主用設(shè)備向外界發(fā)送數(shù)據(jù)。因此主機(jī)需要通過(guò)主用端口與主用設(shè)備重新建立連接,使主機(jī)能夠直接通過(guò)當(dāng)前的主用端口,從當(dāng)前的主用設(shè)備直接向外界發(fā)送數(shù)據(jù)。
在本實(shí)施例中,對(duì)于在接收信息BFD報(bào)文的接收端主機(jī),還可以對(duì)主機(jī)設(shè)置主備同步周期,當(dāng)主備同步周期到達(dá)時(shí),則主機(jī)開(kāi)始根據(jù)收到的信息BFD報(bào)文,記錄轉(zhuǎn)發(fā)設(shè)備組內(nèi)各轉(zhuǎn)發(fā)設(shè)備的主備用狀態(tài),并在主備同步周期結(jié)束時(shí),根據(jù)記錄的各轉(zhuǎn)發(fā)設(shè)備的主備用狀態(tài)當(dāng)前的主用設(shè)備,執(zhí)行主備切換。具體過(guò)程如圖2所示步驟201~202當(dāng)主機(jī)每到達(dá)主備同步周期時(shí),主機(jī)則開(kāi)始根據(jù)這一周期中收到的信息BFD報(bào)文中攜帶的主備用狀態(tài),對(duì)轉(zhuǎn)發(fā)設(shè)備組中的各轉(zhuǎn)發(fā)設(shè)備進(jìn)行記錄,記錄的內(nèi)容為各轉(zhuǎn)發(fā)設(shè)備主備用狀態(tài)的次數(shù);并在當(dāng)前主備同步周期結(jié)束時(shí),執(zhí)行步驟203。
步驟203根據(jù)記錄得到主用狀態(tài)最多的轉(zhuǎn)發(fā)設(shè)備,并判斷得到的轉(zhuǎn)發(fā)設(shè)備是否在當(dāng)前主備同步周期內(nèi)還存在備用狀態(tài)的記錄,如果不存在,執(zhí)行步驟204;否則,執(zhí)行步驟206。
當(dāng)判斷得到的轉(zhuǎn)發(fā)設(shè)備是否在當(dāng)前主備同步周期內(nèi)還存在備用狀態(tài)的記錄時(shí),可以是判斷是否存在備用狀態(tài)的記錄,或者是判斷是否存在小于一定數(shù)目的備用狀態(tài)的記錄。這里所指的一定數(shù)目的備用狀態(tài)的記錄可以一次或者一次以上,具體的數(shù)目需要根據(jù)網(wǎng)絡(luò)運(yùn)行的實(shí)際情況進(jìn)行確定。
步驟204判斷當(dāng)前得到的轉(zhuǎn)發(fā)設(shè)備是否與當(dāng)前使用的主用設(shè)備是同一臺(tái)轉(zhuǎn)發(fā)設(shè)備,如果不是,則執(zhí)行步驟205;否則,執(zhí)行步驟206。
步驟205將自身的主用端口切換至與當(dāng)前得到的轉(zhuǎn)發(fā)設(shè)備相連的端口,通過(guò)主用端口與主用設(shè)備重新建立連接,結(jié)束當(dāng)前流程。
步驟206不執(zhí)行主備切換。
當(dāng)主機(jī)每結(jié)束當(dāng)前的主備同步周期時(shí),則又重新開(kāi)始進(jìn)入下一個(gè)主備同步周期,主機(jī)在每個(gè)主備同步周期中,都執(zhí)行步驟201~206。主備同步周期具體周期長(zhǎng)短的設(shè)置可以根據(jù)網(wǎng)絡(luò)的具體環(huán)境,以及轉(zhuǎn)發(fā)設(shè)備發(fā)送信息BFD報(bào)文周期的大小,在實(shí)際的使用中,主備切換周期的周期大小通常設(shè)置為1~3秒。
在本實(shí)施例的步驟203中,也可以不執(zhí)行判斷當(dāng)前主用狀態(tài)最多的轉(zhuǎn)發(fā)設(shè)備是否存在備用狀態(tài)的記錄,而直接根據(jù)記錄確定主用狀態(tài)最多的轉(zhuǎn)發(fā)設(shè)備為主用設(shè)備。在這種情況下,就不再需要執(zhí)行步驟204和步驟206,而直接執(zhí)行步驟205。
在本實(shí)施例中,也可以不執(zhí)行步驟204,而直接根據(jù)步驟203判斷的結(jié)果執(zhí)行步驟205或是步驟206。
在特殊情況下,由于轉(zhuǎn)發(fā)設(shè)備組內(nèi)的拓?fù)浣Y(jié)構(gòu)發(fā)生變化,比如,在與主機(jī)相連的兩臺(tái)轉(zhuǎn)發(fā)設(shè)備組成的轉(zhuǎn)發(fā)設(shè)備組內(nèi),兩臺(tái)轉(zhuǎn)發(fā)設(shè)備之間無(wú)法進(jìn)行連接,轉(zhuǎn)發(fā)設(shè)備組就可能會(huì)產(chǎn)生一個(gè)以上的主用設(shè)備,此時(shí),主機(jī)根據(jù)記錄,可能會(huì)得到一個(gè)以上的具有同樣最多主用狀態(tài)數(shù)目的轉(zhuǎn)發(fā)設(shè)備,即存在一個(gè)以上的主用設(shè)備向主機(jī)發(fā)送的攜帶主用狀態(tài)的信息BFD報(bào)文。在這種情況下,主機(jī)可以任意選擇其中一個(gè)轉(zhuǎn)發(fā)設(shè)備作為自身的主用設(shè)備,也可以采用其他的措施,如向網(wǎng)管設(shè)備發(fā)送告警信息,或保持原主用設(shè)備不變。
這里,主機(jī)從信息BFD報(bào)文中獲得信息BFD報(bào)文所攜帶的主備用狀態(tài)信息為從信息BFD報(bào)文的數(shù)據(jù)域中獲得擴(kuò)展鑒定單元,并根據(jù)設(shè)置的擴(kuò)展鑒定單元的格式,從擴(kuò)展鑒定單元中的狀態(tài)State字段內(nèi),獲得當(dāng)前信息BFD報(bào)文所對(duì)應(yīng)的轉(zhuǎn)發(fā)設(shè)備的主備用狀態(tài)。
通常情況下,轉(zhuǎn)發(fā)設(shè)備發(fā)送信息BFD報(bào)文的周期非常短,因此為了避免主機(jī)頻繁查詢擴(kuò)展鑒定單元中的內(nèi)容,還可以在擴(kuò)展鑒定單元內(nèi)設(shè)置變化標(biāo)識(shí),用來(lái)表示轉(zhuǎn)發(fā)設(shè)備當(dāng)前的主備用狀態(tài)相對(duì)與上一次發(fā)送信息BFD報(bào)文時(shí)的主備用狀態(tài)是否發(fā)生改變,如果發(fā)生變化,則設(shè)置變化標(biāo)識(shí)為有效;否則,則設(shè)置變化標(biāo)識(shí)為無(wú)效。
當(dāng)在信息BFD報(bào)文設(shè)置了變化標(biāo)識(shí)的情況下,主機(jī)在收到攜帶了變化標(biāo)識(shí)時(shí),首先判斷當(dāng)前接收到的信息BFD報(bào)文的擴(kuò)展鑒定單元中變化標(biāo)識(shí)是否有效,如果有效,則指示當(dāng)前收到信息BFD報(bào)文對(duì)應(yīng)的轉(zhuǎn)發(fā)設(shè)備的主備用狀態(tài),相對(duì)于上一次發(fā)送信息BFD報(bào)文時(shí)的主備用狀態(tài)發(fā)生變化,在轉(zhuǎn)發(fā)設(shè)備上次的主備用狀態(tài)為主用狀態(tài)的情況,則對(duì)應(yīng)當(dāng)前轉(zhuǎn)發(fā)設(shè)備,在轉(zhuǎn)發(fā)設(shè)備的備用狀態(tài)次數(shù)上加1;當(dāng)轉(zhuǎn)發(fā)設(shè)備上次的主備用狀態(tài)為備用狀態(tài)的情況,則對(duì)應(yīng)當(dāng)前轉(zhuǎn)發(fā)設(shè)備,在轉(zhuǎn)發(fā)設(shè)備的主用狀態(tài)次數(shù)上加1。如果當(dāng)前接收到的信息BFD報(bào)文的擴(kuò)展鑒定單元中變化標(biāo)識(shí)為無(wú)效時(shí),則指示當(dāng)前收到信息BFD報(bào)文對(duì)應(yīng)的轉(zhuǎn)發(fā)設(shè)備的主備用狀態(tài),相對(duì)于上一次發(fā)送信息BFD報(bào)文時(shí)的主備用狀態(tài)沒(méi)有變化,在轉(zhuǎn)發(fā)設(shè)備上次的主備用狀態(tài)為主用狀態(tài)的情況,則對(duì)應(yīng)當(dāng)前轉(zhuǎn)發(fā)設(shè)備,在轉(zhuǎn)發(fā)設(shè)備的主用狀態(tài)次數(shù)上加1;當(dāng)轉(zhuǎn)發(fā)設(shè)備上次的主備用狀態(tài)為備用狀態(tài)的情況,則對(duì)應(yīng)當(dāng)前轉(zhuǎn)發(fā)設(shè)備,在轉(zhuǎn)發(fā)設(shè)備的備用狀態(tài)次數(shù)上加1。然后,根據(jù)記錄的轉(zhuǎn)發(fā)設(shè)備主備用狀態(tài)的次數(shù),執(zhí)行步驟203。
在設(shè)置了變化標(biāo)識(shí)的情況下,主機(jī)只需根據(jù)變化標(biāo)識(shí)是否有效,就可以很容易的得知變化標(biāo)識(shí)所對(duì)應(yīng)的轉(zhuǎn)發(fā)設(shè)備的主備用狀態(tài)。因此省去了轉(zhuǎn)發(fā)設(shè)備讀取擴(kuò)展鑒定單元中其他信息的時(shí)間,節(jié)省了主機(jī)處理信息的時(shí)間,提高了系統(tǒng)的運(yùn)行效率。在一些特殊情況下,如果主機(jī)無(wú)法找到上一次記錄的轉(zhuǎn)發(fā)設(shè)備的主備用狀態(tài),例如,主機(jī)第一次收到某個(gè)轉(zhuǎn)發(fā)設(shè)備發(fā)送來(lái)的主備用狀態(tài),此時(shí),主機(jī)則可以通過(guò)讀取擴(kuò)展鑒定單元中的State字段獲得轉(zhuǎn)發(fā)設(shè)備當(dāng)前的主備用狀態(tài)。這里,所述變化標(biāo)識(shí)具體設(shè)置的位置可以是在擴(kuò)展鑒定單元內(nèi)設(shè)置另一個(gè)字段,或者是在State字段內(nèi)設(shè)置一個(gè)標(biāo)識(shí)位用以表示變化標(biāo)識(shí)。
在本實(shí)施例中,除了可以利用BFD協(xié)議中的擴(kuò)展鑒定單元來(lái)發(fā)送轉(zhuǎn)發(fā)設(shè)備的主備用狀態(tài)外,還可以利用現(xiàn)有技術(shù)中IEEE802.3ah的信息操作管理與維護(hù)(OAM)報(bào)文來(lái)攜帶轉(zhuǎn)發(fā)設(shè)備的主備用狀態(tài),發(fā)送給主機(jī)。當(dāng)轉(zhuǎn)發(fā)設(shè)備使用OAM報(bào)文攜帶自身的主備用狀態(tài),首先需要在OAM報(bào)文的數(shù)據(jù)域內(nèi)增加類型長(zhǎng)度參數(shù)(TLV),當(dāng)轉(zhuǎn)發(fā)設(shè)備到達(dá)發(fā)送OAM報(bào)文的周期時(shí),同樣需要查詢當(dāng)前自身在轉(zhuǎn)發(fā)設(shè)備組中的主備用狀態(tài),然后將獲得的主備用狀態(tài)寫(xiě)入增加的TLV字段內(nèi),發(fā)送給主機(jī)。主機(jī)側(cè)的處理過(guò)程中,除了處理的對(duì)象是增加的TLV字段外,其他的處理過(guò)程均與圖2所示的流程相同,在此不再詳細(xì)描述。
實(shí)施例二在本實(shí)施例中,可以通過(guò)設(shè)置轉(zhuǎn)發(fā)設(shè)備優(yōu)先級(jí)的方法,來(lái)區(qū)分轉(zhuǎn)發(fā)設(shè)備組中各轉(zhuǎn)發(fā)設(shè)備的主備用狀態(tài)。具體為,對(duì)轉(zhuǎn)發(fā)設(shè)備組內(nèi)的各轉(zhuǎn)發(fā)設(shè)備分別設(shè)置成為主用設(shè)備和備用設(shè)備時(shí)的優(yōu)先級(jí),使轉(zhuǎn)發(fā)設(shè)備組內(nèi)的主用設(shè)備相對(duì)于備用設(shè)備具有更高的優(yōu)先級(jí),轉(zhuǎn)發(fā)設(shè)備組內(nèi)的轉(zhuǎn)發(fā)設(shè)備分別將自身的優(yōu)先級(jí)發(fā)送給主機(jī),主機(jī)根據(jù)優(yōu)先級(jí)的高低確定主用設(shè)備。
所述對(duì)轉(zhuǎn)發(fā)設(shè)備組內(nèi)的各轉(zhuǎn)發(fā)設(shè)備分別設(shè)置成為主用設(shè)備和備用設(shè)備時(shí)的優(yōu)先級(jí)為對(duì)每個(gè)轉(zhuǎn)發(fā)設(shè)備設(shè)置該轉(zhuǎn)發(fā)設(shè)備成為主用設(shè)備時(shí)的優(yōu)先級(jí),以及該轉(zhuǎn)發(fā)設(shè)備成為備用設(shè)備時(shí)的優(yōu)先級(jí),其中,設(shè)置的主用設(shè)備的優(yōu)先級(jí)必須比備用設(shè)備的優(yōu)先級(jí)高。例如,在假設(shè)1比2的優(yōu)先級(jí)高時(shí),可以對(duì)所有轉(zhuǎn)發(fā)設(shè)備設(shè)置當(dāng)該轉(zhuǎn)發(fā)設(shè)備成為主用設(shè)備的優(yōu)先級(jí)為1、成為備用設(shè)備的優(yōu)先級(jí)為2,在這種情況下對(duì)于任意轉(zhuǎn)發(fā)設(shè)備,只要該轉(zhuǎn)發(fā)設(shè)備成為主用設(shè)備,它的優(yōu)先級(jí)為1,而當(dāng)該轉(zhuǎn)發(fā)設(shè)備將為備用設(shè)備時(shí),它的優(yōu)先級(jí)為2;也可以對(duì)每個(gè)轉(zhuǎn)發(fā)設(shè)備成為主用設(shè)備時(shí)設(shè)置相同的優(yōu)先級(jí)、而成為備用設(shè)備時(shí)設(shè)置不同的優(yōu)先級(jí),例如,對(duì)轉(zhuǎn)發(fā)設(shè)備A可以設(shè)置,當(dāng)轉(zhuǎn)發(fā)設(shè)備A成為主用設(shè)備時(shí)優(yōu)先級(jí)為1、成為備用設(shè)備時(shí)優(yōu)先級(jí)為2;對(duì)轉(zhuǎn)發(fā)設(shè)備B可以設(shè)置,當(dāng)轉(zhuǎn)發(fā)設(shè)備B成為主用設(shè)備時(shí)優(yōu)先級(jí)同樣為1、而成為備用設(shè)備時(shí)優(yōu)先級(jí)為3,當(dāng)假設(shè)2比3的優(yōu)先級(jí)高時(shí),同樣作為備用設(shè)備,轉(zhuǎn)發(fā)設(shè)備A則比轉(zhuǎn)發(fā)設(shè)備B的優(yōu)先級(jí)高。
以下為本實(shí)施例的具體實(shí)現(xiàn)過(guò)程。
在轉(zhuǎn)發(fā)設(shè)備組內(nèi)運(yùn)行VRRP協(xié)議,設(shè)置虛擬IP地址,初始化轉(zhuǎn)發(fā)設(shè)備組,對(duì)轉(zhuǎn)發(fā)設(shè)備組內(nèi)的各個(gè)轉(zhuǎn)發(fā)設(shè)備分別設(shè)置成為主用設(shè)備和備用設(shè)備時(shí)的優(yōu)先級(jí),只要使轉(zhuǎn)發(fā)設(shè)備組內(nèi)的主用設(shè)備相對(duì)于備用設(shè)備具有更高的優(yōu)先級(jí)即可;同時(shí),對(duì)轉(zhuǎn)發(fā)設(shè)備組內(nèi)每個(gè)轉(zhuǎn)發(fā)設(shè)備設(shè)置相同的通告時(shí)間、設(shè)置并同時(shí)啟動(dòng)通告定時(shí)器。所述通告時(shí)間的設(shè)置,可以根據(jù)轉(zhuǎn)發(fā)設(shè)備組進(jìn)行主備切換的頻率來(lái)進(jìn)行設(shè)置。本實(shí)施例的具體過(guò)程如圖3所示步驟301轉(zhuǎn)發(fā)設(shè)備組內(nèi)的各轉(zhuǎn)發(fā)設(shè)備分別判斷各自的通告定時(shí)器是否到達(dá)通告時(shí)間,如果是,則執(zhí)行步驟302;否則返回步驟301,繼續(xù)判斷通告定時(shí)器是否到達(dá)通告時(shí)間。
步驟302轉(zhuǎn)發(fā)設(shè)備組內(nèi)的各轉(zhuǎn)發(fā)設(shè)備將自身的優(yōu)先級(jí)通告給主機(jī);在完成通告后,重新啟動(dòng)自身內(nèi)部設(shè)置的通告定時(shí)器,通告定時(shí)器重新計(jì)時(shí)。
其中,轉(zhuǎn)發(fā)設(shè)備將自身的優(yōu)先級(jí)通告給主機(jī)的方法可以是,使用IEEE802.3ah中的信息操作管理與維護(hù)(OAM)報(bào)文向主機(jī)進(jìn)行通告,具體為在OAM報(bào)文中的數(shù)據(jù)域內(nèi)增加類型長(zhǎng)度參數(shù)(TLV)字段,在增加的TLV字段內(nèi)寫(xiě)入自身的優(yōu)先級(jí),并轉(zhuǎn)發(fā)設(shè)備發(fā)送OAM報(bào)文周期到達(dá)時(shí),將增加了TLV字段的OAM報(bào)文發(fā)送給主機(jī)。
轉(zhuǎn)發(fā)設(shè)備將自身的優(yōu)先級(jí)通告給主機(jī)的方法還可以是利用BFD協(xié)議信息BFD報(bào)文的擴(kuò)展鑒定單元,在擴(kuò)展鑒定單元中寫(xiě)入自身的優(yōu)先級(jí),具體的方法與實(shí)施例一中在信息BFD報(bào)文中寫(xiě)入自身的主備用狀態(tài)相同,在此不再詳述,當(dāng)轉(zhuǎn)發(fā)設(shè)備發(fā)送信息BFD報(bào)文周期到達(dá)時(shí),將攜帶了優(yōu)先級(jí)的信息BFD報(bào)文發(fā)送至主機(jī)。
步驟303主機(jī)在收到轉(zhuǎn)發(fā)設(shè)備組內(nèi)各轉(zhuǎn)發(fā)設(shè)備發(fā)送來(lái)的優(yōu)先級(jí)通告后,對(duì)收到的通告進(jìn)行解析,得到通告內(nèi)所攜帶的優(yōu)先級(jí)。對(duì)優(yōu)先級(jí)進(jìn)行比較,確定優(yōu)先級(jí)高的轉(zhuǎn)發(fā)設(shè)備為主用設(shè)備,將與主用設(shè)備相連的端口作為主用端口,通過(guò)主用端口與主用設(shè)備連接。同時(shí),在成功進(jìn)行主備用端口的切換之后,主機(jī)向主用設(shè)備返回成功進(jìn)行主備用端口切換的確認(rèn)。
由于在步驟302中,在完成通告后,各轉(zhuǎn)發(fā)設(shè)備重新啟動(dòng)了自身內(nèi)部設(shè)置的通告定時(shí)器,并且通告定時(shí)器重新計(jì)時(shí),因此在執(zhí)行步驟303時(shí),同時(shí)執(zhí)行步驟301以及步驟302。
在特殊情況下,由于轉(zhuǎn)發(fā)設(shè)備組內(nèi)的拓?fù)浣Y(jié)構(gòu)發(fā)生變化,比如,在與主機(jī)相連的兩臺(tái)轉(zhuǎn)發(fā)設(shè)備組成的轉(zhuǎn)發(fā)設(shè)備組內(nèi),兩臺(tái)轉(zhuǎn)發(fā)設(shè)備之間無(wú)法進(jìn)行連接,轉(zhuǎn)發(fā)設(shè)備組就可能會(huì)產(chǎn)生一個(gè)以上的主用設(shè)備,此時(shí),主機(jī)則會(huì)收到一個(gè)以上攜帶最高優(yōu)先級(jí)的通告,即由一個(gè)以上的主用設(shè)備向主機(jī)發(fā)送的攜帶主用設(shè)備優(yōu)先級(jí)的通告。在這種情況下,主機(jī)可以任意選擇其中一個(gè)轉(zhuǎn)發(fā)設(shè)備作為自身主用設(shè)備,并將與該主用設(shè)備相連的端口作為主用端口。
在轉(zhuǎn)發(fā)設(shè)備利用OAM報(bào)文攜帶優(yōu)先級(jí)時(shí),所述對(duì)收到的通告進(jìn)行解析為,主機(jī)通過(guò)讀取收到的OAM報(bào)文,從報(bào)文的數(shù)據(jù)域中獲得標(biāo)識(shí)轉(zhuǎn)發(fā)設(shè)備優(yōu)先級(jí)的TLV字段,得到轉(zhuǎn)發(fā)設(shè)備的優(yōu)先級(jí)。
當(dāng)轉(zhuǎn)發(fā)設(shè)備利用信息BFD報(bào)文攜帶自身優(yōu)先級(jí)時(shí),所述對(duì)收到的通告進(jìn)行解析為,主機(jī)通過(guò)讀取收到的信息BFD報(bào)文,從報(bào)文數(shù)據(jù)域中的擴(kuò)展鑒定單元中得到當(dāng)前轉(zhuǎn)發(fā)設(shè)備的優(yōu)先級(jí)。
在本實(shí)施例中,執(zhí)行如圖3所示流程的同時(shí),還可以當(dāng)轉(zhuǎn)發(fā)設(shè)備組內(nèi)發(fā)生主備切換時(shí),設(shè)置轉(zhuǎn)發(fā)設(shè)備組內(nèi)所有的轉(zhuǎn)發(fā)設(shè)備向主機(jī)通告自身的優(yōu)先級(jí)。具體為,由于轉(zhuǎn)發(fā)設(shè)備組內(nèi)的轉(zhuǎn)發(fā)設(shè)備通過(guò)VRRP協(xié)議可以及時(shí)得知轉(zhuǎn)發(fā)設(shè)備組內(nèi)是否發(fā)生了主備切換,如果轉(zhuǎn)發(fā)設(shè)備得知了轉(zhuǎn)發(fā)設(shè)備組內(nèi)發(fā)生了主備切換,則執(zhí)行步驟302;如果沒(méi)有發(fā)生,則不作任何處理。
在某些具體的應(yīng)用中,也可以只單獨(dú)使用當(dāng)轉(zhuǎn)發(fā)設(shè)備組內(nèi)發(fā)生主備切換時(shí),設(shè)置轉(zhuǎn)發(fā)設(shè)備組內(nèi)各轉(zhuǎn)發(fā)設(shè)備將自身的優(yōu)先級(jí)通過(guò)自身與主機(jī)相連的端口通告給主機(jī);而不使用對(duì)轉(zhuǎn)發(fā)設(shè)備組內(nèi)的各轉(zhuǎn)發(fā)設(shè)備設(shè)置定時(shí)器,周期性的觸發(fā)轉(zhuǎn)發(fā)設(shè)備組內(nèi)各轉(zhuǎn)發(fā)設(shè)備將自身的優(yōu)先級(jí)通過(guò)自身與主機(jī)相連的端口通告給主機(jī)。
在本發(fā)明中,當(dāng)主機(jī)確定了轉(zhuǎn)發(fā)設(shè)備組中的主用設(shè)備,但無(wú)法和轉(zhuǎn)發(fā)設(shè)備組中的主用設(shè)備連接成功時(shí),需要轉(zhuǎn)發(fā)設(shè)備組中的網(wǎng)絡(luò)管理設(shè)備或者轉(zhuǎn)發(fā)設(shè)備發(fā)送告警信息,提示主機(jī)與當(dāng)前的主用設(shè)備無(wú)法連接。
以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種主機(jī)和轉(zhuǎn)發(fā)設(shè)備同步切換的方法,由兩臺(tái)或兩臺(tái)以上的轉(zhuǎn)發(fā)設(shè)備組成轉(zhuǎn)發(fā)設(shè)備組并產(chǎn)生主用設(shè)備和備用設(shè)備,轉(zhuǎn)發(fā)設(shè)備組中的各轉(zhuǎn)發(fā)設(shè)備分別與主機(jī)相連并通過(guò)主用設(shè)備向主機(jī)提供服務(wù),其特征在于,該方法還包括以下步驟A、轉(zhuǎn)發(fā)設(shè)備組中的各轉(zhuǎn)發(fā)設(shè)備分別向主機(jī)通告自身當(dāng)前的主備用狀態(tài);B、主機(jī)根據(jù)各轉(zhuǎn)發(fā)設(shè)備通告的主備用狀態(tài)確定轉(zhuǎn)發(fā)設(shè)備組中的主用設(shè)備,并將與主用設(shè)備相連的端口切換為主用端口,通過(guò)主用端口與主用設(shè)備重新建立連接。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟A中,所述各轉(zhuǎn)發(fā)設(shè)備分別向主機(jī)通告自身當(dāng)前的主備用狀態(tài)為各轉(zhuǎn)發(fā)設(shè)備將自身當(dāng)前的主備用狀態(tài)寫(xiě)入信息雙向檢測(cè)協(xié)議報(bào)文中,并將攜帶自身主備用狀態(tài)的信息雙向檢測(cè)協(xié)議報(bào)文發(fā)送給主機(jī)。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,當(dāng)各轉(zhuǎn)發(fā)設(shè)備到達(dá)發(fā)送信息雙向檢測(cè)協(xié)議報(bào)文周期時(shí),執(zhí)行步驟A。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟A中,所述各轉(zhuǎn)發(fā)設(shè)備分別向主機(jī)通告自身當(dāng)前的主備用狀態(tài)為各轉(zhuǎn)發(fā)設(shè)備將自身當(dāng)前的主備用狀態(tài)寫(xiě)入信息操作管理與維護(hù)報(bào)文,并將攜帶自身主備用狀態(tài)的信息操作管理與維護(hù)報(bào)文發(fā)送給主機(jī)。
5.根據(jù)權(quán)利要求1或4所述的方法,其特征在于,各轉(zhuǎn)發(fā)設(shè)備當(dāng)?shù)竭_(dá)發(fā)送信息操作管理與維護(hù)報(bào)文周期時(shí),執(zhí)行步驟A。
6.根據(jù)權(quán)利要求1、2或4所述的方法,其特征在于,該方法進(jìn)一步包括設(shè)置主備同步周期,步驟B中,所述主機(jī)根據(jù)各轉(zhuǎn)發(fā)設(shè)備通告的主備用狀態(tài)確定轉(zhuǎn)發(fā)設(shè)備組中的主用設(shè)備為,主機(jī)每到達(dá)主備同步周期時(shí),執(zhí)行以下步驟B1、主機(jī)根據(jù)各轉(zhuǎn)發(fā)設(shè)備發(fā)送的主備用狀態(tài)的通告,針對(duì)每個(gè)轉(zhuǎn)發(fā)設(shè)備記錄主用狀態(tài)和備用狀態(tài)的次數(shù),并在主機(jī)當(dāng)前的主備同步周期結(jié)束時(shí),執(zhí)行步驟B2;B2、得到主用狀態(tài)最多的轉(zhuǎn)發(fā)設(shè)備,并確定主用狀態(tài)最多的轉(zhuǎn)發(fā)設(shè)備為主用設(shè)備。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,步驟B2中,在得到主用狀態(tài)最多的轉(zhuǎn)發(fā)設(shè)備和確定主用設(shè)備之間,進(jìn)一步包括B21、判斷當(dāng)前得到的轉(zhuǎn)發(fā)設(shè)備是否在當(dāng)前主備同步周期內(nèi)還存在備用狀態(tài)的記錄,如果不存在,則確定當(dāng)前得到的轉(zhuǎn)發(fā)設(shè)備為主用設(shè)備;否則,主機(jī)不執(zhí)行切換操作。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,步驟B21中,在確定當(dāng)前得到的轉(zhuǎn)發(fā)設(shè)備為主用設(shè)備之前,進(jìn)一步包括判斷當(dāng)前得到的轉(zhuǎn)發(fā)設(shè)備是否與當(dāng)前使用的主用設(shè)備是同一臺(tái)轉(zhuǎn)發(fā)設(shè)備,如果不是,則確定當(dāng)前得到的轉(zhuǎn)發(fā)設(shè)備為主用設(shè)備;否則,主機(jī)不執(zhí)行切換操作。
9.根據(jù)權(quán)利要求6所述的方法,其特征在于,該方法進(jìn)一步包括設(shè)置變化標(biāo)識(shí);步驟A中進(jìn)一步包括轉(zhuǎn)發(fā)設(shè)備判斷當(dāng)前通告的主備用狀態(tài)相對(duì)于上一次通告的主備用狀態(tài)是否發(fā)生變化,如果發(fā)生變化,則轉(zhuǎn)發(fā)設(shè)備設(shè)置自身變化標(biāo)識(shí)有效;否則設(shè)置變化標(biāo)識(shí)無(wú)效;并在通告當(dāng)前主備用狀態(tài),將變化標(biāo)識(shí)發(fā)送給主機(jī);步驟B之前進(jìn)一步包括主機(jī)判斷收到的變化標(biāo)識(shí)是否有效,如果有效,步驟B1中,所述記錄轉(zhuǎn)發(fā)設(shè)備的主用狀態(tài)和備用狀態(tài)的次數(shù)為在與上一次記錄的主備用狀態(tài)相反的狀態(tài)上加一;否則,步驟B1中,所述記錄轉(zhuǎn)發(fā)設(shè)備的主用狀態(tài)和備用狀態(tài)的次數(shù)為在與上一次記錄的主備用狀態(tài)相同的狀態(tài)上加一。
10.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述通告為轉(zhuǎn)發(fā)設(shè)備組中發(fā)生主備切換時(shí),轉(zhuǎn)發(fā)設(shè)備組中的各轉(zhuǎn)發(fā)設(shè)備分別向主機(jī)通告自身當(dāng)前的主備用狀態(tài)。
11.根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法進(jìn)一步包括為轉(zhuǎn)發(fā)設(shè)備組中的每個(gè)轉(zhuǎn)發(fā)設(shè)備設(shè)置通告定時(shí)器以及相同的通告時(shí)間;所述通告為當(dāng)各轉(zhuǎn)發(fā)設(shè)備內(nèi)的通告定時(shí)器到達(dá)通告時(shí)間后,轉(zhuǎn)發(fā)設(shè)備組中的各轉(zhuǎn)發(fā)設(shè)備分別向主機(jī)通告自身當(dāng)前的主備用狀態(tài)。
12.根據(jù)權(quán)利要求1、2、4、10或11所述的方法,其特征在于,該方法進(jìn)一步包括為每個(gè)轉(zhuǎn)發(fā)設(shè)備分別設(shè)置成為主用設(shè)備時(shí)的優(yōu)先級(jí)、以及成為備用設(shè)備的優(yōu)先級(jí),所有轉(zhuǎn)發(fā)設(shè)備設(shè)置成為主用設(shè)備時(shí)的優(yōu)先級(jí)相同,并高于設(shè)置成為備用設(shè)備時(shí)的優(yōu)先級(jí),步驟A中,所述各轉(zhuǎn)發(fā)設(shè)備向主機(jī)通告自身當(dāng)前的主備用狀態(tài)為各轉(zhuǎn)發(fā)設(shè)備根據(jù)自身當(dāng)前的主備用狀態(tài)分別向主機(jī)通告自身當(dāng)前的優(yōu)先級(jí);步驟B中,所述主機(jī)根據(jù)主備用狀態(tài)確定主用設(shè)備為對(duì)所有收到的優(yōu)先級(jí)進(jìn)行比較,確定優(yōu)先級(jí)最高的轉(zhuǎn)發(fā)設(shè)備為主用設(shè)備。
13.根據(jù)權(quán)利要求1、2、4、10或11所述的方法,其特征在于,該方法進(jìn)一步包括當(dāng)主機(jī)無(wú)法通過(guò)與當(dāng)前主用設(shè)備相連的端口與當(dāng)前主用設(shè)備連接上,主機(jī)發(fā)送告警信息。
全文摘要
本發(fā)明公開(kāi)了一種主機(jī)和轉(zhuǎn)發(fā)設(shè)備同步切換的方法,由兩臺(tái)或兩臺(tái)以上的轉(zhuǎn)發(fā)設(shè)備組成轉(zhuǎn)發(fā)設(shè)備組并產(chǎn)生主用設(shè)備和備用設(shè)備,轉(zhuǎn)發(fā)設(shè)備組中的各轉(zhuǎn)發(fā)設(shè)備分別與主機(jī)相連并通過(guò)主用設(shè)備向主機(jī)提供服務(wù),該方法還包括以下步驟A.轉(zhuǎn)發(fā)設(shè)備組中的各轉(zhuǎn)發(fā)設(shè)備分別向主機(jī)通告自身當(dāng)前的主備用狀態(tài);B.主機(jī)根據(jù)各轉(zhuǎn)發(fā)設(shè)備通告的主備用狀態(tài)確定轉(zhuǎn)發(fā)設(shè)備組中的主用設(shè)備,并將與主用設(shè)備相連的端口切換為主用端口,通過(guò)主用端口與主用設(shè)備重新建立連接。本發(fā)明通過(guò)主機(jī)和主用設(shè)備直接連接,減少了轉(zhuǎn)發(fā)報(bào)文的跳數(shù)、系統(tǒng)時(shí)延,以及盡可能小的占用轉(zhuǎn)發(fā)設(shè)備組內(nèi)轉(zhuǎn)發(fā)設(shè)備與轉(zhuǎn)發(fā)設(shè)備之間的帶寬,節(jié)約了系統(tǒng)資源,減少了轉(zhuǎn)發(fā)設(shè)備與轉(zhuǎn)發(fā)設(shè)備之間的互聯(lián)成本。
文檔編號(hào)H04L12/24GK1859423SQ20061005791
公開(kāi)日2006年11月8日 申請(qǐng)日期2006年2月27日 優(yōu)先權(quán)日2006年2月27日
發(fā)明者雷文陽(yáng), 畢建中, 彭海波 申請(qǐng)人:華為技術(shù)有限公司