欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

思科CCNA認(rèn)證學(xué)習(xí)筆記(二)圖解TCP的三次握手四次斷開

  發(fā)布時(shí)間:2020-02-05 12:59:47   作者:~inspire   我要評(píng)論
這篇文章主要介紹了思科CCNA認(rèn)證TCP的三次握手四次斷開相關(guān)概念、原理與注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了思科CCNA認(rèn)證TCP的三次握手四次斷開。分享給大家供大家參考,具體如下:

學(xué)習(xí)OSI參考模型的傳輸層時(shí),了解 TCP(傳輸控制協(xié)議)是面向連接的可靠傳輸協(xié)議,UDP( 用戶數(shù)據(jù)報(bào)文協(xié)議)是非面向連接的不可靠傳輸協(xié)議,當(dāng)然兩者各有優(yōu)缺點(diǎn),比如學(xué)生上課這個(gè)活動(dòng),TCP協(xié)議相當(dāng)于面授,UDP協(xié)議相當(dāng)于遠(yuǎn)程授課、網(wǎng)上授課,面授的好處學(xué)生聽不懂直接告訴老師,老師再講一遍,直到學(xué)生聽懂,這種學(xué)習(xí)方法很可靠。而遠(yuǎn)程授課學(xué)生和老師不方便溝通,學(xué)生有問(wèn)題發(fā)過(guò)去了,老師卻沒(méi)看見,學(xué)習(xí)方式不可靠,但是講課的花費(fèi)的時(shí)間比面授少一些。

那么在網(wǎng)絡(luò)中如何讓實(shí)現(xiàn)這種可靠的傳輸呢?必定是有一個(gè)種面向可靠連接的機(jī)制——三次握手 四次斷開

TCP報(bào)頭

在了解三次握手和四次揮手之前,先知道TCP報(bào)頭里包含了哪些東西。

1、TCP報(bào)頭中的源端口號(hào)和目的端口號(hào)同IP數(shù)據(jù)報(bào)中的源IP與目的IP唯一確定一條TCP連接。TCP在發(fā)送數(shù)據(jù)前必須在彼此間建立連接,這里連接意思是:雙方需要內(nèi)保存對(duì)方信息

2、報(bào)文主要段的意思

  • 序號(hào):表示發(fā)送的數(shù)據(jù)字節(jié)流,確保TCP傳輸有序,對(duì)每個(gè)字節(jié)編號(hào)
  • 確認(rèn)序號(hào):發(fā)送方期待接收的下一序列號(hào),接收成功后的數(shù)據(jù)字節(jié)序列號(hào)加 1。只有ACK=1時(shí)才有效。
  • ACK:確認(rèn)序號(hào)的標(biāo)志,ACK=1表示確認(rèn)號(hào)有效,ACK=0表示報(bào)文不含確認(rèn)序號(hào)信息
  • SYN:連接請(qǐng)求序號(hào)標(biāo)志,用于建立連接,SYN=1表示請(qǐng)求連接
  • FIN:結(jié)束標(biāo)志,用于釋放連接,為1表示關(guān)閉本方數(shù)據(jù)流

三次握手

所謂三次握手(Three-Way Handshake)即建立TCP連接,就是指建立一個(gè)TCP連接時(shí),需要客戶端和服務(wù)端總共發(fā)送3個(gè)包以確認(rèn)連接的建立。如圖:

注:其中SYN 同步序列號(hào)請(qǐng)求、seq 序列號(hào)——記錄發(fā)送的次數(shù)、ctl 狀態(tài)

過(guò)程圖解:

  1. 連接開始時(shí),連接建立方(Client)發(fā)送SYN包,并包含了自己的初始序號(hào)a;
  2. 連接接受方(Server)收到SYN包以后會(huì)回復(fù)一個(gè)SYN包,其中包含了對(duì)上一個(gè)a包的回應(yīng)信息ACK,回應(yīng)的序號(hào)為下一個(gè)希望收到包的序號(hào),即a+1,然后還包含了自己的初始序號(hào)b;
  3. 連接建立方(Client)收到回應(yīng)的SYN包以后,回復(fù)一個(gè)ACK包做響應(yīng),其中包含了下一個(gè)希望收到包的序號(hào)即b+1。

四次斷開

所謂四次斷開(Four-Way Wavehand)即終止TCP連接,就是指斷開一個(gè)TCP連接時(shí),需要客戶端和服務(wù)端總共發(fā)送4個(gè)包以確認(rèn)連接的斷開。如圖:

過(guò)程圖解:

  1. 首先進(jìn)行關(guān)閉的一方(即發(fā)送第一個(gè)FIN)將執(zhí)行主動(dòng)關(guān)閉,而另一方(收到這個(gè)FIN)執(zhí)行被動(dòng)關(guān)閉。
  2. 當(dāng)服務(wù)器收到這個(gè)FIN,它發(fā)回一個(gè)ACK,確認(rèn)序號(hào)為收到的序號(hào)加1。和SYN一樣,一個(gè)FIN將占用一個(gè)序號(hào)。
  3. 同時(shí)TCP服務(wù)器還向應(yīng)用程序(即丟棄服務(wù)器)傳送一個(gè)文件結(jié)束符。接著這個(gè)服務(wù)器程序就關(guān)閉它的連接,導(dǎo)致它的TCP端發(fā)送一個(gè)FIN。
  4. 客戶必須發(fā)回一個(gè)確認(rèn),并將確認(rèn)序號(hào)設(shè)置為收到序號(hào)加1。

為什么建立連接是三次握手,而關(guān)閉連接卻是四次揮手呢?

這是因?yàn)榉?wù)端在LISTEN狀態(tài)下,收到建立連接請(qǐng)求的SYN報(bào)文后,把ACK和SYN放在一個(gè)報(bào)文里發(fā)送給客戶端。而關(guān)閉連接時(shí),當(dāng)收到對(duì)方的FIN報(bào)文時(shí),僅僅表示對(duì)方不再發(fā)送數(shù)據(jù)了但是還能接收數(shù)據(jù),己方也未必全部數(shù)據(jù)都發(fā)送給對(duì)方了,己方是否現(xiàn)在關(guān)閉發(fā)送數(shù)據(jù)通道,需要上層應(yīng)用來(lái)決定,因此,己方 ACK 和 FIN 一般都會(huì)分開發(fā)送。

相關(guān)文章

最新評(píng)論