You are on page 1of 20

H M PHNG NS

Gii thiu NS (Network Simulation)

NS (Network Simulation) chng trnh phn mm dng hng i tng c s dng m phng li cc s kin xy ra trong h thng mng yu cu, c tnh vn hnh ca h thng mng thc. NS c s dng m phng LAN v WAN . H m phng NS-2 c pht trin trng i hc Berkeylay t nm 1989, l mt phn trong d n VINT (Virtual Internet Testbed) ca phng th nghim quc gia Lawrence Berkeley.

i tng m phng:

Wired, Wireless, Satellite TCP Agents, UDP Agents, multicast, unicast Thit k cc c ch qun l hng i ti b nh tuyn nh DropTail, Fair Queueing, Red. Ci t thut ton nh ng ng v tnh, Dijkstra, vector khong cch, thut ton trng thi lin kt, nh ng di ng ... mng c dy v khng dy. H tr cc ng dng WebCache, FTP, Telnet, CBR, Web, Real Audio.

Cu trc th mc ca NS
Ns-allinone

tclbox

tkbox

otcl

tclcl

ns-2

nam-1

Otcl code tcl

C++ source

Example ex test lib

Validation test

Otcl source

Cu trc phn lp

ns-2 l ni t tt c cc s CT thc thi ca m phng Th mc lib l th mc con ca tcl cha ng m ngun ca Otcl v mt thnh phn quan trng l s thc thi qu trnh m phng (nh Agent, Node, Link, Packet, Address, Routing...). ...

Lch trnh ca s kin:


nhng s kin xy ra trong hng i Non-Real-Time (thi gian o)

lu li thi gian m phng v

. Real-Time (thi gian thc) v

time_uid_next_handler_

handler()

head Event Scheduler

Net work Object

handler()

time_uid_next_handler_

Network Object

Cc thnh phn ca NS

TclObject

NsObject

Other

Classifier

Connector

AddrClassifier

McastClassfier

SnoopQueue

Queue

Delay

Agent

Trace

In

Out

Drp

Edrp

DropTail

Red

TCP

UDP

Link v Trace

Simplex Link
EnqT

Link with Trace Object


Queue DeqT Delay TTL RecvT

Drpt

Agent/Null

Queue Drop

Delay Agent/Null

TTL

C ch theo di hng i.

V c bn i tng lu vt c thit k theo tng bn ghi ti thi im gi tin n ni nhn m chng c nh dng. Ngi s dng lun c c thng tin t Trace. Nhng y chng ta quan tm n nhng hot ng tip theo, mt trng hp c th xy ra khi tr hon trn mng cao dn n nghn mch. Khi cc gi tin tin s c a vo hng i nh th no, v c ch qun l hng i no s c hiu qu hn. Chng hn chng ta mun s dng hng i RED ta phi xc nh kch thc hng i trung bnh c trng s, v kch thc hin ti ca hng i RED, xc nh gi tr chn trn v chn di l Tmax v Tmin ph hp gii quyt vn tr hon cao trn mng. Hnh di y m t qu trnh theo di din bin trong mt hng i t lc gi tin i vo hng i, v n lc gi tin c chuyn i.

nh dng gi tin NS: Mt gi tin trong NS bao gm hai phn l phn


u Header v Data

Header cmn header ip header tcp header rtp header trace header ......

cmn header Uid_ : unique id Ptype_ : pkt type Size_ : simulated pkt size Ts_ : time stamp

Dng C++ v Otcl xy dng NS

H m phng NS c vit trn C++ v Otcl, C++ dng x l d liu, cc thao tc v gi tin v Otcl c s dng nh dng cu hnh m phng, iu khin m phng. y l l do h m phng NS t hiu qu. gim bt thi gian x l gi tin v nhng s kin trong m phng, tt c u c thc hin trn C++.

Ci t: Linux, Windows
http://www.isi.edu/nsnam/ns/ -download ns-allinone -includes Tcl, Otcl, TclCL, ns, nam... Ti liu: Marc Gries tutorial, ns manual

Cc Agent v dch v truyn tin trong NS.

UDP Agent c thc hin trn giao thc UDP. UDP Agent truy cp, x l d liu t ng dng. Kch thc d liu x l c th thay i tuy nhin khng th vt qu kch thc ln nht ca on (Maximum Segment Size- MSS) gi tr ny trong UDP Agent c mc nh l 1000 byte, th hin qua cu lnh: Agent / UDP set packstsize_ 1000 UDP Agent c th pht chuyn d liu theo hai cch sau: Dng hm sendmsg() (trong C++). Dng phng thc send hoc sendmsg (trong Otcl).

M t hot ng ca UDP Agent trong m phng


set ns [ new Simulator ] set n0 [ $ns node] set n1 [ $ns node] $ns duplex-link $n0 $n1 5mbps 2ms Droptail set udp0 [ new Agent / UDP] $ns attach-agent $n0 $udp0 set cbr0 [ new Application / Traffic / CBR] $cbr0 attach-agent $udp0 $udp0 set packetsize_ 536 cbr set null0 [ new Agent / Null] $ns attach-agent $n1 $null0 $ns connect $udp0 $null0 $ns at 1.0 " $cbr0 start " $ns at 4.0 " $cbr0 stop "

udp n 0 n 1

null

TCP Agent

Cc TCP Agent truyn d liu theo mt chiu: Agent / TCP Agent / TCP / Reno Agent / TCP / Sack Agent / TCP / Vegas Agent / TCp / Fack

TCP Agent truyn d liu theo hai chiu: Agent / TCP / FullTCP Agent / TCP / BayFullTCP Cc TCP Agent nhn d liu : Agent / TCPSink Agent / TCPSink / DelAck Agent / TCPSink / Sack1 Agent / TCPSink / Sack1 / DelAck Agent / Null

Hot ng ca TCP Agent trong h m phng


set ns [ new Simulator ] set n0 [ $ns node] set n1 [ $ns node] $ns duplex-link $n0 $n1 5mbps 2ms RED Set tcp0 [ new Agent / TCP] $ns attach-agent $n0 $tcp0 set fpt0 [ new Application / Traffic / FPT] $fpt0 attach-agent $tcp0 $tcp0 set packetsize_ 210 $tcp0 set window_ 50 Set sink0 [newAgent/ TCPSink] $ns attach-agent $n1 $sink0 $ns connect $tcp0 $sink0 $ns at 1.0 " $fpt0 start " $ns at 4.0 " $fpt0 stop "

Cc tham s quan trng: Agent / TCP set windowOption_ 1 Agent / TCP set windowInit_ 1 Agent / TCP set windowConstant_ 4 Agent / TCP set windowThresh_ 0.02 Agent / TCP set packetsize_ 210 Agent / TCP set ack_ 0 Agent / TCP set dupacks_ 0 Agent / TCP set overhead_ 0 Agent / TCP set ecn_ 0 Agent / TCP set tcpTick_ 0.1

ng dng NS m phng mt m hnh mng


Mi trng lm vic ca NS. thc hin m phng mt m hnh mng trc ht ta phi khi to cc i tng, cc lin kt, cc Agent, cc dch v truyn tin... trn mi trng NS, v iu ny kh n gin v NS h tr cch khi to ra cc i tng ny. Sau khi khi to cc i tng nh nt(node), lin kt(link), cc Agent, cc dch v truyn tin... th on m lnh tng ng s c pht sinh. Cu trc cu lnh ca NS cng kh n gin chng ta cng c th s dng n to ra mt m hnh theo mun. NAM (Network Animator). Sau khi thc hin m phng m hnh mng trn NS, trnh bin dch s dch chng trnh chng ta m phng, kt qu c lu di dng file NAM. NAM c mt giao din d s dng (c cc nt iu khin chng trnh nh: Play, Stop, FastForward, Rewind, Pause... ), chng ta c th thc hin chng trnh bin dch di dng file NAM trong mi trng NAM mt cch d dng. Trn mn hnh lun lun hin th thi gian thc hin chng trnh, tc truyn gi tin. Ngoi ra n cn c mn hnh quan st lu lng gi tin truyn i v s lng gi tin ri khi ng truyn khi c tr hon cao hay nghn mch xy ra trn mng.

M hnh m phng.

5Mbps, 5ms: 0-1 4Mbps, 2ms:3-4.....


ftp0 tcp 0 5 cbr udp sink Nt Agent Lin kt Dch v

null 6 sink

2 tcp Fpt 2

Kt qu thc hin m phng

Khi bin dch chng trnh ny kt qu c lu vo file Red.nam v thc hin file ny trong mi trng NAM cng c kt qu m phng nh sau

Phn tch kt qu da vo TRGRAPH

Event_time_fromnode_tonode_pktsize_flags_fid_srcaddr_dstaddr_sepnum_pktid r: receive, +: enqueue, -: dequeue, d: drop


r + r +

0.173036 0.175396 0.212896 0.212896 0.231696 0.231696

1 1 0 0 0 1

0 0 1 1 1 2

tcp tcp ack ack ack ack

450 450 210 210 210 210

-------------------------------------

1 1 1 1 1 1

2.1 2.1 0.0 0.0 0.0 0.0

0.0 0.0 2.1 2.1 2.1 2.1

1 1 1 1 1 1

2 2 3 3 3 3

You might also like