Teknik Pengkodean
Nonreturn to Zero-Level (NRZ-L)
Nonreturn to Zero-Level (NRZ-L):yaitu suatu kode dimana tegangan negatif dipakai untuk mewakili suatu binary dan tegangan positif dipakai untuk mewakili binary lainnya.
• Dua tegangan yang berbeda antara bit 0 dan bit 1
• Tegangan konstan selama interval bit
• Tidak ada transisi yaitu tegangan no return to zero
Contoh:
• Lebih sering, tegangan negatif untuk satu hasil dan tegangan positif untuk yang lain
• Ini adalah NRZ-L
• Dua tegangan yang berbeda antara bit 0 dan bit 1
• Tegangan konstan selama interval bit
• Tidak ada transisi yaitu tegangan no return to zero
Contoh:
• Lebih sering, tegangan negatif untuk satu hasil dan tegangan positif untuk yang lain
• Ini adalah NRZ-L
Nonreturn to Zero Inverted
Nonreturn to Zero Inverted (NRZI): yaitu suatu kode dimana suatu transisi (low ke high atau high ke low) pada awal suatu bit time akan dikenal sebagai binary '1' untuk bit time tersebut; tidak ada transisi berarti binary '0'. Sehingga NRZI merupakan salah satu contoh dari differensial encoding.
• Nonreturn to Zero Inverted (NRZI) dalam kesatuan
• Pulsa tegangan konstan untuk durasi bit
• Data dikodekan / diterjemahkan sebagai kehadiran(ada) atau ketiadaan sinyal transisi saat permulaan bit time
• Transisi (dari rendah ke tinggi atau tinggi ke rendah) merupakan biner 1
• Tidak ada transisi untuk biner 0
• Sebagai contoh encoding differential
• Nonreturn to Zero Inverted (NRZI) dalam kesatuan
• Pulsa tegangan konstan untuk durasi bit
• Data dikodekan / diterjemahkan sebagai kehadiran(ada) atau ketiadaan sinyal transisi saat permulaan bit time
• Transisi (dari rendah ke tinggi atau tinggi ke rendah) merupakan biner 1
• Tidak ada transisi untuk biner 0
• Sebagai contoh encoding differential
Keuntungan differensial encoding :
• lebih kebal noise
• tidak dipengaruhi oleh level tegangan.
Kelemahan dari NRZ-L maupun NRZI :
• keterbatasan dalam komponen dc dan kemampuan synchronisasi yang buruk NRZ
Bipolar with 8-Zeros Substitution (B8ZS)
Bipolar with 8-Zeros Substitution (B8ZS) yaitu suatu kode dimana :
• jika terjadi oktaf dari semua nol dan pulsa tegangan terakhir yang mendahului oktaf ini adalah positif, maka 8 nol dari oktaf tersebut di-encode sebagai 000+ -0- +
• jika terjadi oktaf dari semua nol dan pulsa tegangan terakhir yang mendahului oktaf ini adalah negatif, maka 8 nol dari oktaf tersebut di-encode sebagai 000-+0+ -.
• Penggantian Bipolar With 8 Zeros
• Didasarkan pada bipolar-AMI
• Jika octet pada semua zero dan pulsa terakhir tegangan yang terdahulu adalah encode positif sebagai 000+-0-+
• Jika octet pada semua zero dan pulsa terakhir tegangan yang terdahulu adalah encode negatif sebagai 000-+0+-
• Karena dua pelanggaran pada kode AMI
• Tidak mungkin untuk terjadi seperti hasil noise
• Receiver mendeteksi dan menerjemahkan seperti octed pada semua zero
• Penggunaan Scrambling untuk menggantikan rangkaian yang menghasilkan tegangan konstan.
• Rangkaian Filling
• Harus cukup menghasilkan transisi untuk sinkronisasi
• Harus dapat diakui oleh receiver dan digantikan dengan yang asli
• Panjang sama dengan yang asli
• Tidak ada komponen dc
• Tidak ada rangkaian panjang pada saluran sinyal level zero
• Tidak ada penurunan pada kecepatan data
• Kemampuan pendeteksian error
High-density bipolar-3 zeros (HDB3)
• jika terjadi oktaf dari semua nol dan pulsa tegangan terakhir yang mendahului oktaf ini adalah positif, maka 8 nol dari oktaf tersebut di-encode sebagai 000+ -0- +
• jika terjadi oktaf dari semua nol dan pulsa tegangan terakhir yang mendahului oktaf ini adalah negatif, maka 8 nol dari oktaf tersebut di-encode sebagai 000-+0+ -.
• Penggantian Bipolar With 8 Zeros
• Didasarkan pada bipolar-AMI
• Jika octet pada semua zero dan pulsa terakhir tegangan yang terdahulu adalah encode positif sebagai 000+-0-+
• Jika octet pada semua zero dan pulsa terakhir tegangan yang terdahulu adalah encode negatif sebagai 000-+0+-
• Karena dua pelanggaran pada kode AMI
• Tidak mungkin untuk terjadi seperti hasil noise
• Receiver mendeteksi dan menerjemahkan seperti octed pada semua zero
• Penggunaan Scrambling untuk menggantikan rangkaian yang menghasilkan tegangan konstan.
• Rangkaian Filling
• Harus cukup menghasilkan transisi untuk sinkronisasi
• Harus dapat diakui oleh receiver dan digantikan dengan yang asli
• Panjang sama dengan yang asli
• Tidak ada komponen dc
• Tidak ada rangkaian panjang pada saluran sinyal level zero
• Tidak ada penurunan pada kecepatan data
• Kemampuan pendeteksian error
High-density bipolar-3 zeros (HDB3)
High-density bipolar-3 zeros (HDB3) yaitu suatu kode dimana menggantikan stringstring dari 4 nol dengan rangkaian yang mengandung satu atau dua pulsa atau disebut kode violation, jika violation terakhir positive maka violation ini pasti negative dan sebaliknya (lihat tabel).
• Kepadatan tinggi Bipolar 3 Zeros
• Didasarkan pada bipolar-AMntikan dengan satu atau dua pulsa Aturan subsitusi HDB3
• Kepadatan tinggi Bipolar 3 Zeros
• Didasarkan pada bipolar-AMntikan dengan satu atau dua pulsa Aturan subsitusi HDB3
Error Checking
Parity Check
Pada metode ini, deteksi error dilakukan dengan menambahkan sebuah ‘parity’ bit pada setiap paket data, sehingga dapat dideteksi suatu paket data tersebut valid atau tidak. Metode parity bit ini terbagi menjadi dua jenis yakni:
- Even Parity
Metode ini biasa dipergunakan dalam transmisi data secara asynchronous, pada metode ini sebelum paket data dikirim, setiap paket data di cek apakah jumlah ‘1’ berjumlah ganjil atau genap, jika paket data berjumlah genap maka bit parity akan tetap 0 sedangkan jika jumlah ‘1’ ganjil maka bit parity akan menjadi 1 sehingga jumlah bit menjadi genap. Proses penghitungan ini menggunakan XOR gate. Untuk lebih jelasnya dapat dilihat pada contoh dibawah ini.
Berikut ini adalah contoh pengecekan error pada transmisi menggunakan metode even parity :
A ingin mentransmisikan data :1001
A menghitung, untuk mendapatkan bit parity :1^0^0^1 = 0
A menambahkan bit paritas pada paket data :10010
B menerima data :10010
B menghitung parity :1^0^0^1 = 0
B melaporkan bahwa data yang diterima valid [harapan yang diterima B benar, yakni even parity].
Pada metode ini, deteksi error dilakukan dengan menambahkan sebuah ‘parity’ bit pada setiap paket data, sehingga dapat dideteksi suatu paket data tersebut valid atau tidak. Metode parity bit ini terbagi menjadi dua jenis yakni:
- Even Parity
Metode ini biasa dipergunakan dalam transmisi data secara asynchronous, pada metode ini sebelum paket data dikirim, setiap paket data di cek apakah jumlah ‘1’ berjumlah ganjil atau genap, jika paket data berjumlah genap maka bit parity akan tetap 0 sedangkan jika jumlah ‘1’ ganjil maka bit parity akan menjadi 1 sehingga jumlah bit menjadi genap. Proses penghitungan ini menggunakan XOR gate. Untuk lebih jelasnya dapat dilihat pada contoh dibawah ini.
Berikut ini adalah contoh pengecekan error pada transmisi menggunakan metode even parity :
A ingin mentransmisikan data :1001
A menghitung, untuk mendapatkan bit parity :1^0^0^1 = 0
A menambahkan bit paritas pada paket data :10010
B menerima data :10010
B menghitung parity :1^0^0^1 = 0
B melaporkan bahwa data yang diterima valid [harapan yang diterima B benar, yakni even parity].
A ingin mentransmisikan data : 1001
A menghitung, untuk mendapatkan bit parity : 1^0^0^1 = 0
A menambahkan bit paritas pada paket data : 10010
*** TRANSMISSION ERROR ***
B menerima data : 11010
B menghitung parity : 1^1^0^1^0 = 1
B melaporkan adanya error pada transmisi, setelah mendapatkan data yang ditidak sesai harapan yakni even parity
A menghitung, untuk mendapatkan bit parity : 1^0^0^1 = 0
A menambahkan bit paritas pada paket data : 10010
*** TRANSMISSION ERROR ***
B menerima data : 11010
B menghitung parity : 1^1^0^1^0 = 1
B melaporkan adanya error pada transmisi, setelah mendapatkan data yang ditidak sesai harapan yakni even parity
- Odd Parity
Metode ini biasa dipergunakan dalam transmisi data secara synchronous, pada metode ini sebelum paket data dikirim, setiap paket data di cek apakah jumlah ‘1’ berjumlah ganjil atau genap, jika paket data berjumlah genap maka bit parity akan menjadi 1 sehingga jumlah bit ‘1’ menjadi ganjil sedangkan jika jumlah ‘1’ sudah ganjil maka bit parity akan tetap menjadi 0.
Berikut ini adalah contoh pengecekan error pada transmisi menggunakan metode even parity :
A ingin mengirimkan paket data : 1001
A menghitung, untuk mendapatkan bit parity : ~(1^0^0^1) = 1
A menambahkan bit parity : 10011
B menerima data : 10011
B menghitung parity bit : 1^0^0^1^1 = 1
B melaporkan bahwa data yang diterima valid [harapan yang diterima B benar, yakni even parity].
Metode ini biasa dipergunakan dalam transmisi data secara synchronous, pada metode ini sebelum paket data dikirim, setiap paket data di cek apakah jumlah ‘1’ berjumlah ganjil atau genap, jika paket data berjumlah genap maka bit parity akan menjadi 1 sehingga jumlah bit ‘1’ menjadi ganjil sedangkan jika jumlah ‘1’ sudah ganjil maka bit parity akan tetap menjadi 0.
Berikut ini adalah contoh pengecekan error pada transmisi menggunakan metode even parity :
A ingin mengirimkan paket data : 1001
A menghitung, untuk mendapatkan bit parity : ~(1^0^0^1) = 1
A menambahkan bit parity : 10011
B menerima data : 10011
B menghitung parity bit : 1^0^0^1^1 = 1
B melaporkan bahwa data yang diterima valid [harapan yang diterima B benar, yakni even parity].
A ingin mengirimkan paket data : 1001
A menghitung nilai even parity : 1^0^0^1 = 0
A menambahkan bit parity : 10010
*** TRANSMISSION ERROR ***
B menerima : 10011
B menghitung bit parity : 1^0^0^1^1 = 1
B melaporkan adanya error pada transmisi, setelah mendapatkan data yang ditidak sesai harapan yakni even parity
A menghitung nilai even parity : 1^0^0^1 = 0
A menambahkan bit parity : 10010
*** TRANSMISSION ERROR ***
B menerima : 10011
B menghitung bit parity : 1^0^0^1^1 = 1
B melaporkan adanya error pada transmisi, setelah mendapatkan data yang ditidak sesai harapan yakni even parity
Kelebihan dari metode parity check:
- # Sederhana dalam analisis dan penggunaan pada sistem
- # Mudah direalisasikan dalam bentuk rangkaian/hardware
Kekurangan dari metode parity check:
- # Kurang handal dalam mengatasi deteksi dan perbaikan error.
- # Kemungkinan kesalahan yang terjadi besar, yaitu 50%
- # Hanya dapat mendeteksi error dalam jumlah bit terbatas : 1-3 bit errors.
Berikut ini contoh kesalahan yang dilakukan oleh metode parity check
A ingin mengirimkan data : 1001
A menghitung nilai paritas genap : 1^0^0^1 = 0
A mengirimkan : 10010
*** TRANSMISSION ERROR ***
B menerima : 11011
B menghitung semua paritas : 1^1^0^1^1 = 0
B melaporkan transmisi data benar, walaupun sebenarnya data terima salah.
A ingin mengirimkan data : 1001
A menghitung nilai paritas genap : 1^0^0^1 = 0
A mengirimkan : 10010
*** TRANSMISSION ERROR ***
B menerima : 11011
B menghitung semua paritas : 1^1^0^1^1 = 0
B melaporkan transmisi data benar, walaupun sebenarnya data terima salah.
CRC – Cyclic Redundancy Check
Cyclic redundancy check (CRC) adalah metode yang umum digunakan untuk mendeteksi error. CRC beroperasi pada sebuah frame/block. Setiap block berukuran m bit yang akan dikirim akan dihitung CRC checksumnya (berukuran r bit), kemudian dikirim bersama2 dengan frame (dengan ukuran m+r bit). Pada sisi penerima, penerima akan menghitung CRC checksum pada frame yang diterima, dan dibandingkan dengan checksum yang diterima, jika berbeda, berarti frame rusak.
Cyclic redundancy check (CRC) adalah metode yang umum digunakan untuk mendeteksi error. CRC beroperasi pada sebuah frame/block. Setiap block berukuran m bit yang akan dikirim akan dihitung CRC checksumnya (berukuran r bit), kemudian dikirim bersama2 dengan frame (dengan ukuran m+r bit). Pada sisi penerima, penerima akan menghitung CRC checksum pada frame yang diterima, dan dibandingkan dengan checksum yang diterima, jika berbeda, berarti frame rusak.
CRC menggunakan prinsip modulo bilangan. Data dianggap sebagai sebuah bilangan, dan untuk menghitung checksum, sama dengan menambahkan digit untuk data dengan digit untuk checksum (berisi 0) kemudian dibagi dengan pembilang tertentu, dan sisa pembagiannya menjadi checksum untuk data tersebut. Tergantung pemilihan bilangan pembagi, CRC dapat mendeteksi single-bit error, double bit error, error berjumlah ganjil, burst error dengan panjang maksimum r. Bilangan pembagi tersebut disebut sebagai generator (polinomial).
Berikut contoh deskripsi mengenai CRC.
Di sisi pengirim:
# Data memiliki m bit
1001, m = 4
# Generator memiliki panjang r bit
101, r = 3
# Tambahkan r-1 bit 0 ke data:
100100
# Bagi bilangan ini dengan generator, sisanya (11) adalah checksum
# Tambahkan checksum ke data asal: 100111
Berikut contoh deskripsi mengenai CRC.
Di sisi pengirim:
# Data memiliki m bit
1001, m = 4
# Generator memiliki panjang r bit
101, r = 3
# Tambahkan r-1 bit 0 ke data:
100100
# Bagi bilangan ini dengan generator, sisanya (11) adalah checksum
# Tambahkan checksum ke data asal: 100111
Di sisi penerima:
# Bagi data yang diterima dengan generator.
Jika sisanya bukan 0, berarti terjadi kesalahan.
# Jika sisanya 0, berarti tidak terjadi kesalahan,
sesuai dengan kriteria generator yang digunakan.
# Bagi data yang diterima dengan generator.
Jika sisanya bukan 0, berarti terjadi kesalahan.
# Jika sisanya 0, berarti tidak terjadi kesalahan,
sesuai dengan kriteria generator yang digunakan.
Pada CRC ini, generator pembagi data ini sering disebut generator polinomial karena nilai pembagi ini dapat direpresentasikan dalam bentuk polinomial peubah banyak, tergantung pada jenis/nilai pembagi yang digunakan. Gambar berikut menjelaskan konsep tersebut.
Berikut adalah beberapa generator polinomial yang sering digunakan berdasarkan konvensi internasional.
LRC: X8 + 1
CRC-12: X12 + X11 + X3 + X2 + X + 1
CRC-16: X16 + X15 + X2 + 1
CRC CCITT V41: X16 + X12 + X5 + 1 (digunakan pada HDLC procedure.)
CRC-32 (Ethernet): = X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 + X8 + X7 + X5 + X4 + X2 + X + 1
CRC ARPA: X24 + X23+ X17 + X16 + X15 + X13 + X11 + X10 + X9 + X8 + X5 + X3 + 1
LRC: X8 + 1
CRC-12: X12 + X11 + X3 + X2 + X + 1
CRC-16: X16 + X15 + X2 + 1
CRC CCITT V41: X16 + X12 + X5 + 1 (digunakan pada HDLC procedure.)
CRC-32 (Ethernet): = X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 + X8 + X7 + X5 + X4 + X2 + X + 1
CRC ARPA: X24 + X23+ X17 + X16 + X15 + X13 + X11 + X10 + X9 + X8 + X5 + X3 + 1
Jadi, secara umum dapat disimpulkan mengenai CRC ini adalah sebagai berikut
Kelebihan dari metode CRC:
Kelebihan dari metode CRC:
- Dapat digunakan dalam pengiriman data berkecepatan tinggi (16-32 bit).
- Memiliki kehadalan sistem yang sangat tinggi, yaitu sekitar 99%.
- Mampu mendeteksi bit error dalam jumlah banyak (burst error) dengan panjang yang kurang dari jumlah redundansi bitnya.
Kekurangan dari metode CRC:
- Realisasi rangkaian/hardware dan software yang paling sulit dibanding parity check dan checksum.
- Analisis dan perhitungan dalam perancangan yang cukup sulit.
Stop-and-Wait ARQ
Stop-and-Wait ARQ didasarkan atas teknik flow control stop-and-wait yang telah diuraikan pada posting sebelumnya. 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.
Ada dua jenis kesalahan yang dapat terjadi. Pertama, frame yang tiba di tujuan bisa mengalami kerusakan. Receiver mendeteksi kerusakan tersebut dengan menggunakan teknik pendeteksian kesalahan yang berkaitan dengan pembuangan frame lebih awal. Untuk menghitung kemungkinan ini, stasiun sumber dilengkapi dengan sebuah pencatat waktu. Setelah frame ditransmisikan/stasiun sumber menunggu balasan. Bila tidak ada balasan yang diterima sampai waktu yang ditentukan pencatat habis, maka akan dikirimkan frame yang sama. perhatikan bahwa metode ini mengharuskan transmitter mempertahankan tiruan frame yang ditransmisikan sampai balasan diterima oleh frame tersebut.
Jenis kesalahan yang kedua adalah kerusakan pada balasan. Amati situasi berikut. Stasiun A mengirim, sebuah frame. Frame ini diterima dengan baik oleh stasiun B, yang meresponnya dengan memberi balasan (ACK). ACK mengalami kerusakan saat singgah dan tidak diakui oleh A, yang karenanya keluar dari jalur waktu dan kembali mengirim frame yang sama. Duplikat frame ini tiba dan diterima oleh B. Dengan begitu B menerima dua duplikat frame yang sama seolah-olah keduanya terpisah. Untuk mengatasi problem ini, frame bergantian diberi label 0 atau 1, dan balasan positifnya dalam bentuk ACK 0 dan ACK 1. Sesuai dengan aturan jendela penggeseran, ACK 0 membalas penerimaan frame bernomor 1 dan menunjukkan bahwa receiver siap untuk frame bemomor 0.
Gambar dalam posting ini memberi contoh penggunaan stop-and-wait ARQ, menunjukkan transmisi deretan frame dari sumber A menuju tujuan B. Gambar tersebut juga menunjukkan kedua jenis kesalahan yang baru saja digambarkan. Frame ketiga yang ditransmisikan oleh A hilang atau rusak dan karenanya tidak ada ACK yang dikembalikan oleh B. A mengalami time out dan kembali mentransn-dsikan frame yang sama. Saat B menerima dua frame dalam sebuah barisan dengan label yang sama, B membuang frame kedua namun mengirimkan ACK0 kembah ke masing-masing stasiun.
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 kontinyu.
Go-Back-N ARQ
Bentuk pengkontrolan kesalahan didasarkan atas teknik kontrol arus sliding window yang biasa disebut juga dengan Go-back-N ARQ. Dalam metode ini, stasiun bisa mengirim deretan frame yang diurutkan berdasarkan suatu modulo bilangan. Jumlah frame balasan yang ada ditentukan oleh ukuran jendela, menggunakan teknik kontrol arus jendela penggeseran. Bila tidak terjadi suatu. kesalahan, stasiun tujuan akan membalas (RR = Receive Ready, atau piggybacked Acknowledgement) frame yang datang seperti biasa. Bila stasiun tujuan mendeteksi suatu kesalahan pada sebuah frame, stasiunt tujuan mengirim balasan negatif (REJ = reject) untuk frame tersebut. Stasiun tujuan kemudian membuang frame itu dan semua frame-frame yang nantinya akan datang sampai frame yang mengalami kesalahan diterima dengan benar. Jadi, stasiun sumber, bila menerima REJ, harus melakukan retransniisi terhadap frame yang mengalami kesalahan tersebut plus semua frame pengganti yang ditransmisikan sementara.
Pertimbangkan bahwa stasiun A mengirim frame ke stasiun B. Setelah setiap transmisi dilakukan, A menyusun pencatat waktu balasan untuk frame yang baru saja ditransmisi. Anggap saja bahwa B sebelumnya berhasil menerima frame (i – 1) dan A baru saja mentransmisikan frame i. Teknik go-back-N mempertimbangkan kemungkinan-kemungkinan berikut ini:
- Rusaknya frame: Bila frame yang diterima invalid (misalnya, B mendeteksi adanya kesalahan), B membuang frame dan tidak melakukan tindakan apa-apa. Dalam hal ini ada dua subkasus,yakni:
- Didalam periode waktu yang memungkinkan, A berturut-turut mengirim frame (i+1). B menerima frame (i+1) yang tidak beres dan mengirim REJ i. A harus melakukan retransmisi terhadap frame i dan semua frame urutannya.
- A tidak segera mengirim frame-frame tambahan. B tidak menerima apa-apa serta tidak mengembalikan RR maupun REJ. Bila pewaktu A habis, A mentransmisikan frame RR yang memuat bit yang disebut dengan bit P, yang disusun berdasarkan 1. B menerjemahkan frame RR dengan bit P dari 1 sebagai perintah yang harus dijawab dengan jalan mengirimkan RR, menunjukkan frame berikutnya yang diharapkan, yang berupa frame i. Bila A menerima. RR, ia kembali mentransmisikan frame i.
- Rusaknya RR. Terdapat dua subkasus:
- B menerima frame i dan mengirim RR (i+1), yang hilang saat singgah. Karena balasannya kumulatif (misalnya, RR 6 berarti semua frame sampai 5 dibalas), kemungkinan A akan menerima RR urutannya sampai frame berikutnya dan akan tiba sebelum pewaktu yang dihubungkan dengan frame i berakhir.
- Bila pencatat waktu A habis, A mentransmisikan perintah RR sebagaimana dalam kasus l.2 diatas. A menyusun pewaktu yang lain, yang disebut pewaktu P-bit. Bila B gagal merespons perintah RR, atau bila responsnya rusak, maka pewaktu P-bit A akan berakhir. Dalam hal ini. A akan kembali berusaha dengan cara membuat perintah R yang baru dan kembali mengulang pewaktu P-bit. Prosedur ini diusahakan untuk sejumlah iterasi. Bila A gagal memperoleh balasan setelah beberapa upaya maksimum dilakukan. A kembali mengulangi prosedur yang sama.
- Rusaknya REJ. Bila REJ hilang, sama dengan kasus l.2.
(a) Go-Back-N ARQ (b) Selective reject ARQ
Gambar di posting ini adalah contoh aliran frame untuk go-back N ARQ. Karena adanya penundaan perambatan pada jalur, dari saat itu di mana balasan (baik positif maupun negatif) tiba kembali di stasiun pengiriman, sedikitnya telah dikirim satu frame tambahan di luar frame yang sedang dibalas. Dalam contoh ini, frame 4 mengalami kerusakan. Frame 5 dan 6 diterima tidak sesuai yang diperintahkan dan dibuang oleh B. Saat frame 5 tiba, B segera mengirim REJ 4. Saat REJ untuk frame 4 diterima, tidak hanya frame 4 saja namun juga frame 5 dan 6 yang harus ditransmisikan kembali. Perlu dicatat bahwa transmitter harus menjaga tiruan semua frame yang tidak dibalas.
Pada bagian flow control, telah dibahas bahwa untuk bidang bernomor urut k-bit, yang menyediakan jarak bernomor urut 2k, ukuran window maksimum dibatasi sampai 2k-l. Ini harus dilakukan dengan cara dilakukannya interaksi antara pengontrolan kesalahan dan balasan. Amati, bila data sedang dipindahkan ke dua arah, stasiun B harus mengirimkan piggybacked ACK ke frame yang dari stasiun A di dalam frame data yang sedang ditransmisikan oleh B. Bahkan bila balasannya sudah dikirim. Sebagaimana yang telah kita sebutkan tadi, hal ini karena B harus menempatkan beberapa nomor pada bidang di dalam balasan data framenya. Seperti yang nampak pada contoh, diasumsikan nomor urut 3-bit (jarak urutan nomor = 8). Anggap saja sebuah stasiun mengirim frame 0 dan menerima kembali RR 1 dan kemudian mengirim frame 1, 2, 3, 4, 5, 6, 7, 0 dan menerima RR 1 yang lain. Ini berarti bahwa kedelapan frame sudah diterima dengan benar dan RR 1 merupakan balasan kumulatif. Juga bisa berarti bahwa kedelapan frame rusak atau hilang saat transit, dan stasiun penerima mengulangi RR 1 sebelumnya. Problem seperti ini bisa dihindari bila ukuran jendela maksimum dibatasi sampai 7 (23 – 1).
Selective-reject ARQ
Dengan selective-reject ARQ, frame-frame yang hanya diretransmisikan adalah frame-frame yang menerima balasan negatif, dalam hal ini disebut SREJ atau frame-frame yang waktunya sudah habis. Gambar di posting ini menyajikan ilustrasi skema ini. Bila frame 5 diterima rusak, B mengirim SREJ 4, yang berarti frame 4 tidak diterima. Selanjutnya, B berlanjut dengan menerima frame-frame yang datang dan menahan mereka sampai frame 4 yang valid diterima. Dalam. hal ini, B dapat meletakkan frame sesuai pada tempatnya agar bisa dikirim ke software pada lapisan yang lebih tinggi.
Selective Reject lebih efisien dibanding go-back-N, karena selective reject meminimalkan jumlah retransmisi. Dengan kata lain, receiver harus mempertahankan penyangga sebesar mungkin untuk menyimpan tempat bagi frame SREJ sampai frame yang rusak diretransmisi, serta harus memuat logika untuk diselipkan kembali frame tersebut pada urutan yang tepat. Selain itu, transrrdtter juga memerlukan logika yang lebih kompleks agar mampu mengirimkan frame diluar urutan. Karena komplikasi semacam itu, selective-reject ARQ tidak terlalu banyak dipergunakan dibanding go-back N ARQ.
Batas ukuran jendela lebih terbatas untuk selective-reject daripada go-back-N. Amati kasus ukuran nomor urut 3-bit untuk selective reject. Dengan ukuran jendela sebesar tujuh, Ialu amati skenario berikut:
- Stasiun A mengirim frame 0 melalui 6 menuju stasiun B
- Stasiun B menerima ketujuh frame dan membalasnya secara komulatif dengan RR7.
- karena adanya derau besar, RR7 menghilang.
- Waktu habis dan mentransmisikan frame 0 kembali.
- B memajukan jendela penerimanya agar menerima frame 7, 0, 1, 2, 3, 4, dan 5. Jadi diasumsikan bahwa frame 7 sudah hilang dan berarti pula ini merupakan frame 0 yang baru diterimanya.
(a) Go-Back-N ARQ (b) Selective reject ARQ
Masalah pada skenario tersebut, adalah adanya tumpang tindih antara jendela pengiriman dan penerimaan. Untuk mengatasinya, ukuran jendela maksimum harus tidak boleh lebih dari separuh jarak nomor urutan. Pada skenario sebelumnya, seandainya keempat frame tak terbalas belum diselesaikan, maka tidak akan terjadi kekacauan. Umumnya, untuk bidang bernomor urut k-bit, yang meneyediakan jarak urutan nomor sebesar 2k, ukuran maksimum jendela dibatasi sampai 2k-1.
Sumber :
http://teknik-informatika.com/go-back-n-arq/
http://teknik-informatika.com/selective-reject-arq/
http://teknik-informatika.com/stop-and-wait-arq/
http://telecom.ee.itb.ac.id/~hend/ET3043/05-SignalEncodingTechniquesInd.ppt
http://dxzstudioz.wordpress.com/category/networking/page/2/
http://hazky.files.wordpress.com/2008/03/5pengkodea.pdf
Tidak ada komentar:
Posting Komentar