当前位置:谷粒网 > 科普百科 > 正文

traceroute、tracert是基于何种协议? (traceroute命令怎么用)

作者:宋鼎立 科普百科 2023-05-28 22:36:46 阅读:24

traceroute、tracert是基于何种协议?

traceroute、tracert是基于何种协议?

就是基于ICMP的。

traceroute、tracert是基于何种协议? (traceroute命令怎么用)

TCP/IP协议详解卷1的8.2节中曾经说过,路由***时发送UDP数据报给目标主机,而且设置的端口值很高,一般大于30000,以避免端口号被使用。原文如下:

“Traceroute程序发送一份UDP数据报给目的主机,但它选择一个不可能的值作为UDP端口

号(大于30 000),使目的主机的任何一个应用程序都不可能使用该端口。因为,当该数据报

到达时,将使目的主机的UDP模块产生一份“端口不可达”错误(见 6 . 5节)的ICMP报文。

这样,Traceroute程序所要做的就是区分接收到的ICMP报文是超时还是端口不可达,以判断

什么时候结束。”

中间的路由器是因为TTL=0以后返回ICMP 类型11,代码0的超时消息。

目的IP到了以后,拆包分析UDP内容,发现端口不可达,返回ICMP类型3,代码3(目标端口不可达)实现。

在windws主机里面的tracert和TCP/IP详解的表述有点出入。windows主机的tracert是直接是用ping来实现的,但是这个ping的TTL值在3个包后增大1,不可达或者超时后返回星号,继续下一个TTL的包的发送,一直到达默认设置的30跳。一般在路由器和交换机上的traceroute都是UDP的方式,每个TTL发的包的个数和最大跳数、UDP开始端口都是可以调整的。


tracert是什么协议?

tracert本身是一个应用工具,用来探测数据包到达目的地的路径了。。

Tracert 工作原理

通过向目标发送不同 IP 生存时间 (TTL) 值的“Internet 控制消息协议 (ICMP)”回应数据包,Tracert 诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减 1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP 已超时”的消息发回源系统。 Tracert 先发送 TTL 为 1 的回应数据包,并在随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP 已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的数据包,这在 Tracert 实用程序中看不到。 Tracert 命令按顺序打印出返回“ICMP 已超时”消息的路径中的近端路由器接口列表。如果使用 -d 选项,则 Tracert 实用程序不在每个 IP 地址上查询 DNS。


什么是TCP和ICMP?

TCP:传输控制协议(英语:Tran***ission Control Protocol,缩写:TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能。

TCP旨在适应支持多网络应用的分层协议层次结构。 连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。

TCP假设它可以从较低级别的协议获得简单的,可能不可靠的数据报服务。 原则上,TCP应该能够在从硬线连接到分组交换或电路交换网络的各种通信系统之上操作。

ICMP:互联网控制消息协议(英语:Internet Control Message Protocol,缩写:ICMP)是互联网协议族的核心协议之一。

它用于网际协议(IP)中发送控制消息,提供可能发生在通信环境中的各种问题反馈。通过这些信息,使管理者可以对所发生的问题作出诊断,然后采取适当的措施解决。

ICMP 协议应用在许多网络管理命令中,下面以 ping 和 tracert 命令为例详细介绍 ICMP 协议的应用。

(1) ping 命令使用 ICMP 回送请求和应答报文

在网络可达性测试中使用的分组网间探测命令 ping 能产生 ICMP 回送请求和应答报文。目的主机收到 ICMP 回送请求报文后立刻回送应答报文,若源主机能收到 ICMP 回送应答报文,则说明到达该主机的网络正常。

(2)路由分析诊断程序 tracert 使用了 ICMP时间超过报文

tracert 命令主要用来显示数据包到达目的主机所经过的路径。通过执行一个 tracert 到对方主机的命令,返回数据包到达目的主机所经历的路径详细信息,并显示每个路径所消耗的时间。

扩展资料:

ICMP是在RFC 792中定义的互联网协议族之一。通常用于返回的错误信息或是分析路由。ICMP错误消息总是包括了源数据并返回给发送者。 ICMP错误消息的例子之一是TTL值过期。每个路由器在转发数据报的时候都会把IP包头中的TTL值减1。

如果TTL值为0,“TTL在传输中过期”的消息将会回报给源地址。 每个ICMP消息都是直接封装在一个IP数据包中的,因此,和UDP一样,ICMP是不可靠的。

虽然ICMP是包含在IP数据包中的,但是对ICMP消息通常会特殊处理,会和一般IP数据包的处理不同,而不是作为IP的一个子协议来处理。在很多时候,需要去查看ICMP消息的内容,然后发送适当的错误消息到那个原来产生IP数据包的程序,即那个导致ICMP消息被发送的IP数据包。

很多常用的工具是基于ICMP消息的。traceroute是通过发送包含有特殊的TTL的包,然后接收ICMP超时消息和目标不可达消息来实现的。

ping则是用ICMP的"Echo request"(类别代码:8)和"Echo reply"(类别代码:0)消息来实现的。

参考资料来源:百度百科-TCP

参考资料来源:百度百科-ICMP


Tracert命令利用了哪个网络层协议

TCP/IP 五层模型 的第三层“网络层” ICMP 协议

(“网络层”与 ICMP 并列的还有 IGMP、IP、ARP 等,其中除 IP

协议是用于传输数据的以外,其它基本上都是用于控制的协议。)

简单的说,每个ICMP数据报都有一个TTL值,当这个ICMP报

从一个路由器抵达另一个路由器的时候,TTL值减一,

TTL减到 =1 时,接受此ICMP数据报的路由器或主机便删除它,

同时回送一个数据报给 原ICMP数据报的发出者。

Tracert 程序先发出 3个TTL初值=1的ICMP数据报,然后是3个2、3个3,

依次类推,这样就能得到一连串与自己相距1个、2个、3个……位置的

路由器的回送数据报,从而描绘出沿途经过的所有路由器,

直到目的主机/路由器为止。


网络故障的排除方法「典型」

网络故障的排除方法「典型」

网络故障极为普遍,故障种类也十分繁杂。如果把网络故障的常见故障进行归类查找,那么无疑能够迅速而准确的查找故障根源。下面是我整理的网络故障的排除方法,希望对你有帮助!

一.硬件故障

硬件故障主要有网卡自身故障、网卡未正确安装、网卡故障、集线器故障等。

首先检查插上计算机I/O插槽上的网卡侧面的指示灯是否正常,网卡一般有两个指示灯“连接指示灯”和“信号传输指示灯”,正常情况下“连接指示灯”应一直亮着,而“信号传输指示灯”在信号传输时应不停闪烁。如“连接指示灯”不亮,应考虑连接故障,即网卡自身是否正常,安装是否正确,网线、集线器是否有故障。

我们先大致从网卡外表观察一下:

1.RJ45接头的问题

RJ45接头容易出故障,例如,双绞线的头没顶到RJ45接头顶端,绞线未按照标准脚位压入接头,甚至接头规格不符或者是内部的绞线断了。

镀金层厚度对接头品质的影响也是相当可观的,例如镀得太薄,那么网线经过三五次插拔之后,也许就把它磨掉了,接着被氧化,当然也容易发生断线。

2.接线故障或接触不良

一般可观察下列几个地方:双绞线颜色和RJ-45接头的脚位是否相符线头是否顶到RJ-45接头顶端,若没有,该线的接触会较差.需再重新压按一次观察RJ-45侧面。金属片是否已刺入绞线之中?若没有,极可能造成线路不通观察双绞线外皮去掉的地方,是否使用剥线工具时切断了绞线(绞线内铜导线已断,但皮未断)。

如果还不能发现问题,那么我们可用替换法排除网线和集线器故障,即用通信正常的电脑的网线来连接故障机,如能正常通信,显然是网线或集线器的故障,再转换集线器端口来区分到底是网线还是集线器的故障,许多时候集线器的指示灯也能提示是否是集线器故障,正常对应端口的灯应亮着。

二.软件故障

如果网卡的信号传输指示灯不亮,这一般是由网络的软件故障引起的。

1.检查网卡设置

普通网卡的驱动程序磁盘大多附有测试和设置网卡参数的程序。分别查验网卡设置的接头类型、IRQ、I/O端口地址等参数,若有冲突.只要重新设置(有些必须调整跳线),一般都能使网络恢复正常。

另外检查一下网卡驱动程序是否正常安装。不同网卡使用的驱动程序亦不尽相同,假如你选错了,就有可能发生不兼容的现象。修复的方法亦不难,只要找到正确的驱动程序.重新安装即可。

最后我们简单检验一下网卡设置故障是否排除。打开“控制面板-系统-设备管理器”,选中我们安装的网络适配器,点击“属性”按钮,在“常规”文件夹中,可以查看网卡是否在正常工作。

2.检查网络协议

打开”控制面板-网络-配置”选项,查看已安装的网络协议,必须配置以下各项:NetBEUI协议和TCP/IP协议,Microsoft友好登录,拨号网络适配器。如果以上各项都存在,重点检查TCP/IP是否设置正确。在TCP/IP属性中要确保每一台电脑都有唯一的IP地址,将子网掩码统一设置为255.255.255.0,网关要设为代理服务器的IP地址(如192.168.0.1)。另外必须注意主机名在局域网内也应该是唯一的。最后,我们用ping命令来检验一下网卡能否正常工作。

(1).ping 127.0.0.1

127.0.0.1是本地循环地址.如果该地址无法ping通,则表明本机TCP/IP协议不能正常工作如果ping通了该地址,证明TCP/IP协议正常,则进入下一个步骤继续诊断。

(2).ping本机的IP地址

使用ipconfig命令可以查看本机的IP地址,ping该IP地址,如果ping通,表明网络适配器(网卡或者Modem)工作正常,则需要进入下一个步骤继续检查反之则是网络适配器出现故障。

(3).ping本地网关

本地网关的IP地址是已知的IP地址。ping本地网关的IP地址,ping不通则表明网络线路出现故障。如果网络中还包含有路由器,还可以ping路由器在本网段端口的IP地址,不通则此段线路有问题,通则再ping路由器在目标计算机所在同段的端口IP地址.不通则是路由出现故障。如果通,最后再ping目的机的IP地址。

(4).ping网址

如果要检测的是一个带DNS服务的网络(比如Internet),上一步ping通了目标计算机的IP地址后。仍然无法连接到该机,则可以ping该机的网络名,比如:ping.sohu.cn,正常情况下会出现该网址所指向的IP地址,这表明本机的DNS设置正确而且DNS服务器工作正常,反之就可能是其中之一出现了故障。

常用DOS命令

1.ping命令

ping命令是用于确定本地主机是否能与另一台主机成功交换数据包。根据返回的.信息,可以推断TCP/IP参数(因为现在网络一般都是通过TCP/IP协议来传送数据的)是否设置正确,以及运行是否正常、网络是否通畅等。但ping成功并不代表TCP/IP配置一定正确,你有可能要执行大量的本地主机与远程主机的数据包交换,才能确信TCP/IP配置无误。

ping命令可以在MS-DOS窗口下运行,执行格式如下:

ping 网址

例如:ping 127.0.0.1

2.ipconfig命令

ipconfig这个命令,通常只被用户用来查询本地的IP地址、子网掩码、默认网关等信息。ipconfig、ping是我们在诊断网络故障或查询网络数据时常用的命令,它们的使用也很简单,即使你不知道它们的应用格式,也可以通过“ipconfig/?”或“ping/?”这种标准的DOS命令帮助方式来获取相关信息。

3.tracert命令

tracert命令能够定位你访问网络中某个节点时所走的路径.也可以用来分析网络和排查网络故障。举个例,我想知道自己访问sohu.cn时走的是怎样一条路线,就可以在DOS状态下输入tracert sohu.cn,执行后经过一段时间等待,系统会反馈出很多IP地址。最上方的IP地址是本地的网关,而最后面一个地址就是sohu.cn网站的IP地址了。换句话说,从上至下,便是我们访问sohu.cn所走过的“足迹”。

4.netstat命令

netstat命令是一个监控TCP/IP网络的实用的工具,它可以显示实际的网络连接以及每一个网络接口设备的状态信息。Netstat命令的参数不是很多,我们常用Netstat -r来监视网络的连接状态,非常管用。


ping和tracert命令的基本作用和用法?

1、在开始菜单总,点击运行,在弹出的对话框中输入CMD,进入DOS系统。

2、在命令行下输入 ping 网址或者IP地址例如ping .baidu。

3、下图就是连接速度。

4、下图是丢包率。

5、接着在命令提示符窗口,输入tracert “ip”或者“域名”,检查本地网络到测试目标的联通性,以.baidu为例。

6、跟踪到目标ip,证明网络连通可以正常 .如果最后一跳是超时,证明连通有问题。

7、如果需要了解“tracert”加参数的用法,直接在命令行输入tracert”,回车。如图有“d”、“h”、“-j”、“-r”、“-s”、“-4”、“-6”等命令用法。


tracert命令用到了IP协议报文的哪几个字段?

TCP/IP 五层模型 的第三层“网络层” ICMP 协议

(“网络层”与 ICMP 并列的还有 IGMP、IP、ARP 等,其中除 IP

协议是用于传输数据的以外,其它基本上都是用于控制的协议。)

简单的说,每个ICMP数据报都有一个TTL值,当这个ICMP报

从一个路由器抵达另一个路由器的时候,TTL值减一,

TTL减到 =1 时,接受此ICMP数据报的路由器或主机便删除它,

同时回送一个数据报给 原ICMP数据报的发出者。

Tracert 程序先发出 3个TTL初值=1的ICMP数据报,然后是3个2、3个3,

依次类推,这样就能得到一连串与自己相距1个、2个、3个……位置的

路由器的回送数据报,从而描绘出沿途经过的所有路由器,

直到目的主机/路由器为止。


ICMP协议详解

全称:Internet 控制消息协议(Internet Control Message Protocol)

是网络层的一个重要协议。ICMP协议用来在网络设备间传递各种差错和控制信息,并对于收集各种网络信息、诊断和排除各种网络故障等方面起着至关重要的作用

作用:通过传递ICMP报文,进行 差错检查 错误报告 以及 控制功能

总结:三大功能+两大应用

<img src="https://upload-images.jianshu.io/upload_images/20425542-00666941cb1857c6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" alt="icmp重定向.png" style="zoom: 67%" />

如上图场景中:当主机A(10.0.0.1)想要访问服务器A(20.0.0.1)时,由于主机和服务器处于不同网段,主机A需要将访问信息发送给网关路由RTB,RTB再将访问信息发送给服务器A,这种情况下就会出现: 次优路径

<u>ICMP的解决方法</u>:主机在进行不同网段访问时,数据会交给网关(路由器),当路由器从接口收到该数据包时,进行查找路由表条目,发现数据包 发出的接口和收到的接口一致 时,会 触发重定向报文

重定向报文包含:访问的目的地址+ 最优下一跳

回到上图场景:网关路由器收到主机A要访问服务器A的信息后,会将重定向报文发送给主机A,主机A收到后,产生主机路由,主机后续访问服务器A直接通过重定向报文中的下一跳进行访问,也就是直接将访问信息直接发送给RTA,不需要再通过网关路由器进行转发, 从而解决次优路径

通过查询(request),和响应(reply)进行实现

设备无法访问时,会自动会送相应的ICMP报告报文,可用于排障

①:ICMP是工作在网络层,协议号1

②:报文重要字段:Type+Code

​type和code的不同组合可以表示不同功能的ICMP报文

type为3的都是不可达信息,

使用request和reply

​ 使用功能:差错检测

​ 作用:测试网络连通性

​ 使用方法:

​ ping -a:指定报文的源IP,默认为出接口IP地址

​ ping -c:指定报文发送的数量,默认为5

​ ping -t:持续发送报文

​ ping -h:指定TTL的值,默认值为255

​ ping -i:指定发送ICMP报文的接口

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5372E6z5-1601099717174)( https://upload-images.jianshu.io/upload_images/20425542-be76d4b1825d0cb1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

用以跟踪数据包经过的 三层设备

​ 使用功能:错误报告

​ 作用:用于跟踪数据包的转发路径。一般用于排障。

​ 使用方法:

​ tracert -a 指定源IP

​ tracert -f 指定初次TTL的值

​ tracert -q 指定发送单个报文的次数,默认为3

​ tracert -m 最大的TTL值,默认为30

TTL(Time To LIVE):用于路由防环路,封装在IP报文头部,默认为255,经过一台三层设备TTL-1,当TTL=0时,报文会被丢弃

原理:通过UDP报文和ICMP的错误报告(TTL)结合。

​ 第一步:发送一个TTL值为1的报文1,经过一跳路由器后,会返回一个ICMP错误报告,包含该跳路由器的IP地址

​ 第二步:发送一个TTL值为2的报文2,经过两跳路由器后,返回一个ICMP错误报告,包含第二跳路由器的IP地址

​ 往后,TTL值逐步加1(默认最大加到30),发送。然后返回ICMP错误报告。


ping是使用TCP/IP协议中的什么协议?

ICMP协议。

ICMP 是 TCP/IP 模型中网络层的重要成员,与 IP 协议、ARP 协议、RARP 协议及 IGMP 协议共同构成 TCP/IP 模型中的网络层。

ping 和 tracert是两个常用网络管理命令,ping 用来测试网络可达性,tracert 用来显示到达目的主机的路径。ping和 tracert 都利用 ICMP 协议来实现网络功能,它们是把网络协议应用到日常网络管理的典型实例。

扩展资料:

Ping功能应用:

1、 使用ipconfig /all观察本地网络设置是否正确;

2、 Ping127.0.0.1,127.0.0.1回送地址Ping回送地址是为了检查本地的TCP/IP协议有没有设置好;

3、Ping本机IP地址,这样是为了检查本机的IP地址是否设置有误;

4、Ping本网网关或本网IP地址,这样的是为了检查硬件设备是否有问题,也可以检查本机与本地网络连接是否正常;(在非局域网中这一步骤可以忽略)

5、Ping本地DNS地址,这样做是为了检查本地DNS服务器是否工作正常。

6、Ping远程IP地址,这主要是检查本网或本机与外部的连接是否正常。

参考资料来源:百度百科-ICMP协议

参考资料来源:百度百科-ping


icmp是什么协议

icmp是Internet控制报文协议。

ICMP是(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。属于网络层协议。

控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

icmp的工作原理相关:

ICMP提供一致易懂的出错报告信息。发送的出错报文返回到发送原数据的设备,因为只有发送设备才是出错报文的逻辑接受者。发送设备随后可根据ICMP报文确定发生错误的类型,并确定如何才能更好地重发失败的数据包。但是ICMP唯一的功能是报告问题而不是纠正错误,纠正错误的任务由发送方完成。

我们在网络中经常会使用到ICMP协议,比如我们经常使用的用于检查网络通不通的Ping命令(Linux和Windows中均有),这个“Ping”的过程实际上就是ICMP协议工作的过程。还有其他的网络命令如跟踪路由的Tracert命令也是基于ICMP协议的。


版权声明:本文内容由用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。转载请注明出处:https://www.gulizw.com/guli/189263.html

网友评论

  • 随机文章

  • 热门文章

  • 最新文章