Traceroute网络排障实用指南

Traceroute网络排障实用指南

一、概述

1.1 什么是Traceroute

当遇到网络问题,通常会用Traceroute去排查,但Traceroute是什么?

根据百度百科定义,Traceroute是一种电脑网络工具,它可显示数据包在IP网络经过的路由器的IP地址。

Traceroute有三大特点:

  1. 跨平台。Traceroute工具存在与各个操作系统平台,包括主流系统MAC OS、Windows、Linux、Android、IOS等;
  2. 使用方便。只要在Traceroute后输入IP或域名即可;
  3. 信息全面。Traceroute能够显示跳数、丢包情况、延时等信息。

但使用Traceroute并根据路由跟踪情况就能排查出问题?答案是否定的。

1.2 Traceroute的问题所在

使用Traceroute并根据路由跟踪情况也不能排查出问题,到底是怎么回事?

  1. 现代商业网络运行情况良好。低级的问题如拥塞、环路,在实际问题中占非常低的概率;更多的问题是非常复杂以至于只靠单纯的Traceroute已无法准确排查;
  2. 很少人是真正的理解Traceroute并且利用其分析问题。大部分ISP NOC甚至是专业的网络工程师也难以解释一个复杂的路由;有非常多的误判报告充斥着世界各地NOC;高误判率导致几乎无法从这些报告中判断出真正最根本的网络问题。

二、Traceroute原理

2.1 Traceroute实现原理

  1. 从SRC发出一个探测包到DST,并将TTL设置为1;
  2. 每一跳TTL将会减一;
  3. 当TTL变为0时,包被丢弃,路由器向SRC发回一个ICMP TTL Exceed包;
  4. 当SRC收到该ICMP包时,显示这一跳信息;
  5. 重复1~5,并每次TTL加1;
  6. 直至DST收到探测数据包,并返回ICMP Dest Unreachable包;
  7. 当SRC收到ICMP Dest Unreachable包时停止traceroute。