国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

TCP三次握手四次揮手你真的能講明白嗎

網絡
TCP是基于連接的,所以TCP在使用前必須先建立連接,TCP建立連接的過程是基于三次握手的。

什么是TCP

在了解三次握手四次揮手前必須先了解什么是tcp。

TCP是面向連接的,可靠的,基于字節流的傳輸層協議。

  • 連接:所謂連接其實是保證可靠性和流量控制的狀態信息的總和,包括sokict,滑動窗口和序列號。
  • 可靠性:tcp通過序列號,重傳機制,滑動窗口等一系列控制機制保證數據的無重復,無丟失,有序的被接受端處理。
  • 字節流:tcp的數據是基于字節流,因此是無邊界,數據是可以無限大的,tcp可以通過分片機制將數據有序發送到接收端。

TCP結構

TCP的頭部在無“選項”字段的情況下是20個字節。包括:

  • 2字節的源端口
  • 2字節的目標端口
  • 4字節序列號
  • 4字節確認序列號
  • 4位的首部長度
  • 6位保留字段
  • 6位標志位(SYN,ACK,RST,FIN,URG,PSH)
  • 2字節窗口大小
  • 2字節校驗和
  • 2字節緊急指針

這里需要說明的是“選項”這個字段是用來輔助解決可靠性問題的,正是因為這個字段的長度是不確定的,所以需要“首部長度”這個字段來表示TCP頭部的長度。

TCP三次握手過程

什么是三次握手

TCP是基于連接的,所以TCP在使用前必須先建立連接,TCP建立連接的過程是基于三次握手的。

  • 首先服務端的應用程序監聽某個端口,也就是建立一個listened狀態的Socket,服務端處于listen狀態。
  • 當客戶端創建一個Socket,并調用connect函數連接服務端的時候,會向服務端發送一個SYN狀態為1的tcp報文,并攜帶自己的隨機序列號。客戶端處于syn_send狀態。
  • 服務端接收到SYN報文后,會創建一個連接放入當前Socket的半連接隊列,然后回復ACK+SYN報文并攜帶自己的隨機序列號和確認序列號(客戶端序列號+1)。服務端處于syn_recv狀態。
  • 客戶端接受到服務端的ack后,經過一定處理,會給服務端回復一個ack報文,并攜帶確認序列號(服務端序列號+1)。此時客戶端處于establisten狀態。
  • 服務端收到ack報文后,服務端會把半連接隊列中的連接放入全連接隊列。然后處于establisten狀態。

至此,tcp連接建立完成,注意第三次握手是可以傳輸數據的。在這之前不能傳輸數據。

為什么是三次握手

一般大家都會認為三次握手是為了保證客戶端和服務端雙方都能確認自身和接收端建立單向連接和保證自身能夠發送和接受成功數據。

這樣答本身也沒有錯,但是太粗化了。

既然握手是為保證連接的建立,那就要先知道什么是TCP連接。

TCP連接是保證可靠性和流量控制的狀態信息的總和,包括socket,序列號,滑動窗口。

在這里這個序列號至關重要,是保證消息無重復,無丟失,有序的關鍵,因此這里其實就是為了保證序列號的同步。

客戶端給服務端發送一個初始序列號,服務端回復syn+ack,就是告訴客戶端序列號已經收到了并且把服務端的初始序列號發送給客戶端,客戶端收到后也要回復給服務端表示序列號已經收到,這樣就能保證雙方都能確保序列號同步。

但是這還不是最重要的原因,最重要的原因是防止歷史連接初始化再次連接。比如有這樣一種情況,客戶端發送syn包給服務端,但是網絡阻塞了,服務端沒有收到,所以服務端也不會回復,客戶端收不到回復就會重新發送syn包,但是就在這時候服務端接收到了第一個syn包,并且回復客戶端,這個時候客戶端會進行比對校驗這是不是自己最新發送的syn回復包,如果不是的話就會給服務端發送rst包,表示要求服務端中斷這個連接。這也是三次握手的意義所在。

如果說沒有第三次握手,那么在發生上面的這個情況后,服務端就會為每個syn請求創建連接,連接是需要占用內存的,就會耗費很多的資源。造成資源浪費,所以三次握手很有必要。

那么四次握手是否可以呢?

四次握手的話也是可以的,四次握手其實就是客戶端發送syn包給服務端,服務端回復ack包,服務端發送syn包給客戶端,客戶端回復ack包,三次握手中的第二次握手回復的是syn+ack包,所有相當于合并了四次握手中的中間兩次,所以三次握手最好。

四次揮手的過程

TCP是雙向連接,所以兩個方向上的連接都要斷開。

  1. 斷開前客戶端和服務端都處于ESTABLISTENED狀態。
  2. 客戶端調用close方法盡心斷開連接操作,客戶端會發送fin包給服務端。客戶端處于fin_wait1狀態
  3. 服務端接收到fin包后,會回復一個ack。此時服務端處于closed_wait狀態。
  4. 客戶端收到服務端的ack后,表示已經斷開了自己到服務端的連接,但是服務端到客戶端的連接還沒有斷開,客戶端需要等待服務端主動請求斷開。此時客戶端處于fin_wait2狀態。
  5. 服務端之所以不會立刻給客戶端發送fin包是因為服務端可能還存在要發送的數據,所以服務端需要把要處理的數據處理完在發送fin包給客戶端,此時數據已經處理完,服務端主動給客戶端發送fin包,此時服務端處于last_ack狀態。
  6. 客戶端收到fin包后,會回復ack給服務端,此時客戶端處于time_wait狀態。
  7. 服務端收到ack后將狀態置為close.
  8. 客戶端此時并不會直接進入close狀態,而是會進入time_wait狀態, 這個狀態會持續2MSL時間。

在網絡傳輸的世界里,有兩個值是用來表示數據包失效的:

  • MSL是報文在網絡中的最大存活時間,超過這個時間就會被丟棄。
  • TTL:在ip層的頭部中有一個TTL字段保存所經過的路由數,沒經過一個路由數就會減1,當為0的時候,數據就會被丟棄。

所以一般情況下MSL會大于TTL減為0所消耗的時間。

這里為什么是2倍的MSL呢?

因為當客戶端接收到服務端的fin包后,會向服務端回復ack,但是客戶端不知道這個ack是否發送成功了,所以客戶端需要確認服務端接受成功后才能置為close狀態,怎么確認呢,因為失敗重傳機制的存在,如果因為網絡阻塞服務端沒有收到ack,服務端會再次發送一次fin,一次ack包和再一次fin包就是2倍的MSL。MSL的計時是從收到fin包并且發送ack包開始的。

除了上面說的保證客戶端的ack發送到服務端,并被正確接收,從而保證被關閉連接的一方可以正確關閉。

還能保證那些阻塞在網絡中舊的連接,在端口又被復用的情況下,被接收到,這樣就會發生數據錯亂,而time_wait可以保證全部的網絡中的連接被丟棄。

MSL默認是30秒。需要注意的是time_wait 的狀態多了以后會占用內存資源和端口資源,所以不宜太多。

為什么要進行四次揮手?

tcp是雙向連接,客戶端發送fin包給服務端,服務端回復ack,只是客戶端告訴服務端不再向服務端發送數據。

還需要服務端告訴客戶端,服務端不再向客戶端發送數據了,也就是服務端也要想客戶端發送fin包,客戶端也要給服務端回復ack包,這時候服務端和客戶端才能進入close狀態。

服務端在收到客戶端發送的fin包并回復ack包后,服務端并不能馬上向發送端發送fin包,因為此時可能還有連接在處理數據,必須等到數據處理完后才能向客戶端發送fin包。

正因為這個原因,不能像三次握手那樣把中間兩次合并。

責任編輯:趙寧寧 來源: 碼農本農
相關推薦

2019-02-01 09:38:16

2023-10-24 15:22:09

TCPUDP

2015-10-13 09:42:52

TCP網絡協議

2019-06-12 11:26:37

TCP三次握手四次揮手

2024-01-12 08:23:11

TCPACK服務器

2021-07-03 17:47:25

TCP控制協議

2021-05-18 12:27:40

TCP控制協議

2021-01-29 06:11:08

TCP通信三次握手

2025-05-29 08:39:24

三次握手四次揮手TCP

2020-02-17 10:10:43

TCP三次握手四次揮手

2017-09-25 21:27:07

TCP協議數據鏈

2023-03-07 08:38:23

三次握手四次揮手服務端

2021-05-28 09:08:20

TCP連接序列號

2020-06-29 14:50:47

TCP狀態ACK

2025-05-20 08:38:03

2023-10-28 09:07:57

TCP面試三次握手

2015-11-09 09:58:56

2022-11-17 10:20:49

TCP三次握手四次揮手

2014-09-19 09:46:46

TCPIP

2023-11-01 08:04:08

WiresharkTCP協議
點贊
收藏

51CTO技術棧公眾號

亚洲桃色综合影院| 99久久99久久综合| 91国内揄拍国内精品对白| 国产精品一品| 色999日韩国产欧美一区二区| 二区中文字幕| 国产精品午夜久久| 99热成人精品热久久66| 成人黄色小视频在线观看| 超碰免费在线公开| 免费观看成人鲁鲁鲁鲁鲁视频| 国产一级特黄a大片99| 综合国产在线| 国产 高清 精品 在线 a| 色88久久久久高潮综合影院| 欧美一区二区三区艳史| 国产 日韩 欧美 综合 一区| 欧美精品成人91久久久久久久| 欧美黄视频在线观看| 久久6精品影院| 极品束缚调教一区二区网站| 97超碰色婷婷| 99精品全国免费观看视频软件| 91精品久久久久久久久久入口| 日韩毛片视频| 91久久久一线二线三线品牌| 欧美69视频| 久久99精品久久久久久久青青日本| 中文乱码免费一区二区三区下载| 亚洲淫片在线视频| av不卡在线看| 欧美少妇一区二区三区| 99精品一区二区| 向日葵污视频在线观看| 亚洲精品伦理在线| 国产69久久| 亚洲国产精品福利| 99久久99九九99九九九| 青青草原一区二区| 日韩午夜黄色| 亚洲精品无码国产| 一区二区三区中文在线观看| 在线观看av的网站| 精品亚洲一区二区三区| 成人线上播放| 国产欧美精品一区二区三区| 国产在线精品一区二区三区不卡| 日本va中文字幕| 欧美色另类天堂2015| 精灵使的剑舞无删减版在线观看| 中文字幕在线国产精品| 亚洲动漫精品| 欧美日韩精品免费观看| 99久久婷婷国产| 在线免费日韩| 亚洲欧美国产视频| 欧美电影完整版在线观看| 国产区一区二区| 99r精品视频| 国产在线黄色| 国产午夜精品美女视频明星a级| 精品嫩草影院| 久久精品五月婷婷| 久久影视一区二区| av资源在线观看免费高清| 最新69国产成人精品视频免费| 久久国产电影| 波多野结衣 作品| 天天综合天天综合色| 日本在线影院| 国产精品成人va在线观看| 奇米精品一区二区三区在线观看| 日韩毛片在线免费看| 欧美性感一区二区三区| 不卡一区视频| 黄色一区三区| 中文字幕一区二区三区蜜月| 男人添女人下部高潮视频在线观看| 久久久久久噜噜噜久久久精品| 欧美在线视屏| chinese少妇国语对白| 7777精品久久久大香线蕉| 成人涩涩网站| 最新欧美日韩亚洲| 日韩欧美一区二区三区久久| 久久久国产精品入口麻豆| 久久久精品动漫| 亚洲国产精品久久久男人的天堂| 欧美色网在线| 欧美久久电影| 天天综合天天做天天综合| 欧美h版在线观看| 天天综合中文字幕| 色国产综合视频| 日日天天久久| jizzjizzxxxx| 精品亚洲男同gayvideo网站| 在线精品福利| 一区二区三区区四区播放视频在线观看| 色婷婷综合成人av| 日韩影院在线观看| 国产高清免费在线播放| 51精品国产黑色丝袜高跟鞋| 国产高清精品在线| 成年女人的天堂在线| 国产精品成久久久久三级| 久久网站最新地址| 色在线中文字幕| 日本精品一区| 欧美日韩一区国产| 91精品国产麻豆国产在线观看 | 91精品福利观看| 中国黄色录像片| 91精品国产色综合久久ai换脸| 国产国产精品| 人成福利视频在线观看| 91国产精品电影| 亚洲国产精华液网站w | 亚洲国产精品字幕| 久久精品欧洲| 男人的天堂在线视频免费观看| 成人妇女免费播放久久久| 成人欧美一区二区三区黑人麻豆 | 欧美freesex交免费视频| 蜜桃tv在线播放| 国产在线视频一区| 亚洲韩国一区二区三区| 九九视频免费观看视频精品 | 成人免费视频视频在| 午夜久久久影院| 99久久国产综合精品成人影院| 免费av高清| 国产高清在线不卡| 亚洲国产美女搞黄色| 日韩一区二区在线| 污视频网站在线观看| 成人在线激情视频| 一本大道久久a久久综合婷婷| 一区二区三区国产精华| 福利小视频在线观看| 精品日韩美女| 欧美成人在线直播| 国产欧美91| 蜜桃视频m3u8在线观看| 男女视频网站在线观看| 久久99热精品这里久久精品| 国产精品成人免费精品自在线观看 | 翔田千里亚洲一二三区| 日韩av在线导航| 91在线免费播放| 免费成人av| 粉嫩av一区| 亚洲精品欧美精品| 日韩亚洲欧美中文在线| 最新热久久免费视频| 国产日产一区| 免费a级毛片在线播放| 丰满女人性猛交| 久久久久久久av| 在线免费观看日本欧美| 国产在线精品一区二区夜色| 精品视频自拍| 最新国产在线观看| 喜爱夜蒲2在线| 狠狠综合久久av一区二区老牛| 国产精品自拍合集| 欧美成人a∨高清免费观看| 青青草精品视频| 青青草国产一区二区三区| 91香蕉视频导航| 成人av.网址在线网站| 欧美一区二区久久久| 国产一区二区日韩精品| 中文字幕av一区二区三区四区| 阳光姐妹淘韩国版| 欧美日韩精品免费观看视一区二区| 亚洲香蕉成人av网站在线观看 | 秋霞电影一区二区| 日韩久久99| 天堂影院在线| 久久久国内精品| 国产免费一区视频观看免费| 日韩精品一区二区三区三区免费| 丁香婷婷深情五月亚洲| 欧美人妖在线| 国产无遮挡裸体视频在线观看| 久草在线在线视频| 日韩国产美国| 日韩av片电影专区| 亚洲精品国产精品自产a区红杏吧| 国产欧美日韩在线视频| 99在线精品免费视频九九视 | 中文字幕免费精品一区高清| 亚洲精品免费视频| 国内精品伊人久久久久av一坑| 欧美成人一区二区在线| 久久91精品国产91久久跳| 亚洲国产视频直播| 日本网站在线观看一区二区三区 | 国产精品蜜臀|