Anda di halaman 1dari 31

Chapter 3 The Data Link Layer

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 Cara ini jarang digunakan

ada gap

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


1 tinggi rendah 0 Menyatakan rendah tinggi tinggi-tinggi atau rendah-rendah tidak digunakan pada data memiliki transisi tengah Mis :

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 mengkonversi satu sama lain Untuk mendeteksi d error membutuhkan kode dengan jarak d + 1

Contoh :
Parity check : - genap - ganjil ditambah 1 bit jumlah 1 harus genap 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 pengurangan identik dengan operasi XOR

Contoh :
10011011 11001010 01010001 00110011 11001101 11111110 11110000 10100110 01010110 01010101 10101111 11111010

Untuk menghitung checsum dengan m bit diperlukan adalnya Generator Polynomial G(x) Prinsip Polynomial Code : Mengirim frame yang sudah dichecsum (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