You are on page 1of 50

Mc lc

MC LC
MC LC ...................................................................................................................1 MC LC HNH ........................................................................................................3 CHNG 1 TNG QUAN V NS-2........................................................................5
1.1 Gii thiu..............................................................................................................................5 1.2 Download v install NS-2 v NAM......................................................................................5 1.2.1 Cch 1: Ci t bng duy nht mt gi phn mm........................................................5 1.2.1.a Download ...............................................................................................................5 1.2.1.b Install......................................................................................................................6 1.2.2 Cch 2: Ci t bng cch ci tng gi phn mm ring l...........................................7 1.2.2.a Download................................................................................................................7 1.2.2.b Install......................................................................................................................7 1.3 Chy chng trnh NS-2 v NAM........................................................................................9

CHNG 2 KIN TRC CA NS-2.....................................................................10


2.1 Gii thiu............................................................................................................................10 2.2 C++ v OTcl........................................................................................................................11 2.3 Cc c tnh ca NS-2.........................................................................................................14

CHNG 3 GII THIU CC PHN MM DNG KT HP VI NS-2......16


3.1 NAM...................................................................................................................................16 3.1.1 Chy NAM .................................................................................................................16 3.1.2 Cc chc nng ca NAM trong giao din ha ngi dng....................................17 3.1.2.a Ca s NAM Console...........................................................................................17 3.1.2.b Ca s minh ho NAM.........................................................................................17 3.2 NSCRIPT............................................................................................................................19 3.2.1 Download v Install.....................................................................................................19 3.2.1.a Download .............................................................................................................19 3.2.1.b Install....................................................................................................................19 3.2.2 Chy NSCRIPT...........................................................................................................20 3.2.3 Cc chc nng ca NSCRIPT trong giao din ho ngi dng.............................20 3.3 Topology Generator............................................................................................................22 3.3.1 GT-ITMS.....................................................................................................................22 3.3.2 TIERS .........................................................................................................................22 3.3.3 BRITE .........................................................................................................................22 3.3.4 INET ...........................................................................................................................22 3.4 Trace Data Analyzers..........................................................................................................22 3.4.1 XGRAPH.....................................................................................................................22 3.4.1.a Download v Install..............................................................................................22 3.4.1.b Chy XGRAPH ...................................................................................................23 3.4.1.c Cc chc nng ca XGRAPH trong giao din ha ngi dng .....................24 3.4.2 TRACEGRAPH...........................................................................................................24 3.4.2.a Download v Install .............................................................................................25 3.4.2.b Chy TRACEGRAPH..........................................................................................25 3.4.2.c Chc nng ca TRACEGRAPH trong giao din ha ngi dng..................25

Gio trnh thc hnh Ns2

-1-

Mc lc CHNG 4 OTCL SCRIPT TRONG NS-2...........................................................28


4.1 V d ...................................................................................................................................28 4.2 Khi to node......................................................................................................................33 4.3 Khi to link.......................................................................................................................33 4.3.1 Simplex-link................................................................................................................34 4.3.2 Duplex-link..................................................................................................................34 4.4 Khi to Network Agents...................................................................................................34 4.4.1 UDP ...........................................................................................................................34 4.4.2 TCP..............................................................................................................................35 4.5 Cc loi traffic.....................................................................................................................35 4.5.1 Tc bit c nh CBR...............................................................................................35 4.5.2 Traffic thay i theo phn b m Exponential............................................................36 4.5.3 Traffic thay i theo phn b Pareto...........................................................................36 4.5.4 TrafficTrace.................................................................................................................36 4.6 Cc dch v c bn trong Internet ......................................................................................37 4.6.1 Giao thc truyn tp tin FTP ......................................................................................37 4.6.2 Telnet...........................................................................................................................37 4.6.3 Giao thc truyn siu vn bn HTTP..........................................................................37 4.7 Tracing................................................................................................................................38 4.8 Routing................................................................................................................................39 4.8.1 Unicast.........................................................................................................................40 4.8.2 Multicast .....................................................................................................................40

CHNG 5 CC V D C BN.........................................................................41
5.1 Kch bn OTcl th nht ......................................................................................................41 5.2 Kch bn OTcl th hai.........................................................................................................43 5.3 Kch bn Otcl th ba ..........................................................................................................45

THUT NG VIT TT ........................................................................................49 TI LIU THAM KHO.........................................................................................50

Gio trnh thc hnh Ns2

-2-

Mc lc hnh

MC LC HNH

HNH 1: KIN TRC TH MC CI T CA NS-2 V NAM TRONG MI TRNG LINUX........................................................................................................9 HNH 2: TNG QUAN V NS DI GC NGI DNG.........................10 HNH 3: LUNG CC S KIN CHO FILE TCL CHY TRONG NS ............11 HNH 4: KIN TRC CA NS-2............................................................................12 HNH 5: C++ V OTCL: S I NGU..............................................................12 HNH 6: TCLCL HOT NG NH LIN KT GIA A V B.......................13 HNH 7: M T CC CNG C CA NAM.......................................................17 HNH 8: BN THNH PHN C BN CA NSCRIPT GUI.............................20 HNH 9: TOOLBOX BIU DIN TH VIN MC NH TRONG NSCRIPT 21 HNH 10: GIAO DIN HA NGI DNG CA XGRAPH......................24 HNH 11: GIAO DIN HA NGI DNG TRACEGRAPH.....................26 HNH 12 : TOPOLOGY MNG N GIN V KCH BN M PHNG......28 HNH 13: S LIN KT CC I TNG C BN TRONG NS...................32 HNH 14: NODE UNICAST V NODE MULTICAST.........................................33 HNH 15: LINK.........................................................................................................34 HNH 16: CHN I TNG TRACE.................................................................38 HNH 17: MINH HA NAM CHO KCH BN OTCL TH NHT ..................42 HNH 18: M PHNG NAM CA KCH BN OTCL TH HAI......................45 HNH 19: M PHNG NAM CA KCH BN OTCL TH BA........................48

Gio trnh thc hnh Ns2

-3-

Mc lc hnh

Gio trnh thc hnh Ns2

-4-

Chng 1: Tng quan v NS-2

CHNG 1
1.1 Gii thiu

TNG QUAN V NS-2

NS (phin bn) l phn mm m phng mng iu khin s kin ring r hng i tng, c pht trin ti UC Berkely, vit bng ngn ng C++ v OTcl. NS rt hu ch cho vic m phng mng din rng (WAN) v mng local (LAN). Bn li ch ln nht ca NS-2 phi k n u tin l: Kh nng kim tra tnh n nh ca cc giao thc mng ang tn ti Kh nng nh gi cc giao thc mng mi trc khi a vo s dng Kh nng thc thi nhng m hnh mng ln m gn nh ta khng th thc thi c trong thc t Kh nng m phng nhiu loi mng khc nhau Mc d NS-2 l phn mm m ngun m c sn cho c nn Windows 32 v Linux, nhng gio trnh ny ch cp n vic ci t cng nh thc thi NS-2 trong mi trng Linux. 1.2 Download v install NS-2 v NAM NS-2 v NAM c th c ci t bng duy nht mt gi phn mm (cch 1) hay bng cch ci tng gi phn mm ring l (cch 2). Cch 1 dnh cho nhng ngi va mi lm quen vi m phng. Nhng ngi c kinh nghim th c khuyn khch ci theo cch 2. 1.2.1 Cch 1: Ci t bng duy nht mt gi phn mm 1.2.1.a Download Download gi phn mm ns-allinone-2.28.tar v t http://www.isi.edu/nsnam/ns/. Ns-allinone-2.28 bao gm cc gi sau: cweb gt-itm nam-1.11 ns-2.28 otcl-1.9 sgb tcl8.4 tclcl-1.16 tk8.4 xgraph-1.1 zlib-1.1 install install.win readme install -5a ch

Gio trnh thc hnh Ns2

Chng 1: Tng quan v NS-2 1.2.1.b Install Chuyn n th mc ta mun ci t NS (chng hn nh /usr/local/src/), gii nn gi ns-allinone-2.28.tar bng lnh: tar xvf ns-allinone-2.28.tar v chy script: ./install Nu ci t thnh cng th s c nhng v tr c ci t nh sau: tcl8.4.5 {ng dn n th mc ns-allinone-2.28}/{bin,include,lib} tk8.4.5 {ng dn n th mc ns-allinone-2.28}/{bin,include,lib} otcl {ng dn n th mc ns-allinone-2.28}/otcl-1.9 tclcl {ng dn n th mc ns-allinone-2.28}/tclcl-1.16 ns {ng dn n th mc ns-allinone-2.28}/ns-2.28/ns nam {ng dn n th mc ns-allinone-2.28}/nam-1.11/nam xgraph {ng dn n th mc ns-allinone-2.28}/xgraph-12.1 t

{ng dn n th mc ns-allinone-2.28}/bin {ng dn n th mc ns-allinone-2.28}/tcl8.4.5/unix {ng dn n th mc ns-allinone-2.28}/tk8.4.5/unix

vo bin mi trng PATH; c th chy itm/tclsh/wish/xgraph, bng lnh: export PATH=$PATH:{ng dn n th mc ns-allinone-2.28}/bin:{ng dn n th mc ns-allinone-2.28}/tcl8.4.5/unix:{ng dn n th mc ns-allinone2.28}/tk8.4.5/unix CH (1) Phi t {ng dn n th mc ns-allinone-2.28}/otcl-1.9, {ng dn n th mc ns-allinone-2.28}/lib, vo trong bin mi trng LD_LIBRARY_PATH. Nu dng csh, g lnh: setenv LD_LIBRARY_PATH <ng dn> v nu dng sh th g lnh: export LD_LIBRARY_PATH <ng dn> (2) Phi thm {ng dn n th mc ns-allinone-2.28}/tcl8.4.5/library vo trong bin mi trng TCL_LIBRARY trnh vic ns v nam bo li khi khi ng. (3) [Tu chn] tit kim a th c th xo hai th mc tcl8.4.5 v tk8.4.5 i v chng c ci t vo trong {ng dn n th mc ns-allinone-2.28}/ {bin,include,lib}. Sau nhng bc ny, c th kim tra li NS-2 bng lnh: cd {ng dn n th mc ns-allinone-2.28}/ns-2.28 ./validate

Gio trnh thc hnh Ns2

-6-

Chng 1: Tng quan v NS-2 1.2.2 Cch 2: Ci t bng cch ci tng gi phn mm ring l 1.2.2.a Download chy c chng trnh NS-2 th cn phi c ti thiu 3 gi sau: otcl tclcl ns-2 biu din m phng th cn gi: nam-1 n bc 1.1 ca phn 1.2.2.b kim tra xem tp tin h thng mng NFS c h tr tcl/tk8.4.5 khng. Nu khng th cn download thm hai gi: tcl8.4.5 tk8.4.5 Download cc gi phn mm trn v t a ch http://www.isi.edu/nsnam/ns/. 1.2.2.b Install Bc 1: Install tcl/tk Bc 1.1: Nu tcl/tk8.4.5 c install vo trong h thng th chng ta c th dng ci otcl, tclcl, ns-2 v nam bng cch: 1. Kim tra v tr chnh xc ca tiu v cc tp tin th vin ca tcl/tk. Thng thng l: tclsh8.4 trong /usr/local/bin (hay /usr/bin) libtcl8.4.a trong /usr/local/lib (hay /usr/lib) init.tcl in /usr/local/lib/tcl8.4 (hay /usr/lib/tcl8.4) tcl*.h in /usr/local/include (hay /usr/include) Kim tra tng t vi tk nh sau: tksh8.4 trong /usr/local/bin (hay /usr/bin) libtk8.4.a trong /usr/local/lib (hay /usr/lib) init.tcl in /usr/local/lib/tk8.4 (hay /usr/lib/tk8.4) tk*.h in /usr/local/include (hay /usr/include) Nu khng nh v c nhng file trn ca tcl/tk8.4.5 th b mc 2,3 sau v chuyn ngay sang bc 1.2 tin hnh install tcl/tk8.4.5. 2. Thit lp cc bin mi trng setenv TCL_LIBRARY /usr/local/lib/tcl8.4 (hay /usr/lib/tcl8.4) setenv TK_LIBRARY /usr/local/lib/tk8.4 (hay /usr/lib/tk8.4) 3. Thit lp cc tu chn khi cu hnh otcl, tclcl, ns-2 trong bc 3 bn di. --with-tcl=/usr/local --with-tcl-ver=8.4 --with-tk=/usr/local --with-tk-ver=8.4 (hay --with-tcl=/usr --with-tcl-ver=8.4 --with-tk=/usr --with-tk-ver=8.4) Bc 1.2: Install tcl v tk 1. Configure v install tcl/tk tcl8.4.5 cd tcl8.4.5/unix ./configure disable-load Gio trnh thc hnh Ns2 -7-

Chng 1: Tng quan v NS-2 make tk8.4.5 cd tk8.4.5/unix ./configure disable-load make 2. Nhng file quan trng tclsh trong {ng dn n th mc tcl8.4.5}/unix libtcl8.4.a trong {ng dn n th mc tcl8.4.5}/unix init.tcl trong {ng dn n th mc tcl8.4.5}/library tcl*.h trong {ng dn n th mc tcl8.4.5}/generic Kim tra tng t vi tk. 3. Cc bin mi trng setenv TCL_LIBRARY {ng dn n th mc tcl8.4.5} (hay /usr/lib/tcl8.4) setenv TK_LIBRARY {ng dn n th mc tk8.4.5} (hay /usr/lib/tk8.4) 4. Thit lp cc tu chn khi cu hnh otcl, tclcl, ns-2 trong bc 2 bn di. --with-tcl={ng dn n th mc tcl8.4.5} --with-tcl-ver=8.4.5 --with-tk= {ng dn n th mc tk8.4.5} --with-tk-ver=8.4.5 Bc 2: Install/ re-install otcl, tclcl, ns-2 v nam Vi tng gi ny ta cn chy script configure to ra Makefile vi cc ng dn v tn file BIN, INCLUDE, LIB ng. i khi script configure to c Makefile nhng li khng nh v chnh xc tn ng dn v tn file. V th, make s khng thnh cng. Nn chng ta cn chnh sa li Makefile c th compiler c th tm c ng dn v tn file ng m bin dch. otcl ./configure --with-tcl={ng dn n th mc tcl8.4.5} --with-tcl-ver=8.4.5 --with-tk={ng dn n th mc tk8.4.5} --with-tk-ver=8.4.5 make tclcl ./configure make ns-2 ./configure --with-tcl={ng dn n th mc tcl8.4.5} --with-tcl-ver=8.4.5 --with-tk={ng dn n th mc tk8.4.5} --with-tk-ver=8.4 --with-otcl={ng dn n th mc otcl} --with-tclcl={ng dn n file tclcl hay Tcl} --with-tcl={ng dn n th mc tcl8.4.5} --with-tcl-ver=8.4.5 --with-tk={ng dn n th mc tk8.4.5} --with-tk-ver=8.4.5 --with-otcl={ng dn n th mc otcl}

make nam ./configure --with-tcl={ng dn n th mc tcl8.4.5} --with-tcl-ver=8.4.5 --with-tk={ng dn n th mc tk8.4.5} --with-tk-ver=8.4.5 --with-otcl={ng dn n th mc otcl} --with-tclcl={ng dn n file tclcl hay Tcl} -8-

make Gio trnh thc hnh Ns2

Chng 1: Tng quan v NS-2 CH Xem li cc ch trnh by trong phn 1.2.1 1.3 Chy chng trnh NS-2 v NAM Hnh sau biu din kin trc th mc NS-2 v NAM trong mi trng Linux. NS-2 v NAM u l cc th mc con ca ns-allinone-2.28. NS-2 bao gm cc thc thi m phng (bng m C++ v m OTcl), cc kch bn Otcl kim tra tnh hiu lc v cc kch bn OTcl minh ha.

ns-allinone-2.28 Tcl8.4.5 TK8.4.5 OTcl tcl ex


Cc v d

tclcl

ns-2.28 ...
M C++

nam1.19

test
Cc kim tra

lib

mcast
M OTcl

...

Hnh 1: Kin trc th mc ci t ca NS-2 v NAM trong mi trng Linux Trc tin, chng ta cn xem li cc ch trong phn 1.2.1 kim tra vic thit lp gi tr bin PATH. Tip theo, chy NS-2, chuyn vo th mc ns-2.28, gi chng trnh ns bng lnh ns file.tcl. Cch chy kch bn v d simple.tcl t trong th mc ../ns-2.28/tcl/ex nh sau: ns-2 cd{ng dn n th mc ns-2.28}/tcl/ex/ ../../ns simple.tcl Tng t, chy NAM, chuyn vo th mc nam-1.19, gi chng trnh nam bng lnh nam file.nam. Chy kch bn v d lan.nam trong th mc ../nam-1.19/ex nh sau: nam cd {ng dn n th mc nam-1.11}/ex gunzip lan.nam.gz ../nam lan.nam Lnh gunzip dng gii nn tp tin lan.nam.gz thnh lan.nam.

Gio trnh thc hnh Ns2

-9-

Chng 2: Kin trc ca NS-2

CHNG 2
2.1 Gii thiu

KIN TRC CA NS-2

NS thc thi cc giao thc mng nh Giao thc iu khin truyn ti (TCP) v Giao thc gi ngi dng (UDP); cc dch v ngun lu lng nh Giao thc truyn tp tin (FTP), Telnet, Web, Tc bit c nh (CBR) v Tc bit thay i (VBR) ; cc k thut qun l hng i nh Vo trc Ra trc (Drop Tail), D sm ngu nhin (RED) v CBQ; cc thut ton nh tuyn nh Dijkstra NS cng thc thi multicasting v vi giao thc lp iu khin truy cp ng truyn (MAC) i vi m phng LAN.

Hnh 2: Tng quan v NS di gc ngi dng OTcl Script Simulation Program OTcl NS Simulation Library Event Scheduler Objects Network Component Objects Network Setup Helping Modules Plumbling Modules Simulation Results Analysis NAM Network Animator Kch bn OTcl Chng trnh M phng B bin dch Tcl m rng hng i tng Th vin M phng NS Cc i tng B lp lch S kin Cc i tng Thnh phn Mng Cc m un Tr gip Thit lp Mng Cc m un Plumbling Cc kt qu M phng Phn tch Minh ha Mng NAM

Trong hnh trn, NS l B bin dch Tcl m rng hng i tng; bao gm cc i tng B lp lch S kin, cc i tng Thnh phn Mng v cc m un Tr gip Thit lp Mng (hay cc m un Plumbing). s dng NS-2, user lp trnh bng ngn ng kch bn OTcl. User c th thm cc m ngun Otcl vo NS-2 bng cch vit cc lp i tng mi trong OTcl. Nhng lp ny khi s c bin dch cng vi m ngun gc. Kch bn OTcl c th thc hin nhng vic sau: Khi to B lp lch S kin

Chng 2: Kin trc ca NS-2 Thit lp M hnh mng dng cc i tng Thnh phn Mng Bo cho ngun traffic khi no bt u truyn v ngng truyn packet trong B lp lch S kin Thut ng plumbing c dng ch vic thit lp mng, v thit lp mt mng ngha l xy dng cc ng d liu gia cc i tng mng bng cch thit lp con tr neighbour cho mt i tng ch n a ch ca i tng tng ng. M un plumbing OTcl trong thc t thc hin vic trn rt n gin. Plumbing lm nn sc mnh ca NS. Thnh phn ln khc ca NS bn cnh cc i tng Thnh phn Mng l B lp lch S kin. B lp lch S kin trong NS-2 thc hin nhng vic sau: T chc B nh thi M phng Hu cc s kin trong hng i s kin Triu gi cc Thnh phn Mng trong m phng Ph thuc vo mc ch ca user i vi kch bn m phng OTcl m kt qu m phng c th c lu tr nh file trace. nh dng file trace s c ti vo trong cc ng dng khc thc hin phn tch: File nam trace (file.nam) c dng cho cng c Minh ha mng NAM File Trace (file.tr) c dng cho cng c Ln vt v Gim st M phng XGRAPH hay TRACEGRAPH

Hnh 3: Lung cc s kin cho file Tcl chy trong NS NAM Visual Simulation Tracing and Monitoring Simulation 2.2 C++ v OTcl Hnh sau biu din kin trc chung ca NS. User c th tng tng mnh ang ng gc tri di, thit k v chy cc m phng trong Tcl. Tcl dng cc i tng m phng trong OTcl. Cc i tng B lp lch S kin v hu ht cc i tng Thnh phn Mng thc thi bng C++ v sn c cho OTcl qua mt lin kt OTcl. Lin kt M phng o NAM M phng Ln vt v Gim st

Chng 2: Kin trc ca NS-2 OTcl ny c thc thi dng TclCL. Tt c lm nn NS, b bin dch Tcl m rng hng i tng v cc th vin m phng mng.
Network Components TclCL OTcl Tcl C/C++ ns-2 Event Scheduler

Hnh 4: Kin trc ca NS-2 NS s dng hai ngn ng lp trnh: Ngn ng kch bn (Tcl Tool Command Language, c l tickle) v Ngn ng lp trnh h thng (C/C++) NS l tng bin dch Tcl chy cc kch bn Tcl Bng cch s dng C++/OTcl, b m phng mng phi hon ton l hng i tng Hnh sau ch ra cc i tng C++ c lin kt OTcl. Khi , nu chng to nn mt phn cp th cc i tng OTcl cng c mt phn cp tng ng nh vy.

Hnh 5: C++ v OTcl: S i ngu TclCL l ngn ng c s dng cung cp lin kt gia C++ v OTcl. Cc kch bn Tcl/OTcl c vit thit lp v cu hnh topology ca mng. TclCL cung cp lin kt gia phn cp lp, khi to i tng, ni kt bin v gi lnh.

Chng 2: Kin trc ca NS-2

Hnh 6: TclCL hot ng nh lin kt gia A v B Vy, ti sao NS li cn s dng n hai ngn ng? L do l v B m phng cn thc hin hai vic khc nhau. Mt mt l v cc m phng cho cc giao thc yu cu mt ngn ng lp trnh h thng c th tnh ton mt cch hiu qu cc byte, cc tiu packet v cc thut ton thc thi ang chy trn mt tp d liu ln. Vi tc v ny, run-time speed (tc thi gian chy thc) l quan trng trong khi turn-around time (thi gian thay i) th t quan trng hn. Turn-around time bao gm thi gian chy m phng, thi gian tm li, thi gian sa li, thi gian bin dch li v thi gian chy li. Mt khc, khi nghin cu mng th rt cn quan tm n cc tham s v cc cu hnh c thay i nhng khng ng k, hay quan tm n cc scenario (tnh hung) cn khm ph tht nhanh chng. Trong tc v ny th iteration time (thi gian lp li, tc l thi gian hay i m hnh v chy li) l quan trng hn. V cu hnh ch chy mt ln lc bt u m phng nn run-time trong tc v ny r rng km quan trng hn. Theo gii thch trn, tng ngn ng s c dng cho nhng vic g? Dng C++ : M phng giao thc chi tit yu cu ngn ng lp trnh h thng o Thao tc trn byte, x l gi, thc thi thut ton o Tc thi gian thc l quan trng nht Thc hin bt k vic g m cn phi x l tng packet ca mt lung. Thay i hnh vi ca lp C++ ang tn ti theo nhng hng khng c lng trc. V dng OTcl : M phng nhng thng s hay cu hnh thay i o Tham d nhanh mt s tnh hung o Thi gian tng tc (thay i m hnh hay chy li) l quan trng Cu hnh, thit lp hay nhng g ch lm mt ln. Thc hin nhng ci ta mun bng cch thao tc trn cc i tng C++ ang tn ti.

Chng 2: Kin trc ca NS-2 V d nh cc link l nhng i tng OTcl lin kt cc m un delay (tr hon), queueing (hng i) v possibly loss (kh nng mt mt). Cn nu mun thc hin nhng vic chuyn nghip hn th cn phi to ra i tng C++ mi. Hu ht nh tuyn c vit bng OTcl (d thut ton Dijkstra li vit bng C++). M phng HTTP c tng lung bt u ti OTcl nhng vic x l tng gi li c vit bng C++. Phng php ny chy tt cho n khi c n 100 lung bt u thi gian m phng mi giy. Ni chung, nu phi triu gi Tcl nhiu ln mi giy th c l nn chuyn sang C++. V phng din m ngun, NS-2 c vit vi 100k dng m lnh C++, 70k dng m Tcl v 20k dng ti liu. 2.3 Cc c tnh ca NS-2 NS-2 thc thi nhng tnh nng sau: Cc k thut qun l hng i Router nh DropTail, RED, CBQ, Multicasting M phng mng khng dy o c pht trin bi Sun Microsystems + UC Berkeley (D n Daedalus) o Thuc mt t (di ng, adhoc, GPRS, WLAN, BLUETOOTH), v tinh o Chun IEEE 802.11 c th c m phng, cc giao thc Mobile-IP v adhoc nh DSR, TORA, DSDV v AODV Hnh vi ngun traffic www, CBR, VBR Cc agent truyn ti UDP, TCP nh tuyn Lung packet M hnh mng Cc ng dng Telnet, FTP, Ping Cc packet tracing trn tt c cc link v trn cc link xc nh

Chng 2: Kin trc ca NS-2

Chng 3: Gii thiu cc phn mm dng kt hp vi NS-2

CHNG 3
3.1 NAM

GII THIU CC PHN MM DNG KT HP VI NS-2

Khi m phng kt thc, nu cc script Tcl (OTcl) u vo yu cu th NS s to ra cc file text lu chi tit d liu m phng. D liu c th c dng cho vic phn tch hay c dng nh u vo cho cc cng c trnh din m phng ha NAM. NAM thc hin li nhng s kin t file ln vt nam (nam tracefile). File ny c th l khng l khi thi gian m phng ln v s kin xy ra nhiu. V th, phi ht sc cn thn. Ngoi ra, cn ch rng cc thng tin ha li khng c dng phn tch m phng mt cch chnh xc. C th tm tt cc tnh nng ca NAM nh sau: Cung cp trnh din o cho mng c to C th thi hnh trc tip t kch bn Tcl NAM c giao din ho bt mt ca CD player vi cc iu khin bao gm play (chy), stop (ngng), fast forward (chy tip nhanh), rw (li li), pause (tm ngng), iu khin tc trnh din v tnh nng gim st packet Biu din thng tin nh throughput (thng lng), s packet trn tng link Cung cp giao din r v th cho vic to ra cc topology (m hnh). 3.1.1 Chy NAM Chy NAM trong Command Line: $nam a nam_trace_file.nam Chy nam trong kch bn ns-2: Proc finish{} { exec nam a nam_trace_file.nam & exit } Cc tu chn khi chy NAM: nam [-a -S -s -f init_script -d display -j jump -r rate -k initPort] tracefiles -a -S -s -j to mi mt instance ca nam ng b ha X ng b ho nhiu trace (nhiu ln vt) thi gian khi ng

Chng 3: Gii thiu cc phn mm dng kt hp vi NS-2 -r -f -k tc minh ha khi to kch bn OTcl khi to s socket port khi to

3.1.2 Cc chc nng ca NAM trong giao din ha ngi dng 3.1.2.a Ca s NAM Console Sau khi khi ng NAM, ca s NAM console xut hin. y chnh l mt instance ca NAM. Mt ca s NAM console (hay mt instance ca NAM) c th c nhiu ca s minh ho NAM. Trong ca s NAM console c hai menu chnh File v Help. File: di File c lnh New, Open, WinList v Quit o o o o New to mi mt topology ns dng chng trnh son tho NAM Open m cc file trace tn ti (m ca s minh ha nam) WinList m ra ca s lit k tn ca tt c cc file trace ang m Quit thot nam

Help: ch l cc tr gip n gin v lnh xem phin bn, thng tin v bn quyn 3.1.2.b Ca s minh ho NAM Khi mt file trace c ti vo nam (bng lnh Open hay t command line) th mt ca s minh ho NAM s xut hin. Giao din chnh c menu bar (thanh lnh chnh), control bar (thanh in khin), main display (mn hnh minh ha chnh). Ngoi ra, khi la chn mt s chc nng t menu hay bng cch click chut th cn c thm cc ca s con xut hin.

Hnh 7: M t cc cng c ca NAM Menu bar: di menu bar c 3 lnh con File, Views, Analysis

Chng 3: Gii thiu cc phn mm dng kt hp vi NS-2 o File Save layout Print o Views New view lu tt c cc s mng hin ti vo file in tt c cc s mng hin ti

button to ra khung nhn mi cho cng mt minh ha. Tt c cc minh ho s chy ng b. Show monitor dng checkbox (dng kim tra). Nu c check (usr click chn) th mt ca s con Monitors (Gim st) xut hin. Cc monitors s c th hin. Show autolayout dng checkbox. Nu c check th mt ca con Auto layout (s ) xut hin. C cc box nhp liu v button iu chnh s t ng. Checkbox ny khng th m nu ta dng cc s lin kt c hng. Show annotation dng checkbox. Nu c check th mt ca s con Annotation (Ch thch) xut hin ch thch cc s kin ang din ra theo th t thi gian tng dn. Active Sessions Legend

o Analysis

Control bar: di control bar c 5 button, 1 nhn v 1 thanh trt Rate o 5 button << - Rewind tr li minh ha mt khong 25*steps giy (steps: bc nhy, thng l 2.0 mili giy) < - Backward play tr li minh ha mt bc nhy - Stop ngng minh ha > - Forward play tr ti minh ha mt bc nhy >> - Fast Forward tr ti minh ha mt khong 25*steps giy o Nhn TIME (thi gian) ch ra thi gian minh ha hin ti o Thanh trt Rate (tc ) iu khin tc update mn hnh Main display: bao gm tool bar (thanh cng c iu khin) v khung minh ha vi hai thanh cun ngang v dc. o Tool bar c hai button phng to v thu nh, mt button Edit chnh sa topology ca mng o Khung minh ha th hin topology ca mng v hot hnh ho hot ng ca mng Click tri chut vo bt k i tng no trong khung minh ha s c ca s thng tin xut hin. Vi cc i tng packet v agent, s c button Monitor xut hin. Click vo button s m ra ca s con Monitors. Vi cc i tng link, s c button Graph xut hin. Click vo button s cho la chn xem biu bandwidth (bng thng) hay link loss (mt mt gi trn lin kt) ca mt simplex link trong mt duplex link.

Chng 3: Gii thiu cc phn mm dng kt hp vi NS-2 Trong ca s con Monitor, packet c monitor s c ba thng s hin th l size (kch c), id (m) v thi gian gi . Khi packet n ch th s trng thi visible (khng thy c). Agent c monitor s c tn agent v bt k bin trace no lin quan n agent ny c hin th. Hin ti ch c th monitor packet v agent. Ca s con Automatic Layout c ba box nhp liu v mt button relayout (xut li s ). Sau khi thay i thng s v click vo button relayout th s lng cc tng tc s c thc hin. Ca s con Annotation s lit k cc ch thch cho minh ho t u cho n thi im minh ha hin ti. Ch thch l mt cp (thi gian, chui m t s kin) cho s kin ti thi gian xc nh. Click i ln ch thch s gip ta xem li minh ha ti thi im s kin din ra. Click phi trong ca s con Annatation s c menu s vi ba tu chn Add (Thm), Delete (Xa), Info (Thng tin) c th thm ch thch mi, xa ch thch ang tn ti hay chnh sa thng tin cho mc ch thch ti thi im minh ha xc nh. 3.2 NSCRIPT Nscript l giao din ho ngi dng to kch bn m phng, c pht trin bng ngn ng Java 2. Vi Nscript ta c th: To cc topology v cu hnh cc node, cc link Thm v cu hnh cc transport agent (agent truyn ti), UDP, TCP Lp lch cc s kin m phng Cc bin ln vt Nscript c th m rng c, cho php to ra cc th vin ring (th vin cc i tng) c th dng thm i tng vo mi trng ho. 3.2.1 Download v Install ng dng Nscript c pht trin trn mi trng Java 2, dng th vin JFC (Swing) thc thi giao din ngi dng. s dng NScript th cn phi ci t JDK (phin bn 1.3 hay 1.4). Sau l ci t Nscript (phin bn 1.0.4) 3.2.1.a Download Hai gi cn download j2sdk-1_4_2_03-linux-i586.bin nscript-1.0.4 a ch download Packet JDK ti a ch http://java.sun.com/j2se/downloads.html Packet NScript ti a ch http://home.gwu.edu/~ecamposn/software.html 3.2.1.b Install Bc 1: Ci t mi trng Java 2

Chng 3: Gii thiu cc phn mm dng kt hp vi NS-2 To th mc mi /usr/java, chuyn j2sdk-1_4_2_03-linux-i586.bin vo th mc ny v thc hin cc lnh sau: usr/java chmod +x j2sdk-1_4_2_03-linux-i586-rpm.bin ./j2sdk-1_4_2_03-linux-i586-rpm.bin rpm -Uv j2sdk-1_4_2_03-linux-i586.rpm Kim tra li: /usr/java/j2sdk1.4.2_03/bin/java -version Bc 2: Ci t NScript Chuyn vo th mc mun ci t Nscript, v chy lnh: tar xvf nscript1.0.4 3.2.2 Chy NSCRIPT Chuyn vo th mc ci t NScript, chy lnh: nscript-1.0.4 cd bin java -jar nscript.jar 3.2.3 Cc chc nng ca NSCRIPT trong giao din ho ngi dng

Hnh 8: Bn thnh phn c bn ca Nscript GUI

Chng 3: Gii thiu cc phn mm dng kt hp vi NS-2

Hnh 9: ToolBox biu din th vin mc nh trong NSCRIPT ng dng NSCRIPT bao gm bn thnh phn chnh v cc iu khin ph. Bn thnh phn chnh bao gm : Graphical Editor: Phn ny biu din m hnh kch bn m phng. Khi c phin lm vic mi, Graphical Editor s c sn mt i tng ns. ns ny th hin mi trng m phng v cung cp iu khin cc thit lp mi trng, nh network dynamics, tracing, nam-tracing v thi gian m phng. Object Browser: l thanh iu khin cu hnh cho bt k i tng no trong m phng, bng cch ch ra tn, lp, thuc tnh ca i tng. ng thi c c button UseDefault khi phc gi tr mc nh cho cc tham s ca bt k i tng no, button Apply p gi tr hin ti cho i tng c sa i. Toolbox: l thanh cng c to m phng. Tng thanh con s ch ra cc i tng templates (i tng mu) sn c, hay cc lp c dng to m phng. Cc i tng ny c phn loi vo trong cc th vin. Cc th vin mc nh l Topology, Transport, Application v Ultilities. C th thm cc i tng t to vo mi trung bng cch dng tu chn Open Library trong menu File. Toolbar: l thanh cha cc lnh, nh m v lu script, xut script dng tcl, m th vin cc i tng m phng. CH

Chng 3: Gii thiu cc phn mm dng kt hp vi NS-2 C th export (xut) script *.nss (file nscript) sang dng script *.tcl chy trong ns trc tip. Khng th c file *.tcl ngc li sang dng file *.nss chy trong mi trng nscript. 3.3 Topology Generator Topology Generator (B to m hnh mng) c s dng kt hp vi NS-2 to ra cc topology mng nhm m phng mt m hnh mng nht nh. Mi mt b to topology cung cp mt giao din ha ngi dng. K n, user chn cu trc ca topology nh s node. Khi hon tt thao tc trn, b to m hnh mng s chy sinh ra m Tcl m t topology s c dng trong NS-2. C bn b to m hnh mng hay c dng l: GT-ITMS, TIERS, BRITE, INET. 3.3.1 GT-ITMS B to m hnh mng ny tp trung vo vic ti to li cu hnh trc phn lp ca topology Internet da trn Transit Stub. Tin hnh theo cc bc sau u tin, mt th c kt ni ngu nhin c to ra (dng m hnh Waxman) Tng node trong th biu din mt Entire Transit Domain (min truyn ti tng th) Vi tng node trong min Transit mt s th ngu nhin c to biu din mt Stub Domain, min ny s c gn vo node . 3.3.2 TIERS Tiers da trn phn cp lp ba mc, tp trung vo vic ti to li s phn bit gia mng din rng, mng khu vc th, mng cc b c gin xp trong Internet. 3.3.3 BRITE y l m hnh to mng n cung cp vi ly tha (bc) t do lu n vic cc node c t nh th no trong mt phng. Nhng thuc tnh ca phng thc lin kt ni c s dng. 3.3.4 INET B to mng ny ban u gi s cc mc node theo phn b lut lu tha. Cc bc ca b to m hnh mng ny nh sau Hnh thnh cy bao trm dng cc node c mc ln hn 2 Gn cc node vi mc 1 vo cy bao trm So trng cc mc cha c lm y ca cc node ang tn ti vi nhau 3.4 Trace Data Analyzers 3.4.1 XGRAPH 3.4.1.a Download v Install Download packet:

Chng 3: Gii thiu cc phn mm dng kt hp vi NS-2 xgraph-12.1.tar a ch download http://www.isi.edu/nsnam/xgraph/index.html 3.4.1.b Chy XGRAPH Chy XGRAPH trong Command Line: $xgraph out.tr geometry 800x400 Chy XGRAPH trong kch bn ns-2: Proc finish{} { exec xgraph out.tr geometry 800x400 & exit } Cc tu chn khi chy XGRAPH: xgraph [-device <ps|X|hpgl|idraw|tgif>] [-bd border_color] [-bg background_color] [-fg foreground_color] [-bar][-brb bar_base][-brw bar_width][-bof bar_offset] [-stk] [-bw bdr_width] [-db] [-gw grid_size] [-fitx] [-fity][-gs grid_style] [-lf label_font] [-lnx] [-lny] [-lw line_width] [-lx x1,x2] [-ly y1,y2] [-m] [-M] [-nl] [-ng] [-nb] [-p] [-P] [-rv] [-t title] [-tf title_font] [-tk] [-scale factor] [-x x_unit_name] [-y y_unit_name] [-fmtx format] [-fmty format] [[-geometry |=]W=H+X+Y] [[-display] <host>:<disp>.<screen>] [-Pprinter|-o output_file|-O output_file] [[-<digit> set_name] [-zg zero_color] [-zw zero_size] [-a] [-dl <delay>] input_files... -bar -stk -fitx -fity -fmtx -fmty -scale V th thanh vi c s base brd, chiu rng width brw v offset -bof V th thanh cha ngn xp tp s liu T l cc thit lp kht vi trc X [0,1] T l cc thit lp kht vi trc Y [0,1] In nh dng theo trc X In nh dng theo trc Y Chia t l file u ra theo tha s (Scale the output file with factor)

Chng 3: Gii thiu cc phn mm dng kt hp vi NS-2 -O fn -o fn -bb -db -lnx -lny -m -M -nl -ng -nb -p -P -rv -tk -a -dl In file u ra my in (Printer ready output file) File u ra c m ho (Encapsulated (document) output file) V khung bao quanh d liu Bt ch debug (ch g ri) Trc X tnh theo t l logarit Trc Y tnh theo t l logarit nh du cc im mt cch r rng (M thay i theo mu) Khng v cc dng (v tn x) Khng vit ch thch Khng v cc button nh du im bng du chm. P ngha l chm to. Hin th mu en trng V du phn thi thay v v khung li ton b Khi ng trong ch minh ha Tr hon minh ha. Mc nh l 2

3.4.1.c Cc chc nng ca XGRAPH trong giao din ha ngi dng Trong giao din ha ngi dng, XGRAPH rt d dng. C th r chut chn vng phng to th theo mun.

Hnh 10: Giao din ha ngi dng ca Xgraph 3.4.2 TRACEGRAPH TraceGraph l b phn tch file trace. Tracegraph chy trong h iu hnh Windows, Linux, Unix v yu cu h thng c ci t Matlab 6.0 (hoc cc phin bn cao hn). Tracegraph h tr cc nh dng file trace nh sau: Wired (c dy) Satellite (v tinh) Wireless (khng dy)

Chng 3: Gii thiu cc phn mm dng kt hp vi NS-2 Tracegraph phin bn 2.02 c cc tnh nng sau: 238 th 2D (hai chiu) 12 th 3D (ba chiu) Cc th v cc thng k v Delay (tr hon), jitter ( rung pha), processing times (s ln x l), Round Trip Times (s ln kh hi), intermediate nodes (s node trung gian) v throughput (thng lng) Cc th v cc thng k cho ton network (mng), link (lin kt) v node Tt c cc kt qu c th c lu vo file dng text (dng vn bn), cc th c th lu di dng file jpeg hay tiff. Thng tin ca trc x,y,z: minimum (gi tr nh nht), mean (gi tr trung bnh), maximum (gi tr ln nht), standard deviation ( lch tiu chun) v median (s trung bnh) Nu cc th lu trong file text th trong file ny c th da vo thng tin 2 hay 3 ct v li th. X l cc file kch bn phn tch mt cch t ng 3.4.2.a Download v Install Hai gi cn download Mglinstaller (packet matlab) tracegraph202linux.tar a ch download: http://diament.ists.pwr.wroc.pl/~tracegr/sciagnij.php Bc 1: Ci t MATLAB To th mc mi matlab, chuyn packet mglinstaller vo th mc ny v thc hin gii nn file ny {ng dn n th mc matlab}/matlab unzip mglinstaller Bc 2: Ci t TRACEGRAPH Chuyn vo th mc mun ci t TRACEGRAPH, tracegraph202linux.tar vo th mc ny v chy lnh: tar xvf tracegraph202linux.tar Chuyn vo th mc tracegraph202 va c gii nn ./install 3.4.2.b Chy TRACEGRAPH Chuyn vo th mc ci t TRACEGRAPH, chy lnh: tracegraph202 cd demo # demo l th mc cha file v d ns-simple.tr ../trgraph ns-simple.tr 3.4.2.c Chc nng ca TRACEGRAPH trong giao din ha ngi dng ng dng TRACEGRAPH bao gm 3 thnh phn chnh: ca s Tracegraph 2.02, ca s Network Information (thng tin mng) v ca s Graphs ( th). copy packet

Chng 3: Gii thiu cc phn mm dng kt hp vi NS-2

Hnh 11: Giao din ha ngi dng TRACEGRAPH

Chng 3: Gii thiu cc phn mm dng kt hp vi NS-2

Chng 4: OTcl script trong NS-2

CHNG 4
4.1 V d

OTCL SCRIPT TRONG NS-2

V c bn, NS l trnh bin dch OTcl vi cc th vin i tng m phng mng. Bit lp trnh bng OTcl s gip s dng NS d dng. V d sau s gip chng ta tip cn vi OTcl. Chy v d ny bng cch g lnh ns ns-simple.tcl tai du nhc h thng.

Hnh 12 : Topology mng n gin v kch bn m phng Mng trn bao gm 4 node (n0, n1, n2, n3). Duplex link (lin kt truyn nhn d liu hai chiu din ra ng thi) gia node n0 v n2, n1 v n2 c bandwidth (bng thng) = 2 Mbps, delay (thi gian tr hon) = 10 ms. Duplex link gia n2 v n3 c bandwidth = 1.7 Mbps v delay = 20 ms. Cc node dng hng i DropTail, max size (kch thuc ln nht) = 10. Agent tcp gn vi n0 v agent sink gn vi n3. Agent tcp c th to packet vi max size = 1 KByte. Agent tcp sink to v gi packet dng ACK cho sender (sender l agent gi packet i) v gii phng packet nhn c. Agent udp gn vi n1 s kt ni vi agent null gn vi n3. Agent null ch gii phng packet nhn c. B khi to lu lng ftp v cbr tng ng c gn vo agent tcp v udp. cbr c cu hnh to ra packet 1 KByte ti tc 1 Mbps. cbr c thit lp cho start bt u ti thi im 0.1 giy v kt thc ti thi im 4.5 giy, ftp bt u lc 1.0 giy v kt thc lc 4.0 giy.
#Create a simulator object set ns [new Simulator] #Define different colors for data flows (for NAM)

Chng 4: OTcl script trong NS-2


$ns color 1 Blue $ns color 2 Red #Open the NAM trace file set nf [open out.nam w] $ns namtrace-all $nf #Define a 'finish' procedure proc finish {} { global ns nf $ns flush-trace #Close the NAM trace file close $nf #Execute NAM on the trace file exec nam out.nam & exit 0 } #Create four nodes set n0 [$ns node] set n1 [$ns node] set n2 [$ns node] set n3 [$ns node] #Create links between the nodes $ns duplex-link $n0 $n2 2Mb 10ms DropTail $ns duplex-link $n1 $n2 2Mb 10ms DropTail $ns duplex-link $n2 $n3 1.7Mb 20ms DropTail #Set Queue Size of link (n2-n3) to 10 $ns queue-limit $n2 $n3 10 #Give node position (for NAM) $ns duplex-link-op $n0 $n2 orient right-down $ns duplex-link-op $n1 $n2 orient right-up $ns duplex-link-op $n2 $n3 orient right #Monitor the queue for link (n2-n3). (for NAM) $ns duplex-link-op $n2 $n3 queuePos 0.5 #Setup a TCP connection set tcp [new Agent/TCP] $tcp set class_ 2 $ns attach-agent $n0 $tcp set sink [new Agent/TCPSink] $ns attach-agent $n3 $sink $ns connect $tcp $sink $tcp set fid_ 1 #Setup a FTP over TCP connection set ftp [new Application/FTP] $ftp attach-agent $tcp $ftp set type_ FTP

Chng 4: OTcl script trong NS-2


#Setup a UDP connection set udp [new Agent/UDP] $ns attach-agent $n1 $udp set null [new Agent/Null] $ns attach-agent $n3 $null $ns connect $udp $null $udp set fid_ 2 #Setup a CBR over UDP connection set cbr [new Application/Traffic/CBR] $cbr attach-agent $udp $cbr set type_ CBR $cbr set packet_size_ 1000 $cbr set rate_ 1mb $cbr set random_ false #Schedule events $ns at 0.1 "$cbr $ns at 1.0 "$ftp $ns at 4.0 "$ftp $ns at 4.5 "$cbr for the CBR and FTP agents start" start" stop" stop"

#Detach tcp and sink agents (not really necessary) $ns at 4.5 "$ns detach-agent $n0 $tcp ; $ns detach-agent $n3 $sink" #Call the finish procedure after 5 seconds of simulation time $ns at 5.0 "finish" #Print CBR packet size and interval puts "CBR packet size = [$cbr set packet_size_]" puts "CBR interval = [$cbr set interval_]" #Run the simulation $ns run

u tin l qu trnh thit lp mng c bn. NS script bt u bng vic to ra mt instance cho i tng Simulator (i tng m phng). set ns [new Simulator]: to instance ca Simulator, gn vo bin ns. Dng ny s thc hin: o Khi to nh dng packet. o To B lp lch (mc nh l Calender scheduler - B lp lch Thi gian). i tng Simulator c cc hm thnh vin thc hin nhng vic sau: o To i tng ghp nh cc node v cc link o Connect (ni) cc i tng Thnh phn Mng c to li vi nhau (v d nh hm attach-agent) o Gn gi tr cho cc tham s cho cc i tng Thnh phn Mng (thng l cho cc i tng ghp)

Chng 4: OTcl script trong NS-2 o To cc connection gia cc agent (v d nh to connection gia tcp v sink) o Xc nh tuyn ty chn trnh din NAM. o v.v Hu ht cc hm thnh vin dng cho mc ch thit lp m phng (c cp n nh cc hm plumbing) v cho mc ch lp lch. Tuy nhin cng c nhng hm l cho vic trnh din bng NAM. Cc thc thi cho cc hm thnh vin ca i tng Simulator c nh v trong file ns-2/tcl/lib.ns-lib.tcl. $ns color fid color: gn mu cc packet cho lung c m nhn dng lung fid. Hm thnh vin ny ca i tng Simulator c dng cho vic trnh din NAM, v khng c tc dng g trn m phng thc t. $ns namtrace-all file-descriptor: hm thnh vin ny yu cu m phng lu li cc du vt m phng vo trong nh dng u vo cho NAM. ng thi c th cung cp tn file m trace (du vt) s c ghi vo bng lnh $ns flush-trace. Tng t, hm thnh vin trace-all dng lu trace theo nh tuyn dng chung. proc finish{}: c gi sau khi m phng kt thc. Trong hm ny cc tin trnh post-simulation (m phng thng bo) c xc nh. set n0 [$ns node]: hm thnh vin node khi to mt node. node trong NS l i tng ghp bao gm address (a ch) v port classifiers (b phn loi cng). User c th to node bng cc to ring i tng address v port classifier v ni chng li vi nhau.Tuy nhin cc hm thnh vin ca i tng Simulator thc hin vic ny rt n gin. Xem file ns-2/tcl/lib/ns-lib.tcl v ns-2/tcl/lib/ns-node.tcl vit Simulator to node nh th no. $ns duplex-link node1 node2 bandwidth delay queuetype: to hai simplex link (lin kt n) vi bandwidth v delay xc nh tuyn, ni hai node xc nh li vi nhau. Trong NS, hng i u ra ca node c thc thi nh mt phn ca link, v vy user nn xc nh lun queue-type khi khi to link. Ging nh node, link l i tng ghp, user c th to v ni cc link vi cc node. M ngun link c tm trong file ns-2/tcl/lib/ns-lib.tcl v ns-2/tcl/lib/ns-link.tcl. Cn ch l ta hon ton c th chn cc m un li vo trong thnh phn link m phng mt link hay b mt gi cng nh chn thm bt k i tng mng no.

$ns queue-linit node1 node2 number: xc nh gii hn hng i ca hai simplex link kt ni node1 v node2 vi nhau. $ns duplex-link-op node1 node2 : dng cho NAM. Qu trnh tip theo l thit lp cc agent nh TCP, UDP; cc ngun traffic nh FTP, CBR; connect cc agent vi cc node v connect cc ngun traffic vi cc agent. set tcp [new Agent/TCP]: lnh to ra mt agent TCP, v y cng l cch to ra bt k agent hay ngun traffic no. Cc agent v cc ngun traffic cha trong cc i tng c bn thc (khng phi trong cc i tng kp), hu nh c thc thi trong C++ v c lin kt n OTcl. V vy, khng c hm thnh vin no ca mt i tng Simulator xc nh l c th to ra cc instance ca cc i tng ny. to c agent v ngun lu

Chng 4: OTcl script trong NS-2 lng th user cn phi bit tn lp ca cc i tng ny (Agent/TCP, Agent/TCPSink, Application/FTP v.v..) Xem thm trong file "ns-2/tcl/libs/nsdefault.tcl". File ny cha cc thit lp gi tr tham s cu hnh mc nh cho cc i tng mng sn c. $ns attach-agent node agent: hm thnh vin attach-agent gn agent vo node. Hm ny s gi hm thnh vin attach ca mt node xc nh tuyn, gn agent vo node . V vy, user c th lm tng t, nh $n0 attach $tcp chng hn. Ngoi ra, mt agent c th dng hm attach ca n gn mt ngun traffic vo chnh n. $ns connect agent1 agent2: hm thit lp lin kt lun l gia hai agent, bng cch thit lp a ch ch n mng ca nhau v cp a ch cng. By gi gi s rng tt c cu hnh mng c thc hin. Tip theo l ghi kch bn m phng. i tng Simulator hin c nhiu hm thnh vin lp lch. $ns at time string: hm ny yu cu scheduler (b lp lch) lp lch cho string thc thi vo thi gian time. Trong NS, thc t th ngun traffic khng truyn d liu tht, nhng n li thng bo cho agent pha di rng n c d liu cn truyn. Khi agent s to ra packet truyn d liu y i. Cui cng l chy m phng bng lnh $ns run. V d trn cho chng ta nhng hnh dung c bn v cch khi to node, link, agent, trafficTrn c s s gii thiu chi tit cc hot ng ny. ng thi ta s bit thm v cc dch v c bn trong Internet, tracing, routingNm vng c chng s gip thc thi c nhng bi m phng hiu qu v li ch nht. Trong NS-2, mt mng my tnh bao gm cc node c ni vi nhau bi cc link. Cc event c lp lch truyn dc theo cc link, ngha l truyn gia cc node. Agent c gn vo node to cc packet khc nhau (nh agent TCP hay agent UDP). Traffic source (ngun lu lng) chnh l application (ng dng) c gn vo agent. Hnh sau biu din hai node, mt link gia hai node, mt agent gn vo node 1 v mt application gn vo agent .

Hnh 13: S lin kt cc i tng c bn trong NS Kch bn OTcl cho lp lch s kin: To b lp lch, Lp lch s kin, Khi ng b lp lch nh sau: set ns [new Simulator] $ns at <time> <event> $ns run

Chng 4: OTcl script trong NS-2 4.2 Khi to node Node l i tng ghp t i tng node entry v classifiers. Trong NS c hai loi node. Node unicast c mt address classifier (b phn loi a ch) lm nhim v nh tuyn tuyn unicast v mt port classifier (b phn loi cng). Node multicast c thm mt classifier (b phn loi) lm nhim v phn loi cc packet multicast vi cc packet unicast v multicast classifier (b phn loi multicast) nh tuyn multicast. Trong NS, cc node unicast l cc node mc nh. to node multicast user phi thng bo tng minh trong kch bn OTcl u vo rng tt c cc node s c to l node multicast, ngay sau khi user to ra i tng lp lch.

Hnh 14: Node unicast v node multicast i tng m phng node c dng khi to mt node. Hai node c to vi iu khin n0, n1. set n0 [$ns node] set n1 [$ns node] to lin tc 5 node, ta dng cch sau: for {set i 0} {$i<5} {incr i} { Set n($i) [$ns node] } Thit lp mu cho node bng lnh: $n0 color <colour> Vi <colour> l black (mu en), red (), blue (xanh dng), seaGreen (xanh l). 4.3 Khi to link Link cng l mt i tng ghp trong NS. Khi user to link bng cch dng hm thnh vin duplex-link ca i tng Simulator th s c hai simplex link hai chiu c to ra.

Chng 4: OTcl script trong NS-2 Mt hng i u ra ca node c thc thi nh mt phn ca i tng simplex link. Cc packet ra khi hng i s c chuyn n i tng Delay thc thi tr hon lin kt. Cc packet b drop (b b) khi hng i s c gi n Agent/Null v b hu ti y. Cui cng, i tng Thi gian tn ti TTL tnh gi tr TTL cho tng packet v cp nht gi tr TTL mi.

Hnh 15: Link 4.3.1 Simplex-link To link mt chiu gia hai node bng lnh: $ns simplex-link $n0 $n1 <bandwidth> <delay> <queue_type> 4.3.2 Duplex-link V link hai chiu gia hai node bng lnh: $ns duplex-link $n0 $n1 <bandwidth> <delay> <queue_type> Gi tr bandwidth (bng thng) v delay (tr hon) tng ng c th l 1Mb v 10ms. NS-2 h tr nhiu gi tr queue_type (kiu hng i) nh RED, Drop Tail 4.4 Khi to Network Agents Hai lp Agent v lp Application s to nn traffic trong NS-2. Mi node trong mng mun gi v nhn traffic th phi c agent gn vo n. Trn nh ca agent chy application. Chnh application s quyt nh loi traffic c m phng. C hai loi agent trong NS-2 l agent UDP v agent TCP. 4.4.1 UDP set set $ns $ns $ns udp0 [new Agent/UDP] null [new Agent/Null] attach-agent $n0 $udp0 attach-agent $n1 $null connect $udp0 $null

Chng 4: OTcl script trong NS-2 on m trn to agent UDP v gn vo node n0 bng th tc attach-agent. To ra agent Null, hot ng nh mt traffic sink v gn vo node n1. Hai agent c ni li bng phng thc connect. Loss Monitor (Gim st mt mt) c th gim st cc packet ang c truyn, cng nh cc packet b mt. Mt th tc c th c lp lch kim tra xoay vng LossMonitor sau khong T giy v lu li thng tin throughput (thng lng). set lossMonitor [new Agent/LossMonitor] $ns connect $udp0 $lossMonitor 4.4.2 TCP set set $ns $ns $ns tcp [new Agent/TCP] tcp_sink [new Agent/TCPSink] attach-agent $n0 $tcp attach-agent $n1 $tcp_sink connect $tcp $tcp_sink

on m trn to agent TCP v gn vo node tcp dng th tc attach-agent. Agent TCPSink hot ng nh mt TCP sink v gn vo node tcp_sink. Hai agent ni vi nhau bng phng thc connect. Cc loi TCP c sn trong NS-2 l: TCP, TCP/Reno, TCP/Vegas, TCP/Sack1, TCP/Fact, TCPSink. 4.5 Cc loi traffic C 4 loi traffic application (ng dng lu lng) c th gn vo agent UDP m phng lu lng mng: CBR, Exponential, Pareto, TrafficTrace 4.5.1 Tc bit c nh CBR i tng traffic CBR to traffic theo tc nh trc. Packet c kch c nht nh. M OTcl thc thi ngun traffic CBR nh sau: set my_cbr [new Application/Traffic/CBR] $my_cbr attach_agent $udp $ns at <time> $my_cbr start Cc tham s: start: bt u gi packet theo cc tham s cu hnh stop: ngng gi packet PacketSize_: c c nh ca packet c to, v d 48 rate_: tc truyn, v d 64kb interval_: (tu chn) khong cch thi gian gia cc gi, v d 0.05 random_: c bo nhiu trong cc ln xut pht, mc nh l tt, 1 l bt maxpkts_: s gi ln nht c gi, v d 1000

Chng 4: OTcl script trong NS-2 4.5.2 Traffic thay i theo phn b m Exponential Cc packet c kch c c nh. Th tc ny l mt phn phi tt/bt. Trong cc giai on bt (on), packet c gi tc c nh. Trong cc giai on tt (off), khng c packet no c gi. M Tcl thc thi ngun traffic CBR trong m phng nh sau: set my_exp [new Application/Traffic/Exponential] Cc tham s cu hnh: PacketSize_: c c nh ca packet c to, v d 210 burst_time_: thi gian bt trung bnh cho b khi to, v d 500ms idle_time_: thi gian tt trung bnh cho b khi to, v d 500ms rate_: tc gi sut thi gian bt, v d 100kb

4.5.3 Traffic thay i theo phn b Pareto Dng phn b Pareto bt/tt to cc traffic tp hp, cc traffic c ph thuc di di. M OTcl thc thi ngun traffic Pareto trong m phng nh sau: set my_pareto [new Application/Traffic/Pareto] Cc tham s: PacketSize_: c c nh ca packet c to, v d 210 burst_time_: thi gian bt trung bnh cho b khi to, v d 500ms idle_time_: thi gian tt trung bnh cho b khi to, v d 500ms rate_: tc gi sut thi gian bt, v d 100kb shape_: tham s hnh dng cho phn b Pareto, v d 1.5

4.5.4 TrafficTrace TrafficTrace l traffic c to da trn file trace. File nh phn phi c 2x32 trng trong th t byte mng.Trng u tin l khong thi gian cho n khi packet d tip c to, tnh bng ms. Trng th hai l chiu di ca packet k tip, tnh bng byte. Th tc filename ca lp Tracefile gn file trace vo i tng Tracefile. M OTcl: set t_file [new Tracefile] $t_file filename <file> set src [new Application/Traffic/Trace] $src attach-tracefile $t_file Trong $t_file l file nh phn v hai trng trong trong file cha cc ln interpackets, tnh bng mili giy v c packet, tnh bng byte.

Chng 4: OTcl script trong NS-2 4.6 Cc dch v c bn trong Internet Hai application m phng gi traffic trn nh i tng TCP l: Application/FTP v Application/Telnet 4.6.1 Giao thc truyn tp tin FTP M OTcl dng FTP trong m phng l: set ftp [new Application/FTP] $ftp attach-agent $tcp $ns at <time> $ftp start Cc tham s: attach-agent: gn Application/FTP vo mt agent start: khi ng Application/FTP truyn d liu stop: ngng truyn d liu produre n: n l b m s packet c truyn producemore n: n l gi tr s packet va mi tng c truyn send n: tng t nh produremore, nhng gi n byte thay v n packet

4.6.2 Telnet M OTcl dng Telnet trong m phng: set telnet [new Application/Telnet] $telnet attach-agent $tcp Cc tham s cu hnh: interval_: thi gian n ni (inter-arrival) trung bnh ca packet c to bi i tng Telnet if (interval_==0) S ln n ni theo phn b tcplib if (interval_!=0) S ln n ni theo phn b m, gi tr trung bnh c gn bng gi tr interval_ 4.6.3 Giao thc truyn siu vn bn HTTP M OTcl thc thi HTTP (server (ch) v client (khch)) trong m phng: ng dng HTTP Node client: set client [new HTTP/Client $ns $node0] $client connect $server ng dng HTTP Node server: set server [new HTTP/Server $ns $node0]

Chng 4: OTcl script trong NS-2 $server set-page-generator $pgp 4.7 Tracing Trong NS, cc hot ng mng c trace (lu du) trong cc simplex link. Nu m phng c ch trc tip n cc hot ng trace (bng lnh $ns trace-all file hay $ns namtrace-all file) th cc link s c cc i tng trace c chn thm vo. User cng c th to i tng trace vi loi xc nh lu vt mng t ngun n ch bng lnh create-trace {type file src dst}. Khi tng i tng c chn thm i tng trace (EnqT, DeqT, DrpT, RecvT) nhn packet, n s ghi vo file trace xc nh m khng tiu tn thi gian m phng. V truyn packet n i tng mng k tip.

Hnh 16: Chn i tng trace Trace file c tt c cc thng tin thc hin minh ha - va trn s biu din mng tnh va trn cc s kin ng nh s kin packet arrival (gi n), packet departure (gi xut pht), packet drop (hu b gi), v link failure (hng lin kt). M OTcl thc thi Tracing trong m phng: trace packet trn tt c cc link: set trace_file [open out.tr w] $ns trace-all $trace_file $ns flush-trace close $trace_file File trace chun trong NS-2 v nh dng ca file ny nh sau:

o o o o o o

event: thao tc c thc hin trong m phng time: thi gian xut hin s kin from node: node 1 l node c trace to node: node 2 l node c trace pkt type: loi packet pkt size: kch c packet

Chng 4: OTcl script trong NS-2 o o o o o o flags: c fid: m lung src addr: a ch node ngun dst addr: a ch node ch seq num: s trnh t pkt id: m packet duy nht

Chng hn nh:

Thng k ct u tin (ct ch ra hot ng ca hng i) c: 5 thao tc thm vo hng i (+), 4 thao tc ly ra khi hng i (-), 4 s kin nhn (r) v 1 s kin hu packet (d). trace mt link xc nh ns trace-queue $node0 $node1 $trace_file khi ng trace chnh bin tracing trong NS-2 set cwnd_chan_ [open all.cwnd w] $tcp trace cwnd_chan_ # tcp tracing chnh bien cwnd_chan_ cua chnh no $tcp attach $cwnd_chan_ Bin sstthresh ca bin $tcp c trace bi bin $tracer chung set tracer [new Trace/Var] $tcp trace ssthresh_ $tracer 4.8 Routing Sau khi xc nh xong loi node, user c th chn giao thc nh tuyn nu khng mun dng loi nh tuyn mc nh.

Chng 4: OTcl script trong NS-2 4.8.1 Unicast NS-2 thc thi ba chnh sch nh tuyn: static routing (nh tuyn tnh), session routing (nh tuyn phin) v DV routing (nh tuyn vc t khong cch). Dng phng thc rtproto trong lp Simulator xc nh chnh sch nh tuyn c dng. o $ns rtproto type o type: Static, Session, DV, cost, multicast-path $ns rttproto Static $ns rttproto Session $ns rttproto DV Ngoi ra, rtmodel-at cung cp kh nng up (hot ng) hay down (ngng hot ng) link mt cch t ng. $ns rtmodel-at 1.0 down $node1 $node2 $ns rtmodel-at 2.0 up $node1 $node2 Dng phn b m cho vic to cc link m rng m hnh. $ns rtmodel Exponential 0.7 2.0 2.0 down $node1 $node0 4.8.2 Multicast o $ns multicast (ngay sau khi thit lp $ns [new Scheduler]) o $ns mrtproto type o type: CtrMcast, DM, ST, BST.

Chng 5: Cc v d c bn

CHNG 5

CC V D C BN

Chng ny gii thiu ba kch bn OTcl. C th son cc kch bn ny bng b son tho vn bn chun v lu vi phn m rng l tcl. Nu ns c ci t ng v cc bin PATH c thit lp th ta ch cn m ca s dng lnh, n ng th mc cha kch bn OTcl v g lnh: ns scriptname.tcl Dng lnh ny c thc hin s to ra file trace da vo yu cu trong kch bn Tcl. File trace c th dng phn tch v kim tra dng cng c phn tch m phng nh NAM hay TRACEGRAPH. 5.1 Kch bn OTcl th nht Kch bn OTcl ny s thc hin nhng vic sau: To hai node, thm duplex-link gia hai node vi cc tham s cu hnh thch hp Thm agent UDP v agent UDPsink tng ng gn vo node 0 v 1 Thm ng dng lu lng CBR vo agent UDP Kt ni cc agent v chy m phng trong 5 giy Gi NAM minh ho hot ng ca topology ny.
# Create a simulator object set ns [new Simulator] # Open the nam trace file, associated with nf, log everything as nam output in nf set nf [open out.nam w] $ns namtrace-all $nf # Define a 'finish' procedure proc finish {} { global ns nf $ns flush-trace #Close the trace file close $nf #Execute nam on the trace file exec nam out.nam & exit 0 } #Create two nodes set n0 [$ns node] set n1 [$ns node] #Create a duplex link between the nodes $ns duplex-link $n0 $n1 1Mb 10ms DropTail #Create a UDP agent and attach it to node n0

Chng 5: Cc v d c bn
set udp0 [new Agent/UDP] $ns attach-agent $n0 $udp0 # Create a CBR traffic source and attach it to udp0 set cbr0 [new Application/Traffic/CBR] $cbr0 set packetSize_ 500 $cbr0 set interval_ 0.1 $cbr0 attach-agent $udp0 #Create a Null agent(a traffic sink), attach it to node n1 set null0 [new Agent/Null] $ns attach-agent $n1 $null0 #Connect the traffic source with the traffic sink $ns connect $udp0 $null0 # Schedule events for the CBR agent $ns at 0.5 "$cbr0 start" $ns at 4.5 "$cbr0 stop" #Call the finish procedure after 5 seconds of simulation time $ns at 5.0 "finish" # Run the simulation $ns run

Kt qu ca kch bn trn:

Hnh 17: Minh ha NAM cho kch bn OTcl th nht

Chng 5: Cc v d c bn 5.2 Kch bn OTcl th hai Kch bn ny to bn loi traffic ca internet. Bn th tc sau miu t cc loi b khi to traffic sn c. Hai l s node cn m phng cc dch v ny.
#Create a simulator object set ns [new Simulator] #Open a nam trace file set nf [open out.nam w] $ns namtrace-all $nf #Define a 'finish' procedure proc finish {} { global ns nf $ns flush-trace close $nf exec nam out.nam & exit 0 } set n0 [$ns node] set n1 [$ns node] #Connect the nodes with two links $ns duplex-link $n0 $n1 1Mb 10ms DropTail proc www_traffic { node0 node1 } { global ns set www_UDP_agent [new Agent/UDP] set www_UDP_sink [new Agent/Null] $ns attach-agent $node0 $www_UDP_agent $ns attach-agent $node1 $www_UDP_sink $ns connect $www_UDP_agent $www_UDP_sink set www_CBR_source [new Application/Traffic/CBR] $www_CBR_source attach-agent $www_UDP_agent $www_CBR_source set packetSize_ 48 $www_CBR_source set interval_ 5000ms $ns at 0.0 "$www_CBR_source start" } proc smtp_traffic {node0 node1 } { global ns set smtp_UDP_agent [new Agent/UDP] set smtp_UDP_sink [new Agent/UDP] $ns attach-agent $node0 $smtp_UDP_agent $ns attach-agent $node1 $smtp_UDP_sink $ns connect $smtp_UDP_agent $smtp_UDP_sink set smtp_UDP_source [new Application/Traffic/Exponential] $smtp_UDP_source attach-agent $smtp_UDP_agent $smtp_UDP_source set packetSize_ 210 $smtp_UDP_source set burst_time_ 50ms $smtp_UDP_source set idle_time_ 50ms

Chng 5: Cc v d c bn
$smtp_UDP_source set rate_ 100k $ns at 0.0 "$smtp_UDP_source start" } proc ftp_traffic {node0 node1 } { global ns set ftp_TCP_agent [new Agent/TCP] set ftp_TCP_sink [new Agent/TCPSink] $ns attach-agent $node0 $ftp_TCP_agent $ns attach-agent $node1 $ftp_TCP_sink $ns connect $ftp_TCP_agent $ftp_TCP_sink set ftp_FTP_source [new Application/FTP] $ftp_FTP_source attach-agent $ftp_TCP_agent #$ns at 0.0 "$ftp_FTP_source start" #$ns at 0.1 "$ftp_FTP_source send 1" $ns at 0.1 "$ftp_FTP_source produce 3" $ns at 0.9 "$ftp_FTP_source stop" $ns at 1.2 "$ftp_FTP_source producemore 6" #$ns at 2.0 "finish" } proc telnet_traffic {node0 node1 } { global ns set telnet_TCP_agent [new Agent/TCP] set telnet_TCP_sink [new Agent/TCPSink] $ns attach-agent $node0 $telnet_TCP_agent $ns attach-agent $node1 $telnet_TCP_sink $ns connect $telnet_TCP_agent $telnet_TCP_sink set telnet_TELNET_source [new Application/Telnet] $telnet_TELNET_source attach-agent $telnet_TCP_agent $telnet_TELNET_source set interval_ 20 $ns at 0.0 "$telnet_TELNET_source start" $ns at 0.8 "$telnet_TELNET_source stop" } proc generate_traffic {node0 node1 } { puts "function calls in here, Choose one at a time per simulation to use" #smtp_traffic $node0 $node1 #telnet_traffic $node0 $node1 #www_traffic $node0 $node1 #ftp_traffic $node0 $node1 } generate_traffic $n0 $n1 $ns at 2.0 "finish" $ns run

Kt qu ca m phng:

Chng 5: Cc v d c bn

Hnh 18: M phng NAM ca kch bn OTcl th hai 5.3 Kch bn Otcl th ba Kch bn OTcl th ba thc hin To sau node, hai node gn vo agent Ping, hai node gn vo agent UDP Nhng node ny s gi d liu n node 3 thng qua node 2 V bng thng ca link gia hai node 2 v 3 khng p ng nn s c mt hng i c packet b hu
# Create a simulator object set ns [new Simulator] # Open a trace file set nf [open simu.tr w] $ns namtrace-all $nf # Define different colors for data flows $ns color 1 Blue $ns color 2 Red # Open the nam trace file set nf [open out.nam w]

Chng 5: Cc v d c bn
$ns namtrace-all $nf # Define a 'finish' procedure proc finish {} { global ns nf $ns flush-trace #Close the trace file close $nf #Execute nam on the trace file exec nam out.nam & exit 0 } # Create four nodes set n0 [$ns node] set n1 [$ns node] set n2 [$ns node] set n3 [$ns node] # Pinging Nodes set n4 [$ns node] set n5 [$ns node] set p0 [new Agent/Ping] $ns attach-agent $n4 $p0 set p1 [new Agent/Ping] $ns attach-agent $n5 $p1 set p2 [new Agent/Ping] $ns attach-agent $n3 $p2 set p3 [new Agent/Ping] $ns attach-agent $n3 $p3 #Connect the two agents $ns connect $p0 $p2 #Connect the two agents $ns connect $p1 $p3 $n2 color red $n3 color blue $n4 color SeaGreen $n5 color SeaGreen # Define a 'recv' function for the class 'Agent/Ping' Agent/Ping instproc recv {from rtt} { $self instvar node_ puts "node [$node_ id] received ping answer from \ $from with round-trip-time $rtt ms." } #Create links between the nodes $ns duplex-link $n0 $n2 1Mb 10ms DropTail $ns duplex-link $n1 $n2 1Mb 10ms DropTail $ns duplex-link $n3 $n2 1Mb 10ms SFQ $ns duplex-link $n4 $n2 1Mb 10ms DropTail $ns duplex-link $n5 $n2 1Mb 10ms DropTail $ns duplex-link-op $n0 $n2 orient right-down

Chng 5: Cc v d c bn
$ns duplex-link-op $n1 $n2 orient right-up $ns duplex-link-op $n2 $n3 orient right # Monitor the queue for the link between node 2 and node 3 $ns duplex-link-op $n2 $n3 queuePos 0.5 # Create a UDP agent and attach it to node n0 set udp0 [new Agent/UDP] $udp0 set class_ 1 $ns attach-agent $n0 $udp0 # Create a CBR traffic source and attach it to udp0 set cbr0 [new Application/Traffic/CBR] $cbr0 set packetSize_ 500 $cbr0 set interval_ 0.005 $cbr0 attach-agent $udp0 # Create a UDP agent and attach it to node n1 set udp1 [new Agent/UDP] $udp1 set class_ 2 $ns attach-agent $n1 $udp1 # Create a CBR traffic source and attach it to udp1 set cbr1 [new Application/Traffic/CBR] $cbr1 set packetSize_ 500 $cbr1 set interval_ 0.005 $cbr1 attach-agent $udp1 #Create a Null agent (a traffic sink) and attach it to node n3 set null0 [new Agent/Null] $ns attach-agent $n3 $null0 #Connect the traffic sources with the traffic sink $ns connect $udp0 $null0 $ns connect $udp1 $null0 #Schedule events for the CBR agents $ns at 0.5 "$cbr0 start" $ns at 0.6 "$p0 send" $ns at 0.8 "$p0 send" $ns at 0.9 "$p0 send" $ns at 0.6 "$p1 send" $ns at 0.8 "$p1 send" $ns at 0.9 "$p1 send" $ns at 1.0 "$cbr1 start" $ns at 4.0 "$cbr1 stop" $ns at 4.5 "$cbr0 stop" #Call the finish proc. after 5 seconds of simulation time $ns at 5.0 "finish" #Run the simulation $ns run

Kt qu ca m phng:

Chng 5: Cc v d c bn

Hnh 19: M phng NAM ca kch bn OTcl th ba

Thut ng vit tt

THUT NG VIT TT
CBR CBQ FTP HBT HTTP ID IEEE IP LAN MAC MMS MPLS NAM NFS NS OSPF RED RT SBT SPF ST TCP TTL UDP VBR WAN WLAN WWW Constant Bit Rate Class Based Queueing File Transfer Protocol High priority Best effort Traffic Hypertext Transfer Protocol Identifier Institute of Electrical and Electronic Engineers Internet Protocol Local Area Network Media Access Control MPLS Network Simulation Network Animator Network FileSystems Network Simulator Open Shortest Path First Random Early Detection Realtime Traffic Simple Best Effort Traffic Shortest Path First Signaling Traffic Transmission Control Protocol Time-To-Live User Datagram Protocol Variable Bit Rate Wide Area Network Wireless Local Area Network World Wide Web Giao thc internet Mng cc b iu khin truy cp ng truyn M phng mng MPLS Minh ha mng Cc tp tin h thng mng M phng mng ng dn ngn nht m u tin Hng i D sm ngu nhin Lu lng thi gian thc Lu lng n lc ti a n gin ng dn ngn nht u tin Lu lng tn hiu Giao thc iu khin truyn ti Thi gian tn ti Giao thc gi ngi dng Tc bit thay i c Mng din rng Mng cc b khng dy Tc bit c nh Hng i da trn lp Giao thc truyn tp tin Lu lng n lc ti a c u tin cao nht Giao thc truyn ti siu vn bn M nhn dng Vin k thut in in t

Multicast-Protocol Label Switching Chuyn mch nhn a giao thc

Ti liu tham kho

TI LIU THAM KHO


[1] Kavin Fall, Kannan Varadhan. The ns Manual . The VINT Project, A Collaboration between researchers at UC Berkeley, LBL, USC/ISI, and Xerox PARC. December 13, 2003. http://www.isi.edu/nsnam/ns/ [2] Paul Meeneghan and Declan Delaney. An Introduction to NS, Nam and OTcl Scripting. National University of Ireland, Maynooth, Co. Kildare, Ireland
DEPARTMENT OF COMPUTER SCIENCE. April 2004

[3] Enrique Campos-Nanez. Nscript Version 1.0a Users Manual. Department of Systems Engineering, University of Virginia. March 13, 2001 [4] Eitan Altman and Tania Jimnez. NS Simulator for beginers. Univ de Los Andes, Mrida, Venezuela and ESSI, Sophia-Antipolis, France. December 4, 2003. [5] Jae Chung and Mark Claypool. NS by example. http://www.nile.wpi.edu/ns

[6] Peng Zhang, Raimo Kantola, Zhansong Ma. Design and Implement of a new routing Simulator. Laboratory of Telecommunication Technology, Helsinki University of Technology, Findland. [7] Xipeng Xiao and Linoel M. Ni. Internet QoS: A big Picture. Departurement of Computer Science, 3115 Engineering Building, Michigan State University. [8] Johanna Antila. TCP Performace Simulations Using Ns2.

[9] Carey Williamson. Internet Traffic Measurement. Department of Computer Science, University of Calgary. November 24, 2001. [10] http://www.Tcl.tk TCL homepage [11] http://www.isi.edu/nsnam/nam/ NAM Network Animator [12] http://isi.edu/nsnam/xgraph XGRAPH homepage [13] http://www.geocities.com/tracegraph/ TRACEGRAPH homepage [14] http://home.gwu.edu/~ecamposn/software.html NSCRIPT NS-2 scripting tool [15] http://www.isi.edu/nsnam/ns/tutorial/index.html Tutorial for the Network Simulation ns Marc Greis

You might also like