life is simple, Enjoy it!!

Friday, 27 June 2014

Flow Control

Tugas Analisis dan Desain Protocol

Flow Control







KELOMPOK 6
Ryon Natalius 12/334752/PA/14983
Mohammad Nofrizan 12/329878/PA/14383
Ardhi Wiratama Yudha 12/          PA/
Muamar Hanafi 12/331475/PA/14723

Pendahuluan
                Dikarenakan materi pada Flow Control terdapat 2 kelompok dimana kelompok yang sebelumnya kelompok 1 yang membahas Flow Control telah membahas Flow Control secara garis umumnya sekaligus juga dengan tujuan untuk lebih dalam memahami serta keterbatasan waktu yang diberikan (15 menit), maka dari itu kami yang menjadi kelompok 2 yang membahas materi flow control akan membahas lebih lanjut tentang teknik pada sliding window dan Stop and wait

Isi

Definisi Protokol
            Protokol adalah sebuah aturan atau standar yang mengatur atau mengijinkan terjadinya hubungan, komunikasi, dan perpindahan data antara dua atau lebih titik komputer. Protokol dapat diterapkan pada perangkat kerasperangkat lunak atau kombinasi dari keduanya. Pada tingkatan yang terendah, protokol mendefinisikan koneksi perangkat keras.
Protokol perlu diutamakan pada penggunaan standar teknis, untuk menspesifikasi bagaimana membangun komputer atau menghubungkan peralatan perangkat keras. Protokol secara umum digunakan pada komunikasi real-time dimana standar digunakan untuk mengatur struktur dari informasi untuk penyimpanan jangka panjang.
Sangat susah untuk menggeneralisir protokol dikarenakan protokol memiliki banyak variasi di dalam tujuan penggunaanya. Kebanyakan protokol memiliki salah satu atau beberapa dari hal berikut:
·         Melakukan deteksi adanya koneksi fisik atau ada tidaknya komputer atau mesin lainnya.
·         Melakukan metode "jabat-tangan" (handshaking).
·         Negosiasi berbagai macam karakteristik hubungan.
·         Bagaimana mengawali dan mengakhiri suatu pesan.
·         Bagaimana format pesan yang digunakan.
·         Yang harus dilakukan saat terjadi kerusakan pesan atau pesan yang tidak sempurna.
·         Mendeteksi rugi-rugi pada hubungan jaringan dan langkah-langkah yang dilakukan selanjutnya
·         Mengakhiri suatu koneksi.

Pengertian Flow Control
Dalam komunikasi data, proses mengelola laju transmisi data antara dua node untuk mencegah pengirim terlalu cepat kehabisan data dan penerima lambat dalam menerima data. Ini adalah mekanisme untuk pengirim dan penerima untuk mengontrol kecepatan transmisi, sehingga node penerima tidak kewalahan dengan data dari transmisi node. Flow control harus dibedakan dari kontrol kongesti, yang fungsinya digunakan untuk mengendalikan aliran data ketika kemacetan telah benar-benar terjadi.

Flow control ini penting karena jika komputer  pengirim mengirimkan informasi pada tingkat yang lebih cepat dari komputer tujuan untuk menerima dan memproses mereka. Hal ini dapat terjadi jika komputer penerima memiliki beban lalu lintas berat dibandingkan dengan komputer pengirim, atau jika komputer penerima memiliki lebih sedikit daya pemrosesan dari komputer pengirim.

LETAK FLOW CONTROL DIMANA

            Flow Control terdapat di bagian layer transport(lapisan ke-3) dan layer data link ( lapisan ke-2 ) baik itu di model OSI maupun di model TCP/IP.

LAYER TRANSPORT
Layanan transport di implementasikan oleh protokol transport yang dipakai antara dua buah entity, protokol ini menyerupai protokol pada data link dalam hal kontrol error, pengurutan, dan mengontrol aliran data(flow control).
Berfungsi untuk memecah data ke dalam paket-paket data serta memberikan nomor urut ke paket-paket tersebut sehingga dapat disusun kembali pada sisi tujuan setelah diterima. Selain itu, pada level ini juga membuat sebuah tanda bahwa paket diterima dengan sukses (acknowledgement), dan mentransmisikan ulang terhadap paket-paket yang hilang di tengah jalan.
LAYER DATA LINK
            Merupakan layer kedua pada model referensi OSI layer. Pada layer ini data diterima dari network layer berupa Paket yang kemudian diencapsulasi menjadi Frame, dengan memberikan layer-2 header. Dan kemudian dikirim ke phisycal layer untuk diteruskan ke penerima.
Pada penerima, layer ini mengubah Byte menjadi Frame, frame header akan dilepas (dekapsulasi), kemudian dikirim ke network layer menjadi Paket.
Berfungsi untuk menentukan bagaimana bit-bit data dikelompokkan menjadi format yang disebut sebagai frame. Selain itu, pada level ini terjadi koreksi kesalahan, flow control, pengalamatan perangkat keras (seperti halnya Media Access Control Address (MAC Address)), dan menetukan bagaimana perangkat-perangkat jaringan seperti hub,bridge, repeater, dan switch layer 2 beroperasi. Spesifikasi IEEE 802, membagi level ini menjadi dua level anak, yaitu lapisan Logical Link Control (LLC) dan lapisan Media Access Control (MAC).

PERBEDAAN LAYER TRANSPORT dengan LAYER DATA LINK

Perbedaan protokol transport dengan protokol data link ada pada:
  1. Lingkungan tempat protokol-protokol itu beroperasi. Pada data link dua buah router berkomunikasi secara langsung melalui saluran fisik dan tidak perlu dilakukan pengalamatan untuk menetukan router yang diajak berkomunikasi, sedangkan pada pada transport layer saluran fisik tersebut digantikan oleh subnet dan diperlukan pengalamatan untuk menetukan dengan router yang diajak berkomunikasi.
  2. b.     Pengalokasian buffer. Pada data link buffer dialokasikan tetap di setiap saluran sehingga frame baru akan selalu mendapatkan buffer yang bisa digunakan. Pada transport layer tidak menarik jika dilakukan hal yang sama dengan data link, karena pada transport layer terjadi koneksi dengan jumlah yang besar.


TEKNIK FLOW CONTROL

Stop And Wait Flow Control
Protokol ini memiliki karakteristik dimana sebuah pengirim mengirimkan sebuah frame dan kemudian menunggu acknowledgment sebelum memprosesnya lebih lanjut. Mekanisme stop and wait dapat dijelaskan dengan menggunakan gambar di bawah, dimana DLC mengizinkan sebuah message untuk ditransmisikan (event 1), pengujian terhadap terjadinya error dilakukan dengan teknik seperti VCR (Vertical Redundancy Check) atau LRC (Longitudinal Redundancy Check) terjadi pada (event 2) dan pada saat yang tepat sebuah ACK atau NAK dikirimkan kembali untuk ke stasiun pengirim (event 3). Tidak ada messages lain yang dapat ditransmisikan selama stasiun penerima mengirimkan kembali sebuah jawaban. Jadi istilah stop and wait diperoleh dari proses pengiriman message oleh stasiun pengirim, menghentikan transmisi berikutnya, dan menunggu jawaban. 

Pendekatan stop and wait adalah sesuai untuk susunan transmisi half duplex, karena dia menyediakan untuk transmisi data dalam dua arah, tetapi hanya dalam satu arah setiap saat. Kekurangan yang terbesar adalah disaat jalur tidak jalan sebagai akibat dari stasiun yang dalam keadaan menunggu, sehingga kebanyakan DLC stop and wait sekarang menyediakan lebih dari satu terminal yang on line. Terminal-terminal tetap beroperasi dalam susunan yang sederhana. Stasiun pertama atau host sebagai penanggung jawab untuk peletakkan message diantara terminal-terminal (biasanya melalui sebuah terminal pengontrol yang berada di depannya) dan akses pengontrolan untuk hubungan di bawah dan menjadi masalah yang serius ketika ACK atau NAK hilang dalam jaringan atau dalam jalur. Jika ACK pada event 3 hilang, setelah habis batas waktunya stasiun master mengirim ulang message yang sama untuk kedua kalinya. Transmisi yang berkelebihan mungkin terjadi dan menciptakan sebuah duplikasi record pada tempat kedua dari file data pengguna. Akibatnya, DLC harus mengadakan suatu cara untuk mengidentifikasi dan mengurutkan message yang dikirimkan dengan berdasarkan pada ACK atau NAK sehingga harus dimiliki suatu metode (dijelaskan di bagian bawah )untuk mengecek duplikat message.


Pada gambar di bawah ditunjukkan bagaimana urutan pendeteksian duplikasi message bekerja, pada (event 1) stasiun pengirim mengirimkan sebuah message dengan urutan 0 pada headernya. Stasiun penerima menjawab dengan sebuah ACK dan sebuah nomor urutan 0 (event 2). Pengirim menerima ACK, memeriksa nomor urutan 0 di headernya, mengubah nomor urutan menjadi 1 dan mengirimkan message berikutnya (event 3).



Stasiun penerima mendapatkan message dengan ACK 1 di (event 4). Akan tetapi message ini diterima dalam keadaan rusak atau hilang pada jalan. Stasiun pengirim mengenali  bahwa message di event 3 tidak dikenali. Setelah batas waktu terlampau (timeout) stasiun pengirim mengirim ulang message ini (event 5). Stasiun penerima mencari sebuah message dengan nomor urutan 0. Dia membuang message, sejak itu dia adalah sebuah duplikat dari message yang dikirim pada event 3. Untuk melengkapi pertanggungjawaban, stasiun penerima mengirim ulang ACK 1 (event 6).  
FRAGMENTASI
                Proses Stop and Wait yang mengirim satu-persatu data atau fragment akan berjalan dengan baik apabila data yang dikirimkan adalah data yang kecil yang tidak terlalu memakan bandwitch pada proses pengiriman, namun apabila framenya besar bagaimana solusi yang dilakukan Stop and Wait untuk mengatasi hal tersebut. Hal tersebut dikenal dengan istilah FRAGMENTASI.
Kegunaan FRAGMENTASI antara lain :
·         Mengatasi Terbatasnya ukuran buffer
·         Error bisa dideteksi lebih dini (ketika seluruh frame diterima)
o   Ketika ada error, perlu mentransmisikan kembali frame-frame kecil
·         Mencegah satu stasiun menggunakan media untuk jangka waktu yang lama

Efek delay propagasi dan kecepatan transmisi
Kita akan menentukan efisiensi maksimum dari sebuah jalur point-to-point menggunakan skema stop and wait. Total waktu yang diperlukan untuk mengirim data(Td )adalah :
Td = TI + nTF
dimana        TI
=  waktu untuk menginisiasi urutan 
           T
=  tprop + tpoll + tproc
            TF
waktu untuk mengirim satu frame
T
=  tprop + tframe + tproc + tprop + tack + tproc
tproc
=  waktu proses
tprop            =  waktu propagasi 
tframe             =  waktu pengiriman 
tack                =  waktu balasan
Untuk menyederhanakan persamaan di atas, kita dapat mengabaikan Termination ( membatasi koneksi logika (hubungan transmitter-receiver)). Misalnya, untuk sepanjang urutan frame, TI relatif kecil sehingga dapat diabaikan. Kita asumsikan bahwa waktu proses antara pengiriman dan penerimaan diabaikan dan waktu balasan frame(tack) adalah sangat kecil, sehingga kita dapat mengekspresikan Tsebagai berikut:
Td = n(2tprop + tframe)
Dari keseluruhan waktu yang diperlukan hanya n x t frame yang dihabiskan selama pengiriman data sehingga utilization (U) atau efisiensi jalur diperoleh. 
o Sliding-Window Flow Control
Masalah utama yang ada selama ini bahwa hanya satu frame yang dapat dikirimkan pada saat yang sama. Dalam keadaan antrian bit yang akan dikirimkan lebih besar dari panjang frame (a>1) maka diperlukan suatu efisiensi. Untuk memperbesar efisiensi yang dapat dilakukan dengan memperbolehkan transmisi lebih dari satu frame pada saat yang sama. Bila suatu station A dan B dihubungkan dengan jalur full-duplex, station B mengalokasikan buffers dengan selebar n frame, yang berarti stasiun B dapat menerima n frame, dan station A diperbolehkan untuk mengirim frame sebanyak n tanpa menunggu adanya jawaban(ACK). Untuk menjaga jejak dimana frame yang dikirimkan sedang dijawab maka masing-masing jawaban diberi label dengan nomor yang urut. Station B menjawab frame dengan mengirimkan jawaban yang dilengkapi nomor urut dari frame berikutnya yang diinginkan. Jawaban ini juga memiliki maksud untuk memberitahukan bahwa station B siap untuk menerima n frame berikutnya, dimulai dengan nomor urut yang telah tercantum. Skema ini juga dapat dipergunakan untuk menjawab lebih dari satu frame. Misalnya station B dapat jawaban sampai frame ke 4 tiba, dengan kembali jawaban dengan nomor urut 5, station B menjawab frame 2, 3, dan 4 pada satu saat. Station A memelihara daftar nomor urutan yang boleh dikirim, sedangkan station B memelihara daftar nomor urutan yang siap akan diterima. Masing-masing daftar tersebut dapat dianggap sebagai window dari frame, sehingga prinsip kerjanya disebut dengan pengontrol aliran sliding-window. Diperlukan untuk dibuat komentar tambahan untuk masing-masing, karena nomor urut yang dipakai menempati daerah didalam frame, komentar tambahan ini dibatasi oleh terbatasnya tempat yang tersedia. Misalnya untuk daerah dengan panjang 3 bit, maka nomor urut jangkauannya antara 0 s/d 7 saja, sehingga frame diberi nomor dengan modulo 7, jadi sesudah nomor urut 7 berikutnya adalah nomor 0. Pada umumnya untuk daerah dengan panjang k-bit, maka jangkauan nomor urut dari 0 sampai dengan 2k-1, dan frame diberi nomor dengan modulo 2k. Pada gambar dibawah menggambarkan proses sliding-windows, dengan diasumsikan nomor urut menggunakan 3 bit sehingga frame diberi nomor urut 0 s/d 7, selanjutnya nomor yang sama dipakai kembali sebagai bagian urutan frame. Gambar segiempat yang diberi bayangan (disebut window) menunjukkan transmitter dapat mengirimkan 7 frame, dimulai dengan frame nomor 7. Setiap waktu frame dikirimkan maka window yang digambarkan sebagai kotak dibayangi akan menyusut, setiap waktu jawaban diterima, window akan membesar. Ukuran panjang window sebenarnya tidak diperlukan sebanyak ukuran maksimumnya untuk diisi sepanjang nomor urut. Sebagai contoh, nomor urut menggunakan 3 bit, stasiun dapat membentuk window dengan ukuran 4, menggunakan protokol pengatur aliran sliding-window. Sebagai contoh diasumsikan memiliki daerah nomor urut 3 bit dan maksimum ukuran window adalah 7 frame. Dimulai dari station A dan B telah menandai window dan station A mengirimkan 7 frame yang dimulai dengan frame 0 (F0), sesudah mengirimkan 3 frame (F0, F1, dan F2) tanpa jawaban maka station A telah menyusutkan window-nya menjadi 4 frame. Window menandai bahwa station A dapat mengirimkan 4 frame, dimulai dari frame nomor 3 selanjutnya stasiun B mengirim receive-ready (RR) yang berarti semua frame telah diterima sampai frame nomor 2 dan selanjutnya siap menerima frame nomor 3, tetapi pada kenyataannya disiapkan menerima 7 frame, dimulai frame nomor 3. Station A terus mengirimkan frame nomor 3, 4, 5, dan 7, kemudian station B menjawab RR7 sebagai jawaban dari semua frame yang diterima dan mengusulkan station A mengirim 7 frame, dimulai frame nomor 7.
Gambar. 7: Skema Aliran Sliding-Window  

Receiver harus dapat menampung 7 frame melebihi satu jawaban yang telah dikirim, sebagian besar protokol juga memperbolehkan suatu station untuk memutuskan aliran frame dari sisi (arah) lain dengan cara mengirimkan pesan receive-not-ready (RNR), yang dijawab frame terlebih dulu, tetapi melarang transfer frame berikutnya. Bila dua stasiun saling bertukar data (dua arah) maka masing-masing perlu mengatur dua window, jadi satu untuk transmit dan satu untuk receive dan masing-masing sisi (arah) saling mengirim jawaban.
Untuk memberikan dukungan agar efisien seperti yang diinginkan, dipersiapkan piggybacking (celengan), masing-masing frame data dilengkapi dengan daerah yang menangkap urutan nomor dari frame, ditambah daerah yang menangkap urutan nomor yang dipakai sebagai jawaban(ACK). Selanjutnya bila suatu station memiliki data yang akan dikirim dan jawaban(ACK) yang akan dikirimkan, maka dikirimkan bersama-sama dalam satu frame, cara yang demikian dapat meningkatkan kapasitas komunikasi. Jika suatu station memiliki jawaban tetapi tidak memiliki data yang akan dikirim, maka station tersebut mengirimkan frame jawaban yang terpisah. Jika suatu station memiliki data yang akan dikirimkan tetapi tidak memiliki jawaban baru yang akan dikirim maka station tersebut mengulangi dengan mengirimkan jawaban terakhir yang dikirim, hal ini disebabkan frame data dilengkapi daerah untuk nomor jawaban, dengan suatu nilai (angka) yang harus diletakkan kedalam daerah tersebut. Jika suatu station menerima jawaban yang sama (duplikat) maka tinggal mengabaikan jawaban tersebut. Sliding-window dikatakan lebih efisien karena jalur komunikasi disiapkan seperti pipa saluran yang setiap saat dapat diisi beberapa frame yang sedang berjalan, sedangkan pada stop and wait hanya satu frame saja yang boleh mengalir dalam pipa saluran tersebut.
 
KESIMPULAN

Stop and Wait dan Sliding Window merupakan 2 teknik flow control masing – masing teknik tersebut dapat memberikan hasil yang memuaskan apabila digunakan pada kondisi dan saat yang tepat. Namun bisa menjadi sebaliknya dan menjadi sangat menjengkelkan apabila penggunaannya salah. Berdasarkan hal tersebut maka berikut kekurangan dan kelebihan masing-masing teknik

Kelebihan dan Kekurangan stop and wait
Kelebihan
  •          Algoritma yang sederhana
  •          Digunakan pada tranfer data yang memiliki kapasitas kecil

Kekurangan
  •         Karena proses pengiriman yang satu-persatu maka menjadi tidak efisien untuk data berjumlah banyak

Kelebihan dan Kekurangan Sliding Window
Kelebihan
  • Mengatasi kekurangan utama pada stop and wait dengan dapat mentranfer data sekaligus lebih dari 1
  • Receiver memiliki buffer N long
  • Transmitter dapat mengirimkan N frames tanpa ACK
  • Tiap frame terdapat nomor urut
  • ACK termasuk nomor frame yang diharapkan selanjutnya
  • Nomor Sequence diloncati tiap ukuran dalam field (k)


Kekurangan
  •          Algoritma yang lebih ribet dan kompleks
  •          Apabila data yang dikirim sedikit lebih disarankan menggunakan stop and wait karena lebih efisien

Sehingga dapat diketahui Apabila data yang dikirim sedikit lebih disarankan menggunakan stop and wait sedangkan apabila data besar penggunaan sliding window akan menjadi lebih efisien

Referensi












1 comment: