网络课程设计报告IP地址的合法性及子网判断_第1页
网络课程设计报告IP地址的合法性及子网判断_第2页
网络课程设计报告IP地址的合法性及子网判断_第3页
网络课程设计报告IP地址的合法性及子网判断_第4页
网络课程设计报告IP地址的合法性及子网判断_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中国计量学院现代科技学院课程设计报告本课程设计名称IP地址的合法性及子网判断0一、设计的目的和要求…………………1二、设计任务……………2二、设计万案分析………2(一)总体设计……………………2四、调试与运行………4(一)调试中遇到的问题和解决办法……………4(二)运行说明…………………5五、设计体会与建议…………………8附录二:源代码……………91中国计量学院现代科技学院课程设计报告P.1IP合法性和子网的判断一、设计的目的和要求掌握IP地址的分类,准确理解子网、掩码的概念,确切地明了IP地址的合法格式。并判断该地址是否属于一个给定的子网。判断IP地址属于ABC那类网。2.要求于子网。IPAddresssubnet_address/maskip_address2)判断IP地址属于ABC那类网。3)判断subnet和ip_addr的合法性。在判断IP地址合法性时要自行编写代码,不要使用任何inet函数。判断时要譬如说mask的值为负数或者大与32,这时输入的掩码就不合法。5)在IP地址合法,掩码合法以及子网号也合法的前提下,判断ip_addr是6)输出命令行中的ip是否合法,掩码是否合法,子网号码是否合法(可适当给出不合法的原因)以及ip_addr是否属于子网subnet。7)还可以判断子网号,主机号全0,全1问题。中国计量学院现代科技学院课程设计报告P.221.分别输入子网号、掩码和IP地址。3.如果三者的基本格式都合法,才调用判定"IP地址是否为子网成员"的函数。该函数同时判别子网号与掩码是否匹配,子网号为全0或全1,主机号为全4.如果三者的基本格式都合法,判断IP地址属于ABC哪类网中国计量学院现代科技学院课程设计报告P.33X妆数=47Y品否为真NYN程字能宏(33理施内两非法YNN(程序流程图-1)4中国计量学院现代科技学院课程设计报告P.4(二)模块设计IPIP合法性及子网的判断解析输入的IP统计同一IP包数量(模块流程图-2)行结果都显示:subnetisinvalid。我们分析了很久也找不到原因,无奈我们再一次寻求同学的帮助。他只是把整个程序大致浏览了一下就发现了错误,原来我们把charip[15],charsubnetPlusMask[18],charsubnet[18],charTempIp[15]然后在(iSubA&iMask)中发现了问题所在。3.出现很多的地方少了},然后经过我详细的查找得以解决。4.发现很多词语没有定义,然后经过查找发现定义类时,单词打错了。中国计量学院现代科技学院课程设计报告P.55(二)运行说明文件路径下),再进行打入TestIP(程序文件名)192.168.1.0/24192.168.1.55(IPAddresssubnet_address/maskip_address),然后会出现运行(三)运行效果展示(1)在命令提示窗口中输入命令:TestIP192.1/33198.1.1;8营理员:8营理员:C:windows\system32\cmd.exe-TestiP256.11.0/24256.1.1.55D:NkesjDebug>TestIP192.1/3319ip地址:naskerror!<mask为整数并在-32范围内>地址256.1.1.0中含有不在-255间的数字error?nask合法!ip地址非法!请按任意键继续。详细的判断IP地址、子网地址、掩码的合法性6中国计量学院现代科技学院课程设计报告P.6(2)在命令提示窗口中输入命令:TestIP19.16.1.0/2419.16.1.55D:kcsjDebug>TestIPD:kcsjDebug>TestIP19.16.1.0/2419.16.1请按任意键继续。Ip地址属于类网IP地址:168.125.168.192168.125.168.192不属于192.16.1.0这一子网请按任意键继续..IP地址不属于该子网,并且IP地址属于B类网ip地址合法中国计量学院现代科技学院课程设计报告P.77(4)在命令提示窗口中输入命令:TestIP192.168.1.0/24192.168.2.55D:kcsjD:kcsjDebug>TestIPTP地址:192.168.2.55不属于192.168.1.0这一子网请按任意键继续.IP地址不属于该子网,并且IP地址属于C类网__ip地址合法!TP地址:192.168.1.55属于192.168.1.日这请按任意键继续..IP地址属于该子网,并且IP地址属于C类网8中国计量学院现代科技学院课程设计报告P.8五、设计体会与建议加深入的学习了C语言,并利用所学知识设计,充分锻炼,增强了我的程序设计能力,使我加深了对理论知识的理解和掌握。充分体会到了理论固然重要,如果没有实践去验证,那也只是停在理论层面上,它的现实意义将无法得到体现。所以,这次课程设计是理论与实践的结合,增强了我在这方面的我对IP地址的分类以及子网划分有了更加深刻的理解。我解决了这些问题,并学到了很多知识,在此,对老师和同学表示真挚的感附录一:参考文献[1]魏权龄.数据包络分析(DEA)[J].科学通报,2000,45(17):1793-1808.[2]张尧学,郭国强,王晓春,赵艳标。计算机网络与Internet教程[第2版]。清华大学出版社,2006,11。[3]谢希仁,计算机网络(第5版),电子工业出版社,2008-01[4]谢希仁,计算机网络释疑与习题解答,电子工业出版社,2中国计量学院现代科技学院课程设计报告P.99附录二:源代码charip[15];//用于存放ip地址charip_Temp[15];//用于存放ip地址charsubnet_mask[18];//用于存放subnet_mask地址charsubnet[18];//用于存boolmaskIsValid;//用于判断的个数是否合适,或是否与subnet匹配boolipIsValid(char*);//判断ip是否合法boolsubnetIsValid(char*);//判断子网号subnet是否合法boolNolllegalChar(char*);//ip,subnet地址中非法字符的判断voidAllJudgment();//判断mask,subnet,ip的合法性问题voidprint();//判断ip是否为子网成员,并输出判断结果voidsplit(char*,int*);//把单个字符地址转换为十进制数值型地址(含四段)inttoBinary(inta);//十进制int型数据转换为二进制int型数据char*toString(int*a);//把二进制int型数据转换为一个整体的二进制字符型数据//main主函数{ 中国计量学院现代科技学院课程设计报告P.10cout<<"ip地址:"<<argv[2]<<endk<endl;//argv[2]表示第三个参数,即ip总是有的cout<<"输入非法!";}{{)})//先简单判断ip的长度{cout<<"ip输入非法!";}}test.AllUudgment();//调用函数,判断mask,subnet,ip的合法性问题中国计量学院现代科技学院课程设计报告P.11{maskIsValid=true;//设置maskIsValid默认为合法/*******************从subnet/mask中分离出subnet地址***************/this->subnet_Temp[i]=subne}/**************************判断mask是否为数值************************/if(len-(i+1)<3&&len-(i+1)>0))//判断mask是否为一/二位字节//判断字符是否为数值型字符if(!isdigit(temp[0]))//isdigit()为库函数,可以调用{cout<<"mask中含有非数字的非法字符,error!"<<endl;maskIsValid=false;//mask不是数值,则设置为false}elseif((len-3)==i)//表明mask是二位if(!(isdigit(temp[0])&&icout<<"mask中含有非数字的非法字符,error!"<<endl;中国计量学院现代科技学院课程设计报告P.12}}}else//表明mask为空或字节超出范围maskIsValid=false;//若mask是三位数,则表明mask输入非法(其实为~32)/**************************}{boolsubnetIsV=subnetlsV//设置标记ip地址是否合法的bool型变量,并调用iplsValid函数判断数判断boolmaskIsMatSub=masklsMatSubnet(mask,subnet_Temp);/************************判断返回的值是否为真******************/中国计量学院现代科技学院课程设计报告P.13{cout<<"maskerror!(mask为整数并在-32范围内)"<<endl;}cout<<"mask合法!"<<endl;—}{}{cout<<"subneterror!"<<end}{}{cout<<"ip地址非法!"<<endl;中国计量学院现代科技学院课程设计报告P.14}{cout<<"ip地址合法!"<<endl;}//都合法{}}boolipTest::masklsMatSubnet(intmask,char*subnet_Temp){intnbsubnet[4];//用于放十进制的各段地址//subnet是A类地址if(nbsubnet[0]>0&&nbsubne{//mask的值小于if(nbsubnet[0]>=128&&nbsubnet{//mask的值小于}if(nbsubnet[0]>=192&&nbsubnet中国计量学院现代科技学院课程设计报告P.15}//mask与subnet地址匹配//把单个字符地址转换为十进制数值型地址(含四段){{addr[iplen]=atoi(dot[iplen]);//atoi()函数把字符数值转换为int型数值}}//ip,subnet地址中非法字符的判断{—{}//判断ip是否合法boolipTest::iplsValid(cha//库函数strtok(),以ch[]为界限来分段{token=strtok(NULL,ch);//此时,第一个参数必须换为N}{}intj,t=0;{{}{if(!NolllegalChar(dot[i])||if(!NollegalChar(dot[i]))//判断含有非法字符if(atoi(dot[i])>255)//判断数值溢出cout<<"地址"<<ip<<"中含有不在-255间的数字,error!"<<endl;梦intflag=1;//首先设置为非法,即全{){中国计量学院现代科技学院课程设计报告P.18flag=1;//首先设置为非法,即全{}intjl=0,j2;{//首先判断ip是哪类地址if(atoi(dot[0])>0&&at{jl=1;//直接从开始}{cout<<"ip地址"<<ip<<"网络号为!,error!"<<endl;}if(atoi(dot[0])>=128&&atoi(dot[0])<=19{j1=2;cout<<"Ip地址属于B类网"<<endl;中国计量学院现代科技学院课程设计报告P.19if(atoi(dot[0])>=192&&atoi(dot[0])<=223)//C类ip地址jl=3;cout<<"Ip地址属于c类网"<<endl;}if(atoi(dot[0])>223&&a{}{cout<<"ip地址"<<ip<<"网络号全为1,error!"<<endl;}j2=jl;/j1用于判断全情况,jl用于判断全情况的起始下标}}{中国计量学院现代科技学院课程设计报告P.20}{}}//判断子网号subnet是否合法boolipTest::subnetIsValid(char*subnet){{}}//判断ip是否为子网成员,并输出判断结果voidipTest:print(){intnbip[4],nbsubnet[4],i;strcp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论