route print 命令显示几乎所有 On-link 网关

route print command show almost all On-link gateway

尝试了解路由 tables,当在 cmd route print 上执行 window 时,我在 IPv4 table:

上得到了这个结果
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0       10.0.0.138         10.0.0.9     50
         10.0.0.0    255.255.255.0         On-link          10.0.0.9    306
         10.0.0.9  255.255.255.255         On-link          10.0.0.9    306
       10.0.0.255  255.255.255.255         On-link          10.0.0.9    306
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    331
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    331
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    331
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    331
        224.0.0.0        240.0.0.0         On-link          10.0.0.9    306
  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          10.0.0.9    306
===========================================================================

根据我的理解,网络目标和网络掩码结合显示网络 ID,网关是 "next hop" 意味着它是网络 ID 中的地址可以通过接口访问互联网的地址对。

这个table和网上看到的不一样,几乎所有的网关都是On-link。通过简单的 google 搜索,我发现那些 On-link 表示本地可访问的地址(我的路由器地址?)所以在这个例子中 On-link=10.0.0.138?由于网络 ID 都是 0.0.0.0,这意味着我的系统上唯一可用的路由是从 10.0.0.138 到 10.0.0.9?如果是这样,为什么我需要其他行?如果我错了,我很想知道得更多。

谢谢。

"on-link" 不等于 10.0.0.138。这意味着目标网络直接连接到接口 - 意味着与此路由条目匹配的流量将触发应从此 link 发送的 ARP 请求以直接解析目标 IP(不是网关 10.0.0.138) . 这也称为"glean adjacency"。 10.0.0.9 路由指示将目标 IP 为 10.0.0.9 的数据包发送到 CPU(也称为平底船邻接)。 127.0.0.0/24 网络用于机器内部通信。 224.0.0.0/4 用于多播流量。