IP地址的合法性及子网判断课程设计任务书

IP地址的合法性及子网判断课程设计任务书
IP地址的合法性及子网判断课程设计任务书

课程设计任务书

学生姓名:孙晓晨专业班级:信息0804 指导教师:杜谦工作单位:信息工程学院

题目: IP地址的合法性及子网判断

初始条件:

Windows XP

C++,SOCKET

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写

等具体要求)

1.编写程序,判断一个IP地址是否合法,并判断该地址是否属于一个给定的子网;

2.判断掩码的合法性;

3.在IP地址合法的前提下,判断ip_addr是否属于子网subnet;

4.撰写课程设计说明书。装订后的课程设计说明书不少于10面(含封面、任务书、目录、正文、参考文献、成绩评定表、封底)。

时间安排:

6月12日查阅资料、方案论证

6月13日~6月15日总体规划, 方案设计、调试

6月16日撰写课程设计说明书

6月17日答辩

指导教师签名:年月日

系主任(或责任教师)签名:年月日

#include

#include

#include

#include

using namespace std;

int a[4]={0,0,0,0}; //分段存放子网

char Ip_addr[15]; //ip地址

char sub_net[15]; //子网

int ip[4]={0,0,0,0};

int subnet[4]={0,0,0,0}; //分段存放ip地址

int address[4]={0,0,0,0};

int num; //子网掩码

//判断IP是否合法

void aa(char c[15])

{ //判断IP地址不能超过15

if(strlen(c)>15)

{cout<

return;

}

int dotnum=0;

//判断IP地址中是否存在非法字符

for(int i=0;i

{ if(isdigit(c[i])==0 && c[i]!='.')

{ cout<

return ;

}

if(c[i]=='.')

dotnum++;

}

//判断IP地址中只能存在3个分隔符

if(dotnum!=3)

{ cout<

return;

}

//判断IP地址中是否存在连续分隔符

for(i=0;i

{

if(c[i]=='.' && c[i+1]=='.')

{

cout<

return;

}

}

}

//分割IP地址

void bb(char c[15])

{ //判断IP地址中最后不能为分隔符

for(int m=0;m<4;m++)

{

ip[m]=0;

}

int len;

len=strlen(c);

if(c[len-1]=='.')

{

cout<

return;

}

char temp[4][15];

for(int i=0;i<4;i++)

for(int j=0;j<15;j++)

temp[i][j]='\0';

int j=0;

i=0;

for(int k=0;k

{

if(c[k]!='.')

{

temp[i][j]=c[k];

j++;

}

else

{

i++;

j=0;

}

}

for(i=0;i<4;i++)

{ //判断每位的长度

len=strlen(temp[i]);

if(len>3)

{

cout<

return;

}

switch(len)

{

case 3:

{

while(len!=0)

{

ip[i]+=(temp[i][len-1]-48)*pow(10,3-len);

len--;

}

break;

}

case 2:

{

while(len!=0)

{

ip[i]+=(temp[i][len-1]-48)*pow(10,2-len);

len--;

}

break;

}

default:

{

while(len!=0)

{

ip[i]+=(temp[i][len-1]-48)*pow(10,1-len);

len--;

}

}

}

}

long int num=0;

for(i=0;i<4;i++)

{ //判断每位的大小不超过255

if(ip[i]>255)

{

cout<

return;

}

}

}

//分割网络地址

void ee(char c[15])

{ //判断网络地址中最后不能为分隔符

for(int m=0;m<4;m++)

{

subnet[m]=0;

}

int len;

len=strlen(c);

if(c[len-1]=='.')

{

cout<

return;

}

char temp[4][15];

for(int i=0;i<4;i++)

for(int j=0;j<15;j++)

temp[i][j]='\0';

int j=0;

i=0;

for(int k=0;k

{

if(c[k]!='.')

{

temp[i][j]=c[k];

j++;

}

else

{

i++;

j=0;

}

}

for(i=0;i<4;i++)

{ //判断每位的长度

len=strlen(temp[i]);

if(len>3)

{

cout<

return;

}

switch(len)

{

case 3:

{

while(len!=0)

{

subnet[i]+=(temp[i][len-1]-48)*pow(10,3-len);

len--;

}

break;

case 2:

{

while(len!=0)

{

subnet[i]+=(temp[i][len-1]-48)*pow(10,2-len);

len--;

}

break;

}

default:

{

while(len!=0)

{

subnet[i]+=(temp[i][len-1]-48)*pow(10,1-len);

len--;

}

}

}

}

long int num=0;

for(i=0;i<4;i++)

{

//判断每位的大小不超过255

if(subnet[i]>255)

{

cout<

return;

}

}

}

//生成子网掩码

void cc()

{

cout<<"子网掩码为:";

int r[32];

for(int i=0;i

{

r[i]=1;

}

for(int j=0;j<32-num;j++)

{

}

int p=0;

int w[8];

int k=0;

for(int m=0;m<4;m++)

{

int sum=0;

for (int n=0;n<8;n++)

{

w[p]=r[k];

sum=sum+w[p]*pow(2,7-n);

p++;

k++;

}

p=0;

a[m]=sum;

}

for(int n=0;n<4;n++)

{

cout<

if(n!=3)

{

cout<<".";

}

}

cout<

}

//判断是否和子网相等

void dd()

{

string s="";

for(int i=0;i<4;i++)

{

if((a[i]&ip[i])==subnet[i])

{

s=s+"a";

}

}

//如果存在4个a

cout<<"结果:";

if(s=="aaaa")

{

cout<<"属于同一子网!"<

}

else

{

cout<<"不属于同一子网!"<

}

}

void main()

{ cout<<" ************IP地址的合法性及子网的判断*************"<

char jj='y';

while(jj!='n')

{

cout<<"请输入IP地址:";

cin>>Ip_addr;

cout<<"请输入连续1的个数:";

cin>>num;

cout<<"请输入子网号:";

cin>>sub_net;

cout<<"IP地址为:";

for(int i=0;i<15;i++)

{

cout<

}

cout<

cout<<"子网号为:";

for(int j=0;j<15;j++)

{

cout<

}

cout<

aa(Ip_addr);

bb(Ip_addr);

cc();

ee(sub_net);

dd();

cout<<"是否继续是(其他键)否(n)";

cin>>jj;

}

}

IP地址与子网划分练习

1) What is the network address for the address 96.2.3.16 (地址9 6 .2 .3 . 16的网络地址是什么)? A. 96.2.0.0 B. 96.2.3.0 C. 96.0.0.0 D. Can ’t tell 2) What class of address is 190.233.27.13 (190.233.27.13是何类地址)? A. Class A B. Class B C. Class C D. Class D 3) How many bits are in the default subnet mask for the address 219.25.23.56 (在地址219.25.23.56的默认子网掩码中有多少位)? A. 8 B. 16 C. 24 D. 32 4) How many hosts are supported by a Class C network address, without subnetting (C类网络地址在没有子网的情况下支持多少个主机)? A. 254 B. 65,000 C. 255 D. 16,000 5) What is the default mask for a Class B network (B类网络的默认掩码是什么)? A. 255.0.0.0 B. 255.255.255.0 C. 255.255.0.0. D. 255.225.0.0 6) Approximately how many unique networks are possible with a Class B address (使用B类地址大约可以有多少个不相同的网络)? A. 254 B. 16K C. 65K D. 2M 7) What is the decimal value of the binary number 11 0 0 1 0 11 (二进制数11 0 0 1 0 11的十进制值是多少)? A. 203 B. 171 C. 207 D. 193 8) What is the binary value of the decimal number 219 (十进制数2 1 9的二进制值是多少)? A. 111 0 1 0 11

IP地址的合法性和子网判断

计算机网络课程设计报告 题目:IP地址的合法性及子网判断 学生姓名: 学号: 专业班级: 同组姓名: 指导教师: 设计时间:

目录 一、课程设计目的和意义 (1) 1.1设计目的 (1) 1.2设计的意义 (1) 二、课程设计的内容和要求 (2) 三、课程设计的相关技术 (3) 3.1 课程设计的运行环境 (3) 3.2 IP地址相关概念和知识的回顾。 (3) 3.3 特殊的IP地址形式 (4) 3.4 子网的划分 (5) 四、课程设计过程 (6) 4.1程序大致设计过程: (6) 4.2实验流程图 (6) 五、部分程序运行结果 (9) 六、课程设计小结 (11) 七、参考文献 (15)

附录一:源代码 (15) 一、课程设计目的和意义 1.1设计目的 通过计算机网络课程设计,让我们学会处理几种常用计算机网络问题的基本处理方法,掌握计算机网络的基本原理,使我们在面对不断变化的技术时,具有跟踪,学习的基础与能力。 掌握IP地址的分类,准确理解子网、掩码的概念,确切地明了IP地址的合法格式。并判断该地址是否属于一个给定的子网。 具体而言,关于”IP地址的合法性及子网判断”课程设计题目的目的是:用C/C++语言编写程序,以判断一个IP地址是否合法,并判断该地址是否属于一个给定的子网.从而能够考察我们对IP地址的概念,各类IP地址的区分以及子网划分的理解和掌握程度. 1.2设计的意义 1、有利于基础知识的理解 通过计算机网络的学习,学生掌握了一些信息时代生存与发展必需的信息技术基础知识和基本技能,具备了在日常生活与学习中应用信息技术解决问

题的基本态度与基本能力。让学生接触了程度设计,就能真正理解,从而进一步打破计算机的神秘感。 2、有利于逻辑思维的锻炼 程序设计是公认的、最能直接有效地训练学生的创新思维,培养分析问题、解决问题能力的学科之一。即使一个简单的程序,从任务分析、确定算法、界面布局、编写代码到调试运行,整个过程学生都需要有条理地构思,这中间有猜测设想、判断推理的抽象思维训练,也有分析问题、解决问题、预测目标等能力的培养。 3、有利于与其他学科的整合 在程序设计中,我们可以解决其它学科有关问题,也利用其它课程的有关知识来解决信息技术中比较抽象很难理解的知识。在信息技术课中整合其它学科的知识,发挥信息技术的优势。 4、有利于治学态度的培养。 程序设计中,语句的语法和常量变量的定义都有严格的要求,有时输了一个中文标点、打错了一个字母,编译就不通过,程序无法正常运行。因此,学生经常会犯这样的错误,可能要通过几次乃至十多次的反复修改、调试,才能成功,但这种现象会随着学习的深入而慢慢改观。有助于严谨治学、一丝不苟的科学精神的培养,以及不怕失败、百折不挠品格的锻炼。 二、课程设计的内容和要求 在掌握IP地址的表示方法以及子网划分方法的基础上,并以计算机网络中

IP地址与子网划分 类地址

IP地址与子网划分讲解

A类网络地址 1.0.0.0到126.0.0.0 0.0.0.0和127.0.0.0保留 B类网络地址 128.1.0.0到191.254.0.0 128.0.0.0和191.255.0.0保留 C类网络地址 192.0.1.0到223.255.254.0 192.0.0.0和223.255.255.0保留 D类网路地址 224.0.0.0到239.255.255.255用于多点广播 E类网络地址 240.0.0.0到255.255.255.254保留 255.255.255.255用于广播 简介 IP地址分为五类: ·A类用于大型网络(能容纳网络126个,主机1677214台)·B类用于中型网络(能容纳网络16384个,主机65534台)·C类用于小型网络(能容纳网络2097152个,主机254台)·D类用于组播(多目的地址的发送)

·E类用于实验 另外,全零(0.0.0.0.)地址指任意网络。全1的IP地址(255.255.255.255)是当前子网的广播地址。 在因特网中,每台计算机的每个连接都有一个由授权单位分配的用于彼此区别的号码,即IP地址。IP地址采用层次结构,按照逻辑结构划分为两个部分:网络号和主机号。网络号用于识别一个逻辑网络,而主机号用于识别网络中的一台主机的一个连接。因此,IP地址的编址方式携带了明显的位置消息。 一个完整的IP地址由个字节,即32位数字组成,为了方便用户理解和记忆,采用点分十进制标记法,中间使用符号“.”隔开不同的字节。 例如:采用32位形式的IP地址如下 00001010 00000000 00000000 00000001 采用十进制数的形式如下 10.0.0.1 A类地址 (1) A类IP地址。由1个字节的网络地址和3个字节的主机地址,网络 地址的最高位必须是“0”。 如:0XXXXXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX(X代表0或1)(2)A类IP地址范围:1.0.0.1---126.255.255.254 (3)A类IP地址中的私有地址和保留地址: ① 10.X.X.X是私有地址(所谓的私有地址就是在互联网上不使用,而被用在局域网络中的地址)。 范围(10.0.0.1---10.255.255.254) ② 127.X.X.X是保留地址,用做循环测试用的。 B类地址 (1) B类IP地址。由2个字节的网络地址和2个字节的主机地址,网络地 址的最高位必须是“10”。 如:10XXXXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX(X代表0或1)(2) B类IP地址范围:128.0.0.1---191.255.255.254。 (3) B类IP地址的私有地址和保留地址 ① 172.16.0.0---172.31.255.254是私有地址是我可以使用的IP地

IP子网掩码划分及设置

IP子网掩码划分及设置 定长子网掩码: 一、子网掩码的计算 TCP/IP网间网技术产生于大型主流机环境中,它能发展到今天的规模是当初的设计者们始料未及的。网间网规模的迅速扩展对IP地址模式的威胁并不是它不能保证主机地址的唯一性,而是会带来两方面的负担:第一,巨大的网络地址管理开销;第二,网关寻径急剧膨胀。其中第二点尤为突出,寻径表的膨胀不仅会降低网关寻径效率(甚至可能使寻径表溢出,从而造成寻径故障),更重要的是将增加内外部路径刷新时的开销,从而加重网络负担。 因此,迫切需要寻求新的技术,以应付网间网规模增长带来的问题。仔细分析发现,网间网规模的增长在内部主要表现为网络地址的增减,因此解决问题的思路集中在:如何减少网络地址。于是IP网络地址的多重复用技术应运而生。通过复用技术,使若干物理网络共享同一IP网络地址,无疑将减少网络地址数。 子网编址(subnet addressing)技术,又叫子网寻径(subnet routing),英文简称subnetting,是最广泛使用的IP网络地址复用方式,目前已经标准化,并成为IP地址模式的一部分。 32位的IP地址分为两部分,即网络号和主机号,分别把他们叫做IP地址的“网间网部分” 和“本地部分”。子网编址技术将“本地部分”进一步划分为“物理网络”部分和“主机”两部分,其中“物理网络”部分用于标识同一IP网络地址下的不同物理网络,常称为“掩码位”、“子网掩码号”,或者“子网掩码ID”,不同子网就是依据这个掩码ID来识别的。 按IP协议的子网标准规定,每一个使用子网的网点都选择一个32位的位模式,若位模式中的某位置1,则对应IP地址中的某位为网络地址(包括网络部分和子网掩码号)中的一位;若位模式中的某位置0,则对应IP地址中的某位为主机地址中的一位。 例如二进制位模式:11111111 11111111 11111111 00000000中,前三个字节全1,代表对应IP地址中最高的三个字节为网络地址;后一个字节全0,代表对应IP地址中最后的一个字节为主机地址。为了使用的方便,常常使用“点分整数表示法”来表示一个IP地址和子网掩码,例如B类地址子网掩码(11111111 11111111 11111111 00000000)为:255.255.255.0。 IP协议关于子网掩码的定义提供一定的灵活性,允许子网掩码中的“0”和“1”位不连续。但是,这样的子网掩码给分配主机地址和理解寻径表都带来一定困难,并且,极少的路由器支持在子网中使用低序或无序的位,因此在实际应用中通常各网点采用连续方式的子网掩码。像255.255.255.64和255.255.255.160等一类的子网掩码不推荐使用

判断IP地址合法性

XXXX大学 计算机网络实习报告 设计题目判断IP地址合法性 学生专业班级 学生姓名(学号) 指导教师 完成时间 2010年5月25日 实习(设计)地点信息楼139机房 2010 年5月25日 一、实习题目 编写一个判断IP地址是否合法的计算机程序,如果合法给出其子网号。 二、原理概述 所谓IP地址就是给每个连接在Internet上的主机分配的一个32bit地址。按照TCP/IP(Transport Control Protocol/Internet Protocol,传输控制协议/Internet协议)协议规定,IP地址用二进制来表示,每个IP地址长32bit,比特换算成字节,就是4个字节。例如一个采用二进制形式的IP地址“00000000000000001”,这么长的地址,人们处理起来也太费劲了。为了方便人们的使用,IP地址经常被写成十进制的形式,中间使用符号“.”分开不同的字节。于是,上面的IP地址可以表示为“,这显然比1和0容易记忆得多。 将IP地址分成了网络号和主机号两部分,设计者就必须决定每部分包含多少位。网络号的位数直接决定了可以分配的网络数(计算方法2^网络号位数);主机号的位数则决定了网络中最大的主机数(计算方法2^主机号位数-2)。然而,由于整个互联网所包含的网络规模可能比较大,也可能比较小,设计者最后聪明的选择了一种灵活的方案:将IP地址空间划分成5种不同的类别,每一类具有不同的网络号位数和主机号位数。 32位IP地址的空间划分 IP地址分类 1.A类IP地址 一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”,地址范围 00000000 00000000 00000001 - 01111110 )。可用的A类网络有126个,每个网络能容纳1677214个主机。 2.B类IP地址 一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”,地址范围 00000001 00000000 00000001 - )。可

ip地址的合法性及子网判断

实验九:IP地址的合法性及子网判断 #include #include #include #include //类结构 class ipTest{ char ip[15]; //定义ip数组,存放ip地址 char subnetPlusMask[18]; //定义subnetPlusMask数组,存放子网号和子网掩码中1的个数 char subnet[18]; //定义subnet数组,存放子网号 char TempIp[15]; //定义TempIp数组,存放临时的ip地址 char TempSub[18]; //定义TempSub数组,存放临时的子网号 int mask; //定义整型mask,存放子网掩码中1的个数 bool maskIsValid;//定义布尔值maskIsValid,存放判断mask真值的变量 public: ipTest(char *,char *); //定义ipTest函数 ipTest(){}; bool NoIllegalChar(char *); //非法字符的判断 bool ipIsValid(char *); //判断IP地址是否合法 bool subnetIsValid(char *); //判断子网号是否合法 void belong(); //判断IP是否为子网成员 print();//定义输出函数print }; //主函数 void main(int argc,char *argv[]) { if(argc != 3) { //判断参数格式是否正确 cout <<"Please input command: ip_test subnet/mask ip" ; return; } else {

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-DOS 2.硬件 现阶段常见PC 三. 实验方法 Part 1实验原理 我们说过因特网是把全世界的无数个网络连接起来的一个庞大的网间网,每个网络中的计算机通过其自身的IP地址而被唯一标识的,据此我们也可以设想,在Internet上这个庞大的网间网中,每个网络也有自己的标识符。我们把计算机的IP地址也分成两部分,分别为网络标识和主机标识。同一个物理网络上的所有主机都用同一个网络标识,网络上的一个主机(包括网络上工作站、服务器和路由器等)都有一个主机标识与其对应IP地址的4个字节划分为2个部分,一部分用以标明具体的网络段,即网络标识;另一部分用以标明具体的节点,即主机标识,也就是说某个网络中的特定的计算机号码。另一方面,只有在一个网络号下的计算机之间才能"直接"互通,不同网络号的计算机要通过网关(Gateway)才能互通。但这样的划分在某些情况下显得并十分不灵活。为此IP网络还允许划分成更小的网络,称为子网(Subnet),这样就产生了子网掩码 1. IP的寻址规则 (1).网络寻址规则 A、网络地址必须唯一。 B、网络标识不能以数字127开头。在A类地址中,数字127保留给内部回送函数。

IP地址和子网划分练习题(整理带答案)

IP地址和子网划分练习题(整理带答案)

1. 19 2.168.1.0/24 使用掩码255.255.255.240 划分子网,其可用子网数为(),每个子网内可用主机地址数为(A) A. 14 14 B. 16 14 C. 254 6 D. 14 62 2. 子网掩码为255.255.0.0 ,下列哪个IP 地址不在同一网段中( C) A. 172.25.15.201 B. 172.25.16.15 C. 172.16.25.16 D. 172.25.201.15 3. B类地址子网掩码为255.255.255.248 ,则每个子网内可用主机地址数为(C) A. 10 B. 8 C. 6 D. 4

4. 对于 C 类IP地址,子网掩码为25 5.255.255.248 ,则能提供子网数为(C ) A. 16 B. 32 C. 30 D. 128 5. 三个网段192.168.1.0/24 ,192.168.2.0/24 ,192.168.3.0/24 能够汇聚成下面哪个网段(D) A. 192.168.1.0/22 B. 192.168.2.0/22 C. 192.168.3.0/22 D. 192.168.0.0/22 6.IP 地址219.25.23.56 的缺省子网掩码有几位?C A.8 B.16 C.24 D.32 7.某公司申请到一个C 类IP 地址,但要连接6

个的子公司,最大的一个子 公司有26 台计算机,每个子公司在一个网段中,则子网掩码应设为?D A.255.255.255.0 B.255.255.255.128 C.255.255.255.192 D.255.255.255.224 8.一台IP 地址为10.110.9.113/21 主机在启动时发出的广播IP 是? B A.10.110.9.255 B.10.110.15.255 C.10.110.255.255 D.10.255.255.255 9.规划一个C 类网,需要将网络分为9 个子网,每个子网最多15 台主机, 下列哪个是合适的子网掩码?(D) A.255.255.224.0 B.255.255.255.224 C.255.255.255.240 D.没有合适的子网掩码

ip地址分类及子网划分

国际规定: 把所有的IP地址划分为A,B,C,D,E A类地址: 范围从0-127,0是保留的并且表示所有IP地址,而127也是保留的地址,并且是用于测试环回用的。因此 A类地址的范围其实是从1-126之间。 如:10.0.0.1,第一段号码为网络号码,剩下的三段号码为本地计算机的号码。转换为2进制来说,一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”,地址范围从0.0.0.1到126.0.0.0。可用的A类网络有126个,每个网络能容纳1亿多个主机(2的24次方的主机数目)。 以子网掩码来进行区别: :255.0.0.0. B类地址: 范围从128-191,如172.168.1.1,第一和第二段号码为网络号码,剩下的2段号码为本地计算机的号码。转换为2进制来说,一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”,地址范围从128.0.0.0到 191.255.255.255。可用的B类网络有16382个,每个网络能容纳6万多个主机。 以子网掩码来进行区别:255.255.0.0 C类地址: 范围从192-223,如192.168.1.1,第一,第二,第三段号码为网络号码,剩下的最后一段号码为本地计算机的号码。转换为2进制来说,一个C类IP地址

由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。范围从192.0.0.0到 223.255.255.255。C类网络可达209万余个,每个网络能容纳254个主机。 以子网掩码来进行区别:255.255.255.0 D类地址: 范围从224-239,D类IP地址第一个字节以“1110”开始,它是一个专门保留的地址。它并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中。多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。 E类地址: 范围从240-254,以“110”开始,为将来使用保留。全零(“ 0.0. 0.0”)地址对应于当前主机。全“1”的IP地址(“ 255.255. 255.255”)是当前子网的广播地址。 在日常网络环境中,基本是都在使用B,C两大类地址,而ADE这3类地址都不打可能被使用到。 从上述描述中,就可以看到有很多朋友会犯的一个错误,就是把192开头的IP地址设置成B类地址,虽然说在局域网中的网络通讯并不会受到影响,但事实上是不规范的一种划分行为。 子网掩码的简单叙述: 子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。

IP地址合法性判断及子网判断课设

课程设计任务书 学院信息科学与工程学院专业计算机科学与技术 学生姓名学号 设计题目IP地址合法性判断及子网判断 内容及要求: 判断IP和子网是否合法,接着将IP地址一位位与子网掩码做与运算,看结果是否和子网相等来判断IP地址是否属于某一个网络。 设计总要求: 实现判断输出命令行中的IP是否合法,掩码是否合法以及ip_addr是否是属于子网subnet。将IP地址一位位与子网掩码做与运算,看结果是否和子网相等来判断IP地址是否属于某一个网络。在这个设计中考虑到了以上的种种情况,根据用户输入的IP地址,掩码和子网,程序可以判断输入的IP地址,掩码和子网是否正确以及ip_addr是否是属于子网subnet。 在判断不合法IP时要考虑全面,比如以下情况均属于不合法 连续两个 . 123..2.1.2 含有非法字符 123.23$.2.1 每部分长度超过3 123.2345.2.1 含有超过三个的. 123.23.45.2.1 每部分大于255 256.123.3.3 进度安排: 第1周:布置课程设计任务;查阅资料;分组进行程序设计。 第2周:程序设计和调试;程序验收;答辩;上交课程设计报告。 指导教师(签字): 2011 年 7 月 4日学院院长(签字): 年月日

目录 一课程设计目的和意义 (3) 1.1设计目的 (3) 1.2设计的意义 (3) 二协议的内容说明,关键技术的说明 (4) 2.1 ip地址简介 (4) 2.2 子网掩码简介 (5) 2.3 ip地址的计算 (6) 2.4 子网划分简介 (7) 3.1主程序设计..................................................................................... (8) 3.2验证ip地址合法性 (8) 3.3验证ip是否属于某个子网 (9) 3.4代码 (10) 四程序的运行和调试结果 (19) 运行结果 (19) 五课程设计小结 (21) 六参考文献 (21)

ip地址计算与子网划分详解

ip地址计算与子网划分详解 最近几天有很多的朋友反映对ip网络知识这块了解的不多,尤其是ip地址这块,希望我们能发一期关于ip地址的文章,今天我们就来一起来了解ip地址的计算与子网的划分的知识,希望通过这篇文章大家对ip地址相关知识有一个深入的了解。 IP地址分为五类 ·A类用于大型网络(能容纳网络126个,主机1677214台)·B 类用于中型网络(能容纳网络16384个,主机65534台)·C 类用于小型网络(能容纳网络2097152个,主机254台)·D 类用于组播(多目的地址的发送)·E类用于实验 另外,全零(0.0.0.0.)地址指任意网络。全1的IP地址(255.255.255.255)是当前子网的广播地址。 在因特网中,每台计算机的每个连接都有一个由授权单位分配的用于彼此区别的号码,即IP地址。IP地址采用层次结构,按照逻辑结构划分为两个部分:网络号和主机号。网络号用于识别一个逻辑网络,而主机号用于识别网络中的一台主机的一个连接。因此,IP地址的编址方式携带了明显的位置消息。 一个完整的IP地址由个字节,即32位数字组成,为了方便用户理解和记忆,采用点分十进制标记法,中间使用符号“.”

隔开不同的字节。例如:采用32位形式的IP地址如下00001010 00000000 00000000 00000001采用十进制数的形式如下10.0.0.1 各类ip地址划分 A类地址(1)A类IP地址。由1个字节的网络地址和 3个字节的主机地址,网络地址的最高位必须是“0”。如: 0XXXXXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX(X代表0或1) (2)A类IP地址范围:1.0.0.1---126.255.255.254 (3)A类IP地址中的私有地址和保留地址:① 10.X.X.X是私有地址(所谓的私有地址就是在互联网上不使用,而被用在局域网络中的地址)。范围(10.0.0.1---10.255.255.254)② 127.X.X.X是保留地址,用做循环测试用的。B类地址(1)B类IP地址。由2个字节的网络地址和2个字节的主机地址,网络地址的最高位必须是“10”。如: 10XXXXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX(X代表 0或1) (2)B类IP地址范围:128.0.0.1---191.255.255.254。(3)B类IP地址的私有地址和保留地址① 172.16.0.0---172.31.255.254是私有地址② 169.254.X.X是保留地址。如果你的IP地址是自动获取IP地址, 而你在网络上又没有找到可用的DHCP服务器。就会得到其

IP地址合法性判断及子网检测_大学课程设计实验报告

理工学院 实验报告 实验名称IP地址合法性判断及子网检验课程名称计算机科学与技术 成绩 班级学号 日期2013年1月地点计算机学院

一.实验目的 本设计要求编辑写程序,判断一个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,亦可使用VC6.0等) 编程语言:C++ 测试环境:MS-DOS 2.硬件 现阶段常见PC 四.实验方法 Part 1 实验原理 我们说过因特网是把全世界的无数个网络连接起来的一个庞大的网间网,每个网络中的

IP地址与子网划分讲解

IP地址与子网划分讲解 作者:李石新 IP地址 简介 IP地址分为五类: ·A类用于大型网络(能容纳网络126个,主机1677214台) ·B类用于中型网络(能容纳网络16384个,主机65534台) ·C类用于小型网络(能容纳网络2097152个,主机254台) ·D类用于组播(多目的地址的发送) ·E类用于实验 另外,全零(0.0.0.0.)地址指任意网络。全1的IP地址(255.255.255.255)是当前子网的广播地址。 在因特网中,每台计算机的每个连接都有一个由授权单位分配的用于彼此区别的号码,即IP地址。IP地址采用层次结构,按照逻辑结构划分为两个部分:网络号和主机号。网络号用于识别一个逻辑网络,而主机号用于识别网络中的一台主机的一个连接。因此,IP地址的编址方式携带了明显的位置消息。 一个完整的IP地址由个字节,即32位数字组成,为了方便用户理解和记忆,采用点分十进制标记法,中间使用符号“.”隔开不同的字节。 例如:采用32位形式的IP地址如下 00001010 00000000 00000000 00000001 采用十进制数的形式如下 10.0.0.1 A类地址 (1)A类IP地址。由1个字节的网络地址和3个字节的主机地址,网络地址的最高位必须是“0”。 如:0XXXXXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX(X代表0或1)(2)A类IP地址范围:1.0.0.1---126.255.255.254 (3)A类IP地址中的私有地址和保留地址: ①10.X.X.X是私有地址(所谓的私有地址就是在互联网上不使用, 而被用在局域网络中的地址)。 范围(10.0.0.1---10.255.255.254) ②127.X.X.X是保留地址,用做循环测试用的。 B类地址 (1)B类IP地址。由2个字节的网络地址和2个字节的主机地址,网络地址的最高位必须是“10”。 如:10XXXXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX(X代表0或1)(2)B类IP地址范围:128.0.0.1---191.255.255.254。

IP地址的合法性及子网判断

第三章IP地址的合法性及子网判断 3.1 课程设计目的 本设计要求编写程序,判断一个IP地址是否合法,并判断该地址是否属于一个给定子网。从而考察读者是否对IP地址概念及其子网划分有非常清楚的认识。 3.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_test 202.113.16.0、24 202.113.16.10.(因为255.255.255.0是连续的24个1,所以用24表示。) 2)判断subnet和ip_addr的合法性。 在判断IP地址合法性时要自行编写代码,不要使用任何inet函数。判断时要考虑全面,比如以下ip地址均不合法: 123..2.1 123.23¥.2.1 123.2345.2.1 123.23.45.2.1 3)判断掩码的合法性。 4)在IP地址合法的前提下,判断ip_addr是否属于子网subnet. 5)输出命令行中的ip是否合法,掩码是否合法(可适当给出不合法原因)以 及ip_addr是否属于子网subnet。 A类,B类与C类IP地址中主机号权1的地址chengweizhijieguangbo地址,用来使路由器将一个分组以广播方式发送给特定网络上的所有主机。直接广播地址只能作为分组中的目的地址。物理网络采用的使点-点传输方式,分组广播需要通过软件来实现。

IP地址和子网划分练习题教学教材

I P地址和子网划分练 习题

IP地址和子网划分练习题 一、选择题 1. 19 2.168.1.0/24 使用掩码255.255.255.240 划分子网,其可用子网数为(),每个子网内可用主机地址数为() A. 14 14 B. 16 14 C. 254 6 D. 14 62 2. 子网掩码为255.255.0.0 ,下列哪个 IP 地址不在同一网段中() A. 172.25.15.201 B. 172.25.16.15 C. 172.16.25.16 D. 172.25.201.15 3. B类地址子网掩码为 255.255.255.248 ,则每个子网内可用主机地址数为 () A. 10 B. 8 C. 6 D. 4 4. 对于C 类 IP地址,子网掩码为 25 5.255.255.248 ,则能提供子网数为() A. 16 B. 32 C. 30 D. 128 5. 三个网段 192.168.1.0/24 , 192.168.2.0/24 , 192.168.3.0/24 能够汇聚成下面哪个网段() A. 192.168.1.0/22 B. 192.168.2.0/22 C. 192.168.3.0/22 D. 192.168.0.0/22 6.IP 地址219.25.23.56 的缺省子网掩码有几位? A.8 B.16 C.24 D.32 7.某公司申请到一个C 类IP 地址,但要连接6 个的子公司,最大的一个子 公司有26 台计算机,每个子公司在一个网段中,则子网掩码应设为? A.255.255.255.0 B.255.255.255.128 C.255.255.255.192 D.255.255.255.224 8.一台IP 地址为10.110.9.113/21 主机在启动时发出的广播IP 是? A.10.110.9.255 B.10.110.15.255 C.10.110.255.255 D.10.255.255.255 9.规划一个C 类网,需要将网络分为9 个子网,每个子网最多15 台主机, 下列哪个是合适的子网掩码?()

IP地址管理与子网划分

第1章地址管理和子网划分基础 本章内容: ?IP地址基础。 ?子网划分的目的。 ?基本的固定长度掩码。 1.1 IP地址基础 I P v 4的地址管理主要用于给一个物理设备分配一个逻辑地址。听起来很复杂,但实际上很简单。一个以太网上的两个设备之所以能够交换信息就是因为在物理以太网上,每个设备都有 一块网卡,并拥有唯一的以太网地址。如果设备A向设备B传送信息,设备A需要知道设备B的 以太网地址。像M i c r o s o f t的N e t B I O S协议,它要求每个设备广播它的地址,这样其他设备才能 知道它的存在。I P协议使用的这个过程叫做地址解析协议。不论是哪种情况,地址应为硬件地 址,并且在本地物理网上。 I T专业人员参考R F C 在本章,你将会看到一个术语—R F C。R F C(Request For Comment :请求评注)文档是由 I n t e r n e t团体建立的一个文档。使用它来定义控制I n t e r n e t和相关协议的正常工作的过程、步骤、 标准。例如,R F C 7 9 1的标题为“I n t e r n e t协议”。这个标准定义了I P协议的特征、功能和过程。 R F C文档是免费的,任何R F C的文本文件都可以从I n t e r n e t上下载,其地址为: U R L:/ / w w w. i s i . e d u / i n - n o t e s 作为I T专业人员,你也许会问:“为什么要知道这些内容?”因为R F C文档是I n t e r n e t的官 方文档,你可通过阅读与问题相关的R F C文档来获得满意的答案。 如果一个在以太网上的设备B向令牌环网上的设备C发送信息,会发生什么情况呢?由于它 们在不同的物理网络上,所以不能够直接通信。为了解决设备A和设备B的地址问题,我们使 用一个更高层的协议,如I P v 4。它允许给一个物理设备分配一个逻辑地址。不论使用哪种通信 方法,都可以通过一个唯一的逻辑地址来识别这个设备。在实际通信中,逻辑地址最终还要转 换成物理地址。 1.1.1 地址的分类 I P v 4的设计者目前面临着一个地址管理困境。在I n t e r n e t发展早期,网络很小,但互连设备 却很多,问题是未来的发展。在2 0世纪7 0年代初期,建立I n t e r n e t的工程师们并未意识到计算 机和通信在未来的迅猛发展。局域网和个人电脑的发明对未来的网络产生了巨大的冲击。开

IP地址的合法性及子网判断课程设计任务书

课程设计任务书 学生姓名:孙晓晨专业班级:信息0804 指导教师:杜谦工作单位:信息工程学院 题目: IP地址的合法性及子网判断 初始条件: Windows XP C++,SOCKET 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写 等具体要求) 1.编写程序,判断一个IP地址是否合法,并判断该地址是否属于一个给定的子网; 2.判断掩码的合法性; 3.在IP地址合法的前提下,判断ip_addr是否属于子网subnet; 4.撰写课程设计说明书。装订后的课程设计说明书不少于10面(含封面、任务书、目录、正文、参考文献、成绩评定表、封底)。 时间安排: 6月12日查阅资料、方案论证 6月13日~6月15日总体规划, 方案设计、调试 6月16日撰写课程设计说明书 6月17日答辩 指导教师签名:年月日 系主任(或责任教师)签名:年月日

#include #include #include #include using namespace std; int a[4]={0,0,0,0}; //分段存放子网 char Ip_addr[15]; //ip地址 char sub_net[15]; //子网 int ip[4]={0,0,0,0}; int subnet[4]={0,0,0,0}; //分段存放ip地址 int address[4]={0,0,0,0}; int num; //子网掩码 //判断IP是否合法 void aa(char c[15]) { //判断IP地址不能超过15 if(strlen(c)>15) {cout<

IP地址和子网划分练习题

1. 19 2.168.1.0/24 使用掩码255.255.255.240 划分子网,其可用子网数为(),每个子网内可用主机地址数为() A. 14 14 B. 16 14 C. 254 6 D. 14 62 2. 子网掩码为255.255.0.0 ,下列哪个IP 地址不在同一网段中() A. 172.25.15.201 B. 172.25.16.15 C. 172.16.25.16 D. 172.25.201.15 3. B类地址子网掩码为255.255.255.248 ,则每个子网内可用主机地址数为() A. 10 B. 8 C. 6 D. 4 4. 对于C 类IP地址,子网掩码为25 5.255.255.248 ,则能提供子网数为() A. 16 B. 32 C. 30 D. 128 5. 三个网段192.168.1.0/24 ,192.168.2.0/24 ,192.168.3.0/24 能够汇聚成下面哪个网段() A. 192.168.1.0/22 B. 192.168.2.0/22 C. 192.168.3.0/22 D. 192.168.0.0/22 6.IP 地址219.25.23.56 的缺省子网掩码有几位?() A.8 B.16 C.24 D.32 7.某公司申请到一个C 类IP 地址,但要连接6 个的子公司,最大的一个子 公司有26 台计算机,每个子公司在一个网段中,则子网掩码应设为?() A.255.255.255.0 B.255.255.255.128 C.255.255.255.192 D.255.255.255.224

8.一台IP 地址为10.110.9.113/21 主机在启动时发出的广播IP 是?() A.10.110.9.255 B.10.110.15.255 C.10.110.255.255 D.10.255.255.255 9.规划一个C 类网,需要将网络分为9 个子网,每个子网最多15 台主机,下列哪个是合适的子网掩码?() A.255.255.224.0 B.255.255.255.224 C.255.255.255.240 D.没有合适的子网掩码 10.与10.110.12.29 mask 255.255.255.224 属于同一网段的主机IP 地址是 ( ) A.10.110.12.0 B.10.110.12.30 C.10.110.12.31 D.10.110.12.32 11.IP 地址190.233.27.13/16 的网络部分地址是? ( ) A.190.0.0.0 B.190.233.0.0 C.190.233.27.0 D.190.233.27.1 12.没有任何子网划分的IP 地址125.3.54.56 的网段地址是? ( ) A.125.0.0.0 B.125.3.0.0 C.125.3.54.0 D.125.3.54.32

IP地址和子网划分习题教学教材

I P地址和子网划分习 题

IP地址和子网划分习题 1、十进制二进制互化 210 ②10111001 ③145 ④10000111 2、172.202.202.202/20,所在的子网和子网内所有节点分别如何表示? 3、189.189.189.189/18 ,所在的子网和子网内所有节点分别如何表示? 4、192.192.240.240,掩码255.255.255.248,计算网络地址和广播地址。 5、10.11.200.200,掩码 255.255.255.192,计算网络地址和广播地址。 6、195.166.0.42/27,计算网络地址和广播地址。 7、172.25.17.201/20,172.25.15.15/20,172.25.19.26/20, 172.25.23.15/20,四个IP哪个跟其他地址不再同一网段? 8、C类IP地址,掩码255.255.255.224,包含子网数、每个子网主机数各为多少?

9、公司分到一个C类IP,划分6个子公司,每个子公司26台电脑,子网掩码使用什么? 10、规划一个C类网络,9个子网,每个子网15台主机,能否规划出符合要求的网络? 11、192.168.1.0/24 用子网掩码255.255.255.240划分子网,可用子网数和每个子网可用主机数分别是多少? 12、192.168.9.0/24,进行子网规划,要求每个子网有10台主机,用什么掩码合理? 13、200.200.0.0/22,可以由以下哪些网络使用CIDR技术汇聚而成? A、200.200.1.0/24 B、200.200.2.0/24 C、200.200.3.0/24 D、 200.200.4.0/24 14、214.197.27.0网段,划分20个子网,每个子网里5台主机,如何划分?

相关文档
最新文档