解读.net文件 和 .bat文件 (献给像我一样的初学者)
此文是转接而来,感谢 ice.man ,从其文章中得来链接。对于新手制作 NET 或 BAT 文件,如果先有一个这样配置解说的话,我想这对用这个DYNAMIPS 软件的新手来说,是非常重要和方便的,不过我的英语水平不怎么好,我转这个资料只是相对于那些跟我一样E文不好的朋友来说的,希望可以给他们接触这个软件而少走一些路罢了,而E文好的朋友,在这方面的材料本身就好多,所以要想更进一步的去了解的话,找GOOGLE OR BAIDU 这些老朋友吧!好了,废话少说了,看下面吧。
一、.net
蓝色字体为说明。
*****************************************************************************
autostart = false
[color=blue]是否开启自动运行,如果该值为true,那么你运行程序后,所有的设备都会自动启动(如果设备有很多,那将是个灾难),建议设置为false,以后用哪个开那个就可以了。[/color]
[localhost]
port = 7200
udp = 10000
[color=blue]以上是设置所有的虚拟设备使用的端口号,应该是定义了一个起始端口,后面的自行分配,我没有查到具体的设备端口,仅仅是猜测。[/color]
[[router R1]]
[color=blue]前面的router是定义设备的类型,由此也可以看出,其实Dynamips只能模拟路由器。
后面的R1是你自己定义的设备名称,需要区别于其他设备。[/color]
image = D:\cisco IOS rom\IOS\c3640-jk9o3s-mz.124-10a.bin
[color=blue]这个就是网上下载的IOS文件路径,最好写绝对路径。[/color]
model = 3640
[color=blue]这句定义了你的路由器型号,根据不同的IOS写不同的型号,不同型号的虚拟设备有差异的,这个是3640。[/color]
console = 2001
[color=blue]这个是定义了登陆的接口,在整个配置中此值必须唯一。2001其实就是2001端口,看到上面的[localhost]了吗?那是地址,也可以用127.0.0.1来代替。也就是说,如果你要用telnet的方式登陆,那么地址就是127.0.0.1:2001,我会专门写出SecureCRT软件的用法。[/color]
ram = 96
[color=blue]定义这个虚拟设备使用多大的内存,可以自己试试看,如果值太小,虚拟设备启动不了的,如果你的内存够大,也可以扩大此值。[/color]
confreg = 0x2102
[color=blue]配置寄存器的值,我建议直接设置为2102,很多朋友都说配置存储不了,就是因为这个配置寄存器设成了2142。其实不是不能保存设备,而是如果配置为2142,设备启动时不会读取配置。[/color]
idlepc = 0x603e0068
[color=blue]这个数值影响了程序的性能,最好多试几个,[url=http://bbs.pcshow.net/viewthread.php?tid=350861411&extra=page%3D2]取得方法见此贴[/url][/color]
exec_area = 64
[color=blue]看样子象是命令或者程序的空间,但是我一直不清楚这个设置是干什么的。[/color]
mmap = true
[color=blue]如果你的内存足够大,那么可以把它设置成false,让程序完全在内存里运行。如果你和我一样,只有512M内存,那么我建议你设置为true。注意:如果设置为true,需要在程序所在的磁盘内留出一定的磁盘空间,推荐预留1G以上的空间。[/color]
slot0 = NM-1FE-TX [color=blue]36系列的1端口快速以太网模块,连接虚拟交换机必须使用这个。[/color]
slot1 = NM-4T [color=blue]36系列的4端口串口模块。[/color]
slot2 = NM-1FE-TX [color=blue]36系列的1端口快速以太网模块,这个用来连接其他的设备[/color]。
[color=blue]上面的三行显示了在虚拟设备的插槽内所使用的模块(或者叫线卡)。3640可以支持4个模块,3660支持6个。支持的模块种类后面再说。[/color]
f0/0 = SW9 1 [color=blue]本机的f0/0连接到了名称为SW9的设备的1端口。[/color]
s1/1 = R2 s3/0 [color=blue]本机的s1/1连接到了名称为R2的设备的s3/0端口[/color]
s1/2 = FR1 1 [color=blue]本机的s1/2连接到了名称为FR1的设备的1端口[/color]
f2/0 = SW1 f1/15 [color=blue]本机的f2/0连接到了名称为SW1的设备的f1/15端口[/color]
[color=blue]以上4行显示了拓扑的连接情况,=前面的是本机的端口,=后面的是链接到的设备名称和端口。格式为:本机端口=对方名称 对方端口。一旦在这里定义了连接,则不需要在对端设备进行设置,否则会出错。[/color]
[[router R2]]
[color=blue]同上,这个设备叫“R2”[/color]
image = D:\cisco IOS rom\IOS\c7200-jk9o3s-mz.124-10a.bin
[color=blue]这个设备使用的是7200的IOS,7200和3600可以使用的模块不一样喔。[/color]
model = 7200
[color=blue]定义设备为7200[/color]
console = 2002
[color=blue]这个设备用2002端口登陆。[/color]
npe = npe-400
[color=blue]定义7200的NPE类型,具体干什么用,我还不明白,不过用这个数值就挺好。[/color]
ram = 128
[color=blue]7200当然要大一些的内存喽,我设置128M据说有人设置256M。[/color]
confreg = 0x2102
idlepc = 0x6074ae38
exec_area = 64
mmap = true
[color=blue]以上几条和第一个设备相同,是通用配置,以下不再赘述。[/color]
slot0 = PA-C7200-IO-FE [color=blue]7200的1端口快速以太网模块,连接虚拟交换机必须用这个。[/color]
slot1 = PA-FE-TX [color=blue]7200的1端口快速以太网模块,这个端口用来连接其他的设备。[/color]
slot2 = PA-A1 [color=blue]7200才支持的1端口ATM模块,36系列不支持这个的。[/color]
slot3 = PA-4T [color=blue]7200的4端口串口模块。[/color]
[color=blue]好了,看到了嘛,36系列和72系列的模块是不一样的,自己做拓扑的时候可别弄乱了。[/color]
f0/0 = SW9 2 [color=blue]本机的f0/0连接到了名称为SW9的设备的2端口[/color]
f1/0 = SW1 f1/14 [color=blue]本机的f1/0连接到了名称为SW1的设备的f1/14端口[/color]
s1/2 = FR1 2 [color=blue]本机的s1/2连接到了名称为FR1的设备的2端口[/color]
a2/0 = AT1 1 [color=blue]本机的ATM a2/0端口连接到了名称为AT1的设备的1端口[/color]
[color=blue]以上是这个虚拟设备的拓扑连接,R1和R2有一条串行链路,因为在R1上进行了定义,所以不用再在这里定义了。[/color]
[[router SW1]]
[color=blue]这个设备叫SW1,因为它的主要功能是模拟交换机,但是设备类型依然是router。[/color]
image = D:\cisco IOS rom\IOS\c3640-telco-mz.123-11.T.bin
[color=blue]这次我们使用3640的IOS文件。注意:如果你想要模拟可管理的交换机,必须用3600系列的IOS,而且版本越高越好否则无法支持所需的模块。[/color]
model = 3640
console = 3001
[color=blue]定义登陆端口3001。[/color]
ram = 128
confreg = 0x2102
idlepc = 0x60fe8088
exec_area = 64
mmap = true
slot0 = NM-1FE-TX [color=blue]36系列的1端口快速以太网模块,上面说过了。[/color]
slot1 = NM-16ESW [color=blue]36系列的16端口快速以太网模块,模拟可管理交换机就靠他。[/color]
f0/0 = SW9 3 [color=blue]本机的f0/0连接到了名称为SW9的设备的3端口。[/color]
f1/11 = PC1 f0/0 [color=blue]本机的f1/11连接到了名称为PC1的设备的f0/0端口[/color]
[[router PC1]]
[color=blue]这个设备叫做PC1,我们用一个路由器来模拟一台PC,可以多模拟几个,然后接到交换机上练习VLAN配置,这里就说一个。[/color]
image = D:\cisco IOS rom\ios\c3640-i-mz.112-20.P.bin
[color=blue]这个IOS其实没什么要求,越小越好。因为我们只需要它有个以太口,同时我们不用它什么功能,有个ping 和trace命令就够了。[/color]
model = 3640
console = 4001
[color=blue]虚拟PC从4001开始[/color]
ram = 32
[color=blue]只要能运行,内存越小越好。[/color]
confreg = 0x2102
idlepc = 0x6017144c
exec_area = 32
mmap = true
slot0 = NM-1FE-TX [color=blue]就这一个模块。[/color]
[[ATMSW AT1]]
[color=blue]前面的ATMSW说明这个设备是ATM交换机,后面的AT1是它的名字,方便大家连接他。这个设备不可管理,就象是ISP的设备。[/color]
1:1:100 = 2:2:200
[color=blue]应该是ATM的参数,但是我还没有学会ATM技术,所以这个数值我也不知道是怎么回事。以后学了再补上。[/color]
[[ethsw SW9]]
[color=blue]前面的ethsw说明这个设备是以太网交换机,后面的SW9是它的名字,方便大家连接他。这个设备同样不可管理。[/color]
1 = dot1q 1 [color=blue]端口1,封装802.1Q,属于VLAN1 [/color]
2 = dot1q 1 [color=blue]端口2,封装802.1Q,属于VLAN1[/color]
3 = dot1q 1 [color=blue]端口3,封装802.1Q,属于VLAN1[/color]
4 = access 1 NIO_gen_eth:\Device\NPF_{DE5D9A8A-6CC2-4F44-BEC4-4FC0EEEB566C}
[color=blue]这个是你的网卡,相当于你的网卡也接在了这个虚拟的交换机上,建议将网卡设置上。[/color]
[[FRSW FR1]]
[color=blue]前面的FRSW说明这个设备是帧中继交换机,后面的FR1是它的名字,方便大家连接他。这个设备也不可管理。[/color]
1:102 = 2:201
[color=blue]以上应该是帧中继交换机的虚电路,还没有比较透彻的理解帧中继,以后补吧。[/color]
*****************************************************************************
另外需要说明的是,在配置文件中你可以用“#”来进行配置语句的注释。
例如:slot0 = NM-1FE-TX #36系列的1端口快速以太网模块
好了,.net文件就这样,我们可以自己搭建自己的拓扑了。
[size=4]加上本论坛的另外两个解说贴,一起比较学习吧!
中文
[url=http://www.netemu.cn/bbs/viewthread.php?tid=67]http://www.netemu.cn/bbs/viewthread.php?tid=67[/url]
英文
[url=http://www.netemu.cn/bbs/viewthread.php?tid=859]http://www.netemu.cn/bbs/viewthread.php?tid=859[/url][/size] 二、.bat
BAT模式是每个虚拟设备一个.bat文件。也有.net文件中的一些数值,下面几个实例是使用DynamipsGUI软件生成的,简单的看一下配置参数。
******************************************************************************
title R1
mkdir R1
cd R1
:reload
..\dynamips.exe -T 2001 -f ..\FRSWITCH -a ..\ATMSWITCH -P 7200 -r 64--disk0 -t npe-400 -c 0x2142 -p 0:C7200-IO-FE -p 1:PA-FE-TX -p 2:PA-A1-p 3:PA-4T+ -p 4:PA-POS-OC3 -s 2:0:udp:12120:127.0.0.1:62300 -s4:0:udp:12140:127.0.0.1:12330 -s 3:0:udp:12130:127.0.0.1:12211 -s3:1:udp:12131:127.0.0.1:12310 -s 3: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=0x60663630
goto reload
******************************************************************************
以上是一个BAT的内容,我不愿意打断其参数的连续性,我们在下面拆开说。
title R1
[color=Blue]定义设备名[/color]
mkdir R1
[color=Blue]建立一个与设备名相同的目录[/color]
cd R1
[color=Blue]进入该目录[/color]
:reload
[color=Blue]这句类似一个程序的开始语句。[/color]
..\dynamips.exe
[color=Blue]dynamips.exe文件的相对路径,因为上面有一个“cd R1”命令,所以当前目录是R1。需要用..\来回到上级目录。配置中工作目录始终是在R1目录下,这点要注意。[/color]
-T 2001
[color=Blue]依然是登陆的端口,相当于127.0.0.1:2001,相当于.nat中的console = 2001参数[/color]
-f ..\FRSWITCH
[color=Blue]帧中继交换机文件的相对路径,BAT模式是使用了一个FRSWITCH文件来模拟帧中继交换机[/color]
-a ..\ATMSWITCH
[color=Blue]ATM交换机文件的相对路径,BAT模式使用了一个ATMSWITCH文件来模拟ATM交换机。[/color]
-P 7200
[color=Blue]定义设备行号,相当于.nat中的model = 3640参数[/color]
-r 128
[color=Blue]运行所需内存,相当于.nat中的ram = 128参数[/color]
--disk0
[color=Blue]7200系列会有一个disk参数,目前不太清楚其作用。[/color]
-t npe-400
[color=Blue]设置npe类型,相当于.nat中的npe = npe-400参数[/color]
-c 0x2102
[color=Blue]寄存器值, 相当于.nat中的confreg = 0x2102参数[/color]
-p 0:C7200-IO-FE
[color=Blue]插槽0中的模块,同样是C7200-IO-FE模块,用来连接交换机[/color]
-p 1:PA-FE-TX
[color=Blue]插槽1中的模块,也是一个单端口以太网模块[/color]
-p 2:PA-A1
[color=Blue]插槽2中的模块,一个单端口的ATM模块 [/color]
-p 3:PA-4T
[color=Blue]插槽3中的模块,4端口串行链路模块[/color]
-p 4:PA-POS-OC3
[color=Blue]插槽4中的模块,一个POS口的模块,不过我没有使用过。
以上的-P就是用来在虚拟设备上安装相应的模块。下面开始进行拓扑连接。[/color]
-s 2:0:udp:12120:127.0.0.1:62300
[color=Blue]插槽2上的端口0,使用UDP12120端口连接到,62300端口(后面再说这个端口是谁)[/color]
-s 4:0:udp:12140:127.0.0.1:12330
[color=Blue]插槽4上的端口0,使用UDP12140端口连接到,12330端口[/color]
-s 3:0:udp:12130:127.0.0.1:12211
[color=Blue]插槽3上的端口0,使用UDP12130端口连接到,12211端口[/color]
-s 3:1:udp:12131:127.0.0.1:12310
[color=Blue]插槽3上的端口1,使用UDP12131端口连接到,12310端口[/color]
-s 3:3:udp:12133:127.0.0.1:62100
[color=Blue]插槽3上的端口3,使用UDP12133端口连接到,62100端口[/color]
-s 0:0:udp:12100:127.0.0.1:31000
[color=Blue]插槽0上的端口0,使用UDP12100端口连接到,31000端口[/color]
..\c7200-jk9o3s-mz.124-10a.bin
[color=Blue]同样是IOS映像文件的保存路径,注意是相对路径,我试过绝对路径,结果不行。[/color]
--idle-pc=0x6074ae38
[color=Blue]同样是那个idlepc的值,相当于.nat中的idlepc = 0x6074ae38参数[/color]
goto reload
[color=Blue]返回到上面那个:reload地方,如果出现参数错误,它会循环执行。[/color]
******************************************************************************
下面看第二个BAT文件,同样我们分开看。
******************************************************************************
title R2
mkdir R2
cd R2
:reload
..\dynamips-wxp.exe -T 2002 -f ..\FRSWITCH -a ..\ATMSWITCH -P 3600 -r96 -t 3640 -c 0x20142 -p 0:NM-1FE-TX -p 1:NM-4T -s1:1:udp:12211:127.0.0.1:12130 -s 1:0:udp:12210:127.0.0.1:12311 -s1:3:udp:12213:127.0.0.1:62102 -s 0:0:udp:12200:127.0.0.1:32000..\gui.bin --idle-pc=0x6054678a
goto reload
******************************************************************************
title R2
mkdir R2
cd R2
:reload
..\dynamips.exe
-T 2002
-f ..\FRSWITCH
-a ..\ATMSWITCH
[color=Blue]以上几条同上,不再赘述。[/color]
-P 3600
[color=Blue]定义模式为3600[/color]
-r 96
[color=Blue]运行内存96M[/color]
-t 3640
[color=Blue]型号为3640[/color]
-c 0x2102
[color=Blue]寄存器值[/color]
-p 0:NM-1FE-TX
[color=Blue]插槽0中的模块,一个单端口以太网模块[/color]
-p 1:NM-4T
[color=Blue]插槽1中的模块,一个四端口以太网模块[/color]
[color=Blue]我们主要看下面的拓扑连接。[/color]
-s 1:1:udp:12211:127.0.0.1:12130
[color=Blue]插槽1上的端口1,使用UDP12211端口连接到,12130端口[/color]
-s 1:0:udp:12210:127.0.0.1:12311
[color=Blue]插槽1上的端口0,使用UDP12210端口连接到,12311端口[/color]
-s 1:3:udp:12213:127.0.0.1:62102
[color=Blue]插槽1上的端口3,使用UDP12213端口连接到,62102端口[/color]
-s 0:0:udp:12200:127.0.0.1:32000
[color=Blue]插槽0上的端口0,使用UDP12200端口连接到,32000端口 [/color]
..\c3640-jk9o3s-mz.124-10a.bin
[color=Blue]同样是IOS文件的相对路径[/color]
--idle-pc=0x603e0068
[color=Blue]同样是idlepc的值[/color]
goto reload
[color=Blue]同样会到上面。[/color]
******************************************************************************
好了,看了以上两个,就有些眉目了。
其实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方式,就写这些吧,希望能给大家一些帮助。
最后送上DynamipsGUI程序,大家如果需要可以自己去作拓扑。
[url=http://www.thdao.cn/file/rom/DynamipsGUI_1.6CN.exe]下载DynamipsGUI[/url] [[FRSW FR1]]
1:102 = 2:201
1:103 = 3:301
1:104 = 4:401
2:203 = 3:302
2:204 = 4:402
3:304 = 4:403
ghostios = true
sparsesmem = true
exec_area = 64
对于以上这部分的,我好想搞明白,但是找了好久都没有找出答案,如果哪位知道的话,给我贴贴,先在这里谢谢了! FRSW这个是帧中继交换机,DYNAMIPS可以直接模拟的.无需你再加台ROUTER模拟.用起来相当方便. 1:102 = 2:201 就是对应的DLCI了! [quote]原帖由 [i]josonchen[/i] 于 2007-5-7 20:49 发表 [url=http://www.dynamips.cn/bbs/redirect.php?goto=findpost&pid=8247&ptid=874][img]http://www.dynamips.cn/bbs/images/common/back.gif[/img][/url]
[[FRSW FR1]]
1:102 = 2:201
1:103 = 3:301
1:104 = 4:401
2:203 = 3:302
2:204 = 4:402
3:304 = 4:403
ghostios = true
sparsesmem = true
exec_area = 64
对于以上这部分的,我好想搞明白, ... [/quote]
fr 部分:可以理解为fr内部线路,s1连s2 dlci 分别是102,201
ghostios=true 可以大大节省内存,至少bat的对应命令是如此,net不清楚
sparsemem 是0.2.7 以后的新特性,作用是当路由器需要时系统才分配内存,能节约一点内存吧
exec-area 是编译环境所需内存这条可以不要或者改成16(windows) ICEMAN把此帖加入索引中 [quote]原帖由 [i]george6020[/i] 于 2007-5-8 00:32 发表 [url=http://www.dynamips.cn/bbs/redirect.php?goto=findpost&pid=8314&ptid=874][img]http://www.dynamips.cn/bbs/images/common/back.gif[/img][/url]
fr 部分:可以理解为fr内部线路,s1连s2 dlci 分别是102,201
ghostios=true 可以大大节省内存,至少bat的对应命令是如此,net不清楚
sparsemem 是0.2.7 以后的新特性,作用是当路由器需要时系统才分配内 ... [/quote]
谢谢啦~~~ 谢谢啦~~~ ghostios=true 可以大大节省内存,至少bat的对应命令是如此,net不清楚
sparsemem 是0.2.7 以后的新特性,作用是当路由器需要时系统才分配内存,能节约一点内存吧
在DAT文件上也找不到!!!谢谢 好,看完就顶。。。 写的很基础很细致很适合我这样的初学菜鸟,先顶再慢慢学习 顶下,这样的知识点归纳在一起,很好! 楼主还真的是很细心的哈 恩,不错.有收获 谢谢楼主分享! Thank :) 谢谢~~~~~~~ y078 y078 晕倒,貌似是我写的。 zd01 y078 y110 你简直是我的宋江y039 y101 认真学习y045 支持原创哟,嘻嘻y045 y094 **** 作者被禁止或删除 内容自动屏蔽 **** y094 y094 不错学习了 这篇文章解释了许多以前我不明白的地方,真是好文章 刚刚看完.很受教育.多谢!!!!!! 谢谢楼主!!同时也谢谢小漏给我提供了这个链接,谢谢。 学习中,谢谢解惑 真是太好了,谢谢了y101 y101 y101 y101 学习到了,谢谢了 真的很不错~谢谢分享~ 多谢楼主分享 y100 y100
太好了,支持楼主哦
太好了,支持楼主哦 感谢楼主风向了,支持!!!!!!!!! 狂顶!!!!支持楼主!!!!!! 顶!!!!感谢楼主 多谢,对于初学者来说,其意义不可估量! 写的不错 支持原创 顶,很有用 楼主真的是很y106 y106 y106 多谢楼主!支持 辛苦了 兄弟 都是好人y101 谢谢了x27 x27 x27 x27 x27 收获中,谢谢.......... 谢谢!!!!!!!!!!! 谢楼主了,正需要呢 非常棒的东西,学习一下 感谢大大无私的分享~~~~ 不错的内容,感谢提供, y133 y014 y188 y133 xx21 x20 一直都见到说什么net、bat文件,大概知道是dy用的,单具体是什么就没有搞清楚,原来早就有楼主这么热心总结归纳好的了,实在是精品文章,呵呵!感谢楼主的分享!!Thx!!
页:
[1]