您的位置:首页 > 其它

NS3_Tutorial 中文版: 第一章 简介

2017-05-10 11:16 288 查看
【声明】允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。

http://yangfei1.blog.51cto.com/1471532/368585

转载的文章中给的原文地址已经失效,我这里重新整理了原文地址,方便大家查看对照,如果也失效了,可以直接去官网找Tutorial

官网的英文原文地址:

ns-3 Tutorial https://www.nsnam.org/docs/tutorial/html/

原文目录如下:

Introduction 简介

Resources 资源

Getting Started 快速入上手

Conceptual Overview 概念概述

Tweaking Tweak工具

Building Topologies 建立拓扑

Tracing trace系统

Data Collection 数据收集

Conclusion 总结

1 简介

翻译: 伍迪 刘小洋 545139109@qq.com

校稿: Xiaochuan Shen xcs105@zepler.net

编辑: ProbibidoAmor banana.0420@yahoo.com.cn

NS-3是一款离散事件的网络仿真器,主要应用于研究和教育领域。“NS-3项目”是一个完全开源的NS-3开发工程,于2006年启动。

NS-3的主文档由四部份组成:

NS-3 Doxygen手册 模拟器公共API的说明文档(这个在编程的时候会要经常用到)

NS-3教程 (本教程 Tutorial)

NS-3参考手册 (Reference Manual)

NS-3维基百科

本指南的目的是向NS-3新用户以结构化的方式介绍NS-3系统。常常,新用户很难通过繁冗的参考手册收集到对当前仿真任务有用的实质信息。在本教程中,我们将通过几个仿真实例向读者介绍和阐释NS-3的主要概念和特点。

随着本教程的深入,我们会介绍完整的NS-3文档,并指出源代码的具体位置,以便于对NS-3软件系统运行机制感兴趣的研究者做深入的钻研。

开始之前,有几个要点需要读者注意:

NS-3并不是NS-2的扩展,而是一个全新的模拟器。虽然二者都由C++编写,但NS-3并不支持NS-2的API。NS-2中的一些模块已经被移植到了NS-3。在NS-3开发的过程中,NS-3项目组会继续维护NS-2,同时也会研究过渡和整合机制。

NS-3是开源的。NS-3项目努力为研究者提供一个开放的环境来共享他们自己的软件。

1.1 致NS-2用户

对于熟悉NS-2的读者来说,NS-3和NS-2最明显的区别是脚本语言的选择。NS-2使用OTcl脚本语言,仿真的结果可以通过网络动画器nam(Network Animator nam)来演示。在NS-2中,如果仅使用C++语言而不用OTcl,仿真过程是不可能运行起来的(即,只有main()函数而没有任何OTcl语句)。另外,NS-2的许多模块由C++编写,其他的用OTcl语言编写。而在NS-3中,仿真器全都由C++编写,仅仅带有可选择性的Python语言绑定。因此,仿真脚本可以由C++或者Python语言编写。某些仿真结果可以通过nam演示,但是新的动画演示器也正在开发之中。由于NS-3可以生成pcap包trace文件,也可以利用其他工具通过trace文件来分析仿真过程。在本教程中,我们先重点讲解使用C++编写脚本,并通过trace文件来分析仿真结果。

NS-3和NS-2也有一些相似之处 (比如二者都是基于C++对象,一些NS-2的模块已移植到了NS-3上)。在本教程中,我们将强调NS-3和NS-2的区别。

我们经常听到一个疑问:“我到底是要继续使用NS-2,还是转向NS-3呢?”

答案视情况而定。虽然NS-3现在还没有包含所有的NS-2模块,但是另一方面,NS-3也有一些新的功能(比如,能正确地处理节点上的多重接口,使用IP地址,与因特网协议和设计保持一致,以及更加详细的802.11模块等)。NS-2的模块可以被移植到NS-3中(移植帮助文档正在准备之中)。NS-3的多个前端也正在积极开发中。同时,NS-3开发者也相信(部分早期用户也已证明)NS-3已经可以充分使用,也是用户进行新仿真项目时的一个富有吸引力的选择。

1.2 共享 contributing

NS-3是由学术研究者开发和使用的用于网络科研和教学的仿真器。它依赖于研究者们持续不懈地努力,开发新模块、调试和维护已有模块、并共享成果。为了鼓励研究者像支持NS-2那样支持NS-3,我们希望NS-3的开发者遵守下面几条规则:

基于GNU GPLv2兼容性的开放源码许可

维客

共享代码(Contributed Code) 页(类似于NS-2的共享代码页)

Src/contrib. 目录(我们会保留您共享的代码)

开放的错误追踪器(bug tracker)

NS-3开发者会很乐意帮助潜在的代码共享者们,提供NS-3仿真器的入门途径(请联系我们)

我们也意识到,如果您正在读本教程,对NS-3项目的共享或许还不在您当前最关心的事,但是我们希望您知道,“共享”是NS-3项目的灵魂。即使是给我们写一个关于您使用NS-3的经验便条(例如:“这个教程的章节条理不够清晰”),通知某些文档已过时等等,我们将会感激之至。

1.3 教程内容组织

本指南假定新用户可能会顺着以下思路了解NS-3:

尝试下载和编译NS-3

尝试运行几个简单的示例程序

查看仿真结果并试图调整仿真

因此,我们将大体按照这个顺序来组织本教程。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息