网络规划与地址分配

玉不琢,不成器;人不学,不知道。

—— 战国·乐正克·《礼记·学记》

前面章节,我们学习了 IP 协议的工作原理,并深入研究了 IP 地址的结构。那么,我们日常生活中的网络设备都是如何接入互联网的呢?我们从最简单的家用网络着手研究。

在互联网时代早期,一个家庭的上网设备不多,一般只有一台 PC ,通过 ADSL 拨号上网:

ADSL 成功拨号后,运营商会给 PC 分配一个 IP 地址。随后,PC 机就可以通过这个 IP 地址畅游互联网世界。

近年间,随着移动互联网的日益普及,我们的网络设备越来越多,需要用一个路由器来组织家用网络:

上图是一个典型的家用局域网,各种需要上网的网络设备都接入其中,然后通过路由器访问互联网。

家用网络一般接入设备不多,拓扑也非常简单,最多只是网络规划的开胃菜。那么,复杂一点网络拓扑又是怎样的呢?

以某公司为例,领导希望按部门来组建办公网络:

如上图,每个部门都组建一个局域网,部门所有主机都接入其中。每个局域网都通过一台路由器接到核心路由网络,这样不同局域网间可以互相通信。注意到,路由网络上部署了一台出口路由,整个网络中的设备都可以通过它来访问互联网。

如上图,如果人力部主机需要访问研发部主机,IP 包先经过人力部网络到达部门路由器,随后进入路由网络到达研发部路由器,最终达到目标主机(深绿色)。如果市场部主机需要访问互联网,IP 包先经过市场部网络到达部门路由器,随后进入路由网络到达出口路由,最终经过互联网上的许多路由器到达目标主机(浅绿色)。

我们还注意到,不同的部门,主机数量也有多有少:

部门 主机数量
行政部 50
研发部 100
市场部 80
人力部 50
法务部 50

因此,每个部门局域网所需要的网段,大小也是不一样的。假设管理员拿到了一个地址段 192.168.170.0/23 ,如何将地址划分给图中的子网呢?

这个网段网络号为 23 位,主机号为 9 位,最多可以容纳 $2^9-2=510$ 台主机。我们需要将这个网段划分成若干规模更小的子网,分配给拓扑中的网络。那么,图中每个网络都需要多大的网段呢?

以研发部为例,该部门有 100 台主机,需要一个主机号为 n 位的网段。我们需要找到一个最小的 n ,满足不等式:$2^n-2 > 100$ 。

很显然,n 至少需要 7 位,因为 $2^7-2=126$ 大于 100 ,而 $2^6 - 2 = 62$ 不足 100 。

部门 主机数量 主机号位数 网络规格
行政部 50 6 x.x.x.x/26
研发部 100 7 x.x.x.x/25
市场部 80 7 x.x.x.x/25
人力部 50 6 x.x.x.x/26
法务部 50 6 x.x.x.x/26
路由网络 6 3 x.x.x.x/29

由于最大的网络只需要 7 位的主机号,我们可以将原网段主机号的前两位挪为网络号,将其划分为 4 个子网:

现在,将其中的 2 个子网分别分配给研发部和市场部,剩余两个子网还可进一步划分:

至此,我们得到 4 个更小的子网,刚好可以分配给其他部门以及核心路由网络来用。注意到,核心路由网络中只有 6 台路由接入,原本不需要这么大的网段,但也无所谓了。

至此,我们完成了一个稍微复杂拓扑网络规划和地址分配的全部工作:

只需按照规划图,为拓扑中的每台主机和路由器配置 IP 地址,再为路由器配置必要的路由规则,这个网络就可以正确地运转!

小菜学网络】系列文章首发于公众号【小菜学编程】,敬请关注:

【小菜学网络】系列文章首发于公众号【小菜学编程】,敬请关注: