Senin, 11 Juni 2012

Flow Control


2.1     Pengertian Flow Control
Dalam komunikasi data, flow control adalah 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 adalah mungkin jika computer  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.

2.2     Dua Teknik flow control
Teknik flow control ada 2 yaitu Stop dan wait flow control   dan sliding window flow control ( flow control jendela pergeseran )
Stop and wait flow control.
Cara kerjanya  :
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 atas, dimana DLC(Data Line Carrier) 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 even 2 dan pada saat yang tepat sebuah ACK(Acknowledgment) atau NAK(Negative acknowledgment) 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.Ketika  ACK  atau  NAK hilang pada saat pentransmisian terjadi maka ini akan menjadi masalah yang serius. 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 metoda untuk mengecek duplikat message.
Pada  gambar  di  bawah  ditunjukkan  bagaimana  urutan  pendeteksian  duplikasi message bekerja, pada event 1 stasiun pengirim mengirikan 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).

Gambar: Stop-and-wait alternating sequence 
Stasiun  penerima  mendapatkan  message  dengan  ACK  1  di  event  4.  Akan  tetapi message ACK  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(message 0 didata pengirim), sejak itu dia message 1 yang dikirim di event 5 adalah sebuah duplikat dari message yang dikirim pada event 3. Untuk melengkapi pertanggungjawaban, stasiun penerima mengirim ulang ACK 1 (event 6). 
Flow Control Jendela Pergeseran(sliding-window flow control)

Masalah utama yang selama ini adalah bahwa hanya satu frame yang dapat dikirimkan pada saat yang sama. Dalam keadaan antrian bit yang akan dikirimkan lebih besar dari panjang  frame  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. 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  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 kuning  (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 0.

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  duawindow, jadi satu untuk transmit dan satu untuk receive dan masing-masing sisi (arah) saling  mengirim  jawaban.  Untuk  memberikan  dukungan  agar  efiisien  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. Selanjutnya bila suatu station  memiliki  data  yang  akan  dikirim  dan  jawaban  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,  tetapi  pada  stop  and wait  hanya  satu  frame  saja  yang  boleh mengalir dalam pipa saluran tersebut. 

Berikut ilustrasi cara kerja sliding window flow control:


Kontrol kesalahan
Bagaimana meyakinkan semua frame akan dikirimkan dengan segera ke network layer di
mesin tujuan dengan urutan yang benar. Cara yang umum untuk menjamin pengiriman reliabel
adalah memberikan pengirim beberapa umpan balik tentang apa yang terjadi di sisi lain dari
saluran. Umumnya protokol meminta penerima untuk mengirimkan kembali frame-frame kontrol
khusus yang berkaitan dengan acknowledgement positif atau negatif tentang frame yang datang.
Bila pengirim menerima acknowledgement positif, maka pengirim akan mengetahui bahwa frame
telah sampai dengan baik. Sebaliknya, acknowledgement negatif berarti sesuatu yang salah,
maka frame harus ditransmisikan ulang.
Kemungkinan masalah lain bisa muncul karena berasal dari hardware, dimana frame bisa
musnah sama sekali. Dalam kasus ini, penerima tidak akan bereaksi sama sekali, karena tidak
memiliki alasan untuk bereaksi. Kemungkinan ini berkaitan dengan pemakaian timer kedalam
data link layer.
Pada saat pengirim mentransmisikan sebuah frame, pengirim juga mengaktifkan timer.
Timer akan mati setelah melalaui interval yang cukup panjang bagi frame untuk mencapai mesin
yang dituju, diproses disana, dan acknowledgement akan kembali sebelum timer habis. Akan
tetapi, bila salah satu frame atau acknowledgment hilang, timer akan segera berhenti,
memperingatkan pengirim akan terjadinya masalah penting.
Penyelesainnya adalah dengan mengirimkan kembali frame. Tetapi, bila frame dikirimkan
kembali bebrapa kali terdapat bahaya yaitu penerima akan menerima dua kali atau lebih frame
yang sama, dan meneruskannya ke network layer lebih dari satu kali. Untuk menjaga terjadinya
hal ini, umumnya perlu diberikan nomor urut yang keluar sehingga penerima dapat membedakan
transmisi ulang dari frame aslinya.

 Dua strategi dasar mengenai kesalahan, yaitu:
1. Menggunakan kode-kode pendeteksi kesalahan.Yaitu dengan melibatkan redundansi secukupnya untuk menarik kesimpulan bahwa suatu kesalahan telah terjadi, dan membiarkannya untuk meminta pengiriman ulang.
2. Menggunakan kode-kode pengkoreksi kesalahan.Yaitu dengan melibatkan informasi redundansi secukupnya bersama-sama dengan setiap blok data yang dikirimkan untuk memungkinkan penerima menarik kesimpulan tentang apa karakter yang ditransmisikan yang seharusnya ada.

2.3. Deteksi Error
Deteksi Error ini dapat dibedakan menjadi tiga metode, yaitu :
1. Vertical Redudancy Check (VRC)
2. Longitudinal Redundancy Checking (LRC)
3. Polinomial Checking, yang terdiri dari dua metode, yaitu :
a. Checksum
b. Cyclical Redundancy Chek (CRC).
2.4. Metode Vertical Redundancy Check (VRC)
Vertical Redundancy Check disebut juga dengan Parity Checking merupakan salah satu
dari metode pendeteksi error yang tertua dan paling sederhana. Dengan teknik ini satu blok bit tambahan ditambahkan ke tiap byte pada message, sehingga jumlah bit paritasnya genap.Caranya hanya dengan membandingkan data dikirim dan diterima sama atau tidak.
Contoh ilustrasi:


Parity bit ini diset untuk membuat jumlah total dari 1 di dalam byte (termasuk parity bit) menjadi
genap atau ganjil. Contohnya untuk data empat bit,  1001, terdapat 1 sebanyak dua bit. Untuk parity genap nol (0) ditambahkan di akhir data agar paritynya genap. Kemudian untuk parity ganjil 1 ditambahkan agar partynya ganjil. Seperti ditunjukkan pada table berikut ini.

Kelemahan parity cecking dapat mendeteksi terjadinya kesalahan, tetapi tidak dapat mendeteksi kesalahan apa yang terjadi. Lebih lanjut jika ada dua bit dipertukarkan, parity cek tidak dapat mendeteksi error. Secara mudah hal ini dapat dilihat bahwa parity dapat mendeteksi error hanya ketika sebuah bit ganjil ditukar  Bila jumlah bit genap maka pendeteksian error gagal. Oleh karena itu kemungkinan pendeteksian error dengan parity checking hanya 50%, akibatnya  sekarang teknik ini jarang digunakan.


2.5. Metode Longitudinal Redundancy Check (VRC)
            Metode Longitudinal Redundancy Checking dikembangkan untuk mengatasi kelemahan dari parity checking. LRC menambahkan satu karakter tambahan yang disebut blok check caracter (BCC) pada akhir setiap blok data sebelum blok ditransmisi. Nilai dari BCC ditentukan dengan cara yang sama seperti pada parity bit tetapi dengan menghitung secara longitudinal melalui message, lebih baik daripada dengan menghitung secara vertical melalui setiap karakter,atau dapat dijelaskan pada gambar berikut:



2.6 Polynomial Checking
Metode ini menambahkan sebuah karakter atau susunan karakter pada akhir sebuah  message berdasar pada algoritma matematika. Dua teknik Polynomial Checking yang sangat populer adalah Checksum dan Cyclical Redundancy (CRC).
2.6.1. Checksum
Dengan teknik checksum, sebuah checksum ditambahkan pada akhir dari sebuah message. Receiver menghitung checksumnya dengan cara yang sama dan membandingkannya dengan checksum yang ditransmisi sender. Jika dua nilai tersebut sama, maka message diduga tidak ada error.Dibawah ini adalah ilustrasi nya:

Kelemahan dari metode checksum ini adalah tidak dapat mendeteksi error jika terdapat satu atau lebih segmen bit yang rusak dan bit yang berhubungan atau bit yang berlawanan nilainya pada segmen kedua juga mengalami kerusakan.
Checksum mendeteksi sampai 95% dari error, tetapi tidak dapat memperbaiki error. 

2.6.2 Cyclical Redundancy Check (CRC)
 Metode CRC merupakan metode yang dapat menangani deteksi error yang paling baik diantara metode-metode yang telah dibahas sebelumnya. Metode ini pada prinsipnya menggunakan pembagian bilangan biner dengan CRC checker dan pembagian biner dengan CRC generator. Dalam gambar berikut dijelaskan prinsip CRC secara umum. Secara prinsip untuk pembagian biner CRC Checker dapat dijelaskan melalui gambar berikut :


Jika hasil 0 maka berarti message no error dan dan jika bernilai 1 maka terdapat error

4 komentar:

Materi Kuliah IT(Sumba_Crew) mengatakan...

terimakasih atas artikelnya ...
salam kenal ...
http://materi-kuliahit-sumba-crew.blogspot.com/

Xenia Solution mengatakan...

sumber http://just4simple.blogspot.com/2011/01/teknik-encoding-pendeteksi-error-arq.html

Unknown mengatakan...

Mekanisme stop and wait dapat dijelaskan dengan menggunakan gambar di atas MANA?????

Unknown mengatakan...

materi sudah lengkap dan penjelasan sudah detail. tpi dikarenakan gambar ndak ada jadi membingungkan

Posting Komentar

 
;