1. 程式人生 > >NS3_Tutorial 中文版: 第一章 簡介

NS3_Tutorial 中文版: 第一章 簡介

轉載的文章中給的原文地址已經失效,我這裡重新整理了原文地址,方便大家檢視對照,如果也失效了,可以直接去官網找Tutorial

原文目錄如下:

1 簡介

翻譯: 伍迪 劉小洋 [email protected]
校稿: Xiaochuan Shen [email protected]
編輯: ProbibidoAmor [email protected]

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-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
  • 嘗試執行幾個簡單的示例程式
  • 檢視模擬結果並試圖調整模擬

因此,我們將大體按照這個順序來組織本教程。

相關推薦

NS3_Tutorial 中文版 第一 簡介

轉載的文章中給的原文地址已經失效,我這裡重新整理了原文地址,方便大家檢視對照,如果也失效了,可以直接去官網找Tutorial 原文目錄如下: 1 簡介 翻譯: 伍迪 劉小洋 [email protected]

麒麟KY-RTI分佈模擬技術第一 簡介

第一章 簡介        高層體系結構(High Level Architecture,HLA)是美國國防部為了解決美軍在各個領域開發出來的多種模型和各類模擬系統的互聯和互操作問題而提出的一種分散式模擬標準,而按照HLA介面規範實現的

KY-RTI分佈模擬技術第一 簡介

第一章 簡介 高層體系結構(High Level Architecture,HLA)是美國國防部為了解決美軍在各個領域開發出來的多種模型和各類模擬系統的互聯和互操作問題而提出的一種分散式模擬標準,而按照HLA介面規範實現的軟體則被稱之為執行支撐平臺(Run Time Inf

elasticsearch第一 搜尋引擎簡介

一、簡介 Elasticsearch 是一個開源的搜尋引擎,建立在全文搜尋引擎庫 Apache Lucene 基礎之上 用 Java 編寫的,它的內部使用 Lucene 做索引與搜尋,但是它的目的是使全文檢索變得簡單, 通過隱藏 Lucene 的複雜性,取而代之的提供一套

python集訓營學習第一 python基礎

python基礎1.python介紹python是一門解釋型語言,代碼想運行,必須通過解釋器執行解釋器種類有CPython、IPython、PyPy、Jython、IronPython等2.變量聲明變量name=‘Crab’變量定義規則 變量名只能是字母、數字或下劃線的任意組合 變量名的第一個字符不能是數字

網絡操作系統第一 概述

direct 好的 小結 directory 哪些 自由軟件 什麽 第一章 war 本章小結    本章介紹了計算機網絡操作系統的概念,功能、特征和分類,對目前流行的幾種網絡操作系統,如Windows,UNIX、Linux和NetWare的發展及其特點進行了簡要介紹,此外,

SpringCloud(Finchley.SR2)基礎篇第一、服務發現(Eureka)

一、Eureka簡介: Eureka是由Netflix開源的基於REST的服務發現元件,不過出於某種原因2.x以後的版本就停止開源了。Eureka包括Eureka Server(Eureka服務端)和Eucreka Client(Eureka客戶端)。 詳細的介紹將在提高篇進行說明,

高效能MySQL筆記第一

#建student表 CREATE TABLE `student`( `id` bigint(5) UNIQUE NOT NULL COMMENT '主鍵', `name` varchar(25) DEFAULT NULL COMMENT '姓名', `birthday`

Java學習(一)第一 計算機、程式和Java概述

第一章 計算機、程式和Java概述   (1)匯流排--》    儲存裝置、記憶體、CPU、通訊裝置、輸入裝置、輸出裝置; (2)語言: 機器語言: 二進位制形式

現代作業系統 第一 引言

現代計算機由一個或多個處理器、主存、磁碟、印表機、滑鼠、顯示器、網路介面以及各種其他輸入/輸出裝置組成。多數計算機有兩種執行模式:核心態和使用者態。軟體中最基本的部分是作業系統,它執行在核心態。 作業系統由硬體進行保護,防止使用者試圖對其進行修改 作業系統和普通軟體的主要區別,如果

計算機網路第一 概述

重點: 網際網路邊緣部分和核心部分的作用,其中包含分組交換的概念 計算機網路的效能指標 計算機網路分層次的體系結構,包含協議和服務的概念 1.1 計算機網路在資訊時代的作用 有三類大家都非常熟悉的網路,即電信網路、有線電視網路和計

深入淺出學Vue開發第一、初探Vue

在正式開始學習Vue的知識之前,我們需要先對Vue的整體有一個大致的瞭解。為了達到這個目的,我們需要先了解以下內容。 1、Vue對移動端和瀏覽器版本的支援 2、如何初始化一個Vue的專案 3、Vue的程式碼結構 Vue對移動端和瀏覽器版本的支援 因為Vue本

岡薩雷斯數字影象處理(一)第一緒論

一、影象處理基本步驟 圖片來源:數字影象處理 第三版 岡薩雷斯 1.影象獲取與給出一幅數字形式的影象一樣簡單。通常,影象獲取截斷包括影象預處理,譬如影象縮放 2.影象增強是對一幅影象進行某種擦歐洲哦,使其結果在特定應用匯總比原始影象更適合進行處理。 3.影象復原也是改進影象外觀的一個處

The Little Book of Semaphores 訊號量小書 第一 簡介

第一章 簡介 1.1 同步 通常,“同步”意味著兩件事情同時發生。在計算機系統中,同步更為通用;它指的是事件之間的關係 - 甚至是任何數量的事件,以及任何型別的關係(之前,期間,之後)。 計算機程式設計師經常關注同步約束,這是與事件順序有關的要求。例子包括: 順序

Java程式設計思想第一物件導論

第一章:物件導論     我們之所以將自然界分解,組織成各種概念,並按其含義分類,主要是因為我們是整個口語交流社會共同遵守的協議的參與者,這個協定以語言的形式固定下來...除非贊成這個協定中規定的有關語言資訊的組織和分類,否則我們根本無法交流。 抽象過程

Pepper初級教程第一 Pepper的硬體介紹

第一章 Pepper的硬體介紹 首先讓我們確認Pepper的硬體裝置。 請大家在瞭解Pepper的硬體裝置之後再開始App的開發。 1.1 感應器裝置 1.2 螢幕 Pepper胸部有一個可以觸控的顯示器,該顯示器是一塊Andorid平板電腦。 注意它

Kotlin詳解第一,基本語法

一,簡介 Kotlin是JetBrains開發的基於JVM的語言,Kotlin可以編譯成Java位元組碼,也可以編譯成JavaScript,方便在沒有JVM的裝置上執行。 特點:比Java更安全,能夠靜態檢測常見的陷阱。如:引用空指標。程式碼更易表現,書寫方便,便於閱讀

《Java併發程式設計實戰》—— 第一 簡介

早期計算機 每次只能執行一個程式 作業系統 每次能執行多個程式,不同的程式都在單獨的程序中執行。 作業系統為各個獨立執行的程序分配各種資源,包括記憶體,檔案控制代碼以及安全證書等。 不同的程序之間可以通過一些粗粒度的通訊機制來交換資料,包括:套接字、訊號處理器、共享記憶體、訊號量

數字影象處理第一 概述

第一章 概述 數字圖象處理是一門關於如何用計算機對圖象進行處理的學科,本課程主要講解基本原理和方法,針對計算機系的學生,強調程式設計實踐和建立圖象處理應用系統的方法。推薦的教材與圖象程式設計參考書包括: R.C. Gonzalez, R.E. Woods,Digital I

STL原始碼剖析第一

例1: #include <iostream> using namespace std; /*模板一般化設計*/ template<class I, class O> cl