專利名稱:一種實(shí)現(xiàn)校驗(yàn)和算法自適應(yīng)選擇的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信系統(tǒng)中的流控制傳輸協(xié)議(SCTP),尤其涉及一種實(shí)現(xiàn) SCTP中校驗(yàn)和算法自適應(yīng)選擇的方法及裝置。
背景纟支術(shù)
SCTP是信令傳輸協(xié)議(SIGTRAN)協(xié)議簇中的組成部分,屬于傳輸層協(xié) 議,主要用于在IP網(wǎng)絡(luò)上可靠地傳送公共交換電話網(wǎng)絡(luò)(PSTN)的信令消息。 SCTP是一個(gè)面向連接的協(xié)議,SCTP提供了在兩個(gè)SCTP端點(diǎn)之間的一組IP 地址間建立偶聯(lián)的方法,通過這些已建立的偶聯(lián),SCTP端點(diǎn)可以發(fā)送SCTP 分組。這里,所述SCTP端點(diǎn)是SCTP分組邏輯的接收方或發(fā)送方;偶聯(lián)是兩 個(gè)SCTP端點(diǎn)間的一個(gè)對(duì)應(yīng)關(guān)系,每個(gè)SCTP端點(diǎn)可對(duì)應(yīng)一組IP地址,相應(yīng)的, 偶聯(lián)即是兩組IP地址之間的對(duì)應(yīng)關(guān)系。這里,所述偶聯(lián)的建立過程如圖1所示, 采用"四次握手"機(jī)制實(shí)現(xiàn)。為了保證SCTP分組的有效性,每個(gè)SCTP分組頭 中都包含一個(gè)必備的驗(yàn)證標(biāo)簽字段和一個(gè)校驗(yàn)和字段,其中,所述校驗(yàn)和由 SCTP分組的發(fā)送方設(shè)置,接收方對(duì)包含無效校驗(yàn)和的SCTP分組予以丟棄。目 前,傳統(tǒng)版本的校驗(yàn)和算法為Adler-32,為了進(jìn)一步提高校驗(yàn)和算法的可靠性, 又提出了新版本的校驗(yàn)和算法,為CRC-32。
現(xiàn)有技術(shù)中,采用新版本校驗(yàn)和算法CRC-32的SCTP端點(diǎn)只能與采用校 驗(yàn)和算法CRC-32的SCTP端點(diǎn)建立偶聯(lián),而無法與采用校驗(yàn)和算法Adler-32 的SCTP端點(diǎn)建立偶聯(lián),即與采用老版本校驗(yàn)和算法的SCTP端點(diǎn)不兼容, 進(jìn)而,無法與現(xiàn)有網(wǎng)絡(luò)中的設(shè)備兼容,影響了新版本校驗(yàn)和算法的廣泛使用。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種實(shí)現(xiàn)校驗(yàn)和算法自適應(yīng)選擇的方法及裝置,使得采用不同校驗(yàn)和算法的SCTP端點(diǎn)之間可建立偶聯(lián)。 為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的 本發(fā)明提供了一種實(shí)現(xiàn)校驗(yàn)和算法自適應(yīng)選擇的方法,該方法包括 本端點(diǎn)選用第一校^r和算法計(jì)算收到的來自對(duì)方端點(diǎn)的消息的才L瞼和,確
定計(jì)算所得的校一瞼和與收到的消息中攜帶的校^^和不相等時(shí),選用第二核z驗(yàn)和
算法并嘗試與對(duì)方端點(diǎn)重新建立偶聯(lián)。
其中,所述計(jì)算來自對(duì)方端點(diǎn)的消息的校驗(yàn)和之前,還包括判斷是否收 到來自對(duì)方端點(diǎn)的消息,收到來自對(duì)方端點(diǎn)的消息時(shí),選用第一校l^和算法計(jì) 算來自對(duì)方端點(diǎn)的消息的校j瞼和;未收到來自對(duì)方端點(diǎn)的消息時(shí),選用第二校 驗(yàn)和算法并嘗試與對(duì)方端點(diǎn)重新建立偶聯(lián)。
其中,所述本端點(diǎn)主動(dòng)與對(duì)方端點(diǎn)建立偶聯(lián)時(shí),該方法具體為 向?qū)Ψ蕉它c(diǎn)發(fā)送啟動(dòng)消息;
判斷是否收到來自對(duì)方端點(diǎn)的啟動(dòng)證實(shí)消息,如果沒有收到來自對(duì)方端點(diǎn) 的啟動(dòng)證實(shí)消息,則選用第二校驗(yàn)和算法并重新開始與對(duì)方端點(diǎn)建立偶聯(lián);如 果收到來自對(duì)方端點(diǎn)的啟動(dòng)證實(shí)消息,則選用第 一校驗(yàn)和算法計(jì)算啟動(dòng)證實(shí)消 息的校驗(yàn)和,如果計(jì)算所得的校驗(yàn)和與收到的啟動(dòng)證實(shí)消息中攜帶的校驗(yàn)和相 等,則向?qū)Ψ蕉它c(diǎn)發(fā)送狀態(tài)應(yīng)答消息;如果計(jì)算所得的校驗(yàn)和與收到的啟動(dòng)證 實(shí)消息中攜帶的校驗(yàn)和不相等,則選用第二4交-驗(yàn)和算法并重新開始與對(duì)方端點(diǎn) 建立偶聯(lián);
向?qū)Ψ蕉它c(diǎn)發(fā)送狀態(tài)應(yīng)答消息后,判斷是否收到來自對(duì)方端點(diǎn)的狀態(tài)證實(shí) 消息,如果沒有收到來自對(duì)方端點(diǎn)的狀態(tài)證實(shí)消息,則選用第二校驗(yàn)和算法并 重新開始與對(duì)方端點(diǎn)建立偶聯(lián);如果收到來自對(duì)方端點(diǎn)的狀態(tài)證實(shí)消息,則選 用第一校驗(yàn)和算法計(jì)算狀態(tài)_〖正實(shí)消息的校驗(yàn)和,如果計(jì)算所得的校驗(yàn)和與收到 的狀態(tài)證實(shí)消息中攜帶的校驗(yàn)和相等,則結(jié)束當(dāng)前偶聯(lián)建立過程;如果計(jì)算所 得的校驗(yàn)和與收到的狀態(tài)證實(shí)消息中攜帶的校驗(yàn)和不相等,則選用第二校驗(yàn)和 算法并重新開始與對(duì)方端點(diǎn)建立偶聯(lián)。
其中,所述本端點(diǎn)被動(dòng)與對(duì)方端點(diǎn)建立偶聯(lián)時(shí),該方法具體為選用第一校驗(yàn)和算法計(jì)算接收到的啟動(dòng)消息,如果計(jì)算所得的校驗(yàn)和與收
到的啟動(dòng)消息中攜帶的校驗(yàn)和相等,則向?qū)Ψ蕉它c(diǎn)發(fā)送啟動(dòng)證實(shí)消息;如果計(jì) 算所得的校驗(yàn)和與收到的啟動(dòng)消息中攜帶的校驗(yàn)和不相等,則選用第二核z驗(yàn)和 算法并重新開始與對(duì)方端點(diǎn)建立偶聯(lián);
向?qū)Ψ蕉它c(diǎn)發(fā)送啟動(dòng)證實(shí)消息后,判斷是否收到來自對(duì)方端點(diǎn)的狀態(tài)應(yīng)答 消息,如果沒有收到來自對(duì)方端點(diǎn)的狀態(tài)應(yīng)答消息,則選用第二校驗(yàn)和算法并 重新開始與對(duì)方端點(diǎn)建立偶聯(lián);如果收到來自對(duì)方端點(diǎn)的狀態(tài)應(yīng)答消息,則選 用第一4吏驗(yàn)和算法計(jì)算接收到的狀態(tài)應(yīng)答消息,如果計(jì)算所得的才交-瞼和與收到 的狀態(tài)應(yīng)答消息中攜帶的校驗(yàn)和相等,則向?qū)Ψ蕉它c(diǎn)發(fā)送狀態(tài)證實(shí)消息,結(jié)束 當(dāng)前偶聯(lián)建立過程;如果計(jì)算所得的校驗(yàn)和與收到的狀態(tài)應(yīng)答消息中攜帶的校 驗(yàn)和不相等,則選用第二校驗(yàn)和算法并重新開始與對(duì)方端點(diǎn)建立偶聯(lián)。
上述方案中,所述第一校驗(yàn)和算法為CRC-32校驗(yàn)和算法;所述第二校驗(yàn) 和算法為Adler-32校驗(yàn)和算法;或者,所述第一校驗(yàn)和算法為Adler-32校驗(yàn)和 算法;所述第二校-瞼和算法為CRC-32校驗(yàn)和算法。
本發(fā)明還提供了一種實(shí)現(xiàn)校驗(yàn)和算法自適應(yīng)選擇的裝置,該裝置包括
收發(fā)模塊,用于接收來自對(duì)方端點(diǎn)的消息并傳輸?shù)酱鎯?chǔ)模塊存儲(chǔ);
存儲(chǔ)模塊,用于存儲(chǔ)來自對(duì)方端點(diǎn)的消息;
計(jì)算比較才莫塊,用于選用第一校驗(yàn)和算法計(jì)算收到的來自對(duì)方端點(diǎn)的消息 的校驗(yàn)和,并在確定計(jì)算所得的校-瞼和與收到的消息中攜帶的核z瞼和不相等時(shí), 選用第二校驗(yàn)和算法,并觸發(fā)收發(fā)模塊重新與對(duì)方端點(diǎn)建立偶聯(lián)。
其中,所述計(jì)算比較才莫塊在確定計(jì)算所得的4L瞼和與收到的消息中攜帶的 校驗(yàn)和相等時(shí),進(jìn)一步用于繼續(xù)選用第一校驗(yàn)和算法計(jì)算后續(xù)來自對(duì)方端點(diǎn)的 消息的校驗(yàn)和,并觸發(fā)收發(fā)4莫塊繼續(xù)與對(duì)方端點(diǎn)建立偶聯(lián)。
進(jìn)一步地,該裝置還包括
判斷處理;f莫塊,用于確定收到來自對(duì)方端點(diǎn)的消息時(shí),觸發(fā)計(jì)算比較模塊 進(jìn)行校驗(yàn)和計(jì)算,確定未收到來自對(duì)方端點(diǎn)的消息時(shí),通知計(jì)算比較^^塊更改 校驗(yàn)和算法;相應(yīng)的,所述計(jì)算比較才莫塊,還用于在判斷處理才莫塊確定未收到來自對(duì)方 端點(diǎn)的消息時(shí)更改選用的校^^和算法,并觸發(fā)收發(fā)才莫塊重新與對(duì)方端點(diǎn)建立偶 聯(lián)。
上述方案中,所述裝置用于本端點(diǎn)主動(dòng)建立偶聯(lián)時(shí),
所述^4^模塊接收來自對(duì)方端點(diǎn)的消息并傳輸?shù)酱鎯?chǔ)模塊存儲(chǔ),具體為
向?qū)Ψ蕉它c(diǎn)發(fā)送啟動(dòng)消息或狀態(tài)應(yīng)答消息,接收來自對(duì)方端點(diǎn)的啟動(dòng)證實(shí) 消息或狀態(tài)證實(shí)消息,并將啟動(dòng)證實(shí)消息或狀態(tài)證實(shí)消息傳輸?shù)酱鎯?chǔ)模塊存儲(chǔ);
所述計(jì)算比較才莫塊選用第 一校驗(yàn)和算法計(jì)算收到的來自對(duì)方端點(diǎn)的消息的 校驗(yàn)和,并在確定計(jì)算所得的校驗(yàn)和與收到的消息中攜帶的校驗(yàn)和不相等時(shí), 選用笫二校驗(yàn)和算法,并觸發(fā)收發(fā)模塊重新與對(duì)方端點(diǎn)建立偶聯(lián),具體為
選用第一校驗(yàn)和算法計(jì)算啟動(dòng)證實(shí)消息或狀態(tài)證實(shí)消息的校驗(yàn)和,將計(jì)算 結(jié)果與啟動(dòng)證實(shí)消息或狀態(tài)證實(shí)消息中攜帶的校驗(yàn)和作比較,確定與啟動(dòng)證實(shí) 消息中攜帶的校驗(yàn)和相等時(shí),繼續(xù)選用第一校驗(yàn)和算法計(jì)算后續(xù)來自對(duì)方端點(diǎn) 的消息的校驗(yàn)和,并觸發(fā)收發(fā)模塊向?qū)Ψ蕉它c(diǎn)發(fā)送狀態(tài)應(yīng)答消息,確定與狀態(tài) 證實(shí)消息中攜帶的4L驗(yàn)和相等時(shí),結(jié)束偶聯(lián)建立過程;確定與來自對(duì)方端點(diǎn)的 消息中攜帶的校驗(yàn)和不相等時(shí),選用第二校驗(yàn)和算法計(jì)算,并觸發(fā)收發(fā)模塊向 對(duì)方端點(diǎn)發(fā)送啟動(dòng)消息。
上述方案中,所述裝置用于本端點(diǎn)被動(dòng)建立偶聯(lián)時(shí),
所迷收發(fā)模塊接收來自對(duì)方端點(diǎn)的消息并傳輸?shù)酱鎯?chǔ)模塊存儲(chǔ),具體為
接收對(duì)方端點(diǎn)發(fā)送的啟動(dòng)消息或狀態(tài)應(yīng)答消息,向?qū)Ψ蕉它c(diǎn)發(fā)送啟動(dòng)證實(shí) 消息或狀態(tài)證實(shí)消息,并將啟動(dòng)消息或狀態(tài)應(yīng)答消息傳輸?shù)酱鎯?chǔ)才莫塊存儲(chǔ);
所述計(jì)算比較模塊選用第 一校驗(yàn)和算法計(jì)算收到的來自對(duì)方端點(diǎn)的消息的 校驗(yàn)和,并在確定計(jì)算所得的校^r和與收到的消息中攜帶的校^r和不相等時(shí), 選用第二校驗(yàn)和算法,并觸發(fā)4t^模塊重新與對(duì)方端點(diǎn)建立偶聯(lián),具體為
選用第一校Ji^和算法計(jì)算啟動(dòng)消息或狀態(tài)應(yīng)答消息的才t瞼和,將計(jì)算結(jié)果 與啟動(dòng)消息或狀態(tài)應(yīng)答消息中攜帶的校驗(yàn)和作比較,確定與啟動(dòng)消息或狀態(tài)應(yīng) 答消息中攜帶的校驗(yàn)和相等時(shí),繼續(xù)選用第一校驗(yàn)和算法計(jì)算后續(xù)來自對(duì)方端點(diǎn)的消息的校驗(yàn)和,并觸發(fā)收發(fā)模塊向?qū)Ψ蕉它c(diǎn)發(fā)送啟動(dòng)證實(shí)消息或狀態(tài)證實(shí)
消息;確定與啟動(dòng)消息或狀態(tài)應(yīng)答消息中攜帶的4L驗(yàn)和不相等時(shí),選用第二才交 驗(yàn)和算法計(jì)算后續(xù)來自對(duì)方端點(diǎn)的消息的校驗(yàn)和,并觸發(fā)收發(fā)^t塊與對(duì)方端點(diǎn) 建立偶聯(lián)。
本發(fā)明提供的實(shí)現(xiàn)校驗(yàn)和算法自適應(yīng)選擇的方法及裝置,本端點(diǎn)選用第一 校驗(yàn)和算法計(jì)算收到的來自對(duì)方端點(diǎn)的消息的校驗(yàn)和,確定計(jì)算所得的校驗(yàn)和 與收到的消息中攜帶的校驗(yàn)和不相等時(shí),選用第二4交驗(yàn)和算法并嘗試與對(duì)方端 點(diǎn)重新建立偶聯(lián)。本發(fā)明可實(shí)現(xiàn)采用新版;^驗(yàn)和算法CRC-32的SCTP端點(diǎn) 與采用Adler-32或CRC-32校驗(yàn)和算法的SCTP端點(diǎn)均能建立偶聯(lián),進(jìn)而實(shí)現(xiàn) 了網(wǎng)絡(luò)中新舊設(shè)備的兼容。
圖l為采用"四次握手"機(jī)制實(shí)現(xiàn)偶聯(lián)建立的示意圖; 圖2為本發(fā)明本端點(diǎn)主動(dòng)建立偶聯(lián)的方法實(shí)現(xiàn)流程示意圖; 圖3為本發(fā)明本端點(diǎn)被動(dòng)建立偶聯(lián)的方法實(shí)現(xiàn)流程示意圖; 圖4為本發(fā)明實(shí)現(xiàn)校l^和算法自適應(yīng)選擇的裝置結(jié)構(gòu)示意圖。
具體實(shí)施例方式
本發(fā)明的基本思想是本端點(diǎn)選用第一校驗(yàn)和算法計(jì)算收到的來自對(duì)方端 點(diǎn)的消息的校驗(yàn)和,確定計(jì)算所得的校驗(yàn)和與收到的消息中攜帶的校驗(yàn)和不相 等時(shí),選用第二4L驗(yàn)和算法并嘗試與對(duì)方端點(diǎn)重新建立偶聯(lián)。
對(duì)于不同的通信系統(tǒng),所述校驗(yàn)和算法可為多種不同種類,下面以笫一校 驗(yàn)和算法、第二校驗(yàn)和算法分別為CRC-32校驗(yàn)和算法和Adler-32校驗(yàn)和算法 為例對(duì)本發(fā)明的實(shí)現(xiàn)做詳細(xì)說明。
本發(fā)明中,所述本端點(diǎn)和對(duì)方端點(diǎn)均指任一 SCTP端點(diǎn),其中,所述對(duì)方 端點(diǎn)支持CRC-32校驗(yàn)和算法、Adler-32校驗(yàn)和算法中的一種。
下面針對(duì)本端點(diǎn)主動(dòng)建立偶聯(lián)和被動(dòng)建立偶聯(lián)兩種不同情況對(duì)所述校驗(yàn)和算法自適應(yīng)選擇的方法及裝置進(jìn)行描述。
圖2為本發(fā)明本端點(diǎn)主動(dòng)建立偶聯(lián)的方法實(shí)現(xiàn)流程示意圖,如圖2所示, 該流程包括以下步驟
步驟201:向?qū)Ψ蕉它c(diǎn)發(fā)送啟動(dòng)(INIT)消息;
具體為本端點(diǎn)選用CRC-32校驗(yàn)和算法計(jì)算待發(fā)送的啟動(dòng)消息的校驗(yàn)和, 將計(jì)算所得的校驗(yàn)和填入啟動(dòng)消息中的校驗(yàn)和字段中,并將整條啟動(dòng)消息發(fā)送 到對(duì)方端點(diǎn)。
本發(fā)明中,本端點(diǎn)在主動(dòng)和被動(dòng)建立偶聯(lián)的過程中均默認(rèn)首先選用CRC-32 校驗(yàn)和算法嘗試與對(duì)方端點(diǎn)建立偶聯(lián),也可首先選用Adler-32 4交驗(yàn)和算法嘗試 與對(duì)方端點(diǎn)建立偶聯(lián)。
步驟202:判斷是否收到來自對(duì)方端點(diǎn)的啟動(dòng)證實(shí)(INITACK)消息,如 果收到來自對(duì)方端點(diǎn)的啟動(dòng)證實(shí)消息,則執(zhí)行步驟203;如果沒有收到來自對(duì) 方端點(diǎn)的啟動(dòng)證實(shí)消息,則執(zhí)行步驟207。
本發(fā)明中,所述沒有收到來自對(duì)方端點(diǎn)的消息,為在設(shè)定時(shí)間內(nèi)沒有收 到來自對(duì)方端點(diǎn)的消息;所述設(shè)定時(shí)間以秒為單位計(jì)算,如1秒、或2秒、 或0.1秒等;如果沒有收到來自對(duì)方端點(diǎn)的消息,即對(duì)方端點(diǎn)沒有回復(fù)消息, 可能是由于對(duì)方端點(diǎn)計(jì)算所得本端點(diǎn)發(fā)送的消息的校驗(yàn)和與本端點(diǎn)發(fā)送的消息 中攜帶的校驗(yàn)和不相等,則此次偶聯(lián)的建立過程失敗,選用另一種核^驗(yàn)和算法 并重新建立偶聯(lián)。
步驟203:選用CRC-32校驗(yàn)和算法計(jì)算啟動(dòng)證實(shí)消息的校驗(yàn)和,如果計(jì)算 所得的校驗(yàn)和與收到的啟動(dòng)證實(shí)消息中攜帶的校驗(yàn)和相等,則執(zhí)行步驟204; 如果計(jì)算所得的校驗(yàn)和與收到的啟動(dòng)證實(shí)消息中攜帶的校驗(yàn)和不相等,則執(zhí)行 步驟207。
步驟204:向?qū)Ψ蕉它c(diǎn)發(fā)送狀態(tài)應(yīng)答(COOKIE ECHO)消息;
具體為本端點(diǎn)選用CRC-32校驗(yàn)和算法計(jì)算待發(fā)送的狀態(tài)應(yīng)答消息的校
驗(yàn)和,將計(jì)算所得的校驗(yàn)和填入狀態(tài)應(yīng)答消息中的校驗(yàn)和字段中,并將整條狀
態(tài)應(yīng)答消息發(fā)送到對(duì)方端點(diǎn)。步驟205:判斷是否收到來自對(duì)方端點(diǎn)的狀態(tài)證實(shí)(COOKIEACK)消息, 如果收到來自對(duì)方端點(diǎn)的狀態(tài)證實(shí)消息,則執(zhí)^f亍步驟206;如果沒有收到來自 對(duì)方端點(diǎn)的狀態(tài)證實(shí)消息,則執(zhí)行步驟207;
這里,所述沒有收到來自對(duì)方端點(diǎn)的消息,原因可能為本端點(diǎn)的消息在 傳輸?shù)綄?duì)方端點(diǎn)的過程中,由于網(wǎng)絡(luò)破壞造成了本端點(diǎn)消息數(shù)據(jù)的差錯(cuò),使得 對(duì)方端點(diǎn)計(jì)算所得本端點(diǎn)發(fā)送的消息的校驗(yàn)和與本端點(diǎn)發(fā)送的消息中攜帶的校 驗(yàn)和不相等,則此次偶聯(lián)的建立過程失敗,選用另一種校驗(yàn)和算法并重新建立 偶聯(lián)。
步驟206:選用CRC-32校驗(yàn)和算法計(jì)算狀態(tài)證實(shí)消息的校驗(yàn)和,如果計(jì)算 所得的校驗(yàn)和與收到的狀態(tài)證實(shí)消息中攜帶的校驗(yàn)和相等,則執(zhí)行步驟208; 如果計(jì)算所得的校驗(yàn)和與收到的狀態(tài)證實(shí)消息中攜帶的才交一驗(yàn)和不相等,則執(zhí)行 步驟207;
這里,計(jì)算所得的校驗(yàn)和與收到的狀態(tài)證實(shí)消息中攜帶的校驗(yàn)和不相等, 原因可能為對(duì)方端點(diǎn)的消息在傳輸?shù)奖径它c(diǎn)的過程中,由于網(wǎng)絡(luò)破壞造成了 對(duì)方端點(diǎn)消息數(shù)據(jù)的差錯(cuò),使得兩校驗(yàn)和不相等,則此次偶聯(lián)的建立過程失敗, 選用另 一種校驗(yàn)和算法并重新建立偶聯(lián)。
步驟207:選用Adler-32校驗(yàn)和算法并執(zhí)行與步驟201至206相同的操作, 如果沒有收到對(duì)方端點(diǎn)返回的啟動(dòng)證實(shí)消息或狀態(tài)證實(shí)消息,或計(jì)算所得的校 驗(yàn)和與收到的啟動(dòng)證實(shí)消息或狀態(tài)證實(shí)消息中攜帶的校驗(yàn)和不相等,則均執(zhí)行 步驟201,再次選用CRC-32校驗(yàn)和算法嘗試與對(duì)方端點(diǎn)建立偶聯(lián),如果四次握 手均選用Adler-32校驗(yàn)和算法完成,則執(zhí)行步驟208。
步驟208:偶聯(lián)建立過程結(jié)束。
圖3為本發(fā)明本端點(diǎn)被動(dòng)建立偶聯(lián)的方法實(shí)現(xiàn)流程示意圖,如圖3所示, 該流程包括以下步驟
步驟301:選用CRC-32校驗(yàn)和算法計(jì)算接收到的啟動(dòng)消息的校驗(yàn)和,如果
計(jì)算所得的才交驗(yàn)和與收到的啟動(dòng)消息中攜帶的校^^和相等,則執(zhí)行步驟302; 如果計(jì)算所得的校驗(yàn)和與收到的啟動(dòng)消息中攜帶的較z瞼和不相等,則執(zhí)行步驟306。
步驟302:向?qū)Ψ蕉它c(diǎn)發(fā)送啟動(dòng)證實(shí)消息;
具體為本端點(diǎn)選用CRC-32校驗(yàn)和算法計(jì)算待發(fā)送的啟動(dòng)證實(shí)消息的校 驗(yàn)和,將計(jì)算所得的校驗(yàn)和填入啟動(dòng)證實(shí)消息中的校驗(yàn)和字段中,并將整條啟
動(dòng)證實(shí)消息發(fā)送到對(duì)方端點(diǎn)。
步驟303:判斷是否收到來自對(duì)方端點(diǎn)的狀態(tài)應(yīng)答消息,如果收到來自對(duì) 方端點(diǎn)的狀態(tài)應(yīng)答消息,則執(zhí)行步驟304;如果沒有收到來自對(duì)方端點(diǎn)的狀態(tài) 應(yīng)答消息,則執(zhí)行步驟306;
這里,所述沒有收到來自對(duì)方端點(diǎn)的消息,原因可能為本端點(diǎn)的消息在 傳輸?shù)綄?duì)方端點(diǎn)的過程中,由于網(wǎng)絡(luò)破壞造成了本端點(diǎn)消息數(shù)據(jù)的差錯(cuò),使得 對(duì)方端點(diǎn)計(jì)算所得本端點(diǎn)發(fā)送的消息的校驗(yàn)和與本端點(diǎn)發(fā)送的消息中攜帶的校 驗(yàn)和不相等,則此次偶聯(lián)的建立過程失敗,選用另一種才交驗(yàn)和算法并重新建立 偶聯(lián)。
步驟304:選用CRC-32校驗(yàn)和算法計(jì)算接收到的狀態(tài)應(yīng)答消息的校驗(yàn)和, 如果計(jì)算所得的校一驗(yàn)和與收到的狀態(tài)應(yīng)答消息中攜帶的校驗(yàn)和相等,則執(zhí)行步 驟305;如果計(jì)算所得的校驗(yàn)和與收到的狀態(tài)應(yīng)答消息中攜帶的校驗(yàn)和不相等, 則執(zhí)行步驟306;
這里,計(jì)算所得的校驗(yàn)和與收到的狀態(tài)證實(shí)消息中攜帶的校驗(yàn)和不相等, 原因可能為對(duì)方端點(diǎn)的消息在傳輸?shù)奖径它c(diǎn)的過程中,由于網(wǎng)絡(luò)破壞造成了 對(duì)方端點(diǎn)消息數(shù)據(jù)的差錯(cuò),使得兩校驗(yàn)和不相等,則此次偶聯(lián)的建立過程失敗, 選用另 一種校驗(yàn)和算法并重新建立偶聯(lián)。
步驟305:向?qū)Ψ蕉它c(diǎn)發(fā)送狀態(tài)證實(shí)消息,結(jié)束當(dāng)前偶聯(lián)建立過程; 具體為本端點(diǎn)選用CRC-32校驗(yàn)和算法計(jì)算待發(fā)送的狀態(tài)證實(shí)消息的校 驗(yàn)和,將計(jì)算所得的校驗(yàn)和填入狀態(tài)證實(shí)消息中的校驗(yàn)和字段中,并將整條狀
態(tài)證實(shí)消息發(fā)送到對(duì)方端點(diǎn); 這里,認(rèn)為向?qū)Ψ蕉它c(diǎn)發(fā)送狀態(tài)證實(shí)消息后,如果對(duì)方端點(diǎn)能收到,則偶 聯(lián)建立過程結(jié)束。步驟306:選用Adler-32校驗(yàn)和算法并執(zhí)行與步驟301至305相同的操作, 如果沒有收到對(duì)方端點(diǎn)返回的狀態(tài)應(yīng)答消息,或計(jì)算所得的校驗(yàn)和與收到的啟 動(dòng)消息或狀態(tài)應(yīng)答消息中攜帶的校驗(yàn)和不相等,則執(zhí)行步驟301,再次選用 CRC-32校驗(yàn)和算法嘗試與對(duì)方端點(diǎn)建立偶聯(lián),如果四次握手均選用Adler-32 校驗(yàn)和算法完成,則偶聯(lián)建立過程結(jié)束。
為實(shí)現(xiàn)上述方法,本發(fā)明還提供了 一種實(shí)現(xiàn)校驗(yàn)和算法自適應(yīng)選擇的裝置, 如圖4所示,該裝置包括收發(fā)模塊、存儲(chǔ)模塊和計(jì)算比較模塊;其中,
所述收發(fā)模塊,用于向?qū)Ψ蕉它c(diǎn)發(fā)送消息,接收來自對(duì)方端點(diǎn)的消息并傳 輸?shù)酱鎯?chǔ)4莫塊存儲(chǔ);
所述存儲(chǔ)模塊,用于存儲(chǔ)來自對(duì)方端點(diǎn)的消息;
所述計(jì)算比較模塊,用于選用第一校驗(yàn)和算法計(jì)算來自對(duì)方端點(diǎn)的消息的 校驗(yàn)和,將計(jì)算結(jié)果與來自對(duì)方端點(diǎn)的消息中攜帶的校驗(yàn)和作比較,確定兩校 驗(yàn)和相等時(shí),仍繼續(xù)選用第一校驗(yàn)和算法計(jì)算后續(xù)來自對(duì)方端點(diǎn)的消息的校驗(yàn) 和,并觸發(fā)收發(fā)模塊繼續(xù)與對(duì)方端點(diǎn)建立偶聯(lián),確定兩校驗(yàn)和不相等時(shí),選用 第二校驗(yàn)和算法,并觸發(fā)收發(fā)模塊重新與對(duì)方端點(diǎn)建立偶聯(lián);計(jì)算比較模塊中 計(jì)算校驗(yàn)和的消息來自存儲(chǔ)模塊。
該裝置進(jìn)一步包括判斷處理模塊,用于判斷是否收到來自對(duì)方端點(diǎn)的消息, 確定收到時(shí),觸發(fā)計(jì)算比較才莫塊進(jìn)行校驗(yàn)和計(jì)算,確定未收到時(shí),通知計(jì)算比 較模塊更改校驗(yàn)和算法;
相應(yīng)的,所述計(jì)算比IM^塊,還用于在判斷處理it塊確定收到來自對(duì)方端 點(diǎn)的消息時(shí),仍選用現(xiàn)用的才t驗(yàn)和算法計(jì)算來自對(duì)方端點(diǎn)的消息的校驗(yàn)和;在 判斷處理模塊確定未收到來自對(duì)方端點(diǎn)的消息時(shí),更改選用的校驗(yàn)和算法,并 觸發(fā)4t^模塊重新與對(duì)方端點(diǎn)建立偶聯(lián)。
所述裝置用于本端點(diǎn)主動(dòng)建立偶聯(lián)時(shí),
所述收發(fā)模塊向?qū)Ψ蕉它c(diǎn)發(fā)送消息,接收來自對(duì)方端點(diǎn)的消息并傳輸?shù)酱?儲(chǔ)模塊存儲(chǔ),具體為
向?qū)Ψ蕉它c(diǎn)發(fā)送啟動(dòng)消息或狀態(tài)應(yīng)答消息,接收來自對(duì)方端點(diǎn)的啟動(dòng)證實(shí)消息或狀態(tài)證實(shí)消息,并將啟動(dòng)證實(shí)消息或狀態(tài)證實(shí)消息傳輸?shù)酱鎯?chǔ)模塊存儲(chǔ);
所述存儲(chǔ)模塊存儲(chǔ)來自對(duì)方端點(diǎn)的消息,具體為
存儲(chǔ)來自對(duì)方端點(diǎn)的啟動(dòng)證實(shí)消息或狀態(tài)證實(shí)消息;
所述判斷處理模塊判斷是否收到來自對(duì)方端點(diǎn)的消息,確定收到時(shí),觸發(fā) 計(jì)算比較模塊進(jìn)行校驗(yàn)和計(jì)算,確定未收到時(shí),通知計(jì)算比較模塊更改校驗(yàn)和 算法,具體為
判斷是否收到來自對(duì)方端點(diǎn)的啟動(dòng)證實(shí)消息或狀態(tài)證實(shí)消息,確定收到時(shí), 觸發(fā)計(jì)算比較模塊進(jìn)行校驗(yàn)和計(jì)算,確定未收到時(shí),通知計(jì)算比較模塊更改校 驗(yàn)和算法;
所述計(jì)算比較模塊選用第一校驗(yàn)和算法計(jì)算來自對(duì)方端點(diǎn)的消息的校驗(yàn) 和,將計(jì)算結(jié)果與來自對(duì)方端點(diǎn)的消息中攜帶的校驗(yàn)和作比較,確定兩校驗(yàn)和 相等時(shí),仍繼續(xù)選用第一校驗(yàn)和算法計(jì)算后續(xù)來自對(duì)方端點(diǎn)的消息的校驗(yàn)和, 并觸發(fā)收發(fā)模塊繼續(xù)與對(duì)方端點(diǎn)建立偶聯(lián),確定兩校驗(yàn)和不相等時(shí),選用第二 校驗(yàn)和算法,并觸發(fā)收發(fā)模塊重新與對(duì)方端點(diǎn)建立偶聯(lián),具體為
選用第一校驗(yàn)和算法計(jì)算啟動(dòng)證實(shí)消息或狀態(tài)證實(shí)消息的校驗(yàn)和,將計(jì)算 結(jié)果與啟動(dòng)證實(shí)消息或狀態(tài)證實(shí)消息中攜帶的校驗(yàn)和作比較,確定與啟動(dòng)證實(shí) 消息中攜帶的校驗(yàn)和相等時(shí),仍繼續(xù)選用第一校驗(yàn)和算法計(jì)算后續(xù)來自對(duì)方端 點(diǎn)的消息的校驗(yàn)和,并觸發(fā)收發(fā)模塊向?qū)Ψ蕉它c(diǎn)發(fā)送狀態(tài)應(yīng)答消息,確定與狀 態(tài)證實(shí)消息中攜帶的校驗(yàn)和相等時(shí),結(jié)束偶聯(lián)建立過程;確定與來自對(duì)方端點(diǎn) 的消息中攜帶的校-驗(yàn)和不相等時(shí),選用第二校^^和算法計(jì)算后續(xù)來自對(duì)方端點(diǎn) 的消息的校驗(yàn)和,并觸發(fā)Jl^C模塊向?qū)Ψ蕉它c(diǎn)發(fā)送啟動(dòng)消息。
所述裝置用于本端點(diǎn)被動(dòng)建立偶聯(lián)時(shí),
所述收發(fā)模塊向?qū)Ψ蕉它c(diǎn)發(fā)送消息,接收來自對(duì)方端點(diǎn)的消息并傳輸?shù)酱?儲(chǔ)模塊存儲(chǔ),具體為
接收對(duì)方端點(diǎn)發(fā)送的啟動(dòng)消息或狀態(tài)應(yīng)答消息,向?qū)Ψ蕉它c(diǎn)發(fā)送啟動(dòng)證實(shí) 消息或狀態(tài)證實(shí)消息,并將啟動(dòng)消息或狀態(tài)應(yīng)答消息傳輸?shù)酱鎯?chǔ)才莫塊存儲(chǔ);
所述存儲(chǔ)模塊存儲(chǔ)來自對(duì)方端點(diǎn)的消息,具體為存儲(chǔ)來自對(duì)方端點(diǎn)的啟動(dòng)消息或狀態(tài)應(yīng)答消息;
所述判斷處理;f莫塊判斷是否收到來自對(duì)方端點(diǎn)的消息,確定收到時(shí),觸發(fā) 計(jì)算比較模塊進(jìn)行校驗(yàn)和計(jì)算,確定未收到時(shí),通知計(jì)算比較模塊更改校驗(yàn)和 算法,具體為
判斷是否收到來自對(duì)方端點(diǎn)的狀態(tài)應(yīng)答消息,確定收到時(shí),觸發(fā)計(jì)算比豐支 模塊進(jìn)行校驗(yàn)和計(jì)算,確定未收到時(shí),通知計(jì)算比較才莫塊更改校驗(yàn)和算法;
所述計(jì)算比較才莫塊選用第一校驗(yàn)和算法計(jì)算來自對(duì)方端點(diǎn)的消息的才L驗(yàn) 和,將計(jì)算結(jié)果與來自對(duì)方端點(diǎn)的消息中攜帶的校^r和作比較,確定兩核z瞼和
相等時(shí),仍繼續(xù)選用第一校驗(yàn)和算法計(jì)算后續(xù)來自對(duì)方端點(diǎn)的消息的校a^和, 并觸發(fā)收發(fā)模塊繼續(xù)與對(duì)方端點(diǎn)建立偶聯(lián),確定兩校-驗(yàn)和不相等時(shí),選用第二 校驗(yàn)和算法,并觸發(fā)收發(fā)模塊重新與對(duì)方端點(diǎn)建立偶聯(lián),具體為
選用第一校驗(yàn)和算法計(jì)算啟動(dòng)消息或狀態(tài)應(yīng)答消息的校驗(yàn)和,將計(jì)算結(jié)果 與啟動(dòng)消息或狀態(tài)應(yīng)答消息中攜帶的校驗(yàn)和作比較,確定與啟動(dòng)消息或狀態(tài)應(yīng) 答消息中攜帶的校驗(yàn)和相等時(shí),仍繼續(xù)選用第一校驗(yàn)和算法計(jì)算后續(xù)來自對(duì)方 端點(diǎn)的消息的校驗(yàn)和,并觸發(fā)收發(fā)模塊向?qū)Ψ蕉它c(diǎn)發(fā)送啟動(dòng)證實(shí)消息或狀態(tài)證 實(shí)消息;確定與啟動(dòng)消息或狀態(tài)應(yīng)答消息中攜帶的校-驗(yàn)和不相等時(shí),選用第二 校驗(yàn)和算法計(jì)算后續(xù)來自對(duì)方端點(diǎn)的消息的校驗(yàn)和,并觸發(fā)收發(fā)模塊與對(duì)方端 點(diǎn)建立偶聯(lián)。
以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范 圍,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng) 包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種實(shí)現(xiàn)校驗(yàn)和算法自適應(yīng)選擇的方法,其特征在于,該方法包括本端點(diǎn)選用第一校驗(yàn)和算法計(jì)算收到的來自對(duì)方端點(diǎn)的消息的校驗(yàn)和,確定計(jì)算所得的校驗(yàn)和與收到的消息中攜帶的校驗(yàn)和不相等時(shí),選用第二校驗(yàn)和算法并嘗試與對(duì)方端點(diǎn)重新建立偶聯(lián)。
2、 根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)校驗(yàn)和算法自適應(yīng)選擇的方法,其特征在于, 所述計(jì)算來自對(duì)方端點(diǎn)的消息的校驗(yàn)和之前,還包括判斷是否收到來自對(duì)方 端點(diǎn)的消息,收到來自對(duì)方端點(diǎn)的消息時(shí),選用第一4交J瞼和算法計(jì)算來自對(duì)方 端點(diǎn)的消息的4交驗(yàn)和;未收到來自對(duì)方端點(diǎn)的消二息時(shí),選用第二才L瞼和算法并 嘗試與對(duì)方端點(diǎn)重新建立偶聯(lián)。
3、 根據(jù)權(quán)利要求2所述的實(shí)現(xiàn)校驗(yàn)和算法自適應(yīng)選擇的方法,其特征在于, 所述本端點(diǎn)主動(dòng)與對(duì)方端點(diǎn)建立偶聯(lián)時(shí),該方法具體為向?qū)Ψ蕉它c(diǎn)發(fā)送啟動(dòng)消息;判斷是否收到來自對(duì)方端點(diǎn)的啟動(dòng)證實(shí)消息,如果沒有收到來自對(duì)方端點(diǎn) 的啟動(dòng)證實(shí)消息,則選用第二校驗(yàn)和算法并重新開始與對(duì)方端點(diǎn)建立偶聯(lián);如 果收到來自對(duì)方端點(diǎn)的啟動(dòng)證實(shí)消息,則選用第一校^r和算法計(jì)算啟動(dòng)證實(shí)消 息的校驗(yàn)和,如果計(jì)算所得的校驗(yàn)和與收到的啟動(dòng)證實(shí)消息中攜帶的校驗(yàn)和相 等,則向?qū)Ψ蕉它c(diǎn)發(fā)送狀態(tài)應(yīng)答消息;如果計(jì)算所得的校驗(yàn)和與收到的啟動(dòng)證 實(shí)消息中攜帶的校驗(yàn)和不相等,則選用第二校驗(yàn)和算法并重新開始與對(duì)方端點(diǎn) 建立偶聯(lián);向?qū)Ψ蕉它c(diǎn)發(fā)送狀態(tài)應(yīng)答消息后,判斷是否收到來自對(duì)方端點(diǎn)的狀態(tài)證實(shí) 消息,如果沒有收到來自對(duì)方端點(diǎn)的狀態(tài)證實(shí)消息,則選用第二校驗(yàn)和算法并 重新開始與對(duì)方端點(diǎn)建立偶聯(lián);如果收到來自對(duì)方端點(diǎn)的狀態(tài)證實(shí)消息,則選 用第一校驗(yàn)和算法計(jì)算狀態(tài)證實(shí)消息的校驗(yàn)和,如果計(jì)算所得的校驗(yàn)和與收到 的狀態(tài)證實(shí)消息中攜帶的校驗(yàn)和相等,則結(jié)束當(dāng)前偶聯(lián)建立過程;如果計(jì)算所 得的校驗(yàn)和與收到的狀態(tài)證實(shí)消息中攜帶的校驗(yàn)和不相等,則選用第二校驗(yàn)和算法并重新開始與對(duì)方端點(diǎn)建立偶聯(lián)。
4、 根據(jù)權(quán)利要求2所述的實(shí)現(xiàn)校驗(yàn)和算法自適應(yīng)選擇的方法,其特征在于, 所述本端點(diǎn);陂動(dòng)與對(duì)方端點(diǎn)建立偶聯(lián)時(shí),該方法具體為選用第 一校^r和算法計(jì)算接收到的啟動(dòng)消息,如果計(jì)算所得的4L驗(yàn)和與收 到的啟動(dòng)消息中攜帶的校驗(yàn)和相等,則向?qū)Ψ蕉它c(diǎn)發(fā)送啟動(dòng)證實(shí)消息;如果計(jì) 算所得的校驗(yàn)和與收到的啟動(dòng)消息中攜帶的校驗(yàn)和不相等,則選用第二校驗(yàn)和 算法并重新開始與對(duì)方端點(diǎn)建立偶聯(lián);向?qū)Ψ蕉它c(diǎn)發(fā)送啟動(dòng)證實(shí)消息后,判斷是否收到來自對(duì)方端點(diǎn)的狀態(tài)應(yīng)答 消息,如果沒有收到來自對(duì)方端點(diǎn)的狀態(tài)應(yīng)答消息,則選用第二校驗(yàn)和算法并 重新開始與對(duì)方端點(diǎn)建立偶聯(lián);如果收到來自對(duì)方端點(diǎn)的狀態(tài)應(yīng)答消息,則選 用第一校驗(yàn)和算法計(jì)算接收到的狀態(tài)應(yīng)答消息,如果計(jì)算所得的校驗(yàn)和與收到 的狀態(tài)應(yīng)答消息中攜帶的校驗(yàn)和相等,則向?qū)Ψ蕉它c(diǎn)發(fā)送狀態(tài)證實(shí)消息,結(jié)束 當(dāng)前偶聯(lián)建立過程;如果計(jì)算所得的校驗(yàn)和與收到的狀態(tài)應(yīng)答消息中攜帶的校 驗(yàn)和不相等,則選用第二校驗(yàn)和算法并重新開始與對(duì)方端點(diǎn)建立偶聯(lián)。
5、 根據(jù)權(quán)利要求1至4任一所述的實(shí)現(xiàn)校驗(yàn)和算法自適應(yīng)選擇的方法,其 特征在于,所述第一校驗(yàn)和算法為CRC-32校驗(yàn)和算法;所述第二校驗(yàn)和算法 為Adler-32校驗(yàn)和算法;或者,所述第一校驗(yàn)和算法為Adler-32校驗(yàn)和算法; 所述第二校驗(yàn)和算法為CRC-32校驗(yàn)和算法。
6、 一種實(shí)現(xiàn)校驗(yàn)和算法自適應(yīng)選擇的裝置,其特征在于,該裝置包括 收發(fā)模塊,用于接收來自對(duì)方端點(diǎn)的消息并傳輸?shù)酱鎯?chǔ)模塊存儲(chǔ); 存儲(chǔ)模塊,用于存儲(chǔ)來自對(duì)方端點(diǎn)的消息;計(jì)算比較;f莫塊,用于選用第一校-瞼和算法計(jì)算收到的來自對(duì)方端點(diǎn)的消息 的校驗(yàn)和,并在確定計(jì)算所得的核z驗(yàn)和與收到的消息中攜帶的4交-瞼和不相等時(shí), 選用第二校驗(yàn)和算法,并觸發(fā) _模塊重新與對(duì)方端點(diǎn)建立偶聯(lián)。
7、 根據(jù)權(quán)利要求6所述的實(shí)現(xiàn)校驗(yàn)和算法自適應(yīng)選擇的裝置,其特征在于, 所述計(jì)算比豐i沖莫塊在確定計(jì)算所得的校驗(yàn)和與收到的消息中攜帶的校驗(yàn)和相等 時(shí),進(jìn)一步用于繼續(xù)選用第一校驗(yàn)和算法計(jì)算后續(xù)來自對(duì)方端點(diǎn)的消息的校驗(yàn)和,并觸發(fā)收發(fā)模塊繼續(xù)與對(duì)方端點(diǎn)建立偶聯(lián)。
8、 根據(jù)權(quán)利要求6或7所述的實(shí)現(xiàn)校驗(yàn)和算法自適應(yīng)選擇的裝置,其特征 在于,該裝置還包括判斷處理模塊,用于確定收到來自對(duì)方端點(diǎn)的消息時(shí),觸發(fā)計(jì)算比較模塊 進(jìn)行校^r和計(jì)算,確定未收到來自對(duì)方端點(diǎn)的消息時(shí),通知計(jì)算比輕j莫塊更改 校驗(yàn)和算法;相應(yīng)的,所述計(jì)算比較;f莫塊,還用于在判斷處理;f莫塊確定未收到來自對(duì)方 端點(diǎn)的消息時(shí)更改選用的校驗(yàn)和算法,并觸發(fā)收發(fā)模塊重新與對(duì)方端點(diǎn)建立偶 聯(lián)。
9、 根據(jù)權(quán)利要求7所述的實(shí)現(xiàn)校驗(yàn)和算法自適應(yīng)選擇的裝置,其特征在于, 所述裝置用于本端點(diǎn)主動(dòng)建立偶聯(lián)時(shí),所述收發(fā)模塊接收來自對(duì)方端點(diǎn)的消息并傳輸?shù)酱鎯?chǔ)模塊存儲(chǔ),具體為 向?qū)Ψ蕉它c(diǎn)發(fā)送啟動(dòng)消息或狀態(tài)應(yīng)答消息,接收來自對(duì)方端點(diǎn)的啟動(dòng)證實(shí) 消息或狀態(tài)證實(shí)消息,并將啟動(dòng)證實(shí)消息或狀態(tài)i正實(shí)消息傳輸?shù)酱鎯?chǔ)^f莫塊存儲(chǔ); 所述計(jì)算比較模塊選用第一校驗(yàn)和算法計(jì)算收到的來自對(duì)方端點(diǎn)的消息的 校驗(yàn)和,并在確定計(jì)算所得的校驗(yàn)和與收到的消息中攜帶的校-瞼和不相等時(shí), 選用第二校驗(yàn)和算法,并觸發(fā)收發(fā)模塊重新與對(duì)方端點(diǎn)建立偶聯(lián),具體為選用第一校驗(yàn)和算法計(jì)算啟動(dòng)證實(shí)消息或狀態(tài)證實(shí)消息的校驗(yàn)和,將計(jì)算 結(jié)果與啟動(dòng)證實(shí)消息或狀態(tài)證實(shí)消息中攜帶的校驗(yàn)和作比較,確定與啟動(dòng)證實(shí) 消息中攜帶的校^r和相等時(shí),繼續(xù)選用第一校驗(yàn)和算法計(jì)算后續(xù)來自對(duì)方端點(diǎn) 的消息的校驗(yàn)和,并觸發(fā)收發(fā)模塊向?qū)Ψ蕉它c(diǎn)發(fā)送狀態(tài)應(yīng)答消息,確定與狀態(tài) 證實(shí)消息中攜帶的校驗(yàn)和相等時(shí),結(jié)束偶聯(lián)建立過程;確定與來自對(duì)方端點(diǎn)的 消息中攜帶的校驗(yàn)和不相等時(shí),選用第二校驗(yàn)和算法計(jì)算,并觸發(fā)M模塊向 對(duì)方端點(diǎn)發(fā)送啟動(dòng)消息。
10、 根據(jù)權(quán)利要求7所述的實(shí)現(xiàn)校驗(yàn)和算法自適應(yīng)選擇的裝置,其特征在 于,所述裝置用于本端點(diǎn)被動(dòng)建立偶聯(lián)時(shí),所述收發(fā)模塊接收來自對(duì)方端點(diǎn)的消息并傳輸?shù)酱鎯?chǔ)模塊存儲(chǔ),具體為接收對(duì)方端點(diǎn)發(fā)送的啟動(dòng)消息或狀態(tài)應(yīng)答消息,向?qū)Ψ蕉它c(diǎn)發(fā)送啟動(dòng)證實(shí)消息或狀態(tài)證實(shí)消息,并將啟動(dòng)消息或狀態(tài)應(yīng)答消息傳輸?shù)酱鎯?chǔ)模塊存儲(chǔ);所述計(jì)算比較才莫塊選用第 一校驗(yàn)和算法計(jì)算收到的來自對(duì)方端點(diǎn)的消息的 校驗(yàn)和,并在確定計(jì)算所得的校^^和與收到的消息中攜帶的4交驗(yàn)和不相等時(shí), 選用第二校驗(yàn)和算法,并觸發(fā)收發(fā)模塊重新與對(duì)方端點(diǎn)建立偶聯(lián),具體為選用第一校驗(yàn)和算法計(jì)算啟動(dòng)消息或狀態(tài)應(yīng)答消息的校驗(yàn)和,將計(jì)算結(jié)果 與啟動(dòng)消息或狀態(tài)應(yīng)答消息中攜帶的校驗(yàn)和作比較,確定與啟動(dòng)消息或狀態(tài)應(yīng) 答消息中攜帶的校驗(yàn)和相等時(shí),繼續(xù)選用第一校驗(yàn)和算法計(jì)算后續(xù)來自對(duì)方端 點(diǎn)的消息的校驗(yàn)和,并觸發(fā)收發(fā)模塊向?qū)Ψ蕉它c(diǎn)發(fā)送啟動(dòng)證實(shí)消息或狀態(tài)證實(shí) 消息;確定與啟動(dòng)消息或狀態(tài)應(yīng)答消息中攜帶的校驗(yàn)和不相等時(shí),選用第二校 驗(yàn)和算法計(jì)算后續(xù)來自對(duì)方端點(diǎn)的消息的校驗(yàn)和,并觸發(fā)收發(fā)模塊與對(duì)方端點(diǎn) 建立偶聯(lián)。
全文摘要
本發(fā)明公開了一種實(shí)現(xiàn)校驗(yàn)和算法自適應(yīng)選擇的方法,包括本端點(diǎn)選用第一校驗(yàn)和算法計(jì)算收到的來自對(duì)方端點(diǎn)的消息的校驗(yàn)和,確定計(jì)算所得的校驗(yàn)和與收到的消息中攜帶的校驗(yàn)和不相等時(shí),選用第二校驗(yàn)和算法并嘗試與對(duì)方端點(diǎn)重新建立偶聯(lián)。本發(fā)明還同時(shí)公開了一種實(shí)現(xiàn)校驗(yàn)和算法自適應(yīng)選擇的裝置,運(yùn)用該方法和裝置可實(shí)現(xiàn)采用新版本校驗(yàn)和算法CRC-32的SCTP端點(diǎn)與采用Adler-32或CRC-32校驗(yàn)和算法的SCTP端點(diǎn)均能建立偶聯(lián),進(jìn)而實(shí)現(xiàn)了網(wǎng)絡(luò)中新舊設(shè)備的兼容。
文檔編號(hào)H04L1/16GK101588221SQ200910087389
公開日2009年11月25日 申請(qǐng)日期2009年6月19日 優(yōu)先權(quán)日2009年6月19日
發(fā)明者波 王, 輝 王, 毅 高 申請(qǐng)人:中興通訊股份有限公司