Professional Documents
Culture Documents
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
C++ source
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...). ...
time_uid_next_handler_
handler()
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
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.
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
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
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).
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
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
M hnh m phng.
null 6 sink
2 tcp Fpt 2
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
r + r +
1 1 0 0 0 1
0 0 1 1 1 2
-------------------------------------
1 1 1 1 1 1
1 1 1 1 1 1
2 2 3 3 3 3