文章首發於我的個人部落格
在資料傳輸過程中可能出現位元差錯(1可能變為0,0也可能變為1).為了保證資料傳輸的可靠性,在計算機網路傳輸資料時,必須採用各種差錯檢測措施。
一般來說,糾錯碼的編碼效率不如檢錯碼的編碼效率,因而在通訊中用得較多的還是檢錯碼。在資料鏈路層中,最廣泛應用的檢錯碼是一種漏檢率很低也便於硬體實現的迴圈冗餘校驗碼crc(cyclic redundancy code)。
crc碼又稱多項式碼,任何乙個由二進位制位數串組成的**都可由乙個只含有0和1兩個係數的多項式建立對應關係。
如110001
,可以表示為x5+
x4+1
x^5+x^4+1
x5+x4+
1、假設待傳送資料m=1101011011
,採用crc的多項式是p=x
4+x+
1p = x^4+x+1
p=x4+x
+1,即10011
,n=4。在m的後面新增n個0,然後將得到的新的位元序列除以p(10011),得到的商是q,而餘數是r。所得的餘數r(1110)即為冗餘碼。
在資料m後面新增冗餘碼稱為幀檢驗序列fcs。從上圖可以看出,使用fcs除以p得到的餘數結果為0。由此可以實現檢錯功能。
計算機網路實驗 迴圈冗餘檢驗CRC
題目描述 crc的基本思想 將二進位制位串看成係數為0或1的多項式。使用crc編碼時,傳送方和接收方必須事先商定乙個生成多項式g x 生成多項式的最高位和最低位的係數必須是1。假設乙個幀有m位,對應的多項式為m x 為了計算它的校驗和,該幀必須比生成多項式長。crc的原理 在幀的尾部追加乙個校驗和,...
計算機網路 迴圈冗餘校驗CRC演算法原理 計算過程
前言 我們知道,一台主機向另外一台主機傳送報文的時候,需要一層層經過自己的協議棧進行資料封裝,到達最後一層 四層協議的網路介面層 時需要在幀尾部新增fcs校驗碼 通過crc演算法得出 當對端主機收到時,在接收端同樣通過crc演算法進行驗證,確認傳輸過程中是否出現錯誤。它只能確認乙個幀是否存在位元差錯...
計算機網路 CRC校驗
crc即迴圈冗餘校驗碼 是資料通訊領域中最常用的一種查錯校驗碼,其特徵是資訊字段和校驗欄位的長度可以任意選定。迴圈冗餘檢查 crc 是一種資料傳輸檢錯功能,對資料進行多項式計算,並將得到的結果附在幀的後面,接收裝置也執行類似的演算法,以保證資料傳輸的正確性和完整性。方法 迴圈冗餘檢驗的原理 在資料鏈...