文章目录

  • PING
  • Traceroute
  • Traceroute 的工作原理
  • 举个“栗子”

PING

ICMP 的一个重要应用就是分组网间探测 PING(Packet InterNet Groper),用来测试两台主机之间的连通性。PING 使用了 ICMP 回送请求与回送回答报文。PING 是应用层直接使用网络层 ICMP 的一个例子。他没有通过传输层的 TCP 或 UDP。

Traceroute

ICMP 的另一个非常有用的应用是 traceroute(这是 UNIX 操作系统中名字),它用来跟踪一个分组从源点到终点的路径。在 Windows 操作系统中这个命令是 tracert。下面简单介绍下这个程序的工作原理。

Traceroute 的工作原理

Traceroute 从源主机向目的主机发送一连串的IP数据报,数据报中封装的是无法交付的 UDP 用户数据报。第一个数据报 P1 的生存时间 TTL 设置为1。当 P1 到达路径上的第一个路由器 R1 时,路由器 R1 先收下它,接着把 TTL 的值减 1。由于 TTL 等于零了,R1 就把 P1 丢弃了,并向源主机发送一个 ICMP 时间超过 差错报给报文。
源主机接着发送第二个数据报 P2,并把 TTL 设置为 2。P2 先到达路由器 R1 收下后把 TTL 减 1 再转发给路由器 R2。R2 收到 P2 时 TTL 为 1,但减 1 后 TTL 变为零了。R2 就丢弃 P2,并向源主机发送一个 ICMP 时间超过差错报给报文。这样一直继续下去。当最后一个数据报刚刚到达目的主机时,数据报的 TTL 是 1。主机不转发数据报,也不把 TTL 值减 1。但因 IP 数据报中封装的是无法交付的传输层的 UDP 用户数据报,因此目的主机要向源主机发送 ICMP 终点不可达差错报告报文。
这样,源主机达到了自己的目的,因为这些路由器和最后目的主机发来的 ICMP 报文正好给出了源主机想知道的路由信息——到达目的主机所经过的路由器的 IP 地址,以及到达其中的每一个路由器的往返时间。

举个“栗子”

C:\Users\liyongjun>tracert www.baidu.com通过最多 30 个跃点跟踪
到 www.a.shifen.com [180.101.49.11] 的路由:1     5 ms     2 ms     6 ms  10.10.68.1 [10.10.68.1]2     *        *        *     请求超时。3     3 ms     3 ms     3 ms  49.76.124.14     3 ms     1 ms     3 ms  58.215.68.2015     5 ms     6 ms     4 ms  58.215.152.1816     5 ms     6 ms     6 ms  58.213.94.1067     *        *        6 ms  58.213.94.868     7 ms    45 ms     9 ms  58.213.96.1029    11 ms    10 ms    10 ms  10.166.50.6 [10.166.50.6]10    10 ms    11 ms    10 ms  10.166.50.8 [10.166.50.8]11     *       60 ms    11 ms  10.166.96.4 [10.166.96.4]12    11 ms     *        *     10.165.1.17 [10.165.1.17]13     5 ms     5 ms     6 ms  180.101.49.11

上面是从一台 Windows PC 向百度服务器 www.baidu.com 发出的 tracert 命令后获得的结果。图中每一行有三个时间出现,是因为对应于每一个 TTL 值,源主机要发送三次同样的 IP 数据报。出现 * 号,可能是该路由器防火墙屏蔽掉了 ICMP 消息,所以我们得不到相关数据包的返回数据。上图说明从 PC 到百度服务器,中间共经历了 12 台路由器,并且能够看到每台路由器的 IP 地址,最终抵达目的IP 180.101.49.11
我们还应该注意到,从原则上讲,IP 数据报经过的路由器越多,所花费的时间也就越多。但从上面示例可以看出,有时正好相反。这是因为互联网的拥塞程度随时都在变化,也很难预料到。因此,完全有这样的可能:经过更多的路由器反而花费更少的时间。

traceroute 工作原理相关推荐

  1. traceroute工作原理

    traceroute,也就是trace route,跟踪路由.这个程序最早是Van Jacobson实现的.源码在网上可以找到,不过我还没有去找.主要的原理是IP路由过程中对数据包TTL(Time t ...

  2. linux traceroute命令详解_详解Linux系统路由跟踪指令traceroute语法、工作原理和实例说明...

    概述 traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径.当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不 ...

  3. traceroute的工作原理

    MyySophia5个月前 traceroute的工作原理 是利用ICMP差错控制报文中的TTL超时会回向源点发送一个时间超时报文.例如A 主机 traceroute B主机,A会封装一些分组,这些分 ...

  4. traceroute命令(unix)/tracert命令(windows)的工作原理

    traceroute命令(unix)/tracert命令(windows)的工作原理     traceroute命令和tracert命令的工作原理是一样的,只是前者用于unix和linux系统中,而 ...

  5. 听说你 ping 用的很 6 ?给我图解一下 ping 的工作原理!

    来自:小林coding 每日一句英语学习,每天进步一点点: 前言 在日常生活或工作中,我们在判断与对方网络是否畅通,使用的最多的莫过于 ping 命令了. "那你知道 ping 是如何工作的 ...

  6. 计算机网络(OSI、TCP/IP、网络协议、常见网络设备工作原理)

    目录 OSI模型 TCP/IP模型 网络协议 IP协议 IP数据报格式 IP数据报分片 IPv4地址 NAT协议 ARP/RARP协议 ARP RARP DHCP协议 ICMP协议 ICMP差错报告报 ...

  7. 第五章 路由器的工作原理及其配置

    第五章 路由器的工作原理及其配置 5.1 广域网服务 WAN连接的目的是在两个远离的网络之间尽可能高效率传递数据.连接的效率越高,到最终用户的连接就越透明.WAN连接通常比L A N连接要慢.例如,一 ...

  8. tcp和icmp测速哪个好_TCP/UDP/ICMP Traceroute的原理及区别

    Tracerotue 作为网络排错的常用工具可以显示出数据包在网络中经过的路由信息,它的工作原理也是网络工程师求职面试时的经典问题. Traceroute 的实现一共有三种方法,分别是:TCP tra ...

  9. 2021年大数据ELK(十八):Beats 简单介绍和FileBeat工作原理

    全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 Beats 简单介绍和FileBeat工作原理 一.Beats 二.FileB ...

最新文章

  1. 如何升级jdk_简述面试常见问题的锁升级与锁优化
  2. html中嵌入iframe进行父子页面参数传递
  3. python2.7安装pip_RobotFramework安装过程遇到的问题(电脑同时安装python2和3)
  4. 计算机或移动设备如何连接网络,移动cmcc电脑和手机使用方法
  5. linux下undefined reference to 、`pthread_create‘,undefined reference to `pthread_join‘
  6. securecrt上传下载文件命令
  7. 为阿里云ECS服务器二级域名绑定tomcat子目录,实现一个IP多个二级域名
  8. 面试 其实就是短时间内展现出你最好的自我
  9. 有限状态机FSM的写法
  10. HTML5七夕情人节表白网页制作【流星动画3D相册】HTML+CSS+JavaScript
  11. 前端 - 实习一个月总结
  12. 注册表怎么用计算机管理打开,如何打开注册表,详细教您如何打开电脑注册表管理器...
  13. “互联网+工业”下的大数据应用场景分析
  14. 校招java实习生基础知识面试题
  15. Python实用案例
  16. php上传txt文件读取乱码
  17. 幻方问题__技巧解法
  18. mysql 临时文件写满_阿里云数据库MySQL临时文件导致实例空间满的解决办法
  19. GBDT算法原理个人总结
  20. 利用openssl生成X509证书

热门文章

  1. 中国移动诺基亚联手推出智能机
  2. h5 vr效果_浅谈html5在vr中的应用
  3. 制作1~2020门牌号共需要几个2字符?
  4. 鸿蒙之志蝼蚁岂知,争气励志语:生如蝼蚁,当有鸿鹄之志,命如纸薄,应有不屈之心...
  5. js 获取dom离页面编剧_页面对象之外:具有宁静性和编剧模式的下一代测试自动化
  6. 宇视录像机通道名称如何修改
  7. Python-day11~13-前端初步
  8. tomcat localhost log 和 tomcat catalina log分别是什么日志
  9. Python将图片插入到Excel中
  10. 基于指标选择的多目标搜索(IBEA)