隐藏节点和暴露节点 下载本文

计算机学院网络工程实习报告

plot “filename”with lines;

4.3 性能参数分析模型

4.3.1 传输延时

网络的传输延时D定义为源节点发出的一个分组到目的节点接收到该分组之间

的时间差,包括电(光)信号在物理介质中的传播延时和数据在网络中的延时处理。结合NS的Trace文件,实习中以分组发送和到达之间的时间间隔来计算,计算公式如下:

D(i) = RT(i) –ST(i)

其中,D(i)表示第i个分组的传播时延,RT(i)表示第i个分组的接收时间,ST(i)表示第i个分组的发送时间。在分析网络的传输延时,一般计算平均传输时延。 4.3.2 时延抖动

网络的状态随时在变化,网络的流量也是不稳定,当流量较大的时候,许多分组就在节点的队列中排队等候,因此各个分组在传输过程中的时延并不一致。时延抖动描述的是网络传输延时的变化情况。如果时延抖动大,说明网络不稳定,反之网络较稳定。

计算公式:J(i) = D(i) - D(i-1)

在实际网络中,常以分组的最小延时和最大延时与平均延时作比较。 4.3.3 丢包率

丢包率定义了传输期间网络丢失的分组的数量,通常是在特定时间段内丢失的

分组占传输的数据总量的比例。丢包率是反映网络质量的一个重要参数。

在分析Trace文件时,以丢失分组的数量与发送分组的数量的比值来衡量丢包率的大小。

L=(NSP—NRP)/NSP

其中:NSP表示节点发送的分组数目,NRP表示节点接收的分组数目。 4.3.4 吞吐量

网络吞吐量是网络性能的一个重要参数,指在不丢包的情况下单位时间内节点

可以接收的数据量,单位是字节每秒或比特每秒, 在分析Trace文件时,使用以下公式:

30

计算机学院网络工程实习报告

TH(i) = (TB(i)—TB(m))/(RT(i)—RT(m))

其中:TB(i)是指到第i个分组被目的节点接收时已经传输的数据总量,RT(i)是指第i个包的接收时间。i>m,表示计算从第m个分组到第i个分组的吞吐量。

4.4 丢包率计算

4.4.1 NS2中网络丢包因素简介

ns-2 仿真器能模拟无线网络中的报文丢弃事件。报文丢弃包括数据报文丢弃和控制报文丢弃,以下统称为丢包。无线网络中,丢包主要发生在网络协议栈的路由层和MAC 层,主要的丢包因素和其对应的协议层如表4.1 所示。 标识 NRTE TTL CBK IFQ ARP COL RET DUP 协议层 RTR RTR RTR IFQ IFQ MAC MAC MAC 丢包因素 No route available TTL reached zero MAC callback No buffer ARP full Collision Retry count execeed Duplication 表4.1 NS2中网络丢包因素简介

其中,COL 是因为隐藏节点带来的报文冲突,即节点在接收报文时有其它报文到达;RET 是达到了报文重传次数的极限;DUP 是接收到重复的报文而导致的丢包;ARP 是因为达到了发送ARP请求的最大次数;NRTE 是找不到可用的路由;TTL 是达到了报文的最大生存周期;CBK是节点无法与下一跳邻居节点通信使得路由断链且局部修复失败时导致的丢包;IFQ 是在报文发送队列队满时引起的丢包。

上述因素之间也存在一定的关联,比如 a.CBK 丢包是由RET 丢包引起的。若发送给邻居节点的报文次数超过重传极限,始终不可达,则认为邻居节点已不在自己的覆盖范围内,向上层报告错误后,上层启动路由局部修复,若失败则丢弃发包队列里路由链路与该邻居节点相关的所有数据报文,导致CBK 丢包产生。b. 重复

31

计算机学院网络工程实习报告

性报文接收DUP 也建立在RET 的基础之上。在RTS/CTS/ DATA/ACK 握手过程中,若接收节点成功接收了数报DATA,但它回复的ACK 没被发送节点收到时,发送节点则会重传DATA,接收节点收到第二次传送的DATA 后直接丢弃,导致DUP 丢包产生。c. 由于MAC层总是用重传来保证对报文的成功发送,而用于握手的控制报文随节点密度的增大冲突增多,导致报文发送的时延增大,在应用层发包速率不变的情况下,由于报文发送队列队满引起的IFQ 丢包产生。

4.4.2 隐藏节点

1.隐藏节点丢包率的awk思想:我们采用一定的时间间隔,在这个时间间隔内统计发送节点的发送包数和接收节点的接收包数,再根据丢包率的定义来计算。由于场景模拟中是节点0、1分别作为发送节点,而节点1为共同的接收节点,所以分开分别统计。

核心代码如图4.1所示:

32

计算机学院网络工程实习报告

图4.1 节点0-1、2-1丢包率代码

2.采用Gnuplot画出的丢包率。

绘图命令如下所示:设置坐标轴、范围、文件名称等,对于不同的图形,只是修改plot指令后的文件名即可。

绘出的图形如图4.2,4.3所示:

33