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

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

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

TCP協(xié)議連接的三次握手

星星科技指導(dǎo)員 ? 來源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2024-02-03 16:44 ? 次閱讀

tcp協(xié)議三次握手的作用

TCP協(xié)議的三次握手過程具有以下幾個重要作用:

1. 確認雙方的通信能力:通過三次握手,客戶端與服務(wù)端能夠確保彼此的網(wǎng)絡(luò)連接是可用的??蛻舳税l(fā)起的SYN報文和服務(wù)端返回的SYN+ACK報文都包含了對方的初始序列號和通信能力信息,通過互相確認這些信息,雙方確認彼此的能力和正確性。

2. 同步雙方的初始序列號:在TCP連接中,序列號用于標識每個數(shù)據(jù)段的位置。在三次握手的過程中,客戶端和服務(wù)端會交換各自的初始序列號,并確認對方的序列號范圍。這樣,雙方就能夠同步序列號,為后續(xù)的數(shù)據(jù)傳輸和數(shù)據(jù)校驗提供正確的依據(jù)。

3. 防止舊連接的建立:通過三次握手,能夠防止舊連接的建立。由于網(wǎng)絡(luò)通信是不可靠的,可能會出現(xiàn)數(shù)據(jù)包延遲、丟失和重復(fù)等情況。如果沒有三次握手,舊的連接請求可能會在網(wǎng)絡(luò)中滯留,導(dǎo)致后續(xù)的連接請求被誤認為同一個舊連接的請求。通過三次握手,能夠確保雙方都對該連接進行了確認和同步,從而避免了舊連接的干擾。

4. 防止資源浪費:通過三次握手,可以避免服務(wù)端資源被無效請求浪費。服務(wù)端收到客戶端的連接請求后,會分配一定的資源用于處理該連接。通過三次握手,可以確保只有真正的有效連接請求才會被服務(wù)端接受和處理,從而避免了資源的浪費和濫用。

TCP協(xié)議連接的三次握手

①服務(wù)器進程B被動打開連接,進入LISTEN(收聽)狀態(tài),等待客戶端發(fā)出請求

? ②客戶進程A主動打開連接,向B發(fā)送連接請求報文段(報文段不挾帶數(shù)據(jù)),SYN=1,序號=x,進入SYN-SENT(同步已發(fā)送)狀態(tài) ?

③服務(wù)器進程B收到請求后,向A發(fā)送確認報文段(報文段不挾帶數(shù)據(jù)),SYN=1,ACK=1,確認號=x+1,序號=y,進入SYN-RCVD(同步收到)狀態(tài) ?

④客戶進程A收到確認后,向B發(fā)送確認報文段(報文段可以攜帶數(shù)據(jù),不攜帶數(shù)據(jù)時不消耗序號,下一個序號依然是x+1),ACK=1,確認號=y+1,序號=x+1,進入ESTABLISHED(已建立連接)狀態(tài),B收到確認后,也進入ESTABLISHED狀態(tài)

為什么A需要向B發(fā)送最后一個確認報文段:為了防止“已失效的連接請求報文段”突然又傳到B發(fā)生錯誤,以至于B一直等待A發(fā)送數(shù)據(jù),B的資源被浪費。

tcp協(xié)議三次握手的工作原理

TCP協(xié)議的三次握手是建立一個可靠連接的過程,其工作原理如下:

1. 客戶端發(fā)送SYN報文:客戶端(Client)首先向服務(wù)端(Server)發(fā)送一個SYN(同步序列編號)報文。該報文中,客戶端會選擇一個初始的序列號(Sequence Number)并設(shè)置SYN標志位為1,表示希望建立連接。此時,客戶端進入SYN_SENT狀態(tài)。

2. 服務(wù)端接收SYN報文并返回SYN+ACK報文:服務(wù)端在收到客戶端的SYN報文后,會向客戶端發(fā)送一個SYN+ACK報文作為回應(yīng)。該報文中,服務(wù)端同樣會選擇一個初始的序列號,并將ACK標志位設(shè)置為1,表示確認收到客戶端的SYN報文,并表示服務(wù)端也愿意建立連接。同時,服務(wù)端將自己的初始序列號+1作為確認號(Acknowledgment Number)。

3. 客戶端確認服務(wù)端的SYN+ACK報文:客戶端收到服務(wù)端的SYN+ACK報文后,會發(fā)送一個確認的ACK報文給服務(wù)端。該報文中,客戶端會確認服務(wù)端的SYN,并將序列號+1,表示連接已成功建立。現(xiàn)在,客戶端和服務(wù)端都進入ESTABLISHED狀態(tài),可以進行數(shù)據(jù)的傳輸了。

如果在握手過程中某個階段超時或失敗,會觸發(fā)重新發(fā)送相應(yīng)的報文,直到連接建立成功或達到最大重試次數(shù)。

通過三次握手,TCP協(xié)議完成了對雙方通信能力的確認、同步序列號和建立可靠連接的過程。這樣,在后續(xù)的數(shù)據(jù)傳輸中,客戶端和服務(wù)端就都能夠確保數(shù)據(jù)的可靠性和有序傳輸,并能夠進行適當?shù)牧髁靠刂坪蛽砣刂啤?/p>

審核編輯:黃飛

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

    關(guān)注

    9

    文章

    1792

    瀏覽量

    64410
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    8958

    瀏覽量

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

    關(guān)注

    8

    文章

    1347

    瀏覽量

    78933
  • TCP協(xié)議
    +關(guān)注

    關(guān)注

    1

    文章

    91

    瀏覽量

    12054
收藏 人收藏

    評論

    相關(guān)推薦

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

    如果你學(xué)過網(wǎng)絡(luò)基礎(chǔ)知識,那么你一定對TCP三次握手不陌生。今天我想用通俗的話來給大家講一講TCP三次握手
    的頭像 發(fā)表于 02-03 10:43 ?2667次閱讀
    講一講的<b class='flag-5'>TCP</b><b class='flag-5'>三次</b><b class='flag-5'>握手</b>和四<b class='flag-5'>次</b>揮手

    TCP/IP協(xié)議連接指南

    中扮演什么角色了。文章目錄ESP32 單片機學(xué)習(xí)筆記 - 07 - TCP連接一、例程實踐1)建立TCP客戶端 - tcp_client2)總結(jié)二、
    發(fā)表于 02-17 07:45

    TCP三次握手的過程描述

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

    tcp協(xié)議三次握手詳細過程

    TCP是主機對主機層的傳輸控制協(xié)議,提供可靠的連接服務(wù),采用三次握手確認建立一個連接:第一
    發(fā)表于 12-08 11:53 ?9889次閱讀
    <b class='flag-5'>tcp</b><b class='flag-5'>協(xié)議</b><b class='flag-5'>三次</b><b class='flag-5'>握手</b>詳細過程

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

    所謂三次握手(Three-Way Handshake)即建立TCP連接,是指建立一個TCP連接
    的頭像 發(fā)表于 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>

    TCP/IP協(xié)議工作過程的三次握手和四揮手

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

    TCP與UDP協(xié)議的工作原理是怎么樣的

    TCP是一種可靠的,面向連接的全雙工傳輸層協(xié)議。 TCP連接的建立是一個三次
    的頭像 發(fā)表于 02-15 11:45 ?1.1w次閱讀
    <b class='flag-5'>TCP</b>與UDP<b class='flag-5'>協(xié)議</b>的工作原理是怎么樣的

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

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

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

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

    如何使用WireShark進行TCP三次握手

    WireShark是一種非常方便的網(wǎng)絡(luò)抓包工具,下面演示,使用WireShark來抓取TCP三次握手過程。
    的頭像 發(fā)表于 11-01 09:50 ?2083次閱讀

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

    具備上述四個條件后A獲取B的信息是有要求的,根本上的要求是數(shù)據(jù)信道可靠,就是平時所說的可靠連接,那么如何保證連接的可靠性呢,TCP協(xié)議就是靠確認應(yīng)答機制、超時重傳機制等保證
    的頭像 發(fā)表于 03-23 15:57 ?1027次閱讀
    <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 連接的建立可以簡單地稱為三次握手,而連接的中止則可以稱為四揮手。 建立
    的頭像 發(fā)表于 10-08 16:52 ?691次閱讀

    TCP三次握手的理論知識

    關(guān)于TCP三次握手的理論知識,往上一搜一大片,本文就跳過理論,直接上手。Let’s go。 準備知識 抓一個TCP三次
    的頭像 發(fā)表于 11-09 11:27 ?742次閱讀
    <b class='flag-5'>TCP</b><b class='flag-5'>三次</b><b class='flag-5'>握手</b>的理論知識

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

    三次而不是兩或四。 首先,我們需要了解TCP是一種面向連接協(xié)議。在進行數(shù)據(jù)傳輸之前,發(fā)送端
    的頭像 發(fā)表于 02-04 11:03 ?576次閱讀

    簡述TCP協(xié)議三次握手機制

    TCP(Transmission Control Protocol,傳輸控制協(xié)議)是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議。它主要用于在IP網(wǎng)絡(luò)中進行數(shù)據(jù)傳輸。
    的頭像 發(fā)表于 08-16 10:57 ?498次閱讀