Internet協議分析 實驗5 信號的檢錯與糾錯

實驗5 信號的檢錯與糾錯

練習一 線性塊編碼的實現與分析

實驗學時

0.5學時

實驗目的

● 掌握差錯控制的類型

● 掌握漢明距離的計算

● 掌握幾種常用的線性塊編碼

實驗環境

網絡拓撲結構一

實驗工具

虛擬通信工具

實驗任務

任務一 實例計算


任務一 實例計算

1.  計算漢明距離d1010111110);

異或:01011

d=3

 

 

2.  根據實驗原理的學習,計算下表中的編碼方案的最小漢明距離。

 

 

D(00000,01011)=3

D(00000,10101)=3

D(00000,11110)=4

D(01011,10101)=4

D(01011,11110)=3

D(10101,11110)=3

Dmin=3
練習二 循環編碼的實現與分析

實驗學時

0.5學時

實驗目的

● 掌握循環冗餘校驗

● 掌握循環編碼方法及其編碼特點

實驗環境

網絡拓撲結構一

實驗工具

虛擬通信工具

實驗任務

任務一 循環編碼實現與分析


任務一 循環編碼實現與分析

本任務每臺主機爲一組。現僅以主機A所在組爲例,其它組的操作參考主機A所在組的操作。

1.  搭建仿真線路

    1)打開虛擬通信工具,新建仿真視圖;

    2)選擇隨機信號、[74]循環碼編碼、[74]循環碼譯碼、信號輸出器,連接循環碼編譯碼的仿真線路圖,如下圖所示;

 

2.  器件參數設置

    1)設置隨機信號的參數,輸入方式選擇隨機輸入,由用戶自行輸入待編碼的二進制數的長度,如輸入8位,輸出方式選擇字符輸出,其他參數保持默認值;

    2)爲了方便觀察結果其他器件的輸出方式均選擇字符輸出,其他參數均可保持默認值;

3.  仿真結果分析

    1)運行仿真線路,觀察分析編碼前後、解碼前後碼元序列的變化,分析[74]循環碼編碼和譯碼的實現過程;

 

 

 

 

    2)重新調整隨機信號的輸入位數,重新運行,對比上面的結果進行分析,驗證[74]循環碼編碼原理;

 

 

 

 

 

    3)實驗結論。

 在編碼器中,數據字有k4)位,碼字有n7)位,在數據字的右邊加上(n-k=3)位,n位結果傳給生成器,生成器使用長度爲n-k+1=4的除法。這個除數是預定義並經過雙方同意的。生成器用除數除增加後的數字(模2除法)除法的商被丟棄,餘數加到數據字上生成碼字。如果校正0,碼字最左邊的m位被接收爲數據字(被認爲無差錯),否則,這m位被丟棄(有差錯)。


練習三 因特網校驗和的計算

實驗學時

0.5學時

實驗目的

● 掌握校驗和的概念

● 掌握因特網校驗和的計算方法

● 掌握因特網校驗和的性能

實驗環境

網絡拓撲結構一

實驗工具

因特網校驗和工具

協議分析器

實驗任務

任務一 因特網校驗和的計算

 

 


任務一 因特網校驗和的計算

各主機打開協議分析器,進入相應的網絡結構並驗證網絡拓撲的正確性,如果通過拓撲驗證,關閉協議分析器繼續進行實驗,如果沒有通過拓撲驗證,請檢查網絡連接。

    本任務每兩臺主機爲一組,將主機AB作爲一組,主機CD作爲一組,主機EF作爲一組。現僅以主機A和主機B所在組爲例,其它組的操作參考主機A和主機B所在組的操作。

1.  主機A和主機B建立連接。

    1)主機B模擬信息接收端,打開因特網校驗和工具,設置類型爲“接收方”,地址默認,端口設置爲6006(這裏端口號可以任意設置,但保證不被系統佔用即可);點擊右側的“創建”按鈕,等待主機A的連接;

    2)主機A模擬信息發送端,打開因特網校驗和工具,設置類型爲“發送方”,地址爲接收端主機BIP地址,端口設置與主機B相同,設置爲6006

    3)主機A點擊參數後面的“連接”按鈕,建立與主機B的連接;

2.  主機A模擬信息發送端進行數據發送操作。

    1)在發送信息處,輸入要發送的信息,發送數據爲8位字符,(數字0-9或字符A-Z/a-z),例如我們這裏選擇發送Forouzan

    2)點擊“轉換十六進制”按鈕,將輸入的待發送數據Forouzan轉換成十六進制;

    3)點擊“計算校驗和”按鈕,出現因特網校驗和演示界面,在此界面中,待發送的數據報文已經添加完成,校驗和設置爲全0

    4)我們需要手動計算“十六位字”與“校驗和”的和,填入下面的“和(部分和)”,並將求出的進位填入最上方的“進位”處。最後一個進位會自動寫入“和(部分和)”的下一行。此時再計算出“和(部分和)”與最高進位的和,填入下面的“和”處。最後再對這個“和”求反,得出“校驗和(發送)”;

    5)計算完成後,點擊“校驗”按鈕,對其進行校驗,如果填入的數據有誤,會以紅色顯示提示,需要重新填寫,如無誤,填寫完成下面的表格,然後點擊“確定”,回到初始界面。

    ● 記錄實驗數據。

發送端校驗和的計算

 

發送端

數據

校驗和(初始值)

0000

和(部分和)

CCD0

進位

0001

CCD0

校驗和(發送)

332F

 

    6)在傳輸類型中選擇“正常傳輸”或者“異常傳輸”,異常傳輸是指待發送的數據將隨機改變一位,我們這裏先選擇正常傳輸,點擊“發送”,將數據發送給主機B,此處允許連續發送。

3.  主機B接收到數據後,進行操作。

    1)點擊“計算校驗和”按鈕,進入因特網校驗和演示界面,在此界面中,接收的數據已添加完成;

    2)我們需要手動計算,得出這些十六位字的和,填入下面的“和(部分和)”,並將求的進位填入最上面的“進位”處。最後一個進位會自動寫入“和(部分和)”的下一行。此時再計算出“和(部分和)”與最高進位的和,填入下面的“和”一行處。最後再對這個“和”求反,得出“校驗和(新)”;

    3)計算完成後,點擊“校驗”按鈕,對其進行校驗,如果填入的數據有誤,會以紅色顯示提示,需要重新填寫,如無誤,填寫完成下面的表格,然後點擊“確定”,回到初始界面;

    ● 記錄實驗數據。

接收端校驗和的計算

 

發送端

數據

校驗和(接收到)

332F

和(部分和)

FFFF

進位

0001

FFFF

校驗和(新)

0000

 

    4)此時的校驗和已被剛纔的數據填入,如果是0000,則後面顯示,否則顯示;

    5)在接收信息處,我們可以看到,如果接收方校驗和是0000,則顯示“校驗和的值是0,接收報文,數據爲:主機A發送的原始數據信息(該任務中顯示Forouzan”,否則顯示“校驗和的值不是0,丟棄報文”。

4.  重新設置傳輸類型,重新進行實驗。

    1)主機A可以將剛纔設置的發送信息,選擇“異常傳輸”,點擊“發送”;

    2)主機B接收數據,並對數據進行校驗,查看校驗和是否爲全0,判斷報文傳輸是否正確,正確則接收,錯誤則丟棄;

    3)主機A和主機B完成實驗操作後,分別記錄校驗和的計算過程數據以及實驗的結果數據。

    實驗記錄:

  發送端校驗和計算

發送端

數據

校驗和(初始值)

0000

和(部分和)

CCD0

進位

0001

CCD0

校驗和(發送)

332F

  異常傳輸後接收端校驗和計算

發送端

數據

校驗和(接收到)

332F

和(部分和)

00FF

進位

1101

0100

校驗和(新)

FEFF

 

實驗結果:

(1)正常傳輸,檢驗和的值爲0,接收報文,數據爲30 31 32 33 34 35 36 37

(2)異常傳輸:檢驗和的值不爲-0,丟棄報文。

 

結論:

 

檢驗和使用較少的(16)位來檢測任何長度報文中的差錯。

發送方站點:

1)報文被劃分爲16位字

2)校驗和設置爲0

3)所有字包括校驗和使用反碼運算相加

4)求反變成校驗和

5)數據和校驗和一起發送

接收方站點:

1)報文被劃分爲16

2)用反碼加法將所有字相加

3)對該和求反形成新的校驗和

4)如果校驗值爲0則接收,否則丟棄報文。

發佈了83 篇原創文章 · 獲贊 21 · 訪問量 21萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章