東南大學(xué)儀科信網(wǎng)實(shí)驗(yàn)一停等協(xié)議_第1頁(yè)
東南大學(xué)儀科信網(wǎng)實(shí)驗(yàn)一停等協(xié)議_第2頁(yè)
東南大學(xué)儀科信網(wǎng)實(shí)驗(yàn)一停等協(xié)議_第3頁(yè)
東南大學(xué)儀科信網(wǎng)實(shí)驗(yàn)一停等協(xié)議_第4頁(yè)
東南大學(xué)儀科信網(wǎng)實(shí)驗(yàn)一停等協(xié)議_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 信息網(wǎng)絡(luò)概論實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)一 停等協(xié)議姓 名: xx 學(xué) 號(hào):220xxxxxxx一、 實(shí)驗(yàn)?zāi)康?、 掌握停等協(xié)議的工作流程;2、 熟練應(yīng)用循環(huán)冗余檢驗(yàn)方法。二、 實(shí)驗(yàn)條件和環(huán)境本實(shí)驗(yàn)基于MFC編程,在現(xiàn)有程序的基礎(chǔ)上,將奇偶校驗(yàn)改成CRC校驗(yàn)實(shí)現(xiàn)通信過(guò)程。三、 實(shí)驗(yàn)內(nèi)容1、 通過(guò)改變傳輸速率、數(shù)據(jù)包長(zhǎng)度、模擬長(zhǎng)線路等操作定性地觀察停止等待協(xié)議的效率;2、 將本實(shí)驗(yàn)的奇偶校驗(yàn)改為循環(huán)冗余校驗(yàn),以提高檢錯(cuò)率。四、 實(shí)驗(yàn)原理1、停止等待協(xié)議停止等待協(xié)議(BSC)是一種最簡(jiǎn)單(但效率較低的)差錯(cuò)和流量控制協(xié)議。其基本原理為發(fā)送方發(fā)送完一數(shù)據(jù)包后,需要等待接收方的應(yīng)答信息,發(fā)送方受到正確認(rèn)信息ACK時(shí)

2、標(biāo)明接收方接收正確,發(fā)送發(fā)可發(fā)送下一數(shù)據(jù)包;當(dāng)發(fā)送方收到負(fù)確認(rèn)信息NAK時(shí),表明接收方接收錯(cuò)誤,發(fā)送方應(yīng)重發(fā)出錯(cuò)的數(shù)據(jù)包簡(jiǎn)化后的BSC使用STX、ETX、EOT、ENQ、ACK和DLE六個(gè)控制字完成通信控制功能。2、CRC校驗(yàn)CRC校驗(yàn)是基于數(shù)據(jù)計(jì)算一組校驗(yàn)碼,用于和對(duì)數(shù)據(jù)傳輸過(guò)程中是否被更改或傳輸錯(cuò)誤。假設(shè)數(shù)據(jù)傳輸過(guò)程中需要發(fā)送15位的二進(jìn)制信息,這串二進(jìn)制碼可表示為代數(shù)多項(xiàng)式g(x) = x14 + x12 + x9 + x8 + x7 + x5 + 1,其中g(shù)中第k位的值,對(duì)應(yīng)g(x)中xk的系數(shù)。將g(x)乘以xm,既將g后加m個(gè)0,然后除以m階多項(xiàng)式h(x),得到的(m-1)階余項(xiàng)r

3、(x)對(duì)應(yīng)的二進(jìn)制碼r就是CRC編碼。h(x)可以自由選擇或者使用國(guó)際通行標(biāo)準(zhǔn),一般按照h(x)的階數(shù)m,將CRC算法稱為CRC-m,比如CRC-32、CRC-64等。g(x)和h(x)的除運(yùn)算,可以通過(guò)g和h做xor(異或)運(yùn)算。比如將11001與10101做xor運(yùn)算:      由實(shí)際運(yùn)算規(guī)律得到調(diào)整算法:如下 每次迭代,根據(jù)gk的首位決定b,b是與gk進(jìn)行運(yùn)算的二進(jìn)制碼。若gk的首位是1,則b=h;若gk的首位是0,則b=0,或者跳過(guò)此次迭代,上面的例子中就是碰到0后直接跳到后面的非零位。   &

4、#160;            每次迭代,gk的首位將會(huì)被移出,所以只需考慮第2位后計(jì)算即可。這樣就可以舍棄h的首位,將b取h的后m位。比如CRC-8的h是111010101,b只需是11010101。        每次迭代,受到影響的是gk的前m位,所以構(gòu)建一個(gè)m位的寄存器S,此寄存器儲(chǔ)存gk的前m位。每次迭代計(jì)算前先將S的首位拋棄,將寄存器左移一位,同時(shí)將g的后一位加入寄存器。若使用此種方法,計(jì)算步

5、驟如下:       (藍(lán)色表示寄存器S的首位,是需要移出的,b根據(jù)S的首位選擇0或者h(yuǎn)。黃色是需要移入寄存器的位。S'是經(jīng)過(guò)位移后的S。)五、 實(shí)驗(yàn)過(guò)程事件處理處理線程,對(duì)不同狀態(tài)進(jìn)行檢測(cè);當(dāng)處于空閑狀態(tài)時(shí),對(duì)收到的詢問(wèn)信息ENQ回復(fù)確認(rèn)信息ACK,并進(jìn)入接受狀態(tài);當(dāng)處于發(fā)送狀態(tài)時(shí),需要判斷發(fā)送的數(shù)據(jù)類(lèi)型,如果此時(shí)發(fā)送的是最后一包數(shù)據(jù),則下一個(gè)信息就要發(fā)送EOT用于表示送畢,同時(shí),在停等協(xié)議中最少可用兩個(gè)標(biāo)識(shí)0,1來(lái)完成數(shù)據(jù)的傳輸,為了避免傳輸過(guò)程的信息丟失,需要在傳輸過(guò)程中設(shè)置定時(shí)器,以滿足在丟失信號(hào)時(shí)重傳的需要

6、發(fā)送數(shù)據(jù)包FormPacket()函數(shù)將數(shù)據(jù)信息按下圖數(shù)據(jù)報(bào)格式實(shí)現(xiàn)打包的功能,其中第一位用于存放STX文始,第二位用于存放序列號(hào),倒數(shù)第二位用于存放校驗(yàn)和,最后一位存放ETX文終,檢驗(yàn)和的實(shí)現(xiàn)即可按照原理中的調(diào)整算法實(shí)現(xiàn),同時(shí),在實(shí)驗(yàn)過(guò)程中發(fā)現(xiàn),校驗(yàn)和的計(jì)算位數(shù)不能過(guò)多,否則會(huì)出現(xiàn)傳輸超時(shí)的現(xiàn)象。 當(dāng)處于接收狀態(tài)時(shí)根據(jù)控制字:ETX、EOT、STX等做出相應(yīng)反應(yīng),同時(shí)對(duì)于接收端,也需要對(duì)數(shù)據(jù)進(jìn)行校核。一般可采用比較的方法,即對(duì)接收到的數(shù)據(jù)進(jìn)行同樣的CRC計(jì)算,比較接收端和發(fā)送端獲得的CRC結(jié)果是否相同,若相同,說(shuō)明數(shù)據(jù)傳輸正確。六、 實(shí)驗(yàn)結(jié)果當(dāng)波特率為9600,數(shù)據(jù)包長(zhǎng)度為1500,發(fā)送前延遲為0時(shí),傳輸效率是100%設(shè)置波特率為9600,數(shù)據(jù)包長(zhǎng)度為30

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論