计算机网络课程设计报告.docx

上传人:lao****ou 文档编号:1118541 上传时间:2024-11-20 格式:DOCX 页数:23 大小:47.18KB
下载 相关 举报
计算机网络课程设计报告.docx_第1页
第1页 / 共23页
计算机网络课程设计报告.docx_第2页
第2页 / 共23页
计算机网络课程设计报告.docx_第3页
第3页 / 共23页
计算机网络课程设计报告.docx_第4页
第4页 / 共23页
计算机网络课程设计报告.docx_第5页
第5页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《计算机网络课程设计报告.docx》由会员分享,可在线阅读,更多相关《计算机网络课程设计报告.docx(23页珍藏版)》请在第一文库网上搜索。

1、计算机网络课程设计报告子网掩码计算器一、问题描述在ARPANET的早期,IP地址的设计不太合理。它的空间利用率低,而且给每一个物理网络分配一个网络号会使路由表变得太大而导致网络性能变差。此外,两级的IP地址不够灵活,极大地影响了网络的实际运用。因此,网络经过几十年的发展,渐渐形成了成熟完善的体制。无分类域间路由选择CIDR成为了目前因特网建议标准协议。我们所设计出的程序,是根据用户输入的合法IP地址以及子网掩码,计算出该地址的类别、网络地址和广播地址的值、可分配主机地址范围和数量,以及最多可划分的子网个数。二、概要设计(抽象数据类型定义)importjavax.swing.Group1ayou

2、t;importjavax.swingJButton;importjavax.swingJFrame;importjavax.swingJ1abeI;importjavax.swingJOptionPane;importjavax.swingJPaneI;importjavax.swingJScroIIPane;importjavax.swingJTextArea;importjavax.swingJTextFieId;importjavax.swing.border.Tit1edBorder;三、详细设计(主要算法和函数间的调用关系)1) .算法实现网络地址=IP地址&子网掩码广播地址=网络

3、地址+256IIP地址可用主机数=PoW(2,主机位数)-22) .函数间的调用运行程序后初始化窗体函数init()输入ip和子网掩码后由计算按钮触发响应事件,调用getIPMask()函数计算要求得的网络地址,广播地址,可用主机数等各个值,在函数getIPMask()中通过调用getSubNet()函数计算子网分配方案;调用getMask()函数转换十进制掩码为IP地址格式掩码,调用isVa1id()和isVa1idMask()函数判断输入的ip地址和子网掩码是否合法。四、调试分析(调式过程中出现的问题及如何改正)1)调试过程出现的问题在ip地址和子网掩码输入出现空格,则得不到结果值,结果框

4、会提示计算结果非法IP或子网掩码地址。2).如何改正构造函数deSpace(),将输入的ip和子网掩码逐个字符过滤空格,问题就迎刃而解To五、心得体会程权威(组长)-负责结构逻辑设计与源码写入解淑凯负责理论知识对接与算法设计唐龙潭负责课程设计报告与软件调试此次课程设计,基于我们对计算机网络这门课程的实际学习,检验了我们对知识的理解程度。在未确定具体项目时,我们分析了所学过的理论知识,进行了此次设计的可行性研究。最终,我们将与IP地址相关的运用作为设计切入点,设计了一个实用性较强的IP地址分析工具。这次设计最难的部分在于算法设计,将原本就复杂的IP地址分析计算方法转化为代码确实是一个挑战,我们也

5、为此花费了不小的功夫。值得一提的是,IP地址不是一串毫无规律的数字符号,对用户键入的IP地址进行合法性分析也是我们所考虑的重要内容,这极大减少了后期调试过程中难以避免的麻烦。庆幸的是,我们的付出取得了较为满意的结果,对日后知识的学习,我们当然也平添了一份自信。六、用户手册输入合法的IP地址及子网掩码,点击计算,程序自动计算出相关信息,用户可以点击复制保留信息亦或点击重新输入。此外,用户也可以使用帮助按钮查询程序的具体使用方法。规范化示例如图所示:输入格式:172.168.1.2子网掖码输入格式:格式:131或255.255.255.0结果会得出:IP地址属于哪一类网络地址和广慵地址的值可分配主

6、机地址范困可用主机数可划分多少个子网计算结果B类地址:141.14.72.24/255.255.192.0的网络地址是:141.14.64.0广播地址是:141.14.127.255可分酉注机地址包括:141.14.64.1-141.14.127.254可用主机数共:16382台最多可划分:4096个子网附录:(程序源码)importjava.awt.Cursor;importjava.awt.Dimension;importjava.awt.Too1kit;importjava.awt.event.ActionEvent;importjava.awt.event.Action1istener

7、;importjava.awt.eventKeyEvent;importjava.awt.event.Key1istener;importjava.awt.eventMouseEvent;importjava.awt.event.Mouse1istener;importjavax.swing.Group1ayout;importjavax.swingJButton;importjavax.swingJFrame;importjavax.swingJ1abeI;importjavax.swingJOptionPane;importjavax.swingJPaneI;importjavax.swi

8、ngJScroIIPane;importjavax.swingJTextArea;importjavax.swingJTextFieId;importjavax.swing.border.Tit1edBorder;*测试可输入:IP地址:141.14.72.24*子网掩码:255.255.192.0*/pub1icc1assSubnetMaskextendsJFrameimp1ementsAction1istener;Key1istenerprivatestaticfina11ongSeriaIVersionUID=11;创建窗口对象privateJ1abeIaddr1abe1=newJ1ab

9、e1(,IPi1t:);privateJTextFieIdaddrFie1d=newJTextFie1d(9);privateJ1abeImask1abe1=newJ1abe1(子网掩码:);privateJTextFieIdmaskFie1d=newJTetFie1d(9);privateJPaneIOutputPaneI=newJPane1();privateJTextAreaOutputArea=newJTextArea(7z31);privateJButtonCaIButton=newJButton(计算);privateJButtonCopyButton=newJButton(复制)

10、;privateJButtonresetButton=newJButton(nS);privateJButtonhe1pButton=newJButton(帮助);privateDimensionScreenSize=Too1kit.getDefau1tToo1kit().getScreenSize();帮助对话框privateJ1abeIabout=newJ1abe1(      子网掩码计算器    输入格式:172.168.1.2    子网掩码输入格式:格式:131或255.

11、255.255.0    结果会得出:       IP地址属于哪一类        网络地址和广播地址的值        可分配主机地址范围        可用主机数        可划分多少个子网);privateJPaneIaboutPane1=ne

12、wJPane1();pub1icstaticvoidmain(Stringargs)SubnetMaskframe=newSubnetMaskO;frame.init();)初始化窗口pub1icvoidinit()设置窗口组件基本属性this.setTit1e(子网掩码计算器);addrFie1d.setToo1TipText(格式:172.168.1.2);maskFie1d.setToo1TipText(格式:131或255.255.255.0);Ca1BUtton.SetTooITipTextC计算结果。);CoPyBUttOn.SetTooITipTextC将计算结果复制到系统剪贴板

13、。”);於521811壮0门36仃0。11丁0*1(将输入框清零。);he1pButton.setToo1TipText(更多帮助。);outputArea.setToo1TipText(,Ctr1+ACtr1+C复制计算结果。);addrFie1d.setActioCommand(naddr);/setActionCommand(Stringcommand)设置用于操作事件的命令字符串maskFie1d.setActionCommand(wmask);ca1Button.setActionCommand(ca1cu1ate);CC)PyBUttOn.SetActionCommandCcopy

14、);resetButton.setActionCommandCreset);he1pButton.setActionCommand(whe1p);addrFie1d.addAction1istener(this);maskFie1d.addAction1istener(this);ca1Button.addAction1istener(this);copyButton.addAction1istener(this);resetButton.addAction1istener(this);he1pButton.addAction1istener(this);addrFie1d.addKey1is

15、tener(this);maskFie1d.addKey1istener(this);OutputArea.setEditab1e(fa1se);outputPane1.setBorder(newTitIedBOrder(计算结果);设置边框和边框标题OutputPane1add(OutputArea);JScroIIPanescro11Bar=newJScro11Pane(outputArea,JScro11Pane.VERTICA1_SCRO11BAR_AS_NEEDED,JScro11Pane.HORIZONTA1_SCRO11BAR_NEVER);OutputPane1add(ScroIIBar);设置帮助窗口属性Group1ayoutabout1ayout=newGroup1ayout(aboutPane1);about1ayout.setHoriz

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 工作总结

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服