Sebelum mengembangkan
protokol untuk andal berkomunikasi melalui saluran tersebut, pertama
mempertimbangkan bagaimana orang mungkin menghadapi situasi seperti itu.
Mempertimbangkan bagaimana Anda sendiri mungkin mendikte pesan panjang melalui
telepon. Dalam skenario seperti ini, pengambil pesan mungkin mengatakan
"OK" setelah setiap kalimat telah mendengar, mengerti, dan dicatat.
Jika pengambil pesan mendengar kalimat kacau, Anda diminta untuk mengulangi
kalimat kacau. protokol message-dictation
ini menggunakan kedua pengakuan positif ( "OK") dan pengakuan negatif
( "Harap ulangi."). pesan kontrol ini memungkinkan penerima untuk
membiarkan pengirim tahu apa yang telah diterima dengan benar, dan apa yang
telah diterima dalam kesalahan dan dengan demikian memerlukan berulang. Dalam
pengaturan jaringan komputer, protokol transfer data yang handal berdasarkan
transmisi tersebut dikenal sebagai ARQ (Automatic
Repeat Request) protokol.
Automatic
Repeat Request (ARQ), juga dikenal sebagai Automatic Repeat Query, adalah metode eror-control untuk transmisi data yang menggunakan pengakuan / acknowledgment
(pesan yang dikirim oleh penerima menunjukkan bahwa mereka telah benar menerima
frame data atau paket) dan timeout
(periode tertentu waktu yang diperbolehkan untuk berlalu sebelum pengakuan
harus diterima) untuk mencapai transmisi data handal melalui layanan
diandalkan. Jika pengirim tidak menerima pengakuan sebelum batas waktu,
biasanya kembali mengirimkan frame /
paket sampai pengirim menerima pengakuan atau melebihi jumlah yang telah
ditetapkan ulang transmisi.
Pada dasarnya, tiga kemampuan protokol
tambahan yang diperlukan dalam protokol ARQ untuk menangani adanya kesalahan
bit:
· Error detection
Pertama, mekanisme yang diperlukan
untuk memungkinkan penerima untuk mendeteksi ketika kesalahan sedikit telah
terjadi. Ingat dari bagian sebelumnya bahwa UDP menggunakan bidang checksum (Digunakan untuk mendeteksi
kesalahan sedikit dalam paket ditransmisikan) Internet untuk persis tujuan ini.
error-detection dan Conections-techniques, teknik ini
memungkinkan penerima untuk mendeteksi dan mungkin kesalahan paket yang benar
bit.
· Receiver feedback
Karena pengirim dan penerima biasanya
dijalankan pada end-sistem yang
berbeda, mungkin dipisahkan oleh ribuan mil, satu-satunya cara untuk pengirim
untuk belajar dari pandangan dunia penerima (dalam hal ini, apakah paket itu
diterima dengan benar) adalah bagi penerima untuk memberikan umpan balik
eksplisit untuk pengirim. Positif (ACK) dan negatif (NAK) pengakuan balasan
dalam skenario pesan dikte adalah contoh dari umpan balik tersebut.
· Retransmission
Sebuah paket yang diterima dalam kesalahan pada penerima akan dipancarkan kembali oleh pengirim.
Sebuah paket yang diterima dalam kesalahan pada penerima akan dipancarkan kembali oleh pengirim.
Jenis protokol ARQ
termasuk Stop-and-wait, Go-Back-N, dan Selective Repeat / Selective Reject. Ketiga protokol biasanya
menggunakan beberapa bentuk geser protokol jendela untuk memberitahukan
pemancar untuk menentukan (jika ada) paket harus dipancarkan kembali.
Stop-and-Wait
ARQ didasarkan atas teknik flow control. Stasiun source mentransmisikan sebuah
frame tunggal dan kemudian harus menunggu balasan berupa acknowledgement (ACK).
Tidak ada frame yang dikirim sampai jawaban dari stasiun tujuan tiba di stasiun
sumber.
Kelebihan stop-and-wait ARQ adalah kesederhanaannya. Sedang kekurangannya,
dibahas di bagian flow control, karena stop-and-wait ARQ ini merupakan
mekanisme yang tidak efisien. Oleh karena itu teknik kontrol arus sliding
window dapat diadaptasikan agar diperoleh pengunaan jalur yang lebih efisien
lagi; dalam konteks ini, kadang-kadang disebut juga dengan ARQ yang continue.
Pipelined Reliable Data Transfer Protocols
Protokol Pipelining
adalah teknik di mana beberapa permintaan yang ditulis ke satu socket tanpa
menunggu tanggapan yang sesuai. Pipelining dapat digunakan di berbagai lapisan
aplikasi protokol jaringan , seperti HTTP / 1.1 , SMTP dan FTP. Karena banyak
paket pengirim ke penerima di transit dapat divisualisasikan sebagai mengisi pipa,
teknik ini dikenal sebagai pipelining. Pipelining memiliki konsekuensi berikut
untuk protokol transfer data yang handal:
· Kisaran
nomor urut harus ditingkatkan, karena masing-masing paket di transit (tidak
termasuk transmisi ulang) harus memiliki nomor urut yang unik dan mungkin ada
beberapa, di transit, paket tidak diakui.
· Pengirim
dan penerima sisi protokol mungkin harus penyangga lebih dari satu paket.
Minimal, pengirim harus penyangga paket yang telah dikirimkan namun belum
diakui. Buffering paket diterima dengan benar mungkin juga diperlukan pada
penerima, seperti dibahas di bawah.
· Kisaran
nomor urut diperlukan dan persyaratan penyangga akan tergantung pada cara di
mana protokol transfer data merespon hilang, rusak, dan terlalu tertunda paket.
Dua pendekatan dasar terhadap pipelined
error recovery dapat diidentifikasi: Go-Back-N dan ulangi selektif.
Bentuk umum dari protokol pipelined:
1.
Go-Back-N
Go-Back-N
ARQ adalah contoh spesifik dari ARQ protokol, di mana proses pengiriman terus
mengirimkan sejumlah frame ditentukan oleh ukuran jendela bahkan tanpa menerima
pengakuan (ACK) paket dari penerima. Ini adalah kasus khusus dari umum geser
protokol jendela dengan ukuran mengirimkan jendela N dan menerima ukuran
jendela dari 1. Hal ini dapat mengirimkan N frame ke rekan sebelum membutuhkan
ACK.
Proses
penerima melacak nomor urut dari frame berikutnya mengharapkan untuk menerima,
dan mengirimkan nomor yang dengan setiap ACK mengirimkan. Penerima akan
membuang frame yang tidak memiliki nomor urutan yang tepat mengharapkan (baik
duplikat bingkai itu sudah diakui, atau out-of-order bingkai itu mengharapkan
untuk menerima nanti) dan akan mengirim ulang ACK untuk di- benar terakhir
bingkai rangka. Setelah pengirim telah mengirimkan semua frame dalam jendela,
ia akan mendeteksi bahwa semua frame sejak frame pertama hilang yang luar
biasa, dan akan kembali ke nomor urut dari ACK terakhir yang diterima dari
proses penerima dan isi jendela yang dimulai dengan bingkai itu dan melanjutkan
proses lagi.
Go-Back-N
ARQ lebih efisien penggunaan koneksi dari Stop dan tunggu ARQ, karena tidak
seperti menunggu pengakuan untuk setiap paket, koneksi masih dimanfaatkan
sebagai paket sedang dikirim. Dengan kata lain, selama waktu yang seharusnya
dapat dihabiskan menunggu, lebih banyak paket sedang dikirim. Namun, metode ini
juga menghasilkan mengirimkan frame beberapa kali - jika frame hilang atau
rusak, atau ACK mengakui mereka adalah hilang atau rusak, maka itu frame dan
semua frame berikut di jendela (bahkan jika mereka diterima tanpa kesalahan)
akan akan dikirimkan kembali. Untuk menghindari hal ini, Selective Repeat ARQ
dapat digunakan.
2.
Selective Repeat
Bagian
dari ARQ. Dengan berulang selektif, pengirim mengirimkan sejumlah frame
ditentukan oleh ukuran jendela bahkan tanpa perlu menunggu ACK individu dari
penerima seperti di Go-Back-N ARQ. Penerima dapat memilih menolak satu frame,
yang dapat ditransmisikan ulang sendiri; ini kontras dengan bentuk lain dari
ARQ, yang harus mengirimkan setiap frame dari titik itu lagi. Penerima menerima
out-of-order frame dan penyangga mereka. Pengirim individual memancarkan
kembali frame yang telah habis.
Dapat
digunakan sebagai protokol untuk pengiriman dan pengakuan dari unit pesan, atau
dapat digunakan sebagai protokol untuk pengiriman dibagi pesan sub-unit. Ketika
digunakan sebagai protokol untuk pengiriman pesan, proses pengiriman terus
mengirimkan sejumlah frame ditentukan oleh ukuran jendela bahkan setelah
kehilangan bingkai. Tidak seperti Go-Back-N ARQ , proses penerimaan akan terus
menerima dan mengakui frame yang dikirim setelah kesalahan awal; ini adalah
kasus umum dari protokol sliding window dengan baik mengirim dan menerima
jendela ukuran lebih besar dari 1.
Proses
penerima melacak nomor urut dari frame awal belum menerima, dan mengirimkan
nomor yang setiap pengakuan (ACK) mengirimkan. Jika bingkai dari pengirim tidak
mencapai penerima, pengirim terus mengirimkan frame berikutnya sampai telah
dikosongkan jendela nya. Penerima terus mengisi jendela yang menerima dengan
frame berikutnya, membalas setiap kali dengan ACK yang berisi nomor urut paling
awal hilang bingkai. Setelah pengirim telah mengirimkan semua frame di jendela,
ia kembali mengirimkan nomor frame yang diberikan oleh ACK, dan kemudian
berlanjut di mana ia tinggalkan.
Ukuran
jendela pengirim dan penerima harus sama, dan setengah nomor urut maksimum
(dengan asumsi bahwa nomor urut diberi nomor dari 0 sampai n -1) untuk
menghindari miskomunikasi dalam semua kasus paket yang dijatuhkan. Untuk
memahami hal ini, pertimbangkan kasus ketika semua ACK hancur. Jika jendela
menerima lebih besar dari setengah jumlah urutan maksimum, beberapa, bahkan
mungkin semua, dari paket yang membenci setelah timeout merupakan duplikat yang
tidak diakui seperti itu. Pengirim bergerak window untuk setiap paket yang
diakui.
Ketika
digunakan sebagai protokol untuk pengiriman pesan dibagi kerjanya agak berbeda.
Dalam saluran non-kontinyu di mana pesan mungkin variabel panjang, standar ARQ
atau Hybrid ARQ protokol dapat memperlakukan pesan sebagai satu kesatuan.
Bergantian transmisi selektif dapat digunakan dalam hubungannya dengan
mekanisme ARQ dasar di mana pesan pertama dibagi lagi menjadi sub-blok
(biasanya panjang tetap) dalam proses yang disebut segmentasi packet . Asli
variabel panjang pesan demikian direpresentasikan sebagai gabungan dari
sejumlah variabel dari sub-blok. Sementara dalam standar ARQ pesan secara
keseluruhan adalah baik diakui (acked) atau negatif diakui (telanjang), di ARQ
dengan transmisi selektif respon ACK akan tambahan membawa bendera bit yang
menunjukkan identitas masing-masing sub-blok berhasil diterima. Dalam ARQ
dengan transmisi selektif pesan dibagi setiap pengiriman ulang berkurang
panjangnya, perlu hanya berisi sub-blok yang terkait.
Pada
kebanyakan model saluran dengan pesan panjang variabel, probabilitas penerimaan
bebas kesalahan berkurang berbanding terbalik dengan peningkatan panjang pesan.
Dengan kata lain lebih mudah untuk menerima pesan singkat dari pesan yang lebih
panjang. teknik ARQ Oleh karena itu standar yang melibatkan pesan panjang
variabel meningkat kesulitan mengirim pesan lagi, karena setiap pengulangan
adalah panjang penuh. Selektif re-transmisi diterapkan untuk pesan panjang
variabel sepenuhnya menghilangkan kesulitan dalam menyampaikan pesan lagi,
seperti yang berhasil dikirim sub-blok dipertahankan setelah setiap transmisi,
dan jumlah sub-blok yang luar biasa dalam transmisi berikut berkurang. Ulangi
Selektif diimplementasikan dalam transmisi UDP.
Semoga Bermanfaat salam : Arif Andrian
No comments