湯小斌
?
CRC算法在計算機網絡通信中的應用
湯小斌
重慶三峽學院,重慶 404000
CRC,即循環冗余校驗碼,是計算機網絡通信領域常用的校驗碼。循環冗余校驗碼包括一系列移位、相除等數據編碼規則,其算法原理、算法程序的設計與分析,都可以通過相應的軟件編碼進行解決。循環冗余校驗碼是利用軟件進行校驗的算法,因此其檢驗速度很快,校驗的誤碼率也較低。整個計算機網絡通信的信息傳輸速度很高。基于此,主要對CRC算法在計算機網絡中的應用進行了詳細的分析與探討。
CRC算法;計算機網絡通信;應用
目前,隨著網絡數據傳輸速度的不斷加快,數據傳輸過程中的錯誤代碼越來越多,出現誤碼現象的概率也大幅提高,使計算機網絡通信在運行的時候具有很大的不確定性。運用CRC算法則能夠降低出現誤碼情況的概率,使數據和信息的傳輸更加精準、迅速。
CRC算法也可以稱為循環冗余校驗算法。詳細來講,這種算法是一種檢測錯誤的編碼。現如今,隨著計算機網絡通信行業的快速發展,這項算法得到了非常廣泛的應用。相較于那些較為傳統的錯誤檢測編碼形式,CRC算法在防止錯誤漏檢率以及誤碼率等方面具有非常大的優勢。它還具有較為簡單的二元碼組,很大程度上降低了這項算法的誤判率,使計算機網絡通信的數據傳輸更加穩定。CRC算法中最重要的是參數表,包含了256個字節。算法的正常運行需要靠這些字節來維持[1]。因此,在運行算法之前,需要確保參數表能夠容納512個字節,避免算法在運行過程中出現問題。
循環冗余校驗算法能否除盡,是數據信息的評判標準。如果數據信息能夠被多項式除盡,就代表此數據代碼出現誤碼的概率低;如果數據信息不能被多項式除盡,就代表其出現誤碼的概率較高。這個時候就需要對數據進行詳細的分解,找出出現問題的地方,對出現問題的原因進行分析與判斷,并減除掉產生的余數部分,使多項式能夠除盡此數據信息。不過在減除的過程中需要進行非常復雜的數學計算,不能采用拼裝的方法來編碼數據。針對這一問題,網絡通信可以適當運用模2運算的計算方式。通信網絡運行中對數據的校驗一般都是通過代碼的方式呈現出來的。最常見的代碼形式有兩種:一種是字符代碼,一種是數字代碼。模2運算算法運用的是數字代碼形式。一般情況下,對數據的描述都采用多項式來進行。計算機接收端在接收到校驗碼后,會采用多項式除盡數據的代碼。如果最后得出的余數是零,那么數據信息出現誤碼情況的概率也為零;如果得到的結果不是零,那么數據信息可能會出現誤碼的情況。
CRC算法通過相關的數據信息傳輸通道,實現兩個或多個計算機之間的信息互通。校驗后得出的校驗代碼,通常情況下都會展示在被校驗數據文件名稱的末尾。計算機在傳輸數據的時候,首先需要通過循環冗余校驗算法的校驗,確保數據信息在傳輸的過程中不會出現差錯,使數據信息能夠快速、完整地從發送地傳輸到接收地。接收數據的計算機在接收到數據代碼后,會把數據信息的文本內容譯為多組數據代碼,或是將一些信號譯為文字。這種“譯碼”是校驗數據解碼之前必須經過的過程。如果接收到的數據在解碼后得出的結果與傳送之前的結果相同,那么就代表數據在傳輸的過程中沒有出現誤碼的現象;如果接收到的數據在解碼后得到的結果與傳送之前的結果不同,那么就說明數據在傳輸的過程中出現了誤碼現象;如果數據在傳輸的過程中出現差錯,那么接收數據的計算機終端就會反復解碼問題數據,直到解讀出的代碼與之前的結果一致。
在運用循環冗余校驗算法校驗數據計算的時候,需要劃分為多組數據編碼,且需要以二進制字符模式來傳輸這些數據。在檢測計算機網絡通信的校驗碼時,也需要運用二進制字符模式對數據進行表述[2]。在運用多項式除以校驗的數據后,如果結果為零,那么代表計算機通信網絡不會出現錯誤代碼;如果沒有除盡,那么說明數據在傳輸時出現問題。這時候就需要分析與判斷出現問題的原因,確保數據信息在傳輸過程中不受影響。
數據校驗碼的生成是CRC算法在計算機網絡通信應用中最重要的一步。需要做好以下三個階段的工作才能夠生成精準的校驗碼。
(1)需要將全部的數據編碼初始化,并根據數據的實際情況設置循環檢測的速度和次數。
(2)把數據信息轉入具有余數的數據空間內,數據信息介入后會使原來的余數發生變化。然后將改變后的余數單位與1進行比對,使其數據形式只能是1或者0。如果余數單元中最高的數據是1,那么就需要查看多項式的數據代碼以及校驗碼的結果是不是0。此外,還需要確定校驗碼數據循環達到8次。
(3)編碼進行256次校驗,將校驗得出的余數結果備份在計算機設備中。如果校驗碼數據的循環沒有達到8次,那么相關人員就要重新找出需要傳輸的數據信息,將它再次轉入具有余數的數據空間里,重新進行校驗碼數據的檢測,直到數據得到有效的整改。校驗碼的生成能夠大幅降低計算機網絡通信在實際運行時出現錯誤信息以及錯誤代碼的概率,使網絡通信中的數據傳輸更加快速有效。
在循環冗余校驗算法的數據參數表中,包含著一條定義的數據信息以及一個變量標識,所有參數值都能夠從這512個字節中找出。在設計循環冗余校驗算法時,需要將512個字節變量分別存放校驗碼,與計算得出的中間結果。然后再對數據包內的字節按照0或1的方式進行分類。如果本字節與上一字節的異或數值不同,那么異或結果為1,反之則為0。根據這一定律來詳細計算分析全部字節,分析得出的結果就是這一組數據信息的校驗碼。
計算機網絡通信的循環冗余校驗算法,是多種糾錯算法的其中一種。與其他傳統的糾錯算法相比,它具有找錯速度快、數據傳輸安全性高以及糾正錯誤效率快的優勢。在運用這一算法的過程中,需要特別注意多項式選擇以及通信數據的編碼問題,使其發揮出最大的作用,降低計算機網絡通信在傳輸數據時的誤碼率。
[1]許偉,王曉燕.CRC算法在計算機網絡通信中的應用[J].數字技術與應用,2014(2):119,121.
[2]瞿中,袁威,徐問之.CRC算法在計算機網絡通信中的應用[J].微機發展,2002(2):12-14.
Application of CRC Algorithm in Computer Network ommunication
Tang Xiaobin
Chongqing Three Gorges University, Chongqing 404000
CRC, the cyclic redundancy check code, is a common check code in the field of computer network communication. Cyclic redundancy check code encoding rules including a series of shift, phase data, the algorithm principle, algorithm design and analysis, can be solved by encoding the corresponding software. Cyclic redundancy check code is an algorithm that uses software to check it, so its test speed is very fast and the error rate of the check is also low. The information transmission of the whole computer network communication is very high. Based on this, the application of CRC algorithm in the computer network is analyzed and discussed in detail.
CRC algorithm; computer network communication; application
TN915.1
A