2026 年 3 月 30 日(计算机网络)

学习资料:小林 coding:https://www.xiaolincoding.com/

计算机网络(三次握手和四次挥手)

三次握手第一次握手失败了怎么办

三次握手第一次是客户端发送 SYN 报文,报文中有一个序列号,如果第一次握手失败了,那么服务端就没有收到报文,也不会回 ACK 报文。客户端会重发几次 SYN 报文,还没有收到 ACK 的话就关闭连接。

三次握手第二次握手失败了怎么办

第二次握手是服务端给客户端返回一个 SYN + ACK,用来确认服务端收到了信息。如果第二次的握手没有成功,客户端会以为是自己发的 SYN 没有被收到,于是会重发 SYN,服务端发的 SYN + ACK 没有得到回复,也会继续重传。

三次握手第三次握手失败了怎么办

第三次是客户端返回给服务器端一个 ACK,这个不会重传。由于服务器端没有接受到 ACK,则会重发第二次的 SYN + ACK,重发几次之后还是失败,则关闭 TCP 连接。

三次握手能不能简化到两次

不可以,三次握手不能简化到两次。两次握手会导致历史 SYN 建立无效连接的问题。比如说有一个很久以前发的 SYN 包一直没到,有一次突然到了,结果服务器端就回了一个 SYN + ACK 报文,建立连接,那么就会浪费资源。如果有三次握手,客户端在收到这个 SYN + ACK 之后会发现序列号对不上,那么回一个 RST,服务器不建立连接,也不浪费资源。

四次挥手过程

第一次客户端发送一个 FIN 报文给服务器端的意思是客户端没有希望发送的数据了,但是仍然可以接受数据。服务器端接受到了 FIN 报文会回一个 ACK 报文代表它收到了。接下来的 Close_Wait 状态服务器给客户端发送数据。发送完成之后给客户端发送一个 FIN 报文。然后客户端再发一个 ACK 给服务器,之后断开连接。

四次挥手第一次失败了怎么办

第一次的 SYN 报文发送之后客户端会进入 FIN_WAIT 状态,如果 SYN 报文 服务器端一直没有收到的话,那么客户端再重发几次就会断开连接。

四次挥手第二次失败了怎么办

ACK 报文不会重传,由于第二次握手失败了,客户端会重传 FIN 报文,服务器端收到 FIN 报文再回一个 ACK 报文。

四次挥手第三次失败了怎么办

第三次握手是服务器端给客户端发 FIN 报文,通知客户端它的数据传输完了。如果丢失,服务器端收不到 ACK,则会启动重传。

四次挥手第四次失败了怎么办

第四次挥手是客户端回复一个 ACK 给服务器端,由于 ACK 不会重传,服务器端没有收到 ACK,就会一直重传 FIN。

四次挥手能不能变成三次

四次挥手可以变成三次。这个三次将第二次挥手和第三次挥手进行了合并,也就是将第二次 ACK 和 第三次 FIN 进行合并。当没有数据要发并且开启了 TCP 延迟确认之后就会将四次握手恢复成三次。

相关推荐
positive_zpc44 分钟前
计算机网络——网络层(一)
网络·计算机网络
Ether IC Verifier1 小时前
PCIe数据链路层详细介绍
网络·网络协议·tcp/ip·计算机网络·dpu
positive_zpc2 小时前
计算机网络——网络层(二)
服务器·网络·计算机网络
眷蓝天2 小时前
计算机网络技术
计算机网络
苦 涩3 小时前
考研408笔记计算机网络(五)——传输层
笔记·计算机网络·考研408
@encryption4 小时前
计算机网络 --- VLAN
网络·计算机网络·智能路由器
苦 涩5 小时前
考研408笔记之计算机网络(六)——应用层
笔记·计算机网络·考研408
Advancer-1 天前
cookie和session是什么??
计算机网络
悟道子HD1 天前
计算机网络端口记忆指南
计算机网络·http·https·ssh·ftp·端口号·smtp
@encryption1 天前
计算机网络 --- ACL
网络·计算机网络