Akoranga simulator whatunga ns-3. Upoko 4

Akoranga simulator whatunga ns-3. Upoko 4
pene 1,2
pene 3

4 Tirohanga ariā
4.1 Nga tangohanga matua
4.1.1 Node
4.1.2 Taupānga
4.1.3 Channel
4.1.4 Pūrere Kupenga
4.1.5 Kaiāwhina Topological
4.2 Tuhinga tuatahi ns-3
4.2.1 Waehere Boilerplate
4.2.2 Mono-mai
4.2.3 mokowāingoa ns3
4.2.4 Te takiuru
4.2.5 Mahi matua
4.2.6 Te whakamahi i nga kaiawhina topology
4.2.7 Te Whakamahi Taupānga
4.2.8 Simulator
4.2.9 Te hanga i to tuhinga
4.3 ns-3 Waehere puna

Upoko 4

Tirohanga ariā

Ko te mea tuatahi me mahi i mua i te tiimata ki te ako, ki te tuhi ranei i te waehere ns-3 ko te whakamarama i etahi o nga ariā me nga tangohanga i roto i te punaha. Ko te nuinga o tenei ka kitea pea ki etahi, engari e taunaki ana matou kia whai wa ki te panui i tenei waahanga kia mohio ai kei te timata koe i runga i te turanga pakari.

4.1 Nga tangohanga matua

I tenei wahanga, ka titiro tatou ki etahi kupu e whakamahia ana i runga ipurangi engari he tikanga motuhake kei roto i te ns-3.

4.1.1 Node

I roto i nga korero Ipurangi, ko te taputapu rorohiko e hono ana ki te whatunga ka kiia he kaihautu, i etahi wa he punaha mutunga. Na te mea ko te ns-3 he simulator whatunga, ehara i te simulator Ipurangi, kaore matou e whakamahi i te kupu kaihautu, i te mea he hononga tata tenei ki te Ipurangi me ona tikanga. Engari, ka whakamahia e matou he kupu whanui ake, ka whakamahia ano e etahi atu simulators, i ahu mai i te ariā kauwhata: node (kōpuku).

I roto i te ns-3, ko te tangohanga o raro o te taputapu rorohiko ka kiia he node. Ko tenei tangohanga kei te C++ e te akomanga Node. Karaehe NodeNode (node) he tikanga mo te raweke i nga whakaaturanga o nga taputapu rorohiko i roto i nga whaihanga.

Me mohio koe Node ano he rorohiko ka taapirihia e koe nga mahi. Ka taapirihia e koe nga mea penei i nga tono, nga taapu kawa, me nga kaari peripheral me nga taraiwa e taea ai e te rorohiko te mahi whai hua. He rite tonu te tauira taketake i roto i te ns-3.

4.1.2 Taupānga

Ko te tikanga, ka wehea nga rorohiko rorohiko ki nga akomanga whanui e rua. Ko te raupaparorohiko punaha he whakarite i nga momo rauemi rorohiko penei i te mahara, nga huringa tukatuka, te kōpae, te whatunga, me etahi atu e ai ki etahi tauira rorohiko. Ko te nuinga o nga wa kaore e whakamahia ana e nga punaha punaha enei rauemi ki te mahi i nga mahi e whai hua tika ana mo te kaiwhakamahi. Ka whakahaerehia e te kaiwhakamahi tetahi tono ki te whakatutuki i tetahi whaainga motuhake, ka whiwhi me te whakamahi rauemi e whakahaerehia ana e te punaha punaha.

I te nuinga o nga wa ka tuhia te rarangi wehenga i waenga i te punaha me te rorohiko tono i nga huringa taumata whaimana ka puta i roto i nga mahanga punaha whakahaere. ns-3 karekau he tino ariā mo te punaha whakahaere, na reira karekau he ariā mo nga taumata whaimana, waea punaha ranei. Heoi, kei a matou he whakaaro mo tetahi taupānga. Pērā i roto i te "ao tūturu" ka rere nga tono rorohiko ki runga rorohiko ki te mahi i nga mahi, ka rere nga tono ns-3 i runga i nga pona ns-3 hei whakahaere i nga whaihanga i roto i te ao whakatairite.

I roto i te ns-3, ko te tangohanga taketake mo te hotaka kaiwhakamahi e whakaputa ana i etahi mahi mo te whakatauira he tono. Ko tenei tangohanga kei te C++ e te akomanga Taupānga. Ka whakaratohia e te karaehe Taupānga nga tikanga mo te raweke i nga tirohanga o to tatou putanga taumata-kaiwhakamahi o nga tono i roto i nga whaihanga. E tika ana kia whakarangatirahia e nga Kaihanga te karaehe Taupānga i roto i te tikanga whakahoahoa ahanoa hei hanga tono hou. I roto i tenei akoranga, ka whakamahia e matou nga tohungatanga o te akomanga Taupānga e kiia nei UdpEchoClientApplication и UdpEchoServerApplication. Ka rite ki taau e tumanako ana, ko enei tono he huinga o nga tono a te kiritaki/tūmau i whakamahia hei whakaputa me te paoro i nga paatete whatunga.

4.1.3 Channel

I roto i te ao tūturu, ka taea e koe te hono rorohiko ki te whatunga. Ko te nuinga o nga wa ka kiia ko te hunga pāpāho e tukuna ai nga raraunga i roto i enei whatunga he hongere. Ina mono koe i te taura Itarangi ki te putanga pakitara, kei te hono koe i to rorohiko ki tetahi hononga Ethernet. I roto i te ao ns-3 whakatairite, ka honoa he node ki tetahi mea e tohu ana i te hongere korero. I konei, ko te tangohanga taketake o te whatunga-roto korero e kiia ana he hongere, ka whakaatuhia ki te C++ e te akomanga Channel.

Класс Horeihana he whakarato tikanga mo te whakahaere i te pahekoheko o nga mea ipurangiroto me te hono i nga pona ki a raatau. Ka taea hoki e nga kaiwhakawhanake te whakarangatira i nga hongere i roto i te kaupapa kaupapa-ahua. Ka taea e te tohungatanga hongere te whakatauira i tetahi mea ngawari penei i te waea. Ka taea hoki e te hongere whakatapua te whakatauira i nga mea uaua penei i te whakawhiti Ethernet nui, te mokowā ahu-toru ranei ki tonu i nga arai i roto i te take o nga whatunga ahokore.

Ka whakamahia e matou nga momo putanga motuhake o te hongere i tenei akoranga e kiia nei CsmaChannelCsmaChannel, PointToPointChannelPointToPointChannel и WifiChannelWifiChannel. CsmaChannel, hei tauira, ka whakatauira i te putanga o te kupenga-roto whakawhitiwhitinga e whakatinana ana i te taiao whakawhitiwhiti urunga-a-waa. Ma tenei ka hoatu ki a maatau nga mahi a Ethernet.

4.1.4 Pūrere Kupenga

I mua, ki te hiahia koe ki te hono rorohiko ki te whatunga, me hoko koe i tetahi taura whatunga motuhake me tetahi taputapu taputapu e kiia ana (i roto i nga kupu PC) he kaari peripheral me whakauru ki te rorohiko. Mena ka whakatinanahia e te kaari rorohiko etahi mahi whatunga, ka kiia he kaari atanga whatunga, he kaari whatunga ranei. I tenei ra, ko te nuinga o nga rorohiko ka tae mai me nga taputapu atanga whatunga whakauru, kaore e kitea e nga kaiwhakamahi he taputapu motuhake.

E kore e mahi te kaari whatunga ki te kore he taraiwa rorohiko e whakahaere ana i ana taputapu. I roto i te Unix (Linux ranei), ka whakarōpūtia he taputapu peripheral hei taputapu. Ka whakahaerehia nga taputapu ma te whakamahi i nga taraiwa taputapu, ka whakahaerehia nga taputapu whatunga (NIC) ma te whakamahi i nga taraiwa taputapu whatunga (taraiwa taputapu whatunga) ka kiia ko nga taputapu whatunga (taputapu kupenga). I Unix me Linux, ka korero koe ki nga taputapu whatunga ma nga ingoa penei i eth0.

I roto i te ns-3, ka hipokina e te tangohanga taputapu whatunga te taraiwa rorohiko me nga taputapu e whakatauirahia ana. I roto i te whaihanga, ka "whakaurua" he taputapu whatunga ki roto i te node kia taea ai e ia te korero ki etahi atu pona ma roto i nga awa. He rite tonu ki te rorohiko tuturu, ka taea te hono te node ki nga hongere maha ma nga taputapu maha NetDevices.

Ko te tangohanga whatunga o tetahi taputapu e tohuhia ana i te C++ e te karaehe Pūrere Net. Karaehe Pūrere Net whakarato tikanga mo te whakahaere i nga hononga ki nga taonga Node me Channel; a ka taea e nga kaiwhakawhanake te tohungatanga i roto i te tikanga o te kaupapa kaupapa-ahua. I tenei akoranga ka whakamahia e matou etahi momo putanga motuhake o NetDevice e kiia nei CsmaNetDevice, PointToPointNetDevice и WifiNetDevice. Pērā i te whāurutau whatunga Itarangi kua hangaia hei mahi me te whatunga Itarangi, CsmaNetDevice i hangaia hei mahi tahi CsmaChannel, PointToPointNetDevice i hangaia hei mahi tahi PointToPointChannela WifiNetDevice - i hangaia hei mahi tahi Hoirangi Wifi.

4.1.5 Kaiāwhina Topological

I roto i te whatunga tuuturu, ka kitea e koe nga rorohiko kaihautu me nga kaari whatunga kua taapirihia (he whakauru ranei). I roto i te ns-3 ka kii matou ka kite koe i nga pona me nga NetDevices e piri ana. I roto i te whatunga whaihanga nui, ka hiahia koe ki te whakarite hononga i waenga i nga taonga maha Node, Pūrere Net и hongere.

Mai i te hono i nga NetDevices ki nga pona, NetDevices ki nga hononga, te tautapa i nga wahitau IP, etc. i roto i te ns-3 he mahi noa, kia ngawari ai tenei ka whakaratohia e matou he kaiawhina topology. Hei tauira, ki te hanga NetDevice, me mahi koe i te maha o nga mahi kernel ns-3, te taapiri i te wahitau MAC, te whakauru i te taputapu whatunga ki te Node, te whirihora i te kawa kawa o te node, ka hono i te NetDevice ki te Channel. Ka nui ake nga mahi hei hono i nga taputapu maha ki nga hononga maha, katahi ka hono i nga whatunga takitahi ki te whatunga Internetworks. Ka whakaratohia e matou nga taonga kaiawhina topology e whakakotahi ana i enei mahi maha hei tauira ngawari ki te whakamahi mo to waatea.

4.2 Tuhinga tuatahi ns-3

Mena kua whakauruhia e koe te punaha pera me te korero i runga ake nei, ka whiwhi koe i te tukunga ns-3 i roto i te raarangi e kiia nei he repo i to raarangi kaainga. Haere ki te whaiaronga tuku

Mena karekau he raarangi pera, ko te tikanga kaore koe i tohu i te raarangi whakaputa i te wa e hanga ana te putanga tuku o ns-3, hanga penei:
$ ./waf configure —build-profile=release —out=build/release,
$ ./waf hanga

i reira ka kite koe i tetahi hanganga whaiaronga e rite ana ki enei e whai ake nei:

AUTHORS       examples      scratch       utils       waf.bat*
bindings      LICENSE       src           utils.py    waf-tools
build         ns3           test.py*      utils.pyc   wscript
CHANGES.html  README        testpy-output VERSION     wutils.py
doc           RELEASE_NOTES testpy.supp   waf*        wutils.pyc

Haere ki te whaiaronga tauira / akoranga. Me kite koe i tetahi konae kei reira e kiia ana tuatahi.cc. He tuhinga tenei ka hanga he hononga tohu-ki-ira ngawari i waenga i nga pona e rua me te tuku i tetahi paatete ki waenga i nga pona. Me titiro ki tenei rarangi tuhi ma ia rarangi; ki te mahi i tenei, whakatuwheratia te first.cc i to etita tino pai.

4.2.1 Waehere Boilerplate
Ko te rarangi tuatahi i roto i te konae ko te raina aratau kaiwhakatika emacs. Ka korero ki nga emacs mo nga tikanga whakahōputu (ahua tohu) ka whakamahia e matou i roto i ta matou waehere puna.

/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */

He take tino tautohetohe tenei i nga wa katoa, no reira me whakarite tika te rekoata kia puta tonu mai i te huarahi. Ko te kaupapa ns-3, pera i te nuinga o nga kaupapa nui, kua mau i tetahi momo tohu e tika ana kia rite ki nga waehere whakauru katoa. Mena kei te pirangi koe ki te koha i to tohu ki te kaupapa, ka mutu me whai koe ki te paerewa whakawaehere ns-3, pera i te korero i te konae doc/codingstd.txt ka whakaatuhia ranei ki te wharangi paetukutuku kaupapa: https://www.nsnam.org/develop/contributing-code/coding-style/.

Ka tūtohu matou kia waia koe ki te ahua me te ahua o te waehere ns-3 me te whakamahi i tenei paerewa i nga wa katoa e mahi ana koe me to maatau waehere. I whakaae te katoa o te roopu whanaketanga me nga kaitakoha ki tenei i muri i etahi amuamu. Ko te raina aratau emacs i runga ake nei he ngawari ki te whakahōputu tika mena kei te whakamahi koe i te ētita emacs.

Kua raihanatia te simulator ns-3 ki te whakamahi GNU General Public License. Ka kite koe i te pane ture GNU e tika ana i ia konae tohatoha ns-3. I te nuinga o nga wa ka kite koe i tetahi panui mana pupuri mo tetahi o nga umanga whakauru i roto i te kaupapa ns-3 i runga ake i te tuhinga GPL me te kaituhi, e whakaatuhia ana i raro nei.

/* 
* This program is free software; you can redistribute it and/or modify 
* it under the terms of the GNU General Public License version 2 as 
* published by the Free Software Foundation; 
*
* This program is distributed in the hope that it will be useful, 
* but WITHOUT ANY WARRANTY; without even the implied warranty of 
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
* GNU General Public License for more details. 
* 
* You should have received a copy of the GNU General Public License 
* along with this program; if not, write to the Free Software 
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 
*/

4.2.2 Mono-mai

Ko te waehere ake ka tiimata me te raupapa o nga korero whakauru (ngā).

#include "ns3/core-module.h"
#include "ns3/network-module.h"
#include "ns3/internet-module.h"
#include "ns3/point-to-point-module.h"
#include "ns3/applications-module.h"

Hei awhina i a matou kaiwhakamahi tuhi tuhi taumata-tiketike ki te aro ki te maha o nga konae pane kei roto i te punaha, ka whakarōpūhia e matou i runga i to raatau whakamahinga ki nga waahanga nui. Ka whakaratohia e matou he konae pane kotahi ka utaina nga konae pane katoa e whakamahia ana i roto i tetahi waahanga. Engari ki te rapu he aha te pane e hiahia ana koe me te whiwhi i te rarangi tika o nga whakawhirinakitanga, ka hoatu e matou ki a koe te kaha ki te tango i tetahi roopu o nga konae i roto i te tino maramara. Ehara i te mea te huarahi tino pai, engari he maamaa ake te tuhi tuhinga.

Ko ia o nga ns-3 he konae kei roto i te raarangi ingoa ns3 (hanga whaiarongaroto) hei karo i nga papā ingoa kōnae i te wa o te hangahanga. Kōnae ns3/core-module.h e hāngai ana ki te kōwae ns-3, ka kitea e koe i roto i te whaiaronga src/matua i roto i te tukunga i whakauruhia e koe. I roto i te rarangi o tenei whaiaronga ka kitea e koe he maha o nga konae pane. Ka mahi koe i te huihuinga, Waf ka tuu i nga konae pane a te iwi ki te raarangi ns3 ki roto i te raarangi-roto hanga / patuiro

Mena karekau he raarangi pera, ko te tikanga kaore koe i tohu i te raarangi whakaputa i te wa e hanga ana te putanga tuku o ns-3, hanga penei:
$ ./waf configure --build-profile=debug --out=build/debug
$ ./waf hanga
ranei
$ ./waf configure --build-profile=optimized --out=build/optimized
$ ./waf hanga

ranei hanga / papaitia, i runga i to whirihoranga. Waf ka whakaputa aunoa i tetahi kōwae whakauru i te konae hei uta i nga konae pane upoko katoa. I te mea kei te whai koe i tenei aratohu i runga i te whakapono, kua mahia e koe

$ ./waf -d debug --enable-examples --enable-tests configure

ki te whirihora i te kaupapa ki te whakahaere i nga hanga patuiro kei roto nga tauira me nga whakamatautau. I mahia ano e koe

$ ./waf

ki te huihui i te kaupapa. Na inaianei ka titiro koe ki te raarangi ../../build/debug/ns3, i reira ka kitea e koe, me etahi atu, nga konae pane o nga waahanga e wha kua whakaatuhia i runga ake nei. Ka taea e koe te titiro ki nga ihirangi o enei konae ka kitea kei roto katoa nga konae whanui e whakamahia ana e nga waahanga e pa ana.

4.2.3 mokowāingoa ns3

Raina panuku i roto i te tuhinga tuatahi.cc he whakapuakanga mokowā ingoa.

using namespace ns3;

Ka whakatinanahia te kaupapa ns-3 i roto i te mokowāingoa C++ e kiia nei ko ns3. Ko tenei ka whakarōpū i nga korero katoa e pa ana ki te ns-3 ki roto i te whanuitanga o waho o te mokowāingoa o te ao, ko te tumanako ka awhina i te whakauru ki etahi atu waehere. Ma te whakamahi i te kaiwhakahaere C++ ka whakauruhia te mokowāingoa ns-3 ki te rohe whakapuakanga o naianei (ao). He huarahi pai tenei mo te kii i muri i tenei whakapuakanga, kare koe e hiahia ki te pato i te ns3::kaiwhakahaere whakaaetanga mokowhiti i mua i to waehere ns-3 katoa hei whakamahi. Mena kaore koe i te mohio ki nga mokowāingoa, tirohia tata ki tetahi pukapuka C++ ka whakataurite i te mokowāingoa ns3 ma te whakamahi i te mokowāingoa std me te whakapuakanga. using namespace std; i roto i nga tauira o te mahi tahi me te kaiwhakahaere whakaputa utu me nga awaawa.

4.2.4 Te takiuru

Ko te rarangi e whai ake nei o te tuhinga:

NS_LOG_COMPONENT_DEFINE ("FirstScriptExample");

Ka whakamahia e matou tenei korero hei waahi watea ki te matapaki i ta maatau punaha tuhinga Doxygen. Mena ka titiro koe ki te paetukutuku kaupapa ns-3, ka kitea he hono Tuhinga kei te pae whakaterenga. Mena ka paatohia e koe tenei hono ka kawea koe ki to maatau wharangi tuhinga. He hononga "Tuhinga Hou" ka kawea koe ki nga tuhinga mo te putanga pumau o ns-3. Mena ka tohua e koe te hono "Tuhinga API", ka kawea koe ki te wharangi tuhinga ns-3 API.

Kei te taha maui o te wharangi ka kitea e koe he ahua kauwhata o te hanganga tuhinga. Ko te waahi pai hei timata ko te "pukapuka" Modules ns-3 i te rakau whakatere ns-3. Mena ka whakaatu koe kōwae, ka kite koe i te rarangi o nga tuhinga ns-3 modules. Ka rite ki te korero i runga ake nei, ko te ariā o te kōwae i konei e hāngai pū ana ki ngā kōnae kei roto i te kōwae i runga ake nei. Ko te ns-3 logging subsystem e korerohia ana i te waahanga Te whakamahi i te Kowae Takitaki, no reira ka hoki mai ano matou ki tenei akoranga, engari ka taea e koe te ako mo te korero i runga ake nei ma te titiro ki te waahanga Corekatahi ka whakatuwhera i te pukapuka Nga taputapu utungaka kowhiri i te wharangi Te takiuru. Patohia Te takiuru.

Me arotake e koe inaianei nga tuhinga Doxygen mo te kōwae Te takiuru. I te rarangi tonotono kei runga ake o te wharangi, ka kite koe i tetahi urunga mo NS_LOG_COMPONENT_DEFINE. I mua i te panui i te hono, me titiro ki te "Whakaahuatanga Taipitopito" o te waahanga rehitatanga kia mohio ai koe me pehea te mahi i te nuinga. Ki te mahi i tenei ka taea e koe te panuku ki raro, ka kowhiri ranei "Ake..." i raro i te tūtohi.

Kia whai whakaaro nui koe mo nga mea kei te haere, haere ki mua ka titiro ki nga tuhinga mo te NS_LOG_COMPONENT_DEFINE. E kore ahau e taarua i nga tuhinga ki konei, engari hei whakarapopototanga, ka kii tenei rarangi he waahanga rehitatanga e kiia ana Tauira Hōtuhi Tuatahi, ka taea e koe te whakahohe, te whakakore ranei i te takiuru papatohu o nga karere ma te tohu ki tetahi ingoa.

4.2.5 Mahi matua

I nga rarangi e whai ake nei o te tuhinga ka kite koe,

int 
main (int argc, char *argv[])
{ 

He whakapuakanga noa tenei mo te mahi matua o to hotaka (tuhi). Ka rite ki tetahi kaupapa C++, me tautuhi koe i tetahi mahi matua, ka mahia i te tuatahi. Kaore he mea motuhake i konei. Ko to tuhi ns-3 he kaupapa C++ noa. Ko te rarangi e whai ake nei ka tautuhi i te taumira wa ki te 1 nanohekona, koinei te taunoa:

Time::SetResolution (Time::NS);

Ko te taumira wa, ko te whakatau noa ranei, ko te uara wa iti rawa atu ka taea te whakamahi (te rereketanga iti rawa atu i waenga i nga wa e rua). Ka taea e koe te huri i te taumira kotahi. Ko te tikanga e whakarato ana i tenei ngawari ka pau te mahara, no reira ka oti te whakatau, ka wetekina te mahara, ka aukati i nga whakahoutanga. (Mena karekau koe e whakatakoto tika i te whakataunga, ka taunoa ki te kotahi nanohekona ka wetekina te mahara ina timata te whaihanga.)

Ko nga rarangi tuhi e rua e whai ake nei ka whakamahia hei whakaahei i nga waahanga takiuru e rua kua hangaia hei tono EchoClient и EchoServer:

LogComponentEnable("UdpEchoClientApplication", LOG_LEVEL_INFO); LogComponentEnable("UdpEchoServerApplication", LOG_LEVEL_INFO);

Mena ka panui koe i nga tuhinga mo te Waahanga Takitaki, ka kite koe he maha nga taumata o te takitaki/kaapiri ka taea e koe te whakauru ki ia waahanga. Ko enei rarangi e rua o te waehere ka taea te takiuru patuiro ki te taumata INFO mo nga kiritaki paoro me nga kaitoro. I tenei taumata, ka taia e te tono nga karere i a ia e tuku ana, e whiwhi ana i nga paatete i te wa o te whaihanga.

Inaianei ka heke tatou ki te mahi hanga i te topology me te whakahaere i te whaihanga. Ka whakamahia e matou nga taonga kaiawhina topology kia ngawari ai tenei mahi.

4.2.6 Te whakamahi i nga kaiawhina topology

Ko nga rarangi waehere e rua e whai ake nei i roto i to maatau tuhinga ka tino hanga nga taonga Node ns-3 hei tohu i nga rorohiko i roto i te whaihanga.

NodeContainer nodes;
nodes.Create (2);

I mua i te haere tonu, me rapu nga tuhinga mo te karaehe NodeContainer. Ko tetahi atu huarahi ki te haere ki nga tuhinga mo tetahi akomanga ko te ripa Karaehe i runga i nga wharangi Doxygen. Mena kua tuwhera tonu a Doxygen, panuku noa ki te tihi o te wharangi ka kowhiri i te ripa Karaehe. Me kite koe i tetahi huinga ripa hou, ko tetahi he rarangi o nga karaehe. I raro i tenei ripa ka kite koe i te rarangi o nga akomanga ns-3 katoa. Panuku ki raro ns3::NodeContainer. Ka kitea e koe he akomanga, tohua kia haere ki nga tuhinga mo te akomanga.

E maumahara ana tatou, ko tetahi o a tatou tangohanga matua ko te node. He tohu mo te rorohiko ka taapirihia e matou nga mea penei i nga kawa kawa, nga tono, me nga kaari peripheral. Kaiāwhina Topology NodeContainer he huarahi watea ki te hanga, ki te whakahaere me te uru ki nga mea katoa Node, ka hangaia e matou hei whakahaere i te whaihanga. Ko te rarangi tuatahi i runga ake nei he korero noa NodeContainer, e kiia nei e matou he node. Ka karangahia e te rarangi tuarua te tikanga Waihanga i runga i nga mea node ka patai ki te ipu kia hanga e rua nga pona. Ka rite ki te korero i roto i Doxygen, ka tono te ipu ki te punaha ns-3 ki te hanga taonga e rua Node me te rongoa tohu tohu ki enei taonga o roto.

Ko nga pona i hangaia i roto i te tuhinga kaore ano kia mahi. Ko te mahi e whai ake nei mo te hanga i te topology ko te hono i o tatou pona ki te whatunga. Ko te ahua ngawari o te whatunga ka tautokohia e matou he hononga tohu-ki-ira i waenga i nga pona e rua. Ka hangaia e matou he hononga penei.

PointToPointHelper

Ka hangaia e matou he hononga tohu-ki-ira ma te whakamahi i tetahi tauira taunga, ma te whakamahi i tetahi mea kaiawhina topology hei mahi i nga mahi taumata-iti e hiahiatia ana mo te hononga. Kia maumahara ko o maatau waahanga matua e rua Pūrere Net и hongere. I roto i te ao tuuturu, ko enei kupu ka rite ki nga kaari peripheral me nga taura whatunga. I te nuinga o te waa, ko enei mea e rua e hono tata ana ki a ratau, a kaore e taea e tetahi te whakawhirinaki ki te tiri, hei tauira, nga taputapu Itarangi i runga i te hongere ahokore. Ko o maatau kaiawhina topology e whai ana i tenei hononga tata, na reira ka whakamahi koe i tetahi mea i tenei ahuatanga PointToPointHelper mo te whakarite me te hono i nga taonga ns-3 PointToPointNetDevice и PointToPointChannel. Ko nga rarangi e toru e whai ake nei i roto i te tuhinga:

PointToPointHelper pointToPoint;
pointToPoint.SetDeviceAttribute ("DataRate", StringValue ("5Mbps")); 
pointToPoint.SetChannelAttribute ("Delay", StringValue ("2ms"));

Raina tuatahi,

PointToPointHelper pointToPoint;

ka waihanga tauira o te ahanoa i runga i te puranga PointToPointHelper. Mai i te taumata teitei o te tirohanga ko te rarangi e whai ake nei,

pointToPoint.SetDeviceAttribute ("DataRate", StringValue ("5Mbps"));

ka korero i te mea PointToPointHelper whakamahia te uara "5 Mbit/s" (e rima megabits ia hekona) hei "Raraunga Raraunga".

Mai i te tirohanga ake ake, ko te aho "Raraunga Raraunga" e rite ana ki ta tatou e kiia nei he huanga PointToPointNetDevice. Ki te titiro koe ki Doxygen mo te akomanga ns3::PointToPointNetDevice me nga tuhinga mo te tikanga GetTypeId ka kitea e koe he rarangi o nga huanga kua tautuhia mo te taputapu. I roto ia ratou ko te huanga "Raraunga Raraunga" Ko te nuinga o nga taonga ns-3 e kitea ana e te kaiwhakamahi he rarangi o nga huanga. Ka whakamahia e matou tenei tikanga ki te whakarite ngawari i te whaihanga me te kore e whakahiato, ka kite koe i te waahanga e whai ake nei.

He rite ki "Raraunga Raraunga" i roto i te PointToPointNetDevice, ka kitea e koe te huanga "Whakaroa" e hono ana ki te PointToPointChannel. Ko te raina whakamutunga

pointToPoint.SetChannelAttribute ("Delay", StringValue ("2ms"));

ka mea PointToPointHelper whakamahia te uara "2 ms" (e rua manomano) hei uara whakaroa whakaroa mo te hono ira-ki-ira ka mahia e ia.

NetDeviceContainer

I tenei wa kei roto i te tuhinga NodeContainer, e rua nga pona. Kei a matou PointToPointHelper, kua rite mo te hanga taonga PointToPointNetDevices me te hono ma te whakamahi i tetahi ahanoa PointToPointChannel. Ka rite ki ta matou whakamahi i te ahanoa kaiawhina topology NodeContainer ki te hanga i nga pona, ka patai matou PointToPointHelper mahia nga mahi mo matou e pa ana ki te hanganga, te whirihoranga me te whakaurunga o a maatau taputapu. Me whai rarangi o nga mea hanga katoa Pūrere Net, na ka whakamahia e matou NetDeviceContainer ki te penapena i a raatau i te huarahi ano i whakamahia e matou NodeContainer hei rokiroki i nga pona i hanga e matou. Ko nga rarangi waehere e rua e whai ake nei,

NetDeviceContainer devices;
devices = pointToPoint.Install (nodes);

oti te taputapu me te tatūnga hongere. Ko te rarangi tuatahi e whakaatu ana i te ipu taputapu kua whakahuahia i runga ake nei, ko te tuarua te mahi matua. Tikanga tāuta ahanoa PointToPointHelper whakaae NodeContainer hei tawhā. I roto NetDeviceContainer mo ia node kei roto NodeContainer ka hangaia (mo te whakawhitiwhiti korero-a-ira me rua tonu) PointToPointNetDevice ka hangaia, ka tiakina ki roto i te ipu taputapu. PointToPointChannel ka hangaia, ka honoa e rua PointToPointNetDevices. Whai muri i te hanga taonga, ka penapena nga huanga ki roto PointToPointHelper, ka whakamahia hei arawhiti i nga huanga e rite ana i roto i nga mea hanga.

Whai muri i te waea pointToPoint.Tāuta (nodes) ka rua nga pona, kei ia mea he taputapu whatunga tohu-ki-ira kua whakauruhia me tetahi hononga tohu-ki-ira i waenganui i a raatau. Ka whirihorahia nga taputapu e rua ki te tuku raraunga i te tere o te rima megabits ia hekona me te roa o te tuku e rua milliseconds i runga i te hongere.

InternetStackHelper

Inaianei kua whirihorahia nga pona me nga taputapu, engari karekau he putunga kawa kua whakauruhia ki a maatau. Ko nga rarangi waehere e rua e whai ake nei ka tiaki i tenei.

InternetStackHelper stack;
stack.Install (nodes);

InternetStackHelper - he kaiawhina topology mo nga puranga Ipurangi, he rite ki a PointToPointHelper mo nga taputapu whatunga tohu-ki-ira. Tikanga tāuta tango NodeContainer hei tawhā. Ina oti ana, ka whakaurua te puranga Ipurangi (TCP, UDP, IP, me etahi atu) ki runga i ia pona ipu.

IPv4AddressHelper

Na me hono o tatou taputapu ki nga wahitau IP. Ka whakaratohia e matou he kaiawhina topology hei whakahaere i te tohatoha wahitau IP. Ko te API anake e kitea ana e te kaiwhakamahi kei te whakatakoto i te turanga IP IP me te netmask hei whakamahi i te wa e mahi ana i te tohatoha wahitau tuuturu (ka mahia tenei i te taumata iti i roto i te kaiawhina). Ko nga rarangi waehere e rua e whai ake nei i roto i ta maatau tauira tauira tuatahi.cc,

Ipv4AddressHelper address;
address.SetBase ("10.1.1.0", "255.255.255.0");

whakapuakihia te ahanoa kaiawhina wahitau me te kii me timata ki te tohatoha i nga wahitau IP mai i te whatunga 10.1.1.0, ma te whakamahi i te 255.255.255.0 mokamoka hei whakatau. Ma te taunoa, ka timata nga wahitau kua tohaina ki te kotahi, ka piki noa, na ko te wahitau tuatahi ka tohaina mai i tenei turanga ko 10.1.1.1, ka 10.1.1.2, etc. I roto i te meka, i te taumata iti, ka mahara te punaha ns-3 ki nga wahitau IP kua tohaina katoa me te whakaputa i te hapa mate mena ka pohehe koe i te hanga i tetahi ahuatanga e rua nga wa i hangaia ai te wahitau kotahi (ma te ara, he uaua tenei hapa ki te patuiro).

Ko te rarangi waehere e whai ake nei,

Ipv4InterfaceContainer interfaces = address.Assign (devices);

ka mahi i te taumahi wāhitau tūturu. I roto i te ns-3 ka whakapumautia he hononga i waenga i tetahi wahitau IP me tetahi taputapu ma te whakamahi i te ahanoa IPv4Atanga. I etahi wa ka hiahia matou ki te rarangi o nga taputapu whatunga i hangaia e te kaiawhina hei whakamahi i muri mai, ka hiahia matou ki te rarangi o nga taonga IPv4Atanga. IPv4InterfaceContainer whakarato ana i tenei mahi.

I hangaia e matou he whatunga tohu-ki-ira, kua whakauruhia nga puranga me nga wahitau IP kua tohua. Inaianei kei te hiahia tatou ki nga tono i ia pona hei whakaputa waka.

4.2.7 Te Whakamahi Taupānga

Ko tetahi atu o nga tangohanga matua o te punaha ns-3 ko Taupānga (tono). I tenei ahuatanga e whakamahi ana matou i nga waahanga motuhake e rua Taupānga ns-3 i karangahia UdpEchoServerApplication и UdpEchoClientApplication. Ka rite ki nga keehi o mua, ka whakamahia e matou nga taonga awhina hei whirihora me te whakahaere i nga mea turanga. I konei ka whakamahia e matou UdpEchoServerHelper и UdpEchoClientHelper taonga kia ngawari ake o tatou oranga.

UdpEchoServerHelper

Ko nga rarangi waehere e whai ake nei i roto i ta maatau tauira tauira tuatahi.cc ka whakamahia hei whirihora i te tono tūmau paoro UDP i runga i tetahi o nga pona i hanga e matou i mua.

UdpEchoServerHelper echoServer (9);

ApplicationContainer serverApps = echoServer.Install (nodes.Get (1));
serverApps.Start (Seconds (1.0));
serverApps.Stop (Seconds (10.0));

Ko te rarangi tuatahi o te waehere i roto i te snippet i runga ake ka hanga UdpEchoServerHelper. Ka rite ki o mua, ehara tenei i te tono ake, he ahanoa hei awhina i a tatou ki te hanga tono tuturu. Ko tetahi o a maatau tikanga ko te tuku i nga huanga e hiahiatia ana ki te kaihanga o te mea kaiawhina. I tenei keehi, kaore e taea e te kaiawhina te mahi i tetahi mea whaihua mena ka hoatu ki a ia te nama tauranga e whakarongo ai te kaimau mo nga paatete, me mohio ano tenei nama ki te kaihoko. I tenei keehi, ka tukuna e matou te tau tauranga ki te kaihanga kaiawhina. Ko te kaihanga, ka mahi noa Huanga Huanga me te uara kua paahitia. I muri mai, ki te hiahiatia, ka taea e koe te whakamahi SetAttribute ki te whakarite i tetahi uara rereke mo te huanga Tauranga.

Pērā i te maha atu o nga taonga awhina, ko te ahanoa UdpEchoServerHelper he tikanga tāuta. Ma te whakamahi i tenei tikanga ka waihangahia he tono tūmau echo taketake ka herea ki te kaihautu. He mea whakamiharo, ko te tikanga tāuta whakaae NodeContainer hei tawhā rite tonu ki era atu tāuta tikanga kua kite matou.

Ko te C ++ implicit conversion e mahi ana i konei ko te hua o te tikanga node.Tikina(1) (e whakahoki ana i te atatohu atamai ki te ahanoa node - Ptr ) me te whakamahi i roto i te kaihanga mo te ahanoa ingoamuna NodeContainerka tukuna ki te tikanga tāuta. Ki te kore e taea e koe te whakatau i roto i te waehere C++ ko tehea te hainatanga tikanga ka whakahiatohia, ka mahia, katahi ka titiro ki waenga i nga huringa.

Inaianei kua kite tatou i tera echoServer.Tāuta e pā ana ki te tāuta i te tono UdpEchoServerApplication i kitea i roto NodeContainerka whakamahia e matou ki te whakahaere i o matou pona, node me te taupū 1. Tikanga tāuta ka whakahokia he ipu kei roto nga tohu tohu ki nga tono katoa (i tenei keehi tetahi, na te mea i tukuna e matou he ingoamuna NodeContainer, kei roto kotahi te node) i hangaia e te kaiawhina.

Me tohu nga tono ahea timata ai te whakaputa waka "timata" a tera pea me tohu ano he wa ka mutu "mutu". Ka whakaratohia e matou nga whiringa rua. Ka whakaritea enei wa ma te whakamahi i nga tikanga TaupāngaContainer Tīmata и Kāti. Ko enei tikanga ka whakaae ki nga tawhā o te momo Te wā. I tenei keehi ka whakamahia e matou he raupapa o nga huringa C++ hei tango C++ rua 1.0 ka huri hei ahanoa tns-3 Time e whakamahi ana i te ahanoa Hono hei huri ki te hēkona. Kia maumahara ka taea e te kaituhi tauira te whakahaere i nga ture hurihanga, kei a C++ ana ake ture, na reira kaore e taea e koe te tatau i nga wa katoa ki te huri i nga tawhā ki te huarahi e tumanakohia ana e koe. E rua nga rarangi

serverApps.Start (Seconds (1.0));
serverApps.Stop (Seconds (10.0));

ka timata te tono tūmau echo (ka huri aunoa) kotahi te rua i muri i te tiimata o te whaihanga ka mutu (whakaweto) i muri i te tekau hēkona o te whaihanga. Na te mea i whakapuakihia e matou he kaupapa whaihanga (takahanga whakamutu tono), ka mahia i roto i te tekau hēkona, ka neke ake i te tekau hēkona o te mahi whatunga ka whaihanga.

UdpEchoClientHelper

Taupānga Kiritaki paoro whirihora i roto i te tikanga tata rite ki te tūmau. He ahanoa turanga UdpEchoClientApplication, e whakahaeretia ana
UdpEchoClientHelper.

UdpEchoClientHelper echoClient (interfaces.GetAddress (1), 9);
echoClient.SetAttribute ("MaxPackets", UintegerValue (1));
echoClient.SetAttribute ("Interval", TimeValue (Seconds (1.0)));
echoClient.SetAttribute ("PacketSize", UintegerValue (1024));

ApplicationContainer clientApps = echoClient.Install (nodes.Get (0));
clientApps.Start (Seconds (2.0));
clientApps.Stop (Seconds (10.0));;

Heoi, mo te kiritaki echo me whakarite e rima nga huanga rereke. Ko nga huanga tuatahi e rua kua tautuhia i te wa hanga UdpEchoClientHelper. Ka tukuna e matou nga tawhā e whakamahia ana (i roto i te kaiawhina) hei tautuhi i nga huanga "Wāhitau Mamao" и "Tauranga Mamao" i runga i ta maatau whakaaetanga ki te tuku i nga tawhā e tika ana ki te kaihanga kaiawhina.

Kia mahara tatou i whakamahia e tatou IPv4InterfaceContainer ki te whai i nga wahitau IP kua tohua e matou ki o maatau taputapu. Ko te atanga null i roto i te ipu atanga ka rite ki te wahitau IP o te node null i roto i te ipu nodes. Ko te atanga tuatahi i roto i te ipu atanga e rite ana ki te wahitau IP o te node tuatahi i roto i te ipu nodes. Na, i te rarangi tuatahi o te waehere (i runga ake nei), ka hangaia e matou he kaiawhina me te korero ko te wahitau mamao o te kiritaki ko te IP IP kua tohua ki te kaihautu kei reira te tūmau. E kii ana hoki matou me whakarite kia tukuna atu nga paakete ki te tauranga iwa.

Ko te huanga "MaxPackets" e whakaatu ana ki te kaihoko te maha o nga paatete ka taea e matou te tuku i te wa o te whaihanga. Ko te huanga "Waea" e whakaatu ana ki te kiritaki te roa o te tatari i waenga i nga kete, a ko te huanga "PacketSize" e whakaatu ana ki te kiritaki te nui o te utunga o te kete. Ma tenei huinga huanga ka kii atu matou ki te kaihoko kia tukuna he paatete 1024-paita kotahi.

Pērā i te tūmau echo, ka whakatakotohia e mātou ngā huanga o te kiritaki echo Tīmata и Kāti, engari i konei ka timata matou i te kiritaki i te tuarua i muri i te wa e huri ana te tūmau (e rua hēkona i muri i te tiimata o te whaihanga).

4.2.8 Simulator

I tenei wa me whakahaere e tatou te whaihanga. Ka mahia tenei ma te whakamahi i te mahi o te ao Simulator::Rere.

Simulator::Run ();

I te wa i karangahia e matou i mua ko nga tikanga,

serverApps.Start (Seconds (1.0));
serverApps.Stop (Seconds (10.0));
... 
clientApps.Start (Seconds (2.0));
clientApps.Stop (Seconds (10.0));

i whakaritea e matou nga kaupapa i roto i te simulator i te 1,0 hēkona, 2,0 hēkona, me ngā kaupapa e rua i te 10,0 hēkona. I muri i te karanga Simulator::Rere, ka timata te punaha ki te tiro i te rarangi o nga huihuinga kua whakaritea me te mahi. I te tuatahi ka tahuna he huihuinga i muri i te 1,0 hēkona, ka puta te tono tūmau paoro (ka taea e tenei huihuinga te whakarite i etahi atu huihuinga). Ka tahuna he huihuinga kua whakaritea i te t=2,0 hēkona ka whakarewahia te tono a te kiritaki echo. Ano, he maha atu pea nga kaupapa kua whakaritea mo tenei huihuinga. Ko te whakatinanatanga o te takahanga timatanga i roto i te kiritaki echo ka timata i te wahanga whakawhiti raraunga o te whaihanga ma te tuku i te kete ki te tūmau.

Ko te mahi tuku kete ki te tūmau ka puta he mekameka o nga huihuinga ka whakaritea aunoatia i muri o nga tirohanga, ka whakatinana i nga tikanga o te tuku i te paoro paoro e ai ki nga tawhā taima kua whakatakotoria e matou ki te tuhinga.

Ko te mutunga mai, i te mea kei te tukuna e matou kotahi noa te paatete (mahara, te huanga MaxPackets i whakaritea ki te kotahi), ka mutu te mekameka o nga huihuinga i timatahia e tenei ping kiritaki kotahi, ka haere te whaihanga ki te aratau tatari. Ka pa ana tenei, ko nga huihuinga kua whakaritea ko nga huihuinga Kāti mo te tūmau me te kiritaki. Ka mahia enei kaupapa, karekau he kaupapa e toe ana hei tukatuka atu Simulator::Rere ka hoki mai te mana whakahaere. Kua oti te whaihanga.

Ko nga mea e toe ana ko te horoi i muri i a koe ano. Ka mahia tenei ma te karanga i te mahi o te ao Simulator:: Whakangaromia. Na te mea ko nga mahi a te kaiawhina (he tohu ns-3 taumata iti ranei) i kiia, he mea whakarite kia whakauruhia nga matau ki roto i te simulator hei whakangaro i nga mea katoa i hangaia. Kare koe i hiahia ki te whai i tetahi o enei taonga i a koe ake - ko te waea anake Simulator:: Whakangaromia ka haere ki waho. Ma te punaha ns-3 tenei mahi uaua mo koe. Ko nga rarangi e toe ana o ta maatau tuhinga ns-3 tuatahi, first.cc, mahi pera:

Simulator::Destroy ();
return 0;
}

Ka mutu te simulator?

Ko te ns-3 he simulator takahanga motuhake (DE). I roto i taua simulator, ko ia huihuinga e hono ana ki tana wa mahi, ka haere tonu te whaihanga ma te tukatuka i nga kaupapa i roto i te raupapa ka puta i te wa e haere ana te whaihanga. Ka taea e nga takahanga te whakarite i nga kaupapa a meake nei (hei tauira, ka taea e te kaima te whakarite ano i a ia ano ki te whakaoti tatau i te waa e whai ake nei).

Ko nga huihuinga tuatahi ka timatahia e te hinonga, hei tauira ka whakaritea e IPv6 te kitenga o nga ratonga i runga i te whatunga, nga tono hoa tata, me era atu. Ka whakaritea e te tono te huihuinga tuku paatete tuatahi, me era atu. Ina tukatukahia he takahanga, ka taea e ia te whakaputa i te kore, kotahi, neke atu ranei nga kaupapa. I te wa e haere ana te whaihanga, ka puta nga kaupapa, ka mutu, ka waihanga ranei i nga mea hou. Ka mutu aunoa te whaihanga ki te noho kau te rarangi takahanga, ka kitea ranei he kaupapa motuhake Kāti. Takahanga Kāti hangaia e te mahi Simulator::Kati (waa mutu).

He take angamaheni kei reira te Simulator::Kati he mea tino tika ki te aukati i te whaihanga: ina he huihuinga oranga-whaiaro. Ko nga huihuinga oranga-whaiaro (he tukurua ranei) ko nga huihuinga ka whakahouhia i nga wa katoa. Na reira, ka pupuri tonu ratou i te rarangi takahanga kia kaua e kau. He maha nga kawa me nga waeine kei roto nga takahanga tukurua, hei tauira:

• FlowMonitor - te tirotiro i ia wa mo nga paatete ngaro;

• RIPng – haapurororaa i ia wa o nga whakahou ripanga ararere;

• etc.

I nga ahuatanga penei Simulator::Kati e tika ana kia mutu te whaihanga. I tua atu, i te wa e noho ana a ns-3 i te aratau tauira, ka whakamahia te RealtimeSimulator ki te tukutahi i te karaka whaihanga me te karaka miihini, me Simulator::Kati e tika ana kia mutu te tukanga.

Ko te nuinga o nga kaupapa whaihanga i roto i te pukapuka pukapuka kaore e waea Simulator::Kati tino marama, na te mea ka mutu aunoa ina pau nga kaupapa kua tuuhia. Heoi, ka whakaae ano enei papatono ki te Simulator::Kati te waea. Hei tauira, ko te korero taapiri e whai ake nei i roto i te kaupapa tauira tuatahi ka whakarite i te tuunga mo te 11 hēkona:

+ Simulator::Stop (Seconds (11.0));
  Simulator::Run ();
  Simulator::Destroy ();
  return 0;
}

Ko nga korero i runga ake nei e kore e whakarereke i te whanonga o tenei papatono, na te mea ka mutu tenei whaihanga i muri i te 10 hēkona. Engari ki te huri koe i te wa mutu i roto i te korero i runga ake nei mai i te 11 hēkona ki te 1 hēkona, ka kite koe ka mutu te whaihanga i mua i te pa atu o tetahi putanga ki te mata (i te mea ka puta te putanga i muri i te 2 hēkona o te wa whaihanga).

He mea nui kia waea atu ki a Simulator :: Kati i mua i te waeatanga ki a Simulator:: Rere; ki te kore Simulator::Kare pea te oma e whakahoki mana ki te kaupapa matua ki te mahia te aukati!

4.2.9 Te hanga i to tuhinga

Kua hanga e matou o tuhinga ngawari noa iho. Ko nga mea katoa hei mahi maau ko te tuku i to tuhinga ki roto i te raarangi raraku ka hangaia aunoa mena ka rere koe Waf. Kia tamata tatou. Hoki ki te whaiaronga taumata o runga me te kape tauira/tutorial/first.cc ki te pukapuka raraku

$ cd ../.. 
$ cp examples/tutorial/first.cc scratch/myfirst.cc

Inaianei hangahia to tuhinga tauira tuatahi ma te whakamahi waf:

$ ./waf

Me kite koe i nga karere e tohu ana i hanga angitu to tauira tuatahi.

Waf: Entering directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build'
[614/708] cxx: scratch/myfirst.cc -> build/debug/scratch/myfirst_3.o
[706/708] cxx_link: build/debug/scratch/myfirst_3.o -> build/debug/scratch/myfirst
Waf: Leaving directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build'
'build' finished successfully (2.357s)

Inaianei ka taea e koe te whakahaere i te tauira (kia mahara mena ka hangaia e koe to hotaka ki roto i te raarangi rakuraku, katahi ka rere koe mai i raraku):

$ ./waf --run scratch/myfirst

Me kite koe i nga putanga rite:

Waf: Entering directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build'
Waf: Leaving directory `/home/craigdo/repos/ns-3-allinone/ns-3-dev/build'
'build' finished successfully (0.418s) Sent 1024 bytes to 10.1.1.2
Received 1024 bytes from 10.1.1.1
Received 1024 bytes from 10.1.1.2

I konei ka kite koe ka whakamanahia e te punaha hanga kua oti te konae te hanga katahi ka whakahaere. Ka kite koe i te whakaurunga wae i runga i te kiritaki echo e tohu ana i tukuna he paatete 1024-paita kotahi ki te tūmau paoro 10.1.1.2. Ka kite ano koe i te wahanga taki i runga i te tūmau paoro ki te kii kua whiwhi 1024 paita mai i te 10.1.1.1. Ka tukuna wahangu te tūmau echo i te pākete ka kite koe i roto i te rangitaki a te kiritaki echo i whakahokia mai tana pākete mai i te tūmau.

4.3 ns-3 Waehere puna

Inaianei kua whakamahia e koe etahi o nga kaiawhina ns-3, ka taea e koe te titiro ki etahi o nga waehere puna e whakamahi ana i tenei mahi. Ka taea te tiro i te waehere hou i runga i to maatau paetukutuku i te hononga e whai ake nei: https://gitlab.com/nsnam/ns-3-dev.git. I reira ka kite koe i te wharangi whakarāpopototanga Mercurial mo to tatou rakau whanaketanga ns-3. I te tihi o te wharangi ka kite koe i nga hononga maha,

summary | shortlog | changelog | graph | tags | files

Haere ki mua ka kowhiri i te hononga o nga konae. Koinei te ahua o te taumata o runga o te nuinga o a maatau putunga:

drwxr-xr-x                               [up]
drwxr-xr-x                               bindings python  files
drwxr-xr-x                               doc              files
drwxr-xr-x                               examples         files
drwxr-xr-x                               ns3              files
drwxr-xr-x                               scratch          files
drwxr-xr-x                               src              files
drwxr-xr-x                               utils            files
-rw-r--r-- 2009-07-01 12:47 +0200 560    .hgignore        file | revisions | annotate
-rw-r--r-- 2009-07-01 12:47 +0200 1886   .hgtags          file | revisions | annotate
-rw-r--r-- 2009-07-01 12:47 +0200 1276   AUTHORS          file | revisions | annotate
-rw-r--r-- 2009-07-01 12:47 +0200 30961  CHANGES.html     file | revisions | annotate
-rw-r--r-- 2009-07-01 12:47 +0200 17987  LICENSE          file | revisions | annotate
-rw-r--r-- 2009-07-01 12:47 +0200 3742   README           file | revisions | annotate
-rw-r--r-- 2009-07-01 12:47 +0200 16171  RELEASE_NOTES    file | revisions | annotate
-rw-r--r-- 2009-07-01 12:47 +0200 6      VERSION          file | revisions | annotate
-rwxr-xr-x 2009-07-01 12:47 +0200 88110  waf              file | revisions | annotate
-rwxr-xr-x 2009-07-01 12:47 +0200 28     waf.bat          file | revisions | annotate
-rw-r--r-- 2009-07-01 12:47 +0200 35395  wscript          file | revisions | annotate
-rw-r--r-- 2009-07-01 12:47 +0200 7673   wutils.py        file | revisions | annotate

Ko o maatau tauira tuhinga kei roto i te raarangi tauira. Mena ka paatohia e koe nga tauira ka kite koe i te rarangi o nga raarangi-roto. Ko tetahi o nga konae kei te raarangi-roto akoranga - first.cc. Mena ka paatohia e koe tuatahi.cc ka kite koe i te waehere kua ako koe.

Ko te waehere puna te nuinga kei roto i te whaiaronga src. Ka taea e koe te tiro i te waehere puna ma te panui i te ingoa whaiaronga, ma te panui ranei i nga hononga o nga konae kei te taha matau o te ingoa whaiaronga. Mena ka paatohia e koe te raarangi src, ka whiwhi koe i te raarangi o nga raarangi src. Mena ka paatohia e koe te raarangi matua, ka kitea e koe he rarangi o nga konae. Ko te konae tuatahi ka kite koe (i te wa i tuhia ai tenei aratohu) ko whakatahe.h. Mena ka paatohia e koe te hono whakatahe.h, ka tukuna koe ki te konae puna mo whakatahe.h, kei roto nga tonotono whai hua mo te whakaputa i nga tuhinga mena ka kitea nga ahuatanga rereke. Ko te waehere puna mo nga kaiawhina i whakamahia e matou i tenei upoko ka kitea i roto i te raarangi src/Nga tono/kaiawhina. Tena koa ki te kopikopiko i te rakau whaiaronga kia mohio koe he aha te waahi me te mohio ki te ahua o nga kaupapa ns-3.

Source: will.com

Tāpiri i te kōrero