实现原理:
1>测试实验端(本本)用dynagen实现各PC上的dynamips服务的分配调用。
2>各PC设备运行dynamips服务。
3>dynagen运行后将调用命令分配给运行相应的dynamips的服务PC,使其启动并配置相应的ios。
4>测试实验端shell将命令传递给dynamips服务PC。
5>dynamips服务端PC将运行结果返回给测试实验端的shell显示。
以下引用两篇文章做解释,完整的实验过程以后发布。
文章一:
[ 转载于:[url]http://www.pppei.cn/blog/read.php?34[/url] ]
我们舍宿四台电脑,通过四口的傻瓜路由相连。不详细说了,充份发挥一下拓朴的优势!
下面以 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
===========================================================================
文章二:
[ 转载于:[url]http://www.eguodu.com/bbs/viewthread.php?tid=5107&[/url]
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