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

相关推荐
拾光Ծ19 小时前
【Linux网络】HTTPS如何保证数据安全?从对称加密、非对称加密到 CA 证书认证
计算机网络·网络安全·https·tls·加密算法
我爱cope20 小时前
【计算机网络 | 网络层4:子网掩码与 CIDR:如何判断网络号和主机号?】
网络·学习·计算机网络
非凡大爹1 天前
IPv6扩展首部:为什么IPv6要把功能从IP首部分离出来?IPv6扩展首部解析
网络协议·tcp/ip·计算机网络
河北之花2 天前
计算机三级:路由器选型
网络·计算机网络·智能路由器
李白你好2 天前
今日网络技术热点:【计算机网络 | 数据链路层8:CSMA/CD
网络·计算机网络
Zguigo2 天前
lesson24-26计算机网络第三章精讲:从MAC地址到CSMA/CD,数据链路层核心知识一网打尽
计算机网络·macos
Zguigo2 天前
lesson30-32计算机网络第四章:网络层核心三课(作用、IP协议、IPv4地址)
tcp/ip·计算机网络·php
s_w.h3 天前
【 计网 】计算机网络基础
服务器·计算机网络
Zguigo3 天前
lesson19-23计算机网络数据链路层完全指南:从帧封装到滑动窗口协议
网络·计算机网络
zyf1044163 天前
暑期实践日志 Day33:整体复盘核查视频,完善剪辑成果
学习·计算机网络·剪辑·暑期实践·课题任务