Anda di halaman 1dari 27

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
– 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 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 LLC LLC
Frames Frames
MAC MAC MAC
Physical Bits Physical Physical

Signals
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 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 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 1 1 0 1 0 1 1

Jika parity salah ERROR

Jika parity benar NO ERROR


(atau jemlah error genap telah terjadi)
Parity Checking
Single Bit Parity: Two Dimensional Bit Parity:
Deteksi single bit error Deteksi dan koreksi single bit errors

0 0
Cyclic Redundancy Check (CRC)
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 Informasi Codeword
0000 0000000
0001 0001111
Contoh: Hamming (7,4) Code
0010 0010101
0011 0011010
0100 0100011
0101 0101100
0110 0110110
0111 0111001
1000 1000110
1001 1001001
1010 1010011
1011 1011100
1100 1100101
1101 1101010
1110 1110000
1111 1111111
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


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

Anda mungkin juga menyukai