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)

一课程设计目的和意义

1.1设计目的

1.加深对IP地址及subnet的认识;

2.了解IP地址的划分;

3. 了解subnet的作用和产生因素,subnet的划分;

4. 实际操作编写规则,匹配IP和subnet,加深理解

1.2设计的意义

1、有利于基础知识的理解

通过《计算机网络》的学习,学生掌握了一些信息时代生存与发展必需的信息技术基础知识和基本技能,具备了在日常生活与学习中应用信息技术解决问题的基本态度与基本能力。但是,学生对于程序、病毒的内涵,程序与文档、数据的区别,计算机运行的机理等知识内容的理解比较肤浅。学生如果接触了程度设计,就能真正理解,从而进一步打破计算机的神秘感。

2、有利于逻辑思维的锻炼

程序设计是公认的、最能直接有效地训练学生的创新思维,培养分析问题、解决问题能力的学科之一。即使一个简单的程序,从任务分析、确定算法、界面布局、编写代码到调试运行,整个过程学生都需要有条理地构思,这中间有猜测设想、判断推理的抽象思维训练,也有分析问题、解决问题、预测目标等能力的培养。

3、有利于与其他学科的整合

在程序设计中,我们可以解决其它学科有关问题,也利用其它课程的有关知识来解决信息技术中比较抽象很难理解的知识。在信息技术课中整合其它学科的知识,发挥信息技术的优势。

4、有利于治学态度的培养。

程序设计中,语句的语法和常量变量的定义都有严格的要求,有时输了一个中文标点、打错了一个字母,编译就不通过,程序无法正常运行。因此,程序设计初学阶段,学生经常会犯这样的错误,可能要通过几次乃至十多次的反复修改、调试,才能成功,但这种现象会随着学习的深入而慢慢改观。这当中就有一个严谨治学、一丝不苟的科

学精神的培养,又有一个不怕失败、百折不挠品格的锻炼。

二协议的内容说明,关键技术的说明

2.1 ip地址简介

所谓IP地址就是给每个连接在Internet上的主机分配的一个32bit地址。

按照TCP/IP(Transport Control Protocol/Internet Protocol,传输控制协议/Internet协议)协议规定,IP地址用二进制来表示,每个IP地址长32bit,比特换算成字节,就是4个字节。例如一个采用二进制形式的IP地址是“00001010000000000000000000000001”,这么长的地址,人们处理起来也太费劲了。为了方便人们的使用,IP地址经常被写成十进制的形式,中间使用符号“.”分开不同的字节。于是,上面的IP地址可以表示为“10.0.0.1”。IP地址的这种表示法叫做“点分十进制表示法”,这显然比1和0容易记忆得多。

有人会以为,一台计算机只能有一个IP地址,这种观点是错误的。我们可以指定一台计算机具有多个IP地址,因此在访问互联网时,不要以为一个IP地址就是一台计算机;另外,通过特定的技术,也可以使多台服务器共用一个IP地址,这些服务器在用户看起来就像一台主机似的。

将IP地址分成了网络号和主机号两部分,设计者就必须决定每部分包含多少位。网络号的位数直接决定了可以分配的网络数(计算方法2^网络号位数);主机号的位数则决定了网络中最大的主机数(计算方法2^主机号位数-2)。然而,由于整个互联网所包含的网络规模可能比较大,也可能比较小,设计者最后聪明的选择了一种灵活的方案:将IP地址空间划分成不同的类别,每一类具有不同的网络号位数和主机号位数。

1.A类IP地址

一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”,地址范围1.0.0.1-126.255.255.254(二进制表示为:00000001 00000000 00000000 00000001 - 01111110 11111111 11111111 11111110)。可用的A类网络有126个,每个网络能容纳1600多万个主机。

2.B类IP地址

一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最

高位必须是“10”,地址范围128.1.0.1-191.254.255.254(二进制表示为:10000000 00000001 00000000 00000001 - 10111111 11111110 11111111 11111110)。可用的B 类网络有16382个,每个网络能容纳6万多个主机。

3.C类IP地址

一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。范围192.0.1.1-223.255.255.254(二进制表示为: 11000000 00000000 00000001 00000001 - 11011111 11111111 11111110 11111110)。C类网络可达209万余个,每个网络能容纳254个主机。

4.D类地址用于多点广播(Multicast)。

D类IP地址第一个字节以“1110”开始,它是一个专门保留的地址。它并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中。多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。

地址范围224.0.0.1-239.255.255.254

5.E类IP地址

以“11110”开始,为将来使用保留。

E类地址保留,仅作实验和开发用。

全零(“0.0.0.0”)地址指任意网络。全“1”的IP地址(“255.255.255.255”)是当前子网的广播地址。

2.2 子网掩码简介

通过 IP 地址的二进制与子网掩码的二进制进行与运算进行定某个设备的网络地址,

也就是说通过子网掩码分辨一个网络的网络部分和主机部分子网掩码一旦设置,网络地址和主机地址就固定了。

相对于使用子网掩码来识别网络地址,早期的使用类别进行网络地址的分类存在着地址大量浪费的不足。

子网一个最显著的特征就是具有子网掩码。与IP地址相同,子网掩码的长度也是32位,也可以使用十进制的形式。例如,为二进制形式的子网掩码:11111111111111111111111100000000,采用十进制的形式为:255.255.255.0。

用于子网掩码的位数决定于可能的子网数目和每个子网的主机数目。在定义子网掩码前,必须弄清楚本来使用的子网数和主机数目。

2.3 ip地址的计算

定义子网掩码的步骤为:

A、确定哪些组地址归我们使用。比如我们申请到的网络号为“210.73.a.b”,该网络地址为C类IP地址,网络标识为“210.73.a”,主机标识为“.b”。

B、根据我们现在所需的子网数以及将来可能扩充到的子网数,用宿主机的一些位来定义子网掩码。比如我们现在需要12个子网,将来可能需要16个。用第三个字节的前四位确定子网掩码。前四位都置为“1”(即把第三字节的最后四位作为主机位,其实在这里有个简单的规律,非网络位的前几位置1原网络就被分为2的几次方个网络,这样原来网络就被分成了2的4次方16个子网),即第三个字节为“11110000”,这个数我们暂且称作新的二进制子网掩码。

C、把对应初始网络的各个位都置为“1”,即前两个字节都置为“1”,第四个字节都置为“0”,则子网掩码的间断二进制形式为:“11111111.11111111.11110000.00000000”

D、把这个数转化为间断十进制形式为:“255.255.240.0”这个数为该网络的子网掩码。

子网掩码一共分为两类。一类是缺省子网掩码,一类是自定义子网掩码。缺省子网掩码即未划分子网,对应的网络号的位[1][2]都置1,主机号都置0。

A类网络缺省子网掩码:255.0.0.0

B类网络缺省子网掩码:255.255.0.0

C类网络缺省子网掩码:255.255.255.0

自定义子网掩码是将一个网络划分为几个子网,需要每一段使用不同的网络号或子网号,实际上我们可以认为是将主机号分为两个部分:子网号、子网主机号。形式如下:未做子网划分的ip地址:网络号+主机号

做子网划分后的ip地址:网络号+子网号+子网主机号

也就是说ip地址在化分子网后,以前的主机号位置的一部分给了子网号,余下的是子网主机号。子网掩码是32位二进制数,它的子网主机标误用部分为全“0”。利用子网掩码可以判断两台主机是否中同一子网中。若两台主机的IP地址分别与它们的子网掩码相“与”后的结果相同,则说明这两台主机在同一子网中。

2.4 子网划分简介

子网的划分,实际上就是设计子网掩码的过程。子网掩码主要是用来区分IP地址中的网络ID和主机ID,它用来屏蔽IP地址的一部分,从IP地址中分离出网络ID和主机ID.子网掩码是由4个十进制数组成的数值"中间用"。"分隔,如255.255.255.0。若将它写成二进制的形式为:11111111.11111111.11111111.00000000,其中为"1"的位分离出网络ID,为"0"的位分离出主机ID,也就是通过将IP地址与子网掩码进行"与"逻辑操作,得出网络号。

例如,假设IP地址为192.160.4.1,子网掩码为255.255.255.0,则网络ID为192.160.4.0,主机ID为0.0.0.1。计算机网络ID的不同,则说明他们不在同一个物理子网内,需通过路由器转发才能进行数据交换。

每类地址具有默认的子网掩码:对于A类为255.0.0.0,对于B类为255.255.0.0,对于C类为255.255.255.0。除了使用上述的表示方法之外,还有使用于网掩码中"1"的位数来表示的,在默认情况下,A类地址为8位,B类地址为16位,C类地址为24位。例如,A类的某个地址为 12.10.10.3/8,这里的最后一个"8"说明该地址的子网掩码为8位,而199.42.26.0/28表示网络199.42.26.0的子网掩码位数有28位。

如果希望在一个网络中建立子网,就要在这个默认的于网掩码中加入一些位,它减少了用于主机地址的位数。加入到掩码中的位数决定了可以配置的于网。因而,在一个划分了子网的网络中,每个地址包含一个网络地址、一个子网位数和一个主机地址,

三 程序设计方法、流程图和主要代码

3.1主程序设计

3.1.1设计方法:实现判断输出命令行中的ip 是否合法,掩码是否合法以及ip_addr 是否是属于子网subnet 。将IP 地址一位位与子网掩码做与运算,看结果是否和子网相等来判断IP 地址是否属于某一个网络。在这个设计中考虑到了以上的种种情况,根据用户输入的IP 地址,掩码和子网,程序可以判断输入的IP 地址,掩码和子网是否正确以及ip_addr 是否是属于子网subnet 。

3.1.2主程序流程图

图1 IP 地址合法性判断及子网判断主流程图

Y

N

Y

Y Y N

N

N

开始

IP 是否合法

Ip 地址是否

属于子网

结束

子网是否合法

掩码是否合法

3.2验证ip地址合法性

3.2.1设计方法:首先检查IP地址的合法性。在判断不合法IP时要考虑全面,比如以下情况均属于不合法

连续两个 . 123..2.1.2

含有非法字符 123.23$.2.1

每部分长度超过3 123.2345.2.1

含有超过三个的. 123.23.45.2.1

3.2.2验证IP地址合法性流程图

开始

输入IP地址

N

判断是否合法

Y

结束

图2 验证ip地址合法性流程图

3.3验证ip是否属于某个子网

3.3.1设计方法:输入IP地址,子网掩码和子网地址接着拆分IP地址与子网掩码拆分IP 地址和子网掩码进行与运算,结果与子网比较得出是否是一个网络的结论

3.3.2验证IP 是否属于某个子网流程图

图3 验证ip 是否属于某个子网流程图

3.4代码

#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 地址

Y N

开始

结束

结果与子网比较

拆分IP 地址与子网掩码

拆分ip 地址和子网掩码 进行与运算 输入ip 地址,子网掩码 和子网地址

IP 和掩码与运算

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

int num; //子网掩码

int toBinary(int a)

{//将十进制数转换为二进制数

if(a/2==0) return a%2;

return a%2+toBinary(a/2)*10;

}

//判断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<

}

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<

} }

}

//分割网络地址

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<

}

}}

//生成子网掩码

void cc()

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

int r[32];

for(int i=0;i

{ r[i]=1; }

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

{ r[i++]=0; }

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"; }

}

cout<<"由IP和子网掩码得到的网络地址:";

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

{

int w1=toBinary(a[i]);

int w2=toBinary(ip[i]);

cout<

}

cout<

//如果存在4个a

cout<<"结果:";

if(s=="aaaa")

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

else

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

}

void main()

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

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; }

四程序的运行和调试结果

运行结果

1.IP地址数字超过255的情况,运行结果如图4所示

图4 IP地址数字超过255 2.含有非法字符的情况,运行结果如图5所示

图5 含有非法字符的情况

3.Ip地址每位长度超过3的情况,运行结果如图6所示

图6 Ip地址每位长度超过6的情况4.Ip地址不属于子网的情况,运行结果如图7所示

图7 Ip地址不属于子网的情况5.Ip地址属于子网的情况,运行结果如图8所示

图8 Ip地址属于子网的情况

IP地址分类及子网掩码详解

IP地址分类及子网掩码详解 一、IP地址分类 1、分类 IP地址就是给每一个连接在Internet上的主机分配一个唯一的32bit 地址(标识符)。IP地址的结构使我们可以Internet上很方便地进行寻址,这就是:先按IP地址中的网络号码 net-id 把网络找到,再按主机号码 host-id 把主机找到。所以IP地址并不只是一个计算机的号码,而是指出了连接到某个网络上的某个计算机。IP地址由美国国防数据网DDN 的网络信息中心NIC进行分配。按照国际规定,IP地址可分为A、B、C、D、E五类,具体划分如下: 其中A、B、C类地址由net-id (网络号)与 host-id(主机号)字段组成,是国际互联网上公共分配的地址,每一种类别网络地址与主机地址占用的位数见下图所示: 一个IP 地址可以很容易地从其第一个十进制数字上识别出来,是属于那一个类别,各类别分别有一定的数值范围,如下表所示:

D、E类IP地址组成不区分网络号和主机号,D类地址是一种组播地址,主要是留给Internet体系结构委员会IAB(Internet Architecture Board)使用。E类地址保留在今后使用。 下面详细介绍各类地址: A类地址:由1个字节的网络号和3个字节的主机号组成,默认子网掩码255.0.0.0,网络地址的最高位必须为“0”,第一个八位位组值的范围从0-127。其中0.0.0.0 保留且表示任意IP地址,127.0.0.0保留用户测试回环用,实际可用的网络号126个(2的7次方-2),从1.0.0.0 到126.0.0.0,每个网络可容纳16777216个主机(2的24次方)。 B类地址:由2个字节的网络号和2个字节的主机号组成,默认子网掩码255.255.0.0,网络地址的最高位必须为“10”,第一个八位位组值的范围从128-191。其中保留128.0.0.0全“0”网络号和191.255.0.0全“1”网络号,实际可用的网络号16382个(2的14次方-2),从128.1.0.0 到191.254.0.0,每个网络可容纳65536个主机(2的16次方)。 C类地址:由3个字节的网络号和1个字节的主机号组成,默认子网掩码255.255.255.0,网络地址的最高位必须为“110”,第一个八位位组值的范围从192-223。其中保留192.0.0.0全“0”网络号和223.255.255.0全“1”网络号,实际可用的网络号2097150个(2的21次方-2),从192.0.1.0 到223.255.254.0,每个网络可容纳256个主机(2的8次方)。 D类地址:网络地址的最高位必须为“1110”,第一个八位位组值的范围从224-239。可用的地址范围从224.0.0.0 到239.255.255.255。该地址为专门保留地址,并不指向特定网络,用于多点广播,多点广播地址用来一次寻址一组计算机,标识该组计算机共享同一协议族。 E类地址:网络地址的最高位必须为“11110”,第一个八位位组值的范围从240-255。可用的地址范围从240.0.0.0 到240.255.255.254,为将来使用保留。

网络地址与子网掩码知识

IP地址与子网掩码知识 一、IP地址与网络分类 (1)IP地址 不同的物理网络技术有不同的编址方式;不同物理网络中的主机,有不同的物理网络地址。网间技术是将不同物理网络技术统一起来的高层软件技术。网间技术采用一种全局通用的地址格式,为全网的每一网络和每一主机都分配一个网间地址,以此屏蔽物理网络地址的差异。IP协议提供一种全网间通用的地址格式,并在统一管理下进行地址分配,保证一个地址对应一台网间主机(包括网关),这样物理地址的差异被IP层所屏蔽。IP层所用到的地址叫做网间地址,又叫IP地址。它由网络号和主机号两部分组成,统一网络内的所有主机使用相同的网络号,主机号是唯一的。IP地址是一个32为的二进制数,分成4个字段,每个字段8位。 (2)三类主要的网络地址 我们知道,从LAN到WAN,不同种类网络规模相差很大,必须区别对待。因此按网络规模大小,将网络地址分为主要的三类,如下: A类:0 1 2 3 8 16 24 3 1 0网络号主机号 B类:1 0网络号主机号 C类:1 1 0网络号主机号 A类地址用于少量的(最多27个)主机数大于216的大型网,每个A类网络可容纳最多224台主机;B类地址用于主机数介于28~216之间数量不多不少的中型网,B类网络最多214个;C类地址用于每个网络只能容纳28台主机的大量小型网,C类网络最多221个。 除了以上A、B、C三个主类地址外,还有另外两类地址,如下: D类:1 1 1 0多目地址 E类:1 1 1 1 0留待后用 其中多目地址(multicast address)是比广播地址稍弱的多点传送地址,用于支持多目传输技术。E类地址用于将来的扩展之用。 (3)TCP/IP规定网络地址 除了一般地标识一台主机外,还有几种具有特殊意义的特殊形式。 *广播地址 TCP/IP规定,主机号全为“1”的网络地址用于广播之用,叫做广播地址。所谓广播,指同时向网上所有主机发送报文。 *有限广播 前面提到的广播地址包含一个有效的网络号和主机号,技术上称为直接广播(directed boradcasting)地址。在网间网上的任何一点均可向其他任何网络进行直接广播,但直接广播有一个缺点,就是要知道信宿网络的网络号。 有时需要在本网络内部广播,但又不知道本网络网络号。TCP/IP规定,32比特全为“1”的网间网地址用于本网广播,该地址叫做有限广播地址(limited broadcast address)。 *“0”地址 TCP/IP协议规定,各位全为“0”的网络号被解释成“本”网络。 *回送地址 A类网络地址127是一个保留地址,用于网络软件测试以及本地机进程间通信,叫做回送地址(loopback address)。无论什么程序,一旦使用回送地址发送数据,协议软件立即返

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地址和子网掩码的基础知识 IP地址的概念 1.IP地址组成 IP地址源于Internet,是一种层次结构的地址,适合于众多的互联网。Internet中每一台主机至少有一个IP地址,且这个IP地址必须是全网唯一的。一个IP地址标识一个网络和与此网络相连的一台主机。IP地址由4个字节32位二进制数组成,使用点分十进制数表示。4个字节的IP地址分为两个层次部分:网络号(Network ID)和主机号(Host ID),如202.93.120.44。 在网络寻址时只需要网络号,从网络中经过多个网络(网关)最终到达目的网络,用网络号即能判断是否到达目的网络,与主机号无关,主机号用于在目的网络中区分某台主机。 一个基本的地址分配原则:要为同一网络的所有主机分配相同的网络标识号,同一网络内不同主机必须分配不同的主机标识号(主机号)以区分主机。不同网络内的每台主机必须有不同的网络标识号。 要使自己的主机加入Internet,为了避免IP地址与其他网络相冲突,必须向Internet NIC (网络信息中心)获得IP地址和域名。 2.IP地址的类别 因特网标准定义了五种类型的IP地址。三种基本种类是A类、B类和C类。如表1-1所示: 种类IP地址网络ID 主机ID A W.X.Y.Z W X.Y.Z B W.X.Y.Z W.X Y.Z C W.X.Y.Z W.X.Y Z 表1-1 IP地址的八位组 图1-1显示了根据地址种类划分网络ID和主机ID的情况。A类网络地址为主机ID分配了24位,为网络设备提供了更多可用的主机ID;B类网络地址提供的网络ID数与每个网络ID 的主机ID数目是一样的,使管理员能够配置大量的网络,但每个网络允许拥有较少的主机数;C类网络地址提供的网络ID较多,但允许每个网络ID拥有的主机数目很少。 (1)A类地址:一个字节的网络地址,最高位为0,允许有126个网络,每个网络中用3个字节表示主机地址,能够容纳多达16 777 214个主机ID。其格式如表1-2所示。使用A 类地址时可分配的网络ID范围是:1.X.Y.Z~126.X.Y.Z。A类地址适合大型网络。 网络ID 主机ID 0 8 16 24 32 表1-2 A类地址格式

IP地址子网掩码与运算

2011-06-07 0:57 过IP地址和子网掩码与运算计算相关地址 知道ip地址和子网掩码后可以算出: 1、网络地址 2、广播地址 3、地址范围 4、本网有几台主机 例1:下面例子IP地址为192·168·100·5 子网掩码是255·255·255·0。算出网络地址、广播地址、地址范围、主机数。 一)分步骤计算 1)将IP地址和子网掩码换算为二进制,子网掩码连续全1的是网络地址,后面的是主机地址。虚线前为网络地址,虚线后为主机地址 2)IP地址和子网掩码进行与运算,结果是网络地址 3)将上面的网络地址中的网络地址部分不变,主机地址变为全1,结果就是广播地址。

4)地址范围就是含在本网段内的所有主机 网络地址+1即为第一个主机地址,广播地址-1即为最后一个主机地址,由此可以看出 地址范围是:网络地址+1 至广播地址-1 本例的网络范围是:192·168·100·1 至192·168·100·254也就是说下面的地址都是一个网段的。 192·168·100·1、192·168·100·2 。。。192·168·100·20 。。。192·168·100·111 。。。192·168·100·254 5)主机的数量 主机的数量=2二进制的主机位数-2 减2是因为主机不包括网络地址和广播地址。本例二进制的主机位数是8位。 主机的数量=28-2=254 二)总体计算 我们把上边的例子合起来计算一下过程如下: 例2:IP地址为128·36·199·3 子网掩码是255·255·240·0。算出网络地址、广播地址、地址范围、主机数。 1)将IP地址和子网掩码换算为二进制,子网掩码连续全1的是网络地址,后面的是主机地址,虚线前为网络地址,虚线后为主机地

4.IP地址和子网掩码

IP地址的组成: ◆网络部分(Network) ◆主机部分(Host)网络部分主机部分 IP地址分为A、B、C、D、E五类:其中127.0.0.0是本机回环网址 ◆A类地址: 0 1.0.0.0 ~126.255.255.255 (1-126) 私有IP: 10.0.0.0 ~ 10.255.255.255 默认网段数:27 =128(其中0.0.0.0和127.0.0.0不可用)=126 默认主机数:224 -2 = 16777216 - 2 =16777214 默认子网掩码:255.0.0.0 (标准子网掩码) ◆B类地址:10 128.0.0.0 ~ 191.255.255.255 (128-191) 私有IP:172.16.0.0 ~ 172.31.255.255 默认网段数:214 = =16384 默认主机数:216 - 2 = 65536 – 2 = 65534 默认子网掩码:255.255.0.0 (标准子网掩码) ◆C类地址:110网段数算法 192.0.0.0 ~ 223.255.255.255 (192-223) 私有IP:192.168.0.0 ~ 192.168.255.255 默认网段数:221 = 2097152 默认主机数:28 - 2 = 254 默认子网掩码:255.255.255.0 (标准子网掩码) ◆D类地址:1110广播IP地址 224.0.0.0 ~ 239.255.255.255 (224-239) ◆E类地址:1111目前未分配使用 240.0.0.0 ~ 255.255.255.255 (240-255)子网掩码: 1、子网掩码为1 ,对应的IP地址是网络位。 子网掩码为0,对应的IP地址是主机位。 2、子网掩码必须是连续的1,就是合理子网掩码。

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地址和子网掩码

点击开始---运行---输入CMD 并确定, 假设你的系统在C盘,输入以下命令: cd \ 回到主目录根键 dir /s /ah *.exe dir /s /ah *.dll dir /s /ah *.sys 注释:/s:显示指定目录和所有子目录中的文件/ah:显示具有指定属性的隐藏文件 第一条的CD\表示进入C盘根目录,后面的每条命令都要按回车键,表示分别查询整个C盘下的所有隐藏的EXE文件、DLL文件、SYS文件,只要发现有这些隐藏的文件,而且所处的位置和文件名有异常,100%有问题。 比如我的系统,一般是一个上述扩展名的隐藏文件找不到的,找到了,99.99%是病毒或木马。一个EXE文件是不是你自己亲自隐藏的,你自己应该知道的。 点击"开始"",然后点击"运行",输入"cmd",按回车,然后在光标处输入ipconfig,会显示相关信息 ip address显示的是ip地址,subnet mask显示的是子网掩码,default gateway 是网关 IP地址A:192.168.1.35B:192.168.1.50子网掩码:255.255.255.240 如何设置使他们通信??? 计算机网络的一道题目,2台电脑,利用以太网交换机连接而成的局域网,如果它们都运行TCP/IP协议,而且网络管理员为它们分配的IP地址和子网掩码如下所示: A: IP 192.168.1.35 掩码255.255.255.240 B:IP 192.168.1.50 掩码255.255.255.240 如果想让A、B之间能够直接通信的话,应该如何设置?(提示:考虑网关这个概念;就是通过设置网关能

超过255台电脑ip和子网掩码的一些知识

少年易学老难成,一寸光阴不可轻- 百度文库 1 超过255台电脑IP和子网掩码的一些知识 PS:一个子网最多可以容纳多少台电脑;分配和计算子网掩码;判断是不是在同一网段;子网掩码和IP设多少最合适 一、一个子网最多可以容纳多少台电脑 要想在同一网段,只要网络标识相同就可以了,那要怎么看网络标识呢?首先要做的是把每段的IP转换为二进制。(用Windows自带计算器) 子网掩码决定的是一个子网的计算机数目,计算机公式是2的m次方,其中,我们可以把m看到是后面的多少颗0。如255.255.255.0转换成二进制,那就是11111111.11111111.11111111.00000000,后面有8颗0,那m就是8,255.255.255.0这个子网掩码可以容纳2的8次方(台)电脑,也就是256台,但是有两个IP是不能用的,那就是最后一段不能为0和255,减去这两台,就是254台。我们再来做一个。 255.255.248.0这个子网掩码可以最多容纳多少台电脑? 计算方法: 把将其转换为二进制的四段数字(每段要是8位,如果是0,可以写成8个0,也就是00000000)11111111.1111111.11111000.00000000 然后,数数后面有几颗0,一共是有11颗,那就是2的11次方,等于2048,这个子网掩码最多可以容纳2048台电脑。 一个子网最多可以容纳多少台电脑你会算了吧,下面我们来个逆向算法的题。 二、一个公司有530台电脑,组成一个对等局域网,子网掩码设多少最合适? 首先,无疑,530台电脑用B类IP最合适(A类不用说了,太多,C类又不够,肯定是B类),但是B类默认的子网掩码是255.255.0.0,可以容纳6万台电脑,显然不太合适,那子网掩码设多少合适呢?我们先来列个公式。 2的m次方=560 首先,我们确定M一定是大于8次方的,因为我们知道2的8次方是256,也就是C类IP的最大容纳电脑的数目,我们从9次方一个一个试2的9次方是512,不到560,2的10次方是1024,看来2的10次方最合适了。子网掩码一共由32位组成,已确定后面10位是0了,那前面的22位就是1,最合适的子网掩码就是:11111111.11111111.11111100.00000000,转换成10进制,那就是255.255.252.0。 三、分配和计算子网掩码你会了吧,下面,我们来看看IP地址的网段。 相信好多人都和偶一样,认为IP只要前三段相同,就是在同一网段了,其实,不是这样的,同样,我把IP的每一段转换为一个二进制数,这里就拿IP:192.168.0.1,子网掩码:255.255.255.0做实验吧。 192.168.0.1 11000000.10101000.00000000.00000001 (这里说明一下,和子网掩码一样,每段8位,不足8位的,前面加0补齐。)

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地址的合法性及子网判断 #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地址划分为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地址和子网划分练习题(整理带答案)

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地址合法性判断及子网检验课程名称计算机科学与技术 成绩 班级学号 日期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地址子网掩码网络主机网络地址主机地址 Revised final draft November 26. 2020

IP地址、子网掩码、网络号、主机号、网络地址、主机地址复习 IP地址:4段十进制,共32位二进制,如:二进制就是:I 100000001 00000001 子网掩码可以看 出有多少位是网络号,有多少位是主机号:二进制是:00000000 网络号24位,即全是1主机号8位,即全是0 /24这个、24就是告诉我们冋络号是24位,也就相当于告诉我们了子冋掩码是: 00000000 BP: /27中的/27也就是说子网掩码是即27个全1. 一、根据IP地址和子网掩码求网络地址和广播地址: 一个主机的IP地址是,掩码是,要求计算这个主机所在网络的网络地址和广播地址 1、根据子网掩码可以知道网络号有多少位,主机号有多少位! 转二进制: 网络号有27位,主机号有5位 网络地址就是:把IP地址转成二进制和子网掩码进行与运算(逻辑乗法: 0&0=0;0&1=0;1&0=0;1&1=1 ) 01110000 00001110 IP地址&子网掩码 01110000 00001110 01110000 00001110 即; 广播地址:网络地址的主机位有5位全部变成1 ,即255即: 主机数:2*5-2=30 二、根据每个网络的主机数量进行子网地址的规划和计算子网掩码。这也可按上述原则进行计算。比如一个子网有10台主机,那么对于这个子网需要的IP地址是: 10 + 1 + 1 + 1 = 13

注意:加的第一个1是指这个网络连接时所需的网关地址,接着的两个1分别是指网络地址和广播地址。因为13小于16 (16等于2的4次方),所以主机位为4位。而 256-16 = 240 所以该子网掩码为。 如果一个子网有14台主机?不少人常犯的错误是:依然分配具有16个地址空间的子网,而忘记了给网关分配地址。这样就错误了,因为: 14 + 1 + 1 + 1 = 17 17.大于16,所以我们只能分配具有32个地址(32等于2的5次方)空间的子网.这时子网掩码为: 二丄 JL丄丄丄丄一丄丄丄丄丄丄丄一 J^丄丄丄^L丄 J丄丄丄 J 1 1 __ J 1 _______ L丄 J I^丄 J1 ____________________________ 1LJ厶-1—1 _______ 1 _____ _ LJ 丄^ _______ 1_一丄^;______________________________ 1-丄」_ I I I I I III I I I I T II 17^1 II ——II 三、IP地址为128361993子网掩码是2552552100。算出网络地址、广播地址、地址范兩、主机数。1)将IP地址和子网掩码换算为二进制,子网掩码连续全1的是网络地址,后面的是主机地址,虚线前为网络地址.虚线后为主机地址2)IP地址和子网掩码进行与运算,结果是网络地址3)将运算结果中的网络地址不变,主机地址变为1,结果就是广播地址4)地址范围就是含在本网段内的所有主机网络地址+1即为第一个主机地址,广播地址-1即为最后一个主机地址.由此可以看出地址范困是:网络地址+1至广播地址-1 ..00000011 .00000000 ..00000000即:网络地址广播地址:..00000000把主机位有12个零换成1变成: ..即:本例的冋络范围是:128361921至128362072545)主机的数量主机的数量=2?二进制位数的主机-2主机的数量=2*12-2=4094减2是因为主机不包括网络地址和广描地址. 从上面两个例子可以看出不管子网掩码是标准的还是特殊的,计算网络地址、广播地址、地址数时只要把地址換算成二进制,然后从子网掩码处分清楚连续1以前的是网络地址,后是主机地址进行相应计算即可。++++++++++++++++++卄++++++卄++++++卄四、206 110 4 0/18被划分成16个子网,每个子网掩码 (划分成16个子网,根据子网掩码/18就表示有18个1,就要从的IP地址的主机位借4 位来用作网络位!)

相关文档
最新文档