当我听到查看路由表后对 On-Link 网关类别的准确描述/解释时,不禁会想,这难道不是将连接标识为第 2 层地址的捷径吗?如果位于同一个本地网络上,它就不再是第 3 层。将其保持在 2 级使其不必使用 IP 地址。
答案1
这难道不是将连接识别为第 2 层地址的快捷方式吗?
这是。
是的,从技术上讲是 IP 堆栈可以有一个仅包含第 2 层网关地址的路由表。(我不知道有任何系统这样做。)
但是,你已经有 ARP(或类似)来解析链接主机,所以没有理由不是也可以用它来解析链路网关。如果路由表只有第 3 层地址,则路由表会更简单 - 它不需要担心第 2 层地址是否发生变化,也不需要关心不同的种类第 2 层寻址等
例如,如果路由表条目使用 IP 地址作为网关,那么无论它通过以太网、FireWire、Infiniband 还是令牌环(它们都具有不同的 L2 地址类型),它都将保持完全相同。这对于用于在整个网络中分发路由的“路由协议”(例如 OSPF)来说尤其重要。
话虽如此,网关地址只是第 2 层地址的替代品是有时用于一些有趣的事情,例如在 Linux 上,你可以有一个使用IPv6地址作为“网关”(内核 5.2 或更新版本)。