故障现象校园网内服务器网络异常用户反馈无法SSH登录连接建立阶段直接超时。一、 理论基石TCP三次握手与四次挥手在深入排查前我们需要回顾TCP协议的核心机制这是理解抓包数据的前提。连接建立三次握手 (Three-Way Handshake)TCP是面向连接的协议通信前必须通过三次交互同步序列号SYN客户端发送 SYN1, Seqx请求建立连接。SYN-ACK服务器回应 SYN1, ACK1, Seqy, Ackx1表示同意建立。ACK客户端发送 ACK1, Acky1连接建立ESTABLISHED。运维意义若握手失败通常为防火墙拦截、端口未监听或网络不可达。连接断开四次挥手 (Four-Way Wave)由于TCP全双工特性断开需双方独立关闭FIN主动方发送 FIN1 请求关闭。ACK被动方确认。FIN被动方处理完数据后发送 FIN1。ACK主动方确认并进入 TIME_WAIT。运维意义大量 TIME_WAIT 或 CLOSE_WAIT 通常指示应用层资源释放问题。二、 实战分析抓包视角的“慢性死亡”接到报修后我们在客户端进行了抓包分析。与常规的“连接拒绝RST”不同本次故障呈现出一种“假死”状态。表象握手正常数据传输崩塌阶段一正常抓包显示 TCP 三次握手SYN - SYN-ACK - ACK顺利完成。这直接排除了网络不通、防火墙拦截端口22以及SSH服务宕机的可能性。阶段二异常进入 SSH 密钥交换KEX阶段后数据流瞬间崩塌。核心证据链通过 Wireshark 专家系统我们捕捉到了典型的网络质量恶化特征TCP Retransmission (重传)客户端不断重传 Seq675 等报文。这是TCP可靠性机制在拼命尝试因为没有收到服务端的ACK确认发送方认为报文在网络中丢失了。TCP Dup ACK (重复确认)服务端不断回复 Dup ACK且确认号Ack卡在 51 不动。这说明服务端只收到了序号51之前的数据后续数据“石沉大海”。TCP Out-of-Order (乱序)伴随重传出现了乱序报文。这通常是因为中间链路丢包导致接收窗口Window无法滑动后续到达的报文被判定为异常。结论这是教科书级别的“网络丢包”特征。问题不在应用层而在传输层的承载网。三、 根因定位物理链路的“隐形瓶颈”既然TCP层显示丢包且排除了逻辑层面的防火墙策略无RST报文我们将矛头指向了物理链路与链路层配置。排查思路MTU最大传输单元疑云SSH 密钥交换包KEX通常较大。如果链路中存在 MTU 不一致大包会被分片。某些老旧设备或特定防火墙对分片包处理能力极差导致丢包。物理介质隐患校园网环境复杂常存在多厂商设备混用、光转电模块、速率强制等特殊场景。验证与测试为了验证 MTU 猜想我们在 Ubuntu 服务器上进行了模拟限制测试模拟受限的 MSS最大段大小iptables -t mangle -A OUTPUT -p tcp --dport 22 -j TCPMSS --set-mss 300iptables -t mangle -A INPUT -p tcp --sport 22 -j TCPMSS --set-mss 300测试结果SSH连接恢复正常。这证实了减小报文尺寸可以绕过丢包点根因极大概率为链路中存在MTU/MSS 不匹配或物理传输质量差。3. 现场勘查与最终根因带着猜想奔赴现场检查物理链路发现该区域网络拓扑如下服务器 - 华为交换机 - (光转电模块) - 锐捷交换机百兆口发现问题速率瓶颈上行链路使用了锐捷的百兆口。物理层隐患中间使用了光转电模块此类模块在速率协商或信号转换上常存在兼容性问题。协商模式两端可能处于自适应Auto-Negotiation状态在传输大流量SSH数据包时信号抖动导致频繁 CRC 校验错误丢包。解决方案将接口速率强制为百兆speed 100 / duplex full消除自协商带来的握手不稳定并规避了光转电模块在特定流量下的丢包问题。四、 运维总结本次故障是一起典型的由物理链路质量引发的传输层丢包事件。抓包定性通过 TCP Retransmission 和 Dup ACK 确认丢包排除应用层故障。逻辑推导大包SSH KEX丢包小包TCP握手正常 →指向 MTU 或 物理信号问题。物理修复在校园网复杂的多厂商、多介质光/电混合组网环境中强制速率协商往往是解决此类“软性丢包”的终极手段。经验沉淀在排查 SSH 连接超时类故障时若抓包显示“握手成功但随后重传”请务必检查中间链路的物理质量、速率协商状态以及MTU一致性。