设计题目:子网的划分模拟程序
设计目的:
- 巩固和加深课堂所学知识;
- 学习掌握一般的软硬件的设计方法和查阅、运用资料的能力;
- 通过编写计算机程序模拟网络通信的某些功能,使学生理解并掌握子网划分的基本工作原理及工作过程。
设计任务:(在规定的时间内完成下列任务)
1、任务:设计一个模拟子网划分的程序
2、功能要求:编制程序,输入网络地址和子网掩码,并输入符合要求的主机数目,自动计算出在本网段中可划分出的网段数目,网段地址,子网掩码和本子网段最大容纳的主机数。
*注意:主机位为全0和全1不是有效的IP地址。
具体内容如下:
- 设计任务与要求;
- 总体方案与说明;
- 软件主要模块流程图;
- 源程序清单与注释;
- 问题分析与解决方案(包括调式记录、调式报告,即在调式过程中遇到的主要问题、解决方法及改进设想);
- 小结与体会
1.设计任务与要求
随着网络技术的逐步普及和快速发展,利用网络已不再是IT行业专业技术人员的专利,它已作为当今人类的一种新的生活方式而逐步深入到课堂。谈到Internet时,IP地址就必须提到,,IP地址是一个比较重要的概念,Internet的许多服务和特点都是通过IP地址来体现的。同时,就意味着需要子网划分,而本课程设计就是通过利用编程语言Python实现ipv4地址的子网划分,通过输入需要划分的ipv4地址和子网掩码,并输入符合要求的主机数目,从而快速实现自动计算出在本网段中可划分出的网段数目,网段地址,子网掩码和本子网段最大容纳的主机数。
2.总体方案与说明
在用Python编写子网的划分模拟程序之前,就要理解到子网划分思路和主机数划分思路,那么首先要了解P 位、M 位、N 位、子网位M、N 差、自动补零、二进制算法、点分十进制 IP 地址、ipv4地址分类的含义。位:代表 bit 即长度,IP 地址由 4 字节 组成,如图 2-1 所示。P 位:网络位,即所给的 IP 对应子网掩码“1”的个数。N 位:主机位,即所给的 IP 对应子网掩码“0”的 个数。M 位:子网位长度,即根据需要,从 N 位借 M 位长度的子网来划分。子网位 M:是长度为 M 位的二进制数。N 差 = 准备划分 IP 地址的 N 位-当前算出划分需要的 N 位。自动补零:补零的个数=需要位长度 - 当前位长度。二进制算法:这里 只用到了+1 和-1。点分十进制 IP 地址:把算出的二进制 IP 地 址每 8 个一取转换成 10 进制数加“.”和/P+M,P+M 即子网掩 码 1 的长度,子网掩码是 P+M 个 1 和 N 个 0 组成。
其次还要知道子网划分的基本思想:将原来用于主机编码的二进制位, 从高位(左端)拿出一部分出来用于子网的编号使用,即从主机位中借来进行网络划分,剩下的二进制位用于表达子网中 的主机号,如图 2-2 所示,其次又要考虑到主机位为全0和全1不是有效的IP地址,最后准备开始编写python程序,实现子网划分的功能编写。
3.软件主要模块流程图
4.清单与注释
更多完整代码,访问主页看QQ
访问以下链接:
腾讯文档腾讯文档-在线文档https://docs.qq.com/doc/p/71239d69a76f56cf1521717ae6b22c27cf876f10
5.问题分析与解决方案
5.1问题分析
请将IP网络183.164.128.0/17划分为等长的8个子网,并分别给出每一个子网的子网地址、广播地址、子网掩码、IP 地址总数、可分配IP地址数和可分配IP地址范围。
5.2解决方案
183.164.128.0/17分为8个子网,23=8,因此咱们须要3位来划分子网,183.164.128.0也就是:183.164.10000000.0(第三个位置用8个二进制表示。其余的三个都是十进制)。
把中间加粗的三位用来分配子网,那么前20位为网络地址,后12位为主机地址,分配的子网以下:
183.164.10000000.0,183.164.10010000.0,183.164.10100000.0,183.164.10110000.0,183.164.11000000.0, 183.164.11010000.0, 183.164.11100000.0, 183.164.11110000.0
广播地址:就是前20位网络地址不变,主机地址的12位IP地址都是1—183.164.1XXX1111.255,子网掩码:就是就是前20位网络地址全为1,主机地址的12位IP地址都是0。因此8个子网的子网掩码是同样的——255.255.11110000.0即255.255.240.0
IP总数:是的12位进行组合,也就是212=4096,可分配的IP地址:主机地址全为0是该子网的子网地址,全为1是该子网的广播地址,主机位为全0和全1不是有效的IP地址。212-2=4094。 可分配IP地址范围:子网地址末尾+1——广播地址末尾-1。
结果如下表:
5.3调式报告与使用说明
一、通过运行程序,按照“输入样式提示”,输入划分的ip,即:183.164.128.0/17/8,其中,183.164.128.0表示是ipv4地址,17表示掩码,8表示要划分8个子网。计算结果如下:
图 5.3-1 当输入合法的ip时,183.164.128.0/17/8子网划分划分程序运行结果截图
其中考虑到上面所提示过,主机位为全0和全1不是有效的IP地址,故在最大主机位减去2,得到可用的最大ip为4094个。可以看出,计算的所有结果与上节分析表中的结果完全一致。
需要源代码可以加文章中的联系方式。