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

 mobiledu2502896655 发布于 2023-01-29 18:19

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

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

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

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

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

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

1 个回答
  • 基本上,运行时会发生以下情况traceroute nj-PC

      源主机解析 nj-PC为IP地址。(这里不做详细介绍)

      源主机检查其本地路由表中是否有到该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
      

      如果可以直接访问目标(网关0.0.0.0On-link,具体取决于您的操作系统),则通过ARP解析目标IP地址的MAC地址,并将数据包直接发送到目标主机(通过以太网)。

      如果无法直接到达目的地,则通过ARP解析网关IP地址的MAC地址,并将数据包传递到网关(通过以太网),然后网关根据其自己的路由表转发该数据包。

      该默认路由捕捉任何直接或通过显式的主机或网络路径不可达或者所有目标地址。和以前一样,(默认)网关的MAC地址通过ARP解析,数据包通过以太网传递到网关以进行进一步传递。

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

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

    2023-01-29 18:21 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有