局域网中的跳数是如何工作的?

San*_*ket 4 networking router switch wireless-networking

我有一个类似于此的网络布局:

Router A (LAN Port) -> Switch -> Router B (WAN Port)
Run Code Online (Sandbox Code Playgroud)

一台 PC 连接到每个路由器的 LAN 侧。PC 1 在路由器 A 上,PC 2 在路由器 B 上。 IP 地址如下:

  • 路由器 A(局域网):192.168.1.1
  • 路由器 B:192.168.1.2
  • 电脑 1:192.168.1.10
  • 电脑 2:192.168.1.25

当我在 PC 之间运行 traceroute 时,我只能看到一跳 - 目标 PC。但是,我希望我应该看到两个 - 目标 PC 和路由器 B。为什么输出中没有第二个跃点?

两台路由器都启用了 DHCP。两台 PC 上的 ifconfig 输出都是。我在 Linux 环境中工作。PC-1

wlan0     Link encap:Ethernet  HWaddr 54:35:30:2b:d9:99  
          inet addr:192.168.1.10  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::5635:30ff:fe2b:d999/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:30098 errors:0 dropped:0 overruns:0 frame:0
          TX packets:22554 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:10359238 (10.3 MB)  TX bytes:2881707 (2.8 MB)
Run Code Online (Sandbox Code Playgroud)

PC-2

wlan0     Link encap:Ethernet  HWaddr 54:35:30:2b:d9:99  
          inet addr:192.168.1.25  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::5635:30ff:fe2b:d999/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:30098 errors:0 dropped:0 overruns:0 frame:0
          TX packets:22554 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:10359238 (10.3 MB)  TX bytes:2881707 (2.8 MB)
Run Code Online (Sandbox Code Playgroud)

小智 5

请参阅此处发布的答案。

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