ns2通信网仿真作业2Word下载.docx

上传人:b****3 文档编号:15717844 上传时间:2022-11-15 格式:DOCX 页数:14 大小:157.49KB
下载 相关 举报
ns2通信网仿真作业2Word下载.docx_第1页
第1页 / 共14页
ns2通信网仿真作业2Word下载.docx_第2页
第2页 / 共14页
ns2通信网仿真作业2Word下载.docx_第3页
第3页 / 共14页
ns2通信网仿真作业2Word下载.docx_第4页
第4页 / 共14页
ns2通信网仿真作业2Word下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

ns2通信网仿真作业2Word下载.docx

《ns2通信网仿真作业2Word下载.docx》由会员分享,可在线阅读,更多相关《ns2通信网仿真作业2Word下载.docx(14页珍藏版)》请在冰豆网上搜索。

ns2通信网仿真作业2Word下载.docx

(3)服务机构。

(1)输入过程:

输入即指顾客到达排队系统,可能有下列各种不同情况,当然这些情况并不是彼此排斥的。

顾客的总体(称为顾客源)的组成可能是有限的,也可能是无限的。

顾客到来的方式可能是一个一个的,也可能是成批的。

顾客相继到达的间隔时间可以是确定型的,也可以是随机型的。

顾客的到达可以是相互独立的。

就是说,以前的到达情况对以后顾客的到来没有影响,否则就是有关联的。

输入过程可以是平稳的,或称对时间是齐次的,是指描述相继到达的间隔时间分布和所含参数(如期望,方差)都是与时间无关的,否则称为非平稳的。

(2)排队规则:

顾客到达时,如所有服务台都正被占用,在这种情形下顾客可以随即离去,也可以排队等候。

前者称为即时制或损失制,排队等候的称为等待制。

等待制可以采用先到先服务规则;

后到先服务规则;

随机服务规则;

有优先权规则。

(3)服务机构:

(A)服务机构可以没有服务台(服务员),也可以有一个或多个。

(B)在有多个服务台的情形中,它们可以是平行排列、先后排列和混合排列。

(C)服务方式是,可以对单个顾客进行,也可以成批顾客进行。

(D)和输入过程一样,服务时间也分确定型和随机型。

(E)和输入过程一样,服务时间的分布我们总假定是平稳的,即分布的期望值、方差等参数都不受时间的影响。

2.2排队机模型的分类

排队模型按主要特征进行分类。

一般是以相继顾客到达系统的间隔时间分布、服务时间的分布和服务台数目为分类标志。

现代常用的分类方法是英国数学家D.G.肯德尔提出的分类方法,即用肯德尔记号X/Y/Z进行分类。

X处填写相继到达间隔时间的分布;

Y处填写服务时间分布;

Z处填写并列的服务台数目。

目前典型的排队机模型有M/M/1,M/D/1和D/D/1(其中,M表示到达过程为泊松过程或负指数分布;

D表示定长输入)。

其中,D/D/1表示顾客按照确定的时间间隔到达、服务时间为确定的时间间隔和单个服务台的模型;

M/D/1表示顾客相继到达的间隔时间为负指数分布、确定的服务时间间隔和单个服务台的模型;

M/M/1表示顾客相继到达的时间间隔为负指数分布、服务时间间隔为负指数分布和单个服务台的模型。

2.3M/M/1计算模型

2.3.1标准的M/M/1模型

标准的M/M/1计算模型是指适合下列条件的排队系统:

顾客源是无限的,顾客单个到来,相互独立,一定时间的到达数服从泊松分布,到达过程是平稳的。

单队,且对队长没有限制,先到先服务;

单服务台,各顾客的服务时间是相互独立的,服从相同的负指数分布。

此外,还假定到达间隔时间和服务时间是相互独立的。

2.3.2达到与服务的概率分布

表示顾客平均达到率,

表示服务台平均服务率。

对于泊松流,在时间

内,系统内有

个顾客的概率服务泊松分布:

若顾客流为泊松流时,顾客到达的时间间隔服从负指数分布:

从而可求得到达的时间间隔均值为

到达时间间隔方差为

在这种计算模型中,由于服务机构只有一个服务台,对一个顾客的服务时间,即忙期内两顾客离开系统的时间间隔,服从参数为

的负指数分布,

为平均服务率,即单位时间内离开系统的顾客平均数。

服务时间的均值和方差为:

综上所述,在M/M/1计算模型中,达到的顾客数服从泊松分布,服务时间服从负指数分布。

2.3.3服务系统的运行指标

1.系统中无顾客的概率

2.平均排队的顾客数

3.系统中的平均顾客数

4.顾客花在排队上的平均等待时间

5.顾客在系统中的平均逗留时间

6.顾客得不到及时服务必须排队等待的概率

7、系统中恰好有n个顾客的概率

此外,还有,平均队长:

系统状态的数学期望(顾客数的期望值)

平均排队长:

排队顾客数的期望值

逗留时间分布为

所以平均逗留时间

平均排队时间:

关于

服务强度,反映了服务员忙期所占的比例,同时实际上也是平均服务台数。

指标参数之间的关系:

忙期与闲期,

服务员平均连续忙的时间

平均连续闲的时间

2.4M/D/1计算模型

M/D/1表示顾客相继到达的间隔时间为负指数分布、确定的服务时间间隔和单个服务台的模型。

它是M/G/1计算模型(G表示一般相互独立的随机分布)的一种特殊情况,即M/G/1模型中服务时间均方差

=0的情况。

表示单位时间顾客的平均达到数;

表示单位时间内的平均服务顾客数,则一个顾客的平均服务时间为

,服务时间的均方差为

在M/G/1计算模型中,达到的顾客数服从泊松分布,服务时间为一般的服务时间。

而作为M/G/1的特殊情况M/D/1计算模型,其达到的顾客数亦服从泊松分布,但服务时间为固定时间。

M/G/1服务系统的运行指标包括:

5.系统中顾客的平均逗留时间

6.系统中顾客必须排队等待的概率

7.系统中恰好有n个顾客的概率

2.5D/D/1计算模型

D/D/1计算模型是一种表示顾客按照确定的时间间隔到达、服务时间为确定的时间间隔和单个服务台的模型,它是三个排队模型中最特殊的情况。

值得注意的是D/D/1模型一定要求服务时间为确定的时间。

在D/D/1模型中,用

,与此同时,如果顾客到达率小于服务率(

),则此时处于无需等待D/D/1队列中。

3.实验仿真结果图

3.1几种排队模型主要的仿真程序

3.1.1M/M/1仿真程序

在M/M/1仿真程序中,我们假设包的到达速率是1packet/s,到达间隔时间服从指数分布,链路的处理速度恒定,定为44000bits/s,包的大小服从指数分布(这样可以代替服务时间的指数分布),分布的参数为44000/(8*u),其中u=1.1packets/s(模拟服务器处理速度)此时参数大致已经设定,贴源码如下:

setns[newSimulator]

settf[openout.trw] 

$nstrace-all$tf

setlambda 

1

setmu 

 

 

1.1

setn1 

[$nsnode]

setn2[$nsnode]

setlink[$nssimplex-link$n1 

$n244kb0msDropTail]

$nsqueue-limit$n1 

$n2 

100000

setInterArrivalTime[newRandomVariable/Exponential]

$InterArrivalTimesetavg_[expr 

1/$lambda]

setpktSize[newRandomVariable/Exponential]

$pktSizesetavg_[expr44000.0/(8*$mu)]

#将n1定义为src

setsrc[newAgent/UDP]

$nsattach-agent$n1$src

#监听队列

setqmon[$nsmonitor-queue$n1 

$n2[openqm.outw]0.1]

$linkqueue-sample-timeout

#定义队列中包的个数,初始化为0

setpktAmount0

procfinish{}{

globalnstf

$nsflush-trace 

close$tf 

exit0 

procsendpacket{}{

globalnssrcInterArrivalTimepktSizepktAmount

settime[$nsnow]

settempTime[$InterArrivalTimevalue]

$nsat[expr$time+$tempTime]"

sendpacket"

settempSize[exprround([$pktSizevalue])]

setbytes$tempSize

#在处理完传进的包后,删除掉一个包,delpacket在下面定义,这里来记录包个数有点问题,这里做法是在当前时刻的$tempSize*8/44000处理完进来包的时间后将包的个数减少1,忽略了等待的过程

$nsat[expr$time+[expr$tempSize*8/44000]]"

delpacket"

#puts"

$time$bytes"

$srcsend$bytes

#发送后将包数加一

setpktAmount[expr$pktAmount+1]

puts"

$time$pktAmount"

}

procdelpacket{}{

globalpktAmount

setpktAmount[expr$pktAmount-1]

}

setsink[newAgent/Null]

$nsattach-agent$n2$sink

$nsconnect$src$sink

$nsat0.0001 

"

$nsat 

1000.0"

finish"

$nsrun

3.1.2M/D/1仿真程序

M/D/1的仿真程序是将M/M/1中的

$pktSizesetavg_[expr44000.0/(8*$mu)]代码改成setpktSize5000即可。

3.1.3D/D/1仿真程序

setns[newSimulator]

settracefile1[openout.trw]

$nstrace-all$tracefile1

#OpentheNAMtracefile

setnamfile[openout.namw]

$nsnamtrace-all$namfile

#Definea'

finish'

procedure

globalnstracefile1namfile

$nsflush-trace

close$tracefile1

close$namfile

execnamout.n

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 企业管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1