270 likes | 576 Views
Data Link Layer: Framing dan Deteksi Error. Achmad Ubaidillah Ms. Universitas Trunojoyo Madura. Data Link Layer. Data Link Layer. Fungsi-fungsi yang diperlukan pada data link layer Framing Error control Flow control Asumsi data link wirelike Saluran komunikasi point-to-point
E N D
Data Link Layer: Framing dan Deteksi Error Achmad Ubaidillah Ms. Universitas Trunojoyo Madura
Data Link Layer • Fungsi-fungsi yang diperlukan pada data link layer • Framing • Error control • Flow control • Asumsi data link wirelike • Saluran komunikasi point-to-point • Koneksi pd jaringan dimana message mengikuti lintasan yg sama • Utk jaringan broadcast isue utama kontrol access ke kanal, DLL dibagi kedalam 2 sublayer: • Media Access Control (MAC) sub-layer • Logical Link Control (LLC): IEEE 802.2 • Standar data link control ISO: High-level Data Link Control (HDLC)
DLL PDUs LLC MAC LLC MAC LLC MAC Frames Frames Bits Physical Physical Physical Signals Sub-Layer Data Link Layer • Medium access control (MAC): bertanggung jawab thd akses kontrol ke shared medium. Bbrp protocol MAC yg umum: CSMA/CD, Token Ring dan Token Bus • Logical Link Control (LLC): mediasi antara network layer protocol dan macam-macam MAC protocols
Data Link Layer (DLL) • Bertanggung jawab utk transmisi yg handal dari paket melalui suatu link • Framing: Menentukan awal (start) dan akhir (end) dari paket-paket • Deteksi Error: Mendeteksi jika paket mengandung errors • Error recovery: Retransmisi paket-paket yang mengalami error • Mungkin dilaksanakan pd layer yg lebih tinggi • ARQ (Automatic Repeat Request)
Framing Dimana Data?? • Tiga pendekatan untuk menemukan frame dan batas frame: • Character oriented framing • Perhitungan panjang (length counts) – panjang tetap • Bit oriented protocols (flags)
Character Based Framing • Kode karakter standard seperti ASCII dan EBCDIC memp karakter khusus utk komunikasi yg tdk dp muncul di dlm data • Keseluruhan transmisi didasarkan pd suatu kode karakter
Isue Dg Character Based Framing • Tergantung pd kode karakter • Bagaimana utk mengirim data biner? • Error yg terjadi pd karakter kontrol akan sangat mengacaukan Cat: Metoda framing utama pd 1960 sd ~1975
Pendekatan Panjang Field (DECNET) • Menggunakan satu length field header utk memberikan info panjang frame (dlm bit atau byte) • Panjang length field harus log2 (Max_Size_Packet) + 1 bit • Ini membatasi ukuran paket yg akan digunakan • Issue dg perhitungan panjang • Sulit recover dari error (tdk trsedia mekanismenya) • Resynchronization diperlukan setelah suatu error pd hitungan panjang
Paket dengan Panjang Tetap (mis. ATM) • Semua paket memp. ukuran yg sama • Pd jaringan ATM semua paket berukuran 53 Byte • Memerlukan synchronization saat inisialisasi • Issue: • Panjang message bukan kelipatan ukuran paket paket terakhir dari suatu message harus berisi idle fill (efsiensi) • Isue synchronization • Fragmentasi dan re-assembly rumit pd laju tinggi, krn pjg ttp
Bit Oriented Framing (Flag) • Suatu flag adalah suatu deretan bit tetap utk indikasi awal dan akhir suatu paket • Satu flag dp digunakan utk indikasi baik awal dan akhir paket • Secara prinsip, sembarang deretan dp digunakan, tetapi kemunculan flag harus dicegah di dlm data • Protokol standard menggunakan deretan 8-bit 01111110 sbg satu flag • Krnnya 0111111 yg tdk boleh muncul di didlm data • INVENTED ~ 1970 oleh IBM utk SDLC (synchronous data link protocol)
Bit Stuffing (Pengirim) • Digunakan utk menghilangkan flag dari data original • Satu 0 disisipkan setelah 1 berturutan pd frame original • Mengapa perlu menyisipkan 0 pd 0111110? • Jika tidak 0111110111 0111110111 011111111 0111110111 • Bagaimana membedakannya pd penerima?
Destuffing (Penerima) • Jika 11111 diikuti 0, buang 0
Framing Error • Semua teknik framing sensitif thd error • Error pd suatu length count field menyebabkan frame akan diterminasi pd titik yg salah (dan membuat sulit utk mencari awal dari frame berikutnya) • Error pd DLE, STX, atau ETX menyebabkan problem yg sama • Error pd suatu flag, atau flag terbentuk oleh suatu error menyebabkan satu frame hilang atau frame ekstra muncul • Pendekatan flag tdk begitu sensitif thd error krn suatu flag akhirnya akan muncul lagi utk indikasi akhir dari frame berikutnya • Yg terjadi hanya paket yg mengalami error terbentuk • Paket yg error ini dp dihilangkan melalui teknik deteksi error
Error • Bit error terjadi jika suatu sumber kirim satu bit, b, dan tujuan menerima bukanb yaitu b b 1 • Error dp terjadi pada link (mis. interferensi EM, atau signal loss), dlm suatu switch (yg rusak) atau router sepanjang lintasan, atau di sumber atau tujuan (mis. kegagalan hardware, atau bit errors di memories) • Bit error rate (BER) menunjukan probabilitas bit terkena error. Harga tipikal BER = 10-9 utk link electrik, dan 10-12 untuk link optik
Encoding Untuk Deteksi Error • Kita gunakan code utk membantu deteksi error • Set dari kemungkinan messages dipetakan dg suatu fungsi kedalam set code • Kita ambil fungsi pemetaan shg mudah deteksi error diantara code yg dihasilkan • Contoh: Perhatikan fungsi yg menduplikasi tiap bit dlm message. Mis. message 1011001 akan dipetakan ke code 11001111000011, dan ditransmisikan oleh pengirim. Penerima tahu bhw bits selalu datang berpasangan. Jika dua bit dlm pasangan berbeda, terdeteksi bit error • Tentu saja, code ini sungguh tdk efisien…
Parity ditambahkan utk membuat # 1 even/odd Parity: Code Deteksi Error Sederhana 0 1 1 1 0 1 0 1 1 Jika parity salah ERROR Jika parity benar NO ERROR (atau jemlah error genap telah terjadi)
Parity Checking Two Dimensional Bit Parity: Deteksi dan koreksi single bit errors Single Bit Parity: Deteksi single bit error 0 0
Cyclic Redundancy Check (CRC) • Bagaimana kita menghitung R (check bits)? • Pilih suatu generator string G dg panjang r+1 bits • Pilih R sedemikian shg T kelipatan G (T = A*G, utk sembarang A) • Sekarang jika T dibagi dg G tdk akan ada sisa no errors • Semuanya dilakukan dg mod 2 arithmetic T = M 2r + R = A*G => M 2r = A*G + R (mod 2 arithmetic) R = sisa dari M 2r/G dan T akan berupa kelipatan G • Pemilihan G merupakan parameter yg kritis utk performansi suatu CRC
Contoh • G = x3 + 1 • M = x5 + x4 + x2 + 1 Transmisi: 110101011
Checking utk Error • Misal T’ adalah deretan bit yg diterima • Bagi T’ dg G • Jika sisa = 0, asumsi tidak ada error • Jika sisa tidak nol terjadi error Contoh: Kirim T = 110101011 Terima T’ = 110101011 (tdk ada error) Tdk ada cara utk mengetahui berapa bit yg error dan yg mana
Performansi CRC • Utk r check bit per frame dan panjang frame kurang dari 2r-1, berikut ini dp dideteksi 1) Semua pola dari 1,2, atau 3 error (d > 3) 2) Semua bursts errors dari r bit atau lebih kecil 3) Random dg jumlah error yg besar dg prob. 1-2-r • Standard DLC menggunakan CRC dg r = 16 dg option r = 32 • CRC-16, G = X16 + X15 + X2 +1 = 11000000000000101
Koreksi Error • Untuk Hamming Distance = d • dp koreksi (d-1)/2 error • Contoh: Hamming (7,4) Code
Koreksi Error Code umum digunakan: Bose-Chaudhuri-Hocquenghem (BCH) BCH (R + M, M, t) R M Dp deteksi semua “t” bit error mis. BCH (1023, 923, 10)
Deteksi atau Koreksi? • Keuntungan Deteksi Error • Memerlukan jumlah lebih kecil bits/overhead • Memerlukan pemrosesan lebih sederhana • Keuntungan Koreksi Error • Mengurangi Jumlah retransmisi Kebanyakan jaringan data saat ini menggunakan deteksi error, Bukan koreksi error
Deteksi atau KoreksiContoh Asumsi: 1. Panjang paket 923 bit 2. PER = 10-5 Overhead Koreksi Error: Asumsi kita gunakan: BCH (1023, 923, 10) Krnnya, kita kirim 923 data bit sbg 1023 bit Overhead Deteksi Error: Asumsi gunakan: 32-bit CRC; satu retransmisi per error Krnnya, kita kirim 923 data bit sbg 955 bit 100 923 Transmission Overhead = ~= 10% Overhead Transmisi = ~= 3% (923 + 32) 10-5 + 32 923