4

我在这里有一个本地网络。我正在对同一网络上的另一个系统进行跟踪路由。我期待两个结果。一个是命中我的路由器,然后是另一台机器。但我只看到一个结果如下

1    13 ms   4 ms  12 ms   nj-PC [192.168.1.110]

为什么没有显示有关路由器的信息?

1) 路由器是否在这里充当交换机,或者

2)如果数据包在同一个接口上转发,它是否不返回数据包?或者

3) 数据包根本不经过路由器。一旦它得到目的地的MAC地址,它是否直接将它发送到目的地?我怀疑这里的数据包仍然会通过路由器,对吧?它会只是作为这些数据包的通道吗?

4

3 回答 3

5

基本上,当您运行时会发生以下情况traceroute nj-PC

  1. 源主机解析 nj-PC为 IP 地址。(这里不做详细介绍)
  2. 源主机检查其本地路由表以查找到该 IP 地址的路由。
    路由表示例:

    Destination   Gateway        Genmask         ...
    0.0.0.0       192.168.1.254  0.0.0.0         ...  # default route
    192.168.2.0   192.168.1.253  255.255.255.0   ...  # net route
    192.168.3.23  192.168.1.252  255.255.255.255 ...  # host route
    192.168.1.0   0.0.0.0        255.255.255.0   ...  # directly reachable
    
  3. 如果目标是直接可达的(网关0.0.0.0On-link,取决于您的操作系统),目标 IP 地址的MAC 地址通过ARP 解析,数据包直接发送到目标主机(通过以太网)。

  4. 如果目的地不能直接到达,网关 IP 地址的 MAC 地址通过 ARP 解析,数据包被传递到网关(通过以太网),然后网关根据自己的路由表转发它。
  5. 默认路由捕获所有无法直接或通过显式主机或网络路由到达的目标地址。和以前一样,(默认)网关的 MAC 地址通过 ARP 解析,数据包通过以太网传递到网关以进行进一步传送。

在您的情况下,源 IP 地址和目标 IP 地址都在同一个子网中,因此可以直接到达目标,因此可以直接传递数据包,而无需路由器参与。traceroute这就是为什么您在输出中只看到一个跃点。

路由器设备在这里仍然可以充当交换机,如果它具有内置交换机并且两个设备都连接到该交换机,但这是另一回事并且与路由无关。交换(以太网)发生在数据链路层(OSI 模型的第 2 层),而路由(IP)发生在网络层(第 3 层)。

于 2014-03-16T11:54:12.343 回答
2

我的 IP 是 182.168.1.4,当我跟踪到该设备的路由时,我得到了。

shiva:ToDoList sparcs$ traceroute shiva
traceroute to shiva.home (192.168.1.4), 64 hops max, 52 byte packets
 1  shiva.home (192.168.1.4)  78.566 ms  0.060 ms  0.039 ms

由于您的设备是本地的,因此没有跃点或路由器需要到达另一个网络。

所以,它告诉你确切的路线。

当追踪到我的 iPhone 时,我得到

shiva:ToDoList sparcs$ traceroute Sparcs
traceroute to 192.168.35.181 (192.168.1.181), 64 hops max, 52 byte packets
 1  192.168.35.181 (192.168.35.181)  5.129 ms  5.317 ms  5.976 ms

它在同一段。

你的问题 :

为什么没有显示有关路由器的信息?

  1. 路由器是否在此处充当交换机,或
    不相关,在跟踪路由功能意图方面不需要

  2. 如果数据包在同一个接口上转发,它是否不返回数据包?

  3. 数据包根本不经过路由器。
    真的

  4. 一旦它得到目的地的MAC地址,它是否直接将它发送到目的地?

  5. 我怀疑这里的数据包仍然会通过路由器,对吧?

  6. 它会只是作为这些数据包的通道吗?

好读:http ://www.cisco.com/en/US/products/sw/iosswrel/ps1831/products_tech_note09186a00800a6057.shtml

于 2014-02-03T04:25:14.293 回答
1

您不想或不需要对网络上的本地设备进行跟踪路由。路由器将网络连接在一起,因此它将您连接LAN(Local Area Network)WAN(the internet)允许您访问网络的网络。因此,它仅有助于跟踪从路由器到本地网络之外某个设备的跃点。

它的主要目标是解决网络故障。所以traceroute不会离开你的路由器,因为其他设备在同一个网络上。

这是一篇很好的文章,它将向您展示它是如何工作的,以及不同的操作系统如何处理跟踪路由甚至一些历史。

http://www.inetdaemon.com/tutorials/troubleshooting/tools/traceroute/definition.shtml

于 2014-02-03T04:18:57.410 回答