成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

TCP四次揮手中如果服務端沒收到第四次揮手請求,服務端會一直等待嗎?

網絡 無線技術
TCP四次揮手中如果服務端沒收到第四次揮手請求,服務端會一直等待嗎?結論是服務端不會一直等待第四次揮手。

搬運一個在某乎的回答,水一篇文章吧。

圖片圖片

TCP四次揮手

正常情況下。只要數據傳輸完了,不管是客戶端還是服務端,都可以主動發起四次揮手,釋放連接。

就跟上圖畫的一樣,假設,這次四次揮手是由客戶端主動發起的,那它就是主動方。服務器是被動接收客戶端的揮手請求的,叫被動方。

客戶端和服務器,一開始,都是處于ESTABLISHED狀態。

  • 第一次揮手:一般情況下,主動方執行close()?或 shutdown()?方法,會發個FIN報文出來,表示"我不再發送數據了"。
  • 第二次揮手:在收到主動方的FIN?報文后,被動方立馬回應一個ACK,意思是"我收到你的FIN了,也知道你不再發數據了"。

上面提到的是主動方不再發送數據了。但如果這時候,被動方還有數據要發,那就繼續發。注意,雖然第二次和第三次揮手之間,被動方是能發數據到主動方的,但主動方能不能正常收就不一定了,這個待會說。

  • 第三次揮手:在被動方在感知到第二次揮手之后,會做了一系列的收尾工作,最后也調用一個 close()?, 這時候就會發出第三次揮手的 FIN-ACK。
  • 第四次揮手:主動方回一個ACK,意思是收到了。

其中第一次揮手和第三次揮手,都是我們在應用程序中主動觸發的(比如調用close()方法),也就是我們平時寫代碼需要關注的地方。

第二和第四次揮手,都是內核協議棧自動幫我們完成的,我們寫代碼的時候碰不到這地方,因此也不需要太關心。

另外不管是主動還是被動,每方發出了一個 FIN? 和一個ACK? 。也收到了一個 FIN? 和一個ACK 。

回到題主的問題。

TCP四次揮手中如果服務端沒收到第四次揮手請求,服務端會一直等待嗎?

第四次揮手是第三次揮手觸發的。如果第四次揮手服務端一直沒收到,那服務端會認為是不是自己的第三次揮手丟了,于是服務端不斷重試發第三次揮手(FIN).重發次數由系統的tcp_orphan_retries參數控制。重試多次還沒成功,服務端直接斷開鏈接。所以結論是服務端不會一直等待第四次揮手。

圖片

TCP第四次揮手丟失

# cat /proc/sys/net/ipv4/tcp_orphan_retries
0

另外,你會發現tcp_orphan_retries參數是0,但其實并不是不重試的意思。為0時,默認值為8. 也就是重試8次。

/* Calculate maximal number or retries on an orphaned socket. */
static int tcp_orphan_retries(struct sock *sk, int alive)
{
int retries = sysctl_tcp_orphan_retries; /* May be zero. */

/* We know from an ICMP that something is wrong. */
if (sk->sk_err_soft && !alive)
retries = 0;

/* However, if socket sent something recently, select some safe
* number of retries. 8 corresponds to >100 seconds with minimal
* RTO of 200msec. */
if (retries == 0 && alive)
retries = 8;
return retries;
}

當然如果服務端重試發第三次揮手FIN的過程中,還是同樣的端口和IP,起了個新的客戶端,這時候服務端重試的FIN被收到后,客戶端就會認為是不正常的數據包,直接發個RST給服務端,這時候兩端連接也會斷開。

責任編輯:趙寧寧 來源: 小白debug
相關推薦

2024-07-11 10:55:27

2021-10-14 20:33:16

TCP連接關閉

2019-07-16 11:06:09

TCP四次揮手半關閉

2019-06-12 11:26:37

TCP三次握手四次揮手

2015-10-13 09:42:52

TCP網絡協議

2023-10-24 15:22:09

TCPUDP

2024-01-12 08:23:11

TCPACK服務器

2023-09-02 22:02:58

TCP協議四次揮手

2022-08-05 11:03:59

TCP 四次揮手三次握手

2021-07-03 17:47:25

TCP控制協議

2021-01-29 06:11:08

TCP通信三次握手

2019-02-01 09:38:16

2021-05-18 12:27:40

TCP控制協議

2020-02-17 10:10:43

TCP三次握手四次揮手

2017-09-25 21:27:07

TCP協議數據鏈

2022-08-27 13:50:44

TCP服務端函數

2022-09-12 15:55:57

TCP函數程序

2023-10-17 15:44:19

TCP四次揮手

2020-06-29 14:50:47

TCP狀態ACK

2021-05-28 09:08:20

TCP連接序列號
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 天天摸天天干 | 欧美久久一区 | 在线观看视频一区二区三区 | 欧美精品一 | 污片在线免费观看 | 日日摸夜夜添夜夜添精品视频 | www久久久 | jⅰzz亚洲 | 国产精品区一区二 | 中文字幕欧美日韩 | 日韩欧美在 | 久久99精品久久久久久国产越南 | 视频在线一区 | 黄色在线免费观看视频 | 精品av| 最新中文字幕在线 | 久久国产区 | 国产精品免费看 | 欧美一级黄色片 | 国产精品99免费视频 | 国产精品一区二区三区在线播放 | 91精品国产91久久综合桃花 | 国产一区二区三区在线视频 | 久久99精品久久久久久秒播九色 | www久久av | 国产乱码精品一品二品 | 欧美 日韩 综合 | 人人干天天干 | 91精品国产一区二区 | 中文字幕在线网 | 宅女噜噜66国产精品观看免费 | 免费人成激情视频在线观看冫 | 日本一区二区三区四区 | 久久久久久高潮国产精品视 | 97伊人 | 91精品国产91久久久久久最新 | 日韩福利 | 久久久久久天堂 | 91精品国产91久久久久久 | 欧美专区在线 | 91精品国产91久久久久久吃药 |