計算機網路課程設計
設計提綱 1
一、 利用socket實現雙機通訊 1
二、 基於winsock的即時通訊軟體功能原理模擬 1
三、 了解最基本的rs232介面的網路程式設計方法 1
四、 幀封裝 1
五、 乙太網幀的傳送過程 2
六、 傳送乙太網 arp包 3
七、 解析ip資料報 4
八、 監控ip包流量 4
九、 ip位址的合法性驗證 5
十、 傳送tcp資料報 5
十一、 ospf實現 6
十三、 簡單ftp伺服器實現 8
十四、 基於中介軟體技術的web服務系統 8
十五、 網路管理命令軟體包設計 9
十六、 編寫乙個類似 qq的聊天程式 9
十七、 vlan構建 9
十八、 frame relay 構建 9
十九、 基於udp協議的資料報收發程式 10
二十、 滑動視窗協議** 10
二十一、 rip協議** 10
二十二、 軟體防火牆設計 10
二十三、 軟體vpn設計 10
二十四、 網路監視器設計 11
二十五、 ftp站點搜尋引擎 11
一、 要求
每位學生選擇乙個專案使用j**a、c、vc或c#進行設計,每個小組最多3人,並要有明確的分工。
通過課程設計幫助學生深入理解網路的基本工作原理和協議的設計思想,掌握處理網路問題的基本方法。
二、 實習起止時間:第二週,2012.10.31 至 2012.11.28
三、 考核時間和標準
週三(11月28日)下午2:00開始,按學號演示設計成果。12月10日之前必須提交各小組的課程實驗報告(電子版和列印稿)
根據題目的難易度、實現技術、完成情況和報告撰寫質量給予a,b,c,d,e五級評分。
一、 利用socket實現雙機通訊
目的與要求: 利用winsock來實現雙機通訊,理解tcp狀態機圖。要求使用winsock程式設計,採用其中的tcp面向連線方式,實現文字資料的交換。
二、 基於winsock的即時通訊軟體功能原理模擬
目的與要求: 利用winsock進行點對點通訊,工作機制模仿即時通訊軟體的基本功能,登陸,上線,傳遞資訊等等。分為客戶部分和伺服器部分兩塊,客戶部分類似一般通訊軟體例如qq,伺服器部分主要提供客戶端使用者基本資料配置。
三、 了解最基本的rs232介面的網路程式設計方法(無法完成)
目的與要求:編寫乙個簡單應用程式完成雙機通訊,採用停止-等待協議。
四、 幀封裝(模擬802.3,能檢測)
目的: 構造幀對於理解網路協議的概念、協議執行過程,以及網路問題處理的一般方法具有重要的意義。根據資料鏈路層的基本原理,針對普遍應用的ethernet幀,通過構造乙個具體的幀,引導同學深入理解網路協議的基本概念與網路問題處理的一般方法。
要求: 編寫程式,根據給出的原始資料(即需要提供mac幀結構中的「目的mac位址」、「源mac位址」、「型別字段」、「資料字段」,具體的值可以自己任意給定;更好的做法,是用wireshark等抓包工具捕捉資料報(比如,捕捉乙個udp資料報)按照捕捉到的資料報的內容來提供mac幀格式中各個字段部分,因為「資料字段」部分就是承載ip、arp等上層協議資料的。注意,「校驗字段」必須由程式生成),組裝乙個ethernet v2.
0格式的幀(目前,區域網以乙太網應用最廣泛,應熟悉ethernet幀格式)。
實現方式不限,可以用命令列程式,也可以用介面程式;但是,結果即生成的mac幀必須寫到檔案中,並且要以二進位制的形式來寫入檔案。
例如,如果用命令列程式來實現。
題目附帶的檔案為二進位制原始資料(檔名inputfile),比如可執行檔名為則命令列形式如下:
framer inputfile outputfile
inputfile為原始資料檔案,outputfile為輸出結果。
作業系統、使用語言和編譯環境不限。
資料: ethernet v2.0 幀結構:
前導碼和幀定界符:
前導碼56位(7位元組)的1010101…1010位元序列組成,幀定界符為1位元組,結構為10101011。
目的位址和源位址均採用6位元組,目標位址為00-00-e4-86-3a-dc,源位址為00-00-80-1a-e6-65。
資料字段為46位元組到節,要注意不足46位元組需在「資料字段」後面填充。
幀校驗字段採用8位crc校驗即可。
例如,下面給出乙個直觀的結果:
五、 乙太網幀的傳送過程(在其他地方檢測,錯誤統計,無需介面)
目的: 編寫程式模擬ethernet結點資料傳送的流程,通過編寫程式加深csma/cd工作原理的理解。
流程:父程序開闢一塊大小為sizeof(pid_t)位元組的共享記憶體來模擬介質匯流排(共享記憶體初始全部為'\0'),fork兩個子程序,當兩個子程序都退出後父程序退出。
兩個子程序做相同動作,它們向"介質匯流排"上傳送自己的程序號,完成10次成功的傳送後退出。
子程序檢查共享記憶體是否全部為'\0',如果是則認為匯流排閒,否則匯流排忙繼續載波偵聽。
當匯流排閒時立即啟動傳送,衝突計數器設定為16,將自己的程序號與共享記憶體中的資料作"或"運算(模擬發包),然後比較共享記憶體的內容與寫入內容,相同則沒有發生衝突,否則發生衝突。
當沒有發生衝突時,將共享記憶體清零,報告:***xx send success,***xx為程序號,作隨機延時,開始下乙個傳送過程或者結束。
當發生衝突時,將共享記憶體清零,報告:***xx send collision,衝突計數器減1。如果衝突計數器》0,使用截止二進位制後退延遲演算法計算等待時間,等待後進入下一次嘗試;如果衝突計數器<=0,報告:
***xx send failure,結束本次傳送,進入下乙個傳送過程或者結束。
提示:為了模擬衝突的過程,在這個程式中不要使用任何程序同步機制。如果用了同步,反倒失去了「衝突」特性。
六、 傳送乙太網 arp包(查處哪個是mac位址)
要求:1.在熟悉arp協議並了解winpcap程式設計,或者**j**a類:jpcap包(jpcap**你只需要把lib中的dll檔案拷貝到jre的bin目錄,同時lib中的jar檔案拷貝到jre中的lib/ext目錄下就安裝完整,當然你可以使用exe安裝包進行安裝,這樣會更加的簡單。
),或者用windows自帶的api(如,sendarp函式)實現。
2.對於用winpacap實現的(用的最多),構造arp包,選擇並開啟網絡卡,將arp包傳送。
命令格式:arpsend src_ip src_mac dst_ip dst_mac flag
flag: 0 表示arp請求;1 表示arp應答。
3.程式的正確性檢驗。可以安裝乙個截包軟體如wirshark,來檢視能否捕獲到程式發出的arp包,並檢查捕獲的arp資料報中各字段的內容是否準確。
例如,用wireshark捕獲到的傳送arp資料報如下:
資料:tcpdump
******/limited implementation of tcpdump.
arp sample source code for implementing arp.
traceroute
****** implementation of traceroute.
sendtcp, sendudp, sendicmp
samples of how to send tcp/udp/icmp packet.
七、 解析ip資料報
網路資料報通常可以通過winpcap或libpcap獲取網路資料報。winpcap(詳細內容參見 是乙個開源的、執行於win32平台的體系結構。包括核心級別的、低層次的包過濾動態連線庫和高階別系統無關函式庫也可以用jpcap獲取網路資料報。
winpcap的安裝和使用
安裝winpcap驅動程式和dll程式(可以從****)
開發人員使用的開發工具包(developer』s pack),庫檔案、包含檔案、簡單的示例程式**和幫助檔案。用winpcap庫來捕捉資料報,都有基本的幾個固定步驟,可以參考「winpcap 中文技術文件」中示例程式;對用winpcap捕獲到的二進位制資料流,再用協議格式來一步步讀取即可。
網路課程設計報告
課程設計 任務書 學院專業班 一 課程設計 題目基於udp的點到點聊天程式 二 課程設計 工作 2008 年 6 月 23 日起至 2008 年6 月 29日止。三 課程設計 地點軟體機房 四 課程設計 內容要求 1 本課程設計的目的 1 使學生掌握系統各功能模組的基本工作原理 2 使學生學會系統除...
網路檢索課程設計
校園區域網方案設計 學院 通訊學院 專業 通訊工程專業 姓名班級 學號 摘要 校園區域網已經成為當今資訊時代高等學校謀求發展的一項重要基礎設施,建設乙個技術先進 執行可靠而又經濟實用的校園區域網,是在新形勢下高等學校提高教育管理水平的乙個重要保證。本 的工作就是圍繞對 大學進行校園網路的設計和安全性...
網路規劃與設計 課程設計
網路規劃與設計 課程設計要求以及格式 08網路1 2 一 設計背景 設計乙個中小型的企業園區網路,要求安全 可靠 可擴充套件性的網路環境,將兩個辦公地點連線在一起,實現資源共享,全網連線internet,公司內部實現資訊隔離,保障對internet的安全訪問。二 網路特徵 1 採用先進的網路通訊完成...