NS2
everysmile
这个作者很懒,什么都没留下…
展开
-
NS2仿真进入代码编辑阶段
经过一段时间的学习,NS2仿真终于明白了怎么编写C++代码。原创 2013-07-16 23:30:40 · 920 阅读 · 0 评论 -
concat&&lappend
set comment {In Tcl, you can use the lappend command to add items on toa list, but it doesn't always do exactly what you wish itto. Let's say that I've got two lists - the firstcontaining the early原创 2013-07-16 23:31:45 · 784 阅读 · 0 评论 -
ns2中层之间关联回顾
在节点接收到数据后,要经过phy.mac层进行依次处理。如下代码//phy.ccPhy::recv(Packet* p, Handler*){ struct hdr_cmn *hdr = HDR_CMN(p); //struct hdr_sr *hsr = HDR_SR(p); /* * Handle outgoing packets */ switch(hdr->directio原创 2013-07-16 23:31:51 · 1086 阅读 · 0 评论 -
cross layer design
在网上查询ns2跨层设计后,发现最有用的莫过于SEASON29问里的第28答了,里面介绍了路由层如何访问MAC层信息(见附录), 在 tcl 脚本中初始化:set rt($i) [$node_($i) agent 255] # 获得路由层协议$rt($i) set-mac [$node_($i) set mac_(0)] #初始化 mac 对象其中255是端口号,agent 255代表是路原创 2013-07-16 23:32:07 · 779 阅读 · 1 评论 -
调试 Otcl tcl
在ns2的网络场景配置中,要用到OTcl,在阅读NS2代码时,也会涉及到大量的OTCL,TCL。对于这种语言,还是需要去认真学习一下其语法知识,才可以达到在学习的时候事半功倍的效果。学习一种语言的最好方式莫过于去写,调试。对于tcl语言,在win下面有一种工具叫tcl8.0可以调试。对于otcl,则需要使用ns2来编译其脚本语言了。(自己总结,如果有更好的方式,请告知。)原创 2013-07-16 23:31:47 · 882 阅读 · 0 评论 -
ns2传输损耗模型
一 概述在ns2的传输损耗模型中,节点位置、天线参数配置、传输路径模型都会影响到传输情况$ns node-config -adhocRouting $opt(adhocRouting) \ -llType $opt(ll) \ -macType $opt(mac) \ -chann原创 2013-07-16 23:31:54 · 897 阅读 · 0 评论 -
deimr80211使用分享
http://www.baisi.net/viewthread.php?tid=2991298&extra= 见链接上的附件文章。原创 2013-07-16 23:31:58 · 664 阅读 · 0 评论 -
multiface implementation in ns2
如图所示,如果一个包到达(也就是受到),那么如果当前的连接接口是左上的接口(节点),那么通过该节点的分类器Classfier/Port的defaulttarget_包将被传到MulitFace的端口分类器,可以看到,MultiFace的地址分类器是废弃不用的;如果要将一个封包传送出去,那么Application首先会寻找target_是哪个节点(那种协议的),从而会将该封包传送到那个节点上去。原创 2013-07-16 23:32:03 · 726 阅读 · 0 评论 -
ns3 g++ 编译
ns3中使用的编译系统是waf,所有的c++工程都需要经过waf编译后运行,调试时也需要waf的。但是实在是受不了waf的编译系统了,:-),也许是我自己没太搞明白吧。总之,还算喜欢传统的g++,想想ns3本身也是用c++写的,编写的代码也是纯c++代码,为什么不可以使用g++进行编译呢?于是决定折腾一下,以此摆脱waf的束缚。首先,随便试一试用g++编译.cc文件(万恶的ns3竟然只支持转载 2015-02-24 17:43:44 · 3375 阅读 · 1 评论 -
Mac80211定时器
最近学习了ns2中Mac802_11的实现代码,对802.11工作机制和ns中的定时器机制有了一些粗浅认识,特分享如下,不足之处恳请指教! PS:本文只简单介绍Mac802_11相关的定时器原理和作用,具体的使用过程和Mac802_11函数流程因为已经有大牛们写过,在此不再赘述。可以上百思论坛NS区搜索相关文献,地址http://www.baisi.net/forum-440-1.html。原创 2013-07-16 23:31:02 · 1070 阅读 · 0 评论 -
kdevelop & ns2 debug
原文转自:http://www.baisi.net/redirect.php?tid=1617581&goto=newpost+自己实践 在Ubuntu系统下使用Kdevelop调试NS的方法: 其中包含了解决断点无效的问题。 1.在软件包管理那里选择Kdevelop的相关组件安装好 2.在NS目录下,对Makefile文件进行如下改动: 在代码里面添加调试信息:修改 Makefi原创 2013-07-16 23:31:49 · 983 阅读 · 0 评论 -
NS2定时器机制
Ns中的定时器都是继承自基类TimerHandler的,见manual 11章。里面定义了一些成员函数以及成员变量。其中1,定时器需要用到Scheduler类的方法。2,handle()是当定时器超时后,Scheduler对象会调用到的定时器的Handle()函数,并把Event_作为参数。(这个函数的说明,书本上以及手册中都是模糊不清),并且该函数并不是必要的。3,Event eve原创 2013-07-16 23:30:57 · 867 阅读 · 0 评论 -
NS2 结点地址映射关系
/**OTCL操作/**在Ns2中创建节点后,会依照其创建关系为其分配一个ID号Node set nn_ 0Node proc getid {} { set id [Node set nn_] Node set nn_ [expr $id + 1] ;#递增 return $id}地址则要区分为分层地址以及非分层地址进行处理if {[llength $args] != 0} {原创 2013-07-16 23:31:36 · 763 阅读 · 0 评论 -
ns2传输损耗模型
一 概述在ns2的传输损耗模型中,节点位置、天线参数配置、传输路径模型都会影响到传输情况$ns node-config -adhocRouting $opt(adhocRouting) -llType $opt(ll) -macType $opt(mac) -channel原创 2013-07-16 23:31:56 · 888 阅读 · 0 评论 -
无线模拟Trace中的AGT, RTR, MAC含义
AGT 表示 agent,也就是业务层 RTR 表示 route,也就是路由层 MAC 表示 mac, 也就是接入层 一些分析总结贴出来: Trace文件含义解析: 1、仅仅打开-movementTrace ON a.格式定义 **** Mobile Node Movement: M %.5f %d (%.2f, %.2f, %.2f), (%.2f,原创 2013-07-16 23:32:00 · 1840 阅读 · 0 评论 -
Ns2学习总结
NS学习整理 最近连续几天的学习NS,终于有一些收获,在此整理一下。 1 设计语言的关系 为了实现NS多方面要求的考虑,在NS的程序设计过程中会涉及到三种脚本语言,具体原因见书本或者相关网摘 1-1 Tcl脚本语言 这是NS为了实现快速建模或者快速搭建一些测试环境而引用的一种解释型脚本语言,这种脚本语言不需要编译就可以执行。他有自己独立的语法格式,书写命原创 2013-07-16 23:30:49 · 3100 阅读 · 1 评论 -
Ns2 Tcl语法总结
NS学习语法知识点;1,变量代替 set a 100;在使用变量之前,不需要事先声明,因为解释器会在首次使用变量的时候创建它,使用变量时要在变量前加$符号。2,命令替代 set len [expr $s *2] //替换时先执行方括号中的命令,然后使用命令的执行结果作为替换,实际上也就是命令嵌套.3,反斜杠替代在一些特殊的字符前加”\”来表示这个字符本身.比如说”\$”,”\[原创 2013-07-16 23:30:51 · 2594 阅读 · 0 评论 -
Schedule知识转载
NS中Scheduler类的工作机制简述Scheduler调度的对象是一个个Event对象,比如Packet类就是Event类的派生类。先看Event类有什么:class Event {public: Event* next_; /* event list */ Event* prev_;原创 2013-07-16 23:31:00 · 593 阅读 · 0 评论 -
ns2学习之FAQ(Proposed by zj)
NS2 整理 总结1, 模拟器全部都是在Tcl的Simulator类中定义的,它提供了一套用做模拟配置和选择用于驱动模拟的事件调度器的接口。该类涉及到Simulator.cc/h以及ns-lib.tcl都有定义。2, 不知道在Otcl中是否存在这种父类调用子类定义的函数。对于脚本中存在的如下情况有两种解释//这里在MobileNode里面定义了两个函数实体。Node/Mobil原创 2013-07-16 23:31:31 · 1331 阅读 · 0 评论 -
python绑定C++类
Python编程语言的应用范围比较广泛,应用方式灵活,可以很方便的帮助开发人员实现一些特定的功能需求。比如今天为大家介绍的有关Python绑定C++程序的相关操作,大家就可以从中了解到这一语言的应用特点。Python流程控制关键字基本内容总结Python连接数据库两种常用方法介绍Python中文字符具体应用技巧分享常见Python应用范围总结概览Python程序转为转载 2016-05-29 22:42:16 · 1616 阅读 · 0 评论