Traceroute 原理与结果解读:五类典型故障场�f�
图片素材来自免费商用图库(pixabay),非本站项目实拍。
🌺The Begin🌺点点关注,收藏不迷路🌺

前言

在网络故障中,我们经常遇到:能上QQ但打不开网页、能 ping 通网关但 ping 不通外网、部分地区访问异常、跨网段延迟高。
只靠 ping 只能知道“通不通”,而 Traceroute(tracert) 能告诉你数据包走到哪一跳断了、在哪一跳延迟高、在哪一跳丢包,是定位跨网段/跨运营商故障的“神器”。

本文从原理、命令、字段含义、实战场景,完整讲解如何用 Traceroute 精准定位网络故障。


一、Traceroute 概述:是什么?能干什么?

1.1 基本定义

  • Traceroute 是路由追踪工具,用于探测数据包从本机到目标服务器经过的每一跳路由节点
  • Windows 系统命令为:tracert
  • Linux / 网络设备命令为:traceroute
  • 基于 ICMP 或 UDP/TCP 实现,依赖 TTL(生存时间) 机制

1.2 核心作用

  1. 查看数据包经过的完整路径(路由跳数)
  2. 定位在哪一个路由节点中断
  3. 定位在哪一跳延迟过高
  4. 定位路由绕行、跨网、环路问题
  5. 判断是内网故障、运营商故障还是目标服务器故障

二、Traceroute 工作原理(通俗版)

2.1 核心原理:利用 TTL 超时逐跳探测

  1. TTL 每经过一个路由器 减 1
  2. 当 TTL=0 时,路由器返回 ICMP 超时(Time-to-live exceeded)
  3. Traceroute 依次发送 TTL=1、2、3… 的数据包
  4. 收集每一跳的返回信息,从而画出完整路径

2.2 工作流程

本机发送 TTL=1

第一跳路由:TTL减为0→返回超时

本机发送 TTL=2

第二跳路由:TTL减为0→返回超时

本机发送 TTL=3

第三跳路由→继续转发

依次递增直到目标

一、分层排障模型(从物理层到应用层)

网络故障排查最忌”乱试”。按 OSI 自底向上:物理层(网卡/线缆/光模块/端口灯)→ 数据链路层(VLAN、MAC、STP、协商速率)→ 网络层(IP、网关、路由、ARP)→ 传输层(TCP/UDP 端口、ACL)→ 应用层(DNS、代理、证书)。先确认链路通断(网卡 up、协商速率正常),再 ping 网关,再 traceroute 看断点在第几跳,最后查应用端口与日志。

二、排障工具箱

  • ping / pathping / mtr:看连通性与逐跳丢包延迟。
  • traceroute / tracert:定位故障跳点,区分运营商侧还是内网侧。
  • Wireshark:抓包看 TCP 重传、RST、DNS 超时、ARP 风暴,可复现 NAT 穿透与三次握手异常。
  • 交换机端口:err-disable、CRC 错包、双工不匹配、loop guard 是端口故障高频原因,show interface 看 counters 是第一步。
  • 防火墙:iptables/firewalld/nftables/ufw 规则顺序与默认策略决定放行,改前先备份规则、确认 SSH 不会被锁死。

三、工程经验

交换机端口频繁 err-disable 多因 BPDU guard 或线缆接触不良;无线与有线混排时优先固化上联端口;变更防火墙前在测试环境验证并保留回滚命令。运维类故障的闭环是:复现 → 定位 → 临时恢复 → 根因修复 → 复盘沉淀。

相关阅读

分类: › 标签:# # # # # # #

相关推荐