ARQ (Automatic Repeat Request) Go-Back-N dan Selective Repeat

Share:


Reliable Data Transfer Protocol
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.

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