一种基于Dynamips的GUI路.docx
- 文档编号:29808867
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:44
- 大小:520.99KB
一种基于Dynamips的GUI路.docx
《一种基于Dynamips的GUI路.docx》由会员分享,可在线阅读,更多相关《一种基于Dynamips的GUI路.docx(44页珍藏版)》请在冰豆网上搜索。
一种基于Dynamips的GUI路
JIUJIANGUNIVERSITY
毕业论文
题目一种基于Dynamips的GUI路
由器仿真系统的设计与应用
英文题目DesignandApplicationofa
GUIRouterSimulationSystem
BasedonDynamips
院系信息科学与技术学院
专业计算机科学与技术
姓名孙允磊
班级学号A081151
指导教师尧时茂
二○一二年五月
摘要
在传统网络工程实验中,由于实验室环境下思科网络设备有限并且做实验受地点限制。
因此,用PC机模拟真实思科网络设备并在其上进行网络实验有十分重要的现实意义。
论文描述了一种思科路由器仿真系统的设计与实现,主要由前端图形化界面和Dynamips内核组成,其中图形化界面的设计通过微软MFC框架实现。
系统自动加载Dynamips内核,能够模拟思科产品系列中大部分型号的路由器和交换机,产生与真实网络设备几乎完全一样的运行环境和的实验效果。
在实验中,使用Dynamips的虚拟实验平台自动搭建拓扑文件,与SecureCRT相结合,将产生良好的实验效果,也可为广大网络技术爱好者提供一个通过CCNA认证的平台。
首先对思科模拟器现状和系统运行环境做了简要概述和需求分析。
然后详细描述了系统在微软MFC框架下的全部开发过程,主要内容包括系统主界面的设计,拓扑文件搭建模块设计,设备板卡选择及连接模块设计,设备启动模块设计,以及系统资源优化设计。
关键词:
路由仿真系统,思科模拟器,微软基础类库
Abstract
Inthetraditionalnetworkengineeringexperimentswhich,becauseofthelimitedlaboratoryenvironment,Cisconetworkequipmentandtoexperimentwithandsubjecttorestrictionsonthelocation.Therefore,aPCsimulationoftherealCisconetworkingequipmentandnetworkexperimentsonaveryimportantpracticalsignificance.
ThepaperdescribesthedesignofaCiscoroutersimulationsystem,torealizeitssignificance,thesystemismainlycomposedoffront-endgraphicalinterfaceandDynamipscoregraphicaluserinterfacedesignedbyMicrosoftMFCframework.LoadDynamipscore,abletosimulatemostofthemodelsintheCiscoproductlineofroutersandswitches,andalmostexactlythesamewiththerealnetworkequipmentoperatingenvironmentandtheexperimentaleffect.Intheexperiment,theuseDynamipsvirtualexperimentplatformautomaticallybuildthetopologyfile,andSecureCRTcombinationwillproducegoodexperimentalresultsprovideaplatformforCCNAcertification,butalsoavastnetworkoftechnologyenthusiasts.
FirstabriefoverviewofCiscosimulatorstatusandoperatingsystemenvironmentanddemandanalysis.DetaileddescriptionofthesystemdevelopmentprocessinMicrosoftMFCframework,maincontentsincludethemaininterfaceofsystemdesign,thetopologyfiletobuildthemoduledesign,deviceboardstoselectandconnectthemodulardesignthedevicetostartthemoduledesign,andsystemresourceoptimizationdesign.
Keywords:
RoutingSimulationSystem,CiscoSimulator,Microsoft Foundation Classes
目录
摘要I
AbstractII
1绪论
1.1课题研究的背景
(1)
1.2课题研究的意义
(1)
1.3国内外发展现状
(2)
1.5本课题要达到的设计目标(4)
1.6本章小结(5)
2系统分析
2.1技术可行性分析(7)
2.2系统需求分析(7)
2.3本章小结(9)
3系统设计
3.1系统结构设计(11)
3.2系统功能模块图设计(12)
3.3本章小结(13)
4系统实现
4.1系统主界面实现(14)
4.2拓扑文件模块实现(16)
4.3设备板卡模块实现(18)
4.4设备连接模块实现(21)
4.5设备启动模块实现(24)
4.6CPU资源优化实现(26)
4.7设备登录模块实现(29)
4.8皮肤模块实现(30)
4.9本章小结(32)
5系统测试
5.1路由器基本工程测试(33)
5.2动态路由实验测试(34)
5.3本章小结(35)
6总结(36)
致谢(37)
参考文献(38)
1绪论
1.1课题研究的背景
随着现代信息技术的发展及摩尔定律所应正的硬件发展规律,技术创新无时无刻给我们的工作生活带来方便,并产生深远影响。
其中最为代表性的就是计算机网络技术的发展,计算机网络就是通过线路互连起来的、资源共享的计算机集合,确切的说就是将分布在不同地理位置上的具有独立工作能力的计算机、终端及其附属设备用通信设备和通信线路连接起来,并配置网络软件,以实现计算机资源共享的系统。
从地理范围来说,因特网可以是全球计算机的互联,这种网络的最大的特点就是不定性,整个网络的计算机,每时每刻随着人们网络的接入在不断的变化。
当您连在互联网上的时候,您的计算机可以算是互联网的一部分,但一旦当您断开互联网的连接时,您的计算机就不属于互联网了。
但它的优点也是非常明显的,就是信息量大,传播广,无论你身处何地,只要联上互联网你就可以对任何可以联网用户发出你的信函。
由于这种网络的复杂性,所以这种网络实现的技术也是非常复杂的,需求带动市场,因此当越来越多的人想从事于网络通信行业的时候,昂贵的通信设备,又使他们望尘莫及。
在这种情况下,一种可以方便的、灵活的、快捷的、清晰的模拟路由器交换机的仿真系统看来是时代所需,因此想到了把现有的Dynamips内核(一个基于虚拟化技术的模拟器,用于模拟思科的路由器,其作者是法国UTC大学)通过面向对象的软件开发模式,以图形化界面工作方式展现给广大思科技术爱好者。
1.2课题研究的意义
通过基于图形化界面的路由仿真系统,大大提高了使用者的工作效率,尤其是在高校中,网络课程的教学效果加强实验环节是重中之重。
但是计算机网络是一种高速发展的技术,要取得好的实验效果就需要为学生提供充分的新技术网络配置优化和故障分析的实验机会,当前网络实验室的设备主要包含路由器交换机,但是由于经费的限制,部分学校只能提供有限数量和型号的设备,种类较少设备更新慢,学生实验机会少,很难掌握最新技术,而且学习效率低。
正因为这种局限性,才有想法利用模拟器来进行实验使学生和广大技术爱好者可以在单机或者网络环境下进行网络的实验仿真。
利用模拟器进行实验与实际网络实验室相比主要有以下优势:
(1)便于教学。
学生在任何有计算机的地方随时都可以做实验并且可以构建大型规模和类型的网络来满足实验的需要。
网络课程的综合性设计性实验较为复杂若按照实验课安排的上下课时间无法完成,而且实验结果无法保存,下次实验又需要重新配置。
而模拟器网络实验的结果均是保存在配置文件中下次做实验只需调用文件就可以方便的继续实验。
(2)模拟多种型号的设备。
模拟器几乎包括主流厂家所有型号的设备,通常一套完整的网络实验设备包括二层三层交换机和路由器,这些设备的价格是非常昂贵的,涉及核心层的高端网络设备更是价格不凡。
但模拟器可以模拟的产品均是虚拟的,可以根据需要全部模拟。
(3)节省资金,升级方便。
使学生能够跟上网络设备更新换代的速度掌握最新的网络知识。
借助于模拟器进行实验可以像在真实的环境中一样完成各种实验项目所取得的实验效果等价于甚至优于在真实环境中所取得的效果。
1.3国内外发展现状
目前世界主流模拟器主要有以下几款,关于思科的模拟器很多都是都是基于Dynamips内核的[1]。
Dynamips是一个基于虚拟化技术的模拟器(Emulator),用于模拟思科(Cisco)的路由器,其作者是法国UTC大学(UniversityofTechnologyofCompiegne,France)的ChristopheFillot。
Dynamips的原始名称为Cisco7200Simulator,源于ChristopheFillot在2005年8月开始的一个项目,其目的是在传统的PC机上模拟(Emulate)Cisco的7200路由器。
发展到现在,该模拟器已经能够支持Cisco的3600系列(包括3620,3640,3660),3700系列(包括3725,3745)和2600系列(包括2610到2650XM,2691)路由器平台[2]。
根据作者ChristopheFillot的说法,他编写Dynamips这个模拟器的目的主要是:
使用真实的CiscoIOS操作系统构建一个学习和培训的平台,让人们更加熟悉Cisco的设备,以及领略Cisco作为全世界计算机网络技术的领跑者的风采测试和实验CiscoIOS操作系统中数量众多、功能强大的特性迅速地构建路由器的配置以便之后在真实的路由器上完成部署。
此外,作者ChristopheFillot强调,Dynamips毕竟只是模拟器(Emulator),它不能取代真实的路由器,以NPE-100为例,在PC机上你只能获得约1kbps的带宽(这还要取决于你的机器性能),这与实际中NPE-100所能产生100kbps(仅仅是最旧的NPE模式)是远不能比拟的[3]。
所以,Dynamips仅仅只是作为思科网络实验室管理员的一个补充性的工具,或者那些希望通过CCNA/CCNP/CCIE考试的人们的辅助工具。
(1)DynamipsGUI是由CCIE小凡开发的一个思科模拟器图形前端。
它不仅整合了思科所有的IOS模拟器,而且还整合了BES以及VPCS,它是一个综合的模拟器解决方案,它配置输出采用的是Bat批处理文件,目前最新版是2.8[4]。
(2)PacketTracer是由Cisco公司发布的一个辅助学习工具,为学习思科网络课程的初学者去设计、配置、排除网络故障提供了网络模拟环境。
用户可以在软件的图形用户界面上直接使用拖曳方法建立网络拓扑,并可提供数据包在网络中行进的详细处理过程,观察网络实时运行情况。
可以学习IOS的配置、锻炼故障排查能力。
软件还附带4个学期的多个已经建立好的演示环境、任务挑战,目前最新的版本是PacketTracer5.7。
(3)GNS3是一款优秀的具有图形化界面可以运行在多平台(包括Windows,Linux,andMacOS等)的网络虚拟软件。
Cisco网络设备管理员或是想要通过CCNA,CCNP,CCIE等Cisco认证考试的相关人士可以通过它来完成相关的实验模拟操作。
同时它也可以用于虚拟体验Cisco网际操作系统IOS或者是检验将要在真实的路由器上部署实施的相关配置。
目前最流行的模拟器当属GNS3[5],它是一款优秀的具有图形化界面可以运行在多平台的网络虚拟软件,他是很多网络爱好者的必备软件[6]。
Pemu:
PIX防火墙设备模拟器。
Winpcap:
Windows平台下一个免费,公共的网络访问系统。
开发Winpcap这个项目的目的在于为Win32应用程序提供访问网络底层的能力。
模拟Cisco路由设备和PIX防火墙仿真简单的Ethernet,ATM和帧中继交换机能够装载和保存为Dynamips的配置格式,也就是说对于使用Dynamips内核的虚拟软件具有较好的兼容性,支持一些文件格式(JPEG,PNG,BMPandXPM)的导出[7],前提是用户必须自行准备需要使用的IOS文件
(4)BosonNetSim,是ITExamPrep-com推荐的路由器模拟软件,可以模拟路由器和部分交换机,而且是它最先提出自定义网络拓扑的功能,大多数人都使用Boson来练手CCNA和CCNP的实验考试试题,与真实实验相比,使用BosonNetSim省去了制作网线连接设备,频繁变换CONSOLE线,不停地往返于设备之间的环节。
同时,BosonNetSim的命令也和最新的Cisco的IOS保持一致,它可以模拟出Cisco的部分中端产品35系列交换机和45系列路由器。
它还具备一项非常强大的功能,就是自定义网络拓扑结构及连接。
通过Boson我们可以随意构建网络,PC、交换机、路由器都可被模拟出来,而且它还能模拟出多种连接方式(如PSTN、ISDN、PPP等)。
1.5本课题要达到的设计目标
可以模拟大部分思科路由器交换机可以实现的功能,满足日常教学工作及想要通过CCNA/CCNP认证考试的网络技术爱好者。
界面简单,系统资源占用少,操作方便灵活,站在用户角度开发,真正实现图形化界面Dynampis模拟器的价值[8]。
基于上述目标,系统主要有以下功能
(1)自动编写拓扑文件
在图形化的界面中,自动手动连接各种拓扑,不需要手动编辑NET文件[9]。
(2)路由器选型
自动完成路由器的选型,其中包括2600系列,2691系列,3600系列,7200系列等路由器交换机类型。
(3)路由器模块设置
NM-1E,1端口10M以太网网络模块。
NM-4E,4端口10M以太网网络模块。
NM-4T,4端口广域网串行木块。
NM-16ESW,16端口10/100M快速以太网交换机网络模块。
NM-1FE-TX,1端口10M快速以太网网络模块。
(4)CPU资源利用优化
满负载不能超过系统CPU的60%,正常情况下为20%。
(5)模拟动态路由协议RIP的实现
可是实现动态路由协议RIP,保证其最优路径以及快速收敛[10]。
1.6本章小结
本章主要讲述计算机网络通信的发展带动了模拟器的发展[11],从总体的方面给仿真系统做了一个概述。
首先介绍了模拟器的分类,项目开发的背景,项目研究的意义和目的,国内外模拟器的发展趋势,以及本系统要实现的主要功能。
2系统分析
在进行可行性研究和项目开发计划以后,如果确认开发一个新的软件系统是必要的而且是可行的,那么就可进入需求分析阶段。
需求分析是指开发人员要理解用户的要求,进行详细的市场调查,确定系统的新目标。
为了满足用户的需要,回答系统要“做什么”的问题。
2.1技术可行性分析
基于GUI的开发:
WxWidgets、QT、GTK等,都是很不错的[12],其中WxWidgets和MFC很相似,所以熟悉MFC的开发者入门很快;QT是Nokia旗下的。
Linux下大名鼎鼎,封装很好,其中槽与信号机制非常优秀,自带IDE,开发很方便;GTK则是Linux下用的非常多,原本是用于GIMP,后来扩展成一套完整的GUI开发类库。
以上三种都很优秀,使用也非常广泛,在本次系统设计中使用MFC,以下内容为MFC架构的简介[14]。
MFC(MicrosoftFoundationClasses),是一个微软公司提供的类库(Classlibraries),以C++类的形式封装了Windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。
其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。
MFC实际上是微软提供的用于在C++环境下编写应用程序一个框架和引擎[13],VC++是Windows下开发人员使用的专业C++SDK(SDK,StandardSoftWareDevelopKit,专业软件开发平台),MFC就是挂在它之上的一个辅助软件开发包。
MFC作为与VC++血肉相连的部分(注意C++和VC++的区别:
C++是一种程序设计语言,是一种大家都承认的软件编制的通用规范,而VC++只是一个编译器)。
MFC是WinAPI与C++的结合,API,即微软提供的Windows下应用程序的编程语言接口,是一种软件编程的规范,但不是一种程序开发语言本身,可以允许用户使用各种各样的第三方的编程语言来进行对Windows下应用程序的开发,使这些被开发出来的应用程序能在Windows下运行,比如VB、VC++、Java。
编程语言函数本质上全部源于API,因此用它们开发出来的应用程序都能工作在Windows的消息机制和绘图里,遵守Windows作为一个操作系统的内部实现,这其实也是一种必要,微软如果不提供API,这个世上对Windows编程的工作就不会存在,微软的产品就会迅速从时尚变成垃圾,上面说到MFC是微软对API函数的专用C++封装,这种结合一方面让用户使用微软的专业C++SDK来进行Windows下应用程序的开发变得容易,因为MFC是对API的封装,微软做了大量的工作,隐藏了好多程序开发人员在Windows下用C++和MFC编制软件时的大量内节,如应用程序实现消息的处理,设备环境绘图,这种结合是以方便为目的的,必定要付出一定代价,因此就造成了MFC对类封装中的一定程度的的冗余和迂回,但这是可以接受的。
最后要明白MFC不只是一个功能单纯的界面开发系统[14],它提供的类绝大部分用来进行界面开发,关联一个窗口的动作,但它提供的类中有好多类不与一个窗口关联,即类的作用不是一个界面类,不实现对一个窗口对象的控制(如创建,销毁),而是一些在Windows(用MFC编写的程序绝大部分都在Windows中运行)中实现内部处理的类,如数据库的管理类等,学习中最应花费时间的是消息和设备环境,对C++和MFC的学习中最难的部分是指针,C++面向对象程序设计的其它部分,如数据类型,流程控制都不难。
MFC是微软封装了的API[15]。
Windows作为一个提供功能强大的应用程序接口编程的操作系统,的确方便了许多程序员,传统的Win32开发(直接使用Windows的接口函数API)对于程序员来说非常的困难,因为,API函数实在太多了,而且名称很乱,从零构架一个窗口动辄就是上百行的代码。
MFC是面向对象程序设计与ApplicationFramework的完美结合,他将传统的API进行了分类封装,并且为你创建了程序的一般框架。
2.2系统需求分析
基于Dynampis的GUI路由器仿真系统的设计主要是为了给广大网络技术爱好者,提供一个操作简单,功能齐全,资源占用少的实验平台。
从用户角度考虑,主要有一下几点。
(1)操练简单
一个好的模拟器不仅要适用于高技术玩家,同时要考虑到大部分网络技术入门者,一款操作简单的软件势必会赢得众多网络技术爱好者的喜爱。
同时这也是本次系统设计的重点,将要和以往的Dynamips形成鲜明对比,不需要手动编写NET文件,拓扑文件,直接在图形化界面中操作,创建文件,搭建复杂实验环境。
(2)功能齐全
模拟器必须要能满足日常运维的各种实验环境,计划满足大部分CCNA实验和CCNP的实验。
在路由方面包括静态路由,RIP,EIGRP,OSPFv2,OSPFv3,集成IS-IS协议等。
在路由控制和互联操作方面要满足各种路由之间的重发布,路由汇总,路由过滤,路由映射等技术。
在交换方面要满足STP,生成树的高级特性,链路捆绑技术,VLAN间路由选择,基于CEF的数据转发,HRSP,VLAN等技术,还要能满足NAT,ACL,DHCP,QOS,组播等技术。
还要满足部分安全性能的实验,比如AAA,DHCP监听,IP源防护等[16]。
(3)系统资源占用少
Dynamips内核集成系统资源优化,修改路由器部分参数,以实现在本次系统中系统资源利用过大的问题。
2.2.1系统软件需求分析
基于Dynamips内核的仿真系统主要有以下几个关键组件[17]。
(1)Dynamips内核,模拟器内核,用于加载真实的思科路由器操作系统文件。
(2)Dynagen是一个基于文本的前端控制系统,它采用”Hypervisor”超级监控模式和Dynamips通信。
Dynagen简化了虚拟网络的创建和工作。
可以简单地认为:
Dynamips的作用是模拟CiscoIOS,对应文件:
.bin文件。
Dynagen的作用是模拟网络拓扑,对应文件:
.net文件。
(3)WinPcap(WindowsPacketCapture)是Windows平台下一个免费,公共的网络访问系统。
开发Winpcap这个项目的目的在于为Win32应用程序提供访问网络底层的能力。
用于提供桥接路由器接口到物理网卡,就是将物理网卡作为虚拟路由器的网卡,可以让虚拟路由器和真实环境中的设备通。
(4)C3620-I-m.121-6.BIN思科路由器的IOS文件,这里找到的是3620系列。
(5)3620idlepc.bat文件,用于优化CPU资源利用率。
(6)SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,同时支持Telnet和Rlogin协议。
SecureCRT是一款用于连接运行包括Windows、UNIX和VMS的远程系统的理想工具。
在本系统中,该软件用于Telnet登录到路由器。
2.2.2系统功能需求分析
可以模拟大部分思科路由器交换机可以实现的功能,满足日常教学工作,以及想要通过CCNA/CCNP认证考试的网络技术爱好者。
界面简单,系统资源占用少,操作方便灵活,站在用户角度开发,真正实现图形化界面Dynampis模拟器的价值[18]。
基于上述目标,系统主要有以下功能。
(1)自动编写拓扑文件,自动编写连接各种拓扑,不需要手动编辑NET文件。
(2)路由器选型。
自动完成路由器的选型,其中包括2600系列,2691系列,3600系列,7200系列等路由器类型。
(3)路由器模块设置,可以模拟常用的以太网,串行接口。
(4)CPU资源利用优化,系统占用资源少。
2.3本章小结
本章主要从用户需求及设计者的角度详细分析了各种需求,包括系统软件需求分析,系统硬件需求分析,系统功能需求分析,系统环境需求分析,技术可行性分析等,在软件工程中,需求分析指的是在建立一个新的或改
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一种 基于 Dynamips GUI