TCP 的连接方式
TCP 头结构
控制位:
- SYN:表示希望建立连接,并在其「序列号」的字段进行序列号初始值的设定。
- ACK:确认位,TCP 规定除了最初建立连接时的 SYN 包之外该位必须设置为 1,用于确认收到数据
- RST:表示 TCP 连接中出现异常必须强制断开连接
- FIN:当通信结束希望断开连接时,通信双方的主机之间就可以相互交换 FIN 位为 1 的 TCP 段

TCP 客户端的状态流转围绕 “连接建立 - 数据传输 - 连接关闭” 三个阶段, 核心状态包括:CLOSED → SYN-SENT → ESTABLISHED → FIN-WAIT-1 → FIN-WAIT-2 → TIME-WAIT → CLOSED(主动关闭流程)。
服务端的典型状态流转为: CLOSED → LISTEN → SYN-RECEIVED → ESTABLISHED(连接建立); 若被动关闭:ESTABLISHED → CLOSE-WAIT → LAST-ACK → CLOSED。

502、504区别
- 502 网关错误,通常是后端服务返回了无效响应(如返回了 HTML 而不是 JSON)
- 504 网关超时,通常是后端服务响应时间超过了网关的超时时间
常用的网络命令
- ping:测试主机之间的网络连接是否通畅
- traceroute:跟踪数据包从源主机到目标主机的路径
- netstat:显示网络连接、路由表和接口统计信息
- tcpdump:捕获和分析网络流量
- wget:从网络上下载文件
- curl:发送 HTTP 请求并显示响应
- ifconfig/ip:配置和显示网络接口信息
- route:显示和操作 IP 路由表
- dig:查询域名系统(DNS)服务器
- nslookup:查询域名系统(DNS)服务器
- host:查询域名系统(DNS)服务器
- whois:查询域名注册信息
- nmap:网络扫描工具
- iperf:测试网络带宽
- tcpdump:捕获和分析网络流量
如何查看80端口的进程ID
- 查看进程ID:
netstat -tuln | grep :80 - 查看进程详情:
ps -ef | grep <pid>
你对稳定性方面做了哪些东西
开放性问题
