ANALISIS KINERJA DAN PEMODELAN PROTOKOL SLIDING WINDOW DENGAN GO BACK N Septian Hendra A P, Muchammad Husni Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi 10 Nopember Surabaya e-mail :
[email protected]
Abstrak Algoritma sliding window secara luas banyak digunakan dalam standard network protocol. Algoritma ini dapat memastikan pengiriman data yang benar pada saluran (channel) yang unreliable dimana paket bisa saja di duplikat, hilang, atau disusun ulang. Beberapa parameter pada protokol sliding window dapat mempengaruhi keseluruhan kinerja dari sistem yang masih perlu diselidiki secara sistematis. Tugas akhir ini menjelaskan protokol sliding window dan parameter yang berkaitan. Model dan simulasi dari protokol ini dibuat pada Java Applet. Beberapa hasil simulasi bisa didapat dari model ini dalam berbagai macam lingkungan jaringan dan parameter yang berbeda. Ketika kita mendesain adaptive algorithm atau novel protocol dengan algoritma sliding window, hasilnya sangat dibutuhkan dalam mengidentifikasi setting parameter yang optimal dan untuk menentukan parameterparameter yang akan digunakan seperti window size, jumlah frame, probabilitas frame eror, waktu propagation dan waktut transmisi sebelum mengimplementasikan pada protokol sliding window. Kata kunci : : protokol sliding window, simulasi,, kinerja sistem. 1.
PENDAHULUAN Protokol Sliding window secara luas banyak digunakan di protokol-protokol komunikasi yang popular seperti TCP, HDLC dan SPX. Protocol ini dapat memastikan pengiriman data yang benar pada kualitas komunikasi unreliable channel dimana paket bisa saja di duplikat, hilang, atau disusun ulang. Beberapa parameter dapat mempengaruhi karakteristik kinerja dari protokol sliding window. Pada umumnya, karakteristik performa tersebut tidak dapat ditentukan secara analitik. Bagaimanapun, kita harus mempelajari beberapa key karakteristik performa untuk mengenali setting parameter yang optimal pada tahap desain awal ketika mendesain algoritma yang sesuai. Pada tugas akhir ini dijelaskan protokol sliding window secara umum, menggambarkan prosedur komunikasi protokol, dan menyimpulkan beberapa parameter yang berelasi yang dapat mengakibatkan kinerja keseluruhan sistem. Dalam memperkirakan kinerja protokol sliding window secara sistematis, sebagai contoh aplikasi simulasi program dari
protokol sliding window ini dibuat dengan menggunakan Java Applet. Dari simulasi tersebut memberikan penjelasan dan analisa karakteristik performansi. Karakteristik performansi itu melingkupi utilization atau efficiency dari suatu protokol. Beberapa key-parameter seperti jumlah frame, probabilitas frame eror, window size, waktu propagation, dan waktu transmisi diteliti pada lingkungan network kesuluruhan dan setting parameter yang berbeda dengan baik. 2. DESKRIPSI PROTOKOL SLIDING WINDOW Sender and receiver Didalam protokol sliding window terdapat 2 komponen utama pada data link layer : sender dan receiver. Sender mendapat inputan data frame yang berurutan dari network layer. Setiap data frame tersusun dari paket dan beberapa informasi kontrol. Informasi kontrol terdiri dari beberapa fields seperti frame kind, input sequence number dan acknowledgement. Setiap frame luar diberi sequence number, antara 0 sampai batas maksimum (biasanya 2n-1, n>0). Input sequence dikirim oleh sender ke receiver melalui unreliable channel. Setelah menerima frame dari network, receiver akan mengirim frame tersebut ke network layer pada order yang sama dimana frane itu akan tampak pada input sequence. Sending and receiving windows Pada waktu tertentu, sender mengatur sequence number berurutan dari sending window yang sesuai dengan frame yang akan dikirim. Sequence number tersebut dalam sending window menggambarkan pengiriman frame-frame. Demikian pula dengan receiver mengatur receiving window, berhubungan dengan sejumlah out of order frame yang diijinkan untuk diterima. Frame-frame yang tidak sampai ke receiving window akan dibuang. Channels Pada umumnya channels adalah unreliable dan bi-directional. Paket-paket bisa saja di duplikat, hilang, atau disusun ulang dalam channel ini, dan akan ada waktu delay melalui channels. Pada protokol sliding window, data frame dikirim oleh sender ke frame channel, dan acknowledgement frames dikirim oleh receiver ke channel lainnya : acknowledgement channel.
Communication procedure Pada awal komunikasi antara sender dan receiver, sending window dan receiving window kosong. Sender memulai mengirim data frame ke receiver melalui frame channel. Dilain sisi, receiver menunggu untuk menerima data frame dari network. Ketika paket sampai di sender dari network layer, Sender mengambil paket dan sequence number dengan informasi kontrol lainnya menuju ke frame, dan kemudian mengirim frame ke frame channel. Setelah mengirimkan frame, sender memulai menjalankan waktu yang baru. Timeout period dari timers harus dibuat agar mengikuti waktu yang cukup bagi frame untuk menuju ke receiver, bagi receiver untuk memproses hal tersebut dalam worst case, dan bagi acknowledgment frame untuk menyebarkan kembali ke sender. Setelah menerima frame dan memulai timer, sender akan mengirim data frame yang berikutnya ke frame channel sampai sending window penuh. Di waktu yang sama, sender menunggu acknowledgment sampai dari network. Ada tiga kemungkinan, acknowledgment frame sampai dengan keadaan tidak rusak, acknowledgement frame rusak, dan timer time out. Pada tugas akhir ini, kita hanya fokus pada protokol sliding window menggunakan go back n. Sender akan mengirim semua unacknowledged frames, dimulai dari yang rusak atau yang hilang. Pada receiver , ketika frame yang benar tiba, sequence number nya diperiksa untuk melihat apakah frame nya adalah frame yang berikutnya. Jika itu adalah frame yang berikutnya, frame tersebut diterima, melalui network layer, dan acknowledgement frame dihasilkan. Selain hal tersebut, akan dibuang. 3.
PARAMETER SLIDING WINDOW Beberapa parameter yang mempengaruhi kinerja protokol sliding window dan asumsi-asumsi yang akan digunakan pada model nantinya : Jumlah frame : banyaknya frame dalam 1 proses transmisi. Window size : ukuran window dalam suatu proses transmisi frame. Probabilitas frame eror : adalah probabilitas paket hilang pada data frame channel atau pada acknowledgement frame channel. Dalam model, kita mempelajari bermacam-macam situasi seperti packet lossless dan probabilitas-probabilitas berbeda pada packet loss (seperti 0%, 1%, atau 5%). Waktu penyebaran : waktu propagation / waktu transmisi Utilization : pemakaian maksimum atau efisiensi dari proses transmisi. Dalam analisis, kita menggunakan nilai U untuk masing-masing protokol :
Selective repeat :
⎧1-p ⎪ U = ⎨ N (1-p) ⎩⎪ 2a+1
N > 2a+1 ⎫ ⎪ ⎬ N < 2a+1⎪ ⎭
Go-back-N :
⎧ 1-p ⎪1+2a ⎪⎪ U= ⎨ ⎪ N(1-p) ⎪ ⎪⎩ (2a+1) (1- p+Np)
⎫ N > 2a+1 ⎪ ⎪⎪ ⎬ ⎪ N < 2a+1⎪ ⎭⎪
Dimana, a = waktu penyebaran N = ukuran window p = probabilitas transmisi suatu frame dengan sukses.
4. Java Applet Java applet adalah sebuah applet yang disampaikan ke user dalam bentuk Java bytecode. Java applet dapat di run di web browser menggunakan Java Virtual Machine (JVM), atau Sun`s applet viewer, sebuah tool stand-alone yang dites untuk applet. Membentuk Applet Class Applet adalah sebuah subclass dari class Panel yang didefinisikan dalam AWT. Ketika membuat sebuah applet, dibutuhkan suatu extend class Applet. Sebagaimana yang disebutkan sebelumnya, classnya dapat ditemukan dalam java.applet package. Oleh karena itu, mengimport the java.applet package merupakan suatu keharusan. Juga, telah disebutkan sebelumnya bahwa class Applet adalah subclass dari class Panel. Hal ini mengimplikasikan bahwa beberapa methods dari class applet ditemukan dalam class Panel.Untuk mengakses methods atau fields dalam class Panel atau class-class induk, diperlukan suatu aksi untuk import package java.awt Method-method Applet Siklus Applet Untuk memulai eksekusi pada main method seperti dalam aplikasi khas Java, browser atau applet viewer berhubungan dengan applet melalui methodmethod berikut : a. Init () init adalah method yang dipanggil pertama kali. Yang sebenarnya berisi permintaan pertama ketika applet di load. b. Start () Setelah meminta method init, mulai dengan method yang dipangil selanjutnya. method ini meminta dokumen HTML yang ditampilkan 1.
applet setiap waktu. Eksekusi ringkasan dengan method ini dilakukan ketika applet ditampilkan kembali. c. Stop () Ketika web browser meninggalkan dokumen HTML applet,method ini dipanggil untuk menginformasikan applet bahwa dia harus menghentikan proses eksekusinya. d. Destroy () Method ini dipanggil ketika applet perlu dihapus dari kelangkapan memory. Method stop selalu dipanggil sebelum method ini diminta untuk dijalankan. 2. Method paint Method lain yang tidak kalah penting adalah method paint, yang mana class Applet menurunkannya dari class induknya yaitu class Component, Yang meminta output applet setiap waktu yang diperlukan untuk dapat digambar kembali. Sebagai contoh dari setiap instance adalah ketika sebuah applet tersembunyi oleh window lain dapat dibuat terlihat lagi. Method ini selalu menolak ketika anda ingin membuat bagaimana applet yang Anda buat harus terlihat seperti yag anda inginkan. 3. ShowStatus method Applet memiliki window status, dimana memberi informasi kepada Anda tentang apa yang sebenarnya dilakukan applet. Jika anda ingin memberi output ke window status, secara sederhana memanggil method showStatus
2.
3.
4.
5.
acknowledgement, membuat, dan mengeset ulang koneksi. Data link layer sender, bertugas mengambil data frame dari network layer dan mengirimkannya ke frame channel. Setelah mengirimkan frame, sender mulai menjalankan timer, gunanya mengikuti waktu yang cukup bagi frame untuk menuju ke receiver, bagi receiver untuk memproses hal tersebut dalam worst case, dan bagi acknowledgment frame untuk menyebarkan kembali ke sender Physical layer. Terdiri dari frame channel dan ack channel. Fungsi frame channel menerima paket dari sender sampai sending window penuh dan mengirimkannya ke receiver. Sedangkan ack channel berfungsi menerima ack dari receiver dan mengirimkannya ke sender. Data link layer receiver. Ketika frame yang benar tiba, sequence number nya diperiksa untuk melihat apakah frame nya adalah frame yang berikutnya. Jika itu adalah frame yang berikutnya, frame tersebut diterima, melalui frame channel, dan acknowledgement frame dihasilkan. Selain hal tersebut, akan dibuang Network layer receiver, berfungsi menerima paket dari receiver dan mengirim balik paket tersebut.
6. 5.
DESAIN DAN IMPLEMENTASI SISTEM Tugas akhir ini dibuat untuk mengimplementasikan pemodelan protokol sliding window dengan go back N menggunakan tools seperti Java Applet. Secara garis besar aplikasi ini terdiri dari 5 bagian utama yaitu : network layer sender, network layer receiver, data link sender, data link receiver, dan physical layer. Gambaran dari konsep pemodelan protokol sliding window ini dapat dilihat dari gambar dibawah ini:
Gambar 5-1 Konsep model protokol sliding window dengan go back n
Adapun elemen-elemen pembangun yang ada di aplikasi ini dapat diklasifikasikan sebagai berikut: 1. Network layer sender, bertugas mentransfer data frame berupa paket dan beberapa informasi kontrol seperti frame kind dan
UJI COBA Uji coba ini dilakukan untuk mengetahui pengaruh perubahan jumlah frame, window size, probabilitas frame eror, waktu penyebaran dan nilai utilization terhadap kinerja protokol sliding window. Dalam menganalisis kinerja suatu protokol, terlebih dahulu yang kita lakukan adalah membuat skenario simulasi berdasarkan running program dengan mengasumsikan probabilitas frame eror pada protokol sliding window yaitu 0%, 1%, dan 5%. Jadi kita menggunakan probabilitas ini untuk mengetahui perubahan pada jumlah frame, window size, waktu penyebaran dan nilai utilizationnya. Uji coba dilakukan dengan membandingkan protokol sliding window mana yang lebih baik antara Go Back N dan Selective Repeat Skenario 1 Skenario pertama dilakukan pada perubahan jumlah frame dan probabilitas frame eror dengan menetapkan banyaknya window size dan waktu penyebaran. Dengan tujuan untuk mengetahui pengaruh perubahan utilization. Hasil uji coba Skenario 1 Dilakukan percobaan dengan melakukan perubahan pada jumlah frame dengan window size dan waktu penyebaran ditetapkan yaitu window size
= 10, dan waktu penyebaran = 5. Percobaan dilakukan pada probabilitas 1%, dan 5%. • Probabilitas Frame Error 1% a. Untuk Go Back N Tabel 6-1 Hasil simulasi perubahan parameter pada jumlah frame dengan probabiltas 1% pada Go Back N
b.
Untuk Selective Repeat
Tabel 6-4 Hasil simulasi perubahan parameter pada window size dan propagation delay dengan probabilitas 2% pada SR Percobaan
Jumlah Frame 10
1 Percobaan
Jumlah Frame 10
1
Window size 10
Waktu penyebaran 5
Window size 10
Waktu penyebaran 5
Utilization 0.333 0.454
Utilization
0.526
0.323 0.5
2
20
10
5
0.274 0.425
2
20
10
5
0.476 0.645
3
30
10
5
0.666 3
30
10
5
0.357
0.566
0.476
0.714
b.
Untuk Selective Repeat
Tabel 6-2 Hasil simulasi perubahan parameter pada jumlah frame dengan probabilitas 1% pada SR Percobaan
Jumlah Frame 10
1
Window size 10
Waktu penyebaran 5
Utilization 0.333 0.526
2
20
10
5
0.54 0.666
3
30
10
5
0.577
0.732
Skenario 2 Skenario kedua dilakukan pada perubahan window size dan waktu penyebaran dengan mengabaikan jumlah frame. Dengan tujuan untuk mengetahui pengaruh perubahan teori utilization. Hasil uji coba Skenario 2 Dilakukan percobaan dengan melakukan perubahan pada window size dan waktu penyebaran dengan mengabaikan jumlah frame. Percobaan dilakukan pada probabilitas 0%, 1%, dan 5% • Probabilitas Frame Error 0% a. Untuk Go Back N
0.732
•
Tabel 6-5 Hasil simulasi perubahan parameter pada window size dan waktu penyebaran dengan probabiltas 0% pada Go Back N
Probabilitas Frame Error 5% a. Untuk Go Back N
Tabel 6-3 Hasil simulasi perubahan parameter pada jumlah frame dengan probabiltas 5% pada Go Back N Percobaan 1
Jumlah Frame 10
Window size 10
Waktu penyebaran 5
Utilization 0.238 0.323 0.5
2
20
10
5
0.27 0.377 0.645
3
30
10
5
0.349 0.469 0.714
Percobaan 1
Window size 2
Waktu penyebaran 2
Teori Utilization 0.4
2
3
2
0.6
3
5
2
1
4
6
2
1
5
2
3
0.286
6
3
3
0.429
7
5
3
0.714
8
6
3
0.857
9
7
3
1
10
2
4
0.222
11
3
4
0.333
12
5
4
0.555
b.
Untuk Selective Repeat
Tabel 6-6 Hasil simulasi perubahan parameter pada window size dan waktu penyebaran dengan probabilitas 0% pada SR Percobaan
•
2
3
2
0.594
3
5
2
0.99
4
6
2
0.99
5
2
3
0.283
6
3
3
0.424
7
5
3
0.707
8
6
3
0.849
1
Window size 2
Waktu penyebaran 2
Teori Utilization 0.4
2
3
2
0.6
9
2
4
0.22
3
5
2
1
10
3
4
0.329
4
6
2
1
11
5
4
0.55
5
2
3
0.286
12
6
4
0.659
6
3
3
0.429
7
5
3
0.714
8
6
3
0.857
9
7
3
1
10
2
4
0.222
11
3
4
0.333
12
5
4
0.555
•
Probabilitas Frame Error 5% a. Untuk Go Back N
Tabel 6-9 Hasil simulasi perubahan parameter pada window size dan waktu penyebaran dengan probabiltas 5% pada Go Back N Percobaan
Probabilitas Frame Error 1% a. Untuk Go Back N
Tabel 6-7 Hasil simulasiperubahan parameter pada window size dan waktu penyebaran dengan probabiltas 1% pada Go Back N Percobaan 1
Window size 2
2 3
2
Waktu penyebaran 2
Teori Utilization 0.362
3
2
0.518
3
5
2
0.792
4
6
2
0.792
5
2
3
0.285
6
3
3
0.37
7
5
3
0.565
8
6
3
0.651
2
Teori Utilization 0.392
3
2
0.582
9
2
4
0.201
5
2
0.952
10
3
4
0.288
4
6
2
0.952
11
5
4
0.439
5
2
3
0.28
12
6
4
0.506
6
3
3
0.416
7
5
3
0.679
8
6
3
0.808
9
2
4
0.218
10
3
4
0.324
11
5
4
0.529
12
6
4
0.629
b.
Waktu penyebaran
1
Window size 2
Untuk Selective Repeat
Tabel 6-8 Hasil simulasi perubahan parameter pada window size dan waktu penyebaran dengan probabiltas 1% padaSR Percobaan 1
Window size 2
Waktu penyebaran 2
Teori Utilization 0.396
b.
Untuk Selective Repeat
Tabel 6-10 Hasil simulasi perubahan parameter pada window size dan waktu penyebaran dengan probabiltas 5% pada SR Percobaan 1
Window size 2
2
Waktu penyebaran 2
Teori Utilization 0.38
3
2
0.57
3
5
2
0.95
4
6
2
0.95
5
2
3
0.271
6
3
3
0.407
7
5
3
0.679
8
6
3
0.814
9
2
4
0.211
10
3
4
0.316
11
5
4
0.528
12
6
4
0.633
7.
KESIMPULAN Beberapa kesimpulan yang dapat diambil dalam pengerjaan tugas akhir ini yaitu: 1. Aplikasi yang dibuat pada tugas akhir ini, layak digunakan untuk menganalisis kinerja dari protokol sliding window. 2. Beberapa hasil simulasi dapat diperoleh dari aplikasi sistem, dengan melakukan perubahan parameter-parameter seperti pada jumlah frame, window size, dan waktu penyebaran dengan tingkat probabilitas frame eror yang berbeda yaitu 0%, 1%, dan 5%. Didapatkan hasil simulasinya yaitu, untuk probabilitas frame eror 0%, 1%, dan 5% dengan 2 skenario yang diberikan, selective repeat lebih baik dari go back n karena nilai utilization nya mendekati 1 (100%) dengan arti pengiriman frame jarang mengalami eror pada saat transmisi.
8.
DAFTAR PUSTAKA
[1] Tanenbaum, A. S. 2003. Computer Networks, Fourth Edition. Prentice-Hall International,Inc. [2] Deng, Y, Huang, Z. 2003. “Modeling and Performance Analysis of a Sliding Window Protocol”. Proceedings Of The 4th Progress Symposium On Embedded Systems. NBC NIEUWEGEIN, NL. [3] Fang, L, Huang, Z, dan Hou, Y. 2006. “Analyzing the Performance of the Network Protocols Based on System-Level Modeling”. IJCSNS International Journal of Computer Science and Network Security. VOL.6 No.7B. [4] Moningka, J. 2004. “In-Depth: Reliable Transmission (Sliding Window Algorithm)”. Jaringan Komputer, (IKI-20240). [5] Kistijantoro, A.I. 2006. “Data link layer”. Jaringan Komputer & Pengamanannya, IF3291. [6] Wikipedia. July, 2007. Java applet,
[7]McGuffin, M. 2000. Java Applet Tutorial,