随笔分类 - NS2
摘要:2021年9月15日11:32:41 若有一个节点是桥节点 那就有可能发生dcfm检测出来也没有用的情况 论文阅读后总结: 攻击者必须位于受害者的广播距离内,发布假HELLO消息,声称自己离受害者的所有两跳邻居都很近。 此外,一个虚构的节点被通告,使攻击者在MPR选择中比其他可能的合法候选具有优势。
阅读全文
摘要:MPR set所有节点都要维护 存储他选择的mpr节点的集合 mpr select set 应该是只有mpr集合会维护 储存选择将它作为mpr的节点的集合 这网站和之前看的基础论文有冲突啊!!!看了下 应该网站是正确的 还是去看rfc3626官方文档吧!!! https://blog.csdn.ne
阅读全文
摘要:到目前为止,我们只关心平面模式,即只关心无线模式的场景。在本节中,我们将介绍处理混合任务的基本概念(有线和无线场景,遵循 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 我们可以将路由表实现为一个不同的类或任何其他数据结构(例如。散希表) 我们将显示一个封装路由表应该具有的功能的类。 内部信息因协议而异可能有很大不同。 对于路由表中的每个条目,您可能希
阅读全文
摘要:1介绍 2开始 3数据包的类型 4路由代理 5路由表 6需要进行的一些更改(ns2中的文件) 7从第二层协议接收消息 8支持有线和无线
阅读全文
摘要:"物理"结构(文件) protoname.h 这是一个头文件,将在该文件中定义所有必要的计时器(如果有的话)和路由代理 protoname.cc 在这个文件中实际上实现了所有的计时器、路由代理和 Tcl 钩子。 protoname_pkt.h 这里声明所有需要交换的包。 protoname_rtab
阅读全文
摘要:protoname/protoname pkt.h 数据包拥有的三个原始属性 nsadd_t 每次要在 NS2 中声明一个网络地址时,都必须使用此类型。 u_int16_t 16 位无符号整数。 u_int8_t 8 位无符号整数 所有这些类型和更多类型都在头文件配置.h 中定义 同样值得一提的是,
阅读全文