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 延迟确认之后就会将四次握手恢复成三次。

相关推荐
KobeSacre9 小时前
计算机网络概览
网络·计算机网络
流浪0011 天前
计算机网络篇8:传输层——序列化与反序列化,TCP 面向字节流的报文边界由应用层自己切
网络协议·tcp/ip·计算机网络·1024程序员节·序列化反序列化·面向字节流·面向数据包
lazy H1 天前
【计算机网络】第 5 篇:TCP 和 UDP 有什么区别?从 Java 后端场景理解两种传输协议
经验分享·后端·网络协议·tcp/ip·计算机网络·1024程序员节
2501_915106322 天前
跨平台抓包工具怎么选?TraceEagle抓包鹰 的四种跨平台能力
网络协议·计算机网络·网络安全·ios·adb·https·udp
流浪0012 天前
计算机网络篇7:传输层——TCP 网络编程常用接口与调用流程
网络协议·tcp/ip·计算机网络·listen·tcp接口
sbjdhjd3 天前
从 VLAN 到 MSTP 的交换网络入门
网络·计算机网络·mac·ip·stp·vlan·交换机
坐看风云变幻3 天前
《系统架构师成长之路》第 3 期|计算机网络:TCP 三次握手与可靠传输
tcp/ip·计算机网络·系统架构
CS_Zero5 天前
计算机网络通信基础2:带宽和吞吐量、客户端和服务器、网络基础设施
网络·计算机网络
库玛西5 天前
计算机网络第三章:数据链路层
服务器·网络·计算机网络·考研·算法·面试