计算机防火墙论文 第10页
图2.6链路的构造图
链的组分:连接器(Connector类) 若图片无法显示请联系QQ752018766
连接器的主要功能是:接收数据包,进行一些处理,将包放送给它的邻居,或者丢掉。Connector类的定义在~ns/common/connector.h中。它与Classifier类不同,它要么把分组递交给target_对象,要么把分组递交给drop_对象。
Ns中有不同类型的Connector类,每一种都完成不同的功能:
(1) networkinterface:为接收到的包标注上接口id。
(2) DynaLink:根据链路状态(连上/断开),决定是否传输数据。
(3) DelayLink:模拟链路的延迟、带宽。如果不是动态链,则在接收到数据包后,经过一定时间后,发给下游节点;若是动态链,将接收到的数据包排队,然后,送出去。若在某一时刻链路断开了,调用reset()函数,丢弃所有的数据包。
(4) Queues:模拟链路的输出缓冲。
(5) TTLChecker:检查数据包的ttl值,若是正值,发送到链的下个元素。
这些不同类型的Connector类一般都通过重载Connector类的recv()函数,来完成各自独特的功能,就是说如果不重载recv()函数的话,所有分组都将直接传递给target_对象。
Connector类的recv()函数定义在ns/common/connector.cc中。
与本节相关的Tcl命令有:
Ø $ns simplex-link <node0> <node1> <bw> <delay> <qtype> <args> ;创建一条从node0到node1的单向链路,链路的带宽为bw,延迟为delay,队列为qtype,根据队列类型的不同,有些队列可能需要通过args来设定一些参数。
Ø $ns duplex-link <node0> <node1> <bw> <delay> <qtype> <args> ;创建一条从node0到node1的双向链路,其它参数含义与单向链路相同。
Ø $link link ;返回$link对象的实例变量link_, link_是一个DelayLink对象,用来仿真延迟和带宽特性。
Ø $link queue ;返回$link对象的实例变量queue _, queue _是链路的队列。
Ø $link cost <c> ;设定链路的开销。
Ø $link cost ? ;返回链路的开销,缺省开销为1。
Ø $link up ;设定链路的状态为“up”
Ø $link down ;设定链路的状态为“down”,只有存在dynamics_变量的队列才可以“down”。
Ø $link up ? ;返回链路的状态,如果链路没有dynamics_变量,则状态总是“up”
在lnuix下使用allinone方式安装NS这是安装NS的最简单的方式,推荐使用。
(1) 下载ns-allinone-2.27.tar.gz
(2) 假定当前用户为new,当前目录为/home/new
(3) 在终端控制台中执行:cd /home/new/,进入 ns-allinone-2.27.tar.gz所在目录
(4) 用tar命令解压缩ns-allinone-2.27.tar.gz,具体做法为:tar xzvf ns-allinone-2.27.tar.gz
(5) 执行命令:cd ns-allinone-2.27
(6) 执行命令:./install
之后NS开始自动安装,如果没有出错的话,NS就算安装成功,安装结束后NS提示设置3个环境变量的值:PATH,LD_LIBRARY_PATH和TCL_LIBRARY。为了今后使用方便,我们可把这3个环境变量的设置放到/home/new/.bashrc文件中,修改.bashrc文件内容如下所示:
# .bashrc
# User specific aliases and functions
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
Fi
export PATH="$PATH:/home/new/ns-allinone-2.27/bin: /home/new/ns-allinone-2.27/tcl
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/new/ns-allinone-2.27/otcl-1.8,/home/new/ns-allinone-2.27/lib"
export TCL_LIBRARY="$TCL_LIBRARY:/home/new/ns-allinone-2.27/tcl
brary"
由于本人此设计是在WINDOWS下做的,所以在这着重介绍NS-2在WINDOWS下的安装。
利用一个Windows下模拟的linux 环境(Cgywin) 来安装NS2,下面是将以ns- allinone-2.27为例具体介绍安装方法。
1 、Windows 下linux 仿真环境( cygwin) 的安装首先http://www.cygwin.com 选择链接Install or Update now(using setup.exe)并下载它。若图片无法显示请联系QQ752018766
图2.7
完成后, 执行下载文件setup.exe。
单击下一步, 选择Install from Internet, 并再单击下一步。
图2.8
图2.9
在Root Directory中, 可以选择安装的目录, 不过在这里建议大家使用默认的路径c:\cygwin。其它另外两个选项也使用默认值即可。若图片无法显示请联系QQ752018766
图2.10
然后单击下一步, 在Local Package Directory 中, 是让使用者设定下载cygwin 所需要文件的目录。例如本人在磁盘上建立了一个cygwin_down 文件夹, 用于存放下载cygwin 的安装文件。使用者可以自行更改路径或者使用与安装程序setup 相同的路径(默认值)。若图片无法显示请联系QQ752018766
图2.11
单击下一步, 选择因特网联机的方式: 第一项是直接联机方式, 第二项是使用IE5 方式, 第三项是使用HTTP/FTP Proxy 方式, 使用者可根据自己的实际情况灵活选择, 若使用者是學校的學生,建議採用第三種方式,可以增快下載的速度。这里本人选择了第一项使用直接联机方式。若图片无法显示请联系QQ752018766
图2.12
单击下一步, 选择下载的地点链接, 这里本人建议选择从交通大学的FTP站下载,速度比较快。
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>