Implementasi Rateless Code Pada Content Delivery Network

(1)

LAMPIRAN 1

Proses Saat Menjalankan Simulasi NS-2

1. Hal yang pertama dilakukan adalah membuka “command line” pada OS Ubuntu 12.35. Dengan cara “ Ctrl + Alt + T “, apabila sudah dilakukan akan terlihat pada gambar berikut.

Gambar Terminal Pada Ubuntu 12.35

2. Langkah selanjutnya, kita membuat sebuah “Folder” di “Home” dan kita tempatkan file yang berformat .tcl yaitu program yang sudah dibuat sebelumnya (Lampiran 5 dan 6) dan trafik video yang berformat .txt.


(2)

3. Apabila sudah selesai dilakukan, maka kembali ke “command line” untuk proses pengujian simulasi pada NS-2. Pada “command line” ketik sebuah perintah “cd” yang mana fungsinya kita untuk masuk kedalam folder yang kita buat sebelumnya, kalau pada simulasi ini nama foldernya “CDN_tanpa_rlc” yang dapat terlihat pada gambar dibawah. Kemudian tekan “Enter”.

Gambar Command Line Pada Ubuntu 12.35

4. Jika sudah, ketik sebuah perintah “ns” yang mana fungsinya untuk menjalankan program NS-2. Lalu tekan “Enter”.


(3)

5. Pada gambar dibawah, menunjukkan program NS-2 sedang berjalan.

Gambar Pogram NS-2 Sedang Berjalan

6. Jadi, pada saat proses simulasi sudah selesai berjalan, maka akan muncul sebuah animasi .nam yang sudah dilakukan menggunakan program .Tcl yang dapat terlihat pada gambar dibawah. Untuk melihat proses terjadinya simulasi dengan meng klik “Play Forward”.


(4)

7. Kemudian, dari simulasi pada NS-2 didapat sebuah file yang berbentuk .txt yang nantinya kita olah kedalam Ms.Exel untuk mendapat hasil simulasi yang kita inginkan. Untuk Tugas akhir ini hanya menganalisa permintaan client saja sehingga file dengan nama “udprec” yang diolah nantinya. Seperi yang terlihat pada gambar dibawah.

Gambar Hasil Simulasi Pada NS-2

8. Pada Gambar dibawah, itu adalah salah satu isi hasil simulasi yang telah dilakukan dan hasil simulasi tersebut di olah menggunakan Ms.Exel agar diapat perhitunga delaydan packet loss.


(5)

LAMPIRAN 2

Proses Penerapan Rateless Code Pada Trafik Video

Gambar Trafik Video

1. Trafik Video dipindahkan Ke Ms.Exel terlebih dahulu.


(6)

2. Penerapan Rateless Code 50% Pada Trafik Video

Pada Trafik Video hanya Freme I saja yang dilakukan penerapanRateless Code, terlihat pada Urutan ke-1 dimana :

a. Jenis : Frame I

b. Kapasitas Frame : 15876 byte

Rateless code 50% = 15876 × 50

100= 7983 byte

Penerapan Rateless code 50% = 15876 + Rateless code 50% = 15876 byte + 7983 byte = 24068 byte

c. Ukuran Paket : 16 paket

Rateless code 50% = 16 × 50

100= 8 paket

Penerapan Rateless code 50% = 16 paket + Rateless code 50% = 16 paket+8 paket = 24 paket

Penerapan Rateless Code 100% Pada Trafik Video

a. Jenis : Frame I b. Kapasitas Frame : 15876 byte

Rateless code 100% = 15876 × 100

100=15876 byte

Penerapan Rateless code 100% = 15876 + Rateless code 100% = 15876 byte +15876 byte = 32260 byte

c. Ukuran Paket : 16 paket

Rateless code 100% = 16 × 100

100= 16 paket

Penerapan Rateless code 50% = 16 paket + Rateless code 50% = 16 paket + 16 paket = 32 paket


(7)

Gambar Trafik Video yang telah diterapkan Rateless Code 50%


(8)

3. Kemudian dipindahkan ke dalam bentuk berformat .text.

Gambar Text Editor Pada Ubuntu12.05 LTS


(9)

Gambar Trafik Video penerapan Rateless Code 100% di Text Editor

4. Kemudian di “Save” kedalam bentuk .text. Apabila sudah selesai di “Save” selanjutnya pengujian siap untuk disimulasikan.


(10)

LAMPIRAN 3

Hasil Pengujian Delay Untuk Jaringan CDN Tanpa RatelessCode

Client Percoban Rec1 (Detik) Rec2 (Detik) Rec3 (Detik) Rec4 (Detik) Rec5 (Detik) Rec6 (Detik) Rec7 (Detik) Rec8 (Detik) Rec9 (Detik) Rec10

(Detik) Rata" 1 0,010570 0,010739 0,066411 0,069705 0,049440 0,149166 0,149445 0,066150 0,046698 0,047976 0,066630 2 0,010570 0,010739 0,066495 0,069726 0,050046 0,152995 0,152019 0,066893 0,046698 0,047976 0,067416 3 0,010570 0,010739 0,066514 0,069746 0,050062 0,153663 0,152707 0,066898 0,046698 0,047975 0,067557 4 0,010570 0,010739 0,066465 0,069732 0,050016 0,154003 0,152934 0,066954 0,046698 0,047975 0,067609 5 0,010570 0,010739 0,066506 0,069771 0,050093 0,153345 0,152585 0,066982 0,046698 0,047975 0,067526 6 0,010570 0,010739 0,066458 0,069667 0,050124 0,155379 0,153645 0,067033 0,046698 0,047976 0,067829 7 0,010570 0,010739 0,066432 0,069616 0,050162 0,153938 0,152705 0,067055 0,046698 0,047976 0,067589 8 0,010570 0,010739 0,066454 0,069621 0,050046 0,155120 0,152925 0,067061 0,046698 0,047976 0,067721 9 0,010570 0,010739 0,066471 0,069626 0,050067 0,154728 0,154136 0,067053 0,046698 0,047976 0,067806 10 0,010570 0,010739 0,066436 0,069636 0,050119 0,155467 0,153604 0,067043 0,046698 0,047976 0,067829 11 0,010570 0,010739 0,066324 0,069593 0,050054 0,154797 0,153716 0,067036 0,046698 0,047976 0,067750 12 0,010570 0,010739 0,066363 0,069613 0,050088 0,152265 0,152752 0,067035 0,046698 0,047975 0,067410 13 0,010570 0,010739 0,066402 0,069639 0,050156 0,152748 0,153377 0,067034 0,046698 0,047975 0,067534 14 0,010570 0,010739 0,066314 0,069581 0,050214 0,153521 0,153209 0,067017 0,046698 0,047975 0,067584 15 0,010570 0,010739 0,066358 0,069608 0,050171 0,153846 0,153842 0,066989 0,046698 0,047975 0,067680 16 0,010570 0,010739 0,066458 0,069651 0,050169 0,153414 0,153438 0,066978 0,046698 0,047975 0,067609 17 0,010570 0,010739 0,066460 0,069617 0,050093 0,154262 0,153570 0,066961 0,046698 0,047975 0,067695 18 0,010570 0,010739 0,066561 0,069703 0,050108 0,154170 0,154222 0,066953 0,046698 0,047975 0,067770 19 0,010570 0,010739 0,066601 0,069774 0,050126 0,152855 0,153302 0,066942 0,046698 0,047975 0,067558 20 0,010570 0,010765 0,066846 0,070189 0,050544 0,154558 0,154710 0,067296 0,046820 0,048462 0,068076


(11)

Hasil Pengujian Packet Loss Untuk Jaringan CDN Tanpa RatelessCode Client Percoban Rec1 (Detik) Rec2 (Detik) Rec3 (Detik) Rec4 (Detik) Rec5 (Detik) Rec6 (Detik) Rec7 (Detik) Rec8 (Detik) Rec9 (Detik) Rec10

(Detik) Rata"

1 0% 0% 0% 0% 0% 16% 17% 0% 0% 0% 3%

2 0% 0% 0% 0% 0% 19% 21% 0% 0% 0% 4%

3 0% 0% 0% 0% 0% 19% 20% 0% 0% 0% 4%

4 0% 0% 0% 0% 0% 16% 20% 0% 0% 0% 4%

5 0% 0% 0% 0% 0% 19% 19% 0% 0% 0% 4%

6 0% 0% 0% 0% 0% 16% 19% 0% 0% 0% 3%

7 0% 0% 0% 0% 0% 18% 19% 0% 0% 0% 4%

8 0% 0% 0% 0% 0% 18% 20% 0% 0% 0% 4%

9 0% 0% 0% 0% 0% 19% 19% 0% 0% 0% 4%

10 0% 0% 0% 0% 0% 17% 20% 0% 0% 0% 4%

11 0% 0% 0% 0% 0% 19% 20% 0% 0% 0% 4%

12 0% 0% 0% 0% 0% 18% 19% 0% 0% 0% 4%

13 0% 0% 0% 0% 0% 19% 19% 0% 0% 0% 4%

14 0% 0% 0% 0% 0% 19% 17% 0% 0% 0% 4%

15 0% 0% 0% 0% 0% 18% 19% 0% 0% 0% 4%

16 0% 0% 0% 0% 0% 20% 20% 0% 0% 0% 4%

17 0% 0% 0% 0% 0% 17% 20% 0% 0% 0% 4%

18 0% 0% 0% 0% 0% 18% 18% 0% 0% 0% 4%

19 0% 0% 0% 0% 0% 18% 18% 0% 0% 0% 4%

20 0% 2% 12% 14% 4% 24% 26% 5% 11% 16% 11%


(12)

LAMPIRAN 4

Hasil Pengujian Delay RatelessCode Pada Jaringan CDN

1. Penerapan RatelessCode 50%

Client Percobaan Rec1 (Detik) Rec2 (Detik) Rec3 (Detik) Rec4 (Detik) Rec5 (Detik) Rec6 (Detik) Rec7 (Detik) Rec8 (Detik) Rec9 (Detik) Rec10

(Detik) Rata" 1 0,012981 0,013293 0,086619 0,090763 0,063533 0,172305 0,182523 0,081244 0,062424 0,063696 0,082938 2 0,012989 0,013292 0,086773 0,090774 0,064962 0,178370 0,186007 0,082716 0,062424 0,063696 0,084200 3 0,012989 0,013292 0,086747 0,090739 0,064944 0,179404 0,185617 0,082733 0,062424 0,063696 0,084258 4 0,012989 0,013292 0,086778 0,090795 0,064965 0,180900 0,186458 0,082797 0,062423 0,063696 0,084509 5 0,012989 0,013292 0,086773 0,090757 0,064998 0,179910 0,186669 0,082836 0,062423 0,063696 0,084434 6 0,012989 0,013292 0,086724 0,090651 0,065033 0,178675 0,185403 0,082889 0,062424 0,063696 0,084177 7 0,012988 0,013293 0,086694 0,090613 0,065061 0,180204 0,183926 0,082925 0,062424 0,063696 0,084182 8 0,012988 0,013293 0,086707 0,090585 0,064955 0,178634 0,186661 0,082926 0,062424 0,063696 0,084287 9 0,012988 0,013293 0,086688 0,090627 0,064973 0,180753 0,185420 0,082911 0,062424 0,063696 0,084377 10 0,012988 0,013293 0,086652 0,090643 0,065017 0,179725 0,185944 0,082892 0,062424 0,063696 0,084327 11 0,012989 0,013293 0,086569 0,090606 0,064960 0,180937 0,185821 0,082882 0,062424 0,063696 0,084418 12 0,012989 0,013292 0,086602 0,090629 0,064997 0,179764 0,188126 0,082880 0,062424 0,063696 0,084540 13 0,012989 0,013292 0,086629 0,090646 0,065055 0,178888 0,189951 0,082876 0,062424 0,063696 0,084645 14 0,012989 0,013292 0,086559 0,090591 0,065118 0,176539 0,189134 0,082850 0,062424 0,063696 0,084319 15 0,012989 0,013292 0,086609 0,090612 0,065097 0,180123 0,187171 0,082825 0,062424 0,063696 0,084484 16 0,012989 0,013292 0,086709 0,090631 0,065100 0,180069 0,187565 0,082810 0,062424 0,063696 0,084528 17 0,012989 0,013292 0,086737 0,090626 0,065025 0,178731 0,187235 0,082797 0,062424 0,063696 0,084355 18 0,012989 0,013292 0,086830 0,090721 0,065027 0,179047 0,186267 0,082790 0,062424 0,063696 0,084308 19 0,012989 0,013292 0,086852 0,090807 0,065038 0,180388 0,187000 0,082773 0,062424 0,063696 0,084526 20 0,012989 0,013326 0,087599 0,091722 0,065928 0,180176 0,190518 0,083404 0,062957 0,064786 0,085340


(13)

2. Penerapan RatelessCode 100% Client Percobaan Rec1 (Detik) Rec2 (Detik) Rec3 (Detik) Rec4 (Detik) Rec5 (Detik) Rec6 (Detik) Rec7 (Detik) Rec8 (Detik) Rec9 (Detik) Rec10

(Detik) Rata"

1 0,016564 0,016498 0,114209 0,119976 0,080978 0,205654 0,230353 0,100208 0,089448 0,084022 0,105791 2 0,016574 0,016499 0,114435 0,119989 0,083099 0,211966 0,236574 0,101975 0,089447 0,084021 0,107458 3 0,016574 0,016856 0,114439 0,119987 0,083185 0,212408 0,236584 0,102520 0,089447 0,084021 0,107602 4 0,016574 0,016112 0,114391 0,119968 0,083080 0,214461 0,238210 0,102504 0,089447 0,084021 0,107877 5 0,016574 0,016499 0,114405 0,119933 0,083139 0,211728 0,235846 0,102506 0,089447 0,084021 0,107410 6 0,016574 0,016499 0,114374 0,119834 0,082947 0,213223 0,234200 0,102599 0,089447 0,084021 0,107372 7 0,016573 0,016499 0,114344 0,119801 0,082972 0,213303 0,233705 0,102653 0,089447 0,084022 0,107332 8 0,016573 0,016499 0,114329 0,119800 0,082771 0,213509 0,232516 0,102816 0,089447 0,084022 0,107228 9 0,016573 0,016499 0,114292 0,119807 0,082908 0,215935 0,236468 0,102791 0,089447 0,084022 0,107874 10 0,017096 0,016499 0,114246 0,119808 0,082826 0,214880 0,234930 0,102833 0,089447 0,084022 0,107659 11 0,016268 0,016499 0,114171 0,119772 0,083157 0,213037 0,239039 0,103134 0,089447 0,084021 0,107855 12 0,016574 0,016499 0,114184 0,119778 0,083178 0,210238 0,239283 0,102732 0,089447 0,084021 0,107594 13 0,016574 0,016499 0,114199 0,119780 0,083272 0,214944 0,234186 0,102760 0,089447 0,084021 0,107568 14 0,016574 0,016499 0,114136 0,119731 0,083122 0,212927 0,234974 0,102950 0,089447 0,084021 0,107438 15 0,016574 0,016499 0,114207 0,119757 0,083065 0,212965 0,237850 0,102838 0,089447 0,084021 0,107722 16 0,016574 0,016499 0,114327 0,119786 0,083028 0,213721 0,238177 0,102558 0,089447 0,084021 0,107814 17 0,016582 0,016499 0,114386 0,119814 0,082864 0,210959 0,235545 0,102294 0,089447 0,084021 0,107241 18 0,016574 0,016499 0,114462 0,119915 0,083055 0,213331 0,236379 0,102581 0,089447 0,084021 0,107626 19 0,016574 0,016499 0,114500 0,120017 0,083062 0,211967 0,238286 0,102574 0,089447 0,084021 0,107695 20 0,016574 0,016551 0,115876 0,121607 0,084459 0,215026 0,242803 0,103325 0,090729 0,085682 0,109263


(14)

Hasil Pengujian Packet Loss RatelessCode Pada Jaringan CDN

1. Penerapan RatelessCode 50%

Client Percobaan Rec1 (Detik) Rec2 (Detik) Rec3 (Detik) Rec4 (Detik) Rec5 (Detik) Rec6 (Detik) Rec7 (Detik) Rec8 (Detik) Rec9 (Detik) Rec10

(Detik) Rata"

1 0% 0% 0% 0% 0% 20% 19% 0% 0% 0% 4%

2 0% 0% 0% 0% 0% 21% 22% 0% 0% 0% 4%

3 0% 0% 0% 0% 0% 22% 22% 0% 0% 0% 4%

4 0% 0% 0% 0% 0% 20% 24% 0% 0% 0% 4%

5 0% 0% 0% 0% 0% 20% 21% 0% 0% 0% 4%

6 0% 0% 0% 0% 0% 21% 21% 0% 0% 0% 4%

7 0% 0% 0% 0% 0% 20% 16% 0% 0% 0% 4%

8 0% 0% 0% 0% 0% 23% 29% 0% 0% 0% 5%

9 0% 0% 0% 0% 0% 20% 23% 0% 0% 0% 4%

10 0% 0% 0% 0% 0% 22% 23% 0% 0% 0% 4%

11 0% 0% 0% 0% 0% 20% 23% 0% 0% 0% 4%

12 0% 0% 0% 0% 0% 21% 20% 0% 0% 0% 4%

13 0% 0% 0% 0% 0% 19% 22% 0% 0% 0% 4%

14 0% 0% 0% 0% 0% 21% 21% 0% 0% 0% 4%

15 0% 0% 0% 0% 0% 21% 21% 0% 0% 0% 4%

16 0% 0% 0% 0% 0% 22% 22% 0% 0% 0% 4%

17 0% 0% 0% 0% 0% 23% 21% 0% 0% 0% 4%

18 0% 0% 0% 0% 0% 22% 21% 0% 0% 0% 4%

19 0% 0% 0% 0% 0% 20% 21% 0% 0% 0% 4%

20 0% 2% 12% 14% 4% 28% 26% 5% 11% 16% 12%


(15)

2. Penerapan RatelessCode 100% Client Percobaan Rec1 (Detik) Rec2 (Detik) Rec3 (Detik) Rec4 (Detik) Rec5 (Detik) Rec6 (Detik) Rec7 (Detik) Rec8 (Detik) Rec9 (Detik) Rec10

(Detik) Rata"

1 0% 0% 0% 0% 1% 22% 22% 2% 0% 0% 5%

2 0% 0% 0% 0% 1% 23% 24% 3% 0% 0% 5%

3 0% 0% 0% 0% 1% 24% 24% 3% 0% 0% 5%

4 0% 0% 0% 0% 1% 22% 24% 3% 0% 0% 5%

5 0% 0% 0% 0% 1% 24% 23% 3% 0% 0% 5%

6 0% 0% 0% 0% 1% 23% 23% 3% 0% 0% 5%

7 0% 0% 0% 0% 1% 21% 25% 3% 0% 0% 5%

8 0% 0% 0% 0% 1% 23% 25% 3% 0% 0% 5%

9 0% 0% 0% 0% 1% 22% 24% 3% 0% 0% 5%

10 0% 0% 0% 0% 1% 22% 25% 3% 0% 0% 5%

11 0% 0% 0% 0% 1% 24% 24% 3% 0% 0% 5%

12 0% 0% 0% 0% 1% 25% 21% 3% 0% 0% 5%

13 0% 0% 0% 0% 1% 22% 25% 3% 0% 0% 5%

14 0% 0% 0% 0% 1% 23% 23% 3% 0% 0% 5%

15 0% 0% 0% 0% 1% 23% 23% 3% 0% 0% 5%

16 0% 0% 0% 0% 1% 23% 24% 3% 0% 0% 5%

17 0% 0% 0% 0% 1% 24% 25% 3% 0% 0% 5%

18 0% 0% 0% 0% 1% 24% 23% 3% 0% 0% 5%

19 0% 0% 0% 0% 1% 24% 23% 3% 0% 0% 5%

20 0% 2% 12% 14% 4% 29% 28% 7% 11% 15% 12%


(16)

LAMPIRAN 5 Script Single Server.Tcl set ns [new Simulator]

$ns color 0 blue $ns color 1 red $ns color 2 green $ns color 3 yellow $ns color 4 brown $ns color 5 purple $ns color 6 black $ns color 7 grey $ns color 8 maroon set n0 [$ns node] set n1 [$ns node] set n2 [$ns node] set n3 [$ns node] set n4 [$ns node] set n5 [$ns node] set n6 [$ns node] set n7 [$ns node] set n8 [$ns node] set n9 [$ns node] set n10 [$ns node] set n11 [$ns node] set n12 [$ns node] set n13 [$ns node] set n14 [$ns node] set n15 [$ns node] set n16 [$ns node] set n17 [$ns node] set n18 [$ns node] set n19 [$ns node] set n20 [$ns node] set n21 [$ns node] set n22 [$ns node] set f [open out.tr w] $ns trace-all $f

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

$ns duplex-link $n0 $n3 5Mb 2ms DropTail $ns duplex-link $n1 $n3 5Mb 2ms DropTail $ns duplex-link $n2 $n3 5Mb 2ms DropTail


(17)

$ns duplex-link $n10 $n3 1.5Mb 10ms DropTail $ns duplex-link $n9 $n10 1.5Mb 10ms DropTail $ns duplex-link $n10 $n16 1.5Mb 10ms DropTail $ns duplex-link $n10 $n11 1.5Mb 10ms DropTail $ns duplex-link $n10 $n17 1.5Mb 10ms DropTail $ns duplex-link $n3 $n4 1.5Mb 10ms DropTail $ns duplex-link $n4 $n5 1.5Mb 10ms DropTail $ns duplex-link $n4 $n11 1.5Mb 10ms DropTail $ns duplex-link $n5 $n6 1.5Mb 10ms DropTail $ns duplex-link $n6 $n7 1.5Mb 10ms DropTail $ns duplex-link $n6 $n8 1.5Mb 10ms DropTail $ns duplex-link $n11 $n12 1.5Mb 10ms DropTail $ns duplex-link $n12 $n13 1.5Mb 10ms DropTail $ns duplex-link $n12 $n14 1.5Mb 10ms DropTail $ns duplex-link $n12 $n15 1.5Mb 10ms DropTail $ns duplex-link $n11 $n18 1.5Mb 10ms DropTail $ns duplex-link $n18 $n19 1.5Mb 10ms DropTail $ns duplex-link $n18 $n20 1.5Mb 10ms DropTail $ns duplex-link $n5 $n21 1.5Mb 10ms DropTail $ns duplex-link $n5 $n22 1.5Mb 10ms DropTail $ns duplex-link-op $n0 $n3 orient right-up $ns duplex-link-op $n1 $n3 orient right-down $ns duplex-link-op $n2 $n3 orient down $ns duplex-link-op $n10 $n3 orient up $ns duplex-link-op $n9 $n10 orient right-up $ns duplex-link-op $n10 $n11 orient right $ns duplex-link-op $n10 $n16 orient down $ns duplex-link-op $n10 $n17 orient right-down $ns duplex-link-op $n3 $n4 orient right

$ns duplex-link-op $n4 $n5 orient right-up $ns duplex-link-op $n4 $n11 orient down $ns duplex-link-op $n5 $n6 orient right $ns duplex-link-op $n6 $n7 orient right-up $ns duplex-link-op $n6 $n8 orient right $ns duplex-link-op $n11 $n12 orient right $ns duplex-link-op $n12 $n13 orient right-up $ns duplex-link-op $n12 $n14 orient right $ns duplex-link-op $n12 $n15 orient right-down $ns duplex-link-op $n11 $n18 orient right-down $ns duplex-link-op $n18 $n19 orient left-down $ns duplex-link-op $n18 $n20 orient right-down $ns duplex-link-op $n5 $n21 orient right-up $ns duplex-link-op $n5 $n22 orient left-up $ns duplex-link-op $n2 $n3 queuePos 0.5 set udp0 [new Agent/UDP]


(18)

$ns attach-agent $n0 $udp0

set cbr0 [new Application/Traffic/CBR] $cbr0 attach-agent $udp0

set udp1 [new Agent/UDP] $ns attach-agent $n3 $udp1 $udp1 set class_ 1

set cbr1 [new Application/Traffic/CBR] $cbr1 attach-agent $udp1

set udp2 [new Agent/UDP] $ns attach-agent $n9 $udp2 $udp2 set class_ 2

set cbr2 [new Application/Traffic/CBR] $cbr2 attach-agent $udp2

set udp3 [new Agent/UDP] $ns attach-agent $n16 $udp3 $udp3 set class_ 3

set cbr3 [new Application/Traffic/CBR] $cbr3 attach-agent $udp3

set udp4 [new Agent/UDP] $ns attach-agent $n19 $udp4 $udp4 set class_ 4

set cbr4 [new Application/Traffic/CBR] $cbr4 attach-agent $udp4

set udp5 [new Agent/UDP] $ns attach-agent $n7 $udp5 $udp5 set class_ 5

set cbr5 [new Application/Traffic/CBR] $cbr5 attach-agent $udp5

set udp6 [new Agent/UDP] $ns attach-agent $n14 $udp6 $udp6 set class_ 6

set cbr6 [new Application/Traffic/CBR] $cbr6 attach-agent $udp6

set udp7 [new Agent/UDP] $ns attach-agent $n13 $udp7 $udp7 set class_ 7

set cbr7 [new Application/Traffic/CBR] $cbr7 attach-agent $udp7

set udp8 [new Agent/UDP] $ns attach-agent $n1 $udp8


(19)

$udp8 set class_ 8

set cbr8 [new Application/Traffic/CBR] $cbr8 attach-agent $udp8

set null0 [new Agent/Null] $ns attach-agent $n14 $null0 set null1 [new Agent/Null] $ns attach-agent $n13 $null1 set null2 [new Agent/Null] $ns attach-agent $n8 $null2 set null3 [new Agent/Null] $ns attach-agent $n20 $null3 set null4 [new Agent/Null] $ns attach-agent $n14 $null4 set null5 [new Agent/Null] $ns attach-agent $n20 $null5 set null6 [new Agent/Null] $ns attach-agent $n21 $null6 set null7 [new Agent/Null] $ns attach-agent $n22 $null7 set null8 [new Agent/Null] $ns attach-agent $n17 $null8 $ns connect $udp0 $null0 $ns connect $udp1 $null1 $ns connect $udp2 $null2 $ns connect $udp3 $null3 $ns connect $udp4 $null4 $ns connect $udp5 $null5 $ns connect $udp6 $null6 $ns connect $udp7 $null7 $ns connect $udp8 $null8

# creation trace traffic

set max_fragmented_size 1024

#add udp header(8 bytes) and IP header (20bytes) set packetSize 1052


(20)

set trace_file_name video1.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 #Attach video to server

#create source traffic

#Create a UDP agent and attach it to node n0 set udp_0 [new Agent/myUDP]

$udp_0 set_filename udpSend0 $udp_0 set packetSize_ 1052

$ns attach-agent $n2 $udp_0 ;#Server 2 set udp_1 [new Agent/myUDP]

$udp_1 set_filename udpSend1 $udp_1 set packetSize_ 1052


(21)

set udp_7 [new Agent/myUDP] $udp_7 set_filename udpSend7 $udp_7 set packetSize_ 1052

$ns attach-agent $n2 $udp_7 ;#Server 2 set udp_8 [new Agent/myUDP]

$udp_8 set_filename udpSend8 $udp_8 set packetSize_ 1052

$ns attach-agent $n2 $udp_8 ;#Server 2 set udp_9 [new Agent/myUDP]

$udp_9 set_filename udpSend9 $udp_9 set packetSize_ 1052

$ns attach-agent $n2 $udp_9 ;#Server 2 set udp_14 [new Agent/myUDP]

$udp_14 set_filename udpSend14 $udp_14 set packetSize_ 1052

$ns attach-agent $n2 $udp_14 ;#Server 2 set udp_15 [new Agent/myUDP]

$udp_15 set_filename udpSend15 $udp_15 set packetSize_ 1052

$ns attach-agent $n2 $udp_15 ;#Server 2 set udp_16 [new Agent/myUDP]

$udp_16 set_filename udpSend16 $udp_16 set packetSize_ 1052

$ns attach-agent $n2 $udp_16 ;#Server 2 set udp_19 [new Agent/myUDP]

$udp_19 set_filename udpSend19 $udp_19 set packetSize_ 1052

$ns attach-agent $n2 $udp_19 ;#Server 2 set udp_21 [new Agent/myUDP]

$udp_21 set_filename udpSend21 $udp_21 set packetSize_ 1052

$ns attach-agent $n2 $udp_21 ;#Server 2 # Attach video traffic source

set video0 [new Application/Traffic/myEvalvid] $video0 attach-tracefile $trace_file

$video0 attach-agent $udp_0

set video1 [new Application/Traffic/myEvalvid] $video1 attach-tracefile $trace_file


(22)

$video1 attach-agent $udp_1

set video2 [new Application/Traffic/myEvalvid] $video2 attach-tracefile $trace_file

$video2 attach-agent $udp_7

set video3 [new Application/Traffic/myEvalvid] $video3 attach-tracefile $trace_file

$video3 attach-agent $udp_8

set video4 [new Application/Traffic/myEvalvid] $video4 attach-tracefile $trace_file

$video4 attach-agent $udp_9

set video5 [new Application/Traffic/myEvalvid] $video5 attach-tracefile $trace_file

$video5 attach-agent $udp_14

set video6 [new Application/Traffic/myEvalvid] $video6 attach-tracefile $trace_file

$video6 attach-agent $udp_15

set video7 [new Application/Traffic/myEvalvid] $video7 attach-tracefile $trace_file

$video7 attach-agent $udp_16

set video8 [new Application/Traffic/myEvalvid] $video8 attach-tracefile $trace_file

$video8 attach-agent $udp_19

set video9 [new Application/Traffic/myEvalvid] $video9 attach-tracefile $trace_file

$video9 attach-agent $udp_21

# Create the Null agent to sink traffic set null_0 [new Agent/myEvalvid_Sink] $null_0 set_filename udpRec0

$ns attach-agent $n0 $null_0

set null_1 [new Agent/myEvalvid_Sink] $null_1 set_filename udpRec1

$ns attach-agent $n1 $null_1

set null_7 [new Agent/myEvalvid_Sink] $null_7 set_filename udpRec7

$ns attach-agent $n7 $null_7


(23)

$null_8 set_filename udpRec8 $ns attach-agent $n8 $null_8

set null_9 [new Agent/myEvalvid_Sink] $null_9 set_filename udpRec9

$ns attach-agent $n9 $null_9

set null_14 [new Agent/myEvalvid_Sink] $null_14 set_filename udpRec14

$ns attach-agent $n14 $null_14

set null_15 [new Agent/myEvalvid_Sink] $null_15 set_filename udpRec15

$ns attach-agent $n15 $null_15

set null_16 [new Agent/myEvalvid_Sink] $null_16 set_filename udpRec16

$ns attach-agent $n16 $null_16

set null_19 [new Agent/myEvalvid_Sink] $null_19 set_filename udpRec19

$ns attach-agent $n19 $null_19

set null_21 [new Agent/myEvalvid_Sink] $null_21 set_filename udpRec21

$ns attach-agent $n21 $null_21 # Attach the 2 agents

$ns connect $udp_0 $null_0 $ns connect $udp_1 $null_1 $ns connect $udp_7 $null_7 $ns connect $udp_8 $null_8 $ns connect $udp_9 $null_9 $ns connect $udp_14 $null_14 $ns connect $udp_15 $null_15 $ns connect $udp_16 $null_16 $ns connect $udp_19 $null_19 $ns connect $udp_21 $null_21 $ns at 1.0 "$cbr0 start"

$ns at 6.1 "$cbr1 start" $ns at 1.3 "$cbr2 start" $ns at 2.6 "$cbr3 start" $ns at 1.8 "$cbr4 start" $ns at 3.0 "$cbr5 start" $ns at 2.1 "$cbr6 start" $ns at 5.2 "$cbr7 start" $ns at 7.3 "$cbr8 start"


(24)

$ns at 4.0 "$cbr5 stop" $ns at 5.1 "$cbr6 stop" $ns at 5.8 "$cbr7 stop"

#Evaluated traffics $ns at 2.0 "$video0 start" $ns at 2.5 "$video1 start" $ns at 3.0 "$video2 start" $ns at 3.5 "$video3 start" $ns at 4.0 "$video4 start" $ns at 4.5 "$video5 start" $ns at 5.0 "$video6 start" $ns at 5.5 "$video7 start" $ns at 6.0 "$video8 start" $ns at 6.5 "$video9 start" set tcp [new Agent/TCP] $tcp set class_ 2

set sink [new Agent/TCPSink] $ns attach-agent $n0 $tcp $ns attach-agent $n3 $sink $ns connect $tcp $sink

set ftp [new Application/FTP] $ftp attach-agent $tcp

$ns at 1.2 "$ftp start"

$ns at 1.35 "$ns detach-agent $n0 $tcp ; $ns detach-agent $n3 $sink" puts [$cbr0 set packetSize_]

puts [$cbr0 set interval_] $ns at 500.0 "finish" proc finish {} {

global ns f nf $ns flush-trace close $f close $nf

puts "running nam..." exec nam out.nam & exit 0

} $ns run


(25)

LAMPIRAN 6

Script Jaringan CDN/Serverall.Tcl

set ns [new Simulator] $ns color 0 pink $ns color 1 red $ns color 2 green $ns color 3 yellow $ns color 4 brown $ns color 5 purple $ns color 6 black $ns color 7 grey $ns color 8 maroon set n0 [$ns node] set n1 [$ns node] set n2 [$ns node] set n3 [$ns node] set n4 [$ns node] set n5 [$ns node] set n6 [$ns node] set n7 [$ns node] set n8 [$ns node] set n9 [$ns node] set n10 [$ns node] set n11 [$ns node] set n12 [$ns node] set n13 [$ns node] set n14 [$ns node] set n15 [$ns node] set n16 [$ns node] set n17 [$ns node] set n18 [$ns node] set n19 [$ns node] set n20 [$ns node] set n21 [$ns node] set n22 [$ns node] set f [open out.tr w] $ns trace-all $f

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

$ns duplex-link $n0 $n3 5Mb 2ms DropTail $ns duplex-link $n1 $n3 5Mb 2ms DropTail


(26)

$ns duplex-link $n2 $n3 5Mb 2ms DropTail $ns duplex-link $n10 $n3 1.5Mb 10ms DropTail $ns duplex-link $n9 $n10 1.5Mb 10ms DropTail $ns duplex-link $n10 $n16 1.5Mb 10ms DropTail $ns duplex-link $n10 $n11 1.5Mb 10ms DropTail $ns duplex-link $n10 $n17 1.5Mb 10ms DropTail $ns duplex-link $n3 $n4 1.5Mb 10ms DropTail $ns duplex-link $n4 $n5 1.5Mb 10ms DropTail $ns duplex-link $n4 $n11 1.5Mb 10ms DropTail $ns duplex-link $n5 $n6 1.5Mb 10ms DropTail $ns duplex-link $n6 $n7 1.5Mb 10ms DropTail $ns duplex-link $n6 $n8 1.5Mb 10ms DropTail $ns duplex-link $n11 $n12 1.5Mb 10ms DropTail $ns duplex-link $n12 $n13 1.5Mb 10ms DropTail $ns duplex-link $n12 $n14 1.5Mb 10ms DropTail $ns duplex-link $n12 $n15 1.5Mb 10ms DropTail $ns duplex-link $n11 $n18 1.5Mb 10ms DropTail $ns duplex-link $n18 $n19 1.5Mb 10ms DropTail $ns duplex-link $n18 $n20 1.5Mb 10ms DropTail $ns duplex-link $n5 $n21 1.5Mb 10ms DropTail $ns duplex-link $n5 $n22 1.5Mb 10ms DropTail $ns duplex-link-op $n0 $n3 orient right-up $ns duplex-link-op $n1 $n3 orient right-down $ns duplex-link-op $n2 $n3 orient down $ns duplex-link-op $n10 $n3 orient up $ns duplex-link-op $n9 $n10 orient right-up $ns duplex-link-op $n10 $n11 orient right $ns duplex-link-op $n10 $n16 orient down $ns duplex-link-op $n10 $n17 orient right-down $ns duplex-link-op $n3 $n4 orient right

$ns duplex-link-op $n4 $n5 orient right-up $ns duplex-link-op $n4 $n11 orient down $ns duplex-link-op $n5 $n6 orient right $ns duplex-link-op $n6 $n7 orient right-up $ns duplex-link-op $n6 $n8 orient right $ns duplex-link-op $n11 $n12 orient right $ns duplex-link-op $n12 $n13 orient right-up $ns duplex-link-op $n12 $n14 orient right $ns duplex-link-op $n12 $n15 orient right-down $ns duplex-link-op $n11 $n18 orient right-down $ns duplex-link-op $n18 $n19 orient left-down $ns duplex-link-op $n18 $n20 orient right-down $ns duplex-link-op $n5 $n21 orient right-up $ns duplex-link-op $n5 $n22 orient left-up $ns duplex-link-op $n2 $n3 queuePos 0.5


(27)

set udp0 [new Agent/UDP] $ns attach-agent $n0 $udp0

set cbr0 [new Application/Traffic/CBR] $cbr0 attach-agent $udp0

set udp1 [new Agent/UDP] $ns attach-agent $n3 $udp1 $udp1 set class_ 1

set cbr1 [new Application/Traffic/CBR] $cbr1 attach-agent $udp1

set udp2 [new Agent/UDP] $ns attach-agent $n9 $udp2 $udp2 set class_ 2

set cbr2 [new Application/Traffic/CBR] $cbr2 attach-agent $udp2

set udp3 [new Agent/UDP] $ns attach-agent $n16 $udp3 $udp3 set class_ 3

set cbr3 [new Application/Traffic/CBR] $cbr3 attach-agent $udp3

set udp4 [new Agent/UDP] $ns attach-agent $n19 $udp4 $udp4 set class_ 4

set cbr4 [new Application/Traffic/CBR] $cbr4 attach-agent $udp4

set udp5 [new Agent/UDP] $ns attach-agent $n7 $udp5 $udp5 set class_ 5

set cbr5 [new Application/Traffic/CBR] $cbr5 attach-agent $udp5

set udp6 [new Agent/UDP] $ns attach-agent $n14 $udp6 $udp6 set class_ 6

set cbr6 [new Application/Traffic/CBR] $cbr6 attach-agent $udp6

set udp7 [new Agent/UDP] $ns attach-agent $n13 $udp7 $udp7 set class_ 7

set cbr7 [new Application/Traffic/CBR] $cbr7 attach-agent $udp7


(28)

set udp8 [new Agent/UDP] $ns attach-agent $n1 $udp8 $udp8 set class_ 8

set cbr8 [new Application/Traffic/CBR] $cbr8 attach-agent $udp8

set null0 [new Agent/Null] $ns attach-agent $n14 $null0 set null1 [new Agent/Null] $ns attach-agent $n13 $null1 set null2 [new Agent/Null] $ns attach-agent $n8 $null2 set null3 [new Agent/Null] $ns attach-agent $n20 $null3 set null4 [new Agent/Null] $ns attach-agent $n14 $null4 set null5 [new Agent/Null] $ns attach-agent $n20 $null5 set null6 [new Agent/Null] $ns attach-agent $n21 $null6 set null7 [new Agent/Null] $ns attach-agent $n22 $null7 set null8 [new Agent/Null] $ns attach-agent $n17 $null8 $ns connect $udp0 $null0 $ns connect $udp1 $null1 $ns connect $udp2 $null2 $ns connect $udp3 $null3 $ns connect $udp4 $null4 $ns connect $udp5 $null5 $ns connect $udp6 $null6 $ns connect $udp7 $null7 $ns connect $udp8 $null8 # creation trace traffic

set max_fragmented_size 1024

#add udp header(8 bytes) and IP header (20bytes) set packetSize 1052

set original_file_name trafik set trace_file_name video1.dat


(29)

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 #Attach video to server

#create source traffic

#Create a UDP agent and attach it to node n0 set udp_0 [new Agent/myUDP]

$udp_0 set_filename udpSend0 $udp_0 set packetSize_ 1052

$ns attach-agent $n2 $udp_0 ;#Server 2 set udp_1 [new Agent/myUDP]

$udp_1 set_filename udpSend1 $udp_1 set packetSize_ 1052


(30)

set udp_7 [new Agent/myUDP] $udp_7 set_filename udpSend7 $udp_7 set packetSize_ 1052

$ns attach-agent $n2 $udp_7 ;#Server 2 set udp_8 [new Agent/myUDP]

$udp_8 set_filename udpSend8 $udp_8 set packetSize_ 1052

$ns attach-agent $n2 $udp_8 ;#Server 2 set udp_9 [new Agent/myUDP]

$udp_9 set_filename udpSend9 $udp_9 set packetSize_ 1052

$ns attach-agent $n20 $udp_9 ;#Server 20 set udp_14 [new Agent/myUDP]

$udp_14 set_filename udpSend14 $udp_14 set packetSize_ 1052

$ns attach-agent $n20 $udp_14 ;#Server 20 set udp_15 [new Agent/myUDP]

$udp_15 set_filename udpSend15 $udp_15 set packetSize_ 1052

$ns attach-agent $n20 $udp_15 ;#Server 20 set udp_16 [new Agent/myUDP]

$udp_16 set_filename udpSend16 $udp_16 set packetSize_ 1052

$ns attach-agent $n22 $udp_16 ;#Server 22 set udp_19 [new Agent/myUDP]

$udp_19 set_filename udpSend19 $udp_19 set packetSize_ 1052

$ns attach-agent $n22 $udp_19 ;#Server 22 set udp_21 [new Agent/myUDP]

$udp_21 set_filename udpSend21 $udp_21 set packetSize_ 1052

$ns attach-agent $n22 $udp_21 ;#Server 22 # Attach video traffic source

set video0 [new Application/Traffic/myEvalvid] $video0 attach-tracefile $trace_file

$video0 attach-agent $udp_0

set video1 [new Application/Traffic/myEvalvid] $video1 attach-tracefile $trace_file


(31)

set video2 [new Application/Traffic/myEvalvid] $video2 attach-tracefile $trace_file

$video2 attach-agent $udp_7

set video3 [new Application/Traffic/myEvalvid] $video3 attach-tracefile $trace_file

$video3 attach-agent $udp_8

set video4 [new Application/Traffic/myEvalvid] $video4 attach-tracefile $trace_file

$video4 attach-agent $udp_9

set video5 [new Application/Traffic/myEvalvid] $video5 attach-tracefile $trace_file

$video5 attach-agent $udp_14

set video6 [new Application/Traffic/myEvalvid] $video6 attach-tracefile $trace_file

$video6 attach-agent $udp_15

set video7 [new Application/Traffic/myEvalvid] $video7 attach-tracefile $trace_file

$video7 attach-agent $udp_16

set video8 [new Application/Traffic/myEvalvid] $video8 attach-tracefile $trace_file

$video8 attach-agent $udp_19

set video9 [new Application/Traffic/myEvalvid] $video9 attach-tracefile $trace_file

$video9 attach-agent $udp_21

# Create the Null agent to sink traffic set null_0 [new Agent/myEvalvid_Sink] $null_0 set_filename udpRec0

$ns attach-agent $n0 $null_0

set null_1 [new Agent/myEvalvid_Sink] $null_1 set_filename udpRec1

$ns attach-agent $n1 $null_1

set null_7 [new Agent/myEvalvid_Sink] $null_7 set_filename udpRec7

$ns attach-agent $n7 $null_7


(32)

$null_8 set_filename udpRec8 $ns attach-agent $n8 $null_8

set null_9 [new Agent/myEvalvid_Sink] $null_9 set_filename udpRec9

$ns attach-agent $n9 $null_9

set null_14 [new Agent/myEvalvid_Sink] $null_14 set_filename udpRec14

$ns attach-agent $n14 $null_14

set null_15 [new Agent/myEvalvid_Sink] $null_15 set_filename udpRec15

$ns attach-agent $n15 $null_15

set null_16 [new Agent/myEvalvid_Sink] $null_16 set_filename udpRec16

$ns attach-agent $n16 $null_16

set null_19 [new Agent/myEvalvid_Sink] $null_19 set_filename udpRec19

$ns attach-agent $n19 $null_19

set null_21 [new Agent/myEvalvid_Sink] $null_21 set_filename udpRec21

$ns attach-agent $n21 $null_21 # Attach the 2 agents

$ns connect $udp_0 $null_0 $ns connect $udp_1 $null_1 $ns connect $udp_7 $null_9 $ns connect $udp_8 $null_16 $ns connect $udp_9 $null_14 $ns connect $udp_14 $null_15 $ns connect $udp_15 $null_19 $ns connect $udp_16 $null_7 $ns connect $udp_19 $null_8 $ns connect $udp_21 $null_21

$ns at 1.0 "$cbr0 start" $ns at 6.1 "$cbr1 start" $ns at 1.3 "$cbr2 start" $ns at 2.6 "$cbr3 start" $ns at 1.8 "$cbr4 start" $ns at 3.0 "$cbr5 start" $ns at 2.1 "$cbr6 start" $ns at 5.2 "$cbr7 start"


(33)

$ns at 7.3 "$cbr8 start" $ns at 4.0 "$cbr5 stop" $ns at 5.1 "$cbr6 stop" $ns at 5.8 "$cbr7 stop"

#Evaluated traffics $ns at 2.0 "$video0 start" $ns at 2.5 "$video1 start" $ns at 3.0 "$video2 start" $ns at 3.4 "$video3 start" $ns at 3.8 "$video4 start" $ns at 4.0 "$video5 start" $ns at 4.5 "$video6 start" $ns at 5.0 "$video7 start" $ns at 5.5 "$video8 start" $ns at 6.0 "$video9 start" set tcp [new Agent/TCP] $tcp set class_ 2

set sink [new Agent/TCPSink] $ns attach-agent $n0 $tcp $ns attach-agent $n3 $sink $ns connect $tcp $sink

set ftp [new Application/FTP] $ftp attach-agent $tcp

$ns at 1.2 "$ftp start"

$ns at 1.35 "$ns detach-agent $n0 $tcp ; $ns detach-agent $n3 $sink" puts [$cbr0 set packetSize_]

puts [$cbr0 set interval_] $ns at 30.0 "finish" proc finish {} {

global ns f nf $ns flush-trace close $f close $nf

puts "running nam..." exec nam out.nam & exit 0

} $ns run


(34)

DAFTAR PUSTAKA

[1] James F. Kurose1, Keith W. Ross2, “Computer Networking” A Top-Down Approach, 2008

[2] Mohammad Johan Rajabi, “Analisa Literatur Jaringan” [Online], Fakultas Ilmu Komputer, Universitas Indonesia, 2008. Tersedia: related:lib.ui.ac.id/file?file=digital/126425-T-642-Analisa%20pemanfaatan Literatur.pdf teknologi akamai pdf [11 Febuari 2016]

[3] Spiridon Bakiras, “Approximate Server Selection Algorithms in Content Distribution Networks” [Online], Department of Computer Science, Hong Kong University of Science and Technology, Clear Water Bay, Hong

Kong,IEEE,2005. Tersedia:

2016]

[4] Mohammad Rizky Pratama¹, Hafidudin ST.,MT², Suci Aulia ST., MT³,” Analisis Performansi Load Balancing Dengan Algoritma Round Robin Dan Least Connection Pada Sebuah Web Server” [Online], Fakultas Ilmu Terapan, Universitas Telkom, Bandung. Tersedia:

[5] Yu Cao, Queen’s UniversityKingston, Ontario, CanadaJune 2011, “Optimization Of Rateless Coded Systems For Wireless Multimedia


(35)

2016]

[6] Gauri Joshi, Joong Bum Rhim, John Sun, Da Wang, December 8, 2010, “PRINCIPLES OF DIGITAL COMMUNICATION II” [Online]. Tersedia :

[7] Jirka Klaue, “EvalVid - A Video Quality Evaluation Tool-set” [Online].

Tersedia:

11 Febuari 2016]

[8] Teerawat Issariyakul, Ekram Hossain. “Introduction to Network Simulator NS2 (Second Edition)”. Springer Science+Business Media, LLC 2012. [9] Chih-Heng Ke, Ce-Kuen Shieh, Wen-Shyang Hwang, Artur Ziviani, “ An

Evaluation Framework for More Realistic Simulations of MPEG Video Transmission ”, Journal of Information Science and Engineering (accepted)

(SCI, EI), 2006 [Online]. Tersedia:

[10] Putu Rusdi Ariawan , “Kompersi Video H264/MPEG4 Digunakan Untuk Streaming CCTV” [Online], Jurusan Teknik Elektro, Fakultas Teknik Universitas Udayana. Tersedia :

. [Diakses 11 Febuari 2016]

[11] Muhammad Mulia Maulana, Suherman, “Analisis Kualitas Transmisi Video dengan Decodable Frame Rate” [Online], Jurusan Teknik Elektro, Fakultas Teknik, Universitas Sumatera Utara. Tersedia :


(36)

[12] European Telecommunications Standards Institute (ETSI). Telecommunications and Internet Protocol Harmonization Over Networks (TIPHON). “In General aspects of Quality of Service (QoS) (pp. 24-27)”. France, 1998.

[13] Yanto, “Analisis QoS (Quality Of Service) pada Jaringan Internet” [Online], Jurusan Teknik Elektro, Fakultas Teknik, Universitas Tanjungpura Tersedia:http://download.portalgaruda.org/articel.php?article=32511&val=2 313. [Diakses 5 Febuari 2016]


(37)

BAB III

METODE PENELTIAN

3.1 Perancangan Penelitian

Untuk mencapai tujuan penelitian, penyusunan alur penelitian mengikuti skema pada Gambar 3.1. Penelitian terlebih dahulu menentukan peralatan penunjang yang dibutuhkan, dalam hal ini menggunakan network simulator NS-2 dan Evalvid. Kemudian dibangunlah model jaringan CDN, pemilihan server, client dan background traffic.


(38)

Untuk model jaringan CDN ini menggunakan teknik Geo DNS yang selanjutnya akan dilakukan pengimplementasian rateless code yaitu untuk perhitungan delay dan packet loss. Penelitian ini hanya mengamati keadaan pada jaringan CDN ketika melakukan proses Downlink .

3.2Spesifikasi Perangkat Penelitian

Adapun spesifikasi perangkat penelitian yang digunakan untuk melakukan simulasi adalah:

3.2.1 Perangkat Keras

Perangkat hardware yang digunakan untuk menjalankan simulasi pada tugas akhir ini adalah satu buah laptop dengan spesifikasi sebagai berikut :

a. Hp Pavilio G4-1311

b. Processor AMD Dual-Core A4-3305M

c. Kecepatan Prosessor (1,9 GHz, 2MB L3 cache) d. Memory 4 GB DDR3

e. HDD 500 GB

3.2.2 Perangkat Lunak

Spesifikasi perangkat lunak yang digunakan adalah: a. Sistem operasi Ubuntu 12.04 LTS.

b. Network simulator NS-2.35 c. Modul Evalvid


(39)

3.3 Spesifikasi Fisik Simulasi CDN

Adapun spesifikasi trafik video yang digunakan pada simulasi ditunjukkan pada Tabel 3.1, dimana kecepatan video memiliki bit rate: 279,72 Kbps. Video memiliki kecepatan frame 30 frame setiap detik dengan codec mpeg4 berframe IPP.

Tabel 3.1Spesifikasi Trafik Video

Parameter Keterangan

Nama video Kecepatan frame Tipe frame Codec bit rate

akiyo_cif.yuv 30fps

IPP MPEG4 279,72 Kbps

Pada konfigurasi jaringan yang disimulasikan menirukan jaringan CDN seperti ditunjukkan pada Gambar 3.2. Untuk jaringan CDN menggunakan teknik Geo DNS, dimana sistem kerja dari GEO DNS dengan memetakan pengguna internet menurut wilayahnya seperti ditunjukkan pada Gambar 3.3. Jaringan CDN yang dimodelkan terdiri dari 23 perangkat/titik (node) yang terhubung.Berikut adalah fungsi yang diberikan pada rancangan jaringan CDN dalam simulasi :

1. Node n2, n20, n22 berfungsi sebagai server.

2. Node n1, n7, n8, n9, n14, n15, n16, n19, dan n21 berfungsi sebagai client penerima.


(40)

Gamabar 3.2 Konfigurasi Jaringan CDN

Gamabar 3.3 Konfigurasi Jaringan CDN Dengan Teknik Geo DNS User

User

User

User

User User User

User

User User

User User

User User

User

User

User

User User

User

User User User


(41)

Content Delivery Network adalah sebuah sistem jaringan server untuk mendistribusikan data/konten yang ada dalam sebuah web ke berbagai pengguna di belahan dunia agar data yang dikirim dan diterima lebih cepat. Server jaringan CDN terdistribusi secara global dengan tujuan untuk melayani konten ke pengguna dengan ketersediaan yang besar dan performa tinggi. Dalam pencarian server terbaik dan perpindahan server berpotensi membuat trafik jaringan tidak stabil dan berpengaruh secara global. Diperlukan penerapan rateless code pada jaringan CDN yang berfungsi untuk mempertahankan kualitas trafik dan memperbaiki paket data meskipun kondisi server dalam keadaan memburuk. Pada Gambar 3.4 dapat terlihat server utama mengirimkan paket data berupa video ke server CDN. Pada saat paket data telah berada di server CDN yang terletak di beberapa negara, server utama tidak akan langsung menangani permintaan pengguna melainkan server-server CDN tersebut yang akan melayani. Apabila sewaktu-waktu server utama mengalami kelebihan beban pada jaringan, permintaan pengguna masih bisa dilayani oleh server CDN yang terletak di beberapa negara. Porses penerapan ratelesscode berupa encoding dan decoding, untuk encodingterdapat di server dan decoding berada di end user, ketika paket data dikirimkan ke user/pengguna terlebih dahulu paket datanya di encodingkan setelah paket data siap dikirimkan. Setelah paket data tiba di pengguna/end user, paket data didecodingkan terlebih dahulu kemudian paket data baru bisa diproses ke pengguna/end user.


(42)

Gambar 3.4 Sistem Jaringan CDN

Vide o

Vide o

Vide

o

Vide


(43)

3.5 Implementasi RatelessCode pada Jaringan CDN

Pada Tugas Akhir ini menerapkan ratelesscode 50% dan 100% pada paket data berupa trafik video yang telah dikompersi sebelumnya menggunakan NS-2 dan EvalVid berformat .txt. yang terlihat pada Gambar 3.5. Proses penerapan rateless code pada trafik video terlihat pada Lampiran 2.


(44)

Ada beberapa teknik komperisi pada video sebegai berikut:

a. Kompresi interframe dilakukan dengan memanfaatkan redundansi temporal yang terdapat antar frame. Redundansi temporal disebabkan adanya pixel – pixel yang berhubungan di antara frame - frame tersebut, terutama dikarenakan banyak bagian frame yang tidak berubah dibanding frame sebelum atau sesudahnya.

b. Kompresi Intrafame dilakukan dengan memanfaatkan redundansi spasial yang terdapat dalam suatu frame. Redundansi ini disebabkan karena adanya kesamaan antara sebuah pixel dengan pixel disekitarnya.

Diamana Teknologi kompresi untuk aplikasi yang luas diterapkan pada standar kompresi streaming video adalah MPEG-4. MPEG-4(Motion Picture Expert Group) pada awalnya dikenal dengan MPEG-1, diikuti oleh MPEG-2. MPEG-4 merupakan teknologi kompresi yang diupgrade dari MPEG-2 dimana konsentrasi inovasi ini ditujukan untuk menghasilkan kompresi data yang lebih baik.

Teknologi kompresi MPEG-4 merupakan standar kompresi yang secara efektif dapat mengkompresi suara dan data video. MPEG-4 menggunakan tiga jenis frame dalam skema pengkodean yaitu inter-frame (I-frame), forward predicted frames (P-frame), dan bi-directional predicted frames (B-frames). Inter-frame (I-Inter-frame)berisi gambar utama/asli yang memiliki kapasitas besar, dimanamembawa informasi yang mandiri dan memiliki dampak yang besar jika tidak disampaikan dan Forward predicted frames (P-frame)merupakan bagian perubahan dari gambar asli/utama sehingga memiliki kapasitasnya kecil. Untuk


(45)

bi-directional predicted frames (B-frames) yaitu bentuk kompresi di mana codec menggunakan informasi dari frame yang telah dikompres serta dari frame yang belum datang [10]. Untuk pengujian yang dilakukan hanya Inter-frame (I-frame) yang diterapkan rateless code 50% dan 100%.Seperti terlihat pada Gambar 3.6 dan Gambar 3.7.


(46)

(47)

3.6 Parameter Evaluasi

Parameter – parameter dari sebuah jaringan digunakan untuk menguji dan mengukur performansi jaringan yang digunakan. Parameter – parameter dari sebuah jaringan terdiri delay(latency) danpacket loss.

3.6.1 Delay (Latency)

Delay adalah waktu tunda yang dibutuhkan paketdata dari pengirim ke penerima.End-to-enddelaydapat disebabkan adanya delay propagasi melalui media transmisi, delayserialisasi atau sinkronisasi, delay pemrosesan (coding, compression, decompression dan decoding), delay antrian, dan delay paket. Pada persamaan 3.1merupakan rumus untuk mencari delay [11].

����� =(����������������� − ����������������)

�����ℎ������ (3.1)

Delay juga dapat dipengaruhi oleh jarak, media fisik, kongesti atau juga waktu proses yang lama. Menurut versi TIPHON (Telecommunicationsand Internet Protocol HarmonizationOverNetworks), besarnya delay dapat diklasifikasikan pada Tabel 3.2 [12].

Tabel 3.2One-Way Delay (Letency) [12]

Kategori Delay (Letency) Besar Delay (Letency)

Sangat bagus < 150 ms


(48)

3.6.2 PacketLoss

Packet Loss adalah jumlah paket data yang hilang saat proses tranmisi terjadi. Dimana saat proses transmisi terjadi terdapat collision dan congestion pada jaringan.Persamaan 3.2 merupakan rumus untuk mencari packet loss [11].

����������

= (��ℎ���������������� − ��ℎ�����������������)

��ℎ���������������� �100% (3.2)

Menurut versi TIPHON (Telecommunicationsand Internet Protocol HarmonizationOverNetworks), besarnya paketlossdapat diklasifikasikan pada Tabel 3.3 [12].

Tabel 3.3 PacketLoss [12]

Kategori Packet Loss Packet Loss

Sangat Bagus 0%

Bagus 3%

Sedang 15%


(49)

3.7 Langkah Pelaksanaan Simulasi

Setelah melakukan proses konfigurasi jaringan CDN dan algoritma pada kanal downlink maupun uplink kemudian tahap selanjutnya melakukan proses simulasi. Pada Gambar 3.8 dapat terlihat diagram alir pelaksanaan simulasi, untuk langkah pertama yang dilakukan yaitu menginisilalisasi konfigurasi jaringan CDN, setelah jaringan CDN dikonfigurasi kemudian diimplementasikan dengan bahasa pemograman Tcl pada NS-2. Sebelum simulasi CDN dilakukan terlebih dahulu melakukan pengaturan (setting) pada bitratevideo, kemudian penerapan ratelesscode50% dan 100% yang dilakukan pada bit rate yang sudah diatur sebelumnya, kemudian proses simulasi dilakukan.

Sesudah simulasi selesai dilakukan maka akan dihasilkan nilai output pada proses simulasi berformat .txt yang merecord semua kejadian selama simulasi berlangsung dan animasi nam seperti Gambar 2.6. Apabila proses simulai belum dilakukan 20 kali percobaan kembali langkah sebelumnya. Apabila proses simulasi sudah 20 kali percobaan simulasi dihentikan kemudian semua hasil output dari setiap kondisi yang berformat .txt akan dianalisis untuk memperoleh nilai delay dan packet loss.Kemudian divisualisasikan dalam bentuk grafik untuk mengetahui perbedaan pada setiap kondisi.


(50)

(51)

BAB IV

HASIL SIMULASI DAN ANALISIS DATA

Bab ini menganalisis output yang dihasilkan pada simulasi di NS-2. Analisis data output tersebut diklasifikasikan untuk mengetahui hasil pengujian penerapan rateless code dan tanpa penerapan rateless code padajaringan. Parameter kinerja yang diperoleh antara lain delay dan packet loss.

4.1 Hasil Pengujian Single Server DanJaringan CDN Tanpa RatelessCode

4.1.1 Delay

Delay adalah waktu tunda yang dibutuhkan paket data dari pengirim ke penerima. Pengujian dilakukan pada single server dan jaringan CDN tanpa ratelesscode. Dengan mengambil nilai downlink dan bit rate sebersar279,72 kbps serta dilakukan 20 kali percobaan maka dihasilkan nilai rata-rata delay untuk semua client yang ditunjukkan pada Tabel 4.1.

Tabel 4.1 Hasil Pengujian Delay Jaringan CDN

Percobaan Single Server

Jaringan CDN Tanpa Rlc Rata-rata Rata-rata

1 0,264373 0,066630

2 0,280332 0,067416

3 0,280363 0,067557

4 0,280186 0,067609

5 0,280338 0,067526

6 0,279745 0,067829

7 0,279691 0,067589

8 0,280308 0,067721


(52)

10 0,280204 0,067829

11 0,280373 0,067750

12 0,280469 0,067410

13 0,279290 0,067534

14 0,280371 0,067584

15 0,280281 0,067680

16 0,279912 0,067609

17 0,280300 0,067695

18 0,279848 0,067770

19 0,279644 0,067558

20 0,279529 0,068076

Rata-rata 0,279296 0,067609

Untuk Gambar 4.1 menunjukkan perubahan pada setiap percobaan single server dan jaringan CDN tanpa rateless code. Dari tabel dan grafik dapat dilihat nilaidelay dari single server lebih besar dibandingkan dengan jaringan CDN tanpa rateless code. Berdasarkan hasil pengujian dapat disimpulkan bahwa menggunakan jaringan CDN maka kinerja server akan terbagi dan tidak hanya diberatkan ke satu server saja.

Gambar 4.1 KarakteristikDelay Single server danJaringan CDNTanpa Rateless code 0 0,05 0,1 0,15 0,2 0,25 0,3

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

D el a y (s ) Urutan Percoban Single server Jaringan CDN Tanpa Rlc


(53)

Pada Gambar 4.2 terlihat nilai rata-rata delay dari seluruh percobaan, jaringan CDN tanpa rateless code memiliki nilai rata-rata delay yang rendah dibandingkan dengan singleserver. Menurut standard TIPHON (Telecommunicationsand Internet Protocol HarmonizationOverNetworks) nilai rata-rata delay dari 20 kali percobaan untuk single server masuk dalam kategori bagus (150 s/d 300 ms)dan tanpa penerapan rateless codepadajaringan CDN masuk dalam kategori sangat bagus (<150 ms).

Gambar 4.2 Karakteristik Rata-rata Delay Jaringan

4.1.2 PacketLoss

Packet Loss adalah jumlah paket data yang hilang saat proses tranmisi terjadi. Dimana saat proses transmisi terjadi terdapat collision dan congestion pada jaringan. Dengan mengambil nilai downlink dan bit rate sebersar279,72 kbps serta dilakukan 20 kali percobaan maka dihasilkan nilai rata-rata packet loss untuk semua client terlihat pada Tabel 4.2.

0 0,05 0,1 0,15 0,2 0,25 0,3

Single server Jaringan CDN Tanpa Rlc

D

el

a

y

(s


(54)

Tabel 4.2 Hasil Pengujian Packet Loss Jaringan CDN Tanpa Ratelesscode

Percobaan Single Server

Jaringan CDN Tanpa Rlc Rata-rata Rata-rata

1 43% 3%

2 44% 4%

3 44% 4%

4 44% 4%

5 44% 4%

6 44% 3%

7 44% 4%

8 44% 4%

9 45% 4%

10 44% 4%

11 44% 4%

12 44% 4%

13 44% 4%

14 44% 4%

15 44% 4%

16 44% 4%

17 44% 4%

18 44% 4%

19 44% 4%

20 50% 11%

Rata-rata 44% 4%

Untuk Gambar 4.3 menunjukkan perubahan pada setiap percobaan single server dan jaringan CDN tanpa rateless code. Dari tabel dan grafik dapat dilihat nilai packet loss dari single server lebih besar dibandingkan dengan jaringan CDN tanpa rateless code. Berdasarkan hasil pengujian dapat disimpulkan bahwa menggunakan jaringan CDN maka kinerja server akan terbagi dan tidak hanya diberatkan ke satu server saja.


(55)

Gambar 4.3 KarakteristikPacket Loss Single server danJaringan CDNTanpa Rateless code

Pada Gambar 4.4 terlihat nilai rata-rata packet loss dari seluruh percobaan untuk jaringan CDN tanpa rateless code memiliki nilai rata-rata packet loss rendah dibandingkan dengan single server.Menurut standard TIPHON (Telecommunicationsand Internet Protocol HarmonizationOverNetworks)nilai rata-rata packet loss dari 20 kali percobaan untuk single server masuk dalam kategori jelek (>25%)dan tanpa penerapan rateless codepadajaringan CDNmasuk dalam kategori sedang (<15%).

Gambar 4.4 KarakteristikRata-rataPacket Loss Jaringan

0% 5% 10% 15% 20% 25% 30% 35% 40% 45% 50% 55%

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

P ac ke t L os s Urutan Percoban Single server Jaringan CDN Tanpa Rlc 0% 10% 20% 30% 40% 50%

Single server Jaringan CDN Tanpa Rlc

P ac ke t L os s


(56)

4.2 Hasil Pengujian Rateless Code pada Jaringan CDN 4.2.1 Delay

Delay adalah waktu tunda yang dibutuhkan packet data dari pengirim ke penerima. Pada pengujian menerapkan rateless code 50% dan 100%pada jaringan CDNuntuk mendapatkan nilai delay dengan mengambil nilai downlink dan bit rate sebersar279,72 kbps dengan melakukan 20 kali percobaan. Setelah pengujian dilakukan menghasilkan nilai delay yang terlihat pada Tabel 4.3.

Tabel 4.3 Hasil Pengujian DelayRatelessCode pada Jaringan CDN

Percobaan

Jaringan CDN Tanpa Rlc

Rlc 50% Pada Jaringan CDN

Rlc 100% Pada Jaringan CDN Rata-rata Rata-rata Rata-rata

1 0,066630 0,082938 0,105791

2 0,067416 0,084200 0,107458

3 0,067557 0,084258 0,107602

4 0,067609 0,084509 0,107877

5 0,067526 0,084434 0,107410

6 0,067829 0,084177 0,107372

7 0,067589 0,084182 0,107332

8 0,067721 0,084287 0,107228

9 0,067806 0,084377 0,107874

10 0,067829 0,084327 0,107659

11 0,067750 0,084418 0,107855

12 0,067410 0,084540 0,107594

13 0,067534 0,084645 0,107568

14 0,067584 0,084319 0,107438

15 0,067680 0,084484 0,107722

16 0,067609 0,084528 0,107814

17 0,067695 0,084355 0,107241

18 0,067770 0,084308 0,107626

19 0,067558 0,084526 0,107695

20 0,068076 0,085340 0,109263


(57)

Pada Gambar 4.5 bahwa pada saat rateless code diterapkan pada jaringan CDN mengalami peningkatan nilai delay. Misalnya, untuk penerapan ratelesscode 50% pada percobaan ke-1 yaitu 0,082938 detik dan begitu juga pada ratelesscode

100% mengalami peningkatan nilai delay yaitu 0,105791 detik. Pada saat jaringan CDN tidak diterapkan ratelesscode nilai delay menghasilkan 0,066630 detik, lebih rendah jika rateless code tidak diterapkan pada jaringan CDN. Dari salah satu percobaan bahwa dapat disimpulkan penerapan rateless code mempengaruhi delay dijaringan.

Gambar 4.5 Karakteristik Delay Penerapan Rateless Code Jaringan CDN

Pada Gambar 4.6 terlihat perbandingan penerapan rateless code dantanpa rateless code padajaringan CDN. Dari grafik perbandingan terlihat penerapan rateless code 100% memilki nilai rata-rata delay terbesar yaitu 0.1075709 detik sedangkan penerapan rateless code 50% dan tanpa penerapan rateless code pada jaringan CDN nilai rata-rata delay lebih rendah yaitu 0.067608 detik dan 0.084357 detik.

0 0,02 0,04 0,06 0,08 0,1 0,12

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

D

e

lay (

s)

Urutan Percobaan

Rlc 50% pada jaringan CDN Rlc 100% pada jaringan CDN Jaringan CDN Tanpa Rlc


(58)

Menurut standard TIPHON (Telecommunicationsand Internet Protocol HarmonizationOverNetworks) nilai rata-rata dari 20 kali percobaan untuk penerapan rateless code 50%, 100% dan tanpa penerapan rateless codepadajaringan CDN masuk dalam kategori sangat bagus (<150 ms).

Gambar 4.6 Karakteristik Perbandingan Rata-rata Packet Loss Jaringan CDN

4.2.2 Packet Loss

Packet Loss adalah jumlah paket data yang hilang saat proses tranmisi terjadi. Pada pengujian menerapkan rateless code 50% dan 100%pada jaringan CDNuntuk mendapatkan nilai packet loss dengan mengambil nilai downlink dan bit rate sebersar279,72 kbps dengan melakukan 20 kali percobaan. Setelah pengujiandilakukanmenghsilkan nilai packet loss yang terlihat pada Tabel 4.4.

0 0,02 0,04 0,06 0,08 0,1 0,12

Jaringa CDN Tanpa Rlc

Jaringa CDN dengan Rlc

50%

Jaringa CDN dengan Rlc

100%

D

e

lay (


(59)

Tabel 4.4 Hasil Pengujian Packet Loss RatelessCode Pada Jaringan CDN

Percobaan

Jaringan CDN Tanpa Rlc

Rlc 50% Pada Jaringan CDN

Rlc 100% Pada Jaringan CDN Rata-rata Rata-rata Rata-rata

1 3,3% 2,6% 1,8%

2 4% 3,0% 2,3%

3 4% 3,1% 2,3%

4 3,6% 3,1% 2,1%

5 3,9% 2,8% 2,2%

6 3,5% 2,9% 2,1%

7 3,7% 2,2% 2,1%

8 3,8% 3,9% 2,3%

9 3,8% 3,1% 2,1%

10 3,7% 3,2% 2,2%

11 3,9% 3,1% 2,3%

12 3,8% 2,8% 2,1%

13 3,8% 2,8% 2,2%

14 3,6% 2,9% 2,1%

15 3,7% 3,0% 2,2%

16 4% 3,1% 2,1%

17 3,7% 3,2% 2,4%

18 3,5% 3,0% 2,2%

19 3,7% 2,8% 2,2%

20 11,4% 6,6% 3,3%

Rata-rata 4,1% 3,2% 2,2%

Pada Gambar 4.7 bahwa saat ratelesscode diterapkan pada jaringan CDN mengalami penurunan nilai packet loss. Misalnya, untuk penerapan ratelesscode 50% pada percobaan ke-1 yaitu 2,6% dan begitu juga pada ratelesscode 100% mengalami penurunan nilai packet loss yaitu 1,8%. Pada saat jaringan CDN tidak diterapkan ratelesscode nilai packet loss menghasilkan 3,3% , lebih rendah jika ratelesscode diterapkan pada jaringan CDN. Dari salah satu percobaan bahwa dapat disimpulkan penerapan rateless code sangat efektif pada jaringan CDN.


(60)

Gambar 4.7 Karakteristik Packet Loss Penerapan Rateless Code Jaringan CDN

Pada Gambar 4.8 terlihat perbandingan penerapan rateless code dantanpa rateless code padajaringan CDN. Pada saat penerapan rateless code 50% dan 100% memiliki nilai rata-rata packet loss terendah yaitu 3,2 dan 2,2% sedangkan tanpa penerapan rateless code pada jaringan CDN nilai rata-rata delay yaitu 4.1%.

Menurut standard TIPHON (Telecommunicationsand Internet Protocol HarmonizationOverNetworks) nilai rata-rata packetloss dari 20 kali percobaan pada penerapan rateless code 50% dan 100% pada jaringan CDN masuk dalam kategori bagus (<3%) sedangkan tanpa penerapan rateless code pada jaringan CDN masuk dalam kategori sedang (<15%).

0% 2% 4% 6% 8% 10% 12%

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

P

ac

ke

t L

os

s

Urutan Percobaan

Rlc 50% pada jaringan CDN

Rlc 100% pada jaringan CDN

Jaringan CDN Tanpa Rlc


(61)

Gambar 4.8 Karakteristik Perbandingan Rata-rata Packet Loss Jaringan CDN

0,0% 0,5% 1,0% 1,5% 2,0% 2,5% 3,0% 3,5% 4,0% 4,5%

Jaringa CDN Tanpa Rlc

Jaringa CDN dengan Rlc

50%

Jaringa CDN dengan Rlc

100%

P

ac

ke

t L

os


(62)

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Adapun beberapa kesimpulan dari pembahasan pada Tugas Akhir ini adalah sebagai berikut :

1. Dari hasil pengujian penerapan ratelesscode 50% dan 100%pada jaringanCDN merupakan salah satu solusi yang dapat mempertahankan kualitas trafik dan memperbaiki paket data meskipun kondisi server memburuk.

2. Untuk nilai rata-rata delay dari20 kalipercobaanpada jaringan CDN tanpa ratelesscode yaitu 0,067609 detik sedangkan penerapan ratelesscode 50% dan ratelesscode 100% mengalami peningkatan nilai delay menjadi 0,084358 detik dan 0,107571 detik. Ini desebabkan karena paket data yang bertambah besar membuat kondisi server menjadi lambat ketika proses pengiriman paket data.

3. Untuk nilai rata-rata packet loss dari20 kalipercobaanpada jaringan CDN tanpa rateless code yaitu 4% sedangkan setelah diterapkan ratelesscode 50% dan 100% pada jaringan CDN nilai packetloss yang dihasilkan semakin membaikyaitu 3% dan 2%. Berarti penerapan ratelesscode pada jaringan CDN dapat diimplementasikan dengan baik dan sangat efektif. 4. Dengan penerapan ratelesscode 50% dan 100% pada jaringan CDN

membuat nilai delay mengalami peningkatan tetapi untuk sebaliknya nilai packetloss yang dihasilkan semakin membaik.


(63)

5.2 Saran

Adapun saran dari Tugas Akhir ini adalah sebagai berikut :

1. Pada tugas akhir selanjutnya agar menambahkan parameter lain seperti throughput, jitter, dll.

2. Pada tugas akhir selanjutnya agar menambahkan rateless codes, seperti rateless codes 25%, 75% untuk memperoleh hasil yang lebih presisi.


(64)

BAB II

DASAR TEORI

2.1 Content Delivery Network (CDN)

CDN adalah sebuah sistem jaringan server untuk mendistribusikan konten yang ada dalam sebuah aplikasi/web ke berbagai pengakses/pengguna di berbagai belahan dunia agar data/konten yang dikirim dan diterima lebih cepat. CDN diperuntukkan untuk website atau aplikasi yang pengaksesnya dari berbagai belahan dunia.

Server jaringan CDN terdistribusi secara global dengan tujuan untuk melayani konten ke pengguna dengan ketersediaan yang besar dan performa tinggi. CDN melayani sebagian besar konten di internet saat ini termasuk objek web (teks, grafis dan script), obyek download (file media, software), aplikasi (e-commerce, portal), media live streaming, on-demand streaming media, dan jaringan sosial.

Konsep CDN adalah dengan meletakkan beberapa server pada belahan dunia sehingga server utama (asli) tidak akan langsung melayani permintaan web request secara langsung melainkan melalui server-server pada jaringan CDN. Keuntungannya, server asli tidak akan mengalami drop akibat banyaknya permintaan dari pengguna internet, dan efisiensi terhadap delay dan packet loss juga akan semakin baik [1]. Pada Gambar 2.1 menunjukkan konsep dasar dari Content Delivery Network.


(65)

Gambar 2.1Konsep Dasar Content Delivery Network[1]

2.2 Teknik-Teknik Pembagian Tugas CDN 2.2.1 GEO DNS

GEO DNS adalah serverDNSyangdapat mendistribusikanbeban untukhostnamekemirrors (cermin) serverterdekat, salah satunya sebagai penghantar kinerja dari CDN. Sistem kerja dari GEO DNS dengan memetakan pengguna internet menurut wilayahnya. Kemudian akan dibangun CDN pada setiap wilayah yang telah dipetakan. Dengan pemetaan wilayah maka setiap client yang melakukan request akan dilayani oleh server terdekat dengan client tersebut [2].

Original Server in

North America

CDN distribution node

CDN Server in South Amerika

CDN Server in Euorpe

CDN Server in Asia


(66)

2.2.2 Teknologi Akamai

Teknologi Akamai adalah global serviceprovider yang menyediakan layanan akselerasi "global internet content” untuk membantu mempercepat performa situs dengan cara melakukan copy cache dari website di banyak server yang tersebar di berbagai lokasi. Saat ini Akamai Technologies Inc. mempunyai lebih dari 15.000 server yang tersebar di 70 negara.

Ada beberapa komponen infrastruktur CDN Akamai, tiga komponen utamanya yaitu: edge server, contentdelivery dan mappingcenter.

Gambar 2. 2 SistemCDNAkamai [2]

Gambar 2.2 mengilustrasikan bagaimana Akamai dalam melakukan pengiriman content ke pengguna. Akamai secara transparan melakukan mirror content/cerminan konten (audio, graphics, video, animation) yang tersimpan pada server klien Akamai ke beberapa edgecache server yang tersebar di beberapa negara. Ketika ada request user ke websitimage,


(67)

animasi, video yang terdapat pada halam edgecache server yang lokasinya dekat dengan pengguna. Namun ada juga website yang keseluruhan kontentnya diletakkan pada edgecache server akamai yang tersebar di beberapa negara [2].

2.2.3 Web Mapper

WebMapper merupakan suatu teknik pemetaan yang prosesnya menggunakan informasi pemetaan yang diperoleh dari menyimpan, memanipulasi, menganalisis, mengelola dan menyajikan semua jenis data spasial atau geografis.Sistem kerja dari Web Mapper pada CDN adalah dengan melakukan record atau rekam jejak client. Ketika clientmelakukan request website, maka DNS server akan melihat history dari client tersebut pada setiap server. Kemudian DNS server akan menghubungkan client dengan server terbaik untuk client yang melakukan request web menurut history [3].

2.2.4 Packet Redirection

Packet Redirection adalah suatu teknik pengalihan packet data dari server ke server lain yang menangani requestwebsite untuk memberikan layanan yang lebih cepat. Prinsip kerja packetredirection adalah ketika client 1yang melakukan request website telah terhubung dengan server 1 dan melakukan upload atau download file akan terjadi delay. Ketika proses request website, jikadelay dianggap terlalu tinggi, maka server dapat meminta server lain melanjutkan transaksi packet yang sedang di download, sehingga kinerja pengiriman paket


(68)

dapat lebih baik. Masing-masing server akan melakukan pertukaran informasi terkait kinerja server, baik secara langsung maupun melalui pihak ketiga serper DNS server [3].

2.2.5 Load Balancer

Load balancer merupakan sebuah perangkat untuk mendistribusikan beban pekerjaan secara merata melalui beberapa node yang bekerja pada back-end node. Peran yang paling penting dari Load Balancer yaitu untuk menyediakan sebuah layanan dari beberapa kumpulan server yang berada sebagai back-end dari layanan servernya.

Untuk layanan internet, Load Balancer biasanya merupakan sebuah program perangkat lunak yang terhubung pada port dimana klien eksternal tersambung untuk mengakses layanan. Load Balancer meneruskan request dari salah satu server dari backend server, yang biasanya di-replay kembali ke load balancer. Hal ini memungkinkan Load Balancer untuk me-replayrequest dari client tanpa client tersebut mengetahui tentang pemisahan fungsi internal dari layanan server yang ada. Hal ini juga dapat mencegah client berhubungan langsung dengan server backend, yang mungkin memiliki manfaat keamanan dengan menyembunyikan struktur jaringan internal dan mencegah serangan pada jaringan[4].


(69)

2.3 Rateless code

Ratelesscode dikenal juga fountain code. Ratelesscode merupakan suatu proses pengkodean yang dapat memperbaiki kesalahan pada saat pentranmisian paket data, karena pada saat proses pentransmisian dapat terjadi lost atau paket hilang. Ratelesscode awalnya dirancang untuk Binary Erasure Channel (BEC).. Selain untuk kepentingan teoritis, Binary ErasureChannel telah mendapatkan perhatian yang signifikan dalam komunikasi data. Misalnya, di internet ada beberapa data yang ditransmisikan dalam paket-paket kecil, kemudian paket tersebut hilang, rusak, tertunda atau tidak memenuhi persyaratan layanan (QoS) dapat dibuang (terhapus).

Tujuan dasar rateless code adalah mempertahankan kualitas trafik meskipun kondisi server memburuk dan memperbaiki setiap paket data yang hilang saat proses pentransmisian terjadi. Dengan rateless codes tidak perlu diketahui seberapa besar tingkat kehilangan paket dan penerima tidak perlu memberitahu pengirim paket mana saja yang gagal untuk diterima. Hal ini sangat berguna dalam berbagai situasi dari pengiriman file video pada on demand tv sampai dengan propagasi potongan-potongan file ke banyak peer seperti pada BitTorrent.

Sistem kerja dari rateless code yaitu, encode diumpakan sebagai air mancur dan decode diumpamakan sebuah embernya yang akan menampung air mancur tersebut. Ketika airnya diumpakan sebuah paket data, dan saat proses penerimaan paket data dari server ke client, pentransmisian paket data tidak peduli apakah paket data itu diterima dengan baik ataupun loss, karena hanya paket data yang sukses diterima saja untuk diproses nantinya. Dengan kata lain, kita membuat sebuah air mancur dari data yang dikodekan dimana penerima dapat menyusun


(70)

kembali data asli hanya dengan menerima cukup air/paket data yang dikodekan secara acak.Ratelesscode terdapat beberapa bagian yaitu LT (LubyTranform ), TornadoCode dan RaptorCode. Pada Gambar 2.3 menunjukan sebuah ilustrasi dari rateless code.

Gambar 2. 3 Ilustrasi ratelesscode

2.3.1 LT (Luby Transform)

LT Code pertama kali direalisasikan pada fountain code atau yang sering disebut rateless code. Encode informasi K pada LT code disimbolkan (x1, x2, …xk)

menjadi beberapa simbol keluaran yang tak terbatas (z1, z2, z3,…..). Simbol

informasi masukan dapat barupa simbol satu bitbinery atau berupa packet data. Algoritama endcoding dan decoding pada LT code cukup sederhana, karena algoritmanya serupa dengan proses parity-check, dimana fungsi dari parity-check untuk mengecek urutan bit-bit data dan bit parity setelah data itu dikirim atau ditransmisikan. Untuk proses algoritma encoding dilakukan dengan cara berikut :

1. Suatu d dipilih untuk sampling dari distribusi D yang diberikan, yang disebut dengan “degreedistribution”. Biarkan (Ω 1, Ω2,…. Ωk) menjadi

distribusi {1, 2, …, K) kemudian dipilihnya nilai i sebagai probabilitas yang diwakili seperti Ω i . Degree distribution D dilambang oleh polynomial


(71)

2. Simbol input d dipilih secara seragam dari simbol input K yang dipilih secara acak. Nilai dari simbol output berupa XOR yang berasal dari simbol input d, �=∑=1 dimana koefiseian � ∈{0,1} untuk � = 1, 2, … . , K, ∑��=1�� = � dan menggunak 2 bit penjumlahan.

Berdasarkan asumsi yang dibuat, receiver (penerima) berasal dari koefisien ��. Dalam prakteknya hal ini dapat dicapai dengan berbagai cara. Sebagai contoh, derajat (degree) dan daftar tetangga dapat dimasukan ke dalam packetheader

kemudian kedua encoder dan decoder menggunakan fungsi yang sama sebagai kunci untuk menghitung derjat (degree) dan set tetangga (neighbor) [5]. Proses

encoding dari LT code dapat dilihat pada Gambar 2.4.

Simbol informasi 1 0 1 1 0 0 1 (Input variabel node)

Simbol encoding 1 0 0 1 Channel

(Output variabel node)

Gambar 2. 4 Proses simbol encoding [6]

Pada Gambar 2.3, nodevariableinput merupakan simbol informasi dan nodevariabeloutput berupa simbol encoding. Nodevariableinput dan nodevariabeloutput merupakan hasil penjumblahan XOR. Untuk mengembalikan simbol informasi ke dalam bentuk asli diperlukan proses decoding. Algoritma decoding dilakukan dengan cara berikut :


(72)

1. Cari simbol encode zn yang hanya berhubungan 1 simbol informasi xi

kemudian simbol informasi decode, i.e, menentukan xi dari zn. Jika tidak

seperti simbol encode maka proses decoding akan berhenti.

2. Tambahkan simbol informasi decode pada xi untuk semua simbol encode

lainnya yang berhubungan dengan xi.Kemudian hapus semua bagian pinggir

yang berbungan denga xi.

3. Ulangi langkah 1 dan 2 hingga semua simbol informasi yang decode kan sukses.

2.4 NetworkSimulator NS-2

Network Simulatorversi 2 atau yangdikenal sebagaiNS-2 merupakan sebuahprogramsimulasi berbasis kejadianyang banyak digunakanuntuk mempelajarisifat dinamis darijaringan dan protokol komunikasi. NS-2 mampu mensimulasikan jaringankabeldanjaringan nirkabelserta protokolnya yang meliputi:algoritmarouting,protokol komunikasi, penjadwalan, algoritma akses dan lain-lain [7].

Pada Gambar 2.5 menunjukan arsitektur dasar NS-2. NS-2 menggunakan dua jenis bahasa pemrograman, C++ dan TCL. C++ digunakan sebagai core proses simulasi, sementara TCL untuk konfigurasi jaringan.


(73)

Gambar 2. 5 Arsitektur dasar NS-2

TclCL dan OTcl adalah komponen TCL yang berfungsi untuk menjembatani konfigurasi dengan proses simulasi. NS-2 dieksekusi melalui perintah eksekusi command line. Hasil simulasi berupa catatan atau trace yang dapat dipergunakan oleh Network Animator (Gambar 2.6) maupun plot grafik Xgraph [7]. Untuk proses cara mensimulasikan NS-2 dapat dilihat pada Lampiran 1.


(1)

2. IbuSyiska Yana, ST, MT, selaku Penasehat Akademis penulis, atas bimbingan dan arahannya dalam melayani perkuliahan selama ini.

3. Bapak Ir. Surya Tarmizi Kasim, M.Si dan Bapak Rahmad Fauzi ST, MT selaku Ketua dan Sekretaris Departemen Teknik Elektro Fakultas Teknik Universitas Sumatera Utara.

4. Bapak Dr. Maksum Pinem, ST, MT dan Bapak Rahmat Fauzi, ST, MT selaku dosen penguji Tugas Akhir, atas masukan dan bantuannya dalam penyempurnaan Tugas Akhir ini.

5. Seluruh staf pengajar yang telah memberi bekal ilmu kepada penulis dan seluruh pegawai Departemen Teknik Elektro, Fakultas Teknik, Universitas Sumatera Utara atas segala bantuannya.

6. Temen - teman Sub-Jurusan Telekomunikasi Teknik Elektro USU Ekstensi, Bg Deni, Bg iwan, Bg Fael, Sabet, Putri, Indah S, Winni, Devi, Cui, Kak Kiki, Kak Indah Rez, Kak Indah Vus, Kak Save, Kak Yuni, Ona, Elfrida, yang telah memberi dukungan, bantuan, semangat, dan doa untuk menyelesaikan Tugas Akhir ini.

7. Teman – teman di Teknik Elektro FT-USU Ekstensi, terkhusus angkatan 2013 atas dukungan, do’a, suka dan duka selama di bangku perkuliahan. 8. Abang-abang senior yang selalu membantu, mendukung dan memberi

masukan selama menjalani perkuliahan.

9. Semua pihak yang tidak sempat penulis sebutkan satu per satu.

Penulis menyadari bahwa Tugas Akhir ini masih banyak kekurangan baik dari segi materi maupun penyajiannya. Oleh karena itu saran dan kritik dengan


(2)

tujuan menyempurnakan dan mengembangkan kajian dalam bidang ini sangat penulis harapkan.

Akhir kata penulis berserah diri pada Allah SWT, semoga Tugas Akhir ini bermanfaat bagi pembaca sekalian terutama bagi penulis sendiri.

Medan, Mei 2016 Penulis

NIM. 130422025 Nofrizal


(3)

DAFTAR ISI

ABSTRAK ... i

KATA PENGANTAR ... ii

DAFTAR ISI ... v

DAFTAR GAMBAR ... vii

DAFTAR TABEL ... viii

I. PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Perumusan Masalah ... 2

1.3 Tujuan Penelitian ... 3

1.4 Manfaat Penelitian ... 3

1.5 Batasan Masalah ... 3

1.6 Metode Penelitian ... 4

1.7 Sistematika Penulisan ... 4

II. DASAR TEORI ... 6

2.1 Content Delivery Network (CDN) ... 6

2.2 Teknik-Teknik Pembagian Tugas CDN ... 7

2.2.1 GEO DNS ... 7

2.2.2 Teknologi Akamai ... 8

2.2.3 Web Mapper ... 9

2.2.4 Packet Redirection ... 9

2.2.5 Load Balancer ... 10

2.3 Rateless Code ... 11

2.3.1 LT (Luby Transform) ... 12

2.4 Network Simulator 2 (NS-2) ... 14


(4)

III. METODE PENELITIAN ... 18

3.1 Perancangan Alur Penelitian ... 18

3.2 Spesifikasi Perangkat ... 19

3.3 Spesifikasi Fisik Simulasi CDN ... 20

3.4 Implementasi Rateless Code Pada Jaringan CDN ... 22

3.5 Parameter Evaluasi ... 26

3.6.1 Delay (Latency) ... 26

3.6.2 Packet Loss ... 27

3.6 Langkah Pelaksanaan Simulasi ... 27

IV. HASIL SIMULASI DAN ANALISIS DATA ... 32

4.1 Hasil Pengujian Single Server Dan Jaringan CDN Tanpa Rateless Code ... 32

4.1.1 Delay ... 32

4.1.2 PacketLoss ... 34

4.2 Hasil Pengujian Rateless Code Pada Jaringan CDN ... 37

4.2.1 Delay ... 37

4.2.2 Packet Loss ... 39

V. KESIMPULAN DAN SARAN ... 43

5.1 Kesimpulan ... 43

5.2 Saran ... 44

DAFTAR PUSTAKA LAMPIRAN


(5)

DAFTAR GAMBAR

Gambar 2.1 Konsep Dasar Content Delivery Network ... 7

Gambar 2.2 Sistem CDN Akamai ... 8

Gambar 2.3 Ilustrasi Rateless Code ... 12

Gambar 2.4Proses Simbol Encoding... 13

Gambar 2.5 Arsitektur Dasar NS-2 ... 15

Gambar 2.6 Tampilan NAM (Network AniMator) ... 15

Gambar 2.7 Struktur framework EvalVid ... 16

Gambar 3.1 Diagram Alir Rancangan Penelitian ... 18

Gambar 3.2 Konfigurasi Jaringan CDN ... 21

Gambar 3.3 Konfigurasi Jaringan CDN Dengan Teknik Geo DNS ... 21

Gambar 3.4 Sistem Jaringan CDN ... 23

Gambar 3.5 Trafik Video ... 24

Gambar 3.6 Trafik Video Dengan Rlc 50% ... 26

Gambar 3.7 Trafik Video Dengan Rlc 100% ... 27

Gambar 3.8 Urutan Pelaksanaan Simulasi ... 31

Gambar 4.1 Karakteristik Delay Single Server Dan Jaringan CDN Tanpa Rateless code ... 33

Gambar 4.2 Karakteristik Rata-rata Delay Jaringan ... 34

Gambar 4.3 Karakteristik Delay Single Server Dan Jaringan CDN Tanpa Rateless code ... 36

Gambar 4.4 Karakteristik Rata-rata Packet Loss Jaringan ... 36

Gambar 4.5 Karakteristik Delay Penerpan Rateless Code Jaringan CDN ... 38

Gambar 4.6 Karakteristik Perbandingan Rata-rata Packet Loss Jaringan CDN .... 39

Gambar 4.7 Karakteristik Packet Loss Pada Jaringan CDN ... 41


(6)

DAFTAR TABEL

Tabel 3.1 Spesifikasi Trafik Video ... 20

Tabel 3.2 One-WayDelay (Letency) ... 28

Tabel 3.3 PacketLoss ... 29

Tabel 4.1 Hasil Pengujian Delay Jaringan CDN ... 32

Tabel 4.2 Hasil Pengujian Packet Loss Jaringan CDN Tanpa Ratelesscode ... 35

Tabel 4.3 Hasil Pengujian DelayRatelessCode Pada Jaringan CDN ... 37