国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

計算機網(wǎng)絡(luò)通信中CRC算法的應(yīng)用研究

2022-03-24 06:30岳立文
電氣傳動自動化 2022年1期
關(guān)鍵詞:校驗網(wǎng)絡(luò)通信數(shù)據(jù)包

岳立文

(白銀礦冶職業(yè)技術(shù)學(xué)院,甘肅 白銀 730900)

計算機網(wǎng)絡(luò)通信是通過多種算法處理而實現(xiàn)的。用數(shù)據(jù)線路將不同位置的服務(wù)器終端進(jìn)行連接,實現(xiàn)數(shù)據(jù)資源共享,構(gòu)建信息資源豐富的網(wǎng)絡(luò)社會。但隨著計算機網(wǎng)絡(luò)通信頻率的加快,數(shù)據(jù)信息會受磁場等外在因素的干擾,從而影響信息傳輸質(zhì)量,并造成信息失真、誤碼率高等問題[1]。采用CRC算法,其差錯糾正控制可有效解決信息誤差,降低誤碼率,提升計算機網(wǎng)絡(luò)通信質(zhì)量和通信水平。

1 CRC算法概述

1.1 CRC算法涵義及算法原理

CRC即循環(huán)冗余校驗碼(Cyclic Redundancy Check),是數(shù)通領(lǐng)域較為常用的具有糾錯、檢錯能力的一種差錯檢驗碼,其特征是信息字段和校驗字段的長度可以任意選定。循環(huán)冗余檢驗是一種數(shù)據(jù)傳統(tǒng)檢錯功能,對數(shù)據(jù)進(jìn)行多項式計算,并將得到的結(jié)果附在幀的后面,接收設(shè)備也運行類似的算法,以保證數(shù)據(jù)傳輸?shù)恼_性和完整性。其在通信過程中,時長會產(chǎn)生變化,可以由0變?yōu)?,也可以由1變?yōu)?,將待發(fā)送的位串看成系數(shù)為0或1的多項式。收發(fā)雙方約定一個生成多項式G(x)(其最高階和最低階系數(shù)必須為1),發(fā)送方用位串及G(x)進(jìn)行某種運算得到校驗和,并在幀的末尾加上校驗和,使帶校驗和的幀的多項式能被G(x)整除。接收方收到后,用 G(x)除多項式,如果有余數(shù),則傳輸有錯[2]。

1.2 CRC 算法分析

CRC循環(huán)冗余校驗碼的編碼方式是用生成多項式G(x)去除待發(fā)送的數(shù)據(jù)串,最終得到的余數(shù)就是CRC校驗碼,其實現(xiàn)過程如下:

(1)首先給定一個生成多項式G(x),它的階數(shù)是r階,再給定數(shù)據(jù)串幀數(shù)是k位的多項式,設(shè)為M(x),那么就需要將原幀 M(x)左移 r位,也就是在M(x)的后面加上r個0,生成的新數(shù)據(jù)串變成了 k+r位,多項式也變成了 XM(x)。

(2)用新數(shù)據(jù)串XrM(x)去除以生成多項式G(x)對應(yīng)的數(shù)據(jù)串,運用模二運算,得到余數(shù)為 R(x)。

(3)將得到的余數(shù) R(x)加到數(shù)據(jù)串 M(x)的后面,生成新的數(shù)據(jù)串 T(x),新數(shù)據(jù)串 T(x)就是待發(fā)送的帶有校驗和的幀多項式,即:

CRC的本質(zhì)就是將待發(fā)送的k位多項式轉(zhuǎn)換成了可以被生成多項式G(x)除盡的k+r位多項式,解碼時可以用接收到的數(shù)據(jù)去除以生成多項式G(x),如果得到的余數(shù)為0,那么則表示傳輸過程正確,如果得到的余數(shù)不為0,那么表示傳輸1過程出現(xiàn)錯誤。

1.3 CRC 算法的實現(xiàn)

在計算機網(wǎng)絡(luò)通信中算法中,主要包括硬件和軟件兩種實現(xiàn)形式,都是通過發(fā)送數(shù)據(jù)包的方式實現(xiàn)數(shù)據(jù)共享和數(shù)據(jù)傳輸,通過兩者比較,軟件實現(xiàn)形式更具優(yōu)勢,信息傳播速度更快、誤碼率較低,因此,目前在計算機網(wǎng)絡(luò)通信過程中,多以軟件形式呈現(xiàn),其中,以太網(wǎng)是軟件形式的代表。在計算機網(wǎng)絡(luò)實體之間實現(xiàn)數(shù)據(jù)傳輸和數(shù)據(jù)共享時,為保證通信功能的有效實現(xiàn),需通過發(fā)送數(shù)據(jù)包的方式進(jìn)行數(shù)據(jù)傳輸控制,保證數(shù)據(jù)信息的功能價值。數(shù)據(jù)包由段開銷、數(shù)據(jù)序號、序列的校驗碼等組成,其中,段開銷作為數(shù)據(jù)傳輸?shù)某跏紨?shù)據(jù),承載著數(shù)據(jù)開始出傳輸?shù)絺鬏斀Y(jié)束的全過程,這一過程的數(shù)據(jù)安全是整個算法的保護(hù)重點,段開銷安全性保護(hù)到位就不容易初夏誤碼問題,若保護(hù)不到位,極易導(dǎo)致誤碼產(chǎn)生。數(shù)據(jù)序號作為數(shù)據(jù)的“名字”,主要承擔(dān)編組數(shù)據(jù)任務(wù),如將5個數(shù)據(jù)編到1組,那么25個數(shù)據(jù)應(yīng)該編為5組,序號應(yīng)編至25。在計算機網(wǎng)絡(luò)通信數(shù)據(jù)共享與傳輸過程中,不同數(shù)據(jù)包都有不同的編碼,也有不同的字節(jié)長度,數(shù)據(jù)編碼位于整個數(shù)據(jù)包的尾部,承擔(dān)數(shù)據(jù)糾錯功能,通過對字節(jié)長度的測算,檢驗計算機網(wǎng)絡(luò)通信數(shù)據(jù)的安全性和準(zhǔn)確性。但在實際的數(shù)據(jù)傳輸過程中,數(shù)據(jù)錯誤在所難免,如何將錯誤率講到最低是當(dāng)前相關(guān)研究人員重點研究的關(guān)鍵。隨著科學(xué)技術(shù)水平的提高,我國計算機網(wǎng)絡(luò)通信誤碼率已經(jīng)達(dá)到了較高水平,已經(jīng)最大限度的控制了誤碼率的發(fā)生,PC表示誤碼率,計算公式為:PC=所接收的錯誤碼/所接收的總碼數(shù)[3],技術(shù)人員可以通過上述公式計算誤碼率,并結(jié)合實際情況不斷完善計算機網(wǎng)絡(luò)通信傳輸技術(shù),全面降低網(wǎng)絡(luò)通信過程中出現(xiàn)差錯的幾率。

2 CRC算法的校驗規(guī)則

能否除盡作為CRC算法中數(shù)據(jù)信息的校驗規(guī)則,對于可以被多項式除盡的數(shù)據(jù),說明出錯錯誤的概率就較低,對于無法被多項式除盡的數(shù)據(jù),則應(yīng)返回數(shù)據(jù)校驗中,檢查數(shù)據(jù)的的出錯點,將多余的余數(shù)減去,再運用多項式進(jìn)行除法運算,若可以被除盡說明誤碼問題已解決。但在減去余數(shù)的這一過程涉及新的算法,涵蓋更為復(fù)雜的數(shù)學(xué)運算,無法采用拼接的方式將數(shù)據(jù)進(jìn)行編碼。因此,對于這一現(xiàn)象,可采用前文CRC算法分析中提及的模2運算方式,通過模2加、模2減、模2乘、模2除四種方式,計算最終結(jié)果。

在CRC算法錯誤檢測機制中,采用奇偶校驗法,通過奇數(shù)與偶數(shù)的不同,分別檢測奇數(shù)和偶數(shù)中的錯誤數(shù)據(jù)。隨著技術(shù)進(jìn)步,當(dāng)前所能檢測的校驗錯誤最大數(shù)值可達(dá)到16位,且檢測效果較強。信息通訊過程中,信息接收部分接收到相關(guān)信息時,收到循環(huán)校驗碼指令后,用多項式數(shù)字代碼做除法運算,如果可以除盡,說明數(shù)據(jù)傳輸中無誤碼現(xiàn)象,但如果有余數(shù),說明存在誤碼現(xiàn)象,可啟動模2運算程序,減去多余的余數(shù),使得出的結(jié)果為整數(shù),且余數(shù)為0。

3 計算機網(wǎng)絡(luò)通信中CRC算法的應(yīng)用

因CRC算法的檢測成本低、檢錯能力強等優(yōu)勢,使之廣泛應(yīng)用于計算機網(wǎng)絡(luò)通信過程,下面將從CRC算法的應(yīng)用過程、校驗碼生成、優(yōu)劣勢等角度,重點闡述計算機網(wǎng)絡(luò)通信中CRC算法的應(yīng)用。

3.1 CRC算法的應(yīng)用過程

為實現(xiàn)計算機網(wǎng)絡(luò)通信,CRC算法通過在計算機網(wǎng)絡(luò)各數(shù)據(jù)間建立編碼關(guān)系,設(shè)置編碼數(shù)據(jù)庫(如圖1所示),并將校驗碼加入數(shù)據(jù)包的末端部分,以此實現(xiàn)計算機網(wǎng)絡(luò)信息的傳輸與共享。當(dāng)校驗碼與計算機數(shù)據(jù)產(chǎn)生聯(lián)系后,可以實現(xiàn)數(shù)據(jù)的流通與傳輸,數(shù)據(jù)可以從起始位置傳輸?shù)綌?shù)據(jù)終端接收部位,終端接收數(shù)據(jù)后通過一系列“譯碼”判斷是否能夠?qū)⑹斋@的數(shù)據(jù)對外共享。如果在“譯碼”過程中,發(fā)現(xiàn)數(shù)據(jù)運算結(jié)果不正確,說明數(shù)據(jù)存在傳輸過程中出現(xiàn)誤碼問題,仍需進(jìn)一步“譯碼”循環(huán)往復(fù),直至最終的計算結(jié)果與源地址的結(jié)果相符,才能夠說明數(shù)據(jù)在傳輸過程中未出現(xiàn)錯誤,終端接收的數(shù)據(jù)才能進(jìn)入下一環(huán)節(jié),實現(xiàn)數(shù)據(jù)共享[4]。

圖1 編碼數(shù)據(jù)庫示意圖

如前文所述,CRC算法是通過發(fā)送數(shù)據(jù)包形式實現(xiàn)數(shù)據(jù)傳輸和數(shù)據(jù)共享的,數(shù)據(jù)包中的段開銷及數(shù)據(jù)均已代碼組的形式呈現(xiàn),通過二進(jìn)制運算,完成數(shù)據(jù)傳輸目的。二進(jìn)制計算過程中,通過多項式除法運算,依據(jù)計算結(jié)果判斷數(shù)據(jù)傳輸過程中有無誤碼問題,如果不能被多項式除盡,有余數(shù)出現(xiàn),說明數(shù)據(jù)傳輸過程中存在誤碼問題,影響計算機網(wǎng)絡(luò)信息傳輸準(zhǔn)確性和傳輸質(zhì)量,需要再通過減法運算,再進(jìn)行除法運算,直至算出的結(jié)果為整數(shù)時才能終止校驗。如果可以被多項式除盡,說明數(shù)據(jù)傳輸過程較順利,沒有出現(xiàn)誤碼問題。上述計算中,模2是常用的運算方法,便于操作、計算準(zhǔn)確,能夠真實反映計算機網(wǎng)絡(luò)通信情況。

3.2 校驗碼生成

計算機網(wǎng)絡(luò)通信中CRC算法的應(yīng)用以校驗碼的生成為主,其原理大體可以概括為:可以將被校驗的n位數(shù)據(jù)塊看做n階二進(jìn)制的多項式:

發(fā)送方和接收方約定以r階生成多項式G(x),將G(x)作為除數(shù),帶入除法運算中,無法除盡生成余數(shù)多項式 y(x),y(x)即 m(x)的校驗碼,再將 m(x)附在n位數(shù)據(jù)塊之后一并發(fā)送至接收方,以接收方最終收到的多項式為準(zhǔn),作為被除數(shù),除以除數(shù)G(x),可以被整除即可說明校驗成功。表1為16位CRC校驗原理及算法,將相關(guān)數(shù)字帶入式(2)即可得到如表1所示的相關(guān)數(shù)據(jù)。

表1 16位CRC校驗原理及算法

CRC校驗流程如下:

(1)將所有編碼數(shù)據(jù)做初始化處理,使之回歸初始階段,并設(shè)置循環(huán)變量的初始值。

(2)實現(xiàn)數(shù)據(jù)信息傳輸,將數(shù)據(jù)信息按照設(shè)置的傳輸路徑,將其輸送至余數(shù)數(shù)據(jù)空間,原有的余數(shù)數(shù)據(jù)產(chǎn)生相應(yīng)位移,向左移動8位或1位。

(3)將余數(shù)數(shù)據(jù)的最高位與“1”對比,判斷余數(shù)數(shù)據(jù)的為高危是否為1,如果等于1,可以將其代入多項式進(jìn)行除法計算,判斷是否能夠整除。

(4)這一階段還需判斷循環(huán)冗余算法是否經(jīng)過8次循環(huán),256次反復(fù)校驗編碼,最后將已經(jīng)完成8次循環(huán)的余數(shù)數(shù)據(jù)進(jìn)行存儲。

(5)余數(shù)數(shù)據(jù)最高位經(jīng)與“1”對比后,發(fā)現(xiàn)不等于1,且未經(jīng)過8次循環(huán),針對這種情況,需要重新啟動CRC算法,重新整理并收集數(shù)據(jù),傳輸至余數(shù)單元,重復(fù)計算[5]。

通過以上校驗碼的生成方法能夠有效判斷出數(shù)據(jù)傳輸中的錯誤,進(jìn)而及時更正數(shù)據(jù)信息,在實際應(yīng)用中,可有效提升計算機網(wǎng)絡(luò)信息傳輸效率,保證數(shù)據(jù)信息傳輸質(zhì)量。

3.3 CRC算法的優(yōu)缺點

在計算機網(wǎng)絡(luò)通信過程中,CRC算法具有明顯優(yōu)勢,但從糾錯差錯這一項功能來看,就是其他算法無法比擬的。CRC算法可以在短時間,通過調(diào)動軟件系統(tǒng)的各種程序,經(jīng)過一系列運算,判斷整個數(shù)據(jù)傳輸過程中有無出現(xiàn)誤碼,提高了網(wǎng)絡(luò)信息傳輸?shù)募m錯率,保證了通信效率,與傳統(tǒng)的糾錯算法相比,具有成本低、糾錯質(zhì)量高等優(yōu)勢,具有較強的應(yīng)用價值。

CRC算法在具有較強優(yōu)勢的同時,也存在一定缺陷,如數(shù)據(jù)存儲量大,存儲空間不足,一定程度影響算法的糾錯效率,因此,在未來的發(fā)展中,研究人員還應(yīng)在擴(kuò)大數(shù)據(jù)存儲空間上狠下功夫。

4 CRC算法糾錯條件與注意事項

4.1 糾錯條件

CRC算法需要滿足的糾錯條件主要包含以下三個方面:一是針對數(shù)據(jù)傳輸過程中存在的奇數(shù)個錯誤做糾錯處理;二是對于單個突發(fā)性的錯誤做到有效糾正;三是對于兩個或兩個以上的偶數(shù)個錯誤進(jìn)行有效的糾錯處理。

對于滿足以上三個條件的通信過程進(jìn)行CRC算法校驗,檢測計算機網(wǎng)絡(luò)通信過程中存在的無差問題,以充分滿足計算機網(wǎng)絡(luò)通信對數(shù)據(jù)準(zhǔn)確性的要求,推動計算機網(wǎng)絡(luò)整體通信水平的提升。

4.2 注意事項

4.2.1 多項式選擇

在CRC算法的實際應(yīng)用中,為有效判斷計算機網(wǎng)絡(luò)通信傳輸過程中存在的問題,需進(jìn)行糾錯校驗,通過以二進(jìn)制位代表的數(shù)據(jù)包與多項式相除形式,計算是否得到整數(shù),通過對能都整除的判斷,正確了解計算機網(wǎng)絡(luò)通信過程中存在的問題。但這一過程對多項式的選取要求較高,多項式條件的優(yōu)劣關(guān)系著最終計算結(jié)果正確與否,因此,在CRC算法應(yīng)用過程中,更應(yīng)重視多項式的選擇。

一般情況,多項式大都由系統(tǒng)設(shè)定的程序自動生成,在整個CRC算法應(yīng)用過程中,按照數(shù)據(jù)傳輸規(guī)律設(shè)計多項式生成公式,其中,差錯及誤碼檢測特點是影響多項式生成的主要原因,所以為充分保證多項式的準(zhǔn)確可靠性,必須保證數(shù)據(jù)包能被整除,也就是沒有余數(shù),只有滿足這些條件,才能確保多項式的生成效果。

4.2.2 算法編碼方式

通過對CRC算法的分析,了解到該算法在應(yīng)用過程中需要將數(shù)據(jù)包編碼處理,用生成多項式G(x)去除待發(fā)送的數(shù)據(jù)串,最終得到的余數(shù)就是CRC校驗碼。算法編碼的主要目的在于將第k位的有效信息實現(xiàn)移位,如向做移位r個單位,從而得到余數(shù)的過程[6]。采用模2的計算公式,對于所得余數(shù)代入多項式進(jìn)行云端,最終得到準(zhǔn)確的校驗碼的過程。

5 結(jié)論

綜上所述,在計算機網(wǎng)絡(luò)通信過程中,與傳統(tǒng)算法相比,CRC算法有較大的應(yīng)用價值,具有糾錯率高、成本低、行速度快等特點,能夠通過發(fā)送數(shù)據(jù)包的形式,將數(shù)據(jù)包與多項式進(jìn)行除法運算,從而有效檢測數(shù)據(jù)傳輸過程中的錯誤,并能及時糾正,提高網(wǎng)絡(luò)通信質(zhì)量和通信效率,對今后計算機網(wǎng)絡(luò)通信整體效率的提高具有明顯的推動作用。需要注意的是,在該算法的具體應(yīng)用過程中,應(yīng)注意多項式的選擇和算法編碼方式問題,以更好地提升該算法的應(yīng)用效率。

猜你喜歡
校驗網(wǎng)絡(luò)通信數(shù)據(jù)包
復(fù)雜多耦合仿真模型校驗工具研究
使用Excel朗讀功能校驗工作表中的數(shù)據(jù)
二維隱蔽時間信道構(gòu)建的研究*
電能表在線不停電校驗技術(shù)
信息化時代網(wǎng)絡(luò)通信安全的背景和對策
4G系統(tǒng)的新技術(shù)和特點
C#串口高效可靠的接收方案設(shè)計
5G網(wǎng)絡(luò)通信技術(shù)應(yīng)用的前瞻性思考
精通文件校驗的“門道”
網(wǎng)絡(luò)數(shù)據(jù)包的抓取與識別
鲁山县| 阿勒泰市| 曲阜市| 正蓝旗| 浑源县| 巧家县| 泸水县| 赤水市| 武宁县| 西乡县| 阳新县| 玉田县| 合川市| 东宁县| 临沂市| 修文县| 安新县| 磐安县| 津市市| 巴塘县| 甘德县| 西乡县| 贞丰县| 南溪县| 达州市| 万载县| 桓仁| 苍溪县| 德州市| 沿河| 莲花县| 镇江市| 康乐县| 兰溪市| 改则县| 广丰县| 盐津县| 邮箱| 家居| 榆林市| 错那县|