文档库 最新最全的文档下载
当前位置:文档库 › IP地址合法性判断及子网检测 大学课程设计实验报告

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

IP地址合法性判断及子网检测 大学课程设计实验报告
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,亦可使用等)编程语言: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”,则该机地址是广播地址,而非主机的地址。

c、主机标识的各个位不能都为“0”,如果各个位都为“0”,则表示“只有这个网络”,而这个网络上没有任何主机。

3.确定子网掩码数

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

定义子网掩码的步骤为:

a、确定哪些组地址归我们使用。比如我们申请到的网络号为“128B类IP 地址,网络标识为“128.73”,主机标识为“”。

b、根据我们现在所需的子网数以及将来可能扩充到的子网数,用宿主机的一些位来定义子网掩码。比如我们现在需要12个子网,将来可能需要16个。用第三个字节的前四位确定子网掩码。前四位都置为“1”,即第三个字节为“,这个数我们暂且称作新的二进制子网掩码。

c、把对应初始网络的各个位都置为“1”,即前两个字节都置为“1”,第四个字节都置为“0”

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

掩码的标注

A、无子网的标注法

B、有子网的标注法

有子网时,一定要二者配对出现。以C类地址为例。IP地址中的前3个字节表示网络号,后一个字节既表明子网号,又说明主机号,还说明两个IP地址是否属于一个网段。如果属于同一网络区间,这两个地址间的信息交换就不通过路由器。如果不属同一网络区间,也就是子网号不同,两个地址的信息交换就要通过路由器进行。例如:假设maskwe为27,;2

Part 2具体实现

通过以上的原理,我们就知道了在检验IP地址和子网检验时应该明确的问题,关键的两点就是把输入的IP分解成各段,然后判断子网号,掩码和ip地址的基本格式是否合法,

其次:如果三者的基本格式都合法,才调用断定,ip地址是否为子网成员,的函数。该函数同时判别子网号与掩码是否匹配,子网号为全0或全1,主机号为全0、全1。

1.实现流程

2. 编程 本部分的编程的主要目的是算法的实现,主要的方法是C++中字符串处理。

(1)类设计

a.属性

char ip[15]; 法

构造函数,析构函数:

ipTest(char *,char *); 取参数

2.简单判断参数格式(长度)

3.若是正常参数,实例化 ipTest 类

4.调用主判断函数void AllJudgment() 判断

5.输出结果

(3)程序流程

(4)头文件

#include

#include <>

#include <>

#include <>

#include <>

#include <>

using namespace std;

五. 实验分析及测试

本部分测试了正常输入和非法输入时,程序对输入的判断,编程的环境为VS2008,在解决方案文件夹下面的Debug 文件夹里面生成可执行文件;运行MS-DOS ,进入Debug 文件夹进行测试。

1.算法正确性检测

(1)用正确格式和合法的数据的输入,测试Mask 和IP 的匹配

Mask:15和

16

结果截图:

(2)用正确格式和合法的数据的输入,测试主网和子网的匹配 Mask:18

所以可知:

0010 1100

2位相于,得:00 M0000 0000

2位相于,得:01 0111 0001

结果为不匹配。

截图:

0010 1100

2位相于,得:00 M0000 0000

2位相于,得:00 0011 0001

结果为匹配。

截图:

(3)补充说明:

ii)考虑(2)

2.输入合法性测试

本实验程序规定输入的标准参数输入,其中:X为0-255的十进制整数,mask为0-32的十进制整数,两个IP地址中间用空格分开,IP地址的为4段,每一段都用“.”分开,IP地址中允许出现空格或其他字符

(1)输入的IP地址中含有非法字符

测试数据: a2

子网IP:12e

Mask:1h

结果截图:

(2)输入的IP地址段数不正确

测试数据:主网IP:128..

子网IP:.

Mask:18

结果截图:

(3)没有输入mask

.11

结果截图:

(4)输入mask超出合法范围

Mask:35

结果截图:

(5)输入IP超出合法范围

Mask:25

结果截图:

(6)特殊的IP地址

测试数据:主网IP:0.0.0.0

Mask:0

结果截图:

测试数据:主网IP:0.0.0.0

Mask:0

结果截图:

六. 实验结论

本实验根据现在通用的IP地址分配使用规则,设计实验算法,运用C++字符转函数处理,程序实现了基本要求的功能,考虑到了多方面的因素;另一方面,设计之初的思路把此程序定位在接口工具程序,所以省略掉UI的设计,考虑到了扩展性的方面需要,程序提供简单、方便的接口和较为简单参数,方便扩展使用。

仍存在的问题:数据结构的设计不够清晰简练和方便使用,可读性不太好;

主函数流程存在一定的问题,理路不是很清晰,主要是类的各个方法的设计没有总体考虑,设计之初没有考虑,在需要时才加,导致程序结构有点乱,不易阅读和检查。

七. 附录源代码

说明:

源文件语言:C++

文件数:1

源文件名:

#include

#include <>

#include <>

#include <>

#include <>

#include <>

using namespace std;

;

char *token,*dot[4];

int iplen=0;

token=strtok(chaddr,ch);

while(token!=NULL)

{

dot[iplen]=token;

addr[iplen]=atoi(dot[iplen]);;

char ip_one[18];

strcpy(ip_one,ip);

char *token,*dot[4];

int iplen=0;

是否正确**********************/

int j,t=0;

for(j=0;j<=strlen(ip);j++)

{

if(ip[j]=='.')

{

t++;

}

}

if(t!=3)

{

cout<<"地址"<

return false;

}

/************************判断地址是否含有非法字符,每段地址数值溢出**********************/ int i;

for(i=0;i

{

if(!NoIllegalChar(dot[i]) || atoi(dot[i])>255)

{

if(!NoIllegalChar(dot[i])) //判断含有非法字符

cout<<"地址"<

if(atoi(dot[i])>255) //判断数值溢出

cout<<"地址"<

return false;

}

}

/*****************判断全或全的情况**************************/

int flag=1;//首先设置为非法,即全

for(i=0;i

{

if(atoi(dot[i])!=0)

{

//含有非的字段

flag=0;

}

}

if(flag==1)

{

cout<<"地址"<

return false;

}

flag=1;//首先设置为非法,即全

for(i=0;i

{

if(atoi(dot[i])!=255)

{

flag=0;

}

}

if(flag==1)

{

cout<<"地址"<

return false;

}

/**************以下判断ip地址主机号**********************/

int j1=0,j2;

//if(ip==ip_Temp)

{

//首先判断ip是哪类地址

if(atoi(dot[0])>0&&atoi(dot[0])<127) //A类ip地址

{

j1=1; //直接从开始

}

if(atoi(dot[0])==127) //为的特殊号

{

cout<<"ip地址"<

return false;

}

if(atoi(dot[0])>=128&&atoi(dot[0])<=191) //B类ip地址

{

j1=2;

}

if(atoi(dot[0])>=192&&atoi(dot[0])<=223) //C类ip地址

{

j1=3;

}

if(atoi(dot[0])>223&&atoi(dot[0])<255)

{

cout<<"请重新输入ip地址"<

return false;

}

/*

if(atoi(dot[0])==255)

{

cout<<"ip地址"<

return false;

}

*/

j2=j1; //j1用于判断全情况,j1用于判断全情况的起始下标

int flag=1;//首先设置为非法,即主机号全

for(i=j1;i

{

if(atoi(dot[i])!=0)

{

flag=0;

}

}

if(flag==1)

{

cout<<"ip地址"<

return false;

}

flag=1;//首先设置为非法,即全

for(i=j2;i

{

if(atoi(dot[i])!=255)

{

flag=0;

}

}

if(flag==1)

{

cout<<"ip地址"<

return false;

}

}

return true;

}

//判断子网号subnet是否合法

bool ipTest::subnetIsValid(char *subnet)

{

if(!ipIsValid(subnet)) //调用判断Ip的函数ipIsValid()进行判断

{

return false;

}

return true;

}

//判断ip是否为子网成员,并输出判断结果

void ipTest::print()

{

char subnet_one[15],ip_one[15];

int nbip[4],nbsubnet[4],i;

strcpy(subnet_one,subnet); //把subnet地址复制给subnet_one

strcpy(ip_one,ip); //把ipt地址复制给ip_one

//split()函数把字符型的地址转换为四段int型的地址

split(subnet_one,nbsubnet); //用subnet_one而非subnet是为了保护subnet地址不被破坏

split(ip_one,nbip);

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

{

nbip[i]=toBinary(nbip[i]);//将分离出来的十进制转换为二进制

nbsubnet[i]=toBinary(nbsubnet[i]);

}

char *cbip=new char[33];

char *cbsubnet=new char[33];

cbip=toString(nbip);//将二进制数组转换为位的二进制字符指针

cbsubnet=toString(nbsubnet);

for(i=0;i

{

if(cbip[i]!=cbsubnet[i])

{

cout<

//system("pause");

return;

}

}

cout<

//system("pause");

}

//十进制int型数据转换为二进制int型数据

int ipTest:: toBinary(int a)

{

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

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

return a%2+toBinary(a/2)*10; //递归调用

}

//把二进制int型数据转换为一个整体的二进制字符型数据

char * ipTest::toString(int *a)

{

//将二进制的数值数组转换个字符长的字符指针

char *temp=new char[33]; int i;

bool flag=false;

char *eight=new char(),*seven=new char(),*six=new char(),*five=new char(),*four=new char(),

*three=new char(),*two=new char(),*one=new char();

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

{

//char *itoa(int value,char *string,int radix)将整数value转换成字符串存入string,radix为转换时所用基数itoa(a[i]/1000000%10,seven,10);

itoa(a[i]/100000%10,six,10);//a[i]/100000%10为每段的高第三位二进制整数itoa(a[i]/10000%10,five,10);

itoa(a[i]/1000%10,four,10);

itoa(a[i]/100%10,three,10);

itoa(a[i]/10%10,two,10);

itoa(a[i]%10,one,10);

if(flag==true)

{

strcat(temp,eight);

}

else

{

//第一次循环时,执行此步骤;同时置flag=true保证以后循环不执行此步strcpy(temp,eight); //第一次循环的第一次传递用连接函数

flag=true;

}

strcat(temp,seven); strcat(temp,six); strcat(temp,five);

strcat(temp,four);

strcat(temp,three); strcat(temp,two); strcat(temp,one);

}

return temp;

}

子网划分路由配置实验报告

实验报告8

图1 (4)配置每台计算机的IP地址。 图2 配置PC0的IP地址 图3 配置PC1的IP地址 图4 配置PC2的IP地址

图5 配置PC3的IP地址 图6 配置PC4的IP地址 (5)配置路由器每个端口的IP地址。 (6)设置路由器中的路由表。 路由表设置要求网络中每个子网之间都可以连通,不考虑总结路由。 【BRANCH1的配置】 下面是配置BRANCH1的IP地址的过程,其它两个路由器的配置自行完成 (1)进入命令行 (2)进行以下操作(蓝色文字是需要输入的命令,红色文字是说明): Continue with configuration dialog? [yes/no]: no Press RETURN to get started! 进入控制台模式 Router>en 进入全局配置模式 Router#conf t Enter configuration commands, one per line. End with CNTL/Z. 修改路由器名称 Router(config)#hostname BRANCH1 配置Fa0/0的IP地址 BRANCH1(config)#int f0/0 BRANCH1(config-if)#ip addr 192.168.9.33 255.255.255.240 BRANCH1(config-if)#no shutdown

图7 按此方法配置其它两个路由器,此时可以测试各个子网和网关的连通情况。 (3)添加路由表。这里没有使用路由总结。 BRANCH1#conf t Enter configuration commands, one per line. End with CNTL/Z. BRANCH1(config)#ip route 192.168.9.32 255.255.255.240 f0/0 BRANCH1(config)#ip route 192.168.9.48 255.255.255.240 f0/1 BRANCH1(config)#ip route 192.168.9.0 255.255.255.224 192.168.9.130 BRANCH1(config)#ip route 192.168.9.64 255.255.255.240 192.168.9.130 BRANCH1(config)#ip route 192.168.9.80 255.255.255.240 192.168.9.130 返回控制台 BRANCH1(config)#^Z %SYS-5-CONFIG_I: Configured from console by console 查看路由表 BRANCH1#show ip route(抓图如下图8)

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子网划分VLAN示例

配置基于IP子网划分VLAN示例 组网需求 某企业网按照业务类型来分配IP子网,要求不同IP子网的用户采用不同的传输路径访问上游服务器。 如图1所示,Switch接收到用户报文有数据、IPTV、语音等多种业务,用户设备的IP地址各不相同。在Switch上配置基于IP子网划分VLAN,接口GE0/0/1在收到用户报文后可以按照不同的源IP地址将这些报文自动划分到指定的VLAN中,并向上游的目的设备传输。 图1 基于IP子网划分VLAN组网图 配置思路 采用如下的思路配置基于IP子网划分VLAN: 1.创建VLAN。 2.配置接口GE0/0/1的类型为Hybrid类型,并配置允许通过的VLAN。 3.配置接口GE0/0/2、GE0/0/3、GE0/0/4允许通过的VLAN。 4.配置基于IP子网划分VLAN,并在接口GE0/0/1上使能基于IP子网划分VLAN的功能。

数据准备 为完成此配置例,需准备如下的数据。 ?配置接口GE0/0/1以untagged方式加入VLAN100、VLAN200、VLAN300。 ?配置接口GE0/0/2、GE0/0/3和GE0/0/4以tagged方式分别加入VLAN100、VLAN200和VLAN300。 ?IP子网所需配置数据如表1所示。 操作步骤 1.创建VLAN # 在Switch上创建VLAN100、VLAN200 和VLAN300。 system-view [Quidway] vlan batch 100 200 300 2.配置接口 # 在Switch上配置接口GE0/0/1为Hybrid类型,并加入VLAN100、VLAN200和VLAN300。 [Quidway] interface gigabitethernet 0/0/1 [Quidway-GigabitEthernet0/0/1] port link-type hybrid [Quidway-GigabitEthernet0/0/1] port hybrid untagged vlan 100 200 300 [Quidway-GigabitEthernet0/0/1] quit # 在Switch上配置接口GE0/0/2加入VLAN100。

子网划分 实验报告

实验报告

1.实验题目:IP地址分类及子网划分 2.实验目的:1)掌握有类IP地址的使用及主机IP地址的配置; 2)掌握子网掩码及子网划分的使用 3.实验地点:计科楼201教室 4.实验设备及环境:安装win7系统的两台计算机、交换机、路 由器 5.实验过程: 1)ip地址划分 有一个公司有六个部门,申请了IP为211.237.222.0/32的地址,是给这个公司的每个部门划分一个子网。 答案:需要6个子网的话,必须要划分为8个子网,因为6不是2的整次方数。C类地址每段共有地址256个,划分为8个子网,每段有32个地址,第一个地址为子网地址,不可用;最后一个为广播地址,不可用,所以每段实际可用地址为30个。第一个子网和最后一个子网默认不用(如果不支持全0全1子网),也就是说8-2正好是6个子网。这样算下来,32*2+2*6=76,共计损失76个地址。 子网掩码是:256-32=224,255.255.255.224。 (1)理论IP:211.237.222.1~211.237.222.32,网关:211.237.222.1; 实际IP:211.237.222.2~211.237.222.31; (2)理论IP:211.237.222.33~211.237.222.64,网关:211.237.222.33; 实际IP:211.237.222.34~211.237.222.63; (3)理论IP:211.237.222.65~211.237.222.96,网关:211.237.222.65;

实际IP:211.237.222.66~211.237.222.95; (4)理论IP:211.237.222.97~211.237.222.128,网关:211.237.222.97; 实际IP:211.237.222.98~211.237.222.127; (5)理论IP:211.237.222.129~211.237.222.160,网关:211.237.222.129; 实际IP:211.237.222.130~211.237.222.159; (6)理论IP:211.237.222.161~211.237.222.192,网关:211.237.222.161; 实际IP:211.237.222.162~211.237.222.191; 2)vlan划分 第一台计算机的IP地址为:10.12.155.87 第二台计算机的IP地址为:10.12.156.173

ip子网划分计算题举例

ip子网划分计算题举例2007年03月29日星期四 09:13给定IP地址167.77.88.99和掩码255.255.255.192,子网号是什么?广播地址是什么?有效IP地址是什么? 167.77.88.99-->10100111.01001101.01011000.01100011 255.255.255.192-->11111111.11111111.11111111.11000000 两个转换成二进制 and一下得10100111.01001101.01011000.01000000 子网号167.77.88.64 广播地址为10100111.01001101.01011000.01111111 得167.77.88.127 有效ip地址:167.77.88.65-167.77.88.126 一个子网网段地址为5.32.0.0掩码为255.224.0.0网络,它允许的最大主机地址是(c ) A、5.32.254.254 B、5.32.255.254 C、5.63.255.254 D、5.63.255.255 网段为000000101。00100000。00000000。00000000。掩码为11111111。11100000。00000000。00000000。0代表主机位 主机位有21位。又因为主机位全1不能用。所以最大的情况为 000000101。00111111。11111111。11111110。换算位10进制应该是5.63.255.254 拓展: IP和子网掩码 我们都知道,IP是由四段数字组成,在此,我们先来了解一下3类常用的IP A类IP段 0.0.0.0 到127.255.255.255 B类IP段 128.0.0.0 到191.255.255.255 C类IP段 192.0.0.0 到223.255.255.255 XP默认分配的子网掩码每段只有255或0 A类的默认子网掩码 255.0.0.0 一个子网最多可以容纳1677万多台电脑 B类的默认子网掩码 255.255.0.0 一个子网最多可以容纳6万台电脑 C类的默认子网掩码 255.255.255.0 一个子网最多可以容纳254台电脑 188.188.0.111,188.188.5.222,子网掩码都设为255.255.254.0,在同一网段吗? 先将这些转换成二进制 188.188.0.111 10111100.10111100.00000000.01101111 188.188.5.222 10111100.10111100.00000101.11011010 255.255.254.0 11111111.11111111.11111110.00000000 分别AND,得 10111100.10111100.00000000.00000000 10111100.10111100.00000100.00000000 网络标识不一样,即不在同一网段。 一个公司有530台电脑,组成一个对等局域网,子网掩码设多少最合适? 首先,无疑,530台电脑用B类IP最合适(A类不用说了,太多,C类又不够,肯定是B类),但是B类默认的子网掩码是255.255.0.0,可以容纳6万台电脑,显然不太合适,那子网掩码设多少合适呢?我们先来列个公式。 2的m次方=560 首先,我们确定2一定是大于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。 RFC 1918中定义了在企业网络内部使用的专用(私有)地址空间,如下: A类:10.0.0.0-10.255.255.255 B类:172.16.0.0-172.31.255.255 C类:192.168.0.0-192.168.255.255 ip及掩码计算题 1. 19 2.168.1.0/24 使用掩码255.255.255.240 划分子网,其可用子网数为(),每个子网内可用主机地址数为() A. 14 14 B. 16 14 C. 254 6 D. 14 62

判断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地址子网划分实例

1.什么是IP地址? IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。目前还有些ip代理软件,但大部分都收费。 2.IP地址格式 IP地址是一个32位的二进制数,其中前面的一些位被称为网络地址,剩下的位则是主机地址。这32个二进制位被分割为4个“8位二进制数”(也就是4个字节),通常用“点分十进制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是0~255之间的十进制整数。例:点分十进IP地址(100.4.5.6),实际上是32位二进制数(01100100.00000100.00000101.00000110)。 由于IP地址分成了网络号和主机号两部分,设计者就必须决定每部分包含多少位。网络号的位数直接决定了可以分配的网络数(计算方法2^网络号位数-2);主机号的位数则决定了网络中最大的主机数(计算方法2^主机号位数-2)。然而,由于整个互联网所包含的网络规模可能比较大,也可能比较小,设计者最后聪明的选择了一种灵活的方案:将IP地址空间划分成不同的类别,每一类具有不同的网络号位数和主机号位数。依据IP地址中网络地址的位数不同,IP地址编址方案将IP地址空间划分为A、B、C、D、E五类,其中A、B、C是基本类,D、E类作为多播和保留使用。 3. IP地址子网划分及掩码计算实例 IP子网划分实例 子网划分有两种方式,按主机数,如下面的例子,另一种方法是按网络数 不管哪一种方法都离不开经典公式: HOSTS=2的N次方-2>=n ; 如果按主机划分:N为0的个数,n为主机数 如果按网络划分:N为1的个数,n为网络数 《一》关于子网划分的方法.及详细步骤.: 一个单位分配的IP是这样: 192.168.110.0/24 ,有四个部门:A. 100台机子;. B.32台机子;. C.20台机子;. D.25台机\\\\\\子,现将其分在不同的网段中,那么ABCD各部门的IP 地址段和子网掩码分别是多少? 解答: A.2^6-2=62<100<2^7-2=126 子网为:192.168.110.0掩码为:11111111.11111111.11111111.10000000 255.255.255.128 B.2^5-2=30<32<2^6-2=62 子网为:192.168.110.128 掩码为:11111111.11111111.11111111.11000000 255.255.255.192 C.2^4-2=14<20<2^5-2=30 子网为:192.168.110.192 掩码为:11111111.11111111.11111111.11100000 255.255.255.224 d和C一样 子网为:192.168.110.224 掩码为:11111111.11111111.11111111.11100000 255.255.255.224 《二》实例:把一个大网缩小为若干小网,叫子网,而要把一个或几个小网扩大为一个大网,叫超网,后者一般应用于电信等其它领域,我们不作讨论。

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地址的合法性及子网判断 #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 {

子网划分经典例子[1]

子网划分案例 例1:本例通过子网数来划分子网,未考虑主机数。 一家集团公司有12家子公司,每家子公司又有4个部门。上级给出一个172.16.0.0/16的网段,让给每家子公司以及子公司的部门分配网段。 思路:既然有12家子公司,那么就要划分12个子网段,但是每家子公司又有4个部门,因此又要在每家子公司所属的网段中划分4个子网分配给各部门。 步骤: A. 先划分各子公司的所属网段。 有12家子公司,那么就有2的n次方≥12,n的最小值=4。因此,网络位需要向主机位借4位。那么就可以从172.16.0.0/16这个大网段中划出2的4次方=16个子网。 详细过程: 先将172.16.0.0/16用二进制表示 10101100.00010000.00000000.00000000/16 借4位后(可划分出16个子网): 1) 10101100.00010000.00000000.00000000/20【172.16.0.0/20】 2) 10101100.00010000.00010000.00000000/20【172.16.16.0/20】 3) 10101100.00010000.00100000.00000000/20【172.16.32.0/20】 4) 10101100.00010000.00110000.00000000/20【172.16.48.0/20】 5) 10101100.00010000.01000000.00000000/20【172.16.64.0/20】 6) 10101100.00010000.01010000.00000000/20【172.16.80.0/20】 7) 10101100.00010000.01100000.00000000/20【172.16.96.0/20】 8) 10101100.00010000.01110000.00000000/20【172.16.112.0/20】 9) 10101100.00010000.10000000.00000000/20【172.16.128.0/20】 10) 10101100.00010000.10010000.00000000/20【172.16.144.0/20】 11) 10101100.00010000.10100000.00000000/20【172.16.160.0/20】 12) 10101100.00010000.10110000.00000000/20【172.16.176.0/20】 13) 10101100.00010000.11000000.00000000/20【172.16.192.0/20】

子网划分超详细的实例_看完必会

一、 IP和子网掩码 我们都知道,IP是由四段数字组成,在此,我们先来了解一下3类常用的IP A类IP段0.0.0.0 到 B类IP段到 C类IP段到 XP默认分配的子网掩码每段只有255或0 A类的默认子网掩码一个子网最多可以容纳1677万多台电脑 B类的默认子网掩码一个子网最多可以容纳6万台电脑 C类的默认子网掩码一个子网最多可以容纳254台电脑 要想在同一网段,只要网络标识相同就可以了,那要怎么看网络标识呢首先要做的是把每段的IP转换为二进制。 把子网掩码切换至二进制,我们会发现,所有的子网掩码是由一串连续的1和一串连 续的0组成的(一共4段,每段8位,一共32位数)。 . ..

这是A/B/C三类默认子网掩码的二进制形式,其实,还有好多种子网掩码,只要是一串连续的1和一串连续的0就可以了(每段都是8位)。如...00000000,这也是一段合法的子网掩码。 子网掩码决定的是一个子网的计算机数目,计算机公式是2的m次方,其中,我们可以把m看到是后面的多少颗0。如转换成二进制,那就是...00000000, 后面有8颗0,那m就是8,这个子网掩码可以容纳2的8次方(台)电脑,也就是256台,但是有两个IP是不能用的,那就是最后一段不能为0和255,减去这两台,就是254台。我们再来做一个。 这个子网掩码可以最多容纳多少台电脑 计算方法: 把将其转换为二进制的四段数字(每段要是8位,如果是0,可以写成8个0,也就是00000000) .1111111..00000000 然后,数数后面有几颗0,一共是有11颗,那就是2的11次方,等于2048,这个子网掩码最多可以容纳2048台电脑。 二、下面我们来个逆向算法的题。 一个公司有530台电脑,组成一个对等局域网,子网掩码设多少最合适

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地址合法性判断及子网检验课程名称计算机科学与技术 成绩 班级学号 日期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 地址的分类、点分十进制与二进制间转换、网络掩码,逻辑“与”操作等网络基础知识。需要进行子网规划一般两种情况: 一、给定一个网络,整网络地址可知,需要将其划分为若干个小的 子网 二、全新网络,自由设计,需要自己指定整网络地址 后者多了一个根据主机数目确定主网络地址的过程,其他一样。 我们先来讨论第一种情况: 例:学院新建 4个机房,每个房间有 25台机器,给定一个网络地址空间:192.168.10.0,现在需要将其划分为 4个子网。 分析: 192.168.10.0是一个 C 类的 IP 地址,标准掩码为:255.255.255.0 要划分为 4个子网必然要向最后的 8 位主机号借位,那借几位呢?我们来看要求:4 个机房,每个房间有 25 台机器,那就是需要 4 个子

网,每个子网下面最少 25 台主机。 考虑扩展性,一般机房能容纳机器数量是固定的,建设好之后向机房增加机器的情况较少,增加新机房(新子网)情况较多。(当然对于我们这题,考虑主机或子网最后的结果都是相同的,但如果要组建较大规模网络的时候,这点要特别注意。)我们依据子网内最大主机数来确定借几位。 使用公式 2 n -2>= 最大主机数 2 n -2 >= 25 2 5 -2 = 30 >= 25 所以主机位数 n为:5 相对应的子网需要借3 位

得到 6 个可用的子网地址:全部转换为点分十进制表示 注意在一个网络中主机地址全为 0 的 IP 是网络地址,全为 1 的 IP 是网络广播地址,不可用所以我们的子网地址和子网主机地址如下: 我们再来讨论一下第二种情况: 全新的网络,需要自己来指定整网络地址,这就需要先考虑选择 A类、B 类或 C类 IP 的问题,就像上例中的网络地址空间:192.168.10.0 不给定,任由自己选择,那,有的同学可能会说,直接选择 A类地址,

计算机网络实验3-子网掩码与划分子网实验报告

上机实验报告三 -、实验目的 (1 )掌握子网掩码的算法。 (2) 了解网关的作用。 (3) 熟悉模拟软件packet tracer5.3的使用。 二、实验内容 1.( 1) 17 2.16.0.220/25 和172.16.2.33/25 分别属于那个子网 DHCP a Static IP Address172.16.2.33 Subne t Ma sk255.2 55.255 A28 Default Gateway172.16.2.0|

(2) 192.168.1.60/25 和192.168.1.66/26 能不能互相Ping 通?为什么?

192.168.1.66 wi th 32 b/tes of da.ta : Re-cpi-e-sX Reque 日t R?qua ?t Pxngr a^ati.s 七工亡旦 f o£ 192 . ICS _L_ fiG : Packets: SsrLiE = 4r 2皀u 皀色i± = ID. Last = 4 (100% lnaa), 所以不能互相ping 通。 ⑶210.89.14.25/23 , 210.89.15.89/23 , 210.89.16.148/23 之间能否互相 PING 通,为什么? IP Configuration DHCP p Stntiw IP Address Subnet Mask Dsfault Gateway DNS Server Pinging POpinfl 152.163,1,66

POpinfl i 10.33,15. B3 Pinging 210. B3 .15.09 v±th 32. byte3 of data: Reply Sepiy Reply Reply tijiie=124ins TTL=1ZB tl=ia=^ 3M T3L=12S TTL=l*a TTL-120 P1.11T a ta ti s 1: i ?-=■ for-210.B9-1&-SS: Pmu此etm: Sent = 4 (Sec&i verl = 41 Last = 0 (05 I039) Appxovimat e round trip times in nd. LL i - seconds : Elniiraijn ?£2ms t HAxlnum ?Av?cag?* TEais 第一个和第二个之间能ping通。

IP子网划分经典案例总结

IP子网划分经典案例 2012年1月9日 --By Enki 问题:把一个C类的网络地址192.168.1.0划分为6个子网,请计算出每个子网的子网掩码以及相应的主机IP地址范围? 答案: 23-2>=6,所以可划分为8个等长子网,网络位从主机位借3位,每个子网可容纳2^5-2=30台主机,其中主机号全1全0不可用。 11000000.10101000.00000001.00000000~~11000000.10101000.00000001.10100000 这个范围是子网的网络地址,最后一节的前3位是子网地址,最后5位是主机号,范围是00001~~11110,每个子网是一样的。 当子网地址为11000000.10101000.00000001.00000000时 192. 168. 1. 0(借的3个网络位全为0) 主机IP地址范围为: 11000000.10101000.00000001.00000001~~11000000.10101000.00000001.0 0011110 其他子网依次类推即可 (每个网段第一个IP就是网络号,最后一个是广播地址) 子网1:网络号192.168.1.0地址范围:192.168.1.0~~192.168.1.31 子网2:网络号192.168.1.32地址范围:192.168.1.32~~192.168.1.63 子网3:网络号192.168.1.64 地址范围:192.168.1.64~~192.168.1.95 子网4:网络号192.168.1.96地址范围:192.168.1.96~~192.168.1.127 子网5:网络号192.168.1.128地址范围:192.168.1.128~~192.168.1.159 子网6:网络号192.168.1.160地址范围:192.168.1.160~~192.168.1.191 子网7:网络号192.168.1.192地址范围:192.168.1.192~~192.168.1.223 子网8:网络号192.168.1.224地址范围:192.168.1.224~~192.168.1.255 子网掩码是将网络号位全置1,主机号位全0, 这样IP地址和子网掩码做“与”运算就得到网络地址: 11111111.11111111.11111111.11100000 255.255.255.224(8个网段的子网掩码相同的,因为网络位数和主机位数是相同的) 子网掩码用来指明一个IP地址的哪些二进制位的是主机的网络位和主机位。 子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。 全1的是网络位,全0的是主机位,1表示忽略,0表示匹配;

实验2划分子网与连通性测试讲解

实验2 划分子网与连通性测试 实验学时:2 一、实验目的 掌握IP地址的分配和划分子网的方法。 二、实验环境 用以太网交换机连接起来的Win2003操作系统计算机和Boson NetSim模拟器。 三、实验内容及步骤 1、IP地址分配 2、划分子网 3、模拟器应用 四、相关理论 1. 常见的网络设备 1.1 集线器 集线器的英文称为“Hub”。“Hub”是“中心”的意思,集线器的主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。它工作于OSI(开放系统互联参考模型)参考模型第一层,即“物理层”。集线器与网卡、网线等传输介质一样,属于局域网中的基础设备,采用CSMA/CD(一种检测协议)访问方式。 集线器属于纯硬件网络底层设备,基本上不具有类似于交换机的"智能记忆"能力和"学习"能力。它也不具备交换机所具有的MAC地址表,所以它发送数据时都是没有针对性的,而是采用广播方式发送。也就是说当它要向某节点发送数据时,不是直接把数据发送到目的节点,而是把数据包发送到与集线器相连的所有节点,如图1所示。 图1-1 集线器部署图

图1-2 集线器hub 1.2 网桥 网桥(Bridge)也称桥接器,是连接两个局域网的存储转发设备,用它可以完成具有相同或相似体系结构网络系统的连接。一般情况下,被连接的网络系统都具有相同的逻辑链路控制规程(LLC),但媒体访问控制协议(MAC)可以不同。网桥是数据链路层的连接设备,准确他说它工作在MAC子层上。网桥在两个局域网的数据链路层(DDL)间接帧传送信息,起桥接的作用。 图1-3 网桥 1.3 交换机 交换机(Switch)也叫交换式集线器,是一种工作在OSI第二层(数据链路层),基于MAC (网卡的介质访问控制地址)识别、能完成封装转发数据包功能的网络设备。它通过对信息进行重新生成,并经过内部处理后转发至指定端口,具备自动寻址能力和交换作用。 交换机不懂得IP地址,但它可以“自学习”源主机的MAC地址,并把其存放在内部地

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地址,用来使路由器将一个分组以广播方式发送给特定网络上的所有主机。直接广播地址只能作为分组中的目的地址。物理网络采用的使点-点传输方式,分组广播需要通过软件来实现。

相关文档
相关文档 最新文档