Data Link Layer Framing dan Deteksi Error Achmad

  • Slides: 27
Download presentation
Data Link Layer: Framing dan Deteksi Error Achmad Ubaidillah Ms. Universitas Trunojoyo Madura

Data Link Layer: Framing dan Deteksi Error Achmad Ubaidillah Ms. Universitas Trunojoyo Madura

Data Link Layer

Data Link Layer

Data Link Layer • Fungsi-fungsi yang diperlukan pada data link layer – Framing –

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)

Sub-Layer Data Link Layer • Medium access control (MAC): bertanggung jawab thd akses kontrol

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 DLL PDUs LLC Frames MAC Physical Bits Signals Frames LLC MAC Physical

Data Link Layer (DLL) • Bertanggung jawab utk transmisi yg handal dari paket melalui

Data Link Layer (DLL) • Bertanggung jawab utk transmisi yg handal dari paket melalui suatu link – Framing: Menentukan awal (start) dan akhir (end) dari 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: –

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

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

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

Pendekatan Panjang Field (DECNET) • Menggunakan satu length field header utk memberikan info panjang frame (dlm bit atau byte) • Panjang length field harus log 2 (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 –

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 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

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

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 01111101111 0111110111 – Bagaimana membedakannya pd penerima?

Destuffing (Penerima) • Jika 11111 diikuti 0, buang 0

Destuffing (Penerima) • Jika 11111 diikuti 0, buang 0

Framing Error • Semua teknik framing sensitif thd error – Error pd suatu length

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

Error • Bit error terjadi jika suatu sumber kirim satu bit, b, dan tujuan menerima bukan b 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

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: Code Deteksi Error Sederhana Parity ditambahkan utk membuat # 1 even/odd 0 1

Parity: Code Deteksi Error Sederhana Parity ditambahkan utk membuat # 1 even/odd 0 1 1 1 0 1 1 Jika parity salah ERROR Jika parity benar NO ERROR (atau jemlah error genap telah terjadi)

Parity Checking Single Bit Parity: Deteksi single bit error Two Dimensional Bit Parity: Deteksi

Parity Checking Single Bit Parity: Deteksi single bit error Two Dimensional Bit Parity: Deteksi dan koreksi single bit errors 0 0

Cyclic Redundancy Check (CRC)

Cyclic Redundancy Check (CRC)

Cyclic Redundancy Check (CRC) • Bagaimana kita menghitung R (check bits)? – – Pilih

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 2 r + R = A*G => M 2 r = A*G + R (mod 2 arithmetic) R = sisa dari M 2 r/G dan T akan berupa kelipatan G • Pemilihan G merupakan parameter yg kritis utk performansi suatu CRC

Contoh G = x 3 + 1 M = x 5 + x 4

Contoh G = x 3 + 1 M = x 5 + x 4 + x 2 + 1 Transmisi: 110101011

Checking utk Error • Misal T’ adalah deretan bit yg diterima • Bagi T’

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

Performansi CRC • Utk r check bit per frame dan panjang frame kurang dari 2 r-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 = X 16 + X 15 + X 2 +1 = 11000000101

Koreksi Error Untuk Hamming Distance = d dp koreksi (d-1)/2 error Contoh: Hamming (7,

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) R M BCH (R + M, M,

Koreksi Error Code umum digunakan: Bose-Chaudhuri-Hocquenghem (BCH) R M BCH (R + M, M, t) mis. BCH (1023, 923, 10) Dp deteksi semua “t” bit error

Deteksi atau Koreksi? Keuntungan Deteksi Error v Memerlukan jumlah lebih kecil bits/overhead v Memerlukan

Deteksi atau Koreksi? Keuntungan Deteksi Error v Memerlukan jumlah lebih kecil bits/overhead v Memerlukan pemrosesan lebih sederhana Keuntungan Koreksi Error v Mengurangi Jumlah retransmisi Kebanyakan jaringan data saat ini menggunakan deteksi error, Bukan koreksi error

Deteksi atau Koreksi Contoh Asumsi: 1. Panjang paket 923 bit 2. PER = 10

Deteksi atau Koreksi Contoh 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 100 Transmission Overhead = ~= 10% 923 Overhead Deteksi Error: Asumsi gunakan: 32 -bit CRC; satu retransmisi per error Krnnya, kita kirim 923 data bit sbg 955 bit Overhead Transmisi = (923 + 32) 10 -5 32 ~=+ 3% 923