自下而上排查是什么
自下而上(bottom-up)从物理层起步,一层层往上验证,回答的是「第一个断点出现在哪一层」。它适合现场情况未知、现象表现为「完全不通」的场景:接口没起来、ARP 解析不了、路由不存在,这些结论都能给出明确的断点位置,而不是靠猜。代价是层级多、耗时长,换来的是结论最稳、可复现,也最适合需要向他人交付的责任边界判定。
基本信息
| 排查方向 | 物理 → 链路 → 网络 → 传输 → 应用 |
|---|---|
| 适用 | 新装网络、突然完全不通用、现场环境未知 |
| 优势 | 断点位置明确,结论可复现可交付 |
| 代价 | 层级多、耗时较长,每层都要取到证据 |
| 前提 | 本机或同网段设备的操作权限,缺权限时用对端与镜像口代偿 |
典型使用场景
- 新机架上电后完全不通,需要先把「设备到底有没有起来」问清楚
- 办公室整段网络突然全断,先确认是不是接入层交换机或线路问题
- 更换网线、光模块、交换机之后出现不通,需要验证新硬件的链路状态
- 排障交班或跨团队协作,需要一份每层可复核的证据清单
- 现象为「所有服务都访问不了」时,用自下而上排除本机与接入层的基础问题
逐层验证命令序列
逐层验证命令序列
ip -br link # 1 物理:接口是否 UP,是否被 shutdown
ethtool eth0 | head -20 # 2 链路:Speed / Duplex / Link detected
ip -s link show eth0 # 3 物理:errors 与 dropped 是否在增长
arping -c 2 -I eth0 <网关IP> # 4 链路:二层能不能摸到网关
ping -c 3 <网关IP> # 5 网络:三层到网关是否可达
ping -c 3 <远端IP> && traceroute -n <远端IP>
ss -tuln | grep <端口> # 6 传输:本机服务是否在监听
nc -zv -w3 <远端IP> <端口> # 7 传输:对端端口是否完成握手每层的通过标准
| 层次 | 通过标准 | 不通过时先查 |
|---|---|---|
| 物理 | 接口 UP,Link detected: yes,errors/dropped 不增长 | 网线、光模块、对端端口、接口是否被 shutdown |
| 链路 | 网关 MAC 可解析,VLAN 与对端一致,速率双工匹配 | VLAN 配置、ARP 表、双工模式与环路 |
| 网络 | 网关与远端 IP 可 ping 通,路由表与掩码正确 | IP/掩码、网关地址、路由条目、ACL 与策略 |
| 传输 | 目标端口握手成功,ss 能看到监听进程 | 服务进程、监听地址、防火墙放行规则 |
| 应用 | 业务返回预期状态码,应用日志无异常堆栈 | 证书、鉴权、后端依赖与容量 |
每层都要看「具体输出的数值」,而不是「有没有报错」。例如 ping 通只代表 ICMP 可达;ethtool 显示 Speed 100Mb/s 而链路设计为千兆,本身就说明了双工或协商异常。Windows 侧对应工具为 ipconfig /all、arp -a、ping、tracert、Test-NetConnection。