计算机网络面试题, SYN 超时了怎么处理?
计算机网络面试题, SYN 超时了怎么处理?
QA
Step 1
Q:: SYN 超时了怎么处理?
A:: 当 SYN 包在 TCP 三次握手过程中超时时,通常会触发重传机制。TCP 协议定义了超时重传的策略,若首次 SYN 请求超时,客户端会再次发送 SYN 包,并等待响应。如果多次重传后依旧没有收到 ACK 应答,连接请求会失败,客户端会放弃连接并返回错误信息。此外,为了防止 SYN 洪水攻击,服务器可以设置 SYN Cookie 来防止资源被耗尽。
Step 2
Q:: TCP 三次握手的过程是什么?
A:: TCP 三次握手的过程是为了在客户端和服务器之间建立可靠的连接。具体步骤为:1)客户端发送 SYN 请求包给服务器;2)服务器收到 SYN 后,回复 SYN-ACK 包;3)客户端收到 SYN-
ACK 后,发送 ACK 包给服务器,至此连接建立完成。
Step 3
Q:: 什么是 SYN 洪水攻击?如何防御?
A:: SYN 洪水攻击是 DDoS 攻击的一种,攻击者通过发送大量伪造的 SYN 请求,占用服务器资源,导致服务器无法响应合法请求。防御方法包括启用 SYN Cookie、调整 SYN 队列大小、设置防火墙规则或使用负载均衡等措施。
Step 4
Q:: TCP 重传机制是如何工作的?
A:: TCP 重传机制在检测到数据包丢失时会重新发送丢失的包。TCP 使用超时和快速重传机制来判断丢包。超时重传基于超时计时器,当发送包后未在预期时间内收到 ACK,则触发重传。快速重传则基于连续三个重复的 ACK 包判断丢包。
Step 5
Q:: 为什么 TCP 连接需要三次握手,而关闭连接需要四次挥手?
A:: 三次握手是为了确保双方都能接收和发送数据,避免连接建立的错误。而四次挥手是为了确保双方的数据都已经传输完毕并能优雅地关闭连接。因为在关闭连接时,双方的数据传输可能是非对称的,因此需要四次挥手来确认所有数据都已传输和接收完毕。