【NS2】学习点滴
| 1 |
$ns duplex-link-op $n2 $n3 queuePos 0.5#此命令用于设置在NAM中显示的队列方向
#经测试,发现: # queuePos 0.5表示包从上到下进入队列
# queuePos 0表示包从右到左进入队列 # queuePos 1表示包从左到右进入队列 队列类型有:drop-tail(先进先出)、RED缓冲区管理、CBQ(优先级和轮换调用)、各种公平排队
|
| 2 |
从网络拓扑仿真、协议仿真和通信量仿真等方面介绍NS的相应元素: ⑴网络拓扑主要包括节点、链路。NS的节点由一系列的分类器(Classifier,如地址分类器等)组成,而链路由一系列的连接器(Connector)组成。 ⑵在节点上,配置不同的代理可以实现相应的协议或其它模型仿真。如NS的TCP代理,发送代理有:TCP,TCP/Reno,TCP/Vegas,TCP/Sack1,TCP/FACK,TCP/FULLTCP等,接收代理有:TCPSINK,TCPSINK/DELACK。TCPSINK/SACK1,TCPSINK/SACK1/DELACK等。此外,还提供有UDP代理及接收代理Null(负责通信量接收)、Loss Monitor(通信量接收并维护一些接收数据的统计)。 ⑶网络的路由配置通过对节点附加路由协议而实现。NS中有三种单播路由策略:静态、会话、动态。 ⑷在链路上,可以配置带宽、时延和丢弃模型。NS支持:Drop-tail(FIFO)队列、RED缓冲管、CBO(包括优先权和Round-robin 调度)。各种公平队列包括:FQ,SFQ,DRR等。 ⑸通信量仿真方面,NS提供了许多通信应用,如FTP,它产生较大的峰值数据传输;Telnet则根据相应文件随机选取传输数据的大小。此外,NS提供了四种类型的通信量产生器:①EXPOO,根据指数分布(On/Off)产生通信量,在On阶段分组以固定速率发送,Off阶段不发送分组,On/Off的分布符合指数分布,分组尺寸固定;②POO,根据Pareto分布(On/Off)产生通信量,它能用来产生长范围相关的急剧通信量;③CBR,以确定的速率产生通信量,分组尺寸固定,可在分组间隔之间产生随机抖动;④Traffic Trace,根据追踪文件产生通信量。 |
| 3 | 向NS2中添加新协议类型的步骤
具体源码见 "~ns/tcp" 目录、 "~ns/common" 目录以及"~ns/tcl/lib" 目录下的相关文件。 1. 为packet头定义一个struct数据类型, 例如 "struct hdr_tcp"; ( 在 "~ns/tcp/tcp.h" 文件中) 以上各个步骤中,步骤1是为了定义新的包头格式;步骤2是为了能够将该数据包与Otcl联系起来;步骤3是为了在trace中能够使用该数据包,注意name[PT_TCP]="tcp",其中的 "tcp" 即是出现在trace文件中的第五列,pkt type;步骤4是为了NS在启动的时候能够载入我们定义的包头。 最后需要注意:如果新建的协议是无线路由协议,则还需要在 "~ns/tcl/lib/ns-lib.tcl" 文件中Simulator的create-wireless-node方法中添加相应的处理。 |
| 4 |
在windows下安装cygwin,路径设置 export NS_HOME=/cygdrive/f/NS2/cygwin/ns-allinone-2.29 |
【NS2】学习点滴的更多相关文章
- iPhone应用开发 UITableView学习点滴详解
iPhone应用开发 UITableView学习点滴详解是本文要介绍的内容,内容不多,主要是以代码实现UITableView的学习点滴,我们来看内容. -.建立 UITableView DataTab ...
- Phonegap学习点滴(2) -- 网络状态检测
Phonegap学习点滴(2) -- 网络状态检测 http://blog.csdn.net/x251808026/article/details/16992943 方法一:在MainActivit ...
- android学习点滴一:android环境的搭建
东一点西一点,很多时间都浪费了.是该系统性的做好自己的东西了. <android学习点滴一:android环境的搭建> [环境变量]变量名:JAVA_HOME变量值:C:\Java\jdk ...
- MySQL学习点滴
MySQL学习点滴 --分区表 概述: 分区功能并不是在存储引擎层完成的,因此很多存储引擎包括InnoDB, MyISAM, NDB等都支持分区功能.但也并不是所有的存储引擎都支持分区.在使用分区前, ...
- NS2学习笔记(四)
这几天学习NS2,虽然国内很多人使用,但系统的教材资料不多,只能一边看中文教材,一边看英文手册,知识点也是零零散散.过段时间等能将所有知识点串上,再总结总结.现只讲一些零碎的点记录一下. 添加新的协议 ...
- WebAPI学习点滴(二)
刚开始学习WebApi就遇到了问题,在同一个API控制器中,如果两个方法的签名相同,比如 [HttpGet] public string GetString() { return "Hell ...
- express学习点滴- session()和cookieSession()的区别
express 里提供了两种有关session的中间件 * session() 提供了内存和数据库两种方式保存session.具体两种session原理请自行学习,不进行展开了.自己也是一知半解... ...
- Java学习点滴——初识Java
基于<Java编程思想>第四版 前言 "程序就是算法加数据结构",而算法就是控制语句加操作符,编写一个程序就是使用控制语句加操作符去操作数据结构,因此我从Java的控制 ...
- MySQL学习点滴 --分区表
写在前面:笔者之前也有一些MySQL方面的笔记,其中部分内容来自极客时间中丁奇老师的课程.后经园友提醒,这个做法确实不太好.之后我仍会继续更新一下MySQL方面的学习记录,在自己理解之后用自己的方式记 ...
随机推荐
- c/c++ explicit用法
试想一个类,它的构造函数只有一个参数, class test { test( int a ) {} 4 } 这时我想用一个int b = 10初始化它,这当然没问题,但如果你用一个字符例如'c'初始化 ...
- [BZOJ2729]排队
数学知识 排列 A(n,m)从n个元素中选出m个的不同的排列数 A(n,m)=n!/(n-m)! 组合 C(n,m)从n个元素中选出m个的不同的方案数 C(n,m)=n!/(m!*(n-m)! ...
- Windows Apache httpd-vhosts.conf
<VirtualHost *:> DocumentRoot "D:\wamp\www" ServerName localhost </VirtualHost> ...
- 抓取B站小视频
抓取B站小视频的代码如下: #请求库import requests #请求头部信息(用户代理)headers={ 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; ...
- 使用 git 及 github
1.github 开户.创建项目 2.以下是本地操作: #初始本地库 git init#设置git的全局邮箱和用户名git config --global user.email "<e ...
- POJ4852 Ants
Ants Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 20047 Accepted: 8330 Description ...
- 【NOJ2024】入栈序列和出栈序列
入栈序列和出栈序列 时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte 总提交:293 测试通过:68 比赛描述 给出入栈序列 ...
- XtraBackup构建MySQL主从环境的方法
环境:HE3主库,HE1从库HE1:192.168.1.248HE3:192.168.1.250从库my.cnf加入以下参数并重启数据库:read_only=1log_slave_updates=1( ...
- 【JZOJ3601】【广州市选2014】Tree(tree)
╰( ̄▽ ̄)╭ 每个非叶子节点,其左右子树叶子节点的权值之和相等.我们称这种二叉树叫平衡二叉树. 我们将一棵平衡二叉树叶子节点的权值从左到右列出来,假如这个权值序列是另一个序列A的子序列,我们称这棵平 ...
- Mybatis使用 爬坑记录
1.mapper.xml可以直接 使用map集合, parameterType="java.util.Map" resultType="java.util.Map&quo ...