BAB 3 LAPISAN DATA LINK

Preview:

Citation preview

Chapter 3The Data Link Layer

The Data Link LayerDeals 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 delayTransmission errorThe differences flow of frames

Functions Data Link LayerWell define service interface to the network layerGroups the bit into framesTransmission 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 machineActual TransmissionVirtual data path

Fig 2-1 (a) Virtual communication (b) Actual Communication

The actual services offered:Unacknowledged Connectionless ServiceAcknowledged Connectionless ServiceAcknowledged Connection Oriented Service

1. Unacknowledged Connectionless ServiceTidak 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 dahuluPerbaikan menjadi lebih mudahBaik untuk kanal yang unreliable, seperti sistem wireless

3. Connection Oriented Service

Terdiri dari 3 faseMembentuk ketersambungan lebih dahulu

• Counter dan variabel yang lain diset pada kedua pihak

Pengiriman framePelepasan hubungan

• Pembebasan variabel-variabel/resource yang lainContoh :

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 lineSaat frame sampai pada router, perangkat keras memeriksa check sum dan melewatkan frame ke DLLayer softwareDLLSW 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 FramingLapisan fisik hanya mampu menyalurkan bit stream Lapisan data bertanggung jawab atas :

Jumlah bit benarMendeteksi dan mengoreksi errorMembuang/melaporkan error

Untuk itu, data link layer memecah-mecah bit menjadi frame yaitu sekelompok bit dengan urutan dan aturan tertentuSetiap frame umumnya dibentuk dari beberapa cara : 1. Penghitung karakter2.Karakter awal dan karakter akhir

dengan penyisipan karakter 3.Flag awal dan flag akhir dengan

penyisipan bit 4.Pelanggaran pengkodean physical layer

Fig 2-3 A character stream (a) without error (b) with error

1.

Setiap frame memiliki : Bit sinkronisasiError codeCharacter / bit countStart & end of frame

Antar frame ada gapCara ini jarang digunakan

2. Penyisipan karakter DLE (Data Link Escape)

pada data link layer pengirimPenyisipan ini akan dihapus lagi pada saat diterima

16

Fig 2-5Character stuffing

3. Penyisipan bit pada urutan bit yang masuk

Umumnya didahului dan diakhiri dengan flag :

01111110Pengiriman akan menyisipkan 0 setiap melihat urutan 1 yang kelima stuff0 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 menampungPerlu penyamaan kecepatan dan pengaturan pengiriman frame antara pihak yang saling berkomunikasi

2.2. Deteksi dan koreksi ErrorError umumnya terjadi pada proses reansmisinyapada bagian dijital jarang terjadi errorSering pada local loopnya

Perlu pendeteksian error dan pengoreksian error

2.2.1. Error Correcting CodeFrame terdiri dari : m bit data (pesan)r redundant (check bit)

Panjang frame : nn = 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 berbedaDibutuhkan 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 CodePada lapisan Data Link dilakukan :•Koreksi error (error correction)•Deteksi error (error detection)

error terjadi : request transmisiError 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.5Ini dapat diperbaiki dengan :

Menganggap yang dikirim adalah blok yang berupa matrix n x kBit paritas dihitung secara terpisah untuk :•Kolom •Baris

Matrix ini dikirim perbaris pada satu saatBegitu seluruh blok (berupa matrix) sampai, penerima megecek seluruh bit paritasKalau ada kesalahan retransmisi blok

Dengan Polynomial Code (CRC)Polynomial Code : merepresentasikan string bit sebagai polynomial yang mana koefisiennya terdiri dari 1 atau 0Untuk 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 + x4 + x0

Aritmatika polynomial, penjumlahan dan pengura-nganidentik dengan operasi XOR

Contoh :10011011 00110011 11110000 01010101

11001010 11001101 10100110 1010111101010001 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 atas3. Hasilnya berupa checksumed frame yang akan

ditransmisikan : T(x)Contoh :

Frame : 1101011011Generator : 10011Message 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 + 1CRC - 16 : x16 + x15 + x2 + 1CRC - CCITT : x16 + x12 + x5 + 1

Latihan : Diketahui :

M(x) = x7 + x5 + 1G(x) = x3 + 1Carilah T(x) !

To be continued…….. Data Link Layer 2

Recommended