华南农业大学课程设计报告_第1页
华南农业大学课程设计报告_第2页
华南农业大学课程设计报告_第3页
华南农业大学课程设计报告_第4页
华南农业大学课程设计报告_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

华南农业大学课程设计报告所属课程名称:计算机网络及其应用计划学时:2周开设时间:2005学年第一学期 授课学生: 02计算机科学与技术2班 授课人数: 人指导教师:周敏华 南 农 业 大 学 信 息 学 院计算机网络课程设计成绩单开设时间:2005年第一学期专业计算机科学与技术班 级02计2小组人数:1成员冯绍欣课程设计目的IP地址的合法性及子网的判断成员分配教 师 评 语评价指标:l 题目内容完成情况 优 良 中 差 l 对原理的理解程度 优 良 中 差 l 报告结构清晰 优 良 中 差 l 总结和分析详尽 优 良 中 差 成绩教师签名:1)课程设计目的 了解IP地址的定义,划分和子网的概念。(2)课程设计要求 1输入命令格式:IP_test subnet/mask ip_addr 2判断subnet和ip_addr的合法性3判断掩码的合法性 4在IP地址合法的前提下,判断ip_addr是否属于子网subnet(3)相关知识 因特而的网际协议IP,划分子网(4)程序函数分析 compart()字符串分隔转十进制函数:把存放到subnet20,mask20,ip20的标准十进制表示的地址分隔成4个不含点的字符串放到字符数s15,s25,s35,s45中,再用atoi()转成十进制放到指针*x,*y,*z,*w当中。具体做法是用3个整形参数p1,p2,p3存放扫描到subnet20,mask20,ip20的点并记录其位置,然后把位置0,p1,p2,p3,末端位置之间的字符分别传到s15,s25,s35,s45,再调用atoi()转成十进制。 ipvalidity()判断ip合法与否函数:把已经转成十进制的地址传入(4个十进制数),最高位范围是1223,其他位是0255,然后根据范围作出判断是否合法。 maskvalidity()判断mask是否合法函数:用数组a7存放8位二进制数从左到右连续位1时的十进制值,255除外,共7个。最高位x!=255时,判断x是否在a中,并且后面三个字节是否都为0,则是合法,否则违法。次高位y!=255时,判断y是否在a中,并且后面两个字节是否都为0,或者x=255,y,z,w是否都为0合法,是合法,否则都违法。下面如次类推。check()判断ip是否属于子网函数:mask和ip相与,放到b中,存放subnet的a和b相等则ip属于subnet (5)源程序连注析: #include Stdio.h#include Conio.h#include string.hcompart(char string20,int *x,int *y,int *z,int *w) /*把subnet20,mask20,ip20*/ int i,j=0,p1,p2,p3,slen; /*转为十进制放到a,b,c中*/ char s15,s25,s35,s45; slen=strlen(string); for(i=0;i=slen;i+) if(stringi=.) p1=i; break; for(i=p1+1;i=slen;i+) if(stringi=.) p2=i; break; for(i=p2+1;i=slen;i+) if(stringi=.) p3=i; break; for(i=0;ip1;i+) s1j=stringi; j+; s1j=0; j=0; for(i=p1+1;ip2;i+) s2j=stringi; j+; s2j=0; j=0; for(i=p2+1;ip3;i+) s3j=stringi; j+; s3j=0; j=0; for(i=p3+1;islen;i+) s4j=stringi; j+; s4j=0; *x=atoi(s1); /*字符串转十进制*/ *y=atoi(s2); *z=atoi(s3); *w=atoi(s4);ipvalidity(int x,int y,int z,int w) /*根据IP地址的范围判断IP是否合法*/ int sign=1; /*IP合法sign为1,否则为0*/ while(1) if(x223) printf(The IP is irregularity!n); sign=0; break; if(y255|z255|w255) printf(The IP is irregularity!n); sign=0; break; if(w255) printf(The IP is irregularity!n); sign=0; break; break; return(sign);maskvalidity(int x,int y,int z,int w) /*判断mask是否合法*/ int i,flag; int a7=128,192,224,240,248,252,254; /*a7存放8位二进制数从左到右连续位1时的十进制值,255除外*/ while(1) if(x!=255) for(i=0;i7;i+) /*x!=255时,判断x是否在a中,并且后面三个字节都为0,则是合法*/ if(x=ai&y=0&z=0&w=0) /*否则违法*/ flag=0; break; else flag=1; if(flag=1) printf(The mask is irregularity!n); break; if(y!=255) /*y!=255时,判断y是否在a中,并且后面两个字节都为0,则是合法*/ for(i=0;i7;i+) if(y=ai&z=0&w=0|y=0&z=0&w=0) /*或者x=255,y,z,w都为0合法,否则都违法*/ flag=0; break; /*下面如次类推*/ else flag=1; if(flag=1) printf(The mask is irregularity!n); break; if(z!=255) for(i=0;i7;i+) if(z=ai&w=0|z=0&w=0) flag=0; break; else flag=1; if(flag=1) printf(The mask is irregularity!n); break; if(w!=255) for(i=0;i7;i+) if(w=ai|w=0) flag=0; break; else flag=1; if(flag=1) printf(The mask is irregularity!n); break; check(int a1,int a2,int a3,int a4,int b1,int b2,int b3,int b4,int c1,int c2,int c3,int c4) b1=b1&c1;b2=b2&c2;b3=b3&c3;b4=b4&c4; /*mask和ip相与,放到b中,存放subnet的a和b相等*/ if(a1=b1&a2=b2&a3=b3&a4=b4) /*则ip属于subnet*/ printf(n the ip in the subnet!); else printf(n the ip out the subnet!);main(int argc,char *argv) /*指针数组作为main的参数*/int a1,a2,a3,a4; /*a,b,c分别存放subnet,mask,ip的4位十进制的数*/ int b1,b2,b3,b4; int c1,c2,c3,c4; int i,j=0,t,z,sign1,sign2; /*sign1,sign2分别是subne,ip是否合法的标志位*/ char s50,subnet20,mask20,ip20; strcpy(s,argv1); /*下面是把截取到的字符串分别放到subnet20,mask20,ip20*/ strcpy(ip,argv2); z=strlen(s); for(i=0;i=z;i+) if(si=/) t=i; for(i=0;it;i+) subneti=si; for(i=t+1;i=z;i+) if(si!= ) maskj=si; j+; maskj=0; compart(subnet,&a1,&a2,&a3,&a4); /*截取subnet的各字节,以十进制放到a1,a2,a3,a4中*/ compart(mask,&b1,&b2,&b3,&b4); compart(ip,&c1,&c2,&c3,&c4); sign1=ipvalidity(a1,a2,a3,a4); /*判断subnet是否合法*/ sign2=ipv

温馨提示

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

评论

0/150

提交评论