數(shù)據(jù)通信與網(wǎng)絡(luò)課程設(shè)計_第1頁
數(shù)據(jù)通信與網(wǎng)絡(luò)課程設(shè)計_第2頁
數(shù)據(jù)通信與網(wǎng)絡(luò)課程設(shè)計_第3頁
數(shù)據(jù)通信與網(wǎng)絡(luò)課程設(shè)計_第4頁
數(shù)據(jù)通信與網(wǎng)絡(luò)課程設(shè)計_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)通信與網(wǎng)絡(luò)課程設(shè)計一、實習(xí)內(nèi)容選題:1. 幀封裝2. 模擬Ethernet幀的發(fā)送過程3. 發(fā)送Ethernet ARP包4. 解析IP數(shù)據(jù)包5. 監(jiān)控IP包流量6. IP地址的合法性及子網(wǎng)判斷7. 發(fā)送TCP數(shù)據(jù)包8. UDP服務(wù)器設(shè)計9. OSPF實現(xiàn)10. Web/FTP/Mail等服務(wù)器實現(xiàn)二、要求每位學(xué)生選擇一個項目使用Java、C、VC或C#進行設(shè)計。通過課程設(shè)計幫助學(xué)生深入理解網(wǎng)絡(luò)的基本工作原理和協(xié)議的設(shè)計思想,掌握處理網(wǎng)絡(luò)問題的基本方法。考核標(biāo)準(zhǔn)根據(jù)題目的難易度、實現(xiàn)技術(shù)、完成情況和報告撰寫質(zhì)量給予A,B,C,D,E五級評分。課題一:幀封裝目的:構(gòu)造幀對于理解網(wǎng)絡(luò)協(xié)議的概念

2、、協(xié)議執(zhí)行過程,以及網(wǎng)絡(luò)問題處理的一般方法具有重要的意義。根據(jù)數(shù)據(jù)鏈路層的基本原理,針對普遍應(yīng)用的Ethernet幀,通過構(gòu)造一個具體的幀,引導(dǎo)同學(xué)深入理解網(wǎng)絡(luò)協(xié)議的基本概念與網(wǎng)絡(luò)問題處理的一般方法。要求:編寫程序,根據(jù)給出的原始數(shù)據(jù)(如“Hello World”),組裝一個IEEE802.3格式的幀。題目附帶的文件為二進制原始數(shù)據(jù)(文件名分別為input1和input2),要求程序為命令行程序,比如可執(zhí)行文件名為framer.exe,則命令行形式如下:framer inputfile outputfile inputfile為原始數(shù)據(jù)文件,outputfile為輸出結(jié)果。操作系統(tǒng)、使用語言和

3、編譯環(huán)境不限。 資料:幀結(jié)構(gòu):前導(dǎo)碼目的地址長度字段幀定界符源地址數(shù)據(jù)字段校驗字段前導(dǎo)碼和幀定界符:前導(dǎo)碼56位(7字節(jié))的10101011010比特序列組成,幀定界符為1字節(jié),結(jié)構(gòu)為10101011。目的地址和源地址均采用6字節(jié),目標(biāo)地址為00-00-E4-86-3A-DC,源地址為00-00-80-1A-E6-65。長度字段根據(jù)給出的數(shù)據(jù)字段長度生成。數(shù)據(jù)字段為46字節(jié)到1500字節(jié),要注意不足46字節(jié)需填充。幀校驗字段采用8位CRC校驗。input1input2課題二 以太網(wǎng)幀的發(fā)送過程目的:編寫程序模擬Ethernet結(jié)點數(shù)據(jù)發(fā)送的流程,通過編寫程序加深CSMA/CD工作原理的理解。流

4、程:父進程開辟一塊大小為sizeof(pid_t)字節(jié)的共享內(nèi)存來模擬介質(zhì)總線(共享內(nèi)存初始全部為'0'),fork兩個子進程,當(dāng)兩個子進程都退出后父進程退出。兩個子進程做相同動作,它們向"介質(zhì)總線"上發(fā)送自己的進程號,完成10次成功的發(fā)送后退出。子進程檢查共享內(nèi)存是否全部為'0',如果是則認(rèn)為總線閑,否則總線忙繼續(xù)載波偵聽。當(dāng)總線閑時立即啟動發(fā)送,沖突計數(shù)器設(shè)置為16,將自己的進程號與共享內(nèi)存中的數(shù)據(jù)作"或"運算(模擬發(fā)包),然后比較共享內(nèi)存的內(nèi)容與寫入內(nèi)容,相同則沒有發(fā)生沖突,否則發(fā)生沖突。當(dāng)沒有發(fā)生沖突時,將共享內(nèi)存

5、清零,報告:xxxxx send success,xxxxx為進程號,作隨機延時,開始下一個發(fā)送過程或者結(jié)束。當(dāng)發(fā)生沖突時,將共享內(nèi)存清零,報告:xxxxx send collision,沖突計數(shù)器減1。如果沖突計數(shù)器>0,使用截止二進制后退延遲算法計算等待時間,等待后進入下一次嘗試;如果沖突計數(shù)器<=0,報告:xxxxx send failure,結(jié)束本次發(fā)送,進入下一個發(fā)送過程或者結(jié)束。提示:為了模擬沖突的過程,在這個程序中不要使用任何進程同步機制。如果用了同步,反倒失去了“沖突”特性。課題三 發(fā)送以太網(wǎng) ARP包要求:1在熟悉ARP協(xié)議并了解Winpcap編程,或者下載JAV

6、A類:jpcap包。(Jpcap下載。你只需要把lib中的dll文件拷貝到j(luò)re的bin目錄,同時lib中的jar文件拷貝到j(luò)re中的lib/ext目錄下就安裝完整,當(dāng)然你可以使用exe安裝包進行安裝,這樣會更加的簡單。)2構(gòu)造ARP包,選擇并打開網(wǎng)卡,將ARP包發(fā)送。命令格式:arpsend src_ip src_mac dst_ip dst_mac flagflag: 0 表示ARP請求;1 表示ARP應(yīng)答。資料:Jpcap is a Java class package that allows Java applications to capture and/or send packet

7、s to the network.Jpcap is based on libpcap/winpcap and Raw Socket API. Therefore, Jpcap is supposed to work on any OS on which libpcap/winpcap has been implemented. Currently, Jpcap has been tested on FreeBSD 3.x, Linux RedHat 6.1, Fedora Core 4, Solaris, and Microsoft Windows 2000/XP.Jpca

8、p supports the following types of packets: Ethernet, IPv4, IPv6, ARP/RARP, TCP, UDP, and ICMPv4.  Other types of packets are captured as raw packets (i.e., instances of the Packet class) which contains the whole data of the packets.  This allows Java applications to analyze unsupported pac

9、ket types.Jpcap ver.0.5.1Installer for Windowsjpcap-0.5.1.zipSamplesTcpdump   Simple/limited implementation of tcpdump.ARP  Sample source code for implementing ARP. Traceroute  Simple implementation of Traceroute.SendTCP, SendUDP, SendICMP  Samples of how to send TCP/UDP/ICM

10、P packet. 課題四 解析IP數(shù)據(jù)包網(wǎng)絡(luò)數(shù)據(jù)包通常可以通過WinPcap或LibPcap獲取網(wǎng)絡(luò)數(shù)據(jù)包。WinPcap(詳細(xì)內(nèi)容參見 )是一個開源的、運行于Win32平臺的體系結(jié)構(gòu)。也可以用Jpcap獲取網(wǎng)絡(luò)數(shù)據(jù)包。WinPcap的安裝和使用安裝WinPcap驅(qū)動程序和DLL程序(可以從網(wǎng)站下載)開發(fā)人員使用的開發(fā)工具包(developers pack),庫文件、包含文件、簡單的示例程序代碼和幫助文件。設(shè)計目標(biāo):捕獲網(wǎng)絡(luò)中的IP數(shù)據(jù)包,解析數(shù)據(jù)包的內(nèi)容,將結(jié)果顯示在標(biāo)準(zhǔn)輸出上,并同時寫入日志文件。要求:1 以命令行形式運行:ipparse logfile其中ipparse是程序名,log

11、file是紀(jì)錄結(jié)果的日志文件名2 在標(biāo)準(zhǔn)輸出和日志文件中列出捕獲的IP包的版本、頭長度、服務(wù)類型、數(shù)據(jù)包總長度、數(shù)據(jù)包標(biāo)識、分段標(biāo)志、分段偏移值、生存時間、上層協(xié)議類型、頭校驗和、源IP地址和目的IP地址等內(nèi)容。3 以鍵盤輸入Ctrl+C退出。課題五 監(jiān)控IP包流量要求:編程監(jiān)控網(wǎng)絡(luò),捕獲一段時間內(nèi)網(wǎng)絡(luò)上的IP數(shù)據(jù)包,按IP數(shù)據(jù)包的源地址統(tǒng)計出此地址在該刻時間內(nèi)發(fā)出的IP包個數(shù),將其寫入日志文件中或用圖表表示統(tǒng)計結(jié)果。用命令行運行:IPStatistic time logfile其中,time 為時間間隔,單位為秒。課題六 IP地址的合法性驗證目的:掌握IP地址的分類,準(zhǔn)確理解子網(wǎng)、掩碼的概念

12、,確切地明了IP地址的合法格式。要求:1. 在判斷一個IP地址合法性時要自行編寫代碼,不要使用任何inet函數(shù)。2. 程序要求為命令行程序,格式為:ip_test subnet/mask ip_addr 其中,程序名稱為ip_test,參數(shù)為IP地址/子網(wǎng)掩碼,如:: 3. 子網(wǎng)號和子網(wǎng)掩碼的合法性也要檢查。4. 運行結(jié)果提示需要提示:IP地址是否合法、子網(wǎng)掩碼是否合法和IP地址是否為子網(wǎng)成員。 提示:在判斷不合法IP時要考慮全面,比如以下情況均屬于不合法課題七 發(fā)送TCP數(shù)據(jù)包目的:編程設(shè)計UDP服務(wù)器一個發(fā)送TCP數(shù)據(jù)包的程序。填充一個TCP數(shù)據(jù)包,并發(fā)送給目的主機。要求:1. 程序要求以命令行形式運行:SendTCP src_IP src_Port dst_ip dst_port其中,SendTCP為程序名稱,參數(shù)為源IP地址和端口,目的IP地址和端口2. 其它的TCP頭部參數(shù)請自行設(shè)定。數(shù)據(jù)字段“Nanjing Agricultural University”3. 發(fā)送成功在屏幕上輸出“send OK”。 課題八 UDP服務(wù)器設(shè)計要求:設(shè)計一個使用UDP發(fā)送和接收數(shù)據(jù)包的服務(wù)器和一個客戶端通過UDP方式與服務(wù)器進行數(shù)據(jù)交換的Java Applet程序。提示:1. 使用J類中的DatagramSocket和DatagramPacket等類;2. 可以引入多線程同步技術(shù),建立

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論