IP地址合法性判断及子网检测_实验报告
IP地址的合法性与子网判断计算机网络系统设计书

IP地址的合法性及子网判断计算机网络系统设计书第一章概述1.1课程设计目的本设计要求编写程序,判断一个IP地址是否合法,并判断该地址是否是属于一个给定的子网。
从而考察读者是否对IP地址概念及子网划分有非常清楚的认识。
1.2 课程设计的要求在掌握IP 地址的表示方法及指望划分方法的基础上,按如下要求完成程序。
1)命令行格式:ip_test subnet/mask ip_addr其中,ip_test为程序名;subnet为子网好;mask是一个数值,代表子网掩码连续1 的个数;ip_addr是要测试的IP地址。
例如,要测试的IP地址为202.113.16.10,子网号为202.113.16.0,子网掩码为255.255.255.0,则没命令行为ip_test202.113.16.0/24 202.113.16.10.(因为255.255.255.0是连续的24个1,所以用24表示。
)2)判断subnet和ip_addr的合法性。
在判断IP地址的合法性是要自行编写代码,不要用任何的inet函数。
判断是要考虑全面,比如以下IP 的地址的合法性:123..2.1123.23¥.2.1123.23.45.2.13)判断掩码的合法性。
4)在IP地址合法的前提下,判断ip_addr是否属于子网subnet。
5)输入命令行中的ip是否合法,掩码是否合法(可适当给出不合法原因)以及ip_addr是否属于子网subnet。
第二章具体设计2.1设计思路根据以上的要求,并结合当前的所学的一些知识和技术,我们最终通过另一种方式来实现相同的功能,但代码更加优化,高效,方便用户的窗体程序。
对于以上的要求,设计思路如下:1.程序大致流程1)分别判断子网号,掩码和ip地址的基本格式的合法性。
2)如果三者的基本格式都合法,才调用判定“IP地址是否为子网成员”的函数。
该函数同时判别子网号和掩码是否匹配,子网号为全0或全1,主机号为全0、全1。
IP地址合法性及子网判断

的用户接口,并将每天的学习情况如实进行记录,课设结束时向老师和其
他小组讲解设计方案,演示实现结果,并汇报分工情况。
主要参考资料:
王小科 吕双 C#从入门到精通[M],北京:清华大学出版社,2008。
寇晓蕤 罗军勇 蔡延荣 网络协议分析[M],北京:机械工业出版社,2009
谢希仁 计算机网络[M],北京:电子工业出版社,2010
12
周五,展示本周课程设计的成果,提交课程设计文档。
六、 心得体会
为期一周的课程设计即将结束,在这一周的课程设计的过程中,无论 是在学习方面,还是在团队合作方面,我都收获了很多东西。在学习方面, 通过上网和到图书馆查阅资料,我更加深入的学习了 C#高级程序开发语 言,并利用所学知识设计,完成本次课程设计。在团队合作方面,一个人 思考问题总是存在漏洞的,在和队友的合作中,充分体现了团队的力量。 并且,在平时和更多的同学在一起探讨,分析,尽量把所有的情况考虑完 全,使得程序设计的更加完善。
if (System.Text.RegularExpressions.Regex.IsMatch(ip, pattrn)) {
return true; } else {
return false; } }
调用函数判断,并过滤全 0 全 1 的情况:
IP地址合法性判断及子网检测_实验报告

IP地址合法性判断及⼦⽹检测_实验报告⼀. 实验⽬的1.加深对IP地址及subnet的认识;2.了解IP地址的划分;3. 了解subnet的作⽤和产⽣因素,subnet的划分;4. 实际操作编写规则,匹配IP和subnet,加深理解⼆. 实验环境(软件、硬件及条件)1.软件操作系统:Windows 7(Windows NT以上版本皆可)编程环境:Microsoft Visual Studio 2008(兼容MS VS2005,亦可使⽤VC6.0等)编程语⾔:C++测试环境: MS-DOS2.硬件现阶段常见PC三. 实验⽅法Part 1实验原理我们说过因特⽹是把全世界的⽆数个⽹络连接起来的⼀个庞⼤的⽹间⽹,每个⽹络中的计算机通过其⾃⾝的IP地址⽽被唯⼀标识的,据此我们也可以设想,在Internet上这个庞⼤的⽹间⽹中,每个⽹络也有⾃⼰的标识符。
我们把计算机的IP地址也分成两部分,分别为⽹络标识和主机标识。
同⼀个物理⽹络上的所有主机都⽤同⼀个⽹络标识,⽹络上的⼀个主机(包括⽹络上⼯作站、服务器和路由器等)都有⼀个主机标识与其对应IP地址的4个字节划分为2个部分,⼀部分⽤以标明具体的⽹络段,即⽹络标识;另⼀部分⽤以标明具体的节点,即主机标识,也就是说某个⽹络中的特定的计算机号码。
另⼀⽅⾯,只有在⼀个⽹络号下的计算机之间才能"直接"互通,不同⽹络号的计算机要通过⽹关(Gateway)才能互通。
但这样的划分在某些情况下显得并⼗分不灵活。
为此IP⽹络还允许划分成更⼩的⽹络,称为⼦⽹(Subnet),这样就产⽣了⼦⽹掩码1. IP的寻址规则(1).⽹络寻址规则A、⽹络地址必须唯⼀。
B、⽹络标识不能以数字127开头。
在A类地址中,数字127保留给内部回送函数。
C、⽹络标识的第⼀个字节不能为255。
数字255作为⼴播地址。
D、⽹络标识的第⼀个字节不能为“0”,“0”表⽰该地址是本地主机,不能传送。
IP地址的合法性及子网判断课程设计报告

*********大学课程设计书学院专业班级题目教师学生摘要<摘要>关键字:IP地址子网掩码网络号主机号合法性课题设计组成员分工表目录第一章绪论 (1)1.1 设计目的 (1)1.2 设计的意义 (1)1.2.1有利于对基础知识的理解 (1)1.2.2 有利于逻辑思维的锻炼 (1)1.2.3 有利于与其他学科的整合 (1)1.2.4 有利于治学态度的培养 (1)第二章课程设计的内容和要求 (2)第三章课程设计的相关技术 (3)3.1 IP地址相关概念 (3)3.2 特殊的IP地址形式 (4)3.2.1直接广播地址 (4)3.2.2 受限广播地址 (4)3.2.3 “这个网络上的这台主机”地址 (4)3.2.4 “这个网络上的特定主机”地址 (4)3.2.5 回送地址 (5)3.3 子网的划分 (5)第四章课程设计分析 (6)4.1 程序流程图 (6)4.2 核心代码及说明 (7)4.2.1 判断IP地址是否合法 (7)4.2.2 判断IP地址是否为子网成员 (7)第五章程序测试 (9)5.1 判断子网掩码与ip地址不匹配 (9)5.2 判断子网掩码与ip地址匹配 (9)5.3 判断ip地址无效 (9)5.4 判断掩码的有效性 (10)5.5 判断ip地址是否属于该子网 (11)5.6 提示子网号全0或全1 (11)5.7 判断主机号全0或全1 (12)第六章运行结果 (13)第七章课程设计小结 (14)致谢 (15)参考文献 (16)附录课程设计源代码 (17)第一章绪论1.1 设计目的掌握IP地址的分类,准确理解子网、掩码的概念,确切地明了IP地址的合法格式。
并判断该地址是否属于一个给定的子网。
1.2 设计的意义1.2.1有利于对基础知识的理解1.2.2 有利于逻辑思维的锻炼程序设计是公认的、最能直接有效地训练学生的创新思维,培养分析问题、解决问题能力的学科之一。
即使一个简单的程序,从任务分析、确定算法、界面布局、编写代码到调试运行,整个过程学生都需要有条理地构思,这中间有猜测设想、判断推理的抽象思维训练,也有分析问题、解决问题、预测目标等能力的培养。
IP地址合法性判断及子网检测_实验报告

IP地址合法性判断及子网检测_实验报告实验报告:IP地址合法性判断及子网检测一、实验目的:掌握IP地址的合法性判断方法和子网检测方法,深入理解IP地址和子网的概念,并能够灵活应用于实际网络环境。
二、实验原理:1.IP地址的合法性判断:IP地址是由32位二进制数组成的,采用点分十进制表示法,每8位二进制数组成一段,共4段。
合法的IP地址必须满足以下条件:-每一段的值在0~255之间;-每一段不能以0开头,除非该段的值为0;-每一段不能以255结尾。
2.子网检测:子网是将IP地址划分为多个子网,用于实现网络的划分和管理。
子网检测的核心是判断两个IP地址是否在同一子网内。
判断方法如下:-将两个IP地址与子网掩码进行与运算,得到的结果即为网络地址;-判断两个网络地址是否相同,若相同,则处于同一子网内。
三、实验步骤:1.IP地址合法性判断:-读入一个IP地址;-将IP地址进行切割,得到4段数字;-判断每一段数字是否在0~255之间;-判断每一段是否以0开头或以255结尾;-若所有判断条件均满足,则判定该IP地址为合法地址。
2.子网检测:-读入两个IP地址和一个子网掩码;-将两个IP地址与子网掩码进行与运算,得到两个网络地址;-判断两个网络地址是否相同;-若相同,说明两个IP地址处于同一子网内;-若不同,说明两个IP地址处于不同子网内。
四、实验结果:1.IP地址合法性判断:-输入合法IP地址:192.168.1.1,结果为合法地址;-输入非法IP地址:256.1.1.1,结果为非法地址。
2.子网检测:-输入两个IP地址:192.168.1.10、192.168.1.20,子网掩码为255.255.255.0,结果为处于同一子网内;-输入两个IP地址:192.168.1.10、192.168.2.10,子网掩码为255.255.255.0,结果为处于不同子网内。
五、实验总结:通过本次实验,我们掌握了IP地址的合法性判断方法和子网检测方法。
IP地址及子网划分实验报告

IP地址及子网划分实验报告
实验报告
课程计算机网络基础教程实验名称 IP地址及子网划分专业班级
学号学生姓名
昆明理工大学津桥学院
2013 年 4 月 11 日
一、实验目的:熟悉IP地址及子网掩码,熟练掌握子网划分。
二、试验配置
三、实验内容:
1. 按图示完成网络连接。
2. 使用C类地址:202.112.X.0(X为每人的学号后两位)分配给每台计算机,
现需对其进行子网划分,公司要分为5个部分子网,请给出其子网掩码及子网IP
地址范围。
IP范围子网掩码 202.112.05.33-202.112.05.62 255.255.255.224
202.112.05.65-202.112.05.94 255.255.255.224 202.112.05.97-202.112.05.126 255.255.255.224 202.112.05.129-202.112.05.158 255.255.255.224
202.112.05.161-202.112.05.190 255.255.255.224 3.要求每两台相互之间不能ping通。
四、问题反思
1. 若使用缺省子网掩码能ping通吗,
缺省子网掩码为255.255.255.0,不能ping通
2. 若要保证每子网40台PC,最多可以划分为多少子网,
6 最多两个,40至少2 等于64台,大于32台。
3. 若使用B类IP:175.16.8.0网段划分为10个子网,其子网掩码为, 10个子网至少四位二进制,剩下四位,最终结果为:255.255.255.230。
实验报告:IP地址分类及子网划分

实验一 IP地址分类及子网划分一、实验目的1、掌握有类IP地址的使用及主机IP地址的设置;2、掌握子网掩码与子网划分使用;二、实验设备及环境安装Windows 2000的主机、交换机及路由器。
三、实验步骤1、首先设置我的IP地址为192.168.0.19,是C类地址,子网掩码为255.255.255.240;2、使用网络嗅探器Wireshark进行报文分析,重点是对ping命令过程的分析。
打开Wireshark ,定义捕捉过滤器。
3、设置显示过滤器,用ipconfig/all 得到本机网卡的物理地址并填写过滤表达式。
4、进入命令行模式,输入:ipconfig/all ,该命令显示了网卡的设置,其中有硬件地址。
5、再输入:arp –a,该命令显示ARP高速缓存中的IP和MAC的对应表。
如果ARP高速缓存中有数据则再输入:arp –d,该命令用来清空高速缓存表。
6、用ping命令测试子网中其它主机的连通,如:ping 192.168.0.18。
7、停止捕捉,并显示。
四、问题1、记录所设置的IP地址和掩码,说明所设IP的类别IP地址为192.168.0.19,是C类地址,子网掩码为255.255.255.2402、说明ping命令的经过(假设ARP高速缓存为空),并附上实验结果的抓图。
在同一网段内,ping命令会构建一个固定格式的ICMP请求数据包,然后由ICMP 协议将这个数据包连同地址“192.168.0.35”一起交给IP层协议(和ICMP一样,实际上是一组后台运行的进程),IP层协议将以地址“192.168.0.35”作为目的地址,本机IP地址作为源地址,加上一些其他的控制信息,构建一个IP数据包,并想办法得到192.168.0.35的MAC地址(物理地址,这是数据链路层协议构建数据链路层的传输单元——帧所必需的),以便交给数据链路层构建一个数据帧。
关键就在这里,IP层协议通过机器B的IP地址和自己的子网掩码,发现它跟自己属同一网络,就直接在本网络内查找这台机器的MAC,如果以前两机有过通信,在A机的ARP缓存表应该有B机IP与其MAC的映射关系,如果没有,就发一个ARP请求广播,得到B机的MAC,一并交给数据链路层。
IP地址合法性判断及子网检测_实验报告

IP地址合法性判断及子网检测_实验报告实验报告-IP地址合法性判断及子网检测一、实验目的1.了解IP地址的基本知识和表示方法;2.掌握判断IP地址合法性的方法;3.掌握网络子网的划分方法;4.通过实验掌握子网掩码的设置方法。
二、实验器材1.一台安装有操作系统的计算机;2.网络连接线。
三、实验原理1.IP地址的基本知识IP地址是互联网协议指定的32位二进制数字,一般采用四个十进制数(0~255)表示,每个数之间使用“.”分隔。
例如:192.168.1.1、IP地址可以分为两部分,网络地址和主机地址。
网络地址用于标识网络,主机地址用于标识网络中的主机。
2.IP地址合法性判断方法IP地址的每个数必须在0~255的范围内,且IP地址的格式必须满足“N1.N2.N3.N4”的形式,N1、N2、N3和N4分别表示IP地址的四个数字段。
在判断IP地址的合法性时,需要判断每个数字段的值是否在0~255之间。
同时,IP地址的每个数字段之间需要用“.”分隔,且不能有其他的字符。
3.子网划分方法子网划分是将一个大的IP地址段划分成多个小的IP地址段的过程。
子网划分的目的是将一个大的网络划分成若干个小的网络,增加网络的可管理性和安全性。
子网掩码是用于划分子网的重要参数,用于将IP地址划分为网络地址和主机地址。
子网掩码是一个32位的二进制数字,一般采用四个十进制数表示,例如:255.255.255.0。
子网掩码规定了IP地址前面的网络地址的长度。
四、实验内容1.判断一个给定的IP地址是否合法;2.给定一个IP地址和子网掩码,判断该IP地址是否属于指定的子网。
五、实验步骤1.判断IP地址的合法性。
编写程序,输入一个IP地址,判断该IP地址是否合法。
(1)将IP地址按照“.”进行分割,得到四个数字段;(2)判断每个数字段的值是否在0~255之间;(3)判断数字段之间是否使用“.”进行分隔。
2.判断IP地址是否属于指定子网。
编写程序,输入一个IP地址和子网掩码,判断该IP地址是否属于指定的子网。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一. 实验目的1.加深对IP地址及subnet的认识;2.了解IP地址的划分;3. 了解subnet的作用和产生因素,subnet的划分;4. 实际操作编写规则,匹配IP和subnet,加深理解二. 实验环境(软件、硬件及条件)1.软件操作系统:Windows 7(Windows NT以上版本皆可)编程环境:Microsoft Visual Studio 2008(兼容MS VS2005,亦可使用VC6.0等)编程语言:C++测试环境: MS-DOS2.硬件现阶段常见PC三. 实验方法Part 1实验原理我们说过因特网是把全世界的无数个网络连接起来的一个庞大的网间网,每个网络中的计算机通过其自身的IP地址而被唯一标识的,据此我们也可以设想,在Internet上这个庞大的网间网中,每个网络也有自己的标识符。
我们把计算机的IP地址也分成两部分,分别为网络标识和主机标识。
同一个物理网络上的所有主机都用同一个网络标识,网络上的一个主机(包括网络上工作站、服务器和路由器等)都有一个主机标识与其对应IP地址的4个字节划分为2个部分,一部分用以标明具体的网络段,即网络标识;另一部分用以标明具体的节点,即主机标识,也就是说某个网络中的特定的计算机号码。
另一方面,只有在一个网络号下的计算机之间才能"直接"互通,不同网络号的计算机要通过网关(Gateway)才能互通。
但这样的划分在某些情况下显得并十分不灵活。
为此IP网络还允许划分成更小的网络,称为子网(Subnet),这样就产生了子网掩码1. IP的寻址规则(1).网络寻址规则A、网络地址必须唯一。
B、网络标识不能以数字127开头。
在A类地址中,数字127保留给内部回送函数。
C、网络标识的第一个字节不能为255。
数字255作为广播地址。
D、网络标识的第一个字节不能为“0”,“0”表示该地址是本地主机,不能传送。
2.主机寻址规则A、主机标识在同一网络内必须是唯一的。
B、主机标识的各个位不能都为“1”,如果所有位都为“1”,则该机地址是广播地址,而非主机的地址。
C、主机标识的各个位不能都为“0”,如果各个位都为“0”,则表示“只有这个网络”,而这个网络上没有任何主机。
3.确定子网掩码数用于子网掩码的位数决定于可能的子网数目和每个子网的主机数目。
在定义子网掩码前,必须弄清楚本来使用的子网数和主机数目。
定义子网掩码的步骤为:A、确定哪些组地址归我们使用。
比如我们申请到的网络号为“128.73.a.b”,该网络地址为B类IP地址,网络标识为“128.73”,主机标识为“a.b”。
B、根据我们现在所需的子网数以及将来可能扩充到的子网数,用宿主机的一些位来定义子网掩码。
比如我们现在需要12个子网,将来可能需要16个。
用第三个字节的前四位确定子网掩码。
前四位都置为“1”,即第三个字节为“11110000”,这个数我们暂且称作新的二进制子网掩码。
C、把对应初始网络的各个位都置为“1”,即前两个字节都置为“1”,第四个字节都置为“0”,则子网掩码的间断二进制形式为:“11111111.11111111.11110000.00000000”D、把这个数转化为间断十进制形式为:“255.255.240.0” 这个数为该网络的子网掩码。
4.IP掩码的标注A、无子网的标注法对无子网的IP地址,可写成主机号为0的掩码。
如IP地址210.73.140.5,掩码为255.255.255.0,也可以缺省掩码,只写IP地址。
B、有子网的标注法有子网时,一定要二者配对出现。
以C类地址为例。
IP地址中的前3个字节表示网络号,后一个字节既表明子网号,又说明主机号,还说明两个IP地址是否属于一个网段。
如果属于同一网络区间,这两个地址间的信息交换就不通过路由器。
如果不属同一网络区间,也就是子网号不同,两个地址的信息交换就要通过路由器进行。
例如:假设maskwe为27,对于IP地址为210.73.140.5的主机来说,其主机标识为00000101,对于IP地址为210.73.140.16的主机来说它的主机标识为00010000,以上两个主机标识的前面三位全是000,说明这两个IP 地址在同一个网络区域中,这两台主机在交换信息时不需要通过路由器进行;210.73.60.1的主机标识为00000001,210.73.60.252的主机标识为11111100,这两个主机标识的前面三位000与011不同,说明二者在不同的网络区域,要交换信息需要通过路由器。
其子网上主机号各为1和252。
Part 2 具体实现通过以上的原理,我们就知道了在检验IP 地址和子网检验时应该明确的问题,关键的两点就是把输入的IP(暂且不讨论何种输入形式,且假设为合法输入)分解成各段,然后判断其书否属于另一IP 的网络,其中的算法在上面已经说明1. 实现流程2. 编程本部分的编程的主要目的是算法的实现,主要的方法是C++中字符串处理。
(1)类设计a.属性char ip[15];//用于存放ip 地址char ip_Temp[15]; //用于存放ip 地址char subnet_mask[18]; //用于存放subnet_mask 地址char subnet[18]; //用于存放subnet 地址char subnet_Temp[18]; //用于存放subnet 地址int mask; //用于存放mask(1的个数)bool maskIsValid; //用于判断的个数是否合适,或是否与subnet 匹配b.方法构造函数,析构函数:ipTest(char *,char *); //自定义初始化类函数~ipTest(); //析构函数主判断函数 (即主要的方法):void AllJudgment(); //判断mask,subnet,ip的合法性问题bool ipIsValid(char *); //判断ip是否合法Bool subnetIsValid(char *); //判断子网号subnet是否合法bool NoIllegalChar(char *); //ip,subnet地址中非法字符的判断bool maskIsMatSubnet(int,char *);//判断mask与subnet是否匹配工具函数:void print(); //判断ip是否为子网成员,并输出判断结果void split(char *,int *); //把单个字符地址转换为十进制数值型地址(含四段)Int toBinary(int a); //十进制int型数据转换为二进制int型数据char * toString(int *a); //把二进制int型数据转换为一个整体的二进制字符型数据(2)主函数int main(int argc,char *argv[]) 函数1.获取参数2.简单判断参数格式(长度)3.若是正常参数,实例化 ipTest类4.调用主判断函数void AllJudgment() 判断5.输出结果(3)程序流程(4)头文件#include <iostream>#include <stdlib.h>#include <stdio.h>#include <string.h>#include <math.h>#include <ctype.h>using namespace std;四. 实验分析及测试本部分测试了正常输入和非法输入时,程序对输入的判断,编程的环境为VS2008,在解决方案文件夹下面的Debug文件夹里面生成可执行文件;运行MS-DOS,进入Debug文件夹进行测试。
1.算法正确性检测(1)用正确格式和合法的数据的输入,测试Mask和IP的匹配测试数据: IP:128.196.33.12Mask:15和16分析:IP:128.196.33.12属于B类IP地址,前16位位网络段,后16位为主机段,所以Mask至少为16结果截图:(2)用正确格式和合法的数据的输入,测试主网和子网的匹配测试数据:主网IP:128.196.33.12子网IP:128.196.127.17 和128.196.63.17Mask:18分析:主网IP 和子网IP都是属于B类IP地址, 前8位为网络段,后8位为主机段,Mask至少为16由于Mask为18,可知道在主机段中前两位,也就是IP地址的第9,10位为子网号(18-16=2);而B 类IP地址的子网掩码为255.255.0.0 所以可知:IP:128.196.33.12 1000 0000.1100 0100.0010 0001.0000 11002位相于,得:00Mask:255.255.0.0 1111 1111.1111 1111.0000 0000.0000 00002位相于,得:01 IP:128.196.127.17 1000 0000.1000 0100.0111 1111.0001 0001结果为不匹配。
截图:IP:128.196.33.12 1000 0000.1100 0100.0010 0001.0000 11002位相于,得:00Mask:255.255.0.0 1111 1111.1111 1111.0000 0000.0000 00002位相于,得:00 IP:128.196.63.17 1000 0000.1000 0100.0011 1111.0001 0001结果为匹配。
截图:(3)补充说明:i)主网和子网匹配的时候,实际上的与运算的位数是Mask个数,即Mask有多少,就相与前多少个位。
而以上例子中可知,B类IP地址的子网掩码为255.255.0.0,所以前8位全是1,所以无论IP是多少,相与结果都是1,即不用考虑网络段,直接相与主机段的前n 段即可,n=(mask-所属网络分类的主机段位数)。
本测试例子中位2。
ii)考虑(2)中的两个3个IP地址可以发现当主网IP为128.196.33.12,mask 为18时,IP和子网掩码相与,主机号前两位为00,所以可推出,子网IP的只需要主机段的前两位为00,则都可以匹配,即子网IP的第3节(第17位到第24位)为00XX XXXX ,转化为十进制就是小于63的整数就可以匹配。
2.输入合法性测试本实验程序规定输入的标准参数输入格式为:X.X.X.X/MASK X.X.X.X ,其中:X 为0-255的十进制整数,mask为0-32的十进制整数,两个IP地址中间用空格分开,IP地址的为4段,每一段都用“.”分开,IP地址中允许出现空格或其他字符(1)输入的IP地址中含有非法字符测试数据:主网IP:128.196.33.a2子网IP:12e.196.127.17Mask:1h结果截图:(2)输入的IP地址段数不正确测试数据:主网IP:128..33.12子网IP:126.196.Mask:18结果截图:(3)没有输入mask测试数据:主网IP:128.196.33.12子网IP:128.196.33.11 结果截图:(4)输入mask超出合法范围测试数据:主网IP:128.196.33.12子网IP:128.196.33.11Mask:35结果截图:(5)输入IP超出合法范围测试数据:主网IP:555.196.33.12子网IP:128.999.33.11Mask:25结果截图:(6)特殊的IP地址测试数据:主网IP:0.0.0.0子网IP:127.1.1.1Mask:0结果截图:测试数据:主网IP:0.0.0.0子网IP:255.255.255.255Mask:0结果截图:五. 实验结论本实验根据现在通用的IP地址分配使用规则,设计实验算法,运用C++字符转函数处理,程序实现了基本要求的功能,考虑到了多方面的因素;另一方面,设计之初的思路把此程序定位在接口工具程序,所以省略掉UI的设计,考虑到了扩展性的方面需要,程序提供简单、方便的接口和较为简单参数,方便扩展使用。