社区与誉天教育联合举办策划:小漏张老师讲课:锅巴粥Ice.man兜兜里有糖编辑:小漏以下文章均来自社区原创.转载请注明.此只是一个手册,便于查阅,时间仓促.如有不足请指正.谢谢如有任何使用中问题请到论坛提问,一:Dynamips介绍:1:Dynamips是Cisco路由模拟器,作者为法国人Chris2:Dynamips可以运行在linux,mac,win上.3:Dynamips支持Cisco7200(NPE-100toNPE-400),Cisco3600(3620,3640and3660)Cisco2691Cisco3725-Cisco3745;*CISCO的7206VXRNPE-200(256MbofDRAM)目前无法模拟4:Boson和Dynamips的区别:Boson是仅仅是模拟Cisco的命令;而Dynamips则是模拟Cisco的IOS。模拟IOS有什么好处呢?玩过街机模拟器的人都知道,模拟器模拟的是ROM文件,ROM文件是在街机的主板上Dump下来的,通过模拟这个ROM,我们就能玩到原汁原味的游戏。同理,这里的IOS就相当于ROM,通过模拟Cisco这个IOS,我们就能得到一个真实的Cisco环境。5:Dynamips和Dynagen的简介:Dynamips是一个Cisco路由器模拟软件。它可以模拟Cisco26002691,3620,3640,3660,3725,3745和Cisco7206硬件平台,而且可以运行标准的CiscoIOS文件。Dynagen是Dynamips的一个基于文本的前端控制系统,它采用”Hypervisor”超级监控模式和Dynamips通信。Dynagen简化了虚拟网络的创建和工作。可以简单的认为:DynamipsDynagen作用模拟CiscoIOS模拟网络拓扑对应文件.BIN文件.net文件二:拓扑参数:1:Dynamips(bat)BAT模式是每个虚拟设备一个.bat文件。也有.net文件中的一些数值,下面几个实例是使用DynamipsGUI软件生成的,简单的看一下配置参数。******************************************************************************:C7200-IO-FE-p1:PA-FE-TX-p2:PA-A1-p3:PA-4T+-p4:PA-POS-OC3-s2:0:udp:12120:127.0.0.1:62300-s4:0:udp:12140:127.0.0.1:12330-s3:0:udp:12130:127.0.0.1:12211-s3:1:udp:12131:127.0.0.1:12310-s3:3:udp:12133:127.0.0.1:62100-s0:0:udp:12100:127.0.0.1:31000..\c7200-jk9o3s-mz.124-10a.bin--idle-pc=0x60663630gotoreload******************************************************************************以上是一个BAT的内容,我不愿意打断其参数的连续性,我们在下面拆开说。titleR1定义设备名mkdirR1建立一个与设备名相同的目录cdR1进入该目录:reload这句类似一个程序的开始语句。..\dynamips.exedynamips.exe文件的相对路径,因为上面有一个“cdR1”命令,所以当前目录是R1。需要用..\来回到上级目录。配置中工作目录始终是在R1目录下,这点要注意。-T2001依然是登陆的端口,相当于127.0.0.1:2001,相当于.nat中的console=2001参数-f..\FRSWITCH帧中继交换机文件的相对路径,BAT模式是使用了一个FRSWITCH文件来模拟帧中继交换机-a..\ATMSWITCHATM交换机文件的相对路径,BAT模式使用了一个ATMSWITCH文件来模拟ATM交换机。-P7200定义设备行号,相当于.nat中的model=3640参数-r128运行所需内存,相当于.nat中的ram=128参数--disk07200系列会有一个disk参数,目前不太清楚其作用。-tnpe-400设置npe类型,相当于.nat中的npe=npe-400参数-c0x2102寄存器值,相当于.nat中的confreg=0x2102参数-p0:C7200-IO-FE插槽0中的模块,同样是C7200-IO-FE模块,用来连接交换机-p1:PA-FE-TX插槽1中的模块,也是一个单端口以太网模块-p2:PA-A1插槽2中的模块,一个单端口的ATM模块-p3:PA-4T插槽3中的模块,4端口串行链路模块-p4:PA-POS-OC3插槽4中的模块,一个POS口的模块,不过我没有使用过。以上的-P就是用来在虚拟设备上安装相应的模块。下面开始进行拓扑连接。-s2:0:udp:12120:127.0.0.1:62300插槽2上的端口0,使用UDP12120端口连接到,62300端口(后面再说这个端口是谁)-s4:0:udp:12140:127.0.0.1:12330,使用UDP12140端口连接到,12330端口-s3:0:udp:12130:127.0.0.1:12211插槽3上的端口0,使用UDP12130端口连接到,12211端口-s3:1:udp:12131:127.0.0.1:12310插槽3上的端口1,使用UDP12131端口连接到,12310端口-s3:3:udp:12133:127.0.0.1:62100插槽3上的端口3,使用UDP12133端口连接到,62100端口-s0:0:udp:12100:127.0.0.1:31000插槽0上的端口0,使用UDP12100端口连接到,31000端口..\c7200-jk9o3s-mz.124-10a.bin同样是IOS映像文件的保存路径,注意是相对路径,我试过绝对路径,结果不行。--idle-pc=0x6074ae38同样是那个idlepc的值,相当于.nat中的idlepc=0x6074ae38参数gotoreload返回到上面那个:reload地方,如果出现参数错误,它会循环执行。******************************************************************************下面看第二个BAT文件,同样我们分开看。******************************************************************************titleR2mkdirR2cdR2:reload..\dynamips-wxp.exe-T2002-f..\FRSWITCH-a..\ATMSWITCH-P3600-r96-t3640-c0x20142-p0:NM-1FE-TX-p1:NM-4T-s1:1:udp:12211:127.0.0.1:12130-s1:0:udp:12210:127.0.0.1:12311-s1:3:udp:12213:127.0.0.1:62102-s0:0:udp:12200:127.0.0.1:32000..\gui.bin--idle-pc=0x6054678agotoreload******************************************************************************titleR2mkdirR2cdR2:reload..\dynamips.exe-T2002-f..\FRSWITCH-a..\ATMSWITCH以上几条同上,不再赘述。-P3600定义模式为3600-r96运行内存96M-t3640型号为3640-c0x2102寄存器值-p0:NM-1FE-TX插槽0中的模块,一个单端口以太网模块-p1:NM-4T插槽1中的模块,一个四端口以太网模块我们主要看下面的拓扑连接。-s1:1:udp:12211:127.0.0.1:12130插槽1上的端口1,使用UDP12211端口连接到,12130端口-s1:0:udp:12210:127.0.0.1:12311插槽1上的端口0,使用UDP12210端口连接到,12311端口:udp:12213:127.0.0.1:62102插槽1上的端口3,使用UDP12213端口连接到,62102端口-s0:0:udp:12200:127.0.0.1:32000插槽0上的端口0,使用UDP12200端口连接到,32000端口..\c3640-jk9o3s-mz.124-10a.bin同样是IOS文件的相对路径--idle-pc=0x603e0068同样是idlepc的值gotoreload同样会到上面。******************************************************************************好了,看了以上两个,就有些眉目了。其实BAT模式是使用了本机的回环地址(127.0.0.1)上的UDP端口,来划分每个虚拟设备的接口,每个虚拟设备的接口,都将会分配到一个UDP端口。然后使用-S参数来进行连接。不知道是不是DynamipsGUI程序的作者在程序中设定的端口号分配方式,比较简单易懂。举例来说1:1:udp:12211:127.0.0.1:12130路由器2的插槽1上的端口1,就使用12211端口,前面的12是标志了设备,后面的211正好是设备ID插槽ID端口ID。而拓扑链接到的端口,就是12类设备1插槽3端口0。这样的一种分配方式相对来说还是比较直观的。之前有6XXXX的端口,那是接到了ATM和帧中继交换机上。同样在BAT方式下帧中继和ATM也是不可配置的。621代表帧中继交换机,后面的数值是帧中继交换机的端口号。623代表ATM交换机,同样后面的数值是ATM交换机的端口号。拓扑的连接有一点要注意的是,所有的连接在每个设备的BAT文件都要进行描述,不像是.net,只需要在一个设备中描述就行。好了,对于BAT方式,就写这些吧,希望能给大家一些帮助。2:Dynagen(.net)*****************************************************************************autostart=false是否开启自动运行,如果该值为true,那么你运行程序后,所有的设备都会自动启动(如果设备有很多,那将是个灾难),建议设置为false,以后用哪个开那个就可以了。[localhost]port=7200udp=10000以上是设置所有的虚拟设备使用的端口号,应该是定义了一个起始端口,后面的自行分配,我没有查到具体的设备端口,仅仅是猜测。[[routerR1]]前面的router是定义设备的类型,由此也可以看出,其实Dynamips只能模拟路由器。后面的R1是你自己定义的设备名称,需要区别于其他设备。image=D:\ciscoIOSrom\IOS\c3640-jk9o3s-mz.124-10a.bin这个就是网上下载的IOS文件路径,最好写绝对路径。model=3640这句定义了你的路由器型号,根据不同的IOS写不同