计算机网络路由器查表过程模拟课程设计报告.doc_第1页
计算机网络路由器查表过程模拟课程设计报告.doc_第2页
计算机网络路由器查表过程模拟课程设计报告.doc_第3页
计算机网络路由器查表过程模拟课程设计报告.doc_第4页
计算机网络路由器查表过程模拟课程设计报告.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1 滁州学院 课程设计报告 课程名称:课程名称: 计算机网络 设计题目设计题目: 路由器查表过程模拟 院院 部:部: 计算机与信息工程学院 专专 业:业: 计算机科学与技术 组组 别:别: 第六组 起止日期起止日期: 2012 年 12 月 29 日 2012 年 1 月 4 日 指导教师指导教师: 戴支祥 计算机与信息工程学院二计算机与信息工程学院二一二年制一二年制 2 课程设计任务书 课程设计题目路由器查表过程模拟 组长杜飞学号2011211185班级11 计科(1)班 院部 计算机与信息工 程学院 专业计算机科学与技术 组员王晴雨 2011211216 ,闪露 2011211206,成健民 2011211182 指导教师戴支祥 课程设计目的认识路由器及路由表的建立与更新 课程设计所需环境 硬件:电脑 自带软件:JCreator LE 课程设计任务要求 编程模拟路由器查找路由表的过程,用(目的地址 掩码 下 一跳)的 IP 路由表以及目的地址作为输入,为目的地址查找路由 表,找出正确的下一跳并输出结果。 课程设计工作进度计划 序号起止日期工 作 内 容分工情况 12012.12.29- 201212.30 确定题目要求,确定小组 成员,做具体分析 确定小组成员及组长,根据题目要求 作出具体分析 22012.12.30- 2012.1.1 查阅资料,作工作分工成健民负责查阅资料,杜飞负责对小 组成员进行分工 32012.1.1- 2012.1.2 设计和编写源代码,实现 系统功能 王晴雨,闪露负责设计编写源代码, 成健民杜飞负责调试源程序 42012.1.2- 2012.1.3 调试源程序,撰写报告杜飞,成健民负责调试源程序,小组 成员共同编写程序设计报告 52012.1.3- 2012.1.4 制作 ppt 杜飞完成 ppt 的制作 指导教师签字: 年 月 日 系(教研室)审核意见: 系(教研室)主任签字: 年 月 日 3 目录 1 引言 .3 2 需求分析 .4 2.1 课程设计题目 .4 2.2 课程设计任务及要求4 3 基础知识 .4 3.1 路由表 .4 3.2 路由表的组成4 3.3 路由器查询过程4 4 详细设计5 4.1 程序流程框图 .5 4.2 程序代码解释6 5 调试操作与说明8 5.1 路由表输出 .8 6 课程设计总结与体会9 7 参考文献.10 8 附录.10 4 1 引言引言 随着计算机信息技术的发展,大规模的互联网逐渐流行起来也为路由器的发展提供了 良好的基础和平台。作为不同网络之间互相连接的枢纽,路由器系统构成了基于 TCP/IP 的国际互联网络 Internet 的主体脉络。然而如何准确的发送并接受信息则需要通过路由 表的准确查找路由表存储着指向特定网络地址的路径(在有些情况下,还记录有路径的路 由度量值) 。通过路由表查找过程的设计与模拟可以更好的体现路由的选择,帮助我们准确 的理解路由的选择过程。 2 需求分析需求分析 2.1 课程设计题目课程设计题目 路由器查表过程模拟 2.2 课程设计任务及要求课程设计任务及要求 编程模拟路由器查找路由表的过程,用(目的地址 掩码 下一跳)的 IP 路由表以及目 的地址作为输入,为目的地址查找路由表,找出正确的下一跳并输出结果。 3 3 基础知识基础知识 3.1 路由表路由表 在现代路由器构造中,路由器不直接参与数据包的传输,而是用于生成一个小型指向 表,这个指向表仅仅包含由路由算法选择的数据包传输优先路径,这个表格通常为了优化 硬件存储和查找而被压缩或提前编译。本文将忽略这个执行的详细情况而选择整个路径选 择/传输信息子系统作为路由表来说明。 3.2 路由表的组成路由表的组成 由网络目标、网络掩码、网络地址、接口、跃点数构成。 3.3 路由器查询过程路由器查询过程 主机 H1 向 H2 发送的分组的目的地址是 H2 的 IP 地址 128.30.33.138.主机 H1 首先要 进行的操作是把本子网的“子网掩码 255.255.255.128”与 H2 的“IP 地址 128.30.33.138”逐位相“与” ,得出 128.30.33.128,它不等于 H1 的网络地址 (128.30.33.0) 。这说明 H2 与 H1 不在同一个子网上。因此 H1 不能把分组直接交付给 H2,而必须交给子网上的默认路由器 R1,由 R1 来转发。 路由器 R1 在收到一个分组后,先由路由表中的第一行,看看这一行的网络地址和收到 的分组的网络地址是否匹配。因为并不知道收到的分组的网络地址,因此只能试试看。这 就是用这一行(子网 1)的“子网掩码 255.255.255.128”和收到的分组的“目的地址 128.30.33.138”逐位相“与” ,得出 128.30.33.128.然后和这一行给出的目的网络地址进 行比较。但现在比较的结果是不一致(即不匹配) 。 5 用同样方法继续往下找第二行 。用第二行的“子网掩码 255.255.255.128”和该分组 的“目的地址 128.30.33.138”逐位相“与” ,结果也是 128.30.33.128。但这个结果和第 二行的目的网络地址相匹配,说明这个网络(子网 2)就是收到的分组所要寻找的目的网 络。于是不需要找下一个路由器进行间接支付了,R1 把分组从接口 1 直接交付给主机 H2(它们都在一个自网上) 。 4 4 详细设计详细设计 4.1 程序流程框图程序流程框图 N Y N Y 图 4-1 程序流程框 4.2 程序代码解释程序代码解释 路由表输入文件:将路由表手动输入到 luyou.txt 文件夹中,在 luyou.java 中使用 开始 打开路由表文件 提示用户输入目的的 IP 地址 读入目的 IP 地址 判断是否为 直接交付? 输出结果 查找路由表 找到?转发分组出错 输出下一跳 结束 6 FileReader,BufferedReader 等类读取文件中的路由表。路由表及读取文件中路由表的代 码如: 表 4-1 路由表 目的网络地址子网掩码下一跳 128.30.33.0255.255.255.128接口 0 128.30.33.128255.255.255.128接口 1 128.30.36.0255.255.255.0R2 FileReader fr=new FileReader(“c:luyou.txt“); BufferedReader br=new BufferedReader(fr); while(ch=br.readLine()!=null) /读取文件 luyou.txt 中的路 由表 System.out.println(ch); fr.close(); br.close(); 存储文件中路由表的目的网络地址将及子网掩码:文件中路由表的目的网络地址存 储在二维数组 a 中,其中 aij代表路由表第 i+1 行目的网络地址第 j+1 段八位二进制 数的十进制数,子网掩码存储在二维数组 b 中,其中 bij代表路由表第 i+1 行子网掩 码第 j+1 段八位二进制数的十进制数。并将本子网网络地址存储在一维 c 中,ci代表本 子网网络地址第 i+1 段八位二进制数的十进制数,本子网子网掩码存储在一维数组 d 中, di代表本子网子网掩码第 i+1 段八位二进制数的十进制数。存储代码如下: int a=128,30,33,0,128,30,33,128,128,30,36,0; int b=255,255,255,128,255,255,255,128,255,255,255,0; int c=128,30,33,0; int d=255,255,255,128; 目的地址的输入及路由器查询路由表:从键盘输入目的网络地址,存储在数组 f 中,fi代表目的地址第 i+1 段八位二进制数的十进制数。先将数组 f 中的数据分别与数组 d 中的数据进行与运算,判断每个 di FileReader fr=new FileReader(“c:luyou.txt“); BufferedReader br=new BufferedReader(fr); while(ch=br.readLine()!=null) System.out.println(ch); 按行读出文件内容,即路由表的输出 fr.close(); br.close(); System.out.println(“请输入目的网络地址“); for(i=0;i4;i+) fi=input.nextInt(); catch(Exception e) for(i=0;i4;i+) if(fi if(i=4) System.out.println(“目的网络地址:128.30.33.0“); else System.out.println(“不是直接交付“); for(i=0,j=0;j4;j+) if(bij if(j=4) 8 System.out.println(“下一跳:接口 0“); else for(i=1,j=0;j4;j+) if(bij if(j=4) System.out.println(“下一跳:接口 1“); else for(i=1,j=0;j4;j+) if(bij if(j=4) System.out.println(“下一跳:R2“); else System.out.println(“转发分组出错“); 5 5 调试操作与说明调试操作与说明 5.1 路由表输出路由表输出 首先在文件 luyou.txt 中输入路由表,运行程序路由表输出 图 5-1 路由表输出 在图 5-1 中输入目的地址(每输入一个数据需要回车): 9 图 5-2 输入目的地址 运行程序输出结果: 图 5-3 运行结果 6 6 课程设计总结与体会课程设计总结与体会 经过这些天的课程设计,我们组人员均是受益匪浅: 首先,我们将课本上的知识应用于实际操作当中,加深了对课本知识的理解,同时还 锻炼了我们的动手能力。不仅如此,我们查阅资料的能力也得到了相应的提高了解了路由 器的相关知识,路由表的的基本知识。路由表建立及更新,分组转发数据,等等。通过子 网掩码与目的地址相与,判断本子网的网络地址是否与目的网络相同。对故障的诊断和排 除以及对其原理工作有了一般掌握。 这次课程设计,通过组员合作,培养严谨的工作作风,养好良好的工作习惯,加强了 团队精神与合作意识,培养了团队的集体合作精神,而且我们的实践能力、动手能力、对 问题的分析能力,以及发现并解决问题的能力都得到了提高。同时一个好的心态不可或缺, 有好的心态才会更加努力,做事效率也是事半功倍。还要有扎实的理论知识,在操作的过 程中知道自己的目的,使学到的理论知识得到充分的验证,有不懂的还要要向组员和老师 多多请教。从中我学到了,只有不断的去动手,不断地去尝试,不断向他人学习,这样才 10 能不断提高自己的创新能力与实践能力,在挫折与失败中不断磨练自己,相信坚持了就会 胜利。 本课程设计在进行过程中得到戴老师的悉心指导,多次帮助我们分析思路,开辟视角。 戴老师严谨求实的治学态度,踏实坚韧的工作精力,将是我们毕生收益,在此,谨向戴老 师致以诚挚的谢意和崇高的敬意。 7 7 参考文献参考文献 1 谢希仁. 计算机网络M. 第五版. 北京:电子工业出版社,2012:P134-137,189-200 2 赵生慧. Java 面向对象程序设计M. 北京: 中国水利水电出版社, 2010:P133,175 8 8 附录附录 import java.io.*; import java.util.*; class luyou public static void main(String args) System.out.println(“); int a=128,30,33,0,128,30,33,128,128,30,36,0; int b=255,255,255,128,255,255,255,128,255,255,255,0; int c=128,30,33,0; int d=255,255,255,128; int i,j; int f=new int7; String ch; try Scanner input=new Scanner(System.in); FileReader fr=new FileReader(“c:luyou.txt“); BufferedReader br=new BufferedReader(fr); while(ch=br.readLine()!=null) System.out.println(ch); fr.close(); br.close(); System.out.println(“请输入目的网络地址“); for(i=0;i4;i+) 11 fi=input.nextInt(); catch(Exception e) for(i=0;i4;i+) if(fi if(i=4) System.out.println(“目的网络地址:128.30.33.0“); else System.o

温馨提示

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

评论

0/150

提交评论