一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

TCP三次握手過(guò)程及四次揮手過(guò)程說(shuō)明

電子設(shè)計(jì) ? 來(lái)源:51CTO ? 作者:51CTO ? 2021-03-01 12:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

三次握手
置位概念:根據(jù) TCP 的包頭字段,存在 3 個(gè)重要的標(biāo)識(shí) ACK、SYN、FIN

ACK:表示驗(yàn)證字段 SYN:位數(shù)置 1,表示建立 TCP 連接 FIN:位數(shù)置 1,表示斷開 TCP 連接

三次握手過(guò)程說(shuō)明:

1. 由客戶端發(fā)送建立 TCP 連接的請(qǐng)求報(bào)文,其中報(bào)文中包含 seq 序列號(hào),是由發(fā)送端隨機(jī)生成的,并且將報(bào)文中的 SYN 字段置為 1,表示需要建立 TCP 連接。(SYN=1,seq=x,x 為隨機(jī)生成數(shù)值)2. 由服務(wù)端回復(fù)客戶端發(fā)送的 TCP 連接請(qǐng)求報(bào)文,其中包含 seq 序列號(hào),是由回復(fù)端隨機(jī)生成的,并且將 SYN 置為 1,而且會(huì)產(chǎn)生 ACK 字段,ACK 字段數(shù)值是在客戶端發(fā)送過(guò)來(lái)的序列號(hào) seq 的基礎(chǔ)上加 1 進(jìn)行回復(fù),以便客戶端收到信息時(shí),知曉自己的 TCP 建立請(qǐng)求已得到驗(yàn)證。(SYN=1,ACK=x+1,seq=y,y 為隨機(jī)生成數(shù)值)這里的 ack 加 1 可以理解為是確認(rèn)和誰(shuí)建立連接。3. 客戶端收到服務(wù)端發(fā)送的 TCP 建立驗(yàn)證請(qǐng)求后,會(huì)使自己的序列號(hào)加 1 表示,并且再次回復(fù) ACK 驗(yàn)證請(qǐng)求,在服務(wù)端發(fā)過(guò)來(lái)的 seq 上加 1 進(jìn)行回復(fù)。(SYN=1,ACK=y+1,seq=x+1)

四次揮手

四次揮手過(guò)程說(shuō)明:

1. 客戶端發(fā)送斷開 TCP 連接請(qǐng)求的報(bào)文,其中報(bào)文中包含 seq 序列號(hào),是由發(fā)送端隨機(jī)生成的,并且還將報(bào)文中的 FIN 字段置為 1,表示需要斷開 TCP 連接。(FIN=1,seq=x,x 由客戶端隨機(jī)生成)2. 服務(wù)端會(huì)回復(fù)客戶端發(fā)送的 TCP 斷開請(qǐng)求報(bào)文,其包含 seq 序列號(hào),是由回復(fù)端隨機(jī)生成的,而且會(huì)產(chǎn)生 ACK 字段,ACK 字段數(shù)值是在客戶端發(fā)過(guò)來(lái)的 seq 序列號(hào)基礎(chǔ)上加 1 進(jìn)行回復(fù),以便客戶端收到信息時(shí),知曉自己的 TCP 斷開請(qǐng)求已經(jīng)得到驗(yàn)證。(FIN=1,ACK=x+1,seq=y,y 由服務(wù)端隨機(jī)生成)3. 服務(wù)端在回復(fù)完客戶端的 TCP 斷開請(qǐng)求后,不會(huì)馬上進(jìn)行 TCP 連接的斷開,服務(wù)端會(huì)先確保斷開前,所有傳輸?shù)?A 的數(shù)據(jù)是否已經(jīng)傳輸完畢,一旦確認(rèn)傳輸數(shù)據(jù)完畢,就會(huì)將回復(fù)報(bào)文的 FIN 字段置 1,并且產(chǎn)生隨機(jī) seq 序列號(hào)。(FIN=1,ACK=x+1,seq=z,z 由服務(wù)端隨機(jī)生成)4. 客戶端收到服務(wù)端的 TCP 斷開請(qǐng)求后,會(huì)回復(fù)服務(wù)端的斷開請(qǐng)求,包含隨機(jī)生成的 seq 字段和 ACK 字段,ACK 字段會(huì)在服務(wù)端的 TCP 斷開請(qǐng)求的 seq 基礎(chǔ)上加 1,從而完成服務(wù)端請(qǐng)求的驗(yàn)證回復(fù)。(FIN=1,ACK=z+1,seq=h,h 為客戶端隨機(jī)生成)

至此 TCP 斷開的 4 次揮手過(guò)程完畢

11 種狀態(tài)

o4YBAF-hUzCAN2AHAALJib3CKH0491.png

1. 一開始,建立連接之前服務(wù)器和客戶端的狀態(tài)都為 CLOSED;2. 服務(wù)器創(chuàng)建 socket 后開始監(jiān)聽(tīng),變?yōu)?LISTEN 狀態(tài);3. 客戶端請(qǐng)求建立連接,向服務(wù)器發(fā)送 SYN 報(bào)文,客戶端的狀態(tài)變味 SYN_SENT;4. 服務(wù)器收到客戶端的報(bào)文后向客戶端發(fā)送 ACK 和 SYN 報(bào)文,此時(shí)服務(wù)器的狀態(tài)變?yōu)?SYN_RCVD;5. 然后,客戶端收到 ACK、SYN,就向服務(wù)器發(fā)送 ACK,客戶端狀態(tài)變?yōu)?ESTABLISHED;6. 服務(wù)器端收到客戶端的 ACK 后變?yōu)?ESTABLISHED。此時(shí) 3 次握手完成,連接建立!

o4YBAF-hUzWAT1s-AALppBezJkQ503.png

由于 TCP 連接是全雙工的,斷開連接會(huì)比建立連接麻煩一點(diǎn)點(diǎn)。

1. 客戶端先向服務(wù)器發(fā)送 FIN 報(bào)文,請(qǐng)求斷開連接,其狀態(tài)變?yōu)?FIN_WAIT1;2. 服務(wù)器收到 FIN 后向客戶端發(fā)送 ACK,服務(wù)器的狀態(tài)圍邊 CLOSE_WAIT;3. 客戶端收到 ACK 后就進(jìn)入 FIN_WAIT2 狀態(tài),此時(shí)連接已經(jīng)斷開了一半了。如果服務(wù)器還有數(shù)據(jù)要發(fā)送給客戶端,就會(huì)繼續(xù)發(fā)送;4. 直到發(fā)完數(shù)據(jù),就會(huì)發(fā)送 FIN 報(bào)文,此時(shí)服務(wù)器進(jìn)入 LAST_ACK 狀態(tài);5. 客戶端收到服務(wù)器的 FIN 后,馬上發(fā)送 ACK 給服務(wù)器,此時(shí)客戶端進(jìn)入 TIME_WAIT 狀態(tài);6. 再過(guò)了 2MSL 長(zhǎng)的時(shí)間后進(jìn)入 CLOSED 狀態(tài)。服務(wù)器收到客戶端的 ACK 就進(jìn)入 CLOSED 狀態(tài)。

至此,還有一個(gè)狀態(tài)沒(méi)有出來(lái):CLOSING 狀態(tài)。

CLOSING 狀態(tài)表示: 客戶端發(fā)送了 FIN,但是沒(méi)有收到服務(wù)器的 ACK,卻收到了服務(wù)器的 FIN,這種情況發(fā)生在服務(wù)器發(fā)送的 ACK 丟包的時(shí)候,因?yàn)榫W(wǎng)絡(luò)傳輸有時(shí)會(huì)有意外。

?LISTEN:等待從任何遠(yuǎn)端 TCP 和端口的連接請(qǐng)求。?SYN_SENT:發(fā)送完一個(gè)連接請(qǐng)求后等待一個(gè)匹配的連接請(qǐng)求。?SYN_RECEIVED:發(fā)送連接請(qǐng)求并且接收到匹配的連接請(qǐng)求以后等待連接請(qǐng)求確認(rèn)。?ESTABLISHED:表示一個(gè)打開的連接,接收到的數(shù)據(jù)可以被投遞給用戶。連接的數(shù)據(jù)傳輸階段的正常狀態(tài)。?FIN_WAIT_1:等待遠(yuǎn)端 TCP 的連接終止請(qǐng)求,或者等待之前發(fā)送的連接終止請(qǐng)求的確認(rèn)。?FIN_WAIT_2:等待遠(yuǎn)端 TCP 的連接終止請(qǐng)求。?CLOSE_WAIT:等待本地用戶的連接終止請(qǐng)求。?CLOSING:等待遠(yuǎn)端 TCP 的連接終止請(qǐng)求確認(rèn)。?LAST_ACK:等待先前發(fā)送給遠(yuǎn)端 TCP 的連接終止請(qǐng)求的確認(rèn)(包括它字節(jié)的連接終止請(qǐng)求的確認(rèn))?TIME_WAIT:等待足夠的時(shí)間過(guò)去以確保遠(yuǎn)端 TCP 接收到它的連接終止請(qǐng)求的確認(rèn)。?TIME_WAIT 兩個(gè)存在的理由:?可靠的實(shí)現(xiàn) tcp 全雙工連接的終止;?允許老的重復(fù)分節(jié)在網(wǎng)絡(luò)中消逝。?CLOSED:不在連接狀態(tài)(這是為方便描述假想的狀態(tài),實(shí)際不存在)

編輯:hfy

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

    關(guān)注

    13

    文章

    9793

    瀏覽量

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

    關(guān)注

    8

    文章

    1402

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

    如果你學(xué)過(guò)網(wǎng)絡(luò)基礎(chǔ)知識(shí),那么你一定對(duì)TCP三次握手不陌生。今天我想用通俗的話來(lái)給大家講一講TCP三次握手
    的頭像 發(fā)表于 02-03 10:43 ?3001次閱讀
    講一講的<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>

    三次握手四次揮手你懂嗎

    程序員面試被問(wèn)到“三次握手,四次揮手”怎么辦?
    發(fā)表于 04-08 07:23

    TCP三次握手過(guò)程描述

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

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

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

    TCP三次握手四次揮手以及11種狀態(tài)資料下載

    電子發(fā)燒友網(wǎng)為你提供TCP三次握手四次揮手以及11種狀態(tài)資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料
    發(fā)表于 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種狀態(tài)資料下載

    TCP三次握手四次揮手過(guò)程中的異常情況

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

    如何使用WireShark進(jìn)行TCP三次握手

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

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

    具備上述個(gè)條件后A獲取B的信息是有要求的,根本上的要求是數(shù)據(jù)信道可靠,就是平時(shí)所說(shuō)的可靠連接,那么如何保證連接的可靠性呢,TCP協(xié)議就是靠確認(rèn)應(yīng)答機(jī)制、超時(shí)重傳機(jī)制等保證連接可靠性的,接下來(lái)就通過(guò)TCP協(xié)議的
    的頭像 發(fā)表于 03-23 15:57 ?1512次閱讀
    <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>的流程

    說(shuō)說(shuō)TCP三次握手過(guò)程?為什么是三次而不是兩四次?

    說(shuō)說(shuō)TCP三次握手過(guò)程?為什么是三次而不是兩四次
    的頭像 發(fā)表于 02-04 11:03 ?1145次閱讀

    TCP三次握手的詳細(xì)過(guò)程

    TCP(傳輸控制協(xié)議)三次握手是一種在互聯(lián)網(wǎng)上建立一個(gè)可靠的、有序的和錯(cuò)誤檢測(cè)能力的連接的方法。這個(gè)過(guò)程確保了兩個(gè)設(shè)備(通常是客戶端和服務(wù)器)在數(shù)據(jù)傳輸開始之前能夠相互確認(rèn)對(duì)方的存在和
    的頭像 發(fā)表于 01-03 17:11 ?1198次閱讀

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

    連接,確保數(shù)據(jù)傳輸?shù)目煽啃浴?TCP三次握手協(xié)議的基本概念 TCP三次握手協(xié)議是一種用于在兩個(gè)網(wǎng)
    的頭像 發(fā)表于 01-03 17:15 ?926次閱讀

    TCP三次握手的基本原理

    ”的過(guò)程。這個(gè)過(guò)程不僅確保了雙方準(zhǔn)備好進(jìn)行數(shù)據(jù)傳輸,而且還避免了一些網(wǎng)絡(luò)攻擊,如重放攻擊。 什么是TCP三次握手
    的頭像 發(fā)表于 01-03 17:25 ?1149次閱讀

    TCP三次握手安全性分析

    : 一、TCP三次握手的基本過(guò)程 TCP三次握手
    的頭像 發(fā)表于 01-03 18:10 ?1018次閱讀

    如何監(jiān)測(cè)TCP三次握手過(guò)程

    在計(jì)算機(jī)網(wǎng)絡(luò)中,傳輸控制協(xié)議(TCP)是確保數(shù)據(jù)可靠傳輸?shù)年P(guān)鍵協(xié)議之一。TCP通過(guò)三次握手過(guò)程來(lái)建立兩個(gè)端點(diǎn)之間的連接,這個(gè)
    的頭像 發(fā)表于 01-06 09:20 ?768次閱讀

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

    TCP連接的建立和釋放分別通過(guò)“三次握手”和“四次揮手”來(lái)完成。三次
    的頭像 發(fā)表于 04-24 19:33 ?754次閱讀
    <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>,這樣解釋太通俗易懂了!