NS3中的幾個關鍵概念

節(jié)點Node

在網(wǎng)絡術(shù)語中,任何一臺連接到網(wǎng)絡的計算設備被稱為主機,亦稱為終端。NS3是一個網(wǎng)絡模擬器,而非一個專門的因特網(wǎng)模擬器,為此我們避開術(shù)語“主機”,因為這個詞太容易讓人聯(lián)想到因特網(wǎng)和及其相關協(xié)議。因此,我們選用了一個來源于圖論,在其他網(wǎng)絡模擬器中亦廣泛使用的術(shù)語:節(jié)點。

NS3中基本計算設備被抽象為節(jié)點。節(jié)點由用C++編寫的Node類來描述。Node類提供了用于管理計算設備的各種方法。

可以將節(jié)點設想為一臺可以添加各種功能的計算機。為了使一臺計算機有效地工作,我們可以給它添加應用程序,協(xié)議棧,外設卡及驅(qū)動程序等。NS3采用了與此相同的模型。

信道

在現(xiàn)實世界中,人們可以把計算機連接到網(wǎng)絡上。通常我們把網(wǎng)絡中數(shù)據(jù)流流過的媒介稱為信道。當你把以太網(wǎng)線插入到墻壁上的插孔時,你正通過信道將計算機與以太網(wǎng)連接。

在NS3中,可以把節(jié)點連接到代表數(shù)據(jù)交換信道的對象上。在這里,基本的通信子網(wǎng)這一抽象概念被稱為信道,用C++編寫的Channel類來描述。

Channel類提供了管理通信子網(wǎng)對象和把節(jié)點連接至信道的各種方法。信道類同樣可以由開發(fā)者以面向?qū)ο蟮姆椒ㄗ远x。一個信道實例可以模擬一條簡單的線纜(wire),也可以模擬一個復雜的巨型以太網(wǎng)交換機,甚至無線網(wǎng)絡中充滿障礙物的三維空間。

幾個信道模型的實例,包括:CsmaChannel,PointToPointChannel和WifiChannel。舉例來說,CsmaChannel信道模擬了用于一個可以實現(xiàn)載波偵聽多路訪問的信道,這個信道具有和以太網(wǎng)相似的功能。

網(wǎng)絡設備

如果想把一臺計算機連接到網(wǎng)絡上,必須在計算機上安裝有網(wǎng)卡。一張網(wǎng)卡如果缺少控制硬件的軟件驅(qū)動是不能工作的。

在Unix/Linux系統(tǒng)中,外圍硬件被劃為“設備”。設備通過驅(qū)動程序來控制,而網(wǎng)卡通過網(wǎng)卡驅(qū)動程序來控制。在Unix/Linux系統(tǒng)中,網(wǎng)卡被稱為像eth0這樣的名字。

在NS3中,網(wǎng)絡設備這一抽象概念相當于硬件設備和軟件驅(qū)動的總和。NS3仿真環(huán)境中,網(wǎng)絡設備相當于安裝在節(jié)點上,使得節(jié)點通過信道和其他節(jié)點通信。像真實的計算機一樣,一個節(jié)點可以通過多個網(wǎng)絡設備同時連接到多條信道上。

網(wǎng)絡設備由用C++編寫的NetDevice類來描述。NetDevice類提供了管理連接其他節(jié)點和信道對象的各種方法,并且允許開發(fā)者以面向?qū)ο蟮姆椒▉碜远x。我們在本教程中將使用幾個特定的網(wǎng)絡設備的實例,它們分別是CsmaNetDevice,PointToPointNetDevice, 和WifiNetDevice。正如以太網(wǎng)卡被設計成在以太網(wǎng)中工作一樣,CsmaNetDevice被設計成在csma信道中工作,而PointToPointNetDevice在PointToPoint信道中工作,WifiNetNevice在wifi信道中工作。

應用程序

計算機軟件通??煞譃閮纱箢悾合到y(tǒng)軟件和應用軟件。系統(tǒng)軟件根據(jù)計算模型配置,并管理計算機中的各種資源,如內(nèi)存,處理器周期,硬盤,網(wǎng)絡等。系統(tǒng)軟件通常并不直接使用這些資源來完成用戶任務。用戶往往需要運行應用程序來完成一些特定的任務,而應用程序需要使用由系統(tǒng)軟件控制的資源。

通常,系統(tǒng)軟件和應用軟件的界線表現(xiàn)為特權(quán)級別的變化,而這種變化是通過操作系統(tǒng)的自陷功能(operating systemtraps)來實現(xiàn)的。在NS3中并沒有真正的操作系統(tǒng)的概念,更沒有特權(quán)級別或者系統(tǒng)調(diào)用的概念。然而,我們有應用程序的概念。正如“現(xiàn)實世界”中在計算機上運行應用程序以執(zhí)行各種任務一樣,NS3仿真環(huán)境中的應用程序在節(jié)點上運行來驅(qū)動模擬過程。

在NS3中,需要被仿真的用戶程序被抽象為應用。用Application類來描述。這個類提供了管理仿真過程中用戶層應用的各種方法。開發(fā)者應當用面向?qū)ο蟮姆椒ㄗ远x和創(chuàng)建新的應用。在本教程中,我們會使用Application類的兩個實例:UdpEchoClientApplication和UdpEchoServerApplication。這些應用程序包含了一個client應用和一個server應用來發(fā)送和回應仿真網(wǎng)絡中的數(shù)據(jù)包。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 一.下載虛擬機 直接下載虛擬機的安裝包,然后分配內(nèi)存等一系列操作,后注冊用戶 二.安裝NS3虛擬仿真軟件 1.在網(wǎng)...
    思君_4cd3閱讀 25,515評論 2 17
  • 節(jié)點-NODE 在因特網(wǎng)術(shù)語中,連接到網(wǎng)絡的計算設備稱為主機或有時稱為終端系統(tǒng)。 由于ns-3是網(wǎng)絡模擬器,而不是...
    默默墨墨閱讀 2,979評論 0 0
  • 1.概念 節(jié)點 基本計算設備被抽象為節(jié)點。用C++中node類描述??上胂蟪捎嬎銠C,我們要為它添加應用程序,協(xié)議棧...
    epeeian閱讀 882評論 0 1
  • 1.NS3目錄結(jié)構(gòu) Waf是基于Python開發(fā)的編譯工具,ns-3系統(tǒng)本身和將要寫的仿真代碼都由waf負責編譯運...
    萌萌萌萌lmm閱讀 2,197評論 0 1
  • 漸變的面目拼圖要我怎么拼? 我是疲乏了還是投降了? 不是不允許自己墜落, 我沒有滴水不進的保護膜。 就是害怕變得面...
    悶熱當乘涼閱讀 4,463評論 0 13

友情鏈接更多精彩內(nèi)容