应用层
在NS2中,业务流是由应用层产生的。
[1] 应用层概述
在NS2中,应用层程序构建在传输层之上,它分为两大类:流量产生器(traffic generator)和应用模拟器(simulated application)。
注意:
(1)流量产生器一般用在UDP代理之上;应用模拟器一般用在TCP代理之上。
(2)NS2通过在传输层Agent内部预定义一些成员函数来模拟socket API的功能。
(3)Application类是OTcl中应用层程序的基类,提供了应用层程序的一些行为的基本原型。
(4)可以通过Tcl代码查看NS2中能够实现的各种应用程序。(P.61)
[2] 流量产生器(Traffic generators)
网络中的业务流是随机产生的,因此,以某个固定速率来模拟实际业务流的产生情况显然是不合适的。为此,NS2中创建了各种不同的概率模型来模拟产生实际网络中的业务流。
在NS2中,根据业务流产生的概率模型的不同,实现了4种流量产生器(一般都是建立在UDP代理之上)。
(1)指数分布流量产生器
在OTcl中对应的类名为Application/Traffic/Exponential。
该流量产生器按照指数On/Off分布产生数据。在"On"阶段,分组以固定的速率发送;在"Off"阶段,分组停止发送。"On"和"Off"两种状态的时间都符合指数分布。
(2)泊松分布流量产生器
在OTcl中对应的类名为Application/Traffic/Pareto。
该发生器除了"On"、"Off"两种状态之间的时间产生业务流符合Pareto分布外,其他时间按指数On/Off分布。这种分布可用来产生长时间相关的急剧通信量。
(3)固定比特流量产生器
在OTcl中对应的类名为Application/Traffic/CBR。
该流量产生器按照一个固定的速率产生业务流,分组的长度为一常数值,可以选择需要时对分组发送的时间间隔产生随机抖动。
(4)Trace文件流量产生器
在OTcl中对应的类名为Application/Traffic/Trace。
该流量产生器按照一个Trace文件产生数据。
例子:
[3] 应用模拟器(Simulated application)
建立在TCP代理之上的业务流需要使用应用模拟器来产生。
(1)FTP应用模拟器
对应的OTcl类为Application/FTP。主要用来模拟大量数据的传送。
(2)Telnet应用模拟器
对应的OTcl类为Application/Telnet。
例子: