日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【计算机网络】数据链路层 : 差错控制 ( 检错编码 | 奇偶校验码 | CRC 循环冗余码 )★

發布時間:2025/6/17 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【计算机网络】数据链路层 : 差错控制 ( 检错编码 | 奇偶校验码 | CRC 循环冗余码 )★ 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、 奇偶校驗碼
  • 二、 奇偶校驗碼 特點
  • 三、 奇偶校驗碼 示例
  • 四、 CRC 循環冗余碼 ( 原理說明 )
  • 五、 CRC 循環冗余碼 計算示例
  • 六、 CRC 循環冗余碼 生成多項式





一、 奇偶校驗碼



奇偶校驗碼 組成 :

① 信息元 : n?1n-1n?1 位 ; 要發送的有效數據 ;

② 校驗元 : 111 位 ; 冗余碼 ;

③ 奇校驗碼 : 111 的個數為 奇數 ; 冗余位 111 ;

④ 偶校驗碼 : 111 的個數為偶數 ; 冗余位 000 ;





二、 奇偶校驗碼 特點



奇偶校驗碼 特點 : 該編碼方法 , 只能檢查 奇數個 比特錯誤 , 如果有 偶數個比特錯誤 , 無法檢查出來 , 檢錯率是 50%50\%50% ;





三、 奇偶校驗碼 示例



奇偶校驗碼 示例 :

傳輸 字符 ‘S’ 的 ASCII 碼 110010111001011100101 , 使用 奇校驗碼 , 在 數據前 添加 111 位 冗余位 111 , 表明 111 的個數為奇數 , 上述數據的 111 的個數為 555 個 , 是奇數個 ;

奇數個錯誤 : 如果接受到的數據中 111 的個數是 偶數個 , 此時就能檢測出數據錯誤 ;

偶數個錯誤 : 如果接收到的數據中 111 的個數為 奇數個 , 那么就會判斷接收的數據是正確的 ; 無法檢查出 偶數個錯誤 ;





四、 CRC 循環冗余碼 ( 原理說明 )



發送端 :

① 要傳輸的數據 : 555 ;

② 生成多項式 : 222 ;

③ 計算冗余碼 : 使用 要傳輸的數據生成多項式=52\cfrac{要傳輸的數據}{生成多項式} = \cfrac{5}{2}?=25? , 商是 222 , 余數是 111 ;

④ 冗余碼 : 余數 111 就是 FCS 幀檢驗序列 , 也就是 冗余碼 ;

⑤ 最終發送的數據 : 5+1=65 + 1 = 65+1=6



接收端 :

① 接收到的數據 : 666 ;

② 生成多項式 : 222 ;

③ 判定差錯 : 計算 接收到的數據生成多項式\cfrac{接收到的數據}{生成多項式}? 余數是否為 000 , 如果余數為 000 , 說明傳輸過程中沒有錯誤 ;



數據鏈路層 使用 CRC 循環冗余校驗編碼 , 進行差錯控制 , 只能做到無差錯接收 , 凡是接收到的數據幀 , 都是正確的 ;





五、 CRC 循環冗余碼 計算示例



發送數據 11010110111101 0110 111101011011 , 使用 CRC 循環冗余碼 , 生成多項式是 100111001110011 , 求最終的發送數據 ???


最終發送的數據組成 : 原始數據 11010110111101 0110 111101011011 + 幀檢驗序列 FCS ;

計算 幀檢驗序列 FCS :

① 數據加 冗余碼 位數個 000 : 首先確定 冗余碼 位數 , 冗余碼的位數是 生成多項式的 階 , 即 生成多項式 100111001110011 的 總位數 減去 111 , 相當于 離散數學 中的生成函數的 最高位次冪 ; FCS 的位數是 444 位 ;

生成多項式 是 NNN 位 , 那么階 就是 N?1N-1N?1 位 , FCS 幀檢驗序列就是 N?1N-1N?1 位 ;

數據加 444000 后為 110101101100001101 0110 11 000011010110110000


② 模 222 除法 : 數據 加上 000 后 , 除以 生成多項式 , 余數就是 FCS 幀檢驗序列 ;

二進制除法 , 與十進制除法不同的是 , 每個除法相除的計算是 異或操作 ;

異或運算 : 同 000 , 異 111 ;


222 除法計算過程分析 :

  • 110101101011010 異或 100111001110011 計算得到 100110011001 , 然后下一位 111 落下來 , 得到 100111001110011 ;
  • 100111001110011 異或 100111001110011 計算得到 000000000000000 , 然后下面 555 位 落下來 , 得到 101101011010110 ;
  • 101101011010110 異或 100111001110011 計算得到 101101101 , 然后下 222 位落下來 , 得到 101001010010100 ;
  • 101001010010100 異或 100111001110011 計算得到 111011101110

最終計算出來的 幀檢驗序列 是 111011101110 ;

最終發送的數據是 : 11010110111101 0110 111101011011 111011101110



接收端接收數據并校驗 :

① 檢驗過程 : 接收端接收 上述 11010110111101 0110 111101011011 111011101110 數據 , 將上述數據 與 生成多項式 100111001110011 相除 , 如果余數為 000 說明該數據幀沒有差錯 ;

② 結果判定 : 如果余數不為 000 , 說明數據幀錯誤 , 而且不知道哪里出現錯誤 , 丟棄該數據幀 , 重新發送 ;





六、 CRC 循環冗余碼 生成多項式



生成多項式 : G(x)=x3+x2+1G(x) = x^3 + x^2 + 1G(x)=x3+x2+1

相當于 : G(x)=x3+x2+0x1+x0G(x) = x^3 + x^2 + 0x^1 + x^0G(x)=x3+x2+0x1+x0

對應的模二運算的除數 : 110111011101 ;

  • xxx000 次冪系數為 111 , 對應第 000 位 為 111 ;
  • xxx111 次冪系數為 000 , 對應第 111 位 為 000 ;
  • xxx222 次冪系數為 111 , 對應第 222 位 為 111 ;
  • xxx333 次冪系數為 111 , 對應第 333 位 為 111 ;

生成多項式對應的 二進制數 , 總位數是最高次冪加一 , 每一位是對應位前的系數 000111 ;

總結

以上是生活随笔為你收集整理的【计算机网络】数据链路层 : 差错控制 ( 检错编码 | 奇偶校验码 | CRC 循环冗余码 )★的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。