Professional Documents
Culture Documents
سلسلة تعلم بسهولة محاكي الشبكات NS2
سلسلة تعلم بسهولة محاكي الشبكات NS2
ــــ ﻝ
ﻝ
أ اﻝی اﻝ
1
ﻝ
اﻝء اول
ﻝ
أ! ! اﻝی اﻝ
2
اﻝ 0رب اﻝ
-ﻝ واﻝ*,ة واﻝ*$م ($أ'%$ف اﻝ$ ! -1$ $%
و( 4ﻝ 2وﺹ 2و أ!.
-
أو; أﺡ ا 0أن ی %ﻝ 8آ -6ه=< اﻝ واﻝ=ي أرﺝ $! $ا 0أن ی-$
?$@A
اﻝ.
وا 2أل أن ی
(/0ﻝ +.وأن ی(( ه
ﺵ +وأن یی( ' اﻝ 34اﻝ+ﺵ4د إﻥ 74وﻝ "4ذﻝ54
واﻝ/در . 7
3
یتAس اﻝ+0
5 !D!
6 %Q- واﻝ8Q-ت اﻝ-JE اﻝ8آ- !
7 ت-JE اﻝ8آ- ! ت--أ
8 TCL !% ت--أ
12 NS2 8K w!-1% -6 آDی%Y
14 -
ورJ' ء-E1إ
16 agents and application ت-@zت واﻝ-D6ی اﻝ%
18 } 8 ل-|!
21 A6 اﻝNs2 Formatting
23 Network Animator (Nam) w!-1% امP6ا
27 در-,اﻝ
4
/
ه=ا اﻝء ی Dم %Eح اﻝ@-ه ا -دون اﻝ Pض 8Kاﻝ-@6ﺹ G$اﻝ
$Dة اﻝ8$6
,اﻝ@
واﻝ $
K ($ -$ 8$6اﻝ -$آ $, 8رة ﺝ$ة ،وی%آ ($ $اﻝ
ی$! $
ا!| اﻝ S| 86اﻝ@
و Dی 2و }%اﻝ ا.
-
z
?Q
8$$Kاﻝ$$ء اول ی%
6$$ض اﻝ-$$6Jب أ-$$-ت اﻝ -$$آ 8واﻝ $$D 8$$6م TCL ($$
وی%Eح أه اوا! -
K %واﻝ 8K !P6اﻝ -آ.8
ﺙ ی%د Gآ -6اﻝ ns2 8K w!-1%وﺥ-,ﺉ 2,وأ 1اع اﻝ-DA6ت اﻝ 86ی-$
$J
وآ=$$ﻝ $$ ! Nادوات اﻝ 8$$6ی $$JاP6$$ا!
?$$! -اﻝ -$$آ nam G$$|! 8واﻝ=$$ي 6$$
اﻝ%6ق إﻝ; 2ﺡ- -ًDﻝ G,@6واﻝ=ي یP6م ﻝ
%ض -61ﺉ- ! wآ-ة اﻝ GJ$E J$Eر8! $
!% 6ك .
واااااااااااااااااااااان!!!!!
ه Gأ S1ﺝ-ه ﻝ Pض - 8Kﻝ ns2
إذا ( %آ ا 0و ا1 0أ اﻝ%ﺡ ,,,,
5
آ" اﻝ! ت اﻝ "Tواﻝ+T
أ ه=ا اﻝ -آ- 8K 8م 1989ا !%Eوع VINTواﻝ=ي ه ' ! GJأ'-Jل
اﻝ -آ 8K Real Network Simulator 8ﺝ
!-آ-ﻝ@ ر
! 8K -1ــــ% G!-آــــ8
Berkeley Labوه=ا ه '
-ر اﻝ.
!-
آ -ی D 6ور' Gآ 6A Gواﻝ 8K D
86اﻝ -$1ن ! 8$Kی $Aأﺙ ، -$Aواﻝ$ 8$6أت
2006 Aوﺡ-1 SDDﺡً -آً%ا ﺙ Dت اﻝ ر' اﻝ| ، 2008 A 8K 1-وأ-$
Y
) ، WNS2(workshop ns2وآ-ن اﻝ
$ف اﻝ%ﺉ 8$ﻝ
<=$اﻝ ر' $ﺝ
$اﻝ-$ﺡ| 8$K
!-$$ل اﻝ-J$$Eت ! $$اﻝ-$$ﻝ اﻝ 8-A$$,واآ-$$دی 8ﻝ $$EV-Aا اﻝ $$6ر اﻝ -ﺹ G$$وﻝ8$$J
ی دوا ا; <-اﻝ 8D6ﻝ -آ-ة اﻝ-JEت . network simulation
6
أت آ" اﻝ! ت
-1 J! -ت اﻝ -آ:8
ی
%6اﻝ -آ 8A 8ﺝًا -ﻝ
ی-$1 J! $! $ت و%و آ; $ت اﻝ-J$Eت واﻝ 8$6ی6$
اﻝ ، Object GJE -
A %
6وی 2 ( J%داﺥً ( -ﻝ 6هOTCL,C++ -$
وآ* -$$ﺡ $$ه-$$Aك %$$Kق ' $$ ?$$-اﻝ C++ $$K $$6ه 8$$ﻝP6$$ $$م Compiler
ﻝ%6ﺝ أوا!%ه -A -ﻝ 8
K OTclﻝ P6م !@ interpreter %ﻝ %@6أوا!%ه.-
P6-Kام ﻝ C++ﻝ-@Jء
-و 8K -
6%اﻝ =@A6وآ -$
S$6اﻝ%و آ; $ت واﻝ-$1 Jت
اﻝ| 6-واﻝ %$6 ; 86و -$6ج ﻝ 8$K %$اﻝ -$A =$@A6ﻝ ?$! TCL $آ 8$K $M -$
1
اﻝ =$$@A6ﻝ%$$ $$Jی
8$$Kاﻝ$$
6ی Gوه8$$' 8$$ء !
- $$ﻝ $$AﻝP6$$م -$$
S$$6JKأوا!%$$
اﻝP6م ! -ﺝ? %اﻝ =@A6و %اﻝ
6ی ! Gه -اﻝ. 6
7
أت TCL +
ﻝ TCL (Tool Command Language) $وه 8$ﻝScript language $
واﻝ G$$|! -$$
|! very high level language -
@A$$, $$ 8$$6اﻝ-$$ت اﺥ%$$ى اﻝ8$$6
Aرج Sه=ا اﻝ PHP, JavaScript, Python, Perl G|! A,6وه- 8رة $
ﻝP6$$ $$م !@ %$$ﻝ %$$@6أوا!%ه -$$وﻝ $$
@! $$ 8$$Jم Object Orientedﻝ=$$ﻝ$$ N
-
$$وا!$$6ت إﻝ ($$إﺹ$$ارة أﺥ%$$ى وهOtcl(Object extension of Tcl) 8$$
وآ -
S6آ -ذآ -ًD-$ %$أوا! %$اﻝP6$م ،إذًا -$Kوا! %واﻝ$وال اﻝ 8$6ی$1 6$اؤه8$K -
اﻝ -آ 8ه 8دوال ! Otcl 6Jوه D 8م $وره-$,- -ل C++ $و! $ﺙ$
=@Aأوا! %اﻝP6م.
اﻝ%6ات -
اﻝ%
6ات اﻝ%یQ- -
-رات اﻝJ 6 -
ﺡ Dاﻝ%J6ار وأ 1ا
- -
اﺝ%اءات .procedure -
اﻝ ?! G!-
6اﻝ@-ت . -
- ?z1رة setﺙ ا اﻝ %6ﺙ
ذﻝ N$اﻝ $Dاﻝ%1 8$6ی $و 8$K -
$Qاﻝ %$6وه8$
إ! J -ن Vأو 4 %6! ! Vﺥ %أو %
! Vری 8Q-أو ; 2$1 ,1
ی ﺝ 1ع -1-ت ﻝ %6وه=< ه$! 8$ة ﻝ-$ت $ ; 8$
K scripting languagesد
* integer, float , double, Booleanو $D G$ <%$م 1ع !
ﻝ Aع اﻝ-1-ت !ً |$
ﺥ= 1ع اﻝ-1-ت ﺡ
اﻝ DاﻝAة ﻝ. %6
8
: ل-|!
result: a=6 set a 6
result: b=4 set b 4
result: a=4 set a $b
result: a=9 set a [expr 5+$b]
result: a=4.3 set a $b.3
a V %6 -AV |ﻝ-| اﻝ8K وa,b ی%6! ی%
1-|ر اوﻝ( واﻝ-
اﻝ-A ه *ﺡ1
8Q- ری%
?Q -AV 2 اﻝ=ي ی%
6 اﻝ8K و4 8 وهb 8K اﻝ ﺝ دةDإﻝ( اﻝ
2 -AD وأﻝb V ?Q -AV %
%ﺥ4 8K وa 8K w-A? اﻝz ویb V ( إﻝ5 zی
. 4.3 D اﻝ°,6 ﻝ0.3 %آ
ع$! 5 8$ وه-$ ﺡ$V 2$ وa %$6 اﻝ$ ﺙ5 $D اﻝ2 b %6! ی%
6 -AV -A
K
.15 وي- a V °, و2 8K 2و%z! و5 8 وهb %6 اﻝV -
ﻝ
:
A رات اﻝ: ً ]\ﻝ
: if ط%' ﺹ
if expr script
: ل-|!
set x 2
if $x>1 {…}
or if $x>1 {…} elseif $x<-3 {…} else {…}
9
: ار وأﻥ
ا+ A اﻝ/ ﺡ: ً را
:for, while, foreach Dﺡ
: for loop Dﺡ
for script expr script script : D ﺹ اﻝ
: ل-|!
for {set i 0} {$i<5} {incr i} {…}
:while loop Dﺡ
:ل-|!
while $x > 2 {…}
:foreach loop Dﺡ
. %ﺹ-A
أو ! اﻝK @,! ?! G
D ﺡ8وه
foreach listvar list body :D ﺹ اﻝ
: ل-|!
set total 0
foreach num {1 2 3 4 5} {
set total [expr $total+$num]
}
10
: تc اﻝd 'A اﻝ: ً د
: 8ﻝ-6ﻝ- آ2
! G!-
6 ! واﻝ°6K Dی%Y
2 ! ا°6@ -AV ﺙoutputfile 2دي ا- %6! -AK% اول% اﻝ8K
. write ر-,6 اﺥw -6J اﻝ-A ه-یه%1 86*ﺡ اﻝ, وه اﻝtestfile
11
:NS2 "0 eﻥ+ A آ/ی+f
-A!ا%
6J1 8J ﻝ-
6K%
! ! ; 86 واﻝtcl ت ﻝ-- أ-A ﺙD- اﻝG,@ اﻝ8K
. Otcl
6JA -A وهNS2 8K
رة-$ 8$ وهw!-$1% أي$-6 آ8$K $- أS$ اس ][ ﻝ$V ا$ 86 ات اﻝP اﻝ%6
. ه=< اﺹارة8K -
ﺡ%E } وﻝDK K%
ﻝ-
% ذآJ! وﻝD6! ?Q ! ا
2$
! G!-
6 ﻝ
ﻝ اﻝJ
=ا ا; وﻝ26 ط%6E و; ی%6! رة- -A هns £ﺡ
N$AJK ،
$6J اﻝ8$K $|!» ﻝ$Aﻝ- امP6$ ا8$K ?ﺉ-$E وه اﻝ8آ- یﺥ= ا اﻝ21و
. 2z@ أو2% 2ی أي ا%
12
Create connection (transport)
ل-$$$ ار8$$$K 2!اP6$$$ ا6$$$ =ي$$$ ل اﻝ$$$و آ%ء اﻝ-$$$E1 إ6$$$ ة ی$$$P=< اﻝ$$$ ه8$$$K
.Agent ( وی-
A! ع1
ي,ر واﻝ
ف أو اﻝ, و ی اﻝTCP,UDP
G$$$|! $$$
! GJ$$$E م$$$ل ﺡ-$$$ر¹ م$$$D ی$$$ $$$ی%
6$$$ ة ی$$$P=< اﻝ$$$ ه8$$$K 6$$$ی
.agent ر, ﻝAﻝ- <د-A وإFTP,Telnet, CBR, VBR…etc
Schedule events
$اء داﻝ$1 6$( ی$6! و8$
6A ($6!أ و$ ($6! ت-D6 اﻝ8A
ﺝوﻝ اﺡاث ی-A ه6وی
:,ﻝ- نJة و-آ- ء اﻝ-
1إ
$ns at <time> <event>
any legitimate ns/tcl commands <event> :
اء%اء داﻝ أو إﺝ1 J ویns/tcl %!دي ! أوا- %! ن أJ یJ! -A اﻝ ث ه8A
ی
: |!
اN وإﻝ، "" O,A6 اﻝ86!* نJ و2! ﺥ*ﻝ
$ns at 0.3 "$ftp start"
$ns at 1.2 "$ftp stop"
$ns at 1.3 "finish"
8
ل اﻝ-| اﻝ8K -
ﺡ%' 6 -
- ی6 ! وw!-1% اﻝ8K -
6-6 آ6 یfinish داﻝ£ﺡ
.°Q ! ه-ی آ-
A اﻝSV اﻝای ووSV ی و6K ftp -A
13
: إﻥ!ء ﺵ ور
$D GJ$' ($ ة$
اﺝ$ی%
6$ ی8آ-$ اﻝ8$Kة و$
أﺝ$! ن$J6 -
6
JEاﻝ
router ز-$
ة وﺝ$
أﺝ$ ﺙ*ﺙ$1 J! J$' $ی%
-1ل إذا أرد-| اﻝG (
K ، node
: 8ﻝ-6ﻝ- آ-
6-6J مD1
set pc1 [$ns node]
set pc2 [$ns node]
set pc3 [$ns node]
set router [$ns node]
pc1 %$6=ا اﻝ$ ( أن ه%@ اﻝ%P رة آ ! زة- 8 هnode آ£ﺡ
$ی%
6 -$AV ($ ة اوﻝ$P اﻝ8$K A$K $ns رة-$ -$! أ، node A$, ع اﻝ$1 $! $ه
G$$ ى آ$$6 =ي ی$$ اﻝSimulator *س$$J اﻝ$$! object $$ رة-$$ $$ وهns 2$$ ا%$$6!
N وذﻝ2A! -A أو اﻝاﻝ اﻝA,ر اﻝ-6ﺥ- مDAK ة-آ-
اﻝD
6 اﻝGﺹ-@6اﻝ
. آ*س أو داﻝ-!¹K $ns class/method ی%Y
$م اﻝاﻝP6$1 -$
% م-$DK ، -$
% $D1 ﻝJی اﺝ
ة ﻝ%
6 }DK ( ان6 ﺡ-AV
ز-$
ز اول إﻝ( اﻝ-
را} ! اﻝ6
وﺝ د را} ! اﻝ8A
86 واﻝduplex-link
$م اﻝاﻝP6$1 }DK ی را} واﺡ%1 -A إذا آ، ز اول-
إﻝ( اﻝ81-|ز اﻝ-
و! اﻝ81-|اﻝ
$$ A( اﻝ$$ 26$$,K $$-6J اﻝ$$@ آ-$$! أ، }$$DK $$} واﺡ$$ را8$$A
8$$ وهsimplex-link
: 8ﻝ-6اﻝ
$ns duplex-link $n0 $n1 <bandwidth> <delay> <queue>
ه=ا-Aﻝ-|! 8Kو
$ns duplex-link $pc1 $router 5mb 2ms DropTail
$ns duplex-link $pc2 $router 5mb 2ms DropTail
$ns duplex-link $pc3 $router 5mb 2ms DropTail
%ﺥ$6ار اﻝD! وGV-A
اﻝ8 وهparameter ! ! GD6 duplex-link داﻝ
؟Queue ه ه=ا-! ، Queue ع1 وGV-A ه=ا اﻝ8K
DropTail, RED, CBQ G$|! ت-$! ارزP اﻝ$! $ ! $ رة-$ هQueue
ل-$! ل-$ اﻝÁ$ت وﻝ-$! ارزP ه=< اﻝG
آK%
ﻝS1%61ﺝ ع إﻝ( ا% اﻝJی
Queue *ء6$! ا8$A
-$
8K 86 واﻝDropTail 8} وهDK واﺡة%=آ1 J ﻝ-
,@
GJ$$E -
$Q 1 -ًA$$ ﺡ، %$$ اﺥ$$! أوG=ی$$ اﻝ$$! م$$ =ف اﻝ$$ $$! ارزP=< اﻝ$$ م ه$$D6K
:%ﺥ4
14
Queue
Drop packet
hﺡgت ه:
-ﻝ tcl $$$ﺡ $$$-ﺝً$$$ا -ﻝ $$$Aﻝ@%ا-$$$ت ی
8$$$Aأ; 2$$$1زم ی $$$Jن ! $$$ -$$$آG$$$
parameterواﺥ%$$$K K-$$$! %$$$اغ واﺡ$$$ة }$$$DKوإ; 8
$$$Kﺥ=$$$@A $$$A $$$
اﻝ.w!-1%
- -ﻝ-$$$ $$$Aء اﻝ Pارز!-$$$ت ی
$$$أن $$$,
$$$6Jرة ﺹ $$$1 -$$$A
K $$$ع
DropTailی
$$أن ی <=$$
$$6Jاﻝ%ی $$Dوإ; أی 8
$$ -ً$ zﺥ 8$$K $$اﻝ=$$@A6
-Kﻝ %وف اﻝ%Jة ﻝ Sآ-ﻝ%,ة ی
.case sensitive (A
-أی -ًzی
آ -6اﻝ !%ز ?! ms, mbاﻝ. D
15
:agent and application تciت واﻝ/Aی اﻝ+
م$D 8$Jت ﻝ-$D6
اﻝGE انJ ! اﻝ° أﺹ-
ورJE ی اﻝJ
=ي$$$ اﻝ$$$z اﻝ$$$ی%
: أو$$$( ﺥ$$$ 6$$$ یN=ﻝ$$$ م-$$$Dم وﻝ$$$ ل اﻝ-$$$ر¹
أ$AK TCP,UDP -$!ل إ-$ ار$Dی%Y G$| ی2$1( أ$ إﻝK-Q- 6 اﻝz6
.
,!ر و,! ( ي6 واﻝ=ي یagent zی اﻝ%
6
-ًD-$$ -$$1% ذآ-$$ آ8$$6 واﻝAgent/TCP ع$$A اﻝ$$! tcp %$$6! -$$AK% ة$$P=< اﻝ$$ ه8$$K
. ر,ﻝ- 21ل و- ار2Dی%Y 6و آ ل اﻝ=ي ی%ل أو اﻝ- ارDی%Y
$$ هTCPSink
$$,ﻝ-K tcpsink $$ وهtcp ر$$, ﻝ$$Aﻝ-
$$, اﻝ$$ی%
6 م$$D1
. TCP } ـDK ص-ﺥ
$ns attach-agent $n0 $tcp
$ -ده-A$ إ6$K ، A
! ةD
ﻝ-ده-A¹ D1
وﻝ,ر واﻝ,ی اﻝ%
6 -AV -Aإﻝ( ه
($ر إﻝ$,د اﻝ-A$- -$AV -$A وه،ر$,ة واﻝD
اﻝGD6 وattach-agent ی اﻝاﻝ%Y
. n0 ةD
اﻝ
$ns attach-agent $n1 $tcpsink
.n1 ةD
ﻝ,د اﻝ-A- -AV
در-$$, اﻝ$$ $$ی%@6 اﻝ6$$ ی8$$J
ﻝ$$,!ر و$$,! G$$ آ$$ ل-$$, ا$ اء%$$
إﺝ$$ی
connect $ داﻝ$ی%Y $ N$
وذﻝ$ اﻝ-
$z
$ -$ه6 وﻝJ$E اﻝ8$K اﻝ ﺝ دة
.
,ر اﻝ,} اﻝ%6ﻝ
set ftp [new Application/FTP]
$ftp attach-agent $tcp
-$$Aﻝ-|! 8$$K و، م$ ل اﻝ-$$ر¹ م$$D ﻝTCP ($$ إﻝ$$
! $$ د-A$$ ا6$$ ة ی$$P=< اﻝ$$ ه8$$K
.attach-agent ی داﻝ%Y tcp ر,د< إﻝ( اﻝ-A¹ -AV وFTP -AK%
16
: 8- ات آP اﻝÁ@A مD1 UDP agent ی%
6وﻝ
set udp [new Agent/UDP]
set null [new Agent/Null]
$ns attach-agent $n0 $udp
$ns attach-agent $n1 $null
$ns connect $udp $null
set cbr [new Application/Traffic/CBR]
$cbr attach-agent $udp
?$! -A TCPSink
,م اﻝP6 اTCP 8@K TCP,UDP ! GJ
ﻝ, اﻝ *ﺡ1
ذا؟- ﻝNull
,م اﻝP6-K UDP
Simulation application -
6$ ی8$6ت اﻝ-$D6 اﻝ8$ وهFTP, Telnet, VoiceOverIP, Audio,…etc G$|!
. DD اﻝJE اﻝ8K -
!اP6ا
Traffic generator -
; ﺝ86ت اﻝ-D6 اﻝ8 وهCBR, VBR, Exponential, Pareto,…etc G|!
-ه$ ی6$ ی$A
! $Dی% <ؤ-$E1 إ6$ یtraffic $آ%رة ﺡ-$ 8$ ه$J وﻝ$DD اﻝ8K
G$$$|! ة-$$$آ- ل اﻝ-$$$! 8$$$K -
!اP6$$$ ا6$$$ ی8$$$6ت اﻝ-$$$
زی6 اﻝ$$$! د$$$ -$$$
$$$وی ﺝ
. -ه% وExponential
17
: " ]ل
FTP م$$ل ﺡ-$$ر¹ ز اول-$$
م اﻝ$$Dزی ی-$$
ﺝ$$! $$1 J! J$$' $$ J6$$ ی-$$Aﻝ-|!
. ز اول-
ﻝCBR ل ﺡم-ر¹ %ز اﺥ-
م اﻝD وی%ز اﺥ-
ﻝ
:*
ً !- آw!-1%اﻝ
set ns [new Simulator]
set f [open out.nam w]
$ns namtrace-all $f
proc finish {} {
global ns f
$ns flush-trace
close $f
# run animation
puts "running nam..."
exec nam out.nam &
exit 0
}
set n0 [$ns node]
set n1 [$ns node]
$ns duplex-link $n0 $n1 5mb 2ms DropTail
set tcp [new Agent/TCP]
set tcpsink [new Agent/TCPSink]
$ns attach-agent $n0 $tcp
$ns attach-agent $n1 $tcpsink
$ns connect $tcp $tcpsink
set ftp [new Application/FTP]
$ftp attach-agent $tcp
$ns at 0.1 "$ftp start"
$ns at 1.5 "$ftp stop"
set udp [new Agent/UDP]
$ns attach-agent $n1 $udp
18
set null [new Agent/Null]
$ns attach-agent $n0 $null
$ns connect $udp $null
set cbr [new Application/Traffic/CBR]
$cbr attach-agent $udp
$ns at 0.0 “$cbr start”
$ns at 1.5 “$cbr stop”
$ns at 1.5 “finish”
$ns run
proc finish {} {
global ns f
$ns flush-trace
close $f
# run animation
puts "running nam..."
exec nam out.nam &
exit 0
}
19
%ی اﺝ%اء ی Jن
-رة procﺙ ا اﺝ%اء و
< اﻝ%6ات اﻝ 86ی -
D6وه-$A
; ی ﺝ .
اﻝ %اول ! اﺝ%اء ی ﺝ -رة ، globalه -Aی 6$اP6$ام ه <=$اﻝ
-$رة 8$K 2$1
ﻝ tclاﻝ%6ات اﻝ ﺝ دة ﺥ-رج اﺝ%$اء ; ی $Jرؤی -$
6داﺥ G$اﺝ%$اء إ; ¹ﺥ-$ر
اﺝ%اء ن ه=ا اﻝ %6ه !%
! %6ف ﺥ-رﺝ 2وی 6ذﻝ%Y Nی -رة .global
اﻝ %اﻝ|- : 81-رة $ns flush-traceوه D 8م %@6ی اﻝ=اآ%ة ! اﻝ%$6ات اﻝ8$6
اP6ا!
8K -اﻝ -آ-ة ﻝ% 6ی %اﻝ-ﺡ اﻝ.!P6
اﻝ %اﻝ%ا? -رة داﻝ إ*ق اﻝ اﻝ=ي 8K 2 6Kای اﻝ.w!-1%
اﻝ %اﻝ- Á!-Pرة - -Yرة ( اﻝP6- '-Eام داﻝ . puts
اﻝ %اﻝ-دس -رة داﻝ Dم =@A6ا! %اﻝ=ي
ه shell 8K -أو terminalأو
،Dosوه nam w!-$$1% =$$@A6 -$$AV -$$Aو!%$$ر اﻝ $$اﻝ=$$ي S$$اﻝ 2$$K $$-6Jوه $$
.out.nam
! ! (D -اﻝ%' w!-1%ﺡ- 2ﻝ. -ًD- G,@6
hﺡgت ه:
-اﻝ %وف اﻝ%Jة ﻝ Sآ-ﻝ %وف اﻝ%,ة . case sensitive
-J! -ن اﺝ%اء ; finishی%6Eط 8Kای اﻝ w!-1%وی Jآ 8K 2-6أي !-Jن ن
اﻝول ی Dم
%6اﺡاث ز! -ًAﺙ =@Aه.-
20
:3(A اﻝNS2 Formatting
: ﺡ-1 ! A6 ث اﻝ6A
Color -
Node manipulation -
Topology layout -
Misc -
:Color اﻝ ان: ;ً أو
أو ﻝ ن اﻝ مlink } أو ﻝ ن راnode ةD ن ﻝ نJ أن ی-!
إK د اﻝ ن-Aإ
: packets
: node ةD
د اﻝ ن ﻝ-Aإ
$node color red
:link }ا%د اﻝ ن ﻝ-Aإ
$ns duplex-link-op $n0 $n1 color green
op رة- K-Q¹ ، -ًD- -A@ أ- آD
م ﻝ
ر} اﻝP6 duplex-link رة-
.label انA
اﻝ ن واﻝG|! options رات- ﺥ8A
86واﻝ
:packets د اﻝ ن ﻝ م-Aإ
:8- آw!-1% ای اﻝ8K مP66 86ی اﻝ ان اﻝ%
; ً أو6ی
$ns color 1 red
$ns color 2 green
$ns color 3 yellow
-! أ، V? أي رQ وJK 6- ﺙ% 8 وه1،2،3 G|! -ً!-Vء اﻝ ان أر-- مD1
وهfid_ %6ی اﻝ%Y N وذﻝagent zد< ﻝ-A ا6K د-A; آ@ ا
: 8ﻝ-6 اﻝ%!ی ا%Y N وذﻝflow id ر-,6اﺥ
$tcp set fid_ 2
$udp set fid_ 3
أول2@ی%
اﻝ=ي2 V اﻝ ن رtcp zﻝ- D
6د ﻝ ن اﻝ م اﻝ-A ا6 ی-Aه
.green %z ه اﻝ ن اﺥ2 V ر-Aﻝ-|! 8K وw!-1%اﻝ
21
$node2 label “host1”
}ا%*
اﻝ
ً |! °Q 6ا} ﻝ% ق اﻝK label °Q رة أو- ?Q وJ ی-ًzأی
: 8ﻝ-6 اﻝ%!- N ن ذﻝJ* وی
ً |! 2 1 أو26%و
$ns duplex-link-op $node $nod2 label “Ethernet link”
: circle, box, hexagon نJ أن ی-!
إK shape GJE اﻝ-!أ
$node shape box
$node2 shape circle
:Topology layout : -ً|ﻝ-ﺙ
N ن ذﻝJ ویnam w!-1% 8K JE اﻝGJ' ÉA 8A
یlayout °, د,Dاﻝ
: 8-آ
$ns duplex-link-op $n0 $n1 orient left
$ns duplex-link-op $n0 $n1 orient right-up
$ns duplex-link-op $n0 $n1 orient down
$ns duplex-link-op $n0 $n1 orient 60deg
امP6- n0 ةD
ﻝAﻝ- n1 ةD
اﻝ2 ?Q 6 ن اﻝ=ي-J? أو اﻝQ 6 ی اﻝ6ی
up, down, right, left, right-up, ) ت-ه-;? اQ وJ ویorient اﻝاﻝ
6K layout ( وإذا ﻝ ی أيright-down, left-up, left-down, 60deg)
. 8Qا%6K? اQ ی اﻝ
:Misc : -ً
را
:- وه-
A! Aح إﺙ%EA A6 اﻝ8K مP6 رة
اﻝوال- 8وه
trace-annotate , set-animation-rate
ت-D
6
اﻝK-Q وإ°Q 6م ﻝP6 داﻝ8 وهtrace-annotate (اﻝاﻝ اوﻝ
: 8- آ-
6@= وﺹA6ء اﻝ-A أﺙnam w!-1% 8K
$ns at 3.5 “$ns trace-annotate \” tcp start send packet\””
tcp start send رة- - م ه=< اﻝاﻝD6 3.5 ! اﻝ8K N ذﻝ8A
وی
.nam w!-1% ! 8@ اﻝء اﻝ8K packet
% ن-,D1 دة أو-م ﻝیP6 8 وهset-animation-rate 8 وه1-|اﻝاﻝ اﻝ
: 8ﻝ-6ﻝ- آ-
6 وﺹnam w!-1% 8K ض%
اﻝ
$ns at 1.0 “$ns set-animation-rate 0.1ms”
22
اzAام +ﻥ:Network Animator(NAM) e
ی 6اP6ام ه=ا اﻝ w!-1%ﻝ
%ض ! آ A
! , 26-6ﺥ-ﺹ 2ﻝ Dم ﻝ
%ض
-61ﺉ wاﻝ -آ-ة ,رة ﺡ%آ £ی 6رؤی اﻝ-6Aﺉ , wرة !% 6آ وه=ا ی-
( اﻝ@
.
; !
ﻝ TCLﻝ-6Jی Jأی%Y ً-zی ه=ا اﻝ w!-1%إ-E1ء 'ً J
اﻝ NS2 8K w!-1%و' GJاﻝ w!-1%ی 8K %
Éاﻝ GJEاﻝ-6ﻝ: 8
23
وه=< ﺹ رة أﺥ%ى ﻝ w!-1%واﻝ °Q 86آ@ إ-E1ء '%Y Jی 2Dون
ﻝ :TCL
ﺡ -ًAان %6Aق إﻝ(
%ی ازرار اﻝ ﺝ دة 8Kاﻝ 8K w!-1%آ* اﻝ اﺝA 6أ
-ﻝ اﺝ
اوﻝ( :
24
اﻝ
ن اﺡ:+
اﻝء اﻝ د -Y¹ر أﺡ %ی 6ى ( أزرار ﻝ% Sی %1 AK -Aاه 8K -أي
! Gأو ! GEأﺹ ات وه -Aاﻝ ,Dد
GE -اﻝ -آ-ة -AV -JKأ 21ی Dم
%ض
اﻝ GJE JEر ! 8وی Jأن D1ل K Kر اﻝ GE6ی GE 6اﻝ -آ-ة ور
ای-Dف ی 6إی-Dف اﻝ -آ-ة وآ=ﻝ Nا!- %ﻝ Aﻝ Dازرار واﻝD 8A
86م إﻝ(
اﻝای أو اﻝ-
Aی وی ﺝ زر -
! GEآ Áﻝ* <-ﺡ £ی Dم
%ض اﻝ@ أK ,V
اﻝ -آ-ة ! -
1ی 26إﻝ( ای.26
اﻝ
ن ا:+i.
اﻝء اﻝ د -ﻝ ن اﺥ %zی 6ى ( ﺥ أزرار ! Kق إﻝ( : S
أول زری و' (
GJ' -
Jوأ@ Gوی-! Dن %J6و %,ﺡ =K-1ة
اﻝ
%ض اﻝ -
86اﻝ.JE
أ! -اﻝر اﻝ|-ﻝ £واﻝ=ي ! 6Jب 2آ Editوی 6ا-
6ﻝ 8K 2ﺡ-ﻝ
یGJ' G
اﻝ
%ض ی
(Aإ-دة
%اﻝ
%6 Dأ!-آ -
Aوذﻝ- Nﻝ -
}zواﻝ% 6ی Nإﻝ(
أي !-Jن.
أﺥ %زری ی-! Dن %J6أو %,ﺡ اﻝ
.D
اﻝ
ن ازرق:
ه=ا اﻝء یP6م -
Íر اﻝ-D
6ت ( ' GJاﻝ%Pﺝ-ت 8Kز! !
وی 6ذﻝN
P6-ام داﻝ trace-annotateاﻝ%' 86ﺡ
-K ، -ﻝ
6اﻝ=ي ی 8K
6Jه=<
اﻝاﻝ ی 8K %
Éه=ا اﻝء اﻝ! اﻝ=ي ی<.
25
وه=< اﻝ اﺝ
اﻝ| 1-اﻝ-A 8K -
!P61 86ء ' Jون اP6ام ﻝ TCLوی°6K 6
ه=< اﻝ=K-Aة %Yی Nam w!-1% °6Kوذﻝ%Y Nی 8K cmd °6KویAوز أو
8K terminal °6Kﻝ ÁJAوآnam.exe(windows) or nam(linux) -6
%
É6Kاﻝ اﺝ
اﻝ-6ﻝ :
ه=< اﻝ اﺝ
8KویAوز ﺙ ! -Vﺉ -6P1 Fileر .new
ذﻝ Nی 6اﻝ ( }zزر اﻝ
Dة ﺙ اﻝ-! 8K }zﺡ اﻝ %ﺙ زر اﻝ }Pأو
اﻝ%ا} واﻝ ( }zاﻝ
Dة اوﻝ( واﻝ
ﺡ (6اﻝ
Dة اﻝ| 1-ﺡ (6ی 6ر 'GJ
اﻝ JEاﻝ=ي %1ی<.
-@ Dﺹ Gه=ا اﻝ V w!-1%م %Eﺡ
- -ﻝ G,@6إن '-ء ا 8K 0إﺹارة أﺥ%ى
*.
6 -
1ذآ
%اﻝ ا ?Qاﻝً V !D6
26
ی اﻝء اول-
1
.....81-| اﻝء اﻝ0ء ا-E1 إ-ًی%Vو
27