本發(fā)明涉及網(wǎng)絡(luò),特別是一種多鏈路網(wǎng)絡(luò)冗余通信協(xié)議的通信方法和裝置。
背景技術(shù):
1、網(wǎng)絡(luò)通信可靠性和可用性涉及多個層次和方面,例如,當物理鏈路出現(xiàn)故障時,網(wǎng)絡(luò)數(shù)據(jù)通信的可靠性就會產(chǎn)生問題,出現(xiàn)丟包和延時切換等問題。
2、針對上述相關(guān)技術(shù)中物理鏈路出現(xiàn)故障時,網(wǎng)絡(luò)通信可靠性和可用性難以保證的技術(shù)問題,目前尚未提出有效的解決方案。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的在于克服上述技術(shù)不足,提供一種多鏈路網(wǎng)絡(luò)冗余通信協(xié)議的通信方法和裝置,以解決相關(guān)技術(shù)中物理鏈路出現(xiàn)故障時,網(wǎng)絡(luò)通信可靠性和可用性難以保證的技術(shù)問題。
2、為達到上述技術(shù)目的,本發(fā)明采取了以下技術(shù)方案:
3、根據(jù)本發(fā)明的一個方面,提供了一種多鏈路網(wǎng)絡(luò)冗余通信協(xié)議的通信方法,包括協(xié)議構(gòu)建步驟和基于該協(xié)議的通信步驟,其中,所述協(xié)議構(gòu)建步驟包括:
4、在網(wǎng)絡(luò)層和傳輸層之間增加冗余通信協(xié)議層,所述冗余通信協(xié)議層的協(xié)議格式包括:
5、特征碼,用于識別冗余通信協(xié)議;
6、版本號,用于定義協(xié)議版本;
7、協(xié)議頭長度,用于定義冗余通信協(xié)議層頭部的總長度;
8、鏈路編號,用于標識通信兩端的編號;
9、數(shù)據(jù)包編號,用于存放通信的數(shù)據(jù)包的編號;
10、數(shù)據(jù)包長度,用于存儲本協(xié)議層之上的數(shù)據(jù)區(qū)域長度;
11、消息類型,用于表示握手消息、數(shù)據(jù)消息或結(jié)束消息;
12、選項區(qū),用于擴充選項;
13、crc校驗和,用于校驗本協(xié)議頭的內(nèi)容區(qū)域;
14、所述通信步驟包括握手過程,所述握手過程包括動態(tài)協(xié)商,所述動態(tài)協(xié)商包括:
15、通信的發(fā)起方隨機生成一組數(shù)值,這些數(shù)值在冗余通信的發(fā)起方皆為可用的;
16、接收方收到所述數(shù)值后,對比已有正在使用的冗余通信編號列表,從該組數(shù)值中選擇一個自身未使用的編號,然后返回給發(fā)起方;
17、發(fā)起方接收到編號后,后續(xù)與接收方的冗余通信則采用該編號,然后發(fā)送一個數(shù)據(jù)包,該數(shù)據(jù)包為校驗包;
18、接收方接收到校驗包后,確認無誤后,同樣返回校驗包的內(nèi)容。
19、可選的,所述握手過程還包括靜態(tài)配置,所述靜態(tài)配置包括:
20、在發(fā)送和接收方選擇一個在雙方均沒有使用的編碼,配置到雙方的配置文件中,同時配置好雙方的ip地址對應(yīng)關(guān)系;
21、發(fā)送和接收方分別配置一個隨機值,用于驗證。
22、可選的,所述通信步驟還包括數(shù)據(jù)發(fā)送過程和數(shù)據(jù)接收過程,所述數(shù)據(jù)發(fā)送過程和數(shù)據(jù)接收過程具體包括:
23、在數(shù)據(jù)傳輸層的數(shù)據(jù)包打包完成后,在向下傳遞給網(wǎng)絡(luò)層之前,根據(jù)冗余通信協(xié)議填寫對應(yīng)的協(xié)議字段,構(gòu)造好冗余通信協(xié)議層頭部區(qū)域后,交給網(wǎng)絡(luò)層繼續(xù)處理,維護的數(shù)據(jù)包編號隨之增長;
24、在數(shù)據(jù)從網(wǎng)絡(luò)層向傳輸層提交數(shù)據(jù)時,當判斷為冗余協(xié)議時,先解析冗余協(xié)議頭部區(qū)域,提取對應(yīng)的數(shù)據(jù)包編號,確認是否已經(jīng)處理過,如果已經(jīng)處理過,則可以直接丟棄,如果沒有處理過,則將該頭部區(qū)域去除,將后續(xù)傳輸層數(shù)據(jù)提交傳輸層處理,并更新已處理數(shù)據(jù)包編號。
25、可選的,所述通信步驟還包括結(jié)束過程,所述結(jié)束過程包括:發(fā)送端發(fā)送帶冗余協(xié)議頭部的結(jié)束消息數(shù)據(jù)包,表明結(jié)束收發(fā)端的冗余通信。
26、根據(jù)本發(fā)明的另一個方面,提供了一種多鏈路網(wǎng)絡(luò)冗余通信協(xié)議的通信裝置,包括:
27、包括協(xié)議構(gòu)建單元和基于該協(xié)議的通信單元,其中,所述協(xié)議構(gòu)建單元用于:
28、在網(wǎng)絡(luò)層和傳輸層之間增加冗余通信協(xié)議層,所述冗余通信協(xié)議層的協(xié)議格式包括:
29、特征碼,用于識別冗余通信協(xié)議;
30、版本號,用于定義協(xié)議版本;
31、協(xié)議頭長度,用于定義冗余通信協(xié)議層頭部的總長度;
32、鏈路編號,用于標識通信兩端的編號;
33、數(shù)據(jù)包編號,用于存放通信的數(shù)據(jù)包的編號;
34、數(shù)據(jù)包長度,用于存儲本協(xié)議層之上的數(shù)據(jù)區(qū)域長度;
35、消息類型,用于表示握手消息、數(shù)據(jù)消息或結(jié)束消息;
36、選項區(qū),用于擴充選項;
37、crc校驗和,用于校驗本協(xié)議頭的內(nèi)容區(qū)域;
38、所述通信單元用于握手過程,所述握手過程包括動態(tài)協(xié)商,所述動態(tài)協(xié)商包括:
39、通信的發(fā)起方隨機生成一組數(shù)值,這些數(shù)值在冗余通信的發(fā)起方皆為可用的;
40、接收方收到所述數(shù)值后,對比已有正在使用的冗余通信編號列表,從該組數(shù)值中選擇一個自身未使用的編號,然后返回給發(fā)起方;
41、發(fā)起方接收到編號后,后續(xù)與接收方的冗余通信則采用該編號,然后發(fā)送一個數(shù)據(jù)包,該數(shù)據(jù)包為校驗包;
42、接收方接收到校驗包后,確認無誤后,同樣返回校驗包的內(nèi)容。
43、可選的,所述握手過程還包括靜態(tài)配置,所述靜態(tài)配置包括:
44、在發(fā)送和接收方選擇一個在雙方均沒有使用的編碼,配置到雙方的配置文件中,同時配置好雙方的ip地址對應(yīng)關(guān)系;
45、發(fā)送和接收方分別配置一個隨機值,用于驗證。
46、可選的,所述通信單元還用于數(shù)據(jù)發(fā)送過程和數(shù)據(jù)接收過程,所述數(shù)據(jù)發(fā)送過程和數(shù)據(jù)接收過程具體包括:
47、在數(shù)據(jù)傳輸層的數(shù)據(jù)包打包完成后,在向下傳遞給網(wǎng)絡(luò)層之前,根據(jù)冗余通信協(xié)議填寫對應(yīng)的協(xié)議字段,構(gòu)造好冗余通信協(xié)議層頭部區(qū)域后,交給網(wǎng)絡(luò)層繼續(xù)處理,維護的數(shù)據(jù)包編號隨之增長;
48、在數(shù)據(jù)從網(wǎng)絡(luò)層向傳輸層提交數(shù)據(jù)時,當判斷為冗余協(xié)議時,先解析冗余協(xié)議頭部區(qū)域,提取對應(yīng)的數(shù)據(jù)包編號,確認是否已經(jīng)處理過,如果已經(jīng)處理過,則可以直接丟棄,如果沒有處理過,則將該頭部區(qū)域去除,將后續(xù)傳輸層數(shù)據(jù)提交傳輸層處理,并更新已處理數(shù)據(jù)包編號。
49、可選的,所述通信單元還用于結(jié)束過程,所述結(jié)束過程包括:發(fā)送端發(fā)送帶冗余協(xié)議頭部的結(jié)束消息數(shù)據(jù)包,表明結(jié)束收發(fā)端的冗余通信。
50、根據(jù)本發(fā)明的另一個方面,還提供了一種電子設(shè)備,包括:處理器和存儲器;
51、所述存儲器上存儲有可被所述處理器執(zhí)行的計算機可讀程序;
52、所述處理器執(zhí)行所述計算機可讀程序時實現(xiàn)如上述的方法中的步驟。
53、根據(jù)本發(fā)明的另一個方面,還提供了一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)存儲有一個或者多個程序,所述一個或者多個程序可被一個或者多個處理器執(zhí)行,以實現(xiàn)上述的方法中的步驟。
54、本發(fā)明提供的一種多鏈路網(wǎng)絡(luò)冗余通信協(xié)議的通信方法和裝置,基于ip協(xié)議基礎(chǔ)上,介于ip和tcp/udp層之間增加一個冗余通信協(xié)議層,通過冗余通信協(xié)議層的協(xié)議設(shè)計和定義,來保證多鏈路環(huán)境下網(wǎng)絡(luò)數(shù)據(jù)通信的可靠性,當任何物理鏈路出現(xiàn)故障時,只要確保某一條鏈路是正常,均可以保證網(wǎng)絡(luò)通信的可用性,實現(xiàn)0丟包和0延時切換,可以解決相關(guān)技術(shù)中物理鏈路出現(xiàn)故障時,網(wǎng)絡(luò)通信可靠性和可用性難以保證的技術(shù)問題。