为什么到我网络上的设备的traceroute仅显示一个IP地址

Tor*_*edo 4 networking router traceroute

我在这里有一个本地网络。我正在做traceroute到同一网络上的另一个系统。我期待两个结果。一个是打到我的路由器,然后是另一台机器。但我只看到如下结果

1    13 ms   4 ms  12 ms   nj-PC [192.168.1.110]
Run Code Online (Sandbox Code Playgroud)

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

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

2)如果在同一接口上转发数据包,是否不返回数据包?要么

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

Ans*_*ers 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
    
    Run Code Online (Sandbox Code Playgroud)
  3. 如果可以直接访问目标(网关0.0.0.0On-link,具体取决于您的操作系统),则通过ARP解析目标IP地址的MAC地址,并将数据包直接发送到目标主机(通过以太网)。

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

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

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


小智 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
Run Code Online (Sandbox Code Playgroud)

由于您的设备位于本地,因此不需要任何跃点或路由器即可到达另一个网络。

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

当跟踪我的 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
Run Code Online (Sandbox Code Playgroud)

它位于同一网段。

你的问题 :

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

  1. 路由器在这里是否充当交换机,或者
    不相关,对于跟踪路由功能意图而言不需要

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

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

  4. 一旦获取到目的地的MAC地址,是直接发送给目的地吗?

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

  6. 它只会充当这些数据包的传递者吗?

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