TCP的三次握手與四次揮手(簡化)

2021-10-10 09:40:49 字數 1012 閱讀 2690

把我覺得比較有用的知識整合和簡化了一下

報文頭部 ↑

1、同步syn,在連線建立時用來同步序號。當syn=1,ack=0,表明是連線請求報文,若同意連線,則響應報文中應該使syn=1,ack=1;

2、確認ack,僅當ack=1時,確認號字段才有效。tcp規定,在連線建立後所有報文的傳輸都必須把ack置1;

3、seq是資料報本身的序列號;ack是期望對方繼續傳送的那個資料報的序列號。

第一次握手客戶端:我要給你發訊息,伺服器你收到我的請求了嗎?

第二次握手伺服器:我收到辣,客戶端你收到我的請求了嗎?

第三次握手客戶端:我也收到啦,我們開始通訊吧

如果是兩次,伺服器只知道自己能收到客戶端的訊息,不知道客戶端能不能收到自己伺服器的訊息

如果是四次,可以三次硬要四次,浪費了計算機資源

第一次揮手客戶端: 我要斷開連線了,伺服器你準備好了嗎

第二次揮手伺服器: 我收到你要斷開連線了,客戶端請等我準備好

第三次揮手伺服器:我準備好了,客戶端你可以斷開連線了

第四次揮手客戶端:我知道你準備好了,那我現在就斷開辣!

因為伺服器可能還在給客戶端傳輸資料,只能先告訴客戶端,我收到了你的斷開請求,但此時斷開會造成資料丟失,就違反了tcp的安全可靠傳輸的初衷,當伺服器傳輸完資料後,再告訴客戶端做好斷開連線的準備了

Tcp的三次握手,四次揮手簡單理解

客戶端 在嗎 向伺服器端傳送同步包 syn 伺服器端 在的 向客戶端傳送確認包 ack 同步包 客戶端 好的 向伺服器傳送確認包 開始搞基 1.客戶端 我要好了。額額!2.伺服器端 好的,我也馬上了!3.伺服器端 我也好了。啊!4.客戶端 好的 索然無味 步驟1 客戶端傳送釋放連線報文,發出後進入f...

TCP的三次握手和四次揮手簡述

客戶端向伺服器傳送syn報文段,伺服器接受到,此時伺服器可以確認自己的接收能力是否正常 伺服器向客戶端傳送syn報文段和ack報文段,客戶端接收到,此時客戶端可以確認自己的傳送能力和接受能力是否正常,但是此時伺服器端只能確認自己的接收能力,並不能確認自己的傳送能力是否正常 客戶端向伺服器端傳送ack...

Tcp三次握手與四次揮手

tcp三次握手 四次揮手 在tcp ip協議中,tcp協議提供可靠的連線服務,採用三次握手建立乙個連線。第一次握手 建立連線時,客戶端傳送syn包 syn j 到伺服器,並進入syn send狀態,等待伺服器確認 syn 同步序列編號 synchronize sequence numbers 第二次...