20 tammikuun, 2022

NS2 Ultimate – jälkikäsittely NS2 tulos käyttäen NS2 jäljittää –…

Huom: tämän sarjan sisältö on poimittu kirjasta Introduction to Network Simulator NS2. Sinun on ehkä luettava kirjan luvut 2 ja 13 ymmärtääksesi paremmin.

mitä tässä viestissä lukee?

tässä viestissä näytän yksinkertaisen (ja ehkä yleisimmän tavan) NS2-jäljitystiedoston luomiseen. Tämä jäljitystiedosto sisältää paljon tietoa. Itse asiassa se sisältää liikaa tietoa, mikä pelottaa NS2: n käyttäjiä. Älä huolehdi siitä. Yritämme tulkita NS2-jäljitystiedostoja myöhemmin. Nyt keskitytään siihen, miten NS2-jäljitystiedosto voidaan luoda.

kaksivaiheinen prosessi

jäljitystiedoston luominen vaatii seuraavat kaksi vaihetta:

  1. Luo tiedosto jäljitystietojen tallentamiseksi.
  2. Tallenna jäljitystiedot luotuun tiedostoon.

Vaihe 1: Luo tiedosto kirjoitettavaksi

Tcl käyttää komentoa ”avaa” tiedoston avaamiseen. Komennon ”open” syntaksi on seuraava:

avaa <tiedostonimi> < Käyttötarkoitus>

jossa < tiedostonimi> on avattavan tiedoston nimi, ja < Käyttötarkoitus> voi olla

  • ”w”kirjoittamiseen,
  • ” r”lukemiseen tai
  • ” a ” liittämiseen

tämä lauseke palauttaa tiedostokahvan, jolla voidaan viitata avattuun tiedostoon.

esimerkki Tcl-lauseesta, joka avaa tiedoston, jonka nimi on ”tracefile.tr” tiedoston kahvan kirjoittamiseen ja tallentamiseen muuttujassa $var on alla:

set var

Step 2: Tallenna jäljitystiedot avattuun jäljitystiedostoon.

seuraava vaihe on jäljittää tietoja avattuun tiedostoon. Tämä voidaan saavuttaa käyttämällä seuraavaa Tcl-lauseketta:

$ns trace-all $var
jossa $ns on Simulaattoriesiintymä ja $var on tiedostokahva. Tämä lausunto kertoo kaikki jäljitysobjektit (esim., Enqt_, deqT_, rcvT_, ja drpT_ SimpleLink objekti alla) tallentaa tietoja kulkee paketteja jäljitystiedostoon, jonka muuttuja on $var.

jäljittämiselle on vain yksi vaatimus: Yllä olevan lausekkeen on sijaittava ennen ”$ns run” – lauseketta.

simulaation valmistuttua luotaisiin jäljitystiedosto. Tässä on esimerkki jäljitystiedostoista.

Mitä Me Juuri Teimme?

lauseke ”$ns trace-all ” lisää jäljitettävän kohteen eri paikkoihin verkkotopologiassa. Yleisin paikka on yksinkertainen linkki yleensä käytetään yhdistämään kaksi solmua. Lausunto ”$ns trace-all ” lisää muutamia jäljityskohteita SimpleLink-objektiin kuten yllä on esitetty.

mitä jäljittävät objektit tekevät
jäljittävä objekti istuu kahden NsObject-tunnistavan objektin välissä. Kun se vastaanottaa paketin, se tulostaa liittyvät jäljitystiedot rivinä jäljitystiedostoon. Yllä olevassa kuvassa meillä on neljä jäljitettävää kohdetta:

  • enqT_: Print a line starting with”+”, indicating an enqueuing event
  • deqT_: Print a line starting in” -”, indicating a dequeuing event
  • rcvT_: Print a line starting with ”r”, indicating a packet reception event
  • drpT_: Tulosta d-kirjaimella alkava rivi, joka ilmaisee paketin pudottavan tapahtuman

Jäljitysilmoitukset Jäljitystiedostossa:
nämä jäljitysobjektit tulostavat tiedot kaikista läpikulkevista paketeista. Tiedot paketeista, jotka eivät kulje minkään näistä kohteista läpi, eivät näy jäljitystiedostossa.

ainoa kohde, joka vastaa pakettien pudottamisesta yllä olevassa kuvassa, on jono_. Se tekee niin kutsumalla function drop(P). Funktion drop (p) puolestaan lähettää paketin P huolivalle NsObject: lle, joka tässä tapauksessa on drpT_. Se on drpT_, joka on vastuussa tulostamalla pudottavat tiedot lausuntoja (eli, jotka alkavat ”d”) jäljitystiedostossa.

tämä tarkoittaa sitä, että jos pudotat paketin eksplisiittisesti (esim.drop(P)) kuljettamatta pakettia drpT_: n kautta, trace-tiedostossa ei näy tietoja paketin pudottamisesta.

mitä seuraavaksi?
nyt kun olemme luoneet jäljitystiedoston. Mutta NS2-jäljitystiedosto näyttää pelottavalta. Seuraavassa viestissä näytän, miten tulkita tätä jäljitystiedostoa.

======================================================

T. Issaraiyakul ja E. Hossain,” Introduction to Network Simulator NS2″, Springer 2009. Osta se nyt Amazonista:

Vastaa

Sähköpostiosoitettasi ei julkaista.