版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
./課程設(shè)計(jì)課程設(shè)計(jì)題目網(wǎng)絡(luò)協(xié)議分析實(shí)驗(yàn)報(bào)告學(xué)生姓名:學(xué)號(hào):專業(yè):20XX6月29日實(shí)驗(yàn)1基于ICMP的MTU測量方法實(shí)驗(yàn)?zāi)康恼莆誌CMP協(xié)議掌握PING程序基本原理掌握socket編程技術(shù)掌握MTU測量算法實(shí)驗(yàn)任務(wù)編寫一個(gè)基于ICMP協(xié)議測量網(wǎng)絡(luò)MTU的程序,程序需要完成的功能:1使用目標(biāo)IP地址或域名作為參數(shù),測量本機(jī)到目標(biāo)主機(jī)經(jīng)過網(wǎng)絡(luò)的MTU;2輸出到目標(biāo)主機(jī)經(jīng)過網(wǎng)絡(luò)的MTU。實(shí)驗(yàn)環(huán)境1Linux系統(tǒng);2gcc編譯工具,gdb調(diào)試工具。實(shí)驗(yàn)步驟首先仔細(xì)研讀ping.c例程,熟悉linux下socket原始套接字編程模式,為實(shí)驗(yàn)做好準(zhǔn)備;生成最大數(shù)據(jù)量的IP數(shù)據(jù)報(bào)〔64K,數(shù)據(jù)部分為ICMP格式,ICMP報(bào)文為回送請(qǐng)求報(bào)文,IP首部DF位置為1;由發(fā)送線程發(fā)送;如果收到報(bào)文為目標(biāo)不可達(dá)報(bào)文,減少數(shù)據(jù)長度,再次發(fā)送,直到收到回送應(yīng)答報(bào)文。至此,MTU測量完畢。ICMP協(xié)議是一種面向無連接的協(xié)議,用于傳輸出錯(cuò)報(bào)告控制信息。它是一個(gè)非常重要的協(xié)議,它對(duì)于網(wǎng)絡(luò)安全具有極其重要的意義。[1]它是TCP/IP協(xié)議族的一個(gè)子協(xié)議,屬于網(wǎng)絡(luò)層協(xié)議,主要用于在主機(jī)與路由器之間傳遞控制信息,包括報(bào)告錯(cuò)誤、交換受限控制和狀態(tài)信息等。當(dāng)遇到IP數(shù)據(jù)無法訪問目標(biāo)、IP路由器無法按當(dāng)前的傳輸速率轉(zhuǎn)發(fā)數(shù)據(jù)包等情況時(shí),會(huì)自動(dòng)發(fā)送ICMP消息。ICMP報(bào)文在IP幀結(jié)構(gòu)的首部協(xié)議類型字段〔Protocol8bit>的值=1.ICMP原理ICMP提供一致易懂的出錯(cuò)報(bào)告信息。發(fā)送的出錯(cuò)報(bào)文返回到發(fā)送原數(shù)據(jù)的設(shè)備,因?yàn)橹挥邪l(fā)送設(shè)備才是出錯(cuò)報(bào)文的邏輯接受者。發(fā)送設(shè)備隨后可根據(jù)ICMP報(bào)文確定發(fā)生錯(cuò)誤的類型,并確定如何才能更好地重發(fā)失敗的數(shù)據(jù)包。但是ICMP唯一的功能是報(bào)告問題而不是糾正錯(cuò)誤,糾正錯(cuò)誤的任務(wù)由發(fā)送方完成。我們?cè)诰W(wǎng)絡(luò)中經(jīng)常會(huì)使用到ICMP協(xié)議,比如我們經(jīng)常使用的用于檢查網(wǎng)絡(luò)通不通的Ping命令〔Linux和Windows中均有,這個(gè)"Ping"的過程實(shí)際上就是ICMP協(xié)議工作的過程。還有其他的網(wǎng)絡(luò)命令如跟蹤路由的Tracert命令也是基于ICMP協(xié)議的。ICMP<InternetControlMessage,網(wǎng)際控制報(bào)文協(xié)議>是為網(wǎng)關(guān)和目標(biāo)主機(jī)而提供的一種差錯(cuò)控制機(jī)制,使它們?cè)谟龅讲铄e(cuò)時(shí)能把錯(cuò)誤報(bào)告給報(bào)文源發(fā)方.是IP層的一個(gè)協(xié)議。但是由于差錯(cuò)報(bào)告在發(fā)送給報(bào)文源發(fā)方時(shí)可能也要經(jīng)過若干子網(wǎng),因此牽涉到路由選擇等問題,所以ICMP報(bào)文需通過IP協(xié)議來發(fā)送。ICMP數(shù)據(jù)報(bào)的數(shù)據(jù)發(fā)送前需要兩級(jí)封裝:首先添加ICMP報(bào)頭形成ICMP報(bào)文,再添加IP報(bào)頭形成IP數(shù)據(jù)報(bào)通信術(shù)語最大傳輸單元〔MaximumTransmissionUnit,MTU是指一種通信協(xié)議的某一層上面所能通過的最大數(shù)據(jù)包大小〔以字節(jié)為單位。最大傳輸單元這個(gè)參數(shù)通常與通信接口有關(guān)〔網(wǎng)絡(luò)接口卡、串口等。實(shí)驗(yàn)2基于UDP的traceroute程序?qū)嶒?yàn)?zāi)康恼莆誙DP協(xié)議掌握UDP客戶機(jī)/服務(wù)器編程模式掌握socket編程技術(shù)掌握traceroute算法實(shí)驗(yàn)任務(wù)1.熟悉程序udp-client.c和udp-server.c,使用網(wǎng)絡(luò)嗅探器〔如wireshark分析UDP通訊數(shù)據(jù)報(bào)格式;2.編寫一個(gè)基于UDP協(xié)議的網(wǎng)絡(luò)路徑記錄程序程序,程序需要完成的功能:1使用目標(biāo)IP地址或域名作為參數(shù),測量本機(jī)到目標(biāo)主機(jī)經(jīng)過的路由器IP地址;2輸出到目標(biāo)主機(jī)經(jīng)過網(wǎng)絡(luò)路由器IP地址。實(shí)驗(yàn)環(huán)境1Linux系統(tǒng);2gcc編譯工具,gdb調(diào)試工具。實(shí)驗(yàn)步驟首先分別編譯程序udp-client.c和udp-server.c,編譯命令如下:gccudp-client.c–oudp-clientgccudp-server.c–oudp-server啟動(dòng)網(wǎng)絡(luò)嗅探程序:wireshark。打開兩個(gè)終端窗口,進(jìn)入程序所在目錄,分別運(yùn)行./udp-client和./udp-server,查看wireshark采集到的UDP通訊數(shù)據(jù),截圖并結(jié)合圖對(duì)UDP協(xié)議格式進(jìn)行說明;通過socket編程,發(fā)送udp數(shù)據(jù)報(bào),設(shè)置目的端口號(hào)為不常用的值,TTL值初始為1,逐步增加,接收超時(shí)ICMP報(bào)文和ICMP不可達(dá)報(bào)文;如果接收到ICMP超時(shí)報(bào)文,則記錄發(fā)送ICMP超時(shí)報(bào)文的路由器IP地址,如果收到ICMP不可達(dá)報(bào)文,則為目的主機(jī)到達(dá);輸出記錄的所有路由器IP地址。實(shí)驗(yàn)結(jié)果1UDP協(xié)議的主要作用是將網(wǎng)絡(luò)數(shù)據(jù)流量壓縮成數(shù)據(jù)報(bào)的形式。一個(gè)典型的數(shù)據(jù)報(bào)就是一個(gè)二進(jìn)制數(shù)據(jù)的傳輸單位。每一個(gè)數(shù)據(jù)報(bào)的前8個(gè)字節(jié)用來包含報(bào)頭信息,剩余字節(jié)則用來包含具體的傳輸數(shù)據(jù)。UDP報(bào)頭UDP報(bào)頭由4個(gè)域組成,其中每個(gè)域各占用2個(gè)字節(jié),具體如下:源端口號(hào)目標(biāo)端口號(hào)數(shù)據(jù)報(bào)長度校驗(yàn)值UDP協(xié)議使用端口號(hào)為不同的應(yīng)用保留其各自的數(shù)據(jù)傳輸通道。UDP和TCP協(xié)議正是采用這一機(jī)制實(shí)現(xiàn)對(duì)同一時(shí)刻多項(xiàng)應(yīng)用同時(shí)發(fā)送和接收數(shù)據(jù)的支持。數(shù)據(jù)發(fā)送一方〔可以是客戶端或服務(wù)器端將UDP數(shù)據(jù)報(bào)通過源端口發(fā)送出去,而數(shù)據(jù)接收一方則通過目標(biāo)端口接收數(shù)據(jù)。有的網(wǎng)絡(luò)應(yīng)用只能使用預(yù)先為其預(yù)留或注冊(cè)的靜態(tài)端口;而另外一些網(wǎng)絡(luò)應(yīng)用則可以使用未被注冊(cè)的動(dòng)態(tài)端口。因?yàn)閁DP報(bào)頭使用兩個(gè)字節(jié)存放端口號(hào),所以端口號(hào)的有效圍是從0到65535。一般來說,大于49151的端口號(hào)都代表動(dòng)態(tài)端口。數(shù)據(jù)報(bào)的長度是指包括報(bào)頭和數(shù)據(jù)部分在的總的字節(jié)數(shù)。因?yàn)閳?bào)頭的長度是固定的,所以該域主要被用來計(jì)算可變長度的數(shù)據(jù)部分〔又稱為數(shù)據(jù)負(fù)載。數(shù)據(jù)報(bào)的最大長度根據(jù)操作環(huán)境的不同而各異。從理論上說,包含報(bào)頭在的數(shù)據(jù)報(bào)的最大長度為65535字節(jié)。不過,一些實(shí)際應(yīng)用往往會(huì)限制數(shù)據(jù)報(bào)的大小,有時(shí)會(huì)降低到8192字節(jié)。UDP協(xié)議使用報(bào)頭中的校驗(yàn)值來保證數(shù)據(jù)的安全。校驗(yàn)值首先在數(shù)據(jù)發(fā)送方通過特殊的算法計(jì)算得出,在傳遞到接收方之后,還需要再重新計(jì)算。如果某個(gè)數(shù)據(jù)報(bào)在傳輸過程中被第三方篡改或者由于線路噪音等原因受到損壞,發(fā)送和接收方的校驗(yàn)計(jì)算值將不會(huì)相符,由此UDP協(xié)議可以檢測是否出錯(cuò)。這與TCP協(xié)議是不同的,后者要求必須具有校驗(yàn)值。2實(shí)驗(yàn)3TCP協(xié)議分析實(shí)驗(yàn)?zāi)康恼莆誘CP協(xié)議掌握TCP客戶機(jī)/服務(wù)器編程模式實(shí)驗(yàn)任務(wù)熟悉程序tcp-process.c,tcp-client.c和tcp-server.c,使用網(wǎng)絡(luò)嗅探器〔如wireshark分析TCP協(xié)議三次握手過程;實(shí)驗(yàn)環(huán)境1Linux系統(tǒng);2gcc編譯工具,gdb調(diào)試工具。實(shí)驗(yàn)步驟首先分別編譯程序tcp-client.和tcp-server.,編譯命令如下:gcctcp-client.ctcp-process.c–otcp-clientgcctcp-server.ctcp-process.c–otcp-server啟動(dòng)網(wǎng)絡(luò)嗅探程序:wireshark。打開兩個(gè)終端窗口,進(jìn)入程序所在目錄,分別運(yùn)行./tcp-client和./tcp-server,查看wireshark采集到的TCP通訊數(shù)據(jù),截圖并結(jié)合圖對(duì)TCP三次握手協(xié)議格式進(jìn)行說明;實(shí)驗(yàn)結(jié)果在TCP/IP協(xié)議中,TCP協(xié)議提供可靠的連接服務(wù),采用三次握手建立一個(gè)連接。
第一次握手:建立連接時(shí),客戶端發(fā)送syn包<syn=j>到服務(wù)器,并進(jìn)入SYN_SEND狀態(tài),等待服務(wù)器確認(rèn);
第二次握手:服務(wù)器收到syn包,必須確認(rèn)客戶的SYN〔ack=j+1,同時(shí)自己也發(fā)送一個(gè)SYN包〔syn=k,即SYN+ACK包,此時(shí)服務(wù)器進(jìn)入SYN_RECV狀態(tài);
第三次握手:客戶端收到服務(wù)器的SYN+ACK包,向服務(wù)器發(fā)送確認(rèn)包ACK<ack=k+1>,此包發(fā)送完畢,客戶端和服務(wù)器進(jìn)入ESTABLISHED狀態(tài),完成三次握手。
完成三次握手,客戶端與服務(wù)器開始傳送數(shù)據(jù),在上述過程中,還有一些重要的概念:
未連接隊(duì)列:在三次握手協(xié)議中,服務(wù)器維護(hù)一個(gè)未連接隊(duì)列,該隊(duì)列為每個(gè)客戶端的SYN包〔syn=j開設(shè)一個(gè)條目,該條目表明服務(wù)器已收到SYN包,并向客戶發(fā)出確認(rèn),正在等待客戶的確認(rèn)包。這些條目所標(biāo)識(shí)的連接在服務(wù)器處于Syn_RECV狀態(tài),當(dāng)服務(wù)器收到客戶的確認(rèn)包時(shí),刪除該條目,服務(wù)器進(jìn)入ESTABLISHED狀態(tài)。
Backlog參數(shù):表示未連接隊(duì)列的最大容納數(shù)目。
SYN-ACK重傳次數(shù)服務(wù)器發(fā)送完SYN-ACK包,如果未收到客戶確認(rèn)包,服務(wù)器進(jìn)行首次重傳,等待一段時(shí)間仍未
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度物流行業(yè)擔(dān)保合同投標(biāo)委托保證服務(wù)合同3篇
- 2024荒山承包合同轉(zhuǎn)讓協(xié)議
- 2024年高效辦公大樓物業(yè)管理協(xié)議樣本版B版
- 2025年度彩鋼活動(dòng)房安全性能檢測合同協(xié)議3篇
- 2024年車輛買賣合同(含舊車)
- 2024年項(xiàng)目服務(wù)及居間傭金協(xié)議
- 2024年餐飲業(yè)經(jīng)營權(quán)讓渡協(xié)議范本一
- 2024增補(bǔ)采購協(xié)議合同-新能源設(shè)備采購協(xié)議3篇
- 2024年網(wǎng)絡(luò)建設(shè)與維護(hù)合同3篇
- 2024幼兒園廚師聘用及營養(yǎng)健康知識(shí)普及合同3篇
- 2024年銷售員工年度工作總結(jié)
- 2024-2025學(xué)年廣東省深圳市南山區(qū)監(jiān)測數(shù)學(xué)三年級(jí)第一學(xué)期期末學(xué)業(yè)水平測試試題含解析
- 電子招投標(biāo)平臺(tái)搭建與運(yùn)維服務(wù)合同
- 人工智能 課件 第五章 機(jī)器學(xué)習(xí)
- 食品研發(fā)調(diào)研報(bào)告范文
- 2024-2030年國家甲級(jí)資質(zhì):中國干熱巖型地?zé)豳Y源融資商業(yè)計(jì)劃書
- 【MOOC】人因工程學(xué)-東北大學(xué) 中國大學(xué)慕課MOOC答案
- 食材配送服務(wù)方案投標(biāo)文件(技術(shù)方案)
- 高中政治統(tǒng)編版選擇性必修二《法律與生活》綜合測試卷(一)(原卷版)
- 帶狀皰疹后神經(jīng)痛的診治課件教案
- 淺談風(fēng)電機(jī)組偏航制動(dòng)器故障原因及案例分析
評(píng)論
0/150
提交評(píng)論