版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计报告课程设计题目:子网划分工具的设计与实现专业:计算机科学与技术班级:18计-1 姓名:蔡庆龙学号:1867111116指导教师:赵宇红2020年12月22日内蒙古科技大学课程设计任务书课程名称计算机网络(工程类)设计题目子网划分工具的设计与实现指导教师赵宇红时间2020.12.14-2020.12.20一、教学要求通过课程设计,使学生在对计算机网络技术与发展整体了解的基础上,掌握网络的主要种类和常用协议的概念及原理,初步掌握以TCP/IP协议族为主的网络协议结构,培养学生在TCP/IP协议和LAN、WAN上的实际工作能力;学会网络构建、网络日常维护以及网络管理的方法,使学生掌握在信息化社会建设过程中所必须具备的计算机网络组网和建设所需的基本知识与操作技能。运用网络工程和软件工程思想,按照需求分析、规划、设计、配置的基本流程,经历一个完整的网络工程过程,培养学生调查研究、查阅技术文献、资料、手册以及编写技术文档的能力,培养学生将理论知识应用于实践的能力。二、设计资料及参数课程设计说明;案例参考;网络设计课件;备选题目;课程设计论文模板及要求;课程设计成绩评定表(过程检查、报告审阅、现场答辩);PacketTracer模拟器。三、设计要求及成果设计要求:(1)培养一定的自学能力和独立分析问题、解决问题的能力。包括学会自己分析解决问题的方法,对设计中遇到的问题,能通过独立思考、查阅工具书、参考文献,寻找解决方案。
(2)初步掌握计算机网络分析和设计的基本方法。通过分析具体设计任务,确定方案,画出具体的网络拓扑结构图,并写出具体配置步骤情况,提交正式课程设计总结报告打印及电子稿一份、PT模拟文件;
(3)每人独立进行选题,课程设计及论文要求独立完成,不得有相互抄袭现象。
报告内容包括:
①具体设计任务;
②基本思路及所涉及的相关理论;
③方案设计(主要网络设备、网络拓扑结构设计图);
④网络具体配置步骤及代码分析;
⑤设备选型及报价;
⑥模拟测试分析;
⑦总结四、进度安排第1天:确定设计题目,查阅并收集相关资料;第2天:需求分析,方案设计;第3天:画出解决该问题的拓扑结构图
;写出所需要做的主要配置步骤;第4、5天:按照设计任务及解决该问题的拓扑结构图,利用仿真软件组建网络环境
;按照配置步骤配置相关系统参数。详细观察设计结果及现象,分析其产生原因
;第6天:配置相关系统参数,调整设计方案;第7天:整理课程设计资料,撰写课程设计报告,提交正式课程设计报告书、课程设计答辩。五、评分标准考勤及过程检查占20%;课程设计论文30%;答辩综合评定50%;成绩采用五级分制评定。六、建议参考资料1《计算机网络课程设计》(第2版),吴功宜著,机械工业出版社2《计算机网络课程设计》,任兴田,王勇,杨建红
著,清华大学出版社目录TOC\o"1-2"\h\u23727内蒙古科技大学课程设计任务书 222410一、设计要求 332120二、子网划分理论基础 3151342.1子网数计算 3233092.2合法的子网 3315042.3各子网广播地址 4154292.4各子网范围? 429403三、程序流程 41709四、部分测试结果 5291614.1C类IP 650694.2B类IP 6154314.3A类IP 6116784.4分隔符使用错误 765834.5、子网掩码输入错误 7214384.6输入负数 711945五、参考资料 814106六、源代码 8一、设计要求 1.1编程实现一个子网划分的简单工具。 1.2能够根据用户输入的网络地址和子网掩码,判断出用户输入的合法性及网络的类别(A、B、C地址)。 1.3能够计算出下列参数:子网数及有效子网、每个子网的主机数、每个子网IP范围及广播地址。 1.4应有相应的帮助提示及良好的结果输出组织,易于用户使用和查看结果。二、子网划分理论基础2.1子网数计算有2^x个,其中x是子网掩码借用的主机位数。如:2/28,我们知道C类ip的默认子网掩码为:,而由上文的CIDR知识,我们了解到这个ip的实际子网掩码是:40。原本最后一个字节应该是0(00000000),现在却是240(11110000)。故其借用了主机位4位来充当网络位。2.2合法的子网算出子网的步长(增量)。一个例子是256-192=64,即子网掩码为192时,步长为64。从0开始不断增加剧,直到到达子网掩码值,中间的结果就是子网,即0、64、128和192,2.3各子网广播地址主机位全为1就是该子网的广播地址。一般我们这样计算:广播地址总是下一个子网前面的数.前面确定了子网为0、64、128和192,例如,子网0的广播地址为63,因为下一个子网为64;子网64的广播地址为127,因为下一个子网为128,以此类推。请记住,最后一个子网的广播地址总是2552.4各子网范围?合法的主机地址位于两个子网之间,但全为0和全为1的地址除外。例如,如果子网号(网段号)为64,而广播地址为127,则合法的主机地址范围为65-126,即子网地址和广播地址之间的数字。程序流程部分测试结果4.1C类IP4.2B类IP4.3A类IP4.4分隔符使用错误4.5、子网掩码输入错误4.6输入负数参考资料1《计算机网络课程设计》(第2版),吴功宜著,机械工业出版社2《计算机网络课程设计》,任兴田,王勇,杨建红著,清华大学出版社六、源代码//能够根据用户输入的网络地址和子网掩码,判断出用户输入的合法性及网络的类别(A、B、C地址)。 //能够计算出下列参数:子网数及有效子网、每个子网的主机数、每个子网IP范围及广播地址。packagecom.ziwanghuafen;importjava.io.*;publicclasshuafenziw{ publicstaticvoidmain(String[]args)throwsIOException{ Stringip;//用于接收IP Stringmask;//用于接收子网掩码 intai1=0; intai2=0; intai3=0; intbi1=0; intbi2=0; intci=0; intb_i=0; inta_i1=0; inta_i2=0; inta_i3=0; System.out.println("划分子网"); //输入要划分的IP地址:ip System.out.println("请输入网络地址(格式为:x1.x2.x3.x4):"); System.out.print("→:"); InputStreamReaderisr=newInputStreamReader(System.in); BufferedReaderbr=newBufferedReader(isr); ip=br.readLine(); if(ip.indexOf(".")==-1){ System.out.println("输入错误,请使用‘.’作为分隔符,请检查输入!"); return; } //截取x1 intindex1=ip.indexOf('.'); Stringst1=ip.substring(0,index1); intx1=Integer.parseInt(st1);//把String类型的st转化成int型 //截取x2 intindex2=ip.indexOf('.',index1+1); Stringst2=ip.substring(index1+1,index2); intx2=Integer.parseInt(st2);//把String类型的st转化成int型 //截取x3 intindex3=ip.indexOf('.',index2+1); Stringst3=ip.substring(index2+1,index3); intx3=Integer.parseInt(st3);//把String类型的st转化成int型 //截取x4 Stringst4=ip.substring(index3+1,ip.length()); intx4=Integer.parseInt(st4);//把String类型的st转化成int型 //判断IP是否合法 if(x1<0||x2<0||x3<0||x4<0){ System.out.println("输入错误,x1x2x3x4不为负数,请检查输入!"); return; } System.out.println("请输入子网掩码(格式为:m1.m2.m3.m4):"); System.out.print("→:"); mask=br.readLine(); //判断子网掩码分隔符 if(mask.indexOf(".")==-1){ System.out.println("输入错误,请使用‘.’作为分隔符,请检查输入!"); return; } //截取m1 intindex_m1=mask.indexOf('.'); Stringmst1=mask.substring(0,index_m1); intm1=Integer.parseInt(mst1);//把String类型的st转化成int型 //截取m2 intindex_m2=mask.indexOf('.',index_m1+1); Stringmst2=mask.substring(index_m1+1,index_m2); intm2=Integer.parseInt(mst2);//把String类型的st转化成int型 //截取m3 intindex_m3=mask.indexOf('.',index_m2+1); Stringmst3=mask.substring(index_m2+1,index_m3); intm3=Integer.parseInt(mst3);//把String类型的st转化成int型 //截取m4 Stringmst4=mask.substring(index_m3+1,mask.length()); intm4=Integer.parseInt(mst4);//把String类型的st转化成int型 //判断子网掩码是否合法 if(m1<0||m2<0||m3<0||m4<0){ System.out.println("输入错误,请检查输入!"); return; } if(m4!=0){ if(m1!=255||m2!=255||m3!=255){ System.out.println("输入错误,请检查输入!"); return; } } if(m3!=255&&m3!=0){ if(m1!=255||m2!=255||m4!=0){ System.out.println("输入错误,请检查输入!"); return; } } if(m2!=255&&m2!=0){ if(m1!=255||m3!=0||m4!=0){ System.out.println("输入错误,请检查输入!"); return; } } //判断A、B、C类 //A类 if(x1>0&&x1<=126){ System.out.println("本IP地址为:A类"); intab_m2=Integer.parseInt(Integer.toBinaryString(m2)); intab_m3=Integer.parseInt(Integer.toBinaryString(m3)); intab_m4=Integer.parseInt(Integer.toBinaryString(m4)); if(m2!=255){ Stringa1_zhujiwei=String.valueOf(11111111-ab_m2); inta1_zhujiweishu=a1_zhujiwei.length()+16;//主机位数 inta1_ziwangweishu=8-a1_zhujiwei.length();//子网位数 doublea1_ziwangshu=Math.pow(2,a1_ziwangweishu);//子网数 System.out.println("子网数为:"+a1_ziwangshu); System.out.println(""); doublea1_zhujishu=Math.pow(2,a1_zhujiweishu)-2;//每个子网的主机数 System.out.println("每个子网的主机数为:"+a1_zhujishu); System.out.println(""); inta1_ziwangzengliang=256-m2;//子网增量 while(ai1<=m2){ System.out.println("有效子网:"+st1+"."+ai1+"."+st3+"."+st4);//有效子网 if(x3==0&&x4==0){ System.out.println("广播地址:"+st1+"."+(ai1+a1_ziwangzengliang-1)+"."+255+"."+255);//每个子网的广播地址 System.out.println("IP范围:"+st1+"."+ai1+"."+0+"."+1+"~"+st1+"."+(ai1+a1_ziwangzengliang)+"."+255+"."+254);//IP范围 System.out.println(""); }elseif(x3==255&&x4==0){ System.out.println("广播地址:"+st1+"."+(ai1+a1_ziwangzengliang)+"."+254+"."+255);//每个子网的广播地址 System.out.println("IP范围:"+st1+"."+ai1+"."+255+"."+1+"~"+st1+"."+(ai1+a1_ziwangzengliang)+"."+254+"."+254);//IP范围 System.out.println(""); }elseif(x3==255&&x4==255){ System.out.println("广播地址:"+st1+"."+(ai1+a1_ziwangzengliang)+"."+255+"."+254);//每个子网的广播地址 System.out.println("IP范围:"+st1+"."+(ai1+1)+"."+0+"."+0+"~"+st1+"."+(ai1+a1_ziwangzengliang)+"."+255+"."+253);//IP范围 System.out.println(""); }elseif(x3==0&&x4==255){ System.out.println("广播地址:"+st1+"."+(ai1+a1_ziwangzengliang)+"."+0+"."+254);//每个子网的广播地址 System.out.println("IP范围:"+st1+"."+ai1+"."+1+"."+0+"~"+st1+"."+(ai1+a1_ziwangzengliang)+"."+0+"."+253);//IP范围 System.out.println(""); }elseif(x3==0&&x4>0&&x4<255){ if(x4==1){ System.out.println("广播地址:"+st1+"."+(ai1+a1_ziwangzengliang)+"."+0+"."+(x4-1));//每个子网的广播地址 System.out.println("IP范围:"+st1+"."+ai1+"."+0+"."+(x4+1)+"~"+st1+"."+(ai1+a1_ziwangzengliang)+"."+0+"."+(x4-2));//IP范围 System.out.println(""); }else{ System.out.println("广播地址:"+st1+"."+(ai1+a1_ziwangzengliang)+"."+0+"."+(x4-1));//每个子网的广播地址 System.out.println("IP范围:"+st1+"."+ai1+"."+0+"."+(x4+1)+"~"+st1+"."+(ai1+a1_ziwangzengliang-1)+"."+255+"."+255);//IP范围 System.out.println(""); } }elseif(x3>0&&x4<255&&x4==0){ System.out.println("广播地址:"+st1+"."+(ai1+a1_ziwangzengliang)+"."+(x3-1)+"."+255);//每个子网的广播地址 System.out.println("IP范围:"+st1+"."+ai1+"."+x3+"."+1+"~"+st1+"."+(ai1+a1_ziwangzengliang)+"."+(x3-1)+"."+254);//IP范围 System.out.println(""); }else{ System.out.println("广播地址:"+st1+"."+(ai1+a1_ziwangzengliang)+"."+x3+"."+(x4-1));//每个子网的广播地址 System.out.println("IP范围:"+st1+"."+ai1+"."+x3+"."+(x4+1)+"~"+st1+"."+(ai1+a1_ziwangzengliang)+"."+x3+"."+(x4-2));//IP范围 System.out.println(""); } ai1=ai1+a1_ziwangzengliang; } }elseif(m2==255&&m3!=255){ Stringa2_zhujiwei=String.valueOf(11111111-ab_m3); inta2_zhujiweishu=a2_zhujiwei.length()+8;//主机位数 inta2_ziwangweishu=8-a2_zhujiwei.length()+8;//子网位数 doublea2_ziwangshu=Math.pow(2,a2_ziwangweishu);//子网数 System.out.println("子网数为:"+a2_ziwangshu); System.out.println(""); doublea2_zhujishu=Math.pow(2,a2_zhujiweishu)-2;//每个子网的主机数 System.out.println("每个子网的主机数为:"+a2_zhujishu); System.out.println(""); inta2_ziwangzengliang=256-m3;//子网增量 while(a_i1<256){ ai2=0; while(ai2<=m3){ System.out.println("有效子网:"+st1+"."+a_i1+"."+ai2+"."+st4);//有效子网 if(x4==0){ System.out.println("广播地址:"+st1+"."+a_i1+"."+(ai2+a2_ziwangzengliang-1)+"."+255);//每个子网的广播地址 System.out.println("IP范围:"+st1+"."+a_i1+"."+bi1+"."+1+"~"+st1+"."+a_i1+"."+(ai2+a2_ziwangzengliang-1)+"."+254);//IP范围 System.out.println(""); }else{ if(x4==255){ System.out.println("广播地址:"+st1+"."+a_i1+"."+(ai2+a2_ziwangzengliang)+"."+254);//每个子网的广播地址 System.out.println("IP范围:"+st1+"."+a_i1+"."+(ai2+1)+"."+0+"~"+st1+"."+a_i1+"."+(ai2+a2_ziwangzengliang)+"."+253);//IP范围 System.out.println(""); }else{ if(x4==1){ System.out.println("广播地址:"+st1+"."+a_i1+"."+(ai2+a2_ziwangzengliang)+"."+(x4-1));//每个子网的广播地址 System.out.println("IP范围:"+st1+"."+a_i1+"."+ai2+"."+(x4+1)+"~"+st1+"."+a_i1+"."+(ai2+a2_ziwangzengliang-1)+"."+255);//IP范围 System.out.println(""); }else{ System.out.println("广播地址:"+st1+"."+a_i1+"."+(ai2+a2_ziwangzengliang)+"."+(x4-1));//每个子网的广播地址 System.out.println("IP范围:"+st1+"."+a_i1+"."+ai2+"."+(x4+1)+"~"+st1+"."+a_i1+"."+(ai2+a2_ziwangzengliang)+"."+(x4-2));//IP范围 System.out.println(""); } } } ai2=ai2+a2_ziwangzengliang; } a_i1++; } }else{ Stringa3_zhujiwei=String.valueOf(11111111-ab_m4); inta3_zhujiweishu=a3_zhujiwei.length();//主机位数 inta3_ziwangweishu=8-a3_zhujiwei.length()+16;//子网位数 doublea3_ziwangshu=Math.pow(2,a3_ziwangweishu);//子网数 System.out.println("子网数为:"+a3_ziwangshu); System.out.println(""); doublea3_zhujishu=Math.pow(2,a3_zhujiweishu)-2;//每个子网的主机数 System.out.println("每个子网的主机数为:"+a3_zhujishu); System.out.println(""); inta3_ziwangzengliang=256-m4;//子网增量 while(a_i2<256){ a_i3=0; while(a_i3<256){ ai3=0; while(ai3<=m4){ System.out.println("有效子网:"+st1+"."+a_i2+"."+a_i3+"."+ai3);//有效子网 System.out.println("广播地址:"+st1+"."+a_i2+"."+a_i3+"."+(ai3+a3_ziwangzengliang-1));//每个子网的广播地址 System.out.println("IP范围:"+st1+"."+a_i2+"."+a_i3+"."+(ai3+1)+"~"+st1+"."+a_i2+"."+a_i3+"."+(ai3+a3_ziwangzengliang-2));//IP范围 System.out.println(""); ai3=ai3+a3_ziwangzengliang; } a_i3++; } a_i2++; } } } //B类 if(x1>=128&&x1<=191){ System.out.println("本IP地址为:B类"); System.out.println(""); intbb_m4=Integer.parseInt(Integer.toBinaryString(m4)); intbb_m3=Integer.parseInt(Integer.toBinaryString(m3)); if(m3!=255){ Stringb1_zhujiwei=String.valueOf(11111111-bb_m3); intb1_zhujiweishu=b1_zhujiwei.length()+8;//主机位数 intb1_ziwangweishu=8-b1_zhujiwei.length();//子网位数 doubleb1_ziwangshu=Math.pow(2,b1_ziwangweishu);//子网数 System.out.println("子网数为:"+b1_ziwangshu); System.out.println(""); doubleb1_zhujishu=Math.pow(2,b1_zhujiweishu)-2;//每个子网的主机数 System.out.println("每个子网的主机数为:"+b1_zhujishu); System.out.println(""); intb1_ziwangzengliang=256-m3;//子网增量 while(bi1<=m3){//类似 System.out.println("有效子网:"+st1+"."+st2+"."+bi1+"."+st4);//有效子网 if(x4==0){ System.out.println("广播地址:"+st1+"."+st2+"."+(bi1+b1_ziwangzengliang-1)+"."+255);//每个子网的广播地址 System.out.println("IP范围:"+st1+"."+st2+"."+bi1+"."+1+"~"+st1+"."+st2+"."+(bi1+b1_ziwangzengliang-1)+"."+254);//IP范围 System.out.println(""); }else{ if(x4==255){ System.out.println("广播地址:"+st1+"."+st2+"."+(bi1+b1_ziwangzengliang)+"."+254);//每个子网的广播地址 System.out.println("IP范围:"+st1+"."+st2+"."+(bi1+1)+"."+0+"~"+st1+"."+st2+"."+(bi1+b1_ziwangzengliang)+"."+253);//IP范围 System.out.println(""); }else{ if(x4==1){ System.out.println("广播地址:"+st1+"."+st2+"."+(bi1+b1_ziwangzengliang)+"."+(x4-1));//每个子网的广播地址 System.out.println("IP范围:"+st1+"."+st2+"."+bi1+"."+(x4+1)+"~"+st1+"."+st2+"."+(bi1+b1_ziwangzengliang-1)+"."+255);//IP范围 System.out.println(""); }else{ System.out.println("广播地址:"+st1+"."+st2+"."+(bi1+b1_ziwangzengliang)+"."+(x4-1));//每个子网的广播地址 System.out.println("IP范围:"+st1+"."+st2+"."+bi1+"."+(x4+1)+"~"+st1+"."+st2+"."+(bi1+b1_ziwangzengliang)+"."+(x4-2));//IP范围 System.out.println(""); } } } bi1=bi1+b1_ziwangzengliang; } }else{//28类似 Stringb2_zhujiwei=String.valueOf(11111111-bb_m4); intb2_zhujiweishu=b2_zhujiwei.length();//主机位数 intb2_ziwangweishu=8-b2_zhujiweishu+8;//子网位数 doubleb2_ziwangshu=Math.pow(2,b2_ziwangweishu);//子网数 System.out.println("子网数为:"+b2_ziwangshu); System.out.println(""); doubleb2_zhujishu=Math.pow(2,b2_zhujiweishu)-2;//每个子网的主机数 System.out.println("每个子网的主机数为:"+b2_zhujishu); System.out.println("")
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 举办竞走比赛行业营销策略方案
- 太阳能收集器产业运行及前景预测报告
- 单比基尼式泳装市场发展预测和趋势分析
- 宝石市场发展预测和趋势分析
- 影碟播放机产业深度调研及未来发展现状趋势
- 通信网络套管预埋施工方案
- 弹簧用皮套产业运行及前景预测报告
- 伺服电机用电子控制器市场需求与消费特点分析
- 伽倻琴朝鲜弦琴产业深度调研及未来发展现状趋势
- 健身房及游泳池清洁服务方案
- 全国重点文物保护单位保护项目安防消防防雷计划书
- 内镜清洁消毒登记表格模板
- 护士对预防患者跌倒的问卷调查表
- 道路开口施工方案
- 天然气脱硫(课堂运用)
- 幼儿园教师师德师风考核表(共2页)
- 城镇职工医疗保险运行中的问题分析及措施
- 静物构图(课堂PPT)
- 二年级数学上册 第三单元 角的初步认识复习课课件 青岛版
- 生物校本教材—生活中的生物科学
- 毕业设计500kv变电站设计
评论
0/150
提交评论