加入收藏 设为首页 联系站长
首页 | 虚拟动态 | Cisco模拟 | Juniper仿真 | 虚拟机 | 网络仿真 | 软件路由 | 技术专题 | 相关软件 | 交流论坛
>首页 -> Cisco模拟 -> Dynamips

TOP

分布式 dynamips+dyangen (更新于07.3.30)
[ 录入者:admin | 时间:2007-10-27 15:11:35 | 作者: | 来源: | 浏览:711次 ]
更新内容:
很多网友都反映用此文方法行不通,现象为:分布在各计算机上的路由器能起来,但互联的端口是Down的,以至于ping 不通。在此特别感谢 flyxj 网友QQ联系到我才引起我的高度注视使问题得到解决,不会再给读者误导(本人能力是很有限的)。
原因经分析找到了,NET文件中有[localhost]一句,localhost 会被本地的hosts文件解析成127.0.0.1,想毕各位已经明白了吧,分布在各计算机上的路由器之间的连接是通过UDP=后边指定的端口通信的,由于127 和192不在同一子网,所以端口自然UP不起来了。
注意:笔者用最新的dynamips 0.2.7RC1和dynagen 0.90 实验不成功,有错误提示,google 了一下说是两个版本不匹配(晕)。请更新后仍不成功的朋友换本文推荐的版本试一下

dynamips 固然是个好东西,但其对内存苛刻的要求又让人头痛,虽说现在的内存比较便宜了,可对于像我这样的学生一族,又岂能承受的了。笔者01年买的电脑,一直也在升级,到现在才用上了512的内存。
那些有钱人新买来的电脑多是1G内存双核CPU,居然用来玩卡丁车,内存占用没上过500,这自然勾起我节约能源的爱国之心,用他们的电脑分担几台路由器,来完一大网络的模拟。“要学会花别人的钱”,嘿嘿,“要学会用别人的电脑”更恰当!于是笔者尝试了一下dynamips的分布式功能。

我们舍宿四台电脑,通过四口的傻瓜路由相连。不详细说了,充份发挥一下拓朴的优势!



下面以 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
[上一篇]well known Idle-pc value(欢迎大.. [下一篇]Dynamips的idle-pc取值
※相关文章
 

评论

称  呼:
内  容:

相关栏目

最新文章

热门文章

推荐文章

赞助商链接