CRC錯誤是指什麼?怎樣解決?車小胖2019-07-31 17:05:36

先看兩幅圖片,分別為路由器的乙太網介面、序列介面,每個介面下都有大量的CRC錯誤。

CRC錯誤是指什麼?怎樣解決?

CRC錯誤是指什麼?怎樣解決?

什麼是CRC校驗錯誤?

通常,傳送方的資料鏈路層(網絡卡),將IP報文新增幀頭、幀尾,然後硬體晶片將整個幀,編碼成0、1二進位制流,傳送到網線上去。幀尾就是圖中的CRC,共4個位元組,用於接收方校驗幀在網線的傳輸過程中,幀資料是否發生了改變。

CRC校驗覆蓋範圍

從圖中的“

Destination MAC

”第一位起,到“

Payload

”最後一位止,是CRC校驗的計算範圍,傳送方將己方的計算得到的CRC校驗值,填入幀尾的CRC部分中。

CRC錯誤是指什麼?怎樣解決?

接收方如何校驗?

接收方的硬體網絡卡,將接收到的幀分成兩部分:

接收到的幀資料

接收到的CRC

使用和傳送方相同的

迴圈冗餘校驗演算法(CRC)

,計算出本地計算的CRC。

如果

接收到的CRC = 本地計算的CRC

則校驗成功,幀資料接收成功,等待上層程式前來提取。

否則校驗失敗,幀資料被丟棄處理。

什麼原因造成CRC錯誤?

絕大多數是由於網線質量差造成的,換一根質量好一些的網線即可。

極少一部分是由於網絡卡的驅動程式、不恰當的配置造成的,需要更新驅動程式。

非常稀少的可能是由於網絡卡硬體的故障造成的,換一塊網絡卡測試一下便知。