了解 Windows PC 上的 IP 路由

use*_*234 0 routing

这是我的理解:

  1. ipconfig列出我的 PC 拥有的所有 NIC(真实或虚拟)并且带有ipconfig /all. 我可以看到他们的所有信息。正确的?

  2. arp -a打印每个活动 NIC 的 arp 缓存。如果网卡想要向 LAN 中的设备发送 Ip 数据包,则使用 arp 缓存来确定该设备的 MAC 地址。正确的?

现在,它到底告诉我什么route print?我的计算机应如何处理传入的传出 IP 数据包?我一直以为它是用于传出数据包,但后来我看到视频,其中有人说“on-link”告诉我的计算机监听它收到的数据包(如果它们具有特定的 IP 地址)。

如果是针对传入数据包,我的计算机如何知道将传出数据包发送到哪里?

那么为什么路由打印需要包含默认网关呢?

编辑

  255.255.255.255  255.255.255.255   On-link         127.0.0.1    331
  255.255.255.255  255.255.255.255   On-link    172.29.138.145   5256
  255.255.255.255  255.255.255.255   On-link         10.0.75.1    271
  255.255.255.255  255.255.255.255   On-link     192.168.2.191    311
Run Code Online (Sandbox Code Playgroud)

Dav*_*ill 5

ipconfig列出我的电脑拥有的所有网卡(真实的或虚拟的),ipconfig /all我可以看到它们的所有信息

正确的。

arp -a打印每个活动 NIC 的 ARP 缓存。如果 LAN 中的设备想要向该设备发送 IP 数据包,则 NIC 使用 ARP 缓存来确定该设备的 MAC 地址。

正确的。

到底告诉我什么route print

它告诉您如何路由到各个目的地的数据包。

“on-link”告诉我的计算机监听它收到的数据包(如果它们具有特定的 IP 地址)

不正确。

On-link 是直接可达的路由(NIC 与其直接联系,位于同一子网上)。

因为它可以直接访问,所以不需要网关地址。

如果是针对传入数据包

不正确。

它用于传出数据包。

那么为什么路由打印需要包含默认网关呢?

对于所有主机来说,维护到所有其他(非本地)网络(在互联网上)的路由通常是不可行的。

因此,如果路由表中列出的给定目的地没有特定网关,则默认网关是数据包发送到的地址。

它维护到远程(非本地)网络的路由。


进一步阅读