Anda di halaman 1dari 31

The Data Link Layer

Luqman Hakim
IT-UMM - 2013
The Data Link Layer
Deals with the algorithms for achieving
reliable, efficient communication between 2
adjacent machines at the Data Link layer

The specific function to carry out by the


DLL :
Non zero propagation delay
Transmission error
The differences flow of frames
Functions Data Link Layer
Well define service interface to the
network layer
Groups the bit into frames
Transmission Error
Flow Control
Services Provided to the
network layer
Transferring data from the network
layer on the source machine to the
network layer on the destination
machine
Actual Transmission
Virtual data path
Fig 2-1 (a) Virtual communication
(b) Actual Communication
The actual services offered:
Unacknowledged Connectionless Service
Acknowledged Connectionless Service
Acknowledged Connection Oriented Service

1. Unacknowledged Connectionless Service


Tidak membutuhkan ketersambungan terlebih dahulu.
Bila ada frame hilang karena noise tidak ada usaha
perbaikan masalah error rate rendah
recovery oleh layer yang lebih di atasnya
Unacknowledged Connectionless
Service

Mengirim frame independent dari


sumber ke tujuan tanpa disertai
pengiriman acknowledgement dari
tujuan
2 . Acknowledged Connectionless Service
Tidak membutuhkan ketersambungan lebih
dahulu
Perbaikan menjadi lebih mudah
Baik untuk kanal yang unreliable, seperti
sistem wireless
3. Connection Oriented Service

Terdiri dari 3 fase


Membentuk ketersambungan lebih dahulu
• Counter dan variabel yang lain diset pada kedua pihak
Pengiriman frame
Pelepasan hubungan
• Pembebasan variabel-variabel/resource yang lain
Contoh :
Hubungan melalui 2 buah router
Fig 2-2 Hubungan antara 2 buah router
WAN subnet yang terdiri dari router-router yang
berhubungan point to point leased line
Saat frame sampai pada router, perangkat keras
memeriksa check sum dan melewatkan frame ke
DLLayer software
DLLSW mengecek, bila frame yang diharapkan
paket yang ada di payload field
dilewatkan ke routing software
Routing software memilih outgoing line dan
melewatkan paket ke DLLSW yang mana akan
mentrasmisikan paket tersebut
2.1.2 Framing
Lapisan fisik hanya mampu
menyalurkan bit stream
Lapisan data bertanggung jawab atas :
Jumlah bit benar
Mendeteksi dan mengoreksi error
Membuang/melaporkan error
Untuk itu, data link layer memecah-mecah bit
menjadi frame yaitu sekelompok bit
dengan urutan dan aturan tertentu
Setiap frame umumnya dibentuk dari
beberapa cara :
1. Penghitung karakter
2.Karakter awal dan karakter akhir dengan
penyisipan karakter
3.Flag awal dan flag akhir dengan penyisipan
bit
4.Pelanggaran pengkodean physical layer
1.

Fig 2-3 A character stream


(a) without error (b) with error
Setiap frame memiliki :
Bit sinkronisasi
Error code
Character / bit count
Start & end of frame
Antar frame ada gap
Cara ini jarang digunakan

2. Penyisipan karakter DLE (Data Link Escape)


pada data link layer pengirim
Penyisipan ini akan dihapus lagi pada saat
diterima
Fig 2-5
Character stuffing
16
3. Penyisipan bit pada urutan bit yang masuk
Umumnya didahului dan diakhiri dengan flag :
01111110
Pengiriman akan menyisipkan 0 setiap melihat
urutan 1 yang kelima stuff
0 ini akan dihapus lagi pada penerima destuff

Bit Stuffing
4. Digunakan pada encoding yang mengandung
beberapa perulangan
Mis : 1 tinggi rendah
0 Menyatakan rendah tinggi
tinggi-tinggi atau rendah-rendah tidak digunakan
pada data memiliki transisi tengah
2.1.3. Kontrol Error
Untuk menjaga kemungkinan hilangnya frame
digunakan :
Acnowledgement
• Positive-ack
• Negative-ack
Nomor urutan frame
Timer setiap kali mengirim frame
timer ON. Bila waktu sudah habis sebelum ada
ack mengirim ulang. Ack hilang
timer berhenti
Kerusakan pada hardware tidak dapat diamati

2.1.4. Pengontrolan Aliran (Flow Control)


Bila kecepatan pengirim > kecepatan penerima
Penerima tidak bisa menampung
Perlu penyamaan kecepatan dan pengaturan
pengiriman frame antara pihak yang saling
berkomunikasi
2.2. Deteksi dan koreksi Error
Error umumnya terjadi pada proses reansmisinya
pada bagian dijital jarang terjadi error
Sering pada local loopnya

Perlu pendeteksian error dan pengoreksian error

2.2.1. Error Correcting Code


Frame terdiri dari : m bit data (pesan)
r redundant (check bit)
Panjang frame : n
n=m+n
n bit codeword
Jarak Hamming (Hamming distance)
Jumlah posisi bit dimana dua code word berbeda
Caranya :
Melakukan operasi XOR pada kedua codeword
10001001 dan 10110001 dua codeword yang
berbeda
d = 3 = jumlah bit yang berbeda
Dibutuhkan 3 single-bit error untuk mengkonver-
si satu sama lain

Untuk mendeteksi d error membutuhkan kode


dengan jarak d + 1
Contoh :
Parity check :
- genap ditambah 1 bit
jumlah 1 harus genap
- ganjil ditambah 1 bit
jumlah bit harus ganjil
Hamming Error Correction Code

Tugas baca !!
2.2.2. Error Detecting Code
Pada lapisan Data Link dilakukan :
• Koreksi error (error correction)
• Deteksi error (error detection)
error terjadi : request transmisi
Error detection Code
• Dengan menambah bit paritas pada data
• Dengan polynomial code (CRC Cede)
Menambah bit paritas pada data
• Bit paritas dipilih sehingga jumlah 1 bit dalam
codeword adalah genap/ganjil
• n bit codeword terdiri dari :
n = m + r
 m = data (message)
 r = redundant
• Probabilitas terdeteksinya error : 0.5
Ini dapat diperbaiki dengan :
Menganggap yang dikirim adalah blok yang berupa
matrix n x k
Bit paritas dihitung secara terpisah untuk :
• Kolom
• Baris
Matrix ini dikirim perbaris pada satu saat
Begitu seluruh blok (berupa matrix) sampai,
penerima megecek seluruh bit paritas
Kalau ada kesalahan retransmisi blok
Dengan Polynomial Code (CRC)
Polynomial Code : merepresentasikan string bit
sebagai polynomial yang mana koefisiennya terdiri
dari 1 atau 0
Untuk k bit frame, xk-1 sampai x0
MSB menjadi koefisien untuk x k-1
Berikutnya x k-2
dst
Contoh :
110001 direpresentasikan sebagai berikut :
x5 + x 4 + x 0
Aritmatika polynomial, penjumlahan dan pengura-
ngan identik dengan operasi XOR
Contoh :
10011011 00110011 11110000 01010101
11001010 11001101 10100110 10101111
01010001 11111110 01010110 11111010

Untuk menghitung checsum dengan m bit diperlukan


adalnya Generator Polynomial G(x)
Prinsip Polynomial Code :
Mengirim frame yang sudah di“checsum” (T(x))
Penerima membagi T(x) dengan G (x)
Bila ada sisa, adanya error pada saat transmisi
Algoritma untuk menghitung checsum adalah sbb:
1. r merupakan pangkat tertinggi dari G(x).
Tambahkan 0 bit sebanyak r pada akhir frame,
sehingga menjadi : m + r bit
jadi : xrM(x)
2. Bagilah xrM(x) dengan G(x) dengan cara di atas
3. Hasilnya berupa checksumed frame yang akan
ditransmisikan : T(x)
Contoh :
Frame : 1101011011
Generator : 10011
Message setelah ditambahkan 4 bit nol :
11010110110000
Error yang terdeteksi :
Misalkan error = e(x)
Checksummed frame yang diterima penerima :
T(x) + E (x)
Proses yang dilakukan :
[T(x) + E(x)] / G (x)
Karena T(x) / G(x) = selalu 0 ,ala
[T(x) + E(x)] / G (x) = E(x)] / G (x)

Jadi, error yang terdeteksi adalah semua error


kecuali bila error tersebut identik dengan G(x)
3 Polynomial yang menjadi standar international :
CRC - 12 : x12 + x11 + x3 + x2 + x1 + 1
CRC - 16 : x16 + x15 + x2 + 1
CRC - CCITT : x16 + x12 + x5 + 1

Latihan :
Diketahui :
M(x) = x7 + x5 + 1
G(x) = x3 + 1
Carilah T(x) !
To be continued
…….. Data Link Layer 2

Anda mungkin juga menyukai