Deteksi dan Koreksi Kesalahan Pada Lapisan Data Link ( Data Link Layer )
Lapisan Data link |
Bahasan ini berhubungan dengan algoritma bagi komunikasi yang reliabel dan efisien
antara dua mesin yang berdekatan, yaitu dua mesin yang secara fisik terhubung oleh
sebuah saluran komunikasi yang secara konseptual bekerja seperti halnya kabel. Sifat
penting sebuah saluran yang membuatnya menyerupai kabel adalah bit-bit diteruskan
dalam urutan yang sama dengan sewaktu bit-bit itu dikirimkan.Rangkaian komunikasi sering membuat kesalahan, memiliki laju data yang terbatas, dan terdapat delay propagasi yang tidak nol antara saat bit dikirimkan dengan saat bit diterima. Keterbatasn ini mempunyai implikasi penting bagi efisiensi pemindahan data.
MASALAH-MASALAH RANCANGAN DATA LINK LAYER
Data link layer memiliki beberapa fungsi spesifik. Fungsi-fungsi ini meliputi
penyediaan interface layanan-layanan baik bagi network layer, penentuan cara
pengelompokan bit dari physical layer ke dalam frame, hal-hal yang berkaitan dengan
error transmisi, dan pengaturan aliran frame sehingga receiver yang lambat tidak akan
terbanjiri oleh pengirim yang cepat.
LAYANAN YANG DISEDIAKAN BAGI NETWORK LAYER
Fungsi data link layer adalah menyediakan layanan bagi network layer. layanannya
yang penting adalah pemindahan data dari network layer di mesin sumber ke network
layer di mesin yang dituju. Tugas data link adalah mentransmisikan bit-bit ke mesin yang
dituju, sehingga bit-bit tersebut dapat diserahkan ke network layer.
Tiga layanan dari Data Link Layer :
1. Layanan Unacknowledged Connectionless
Yaitu dimana mesin sumber mengirimkan sejumlah frame ke mesin yang dituju
dengan tidak memberikan acknowledgment bagi diterimanya frame-frame tersebut.
Tidak ada koneksi yang dibuat baik sebelum atau sesudah dikirimkannya frame. Bila
sebuah frame hilang sehubungan dengan adanya noise, maka tidak ada usaha untuk
memperbaiki masalah tersebu di data link layer. Jenis layanan ini cocok bila laju error
sangat rendah, sehingga recovery bisa dilakukan oleh layer yang lebih tinggi. Layanan
ini sesuai untuk lalu lintas real time, seperti percakapan, dimana data yang terlambat
dianggap lebih buruk dibanding data yang buruk. Sebagian besar LAN menggunakan
layanan unacknowledgment connectionless pada data link layer.
2. Layanan Acknowledged Connectionless
Layanan inipun tidak menggunakan koneksi, akan tetapi setiap frame dikirimkan
secara independent dan secara acknowledgment. Dalam hal ini, si pengirim akan
mengetahui apakah frame yang dikirimkan ke mesin tujuan telah diterima dengan baik
atau tidak. Bila ternyata belum tiba pada interval waktu yang telah ditentukan, maka
frame akan dikirimkan kembali, mungkin saja hilangnya acknowledgment akan menyebabkan sebuah frame perlu dikirimkan beberapa kali dan akan diterima beberapa kali juga. Layanan ini akan bermanfaat untuk saluran unreliablem, seperti sistem tanpa kabel.
3. Layanan Acknowledged Connection Oriented
Dengan layanan ini, mesin sumber dan tujuan membuat koneksi sebelum
memindahkan datanya. Setiap frame yang dikirim tentu saja diterima. Selain itu, layanan
ini menjamin bahwa setiap frame yang diterima benar-benar hanya sekali dan semua
frame diterima dalam urutan yang benar.Layanan ini juga menyediakan proses-proses
network layer dengan ekivalen aliran bit reliabel.Pada layanan connection-oriented
dipakai, pemindahan data mengalami tiga fase (tahap). Fase I koneksi ditentukan
dengan membuat kedua mesin menginisialisasi variabel-variabel dan counter yang
diperlukan untuk mengawasi frame yang mana yang telah diterima dan mana yang
belum. Fase II, satu frame atau lebih mulai ditransmisikan. Fase III koneksi dilepaskna,
pembebasan variabel, buffer, dan resource lainnya yang dipakai untuk menjaga
berlangsungnya koneksi.
Karena jarak dan peralatan, pengiriman informasi, dapat mengalami perubahan atau
melemah. Umumnya interferensi listrik. Kesalahan timbul dalam bentuk burst yaitu lebih
dari satu bit terganggu dalam satu satuan waktu.Deteksi error dengan Redundansi,
yaitu data tambahan yang tidak ada hubungannya dengan isi informasi yang dikirimkan,
berupa bit pariti.Berfungsi menunjukkan ada tidaknya kesalahan data. Yaitu dengan
mendeteksi dan mengoreksi kesalahan yang terjadi. Makin banyak redundansi makin
baik deteksi errornya. Akibatnya makin rendah troughput dari data yang berguna.
Troughput adalah perbandingan antara data yang berguna dengan data
keseluruhan. Banyaknya tambahan pada redundansi sampai 100% dari jumlah
bit data.
Ada dua pendekatan untuk deteksi kesalahan :
antara dua mesin yang berdekatan, yaitu dua mesin yang secara fisik terhubung oleh
sebuah saluran komunikasi yang secara konseptual bekerja seperti halnya kabel. Sifat
penting sebuah saluran yang membuatnya menyerupai kabel adalah bit-bit diteruskan
dalam urutan yang sama dengan sewaktu bit-bit itu dikirimkan.Rangkaian komunikasi sering membuat kesalahan, memiliki laju data yang terbatas, dan terdapat delay propagasi yang tidak nol antara saat bit dikirimkan dengan saat bit diterima. Keterbatasn ini mempunyai implikasi penting bagi efisiensi pemindahan data.
MASALAH-MASALAH RANCANGAN DATA LINK LAYER
Data link layer memiliki beberapa fungsi spesifik. Fungsi-fungsi ini meliputi
penyediaan interface layanan-layanan baik bagi network layer, penentuan cara
pengelompokan bit dari physical layer ke dalam frame, hal-hal yang berkaitan dengan
error transmisi, dan pengaturan aliran frame sehingga receiver yang lambat tidak akan
terbanjiri oleh pengirim yang cepat.
LAYANAN YANG DISEDIAKAN BAGI NETWORK LAYER
Fungsi data link layer adalah menyediakan layanan bagi network layer. layanannya
yang penting adalah pemindahan data dari network layer di mesin sumber ke network
layer di mesin yang dituju. Tugas data link adalah mentransmisikan bit-bit ke mesin yang
dituju, sehingga bit-bit tersebut dapat diserahkan ke network layer.
Tiga layanan dari Data Link Layer :
1. Layanan Unacknowledged Connectionless
Yaitu dimana mesin sumber mengirimkan sejumlah frame ke mesin yang dituju
dengan tidak memberikan acknowledgment bagi diterimanya frame-frame tersebut.
Tidak ada koneksi yang dibuat baik sebelum atau sesudah dikirimkannya frame. Bila
sebuah frame hilang sehubungan dengan adanya noise, maka tidak ada usaha untuk
memperbaiki masalah tersebu di data link layer. Jenis layanan ini cocok bila laju error
sangat rendah, sehingga recovery bisa dilakukan oleh layer yang lebih tinggi. Layanan
ini sesuai untuk lalu lintas real time, seperti percakapan, dimana data yang terlambat
dianggap lebih buruk dibanding data yang buruk. Sebagian besar LAN menggunakan
layanan unacknowledgment connectionless pada data link layer.
2. Layanan Acknowledged Connectionless
Layanan inipun tidak menggunakan koneksi, akan tetapi setiap frame dikirimkan
secara independent dan secara acknowledgment. Dalam hal ini, si pengirim akan
mengetahui apakah frame yang dikirimkan ke mesin tujuan telah diterima dengan baik
atau tidak. Bila ternyata belum tiba pada interval waktu yang telah ditentukan, maka
frame akan dikirimkan kembali, mungkin saja hilangnya acknowledgment akan menyebabkan sebuah frame perlu dikirimkan beberapa kali dan akan diterima beberapa kali juga. Layanan ini akan bermanfaat untuk saluran unreliablem, seperti sistem tanpa kabel.
3. Layanan Acknowledged Connection Oriented
Dengan layanan ini, mesin sumber dan tujuan membuat koneksi sebelum
memindahkan datanya. Setiap frame yang dikirim tentu saja diterima. Selain itu, layanan
ini menjamin bahwa setiap frame yang diterima benar-benar hanya sekali dan semua
frame diterima dalam urutan yang benar.Layanan ini juga menyediakan proses-proses
network layer dengan ekivalen aliran bit reliabel.Pada layanan connection-oriented
dipakai, pemindahan data mengalami tiga fase (tahap). Fase I koneksi ditentukan
dengan membuat kedua mesin menginisialisasi variabel-variabel dan counter yang
diperlukan untuk mengawasi frame yang mana yang telah diterima dan mana yang
belum. Fase II, satu frame atau lebih mulai ditransmisikan. Fase III koneksi dilepaskna,
pembebasan variabel, buffer, dan resource lainnya yang dipakai untuk menjaga
berlangsungnya koneksi.
Karena jarak dan peralatan, pengiriman informasi, dapat mengalami perubahan atau
melemah. Umumnya interferensi listrik. Kesalahan timbul dalam bentuk burst yaitu lebih
dari satu bit terganggu dalam satu satuan waktu.Deteksi error dengan Redundansi,
yaitu data tambahan yang tidak ada hubungannya dengan isi informasi yang dikirimkan,
berupa bit pariti.Berfungsi menunjukkan ada tidaknya kesalahan data. Yaitu dengan
mendeteksi dan mengoreksi kesalahan yang terjadi. Makin banyak redundansi makin
baik deteksi errornya. Akibatnya makin rendah troughput dari data yang berguna.
Troughput adalah perbandingan antara data yang berguna dengan data
keseluruhan. Banyaknya tambahan pada redundansi sampai 100% dari jumlah
bit data.
Ada dua pendekatan untuk deteksi kesalahan :
1. Forward Error Control
Dimana setiap karakter yang ditransmisikan atau frame berisi informasi tambahan
(redundant) sehingga bila penerima tidak hanya dapat mendeteksi dimana error terjadi,
tetapi juga menjelaskan dimana aliran bit yang diterima error.
2. Feedback (backward) Error Control
Dimana setiap karakter atau frame memilki informasi yang cukup untuk
memperbolehkan penerima mendeteksi bila menemukan kesalahan tetapi tidak
lokasinya. Sebuah transmisi kontro digunakan untuk meminta pengiriman ulang,
menyalin informasi yang dikirimkan.
Feedback error control dibagi menjadi 2 bagian, yaitu :
1. Teknik yang digunakan untuk deteksi kesalahan
2. Kontrol algoritma yang telah disediakan untuk mengontrol transmisi ulang.
Metode Deteksi Kesalahan :1. Echo
Metode sederhana dengan sistem interaktif .Operator memasukkan data melalui
terminal dan mengirimkan ke komputer. Komputer akan menampilkan kembali ke
terminal, sehingga dapat memeriksa apakah data yang dikirimkan dengan benar.
2. Error Otomatis
Metode dengan tambahan bit pariti. Terdapat 2 cara :
a. Pariti Ganjil (Odd Parity)
Yaitu bit pariti yang ditambahkan supaya banyaknya bit "1" tiap karakter atau data
ganjil.
b. Pariti Genap (Even Parity)
Yaitu bit pariti yang ditambahkan supaya banyaknya bit "1" tiap karakter atau data
genap.
Tanpa memperhatikan desain dari sistem transmisi maka, maka akan terdapat error
yang menghasilkan perubahan terhapat satu atau lebih dari bit didalam frame yang
ditransmisikan. Beberapa kemungkinan adanya error pada pengiriman frame meliputi :
Pb = propabilitas error bit tunggal, biasanya disebut bit-error-rate
P1 = probabilitas frame yang diterima tanpa adanya error
P2 = probabilitas frame yang diterima dengan error tidak terdeteksi
P3 = probabilitas frame yang diterima dengan error terdeteksi
Jika tidak ada suatu alat yang dapat dipergunakan untuk mendeteksi error, maka
probabilitas error yang terderteksi (P3) sama dengan 0, Untuk mempercepat
menetapkan probabilitas, diasumsikan bahwa probabilitas nenerapa bit yang mengalami
error (Pb) adalah tetap, dan tidak tergantung masing-masing bit., sehingga didapatkan
hubungan :
Dimana setiap karakter yang ditransmisikan atau frame berisi informasi tambahan
(redundant) sehingga bila penerima tidak hanya dapat mendeteksi dimana error terjadi,
tetapi juga menjelaskan dimana aliran bit yang diterima error.
2. Feedback (backward) Error Control
Dimana setiap karakter atau frame memilki informasi yang cukup untuk
memperbolehkan penerima mendeteksi bila menemukan kesalahan tetapi tidak
lokasinya. Sebuah transmisi kontro digunakan untuk meminta pengiriman ulang,
menyalin informasi yang dikirimkan.
Feedback error control dibagi menjadi 2 bagian, yaitu :
1. Teknik yang digunakan untuk deteksi kesalahan
2. Kontrol algoritma yang telah disediakan untuk mengontrol transmisi ulang.
Metode Deteksi Kesalahan :1. Echo
Metode sederhana dengan sistem interaktif .Operator memasukkan data melalui
terminal dan mengirimkan ke komputer. Komputer akan menampilkan kembali ke
terminal, sehingga dapat memeriksa apakah data yang dikirimkan dengan benar.
2. Error Otomatis
Metode dengan tambahan bit pariti. Terdapat 2 cara :
a. Pariti Ganjil (Odd Parity)
Yaitu bit pariti yang ditambahkan supaya banyaknya bit "1" tiap karakter atau data
ganjil.
b. Pariti Genap (Even Parity)
Yaitu bit pariti yang ditambahkan supaya banyaknya bit "1" tiap karakter atau data
genap.
Tanpa memperhatikan desain dari sistem transmisi maka, maka akan terdapat error
yang menghasilkan perubahan terhapat satu atau lebih dari bit didalam frame yang
ditransmisikan. Beberapa kemungkinan adanya error pada pengiriman frame meliputi :
Pb = propabilitas error bit tunggal, biasanya disebut bit-error-rate
P1 = probabilitas frame yang diterima tanpa adanya error
P2 = probabilitas frame yang diterima dengan error tidak terdeteksi
P3 = probabilitas frame yang diterima dengan error terdeteksi
Jika tidak ada suatu alat yang dapat dipergunakan untuk mendeteksi error, maka
probabilitas error yang terderteksi (P3) sama dengan 0, Untuk mempercepat
menetapkan probabilitas, diasumsikan bahwa probabilitas nenerapa bit yang mengalami
error (Pb) adalah tetap, dan tidak tergantung masing-masing bit., sehingga didapatkan
hubungan :
dimana F adalah jumlah bit per frame.
Probabilitas frame yang diterima tanpa error akan berkurang apabila probabilitas dari
error bit tunggal bertambah. demikian juga probabilitas frame yang diterima dengan
tanpa error bit berkurang dengan bertambahnya panjang frame. maka lebih banyak bit
dengan probabilitas yang tinggi dari pada yang terkena error. Tidak ada sistem
telekomunikasi data yang bebas dari kesalahan transmisi data, kesalahan ini sering kali
disebabkan oleh gangguan pada saluran, sistem switching, radiasi gelombang, crosstalk, dll.
Metode deteksi kesalahan yang dikenal adalah :
· Vertical-redundancy-checking
· Longitudinal-redundancy-checking
· Cyclic-redundancy-checking
VERTICAL-REDUNDANCY-CHECKING
Metode ini lebih umum disebut parity-checking karena menggunakan sistem
pengecekan paritas dan merupakan sistem untuk mencari kesalahan data yang paling
sederhana. Dalam satu byte terdapat satu bit parity, bit ini nilainya tergantung kepada
ganjil atau genapnya jumlah bit satu dalam tiap byte. Parity-checking dibagi menjadi dua
yaitu odd-parity ( paritas ganjil) dan even-parity (paritas genap). Aturan pada odd-parity
yaitu jumlah bit satu dalam setiap byte harus ganjil. Komputer selalu mengecek parity-bit
setiap karakter yang akan dikirim, bila jumlah bit satu dalam 7 bit pertama adalah genap,
maka parity-bit diubah jadi 1, sebaliknya jika jumlah bit satu dalam 7 bit pertama adalah
ganjil, maka parity-bit diubah menjadi 0. Dalam even-parity, jumlah bit satu dalam setiap
byte garus genap. Sebagai contoh, didalam komunikasi data digunakan sistem oddparity, maka jika huruf A disusun dalam kombinasi data biner berupa “1000001, dimana
jumlah bit satu dalam 7 bit pertama adalah genap, maka parity-bit biubah menjadi 1.
Sedangkan dalam sistem even-parity jika huruf M disusun dalam kode biner adalah
“1001101”, dimana didalam 7 bit pertama jumlah bit satu adalah genap, maka paritybit
ini diubah menjadi 0, atau dapat dilihat pada gambar 5.1 dibawah
Sebenarnya sistem komputer mampu untuk menjalankan parity-checking ini, maka bila
didalam saluran terjadi gangguan, maka jumlah bit satu dalam karakter yang diterima
tidak sesuai, misalnya tadinya berjumlah ganjil kemudian berubah menjadi genap.
Tetapi parity-checking ini masih mempunyai kelemahan, terutama bila jumlah bit yang
rusak jumlahnya genap, maka kerusakan ini menjadi tidak dapat dideteksi. Karakter
yang mengandung kesalahan 2 atau 5 bit bila hanya dilihat dari sisi genap ganjilnya
jumlah bit satu, maka tidak akan kelihatan kesalahannya.
LONGITUDINAL-REDUNDANCY-CHECKING
Sistem ini sebenarnya digunakan untuk memperbaiki kelemahan yang ada pada VRC
(parity-checking). Pada sistem LRC data dikirim secara per blok (frame) berisi 8 byte
dan setiap frame terdapat satu parity-bit, fungsi dari bit ini sebagai kontrol seperti pada
parity-checking. Parity-bit ini memuat 7 parity-bit dari byte sebelumnya, sedangkan cara
untuk mengubah nilai ketujuh bit ini yaitu dengan melihat jumlah bit satu dari seluruh
byte secara vertikal atau dapat dilihat pada gambar 5.2 dibawah :
Walaupun masih memiliki beberapa kelemahan namun sistem LRC lebih baik dari VRC,
sebab bila ada kesalahan yang tidak terlihat oleh parity-bit, maka akan diketahui oleh
parity-byte. Dalam sistem transmisi data LRC membutuhkan banyak tambahan bit pada
setiap data dikirim, misalkan untuk mengirimkan 7 karakter (59 bit) diperlukan tambahan
15 bit sebagai parity-bit, sehingga sistem LRC ini tidak banyak dipakai walaupun dapat
bermanfaat.
CYCLIC-REDUNDANCY-CHECKING
Sistem ini banyak diterapkan dalam komunikasi data karena prosesnya cukup
sederhana dan tidak banyak membutuhkan tambahan bit yang berupa parity-bit. Pada
sistem CRC data dikirim per frame, dan setiap frame terdiri dari deretan bit yang
panjang. Pada akhir blok ditambahkan beberapa control-bit untuk menjamin kebenaran
data. Control-bit dibentuk oleh komputer pengirim berdasarkan perhitungan atas data
yang dikirim. Setelah data sampai pada komputer penerima selanjutnya dilakukan
perhitungan seperti perhitungan pada komputer pengirim. Hasil perhitungan yang
didapatkan dibandingkan dengan control-bit, bila sama berarti data dikirim tanpa
mengalami kesalahan.
Agar dapat mengerti lebih mendetail prosedur pada sistem CRC, maka perlu pula
mengetaui proses arithmatik modulo 2 serta konsep untuk menjabarkan deretan bit
sebagai polinomial aljabar. Proses arithmatika yang dilakukan pada sistem CRC seperti
sistem penjumlahan bilangan tetapi tanpa menyisakan (without-carries) yang dapat
dilakukan menggunakan gerbang logika exclusive-OR, seperti terlihat pada tabel
kebenaran berikut ini :
Tabel Ekslusive OR
Pada proses arithmatik modulo 2 ini, hanya memperbolehkan menghasilkan 0 atau 1
dan tidak ada hasil negatif, pada proses pengurangan sama seperti proses
penjumlahan. Selanjutnya bit-bit dari kode biner dapat diinterprestasikan sebagai
polinomial koefisien. Sebagai contoh deretan biner 110101 menjadi :
Dengan catatan bahwa untuk kode dengan n-bit maka pangkat tertinggi dari polinomial
tersebut adalah n-1. Untuk melakukan proses perhitungan CRC diassumsikan memiliki
sebuah pesan M(x) yang berisi deretan bit yang akan ditransmisikan, pesan tersebut
berupa deretan bit 110101, sehingga M(x) = (1)x
5
+ (1)x
5
+ (0)x
3
+ (1)x
2
+ (0)x1 + (1)x
0
.
Selanjutnya ditentukan panjang kode error-checking G(x) yang akan dipergunakan
pada protokol, misalkan kode CRC ditentukan sebagai c-bits. Sebagai contoh c = 3,
berarti dihasilkan polinomial G(x) = x
3
+ 1. Kemudian M(x) dikalikan dengan x
c
menjadi :
Secara analogi, hal ini sama saja dengan menggeser urutan bit pesan G(x) ke kiri
sepanjang c-bits, yang menghasilkan urutan biner 110101000. Kemudian membagi x
3
M(x) dengan G(x) menggunakan arithmatika modulo 2, dimana akan
mengasilkan hasil bagi/quotient Q(x) dan sisa pembagian/remainder R(x).
sumber :
https://mahmudiuye.blogspot.co.id/2015/08/deteksi-dan-koreksi-kesalahan.html
http://2.bp.blogspot.com/-3UttHzfeQo0/Ve7i99rfhHI/AAAAAAAAAEg/PrXW7uMS5tg/s1600/rrrrrr.PNG
0 Response to "Deteksi dan Koreksi Kesalahan Pada Lapisan Data Link ( Data Link Layer )"
Post a Comment