日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

實(shí)現(xiàn)SCTP協(xié)議熱備份的方法、系統(tǒng)及服務(wù)器主機(jī)與流程

文檔序號(hào):11138300閱讀:1557來(lái)源:國(guó)知局
實(shí)現(xiàn)SCTP協(xié)議熱備份的方法、系統(tǒng)及服務(wù)器主機(jī)與制造工藝

本發(fā)明涉及電信設(shè)備中SCTP協(xié)議應(yīng)用領(lǐng)域,特別涉及一種實(shí)現(xiàn)SCTP協(xié)議熱備份的方法、系統(tǒng)及服務(wù)器主機(jī)。



背景技術(shù):

通常SCTP(流控傳輸協(xié)議)的熱備份是通過(guò)活動(dòng)主機(jī)和備份主機(jī)之間同步TSN(傳輸序號(hào))的方法實(shí)現(xiàn),每收發(fā)一個(gè)數(shù)據(jù),活動(dòng)主機(jī)和備份主機(jī)之間都需要進(jìn)行同步,實(shí)現(xiàn)起來(lái)相當(dāng)復(fù)雜。

可見,現(xiàn)有技術(shù)還有待改進(jìn)和提高。



技術(shù)實(shí)現(xiàn)要素:

鑒于上述現(xiàn)有技術(shù)的不足之處,本發(fā)明的目的在于提供一種實(shí)現(xiàn)SCTP協(xié)議熱備份的方法、系統(tǒng)及服務(wù)器主機(jī),兩個(gè)主機(jī)之間無(wú)需頻繁同步偶聯(lián)數(shù)據(jù)即可實(shí)現(xiàn)熱備份。

為了達(dá)到上述目的,本發(fā)明采取了以下技術(shù)方案:

一種實(shí)現(xiàn)SCTP協(xié)議熱備份的方法,包括第一主機(jī)和第二主機(jī),所述方法包括如下步驟:

A、第一主機(jī)與客戶端SCTP偶聯(lián),并將偶聯(lián)的COOKIE備份至第二主機(jī);

B、在第一主機(jī)無(wú)法正常工作時(shí),所述第二主機(jī)激活偶聯(lián);所述第二主機(jī)的內(nèi)核根據(jù)當(dāng)前時(shí)間設(shè)置COOKIE的時(shí)間戳,并利用密鑰計(jì)算簽名,生成對(duì)應(yīng)偶聯(lián)的TCB,使服務(wù)器端SCTP偶聯(lián)完成恢復(fù);

C、第二主機(jī)的內(nèi)核生成重啟COOKIE_ECHO,并發(fā)送至客戶端。

所述的實(shí)現(xiàn)SCTP協(xié)議熱備份的方法中,所述步驟C之后,還包括步驟:

D、客戶端根據(jù)接收到的所述COOKIE_ECHO,將沖突控制參數(shù)恢復(fù)至初始值;

E、第二主機(jī)進(jìn)入工作狀態(tài)后,將內(nèi)核中的SCTP偶聯(lián)備份以及簽名密鑰發(fā)送給第一主機(jī)。

所述的實(shí)現(xiàn)SCTP協(xié)議熱備份的方法中,所述步驟A具體包括如下步驟:

A1、第一主機(jī)作為活動(dòng)主機(jī)取得SCTP協(xié)議棧當(dāng)前使用的簽名密鑰,并將所述簽名密鑰發(fā)送給作為備份主機(jī)的第二主機(jī);

A2、第二主機(jī)設(shè)置SCTP協(xié)議棧簽名密鑰;

A3、所述第一主機(jī)打開接收端口,在接收到客戶端發(fā)出的INIT后,第一主機(jī)的內(nèi)核發(fā)送INIT_ACK給客戶端;

A4、所述第一主機(jī)接收到客戶端發(fā)出的COOKIE_ECHO后,回復(fù)COOKIE_ACK給客戶端,SCTP偶聯(lián)建立成功;

A5、所述第一主機(jī)獲取該偶聯(lián)的COOKIE,并將所述COOKIE備份至第二主機(jī)。

所述的實(shí)現(xiàn)SCTP協(xié)議熱備份的方法中,所述第一主機(jī)設(shè)置有第一內(nèi)部IP和用于客戶端訪問(wèn)的外部IP;所述第二主機(jī)設(shè)置有第二內(nèi)部IP和與第一主機(jī)相同的外部IP;所述第一內(nèi)部IP和第二內(nèi)部IP用于第一主機(jī)與第二主機(jī)之間的數(shù)據(jù)備份。

一種實(shí)現(xiàn)SCTP協(xié)議熱備份的系統(tǒng),所述系統(tǒng)包括:

第一主機(jī),用于與客戶端SCTP偶聯(lián),并將偶聯(lián)的COOKIE備份至第二主機(jī);

第二主機(jī),用于接收第一主機(jī)發(fā)送的COOKIE;在第一主機(jī)無(wú)法正常工作時(shí),激活偶聯(lián);根據(jù)當(dāng)前時(shí)間設(shè)置COOKIE的時(shí)間戳,并利用密鑰計(jì)算簽名,生成對(duì)應(yīng)偶聯(lián)的TCB,使服務(wù)器端SCTP偶聯(lián)完成恢復(fù),生成重啟COOKIE_ECHO,并發(fā)送至客戶端。

所述的用于實(shí)現(xiàn)SCTP協(xié)議熱備份的系統(tǒng)中,所述系統(tǒng)還包括:

客戶端,用于根據(jù)接收到的所述COOKIE_ECHO,將沖突控制參數(shù)恢復(fù)至初始值。

所述的實(shí)現(xiàn)SCTP協(xié)議熱備份的系統(tǒng)中,所述第二主機(jī)還用于在進(jìn)入工作狀態(tài)后,將內(nèi)核中的SCTP偶聯(lián)備份以及簽名密鑰發(fā)送給第一主機(jī)。

所述的實(shí)現(xiàn)SCTP協(xié)議熱備份的系統(tǒng)中,所述第一主機(jī)具體用于:作為活動(dòng)主機(jī)取得SCTP協(xié)議棧當(dāng)前使用的簽名密鑰,并將所述簽名密鑰發(fā)送給作為備份主機(jī)的第二主機(jī);打開接收端口,在接收到客戶端發(fā)出的INIT后,第一主機(jī)的內(nèi)核發(fā)送INIT_ACK給客戶端;在接收到客戶端發(fā)出的COOKIE_ECHO后,回復(fù)COOKIE_ACK給客戶端,SCTP偶聯(lián)建立成功;獲取該偶聯(lián)的COOKIE,并將所述COOKIE備份至第二主機(jī)。

所述的實(shí)現(xiàn)SCTP協(xié)議熱備份的系統(tǒng)中,所述第一主機(jī)設(shè)置有第一內(nèi)部IP和用于客戶端訪問(wèn)的外部IP;所述第二主機(jī)設(shè)置有第二內(nèi)部IP和與第一主機(jī)相同的外部IP;所述第一內(nèi)部IP和第二內(nèi)部IP用于第一主機(jī)與第二主機(jī)之間的數(shù)據(jù)備份。

一種服務(wù)器主機(jī),包括:

應(yīng)用模塊,用于在所述服務(wù)器主機(jī)作為活動(dòng)主機(jī)時(shí),在服務(wù)器主機(jī)與客戶端SCTP偶聯(lián)后,將偶聯(lián)的COOKIE備份至備份主機(jī);在所述服務(wù)器主機(jī)作為備份主機(jī)時(shí),接收活動(dòng)主機(jī)發(fā)出的COOKIE;

內(nèi)核模塊,用于在所述服務(wù)器主機(jī)作為備份主機(jī)時(shí),根據(jù)所述COOKIE設(shè)置SCTP協(xié)議棧簽名密鑰;在活動(dòng)主機(jī)無(wú)法正常工作后激活偶聯(lián),根據(jù)當(dāng)前時(shí)間設(shè)置COOKIE的時(shí)間戳,并利用密鑰計(jì)算簽名,生成對(duì)應(yīng)偶聯(lián)的TCB,使服務(wù)器端SCTP偶聯(lián)完成恢復(fù),并生成重啟COOKIE_ECHO,將所述COOKIE_ECHO發(fā)送至客戶端;在所述客戶端的沖突控制參數(shù)恢復(fù)至初始值后,完成與客戶端的SCTP偶聯(lián)。

有益效果:

本發(fā)明提供的一種實(shí)現(xiàn)SCTP協(xié)議熱備份的方法、系統(tǒng)及服務(wù)器主機(jī),所述方法包括:第一主機(jī)與客戶端SCTP偶聯(lián),并將偶聯(lián)的COOKIE備份至第二主機(jī);在第一主機(jī)無(wú)法正常工作時(shí),所述第二主機(jī)激活偶聯(lián);所述第二主機(jī)的內(nèi)核根據(jù)當(dāng)前時(shí)間設(shè)置COOKIE的時(shí)間戳,并利用密鑰計(jì)算簽名,生成對(duì)應(yīng)偶聯(lián)的TCB,使服務(wù)器端SCTP偶聯(lián)完成恢復(fù);第二主機(jī)的內(nèi)核生成重啟COOKIE_ECHO,并發(fā)送至客戶端。由此可知,本發(fā)明利用SCTP建立的特點(diǎn)實(shí)現(xiàn)SCTP的備份;利用SCTP重啟的過(guò)程實(shí)現(xiàn)SCTP的主備倒換,兩個(gè)主機(jī)之間無(wú)需頻繁同步偶聯(lián)數(shù)據(jù)即可實(shí)現(xiàn)熱備份,過(guò)程簡(jiǎn)單易實(shí)現(xiàn)。

附圖說(shuō)明

圖1為本發(fā)明提供的實(shí)現(xiàn)SCTP協(xié)議熱備份的方法流程圖。

圖2為本發(fā)明提供的實(shí)現(xiàn)SCTP協(xié)議熱備份的方法中,活動(dòng)主機(jī)與備份主機(jī)進(jìn)行轉(zhuǎn)換的示意圖。

圖3為本發(fā)明提供的實(shí)現(xiàn)SCTP協(xié)議熱備份的方法中,步驟S10的具體方法流程圖。

圖4為本發(fā)明提供的實(shí)現(xiàn)SCTP協(xié)議熱備份的方法的流程示意圖。

圖5為本發(fā)明提供的實(shí)現(xiàn)SCTP協(xié)議熱備份的系統(tǒng)的結(jié)構(gòu)框圖。

具體實(shí)施方式

本發(fā)明提供一種實(shí)現(xiàn)SCTP協(xié)議熱備份的方法、系統(tǒng)及服務(wù)器主機(jī),為使本發(fā)明的目的、技術(shù)方案及效果更加清楚、明確,以下參照附圖并舉實(shí)施例對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

請(qǐng)參閱圖1和圖2,本發(fā)明提供一種實(shí)現(xiàn)SCTP協(xié)議熱備份的方法,尤其適用于實(shí)現(xiàn)Linux內(nèi)核SCTP 1+1熱備份。所述方法包括第一主機(jī)10和第二主機(jī)20,兩個(gè)主機(jī)之間可相互通信。具體的,所述第一主機(jī)10設(shè)置有第一內(nèi)部IP和用于客戶端訪問(wèn)的外部IP;所述第二主機(jī)20設(shè)置有第二內(nèi)部IP和與第一主機(jī)相同的外部IP;所述第一內(nèi)部IP和第二內(nèi)部IP用于第一主機(jī)10與第二主機(jī)20之間的數(shù)據(jù)備份以及管理。如圖2所示,本發(fā)明的1+1熱備份的模型中,當(dāng)發(fā)生主備倒換時(shí)(比如活動(dòng)主機(jī)崩潰,重啟,應(yīng)用進(jìn)程崩潰等等),備份主機(jī)激活外部IP(此IP與原活動(dòng)主機(jī)外部IP相同)成為活動(dòng)主機(jī);原活動(dòng)主機(jī)去激活外部IP成為備份主機(jī),完成主備倒換后,客戶端與服務(wù)器之間的連接不受倒換的影響。

具體的,所述實(shí)現(xiàn)SCTP協(xié)議熱備份的方法包括如下步驟:

S10、第一主機(jī)與客戶端SCTP偶聯(lián),并將偶聯(lián)的COOKIE備份至第二主機(jī)。所述COOKIE即緩存,或者信息緩存,為攜帶了偶聯(lián)信息的一段數(shù)據(jù),這段數(shù)據(jù)可以讓第二主機(jī)克隆該偶聯(lián)。

S20、在第一主機(jī)無(wú)法正常工作時(shí),所述第二主機(jī)激活偶聯(lián);所述第二主機(jī)的內(nèi)核根據(jù)當(dāng)前時(shí)間設(shè)置COOKIE的時(shí)間戳,并利用密鑰計(jì)算簽名,生成對(duì)應(yīng)偶聯(lián)的TCB(傳輸控制模塊,主要包含一個(gè)偶聯(lián)的狀態(tài)以及描述發(fā)送窗口,接收窗口的參數(shù)等等),使服務(wù)器端SCTP偶聯(lián)完成恢復(fù)。所述密鑰保存在服務(wù)器(第一主機(jī)、第二主機(jī))內(nèi),用于計(jì)算和驗(yàn)證簽名。所述簽名是為了防止客戶端偽造COOKIE對(duì)服務(wù)器進(jìn)行攻擊。所述時(shí)間戳的作用是為了防止客戶端使用重復(fù)的COOKIE對(duì)服務(wù)器進(jìn)行攻擊。通過(guò)這些設(shè)置,有效的防止服務(wù)器受到類似于TCP協(xié)議的SYNC攻擊,提高安全性。

通常,Linux應(yīng)用軟件運(yùn)行在用戶空間,簡(jiǎn)稱應(yīng)用;而Linux內(nèi)核運(yùn)行在內(nèi)核空間,簡(jiǎn)稱內(nèi)核;應(yīng)用通過(guò)調(diào)用內(nèi)核提供的API(應(yīng)用程序編程接口)使用內(nèi)核提供的功能。本發(fā)明主要用到Linux 內(nèi)核的系統(tǒng)API getsockopt()以及setsockopt();這兩個(gè)API是應(yīng)用與內(nèi)核交互套接字(sock)選項(xiàng)的系統(tǒng)調(diào)用,其中g(shù)etsockopt()用于應(yīng)用從內(nèi)核獲得套接字的當(dāng)前選項(xiàng);而setsockopt()用于應(yīng)用設(shè)置套接字選項(xiàng)至內(nèi)核。具體的,所述Linux內(nèi)核SCTP協(xié)議??蓪?shí)現(xiàn)API setsockopt()/getsockopt()函數(shù)關(guān)于SCTP_SECRET_KEY,SCTP_COOKIE,SCTP_COOKIE_ACTIVITE的相關(guān)操作。

所述步驟S20具體包括:

作為活動(dòng)主機(jī)的第一主機(jī)無(wú)法正常工作(由于某種原因,如主機(jī)掉電,應(yīng)用程序崩潰,操作系統(tǒng)崩潰等),主備倒換發(fā)生,作為備份主機(jī)的第二主機(jī)激活外部IP,成為活動(dòng)主機(jī),并通過(guò)setsockopt(SCTP_COOKIE_ACTIVITE)激活偶聯(lián);第二主機(jī)內(nèi)核根據(jù)當(dāng)前時(shí)間設(shè)置COOKIE的時(shí)間戳,并利用密鑰計(jì)算簽名,然后按照收到COOKIE_ECHO的處理流程,生成對(duì)應(yīng)偶聯(lián)的TCB,服務(wù)器端SCTP偶聯(lián)完成恢復(fù)。

S30、第二主機(jī)的內(nèi)核生成重啟COOKIE_ECHO(緩存回聲),并發(fā)送至客戶端。

由此可知,兩個(gè)主機(jī)之間無(wú)需頻繁同步偶聯(lián)數(shù)據(jù)即可實(shí)現(xiàn)熱備份。

進(jìn)一步的,所述步驟S30之后,還包括步驟:

S40、客戶端根據(jù)接收到的所述COOKIE_ECHO,將沖突控制參數(shù)(接收窗,發(fā)送窗,慢速啟動(dòng)門限等)恢復(fù)至初始值。具體的,客戶端根據(jù)COOKIE_ECHO特征,判斷對(duì)端已重啟,將沖突控制相關(guān)參數(shù)恢復(fù)至初始值,至此,該偶聯(lián)的熱備份倒換完成。換而言之,客戶端只需執(zhí)行一個(gè)重啟操作即可與新的活動(dòng)主機(jī)匹配,數(shù)據(jù)繼續(xù)傳輸,非常方便。根據(jù)RFC 2960 5.2.4,當(dāng)TCB(相當(dāng)于偶聯(lián))已經(jīng)存在時(shí),收到對(duì)端的COOKIE_ECHO,如果該COOKIE中攜帶的本地關(guān)系標(biāo)簽(Local-Tie-Tag)以及對(duì)端關(guān)系標(biāo)簽(Peer-Tie-Tag)與該TCB保存的參數(shù)匹配時(shí)(以下稱為重啟COOKIE_ECHO),應(yīng)該采取動(dòng)作a;動(dòng)作a將所有沖突控制參數(shù)恢復(fù)到初始值,實(shí)際上相當(dāng)于傳輸協(xié)議本端也執(zhí)行了一個(gè)重啟操作,達(dá)到和對(duì)端匹配的目的,應(yīng)用層感知不到傳輸層的變化,數(shù)據(jù)繼續(xù)傳輸。由此可知,本發(fā)明利用SCTP建立的特點(diǎn)實(shí)現(xiàn)SCTP的備份;利用SCTP重啟的過(guò)程實(shí)現(xiàn)SCTP的主備倒換,無(wú)需頻繁同步偶聯(lián)數(shù)據(jù)即可實(shí)現(xiàn)熱備份。

S50、第二主機(jī)進(jìn)入工作狀態(tài)后,將內(nèi)核中的SCTP偶聯(lián)備份以及簽名密鑰發(fā)送給第一主機(jī)。即,原備份主機(jī)(第二主機(jī))進(jìn)入工作狀態(tài)后變?yōu)榛顒?dòng)主機(jī),將內(nèi)核中的SCTP偶聯(lián)備份以及簽名密鑰發(fā)送至原活動(dòng)主機(jī)(第一主機(jī)),原活動(dòng)主機(jī)變?yōu)閭浞葜鳈C(jī),以備倒換的再次發(fā)生。也就是說(shuō)所述步驟S50就是步驟S10,只是兩個(gè)主機(jī)的主備關(guān)系顛倒了。換而言之,接下來(lái)還包括如下步驟:

S60、在第二主機(jī)無(wú)法正常工作時(shí),所述第一主機(jī)激活偶聯(lián);所述第一主機(jī)的內(nèi)核根據(jù)當(dāng)前時(shí)間設(shè)置COOKIE的時(shí)間戳,并利用密鑰計(jì)算簽名,生成對(duì)應(yīng)偶聯(lián)的TCB,使服務(wù)器端SCTP偶聯(lián)完成恢復(fù)。

S70、第一主機(jī)的內(nèi)核生成重啟COOKIE_ECHO,并發(fā)送至客戶端。

S80、客戶端根據(jù)接收到的所述COOKIE_ECHO,將沖突控制參數(shù)恢復(fù)至初始值。之后,即返回步驟S10,依此循環(huán)往復(fù)。

請(qǐng)參閱圖3和圖4,所述步驟S10涉及SCTP的建立機(jī)制,SCTP的建立采用4次握手的機(jī)制,服務(wù)器(活動(dòng)主機(jī))在發(fā)送INIT-ACK(內(nèi)含這個(gè)連接所有信息以及服務(wù)器校驗(yàn)信息的COOKIE)以后,將刪除一切關(guān)于這個(gè)偶聯(lián)的資源,在收到COOKIE-ECHO(攜帶服務(wù)器發(fā)送的COOKIE)時(shí),再對(duì)COOKIE進(jìn)行簽名校驗(yàn)并根據(jù)COOKIE的內(nèi)容恢復(fù)偶聯(lián)的資源,從而完成連接的建立。所述INIT-ACK為初始化確認(rèn),作用是,觸發(fā)客戶端狀態(tài)機(jī)的轉(zhuǎn)換,以及攜帶包含了偶聯(lián)信息的COOKIE至客戶端。 為了防止類似于TCP協(xié)議的SYNC攻擊(指TCP客戶端發(fā)送海量的SYNC至TCP服務(wù)器,導(dǎo)致服務(wù)器資源如內(nèi)存耗盡,從而無(wú)法提供服務(wù)),服務(wù)器發(fā)送該消息后,會(huì)刪除關(guān)于該偶聯(lián)的資源,當(dāng)收到COOKIE_ECHO后,會(huì)根據(jù)COOKIE內(nèi)容恢復(fù)出偶聯(lián)。

所述步驟S10具體包括如下步驟:

S110、第一主機(jī)作為活動(dòng)主機(jī)取得SCTP協(xié)議棧當(dāng)前使用的簽名密鑰,并將所述簽名密鑰發(fā)送給作為備份主機(jī)的第二主機(jī)。具體的,當(dāng)活動(dòng)主機(jī)和備份主機(jī)完成基本配置后,活動(dòng)主機(jī)通過(guò)getsockopt(SCTP_SECRET_KEY)取得SCTP協(xié)議棧當(dāng)前使用的簽名密鑰;活動(dòng)主機(jī)通過(guò)內(nèi)部IP將簽名密鑰發(fā)送至備份主機(jī)。

S120、第二主機(jī)設(shè)置SCTP協(xié)議棧簽名密鑰。具體的,備份主機(jī)通過(guò)setsockopt(SCTP_SECRET_KEY)設(shè)置SCTP協(xié)議棧簽名密鑰。

S130、所述第一主機(jī)打開接收端口,在活動(dòng)主機(jī)打開接收端口后,客戶端通過(guò)發(fā)送INIT建立SCTP偶聯(lián)。所述第一主機(jī)在接收到客戶端發(fā)出的INIT后,第一主機(jī)的內(nèi)核發(fā)送INIT_ACK給客戶端。客戶端接收到所述INIT_ACK后,將INIT_ACK中包含的COOKIE通過(guò)COOKIE_ECHO發(fā)送至活動(dòng)主機(jī)。

S140、所述第一主機(jī)接收到客戶端發(fā)出的COOKIE_ECHO后,回復(fù)COOKIE_ACK(緩存確認(rèn)或者信息緩存確認(rèn),作用是觸發(fā)客戶端狀態(tài)機(jī)轉(zhuǎn)換,偶聯(lián)進(jìn)入已建立狀態(tài))給客戶端,SCTP偶聯(lián)建立成功。具體的,活動(dòng)主機(jī)的內(nèi)核用COMMUNICATION_UP通知應(yīng)用,SCTP建立成功;COMMUNICATION_UP是內(nèi)核中SCTP協(xié)議通知應(yīng)用該偶聯(lián)已經(jīng)進(jìn)入連接狀態(tài)的通信原語(yǔ)。

S150、所述第一主機(jī)獲取該偶聯(lián)的COOKIE,并將所述COOKIE備份至第二主機(jī)。換而言之,活動(dòng)主機(jī)的應(yīng)用調(diào)用getsockopt(SCTP_COOKIE)獲得該偶聯(lián)的COOKIE,并將COOKIE備份至備份主機(jī)。備份主機(jī)應(yīng)用通過(guò)setsockopt(SCTP_COOKIE)將該COOKIE保存至內(nèi)核。

綜上所述,本發(fā)明提供的實(shí)現(xiàn)SCTP協(xié)議熱備份的方法,主備之間通過(guò)COOKIE進(jìn)行SCTP備份,客戶端和服務(wù)器之間通過(guò)重新啟動(dòng)獲得傳輸同步而實(shí)現(xiàn)1+1熱備份倒換。采用這種熱備份技術(shù),活動(dòng)主機(jī)和備份之間無(wú)需頻繁同步偶聯(lián)數(shù)據(jù)。

基于上述實(shí)施例提供的實(shí)現(xiàn)SCTP協(xié)議熱備份的方法,本發(fā)明還提供一種實(shí)現(xiàn)SCTP協(xié)議熱備份的系統(tǒng),請(qǐng)參閱圖5,所述系統(tǒng)包括第一主機(jī)10、第二主機(jī)20和客戶端30。所述第一主機(jī)10設(shè)置有第一內(nèi)部IP和用于客戶端訪問(wèn)的外部IP;所述第二主機(jī)20設(shè)置有第二內(nèi)部IP和與第一主機(jī)10相同的外部IP;所述第一內(nèi)部IP和第二內(nèi)部IP用于第一主機(jī)10與第二主機(jī)20之間的數(shù)據(jù)備份。

所述第一主機(jī)10,用于與客戶端30SCTP偶聯(lián),并將偶聯(lián)的COOKIE備份至第二主機(jī)20。所述第一主機(jī)具體用于:作為活動(dòng)主機(jī)取得SCTP協(xié)議棧當(dāng)前使用的簽名密鑰,并將所述簽名密鑰發(fā)送給作為備份主機(jī)的第二主機(jī);打開接收端口,在接收到客戶端發(fā)出的INIT后,第一主機(jī)的內(nèi)核發(fā)送INIT_ACK給客戶端;在接收到客戶端發(fā)出的COOKIE_ECHO后,回復(fù)COOKIE_ACK給客戶端,SCTP偶聯(lián)建立成功;獲取該偶聯(lián)的COOKIE,并將所述COOKIE備份至第二主機(jī)。

所述第二主機(jī)20,用于接收第一主機(jī)10發(fā)送的COOKIE;在第一主機(jī)10無(wú)法正常工作時(shí),激活偶聯(lián);根據(jù)當(dāng)前時(shí)間設(shè)置COOKIE的時(shí)間戳,并利用密鑰計(jì)算簽名,生成對(duì)應(yīng)偶聯(lián)的TCB,使服務(wù)器端SCTP偶聯(lián)完成恢復(fù),生成重啟COOKIE_ECHO,并發(fā)送至客戶端30;在進(jìn)入工作狀態(tài)后,將內(nèi)核中的SCTP偶聯(lián)備份以及簽名密鑰發(fā)送給第一主機(jī)10。

所述客戶端30,用于根據(jù)接收到的所述COOKIE_ECHO,將沖突控制參數(shù)恢復(fù)至初始值。

具體的,所述第一主機(jī)10和第二主機(jī)20均為服務(wù)器主機(jī),其均包括應(yīng)用模塊110和內(nèi)核模塊120。

所述應(yīng)用模塊110,用于在所述服務(wù)器主機(jī)作為活動(dòng)主機(jī)時(shí),在服務(wù)器主機(jī)與客戶端SCTP偶聯(lián)后,獲取所述偶聯(lián)的COOKIE,并將偶聯(lián)的COOKIE備份至備份主機(jī);在所述服務(wù)器主機(jī)作為備份主機(jī)時(shí),接收活動(dòng)主機(jī)發(fā)出的COOKIE,將所述COOKIE保存至內(nèi)核模塊。

所述內(nèi)核模塊120,用于在所述服務(wù)器主機(jī)作為備份主機(jī)時(shí),根據(jù)所述COOKIE設(shè)置SCTP協(xié)議棧簽名密鑰;在活動(dòng)主機(jī)無(wú)法正常工作后激活偶聯(lián),根據(jù)當(dāng)前時(shí)間設(shè)置COOKIE的時(shí)間戳,并利用密鑰計(jì)算簽名,生成對(duì)應(yīng)偶聯(lián)的TCB,使服務(wù)器端SCTP偶聯(lián)完成恢復(fù),并生成重啟COOKIE_ECHO,將所述COOKIE_ECHO發(fā)送至客戶端;在所述客戶端的沖突控制參數(shù)恢復(fù)至初始值后,完成與客戶端的SCTP偶聯(lián),所述服務(wù)器主機(jī)轉(zhuǎn)變?yōu)榛顒?dòng)主機(jī);在所述服務(wù)器主機(jī)作為活動(dòng)主機(jī)時(shí),當(dāng)活動(dòng)主機(jī)和備份主機(jī)完成基本配置后,通過(guò)getsockopt(SCTP_SECRET_KEY)取得SCTP協(xié)議棧當(dāng)前使用的簽名密鑰;打開接收端口,在接收到客戶端發(fā)出的INIT后,第一主機(jī)的內(nèi)核發(fā)送INIT_ACK給客戶端;接收到客戶端發(fā)出的COOKIE_ECHO后,回復(fù)COOKIE_ACK給客戶端。

由此可知,本發(fā)明提供的SCTP協(xié)議熱備份的系統(tǒng),只有在一個(gè)服務(wù)器主機(jī)無(wú)法正常工作時(shí)才進(jìn)行主備轉(zhuǎn)換,無(wú)需頻繁同步偶聯(lián)數(shù)據(jù)即可實(shí)現(xiàn)熱備份。由于所述系統(tǒng)的特點(diǎn)以及原理與方法實(shí)施例對(duì)應(yīng),故在此不再贅述。

可以理解的是,對(duì)本領(lǐng)域普通技術(shù)人員來(lái)說(shuō),可以根據(jù)本發(fā)明的技術(shù)方案及其發(fā)明構(gòu)思加以等同替換或改變,而所有這些改變或替換都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1