色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

TCP建立連接概述及三次握手、四次揮手的流程

jf_78858299 ? 來源:京東科技技術說 ? 作者: 宋國偉 ? 2023-03-23 15:57 ? 次閱讀

連 接 概 述

順著第一篇的思路下來,到最后我們已經可以依靠分層達到兩臺主機之間的自由通信,那么問題來了,假設現在有主機A(客戶端)及主機B(服務端),其中主機A需要訪問主機B的資源,需要哪幾個必要條件呢?經過上篇文章可知至少需要四個條件:

  • 主機A需要具有一個ip地址
  • 主機B需要具有一個ip地址
  • 主機A需要具有一個客戶端端口
  • 主機B需要具有一個服務端端口號

圖片

具備上述四個條件后A獲取B的信息是有要求的,根本上的要求是數據信道可靠,就是平時所說的可靠連接,那么如何保證連接的可靠性呢,TCP協議就是靠確認應答機制、超時重傳機制等保證連接可靠性的,接下來就通過TCP協議的三次握手及四次(三次)揮手來分析一下A與B建立連接、關閉連接的技術細節是如何落地實現的。

三 次 握 手

第一次: 首先客戶端A會向服務端B發送一個數據同步請求,可以稱為建立連接請求syn,同時客戶端A 的cpu內核會為這個syn請求生成一個隨機的序列號seq發送給服務端。此處整體稱為第一次握手,注意此處為隨機序列號。

第二次: 服務端B接到客戶端A發送的syn請求后,會回復一個[syn+ack]的響應,其中syn仍表達數據同步的意思,這個應答seq值由服務端B的cpu隨機生成,ack的值為第一次握手seq的值+1,ack表示兩層含義:

  • 服務端B已經收到了客戶端A發過來的數據同步請求
  • 希望客戶端接下來的應答消息的seq的值以ack回復的值開始傳輸。

這個稱為第二次握手。

第三次: 客戶端A接收到服務端B的[syn+ack]應答消息會給B回復一個ack應答,ack消息中seq值為第二次握手ack的值,而ack則為第二次握手的請求的seq值+1。

圖片

三次握手通信釋義圖如上所示,接下來我們來通過抓包的形式來看一下實際報文,印證三次握手的報文通信。

筆者通過wireshark(抓包工具)抓取數據包,采用打開一個瀏覽器網頁的場景模擬對服務器B的請求。

第一次握手抓包圖如下:

圖片

第二次握手抓包釋義圖如下:

圖片

第三次握手抓包釋義圖如下:

圖片

通過三次握手的抓包可以很清晰的展示三次交互流程,可能有人會有連帶的疑問,為什么一定是三次,而不是別的次數,這里三次其實是最優的次數,而不是一定的次數,比如如果兩次的話A、B兩方將會有一方無法做出信息是否送達的確認,而超過三次則造成了浪費,因為三次交互中A、B都已經對兩方應答一次了。接下來來看一下四次揮手的交互流程。

四 次 揮 手

理解三次握手及流程后,四次揮手其實本質和三次握手的確認流程基本上是一樣的,下面我們簡單梳理一下揮手標準流程。

第一次: 當A確認當前連接數據已經全部發送完成以后,會發起關閉連接請求,此時A不再發送業務報文,發送的請求標志為FIN ,seq為x,此處整體為第一次揮手。

第二次: B收到A發出的關閉連接的請求之后,會給A一個確認響應,告訴A我收到你關閉連接的請求了,但是我有可能還有沒發完的數據需要繼續給你發送,響應的標志為ack,seq為Y,ack為x+1,此處整體為第二次揮手。

第三次: 當B把數據傳輸完之后會發送釋放連接響應,此處標志B釋放連接,不會再發送業務報文,此時請求的標志為FIN+ack,seq的值為y,ack的值為x+1,此處整體為第三次揮手。

第四次: A對B第三次揮手做最后確認,并釋放連接,此時請求標志為ack,seq為x+1,ack為y+1。

圖片

四次揮手通信釋義圖如上所示,由于三次握手的每一次都通過抓包工具詳細描述了通信詳情,此處揮手抓一個整體包截圖,由讀者自行解析分析即可。

四次揮手抓包整體釋義圖如下:

圖片

可以看到,這里面的揮手包數與咱們分析的標準流程不一樣,這里是因為第二次和第三次揮手都是B向A發起確認響應,區別是第二次只是確認,因為可能還有數據沒有傳完,要繼續傳,全部數據傳完后B才能發出最后指令進行釋放連接,但這時如果發第二次揮手的時候就可以確認沒有數據需要再同步給A了,這時如果按照標準流程,B會給A發送兩個相同的數據包,這樣就造成了資源浪費,故這塊揮手做了優化,可以確認數據的情況下,可以把第二次和第三次揮手合并成一次,所以此處是三次握手。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • TCP協議
    +關注

    關注

    1

    文章

    91

    瀏覽量

    12093
  • 服務端
    +關注

    關注

    0

    文章

    66

    瀏覽量

    7023
收藏 人收藏

    評論

    相關推薦

    講一講的TCP三次握手四次揮手

    如果你學過網絡基礎知識,那么你一定對TCP三次握手不陌生。今天我想用通俗的話來給大家講一講TCP三次握手
    的頭像 發表于 02-03 10:43 ?2740次閱讀
    講一講的<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>

    三次握手四次揮手你懂嗎

    程序員面試被問到“三次握手四次揮手”怎么辦?
    發表于 04-08 07:23

    TCP三次握手的過程描述

    本文檔主要描述TCP三次握手的過程,一個完整的三次握手也就是 請求---應答---再次確認
    發表于 03-02 15:37 ?8次下載

    大神告訴你TCP建立連接為什么是三次握手

    所謂三次握手(Three-Way Handshake)即建立TCP連接,是指建立一個
    的頭像 發表于 04-16 11:43 ?1w次閱讀
    大神告訴你<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>

    TCP/IP協議工作過程的三次握手四次揮手

    )、第三次握手:Client收到確認后,檢查ACK是否為1,如果正確則將標志位ACK置為1,并將該數據包發送給Server,Server檢查ACK是否為1,如果正確則連接建立成功,Cl
    的頭像 發表于 10-25 09:49 ?6996次閱讀

    TCP三次握手過程及四次揮手過程說明

    三次握手 置位概念:根據 TCP 的包頭字段,存在 3 個重要的標識 ACK、SYN、FIN ACK:表示驗證字段 SYN:位數置 1,表示建立 T
    的頭像 發表于 03-01 12:00 ?4255次閱讀

    TCP三次握手四次揮手以及11種狀態資料下載

    電子發燒友網為你提供TCP三次握手四次揮手以及11種狀態資料下載的電子資料下載,更有其他相關的電路圖、源代碼、課件教程、中文資料、英文資料
    發表于 04-15 08:41 ?2次下載
    <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>以及11種狀態資料下載

    TCP三次握手四次揮手過程中的異常情況

    TCP 三次握手四次揮手過程中,途中某一步的報文丟失了,會發生什么?
    的頭像 發表于 09-05 10:23 ?1270次閱讀

    用戀愛的方式解釋TCP三次握手四次揮手

    前言今天的分享,是關于前兩天讀到的心得,TCP建立連接三次握手,斷開時為何4
    的頭像 發表于 08-28 16:11 ?732次閱讀
    用戀愛的方式解釋<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>

    說說TCP三次握手的過程?為什么是三次而不是兩四次

    說說TCP三次握手的過程?為什么是三次而不是兩四次T
    的頭像 發表于 02-04 11:03 ?706次閱讀

    簡述TCP協議的三次握手機制

    機制是建立一個可靠的連接的關鍵步驟。以下是對TCP協議三次握手機制的介紹: 概述
    的頭像 發表于 08-16 10:57 ?1104次閱讀

    TCP三次握手協議的作用

    在計算機網絡中,數據的傳輸需要在發送方和接收方之間建立一個穩定的連接,以確保數據的完整性和順序。TCP(傳輸控制協議)是一種面向連接的、可靠的、基于字節流的傳輸層通信協議,它通過
    的頭像 發表于 01-03 17:15 ?308次閱讀

    TCP三次握手的基本原理

    在計算機網絡中,TCP(傳輸控制協議)是一種面向連接的、可靠的、基于字節流的傳輸層通信協議。它確保了數據在網絡中傳輸的可靠性和順序性。為了建立兩個網絡實體之間的通信,TCP使用一種稱為
    的頭像 發表于 01-03 17:25 ?437次閱讀

    TCP三次握手連接建立的關系

    在計算機網絡中,TCP(傳輸控制協議)是一種面向連接的、可靠的、基于字節流的傳輸層通信協議。它負責在兩個主機之間建立、維護和終止連接,確保數據的可靠傳輸。
    的頭像 發表于 01-06 09:09 ?163次閱讀

    如何監測TCP三次握手過程

    在計算機網絡中,傳輸控制協議(TCP)是確保數據可靠傳輸的關鍵協議之一。TCP通過三次握手過程來建立兩個端點之間的
    的頭像 發表于 01-06 09:20 ?154次閱讀
    主站蜘蛛池模板: 99热国产这里只有精品免费| 成人小视频在线观看免费| 国产欧洲野花A级| 亚洲精品视频免费在线观看| 久久精品18| 99热国产这里只有精品9九| 日本无吗高清| 好吊射视频988gaocom| 2020精品极品国产色在线| 人与畜禽CROPROATION免费| 国产精品一区二区人妻无码| 在线看片亚洲| 色人阁影视| 久久久久久久久女黄| 成人影片下载网站| 亚洲视频中文字幕在线观看| 女子叉开腿让男子桶免费软件| 国产精品久久久久久久久久久| 又黄又爽又无遮挡在线观看免费| 欧美日韩亚洲成人| 寂寞夜晚在线视频观看| 扒开腿狂躁女人GIF动态图| 亚洲国产精品一区二区动图| 欧美高跟镣铐bdsm视频| 好男人在线观看免费视频WWW| 99视频免费播放| 亚洲人成77777在线视频| 欧美一区二区影院| 九色91精品国产网站| 超碰免费视频caoporn| 一个色夫导航| 无人区日本电影在线观看高清| 麻豆出品国产AV在线观看| 东热rq大乱交| 97超碰免费人妻中文| 亚洲免费大全| 十八禁肉动漫无修在线播放| 免费国产午夜理论不卡| 国语自产拍在线视频普通话 | 欧美高清一区二区三| 花蝴蝶在线直播观看|