• 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 Yogyakarta. 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 $ns use-scheduler List

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"

viii

ABSTRAK

Dalam kehidupan sehari - hari internet mengalami perkembangan yang cukup pesat dan manusia sangat bergantung pada penggunaannya. Hal ini akan mengakibatkan penurunan performa jaringan internet yang akan membuat lambatnya koneksi maupun transfer data. Termasuk aplikasi video streaming yang sering digunakan. Untuk mencari solusi dari permasalahan itu, digunakan teknologi Multi Protocol Label Switching (MPLS). Pada tugas akhir ini akan diuji kinerja jaringan MPLS menggunakan aplikasi video streaming.

Penelitian ini menggunakan simulasi dengan bantuan Network Simulator 2

(NS-2). Pengambilan data didapat dari trace file hasil simulasi dan dihitung dengan menggunakan program .awk. program. Pengujian dilakukan menggunakan jaringan MPLS dan non MPLS berdasarkan ukuran file video yang berbeda-beda. Pengujian kinerja jaringan MPLS dan non MPLS berdasarkan parameter average delay, packet loss, throughput, dan mean opinion score (MOS).

Dari analisa yang diambil, maka secara keseluruhan dapat ditarik kesimpulan bahwa jaringan MPLS lebih baik dari pada jaringan non MPLS pada parameter

average delay, paket loss, dan throughput. Untuk parameter MOS, jaringan MPLS dan non MPLS memiliki kualitas video yang sama - sama baik.

Kata kunci : MPLS, video streaming, average delay router, paket loss router,

ix

ABSTRACT

In the daily life internet have increased very fast and human very depend on it. This case will effect in the decrease of the internet network which can make the transfer data and connection more slowly. Included the frequently used of video streaming application. For knowing the solution from the problems, this research takes Multi Protocol Label Switching (MPLS) technology. This research will test the work of MPLS network using video streaming application.

This research using simulation based on Network Simulator 2 (NS-2). The data source is taken from trace file of the simulation and counted with .awk. The test using MPLS and non MPLS network based in the different size of the file video. The test of MPLS and non MPLS network based on the parameter of the average delay,

packet loss, throughput, and mean opinion score (MOS).

From the analysis, there are some conclusion that MPLS network is better than non MPLS network in the parameter of average delay, packet loss, and

throughput. For MOS parameter, MPLS network and non MPLS network have no difference in the video quality.

Keywords: MPLS, video streaming, average delay router, paket loss router,

Dokumen terkait