注冊(cè)了域名怎么做網(wǎng)站成全在線觀看免費(fèi)高清動(dòng)漫
文章目錄
- 🥚誤碼
- 🍔兩種常見的檢錯(cuò)技術(shù)
- ?奇偶校驗(yàn)
- ?循環(huán)冗余校驗(yàn)
- 🎈例子

🥚誤碼
誤碼首先介紹誤碼的相關(guān)概念
🍔兩種常見的檢錯(cuò)技術(shù)
?奇偶校驗(yàn)
奇校驗(yàn)是在待發(fā)送的數(shù)據(jù)后面添加1個(gè)校驗(yàn)位
,使得添加該校驗(yàn)位后的整個(gè)數(shù)據(jù)中比特1的個(gè)數(shù)
為奇數(shù)
偶校驗(yàn)是在待發(fā)送的數(shù)據(jù)后面添加1個(gè)校驗(yàn)位
,使得添加該校驗(yàn)位后的整個(gè)數(shù)據(jù)中比特1的個(gè)數(shù)
為偶數(shù)
我們來看下面的例子
奇校驗(yàn)
偶校驗(yàn)
于是我們得到了下面的結(jié)論
在所傳輸?shù)臄?shù)據(jù)中,如果有
奇數(shù)個(gè)位發(fā)生誤碼
,則所包含比特1的數(shù)量的奇偶性會(huì)發(fā)生改變,可以檢測(cè)出誤碼。
在所傳輸?shù)臄?shù)據(jù)中,如果有偶數(shù)個(gè)位發(fā)生誤碼
,則所包含比特1的數(shù)量的奇偶性不會(huì)發(fā)生改變,無法檢測(cè)出誤碼(漏檢)
。
?循環(huán)冗余校驗(yàn)
數(shù)據(jù)鏈路層廣泛使用漏檢率極低
的循環(huán)冗余校驗(yàn)(Cyclic Redundancy Check,CRC)檢錯(cuò)技術(shù)。
循環(huán)冗余校驗(yàn)CRC的基本思想:
收發(fā)雙方約定好一個(gè)
生成多項(xiàng)式G(X)
。
發(fā)送方基于待發(fā)送的數(shù)據(jù)和生成多項(xiàng)式G(X),計(jì)算出差錯(cuò)檢測(cè)碼(冗余碼
),將冗余碼添加到待發(fā)送數(shù)據(jù)的后面一起傳輸。
接收方收到數(shù)據(jù)和冗余碼后,通過生成多項(xiàng)式G(X)來計(jì)算收到的數(shù)據(jù)和冗余碼是否產(chǎn)生了誤碼。
發(fā)送方CRC操作
如下圖所示
進(jìn)行除法,將待發(fā)送的數(shù)據(jù)作為被除數(shù)的一部分,后面添加生成多項(xiàng)式最高次個(gè)0以構(gòu)成被除數(shù)。
生成多項(xiàng)式各項(xiàng)系數(shù)構(gòu)成的比特串作為除數(shù),進(jìn)行除法,得到商和余數(shù)
將余數(shù)添加到發(fā)送數(shù)據(jù)的后面,一起發(fā)送。
注意:
商僅作為標(biāo)記,防止計(jì)算過程對(duì)錯(cuò)位
余數(shù)的長(zhǎng)度應(yīng)與生成多項(xiàng)式最高次數(shù)相同,作為冗余碼
這里的除法是指:二進(jìn)制模2除法,二進(jìn)制模2除法既不向上進(jìn)位,也不比較除數(shù)和被除數(shù)的對(duì)應(yīng)位數(shù)值的大小,只要以相同位數(shù)進(jìn)行相除即可,相當(dāng)于對(duì)應(yīng)位進(jìn)行邏輯異或運(yùn)算
接收方CRC操作
如下圖所示
與發(fā)送方類似,也要進(jìn)行除法。
將收到的數(shù)據(jù)和冗余碼
作為被除數(shù),生成多項(xiàng)式各項(xiàng)系數(shù)構(gòu)成的比特串作為除數(shù),進(jìn)行除法,得到商和余數(shù)。
如果余數(shù)為0,就可判定數(shù)據(jù)和冗余碼中沒有出現(xiàn)誤碼
,否則出現(xiàn)了誤碼生成多項(xiàng)式舉例
🎈例子
發(fā)送方
將冗余碼添加到待發(fā)送數(shù)據(jù)的后面進(jìn)行發(fā)送
接收方
注意:
數(shù)據(jù)鏈路層的差錯(cuò)檢測(cè)通常通過循環(huán)冗余檢驗(yàn)(CRC)來實(shí)現(xiàn)。CRC是一種基于多項(xiàng)式除法的技術(shù),用于對(duì)數(shù)據(jù)幀進(jìn)行檢驗(yàn),以確定數(shù)據(jù)在傳輸過程中是否發(fā)生了錯(cuò)誤。
在數(shù)據(jù)鏈路層,發(fā)送方在發(fā)送數(shù)據(jù)幀之前會(huì)計(jì)算出一個(gè)CRC碼,并將其附加到數(shù)據(jù)幀的尾部。接收方在接收數(shù)據(jù)幀后,也會(huì)計(jì)算接收到的數(shù)據(jù)幀中的CRC碼,然后與接收到的CRC碼進(jìn)行比較。如果兩者不一致,則表明數(shù)據(jù)幀在傳輸過程中發(fā)生了錯(cuò)誤。
通過CRC的差錯(cuò)檢測(cè),數(shù)據(jù)鏈路層能夠及時(shí)發(fā)現(xiàn)數(shù)據(jù)幀中的比特錯(cuò)誤,從而提高數(shù)據(jù)傳輸?shù)目煽啃浴?/p>