CRC迴圈冗餘檢驗

2021-07-31 22:46:56 字數 943 閱讀 8609

現實的通訊鏈路都不會是理想的。位元在傳輸過程中可能會產生差錯:1可能變成0,而0也可能變成1,這叫做位元差錯。

crc迴圈冗餘檢驗:

是一種根據網路資料報或電腦檔案等資料產生簡短固定位數校驗碼的一種雜湊函式,主要用來檢測或校驗資料傳輸或者儲存後可能出現的錯誤。它是利用除法及餘數的原理來作錯誤偵測的。

crc的具體操作如下:

在傳送端,在資料m後面新增供差錯檢測的n位冗餘碼,然後構成乙個幀傳送出去。

在接收端,把接收的資料以幀為單位進行crc校驗,即把收到的每乙個幀都除以同樣的除數p,然後檢查餘數r。

(1)如果得到的餘數r=0,則判定這個幀沒有差錯,就接受;

(2)如果餘數r != 0,則判定這個幀有差錯,就丟棄。

下面重點是n位冗餘碼怎麼獲得。

用二進位制的模2運算(進行加法時不進製)進行2的n次方乘m的運算,這相當於在m後面新增n個0。得到的(k+n)位的數除以收發雙方事先商定的長度為(n+1)位的除數p,得到商q而餘數是r。

公式:

例如:m=101001,假如除數p=1101,經過模2除法運算後的結果是:q=110101,餘數p=001,r要拼接在m的後面傳送出去,即傳送的幀為101001001。

如圖:

接受到幀之後進行同樣的操作,然後進行上面說過的餘數r判斷。

如此crc就完成了,此外還要強調一點:

在資料鏈路層若僅僅使用迴圈冗餘檢驗crc差錯檢測技術,則只能做到對幀的無差錯接受(因為錯的被丟棄的了,所有認為收到的幀都是無差錯的)。

CRC檢驗 迴圈冗餘檢驗

一 什麼是crc迴圈冗餘校驗?位元差錯 現實中的 通訊鏈路是不理想的,這也就是說在傳輸過程中可能會產生差錯,1也許會變成0,0或許也會變成1。這就是位元差錯。crc迴圈冗餘校驗則是為了解決資料鏈路層中存在的位元差錯問題。crc迴圈冗餘校驗原理 大多數書上基本上是以二進位制的多項式形式來說明的。其實它...

迴圈冗餘檢驗CRC

1.在傳送端把資料劃分為組,假定每組k個位元,現假定待傳輸資料m 101001,則k 6。2.crc運算就是在資料m後面新增供差錯檢測用的n位冗餘碼,然後構成資料幀傳送過去,一共傳送 k n 位。3.n位冗餘碼可以用二進位制的模2運算得出,這就相當於在m後面新增n個0。4.用上述得到的 k n 位數...

迴圈冗餘檢驗CRC

crc簡介 迴圈冗餘校驗 cyclic redundancy check,crc 是一種根據網路資料報或電腦檔案等資料產生簡短固定位數校驗碼的一種雜湊函式,主要用來檢測或校驗資料傳輸或者儲存後可能出現的錯誤。它是利用除法及餘數的原理來作錯誤偵測的。在資料傳輸過程中,無論傳輸系統的設計再怎麼完美,差錯...