tcp三次丢包的情况
tcp三次握⼿的三次丢包,分析。
1)当客户端发起的 TCP 第⼀次握⼿ SYN 包,
在超时时间内没收到服务端的 ACK,就会在超时重传 SYN 数据包,
每次超时重传的 RTO 是翻倍上涨的,直到 SYN 包的重传次数到达 tcp_syn_retries 【设定的重传次数】值后,
tcp三次握手图解客户端不再发送 SYN 包。
2)通过实验⼆的实验结果,我们可以得知,当 TCP 第⼆次握⼿ SYN、ACK 包丢了后,客户端 SYN 包会发⽣超时重传,服务端 SYN、ACK 也会发⽣超时重传。
客户端 SYN 包超时重传的最⼤次数,是由 tcp_syn_retries 决定的,默认值是5次;服务端 SYN、ACK 包时重传的最⼤次数,是由 tcp_synack_retries 决定的,默认值是5次。3)如果第三次握⼿的 ACK,服务端⽆法收到,则服务端就会短暂处于 SYN_RECV 状态,⽽客户端会处于 ESTABLISHED 状态。
由于服务端⼀直收不到 TCP 第三次握⼿的 ACK,则会⼀直重传 SYN、ACK 包,直到重传次数超过 tcp_synack_retries 值(默认值5次)后,服务端就会断开 TCP 连接。
⽽客户端则会有两种情况:
如果客户端没发送数据包,⼀直处于 ESTABLISHED 状态,然后经过2⼩时11分15秒才可以发现⼀个「死亡」连接,于是客户端连接就会断开连接。
如果客户端发送了数据包,⼀直没有收到服务端对该数据包的确认报⽂,则会⼀直重传该数据包,直到重传次数超过 tcp_retries2 值(默认值15次)后,客户端就会断开 TCP 连接
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论