traceroute (Windows 系统下是tracert) 命令利用ICMP 协议定位您的计算机和目标计算机之间的所有路由器。TTL 值可以反映数据包经过的路由器或网关的数量,通过操纵独立ICMP 呼叫报文的TTL 值和观察该报文被抛弃的返回信息,traceroute命令能够遍历到数据包传输路径上的所有路由器。

程序利用增加存活时间(TTL)值来实现其功能。每当数据包经过一个路由器,其存活时间就会减1。当其存活时间是0时,主机便取消数据包,并传送一个ICMP TTL数据包给原数据包的发出者。

程序发出的首3个数据包TTL值是1,之后3个是2,如此类推,它便得到一连串数据包路径。注意IP不保证每个数据包走的路径都一样。

它由遍布全球的几万局域网和数百万台计算机组成,并通过用于异构网络的TCP/IP协议进行网间通信。互联网中,信息的传送是通过网中许多段的传输介质和设备(路由器,交换机,服务器,网关等等)从一端到达另一端。每一个连接在Internet上的设备,如主机、路由器、接入服务器等一般情况下都会有一个独立的IP地址。通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。UNIX系统中,我们称之为traceroute,MS Windows中为Tracert。 traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备traceroute要测3次。输出结果中包括每次测试的时间(ms)和设备的名称(如有的话)及其IP地址。

该诊断实用程序通过向目的地发送具有不同生存时间 (TTL) 的 Internet 控制信息协议 (ICMP) 回应报文,以确定至目的地的路由。路径上的每个路由器都要在转发该 ICMP 回应报文之前将其 TTL 值至少减 1,因此 TTL 是有效的跳转计数。当报文的 TTL 值减少到 0 时,路由器向源系统发回 ICMP 超时信息。通过发送 TTL 为 1 的第一个回应报文并且在随后的发送中每次将 TTL 值加 1,直到目标响应或达到最大 TTL 值,Tracert 可以确定路由。通过检查中间路由器发发回的 ICMP 超时 (ime Exceeded) 信息,可以确定路由器。注意,有些路由器"安静"地丢弃生存时间 (TLS) 过期的报文并且对 tracert 无效。

参数

-d

指定不对计算机名解析地址。

-h maximum_hops

指定查找目标的跳转的最大数目。

-j computer-list

指定在 computer-list 中松散源路由。

-w timeout

等待由 timeout 对每个应答指定的毫秒数。

target_name

目标计算机的名称。

traceroute最简单的基本用法是:traceroute hostname

traceroute程序的设计是利用ICMP及IP header的TTL(Time To Live)栏位(field)。首先,traceroute送出一个TTL是1的IP datagram(其实,每次送出的为3个40字节的包,包括源地址,目的地址和包发出的时间标签)到目的地,当路径上的第一个路由器(router)收到这个datagram时,它将TTL减1。此时,TTL变为0了,所以该路由器会将此datagram丢掉,并送回一个「ICMP time exceeded」消息(包括发IP包的源地址,IP包的所有内容及路由器的IP地址),traceroute 收到这个消息后,便知道这个路由器存在于这个路径上,接着traceroute 再送出另一个TTL是2 的datagram,发现第2 个路由器...... traceroute 每次将送出的datagram的TTL 加1来发现另一个路由器,这个重复的动作一直持续到某个datagram 抵达目的地。当datagram到达目的地后,该主机并不会送回ICMP time exceeded消息,因为它已是目的地了,那么traceroute如何得知目的地到达了呢?

traceroute在送出UDP datagrams到目的地时,它所选择送达的port number 是一个一般应用程序都不会用的号码(30000 以上),所以当此UDP datagram 到达目的地后该主机会送回一个「ICMP port unreachable」的消息,而当traceroute 收到这个消息时,便知道目的地已经到达了。所以traceroute 在Server端也是没有所谓的Daemon 程式。

traceroute提取发 ICMP TTL到期消息设备的IP地址并作域名解析。每次 ,traceroute都打印出一系列数据,包括所经过的路由设备的域名及 IP地址,三个包每次来回所花时间。

traceroute 有一个固定的时间等待响应(ICMP TTL到期消息)。如果这个时间过了,它将打印出一系列的*号表明:在这个路径上,这个设备不能在给定的时间内发出ICMP TTL到期消息的响应。然后,traceroute给TTL记数器加1,继续进行。参见traceroute仿真动画.

折叠网关

一般使用traceroute(或者是Tracert)是基于一台主机的,但是通常您只能知道以手边的主机为源地址到互联网络上任意一台在线的主机的路由连接质量以及数据传输效率的情况,而使用基于WEB的方式,只要一台主机安装了特定的CGI程序,用户就可以通过这台主机运行相关的程序,执行traceroute的功能。这台主机我们把它叫做traceroute网关。traceroute网关可以帮助用户了解网络的物理与逻辑连接的拓扑情况以及数据传输的效率。如果这种网关足够多,我们就可以方便地了解到各主机之间连接的情况了。

折叠原理

1.几乎每一个网上人(尤其是Webmaster)对他们的计算机(或其它设备)与Internet的连接,路由(径),连通时间,速度等都很关心。使用由ChianNetMap组织起来的各地区Webmaster提供的traceroute网关的服务,将给你一个满意的答案。从你的计算机到任何别的地方,ChinaNetMap(traceroute)都能提供其间的每个设备(IP地址)及其连通时间。它可以让你画出通过网络的路径。

2.许多公司和单位都设有或正在设立自己的服务器-尤其是Web服务器。一旦有自己的Web服务器,随着网民数量的日益增加(包括潜在的,没法统计的网民),你一定很想知道是否他们都能与你连接。你的ISP如何与一个或多个NAP连接,以及他们的连接效率会直接影响到你的连接质量

3.在选择ISP,骨干网连接,你站点的主机时,大多数有见识的网民喜欢检查该Site的连接性能及其它是怎样精确的与谁连,连到哪儿。ChinaNetMap(traceroute)将给你一个完美的答案。

折叠功能

traceroute最早是由Van Jacobson在1988写出的小程序。当时主要是解决他自己碰到的一些网络的问题。traceroute是一个正确理解IP网络并了解路由原理的重要工具。他们对负责网络工程技术与系统管理的Webmaster是一个使用方便的程序。

对ISP而言,设立traceroute网关,将使网络服务提供商帮助用户建立并维持对服务商服务质量的信心。服务质量高的ISP可以通过设立traceroute网关,使用户了解其与网络连接以及数据传输的效率。当然,基础设施差,服务质量低的ISP是比较害怕提供这种服务。因为,这样用户可以使用这一工具了解服务商网络连接情况。

在一台主机安装了相关的traceroute的CGI程序后,您可以输入相应的目的主机的IP地址或者名字,就可以得到相关的数据。

折叠命令参数

traceroute的用法为: traceroute [options] <IP-address or domain-name> [data size]

[options]的内容有:

[-n]:显示的地址是用数字表示而不是符号

[-v]:长输出

[-p]:UDP端口设置(缺省为33434)

[-q]:设置TTL测试数目(缺省为3)

[-t]:设置测包的服务类型

[data size]:每次测试包的数据字节长度(缺省为38)

折叠ICMP的应用

traceroute是用来侦测主机到目的主机之间所经路由情况的重要工具,也是最便利的工具。前面说到,尽管ping工具也可以进行侦测,但是,因为ip头的限制,ping不能完全的记录下所经过的路由器。所以traceroute正好就填补了这个缺憾。

traceroute的原理是非常非常的有意思,它收到目的主机的IP后,首先给目的主机发送一个TTL=1(还记得TTL是什么吗?)的UDP(后面就 知道UDP是什么了)数据包,而经过的第一个路由器收到这个数据包以后,就自动把TTL减1,而TTL变为0以后,路由器就把这个包给抛弃了,并同时产生 一个主机不可达的ICMP数据报给主机。主机收到这个数据报以后再发一个TTL=2的UDP数据报给目的主机,然后刺激第二个路由器给主机发ICMP数据 报。如此往复直到到达目的主机。这样,traceroute就拿到了所有的路由器ip。从而避开了ip头只能记录有限路由IP的问题。

有人要问,我怎么知道UDP到没到达目的主机呢?这就涉及一个技巧的问题,TCP和UDP协议有一个端口号定义,而普通的网络程序只监控少数的几个号码较 小的端口,比如说80,比如说23,等等。而traceroute发送的是端口号>30000(真变态)的UDP报,所以到达目的主机的时候,目的 主机只能发送一个端口不可达的ICMP数据报给主机。主机接到这个报告以后就知道,主机到了,所以,说traceroute是一个骗子一点也不为过。

traceroute程序里面提供了一些很有用的选项,甚至包含了IP选路的选项,请察看man文档来了解这些,这里就不赘述了。

traceroute 的名词解释相关推荐

  1. 计算机网络名词解释和简答题总结

    名词解释 CSMA/CD(载波监听多点接入/碰撞检测协议) CSMA/CD是一种基于冲突检测的载波监听多路访问技术.CSMA/CD协议要求站点在发送数据之前先监听信道.如果信道空闲,站点就可以发送数据 ...

  2. 【EMC】电磁兼容性相关名词解释、基础知识

    一.名词解释 1.EMC EMC(Electro Magnetic Compatibility)直译是"电磁兼容性".意指设备所产生的电磁能量既不对其它设备产生干扰,也不受其他设备 ...

  3. 名词解释_写字楼租赁相关名词解释

    对于租赁写字楼的租户来说,那些繁琐的合同是很令人头疼的.有时候连最基础的一些问题还没得到解决,就要面对一堆复杂的文书,会使租赁写字楼的租户开始迟疑.那么在这里我们给大家科普一下关于写字楼租赁你需要知道 ...

  4. 计算机组成原理名词解释常用,2018考研408计算机组成原理名词解释(3)

    2018考研408计算机组成原理名词解释(3) 2017-09-29 16:02 | 考研集训营 随着时代的快速发展,任何行业都离不开网络,导致计算机行业近几年非常的火热,使各大高校竞相争抢优秀人才, ...

  5. 神经网络相关名词解释

    神经网络相关名词解释 这篇文章的目的是把之前概念理解的名词用公式记忆一下. 1. 正则化 1.0 过拟合 这是正则化主要解决的问题. 过拟合现象主要体现在accuracy rate和cost两方面: ...

  6. 稀有名词解释——Java 堆污染(犄角旮旯问题)

    稀有名词解释--Java 堆污染(犄角旮旯问题) 有些面试官喜欢问一些稀有名词,彰显其渊博的知识背景. 所谓堆污染,简单的说就是当一个泛型类型变量赋值给不是泛型类型变量,这种错误在编译期间能被编译器警 ...

  7. 常见算子使用_spark快速入门(二)spark粗略流程简述及常见名词解释

    大家元旦快乐,牛年发发发~~牛气冲天o(* ̄︶ ̄*)o spark粗略流程简述 (1)有算子触发Action,Driver端和hdfs的namenode进行通信,询问元数据信息.根据元数据信息 及相应 ...

  8. 药理学css概念,药理学css 名词解释

    药理学css这个名词解释: 稳态血药浓度 网络steady state plasma concentration: steady-state concentration: steady-statepl ...

  9. 计算机组成名词解释移码,自考“计算机组成原理”串讲资料

    硬盘的存储容量常用 GB 表示,1GB=1024MB: 第2章 数据编码和数据运算 一.名词解释: 历年真题: (2001年,2002年)基数:在浮点数据编码中,对阶码所代表的指数值的数据,在计算机中 ...

最新文章

  1. Handler 实现的一个循环操作
  2. 程序可以在硬件之间发送吗_你知道硬件、软件工程师之间,还有一个固件工程师吗?...
  3. mac下homebrew一些总结
  4. 004 .NetReactor 3.6.0.0之另类脱壳法
  5. AIX 访问Linux NFS共享错误案例
  6. WPF XAML 为项目设置全局样式
  7. 算法题目——最长连续序列
  8. 重要·Flutter 首个预览版 发布
  9. codeforces 318A-C语言解题报告
  10. where in的sql语句按照指定ID进行排序的解决方法
  11. Go语言探索 - 8(原创)
  12. 学生管理系统--golang--简单版本---开发框架
  13. Mybatis联表查询:多对多(注解实现)
  14. 一篇文章说完Flutter页面路由导航及传参
  15. goland下载与安装教程(详细)
  16. 带alpha通道的图像合成(Python语言)
  17. 决策树模型算法研究与案例分析
  18. android 仿商城瀑布流,android_waterfall
  19. jq animate动画
  20. 无线专题 openwrt feeds、web框架luci(lua语言)、UCI (统一配置接口)

热门文章

  1. 2022年1月16日学习总结
  2. 如何建立一个弩车作为家庭项目
  3. Android APK+Dex文件反编译及回编译工具(APKDB)v.1.9.2 正式版
  4. Stable Diffusion背后公司估值攀升至69亿,据项目发布仅过去一个月
  5. 听六小桨讲AI | 第3期:优化器及其三种形式BGD、SGD以及MBGD
  6. 【剑指offer】51数组中的逆序对
  7. zbrush常用笔刷_Zbrush中常用的8种笔刷,笔刷中的八大金刚你用过几个?
  8. 6级听力词汇与习语2
  9. 计算机专业以后可以学画画吗,学美术有出路吗 各大类美术专业前景
  10. 实例:Gson解析泛型对象