一种简单子网划分方法及教学案例*

2023-01-30 04:08张海绒
计算机时代 2023年1期
关键词:子网二进制位数

张海绒

(山西工程职业学院,山西 太原 030009)

0 引言

高职院校“计算机网络技术”课程重点难点较多,理论知识繁琐抽象,特别是子网划分部分。针对网络规划和管理,子网划分方案显的尤为重要[1]。

计算机网络技术课程教学中,对于子网划分部分的讲解比较复杂,比如二进制与十进制之间的转换,学生入校之前没有学过,但这部分知识的掌握是子网划分学习的前期准备工作。笔者翻阅了很多计算机网络相关的教材,也查阅了国内外相关的论文资料,还没有发现一种能够轻松掌握的子网划分方法,并能将其应用于当前高职院校零基础学生的教学工作。笔者在长期的计算机网络教学过程中,总结出了一套子网划分简单易学的方法,便于学生理解和掌握。本文从案例的角度出发,来介绍该子网划分是如何进行的。

1 案例描述

从一个教学案例的角度出发,某所新建的学校,教室有400 台计算机,图书馆有180 台计算机,宿舍里有40 台计算机,食堂有18 台计算机。前期的网络施工布线工作已经基本完成,现在需要为每个部门做IP规划和子网划分。分配的IP 地址块是172.16.0.0/22,需要将其划分为五个子网,分别为:第一个子网是教室LAN,最多支持400 台主机;第二个子网是图书馆LAN,最多支持180 台主机;第三个子网是宿舍LAN,最多支持40 台主机;第四个子网是食堂LAN,最多支持18台主机;第五个子网是WAN,采用点对点链路。

2 前期知识准备

完成此案例子网规划与子网划分的前提是,学生需掌握一定的计算机网络基础知识,比如,IP 地址的二进制记法和二进制与十进制之间的转换等。

目前IP 地址采用的是IPv4 版本,需要32 位的二进制数表示,由于二进制数只适用于计算机识别,为了更加人性化,计算机网络界采用点分十进制的记法,即192.168.2.1,32 位的二进制位分为四组,每一组换算成十进制,中间用小数点隔开。

学生还需要掌握二进制的数数规则,8 位二进制从00000000 数到11111111,掌握二进制加减法,逢2进1 的方法。熟练的进行二进制十进制之间的转换,至少需要8 位的二进制数与十进制数之间的转换,可以采用8421法进行。

所谓8421法,指的是二进制数按位权展开,(这里以8 位二进制位为例),从高位到地位依次是:2726252423222120,依次计算出对应的值为:128 64 32 16 8 4 2 1。例如,这里给出一个8位的二进制数00110011,作出位权对应,如表1所示。将二进制数位为1 的对应的位权值相加即可,也就是32+16+2+1=51,笔者得出8 位二进制数00110011所对应的十进制数为51。相比较于传统的二-十进制转换方法,该方法快速简单,特别适用于网络工程应用的情况,但是要求学生熟记相应的位权数,也就是128 64 32 16 8 4 2 1。

表1 8421法

3 可变长子网掩码(VLSM)划分子网

学术界对于子网划分有很多种常用的方法,比较常见的一种是可变长子网划分VLSM 的方法[2],这里采用VLSM方法解决上述案例。

首先,将点分十进制的IP 地址表示改为二进制的表示形式,因为网络号为前22 位,前两个字节可以不用换算成二进制形式,那么,172.16.0.0/22 转为二进制IP 地址表示为:172.16.000000/00.00000000。子网划分需要从计算机数最多的子网开始划分,依次往下,直到划分完毕[3]。

⑴第一个子网能够支持400台主机,采用计算方法2n>=400,算出n=9,那么至少要空出九位的主机位,所以,就剩下一位来划分子网,172.16.000000/00.00000000,如下划线标注的一位来划分子网,一位的二进制位能划分两个子网,一般情况下,我们定义0开始为第一个子网,即172.16.0000000/0.00000000,剩下的一个子网为172.16.0000001/0.00000000。

⑵第二个子网需要支持180台主机,根据计算得出需要8位二进制位,所以,在上述剩下的子网的基础上,即172.16.0000001/0.00000000网络上继续划分,空出8位主机位数,只有一位二进制位来划分子网,同样,一位二进制位可以表示两个子网,为0的子网我们来定义为我们的第二个子网,也就是172.16.00000010/.00000000,其中有下划线的二进制位用来划分子网。剩下的一个子网为172.16.00000011/.00000000。

⑶第三个子网需要40 台主机,首先计算出需要六位主机号,在第⑵步划分网络的基础上,也就是172.16.00000011/.00000000继续划分,需要空出6位主机号,剩下二位的二进制位来划分子网,二位二进制位可以划分出四个子网,分别为172.16.00000011.00/000000,172.16.00000011.01/000000,172.16.00000011.10/000000,172.16.00000011.11/000000。第三个子网原则上四选一即可,一般我们选择00子网,也就是172.16.00000011.00/000000。

⑷ 接下来的子网划分我们按照第⑶步划分的四个子网顺序,应该从172.16.00000011.01/000000网络的基础上进行。第四个子网有18 台主机,计算出需要五位主机号,同样的空出五位主机号,剩下一位子网号,同样可以划分为两个子网,分别为172.16.00000011.010/00000,和172.16.00000011.011/00000。第四个子网取172.16.00000011.010/00000。剩下的172.16.00000011.011/00000,继续在此基础上划分。

⑸ 第五个子网是WAN 网,需要二个IP 地址,22-2=2,所以主机位数需要二位二进制位,从第⑷步中剩下的子网172.16.00000011.011/00000 继续划分,同样,留出二位主机号,有三位二进制位用于划分子网,可以分八个子网,分别为172.16.00000011.011000/00,172.16.00000011.011001/00,172.16.00000011.011010/00,172.16.00000011.011011/00,172.16.00000011.011100/00,172.16.00000011.011101/00,172.16.00000011.011110/00,172.16.00000011.011111/00。这里第五个子网选择172.16.00000011.011000/00。

至此,五个子网已经分配完毕,IP 子网规划和子网划分不是唯一的,在此过程中可以任意选择[4]。该方法首先算出主机号,继而求出子网号,根据子网号划分子网,在此基础上继续下一个子网划分,比较繁琐,在课堂讲授过程中,学生容易混淆,特别是高职院校的学生,理解起来相对困难。

4 以主机位数为核心的子网划分

传统的子网划分对于高职院校的学生理解比较困难,笔者提出一种以主机位数为核心的子网划分方法,大大降低了子网划分的难度。

划分子网首先还是从主机台数最多的子网开始,依次到台数最少的子网。和传统的方法一样,需要将IP 地址的十进制表示换算成相应的二进制表示,172.16.0.0/22 变为二进制表示为(前两个字节可以不用变):172.16.00000000.00000000/22。

⑴先划分400台主机台数的子网,同样需要计算出能够支持400 台主机数需要多少位主机号,主机号全0 的IP 地址表示网络地址,主机号全1 的IP 地址表示广播地址,所以在计算主机位数时,应该减去2,和VLSM方法一样,求出主机号位数最少需要9位。

从二进制IP地址最右边起数出9位作为主机位数,将这9 位主机号从全0 到全1,就是该子网的IP 地址范围(除去全0和全1)。

172.16.000000/00.00000000……172.16.000000/01.11111111。

接下来需要写出172.16.000000/01.11111111 相邻的下一个二进制数,也就是在172.16.000000/01.11111111的基础上加二进制1,为172.16.00000010.00000000。

⑵继续划分180 台主机数的子网:计算支持180台主机台数最少需要8 位。从最右边起数出8 位作为主机位数,从全0到全1,如下所示:

172.16.00000010.00000000……

172.16.00000010.11111111。

3.8 集中消毒餐饮具。指具有消毒服务的条件和能力,能够为餐饮服务者提供餐饮具集中消毒服务的机构或单位,按照规范流程进行集中清洗消毒,符合相关卫生标准,并提供给餐饮服务者使用的餐具、饮具。

同样,计算出172.16.00000010.11111111 二进制表示形式的下一个数,即172.16.00000011.00000000。

⑶第三个子网需要40台主机IP地址,同样的方法计算出主机位数是6位,那么从172.16.00000011.00000000的最右边数出6 位,172.16.00000011.00000000,此6 位主机号,从全0到全1,去除主机号全0和全1的即为可以分配的IP地址。范围是从:

172.16.00000011.00000000……

172.16.00000011.00111111。

需要将末尾二进制IP 地址自动加1,即为172.16.00000011.01000000。

⑷第四个子网有18 台主机,算出需要的主机位数是5 位,在172.16.00000011.01000000 的最右边数出5 位主机位,即172.16.00000011.01000000,同样的方法,这5位主机位从全0到全1,范围:

172.16.00000011.01000000……

172.16.00000011.01011111。

⑸第五个子网比较特殊,只需要2台主机IP地址即可,所以计算出需要的主机位数是2。在最后一个二进制IP地址的基础上同样从最右边取2位作为主机号,172.16.00000011.01100000,两个主机号从全0 到全1,即范围为:

172.16.00000011.01100000……

172.16.00000011.01100011。

以主机号为核心的子网划分方法,需要把握三点:①子网划分时,从主机台数最多到最少依次进行[5];②每一个子网划分完毕需要数出下一个IP 地址的二进制表示数;③计算出需要的最少主机位数,从IP 地址二进制表示的最右边起数出的主机位数即为主机号,将主机号从全0 数到全1 就是所能分配的IP 地址表示范围(除过全0和全1)。

掌握这三个要点,子网划分问题的难题就迎刃而解。

5 两种方法的具体比较分析

相同点:

⑴两种方法基本前提都一样,都需要将十进制的IP地址表示转换为相应的二进制表示。

⑵都需要从主机数最多到最少依次进行子网划分。

⑶都需要先计算出至少的主机位数,确定主机号。

不同点:

VLSM 的子网划分方法是从子网号出发,划分出相应的子网,从IP 地址的最左边到右边进行,而该论文提出的以主机号为核心的子网划分方法打破了传统的从子网划分的角度出发,改为确定主机号,以主机号为核心,从IP 地址的最右边开始,不需要考虑子网号是如何划分的,这样大大减轻了思考的难度,直接做出符合网络工程实践要求的结果。

6 实践教学过程中学生的反馈

笔者在高职院校的实际教学过程中做过一个测试,针对相同的六个计算机网络专业班的学生,采用可变长子网掩码划分的方法讲解[6],学生听的效果不是太好,课堂反映较差。后来正值疫情期间在线上课,采用以主机号为核心的子网划分方法,学生听的效果良好,课后在做项目实训时,也能够根据讲解的内容独立完成。如图1所示。

图1 以主机为核心的子网划分讲解

7 结束语

笔者曾在本科院校教授以谢希仁教授编著的《计算机网络》教材为导向的计算机网络课程,对计算机网络子网划分做过深入的研究和探索,但是对于高职院校的学生,更需要的是一种简单、容易掌握,能够应用于实践操作的子网划分的方法。笔者在多年的计算机网络教学过程中总结出了一套以主机为核心的子网划分方法,本文已经做了详细的阐述,初步应用到教学实践中,效果良好。

从教学的过程中,笔者深深体会到,解决一个问题,遇到瓶颈期,可以转换思路。希望在未来的教学生涯中,能够领悟更多的方法,应用于教学实践中,造福于我们的学生,为国家为社会培养出更多的能够适应企业造福于于社会的具有一定的计算机网络专业素质的合格人才。

猜你喜欢
子网二进制位数
用二进制解一道高中数学联赛数论题
五次完全幂的少位数三进制展开
有趣的进度
二进制在竞赛题中的应用
子网划分问题研究及应用
子网划分的简易方法
遥感卫星CCD相机量化位数的选择
基于安全协议的虚拟专用子网研究
“判断整数的位数”的算法分析
基于分位数回归的剪切波速变化规律