国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

TCP 三次握手:四次揮手

這篇具有很好參考價(jià)值的文章主要介紹了TCP 三次握手:四次揮手。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

TCP 三次握手/四次揮手

TCP 在傳輸之前會(huì)進(jìn)行三次溝通,一般稱為“三次握手”,傳完數(shù)據(jù)斷開的時(shí)候要進(jìn)行四次溝通,一般稱為“四次揮手”。

數(shù)據(jù)包說明
  1. 源端口號(hào)( 16 位):它(連同源主機(jī) IP 地址)標(biāo)識(shí)源主機(jī)的一個(gè)應(yīng)用進(jìn)程。

  2. 目的端口號(hào)( 16 位):它(連同目的主機(jī) IP 地址)標(biāo)識(shí)目的主機(jī)的一個(gè)應(yīng)用進(jìn)程。這兩個(gè)值加上 IP 報(bào)頭中的源主機(jī) IP 地址和目的主機(jī) IP 地址唯一確定一個(gè) TCP 連接。

  3. 順序號(hào) seq( 32 位):用來標(biāo)識(shí)從 TCP 源端向 TCP 目的端發(fā)送的數(shù)據(jù)字節(jié)流,它表示在這個(gè)報(bào)文段中的第一個(gè)數(shù)據(jù)字節(jié)的順序號(hào)。如果將字節(jié)流看作在兩個(gè)應(yīng)用程序間的單向流動(dòng),則TCP 用順序號(hào)對(duì)每個(gè)字節(jié)進(jìn)行計(jì)數(shù)。序號(hào)是 32bit 的無符號(hào)數(shù),序號(hào)到達(dá) 2 的 32 次方 - 1 后又從 0 開始。當(dāng)建立一個(gè)新的連接時(shí), SYN 標(biāo)志變 1 ,順序號(hào)字段包含由這個(gè)主機(jī)選擇的該連接的初始順序號(hào) ISN ( Initial Sequence Number )。

  4. 確認(rèn)號(hào) ack( 32 位):包含發(fā)送確認(rèn)的一端所期望收到的下一個(gè)順序號(hào)。因此,確認(rèn)序號(hào)應(yīng)當(dāng)是上次已成功收到數(shù)據(jù)字節(jié)順序號(hào)加 1 。只有 ACK 標(biāo)志為 1 時(shí)確認(rèn)序號(hào)字段才有效。 TCP 為應(yīng)用層提供全雙工服務(wù),這意味數(shù)據(jù)能在兩個(gè)方向上獨(dú)立地進(jìn)行傳輸。因此,連接的每一端必須保持每個(gè)方向上的傳輸數(shù)據(jù)順序號(hào)。

  5. TCP 報(bào)頭長度( 4 位):給出報(bào)頭中 32bit 字的數(shù)目,它實(shí)際上指明數(shù)據(jù)從哪里開始。需要這個(gè)值是因?yàn)槿芜x字段的長度是可變的。這個(gè)字段占 4bit ,因此 TCP 最多有 60 字節(jié)的首部。然而,沒有任選字段,正常的長度是 20 字節(jié)。

  6. 保留位( 6 位):保留給將來使用,目前必須置為 0 。

  7. 控制位( control flags , 6 位):在 TCP 報(bào)頭中有 6 個(gè)標(biāo)志比特,它們中的多個(gè)可同時(shí)被設(shè)置為 1 。依次為:

  • URG :為 1 表示緊急指針有效,為 0 則忽略緊急指針值。
  • ACK :為 1 表示確認(rèn)號(hào)有效,為 0 表示報(bào)文中不包含確認(rèn)信息,忽略確認(rèn)號(hào)字段。
  • PSH :為 1 表示是帶有 PUSH 標(biāo)志的數(shù)據(jù),指示接收方應(yīng)該盡快將這個(gè)報(bào)文段交給應(yīng)用層而不用等待緩沖區(qū)裝滿。
  • RST :用于復(fù)位由于主機(jī)崩潰或其他原因而出現(xiàn)錯(cuò)誤的連接。它還可以用于拒絕非法的報(bào)文段和拒絕連接請(qǐng)求。一般情況下,如果收到一個(gè) RST 為 1 的報(bào)文,那么一定發(fā)生了某些問題。
  • SYN :同步序號(hào),為 1 表示連接請(qǐng)求,用于建立連接和使順序號(hào)同步( synchronize )。
  • FIN :用于釋放連接,為 1 表示發(fā)送方已經(jīng)沒有數(shù)據(jù)發(fā)送了,即關(guān)閉本方數(shù)據(jù)流。
  1. 窗口大?。?16 位):數(shù)據(jù)字節(jié)數(shù),表示從確認(rèn)號(hào)開始,本報(bào)文的源方可以接收的字節(jié)數(shù),即源方接收窗口大小。窗口大小是一個(gè) 16bit 字段,因而窗口大小最大為 65535 字節(jié)。

  2. 校驗(yàn)和( 16 位):此校驗(yàn)和是對(duì)整個(gè)的 TCP 報(bào)文段,包括 TCP 頭部和 TCP 數(shù)據(jù),以 16 位字進(jìn)行計(jì)算所得。這是一個(gè)強(qiáng)制性的字段,一定是由發(fā)送端計(jì)算和存儲(chǔ),并由接收端進(jìn)行驗(yàn)證。

  3. 緊急指針( 16 位):只有當(dāng) URG 標(biāo)志置 1 時(shí)緊急指針才有效。TCP 的緊急方式是發(fā)送端向另一端發(fā)送緊急數(shù)據(jù)的一種方式。

  4. 選項(xiàng):最常見的可選字段是最長報(bào)文大小,又稱為 MSS(Maximum Segment Size) 。每個(gè)連接方通常都在通信的第一個(gè)報(bào)文段(為建立連接而設(shè)置 SYN 標(biāo)志的那個(gè)段)中指明這個(gè)選項(xiàng),它指明本端所能接收的最大長度的報(bào)文段。選項(xiàng)長度不一定是 32 位字的整數(shù)倍,所以要加填充位,使得報(bào)頭長度成為整字?jǐn)?shù)。

  5. 數(shù)據(jù): TCP 報(bào)文段中的數(shù)據(jù)部分是可選的。在一個(gè)連接建立和一個(gè)連接終止時(shí),雙方交換的報(bào)文段僅有 TCP 首部。如果一方?jīng)]有數(shù)據(jù)要發(fā)送,也使用沒有任何數(shù)據(jù)的首部來確認(rèn)收到的數(shù)據(jù)。在處理超時(shí)的許多情況中,也會(huì)發(fā)送不帶任何數(shù)據(jù)的報(bào)文段。

TCP 三次握手:四次揮手,高手面試,tcp/ip,網(wǎng)絡(luò),服務(wù)器

三次握手

第一次握手:主機(jī) A 發(fā)送位碼為 syn=1,隨機(jī)產(chǎn)生 seq number=1234567 的數(shù)據(jù)包到服務(wù)器,主機(jī) B由 SYN=1 知道,A 要求建立聯(lián)機(jī);

第二次握手:主機(jī) B 收到請(qǐng)求后要確認(rèn)聯(lián)機(jī)信息,向 A 發(fā) 送 ack number=( 主 機(jī) A 的seq+1),syn=1,ack=1,隨機(jī)產(chǎn)生 seq=7654321 的包

第三次握手:主機(jī) A 收到后檢查 ack number 是否正確,即第一次發(fā)送的 seq number+1,以及位碼ack 是否為 1,若正確,主機(jī) A 會(huì)再發(fā)送 ack number=(主機(jī) B 的 seq+1),ack=1,主機(jī) B 收到后確認(rèn)seq 值與 ack=1 則連接建立成功。

TCP 三次握手:四次揮手,高手面試,tcp/ip,網(wǎng)絡(luò),服務(wù)器

四次揮手

TCP 建立連接要進(jìn)行三次握手,而斷開連接要進(jìn)行四次。這是由于 TCP 的半關(guān)閉造成的。因?yàn)?TCP 連接是全雙工的(即數(shù)據(jù)可在兩個(gè)方向上同時(shí)傳遞)所以進(jìn)行關(guān)閉時(shí)每個(gè)方向上都要單獨(dú)進(jìn)行關(guān)閉。這個(gè)單方向的關(guān)閉就叫半關(guān)閉。當(dāng)一方完成它的數(shù)據(jù)發(fā)送任務(wù),就發(fā)送一個(gè) FIN 來向另一方通告將要終止這個(gè)方向的連接。

1) 關(guān)閉客戶端到服務(wù)器的連接:首先客戶端 A 發(fā)送一個(gè) FIN,用來關(guān)閉客戶到服務(wù)器的數(shù)據(jù)傳送,然后等待服務(wù)器的確認(rèn)。其中終止標(biāo)志位 FIN=1,序列號(hào) seq=u

2) 服務(wù)器收到這個(gè) FIN,它發(fā)回一個(gè) ACK,確認(rèn)號(hào) ack 為收到的序號(hào)加 1。

3) 關(guān)閉服務(wù)器到客戶端的連接:也是發(fā)送一個(gè) FIN 給客戶端。

4) 客戶段收到 FIN 后,并發(fā)回一個(gè) ACK 報(bào)文確認(rèn),并將確認(rèn)序號(hào) seq 設(shè)置為收到序號(hào)加 1。 首先進(jìn)行關(guān)閉的一方將執(zhí)行主動(dòng)關(guān)閉,而另一方執(zhí)行被動(dòng)關(guān)閉。

TCP 三次握手:四次揮手,高手面試,tcp/ip,網(wǎng)絡(luò),服務(wù)器

主機(jī) A 發(fā)送 FIN 后,進(jìn)入終止等待狀態(tài), 服務(wù)器 B 收到主機(jī) A 連接釋放報(bào)文段后,就立即給主機(jī) A 發(fā)送確認(rèn),然后服務(wù)器 B 就進(jìn)入 close-wait 狀態(tài),此時(shí) TCP 服務(wù)器進(jìn)程就通知高層應(yīng)用進(jìn)程,因而從 A 到 B 的連接就釋放了。此時(shí)是“半關(guān)閉”狀態(tài)。即 A 不可以發(fā)送給

B,但是 B 可以發(fā)送給 A。此時(shí),若 B 沒有數(shù)據(jù)報(bào)要發(fā)送給 A 了,其應(yīng)用進(jìn)程就通知 TCP 釋放連接,然后發(fā)送給 A 連接釋放報(bào)文段,并等待確認(rèn)。A 發(fā)送確認(rèn)后,進(jìn)入 time-wait,注意,此時(shí) TCP 連接還沒有釋放掉,然后經(jīng)過時(shí)間等待計(jì)時(shí)器設(shè)置的 2MSL 后,A 才進(jìn)入到close 狀態(tài)。文章來源地址http://www.zghlxwxcb.cn/news/detail-804617.html

到了這里,關(guān)于TCP 三次握手:四次揮手的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 詳解TCP/IP的三次握手和四次揮手

    詳解TCP/IP的三次握手和四次揮手

    本文章講解TCP/IP協(xié)議的三次握手和四次揮手的流程。 三次握手:為了對(duì)每次發(fā)送的數(shù)據(jù)量進(jìn)行跟蹤與協(xié)商,確保數(shù)據(jù)段的發(fā)送和接收同步,根據(jù)所接收到的數(shù)據(jù)量而確認(rèn)數(shù)據(jù)發(fā)送、接收完畢后何時(shí)撤消聯(lián)系,并建立虛連接。 TCP協(xié)議位于傳輸層,作用是提供可靠的字節(jié)流服務(wù)

    2024年02月09日
    瀏覽(27)
  • tcp的三次握手和四次揮手及相關(guān)面試題

    TCP的三次握手和四次揮手是計(jì)算機(jī)網(wǎng)絡(luò)領(lǐng)域中非常經(jīng)典的話題,通常在面試中也會(huì)被頻繁提及。下面是一些可能會(huì)被問到的相關(guān)問題: 三次握手(Three-Way Handshake) 請(qǐng)解釋TCP的三次握手過程。 為什么TCP需要進(jìn)行三次握手而不是兩次或四次? 三次握手中各個(gè)階段的作用是什么

    2024年04月17日
    瀏覽(33)
  • TCP/IP 三次握手&四次揮手詳解,以及異常狀態(tài)分析

    1.TCP/IP 三次握手 TCP/IP 三次握手過程 主要依靠IP協(xié)議報(bào)文中的 SYN ACK 兩個(gè)標(biāo)識(shí)位,SYN 表示是請(qǐng)求連接的報(bào)文,ACK 表示確認(rèn)報(bào)文的請(qǐng)求 過程: 客戶端處于 CLOSE 狀態(tài),服務(wù)器處于 LISTEN 狀態(tài),客戶端向服務(wù)器發(fā)送請(qǐng)求連接報(bào)文,SYN=1 seq=x,發(fā)送成功后,客戶端狀態(tài)修改為 SYN_SEND

    2024年02月22日
    瀏覽(22)
  • 網(wǎng)絡(luò)連接管理除了TCP三次握手,還有TCP四次揮手

    網(wǎng)絡(luò)連接管理除了TCP三次握手,還有TCP四次揮手

    網(wǎng)絡(luò)通信 建立連接 ,TCP會(huì)進(jìn)行三次握手,三次握手主要是兩個(gè)主機(jī)之間建立連接,和其他沒有什么關(guān)系,那么兩個(gè)主機(jī)之間是如何進(jìn)行三次握手的呢?他們又會(huì)使用什么操作來建立連接呢? 這里我們先了解一下TCP的報(bào)文結(jié)構(gòu): 三次握手主要是理解成客戶端與服務(wù)器經(jīng)過三次

    2024年02月07日
    瀏覽(26)
  • 面試常問:tcp的三次握手和四次揮手你了解嗎?

    面試常問:tcp的三次握手和四次揮手你了解嗎?

    三次握手和四次揮手是各個(gè)公司常見的考點(diǎn),一個(gè)簡單的問題,卻能看出面試者對(duì)網(wǎng)絡(luò)協(xié)議的掌握程度,對(duì)問題分析與解決能力,以及數(shù)據(jù)流管理理解和異常情況應(yīng)對(duì)能力。所以回答好一個(gè)tcp的三次握手和四次揮手的問題對(duì)于我們的面試成功與否還是有著很大的影響。 接下來

    2024年02月13日
    瀏覽(26)
  • 【網(wǎng)絡(luò)原理】TCP連接管理機(jī)制(三次握手四次揮手)

    【網(wǎng)絡(luò)原理】TCP連接管理機(jī)制(三次握手四次揮手)

    ??作者:一只愛打拳的程序猿,Java領(lǐng)域新星創(chuàng)作者,CSDN、阿里云社區(qū)優(yōu)質(zhì)創(chuàng)作者。 ??專欄收錄于:計(jì)算機(jī)網(wǎng)絡(luò)原理 在使用TCP協(xié)議進(jìn)行網(wǎng)絡(luò)交互時(shí),TCP會(huì)進(jìn)行三次握手即建立連接,TCP四次揮手即斷開連接。三次握手與四次揮手后就完成了網(wǎng)絡(luò)交互,這樣的操作也叫TCP的連接

    2024年02月09日
    瀏覽(27)
  • 【計(jì)算機(jī)網(wǎng)絡(luò)】TCP 的三次握手和四次揮手

    【計(jì)算機(jī)網(wǎng)絡(luò)】TCP 的三次握手和四次揮手

    TCP 是面向連接的,面向連接就是數(shù)據(jù)通訊的時(shí)候需要進(jìn)行三次握手,斷開通訊的時(shí)候需要進(jìn)行四次揮手。 1.seq(sequence number),序列號(hào),隨機(jī)生成的 2.ack(acknowledgement number),確認(rèn)號(hào),ack=seq+1 3.ACK(acknowledgement),確定序列號(hào)有效 4.SYN(synchronous),發(fā)起新連接 5.FIN(FINISH),完成 TCP三次

    2024年02月10日
    瀏覽(23)
  • 【Linux 網(wǎng)絡(luò)】 傳輸層協(xié)議之TCP協(xié)議 && TCP的三次握手和四次揮手

    【Linux 網(wǎng)絡(luò)】 傳輸層協(xié)議之TCP協(xié)議 && TCP的三次握手和四次揮手

    傳輸控制協(xié)議(TCP,Transmission Control Protocol)是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議 基于TCP應(yīng)用層協(xié)議 HTTP HTTPS SSH Telnet FTP SMTP 源/目的端口號(hào): 表示數(shù)據(jù)是從哪個(gè)進(jìn)程來, 到哪個(gè)進(jìn)程去 32位序號(hào)/確認(rèn)序號(hào):TCP的確認(rèn)應(yīng)答機(jī)制要使用到的字段,保證TCP的可靠

    2024年02月14日
    瀏覽(26)
  • 【網(wǎng)絡(luò)】TCP通訊(三次握手、四次揮手;滑動(dòng)窗口;TCP狀態(tài)轉(zhuǎn)換;端口復(fù)用;TCP心跳檢測機(jī)制)

    【網(wǎng)絡(luò)】TCP通訊(三次握手、四次揮手;滑動(dòng)窗口;TCP狀態(tài)轉(zhuǎn)換;端口復(fù)用;TCP心跳檢測機(jī)制)

    ?前言:建議看著圖片,根據(jù)文字描述走一遍TCP通訊過程,加深理解。 目錄 TCP通信時(shí)序: 1)建立連接(三次握手)的過程: 2)數(shù)據(jù)傳輸?shù)倪^程: 3)關(guān)閉連接(四次揮手)的過程: 滑動(dòng)窗口 (TCP流量控制): TCP狀態(tài)轉(zhuǎn)換: 半關(guān)閉: 2MSL: 程序設(shè)計(jì)中的問題: 端口復(fù)用:

    2024年02月07日
    瀏覽(29)
  • Java實(shí)習(xí)面試經(jīng)驗(yàn)匯總,Dubbo-負(fù)載均衡原理解析,TCP的三次握手、四次揮手

    Java實(shí)習(xí)面試經(jīng)驗(yàn)匯總,Dubbo-負(fù)載均衡原理解析,TCP的三次握手、四次揮手

    if (sameWeight i 0 !weight.equals(weights[i - 1])) { sameWeight = false; } } Integer sequenceNum = Sequence.getAndIncrement(); Integer offset = sequenceNum % totalWeight; offset = offset == 0 ? totalWeight : offset; if (!sameWeight) { for (String ip : ServerIps.WEIGHT_LIST.keySet()) { Integer weight = ServerIps.WEIGHT_LIST.get(ip); if (offset = weight) { ret

    2024年04月25日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包