为了使 IP 能够容易地识别主机是否在本地物理网络上,不同的物理网络必须属于不同的 IP 网络。例如,网络号 149.76.4.0 保留给数学局域网上的主机使用。当向 quark 发送数据报时,erdos 上的网络软件立即从 IP 地址 149.76.12.4 中看到目标主机位于不同的物理网络上,因此只能通过网关(默认情况下是 sophus)才能到达。
sophus 本身连接到两个不同的子网:数学系和校园骨干网。它分别通过不同的接口 eth0 和 fddi0 访问每个子网。现在,我们应该给它分配哪个 IP 地址呢?我们应该给它分配子网 149.76.1.0 上的地址,还是 149.76.4.0 上的地址呢?
答案是:两者都需要。当与数学局域网上的主机通信时,sophus 应该使用 IP 地址 149.76.4.1;当与骨干网上的主机通信时,它应该使用 149.76.1.4。
因此,网关在其连接的每个网络上都被分配一个 IP 地址。这些地址——连同相应的网络掩码——都与访问子网的接口绑定。因此,sophus 的接口和地址映射看起来会是这样:
---------------------------------------- +-------+-------------+----------------+ |iface | address | netmask | +-------+-------------+----------------+ +-------+-------------+----------------+ |eth0 | 149.76.4.1 | 255.255.255.0 | |fddi0 | 149.76.1.4 | 255.255.255.0 | |lo | 127.0.0.1 | 255.0.0.0 | +-------+-------------+----------------+ +-------+-------------+----------------+ The last entry describes the loopback interface lo, which was introduced above.
图 - 显示了格劳乔·马克斯大学 (GMU) 的部分网络拓扑结构。同时位于两个子网上的主机以两个地址显示。
通常,您可以忽略将地址附加到主机或其接口之间的细微差别。对于仅在一个网络上的主机,例如 erdos,您通常会说该主机具有某个 IP 地址,但严格来说,是以太网接口具有该 IP 地址。然而,只有当您提到网关时,这种区别才真正重要。