`

ns2 模拟WSN协议之手记

 
阅读更多
ns2中模拟WSN,用Timestamp时间戳计算点对点Delay延迟时
如果在发包时调用了

Scheduler::instance().schedule(target_, p, JITTER);  //这里用JITTER来避免与邻居同时发包来减少collision


但是这个也同时delay了发包时间。所以给发包加timestamp时应该把它计算上才是正确的发包时间。这样在接受到这个包时,用接受时间减去发包时间才能计算出正确的delay

下面是具体的实现方法,先在头文件中定义2个宏
#define CURRENT_TIME Scheduler::instance().clock()
#define JITTER (Random::uniform()*0.5)
...


在send()函数中
double jitter   =   JITTER;
//CURRENT_TIME是生成packet的时刻,并不是实际发包的时刻,所以要加上jitter才是
send_time = CURRENT_TIME + jitter;

Scheduler::instance().schedule(target_, p, jitter);

接受端的recv()函数
//计算delay,这里的CURRENT_TIME是接受到包时的当前时刻
delay = CURRENT_TIME - pkt->send_time;
分享到:
评论

相关推荐

    wsn.tar.gz_Creating_NS2 WSN_wsn in ns2_wsn ns2_wsn tcl

    总之,这个压缩包提供了关于使用NS-2模拟WSN的宝贵资源,特别是对于初学者,这是一个很好的起点,可以学习如何使用TCL脚本来定义WSN的网络拓扑、配置通信协议,并进行性能评估。通过深入理解和实践,不仅可以掌握NS-...

    sample-wsn-20.tar.gz_AODV IN NS2_Aodv wsn ns2_NS2 WSN_wsn in ns2

    在标签中,"aodv_in_ns2"、"aodv_wsn_ns2"、"ns2_wsn"、"wsn_in_ns2"和"wsn_protocol_aodv"揭示了关键主题,包括AODV在NS2中的应用,WSN在NS2中的模拟,以及AODV作为WSN协议的角色。这些标签帮助我们聚焦于AODV在WSN...

    wsn.rar_NS2 WSN_ns2_ns2 wsn tcl_sensor tcl_wsn ns2

    标题中的"wsn.rar_NS2 WSN_ns2_ns2 wsn tcl_sensor tcl_wsn ns2"暗示了这是一个关于无线传感器网络(WSN)的仿真项目,使用了NS-2(Network Simulator 2)这一知名的网络模拟工具。NS-2是一种广泛用于研究和教育目的...

    WSn.tar.gz_ wsn tcl_NS2 WSN_tcl wsn_wsn ns2_wsn ns2 code

    总的来说,这份压缩包包含了一个基于NS2和TCL的简单无线传感器网络模拟代码,可以用来研究WSN的性能、优化网络配置或测试新的通信协议。要深入学习和利用这份资源,你需要掌握NS2的基本使用方法,理解TCL语言,并对...

    ns2.15_spin_WSN.rar_NS2 for WSN_SPIN_Sensor Networks_spin ns2_sp

    在WSN的模拟与分析中,NS2(Network Simulator 2)是一个广泛使用的开源仿真工具,它提供了丰富的协议模型和网络环境模拟功能。本文将重点探讨NS2.15版本中SPIN(Sensor Protocol for Information via Negotiation)...

    third_ns3_NS3wifi_WSN_

    在ns-3中,可以通过不同的模块来模拟WSN,如sicslowpan模块用于6LoWPAN(IPv6 over Low-power Wireless Personal Area Networks)的模拟,或者通过自定义脚本来实现特定的WSN协议栈。 **案例描述** 描述提到的"ns...

    有关NS2的WSN仿真的论文和实例

    NS2支持多种通信协议,如TCP/IP、UDP、AODV、DSDV等,为WSN的性能分析提供了便利。 在NS2中进行WSN仿真的步骤通常包括以下几个阶段: 1. **网络拓扑设计**:定义传感器节点的位置、数量以及连接方式。这可以通过NS...

    smac.tar.gz_smac_wsn ns2_wsn simulator

    描述 "smac ns2 simulator for wsn" 表明这个压缩包包含的是用于模拟无线传感器网络的SMAC协议的源代码,这些源代码可以在NS-2(Network Simulator version 2)平台上运行。NS-2是一个广泛使用的开源网络仿真工具,...

    WSN.tar.gz_NS WSN_ns 2_wireless sensor ns-2_wsn tcl

    在本压缩包文件"WSN.tar.gz"中,包含了用于模拟无线传感器网络行为的NS-2(Network Simulator 2)工具的相关代码和配置。NS-2是一款广泛使用的开源网络仿真软件,尤其适用于无线网络的研究与开发。 NS-2是基于事件...

    wsn-example.rar_RSVP_WSN_ns2_ns2 tcl_wsn tcl

    总结来说,"wsn-example.tcl"是一个实用的示例,展示了如何在NS2环境中利用tcl脚本实现无线传感器网络的模拟,特别是结合RSVP协议。通过深入研究这个脚本,我们可以深入了解WSN的模拟技术,为实际的WSN项目提供有...

    WSN的各种算法,wsn协议,matlab

    在MATLAB中模拟这些协议,不仅可以帮助我们理论上的理解,还可以提供直观的可视化结果,如能量消耗图、数据传输路径、网络覆盖范围等。这有助于我们深入研究WSN的动态行为,优化网络配置,以及为新的路由策略提供...

    ns2下leach协议源码

    NS2是一个广泛使用的网络模拟工具,用于模拟和分析各种网络协议,包括无线传感器网络协议。通过NS2,开发者和研究人员可以创建仿真场景,调整参数,并观察协议性能。 在LEACH协议中,主要包含以下几个核心概念: 1...

    基于NS2的LEACH协议仿真与分析

    NS2(Network Simulator 2)是一个广泛使用的开源网络仿真工具,能够模拟各种网络协议的行为。在NS2中对LEACH协议进行仿真,可以详细地观察和分析协议的性能指标,如能量消耗、网络寿命等。具体步骤包括: 1. **...

    使用NS-2模拟实现无线AD-hoc网络

    wireless-3node.tcl 无线Ad hoc网络的NS-2模拟脚本 命令格式:$ ns wireless-3node.tcl statistic.sh throughput.sh throughput.awk FTP业务平均吞吐量统计脚本 命令格式:$ sh statistic.sh | sh throughput.sh cbr...

    NS2与网络仿真模拟实验教程

    《NS2与网络仿真模拟实验教程》是一份深入解析NS2网络仿真工具的PPT教程,旨在帮助学习者从各个方面理解和掌握NS2的使用。NS2(Network Simulator 2)是一款广泛应用于网络研究和教学的开源软件,它允许用户在虚拟...

    Demo.rar_DEMO_WSN_basic ns2_network simulation

    《基于ns2的WSN基础网络模拟初探》 在信息技术领域,无线传感器网络(Wireless Sensor Networks, WSN)是一种广泛应用的技术,它由大量微型传感器节点组成,用于监测环境或特定目标。为了理解和研究WSN的工作原理...

    wfrp.zip_NS WSN_flooding in wsn_flooding wsn

    在WSN的模拟中,NS-2.35提供了丰富的功能,包括节点移动模型、通信模型以及多种路由协议的支持。 3. 压缩文件组件分析 - `cmu-trace.cc` 和 `cmu-trace.h`:这是CMUTrace模块的源代码和头文件,用于记录和回放节点...

    网络仿真模拟 NS2无师自通 七天速学

    - **特性与应用**:NS-2能够模拟多种网络协议和技术,包括但不限于TCP、UDP、FTP、Telnet、Web等,支持局域网、广域网、无线传感器网络等多种网络环境。 #### 1.2 网络仿真的重要性 - **研究手段**:网络仿真作为一...

    wsn.cc.tar.gz_NS3 wsn_WSN_WSN NS3_ns3

    source code of wsn using ns3

    NS2.rar_LEACH在ns2_NS2路由协议

    NS-2是一款广泛用于网络模拟的开源软件,主要用于研究和设计各种网络协议,特别是无线传感器网络(WSN)中的协议。LEACH(Low-Energy Adaptive Clustering Hierarchy)是一种为WSN设计的节能型簇头轮换路由协议,...

Global site tag (gtag.js) - Google Analytics