面试常问:TCP相关(中级篇)问题原因即解决方案

Q1:讲一下TCP的粘包和拆包问题

A1:

在应用层HTTP协议中,有一个content-length字段:声名了body有多少字节,读够了这条消息就结束了,HTTP2.0协议中,使用了帧,其中包含长度字段,避免了粘包问题。

Q2:TCP三次握手时,发送syn后宕机了怎么办?

A2:

Q3:为什么TCP挥手需要Time_Wait状态?

A3:

首先需要明确什么是Time_Wait状态,Time_Wait状态即主动要断开连接的一方在发送最后一个ACK后进入的状态。之所以有这个状态主要基于以下原因:

Q4:Tcp什么时候会出现RST报文?

A4:

RST与FIN报文不同,它不会等待另一方回复ACK,而是直接断开连接,发送缓冲区和接收缓冲区的数据直接丢掉

Q5:TCP有超时重传,为什么还要快速重传?

A5:

相关推荐
张不才1 天前
CPU 100% 了怎么办?Java 性能排障的标准化操作
java·后端
鱼人1 天前
Redis、网关负载均衡为什么不能用普通取模哈希?
后端
juejin9981 天前
Claude Code Lab-3(下):三能力 MCP Server
后端
java小白小1 天前
SpringBoot(07):事务管理——@Transactional 你真的用对了吗?
后端
shepherd1111 天前
吞吐量提升 10 倍:高并发大批量数据处理任务的架构演进与性能调优
java·后端·架构
java小白小1 天前
SpringBoot(05):Spring Data JPA——用面向对象的方式操作数据库
后端
juejin9981 天前
Claude Code Lab-2(上):自然语言查库助手
后端
java小白小1 天前
SpringBoot(06):多数据源配置——一个项目连多个库怎么做
后端
程序员cxuan1 天前
Codex 会把磁盘给烧了?完整复盘来了!
人工智能·后端·程序员
ClouGence1 天前
Oracle 数据同步为什么会出现数据不一致?长事务是常被忽略的原因
数据库·后端·oracle