SlideShare a Scribd company logo
Implementasi Data link layer dalam
Jaringan Komputer
Teknik Informatika
Universitas Dian Nuswantoro
November @2015
Pendahuluan
 Merupakan Layer 2 pada Model OSI
 Bertujuan menyediakan koneksi antara dua
komputer/host dengan menggunakan
pengalamatan secara fisik/Hardware
Addressing
 Komunikasi hanya bisa terjadi jika kedua
host/komputer yang berkomunikasi tahu
alamat fisik masing-masing
 Pengalamatan secara fisik biasa disebut MAC
Address
 MAC Address Diambilkan dari ID NIC masing-
masing komputer
2
Medium Access Control Address
 MAC Address terdiri dari 48 bit tetapi biasanya ditulis
dalam 12 bit Heksadesimal dengan ketentuan 6 bit
sebagai kode pabrik yang ditentukan oleh IEEE dan 6
bit berikunya adalah nomor serial peralatan yang
dikeluarkan oleh pabrik
3
DATA LINK LAYER
Terminologi:
 host and router adalah simpul
 Kanal komunikasi yang
menghubungkan simpul yang
berdekatan adalah link
 wired link
 wireless link
 LAN
 Data di encapsulate menjadi frame
“link”
data-link layer berfungsi
mentransfer data dari satu
simpul (node) ke simpul yang
berdekatan melalui saluran (link)
4
DATA LINK LAYER
 Services Provided to the Network
Layer
 Framing
 Error Control
 Flow Control
5
Layanan yang disediakan Data Link
Layer bagi Network Layer
 Data link layer dapat dirancang untuk
memberikan salah satu dari jenis layanan
(service) berikut:
 Unacknowledged connectionless service.
 Sesuai pada kondisi dengan error rate yang sangat
rendah, juga pada aplikasi real time seperti voice.
 Acknowledged connectionless service.
 Sesuai pada kondisi channel yang kurang handal seperti
wireless.
 Acknowledged connection-oriented service.
 Menjamin pengiriman data secara handal
6
Services Provided to Network
Layer
(a) Virtual communication.
(b) Actual communication.
7
Prinsip dasar (1)
 Masalah utama dalam komunikasi data di
jaringan adlh realibility atau keandalan. Sinyal
yang dikirim melalui medium tertentu dapat
mengalami pelemahan, distorsi, keterbatasan
bandwidth
 Data yang dikirim dapat menjadi rusak, hilang,
berubah
 Tugas data link layer adalah menangani
kerusakan dan hilangnya data antar 2 titik
komunikasi yang terhubung oleh satu medium
transmisi fisik
8
Prinsip dasar (2)
 A mengirim data ke B. Jalur antara A
dan B tidak reliable, sehingga mungkin
ada data yang rusak/hilang.
 Bagaimana menjamin transmisi data A
ke B tetap reliable?
9
Prinsip dasar (3)
 A tidak mengirim data yang panjang ke B. Data
dibagi menjadi frame, sehingga kerusakan
sebuah frame tidak merusak keseluruhan data.
 Bagaimana B dapat mendeteksi bahwa frame
yang dikirim A mengalami kerusakan?
 A menambahkan error check bits ke frame,
sehingga B dapat memeriksa frame dan
menentukan apakah telah terjadi perubahan
10
Prinsip dasar (4)
 Bagaimana A mengetahui data yang
dikirimnya telah diterima B?
 B dapat mengirimkan ack/pemberitahuan jika
data diterima dengan benar, dan
nak/pemberitahuan data salah jika data rusak
 A dapat mengirimkan ulang frame yang rusak
11
Prinsip dasar (5)
 Mengapa frame dapat hilang?
 Bagian alamat/id/header mengalami kerusakan,
sehingga frame tidak dikenali
 Temporer disconnection
 Apa yg terjadi jika frame dapat hilang?
 B tidak mengetahui ada pengiriman dari A,
sehingga tentunya juga tidak mengirimkan ack ke
A.
 B mengirimkan ack namun hilang di jalan.
12
Prinsip dasar (6)
 A harus memiliki timer, yang akan mengirim
ulang jika tidak menerima kabar dari B
 Jangka waktu timeout harus diatur.
 Jika timeout terlalu cepat, A akan mengirimkan
ulang sebelum ack dari B tiba.
 Jika timeout terlalu lama, A akan menunggu terlalu
lama jika ada frame yang hilang
13
Prinsip dasar (7)
 A mengirim frame 1
 A mengalami timeout, dan mengirimkan ulang frame 1
 A menerima ack, melanjutkan mengirim frame 2
 A menerima ack kedua untuk frame 1, namun
dianggap sebagai ack untuk frame 2 (error)
 Untuk mencegah hal tersebut maka A harus
memberikan frame number, sehingga B dapat
memberikan ack spesifik untuk frame number tertentu
14
Peran data link layer
 Physical layer: mengkodekan data menjadi
sinyal yang dikirim melalui medium transmisi
 Data Link layer berfungsi menangani
kesalahan transmisi, serta memberikan
layanan ke network layer.
 Untuk itu beberapa hal yang dilakukan oleh
Data Link Layer adalah:
 Framing
 Flow control
 Error control, error detection, error correction
15
Framing
Data Link melakukan framing
untuk:
Mengurangi kemungkinan
error
Menyesuaikan dengan
kapasitas buffer penerima
yang terbatas
16
Framing
Hubungan antara packets and frames.
17
Arsitektur Link Layer
 Sisi pengirim :
 Mengencapsulasi datagram
dalam frame
 Menambah error checking
bits, rdt, flow control, dsb.
 Sisi penerima
 Memeriksa error, rdt, flow
control, dsb.
 Mengekstrak datagram,
mengirimkan ke node
penerima
sending
node
frame
rcving
node
datagram
frame
adapter adapter
link layer protocol
18
Framing
 Teknik framing:
Character count
Flag byte – byte stuffing
Flag bits – bit stuffing
19
Framing – character count
A character stream. (a) Without errors. (b) With one error.
 Setiap frame diawali dengan field yang menyatakan panjang
frame
 Jika field ini rusak, maka frame tidak dapat dikenali lagi
20
Framing : flag byte
 Awal dan akhir frame ditandai dengan byte(s)
khusus
 Byte penanda dapat merupakan simbol yang
sama atau berbeda
 Masalah: kode byte(s) yang digunakan dapat
muncul di dalam data yang terkirim, sehingga
dapat mengakibatkan kesalahan penentuan
frame
 Solusi: byte stuffing, mengganti byte serupa
pada data dengan simbol lain
21
Framing : flag byte
(a) A frame delimited by flag bytes.
(b) Four examples of byte sequences before and after stuffing.
22
Framing : flag bits
 Serupa dengan flag bytes, namun
menggunakan bit
 Lebih cocok untuk data biner
 Misalnya ditentukan flag adalah: 01111110
 Pada pengirim: setiap muncul 5 bit 1
berurutan, tambahkan bit 0
 Pada penerima: jika menerima 5 bit 1
berurutan, maka:
 Jika bit berikutnya 0: hapus
 Jika bit berikutnya: 10: end-of-frame
 Jika bit berikutnya: 11: error
23
Framing : flag bits
 Bit stuffing
(a) The original data.
(b) The data as they appear on the line.
(c) The data as they are stored in receiver’s memory
after destuffing.
24
Error Control
 Menangani error jaringan yang disebabkan masalah
transmisi
 Network errors
 mis, perubahan nilai suatu bit saat transmisi
 Dikendalikan oleh network hardware dan software
 Human errors:
 mis., kesalahan dlm pengetikan angka
 Dikendalikan oleh program aplikasi
 Kategori dari error jaringan
 Data terkorupsi (perubahan data)
 Data hilang
25
Error Control (Cont.)
 Laju Error (Error Rate)
 Bit error rate (BER) menunjukan probabilitas bit terkena error.
Harga tipikal BER = 10-9 untuk link electrik, dan 10-12 untuk
link optik
 1 bit error dalam n bit yang ditransmisikan. mis., 1 dalam
100,000  Bit Error rate (BER) = 10-5
 Burst error
 Banyak bit yang terkorupsi pada saat bersamaan
 Error-error tidak terdistribusi secara uniform
 Fungsi-fungsi utama
 Mencegah error
 Mendeteksi error
 Mengkoreksi errors
26
BER vs PER
Contoh:
Asumsi BER dan error independen,
Packet Error Rate = PER = 1 – (1 – BER)N
PER ~= N (BER) if N (BER) << 1
mis. N = 104, BER = 10-7 => PER = 10-3
D
ACK
H
H
27
Sumber-Sumber Error
 Noise saluran dan distorsi – penyebab utama
 Lebih mungkin pd media elektrik
 Sinyal elektrik yang tidak diinginkan
 Disebabkan gangguan peralatan dan alam
 Menurunkan performansi suatu circuit
 Tanda-tanda
 Bit-bit extra
 Bit-bit berubah (“flipped” bits)
 Bit-bit hilang
28
Sumber Error dan Pencegahan
Source of Error What causes it How to prevent it
Line Outages Faulty equipment, Storms,
Accidents (circuit fails)
White Noise
(Gaussian Noise)
Movement of electrons (thermal
energy)
Increase signal strength
(increase SNR)
Impulse Noise
(Spikes)
Sudden increases in electricity
(e.g., lightning, power surges)
Shield or move the wires
Cross-talk Multiplexer guard bands are too
small or wires too close together
Increase the guard bands, or
move or shield the wires
Echo Poor connections (causing signal to
be reflected back to the source)
Fix the connections, or
tune equipment
Attenuation Gradual decrease in signal over
distance (weakening of a signal)
Use repeaters or
amplifiers
Intermodulation
Noise
Signals from several circuits
combine
Move or shield the wires
Jitter Analog signals change (small
changes in amp., freq., and phase)
Tune equipment
Harmonic
Distortion
Amplifier changes phase (does not
correctly amplify its input signal)
Tune equipment
mostly
on
analog
More
important
29
Deteksi Error
Mathematical
calculations
?
=
Mathematical
calculations
Data yg akan
ditransmisikan
Pengirim mengkalkulasi
Error Detection Value (EDV)
dan mentransmisikan
bersama data
Penerima kalkulasi ulang
EDV dan bandingkan dengan
EDV yang diterima
– Jika sama  tidak ada
error
saat transmisi
– Jika berbeda  Terjadi
error saat transmisi
EDV
Makin besar ukuran,
makin baik deteksi error
(tetapi efisiensi lebih
rendah)
30
Error Detection and Correction
 Umumnya penanganan error transmisi
dilakukan pada data link layer. Error
control dapat pula dilakukan pada layer
lain (biasanya higher layer)
 Error dapat dideteksi dan dikoreksi
dengan menggunakan data tambahan /
redundant pada setiap pengiriman data
31
Teknik Deteksi dan Koreksi Error
 Parity checks
 Longitudinal Redundancy Checking (LRC)
 Hamming Code
 Polynomial checking
 Checksum
 Cyclic Redundancy Check (CRC)
32
Error Detection and Correction
 Jenis error:
 Single bit error: hanya sebuah bit yang
berubah. Disebabkan oleh white noise
 Burst error: sederetan bit-bit mengalami
error. Disebabkan oleh impulse noise
 Makin tinggi data rate, makin besar efeknya
33
Error Detection and Correction
 Ada 2 teknik yang digunakan:
 Error - Detecting Codes
 Error - Correcting Codes
 Error correcting codes memerlukan data
redundant lebih besar dibandingkan
dengan error detecting codes
34
Koreksi Error
 Begitu terdeteksi, error harus dikoreksi
 Teknik Koreksi Error
 Retransmisi (Backward error correction)
 Sederhana, efektif, murah, umum digunakan
 Dikoreksi dengan retransmisi data
 Penerima, jika mendeteksi error, meminta pengirim untuk
retransmit message
 Sering disebut Automatic Repeat Request (ARQ)
 Forward Error Correction
 Peralatan penerima dapat mengkoreksi sendiri messages
yang datang
35
Forward Error Correction (FEC)
 Peralatan penerima dapat mengkoreksi sendiri
message yang datang (tanpa retransmisi)
 Perlu informasi ekstra untuk koreksi
 Kirim bersama dengan data
 Memungkinkan data untuk di-check dan dikoreksi oleh
penerima
 Jumlah informasi extra : biasanya 50-100% dari data
 Berguna untuk transmisi satelit
 Transmisi satu arah (retransmisi tidak dimungkinkan)
 Waktu transmisi sangat panjang (retransmisi akan memakan
waktu lama)
 Biaya FEC tdk signifikan (dibandingkan biaya total peralatan)
36
Contoh Penggunaan Parity Bit
sender receiver
01101010
EVEN parity
parity
Operator : XOR
Untuk dikirimkan: huruf V pd 7-bit ASCII: 0110101
sender receiver
01101011
ODD parity
parity
Operator : ~XOR
37
Parity Checking
 Satu yang paling tua dan paling sederhana
 Satu bit ditambahkan pada tiap karakter
 Even parity: penambahan 1 bit parity  jumlah bit 1 genap (even)
 Odd parity : penambahan 1 bit parity  jumlah bit 1 ganjil (odd)
 Sisi penerima kalkulasi ulang parity bit
 Jika satu bit mengalami error transmisi jumlah bit 1 tdk sesuai dengan
parity yang digunakan (genap identik dengan 0 dan ganjil identik
dengan 1)
 Sederhana, tetapi tidak dapat mendeteksi semua error
 Jika dua (atau sejumlah genap) bit mengalami error, parity check tampak
benar
 Mendeteksi sekitar 50% dari error
 Jika terjadi kesalahan maka data harus dikirim ulang
 Keuntungannya, hanya menggunakan satu bit tunggal untuk
check bit dan membutuhkan hanya satu gate XOR untuk
mengenerate
38
KODE DENGAN PENDETEKSI
KESALAHAN
Desimal BCD Dengan paritas
genap
Dengan paritas
gasal
0 0000 0000 0 0000 1
1 0001 0001 1 0001 0
2 0010 0010 1 0010 0
3 0011 0011 0 0011 1
4 0100 0100 1 0100 0
5 0101 0101 0 0101 1
6 0110 0110 0 0110 1
7 0111 0111 1 0111 0
8 1000 1000 1 1000 0
9 1001 1001 0 1001 1
39
Error detection: parity bit
 Contoh : mengirimkan nilai 4-bit yaitu 1001 dengan bit paritas
disisi kanan, tanda ^ menyatakan gate XOR
 Transmisi pengiriman menggunakan paritas genap :
 A wants to transmit: 1001
 A computes parity bit value: 1^0^0^1 = 0
 A adds parity bit and sends: 10010
 B receives: 10010
 B computes parity: 1^0^0^1^0 = 0
 B reports correct transmission after observing expected even result.
40
Error detection: parity bit
 Transmisi pengiriman menggunakan paritas ganjil :
 A wants to transmit: 1001
 A computes parity bit value: ~(1^0^0^1) = 1
 A adds parity bit and sends: 10011
 B receives: 10011
 B computes overall parity: 1^0^0^1^1 = 1
 B reports correct transmission after observing expected odd result.
 Transmisi pengiriman menggunakan paritas genap :
 A wants to transmit: 1001
 A computes parity bit value: 1^0^0^1 = 0
 A adds parity bit and sends: 10010 *** TRANSMISSION ERROR ***
 B receives: 11010
 B computes overall parity: 1^1^0^1^0 = 1
 B reports incorrect transmission after observing unexpected odd result.
41
Error detection: parity bit
 B menghitung paritas ganjil yang mengindikasikan error, disini
yang terjadi error pada bit paritasnya :
 A wants to transmit: 1001
 A computes even parity value: 1^0^0^1 = 0
 A sends: 10010 *** TRANSMISSION ERROR ***
 B receives: 10011
 B computes overall parity: 1^0^0^1^1 = 1
 B reports incorrect transmission after observing unexpected odd result.
 Bit paritas hanya menjamin deteksi jumlah ganjil pada bit error.
Jika jumlah genap mempunyai error, bit paritas mencatat hasil
yang benar padahal datanya corrupt.
 A wants to transmit: 1001
 A computes even parity value: 1^0^0^1 = 0
 A sends: 10010 *** TRANSMISSION ERROR ***
 B receives: 11011
 B computes overall parity: 1^1^0^1^1 = 0
 B reports correct transmission though actually incorrect. 42
LRC - Longitudinal Redundancy Checking
 Tambahkan karakter tambahan (bukan satu bit)
 Block Check Character (BCC) pada tiap blok data
 Ditentukan seperti parity, tetapi menghitung secara
longitudinal pada pesan (dan juga secara vertikal)
 Kalkulasi berdasarkan pd bit ke-1, ke-2 dst (dari semua
karakter) pd blok
 Bit ke-1 dari BCC  jumlah 1 pada bit ke-1 dari karakter
 Bit ke-2 dari BCC  jumlah 1 pada bit ke-2 dari karakter
 Perbaikan signifikan dibandingkan parity checking
 98% laju deteksi error utk burst errors ( > 10 bit)
 Mampu mengoreksi error sebuah bit
 Mampu mengoreksi error sebuah drive yang rusak (dalam
RAID)
43
Parity Checking
Single Bit Parity:
Detect single bit errors
Two Dimensional Bit Parity:
Detect and correct single bit errors
0 0
Contoh :
Menggunakan paritas genap
44
Penggunaan LRC Utk Deteksi Error
Letter
D
A
T
A
Cat. parity bit BCC juga
ditentukan dg parity
BCC 1 1 0 1 1 1 1 1
Parity bit
1
1
0
1
Contoh:
kirim pesan “DATA” dg ODD parity dan LRC
ASCII
1 0 0 0 1 0 0
1 0 0 0 0 0 1
1 0 1 0 1 0 0
1 0 0 0 0 0 1
Arah pentransmisian bit
45
Penggunaan LRC Utk Deteksi Error
Letter
D
C
T
A
Paritas error
BCC 1 1 0 1 1 1 1 1
Parity bit
1
1
0
1
Contoh:
kirim pesan “DATA” dg ODD parity dan LRC
Yang diterima seperti pada gambar
ASCII
1 0 0 0 1 0 0
1 0 0 0 0 1 1
1 0 1 0 1 0 0
1 0 0 0 0 0 1
Koreksi dilakukan dengan menginversi bit 0 menjadi 1 atau 1
menjadi 0 pada posisi bit yang baris dan kolomnya dinyatakan
error
Paritas error
Bagaimana jika
ada 2 bit yang
error pada data 2 ?
46
Penggunaan LRC Utk Deteksi Error
Koreksi dilakukan dengan megoperasi drive yang lain dengan
BCC sehingga drive 2 (rusak) bisa dikembalikan data aslinya)
RAID
Paritas juga digunakan dalam beberapa level RAID untuk mendapatkan
redundansi. Jika dalam salah satu drive array rusak, data tersebut masih
dapat dikembalikan dengan mengombinasikan data paritas (dengan
operator logika XOR) untuk mengembalikan data yang rusak.
ASCII
1 0 0 0 1 0 0 1
1 0 0 0 0 0 1 1
1 0 1 0 1 0 0 0
1 0 0 0 0 0 1 1
1 1 0 1 1 1 1 1
Drive
1
2
3
4
BCC
Rusak !!!
ASCII
1 0 0 0 1 0 0 1
1 0 1 0 1 0 0 0
1 0 0 0 0 0 1 1
1 1 0 1 1 1 1 1
1 0 0 0 0 0 1 1
Drive
1
3
4
BCC
2
47
Hamming Code
 Hamming code dapat digunakan untuk
melakukan error correction.
 Codeword (berukuran n-bit) merupakan
gabungan data berukuran m-bit dan
redundant check bits berukuran r-bit, (n=m+r).
 Hamming distance:Jumlah bit yang berbeda
antara dua buah codeword (gunakan XOR):
 1110 dan 1111 memiliki 1 bit yang berbeda: d=1
 1010 dan 1100 memiliki 2 bit yang berbeda: d=2
48
Hamming distance
49
KODE HAMMING (DETEKSI DAN KOREKSI
KESALAHAN)
Data: 0 1 1 0 (6)
d3d2d1d0
Posisi : 1 2 3 4 5 6 7
p1 p2 d3 p4 d2 d1 d0
p1 p2 0 p4 1 1 0
p1 bertanggung jawab pada posisi: 1,3,5,7
p2 bertanggung jawab pada posisi: 2,3,6,7
p4 bertanggung jawab pada posisi: 4,5,6,7
p1 : p1  0  1  0 = genap  p1 = 1
p2 : p2  0  1  0 = genap  p2 = 1
p4 : p4  1  1  0 = genap  p4 = 0
Kode Hamming:
1 1 0 0 1 1 0
Menggunakan paritas genap : saat pendeteksian, hasil
operasi XOR harus 0 (genap)
50
MISAL KODE HAMMING PARITAS GENAP
DARI BCD ADALAH 1 1 1 0 1 1 0 , BERAPA
NILAI BCD TSB?
Posisi : 1 2 3 4 5 6 7
p1 p2 d3 p4 d2 d1 d0
1 1 1 0 1 1 0
p1 : 1 + 1 + 1 + 0 = ganjil  salah
p2 : 1 + 1 + 1 + 0 = ganjil  salah
p4 : 0 + 1 + 1 + 0 = genap  benar
Yang benar: 1 1 0 0 1 1 0
Data : 0110 (6)
Bit yang salah adalah posisi: 3
????
51
Hamming Code – Contoh FEC
52
Kalkulasi tiga parity bit
EVEN dari data
Jika satu bit (parity atau
data) berubah 
perubahan pd bit data
dp dideteksi & dikoreksi
Only
works for
one bit
errors
Hanya
bekerja utk
satu bit
error
Use of a Hamming code to correct
burst errors.
53
Polynomial Checking
 Tambahkan 1 atau lebih karakter pd akhir pesan
(berdasarkan algoritma matematik)
 Dua tipe: Checksum dan CRC
 Checksum
 Kalkulasi dengan menambahkan nilai desimal dari tiap
karakter pd pesan
 Bagi total dengan 255 dan
 Simpan sisanya (nilai 1 byte) dan gunakan ini sbg checksum
 95% efektif
 Cyclic Redundancy Check (CRC)
 Dihitung dg kalkukasi sisa ke problem pembagian
54
Error detection: CRC
 Cyclic redundancy check (CRC) adalah method yang umum
digunakan untuk mendeteksi error
 CRC beroperasi pada sebuah frame/block. Setiap block data
(berukuran m bit  m=M(x)+R(x)) yang akan dikirim akan terlebih
dahulu dihitung CRC checksumnya (berukuran R bit dari
standart).
 M(x) = pesan yang dikirim. G(x) = generator polynomial. R=jumlah bit CRC
yang digunakan (mengikuti standart)
 Kalikan D dengan 2R
 Lakukan pembagian modulo 2 dengan G(x) untuk mendapatkan sisa R(x)
 Kemudian M(x)+R(x) sumnya akan dikirim sebagai frame
(dengan ukuran m bit).
 Pada sisi penerima, CRC checksum akan dihitung kembali
berdasarkan pada frame yang diterima, dan dibandingkan
dengan checksum yang dikirimkan. Jika hasil baginya tidak 0,
berarti frame telah rusak.
 CRC menggunakan prinsip modulo bilangan 2.
55
Modulo arithmetic
 Operasi penambahan dan pengurangan = XOR
56
Standart CRC Internasional
Name Polynomial
Representations: normal /
reversed / reverse of reciprocal
CRC-1 x + 1 (most hardware; also known as parity bit) 0x1 / 0x1 / 0x1
CRC-4-ITU x4 + x + 1 (ITU-T G.704, p. 12) 0x3 / 0xC / 0x9
CRC-5-EPC x5 + x3 + 1 (Gen 2 RFID) 0x09 / 0x12 / 0x14
CRC-5-ITU x5 + x4 + x2 + 1 (ITU-T G.704, p. 9) 0x15 / 0x15 / 0x1A
CRC-5-USB x5 + x2 + 1 (USB token packets) 0x05 / 0x14 / 0x12
CRC-6-ITU x6 + x + 1 (ITU-T G.704, p. 3) 0x03 / 0x30 / 0x21
CRC-7
x7 + x3 + 1 (telecom systems, ITU-T G.707, ITU-T
G.832, MMC, SD) 0x09 / 0x48 / 0x44
CRC-8-CCITT
x8 + x2 + x + 1 (ATM HEC), ISDN Header Error
Control and Cell Delineation ITU-T I.432.1 (02/99) 0x07 / 0xE0 / 0x83
CRC-8-
Dallas/Maxim x8 + x5 + x4 + 1 (1-Wire bus) 0x31 / 0x8C / 0x98
CRC-8 x8 + x7 + x6 + x4 + x2 + 1 0xD5 / 0xAB / 0xEA
CRC-8-SAE J1850 x8 + x4 + x3 + x2 + 1 0x1D / 0xB8 / 0x8E
CRC-8-WCDMA x8 + x7 + x4 + x3 + x + 1 0x9B / 0xD9 / 0xCD
CRC-10 x10 + x9 + x5 + x4 + x + 1 (ATM; ITU-T I.610) 0x233 / 0x331 / 0x319
CRC-11 x11 + x9 + x8 + x7 + x2 + 1 (FlexRay) 0x385 / 0x50E / 0x5C2
CRC-12 x12 + x11 + x3 + x2 + x + 1 (telecom systems) 0x80F / 0xF01 / 0xC07
CRC-15-CAN x15 + x14 + x10 + x8 + x7 + x4 + x3 + 1 0x4599 / 0x4CD1 / 0x62CC
57
Standart CRC Internasional
Name Polynomial
Representations: normal / reversed /
reverse of reciprocal
CRC-16-IBM
x16 + x15 + x2 + 1 (Bisync, Modbus, USB, ANSI X3.28, many others; also known as CRC-16 and
CRC-16-ANSI) 0x8005 / 0xA001 / 0xC002
CRC-16-CCITT
x16 + x12 + x5 + 1 (X.25, V.41, HDLC, XMODEM, Bluetooth, SD, many others; known as CRC-
CCITT) 0x1021 / 0x8408 / 0x8810[8]
CRC-16-T10-DIF x16 + x15 + x11 + x9 + x8 + x7 + x5 + x4 + x2 + x + 1 (SCSI DIF) 0x8BB7[20] / 0xEDD1 / 0xC5DB
CRC-16-DNP x16 + x13 + x12 + x11 + x10 + x8 + x6 + x5 + x2 + 1 (DNP, IEC 870, M-Bus) 0x3D65 / 0xA6BC / 0x9EB2
CRC-16-DECT x16 + x10 + x8 + x7 + x3 + 1 (cordless telephones) 0x0589 / 0x91A0 / 0x82C4
CRC-16-Fletcher Not a CRC; see Fletcher's checksum Used in Adler-32 A & B CRCs
CRC-24 x24 + x22 + x20 + x19 + x18 + x16 + x14 + x13 + x11 + x10 + x8 + x7 + x6 + x3 + x + 1 (FlexRay) 0x5D6DCB / 0xD3B6BA / 0xAEB6E5
CRC-24-Radix-64 x24 + x23 + x18 + x17 + x14 + x11 + x10 + x7 + x6 + x5 + x4 + x3 + x + 1 (OpenPGP) 0x864CFB / 0xDF3261 / 0xC3267D
CRC-30 x30 + x29 + x21 + x20 + x15 + x13 + x12 + x11 + x8 + x7 + x6 + x2 + x + 1 (CDMA)
0x2030B9C7 / 0x38E74301 /
0x30185CE3
CRC-32-Adler Not a CRC; see Adler-32 See Adler-32
CRC-32-IEEE 802.3
x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1 (V.42, Ethernet,
SATA, MPEG-2, PNG,[22] POSIX cksum)
0x04C11DB7 / 0xEDB88320 /
0x82608EDB
CRC-32C
(Castagnoli)
x32 + x28 + x27 + x26 + x25 + x23 + x22 + x20 + x19 + x18 + x14 + x13 + x11 + x10 + x9 + x8 +
x6 + 1 (iSCSI & SCTP, G.hn payload, SSE4.2)
0x1EDC6F41 / 0x82F63B78 /
0x8F6E37A0
CRC-32K (Koopman)
x32 + x30 + x29 + x28 + x26 + x20 + x19 + x17 + x16 + x15 + x11 + x10 + x7 + x6 + x4 + x2 + x +
1
0x741B8CD7 / 0xEB31D82E /
0xBA0DC66B[11]
CRC-32Q x32 + x31 + x24 + x22 + x16 + x14 + x8 + x7 + x5 + x3 + x + 1 (aviation; AIXM)
0x814141AB / 0xD5828281 /
0xC0A0A0D5
CRC-40-GSM x40 + x26 + x23 + x17 + x3 + 1 (GSM control channel)
0x0004820009 / 0x9000412000 /
0x8002410004
CRC-64-ISO x64 + x4 + x3 + x + 1 (HDLC — ISO 3309, Swiss-Prot/TrEMBL; considered weak for hashing)
0x000000000000001B /
0xD800000000000000 /
0x800000000000000D
CRC-64-ECMA-182
x64 + x62 + x57 + x55 + x54 + x53 + x52 + x47 + x46 + x45 + x40 + x39 + x38 + x37 + x35 + x33
+ x32 + x31 + x29 + x27 + x24 + x23 + x22 + x21 + x19 + x17 + x13 + x12 + x10 + x9 + x7 + x4 + x
+ 1 (as described in ECMA-182 p. 51)
0x42F0E1EBA9EA3693 /
0xC96C5795D7870F42 /
0xA17870F5D4F51B49
58
CRC
Contoh:
 Akan mengirim karakter “W”
 Dalam desimal 8710
 Biner : M(x) = x6 + x4 + x2 + x + 1 = 1010111
 Generator menggunakan standart CRC-8-
ATM (HEC) polynomial x8 + x2 + x + 1
 Maka G(x) = 9-bit string "100000111".
 R=8 (CRC 8bit)
 Kalikan M(x) dengan 2R
 M(x) * 28 = 101011100000000
Menentukan checksum:
1. Bagi M(x) dengan generator G(x)
2. Sisanya adalah checksum (10100010)
3. Tambahkan checksum ke data asal:
 10100010 ke M(x)
 Menjadi : 101011110100010
59
CRC
 Data dan checksum dikirimkan.
 Pada sisi penerima, data dan
checksum yang diterima dibagi
dengan generator.
 Jika sisanya 0, berarti tidak terjadi
kesalahan
 Jika sisanya bukan 0, berarti terjadi
kesalahan
 Misalnya M(x) yang diterima :
101001110100010
 Sisa yang dihasilkan : 00011100
 Pesan yang terima terjadi error.
60
CRC
 M(x) yang diterima :
101011110100010
 Sisa yang dihasilkan : 00000000
 Pesan yang diterima benar
– Paling powerful dan paling umum
– Deteksi 100% error, jika jum error ≤ ukuran R
• Kalau tdk : CRC-16 (99.998%) dan CRC-32 (99.9999%)
61
Flow control
 Mengendalikan aliran transmisi data, sehingga pengirim tidak
membanjiri penerima
 Proses utk meminta data transmisi dikirim ulang (Automatic
Repeat Request / ARQ)
 Dapat dilakukan pada layer data link maupun layer di atasnya
 Stop and wait protocol (Stop and wait ARQ)
 Sender mengirimkan sebuah message dan menunggu acknowledgment,
lalu kjrim message berikutnya
 Receiver menerima message dan mengirimkan acknowledgement, dan
menunggu message berikutnya
 sliding window (Continuous ARQ)
 Sender secara kontinyu mengirimkan paket tanpa menunggu
acknowledge dari penerima
 Receiver secara kontinyu menerima messages tanpa harus memberikan
acknowledment dg segera
62
Stop and Wait ARQ
Kirim negative
acknowledgement
Kirim paket, lalu
tunggu kabar dari
receiver
Kirim
acknowledgement
Kirim ulang
paket
Kirim paket
berikutnya
Sender Receiver
63
Stop and Wait Protocol
 Dengan stop and wait protocol utilisasi kanal
akan rendah.
 bit rate: jumlah bit yang dikirim setiap satuan waktu
 transmission time: waktu yang diperlukan untuk
mengirim sebuah frame.
 Untuk frame dengan ukuran L, maka
 transmission time (ttrans) = L / bit rate
 transmission delay/latency/propagation (tprop):
waktu yang diperlukan sebuah bit untuk mencapai
tujuan
64
Stop and Wait Protocol
 Utilisasi kanal:
65
Stop and Wait Protocol
 Jika latency jauh lebih besar dari transmission
time, maka utilisasinya akan sangat rendah.
 Contoh:
 Pada link antara stasiun bumi dan satelit dengan
jarak 36000 km dengan data rate 1 Mbps.
 t trans untuk frame berukuran 8000 bit : 8000/106 =
8ms
 Tprop (latency) = 36000km/3X108=120ms
 U = 8 / (8 + 2*120) = 0,032
66
Continuous ARQ
Perhatikan bahwa
acknowledgments
sekarang mengidentifikasi
paket yang di-
acknowledged
 pengirim dapat mengirim hingga
w (ukuran window) buah frame
tanpa harus menerima
konfirmasi terlebih dahulu
 penerima harus memiliki buffer
yang mampu menampung n
buah frame
 frame memiliki nomor identitas
(sequence number)
 ack menyatakan frame terakhir
yang diterima sesuai urutan
67
Sliding Window Protocol
 utilisasi kanal:
 jika w x t trans > 2 x tprop, maka dapat dicapai utilisasi
100% (pengirim dapat melakukan pengiriman
frame secara kontinu)
68
Sliding Window Protocol
 Window pengirim:
 Setiap mengirimkan frame baru, batas atas akan bergeser.
 Setiap menerima ack, batas bawah akan digeser.
 Pada unreliable link, frame-frame ini harus disimpan pada buffer pengirim
 Window penerima: menyatakan frame yang dapat diterima. Setiap
menerima frame pada batas bawah, window akan bergeser
A sliding window of size 1, with
a 3-bit sequence number.
(a) Initially.
(b) After the first frame has
been sent.
(c) After the first frame has
been received.
(d) After the first
acknowledgement has
been received.
69
Sliding Window Protocol
70
Go-Back-N
 Allow up to N unACKed pkts in the
network
 N is the Window size
 Sender Operation:
 If window not full, transmit
 ACKs are cumulative
 On timeout, send all packets previously
sent but not yet ACKed.
 Uses a single timer – represents the oldest
transmitted, but not yet ACKed pkt
71
A Protocol Using Go Back N
Pipelining and error recovery. Effect on an error when
(a) Receiver’s window size is 1.
(b) Receiver’s window size is large.
72
Selective Repeat
 Penerima memberitahu secara individu semua
paket yang diterima dengan benar
 Buffer paket, dibutuhkan untuk kejadian penerimaan paket
layer diatasnya
 Pengirim hanya mengirimkan paket yang belum
ada ACK
 Sender window
 N memutus urutan #’s
 Batas urutan #s yang terkirim, paket yang belum ACK
73
Selective Repeat Example
0123 456789
PKT0
PKT1
PKT2
PKT3
ACK0
ACK1
ACK2
ACK3
0 1234 56789 PKT4
0 1234 56789
PKT1
ACK1
ACK4
01234 5678 9
0 1234 56789
01 2345 6789
01234 5678 9
Time-Out
Sender Receiver
74
Protokol Data Link
 Klasifikasi
 Asynchronous transmission
 Synchronous transmission
 Berbeda oleh
 Message delineation
 Frame length
 Frame field structure
frame k frame k+1
frame k-1
75
Asynchronous Transmission
Tiap karakter dikirim
secara independen
Kadang disebut start-stop transmission
Kirim antara
transmisi
(deretan
stop bits)
Digunakan oleh
receiver utk
memisahkan
karakter dan utk
synch.
Digunakan pada point-to-point full duplex circuits
(digunakan oleh Telnet saat menghubungkan ke komputer Unix/Linux)
76
Asynchronous File Transfer
 Digunakan pada
 Point-to-point asynchronous circuits
 Biasanya melalui saluran telepon via modem
 Komputer ke komputer untuk transfer file data
 Karakteristik dari file transfer protocols
 Dirancang untuk transmit error-free data
 Kelompokkan data kedalam blocks untuk
ditransmisikan (tidak dikirimkan character by
character)
 File transfer Protocols yang populer
 Xmodem, Zmodem, dan Kermit
77
File Transfer Protocols
SOH Packet # Packet # compl.
(128 bytes)
Checksum
Start
of
Header
• satu dari async file transfer protocol paling tua
• menggunakan stop-and-wait ARQ.
• Xmodem-CRC: menggunakan 1 byte CRC (drpd checksum)
• Xmodem-1K: Xmodem-CRC + message field 1024 byte
Xmodem
Zmodem
Kermit
• Menggunakan CRC-32 dg continuous ARQ
• Pengaturan dinamis dari ukuran paket (tergantung circuit)
• Sangat fleksibel, powerful dan popular
• Biasanya menggunakan CRC-24 dan ukuran 1K,
tetapi adjustable 78
Synchronous Transmission
 Data dikirim dalam satu blok yg besar
 disebut frame atau paket
 Biasanya sekitar seribu karakter (bytes)
 Mencakup informasi addressing
 Terutama berguna dalam multipoint circuits
 Mencakup satu serie dari karakter-karakter
synchronization (SYN)
 Digunakan utk membantu receiver mengenali data yg
datang
 Kategori Synchronous transmission protocols
 Bit-oriented protocols: SDLC, HDLC
 Byte-count protocols: Ethernet
 Byte-oriented protocols: PPP
79
Byte-Oriented Protocol
 STX - start of text
 ETX - end of text
 Masalah: bagaimana jika ETX muncul pada bagian data
dari frame
 Solusi:
 Gunakan karakter khusus DLE (“Data Link Escape”) sebelumnya
 Jika DLE muncul dalam text, gunakan DLE lainnya sebelumnya
 Contoh-contoh protocol:
 Bisync, PPP, DDCMP
Text (Data)
STX ETX
8 8
80
Byte-Count Protocol
 Sender: Menyisipkan panjang data (dalam byte) pada
awal frame
 Receiver: mengekstrak panjang ini dan
menguranginya setiap satu byte dibaca, jika counter
menjadi nol satu frame lengkap diproses
 Contoh: Ethernet
81
Bit-Oriented Protocol
 Digunakan suatu flag: deretan bit tetap (pola tetap) untuk indikasi awal dan akhir
suatu paket
 Pola start sequence dan end sequence dapat sama, mis pd HDLC” ‘01111110’
 Secara prinsip, sembarang deretan dp digunakan, tetapi kemunculan flag harus
dicegah di dalam data
 Protokol standard menggunakan deretan 8-bit 01111110 sbg satu flag
 INVENTED ~ 1970 oleh IBM utk SDLC (synchronous data link protocol)
 Data transparan
 Krnnya 0111111 yang tidak boleh muncul di didalam data
 Untuk mencegah pola start dan end sequence pada data digunakan ‘bit stuffing’
Text (Data)
Start
sequence
8 8
End
sequence
82
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?
83
Destuffing (Penerima)
 Jika 11111 diikuti 0, buang 0
84
SDLC – Synchronous Data Link Control
Address
tujuan(8 atau
16 bit)
Identifikasi tipe frame:
- Informasi (utk transfer data user)
- Supervisory (utk error dan flow control)
data CRC-32
Akhir
(01111110)
Awal
(01111110)
• Bit-oriented protocol dikembangkan IBM
• Menggunakan controlled media access protocol
85
Masalah Transparansi pd SDLC
 Problem: Transparansi
 Data user dapat berisi pola bit seperti flags (01111110)
 Receiver dapat menginterpretasi sebagai akhir frame
dan mengabaikan yang lainnya
 Solusi: Bit stuffing (zero insertion)
 Sender menyisipkan 0 jika mendeteksi 11111 (lima
deretan 1)
 Jika receiver melihat lima deretan 1, check bit-bit
berikutnya
 jika 0, hilangkan (stuffed bit)
 jika10, akhir dari frame marker (01111110)
 jika 11, error (tujuh deretan tdk mungkin dlm data)
 Bekerja tetapi menambah kompleksitas
86
HDLC – High-Level Data Link Control
 Standar formal dikembangkan oleh ISO
 Sama seperti SDLC, kecuali
 Address dan field control lebih panjang
 Ukuran sliding window lebih besar
 Lainnya
 Dasar bagi banyak Data Link Layer protocol lainnya
 LAP-B (Link Accedes Protocol – Balanced)
 Digunakan pada teknologi X.25
 LAP-D (Link Accedes Protocol – Balanced)
 Digunakan pada teknologi ISDN
 LAP- F (digunakan pd teknologi Frame Relay)
87
Ethernet (IEEE 802.3)
 Protokol LAN paling luas digunakan, dikembangkan
bersama oleh Digital, Intel, dan Xerox, sekarang
sebagai standar IEEE
 formal standard: IEEE 802.3ac
 Menggunakan contention based media access control
 Byte-count data link layer protocol
 Tidak ada masalah transparency
 Menggunakan sebuah field berisi jumlah bytes (bukan flags)
untuk membatasi frames
 Koreksi error: optional
88
Frame Ethernet (IEEE 802.3)
(jumlah byte pada
field message)
Pengulangan pola
dari
(1010101010)
• Digunakan pd Virtual LANs; (jika
tidak field ini diabaikan
• Jika digunakan, 2 byte pertama
di-set ke: 24.832 (8100H)
Digunakan untuk
pertukaran info kontrol
(mis., tipe protokol
network layer yang
digunakan)
Digunakan untuk no urut/sequence
number, ACK/NAK, dll, (1 atau 2 byte)
00
01
10
11
89
Point-to-Point Protocol (PPP)
• Byte-oriented protocol dikembangkan awal 90’an
• Umum digunakan pada saluran dial-up dari PC di rumah
• Dirancang terutama untuk saluran. telepon point-to-point
(dapat digunakan juga untuk saluran multipoint)
(s/d 1500 byte)
Menspesifikasikan protokol
network layer yang digunakan
(mis. IP, IPX)
90
Data Link Protocol Summary
Protocol Size Error Detection Retransmission Media Access
Asynchronous Xmission 1 Parity Continuous ARQ Full Duplex
File Transfer Protocols
XMODEM 132 8-bit Checksum Stop-and-wait ARQ Controlled Access
XMODEM-CRC 132 8-bit CRC Stop-and-wait ARQ Controlled Access
XMODEM-1K 1028 8-bit CRC Stop-and-wait ARQ Controlled Access
ZMODEM * 32-bit CRC Continuous ARQ Controlled Access
KERMIT * 24-bit CRC Continuous ARQ Controlled Access
Synchronous Protocols
SDLC * 16-bit CRC Continuous ARQ Controlled Access
HDLC * 16-bit CRC Continuous ARQ Controlled Access
Token Ring * 32-bit CRC Stop-and wait ARQ Controlled Access
Ethernet * 32-bit CRC Stop-and wait ARQ Contention
SLIP * None None Full Duplex
PPP * 16-bit CRC Continuous ARQ Full Duplex
* Varies depending on message length. 91
Efisiensi Transmisi
 Tujuan suatu jaringan:
 Memindahkan sebanyak mungkin bit dengan error minimum
 efisiensi lebih tinggi biaya lebih rendah
 Fator yg mempengaruhi efisiensi jaringan:
 Karakteristik dari circuit (laju error/error rate,
kecepatan/speed)
 Kecepatan dari peralatan, Teknik Error control
 Protocol yang digunakan
 Bit-bit informasi (memuat informasi user)
 Bit-bit Overhead (digunakan untuk error checking,
pembatas frame, dll.)
Total jumlah bit info ditransmisikan
Total jumlah bit ditransmisikan
=
92
Efisiensi Transmisi dari Protocol
Async Transmission:
7-bit ASCII (info bits), 1 parity bit, 1 stop bit, 1 start bit
Efisiensi transmisi = 7 / 10  70%
mis., V.92 modem dg 56 Kbps  laju efektif 39.2 Kbps
SDLC Transmission
Asumsi 100 karakter info (800 bit), 2 flag (16 bit)
Address (8 bits), Control (8 bits), CRC (32 bits)
Efisiensi transmisi = 800 / 64  92.6%
mis., V.92 modem with 56 Kbps  51.9 Kbps effective rate
Lebih besar panjang message, efisiensi lebih baik
namun, paket yang lebih besar kemungkinan mendapatkan
error lebih besar (kemungkinan lebih banyak memerlukan
retransmisi)  kapasitas terbuang 93
Throughput
 Definisi lebih akurat dari efisiensi
 Total jumlah bit informasi diterima per detik; dengan
mempertimbangkan:
 Bit-bit overhead (seperti pada efisiensi transmisi)
 Keperluan retransmisi paket mengandung error
 Kalkulasi kompleks; tergantung pada
 Efisiensi transmisi
 Laju error
 Jumlah retransmisi
 Transmission Rate of Information Bits (TRIB)
 Digunakan sebagai ukuran dari throughput
94
Ukuran paket Optimum
Trade-off antara ukuran paket dan throughput
(lebih mahal dalam hal kapasitas
circuit untuk retransmisi jika ada
error)
(kemungkinan mengandung error
kecil)
Rentang yang
dapat diterima
95
TRIB
= Jumlah bit info diterima / total waktu diperlukan untuk mendapatkan bit
(jumlah bit info) (Prob. Dari transmisi sukses)
waktu diperlukan untuk transmit bit-bit ini + delay propagasi
K (M – C) (1 – P)
(M / R) + T
Info bits per
character
Average number
of non-info
characters per
block
Probability that
a block will
require
retransmission
Time between blocks (in
seconds) (propagation
time + turnaround time)
(a.k.a., reclocking time)
Packet
length in
characters
Data
xmission
rate in char
per second
TRIB =
Ex:
K=7 bits/character
M = 400 char/block
R= 4.8 Kb/s
C = 10 char/block
P = 1%
T = 25 ms
7(400-10)(1-0.01)
(400/600)+0.025)
= 3.908 Kb/s
TRIB =
96
97
PEKERJAAN RUMAH
1. Baca Tanenbaum Chapter 3 dan 4.
2. Kerjakan soal Chapter 3 No: 2, 3, 5, 10, 15,
16, dan 17.
3. Tugas di email paling lambat …… jam 24:00
4. Format nama file : tugas-datalink-noreg-
nama.doc
5. Format subject email : tugas-datalink-
noreg-nama

More Related Content

PPTX
Komunikasi data kelompok 5
PPTX
ASYNCHRONOUS_DAN_SYNCHRONOUS.pptx
PPTX
Multiplexing dan Deteksi Kesalahan.pptx
PPT
referensi osi
DOCX
laporan komunikasi data standar
PDF
Review paper kelompok_12_jaringan_komputer
PPTX
OSI_LAYER ( Open SYSTEM INTERCONNECTION ).pptx
DOC
Layer 2 osi
Komunikasi data kelompok 5
ASYNCHRONOUS_DAN_SYNCHRONOUS.pptx
Multiplexing dan Deteksi Kesalahan.pptx
referensi osi
laporan komunikasi data standar
Review paper kelompok_12_jaringan_komputer
OSI_LAYER ( Open SYSTEM INTERCONNECTION ).pptx
Layer 2 osi

Similar to Data_Link_Layer_10.ppt kimia heheheheheh (20)

PPT
PDF
Modul 3 mac layer
PPTX
Kelompok 9
PPTX
Kelompok 9
PPTX
02. Protokol dan Arsitektur jaringan komputer.pptx
PDF
Transmisi_Data_and_Media_Transmisi.pdf
PPT
PDF
Komunikasi data
PDF
Komunikasi data
PDF
Data Link Layer
PPT
Pengantar Komunikasi Data
PDF
PPT
Presentasi
PPT
Kelompok 2
PPT
Kelompok 2
PPT
Transmisi Data.ppt
PPTX
presentasi pemahaman komunikasi data digital
PPTX
Jarkom
PPT
jaringan komputer (OSI)
PPTX
Uswatun Hasanah - Pengantar Komunikasi Data dan Jaringan Komputer
Modul 3 mac layer
Kelompok 9
Kelompok 9
02. Protokol dan Arsitektur jaringan komputer.pptx
Transmisi_Data_and_Media_Transmisi.pdf
Komunikasi data
Komunikasi data
Data Link Layer
Pengantar Komunikasi Data
Presentasi
Kelompok 2
Kelompok 2
Transmisi Data.ppt
presentasi pemahaman komunikasi data digital
Jarkom
jaringan komputer (OSI)
Uswatun Hasanah - Pengantar Komunikasi Data dan Jaringan Komputer
Ad

Recently uploaded (20)

DOCX
Modul Ajar Deep Learning Prakarya Budidaya Kelas 12 SMA Terbaru 2025
PPTX
Modul 4 Asesmen-dalam-Pembelajaran-Mendalam.pptx
PPT
SEJARAH kelas 12 SEMESTER SATU DAN DUA.ppt
PDF
ANALISIS SOALAN BAHASA MELAYU SPM 2021-2024 (1).pdf
PPTX
Materi-Geografi-Pendekatan-Konsep-dan-Prinsip-Geografi-Kelas-10.pptx
PPTX
BAB 1 Rangkuman Materi Informatika Kelas 7.pptx
PPTX
Pancasila: fondasi peradaban dan kebudayaan berkelanjutan
PPTX
1. Bahan Bacaan Pola Pikir Bertumbuh.pptx
DOCX
Modul Ajar Deep Learning Prakarya Kerajinan Kelas 12 SMA Terbaru 2025
DOCX
Modul Ajar Deep Learning PJOK Kelas 10 SMA Terbaru 2025
PPTX
Patuh_Terhadap_Norma_PPKn_Kelas_7 oke.pptx
PPTX
oioioooooooooooooo Penanganan P3K.pptx
PPTX
Saint Maximilian Kolbe, Polish friar, priest, missionary and martyr (indonesi...
PPTX
Manajemen Risiko dalam Kegiatan Kepramukaan.pptx
DOCX
Modul Ajar Deep Learning PKN Kelas 10 SMA Terbaru 2025
DOCX
Modul Ajar Deep Learning Bahasa Inggris Kelas 12 SMA Terbaru 2025
PPTX
Materi Besaran, Satuan, Pengukuran.pptx
PPTX
MATERI NARKOBA RTS badan anti narkoba.pptx
DOCX
Modul Ajar Deep Learning Biologi Kelas 10 SMA Terbaru 2025
DOCX
Modul Ajar Deep Learning PAI & BP Kelas 10 SMA Terbaru 2025
Modul Ajar Deep Learning Prakarya Budidaya Kelas 12 SMA Terbaru 2025
Modul 4 Asesmen-dalam-Pembelajaran-Mendalam.pptx
SEJARAH kelas 12 SEMESTER SATU DAN DUA.ppt
ANALISIS SOALAN BAHASA MELAYU SPM 2021-2024 (1).pdf
Materi-Geografi-Pendekatan-Konsep-dan-Prinsip-Geografi-Kelas-10.pptx
BAB 1 Rangkuman Materi Informatika Kelas 7.pptx
Pancasila: fondasi peradaban dan kebudayaan berkelanjutan
1. Bahan Bacaan Pola Pikir Bertumbuh.pptx
Modul Ajar Deep Learning Prakarya Kerajinan Kelas 12 SMA Terbaru 2025
Modul Ajar Deep Learning PJOK Kelas 10 SMA Terbaru 2025
Patuh_Terhadap_Norma_PPKn_Kelas_7 oke.pptx
oioioooooooooooooo Penanganan P3K.pptx
Saint Maximilian Kolbe, Polish friar, priest, missionary and martyr (indonesi...
Manajemen Risiko dalam Kegiatan Kepramukaan.pptx
Modul Ajar Deep Learning PKN Kelas 10 SMA Terbaru 2025
Modul Ajar Deep Learning Bahasa Inggris Kelas 12 SMA Terbaru 2025
Materi Besaran, Satuan, Pengukuran.pptx
MATERI NARKOBA RTS badan anti narkoba.pptx
Modul Ajar Deep Learning Biologi Kelas 10 SMA Terbaru 2025
Modul Ajar Deep Learning PAI & BP Kelas 10 SMA Terbaru 2025
Ad

Data_Link_Layer_10.ppt kimia heheheheheh

  • 1. Implementasi Data link layer dalam Jaringan Komputer Teknik Informatika Universitas Dian Nuswantoro November @2015
  • 2. Pendahuluan  Merupakan Layer 2 pada Model OSI  Bertujuan menyediakan koneksi antara dua komputer/host dengan menggunakan pengalamatan secara fisik/Hardware Addressing  Komunikasi hanya bisa terjadi jika kedua host/komputer yang berkomunikasi tahu alamat fisik masing-masing  Pengalamatan secara fisik biasa disebut MAC Address  MAC Address Diambilkan dari ID NIC masing- masing komputer 2
  • 3. Medium Access Control Address  MAC Address terdiri dari 48 bit tetapi biasanya ditulis dalam 12 bit Heksadesimal dengan ketentuan 6 bit sebagai kode pabrik yang ditentukan oleh IEEE dan 6 bit berikunya adalah nomor serial peralatan yang dikeluarkan oleh pabrik 3
  • 4. DATA LINK LAYER Terminologi:  host and router adalah simpul  Kanal komunikasi yang menghubungkan simpul yang berdekatan adalah link  wired link  wireless link  LAN  Data di encapsulate menjadi frame “link” data-link layer berfungsi mentransfer data dari satu simpul (node) ke simpul yang berdekatan melalui saluran (link) 4
  • 5. DATA LINK LAYER  Services Provided to the Network Layer  Framing  Error Control  Flow Control 5
  • 6. Layanan yang disediakan Data Link Layer bagi Network Layer  Data link layer dapat dirancang untuk memberikan salah satu dari jenis layanan (service) berikut:  Unacknowledged connectionless service.  Sesuai pada kondisi dengan error rate yang sangat rendah, juga pada aplikasi real time seperti voice.  Acknowledged connectionless service.  Sesuai pada kondisi channel yang kurang handal seperti wireless.  Acknowledged connection-oriented service.  Menjamin pengiriman data secara handal 6
  • 7. Services Provided to Network Layer (a) Virtual communication. (b) Actual communication. 7
  • 8. Prinsip dasar (1)  Masalah utama dalam komunikasi data di jaringan adlh realibility atau keandalan. Sinyal yang dikirim melalui medium tertentu dapat mengalami pelemahan, distorsi, keterbatasan bandwidth  Data yang dikirim dapat menjadi rusak, hilang, berubah  Tugas data link layer adalah menangani kerusakan dan hilangnya data antar 2 titik komunikasi yang terhubung oleh satu medium transmisi fisik 8
  • 9. Prinsip dasar (2)  A mengirim data ke B. Jalur antara A dan B tidak reliable, sehingga mungkin ada data yang rusak/hilang.  Bagaimana menjamin transmisi data A ke B tetap reliable? 9
  • 10. Prinsip dasar (3)  A tidak mengirim data yang panjang ke B. Data dibagi menjadi frame, sehingga kerusakan sebuah frame tidak merusak keseluruhan data.  Bagaimana B dapat mendeteksi bahwa frame yang dikirim A mengalami kerusakan?  A menambahkan error check bits ke frame, sehingga B dapat memeriksa frame dan menentukan apakah telah terjadi perubahan 10
  • 11. Prinsip dasar (4)  Bagaimana A mengetahui data yang dikirimnya telah diterima B?  B dapat mengirimkan ack/pemberitahuan jika data diterima dengan benar, dan nak/pemberitahuan data salah jika data rusak  A dapat mengirimkan ulang frame yang rusak 11
  • 12. Prinsip dasar (5)  Mengapa frame dapat hilang?  Bagian alamat/id/header mengalami kerusakan, sehingga frame tidak dikenali  Temporer disconnection  Apa yg terjadi jika frame dapat hilang?  B tidak mengetahui ada pengiriman dari A, sehingga tentunya juga tidak mengirimkan ack ke A.  B mengirimkan ack namun hilang di jalan. 12
  • 13. Prinsip dasar (6)  A harus memiliki timer, yang akan mengirim ulang jika tidak menerima kabar dari B  Jangka waktu timeout harus diatur.  Jika timeout terlalu cepat, A akan mengirimkan ulang sebelum ack dari B tiba.  Jika timeout terlalu lama, A akan menunggu terlalu lama jika ada frame yang hilang 13
  • 14. Prinsip dasar (7)  A mengirim frame 1  A mengalami timeout, dan mengirimkan ulang frame 1  A menerima ack, melanjutkan mengirim frame 2  A menerima ack kedua untuk frame 1, namun dianggap sebagai ack untuk frame 2 (error)  Untuk mencegah hal tersebut maka A harus memberikan frame number, sehingga B dapat memberikan ack spesifik untuk frame number tertentu 14
  • 15. Peran data link layer  Physical layer: mengkodekan data menjadi sinyal yang dikirim melalui medium transmisi  Data Link layer berfungsi menangani kesalahan transmisi, serta memberikan layanan ke network layer.  Untuk itu beberapa hal yang dilakukan oleh Data Link Layer adalah:  Framing  Flow control  Error control, error detection, error correction 15
  • 16. Framing Data Link melakukan framing untuk: Mengurangi kemungkinan error Menyesuaikan dengan kapasitas buffer penerima yang terbatas 16
  • 18. Arsitektur Link Layer  Sisi pengirim :  Mengencapsulasi datagram dalam frame  Menambah error checking bits, rdt, flow control, dsb.  Sisi penerima  Memeriksa error, rdt, flow control, dsb.  Mengekstrak datagram, mengirimkan ke node penerima sending node frame rcving node datagram frame adapter adapter link layer protocol 18
  • 19. Framing  Teknik framing: Character count Flag byte – byte stuffing Flag bits – bit stuffing 19
  • 20. Framing – character count A character stream. (a) Without errors. (b) With one error.  Setiap frame diawali dengan field yang menyatakan panjang frame  Jika field ini rusak, maka frame tidak dapat dikenali lagi 20
  • 21. Framing : flag byte  Awal dan akhir frame ditandai dengan byte(s) khusus  Byte penanda dapat merupakan simbol yang sama atau berbeda  Masalah: kode byte(s) yang digunakan dapat muncul di dalam data yang terkirim, sehingga dapat mengakibatkan kesalahan penentuan frame  Solusi: byte stuffing, mengganti byte serupa pada data dengan simbol lain 21
  • 22. Framing : flag byte (a) A frame delimited by flag bytes. (b) Four examples of byte sequences before and after stuffing. 22
  • 23. Framing : flag bits  Serupa dengan flag bytes, namun menggunakan bit  Lebih cocok untuk data biner  Misalnya ditentukan flag adalah: 01111110  Pada pengirim: setiap muncul 5 bit 1 berurutan, tambahkan bit 0  Pada penerima: jika menerima 5 bit 1 berurutan, maka:  Jika bit berikutnya 0: hapus  Jika bit berikutnya: 10: end-of-frame  Jika bit berikutnya: 11: error 23
  • 24. Framing : flag bits  Bit stuffing (a) The original data. (b) The data as they appear on the line. (c) The data as they are stored in receiver’s memory after destuffing. 24
  • 25. Error Control  Menangani error jaringan yang disebabkan masalah transmisi  Network errors  mis, perubahan nilai suatu bit saat transmisi  Dikendalikan oleh network hardware dan software  Human errors:  mis., kesalahan dlm pengetikan angka  Dikendalikan oleh program aplikasi  Kategori dari error jaringan  Data terkorupsi (perubahan data)  Data hilang 25
  • 26. Error Control (Cont.)  Laju Error (Error Rate)  Bit error rate (BER) menunjukan probabilitas bit terkena error. Harga tipikal BER = 10-9 untuk link electrik, dan 10-12 untuk link optik  1 bit error dalam n bit yang ditransmisikan. mis., 1 dalam 100,000  Bit Error rate (BER) = 10-5  Burst error  Banyak bit yang terkorupsi pada saat bersamaan  Error-error tidak terdistribusi secara uniform  Fungsi-fungsi utama  Mencegah error  Mendeteksi error  Mengkoreksi errors 26
  • 27. BER vs PER Contoh: Asumsi BER dan error independen, Packet Error Rate = PER = 1 – (1 – BER)N PER ~= N (BER) if N (BER) << 1 mis. N = 104, BER = 10-7 => PER = 10-3 D ACK H H 27
  • 28. Sumber-Sumber Error  Noise saluran dan distorsi – penyebab utama  Lebih mungkin pd media elektrik  Sinyal elektrik yang tidak diinginkan  Disebabkan gangguan peralatan dan alam  Menurunkan performansi suatu circuit  Tanda-tanda  Bit-bit extra  Bit-bit berubah (“flipped” bits)  Bit-bit hilang 28
  • 29. Sumber Error dan Pencegahan Source of Error What causes it How to prevent it Line Outages Faulty equipment, Storms, Accidents (circuit fails) White Noise (Gaussian Noise) Movement of electrons (thermal energy) Increase signal strength (increase SNR) Impulse Noise (Spikes) Sudden increases in electricity (e.g., lightning, power surges) Shield or move the wires Cross-talk Multiplexer guard bands are too small or wires too close together Increase the guard bands, or move or shield the wires Echo Poor connections (causing signal to be reflected back to the source) Fix the connections, or tune equipment Attenuation Gradual decrease in signal over distance (weakening of a signal) Use repeaters or amplifiers Intermodulation Noise Signals from several circuits combine Move or shield the wires Jitter Analog signals change (small changes in amp., freq., and phase) Tune equipment Harmonic Distortion Amplifier changes phase (does not correctly amplify its input signal) Tune equipment mostly on analog More important 29
  • 30. Deteksi Error Mathematical calculations ? = Mathematical calculations Data yg akan ditransmisikan Pengirim mengkalkulasi Error Detection Value (EDV) dan mentransmisikan bersama data Penerima kalkulasi ulang EDV dan bandingkan dengan EDV yang diterima – Jika sama  tidak ada error saat transmisi – Jika berbeda  Terjadi error saat transmisi EDV Makin besar ukuran, makin baik deteksi error (tetapi efisiensi lebih rendah) 30
  • 31. Error Detection and Correction  Umumnya penanganan error transmisi dilakukan pada data link layer. Error control dapat pula dilakukan pada layer lain (biasanya higher layer)  Error dapat dideteksi dan dikoreksi dengan menggunakan data tambahan / redundant pada setiap pengiriman data 31
  • 32. Teknik Deteksi dan Koreksi Error  Parity checks  Longitudinal Redundancy Checking (LRC)  Hamming Code  Polynomial checking  Checksum  Cyclic Redundancy Check (CRC) 32
  • 33. Error Detection and Correction  Jenis error:  Single bit error: hanya sebuah bit yang berubah. Disebabkan oleh white noise  Burst error: sederetan bit-bit mengalami error. Disebabkan oleh impulse noise  Makin tinggi data rate, makin besar efeknya 33
  • 34. Error Detection and Correction  Ada 2 teknik yang digunakan:  Error - Detecting Codes  Error - Correcting Codes  Error correcting codes memerlukan data redundant lebih besar dibandingkan dengan error detecting codes 34
  • 35. Koreksi Error  Begitu terdeteksi, error harus dikoreksi  Teknik Koreksi Error  Retransmisi (Backward error correction)  Sederhana, efektif, murah, umum digunakan  Dikoreksi dengan retransmisi data  Penerima, jika mendeteksi error, meminta pengirim untuk retransmit message  Sering disebut Automatic Repeat Request (ARQ)  Forward Error Correction  Peralatan penerima dapat mengkoreksi sendiri messages yang datang 35
  • 36. Forward Error Correction (FEC)  Peralatan penerima dapat mengkoreksi sendiri message yang datang (tanpa retransmisi)  Perlu informasi ekstra untuk koreksi  Kirim bersama dengan data  Memungkinkan data untuk di-check dan dikoreksi oleh penerima  Jumlah informasi extra : biasanya 50-100% dari data  Berguna untuk transmisi satelit  Transmisi satu arah (retransmisi tidak dimungkinkan)  Waktu transmisi sangat panjang (retransmisi akan memakan waktu lama)  Biaya FEC tdk signifikan (dibandingkan biaya total peralatan) 36
  • 37. Contoh Penggunaan Parity Bit sender receiver 01101010 EVEN parity parity Operator : XOR Untuk dikirimkan: huruf V pd 7-bit ASCII: 0110101 sender receiver 01101011 ODD parity parity Operator : ~XOR 37
  • 38. Parity Checking  Satu yang paling tua dan paling sederhana  Satu bit ditambahkan pada tiap karakter  Even parity: penambahan 1 bit parity  jumlah bit 1 genap (even)  Odd parity : penambahan 1 bit parity  jumlah bit 1 ganjil (odd)  Sisi penerima kalkulasi ulang parity bit  Jika satu bit mengalami error transmisi jumlah bit 1 tdk sesuai dengan parity yang digunakan (genap identik dengan 0 dan ganjil identik dengan 1)  Sederhana, tetapi tidak dapat mendeteksi semua error  Jika dua (atau sejumlah genap) bit mengalami error, parity check tampak benar  Mendeteksi sekitar 50% dari error  Jika terjadi kesalahan maka data harus dikirim ulang  Keuntungannya, hanya menggunakan satu bit tunggal untuk check bit dan membutuhkan hanya satu gate XOR untuk mengenerate 38
  • 39. KODE DENGAN PENDETEKSI KESALAHAN Desimal BCD Dengan paritas genap Dengan paritas gasal 0 0000 0000 0 0000 1 1 0001 0001 1 0001 0 2 0010 0010 1 0010 0 3 0011 0011 0 0011 1 4 0100 0100 1 0100 0 5 0101 0101 0 0101 1 6 0110 0110 0 0110 1 7 0111 0111 1 0111 0 8 1000 1000 1 1000 0 9 1001 1001 0 1001 1 39
  • 40. Error detection: parity bit  Contoh : mengirimkan nilai 4-bit yaitu 1001 dengan bit paritas disisi kanan, tanda ^ menyatakan gate XOR  Transmisi pengiriman menggunakan paritas genap :  A wants to transmit: 1001  A computes parity bit value: 1^0^0^1 = 0  A adds parity bit and sends: 10010  B receives: 10010  B computes parity: 1^0^0^1^0 = 0  B reports correct transmission after observing expected even result. 40
  • 41. Error detection: parity bit  Transmisi pengiriman menggunakan paritas ganjil :  A wants to transmit: 1001  A computes parity bit value: ~(1^0^0^1) = 1  A adds parity bit and sends: 10011  B receives: 10011  B computes overall parity: 1^0^0^1^1 = 1  B reports correct transmission after observing expected odd result.  Transmisi pengiriman menggunakan paritas genap :  A wants to transmit: 1001  A computes parity bit value: 1^0^0^1 = 0  A adds parity bit and sends: 10010 *** TRANSMISSION ERROR ***  B receives: 11010  B computes overall parity: 1^1^0^1^0 = 1  B reports incorrect transmission after observing unexpected odd result. 41
  • 42. Error detection: parity bit  B menghitung paritas ganjil yang mengindikasikan error, disini yang terjadi error pada bit paritasnya :  A wants to transmit: 1001  A computes even parity value: 1^0^0^1 = 0  A sends: 10010 *** TRANSMISSION ERROR ***  B receives: 10011  B computes overall parity: 1^0^0^1^1 = 1  B reports incorrect transmission after observing unexpected odd result.  Bit paritas hanya menjamin deteksi jumlah ganjil pada bit error. Jika jumlah genap mempunyai error, bit paritas mencatat hasil yang benar padahal datanya corrupt.  A wants to transmit: 1001  A computes even parity value: 1^0^0^1 = 0  A sends: 10010 *** TRANSMISSION ERROR ***  B receives: 11011  B computes overall parity: 1^1^0^1^1 = 0  B reports correct transmission though actually incorrect. 42
  • 43. LRC - Longitudinal Redundancy Checking  Tambahkan karakter tambahan (bukan satu bit)  Block Check Character (BCC) pada tiap blok data  Ditentukan seperti parity, tetapi menghitung secara longitudinal pada pesan (dan juga secara vertikal)  Kalkulasi berdasarkan pd bit ke-1, ke-2 dst (dari semua karakter) pd blok  Bit ke-1 dari BCC  jumlah 1 pada bit ke-1 dari karakter  Bit ke-2 dari BCC  jumlah 1 pada bit ke-2 dari karakter  Perbaikan signifikan dibandingkan parity checking  98% laju deteksi error utk burst errors ( > 10 bit)  Mampu mengoreksi error sebuah bit  Mampu mengoreksi error sebuah drive yang rusak (dalam RAID) 43
  • 44. Parity Checking Single Bit Parity: Detect single bit errors Two Dimensional Bit Parity: Detect and correct single bit errors 0 0 Contoh : Menggunakan paritas genap 44
  • 45. Penggunaan LRC Utk Deteksi Error Letter D A T A Cat. parity bit BCC juga ditentukan dg parity BCC 1 1 0 1 1 1 1 1 Parity bit 1 1 0 1 Contoh: kirim pesan “DATA” dg ODD parity dan LRC ASCII 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 1 0 1 0 0 1 0 0 0 0 0 1 Arah pentransmisian bit 45
  • 46. Penggunaan LRC Utk Deteksi Error Letter D C T A Paritas error BCC 1 1 0 1 1 1 1 1 Parity bit 1 1 0 1 Contoh: kirim pesan “DATA” dg ODD parity dan LRC Yang diterima seperti pada gambar ASCII 1 0 0 0 1 0 0 1 0 0 0 0 1 1 1 0 1 0 1 0 0 1 0 0 0 0 0 1 Koreksi dilakukan dengan menginversi bit 0 menjadi 1 atau 1 menjadi 0 pada posisi bit yang baris dan kolomnya dinyatakan error Paritas error Bagaimana jika ada 2 bit yang error pada data 2 ? 46
  • 47. Penggunaan LRC Utk Deteksi Error Koreksi dilakukan dengan megoperasi drive yang lain dengan BCC sehingga drive 2 (rusak) bisa dikembalikan data aslinya) RAID Paritas juga digunakan dalam beberapa level RAID untuk mendapatkan redundansi. Jika dalam salah satu drive array rusak, data tersebut masih dapat dikembalikan dengan mengombinasikan data paritas (dengan operator logika XOR) untuk mengembalikan data yang rusak. ASCII 1 0 0 0 1 0 0 1 1 0 0 0 0 0 1 1 1 0 1 0 1 0 0 0 1 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 Drive 1 2 3 4 BCC Rusak !!! ASCII 1 0 0 0 1 0 0 1 1 0 1 0 1 0 0 0 1 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 1 1 Drive 1 3 4 BCC 2 47
  • 48. Hamming Code  Hamming code dapat digunakan untuk melakukan error correction.  Codeword (berukuran n-bit) merupakan gabungan data berukuran m-bit dan redundant check bits berukuran r-bit, (n=m+r).  Hamming distance:Jumlah bit yang berbeda antara dua buah codeword (gunakan XOR):  1110 dan 1111 memiliki 1 bit yang berbeda: d=1  1010 dan 1100 memiliki 2 bit yang berbeda: d=2 48
  • 50. KODE HAMMING (DETEKSI DAN KOREKSI KESALAHAN) Data: 0 1 1 0 (6) d3d2d1d0 Posisi : 1 2 3 4 5 6 7 p1 p2 d3 p4 d2 d1 d0 p1 p2 0 p4 1 1 0 p1 bertanggung jawab pada posisi: 1,3,5,7 p2 bertanggung jawab pada posisi: 2,3,6,7 p4 bertanggung jawab pada posisi: 4,5,6,7 p1 : p1  0  1  0 = genap  p1 = 1 p2 : p2  0  1  0 = genap  p2 = 1 p4 : p4  1  1  0 = genap  p4 = 0 Kode Hamming: 1 1 0 0 1 1 0 Menggunakan paritas genap : saat pendeteksian, hasil operasi XOR harus 0 (genap) 50
  • 51. MISAL KODE HAMMING PARITAS GENAP DARI BCD ADALAH 1 1 1 0 1 1 0 , BERAPA NILAI BCD TSB? Posisi : 1 2 3 4 5 6 7 p1 p2 d3 p4 d2 d1 d0 1 1 1 0 1 1 0 p1 : 1 + 1 + 1 + 0 = ganjil  salah p2 : 1 + 1 + 1 + 0 = ganjil  salah p4 : 0 + 1 + 1 + 0 = genap  benar Yang benar: 1 1 0 0 1 1 0 Data : 0110 (6) Bit yang salah adalah posisi: 3 ???? 51
  • 52. Hamming Code – Contoh FEC 52 Kalkulasi tiga parity bit EVEN dari data Jika satu bit (parity atau data) berubah  perubahan pd bit data dp dideteksi & dikoreksi Only works for one bit errors Hanya bekerja utk satu bit error
  • 53. Use of a Hamming code to correct burst errors. 53
  • 54. Polynomial Checking  Tambahkan 1 atau lebih karakter pd akhir pesan (berdasarkan algoritma matematik)  Dua tipe: Checksum dan CRC  Checksum  Kalkulasi dengan menambahkan nilai desimal dari tiap karakter pd pesan  Bagi total dengan 255 dan  Simpan sisanya (nilai 1 byte) dan gunakan ini sbg checksum  95% efektif  Cyclic Redundancy Check (CRC)  Dihitung dg kalkukasi sisa ke problem pembagian 54
  • 55. Error detection: CRC  Cyclic redundancy check (CRC) adalah method yang umum digunakan untuk mendeteksi error  CRC beroperasi pada sebuah frame/block. Setiap block data (berukuran m bit  m=M(x)+R(x)) yang akan dikirim akan terlebih dahulu dihitung CRC checksumnya (berukuran R bit dari standart).  M(x) = pesan yang dikirim. G(x) = generator polynomial. R=jumlah bit CRC yang digunakan (mengikuti standart)  Kalikan D dengan 2R  Lakukan pembagian modulo 2 dengan G(x) untuk mendapatkan sisa R(x)  Kemudian M(x)+R(x) sumnya akan dikirim sebagai frame (dengan ukuran m bit).  Pada sisi penerima, CRC checksum akan dihitung kembali berdasarkan pada frame yang diterima, dan dibandingkan dengan checksum yang dikirimkan. Jika hasil baginya tidak 0, berarti frame telah rusak.  CRC menggunakan prinsip modulo bilangan 2. 55
  • 56. Modulo arithmetic  Operasi penambahan dan pengurangan = XOR 56
  • 57. Standart CRC Internasional Name Polynomial Representations: normal / reversed / reverse of reciprocal CRC-1 x + 1 (most hardware; also known as parity bit) 0x1 / 0x1 / 0x1 CRC-4-ITU x4 + x + 1 (ITU-T G.704, p. 12) 0x3 / 0xC / 0x9 CRC-5-EPC x5 + x3 + 1 (Gen 2 RFID) 0x09 / 0x12 / 0x14 CRC-5-ITU x5 + x4 + x2 + 1 (ITU-T G.704, p. 9) 0x15 / 0x15 / 0x1A CRC-5-USB x5 + x2 + 1 (USB token packets) 0x05 / 0x14 / 0x12 CRC-6-ITU x6 + x + 1 (ITU-T G.704, p. 3) 0x03 / 0x30 / 0x21 CRC-7 x7 + x3 + 1 (telecom systems, ITU-T G.707, ITU-T G.832, MMC, SD) 0x09 / 0x48 / 0x44 CRC-8-CCITT x8 + x2 + x + 1 (ATM HEC), ISDN Header Error Control and Cell Delineation ITU-T I.432.1 (02/99) 0x07 / 0xE0 / 0x83 CRC-8- Dallas/Maxim x8 + x5 + x4 + 1 (1-Wire bus) 0x31 / 0x8C / 0x98 CRC-8 x8 + x7 + x6 + x4 + x2 + 1 0xD5 / 0xAB / 0xEA CRC-8-SAE J1850 x8 + x4 + x3 + x2 + 1 0x1D / 0xB8 / 0x8E CRC-8-WCDMA x8 + x7 + x4 + x3 + x + 1 0x9B / 0xD9 / 0xCD CRC-10 x10 + x9 + x5 + x4 + x + 1 (ATM; ITU-T I.610) 0x233 / 0x331 / 0x319 CRC-11 x11 + x9 + x8 + x7 + x2 + 1 (FlexRay) 0x385 / 0x50E / 0x5C2 CRC-12 x12 + x11 + x3 + x2 + x + 1 (telecom systems) 0x80F / 0xF01 / 0xC07 CRC-15-CAN x15 + x14 + x10 + x8 + x7 + x4 + x3 + 1 0x4599 / 0x4CD1 / 0x62CC 57
  • 58. Standart CRC Internasional Name Polynomial Representations: normal / reversed / reverse of reciprocal CRC-16-IBM x16 + x15 + x2 + 1 (Bisync, Modbus, USB, ANSI X3.28, many others; also known as CRC-16 and CRC-16-ANSI) 0x8005 / 0xA001 / 0xC002 CRC-16-CCITT x16 + x12 + x5 + 1 (X.25, V.41, HDLC, XMODEM, Bluetooth, SD, many others; known as CRC- CCITT) 0x1021 / 0x8408 / 0x8810[8] CRC-16-T10-DIF x16 + x15 + x11 + x9 + x8 + x7 + x5 + x4 + x2 + x + 1 (SCSI DIF) 0x8BB7[20] / 0xEDD1 / 0xC5DB CRC-16-DNP x16 + x13 + x12 + x11 + x10 + x8 + x6 + x5 + x2 + 1 (DNP, IEC 870, M-Bus) 0x3D65 / 0xA6BC / 0x9EB2 CRC-16-DECT x16 + x10 + x8 + x7 + x3 + 1 (cordless telephones) 0x0589 / 0x91A0 / 0x82C4 CRC-16-Fletcher Not a CRC; see Fletcher's checksum Used in Adler-32 A & B CRCs CRC-24 x24 + x22 + x20 + x19 + x18 + x16 + x14 + x13 + x11 + x10 + x8 + x7 + x6 + x3 + x + 1 (FlexRay) 0x5D6DCB / 0xD3B6BA / 0xAEB6E5 CRC-24-Radix-64 x24 + x23 + x18 + x17 + x14 + x11 + x10 + x7 + x6 + x5 + x4 + x3 + x + 1 (OpenPGP) 0x864CFB / 0xDF3261 / 0xC3267D CRC-30 x30 + x29 + x21 + x20 + x15 + x13 + x12 + x11 + x8 + x7 + x6 + x2 + x + 1 (CDMA) 0x2030B9C7 / 0x38E74301 / 0x30185CE3 CRC-32-Adler Not a CRC; see Adler-32 See Adler-32 CRC-32-IEEE 802.3 x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1 (V.42, Ethernet, SATA, MPEG-2, PNG,[22] POSIX cksum) 0x04C11DB7 / 0xEDB88320 / 0x82608EDB CRC-32C (Castagnoli) x32 + x28 + x27 + x26 + x25 + x23 + x22 + x20 + x19 + x18 + x14 + x13 + x11 + x10 + x9 + x8 + x6 + 1 (iSCSI & SCTP, G.hn payload, SSE4.2) 0x1EDC6F41 / 0x82F63B78 / 0x8F6E37A0 CRC-32K (Koopman) x32 + x30 + x29 + x28 + x26 + x20 + x19 + x17 + x16 + x15 + x11 + x10 + x7 + x6 + x4 + x2 + x + 1 0x741B8CD7 / 0xEB31D82E / 0xBA0DC66B[11] CRC-32Q x32 + x31 + x24 + x22 + x16 + x14 + x8 + x7 + x5 + x3 + x + 1 (aviation; AIXM) 0x814141AB / 0xD5828281 / 0xC0A0A0D5 CRC-40-GSM x40 + x26 + x23 + x17 + x3 + 1 (GSM control channel) 0x0004820009 / 0x9000412000 / 0x8002410004 CRC-64-ISO x64 + x4 + x3 + x + 1 (HDLC — ISO 3309, Swiss-Prot/TrEMBL; considered weak for hashing) 0x000000000000001B / 0xD800000000000000 / 0x800000000000000D CRC-64-ECMA-182 x64 + x62 + x57 + x55 + x54 + x53 + x52 + x47 + x46 + x45 + x40 + x39 + x38 + x37 + x35 + x33 + x32 + x31 + x29 + x27 + x24 + x23 + x22 + x21 + x19 + x17 + x13 + x12 + x10 + x9 + x7 + x4 + x + 1 (as described in ECMA-182 p. 51) 0x42F0E1EBA9EA3693 / 0xC96C5795D7870F42 / 0xA17870F5D4F51B49 58
  • 59. CRC Contoh:  Akan mengirim karakter “W”  Dalam desimal 8710  Biner : M(x) = x6 + x4 + x2 + x + 1 = 1010111  Generator menggunakan standart CRC-8- ATM (HEC) polynomial x8 + x2 + x + 1  Maka G(x) = 9-bit string "100000111".  R=8 (CRC 8bit)  Kalikan M(x) dengan 2R  M(x) * 28 = 101011100000000 Menentukan checksum: 1. Bagi M(x) dengan generator G(x) 2. Sisanya adalah checksum (10100010) 3. Tambahkan checksum ke data asal:  10100010 ke M(x)  Menjadi : 101011110100010 59
  • 60. CRC  Data dan checksum dikirimkan.  Pada sisi penerima, data dan checksum yang diterima dibagi dengan generator.  Jika sisanya 0, berarti tidak terjadi kesalahan  Jika sisanya bukan 0, berarti terjadi kesalahan  Misalnya M(x) yang diterima : 101001110100010  Sisa yang dihasilkan : 00011100  Pesan yang terima terjadi error. 60
  • 61. CRC  M(x) yang diterima : 101011110100010  Sisa yang dihasilkan : 00000000  Pesan yang diterima benar – Paling powerful dan paling umum – Deteksi 100% error, jika jum error ≤ ukuran R • Kalau tdk : CRC-16 (99.998%) dan CRC-32 (99.9999%) 61
  • 62. Flow control  Mengendalikan aliran transmisi data, sehingga pengirim tidak membanjiri penerima  Proses utk meminta data transmisi dikirim ulang (Automatic Repeat Request / ARQ)  Dapat dilakukan pada layer data link maupun layer di atasnya  Stop and wait protocol (Stop and wait ARQ)  Sender mengirimkan sebuah message dan menunggu acknowledgment, lalu kjrim message berikutnya  Receiver menerima message dan mengirimkan acknowledgement, dan menunggu message berikutnya  sliding window (Continuous ARQ)  Sender secara kontinyu mengirimkan paket tanpa menunggu acknowledge dari penerima  Receiver secara kontinyu menerima messages tanpa harus memberikan acknowledment dg segera 62
  • 63. Stop and Wait ARQ Kirim negative acknowledgement Kirim paket, lalu tunggu kabar dari receiver Kirim acknowledgement Kirim ulang paket Kirim paket berikutnya Sender Receiver 63
  • 64. Stop and Wait Protocol  Dengan stop and wait protocol utilisasi kanal akan rendah.  bit rate: jumlah bit yang dikirim setiap satuan waktu  transmission time: waktu yang diperlukan untuk mengirim sebuah frame.  Untuk frame dengan ukuran L, maka  transmission time (ttrans) = L / bit rate  transmission delay/latency/propagation (tprop): waktu yang diperlukan sebuah bit untuk mencapai tujuan 64
  • 65. Stop and Wait Protocol  Utilisasi kanal: 65
  • 66. Stop and Wait Protocol  Jika latency jauh lebih besar dari transmission time, maka utilisasinya akan sangat rendah.  Contoh:  Pada link antara stasiun bumi dan satelit dengan jarak 36000 km dengan data rate 1 Mbps.  t trans untuk frame berukuran 8000 bit : 8000/106 = 8ms  Tprop (latency) = 36000km/3X108=120ms  U = 8 / (8 + 2*120) = 0,032 66
  • 67. Continuous ARQ Perhatikan bahwa acknowledgments sekarang mengidentifikasi paket yang di- acknowledged  pengirim dapat mengirim hingga w (ukuran window) buah frame tanpa harus menerima konfirmasi terlebih dahulu  penerima harus memiliki buffer yang mampu menampung n buah frame  frame memiliki nomor identitas (sequence number)  ack menyatakan frame terakhir yang diterima sesuai urutan 67
  • 68. Sliding Window Protocol  utilisasi kanal:  jika w x t trans > 2 x tprop, maka dapat dicapai utilisasi 100% (pengirim dapat melakukan pengiriman frame secara kontinu) 68
  • 69. Sliding Window Protocol  Window pengirim:  Setiap mengirimkan frame baru, batas atas akan bergeser.  Setiap menerima ack, batas bawah akan digeser.  Pada unreliable link, frame-frame ini harus disimpan pada buffer pengirim  Window penerima: menyatakan frame yang dapat diterima. Setiap menerima frame pada batas bawah, window akan bergeser A sliding window of size 1, with a 3-bit sequence number. (a) Initially. (b) After the first frame has been sent. (c) After the first frame has been received. (d) After the first acknowledgement has been received. 69
  • 71. Go-Back-N  Allow up to N unACKed pkts in the network  N is the Window size  Sender Operation:  If window not full, transmit  ACKs are cumulative  On timeout, send all packets previously sent but not yet ACKed.  Uses a single timer – represents the oldest transmitted, but not yet ACKed pkt 71
  • 72. A Protocol Using Go Back N Pipelining and error recovery. Effect on an error when (a) Receiver’s window size is 1. (b) Receiver’s window size is large. 72
  • 73. Selective Repeat  Penerima memberitahu secara individu semua paket yang diterima dengan benar  Buffer paket, dibutuhkan untuk kejadian penerimaan paket layer diatasnya  Pengirim hanya mengirimkan paket yang belum ada ACK  Sender window  N memutus urutan #’s  Batas urutan #s yang terkirim, paket yang belum ACK 73
  • 74. Selective Repeat Example 0123 456789 PKT0 PKT1 PKT2 PKT3 ACK0 ACK1 ACK2 ACK3 0 1234 56789 PKT4 0 1234 56789 PKT1 ACK1 ACK4 01234 5678 9 0 1234 56789 01 2345 6789 01234 5678 9 Time-Out Sender Receiver 74
  • 75. Protokol Data Link  Klasifikasi  Asynchronous transmission  Synchronous transmission  Berbeda oleh  Message delineation  Frame length  Frame field structure frame k frame k+1 frame k-1 75
  • 76. Asynchronous Transmission Tiap karakter dikirim secara independen Kadang disebut start-stop transmission Kirim antara transmisi (deretan stop bits) Digunakan oleh receiver utk memisahkan karakter dan utk synch. Digunakan pada point-to-point full duplex circuits (digunakan oleh Telnet saat menghubungkan ke komputer Unix/Linux) 76
  • 77. Asynchronous File Transfer  Digunakan pada  Point-to-point asynchronous circuits  Biasanya melalui saluran telepon via modem  Komputer ke komputer untuk transfer file data  Karakteristik dari file transfer protocols  Dirancang untuk transmit error-free data  Kelompokkan data kedalam blocks untuk ditransmisikan (tidak dikirimkan character by character)  File transfer Protocols yang populer  Xmodem, Zmodem, dan Kermit 77
  • 78. File Transfer Protocols SOH Packet # Packet # compl. (128 bytes) Checksum Start of Header • satu dari async file transfer protocol paling tua • menggunakan stop-and-wait ARQ. • Xmodem-CRC: menggunakan 1 byte CRC (drpd checksum) • Xmodem-1K: Xmodem-CRC + message field 1024 byte Xmodem Zmodem Kermit • Menggunakan CRC-32 dg continuous ARQ • Pengaturan dinamis dari ukuran paket (tergantung circuit) • Sangat fleksibel, powerful dan popular • Biasanya menggunakan CRC-24 dan ukuran 1K, tetapi adjustable 78
  • 79. Synchronous Transmission  Data dikirim dalam satu blok yg besar  disebut frame atau paket  Biasanya sekitar seribu karakter (bytes)  Mencakup informasi addressing  Terutama berguna dalam multipoint circuits  Mencakup satu serie dari karakter-karakter synchronization (SYN)  Digunakan utk membantu receiver mengenali data yg datang  Kategori Synchronous transmission protocols  Bit-oriented protocols: SDLC, HDLC  Byte-count protocols: Ethernet  Byte-oriented protocols: PPP 79
  • 80. Byte-Oriented Protocol  STX - start of text  ETX - end of text  Masalah: bagaimana jika ETX muncul pada bagian data dari frame  Solusi:  Gunakan karakter khusus DLE (“Data Link Escape”) sebelumnya  Jika DLE muncul dalam text, gunakan DLE lainnya sebelumnya  Contoh-contoh protocol:  Bisync, PPP, DDCMP Text (Data) STX ETX 8 8 80
  • 81. Byte-Count Protocol  Sender: Menyisipkan panjang data (dalam byte) pada awal frame  Receiver: mengekstrak panjang ini dan menguranginya setiap satu byte dibaca, jika counter menjadi nol satu frame lengkap diproses  Contoh: Ethernet 81
  • 82. Bit-Oriented Protocol  Digunakan suatu flag: deretan bit tetap (pola tetap) untuk indikasi awal dan akhir suatu paket  Pola start sequence dan end sequence dapat sama, mis pd HDLC” ‘01111110’  Secara prinsip, sembarang deretan dp digunakan, tetapi kemunculan flag harus dicegah di dalam data  Protokol standard menggunakan deretan 8-bit 01111110 sbg satu flag  INVENTED ~ 1970 oleh IBM utk SDLC (synchronous data link protocol)  Data transparan  Krnnya 0111111 yang tidak boleh muncul di didalam data  Untuk mencegah pola start dan end sequence pada data digunakan ‘bit stuffing’ Text (Data) Start sequence 8 8 End sequence 82
  • 83. 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? 83
  • 84. Destuffing (Penerima)  Jika 11111 diikuti 0, buang 0 84
  • 85. SDLC – Synchronous Data Link Control Address tujuan(8 atau 16 bit) Identifikasi tipe frame: - Informasi (utk transfer data user) - Supervisory (utk error dan flow control) data CRC-32 Akhir (01111110) Awal (01111110) • Bit-oriented protocol dikembangkan IBM • Menggunakan controlled media access protocol 85
  • 86. Masalah Transparansi pd SDLC  Problem: Transparansi  Data user dapat berisi pola bit seperti flags (01111110)  Receiver dapat menginterpretasi sebagai akhir frame dan mengabaikan yang lainnya  Solusi: Bit stuffing (zero insertion)  Sender menyisipkan 0 jika mendeteksi 11111 (lima deretan 1)  Jika receiver melihat lima deretan 1, check bit-bit berikutnya  jika 0, hilangkan (stuffed bit)  jika10, akhir dari frame marker (01111110)  jika 11, error (tujuh deretan tdk mungkin dlm data)  Bekerja tetapi menambah kompleksitas 86
  • 87. HDLC – High-Level Data Link Control  Standar formal dikembangkan oleh ISO  Sama seperti SDLC, kecuali  Address dan field control lebih panjang  Ukuran sliding window lebih besar  Lainnya  Dasar bagi banyak Data Link Layer protocol lainnya  LAP-B (Link Accedes Protocol – Balanced)  Digunakan pada teknologi X.25  LAP-D (Link Accedes Protocol – Balanced)  Digunakan pada teknologi ISDN  LAP- F (digunakan pd teknologi Frame Relay) 87
  • 88. Ethernet (IEEE 802.3)  Protokol LAN paling luas digunakan, dikembangkan bersama oleh Digital, Intel, dan Xerox, sekarang sebagai standar IEEE  formal standard: IEEE 802.3ac  Menggunakan contention based media access control  Byte-count data link layer protocol  Tidak ada masalah transparency  Menggunakan sebuah field berisi jumlah bytes (bukan flags) untuk membatasi frames  Koreksi error: optional 88
  • 89. Frame Ethernet (IEEE 802.3) (jumlah byte pada field message) Pengulangan pola dari (1010101010) • Digunakan pd Virtual LANs; (jika tidak field ini diabaikan • Jika digunakan, 2 byte pertama di-set ke: 24.832 (8100H) Digunakan untuk pertukaran info kontrol (mis., tipe protokol network layer yang digunakan) Digunakan untuk no urut/sequence number, ACK/NAK, dll, (1 atau 2 byte) 00 01 10 11 89
  • 90. Point-to-Point Protocol (PPP) • Byte-oriented protocol dikembangkan awal 90’an • Umum digunakan pada saluran dial-up dari PC di rumah • Dirancang terutama untuk saluran. telepon point-to-point (dapat digunakan juga untuk saluran multipoint) (s/d 1500 byte) Menspesifikasikan protokol network layer yang digunakan (mis. IP, IPX) 90
  • 91. Data Link Protocol Summary Protocol Size Error Detection Retransmission Media Access Asynchronous Xmission 1 Parity Continuous ARQ Full Duplex File Transfer Protocols XMODEM 132 8-bit Checksum Stop-and-wait ARQ Controlled Access XMODEM-CRC 132 8-bit CRC Stop-and-wait ARQ Controlled Access XMODEM-1K 1028 8-bit CRC Stop-and-wait ARQ Controlled Access ZMODEM * 32-bit CRC Continuous ARQ Controlled Access KERMIT * 24-bit CRC Continuous ARQ Controlled Access Synchronous Protocols SDLC * 16-bit CRC Continuous ARQ Controlled Access HDLC * 16-bit CRC Continuous ARQ Controlled Access Token Ring * 32-bit CRC Stop-and wait ARQ Controlled Access Ethernet * 32-bit CRC Stop-and wait ARQ Contention SLIP * None None Full Duplex PPP * 16-bit CRC Continuous ARQ Full Duplex * Varies depending on message length. 91
  • 92. Efisiensi Transmisi  Tujuan suatu jaringan:  Memindahkan sebanyak mungkin bit dengan error minimum  efisiensi lebih tinggi biaya lebih rendah  Fator yg mempengaruhi efisiensi jaringan:  Karakteristik dari circuit (laju error/error rate, kecepatan/speed)  Kecepatan dari peralatan, Teknik Error control  Protocol yang digunakan  Bit-bit informasi (memuat informasi user)  Bit-bit Overhead (digunakan untuk error checking, pembatas frame, dll.) Total jumlah bit info ditransmisikan Total jumlah bit ditransmisikan = 92
  • 93. Efisiensi Transmisi dari Protocol Async Transmission: 7-bit ASCII (info bits), 1 parity bit, 1 stop bit, 1 start bit Efisiensi transmisi = 7 / 10  70% mis., V.92 modem dg 56 Kbps  laju efektif 39.2 Kbps SDLC Transmission Asumsi 100 karakter info (800 bit), 2 flag (16 bit) Address (8 bits), Control (8 bits), CRC (32 bits) Efisiensi transmisi = 800 / 64  92.6% mis., V.92 modem with 56 Kbps  51.9 Kbps effective rate Lebih besar panjang message, efisiensi lebih baik namun, paket yang lebih besar kemungkinan mendapatkan error lebih besar (kemungkinan lebih banyak memerlukan retransmisi)  kapasitas terbuang 93
  • 94. Throughput  Definisi lebih akurat dari efisiensi  Total jumlah bit informasi diterima per detik; dengan mempertimbangkan:  Bit-bit overhead (seperti pada efisiensi transmisi)  Keperluan retransmisi paket mengandung error  Kalkulasi kompleks; tergantung pada  Efisiensi transmisi  Laju error  Jumlah retransmisi  Transmission Rate of Information Bits (TRIB)  Digunakan sebagai ukuran dari throughput 94
  • 95. Ukuran paket Optimum Trade-off antara ukuran paket dan throughput (lebih mahal dalam hal kapasitas circuit untuk retransmisi jika ada error) (kemungkinan mengandung error kecil) Rentang yang dapat diterima 95
  • 96. TRIB = Jumlah bit info diterima / total waktu diperlukan untuk mendapatkan bit (jumlah bit info) (Prob. Dari transmisi sukses) waktu diperlukan untuk transmit bit-bit ini + delay propagasi K (M – C) (1 – P) (M / R) + T Info bits per character Average number of non-info characters per block Probability that a block will require retransmission Time between blocks (in seconds) (propagation time + turnaround time) (a.k.a., reclocking time) Packet length in characters Data xmission rate in char per second TRIB = Ex: K=7 bits/character M = 400 char/block R= 4.8 Kb/s C = 10 char/block P = 1% T = 25 ms 7(400-10)(1-0.01) (400/600)+0.025) = 3.908 Kb/s TRIB = 96
  • 97. 97 PEKERJAAN RUMAH 1. Baca Tanenbaum Chapter 3 dan 4. 2. Kerjakan soal Chapter 3 No: 2, 3, 5, 10, 15, 16, dan 17. 3. Tugas di email paling lambat …… jam 24:00 4. Format nama file : tugas-datalink-noreg- nama.doc 5. Format subject email : tugas-datalink- noreg-nama