Ping和tracert的原理和区别

一.Ping协议

1.Ping协议是什么?

        Ping协议是一种网络通讯协议,用于测试网络连接质量和测量计算机之间的延迟和丢包率。Ping协议通过向目标计算机发送数据包并等待响应来测试连接的可达性,如果目标计算机接收并回复了数据包,则表示连接正常;否则,连接存在问题。

2.Ping协议的作用?

        2.1测试网络连通性:通过发送和接收数据包测试网络设备之间的连接状态,可以快速定位网络故障和排除故障。

        2.2诊断网络故障:通过Ping协议可以获取到网络设备之间的延迟、丢包等信息,从而有助于诊断网络故障。

        2.3检测网络性能:对于网络管理员或者网络运营商来说,通过Ping协议可以监测网络的性能,了解网络的质量和可靠性,及时发现和解决问题。

3.Ping协议的工作原理是什么?

        

 

          以该图为例:假设PC1已经通过ARP协议获取到PC2的mac地址,此时PC1发送给PC2的ip数据报文可以完成封装。此时PC1pingPC2,报文格式如下

从抓取的报文中可以看到,ping协议是依靠ICMP协议发送出去的。协议类型是type 8 (request报文)

再看一下回包:

 回复报文的话协议类型是type 0 (response 报文)

只有回复报文里面包含有响应时间

再看一下PC1中的ping中包含有什么信息:

 可以看到回复response报文的IP地址、序列号和TTL以及响应时间(可以判断网络的质量,响应时间越短网络质量越好)

工作原理总结:ping协议依靠ICMP协议中的type 8(request 报文)和type 0(response 报文)来完成源ip地址对目的IP地址的网络连接可达性的检测以及通信质量的检测。

二.tracert协议

1.tracert协议是什么?

        tracert是一种用于跟踪网络路径和诊断网络故障的协议。它通常用于Windows和Unix系统中,也称为跟踪路由或网络跟踪工具。当使用tracert协议时,将向目标主机发送一系列的ICMP(Internet控制报文协议)数据包,每个数据包会在 Internet 网络中的每个步骤上被路由器记录,并返回到发送方。因此,tracert协议跟踪并记录了数据包的路径和所经过的所有路由器,可以帮助判断网络故障所在位置。        

2.tracert协议的作用?

        2.1  检查网络连接:tracert 可以帮助用户确定从本地计算机到目标计算机的网络连接是否正常,以及网络连接的质量如何,帮助用户快速排查网络问题。

        2.2  确定网络传输路径:tracert 可以确定网络数据包在从源计算机到目标计算机的传输路径中经过的节点(路由器),以及每个节点的响应时间。通过这些信息,用户可以优化网络路径,提高传输效率。

        2.3  排查网络问题:当网络出现问题时,通过 tracert 协议可以查看网络数据包在传输过程中的具体路径,判断网络故障出现的位置,帮助用户快速排查问题。

3.tracert协议的工作过程?

        以该图为例:每个接口的IP地址都是自身设备的数字,例如:AR1:g0/0/0 ip address 13.1.1.1/24      g0/0/1 ip address    12.1.1.1/24

         3.1  PC3发送第一个数据包:当我们PC3上tracert PC4的IP地址时,R1会向34.1.1.4发送UDP的包,第一次发送TTL=1的包,连续发送三个。

        3.2  接收第一个路由器的回应:因为其TTL=1,所以此包只能发送到AR1。AR1处理完后会把TTL减为0则不能再继续发送,然后会向PC3返回一个TTL减为0的错误报告消息

        3.3  发送第二个数据包:之后PC3再发送TTL=2的UDP或ping包出去。

        3.4  接收第二个路由器的回应:此包会发送到第二跳设备。第二跳设备同样返回TTL减为0错误消息,此消息源IP又为第二跳设备的IP的地址,所以我们就能知道第二跳设备的IP地址,依次类推,就能知道整条路径上所有设备的IP地址。

        3.5  显示完整的路由路径:一旦Tracert协议到达目标主机,它将显示完整的路由路径,即从本地计算机到目标计算机所经过的所有路由器的IP地址和延迟时间。

        总结:Tracert协议通过向目标主机发送一系列数据包并显示每个路由器的回应,确定了数据包的完整路由路径。当我们tracert某个地址时,设备会发送TTL逐次加1的ping包或者UDP包,并且默认情况下每个TTL值发送三个包。

        #UDP包是为了有相同开销的负载分担路由时能够从不同路径tracert到目的主机

        #华为路由器或者交换机上tracert某个目的地址时,设备不是发送ICMP的ping包,而是发送UDP的包,并且该UDP报文的目的端口号再依次加1

4.tracert协议的报文有什么?

tracert协议使用的是ICMP协议,其报文有以下几个字段:

1. 类型(Type):报文类型,通常为8,表示请求报文;11表示超时报文。还有目的ip地址回复的type 0 的响应报文。

2. 代码(Code):标识报文类型的附加信息,例如超时报文有两种类型,分别是“超时”和“重新组装超时”。

3. 校验和(Checksum):校验报文的一种方法,用于检测报文是否错误。

4. 标识符(Identifier):标识报文的来源,一般为发送主机的进程号。

5. 序列号(Sequence Number):标识报文的序号,每发送一次报文,其序列号就会加1。

6. 数据(Data):通常为空。

 

三.二者的区别

1.作用

ping协议是用来测试目的ip地址是否可达及网络质量的检测

tracert协议是用来显示到达目的ip地址所经过的三层路径,方便网络出现

错误时判断网络出错的大概位置,及时修复。

2.工作方式

都是基于ICMP协议

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值