• Tidak ada hasil yang ditemukan

BAB III PERANCANGAN SIMULAS

5.2. Saran

Beberapa saran dari penulis agar peneliti selanjutnya dapat memperhatikan hal-hal di bawah ini, guna perbaikan ke arah yang lebih baik. Adapun saran tersebut adalah :

1. Node router yang digunakan dalam tugas akhir ini hanya 4 buah. Sebaiknya untuk mendapatkan sampel yang lebih akurat, jumlah node router diperbanyak lagi.

2. Ukuran bandwidth yang diuji dalam penelitian ini 32 kbps, 64 kbps, 128 kbps, 256 kbps, 512 kbps, dan 1024 kbps. Sebaiknya untuk mendapatkan sampel yang lebih akurat, ukuran bandwidth lebih bervariasi lagi.

DAFTAR PUSTAKA

[1] Internet World Stats. 2011. ASIA INTERNET USAGE AND POPULATION : 31 December 2011. Sumber : http://www.internetworldstats.com/stats3.htm (Online) Diakses : 21 Februari 2012

[2] Purwaningsih, Heni. 2011. Analisis dan Perancangan Jaringan MPLS di PT. Telkom Yogyaka rta. Sumber : http://repository.amikom.ac.id. Teknik Informatika, STMIK AMIKOM. Diakses : 8 Februari 2012.

[3] Wastuwibowo, Kuncoro. 2003. Jaringan MPLS. Sumber : http://www.batan.go.id/ppin/admin/UserFiles/upload/mpls-overview.pdf. Diakses : 21 Maret 2012.

[4] Sarwono, Bagus. 2010. Konsep Dasar. Sumber : http://www.scribd.com/doc/49307005/Konsep-Dasar-MPLS. Jurusan Elektro, Universitas Hasanudin. Diakses : 19 Maret 2012.

[5] Rosen, et al. Multiprotocol Label Switching Architecture. 2001. http://tools.ietf.org/html/rfc3031. Diakses : 28 Januari 2013

[6] Maulita, Yani. 2011. Analisa Konfigurasi Multi Protocol Label Switching Untuk Meningkatkan Kinerja Jaringan. Sumber : http://repository.usu.ac.id/handle/123456789/30594. Diakses : 17 Februari 2012.

[7] Wu, Dapeng et al .Streaming Video over the Internet : Approaches and Directions.2001.Sumber http://www.ece.cmu.edu/~peha/streaming_video.pdf. Diakses 28 Januari 2013

[8] EvalVid Documentation. Usage of EvalVid 2 with 2 GPAC (supports H.263, H.264 and MPEG-4). Technical University of Berlin, Telecomunication Network(TKN).http://www.tkn.tu.berlin.de/research/evalvid/EvalVid/doceval vid.html. Diakses 6 Agustus 2012

[9] MPEG-4 and H.263 Video Traces for Network Performance Evaluation. http://www.tkn.tu-berlin.de/research/trace/trace.html. Diakses 29 Juli 2012

[10] Rizaldi, Haidar dkk. 2010. QoS (Quality of Service). Sumber : http://imamnet.files.wordpress.com/2011/01/makalah-quality-of-service.pdf.

Teknik Informatika, UIN Sunan Kalijaga. Diakses : 27 Maret 2012.

[11] Klaue, Jirka, Berthold Rathke, Adam Wolisz. Evalvid – A Framework for Video Transmission and Quality Evaluation. Technical Universuty of Berlin, Tellecommunication Network Group (TKN). 2003. http://www.tkn.tu- berlin.de/publications/papers/evalvid.pdf. Diakses : 6 Agustus 2012

[12] Wirawan, Andi Bayu dan Eka Indarto. 2003. Mudah Membangun Simulasi dengan Network Simulator – 2. Penerbit ANDI. Yogyakarta

[13] Issaraiyakul T. and E. Hossain,Post processing NS2 Result using NS2 Trace

— Ex1 [Link throughput calculation].

http://www.ns2ultimate.com/post/3442965938/post-processing-ns2-result- using-ns2-trace-ex1-link. Diakses 20 Desember 2012

LAMPIRAN

CONTOH LISTING PROGRAM

1. Jaringan_non_mpls.tcl set ns [new Simulator]

set nd [open out.tr w] $ns trace-all $nd

set nf [open out.nam w] $ns namtrace-all $nf

set max_fragmented_size 1024

#add rtp header (12 bytes), udp header(8 bytes) and IP header (20bytes) set packetSize 1064

set server [$ns node] set r1 [$ns node] set r2 [$ns node] set r3 [$ns node] set r4 [$ns node] set client1 [$ns node] set client2 [$ns node] set client3 [$ns node] set client4 [$ns node] set client5 [$ns node]

$ns duplex-link $server $r1 2048Mb 0.5ms DropTail $ns simplex-link $r1 $r2 1024Mb 0.5ms DropTail $ns simplex-link $r2 $r1 1024Mb 0.5ms DropTail $ns simplex-link $r1 $r3 1024Mb 0.5ms DropTail $ns simplex-link $r3 $r1 1024Mb 0.5ms DropTail $ns simplex-link $r2 $r4 1024Mb 0.5ms DropTail $ns simplex-link $r4 $r2 1024Mb 0.5ms DropTail

$ns simplex-link $r3 $r4 1024Mb 0.5ms DropTail $ns simplex-link $r4 $r3 1024Mb 0.5ms DropTail $ns duplex-link $r4 $client1 2048Mb 0.5ms DropTail $ns duplex-link $r4 $client2 2048Mb 0.5ms DropTail $ns duplex-link $r4 $client3 2048Mb 0.5ms DropTail $ns duplex-link $r4 $client4 2048Mb 0.5ms DropTail $ns duplex-link $r4 $client5 2048Mb 0.5ms DropTail

set qr1r2 [[$ns link $r1 $r2] queue] $qr1r2 set limit_ 10

set qr1r3 [[$ns link $r1 $r3] queue] $qr1r3 set limit_ 10

set qr2r4 [[$ns link $r2 $r4] queue] $qr2r4 set limit_ 10

set qr3r4 [[$ns link $r3 $r4] queue] $qr3r4 set limit_ 10

set udp1 [new Agent/my_UDP] $ns attach-agent $server $udp1 $udp1 set packetSize_ $packetSize $udp1 set_filename wired_sd $udp1 wired

set udp2 [new Agent/my_UDP] $ns attach-agent $server $udp2 $udp2 set packetSize_ $packetSize $udp2 set_filename wired2_sd $udp2 wired

set udp3 [new Agent/my_UDP] $ns attach-agent $server $udp3 $udp3 set packetSize_ $packetSize $udp3 set_filename wired3_sd $udp3 wired

set udp4 [new Agent/my_UDP] $ns attach-agent $server $udp4

$udp4 set packetSize_ $packetSize $udp4 set_filename wired4_sd $udp4 wired

set udp5 [new Agent/my_UDP] $ns attach-agent $server $udp5 $udp5 set packetSize_ $packetSize $udp5 set_filename wired5_sd $udp5 wired

set null1 [new Agent/myEvalvid_Sink] $ns attach-agent $client1 $null1

$ns connect $udp1 $null1 $null1 set_filename wired_rd $null1 wired

set null2 [new Agent/myEvalvid_Sink] $ns attach-agent $client2 $null2

$ns connect $udp2 $null2 $null2 set_filename wired2_rd $null2 wired

set null3 [new Agent/myEvalvid_Sink] $ns attach-agent $client3 $null3

$ns connect $udp3 $null3 $null3 set_filename wired3_rd $null3 wired

set null4 [new Agent/myEvalvid_Sink] $ns attach-agent $client4 $null4

$ns connect $udp4 $null4 $null4 set_filename wired4_rd $null4 wired

set null5 [new Agent/myEvalvid_Sink] $ns attach-agent $client5 $null5

$null5 set_filename wired5_rd $null5 wired

set original_file_name bridge-far_cif.st set trace_file_name video1.dat

set trace_file_name video2.dat set trace_file_name video3.dat set trace_file_name video4.dat set trace_file_name video5.dat

set original_file_id [open $original_file_name r] set trace_file_id [open $trace_file_name w]

set pre_time 0

while {[eof $original_file_id] == 0} { gets $original_file_id current_line

scan $current_line "%d%s%d%d%f" no_ frametype_ length_ tmp1_ tmp2_ set time [expr int(($tmp2_ - $pre_time)*1000000.0)]

if { $frametype_ == "I" } { set type_v 1 set prio_p 0 } if { $frametype_ == "P" } { set type_v 2 set prio_p 0 } if { $frametype_ == "B" } { set type_v 3 set prio_p 0 } if { $frametype_ == "H" } { set type_v 1 set prio_p 0

}

puts $trace_file_id "$time $length_ $type_v $prio_p $max_fragmented_size" set pre_time $tmp2_ } close $original_file_id close $trace_file_id set end_sim_time $tmp2_ puts "$end_sim_time"

set trace_file [new Tracefile]

$trace_file filename $trace_file_name

set video1 [new Application/Traffic/myEvalvid] $video1 attach-agent $udp1

$video1 attach-tracefile $trace_file $video1 wired

set trace_file [new Tracefile]

$trace_file filename $trace_file_name

set video2 [new Application/Traffic/myEvalvid] $video2 attach-agent $udp2

$video2 attach-tracefile $trace_file $video2 wired

set trace_file [new Tracefile]

$trace_file filename $trace_file_name

set video3 [new Application/Traffic/myEvalvid] $video3 attach-agent $udp3

$video3 attach-tracefile $trace_file $video3 wired

set trace_file [new Tracefile]

$trace_file filename $trace_file_name

set video4 [new Application/Traffic/myEvalvid] $video4 attach-agent $udp4

$video4 wired

set trace_file [new Tracefile]

$trace_file filename $trace_file_name

set video5 [new Application/Traffic/myEvalvid] $video5 attach-agent $udp5

$video5 attach-tracefile $trace_file $video5 wired

proc finish {} {

global ns nd udp1 null1 udp2 null2 udp3 null3 udp4 null4 udp5 null5 $ns flush-trace close $nd $udp1 closefile $null1 closefile $udp2 closefile $null2 closefile $udp3 closefile $null3 closefile $udp4 closefile $null4 closefile $udp5 closefile $null5 closefile

puts "simulation completed" exit 0 } $ns at 0.0 "$video1 start" $ns at 0.0 "$video2 start" $ns at 0.0 "$video3 start" $ns at 0.0 "$video4 start" $ns at 0.0 "$video5 start"

$ns at $end_sim_time "$video1 stop"

$ns at [expr $end_sim_time + 1.0] "$null1 closefile" $ns at $end_sim_time "$video2 stop"

$ns at $end_sim_time "$video3 stop"

$ns at [expr $end_sim_time + 1.0] "$null3 closefile" $ns at $end_sim_time "$video4 stop"

$ns at [expr $end_sim_time + 1.0] "$null4 closefile" $ns at $end_sim_time "$video5 stop"

$ns at [expr $end_sim_time + 1.0] "$null5 closefile" $ns at [expr $end_sim_time + 1.0] "finish"

$ns run

2. Jaringan_mpls.tcl set ns [new Simulator]

set nd [open out.tr w] $ns trace-all $nd

set nf [open out.nam w] $ns namtrace-all $nf

set max_fragmented_size 1024

#add rtp header (12 bytes), udp header(8 bytes) and IP header (20bytes) set packetSize 1064

set server [$ns node]

$ns node-config -MPLS ON set r1 [$ns node] set r2 [$ns node] set r3 [$ns node] set r4 [$ns node] $ns node-config -MPLS OFF set client1 [$ns node]

set client2 [$ns node] set client3 [$ns node] set client4 [$ns node] set client5 [$ns node]

$ns duplex-link $server $r1 2048Mb 0.5ms DropTail $ns simplex-link $r1 $r2 2048Mb 0.5ms DropTail $ns simplex-link $r2 $r1 2048Mb 0.5ms DropTail $ns simplex-link $r1 $r3 2048Mb 0.5ms DropTail $ns simplex-link $r3 $r1 2048Mb 0.5ms DropTail $ns simplex-link $r2 $r4 2048Mb 0.5ms DropTail $ns simplex-link $r4 $r2 2048Mb 0.5ms DropTail $ns simplex-link $r3 $r4 2048Mb 0.5ms DropTail $ns simplex-link $r4 $r3 2048Mb 0.5ms DropTail $ns duplex-link $r4 $client1 2048Mb 0.5ms DropTail $ns duplex-link $r4 $client2 2048Mb 0.5ms DropTail $ns duplex-link $r4 $client3 2048Mb 0.5ms DropTail $ns duplex-link $r4 $client4 2048Mb 0.5ms DropTail $ns duplex-link $r4 $client5 2048Mb 0.5ms DropTail

for {set i 1} {$i < 4} {incr i} { set a r$i

for {set j [expr $i+1]} {$j < 4} {incr j} { set b r$j

eval $ns LDP-peer $$a $$b }

set m [eval $$a get-module "MPLS"] $m enable-reroute "new"

}

Classifier/Addr/MPLS set control_driven_ 1 Classifier/Addr/MPLS enable-on-demand Classifier/Addr/MPLS enable-ordered-control

[$r1 get-module "MPLS"] enable-control-driven [$r1 get-module "MPLS"] enable-data-driven

Agent/LDP set trace_ldp_ 1

Classifier/Addr/MPLS set trace_mpls_ 1

set qr1r2 [[$ns link $r1 $r2] queue] $qr1r2 set limit_ 10

set qr1r3 [[$ns link $r1 $r3] queue] $qr1r3 set limit_ 10

set qr2r4 [[$ns link $r2 $r4] queue] $qr2r4 set limit_ 10

set qr3r4 [[$ns link $r3 $r4] queue] $qr3r4 set limit_ 10

set udp1 [new Agent/my_UDP] $ns attach-agent $server $udp1 $udp1 set packetSize_ $packetSize $udp1 set_filename wired_sd $udp1 wired

set udp2 [new Agent/my_UDP] $ns attach-agent $server $udp2 $udp2 set packetSize_ $packetSize $udp2 set_filename wired2_sd $udp2 wired

set udp3 [new Agent/my_UDP] $ns attach-agent $server $udp3 $udp3 set packetSize_ $packetSize $udp3 set_filename wired3_sd $udp3 wired

set udp4 [new Agent/my_UDP] $ns attach-agent $server $udp4 $udp4 set packetSize_ $packetSize $udp4 set_filename wired4_sd $udp4 wired

set udp5 [new Agent/my_UDP] $ns attach-agent $server $udp5 $udp5 set packetSize_ $packetSize $udp5 set_filename wired5_sd

$udp5 wired

set null1 [new Agent/myEvalvid_Sink] $ns attach-agent $client1 $null1

$ns connect $udp1 $null1 $null1 set_filename wired_rd $null1 wired

set null2 [new Agent/myEvalvid_Sink] $ns attach-agent $client2 $null2

$ns connect $udp2 $null2 $null2 set_filename wired2_rd $null2 wired

set null3 [new Agent/myEvalvid_Sink] $ns attach-agent $client3 $null3

$ns connect $udp3 $null3 $null3 set_filename wired3_rd $null3 wired

set null4 [new Agent/myEvalvid_Sink] $ns attach-agent $client4 $null4

$ns connect $udp4 $null4 $null4 set_filename wired4_rd $null4 wired

set null5 [new Agent/myEvalvid_Sink] $ns attach-agent $client5 $null5

$ns connect $udp5 $null5 $null5 set_filename wired5_rd $null5 wired

set original_file_name foreman_cif.st set trace_file_name video1.dat set trace_file_name video2.dat set trace_file_name video3.dat set trace_file_name video4.dat

set trace_file_name video5.dat

set original_file_id [open $original_file_name r] set trace_file_id [open $trace_file_name w]

set pre_time 0

while {[eof $original_file_id] == 0} { gets $original_file_id current_line

scan $current_line "%d%s%d%d%f" no_ frametype_ length_ tmp1_ tmp2_ set time [expr int(($tmp2_ - $pre_time)*1000000.0)]

if { $frametype_ == "I" } { set type_v 1 set prio_p 0 } if { $frametype_ == "P" } { set type_v 2 set prio_p 0 } if { $frametype_ == "B" } { set type_v 3 set prio_p 0 } if { $frametype_ == "H" } { set type_v 1 set prio_p 0 }

puts $trace_file_id "$time $length_ $type_v $prio_p $max_fragmented_size" set pre_time $tmp2_

}

close $original_file_id close $trace_file_id

set end_sim_time $tmp2_ puts "$end_sim_time"

set trace_file [new Tracefile]

$trace_file filename $trace_file_name

set video1 [new Application/Traffic/myEvalvid] $video1 attach-agent $udp1

$video1 attach-tracefile $trace_file $video1 wired

set trace_file [new Tracefile]

$trace_file filename $trace_file_name

set video2 [new Application/Traffic/myEvalvid] $video2 attach-agent $udp2

$video2 attach-tracefile $trace_file $video2 wired

set trace_file [new Tracefile]

$trace_file filename $trace_file_name

set video3 [new Application/Traffic/myEvalvid] $video3 attach-agent $udp3

$video3 attach-tracefile $trace_file $video3 wired

set trace_file [new Tracefile]

$trace_file filename $trace_file_name

set video4 [new Application/Traffic/myEvalvid] $video4 attach-agent $udp4

$video4 attach-tracefile $trace_file $video4 wired

set trace_file [new Tracefile]

$trace_file filename $trace_file_name

set video5 [new Application/Traffic/myEvalvid] $video5 attach-agent $udp5

$video5 attach-tracefile $trace_file $video5 wired

proc finish {} {

global ns nd udp1 null1 udp2 null2 udp3 null3 udp4 null4 udp5 null5 $ns flush-trace close $nd $udp1 closefile $null1 closefile $udp2 closefile $null2 closefile $udp3 closefile $null3 closefile $udp4 closefile $null4 closefile $udp5 closefile $null5 closefile

puts "simulation completed" exit 0 } $ns at 0.0 "$video1 start" $ns at 0.0 "$video2 start" $ns at 0.0 "$video3 start" $ns at 0.0 "$video4 start" $ns at 0.0 "$video5 start" $ns at 0.1 "[$r1 get-module MPLS] trace-mpls"

$ns at $end_sim_time "$video1 stop"

$ns at [expr $end_sim_time + 1.0] "$null1 closefile" $ns at $end_sim_time "$video2 stop"

$ns at [expr $end_sim_time + 1.0] "$null2 closefile" $ns at $end_sim_time "$video3 stop"

$ns at [expr $end_sim_time + 1.0] "$null3 closefile" $ns at $end_sim_time "$video4 stop"

$ns at [expr $end_sim_time + 1.0] "$null4 closefile" $ns at $end_sim_time "$video5 stop"

$ns at [expr $end_sim_time + 1.0] "$null5 closefile" $ns at [expr $end_sim_time + 1.0] "finish"

Dokumen terkait