網(wǎng)絡協(xié)議分析實驗報告_第1頁
網(wǎng)絡協(xié)議分析實驗報告_第2頁
網(wǎng)絡協(xié)議分析實驗報告_第3頁
網(wǎng)絡協(xié)議分析實驗報告_第4頁
網(wǎng)絡協(xié)議分析實驗報告_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

./課程設計課程設計題目網(wǎng)絡協(xié)議分析實驗報告學生姓名:學號:專業(yè):20XX6月29日實驗1基于ICMP的MTU測量方法實驗目的掌握ICMP協(xié)議掌握PING程序基本原理掌握socket編程技術掌握MTU測量算法實驗任務編寫一個基于ICMP協(xié)議測量網(wǎng)絡MTU的程序,程序需要完成的功能:1使用目標IP地址或域名作為參數(shù),測量本機到目標主機經(jīng)過網(wǎng)絡的MTU;2輸出到目標主機經(jīng)過網(wǎng)絡的MTU。實驗環(huán)境1Linux系統(tǒng);2gcc編譯工具,gdb調試工具。實驗步驟首先仔細研讀ping.c例程,熟悉linux下socket原始套接字編程模式,為實驗做好準備;生成最大數(shù)據(jù)量的IP數(shù)據(jù)報〔64K,數(shù)據(jù)部分為ICMP格式,ICMP報文為回送請求報文,IP首部DF位置為1;由發(fā)送線程發(fā)送;如果收到報文為目標不可達報文,減少數(shù)據(jù)長度,再次發(fā)送,直到收到回送應答報文。至此,MTU測量完畢。ICMP協(xié)議是一種面向無連接的協(xié)議,用于傳輸出錯報告控制信息。它是一個非常重要的協(xié)議,它對于網(wǎng)絡安全具有極其重要的意義。[1]它是TCP/IP協(xié)議族的一個子協(xié)議,屬于網(wǎng)絡層協(xié)議,主要用于在主機與路由器之間傳遞控制信息,包括報告錯誤、交換受限控制和狀態(tài)信息等。當遇到IP數(shù)據(jù)無法訪問目標、IP路由器無法按當前的傳輸速率轉發(fā)數(shù)據(jù)包等情況時,會自動發(fā)送ICMP消息。ICMP報文在IP幀結構的首部協(xié)議類型字段〔Protocol8bit>的值=1.ICMP原理ICMP提供一致易懂的出錯報告信息。發(fā)送的出錯報文返回到發(fā)送原數(shù)據(jù)的設備,因為只有發(fā)送設備才是出錯報文的邏輯接受者。發(fā)送設備隨后可根據(jù)ICMP報文確定發(fā)生錯誤的類型,并確定如何才能更好地重發(fā)失敗的數(shù)據(jù)包。但是ICMP唯一的功能是報告問題而不是糾正錯誤,糾正錯誤的任務由發(fā)送方完成。我們在網(wǎng)絡中經(jīng)常會使用到ICMP協(xié)議,比如我們經(jīng)常使用的用于檢查網(wǎng)絡通不通的Ping命令〔Linux和Windows中均有,這個"Ping"的過程實際上就是ICMP協(xié)議工作的過程。還有其他的網(wǎng)絡命令如跟蹤路由的Tracert命令也是基于ICMP協(xié)議的。ICMP<InternetControlMessage,網(wǎng)際控制報文協(xié)議>是為網(wǎng)關和目標主機而提供的一種差錯控制機制,使它們在遇到差錯時能把錯誤報告給報文源發(fā)方.是IP層的一個協(xié)議。但是由于差錯報告在發(fā)送給報文源發(fā)方時可能也要經(jīng)過若干子網(wǎng),因此牽涉到路由選擇等問題,所以ICMP報文需通過IP協(xié)議來發(fā)送。ICMP數(shù)據(jù)報的數(shù)據(jù)發(fā)送前需要兩級封裝:首先添加ICMP報頭形成ICMP報文,再添加IP報頭形成IP數(shù)據(jù)報通信術語最大傳輸單元〔MaximumTransmissionUnit,MTU是指一種通信協(xié)議的某一層上面所能通過的最大數(shù)據(jù)包大小〔以字節(jié)為單位。最大傳輸單元這個參數(shù)通常與通信接口有關〔網(wǎng)絡接口卡、串口等。實驗2基于UDP的traceroute程序實驗目的掌握UDP協(xié)議掌握UDP客戶機/服務器編程模式掌握socket編程技術掌握traceroute算法實驗任務1.熟悉程序udp-client.c和udp-server.c,使用網(wǎng)絡嗅探器〔如wireshark分析UDP通訊數(shù)據(jù)報格式;2.編寫一個基于UDP協(xié)議的網(wǎng)絡路徑記錄程序程序,程序需要完成的功能:1使用目標IP地址或域名作為參數(shù),測量本機到目標主機經(jīng)過的路由器IP地址;2輸出到目標主機經(jīng)過網(wǎng)絡路由器IP地址。實驗環(huán)境1Linux系統(tǒng);2gcc編譯工具,gdb調試工具。實驗步驟首先分別編譯程序udp-client.c和udp-server.c,編譯命令如下:gccudp-client.c–oudp-clientgccudp-server.c–oudp-server啟動網(wǎng)絡嗅探程序:wireshark。打開兩個終端窗口,進入程序所在目錄,分別運行./udp-client和./udp-server,查看wireshark采集到的UDP通訊數(shù)據(jù),截圖并結合圖對UDP協(xié)議格式進行說明;通過socket編程,發(fā)送udp數(shù)據(jù)報,設置目的端口號為不常用的值,TTL值初始為1,逐步增加,接收超時ICMP報文和ICMP不可達報文;如果接收到ICMP超時報文,則記錄發(fā)送ICMP超時報文的路由器IP地址,如果收到ICMP不可達報文,則為目的主機到達;輸出記錄的所有路由器IP地址。實驗結果1UDP協(xié)議的主要作用是將網(wǎng)絡數(shù)據(jù)流量壓縮成數(shù)據(jù)報的形式。一個典型的數(shù)據(jù)報就是一個二進制數(shù)據(jù)的傳輸單位。每一個數(shù)據(jù)報的前8個字節(jié)用來包含報頭信息,剩余字節(jié)則用來包含具體的傳輸數(shù)據(jù)。UDP報頭UDP報頭由4個域組成,其中每個域各占用2個字節(jié),具體如下:源端口號目標端口號數(shù)據(jù)報長度校驗值UDP協(xié)議使用端口號為不同的應用保留其各自的數(shù)據(jù)傳輸通道。UDP和TCP協(xié)議正是采用這一機制實現(xiàn)對同一時刻多項應用同時發(fā)送和接收數(shù)據(jù)的支持。數(shù)據(jù)發(fā)送一方〔可以是客戶端或服務器端將UDP數(shù)據(jù)報通過源端口發(fā)送出去,而數(shù)據(jù)接收一方則通過目標端口接收數(shù)據(jù)。有的網(wǎng)絡應用只能使用預先為其預留或注冊的靜態(tài)端口;而另外一些網(wǎng)絡應用則可以使用未被注冊的動態(tài)端口。因為UDP報頭使用兩個字節(jié)存放端口號,所以端口號的有效圍是從0到65535。一般來說,大于49151的端口號都代表動態(tài)端口。數(shù)據(jù)報的長度是指包括報頭和數(shù)據(jù)部分在的總的字節(jié)數(shù)。因為報頭的長度是固定的,所以該域主要被用來計算可變長度的數(shù)據(jù)部分〔又稱為數(shù)據(jù)負載。數(shù)據(jù)報的最大長度根據(jù)操作環(huán)境的不同而各異。從理論上說,包含報頭在的數(shù)據(jù)報的最大長度為65535字節(jié)。不過,一些實際應用往往會限制數(shù)據(jù)報的大小,有時會降低到8192字節(jié)。UDP協(xié)議使用報頭中的校驗值來保證數(shù)據(jù)的安全。校驗值首先在數(shù)據(jù)發(fā)送方通過特殊的算法計算得出,在傳遞到接收方之后,還需要再重新計算。如果某個數(shù)據(jù)報在傳輸過程中被第三方篡改或者由于線路噪音等原因受到損壞,發(fā)送和接收方的校驗計算值將不會相符,由此UDP協(xié)議可以檢測是否出錯。這與TCP協(xié)議是不同的,后者要求必須具有校驗值。2實驗3TCP協(xié)議分析實驗目的掌握TCP協(xié)議掌握TCP客戶機/服務器編程模式實驗任務熟悉程序tcp-process.c,tcp-client.c和tcp-server.c,使用網(wǎng)絡嗅探器〔如wireshark分析TCP協(xié)議三次握手過程;實驗環(huán)境1Linux系統(tǒng);2gcc編譯工具,gdb調試工具。實驗步驟首先分別編譯程序tcp-client.和tcp-server.,編譯命令如下:gcctcp-client.ctcp-process.c–otcp-clientgcctcp-server.ctcp-process.c–otcp-server啟動網(wǎng)絡嗅探程序:wireshark。打開兩個終端窗口,進入程序所在目錄,分別運行./tcp-client和./tcp-server,查看wireshark采集到的TCP通訊數(shù)據(jù),截圖并結合圖對TCP三次握手協(xié)議格式進行說明;實驗結果在TCP/IP協(xié)議中,TCP協(xié)議提供可靠的連接服務,采用三次握手建立一個連接。

第一次握手:建立連接時,客戶端發(fā)送syn包<syn=j>到服務器,并進入SYN_SEND狀態(tài),等待服務器確認;

第二次握手:服務器收到syn包,必須確認客戶的SYN〔ack=j+1,同時自己也發(fā)送一個SYN包〔syn=k,即SYN+ACK包,此時服務器進入SYN_RECV狀態(tài);

第三次握手:客戶端收到服務器的SYN+ACK包,向服務器發(fā)送確認包ACK<ack=k+1>,此包發(fā)送完畢,客戶端和服務器進入ESTABLISHED狀態(tài),完成三次握手。

完成三次握手,客戶端與服務器開始傳送數(shù)據(jù),在上述過程中,還有一些重要的概念:

未連接隊列:在三次握手協(xié)議中,服務器維護一個未連接隊列,該隊列為每個客戶端的SYN包〔syn=j開設一個條目,該條目表明服務器已收到SYN包,并向客戶發(fā)出確認,正在等待客戶的確認包。這些條目所標識的連接在服務器處于Syn_RECV狀態(tài),當服務器收到客戶的確認包時,刪除該條目,服務器進入ESTABLISHED狀態(tài)。

Backlog參數(shù):表示未連接隊列的最大容納數(shù)目。

SYN-ACK重傳次數(shù)服務器發(fā)送完SYN-ACK包,如果未收到客戶確認包,服務器進行首次重傳,等待一段時間仍未

溫馨提示

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

最新文檔

評論

0/150

提交評論