三次握手的第三个ACK包丢了,会发生什么?
生活随笔
收集整理的這篇文章主要介紹了
三次握手的第三个ACK包丢了,会发生什么?
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
轉(zhuǎn)載自三次握手的第三個(gè)ACK包丟了,TCP的處理方式
三次握手的第三個(gè)ACK包丟了,客戶(hù)端認(rèn)為連接建立,寫(xiě)數(shù)據(jù)時(shí),會(huì)觸發(fā)RST。
當(dāng)Client端收到Server的SYN+ACK應(yīng)答后,其狀態(tài)變?yōu)镋STABLISHED,并發(fā)送ACK包給Server,如果此時(shí)ACK在網(wǎng)絡(luò)中丟失,那么Server端該TCP連接的狀態(tài)為SYN_RECV,并且依次等待3秒、6秒、12秒后重新發(fā)送SYN+ACK包,以便Client重新發(fā)送ACK包。
Server重發(fā)SYN+ACK包的次數(shù),可以通過(guò)設(shè)置/proc/sys/net/ipv4/tcp_synack_retries修改,默認(rèn)值為5。
如果重發(fā)指定次數(shù)后,仍然未收到ACK應(yīng)答,那么一段時(shí)間后,Server自動(dòng)關(guān)閉這個(gè)連接。
但是Client認(rèn)為這個(gè)連接已經(jīng)建立,如果Client端向Server寫(xiě)數(shù)據(jù),Server端將以RST包響應(yīng),方能感知到Server的錯(cuò)誤
總結(jié)
以上是生活随笔為你收集整理的三次握手的第三个ACK包丢了,会发生什么?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 软件测试的步骤
- 下一篇: 我为什么“放弃”从事八年的嵌入式领域