數據鏈路層差錯檢測方法


0、奇偶校驗

方法內容:

分為兩個方法:奇校驗和偶校驗

奇校驗:在每個字節后加一位,0/1,保證整體1的數目為奇數

偶校驗:在每個字節后加一位,0/1,保證整體1的數目為偶數

方法優缺點:

缺點:

檢驗正確率只有50%

對於每個字節添加一位,影響傳輸效率

優點:

邏輯簡單,可以直接寫在硬件上,減少軟件負擔

1、累加和校驗

方法內容:

最常用的一種是在一次通訊數據包的最后加入一個字節的校驗數據。這個字節內容為前面數據包中全部數據的忽略進位的按字節累加和。

方法優缺點:

優點:

簡單,判斷錯誤的概率很低,因此被廣泛應用

2、循環冗余檢驗

 方法內容:

1、在發送端,先把數據划分為組M。(這里的數據指的是哪一部分)假定每組k個比特。

2、用二進制的模2運算求出n位冗余碼(檢驗位),供差錯檢測用。

CRC計算規則:

模2加法:兩者異得1,兩者同得0

模2減法:兩者異得1,兩者同得0

模2除法就是利用上述兩點進行的二進制除法。之所以采用這種方法,是為了避免除法中減法的借位問題,所以除法變簡單了。

被除數的名字叫做生成多項式。有好幾種方法可以設計。一般是兩個多項式相乘。計算前先將原始數據后面填四個零。

生成多項式的位寬是位數減一。

生成多項式是接受方和發送方的一個約定,也就是一個二進制數,在整個傳輸過程中,這個數始終保持不變。在發送方,利用生成多項式對信息多項式做模2除生成校驗碼。在接受方利用生成多項式對收到的編碼多項式做模2除檢測和確定錯誤位置。理論上生成多項式可以是任意的數,但是為了更好的差錯檢驗(這個數傳輸過程可能出錯),所以定義了一套好的容錯標准:

應滿足以下條件:
A、生成多項式的最高位和最低位必須為1。
B、當被傳送信息(CRC碼)任何一位發生錯誤時,被生成多項式做除后應該使余數不為0。
C、不同位發生錯誤時,應該使余數不同。
D、對余數繼續做除,應使余數循環。

 

 

 

方法優缺點:

幾乎可以做到完全可靠傳輸

缺點是找不出哪一位發生了錯誤

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM