計算機網絡(二十八):差錯檢查和糾正技術

在這裏插入圖片描述
比特級差錯檢測和糾正是對一個結點發送到另一個物理上連接的鄰近結點的鏈路層幀中的比特損傷進行檢測和糾正,它們通常是鏈路層提供的兩種服務。在發送結點,爲了保護比特免受差錯,使用差錯檢測和糾正比特(EDC)來增強數據D。
通常,要保護的數據不僅包括從網絡層傳遞下來需要通過鏈路傳輸的數據報,而且包括鏈路幀首部中的鏈路級的尋址信息、序號和其他字段。鏈路級幀中的 D 和 EDC 都被髮送到接收結點。
在接收節點,接收到比特序列 D’和 EDC’。注意到因傳輸中的比特翻轉所致,D’和 EDC’可能與初始的 D 和 EDC 不同。
差錯檢測和糾正技術使接收方有時但並不總是檢測出已經出現的比特差錯。即使採用差錯檢測比特,也還是可能有未檢出比特差錯。
即判定是否出錯,以及一定程度上的對錯誤進行改正

差錯編碼可分爲檢錯碼與糾錯碼。

①、檢錯碼:

如果編碼集的漢明距離(任意編碼之間相差比特位的最小值)ds=r+1,則該差錯編碼可以檢測r位的差錯。例如,編碼集{0000,0101,1010,1111}的漢明距離 ds=2,可以100%檢測1比特差錯。
這裏是0000與0101相差2,與1010相差2,與1111相差4,以此類推,得到最小的相差值爲2,所以當這四個四比特段中出現1比特的差錯,可以找出。

②、糾錯碼:

如果編碼集的漢明距離ds=2r+1,則該差錯碼可以糾正r位的差錯。例如,編碼集{000000,010101,101010,111111}的漢明距離 ds=3,可以糾正 1 比特差錯,如 100010 糾正爲 101010。
這裏是00000000與010101相差3,以此類推得到最小相差3,所以當這四個字節段中出現1比特的差錯,可以糾正。

1、奇偶校驗:

用來描述差錯檢測和糾正背後隱含的基本思想。最簡單的方式就是用單個奇偶校驗位。
在這裏插入圖片描述
在偶校驗方案中,發送方只需要包含一個附加的而比特,選擇它的值,使得這d+1個比特(初始信息加上一個校驗比特)中1的總數是偶數。對於奇校驗也是同理。簡單地講,如果字節中有奇數個1,則爲1,否則爲0(偶校驗)
採用這種方式,接收方只需要數一數接收的d+1比特中1的數目即可。如果採用偶校驗方案中發現了奇數個值爲1的比特,接收方知道出現了奇數個比特差錯。如果出現了偶數個值爲1的比特,那麼也是可能發生錯誤的。所以這種方法的奇偶校驗檢測能力爲50%。對於奇校驗方案也是同理。
單比特奇偶校驗的一種二維一般化方案
在這裏插入圖片描述
使用這種二維奇偶校驗方案,包含比特值改變的列和行的校驗值都會將出現差錯。因此接收方不僅可以檢測到出現了單個比特差錯的事實,還可以利用存在奇偶校驗差錯的列和行的索引來實際識別發生差錯的比特並糾正。二維奇偶校驗也能夠檢測(但不能糾正!)一個分組中兩個比特差錯的任何組合
簡單地講,就是針對每一行每一列的奇偶校驗
接收方檢測和糾正差錯的能力被稱爲前向糾錯(FEC),這些技術通常用於如音頻CD這樣的音頻存儲和回訪設備中。它可以減少所需的發送方重發的次數;它允許在接收方立即糾正差錯;FEC 避免了不得不等待的往返時延,而這些時延是發送方收到 NAK 分組並向接收方重傳分組所需要的,這對於實時網絡應用或者具有長傳播時延的鏈路(如深空間鏈路)可能是一種非常重要的優點。

2、檢驗與方法:

通常更多地應用於運輸層。
發送端,將數據(校驗內容)劃分成 16 比特的二進制“整數”序列並對其求和(最高位進位的 1 返回最低位繼續加),最終的反碼即爲校驗和,將它放入分組(UDP、TCP、IP)的校驗和字段。
接收端,通過對接受的數據(包括檢驗和)的和取反碼,並且檢測其結果是否爲全1比特來檢測校驗和。如果這些比特中有任何比特爲0,就可以指示出差錯。

3、循環冗餘檢測:

通常更多地應用在適配器中的鏈路層。.
循環冗餘檢測編碼也稱爲多項式編碼,因爲該編碼能夠將要發送的比特串看作爲係數是 0 和 1 的一個多項式,對比特串的操作被解釋爲多項式算術。
在這裏插入圖片描述
對於一個給定的數據段 D,發送方要選擇r個附加比特 R,並將它們附加到 D 上,使得得到的 d+r 比特模式(被解釋爲一個二進制數)用模2算術恰好能被 G 整除(即沒有餘數)。
接收方用G去除接收到的d+r比特。如果餘數爲非零,接受方知道出現了差錯,否則認爲數據正確而被接收。即 R=餘式[D·2^r/G]
在這裏插入圖片描述
以上圖爲例,給定的數據段D=101110,給定的G爲1001,然後用G對D的每一位進行異或操作,直到沒有餘數。圖中由於加入3比特後可以整除,所以r爲3,得到的R=011。即r=G-1,是G的位數-1

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