摘要: ① 分组模块分组(消息)是模拟器的基本对象。Ns-3中每个分组都包含一个字节缓冲区和一个Tag列表,通过Header类和Trailer类对缓冲区数据进行添加和删除。分组对象的接口提供一些私有数据的访问,Tags通过一个指针来实现,该指针指向TagData数据结构链表的开始,字节缓冲区和Tag链表的当... 阅读全文
posted @ 2014-06-20 11:25 Tempal 阅读(955) 评论(0) 推荐(1) 编辑
摘要: 在官方文档ns-3-manual.pdf中,整个框架图:v 随机变量伪随机生成器pseudo-random number generator (PRNG)。默认情况下,ns-3仿真程序使用固定种子和运行数字,它们分别存在全局变量g_rngSeed 和 g_rngRun中,在ns-3.14版本以后,n... 阅读全文
posted @ 2014-06-20 11:24 Tempal 阅读(1571) 评论(0) 推荐(0) 编辑
摘要: v Pyiz在ns-3中集合到Visualizer。只要在程序中加入:CommandLine cmd;cmd.Parse (argc,argv);并且在运行是加入参数-vis。它不需要trace文件运行第三个示例./waf --run third --vis红色为无线网络,绿色为通信状态。v Net... 阅读全文
posted @ 2014-06-20 11:23 Tempal 阅读(3730) 评论(2) 推荐(0) 编辑
摘要: 建立总线型拓扑。/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- *//** This program is free software; you can redistribute it and/or modify* it ... 阅读全文
posted @ 2014-06-20 11:22 Tempal 阅读(1179) 评论(0) 推荐(0) 编辑
摘要: 两类跟踪技术:一类是直接将执行过程显示在命令行中,有助于调试仿真脚本,ns-3用Logging系统。另一类是更为常用的将采集到的数据直接存放在一个文件中,以便后期的处理与分析,ns-3使用的是Tracing系统。1、Logging系统v 有7个等级,有低到高,高的包含低的消息:LOG_ERROR——... 阅读全文
posted @ 2014-06-20 11:21 Tempal 阅读(902) 评论(0) 推荐(0) 编辑
摘要: 1、节点基本计算设备被抽象为节点。用Nodes类来描述。如Nodeontainer类,用于追踪一组节点指针。NodeContainer nodes;nodes.Create(2);2、应用需要被仿真的用户程序被抽象为应用。这些方法以“Time”对象为参数,记录接收时间和发出时间。NS3用Applic... 阅读全文
posted @ 2014-06-20 11:20 Tempal 阅读(488) 评论(0) 推荐(0) 编辑
摘要: /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- *//** This program is free software; you can redistribute it and/or modify* it under th... 阅读全文
posted @ 2014-06-20 11:19 Tempal 阅读(1363) 评论(0) 推荐(0) 编辑
摘要: 使用ns-3进行网络仿真时,一般经过一下4个步骤:l 选择或开发相应模块。l 编写网络仿真脚本:C++或者Python。编写脚本过程:生成节点(如网卡、应用程序、协议栈等),安装网络设备(如CSMA、WiFi),安装协议栈:ns-3一般是TCP/IP协议栈,安装应用层协议,其他配置(如节点是否要移动... 阅读全文
posted @ 2014-06-20 11:18 Tempal 阅读(749) 评论(0) 推荐(0) 编辑
摘要: Waf是基于Python开发的编译工具,ns-3系统本身和将要写的仿真代码都由waf负责编译运行。Scratch目录一般存放用户脚本文件,也可以把要运行的例子拷贝到该目录下。Example是ns-3提供的关于如何使用ns-3的例子,包含许多模块的使用。Doc目录是帮助文档,可以使用./waf --d... 阅读全文
posted @ 2014-06-20 11:17 Tempal 阅读(2644) 评论(0) 推荐(0) 编辑
摘要: 安装ns3的一系列包,脚本如下:#!/bin/shsudo apt-get install gcc g++ python python-pygccxmlsudo apt-get install gcc g++ python python-devsudo apt-get install mercuri... 阅读全文
posted @ 2014-06-20 11:16 Tempal 阅读(721) 评论(0) 推荐(0) 编辑