为什么不需要网络 ID 来连接到 IP 地址?

bad*_*gai 6 networking tcpip ip

我知道 IP 的基本工作原理,并且知道 IP 地址由网络 ID部分和主机 ID部分组成,但是当我输入 IP 地址时,比如8.8.8.8在 Web 浏览器中,我没有提供任何子网掩码信息。

那么,浏览器怎么知道网络ID和主机ID的分界线在哪里呢?由于8.8.8.8可能意味着8.8.8.8/88.8.8.8/24等等。

简而言之,我提供的 IP 地址不明确。

Red*_*ick 6

如果另一端在您的本地网络之外,您的 PC 不需要知道另一端的子网划分安排,它只需要知道足以将数据包传送到最近的路由器即可。为此,它使用两条信息。

  • 本地子网掩码
    它将它与它自己的 IP 地址结合使用来查看其他 IP 地址是否是本地的。
  • 默认网关(或显式路由 - 请参阅netstat -nr
    任何非本地发送到那里

另一端的路由器(即具有另一个 LAN 中的接口)知道那里的子网安排。没有其他需要。

如果您查看一下,netstat -nr您会看到 PC 的路由表由目标网络、网络掩码(子网掩码的另一侧)和网关(路由器)组成。通常 PC 有一个默认网关,外加一些用于你不常用的东西(环回、多播等)的粗磨。

您可以将路由表中的网络掩码视为数百万个目标子网的高级汇总或聚合。