dynamips分布式实现详解
版权声明:原创作品,如需转载,请与作者联系。否则将追究法律责任。 |
实现原理:
1>测试实验端(本本)用dynagen实现各PC上的dynamips服务的分配调用。 2>各PC设备运行dynamips服务。 3>dynagen运行后将调用命令分配给运行相应的dynamips的服务PC,使其启动并配置相应的ios。 4>测试实验端shell将命令传递给dynamips服务PC。 5>dynamips服务端PC将运行结果返回给测试实验端的shell显示。 以下引用两篇文章做解释,完整的实验过程以后发布。 文章一: [ 转载于:http://www.pppei.cn/blog/read.php?34 ] 我们舍宿四台电脑,通过四口的傻瓜路由相连。不详细说了,充份发挥一下拓朴的优势! ![]() 下面以 dynamips for 工大瑞普full version 为蓝本实现如下的拓朴(老版本可能会存在问题)
![]() 要再每台电脑上安装上winpcap,并按如下结构复制文件。 e:\ ┠─dynamips ┃ ┣ ios ━ unzip-c3620-i-mz.122-37.bin ┃ ┣ dynamips ━┳cygwin1.dll ┃ ┗dynamips-wxp.exe ┣ workingdir //空目录 ┗ 启动虚拟服务.cmd //内容为:cd dynamips dynamips-wxp.exe -H 7200 本次实验笔者是在PC1上作的,前端程序dynagen要放到PC1上,所以要加入如下目录和文件: e:\ ┠─dynamips ┃ ┣ dynagen ━┳configspec ┃ ┣dynagen.exe ┃ ┣dynagen.ini ┃ ┗library.zip ┣ labini ━━━ test.net //内容见下 ┗实验控制台.cmd //内容为:cd dynagen dynagen.exe ..\labini\test.net test.net 文件内容: autostart = false [192.168.1.101] port = 7200 udp = 10000 workingdir = ..\workingdir\ [[router R1]] image = ..\ios\unzip-c3620-i-mz.122-37.bin model = 3620 console = 3001 ram = 32 confreg = 0x2142 exec_area = 64 mmap = false slot0 = NM-1FE-TX slot1 = NM-4T s1/1 = R2 s1/0 s1/2 = R4 s1/0 [192.168.1.102] port = 7200 udp = 10000 workingdir = ..\workingdir\ [[router R2]] image = ..\ios\unzip-c3620-i-mz.122-37.bin model = 3620 console = 3002 ram = 32 confreg = 0x2142 exec_area = 64 mmap = false slot0 = NM-1FE-TX slot1 = NM-4T s1/1 = R3 S1/0 s1/2 = R4 s1/1 [192.168.1.103] port = 7200 udp = 10000 workingdir = ..\workingdir\ [[router R3]] image = ..\ios\unzip-c3620-i-mz.122-37.bin model = 3620 console = 3003 ram = 32 confreg = 0x2142 exec_area = 64 mmap = false slot0 = NM-1FE-TX slot1 = NM-4T s1/2 = R4 s1/2 [192.168.1.104] port = 7200 udp = 10000 workingdir = ..\workingdir\ [[router R4]] image = ..\ios\unzip-c3620-i-mz.122-37.bin model = 3620 console = 3004 ram = 32 confreg = 0x2142 exec_area = 64 mmap = false slot0 = NM-1FE-TX slot1 = NM-4T 此时在PC1上运行 实验控制台.cmd 启动虚拟服务.cmd PC2 3 4 上分别运行 启动虚拟服务.cmd ,这样就可以实验了。 总结: 其实原理很简单,dynagen作为前端,所以只需要在操作此实验的pc上有就行了,net文件也应在此pc上。而路由器是运行在各个服务器端的,所以 dynamips要在每个PC上都有,ios也要放在服务器端。dynagen会将NET文件中的信息发送给各各服务器端,并实现各路由器之间的连接,有了这个思想就可以用更多的pc搭建更大的拓朴了。 此文章是回忆实验写的,有出错或不明白的请留言(推荐),或至email到:admin@pppei.cn =========================================================================== 文章二: [ 转载于:http://www.eguodu.com/bbs/viewthread.php?tid=5107& highlight=%E5%88%86%E5%B8%83%E5%BC%8F%2B%E7%BD%91%E7%BB%9C%E5%88%80%E5%AE%A2 ] 在一台PC上运行dynamips的路由器个数是很有限的,如果你有很多PC,那么你就可以做一个分布式的网络,每个PC上都运行几个路由器,这样一来就可以做一个很大的网络拓扑了。呵呵。 今天测试了linux做服务器的情况,share出来,大家一同分享。 服务器: linux fc5, ip=192.168.0.1 运行dynamips: /usr/dynamip 需要ios: /usr/dynamips/ios.bin 客户端:winXP 运行dynagen。 在服务器上必须得有dynamips.bin这个没什么好说的,如果用linux系统的话,大家可以到网上去下载。如果服务器是winxp的话,用论坛里面提供的dynamips就可以了。 当然服务器上必须得有ios,否则无法运行。呵呵。两个条件缺一不可。 /usr/dynamips: dynamips -H 7200 客户机: dynagen s1.net 关于s1.net的写法如下,不过idlepc的值需要自己根据情况来调整: autostart = false [192.168.0.1] port = 7200 workingdir = /usr/dynamips [[7200]] image = /usr/dynamips/ios.bin npe = npe-400 exec_area = 128 idlepc = 0x613096c0 [[ROUTER R1]] exec_area = 128 idlepc = 0x613096c0 s1/0 = R2 s1/0 f0/0 = H1 f0/0 [[router R2]] exec_area = 128 idlepc = 0x613096c0 f0/0 = H2 f0/0 [[ROUTER H1]] exec_area = 128 idlepc = 0x613096c0 [[ROUTER H2]] exec_area = 128 idlepc = 0x613096c0 本文出自 “SENSE” 博客,转载请与作者联系! 本文出自 51CTO.COM技术博客 |




sense5
博客统计信息
热门文章
最新评论
友情链接


