ns-2与TCP拥塞模拟 之四 ns-2仿真脚本中的元素

本文详细介绍了ns-2仿真脚本中的关键元素,包括模拟器类(Simulator)的使用,事件调度器的四种类型,节点、链路的创建与管理,以及TCP和UDP代理的配置。此外,还提及了应用层的流量产生器和应用模拟器,如FTP和Telnet。通过理解这些元素,读者能够更好地构建和理解ns-2网络仿真实验。
摘要由CSDN通过智能技术生成


ns-2TCP拥塞模拟 之四 ns-2仿真脚本中的元素

一般的网络仿真脚本,需要有模拟器类(Simulator类)、事件、节点、链路、代理、应用等元素。

1)模拟器类(Simulator类)

ns-2中,每个仿真过程都需要一个类对整个过程进行控制和管理,这个类就是模拟器类(Simulator类)。整个模拟过程从创建一个模拟器类对象开始,通过调用这个对象的各种过程实现:创建节点、构建拓扑结构图、对模拟的各方面进行配置、定义事件、根据定义的事件模拟整个网络的运行等。

对应的脚本语句如下(通常都在脚本的开头部分):

set ns [new Simulator]       ;#新建一个Simulator对象(如要使用这个ns对象,写作$ns

模拟器类对象创建的同时,还会完成以下相关的初始化操作:

1)初始化分组格式(调用create_packetformat);

2)创建一个事件调度器(scheduler,默认为calendar scheduler);

3)创建一个空代理(null agent)。

2)事件和事件调度器

目前ns-2支持4种事件调度器:

1)链表式(linked-list)调度器;

2)堆式(heap)调度器,适用于大量事件的情况;

3)时间队列式(calendar)调度器,这个是默认的事件调度器;

4)实时(real-time)调度器。

常用的语句有如下4种:

$ns halt                                        ;#停止或暂停调度器

$ns run                                     ;#启动调度器

$ns at <time> <event>                                 ;#在一个特定时间<time>调度一个事件<event>

$ns cancel <event>                                  ;#取消<event>事件,将事件从准备好的调度器中删除

这样,就很容易理解示例1中“$ns at 5.0 "finish"”、“$ns run”这样的语句了。

3)节点

根据网络节点之间通信方式的不同,分组的传输方式有两类:单播(unicast)和多播(multicast),在ns-2中对应单播节点和多播节点。以下仅介绍最相关的单播节点。

一个单播节点本质上是一个组合对象,主要包括两个Tcl对象:地址分类器(address classifier和端口分类器(port classifier)。节点主要完成以下操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值