Netemu 虚拟化先锋 's Archiver

admin 发表于 2008-2-26 21:59

VPCS完美替代3620模拟PC,每机节省超95%的内存

今天休息,写一个关于用VPCS代替3620模拟PC的方法,前几天学会的,给大家分享一下,如果哪位高手有更实用的招,请不吝指正。
            前几天在dynamips GUI里面看到有一个模拟PC的东东叫VPCS,可以用来模拟最多九台PC,占用的内存非常小,据说每台只占1.2M。比3620所占的内存少多了,3620占30M的话就只有它的3%。并且配置也比3620简单,只要写一个IP加网关跟子网地址就可以了。一条命令搞 掂,[font=宋体][size=10pt]而不要像[/size][/font][size=10pt][font=Times New Roman]3620[/font][/size][font=宋体][size=10pt]那样[/size][/font][size=10pt][font=Times New Roman]IP[/font][/size][font=宋体][size=10pt],网关,关闭路由等好些条命令。vpcs[/size][/font]支持PING 跟traceroute等命令。对于只希望检验实验结果通还是不通已经足够了。
         下面来讲一下这个东东:
         首先在网上下载一个VPCS的软件,很小,全部加起来也就2M,也可以从dynamips GUI里面做的拓扑里面取出来(如果你勾选了模拟PC的话,本人用的2.8版)。打开VPCS,图见附件
[attach]6530[/attach]
里面显示了关于9台PC的IP,网关以及端口的相关内容,其中LPORT是模拟PC的UDP端口,RPORT里显示的是连接的路由器的UDP端口。
1.如何为一个虚拟PC设置IP地址
    默认显示的是PC1,在命令行里面输入:ip 192.168.1.1 192.168.1.254 24
                                                                    IP  IP地址         网关                子网位,子网位默认为24位
2.如何在VPCS之间转换
      数字键1-9分别在9台PC之间转换。
3.如何让VPCS与dynamips的NET文件关连起来
    原来我们用dynamips see写出来NET文件格式是: f1/11 = PC1 f0/0
                                                   用VPCS后格式如 :f1/11 = NIO_udp:[size=4][color=magenta]11121:127.0.0.1:30001[/color][/size]
                                                                                                  路由UDP 端口 连接IP         VPC端口
4.修改VPC的UDP端口跟ROUTER的端口
手工修改两个设备的端口,就在VPCS的目录里面有一个startup的文本文件,如果有这个文件,那么VPCS启动时就会读取这个文件,如果没有就会生成一个自动的端口,

  startup的端口修改,下面是我的startup文件内容
      #################### Created by Xiaofan ####################
1
conf rport 30001      
2
conf rport 30002
3
conf rport 30003
4
conf rport 30004
5
conf rport 30005
6
conf rport 30006
1
conf lport 10001
2
conf lport 10002
3
conf lport 10003
4
conf lport 10004
5
conf lport 10005
6
conf lport 10006
7
conf lport 10007
8
conf lport 10008
9
conf lport 10009
1

其中Rport是路由器的UPD端口,LPORT是模拟PC的端口。
就照这个格式写一个也可以
最后面这个1是自动生成的,暂时还没有研究明白是什么意思,大家保留就可以了

最后面,我们把启动vpcs时读取到的LPORT跟RPORT写到我们的NET文件里面就可以做实验了,注意NET文件里两个端口(LPORT跟RPORT )都要对应VPCS里的端口,如果想端口都照自己的想要的port号的话就把上面的些个
9
conf lport 100099
这些个字符复制下来放到startup里面。如果没有startup的话自己建立一个TXT文件,名字叫startup就可以了,就会让vpcs在启动时自动读取到我们的配置文件。

  接下来呢我们就可以启动我们的NET文件做实验了,我的实验NET是用的工大瑞普交换版再自己改的。把原来接3620的内容改成接VPCS的内容就可以了。这样可以节省不少内存哦,原来我做实验开3个3640;5个3620,刚开启实验的时候,我的1G双通道667的内存占用率到了99%了,电脑用起来很慢了,要十来分钟才恢复到50%的可用率,用VPCS以后,内存占用率大大下降。
   好了,如果大家有兴趣就去试试吧。。。。
    如果遇到了在启用NET文件时出现端口已被占用的情况,可以把vpcs的startup文件清空或者重新设置UPD端口就可以解决了。根据我的实验,在玩vlan的时候,dynamips GUI做出来的BAT文件默认是不支持vlan的,而把VPCS放到NET文件里面可以支持vlan.怎么修改让BAT文件用到VPCS,我暂时还不会,请有会的朋友可以发个帖讲一下,谢谢。
附件里面我放了一个vpcs在里面。有需要的朋友可以下载,如果有朋友用过觉得可以的话请回帖,就当对本人的鼓励。。


另外如果用3620模拟PC做VLAN的话,一定要在3620里面敲上两条命令,no ip routing 用来关闭路由,还有一个关键就是设置网关,把3620的网关指向vlan地址或者是路由器trunk口子接口承载该VLAN的地址,我以前做vlan一直不通的原因就是没有敲上ip default-gateway 192.168.1.254  。192.168.1.254是我用到网关地址,具体的话看你自己配置的地址
  VPCS里面的网关地址也一定要指向这个地址三层交换指向vlan地址,二层VLAN路由指trunk子接口地址

gwaynez 发表于 2008-2-27 06:36

y106 y106 y106

H.T 发表于 2008-2-27 08:00

好东西,顶一个x29

sciwander 发表于 2008-2-27 08:54

好东西,顶一个

hopeybw 发表于 2008-2-27 18:03

还没有支持IPv6的版本?

mu154 发表于 2008-3-4 11:06

y101 y101 写的挺详细呀顶起

dong1 发表于 2008-3-7 14:33

好东西

顶你一下

wu123aa 发表于 2008-3-11 09:20

支持一下!绝对是好东西!

kamui 发表于 2008-3-14 16:29

怎么和模拟器联合使用呀,有详细文档吗?我一打开VPC,模拟器就打不开,打开模拟器VPC就打不开!!!!
y091 y091

yuren_111 发表于 2008-4-6 18:04

学习下,谢谢了。

elfhero 发表于 2008-4-7 10:53

好东西,谢谢,收下,呵呵!

blacknet 发表于 2008-4-8 12:03

谢谢帮主!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!x44 x44

sciwander 发表于 2008-6-6 18:25

不错的东西啊

xseah 发表于 2008-6-6 18:43

不知到VPCs能否集成到分布式环境里?

rocisky 发表于 2008-6-18 00:49

其实根本不用VPC,是要用扩展ping命令就行了,有啥区别?要模拟的主机如果是2.2.2.3

那就ping 1.1.1.1 source 2.2.2.2

jakee 发表于 2008-6-30 17:11

目前版本是0.15a

历史版本:
   0.15a   增加DHCP获取IP地址功能
           配置主机地址时,可以不必指定网关地址
   0.14g   修订traceroute命令循环错误
   0.14f   修订traceroute命令TTL处理错误
   0.14e   修订echo、traceroute命令行处理错误
   0.14d   修订Arp处理错误,错误地将广播地址作为源地址应答Arp请求。  
   0.14c   修订TTL为64  
   0.14b   修订 I/O 队列错误
   0.14a   增加 arp 命令,可以显示当前的 arp 表,120秒的过期刷新
           增加 echo 命令,可以向远程主机发送 udp/tcp 数据包。这对于测试
           ACL 是比较有用的。
           修订同子网比较错误
   0.13a   增加 ping/tracert 本地 IP 回应
           修订 ping 任何 IP,均存在错误
   0.12s   修订 tracert 命令参数错误
   0.10s   支持 udp 方式
   0.02s   修订了一处字符串拷贝错误
   0.01s   初始版本

[url]http://www.freecode.com.cn/doku.php?id=wiki:vpcs[/url]

hclhdj 发表于 2008-9-3 09:28

支持楼主!!

zyljava 发表于 2008-9-9 11:15

好东西,谢谢,收下,呵呵!

lufan79 发表于 2008-10-10 14:25

不错!~~谢谢楼主

jian_new 发表于 2008-10-19 23:10

写的详细,易懂,感谢!

sonofgod 发表于 2008-10-30 11:04

[quote]原帖由 [i]xseah[/i] 于 2008-6-6 18:43 发表 [url=http://netemu.cn/bbs/redirect.php?goto=findpost&pid=85389&ptid=7785][img]http://netemu.cn/bbs/images/common/back.gif[/img][/url]
不知到VPCs能否集成到分布式环境里? [/quote]

应该是可以的

corcious_yxp 发表于 2008-10-30 11:33

果然是个好东西.

lgqlgq6 发表于 2008-11-4 16:46

谢谢楼主共享

yuanyanglu 发表于 2008-11-6 11:26

好东西,谢谢!

luojm_24680 发表于 2009-4-28 21:02

ddddddddddddddddddddddddddddddddddddddddddddddd

vincezs 发表于 2009-9-24 23:29

好东西, 谢谢

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.