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

    traceroute命令和tracert命令的工作原理是一样的,只是前者用于unix和linux系统中,而后者用于windows系统中。
    先来看一个例子,在windows的CMD下,输入tracert www.baidu.com,结果如下图所示:
    从上图中可以看出,这个命令得出了一些往返时间和路由器的IP地址。那么它具体是如何工作的呢?其实,这个命令是用来跟踪一个分组从源点到终点的路径,也是ICMP(Internet Control Message Protocol,网际控制协议)的一个应用。其从源主机向目的主机发送一连串的IP数据报,数据报中封装的是无法交付的UDP用户数据报。第一个数据报P1的生存时间TTL设置为1,当P1到达路径上的第一个路由器R1时,路由器R1先收下它,接着把TTL的值减1。由于TTL等于0,R1就把P1丢弃了,并向源主机发送一个ICMP时间超过差错报告报文。源主机接着发送第二个数据报P2,并把TTL设置为2。P2先到达路由器R1,R1收下后把TTL减1再转发给路由器R2。R2收到P2时,TTL为1,但减1后TTL变为了0。R2就丢弃P2,并向源主机发送一个ICMP时间超过差错报告报文。这样一直继续下去。当最后一个数据报刚刚到达目的主机时,数据报的TTL是1,。主机不转发数据报,也不把TTL的值减1。但是因为IP数据报中封装的数据是不可达的,所以目的主机就向源主机发送一个ICMP终点不可达差错报告报文。
    经过上述的过程后,大家可以看到,就像上图一样,本地主机通过各个路由器以及远程主机返回的这些ICMP报文,知道了这些路由信息,即目的主机所经过的路由器的IP地址,以及到达其中每一个路由器的往返时间。从而实现了跟踪的功能。

traceroute命令(unix)/tracert命令(windows)的工作原理相关推荐

  1. traceroute命令(unix)/tracert命令(windows)

    tracert命令的格式为:tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] [-R] [-S srcaddr] [-4] [-6] ...

  2. matlab 中trace,trace命令和tracert命令的用途 matlab中的trace 怎么用的?

    导航:网站首页 > trace命令和tracert命令的用途 matlab中的trace 怎么用的? trace命令和tracert命令的用途 matlab中的trace 怎么用的? 相关问题: ...

  3. Linux下ping命令、traceroute命令、tracert命令的使用

    Linux系统的ping命令是常用的网络命令,它通常用来测试与目标主机的连通性,我们经常会说"ping一下某机器,看是不是开着".不能打开网页时会说"你先ping网关地址 ...

  4. tracert命令_Windows Tracert命令教程

    tracert命令 Windows operating system provides some basic tools to troubleshoot the network. tracert is ...

  5. 网络管理常用命令之五 - Tracert 命令详解(图文)

    5.tracert命令... Tracert工作原理... 不带选项... -d选项... -h选项... -w选项... 5.tracert命令 Tracert是路由跟踪程序,用于确定 IP 数据报 ...

  6. linux下启动tlq命令,UNIX/LINUX命令

    1 如何查看磁盘使用情况 查看磁盘空间 df -k 可以看出磁盘空间使用情况.以及分区或者逻辑卷的挂载目录等. $ df -k Filesystem 1024-blocks Free %Used Iu ...

  7. linux_makefile文件编写,基本规则、工作原理、模式规则,wildcard函数、patsubst函数

    接上一篇:linux_GDB调试学习(调试运行.多文件设置断点)_C/C++程序调试 本次来分享linux下的makefile文件的编写,开始上菜: 目录 1.makefile文件的命名规则 2.用途 ...

  8. 网络命令——traceroute、tracert(windows)

    traceroute 路由追踪 语法:traceroute 参数 ip / 域名 1.检测是否安装 traceroute rpm -qa | grep traceroute 2.可以用 yum apt ...

  9. php tracert,Windows下tracert命令和Linux下traceroute命令

    Windows下tracert命令和Linux下traceroute命令 通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径.当然每次数据包由某一同样的出发点(so ...

最新文章

  1. vue中 静态文件引用注意事项
  2. form提交后,jquery 显示 文本框选择值和下拉框选中值
  3. Ubuntu系统rm命令删除文件没有提示,怎么办?
  4. Ubuntu 16.04+.Net Core+Docker+Nginx安装部署
  5. WinCE流设备驱动简介及GPIO驱动的实现
  6. Lasso回归算法: 坐标轴下降法与最小角回归法小结
  7. Notepad2 在Win7 64位下替换系统notepad
  8. 中国公用计算机互联网网络简称为什么,中国公用计算机互联网国际联网管理办法...
  9. 整理计算机的硬盘,史上最全的电脑清理磁盘方法 让你电脑速度像过山车一样快...
  10. 射频光纤传输及宽带射频光纤传输系统介绍
  11. 远程桌面连接 提示用户名密码错误的解决办法
  12. java 发送notes_JAVA使用B/S模式(网页)发送Notes邮件
  13. MySQL数据库中数据完整性_MySQL数据完整性详细讲解及实现方式
  14. PyQt5 组合键
  15. 【无标题】input开始输入文字,到输入结束触发事件
  16. CryEngine的Modular Behavior Tree简介
  17. 对于写论文和平时学习都有用的网站
  18. matlab股价分析论文,matlab股票分析:MATLAB怎样获取实时股市行情数据
  19. winform 位置不空 隐藏控件_C#winform窗体点击TextBox控件,显示DateTimePicker日历控件,并获得日期值(可实现对日期赋空值)...
  20. Java毕设项目重庆旅游景点计算机(附源码+系统+数据库+LW)

热门文章

  1. 数据库拆分3--使用sharding-jdbc 支持子查询sql
  2. 在线问诊配药的背后,看这家“数字化医院”如何守护数据流动安全
  3. pytest和allure生成测试报告
  4. 理光M340W激光打印机加粉清零
  5. [转载]工科硕士毕业14年,谈谈我的经验教训
  6. Django项目 no signature found for builtin错误原因
  7. qboimathtest1 t2 配对
  8. 18.缓存预热、缓存雪崩、缓存击穿、缓存穿透、性能指标监控等企业级解决方案
  9. 统计学之描述性统计(一)
  10. 感知系统性能评估分析解决方案