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:
terimakasih atas artikelnya ...
salam kenal ...
http://materi-kuliahit-sumba-crew.blogspot.com/
sumber http://just4simple.blogspot.com/2011/01/teknik-encoding-pendeteksi-error-arq.html
Mekanisme stop and wait dapat dijelaskan dengan menggunakan gambar di atas MANA?????
materi sudah lengkap dan penjelasan sudah detail. tpi dikarenakan gambar ndak ada jadi membingungkan
Posting Komentar