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

下載本文檔

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

文檔簡介

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

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

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

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

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

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ù)包原始長度、分片最大長度存儲(chǔ)在input.txt文件中。編寫一算法計(jì)算分片結(jié)果,將每一分片的總長度、MF、D

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

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

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

10、onst char* cp) 入口參數(shù)cp:點(diǎn)分十進(jìn)制形式的IP地址 返回值: 網(wǎng)絡(luò)字節(jié)順序的IP地址,是無符號的長整數(shù) d、一行中的多個(gè)字段自行決定分隔符,比如空格或制表符等?!九e例】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)時(shí)IP分組轉(zhuǎn)發(fā)模擬【分值】20分【頁碼】P133-135【描述】input_r.txt文件給出了某路由器的路由表,文件由若干行組成,每行給出了目的網(wǎng)絡(luò)地址、子網(wǎng)掩碼、下一跳地址等信息(地址均以點(diǎn)分十進(jìn)制表示);input_d.txt文件給出了該路由器收到的一系列IP數(shù)據(jù)報(bào)點(diǎn)分十進(jìn)制表示的目的IP地址。編寫使用子網(wǎng)時(shí)IP分組轉(zhuǎn)發(fā)算法,將每一個(gè)IP數(shù)據(jù)報(bào)的處理結(jié)果輸出到output.txt文件?!咎崾尽縜、點(diǎn)分十進(jìn)制地址到二進(jìn)制地

12、址的轉(zhuǎn)換可以使用Winsock API中的inet_addr函數(shù)。b、一行中的多個(gè)字段自行決定分隔符,比如空格或制表符等?!九e例】input_r.txt:(注:每行包括目的網(wǎng)絡(luò)地址、子網(wǎng)掩碼、下一跳地址等信息;最后一行給出了默認(rèn)路由) 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的當(dāng)前路由表信息,文件由若干行組成,第一行為路由器名,后續(xù)每行給出了目的網(wǎng)絡(luò)(以網(wǎng)絡(luò)名稱表示)、距離、下一跳路由器等信息;input_n.txt文件給出了路由器Rx剛接收到的來自相鄰路由器Ry的RIP路由更新信息,文件由若干行組成

14、,第一行為路由器名,后續(xù)每行給出了目的網(wǎng)絡(luò)、距離、下一跳路由器等信息。編寫距離向量更新算法,將路由器Rx更新后的路由表寫入output.txt。【提示】a、可參照課本P149例4-5,以網(wǎng)絡(luò)名稱表示目的網(wǎng)絡(luò)、以路由器名稱或“直接交付”給出下一跳路由器信息。b、一行中的多個(gè)字段自行決定分隔符,比如空格或制表符等?!九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檢驗(yàn)和算法模擬

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

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

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

18、字節(jié)的序號。c、設(shè)置一數(shù)組記錄傳輸丟失的報(bào)文段序號,以便重傳。d、若一行有多個(gè)字段,自行決定分隔符,比如空格或制表符等?!九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文件給出了若干個(gè)出現(xiàn)網(wǎng)絡(luò)擁塞的傳輸輪次(取值在1-30之間)。編寫慢開始、擁塞避免模擬算法,計(jì)算并輸出前30個(gè)傳輸輪次的擁塞窗口cwnd等信息,結(jié)果存入output.txt每行包含輪次、cwnd、ssthresh、現(xiàn)用算法等信息?!咎崾尽縜、此模擬中的窗口單位不使用字節(jié)而使用報(bào)文段的個(gè)數(shù)。b、擁塞窗口cw

20、nd的初值為1,即第1傳輸輪次允許傳輸一個(gè)報(bào)文段,傳輸成功后cwnd即按照指數(shù)規(guī)律增長為2。c、若一行有多個(gè)字段,自行決定分隔符,比如空格或制表符等?!九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è)計(jì)示例1. 字節(jié)填充法解決透明傳輸模擬【分值】10分【頁碼】P67【描述】待傳送的原始數(shù)據(jù)以十六進(jìn)制字符存儲(chǔ)在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、存儲(chǔ)原始數(shù)據(jù)的input.txt文件中只可能出現(xiàn)十六進(jìn)制字符,且長度為偶數(shù)。【舉例】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)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論