3.4 子网寻址

最后更新于:2022-04-02 05:21:26

现在所有的主机都要求支持子网编址(RFC 950 [Mogul and Postel 1985])。不是把IP地址看成由单纯的一个网络号和一个主机号组成,而是把主机号再分成一个子网号和一个主机号。 这样做的原因是因为A类和B类地址为主机号分配了太多的空间,可分别容纳的主机数为224-2和216-2。事实上,在一个网络中人们并不安排这么多的主机(各类IP地址的格式如图1-5所示)。由于全0或全1的主机号都是无效的,因此我们把总数减去2。 在InterNIC获得某类IP网络号后,就由当地的系统管理员来进行分配,由他(或她)来决定是否建立子网,以及分配多少比特给子网号和主机号。例如,这里有一个B类网络地址(140.252),在剩下的16bit中,8 bit用于子网号, 8bit用于主机号,格式如图3-5所示。这样就允许有254个子网,每个子网可以有254台主机。 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-12_570c9891acc28.png) 许多管理员采用自然的划分方法,即把B类地址中留给主机的16bit中的前8 bit作为子网地址,后8bit作为主机号。这样用点分十进制方法表示的IP地址就可以比较容易确定子网号。 但是,并不要求A类或B类地址的子网划分都要以字节为划分界限。大多数的子网例子都是B类地址。其实,子网还可用于C类地址,只是它可用的比特数较少而已。很少出现A类地址的子网例子是因为A类地址本身就很少(但是,大多数A类地址都是进行子网划分的)。 子网对外部路由器来说隐藏了内部网络组织(一个校园或公司内部)的细节。在我们的网络例子中,所有的IP地址都有一个B类网络号140.252。但是其中有超过30个子网,多于400台主机分布在这些子网中。由一台路由器提供了Internet的接入,如图3 - 6所示。 在这个图中,我们把大多数的路由器编号为Rn,n是子网号。我们给出了连接这些子网的路由器,同时还包括了扉页前图中的九个系统。在图中,以太网用粗线表示,点对点链路用虚线表示。我们没有画出不同子网中的所有主机。例如,在子网140.252.3上,就超过50台主机,而在子网140.252.1上则超过100台主机。 与30个C类地址相比,用一个包含30个子网的B类地址的好处是,它可以缩小Internet路由表的规模。B类地址140.252被划分为若干子网的事实对于所有子网以外的Internet路由器都是透明的。为了到达IP地址开始部分为140.252的主机,外部路由器只需要知道通往IP地址140.252.104.1的路径。这就是说,对于网络140.252只需一个路由表目,而如果采用30个C类地址,则需要30个路由表目。因此,子网划分缩减了路由表的规模(在1 0.8小节中,我们将介绍一种新技术,即使用C类地址也可以缩减路由表的规模)。 子网对于子网内部的路由器是不透明的。如图3-6所示,一份来自Internet的数据报到达gateway,它的目的地址是140.252.57.1。路由器gateway需要知道子网号是57,然后把它送到kpno。同样,kpno必须把数据报送到R55,最后由R55把它送到R57。 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-12_570c9891c6b51.png)
';