我基本知道我脑子里的差异,但是我在纸上写错了。 如果有人能告诉我关于这两个更详细的解释,我会非常感激。
所以基本上我的问题是有人可以给我一个关于cmd中ping和tracert函数区别的更详细的解释吗?
听起来像你在谈论Windows,呃?
PING将ICMP回应请求数据报发送到指定的目标主机。 目标主机将发送回ICMP回应答复数据报,如果这样configuration的话。 人们通常会想到使用PING来判断主机的“可达性”。 您可以改变PING数据包的大小,并观察往返时间,以了解源主机和目标主机之间的networking带宽情况(显然,测量延迟)。
一个菜鸟的错误,BTW,认为,因为你从来没有收到答复你的回声请求数据报没有得到远程主机。 回应的缺失告诉你,你的回应请求没有到达目标主机, 或者来自目标主机的回复没有回复给你。 没有PING的回复没有告诉你什么结论。
Microsoft TRACERT实用程序旨在为Unix“traceroute”实用程序提供类似的function。 微软的TRACERT发送ICMP回应请求数据报,并增加“生存时间”(TTL)值。 TTL决定一个IP数据报可以通过多less个主机。 每个转发数据报的主机都会减小TTL直到达到零,此时将计数减为零的主机会向发出停止活动的数据报的主机发送ICMP超时数据报的时间。 通过发送具有增加的TTL值的数据报,并观察生存时间超出来自哪里的数据报,可以产生出站数据报通过的“跳”的“映射”,以及关于数据报花费多长时间的信息-trip。
令人遗憾的是,Unix“traceroute”使用UDP数据报而不是ICMP来执行类似的function。
想想平安就像潜艇上的声纳。 您将数据包发送到特定的主机,并接收数据包。 它让你知道主机正在运行并响应ICMP pingstream量。 如果它没有响应,它就会closures或configuration为不响应ping,或者您和主机之间有其他连接问题(传出或传入)。
Tracert向您显示数据包从本地系统到远程主机的path。 您可以看到每个步骤的响应时间,因为每个数据报的TTL(生存时间)比前一个长一个字节。 这可以用来解决连接问题,因为您可以本地化您的问题的来源。
在Windows上,这两个工具都使用ICMP来完成他们的任务。
ping本质上是点对点stream量的tcpstream量时间。 tracert是数据包从点到点到达每个点的时间。
Tracert列出消息从源到目的地的传递位置。 平只说,电脑的目的地是回答“是的,我在这里”。 跟踪路由就像当你正在为你的朋友指路时,当你沿着路线来到你的房子 – “右转5号,10号离开,640号离开,在251号高速公路上。”平是一个电话,其他人拿起并说“我在家”然后挂断电话。 —-纳迦皇家
ping在数据平面中处理并显示延迟 tracert在控制平面中进行处理并显示pathselect