IP地址合法性判断及子网检测大学课程设计实
验报告
SANY标准化小组 #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#
四川理工学院
实 验 报 告
实验名称 课程名称
姓名 班级 日期 2013年1月
IP地址合法性判断及子网检验
计算机科学与技术
成绩
学号 地点
计算机学院
一. 实验目的
本设计要求编辑写程序,判断一个ip地址是否合法,并判断该地址是否属于一个给定子网,从而考察读者是否对ip地址概念及其子网划分有非常清楚的认识。
1加深对IP地址及subnet的认识; 2.了解IP地址的划分;
3. 了解subnet的作用和产生因素,subnet的划分; 4. 实际操作编写规则,匹配IP和subnet,加深理解
二. 设计要求
在掌握ip地址表示方法及子网划分方法的基础上,按如下要求完成程序。 1:命令格式:ip_test subnet/mask ip_addr
其中,ip_test为程序名;subnet为子网号,mask是一个数值,代表子网掩码连续1的个数,ip_addr是要测试的ip地址。 2:判断subnet和ip_addr的合法性。
在判断ip地址合法性时要自行编代码,不要使用任何inet函数。判断时要考虑全面。
3:判断掩码的合法性。
4:在ip地址合法的前提下,判断ip_addr是否属于子网subnet。
5:输出命令行中的ip是否合法,掩码是否合法,以及ip_addr是否属于子网subnet.
三. 实验环境(软件、硬件及条件)
1.软件
操作系统:Windows xp(Windows NT以上版本皆可)
编程环境:Microsoft Visual Studio 2008(兼容MS VS2005,亦可使用等)
编程语言:C++ 测试环境: MS-DOS 2.硬件 现阶段常见PC
四. 实验方法
Part 1 实验原理
我们说过因特网是把全世界的无数个网络连接起来的一个庞大的网间网,每个网络中的计算机通过其自身的IP地址而被唯一标识的,据此我们也可以设想,在Internet上这个庞大的网间网中,每个网络也有自己的标识符。我们把计算机的IP地址也分成两部分,分别为网络标识和主机标识。同一个物理网络上的所有主机都用同一个网络标识,网络上的一个主机(包括网络上工作站、服务器和路由器等)都有一个主机标识与其对应IP地址的4个字节划分为2个部分,一部分用以标明具体的网络段,即网络标识;另一部分用以标明具体的节点,即主机标识,也就是说某个网络中的特定的计算机号码。另一方面,只有在一个网络号下的计算机之间才能\直接\互通,不同网络号的计算机要通过网关(Gateway)才能互通。但这样的划分在某些情况下显得并十分不灵活。为此IP网络还允许划分成更小的网络,称为子网(Subnet),这样就产生了子网掩码
1. IP的寻址规则 (1).ip分类规则 a、 网络地址必须唯一。
b、 网络标识不能以数字127开头。在A类地址的第一位为0,数字127保留给内部回送函数。 B类地址的前两位为10;C类地址的前三位为110;D类地址的前四位为 1110;E类地址的前五位为 11110。
c、 网络标识的第一个字节不能为255。数字255作为广播地址。 d、 网络标识的第一个字节不能为“0”,“0”表示该地址是本地主机,不能传送。
e、不合法的IP地址类型: 123.. $.
2.主机寻址规则
a、主机标识在同一网络内必须是唯一的。
b、主机标识的各个位不能都为“1”,如果所有位都为“1”,则该机地址是广播地址,而非主机的地址。