在網路傳輸中,由於噪音和訊號衰減等,經常會在鏈路中發生位元翻轉、丟失等·。為此在資訊接收方常常需要對接收到的資訊進行檢錯和糾錯。常用的幾種檢錯和糾錯方法有
奇偶校驗,校驗和,迴圈冗餘編碼等。
1、奇偶校驗
利用在資訊後面附加乙個奇偶校驗位來進行校驗
事先通訊雙方約定是採用奇校驗還是偶校驗,假設採用偶校驗,則傳送方在資訊後面附加一位使所有資訊(包括校驗位)中一共有偶數個1,在接收方檢驗資訊中1的個數,若為奇數個則判定出錯。
優點:編碼簡單,方便
缺點:只能檢錯不能糾錯,當發生偶數個錯誤時,不能檢測出
為此,發展出二維奇偶校驗
將要傳送的d位數組成i行j列的二維矩陣,並使用i+j+1個校驗位編碼。
對於單個位元錯誤二維奇偶校驗不僅能夠檢測出而且能夠糾正,對於校驗碼本身的錯誤也能糾正,而且對於分組中兩個位元錯誤的任何組合都能夠檢測出但不能糾正。
2、校驗和
校驗和是將分組中所有位每16位為一組,求和,將求和的結果取反碼即得到校驗碼
對於求和溢位的情況,將溢位的那一位與最後一位相加。
接收方收到資訊後將所有資料16位為一組相加(包括校驗位)如果最終結果不是全1,則判斷出錯。
校驗和相對開銷較crc小,只需要16位。
3、迴圈冗餘編碼crc
迴圈冗餘編碼也稱多項式編碼
通訊雙方約定乙個r+1位元的生成多項式g,傳送方在d位元資料後附加r位元crc碼,使這d+r多項式可以整除g。接收方用g去除接收到的d+r如果餘數不為0則判斷出錯。
其中 r=(d*2^r)/g的餘數
校驗和通常在運輸層中應用而crc通常用在鏈路層,主要因為運輸層通常在使用者主機中作為作業系統的一部分實現,所以使用相對簡單和快速的校驗和,而鏈路層差錯檢測在介面卡中用專業硬體實現,能夠快速處理複雜多crc操作。
計網 17差錯檢測和糾正技術
檢錯重發 detect and retransmission 檢測到傳送方報文受損,則通知傳送方重傳副本 差錯率低效果好 適用場合 檢錯重發適合鏈路差錯率很低的場合,如有線通訊前向糾錯 forward error correction,fec 糾錯通過額外資訊 預先 進行 時效性好 適用場合 前向糾...
計算機網路 差錯檢測和糾正技術
比特級差錯檢測和糾正 bit level error detection and correction 即對從乙個節傳送到另乙個物理上連線的領近節點的鏈路層幀中的位元損傷進行檢測和糾正。在發生節點,為了保護位元免受差錯,使用檢測和糾正位元 error detection and correction...
糾錯技術之FEC(向前糾錯)
糾錯碼 error correcting code 在傳輸過程中發生錯誤後能在收端自行發現或糾正的碼。僅用來發現錯誤的碼一般常稱為檢錯碼。為使一種碼具有檢錯或糾錯能力,須對原碼字增加多餘的碼元,以擴大碼字之間的差別 即把原碼字按某種規則變成有一定剩餘度 見信源編碼 的碼字,並使每個碼字的碼之間有一定...