国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

TCP三次握手與四次揮手的細節(jié)理解

GReq_mcu168 ? 來源:碼農(nóng)愛學習 ? 作者:碼農(nóng)愛學習 ? 2021-03-25 14:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

簡介

TCP提供面向有連接的通信傳輸,面向有連接是指在數(shù)據(jù)通信開始之前先做好通信兩端之間的準備工作。

TCP在數(shù)據(jù)通信之前,通過TCP首部發(fā)送一個SYN包作為建立連接的請求等待確認應(yīng)答(TCP中發(fā)送第一個SYN包的一方叫做客戶端,接收這個的一方叫做服務(wù)端)。如果對端發(fā)來確認應(yīng)答,則認為可以進行數(shù)據(jù)通信。如果對端的確認應(yīng)答未能到達,就不會進行數(shù)據(jù)通信。此外,在通信結(jié)束時會進行斷開連接的處理(FIN包)。

一個連接的建立與斷開,正常過程至少需要來回發(fā)送7個包才能完成(建立一個TCP連接需要發(fā)送3個包,這個過程也稱作“三次握手”,斷開一個TCP連接需要發(fā)送4個包,這個過程也稱作“四次揮手”)。

af0d6c02-8cec-11eb-8b86-12bb97331649.png

TCP報文段首部

在具體理解三次握手與四次揮手的細節(jié)時,需要先了解一下TCP報文段的首部格式:

af854cd6-8cec-11eb-8b86-12bb97331649.jpg

主要需要了解的是:

序號 seq

占4個字節(jié),范圍[0,223-1],共223(42 9496 7296)個序號。TCP是面向字節(jié)流的,在一個TCP連接中傳送的字節(jié)流中的每一個字節(jié)都按順序編號。

確認號 ack

占4個字節(jié),是期望收到對方下一個報文段的第一個數(shù)據(jù)字節(jié)的序號。

確認 ACK

僅當ACK=1時確認號字段才有效,當ACK=0時,確認號無效。TCP規(guī)定,在建立連接后所傳送的報文都必須把ACK置1。

同步 SYN

在連接時用來同步序號,當SYN=1而ACK=0時,表明這是一個連接請求報文段,對方若同意連接,在應(yīng)在響應(yīng)的報文段中使用SYN=1和ACK=1。因此,SYN置為1就表示這是一個連接請求或連接接受報文。

終止 FIN

用來釋放一個連接,當FIN=1時,表明此報文段的發(fā)送方的數(shù)據(jù)已發(fā)送完畢,并要求釋放運輸連接。

三次握手

afdd4238-8cec-11eb-8b86-12bb97331649.jpg

最初兩端的TCP進程都處于CLOSE(關(guān)閉)狀態(tài)。上圖中A主動打開連接,B被動打開連接。

B打開連接后處于LISTEN(監(jiān)聽狀態(tài)),等待客戶的連接請求。

A向B發(fā)送請求報文,SYN=1,ACK=0,選擇一個初始序號seq=x。

B 收到連接請求報文,如果同意建立連接,則向 A 發(fā)送連接確認報文,SYN=1,ACK=1,確認號為ack= x+1,同時也選擇一個初始的序號 seq=y。

A 收到 B 的連接確認報文后,還要向 B 發(fā)出確認,確認號為ack= y+1,序號為 seq=x+1。

B 收到 A 的確認后,連接建立。

必須握手三次而不是兩次的原因

主要是防止已經(jīng)失效的連接請求報文突然又傳送到了服務(wù)器,從而產(chǎn)生錯誤

如果使用的是兩次握手建立連接,假設(shè)有這樣一種場景,客戶端發(fā)送了第一個請求連接并且沒有丟失,只是因為在網(wǎng)絡(luò)結(jié)點中滯留的時間太長了,由于TCP的客戶端遲遲沒有收到確認報文,以為服務(wù)器沒有收到,此時重新向服務(wù)器發(fā)送這條報文,此后客戶端和服務(wù)器經(jīng)過兩次握手完成連接,傳輸數(shù)據(jù),然后關(guān)閉連接。此時此前滯留的那一次請求連接,網(wǎng)絡(luò)通暢了到達了服務(wù)器,這個報文本該是失效的,但是,兩次握手的機制將會讓客戶端和服務(wù)器再次建立連接,這將導致不必要的錯誤和資源的浪費。

如果采用的是三次握手,就算是那一次失效的報文傳送過來了,服務(wù)端接受到了那條失效報文并且回復了確認報文,但是客戶端不會再次發(fā)出確認。由于服務(wù)器收不到確認,就知道客戶端并沒有請求連接。

建立連接后,客戶端出現(xiàn)故障時的機制

TCP設(shè)有一個保活計時器,顯然,客戶端如果出現(xiàn)故障,服務(wù)器不能一直等下去,白白浪費資源。服務(wù)器每收到一次客戶端的請求后都會重新復位這個計時器,時間通常是設(shè)置為2小時,若2小時還沒有收到客戶端的任何數(shù)據(jù),服務(wù)器就會發(fā)送一個探測報文段,以后每隔75秒發(fā)送一次。若一連發(fā)送10個探測報文仍然沒反應(yīng),服務(wù)器就認為客戶端出了故障,接著就關(guān)閉連接。

四次揮手

b055125e-8cec-11eb-8b86-12bb97331649.jpg

A 發(fā)送連接釋放報文,F(xiàn)IN=1。

B 收到之后發(fā)出確認,此時 TCP 屬于半關(guān)閉狀態(tài),B 能向 A 發(fā)送數(shù)據(jù)但是 A 不能向 B 發(fā)送數(shù)據(jù)。

當 B 不再需要連接時,發(fā)送連接釋放報文,F(xiàn)IN=1。

A 收到后發(fā)出確認,進入 TIME-WAIT 狀態(tài),等待 2 MSL(最大報文存活時間)后釋放連接。

B 收到 A 的確認后釋放連接。

四次揮手的細節(jié)

CLOSE-WAIT

客戶端發(fā)送了 FIN 連接釋放報文之后,服務(wù)器收到了這個報文,就進入了 CLOSE-WAIT 狀態(tài)。這個狀態(tài)是為了讓服務(wù)器端發(fā)送還未傳送完畢的數(shù)據(jù),傳送完畢之后,服務(wù)器會發(fā)送 FIN 連接釋放報文。

TIME-WAIT

客戶端接收到服務(wù)器端的 FIN 報文后進入此狀態(tài),此時并不是直接進入 CLOSED 狀態(tài),還需要等待一個時間計時器設(shè)置的時間 2MSL。原因有二:

為保證A發(fā)送的最后一個ACK報文段能夠到達B

A發(fā)送的這個ACK報文段有可能丟失,如果 B 沒收到 A 發(fā)送來的確認報文,那么A就會重新發(fā)送連接釋放請求報文,A 等待一段時間就是為了處理這種情況的發(fā)生。

防止“已經(jīng)失效的連接請求報文段”出現(xiàn)在本鏈接中

A在發(fā)送完最后一個ACK報文段后,再經(jīng)過時間2MSL,就可以使本連接的時間內(nèi)所產(chǎn)生的所有報文段都從網(wǎng)絡(luò)中消失。這樣下一個新的連接中就不會出現(xiàn)這種舊的連接請求報文段。

為何建立連接協(xié)議是三次握手,而關(guān)閉連接卻是四次揮手?

因為服務(wù)端B的LISTEN狀態(tài)下的SOCKET當收到SYN報文的連接請求后,它可以把ACK和SYN(ACK起應(yīng)答作用,而SYN起同步作用)放在一個報文里來發(fā)送。但關(guān)閉連接時,當B收到對方A的FIN報文通知時,它僅表示客戶端A沒有數(shù)據(jù)發(fā)送給B了;但未必B的數(shù)據(jù)都全部發(fā)送給A了,所以B可能未必會馬上會關(guān)閉SOCKET,而是先發(fā)送一個ACK應(yīng)答信號,繼續(xù)將剩余的數(shù)據(jù)發(fā)送給A之后,再發(fā)送FIN報文給A表示B同意現(xiàn)在可以關(guān)閉連接了,所以它這里的ACK報文和FIN報文多數(shù)情況下都是分開發(fā)送的。

原文標題:TCP的三次握手與四次揮手

文章出處:【微信公眾號:玩轉(zhuǎn)單片機】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

責任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 通信
    +關(guān)注

    關(guān)注

    18

    文章

    6391

    瀏覽量

    140037
  • TCP
    TCP
    +關(guān)注

    關(guān)注

    8

    文章

    1424

    瀏覽量

    83496

原文標題:TCP的三次握手與四次揮手

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    TCP/IP(Socket)協(xié)議深度剖析

    TCP/IP協(xié)議作為互聯(lián)網(wǎng)通信的基礎(chǔ)架構(gòu),其核心機制Socket編程承載著全球數(shù)據(jù)交換的使命。本文將深入剖析這一協(xié)議的七層架構(gòu)、三次握手四次揮手
    的頭像 發(fā)表于 03-03 17:06 ?458次閱讀

    TCP三次握手四次揮手的詳細過程

    TCP 三次握手四次揮手,大概是網(wǎng)絡(luò)領(lǐng)域被問爛了的面試題。但真正能把狀態(tài)變遷、序列號變化、抓包細節(jié)
    的頭像 發(fā)表于 02-25 10:38 ?205次閱讀

    兆芯助力上海市政協(xié)十四屆四次會議順利舉辦

    2月2日至5日,中國人民政治協(xié)商會議上海市第十四屆委員會第四次會議順利召開。來自全市各界的政協(xié)委員齊聚一堂,聚焦深化“五個中心”建設(shè)、加快建成具有世界影響力的社會主義現(xiàn)代化國際大都市,積極建真言、獻良策、出實招,共繪城市發(fā)展新藍圖。
    的頭像 發(fā)表于 02-24 16:35 ?449次閱讀

    RDMA設(shè)計21:連接管理模塊設(shè)計

    至 CONNECT 狀態(tài),創(chuàng)建連接流程類似 TCP/IP 三次握手流程;如果為斷開連接則跳轉(zhuǎn)至 DISCONNECT 狀態(tài),斷開連接流程類似 TCP/IP
    發(fā)表于 01-12 11:03

    RDMA設(shè)計14:連接管理模塊設(shè)計

    至 CONNECT 狀態(tài),創(chuàng)建連接流程類似 TCP/IP 三次握手流程;如果為斷開連接則跳轉(zhuǎn)至 DISCONNECT 狀態(tài),斷開連接流程類似 TCP/IP
    發(fā)表于 12-30 16:51

    回溯示波器的四次認知躍遷

    工程師“第只眼”的儀器,究竟走過了怎樣波瀾壯闊的百年歷程?它如何從一根陰極射線管,進化成如今能“讀懂”電路故障的AI診斷官?今天,我們就撥開流量的迷霧,回溯示波器的四次認知躍遷,看看它如何一步步塑造了現(xiàn)代電子世界。
    的頭像 發(fā)表于 12-19 15:39 ?6500次閱讀
    回溯示波器的<b class='flag-5'>四次</b>認知躍遷

    TCP和UDP的區(qū)別

    相比,TCP大核心特性: 1、面向連接。所謂的連接,指的是客戶端和服務(wù)器的連接,在雙方互相通信之前,TCP 需要三次握手建立連接,
    發(fā)表于 12-09 07:24

    TCP三次握手

    ,Server進入SYN_RCVD狀態(tài)。 (3)第三次握手:Client收到確認后,檢查ack是否為J+1,ACK是否為1,如果正確則將標志位ACK置為1,ack=K+1,并將該數(shù)據(jù)包發(fā)送給Server
    發(fā)表于 12-02 07:16

    從電網(wǎng)到柵極:賦能第三次能源革命

    開啟。隨后在美國發(fā)生了第二能源革命,20 世紀石油產(chǎn)業(yè)的繁榮推動了汽車和電力領(lǐng)域取得前所未有的進步。 如今,人工智能 (AI) 的快速發(fā)展正在引領(lǐng)第三次能源革命,涵蓋產(chǎn)生、轉(zhuǎn)換和分配為我們正在消耗的大量數(shù)據(jù)提供動力所需的能源。如何產(chǎn)生
    的頭像 發(fā)表于 11-14 10:19 ?607次閱讀
    從電網(wǎng)到柵極:賦能第<b class='flag-5'>三次</b>能源革命

    坐標測量儀讓三次元測量從此簡單高效

    三次元測量(即坐標測量)常被視為“技術(shù)門檻高、操作復雜、效率難提”的環(huán)節(jié),因為傳統(tǒng)坐標要么因體積龐大需專屬機房,零件轉(zhuǎn)運耗時費力;要么因精度與效率難以兼顧,批量檢測時頻繁陷入“調(diào)參-等待-復測
    的頭像 發(fā)表于 09-17 15:23 ?2372次閱讀
    <b class='flag-5'>三</b>坐標測量儀讓<b class='flag-5'>三次</b>元測量從此簡單高效

    集創(chuàng)北方出席LED TCON團體標準發(fā)展第三次技術(shù)研討會

    近日,由中國光學光電子行業(yè)協(xié)會發(fā)光二極管顯示應(yīng)用分會(簡稱中國光協(xié)LED顯示應(yīng)用分會)主辦,北京集創(chuàng)北方科技股份有限公司(簡稱集創(chuàng)北方)承辦的“《基于TCON方案的LED顯示接口及通訊協(xié)議規(guī)范》團體標準第三次技術(shù)研討會”在集創(chuàng)北方深圳園區(qū)圓滿舉行。
    的頭像 發(fā)表于 08-16 16:19 ?1587次閱讀

    中微公司第四次蟬聯(lián)客戶滿意度調(diào)查冠王

    ”,上交所股票代碼:688012)第四次榮獲冠王。今年5月,CSS公布了主要排名結(jié)果,此次白皮書披露了更多關(guān)于滿意度調(diào)查的數(shù)據(jù)。
    的頭像 發(fā)表于 07-21 14:39 ?1370次閱讀

    工業(yè)4.0:第四次工業(yè)革命的機遇與挑戰(zhàn)

    工業(yè)4.0是近年來全球制造業(yè)領(lǐng)域最受關(guān)注的概念之一,它代表了以智能化、數(shù)字化和網(wǎng)絡(luò)化為核心的第四次工業(yè)革命。這一概念最早由德國政府提出,旨在通過先進信息技術(shù)與制造業(yè)的深度融合,實現(xiàn)生產(chǎn)效率的大幅提升
    的頭像 發(fā)表于 07-18 16:54 ?1150次閱讀

    舜宇車載光學召開車載激光雷達團體標準第三次會議

    近日,由舜宇車載光學牽頭的《車載激光雷達典型光學器件可靠性要求及檢測方法》團體標準第三次工作組會議在浙江省余姚市召開。
    的頭像 發(fā)表于 06-20 09:31 ?1023次閱讀

    TCP三次握手四次揮手,這樣解釋太通俗易懂了!

    TCP連接的建立和釋放分別通過“三次握手”和“四次揮手”來完成。三次
    的頭像 發(fā)表于 04-24 19:33 ?1541次閱讀
    <b class='flag-5'>TCP</b><b class='flag-5'>三次</b><b class='flag-5'>握手</b>和<b class='flag-5'>四次</b><b class='flag-5'>揮手</b>,這樣解釋太通俗易懂了!