摘要:个人感觉还是比较有用,所以转来供大家参考讨论!在ns2中,应用代理使用来产生逻辑数据流或者说是数据流的发动者,而实际的数据流(包)却是在传输成代理(TCP/UDP等)那里产生的,我觉得这样未免有点混乱——两个层面的代理需要相互的配合才能完成某一协议的模拟,不过既然是模拟这一点可能也就不重要了。要想理解数据的流动就不得不讲一下包的格式,以及模拟器对包的初始化过程。首先:模拟器Simulator的init过程有这么一步:$self create_packetformat该方法在ns-packet.tcl中定义:Simulator instproc create_packetformat { } {
阅读全文
摘要:转自:http://blog.csdn.net/geekster/article/details/55646601.NS的整体的实现固定网络的仿真是通过下面三层合作来实现的。Application这个层是实现数据流的层次。Agent这个层是实现所有各层协议的的层次。Node这个部分由多个分类器(Classifier)实现了所有接收数据包进行判断是否进行转发或接收到Agent的部分。Link实现了队列、时延、Agent、记录Trace等一系列的仿真问题。2.TclObjectHandlerParentNodeProcessNsObjectNodeApplicationConnectorClass
阅读全文
摘要:在编译NS2的过程中,采用命令make,最后出现了一个警告信息:make: 警告:检测到时钟错误。您的创建可能是不完整的。 这是因为服务器上的文件最后修改时间比当前时钟还要晚,修改一下系统时间就OK啦!或者用命令touch 修改文件的修改时间。
阅读全文
摘要:本文所用的NS2版本为2.34,运行在ubuntu10.10环境下,该平台中已经包含了gcc/gdb等工具,这些工具可以用apt-get命令安装,很简单。 一、在NS2中启用GDB调试工具 1. 修改makefile.in:加上-g3选项 .cc.o: @rm -f $@ $(CPP) -g3 -c $(CFLAGS) $(INCLUDES) -o $@ $*.cc .c.o: @rm -f $@ $(CC) -g3 -c $(CFLAGS) $(INCLUDES) -o $@ $*.c 2. 修改Makefile(没有任何后缀的)文件,增加-g标记 CCOPT = -...
阅读全文
摘要:转载自:http://blog.csdn.net/kgn28/article/details/3058810ns2中,每一个类都有一个Otcl类和一个c++类,每个需要交互的c++类都有一个“链接类(该类包括一个方法,该方法实例化一个指定的类并且返回一个指向该实例的一个指针)”,该“链接类”通过其父类的构造方法在编译阶段注册一个方法到TclLinkage(otcl类可以找到并且可以调用该方法),这样在Otcl类初始化一个一个类的时候,调用之前注册过的方法,就可以初始化一个c++类了,并且还会注册一个使得Otcl类可以调用c++的类的方法——通过顺序查找实现的。这样以后在Otcl类就可以调用c+
阅读全文
摘要:主要关注移动场景,因此,写一些移动节点方面的参考点现在也只是个开头~加油~1、移动节点的创建创建无线网络的模拟场景最主要的就是创建移动节点。移动节点的创建与有线节点的创建不同。主要的区别是:在创建移动节点之前,必须对移动节点进行配置。创建一个移动节点的方法:步骤一:调用模拟器对象ns的内部过程node-config{}对移动节点进行配置。步骤二:调用模拟器对象ns的内部过程node{}正真地创建移动节点。2、无线网络的能量模型和无线传播模型无线网络能量模型NS2中实现的能量模型是一个节点的属性,它显示了移动主体的能量水平。在模拟开始时,节点的能量模型有一个初始值initialEnergy_。移
阅读全文