資源描述:
《計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn):數(shù)據(jù)鏈路層-檢錯(cuò)與糾錯(cuò)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、實(shí)驗(yàn):數(shù)據(jù)鏈路層-檢錯(cuò)與糾錯(cuò)·任務(wù)1.同學(xué)通過《海明編碼》和《CRC檢錯(cuò)》測試軟件,驗(yàn)證糾錯(cuò)與檢錯(cuò)功能和性能,掌握其工作原理;2.編寫海明編碼程序和CRC編碼程序;3.總結(jié)實(shí)驗(yàn)過程(實(shí)驗(yàn)報(bào)告,左側(cè)裝訂):方案、編程、調(diào)試、結(jié)果、分析、結(jié)論。·實(shí)驗(yàn)環(huán)境1.Windws9x/NT/2000/XP/20032.TCP/IP協(xié)議·編程工具1.VisualC++6.0、VisualBasic6.0、TurboC/C++2.C++Builder、Java、C#或其它3.數(shù)制轉(zhuǎn)換與比較(16進(jìn)制、2進(jìn)制轉(zhuǎn)換;通過比較,找出
2、差錯(cuò)個(gè)數(shù)、差錯(cuò)位置和突發(fā)差錯(cuò)長度)?!ずC骶幋a實(shí)驗(yàn)運(yùn)行《海明編碼》測試軟件:1.驗(yàn)證糾錯(cuò)能力;2.驗(yàn)證檢錯(cuò)能力;3.若數(shù)據(jù)=10011001,海明編碼=?,校驗(yàn)位=?4.若接收端收到的信息=101010101001(海明編碼),數(shù)據(jù)=?5.嘗試編寫海明編碼的程序?!RC編碼實(shí)驗(yàn)運(yùn)行《CRC-8檢錯(cuò)》測試軟件:CRC8UndetectedErrors1.驗(yàn)證檢錯(cuò)能力,能檢幾位錯(cuò)?2.找出檢錯(cuò)失敗的信息碼,并進(jìn)行分析;3.若數(shù)據(jù)=“Hello!”,采用生成多項(xiàng)式107H,CRC校驗(yàn)碼=?4.若數(shù)據(jù)=“Hello
3、!”,采用生成多項(xiàng)式131H,CRC校驗(yàn)碼=?5.若接收端收到的信息=4F6F1DH,采用生成多項(xiàng)式107H進(jìn)行校驗(yàn),結(jié)果如何?6.自定義生成多項(xiàng)式,實(shí)驗(yàn)其性能,如何選擇生成多項(xiàng)式?7.試編寫CRC-8編碼程序;1.試編寫CRC-16編碼程序,參考《CRC-16檢錯(cuò)》測試軟件。CRC16UndetectedErrors·CRC示例1.CRC-8,DemoofCRC-8Programofjavascript.2.CRC-8tester,TestoftheCRC-8ErrorDetectionCapabiliti
4、es(javascript).3.CRCcalculator(javascript),Thepolynomsgeneratorcanbechosen,datainputbystringorhexadecimalvalues.4.CRCcalculator(java),Thepolynomsgeneratorcanbechosen,withdivisionsumortheshiftregisterisexclusive.(MicrosoftJavaVM5.0.3805中文版)1.【CRC-32,采用查表法/計(jì)算
5、法的CRC對(duì)比】.·參考海明編碼CRC編碼CRC-8編碼計(jì)算-參考代碼//-------------------------------------------------------------voidByteCRC(unsignedint&CRC,unsignedcharCh){unsignedintgenPoly=0x107;CRC^=Ch;for(inti=0;i<8;i++)if(CRC&0x80)CRC=(CRC<<1)^genPoly;elseCRC<<=1;CRC&=0xff;}//-----
6、--------------------------------------------------------unsignedintBlockCRC(unsignedchar*Block,intBlockLen){unsignedintCRC=0;for(inti=0;i