看看鏈路層中的差錯檢測和糾正技術

差錯檢測和糾正技術

寫在前面:這裏是小王成長日誌,一名在校大學生,想在學習之餘將自己的學習筆記分享出來,記錄自己的成長軌跡,幫助可能需要的人。歡迎關注與留言。

這是系列博客 計算機網絡-自頂向下 中的其中一篇,更多博文請訪問專欄 計算機網絡 ,如有錯誤還請各位大佬指

1 奇偶校驗

  • 單個奇檢驗
    在這裏插入圖片描述

    • 在總長度d比特發送信息的末尾添加一個比特使得d+1比特中1的總數是奇數,偶檢驗同理
  • 奇偶檢驗的問題

    • 對於出現偶數個比特差錯的情況無能爲力

    -如果比特差錯的概率小,而且比特之間的差錯可以被看作是獨立發生的,在一個分組中多個比特同時出惜的概率將是極小的,那麼單個奇偶檢驗位可能就足夠了

    • 但是測量已經表明了差錯經常以"突發"方式聚集在一起,而不是獨立地發生 。 失誤率達50%。
  • 二維奇偶檢驗

    • 將**數據分爲i 行 j 列,**對每行和每列計算奇偶值,產生的 i + j + 1 奇偶比特構成了鏈路層幀的差錯檢測比特
    • 圖例

    -

  • 前向糾錯 (Forward Enor Correction , FEC)

    • 接收方檢測和糾正差錯的能力被稱爲前向糾錯
    • 這些技術通常用於如音頻 CD 這樣的音頻存儲和回放設備中

2 檢驗和方法

  • 因特網檢驗和-對於檢驗和的相關概念以及計算方式已經在這篇博客中給出,有疑惑的讀者可移步-沒搞清運輸層的UDP協議? -哎呀, 早來這看就好了啊

    • 總的計算方式:字段相加,超出回捲,總和求反
    • 運輸層通常是在主機中作爲用戶操作系統的一部分用軟件實現的。因爲運輸層差錯檢測用軟件實現,採用簡單而快速如檢驗和這樣的差錯檢測方案是重要的 。

3 循環冗餘檢測 (Cyclic RedundancyCheck , CRC) 編碼

  • 鏈路層的差錯檢測在適配器中用專用的硬件實現,它能夠快速執行更復雜的 CRC 操作
    在這裏插入圖片描述

  • 對於一個給定的數據段 D , 發送方要選擇 r 個附加比特 R , 並將它們附加到 D 上,使得得到的 d +r 比特模式(被解釋爲一個二進制數)用模 2 算術恰好能被 G 整除 l(即沒有餘數) 。

  • 用 CRC 進行差錯檢測的過程因此很簡單:接收方用 G去除接收到的d +r 比特。 如果餘數爲非零,接收方知道出現了差錯 ,否則認爲數據正確而被接收。

  • 原理

    • 發送方計算機使用某公式計算出被傳送數據所含信息值,並將此值附在被傳送數據後,接收方計則對同一數據相同的應該得到相同的結果。如果這兩個CRC結果不一致,則說明發送中出現了差錯,接收方計算機可要求發送方計算機重新發送該數據

都看到這裏了,各位哥哥姐姐叔叔阿姨給小王點個贊 關個注 留個言吧,和小王一起成長吧,你們的關注是對我最大的支持。
有事沒事進來看看吧 : 小王的博客目錄索引
更多計算機網絡優質博客看這 : 計算機網絡專欄博客索引


如果以上內容有任何不準確或遺漏之處,或者你有更好的意見,就在下面留個言讓我知道吧-我會盡我所能來回答。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章