TCP/IP之Traceroute程序

TCP/IP之Traceroute程序定义:Traceroute程序时一个能更深入探索TCP/IP协议的方便可用的工具。功能:Traceroute程序可以让我们看到IP数据报从一台主机传到另一台主机所经过的路由。 Traceroute程序还可以让我们使用IP源路由选项。存在意义:不是所有路由器都支持记录路由选项 记录路由一般是单向的选项,记录地址翻了一番(一来一回) IP首部中留给选项的空间有限,不能存放当前大多…

大家好,又见面了,我是你们的朋友全栈君。

定义:

  • Traceroute程序时一个能更深入探索TCP/IP协议的方便可用的工具。

功能:

  • Traceroute程序可以让我们看到IP数据报从一台主机传到另一台主机所经过的路由。
  • Traceroute程序还可以让我们使用IP源路由选项。

存在意义:

  • 不是所有路由器都支持记录路由选项
  • 记录路由一般是单向的选项,记录地址翻了一番(一来一回)
  • IP首部中留给选项的空间有限,不能存放当前大多数的路径

操作:

  • Traceroute程序使用ICMP报文和IP首部中的TTL字段(生存周期)。
  • TTL字段是由发送端初始设置一个8bit字段
  • 每个处理数据报的路由器都需要把TTL的值减1,即跳站计数器
  • 源主机发送TTL为1的IP数据报给目的主机,处理该数据报的第一个路由器将TTL值减1,丢弃该数据报,并发回一份超时ICMP报文,这样就得到了该路径的第一个路由器的地址。
  • 为区分目的主机和路径中路由器的地址,Traceroute程序发送一份UDP数据报给目的主机,但选择一个不可能的值作为UDP端口(大于30000),使目的主机的任何一个应用程序都不可能使用该端口。因此,当该数据报到达时,目的主机的UDP模块产生一份“端口不可达” 错误的ICMP报文。Traceroute程序需做的就是区分接收到的ICMP报文是超时还是端口不可达,以判断什么时候结束

局域网输出

  • 输出的第1个无标号行给出了目的主机名和其I P地址,指出t r a c e r o u t e程序最大的T T L字段值为3 0。4 0字节的数据报包含2 0字节I P首部、8字节的U D P首部和1 2字节的用户数据。
  • 输出的后面两行以T T L开始,接下来是主机或路由器名以及其I P地址。对于每个T T L值,发送3份数据报。每接收到一份I C M P报文,就计算并打印出往返时间。

Traceroute程序注意事项

  • 不能保证现在的路由也是将来所要采用的路由,甚至两份连续的IP数据报都可能采用不同路由
  • 不能保证ICMP报文的路由与traceroute程序发送的UDP数据报采用统一路由
  • 返回的ICMP报文中的信源IP地址是UDP数据报到达的路由器接口的IP地址

广域网输出

IP源站选路选项

  • 源站选路
  • 思想:由发送者指定路由
  • 形式:
  1. 严格的源路由选择。发送端指明IP数据报所必须采用的确切路由。如果一个路由器发现源路由所指定的下一个路由器不在其直接连接的网络上,那么它就返回一个“源站路由失败”的I C M P差错报文。
  2. 宽松的源站选路。发送端指明了一个数据报经过的IP地址清单,但是数据报在清单上指明的任意两个地址之间可以通过其它路由器。
  • Tr a c e r o u t e程序提供了一个查看源站选路的方法,我们可以在选项中指明源站路由,然后检查其运行情况。
  • 标准版中没有,有些补丁支持源站路由选项

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151531.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月20日 上午9:00
下一篇 2022年6月20日 上午9:00


相关推荐

  • 计算机无法识别ANSI编码文件里的中文导致乱码「建议收藏」

    计算机无法识别ANSI编码文件里的中文导致乱码「建议收藏」问题现象最近远程协助一个用户的电脑(TeamView竟然连接不上,只好用QQ远程啦),原来ANSI编码的ini文件里的中文是正常的;用着用着,某一天就乱码了,无法识别ANSI编码文件里的中文。创建ANSI编码的ini配置文件,输入中文后保存会提示“…该文件有Unicode格式的字符,当文件保存为ANSI编码的文本时,该字符将丢失…”的问题。原因Unicode和ANSI是两种不同的字符编…

    2025年12月4日
    3
  • LAMP下HTTPS配置「建议收藏」

    LAMP下HTTPS配置「建议收藏」LAMP下HTTPS配置    LAMP下配置HTTPS非常简单,本文主要介绍ubuntu下apache配置https的具体步骤和流程,证书为服务器生成的本地证书,希望对大家有所帮助。证书:本地生成apache版本:Apache/2.4.7(Ubuntu)系统:Ubuntu14.04一、安装Apache$sudoapt-getinstallapache2使用此方式安装的APACHE,配置比…

    2022年6月5日
    32
  • 深入浅出Yolo系列之Yolov5核心基础知识完整讲解

    大白在之前写过《Yolov3&Yolov4核心基础知识的完整讲解》:https://blog.csdn.net/nan355655600/article/details/106246625/对Yolov4的相关基础知识做了比较系统的梳理,但Yolov4后不久,又出现了Yolov5,虽然作者没有放上和Yolov4的直接测试对比,但在COCO数据集的测试效果还是很可观的。很多人考虑到Yolov5的创新性不足,对算法是否能够进化,称得上Yolov5而议论纷纷。但既然称之为Yolov5,也有很多非常不

    2022年4月6日
    214
  • matlab 判断矩阵奇异,Matlab 奇异值、奇异矩阵、svd函数

    matlab 判断矩阵奇异,Matlab 奇异值、奇异矩阵、svd函数奇异值 奇异值分解法是线性代数中一种重要的矩阵分解法 在信号处理 统计学等领域有重要应用 定义 设 A 为 m n 阶矩阵 A 表示 A 的转置矩阵 A A 的 n 个特征值的非负平方根叫作 A 的奇异值 记为 i A 如果把 A A 的特征值记为 i A A 则 i A sqrt i A A 奇异矩阵 奇异矩阵是线性代数的概念 就是对应的行列式等于 0 的矩阵 奇异矩阵的判断方法 首先 看这个矩阵是不是方

    2026年3月16日
    2
  • java 使用 grok 解析日志

    java 使用 grok 解析日志

    2026年3月15日
    2
  • 老大爷都在养龙虾了!小白3分钟本地装 OpenClaw + 飞书打通全攻略(零基础必看)

    老大爷都在养龙虾了!小白3分钟本地装 OpenClaw + 飞书打通全攻略(零基础必看)

    2026年3月13日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号