一.更改网络拓扑结构
本次仿真还可采用两种典型的网络拓扑结构,分别是线型拓扑结构和星型拓扑结构。
线型拓扑结构即十个节点排成一条线,设置第一个节点为发送节点,最后一个节点为接受节点即可。
星型拓扑结构是一个节点被周围节点包围,中间节点设置为发送节点,周围节点可以是中继节点也可以是接收节点。
二.更改mac层协议
第12行代码set val(mac) Mac/Tdma 中后面的值可以改成以下几个参数:
Mac/802_11
Mac/Csma/Ca
Mac/Sat
Mac/Sat/UnslottedAloha
以上是左右NS2中集成的mac层协议,若使用其他协议,需要找到源码进行添加。
三.计算吞吐量
吞吐量表示在单位时间内通过某个网络的数据量。
19-23行:如果事件为“r”(接收),并且节点为0号节点或1号节点或2号节点,数据包的类型为cbr时开始记录数据。其中end_time数组记录当前时刻,pkt_byte_sum数组记录截止到当前时刻接收到数据包的总数量。
以上代码计算了节点0,1,2组成的小网络的吞吐量,若想计算单个节点的吞吐量,只需更改19行对应的if中的node参数即可。
四.计算延迟
函数解释
15-17行:如果事件为“s”(发送),并且节点为0号节点,此时记录当前时间为第uid个数据发送的开始时间。
18-20行:如果事件为“r”(接收),并且节点为1号节点,此时记录当前时间为第uid个数据发送的结束时间。
22-24行:记录总共有多少条数据
28-34行:计算延迟(每条数据的结束时间减去开始时间)并输出。
以上代码计算了节点0向节点1发送数据时的延迟情况。若想观察其他节点的延迟,只需更改15-17行以及18-20行if语句里对应的节点号即可。
五.其他参数分析
节点能量消耗这项指标没有找到计算公式。若果有计算公式,可以参照延迟和吞吐量的计算对trace文件进行分析得到相应的参数。