摘要:
首先,大体教程是按照b站这个:(已经保存到e盘了) https://www.bilibili.com/video/av671680199 https://www.bilibili.com/read/cv9932411 然后就是想说几个坑 1首先,安装ns3的时候不建议使用root安装, 如果使用了r 阅读全文
摘要:
debug 版本 ./waf clean./waf configure --build-profile=debug --enable-examples --enable-tests ./waf optimized版本 推荐 ./waf clean ./waf configure --build-pr 阅读全文
摘要:
https://www.nsnam.org/docs/release/3.5/manual/manual_2.html#SEC2 1.1 Quick Overview 1.1快速概述 ns-3 random numbers are provided via instances of class Ra 阅读全文
摘要:
到目前为止,我们只关心平面模式,即只关心无线模式的场景。在本节中,我们将介绍处理混合任务的基本概念(有线和无线场景,遵循 NS2 术语)。有线无线脚本需要使用层次寻址,因此您必须阅读第 15 章和第 29 章[2],以获得这种类型的寻址的必要知识。 通过最小的变化,我们可以在有线和无线模拟中使用我们 阅读全文
摘要:
tips: 添加新的协议,其实有一个基本的死框架,我们按照框架写完后,再进行自己协议的编写。 死框架: 1、申明一个继承了Agent类的子类,实现其中的recv()方法,其他是自己实现的函数 2、利用TclClass进行C++与OTCL进行绑定 3、申明一个包类型 4、将包类型的C++与OTCL进行 阅读全文
摘要:
6.1 数据包类型声明 如果我们还记得,我们必须使用一个常量来表示我们新的数据包类型,PT_PROTONAME。我们将在文件通用/数据包中定义它。让我们找到 packet_t 枚举,其中列出了所有的数据包类型。我们将把 PT_PROTONAME 添加到这个列表中,正如我们在下一段代码(第 6 行)中 阅读全文
摘要:
一些路由协议可能有兴趣在无法从层 2 发送数据包时做出反应。我们的路由代理可以很容易地完成,如我们下面解释。 它是如何工作的?数据包的公共报头有一个字段,在其中您可以指定一个函数,如果第二层代理不能发送该数据包,则将调用该函数。让我们调用这个函数 protoname_mac_failed_callb 阅读全文
摘要:
protoname/protoname.h 我们定义了一个叫做agent的新类,包含帮助协议完成其工作所需的属性和函数。 为了说明计时器的使用,我们假设质子体是一个主动的路由协议,需要定期发送一些控制数据包。 具体看代码 4.1 TCl 钩子 第 3 节中看到了如何将我们自己的数据包绑定到 Tcl 阅读全文
摘要:
protoname/protoname_rtable.h protoname/protoname_rtable.c 我们可以将路由表实现为一个不同的类或任何其他数据结构(例如。散希表) 我们将显示一个封装路由表应该具有的功能的类。 内部信息因协议而异可能有很大不同。 对于路由表中的每个条目,您可能希 阅读全文
摘要:
"物理"结构(文件) protoname.h 这是一个头文件,将在该文件中定义所有必要的计时器(如果有的话)和路由代理 protoname.cc 在这个文件中实际上实现了所有的计时器、路由代理和 Tcl 钩子。 protoname_pkt.h 这里声明所有需要交换的包。 protoname_rtab 阅读全文