Grafik perbandingan
Dasar untuk Perbandingan | Go-Back-N | Ulangi selektif |
---|---|---|
Dasar | Mengirim ulang semua frame yang dikirim setelah frame yang diduga rusak atau hilang. | Mengirim ulang hanya frame yang diduga hilang atau rusak. |
Pemanfaatan Bandwidth | Jika tingkat kesalahan tinggi, itu membuang banyak bandwidth. | Bandwidth yang relatif lebih sedikit terbuang untuk mentransmisikan kembali. |
Kompleksitas | Tidak terlalu rumit. | Lebih kompleks karena diperlukan untuk menerapkan logika tambahan dan penyortiran dan penyimpanan, di pengirim dan penerima. |
Ukuran jendela | N-1 | <= (N +1) / 2 |
Penyortiran | Penyortiran tidak diperlukan di sisi pengirim maupun di sisi penerima. | Penerima harus dapat mengurutkan karena harus mempertahankan urutan frame. |
Menyimpan | Penerima tidak menyimpan bingkai yang diterima setelah bingkai yang rusak sampai bingkai yang rusak dikirimkan kembali. | Receiver menyimpan frame yang diterima setelah frame yang rusak di buffer sampai frame yang rusak diganti. |
Mencari | Tidak diperlukan pencarian bingkai baik di sisi pengirim maupun pada penerima | Pengirim harus dapat mencari dan memilih hanya bingkai yang diminta. |
Angka ACK | Nomor NAK merujuk ke nomor bingkai yang diharapkan berikutnya. | Nomor NAK merujuk pada bingkai yang hilang. |
Menggunakan | Ini lebih sering digunakan. | Ini kurang praktis karena kompleksitasnya. |
Definisi Go-Back-N
Protokol Go-Back-N adalah protokol sliding window. Ini adalah mekanisme untuk mendeteksi dan mengendalikan kesalahan pada lapisan datalink. Selama pengiriman bingkai antara pengirim dan penerima, jika bingkai rusak, hilang, atau pengakuan hilang maka tindakan yang dilakukan oleh pengirim dan penerima dijelaskan dalam konten berikut.
Bingkai yang rusak
Jika penerima menerima bingkai yang rusak atau jika terjadi kesalahan saat menerima bingkai maka, penerima mengirim NAK (pengakuan negatif) untuk bingkai itu bersama dengan nomor bingkai itu, yang ia harapkan akan dikirim kembali. Setelah mengirim NAK, penerima membuang semua frame yang diterimanya, setelah frame yang rusak. Penerima tidak mengirim ACK (pengakuan) untuk frame yang dibuang. Setelah pengirim menerima NAK untuk frame yang rusak, ia mengirimkan kembali semua frame ke depan nomor frame yang dimaksud oleh NAK.
Kerangka yang hilang
Penerima memeriksa nomor pada setiap frame, yang diterimanya. Jika nomor bingkai dilewati secara berurutan, maka penerima dengan mudah mendeteksi hilangnya bingkai karena frame yang baru diterima diterima di luar urutan. Penerima mengirimkan NAK untuk bingkai yang hilang dan kemudian penerima membuang semua bingkai yang diterima setelah bingkai yang hilang. Penerima tidak mengirim ACK (pengakuan) untuk frame yang dibuang. Setelah pengirim menerima NAK untuk frame yang hilang, ia mengirim ulang frame yang hilang yang disebut oleh NAK dan juga mentransmisikan kembali semua frame yang telah dikirim setelah frame yang hilang.
Kehilangan Pengakuan
Jika pengirim tidak menerima ACK atau jika ACK hilang atau rusak di antara transmisi. Pengirim menunggu waktu habis dan karena waktu habis, pengirim mentransmisikan kembali semua frame yang belum menerima ACK. Pengirim mengidentifikasi hilangnya ACK dengan bantuan timer.
Nomor ACK, seperti nomor NAK (negative acknowledgment), menunjukkan jumlah frame, yang diharapkan penerima sebagai urutan berikutnya. Ukuran jendela penerima adalah 1 karena lapisan tautan data hanya memerlukan bingkai yang harus dikirim di sebelah lapisan jaringan. Ukuran jendela pengirim sama dengan 'w'. Jika tingkat kesalahan tinggi, banyak bandwidth yang hilang terbuang sia-sia.
Definisi Ulangi Selektif
Pengulangan selektif juga merupakan protokol jendela geser yang mendeteksi atau memperbaiki kesalahan yang terjadi pada lapisan datalink. Protokol pengulangan selektif mengirimkan kembali hanya frame yang rusak atau hilang. Dalam protokol pengulangan selektif, frame yang dikirim ulang diterima di luar urutan. Protokol pengulangan selektif dapat melakukan tindakan berikut
- Penerima mampu menyortir frame dalam urutan yang tepat, karena menerima frame yang ditransmisikan ulang yang urutannya tidak sesuai dengan frame penerima.
- Pengirim harus mampu mencari bingkai yang NAK telah diterima.
- Penerima harus berisi buffer untuk menyimpan semua frame yang ditahan sebelumnya sampai frame yang dikirim kembali diurutkan dan ditempatkan dalam urutan yang tepat.
- Nomor ACK, seperti nomor NAK, mengacu pada bingkai yang hilang atau rusak.
- Ini membutuhkan ukuran jendela lebih sedikit dibandingkan dengan protokol go-back-n.
Bingkai yang rusak
Jika penerima menerima bingkai yang rusak, ia mengirimkan NAK untuk frame di mana kesalahan atau kerusakan terdeteksi. Nomor NAK, seperti pada go-back-n juga menunjukkan pengakuan dari frame yang diterima sebelumnya dan kesalahan dalam frame saat ini. Penerima terus menerima bingkai baru sambil menunggu bingkai yang rusak diganti. Bingkai yang diterima setelah bingkai yang rusak tidak akan dikenali sampai bingkai yang rusak telah diganti.
Bingkai yang Hilang
Seperti dalam protokol pengulangan selektif, sebuah frame dapat diterima di luar urutan dan selanjutnya mereka diurutkan untuk mempertahankan urutan frame yang tepat. Saat menyortir, jika nomor bingkai dilewati, penerima mengenali bahwa bingkai hilang dan mengirimkan NAK untuk bingkai itu ke pengirim. Setelah menerima NAK untuk bingkai yang hilang, pengirim mencari bingkai itu di jendelanya dan mengirimkan kembali bingkai itu. Jika frame terakhir yang ditransmisikan hilang, maka penerima tidak merespons dan keheningan ini merupakan pengakuan negatif bagi pengirim.
Kehilangan Pengakuan
Jika pengirim tidak menerima ACK atau ACK hilang atau rusak di antara transmisi. Pengirim menunggu waktu habis dan saat waktu habis, pengirim mengirim ulang semua frame yang belum menerima ACK. Pengirim mengidentifikasi hilangnya ACK dengan bantuan timer.
Perbedaan Kunci Antara Go-Back-N dan Ulangi Selektif
- Protokol Go-Back-N dirancang untuk mentransmisikan kembali semua frame yang tiba setelah frame yang rusak atau hilang. Di sisi lain, protokol Repeat Selektif hanya mengirim ulang frame yang rusak atau hilang.
- Jika tingkat kesalahan tinggi yaitu lebih banyak frame yang rusak dan kemudian mentransmisikan kembali semua frame yang tiba setelah frame yang rusak membuang banyak bandwidth. Di sisi lain, protokol pengulangan selektif mentransmisikan ulang hanya frame yang rusak karenanya, bandwidth minimum terbuang.
- Semua frame setelah frame yang rusak dibuang dan frame yang dikirimkan kembali tiba secara berurutan dari frame yang rusak ke depan, jadi, ada sedikit sakit kepala untuk menyortir frame sehingga kurang kompleks. Di sisi lain hanya frame yang rusak atau dicurigai dikirim ulang sehingga, logika tambahan harus diterapkan untuk menyortir karenanya, itu lebih rumit.
- Go-Back-N memiliki ukuran jendela N-1 dan pengulangan selektif memiliki ukuran jendela <= (N + 1) / 2.
- Baik pengirim maupun penerima tidak memerlukan algoritma pengurutan di Go-Back-N sedangkan, penerima harus dapat mengurutkan karena harus mempertahankan urutan.
- Pada penerima Go-Back-N membuang semua frame setelah frame yang rusak karenanya, ia tidak perlu menyimpan frame apa pun. Protokol pengulangan selektif tidak membuang frame yang tiba setelah frame yang rusak malah menyimpan frame tersebut sampai frame yang rusak tiba dengan sukses dan diurutkan dalam urutan yang tepat.
- Secara berulang, frame NAK mengacu pada nomor frame yang rusak dan pada Go-Back-N, frame NAK mengacu pada frame berikutnya yang diharapkan.
- Secara umum Go-Back-N lebih banyak digunakan karena sifatnya yang kurang kompleks daripada protokol Repeat Selektif.
Kesimpulan:
Pengulangan selektif adalah protokol yang lebih efisien karena tidak membuang bandwidth untuk frame yang diterima dengan baik tetapi, kompleksitas dan biayanya mendukung penggunaan protokol go-back-n.