計算機網(wǎng)絡(luò)基礎(chǔ)課程設(shè)計方案_第1頁
計算機網(wǎng)絡(luò)基礎(chǔ)課程設(shè)計方案_第2頁
計算機網(wǎng)絡(luò)基礎(chǔ)課程設(shè)計方案_第3頁
計算機網(wǎng)絡(luò)基礎(chǔ)課程設(shè)計方案_第4頁
計算機網(wǎng)絡(luò)基礎(chǔ)課程設(shè)計方案_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、信息技術(shù)學院計算機網(wǎng)絡(luò)基礎(chǔ)課 程 設(shè) 計 方 案目錄課程設(shè)計說明1課程設(shè)計選題21.CRC算法模擬22.零比特填充模擬23.曼徹斯特編碼模擬24.截斷二進制指數(shù)退避算法35.透明網(wǎng)橋自學習與轉(zhuǎn)發(fā)幀算法模擬36.IP分片模擬47.IP首部檢驗和算法模擬48.IPv4數(shù)據(jù)報封裝模擬59.使用子網(wǎng)時IP分組轉(zhuǎn)發(fā)模擬610.距離向量算法模擬711.UDP檢驗和算法模擬712.利用滑動窗口實現(xiàn)流量控制模擬813.慢開始、擁塞避免算法模擬9課程設(shè)計示例111.字節(jié)填充法解決透明傳輸模擬11課程設(shè)計選題1. CRC算法模擬【分值】20分【頁碼】P68-69【描述】待傳送的一組數(shù)據(jù) M以二進制字符存儲在inp

2、ut_m.txt文件中,生成多項式P以二進制字符存儲input_p.txt文件中。編寫CRC算法,計算冗余碼R并輸出到output_r文件中。【提示】a、模2加減可以采用按位異或運算的方法計算?!九e例】input_m.txtinput_p.txt1101output_r.txt0012. 零比特填充模擬【分值】10分【頁碼】P74【描述】待傳送的原始數(shù)據(jù)以二進制字符存儲在input.txt文件中,內(nèi)含若干5個連續(xù)1的子串、6個連續(xù)1的子串。編寫零比特填充算法,并將結(jié)果保存至output_f.txt文件;并且編寫算法還原數(shù)據(jù),結(jié)果保存至output_d.txt文件?!咎崾尽縜、原始數(shù)據(jù)只要包含5

3、個連續(xù)1的子串、6個連續(xù)1的子串即可,內(nèi)容任意?!九e例】input.txtoutput_f.txtoutput_d.txt3. 曼徹斯特編碼模擬【分值】10分【頁碼】P80【描述】待傳送的原始數(shù)據(jù)以二進制字符存儲在input.txt文件中。編寫曼徹斯特編碼模擬算法,將編碼的結(jié)果保證至output_e.txt;并且編寫從電壓高低到二進制數(shù)據(jù)的解碼算法,結(jié)果保存至output_d.txt?!咎崾尽縜、用字符“HL”代表電壓“前高后低”,表示碼元1;用字符“LH”代表電壓“前低后高”,表示碼元0?!九e例】input.txtoutput_e.txtLHHLHLHLLHHLHLLHLHLHoutput_

4、d.txt4. 截斷二進制指數(shù)退避算法【分值】10分【頁碼】P82【描述】重傳次數(shù)存儲在input.txt文件中。編寫截斷二進制指數(shù)退避算法,計算得到的重傳推遲時間存入output.txt文件?!咎崾尽縜、以太網(wǎng)爭用期為51.2s,最多重傳次數(shù)為16這些可預(yù)定義為常量。b、若重傳已經(jīng)超過16次,則將重傳推遲時間設(shè)置為-1s,表示應(yīng)丟棄該幀?!九e例】input.txt1output.txt0(說明:或51.2,隨機選擇;此括號內(nèi)信息不是輸出內(nèi)容)5. 透明網(wǎng)橋自學習與轉(zhuǎn)發(fā)幀算法模擬【分值】20分【頁碼】P94-96【描述】網(wǎng)絡(luò)拓撲由input_top.txt文件給出,數(shù)據(jù)幀發(fā)送事件由input_

5、event.txt文件給出。網(wǎng)橋初始轉(zhuǎn)發(fā)表為空。試編寫透明網(wǎng)橋自學習與轉(zhuǎn)發(fā)幀算法,將網(wǎng)橋處理完每一發(fā)送事件后的網(wǎng)橋幀轉(zhuǎn)發(fā)策略和當前轉(zhuǎn)發(fā)表輸出到output.txt文件?!咎崾尽縜、為簡單起見,可以僅考慮單個兩端口的網(wǎng)橋。b、input_top.txt文件的每行包括“主機”、“連接的網(wǎng)橋端口號”等拓撲信息,主機用字母(除字母“Z”)編號,網(wǎng)絡(luò)端口用數(shù)字編號。c、input_event.txt文件的每行給出“源主機”、“目的主機”等信息,其中用目的主機為“Z”表示廣播幀。d、網(wǎng)橋幀轉(zhuǎn)發(fā)策略的可能結(jié)果有“丟棄”、“向端口x轉(zhuǎn)發(fā)“、”泛洪“。e、一行中的多個字段自行決定分隔符,比如空格或制表符等。【舉

6、例】input_top.txt: A1 B1 C2 D2input_event.txt: AD BA CZ BCoutput.txt:事件1:A to D; 網(wǎng)橋幀轉(zhuǎn)發(fā)策略:泛洪; 轉(zhuǎn)發(fā)表: A1事件2:B to A; 網(wǎng)橋幀轉(zhuǎn)發(fā)策略:丟棄; 轉(zhuǎn)發(fā)表: A1 B1事件3:C to Z; 網(wǎng)橋幀轉(zhuǎn)發(fā)策略:泛洪; 轉(zhuǎn)發(fā)表: A1 B1 C2事件4:B to C; 網(wǎng)橋幀轉(zhuǎn)發(fā)策略:向端口2轉(zhuǎn)發(fā); 轉(zhuǎn)發(fā)表: A1 B1 C26. IP分片模擬【分值】10分【頁碼】P123-124【描述】IP數(shù)據(jù)包原始長度、分片最大長度存儲在input.txt文件中。編寫一算法計算分片結(jié)果,將每一分片的總長度、MF、D

7、F、片偏移存入output.txt?!咎崾尽縜、設(shè)該IP首部無選項,IP固定首部長度為20字節(jié)。b、一行中的多個字段自行決定分隔符,比如空格或制表符等?!九e例】input.txt(注:兩字段分別是IP數(shù)據(jù)包原始長度、分片最大長度)38201420output.txt:(注:每行信息分別是分片總長度、MF、DF、片偏移)14201001420101751020003507. IP首部檢驗和算法模擬【分值】10分【頁碼】P125【描述】20個字節(jié)的某IP首部以十六進制字符存儲在input.txt文件中每行8個字符(即4個字節(jié)),其中首部檢驗和字段為0。編寫IP首部檢驗和算法,檢驗和計算結(jié)果以4個十

8、六進制字符形式存入output.txt。【提示】a、首部檢驗和的計算涉及每個字(16位)間的反碼算術(shù)運算求和計算規(guī)則見課本P125的腳注。b、一行中的多個字段自行決定分隔符,比如空格或制表符等?!九e例】input.txt: 45 00 00 864C 37 40 007F 06 00 00C0 A8 42 D4C0 A8 63 CBoutput.txt: 87 4A8. IPv4數(shù)據(jù)報封裝模擬【分值】20分【頁碼】P122-125【描述】input.txt文件的第一行以點分十進制給出了某IP數(shù)據(jù)報的源IP地址、第二行以點分十進制給出了目的IP地址,第三行給出了待封裝的TCP數(shù)據(jù)報長度。整個TC

9、P數(shù)據(jù)報的數(shù)據(jù)用字母“A”代替(ASCII為0x41)。定義IP數(shù)據(jù)報固定首部數(shù)據(jù)結(jié)構(gòu),并編寫封裝算法,結(jié)果以每行8個的十六進制字符(即4個字節(jié))存入output.txt文件。【提示】a、IP數(shù)據(jù)報首部的“區(qū)分服務(wù)字段填0、標識字段可隨意設(shè)置、生存時間可隨意設(shè)置(比如127),不考慮可選字段。b、可以不考慮IP分片的問題,但應(yīng)實現(xiàn)首部檢驗和的計算。c、點分十進制地址到二進制地址的轉(zhuǎn)換可以使用Winsock API(名詞解釋參見/view/.htm,頭文件為)中的inet_addr函數(shù),其函數(shù)原型如下: unsigned long inet_addr(c

10、onst char* cp) 入口參數(shù)cp:點分十進制形式的IP地址 返回值: 網(wǎng)絡(luò)字節(jié)順序的IP地址,是無符號的長整數(shù) d、一行中的多個字段自行決定分隔符,比如空格或制表符等。【舉例】input.txt:810360output.txt:45 00 00 5003 70 40 007F 06 D0 66C0 A8 42 B5C0 A8 63 CB41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41

11、 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 419. 使用子網(wǎng)時IP分組轉(zhuǎn)發(fā)模擬【分值】20分【頁碼】P133-135【描述】input_r.txt文件給出了某路由器的路由表,文件由若干行組成,每行給出了目的網(wǎng)絡(luò)地址、子網(wǎng)掩碼、下一跳地址等信息(地址均以點分十進制表示);input_d.txt文件給出了該路由器收到的一系列IP數(shù)據(jù)報點分十進制表示的目的IP地址。編寫使用子網(wǎng)時IP分組轉(zhuǎn)發(fā)算法,將每一個IP數(shù)據(jù)報的處理結(jié)果輸出到output.txt文件?!咎崾尽縜、點分十進制地址到二進制地

12、址的轉(zhuǎn)換可以使用Winsock API中的inet_addr函數(shù)。b、一行中的多個字段自行決定分隔符,比如空格或制表符等?!九e例】input_r.txt:(注:每行包括目的網(wǎng)絡(luò)地址、子網(wǎng)掩碼、下一跳地址等信息;最后一行給出了默認路由) 28Interface0 28 28Interface1 Router2 Router3input_d.txt: 3 30

13、 output.txt:(注:每行包括目的IP地址、處理結(jié)果) 3Interface0 30 Interface1 Router2 Router310. 距離向量算法模擬【分值】20分【頁碼】P148-149【描述】input_r.txt文件給出了某路由器Rx的當前路由表信息,文件由若干行組成,第一行為路由器名,后續(xù)每行給出了目的網(wǎng)絡(luò)(以網(wǎng)絡(luò)名稱表示)、距離、下一跳路由器等信息;input_n.txt文件給出了路由器Rx剛接收到的來自相鄰路由器Ry的RIP路由更新信息,文件由若干行組成

14、,第一行為路由器名,后續(xù)每行給出了目的網(wǎng)絡(luò)、距離、下一跳路由器等信息。編寫距離向量更新算法,將路由器Rx更新后的路由表寫入output.txt?!咎崾尽縜、可參照課本P149例4-5,以網(wǎng)絡(luò)名稱表示目的網(wǎng)絡(luò)、以路由器名稱或“直接交付”給出下一跳路由器信息。b、一行中的多個字段自行決定分隔符,比如空格或制表符等?!九e例】input_r.txt: R6 Net2 3 R4 Net3 4 R5input_n.txt: R4 Net1 3 R1 Net2 4 R2 Net3 1 直接交付output.txt: R6 Net1 4 R4 Net2 5 R4 Net3 2 R411. UDP檢驗和算法模擬

15、【分值】10分【頁碼】P185-187【描述】input.txt文件的第一、二行分別以點分十進制給出某即將傳輸?shù)腢DP數(shù)據(jù)報的源IP地址和目的IP地址,后續(xù)每行8個十六進制字符(即4個字節(jié))給出整個UDP數(shù)據(jù)報的數(shù)據(jù)(其中檢驗和字段為0,最后一行可能少于4個字節(jié))。編寫UDP檢驗和算法,檢驗和計算結(jié)果以4個十六進制字符形式存入output.txt?!咎崾尽縜、點分十進制地址到二進制地址的轉(zhuǎn)換可以使用Winsock API中的inet_addr函數(shù)。b、UDP的檢驗和計算包括偽首部、UDP首部和UDP數(shù)據(jù)部分,其中數(shù)據(jù)部分字節(jié)數(shù)為奇數(shù)時需在末尾填入一個全零字節(jié)參與計算。c、一行中的多個字段自行決

16、定分隔符,比如空格或制表符等。【舉例】input.txt: 04 1 04 3F 00 0D 00 0F 00 00 54 45 53 54 49 4E 47output.txt: 69 1212. 利用滑動窗口實現(xiàn)流量控制模擬【分值】20分【頁碼】P203-204【描述】input.txt文件的第一行給出主機A發(fā)送給主機B的TCP報文段的大?。▎挝唬鹤止?jié)),第二行給出了主機A發(fā)送的起始序號seq,第三行給出了主機B設(shè)置的初始接收窗口rwnd的大小(單位:字節(jié)),后續(xù)若干行描述了報文段傳輸事件每行的第一個字段是方向(“A-B”或“B-A”),若方向為“A

17、-B”則該行后續(xù)字段包括標志(“新發(fā)”或“重發(fā)”)、結(jié)果(“成功”或“丟失”),若方向為“A-B”則該行后續(xù)字段為新的接收窗口rwnd。編寫利用滑動窗口實現(xiàn)流量控制模擬算法,將處理結(jié)果寫入output.txt每行為一次傳輸事件的信息,包括方向、序號(若方向為“A-B”則為發(fā)送序號seq,若方向為“B-A”則為確認序號ack)、A主機實際還可發(fā)送的字節(jié)數(shù)(即減去已發(fā)字節(jié)數(shù))、A主機實際還可發(fā)送的序號范圍(若前一字段為0則不寫此項)?!咎崾尽縜、設(shè)置兩全局變量分別記錄發(fā)送序號seq和確認序號ack,在處理每一事件時及時更新seq、ack的值。b、確認序號ack是期望收到對方下一個報文段的第一個數(shù)據(jù)

18、字節(jié)的序號。c、設(shè)置一數(shù)組記錄傳輸丟失的報文段序號,以便重傳。d、若一行有多個字段,自行決定分隔符,比如空格或制表符等?!九e例】input.txt: 100 1 400 A-B 新發(fā) 成功 A-B 新發(fā) 成功 A-B 新發(fā) 丟失 B-A 300 A-B 新發(fā) 成功 A-B 新發(fā) 成功 A-B 重發(fā) 成功 B-A 100 A-B 新發(fā) 成功 B-A 0output.txt: A-Bseq=1300101-400 A-Bseq=101200201-400 A-Bseq=201100301-400 B-Aack=201200301-500 A-Bseq=301100401-500 A-Bseq=40

19、10 A-Bseq=2010 B-Aack=501100501-600 A-Bseq=5010 B-Aack=601013. 慢開始、擁塞避免算法模擬【分值】20分【頁碼】P208-210【描述】input_s.txt文件給出了慢開始門限ssthresh狀態(tài)變量的初始值;input_c.txt文件給出了若干個出現(xiàn)網(wǎng)絡(luò)擁塞的傳輸輪次(取值在1-30之間)。編寫慢開始、擁塞避免模擬算法,計算并輸出前30個傳輸輪次的擁塞窗口cwnd等信息,結(jié)果存入output.txt每行包含輪次、cwnd、ssthresh、現(xiàn)用算法等信息。【提示】a、此模擬中的窗口單位不使用字節(jié)而使用報文段的個數(shù)。b、擁塞窗口cw

20、nd的初值為1,即第1傳輸輪次允許傳輸一個報文段,傳輸成功后cwnd即按照指數(shù)規(guī)律增長為2。c、若一行有多個字段,自行決定分隔符,比如空格或制表符等?!九e例】input_s.txt16input_c.txt12 23output.txt: 1216慢開始 2416慢開始 3816慢開始 41616擁塞避免 51716擁塞避免 61816擁塞避免 71916擁塞避免 82016擁塞避免 92116擁塞避免 102216擁塞避免 112316擁塞避免 122416擁塞避免 13112慢開始 14212慢開始 15412慢開始 16812慢開始 171212擁塞避免 181312擁塞避免 19141

21、2擁塞避免 201512擁塞避免 211612擁塞避免 221712擁塞避免 231812擁塞避免 2419慢開始 2529慢開始 2649慢開始 2789慢開始 2899擁塞避免 29109擁塞避免 30119擁塞避免課程設(shè)計示例1. 字節(jié)填充法解決透明傳輸模擬【分值】10分【頁碼】P67【描述】待傳送的原始數(shù)據(jù)以十六進制字符存儲在input.txt文件中,內(nèi)含SOH(0x01)、EOT(0x04)、ESC(0x1B)等字符。編寫字節(jié)填充算法,并將結(jié)果保存至output_f.txt文件;并且編寫算法還原數(shù)據(jù),結(jié)果保存至output_d.txt文件?!咎崾尽縜、原始數(shù)據(jù)只要包含3種特殊字符即可

22、,內(nèi)容任意。b、存儲原始數(shù)據(jù)的input.txt文件中只可能出現(xiàn)十六進制字符,且長度為偶數(shù)?!九e例】input.txtAC00013CB76output_f.txtAC001B013C561B04201B1B76output_d.txtAC00013CB76【程序清單】01 #include stdio.h02 03 typedef int status;04 #define TRUE 105 #define FALSE 006 07 #define MAX_BUF_LEN 150008 09 #define SOH 0x0110 #define EOT 0x0411 #define ESC

23、0x1B12 13 typedef struct StuffingString14 15 unsigned char bufMAX_BUF_LEN;16 unsigned int len;17 * PStuffingString;18 19 status byte_stuffing(PStuffingString psin, PStuffingString psf)20 21 unsigned int i=0;22 psf-len = 0;23 while ( ilen )24 25 if ( psin-bufi = SOH | psin-bufi = EOT | psin-bufi = ES

24、C )26 psf-bufpsf-len+ = ESC;27 psf-bufpsf-len+ = psin-bufi+;28 29 return TRUE;30 31 32 status byte_unstuffing(PStuffingString psf, PStuffingString psd)33 34 unsigned int i=0;35 psd-len = 0;36 while ( ilen )37 38 if ( psf-bufi = ESC )39 40 i+;41 if ( psf-bufi != SOH & psf-bufi != EOT & psf-bufi != ESC )42 return FALSE;43 44 psd-bufpsd-len+ = psf-bufi+;4

溫馨提示

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

評論

0/150

提交評論