január 20, 2022

NS2 végső – utófeldolgozás NS2 eredmény NS2 nyomkövetés használatával –…

Megjegyzés: A tartalom ebben a sorozatban kivont a könyv, Bevezetés A Network Simulator NS2. Lehet, hogy a jobb megértés érdekében el kell olvasnod a könyv 2.és 13. fejezetét.

mi van ebben a bejegyzésben?

ebben a bejegyzésben egy egyszerű (és talán a leggyakoribb) módszert mutatok be az NS2 nyomkövetési fájl létrehozásához. Ez a nyomkövetési fájl sok információt tartalmaz. Valójában túl sok információt tartalmaz, ami megfélemlíti az NS2 felhasználókat. Ne aggódj emiatt. Megpróbáljuk később értelmezni az NS2 nyomkövetési fájlokat. Most összpontosítsunk arra, hogyan lehet létrehozni egy NS2 nyomkövetési fájlt.

kétlépcsős folyamat

nyomkövetési fájl létrehozásához a következő két lépést kell tennie:

  1. hozzon létre egy fájlt a nyomkövetési információk rögzítéséhez.
  2. jegyezze fel a nyomkövetési információkat a létrehozott fájlba.

1.lépés: fájl létrehozása íráshoz

a Tcl az “open” parancsot használja a fájl megnyitásához. Az “open” parancs szintaxisa a következő:

megnyitás < fájlnév> < cél >

ahol a < fájlnév> a megnyitandó fájl neve, a <cél > pedig

  • “w” íráshoz,
  • “r” olvasáshoz, vagy
  • “a” A

hozzáfűzéséhez ez az utasítás egy fájlkezelőt ad vissza, amely a megnyitott fájlra hivatkozhat.

példa egy Tcl utasításra, amely megnyit egy fájlt, amelynek neve “tracefile.tr” a $var változó fájlkezelőjének írásához és tárolásához az alábbiakban látható:

set var

2. lépés: Jegyezze fel a nyomkövetési információkat a megnyitott nyomkövetési fájlban.

a következő lépés a nyomkövetési információk rögzítése a megnyitott fájlban. Ez a következő TCL utasítás segítségével érhető el:

$ns trace-all $var
ahol $ns a szimulátor példány, $var pedig a fájlkezelő. Ez az utasítás megmondja az összes nyomkövetési objektumnak (pl. enqT_, deqt_, rcvt_és drpT_ az alábbi SimpleLink objektumban), hogy rögzítsék az áthaladó csomagok adatait a nyomkövetési fájlban, amelynek változója $var.

a nyomon követésnek csak egy követelménye van: A fenti utasításnak a “$ns run”előtt kell lennie.

a szimuláció befejezése után nyomkövetési fájl jön létre. Íme egy példa a nyomkövetési fájlokra.

Mit Csináltunk?

a “$ns trace-all” utasítás a nyomkövetési objektumot a hálózati topológia különböző helyeire illeszti be. A leggyakoribb hely egy egyszerűa kapcsolat általában két csomópont csatlakoztatására szolgál. A “$ns trace-all” utasítás néhány nyomkövetési objektumot szúr be a SimpleLink objektumba a fentiek szerint.

mit csinálnak a nyomkövetési objektumok
a nyomkövetési objektum két NsObject elfogó objektum között helyezkedik el. Miután megkapta a csomagot, a kapcsolódó nyomkövetési információkat vonalként nyomtatja ki a nyomkövetési fájlba. A fenti ábrán négy nyomkövetési objektum van:

  • enqT_: nyomtasson egy ” + “betűvel kezdődő sort, amely egy enqueuing eseményt jelez
  • deqT_: nyomtasson egy” – ” betűvel kezdődő sort, jelezve a dequeuing eseményt
  • rcvT_: nyomtasson egy “r” betűvel kezdődő sort, jelezve a csomagfogadási eseményt
  • drpT_: Nyomtasson egy “d” betűvel kezdődő sort, jelezve a csomagleadási eseményt

nyomkövetési utasítások a nyomkövetési fájlban:
ezek a nyomkövetési objektumok az összes áthaladó csomag adatait nyomtatják. Azon csomagok információi, amelyek nem haladnak át ezen objektumok egyikén sem, nem jelennek meg a nyomkövetési fájlban.

az egyetlen objektum, amely a fenti ábrán a csomagok eldobásáért felelős, a queue_. Ezt a drop(p) függvény meghívásával teszi. A drop(p) függvény viszont elküldi a P csomagot a továbbító NsObject-nek, amely ebben az esetben drpT_. A drpt_ az, aki a nyomkövetési fájlban a csepegtető információs nyilatkozatok (azaz a ‘d’ betűvel kezdődő) nyomtatásáért felelős.

ez azt jelenti, hogy ha kifejezetten eldobja a csomagot (például a drop(p) használatával) anélkül, hogy a csomagot drpT_-en keresztül továbbítaná, akkor a nyomkövetési fájlban nem jelenik meg információ a csomag eldobásáról.

mi a következő lépés?
most, hogy létrehoztunk egy nyomkövetési fájlt. De egy NS2 nyomkövetési fájl kedvesnek tűnikfélelmetes. A következő bejegyzésben megmutatom, hogyan kell értelmezni ezt a nyomkövetési fájlt.

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

T. Issaraiyakul és E. Hossain, “Bevezetés Az NS2 hálózati szimulátorba”, Springer 2009. Vásárolja meg most az Amazon-tól:

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.