成人免费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四次揮手半關閉

2015-10-13 09:42:52

TCP網絡協議

2019-06-12 11:26:37

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通信三次握手

2021-05-18 12:27:40

TCP控制協議

2019-02-01 09:38:16

2020-02-17 10:10:43

TCP三次握手四次揮手

2017-09-25 21:27:07

TCP協議數據鏈

2022-08-27 13:50:44

TCP服務端函數

2023-10-17 15:44:19

TCP四次揮手

2022-09-12 15:55:57

TCP函數程序

2021-05-28 09:08:20

TCP連接序列號

2020-06-29 14:50:47

TCP狀態ACK
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产在线视频一区二区董小宛性色 | 一级网站 | 一区二区三区国产好 | 国产亚洲欧美在线 | 久久久久无码国产精品一区 | 日韩免费 | 一区二区福利视频 | 亚洲九九 | 欧美亚洲综合久久 | 亚洲一区二区久久 | 羞羞在线视频 | 毛片高清 | 久久只有精品 | 日韩视频一区二区 | 羞羞视频网站免费看 | 超碰国产在线 | 欧美国产视频 | 国产精品视频一二三 | 免费一区二区三区在线视频 | 日本不卡一区二区三区 | 久久久一区二区三区四区 | 在线色网站 | 99久久婷婷国产综合精品电影 | 久久精品网 | 中文字幕一区在线观看视频 | 秋霞在线一区 | 欧美日韩成人影院 | 亚洲视频一区 | 久久99精品久久久久久国产越南 | 欧美日韩美女 | 欧美日韩国产在线观看 | 久久综合成人精品亚洲另类欧美 | 亚洲欧美一区在线 | 亚洲国产精久久久久久久 | 欧美午夜精品 | 成人天堂噜噜噜 | 久久亚洲综合 | 久久精品国产亚洲一区二区三区 | 一区二区三区亚洲 | 一级a爱片性色毛片免费 | 福利社午夜影院 |