TCPIP三次握手圖解_第1頁
TCPIP三次握手圖解_第2頁
TCPIP三次握手圖解_第3頁
TCPIP三次握手圖解_第4頁
TCPIP三次握手圖解_第5頁
已閱讀5頁,還剩7頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、TCPfl!決字段使TCP能夠握供面向連接的可幕數拯通佰當兩臺主機采用TCP協議進行通信時,在交換數據前將建立連接。通信完成后,將關閉會話并終止連接。連接和會話機制保障了TCP的可靠性功能。請參見圖中建立并終止TCP連接的步驟。(SEQ=100CTL=SYNJCTL=TCP頭中設盧為1的控制惶發送SYN請求到B,TCP連接的建寶和終止笈送SYN満皇(SEQ=100CTL=SYN)收到SYN科息岌送SYN.AGK3U-S,(SEO=300ACK=101CTL=SYNACK)CTL=TCP報頭中諫置為1的揑制也B發送ACK響應和SYN請求到A.TCP連接的建立和線止裁送SYN為總(SEQ=10aC

2、TL=SYN)收到SYN帶宜收到連援己建立SEQ=101ACK=301OTL=ACK)裁送SYN.ACK(SEQ=300AQK=101CTLSSYN.ACKCTL=TCPffi中設置為1的控制位R愛送ACK響應到Bo主機將跟蹤會話過程中的每個數據段,并使用TCP報頭中的信息了解每臺主機所接收到的數據。每個連接都代表兩股單向通信數據流或者會話。若要建立連接,主機應執行三次握手。TCP報頭中的控制位指出了連接的進度和狀態。三次握手:確認目的設備存在于網絡上;確認目的設備有活動的服務,并且正在源客戶端要使用的目的端口號上接受請求;通知目的設備源客戶端想要在該端口號上建立通信會話。在TCP連接中,充當

3、客戶端的主機將向服務器發起該會話。TCP連接創建的過程分為三個步驟:客戶端向服務器發送包含初始序列值的數據段,開啟通信會話;服務器發送包含確認值的數據段,其值等于收到的序列值加1,并加上其自身的同步序列值。該值比序列號大1,因為ACK總是下一個預期字節或二進制八位數。通過此確認值,客戶端可以將響應和上一次發送到服務器的數據段聯接起來;發送帶確認值的客戶端響應,其值等于接受的序列值加1。這便完成了整個建立連接的過程。為了理解三次握手的過程,必須考察兩臺主機間交換的不同值。在TCP數據段報頭中,有六個包含控制信息的1比特字段,用于管理TCP進程。這些字段分別是:URG-緊急指針ACK-確認字段PS

4、H-推送功能RST-重置連接SYN-同步序列號FIN-發送方已傳輸完所有數據這些字段用作標志,由于它們都只有1比特大小,所以它們都只有兩個值:1或者0。當值設為1時,表示數據段中包含控制信息。通過4步流程法,可以交換標志,以終止TCP連接。TCP連接的建立和終止A發送FIN請求到炭送FIN斛息收到ACK消總a收型FIN滴息冀送ACK満息B發送ACK響應到A.口收型FINiWJ&發送ACK3lJfiL發送FIN消息a發送FIM謂皇收到ACKJflja收到FIN消皀發送ACKiWA收到FIN消息茨送AQK衲息茨送FIN満息收到ACK消息B發送FIN消息到幾A發送ACK響應到B.AB口H會話已終止T

5、CP三次握手步驟1:TCP客戶端發送帶同步序列號(SYN)控制標志設置的數據段,指示包含在報頭中的序列號字段的初始值,用以開啟三次握手。序列號的初始值稱為初始序列號(ISN),由系統隨機選取,并用于跟蹤會話過程中從客戶端到服務器的數據流。在會話過程中,每從客戶端向服務器發送一個字節的數據,數據段報頭中包含的ISN值就要加1。如圖所示,協議分析器的輸出結果中顯示了SYN控制標志和相應的序列號。SYN控制標志被置位并且相應的序列號設定為0。盡管圖中的協議分析器已顯示了序列號和確認號的相應值,但其真實值應該為32位二進位數字。我們可以通過研究PacketBytes窗格確定數據段報頭中發送的實際數值。

6、此處您可以看到以十六進制顯示的四個字節。14Frame14byteson1re,62byrescaprured)hlathernet11,Src:Quana.Ca_bd:0c:(00:c0t9f:t)d:Oc:7c),Dst:dscncf:66:4片internetProtocol,Src:10-1-1-1(LO.1/1.1),Dst:154192,168.;i-TrinsmissicncontrolPratacol,SrcPort:1Q691069),DstPort;littpC80j,ESourceport:1069(1069)Pestinat-Ionport;http0)$equ&nca

7、nunb&r:a(relativequince“LrnbmrjHeaderlengrhi23byresi=Flags:OxozCsyn)q=ccngestlcnwlndowReducedNSindardqueryq146.2O21DOlu.l.l.LL92.lea.254.254T匸戶1065)hTT.pSTh156.20251312.168.254.叩LO.1.1.1T亡Phttp1069N166.2Q254310,1-1-154TCP10hrtpACK1Tna1i111匚JJU再無U-TTCKT/LFT-TG1TCP三撫握手(SYN)步驟2:TCP服務器需要確認從客戶端處收到SYN數據段,

8、從而建立從客戶端到服務器的會話。為了達到此目的,服務器應向客戶端發送帶ACK標志設置的數據段,表明確認編號有效。客戶端將這種帶確認標志設置的數據段理解為確認信息,即服務器已收到從TCP客戶端發出的SYN信息。確認編號字段的值等于客戶端初始序列號加1。此時創建從客戶端到服務器的會話。ACK標志將在會話其間保持設置。我們在前面已經學過,客戶端和服務器之間的會話實際上是由兩個單向的會話組成的:一個是從客戶端到服務器的會話,另一個則正好相反。在三次握手過程的第二步中,服務器必須發起從服務器到客戶端的響應。為開啟會話,服務器應采用與客戶端同樣的方法使用SYN標志。該操作設置報頭中的SYN控制標志,從而建

9、立從服務器到客戶端的會話。SYN標志表明序列號字段的初始值已包含在報頭中,且該值將用于跟蹤會話過程中從服務器返回客戶端的數據流。如右圖所示,協議分析器的輸出結果中顯示了ACK和SYN控制標志的設置,以及相應的序列號和確認號。TCP三次握手(SYN,ACK)丄dZU-ULUf丄yZ.OBJ5lfls.Z丄Um.丄電LDIMitanoarqquery14754.254TCP1069http5v15已沖中!.109S1It氐20254310.1.1,1工射池碼254.2別TCPlittpAj:17乞20加51IC.IhI.LW1隔254254HTTPGET/HTTP/1,1*Tram?b/tison

10、i*irebytecapxuredj-Etbsrn&t11p$ru:匚:66:4u(00;Oc:85:cf;66:40j,Dwt:QuintJCobd:0c:itinterrietProrocol.src:192,18,254,254hfttpSYN1562025131?2,163.254.2M10,1.1.1TCPhttp1069SYN,1-75.阮右巧1紅一工尿匚2常二河TCP10河PtipIiiCKJ176.202651192.16B.254.254HTTPGET/HTTPA.1tiFrine16(54byte?onwirehbyt&cpttired)iEthernetLI3Pc:Qua

11、ntaCO_bd:Oc:7c(OQ:cO:bd:Oc:tDst:Ci5co_cf:6:0hinternEtProtoco!,Src:10.1*1*1),Ost:19?.16S.254.254(192.16E.?5-:TransnfissionContralProtDcCsl,SrcPert:1069CI069)tDstPort:http(8OSeSaurcEport:1069fl069Best1nationport;httpfso)Sequencenunber:1(relativesequencenumberAcknoledgsrientnumbert1Crelar1AcknuwtberHea

12、derlength:20byres-Flags:0 x10Cack)0=congesilonwintiavtReducedfewft):notset.D=ECN-Echo:Natsei.0.=urgent:Notset*協議分析器顯示了楨15中客戶端時會話的響應此轅中的TCP數括段顯示:ACK標蠱謖置為表示肓效牌認號辟認號與聃應刼始序列號相對應一兩者間相差1蒔端口號為掘應的1069*的端口號80(HTTP)表示Web腿務器懸哥(http)若要關閉連接,應設置數據段報頭中的FIN(結束)控制標志。為終止每個單向TCP會話,需采用包含FIN數據段和ACK數據段的二次握手。因此,若要終止TCP支持的

13、整個會話過程,需要實施四次交換,以終止兩個雙向會話。注意:在本部分中,為了更容易理解,采用了客戶端和服務器端進行說明。實際上,終止的過程可以在任意兩臺完成會話的主機之間展開。1.當客戶端的數據流中沒有其它要發送的數據時,它將發送帶FIN標志設置的數據段;服務器發送ACK信息,確認收到從客戶端發出的請求終止會話的FIN信息;服務器向客戶端發送FIN信息,終止從服務器到客戶端的會話;客戶端發送ACK響應信息,確認收到從服務器發出的FIN信息。當會話中的客戶端沒有其它要傳輸的數據時,它將在數據段報頭中設置FIN標志。然后,會話中的服務器端將發送包含ACK標志設置的一般數據段信息,通過確認號確認已經收

14、到所有數據。當所有數據段得到確認后,會話關閉。另一方向的會話采用相同的方式關閉。接收方在數據段的報頭中設置FIN標志,然后發送到發送方,表明沒有其它需要發送的數據。返回的確認信息確定已接收所有數據,隨即該方向的會話關閉。如右圖所示,在數據段報頭中設置了FIN和ACK控制標志,并從而關閉了HTTP會話。也可以通過三次握手方式關閉連接。當客戶端沒有其它要傳輸的數據時,它將向服務器發送FIN信息。如果服務器也沒有其它要傳輸的數據,它將發送同時包含FIN和ACK標志設置的響應信息,將兩步并作一步。最后,客戶端返回ACK信息。目的姑匚利頰端口報頭字段的內容和值協詼分析番顯示7幀20.;TCPFIN審耒.

15、)的詳細信Frame20(fiObytctunwire,6cbytecaptured)+ErheiieTiI,Ere:5-0._:6:40cu:Uc::8?:f:Ei6:4oj,Dst:Quarra匚Q_bci:Ot:亡jmerrieTPro;ocijl,=r_:54(192.163.25J.254.Dst:LJ.L.L.丄丄心-TranmissionControlProtocoltsrePbrr:littp邛Lfin,6.204416192.168,254.254TCPhttpLD69gA貝廠*?庖貞百勺穴r11D-TifiS-Vrihitup3,內薊11聲片臼ni-firhifi1TCP會話終止(FIM)TCP會話終止(ACK)196.203857252.16d.254.254HTTPHTTPAl200冰O206.203876192.16B.25斗5410.1.1.XTCPhrrp丄0E9kin,216.20SS99丄54TCP109llttpACK226.20139丄54TCP103httpFill,23比加恥“54TCPTttpA1069ACKAin1-iiJ-1rEM匸十nnH詩尸已cfi口尸、f岀+Frme215Tbytesanwir已54bytescaptured).EthernetII,

溫馨提示

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

評論

0/150

提交評論