實(shí)驗(yàn)五傳輸層協(xié)議分析_第1頁(yè)
實(shí)驗(yàn)五傳輸層協(xié)議分析_第2頁(yè)
實(shí)驗(yàn)五傳輸層協(xié)議分析_第3頁(yè)
實(shí)驗(yàn)五傳輸層協(xié)議分析_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí)驗(yàn)五、傳輸層協(xié)議分析5.1. 實(shí)驗(yàn)?zāi)康?理解TCP報(bào)文首部格式和字段的作用,TCP連接的建立和釋放過程,TCP數(shù)據(jù)傳輸中編號(hào)與確認(rèn)的作用。5.2 實(shí)驗(yàn)內(nèi)容應(yīng)用TCP應(yīng)用程序傳輸文件,截取TCP報(bào)文,分析TCP報(bào)文首部信息,TCP連接的建立過程,TCP數(shù)據(jù)的編號(hào)和確認(rèn)機(jī)制。5.3 實(shí)驗(yàn)原理 TCP協(xié)議是傳輸控制協(xié)議的簡(jiǎn)稱,工作在網(wǎng)絡(luò)層協(xié)議之上,是面向連接的,可靠的,端到端的傳輸層協(xié)議。1 TCP的報(bào)文格式TCP報(bào)文段分為頭部和數(shù)據(jù)兩部分,如圖1:圖1 TCP報(bào)文段的總體結(jié)構(gòu)TCP首部TCP數(shù)據(jù)部分TCP報(bào)文段首部又分為固定部分和選項(xiàng)部分,固定部分為20B,如圖2所示,這些字段的組合實(shí)現(xiàn)了TCP

2、的所有功能。圖2 TCP報(bào)文段的首部 0 15 31源端口目的端口序號(hào)確認(rèn)號(hào)頭部長(zhǎng)度(4bit)保留URGACKPSHRSTSYNFIN窗口校驗(yàn)和緊急指針選項(xiàng)(長(zhǎng)度可變)填充TCP采用傳輸輸連接的方式傳送TCP報(bào)文,傳輸連接包括連接建立、數(shù)據(jù)傳輸和連接釋放三個(gè)階段。2 TCP連接的建立TCP連接建立采用“3次握手”方式。首先,主機(jī)A的TCP向主機(jī)B的TCP發(fā)出連接請(qǐng)求報(bào)文段,其首部中的同步位SYN應(yīng)置1,同時(shí)選擇一個(gè)序號(hào)X,表明在后面?zhèn)魉蛿?shù)據(jù)時(shí)的第一個(gè)數(shù)據(jù)字節(jié)的序號(hào)是X+1,如圖3所示:被動(dòng)打開主動(dòng)打開確認(rèn)連接請(qǐng)求圖3 TCP連接建立的3次握手過程然后,主機(jī)B的TCP收到連接請(qǐng)求報(bào)文段后,若同

3、意,則發(fā)回確認(rèn)。在確認(rèn)報(bào)文段中應(yīng)將SYN和ACK都置1,確認(rèn)號(hào)應(yīng)為X+1,同時(shí)也為自己選擇一個(gè)序號(hào)Y。最后,主機(jī)A的TCP收到B的確認(rèn)后,要向B發(fā)回確認(rèn),其ACK置1,確認(rèn)號(hào)為Y+1,而自己的序號(hào)為X+1。TCP的標(biāo)準(zhǔn)規(guī)定,SYN置1的報(bào)文段都要消耗掉一個(gè)序號(hào)。同時(shí),運(yùn)行客戶進(jìn)程的主機(jī)A的TCP通知上層應(yīng)用進(jìn)程,連接已經(jīng)建立。當(dāng)主機(jī)A向B發(fā)送第一個(gè)數(shù)據(jù)報(bào)文段時(shí),其序號(hào)仍為X+1,因?yàn)榍耙粋€(gè)確認(rèn)報(bào)文段并不消耗序號(hào)。當(dāng)運(yùn)行服務(wù)器進(jìn)程的主機(jī)B的TCP收到主機(jī)A的確認(rèn)后,也通知其上層應(yīng)用進(jìn)程,連接已經(jīng)建立。另外,在TCP連接建立的過程中,還利用TCP報(bào)文段首部的選項(xiàng)字段進(jìn)行雙方最大報(bào)文段長(zhǎng)度MSS協(xié)商

4、,確定報(bào)文段的數(shù)據(jù)字段的最大長(zhǎng)度。雙方都將自己能夠支持的MSS寫入選項(xiàng)字段,比較之后,取較小的值賦給MSS,并應(yīng)用于數(shù)據(jù)傳送階段。 3. TCP數(shù)據(jù)的傳送 為了保證TCP傳輸?shù)目煽啃?,TCP采用面向字節(jié)的方式,將報(bào)文段的數(shù)據(jù)部分進(jìn)行編號(hào),每個(gè)字節(jié)對(duì)應(yīng)一個(gè)序號(hào)。并在連接建立時(shí),雙方商定初始序號(hào)。在報(bào)文段首部中,序號(hào)字段和數(shù)據(jù)部分長(zhǎng)度可以確定發(fā)送方傳送數(shù)據(jù)的每一個(gè)字節(jié)的序號(hào),確認(rèn)號(hào)字段則表示接收方希望下次收到的數(shù)據(jù)的第一個(gè)字節(jié)的序號(hào),即表示這個(gè)序號(hào)之前的數(shù)據(jù)字節(jié)均已收到。這樣既做到了可靠傳輸,又做到了全雙工通信。 當(dāng)然,數(shù)據(jù)傳送階段有許多復(fù)雜的問題和情況,如流量控制、擁塞控制、重傳機(jī)制等,本次實(shí)驗(yàn)

5、不探究。 4TCP連接的釋放 在數(shù)據(jù)傳輸結(jié)束后,通信的雙方都可以發(fā)出釋放連接的請(qǐng)求。TCP連接的釋放采用“4次握手”。如圖 圖4 TCP連接釋放的4次握手過程首先,設(shè)圖4中主機(jī)A的應(yīng)用進(jìn)程先向其TCP發(fā)出釋放連接的請(qǐng)求,并且不再發(fā)送數(shù)據(jù)。TCP通知對(duì)方要釋放從A到B這個(gè)方向的連接,將發(fā)往主機(jī)B的TCP報(bào)文段首部的中止位置1,其序號(hào)X等于前面已傳送過的數(shù)據(jù)的最后一個(gè)字節(jié)的序號(hào)加1。主機(jī)B的TCP收到釋放連接通知后即發(fā)出確認(rèn),其序號(hào)為Y,確認(rèn)號(hào)為X+1,同時(shí)通知高層應(yīng)用進(jìn)程,如圖中的箭頭。這樣從A到B的連接就被釋放了,連接處于半關(guān)閉狀態(tài),相當(dāng)于主機(jī)A對(duì)主機(jī)B說“我已經(jīng)沒有數(shù)據(jù)發(fā)送了。但是如果你還有

6、數(shù)據(jù)要發(fā)送,我仍然接收?!贝撕?,主機(jī)B不再接收A發(fā)來的數(shù)據(jù)。但若主機(jī)B還有一些數(shù)據(jù)要發(fā)給A,則可以繼續(xù)發(fā)送(這種情況很少)。主機(jī)A只要正確收到數(shù)據(jù),仍然向B發(fā)送確認(rèn)。若主機(jī)B不再向主機(jī)A發(fā)送數(shù)據(jù),其應(yīng)用進(jìn)程就通知TCP釋放連接,如圖中的箭頭。主機(jī)B發(fā)出的連接釋放報(bào)文段必須將中止位FIN和確認(rèn)位ACK置1,并使其序號(hào)仍為Y(因?yàn)楹灻l(fā)送的確認(rèn)報(bào)文段不消耗序號(hào)),但是還必須重復(fù)上次已經(jīng)發(fā)送過的ACKX+1。主機(jī)A必須對(duì)此發(fā)出確認(rèn),將ACK置1,ACK=Y+1,而自己的序號(hào)仍然是X+1,因?yàn)楦鶕?jù)TCP標(biāo)準(zhǔn),前面發(fā)送過的FIN報(bào)文段要消耗掉一個(gè)序號(hào)。這樣就把B到A的反方向的連接釋放掉。主機(jī)A的TCP再

7、向其應(yīng)用進(jìn)程報(bào)告,整個(gè)連接已經(jīng)全部釋放。5.4 實(shí)驗(yàn)步驟步驟1 在sniffer中設(shè)置過濾條件,協(xié)議為TCP HTTP,地址為本機(jī)>any,并開始截獲報(bào)文步驟2 打開,完成后,分析捕獲的報(bào)文。這里,TCP的連接和建立采用的是: 方式,本機(jī)是 ,遠(yuǎn)端主機(jī)是 。步驟3 分析TCP連接建立過程的前3個(gè)報(bào)文,填寫下表1:表1 TCP建立過程的三個(gè)報(bào)文信息字段名稱第一條報(bào)文第二條報(bào)文第三條報(bào)文報(bào)文序號(hào)Sequence NunberACK NumberACKSYN步驟4 分析截獲報(bào)文中數(shù)據(jù)發(fā)送部分的第一條TCP報(bào)文及其確認(rèn)報(bào)文,將報(bào)文中的字段值填寫在表格2中。表2 TCP報(bào)文首部信息字段名長(zhǎng)度字段值字段意義發(fā)送報(bào)文確認(rèn)報(bào)文步驟5 TCP連接建立時(shí),其報(bào)文首部與其它TCP報(bào)文不同,有一個(gè)option字段,它的作用是什么?結(jié)合IEEE802.3協(xié)議規(guī)定的以太網(wǎng)最大幀長(zhǎng)分析此數(shù)據(jù)是怎么得出來的?步驟6 分析TCP數(shù)據(jù)傳送階段的前8個(gè)報(bào)文,將報(bào)文信息填入表3:表3 TCP數(shù)據(jù)傳送部分的前8個(gè)報(bào)文報(bào)文序號(hào)報(bào)文種類序號(hào)字段確認(rèn)號(hào)字段數(shù)據(jù)長(zhǎng)度被確認(rèn)報(bào)文序號(hào)窗口5.5 試驗(yàn)總結(jié)在實(shí)驗(yàn)中,通過分析截獲的TCP報(bào)文首

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論