Anda di halaman 1dari 56

DATA LINK LAYER

Hendrawan
hend@stei.itb.ac.id

Outline

Media Access Control

Error Control

Sumber Error, Pencegahan Error, Deteksi Error, Koreksi Error dg


Retransmission, Forward Error Correction

Data Link Protocols

Controlled Access, Contention, Performansi relatif

Asynchronous Transmission, Asynchronous File Transfer


Protocols, Synchronous Transmission

Efisiensi Transmisi

Data Link Layer - Pendahuluan

Bertanggung jawab utk memindahkan pesan (message)


dari satu device (komputer) ke device berikutnya
Bertanggung jawab utk transmisi yg handal dari paket
melalui suatu link
Network Layer
Data Link Layer
Physical Layer

Data Link Layer

Fungsi-fungsi yang diperlukan pada data link layer

Framing

Error control

Flow control

Asumsi data link wirelike

Saluran komunikasi point-to-point

Koneksi pd jaringan dimana message mengikuti lintasan yg sama

Utk jaringan broadcast isue utama kontrol access ke kanal, DLL


dibagi kedalam 2 sublayer:

Media Access Control (MAC) sub-layer

Logical Link Control (LLC): IEEE 802.2

Standar data link control ISO: High-level Data Link Control (HDLC)

Sub-Layer Data Link Layer

Medium access control (MAC): bertanggung jawab thd


akses kontrol ke shared medium. Bbrp protocol MAC yg
umum: CSMA/CD, Token Ring dan Token Bus
Logical Link Control (LLC): mediasi antara network layer
protocol dan macam-macam MAC protocols
DLL PDUs
LLC

LLC

Frames

Frames
MAC

Physical

Bits
Signals

LLC

MAC

MAC

Physical

Physical

Media Access Control (MAC)

Mengendalikan kapan dan komputer mana transmit

Penting saat lebih dari satu komputer ingin kirim data (pd waktu
bersamaan melalui circuit yg sama); mis.,
Link half duplex point-to-point

Konfigurasi Multipoint

Komputer mendapat giliran


Menjamin tdk ada dua komputer berusaha utk transmit data pd
waktu bersamaan

Pendekatan utama

Controlled access
Contention based access

Controlled Access

Pengendalian akses ke penggunaan bersama


sumberdaya

Umumnya digunakan pd mainframes

Menentukan client mana yg mempunyai akses ke


mainframe pd suatu waktu

Juga digunakan pd protokol LAN

Bertindak spt lampu lalu lintas

Token ring, FDDI

Metoda controlled access utama

X-ON/X-OFF dan
Polling

X-ON / X-OFF
B

A
Protokol controlled
access yg lama

Request to Transmit
X-ON

not busy

X-OFF

busy

transmitting data
data
Pausing
(periodically done)

X-ON

transmitting
Masih digunakan antara
komputer dan printer

data
data

Masih digunakan pd bbrp circuit half duplex circuit, mulai langka

not busy

Polling

Client ransmit jika diminta dan/atau diijinkan

Client menyimpan informasi yg akan ditransmisikan


Server (secara periodik) tanya (poll) ke client apakah punya data
utk dikirimkan
Client, jika punya data, kirim data
Jika tidak ada data utk dikirim, client merespon secara negative,
dan server menanyakan client berikutnya

Tipe-tipe polling

Roll call polling


Hub polling (juga disebut token passing)

Roll Call Polling


Periksa tiap client
(secara berurutan dan
secara periodik) utk
melihat apakah ingin
transmit: A, B, C, D, E,
A, B,

Clients

C
E
B
Server

Client juga dp mempunyai


prioritas shg ditanya (di-poll)
lebih sering:
A, B, A, C, A, D, A, E, A, B, ..

Ada waktu tunggu: Poll and wait


utk suatu respon

Perlu suatu timer utk mencegah


lock-up (oleh client yg tdk
menjawab)

Hub Polling (Token Passing)


Satu komputer yg
memegang
memulai poll:
Kirim data (jika
ada) lalu
Meneruskan
token ke
komputer
berikutnya

A
C

token

Kontinyu secara berurutan


sampai token mencapai
komputer pertama lagi, mulai
mengulang siklus polling dan
seterusnya

Contention

Transmit jika circuit bebas


Tabrakan (collisions)
Terjadi

jika lebih dari satu komputer transmit pd


saat bersamaan
Perlu menentukan komputer mana yg dibolehkan
utk transmit pertama setelah terjadi tabrakan

Umum digunakan pada Ethernet LAN

Performansi Relatif
Tergantung pd kondisi jaringan

Jika vol. tinggi,


performansi
menurun (terlalu
banyak collisions)

Bekerja lebih baik utk


jar dg volume tarfik
tinggi

Bekerja lebih baik utk


jar lebih kecil dg
penggunaan rendah

Cross-over
point: sekitar
20 komputer

Network lebih
efisien digunakan

Kontrol Error

Menangani error jaringan yg disebabkan masalah


transmisi

Network errors

Human errors:

mis, perubahan nilai suatu bit saat transmisi


Dikendalikan oleh network hardware dan software
mis., kesalahan dlm pengetikan angka
Dikendalikan oleh program aplikasi

Kategori dari error jaringan

Data terkorupsi (perubahan data)


Data hilang

Kontrol Error (Cont.)

Laju Error (Error Rate)

Burst error

Bit error rate (BER) menunjukan probabilitas bit terkena error.


Harga tipikal BER = 10-9 utk link electrik, dan 10-12 untuk link
optik
1 bit error dlm n bit yg ditransmisikan. mis., 1 dlm 100,000 Bit
Error rate (BER) = 10-5
Banyak bit yg terkorupsi pd saat bersamaan
Error-error tdk terdistribusi secara uniform

Fungsi-fungsi utama

Mencegah error
Mendeteksi error
Mengkoreksi errors

BER vs PER
D

H ACK

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

Sumber-Sumber Error

Noise saluran dan distorsi penyebab utama

Lebih mungkin pd media elektrik


Sinyal elektrik yg tdk diinginkan
Disebabkan gangguan peralatan dan alam
Menurunkan performansi suatu circuit

Tanda-tanda

Bit-bit extra
Bit-bit berubah (flipped bits)
Bit-bit hilang

Sumber Error dan Pencegahan


Source of Error

What causes it

How to prevent it

More important
mostly on analog

Line Outages

Faulty equipment, Storms,


Accidents (circuit fails)

White Noise
(Gaussian Noise)

Movement of electrons (thermal


energy)

Increase signal strength


(increase SNR)

Impulse Noise

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)

Intermodulation
Noise

Signals from several circuits


combine

Use repeaters or
amplifiers
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

(Spikes)

Deteksi Error
Pengirim mengkalkulasi
Error Detection Value (EDV)
dan mentransmisikan
bersama data

Mathematical
calculations

Penerima kalkulasi ulang


EDV dan bandingkan dg
EDV yg diterima

Mathematical
calculations
?
=

Data yg akan
ditransmisikan

EDV

Makin besar ukuran,


makin baik deteksi error
(tetapi efisiensi lebih
rendah)

Jika sama tdk ada error


saat transmisi
Jika berbeda Terjadi
error saat transmisi

Teknik Deteksi Error

Parity checks
Longitudinal Redundancy Checking (LRC)
Polynomial checking
Checksum
Cyclic Redundancy Check (CRC)

Parity Checking

Satu yg paling tua dan paling sederhana


Satu bit ditambahkan pd tiap karakter

Sisi penerima kalkulasi ulang parity bit

Even parity: penambahan 1 bit parity jumlah bit 1 genap


(even)
Odd parity : penambahan 1 bit parity jumlah bit 1 ganjil (odd)
Jika satu bit mengalami error transmisi jumlah bit 1 tdk sesuai dg
parity yg digunakan

Sederhana, tetapi tdk dp mendeteksi semua error

Jika dua (atau sejumlah genap) bit mengalami error, parity check
tampak benar
Mendeteksi sekitar 50% dari error

Contoh Penggunaan Parity


Utk dikirimkan: huruf V pd 7-bit ASCII: 0110101
EVEN parity

sender

receiver
01101010

Jum semua 1
ditransmisikan EVEN

ODD parity

parity

sender

Jum semua 1
ditransmisikan ODD

receiver
01101011

parity

LRC - Longitudinal Redundancy Checking

Tambahkan karakter tambahan (bukan satu bit)

Block Check Character (BCC) pd tiap blok data


Ditentukan spt parity, tetapi menghitung secara longitudinal pd
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)


Kurang mampu deteksi single bit errors

Penggunaan LRC Utk Deteksi


Error
Contoh:
kirim pesan DATA dg ODD parity dan LRC

Letter
ASCII
Parity bit
D 10001001
A 10000011
T 10101000
A 10000011
BCC 1 1 0 1 1 1 1 1

Cat. parity bit BCC juga


ditentukan dg parity

Polynomial Checking

Tambahkan 1 atau lebih karakter pd akhir pesan


(berdasarkan algoritma matematik)
Dua tipe: Checksum dan CRC
Checksum

Kalkulasi dg menambahkan nilai desimal dari tiap karakter pd


pesan
Bagi total dg255 dan
Simpan sisanya (nilai 1 byte) dan gunakan ini sbg checksum
95% efektif

Cyclic Redundancy Check (CRC)

Dihitung dg kalkukasi sisa ke problem pembagian

Cyclic Redundancy Check


(CRC)
P/G=Q+R/G
Message
(dianggap sbg
bil. biner yg
panjang)

Contoh:
P = 58
G=8
Q=7
R =2

Quotient
Remainder:
(keseluruhan Ditambahkan ke
bil.)
message sbg EDV
Dp 8 bit, 16 bit, 24 bit,
Sebuah bil tetap
atau 32 bit
(menentukan
panjang R)
Hanya ilsutrasi aktualnya

Paling powerful dan paling umum

lebih kompleks krn


menggunakan
pembagian polynomial
bukan pembagian biasa

Deteksi 100% error, jika jum error ukuran R


Kalau tdk: CRC-16 (99.998%) dan CRC-32 (99.9999%)

Koreksi Error

Begitu terdeteksi, error harus dikoreksi


Teknik Koreksi Error

Retransmisi (Backward error correction)


Sederhana, efektif, murah, umum digunakan
Dikoreksi dg retransmisi data

Sering disebut Automatic Repeat Request (ARQ)


Forward Error Correction
Peralatan penerima dapat mengkoreksi sendiri messages yg
datang

Penerima, jika mendeteksi error, meminta pengirim utk


retransmit message

Automatic Repeat Request


(ARQ)

Proses utk meminta data transmisi dikirim ulang


Protokol utama ARQ

Stop and Wait ARQ (teknik half duplex)


Sender mengirimkan sebuah message dan menunggu
acknowledgment, lalu kjrim message berikutnya
Receiver menerima message dan mengirimkan
acknowledgement, dan menunggu message berikutnya
Continuous ARQ (teknik full duplex)
Sender secara kontinyu mengirimkan paket tanpa menunggu
acknowledge dari penerima
Receiver secara kontinyu menerima messages tanpa harus
memberikan acknowledment dg segera

Stop and Wait ARQ


Sender
Kirim paket, lalu
tunggu kabar dari
receiver

Receiver

Kirim
acknowledgement

Kirim paket
berikutnya
Kirim negative
acknowledgement

Kirim ulang
paket

Continuous ARQ
Sender kirim paket secara
kontinyu tanpa menunggu
acknowledge dari receiver

Perhatikan bhw
acknowledgments skrg
mengidentifikasi paket yg
di- acknowledged

Receiver kirim kembali


NAK utk spesifik paket
utk dikirim ulang

Flow Control dengan ARQ

Menjamin sender tdk transmit terlalu cepat utk


receiver
Stop-and-wait ARQ
Receiver kirim ACK atau NAK jika siap (utk menerima
paket lebih lanjut)
Continuous ARQ
Kedua sisi sepakat thd ukuran sliding window

Jumlah messages yg dp ditangani oleh receiver tanpa


menyebabkan delay yg signifikan

Contoh Flow Control


window size =4

sender

0123456789

receiver
...3 2 1 0
ACK 0...

(slide window)

0123456789

...4
ACK 4...

(slide window)

0123456789

8 7 6 5
ACK 7..

(slide window)

0123456789

..9

(timeout)

0123456789

...9 8

set window
size to 2

Forward Error Correction (FEC)

Peralatan penerima dp mengkoreksi sendiri message yg


datang (tanpa retransmisi)
Perlu informasi ekstra utk koreksi

Kirim bersama dg data


Memungkinkan data utk di-check dan dikoreksi oleh penerima
Jumlah informasi extra : biasanya 50-100% dari data

Berguna utk 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)

Hamming Code Contoh FEC

Kalkulasi tiga parity bit


EVEN dari data

Jika satu bit (parity atau


data) berubah
perubahan pd bit data
dp dideteksi & dikoreksi

Only
Hanya
bekerja for
utk
works
satu bit
bit
one
error
errors

Protokol Data Link

Klasifikasi
Asynchronous transmission
Synchronous transmission

Berbeda oleh
Message delineation
Frame length
Frame field structure

frame k-1

frame k

frame k+1

Asynchronous Transmission
Kadang disebut start-stop transmission
Digunakan oleh
receiver utk
memisahkan
karakter dan utk
synch.

Tiap karakter dikirim


secara independen

Kirim antara
transmisi
(deretan
stop bits)

Digunakan pd point-to-point full duplex circuits


(digunakan oleh Telnet saat menghubungkan ke komputer Unix/Linux)

Asynchronous File Transfer

Digunakan pd
Point-to-point asynchronous circuits
Biasanya melalui sal telepon via modem
Komputer ke komputer utk transfer file data

Karakteristik dari file transfer protocols


Dirancang utk transmit error-free data
Kelompokan data kedlm blocks utk ditransmisikan
(tidak dikirimkan character by character)

File transfer Protocols yg populer

Xmodem, Zmodem, dan Kermit

File Transfer Protocols


Xmodem

satu dari async file transfer protocol paling tua


menggunakan stop-and-wait ARQ.

Start
of
Header

SOH Packet # Packet # compl.

Checksum

(128 bytes)

Xmodem-CRC: menggunakan 1 byte CRC (drpd checksum)


Xmodem-1K: Xmodem-CRC + message field 1024 byte

Zmodem Menggunakan CRC-32 dg continuous ARQ

Pengaturan dinamis dari ukuran paket (tergantung circuit)

Kermit

Sangat fleksibel, powerful dan popular


Biasanya menggunakan CRC-24 dan ukuran 1K,
tetapi adjustable

Synchronous Transmission

Data dikirim dalam satu blok yg besar

Mencakup informasi addressing

Terutama berguna dlm multipoint circuits

Mencakup satu serie dari karakter-karakter


synchronization (SYN)

disebut frame atau paket


Biasanya sekitar seribu karakter (bytes)

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

Byte-Oriented Protocol
8

STX

Text (Data)

ETX

STX - start of text


ETX - end of text
Masalah: bagaimana jika ETX muncul pd 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

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

Bit-Oriented Protocol
8
Start
sequence

Text (Data)

End
sequence

Digunakan suatu flag: deretan bit tetap (pola tetap) utk 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 dlm 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 yg tdk boleh muncul di didlm data


Untuk mencegah pola start dan end sequence pada data digunakan bit
stuffing

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

Bagaimana membedakannya pd penerima?

0111110111 0111110111
011111111 0111110111

Destuffing (Penerima)

Jika 11111 diikuti 0, buang 0

SDLC Synchronous Data Link Control


Bit-oriented protocol dikembangkan IBM
Menggunakan controlled media access protocol
Awal
(01111110)

Akhir
(01111110)

data

Address
tujuan(8 atau
16 bit)

Identifikasi tipe frame:


- Informasi (utk transfer data user)
- Supervisory (utk error dan flow control)

CRC-32

Masalah Transparansi pd SDLC

Problem: Transparansi

Data user dp berisi pola bit spt flags (01111110)


Receiver dp menginterpretasi sbg akhir frame dan
mengabaikan yg 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

HDLC High-Level Data Link Control

Standar formal dikembangkan oleh ISO


Sama spt 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)

LAP-D (Link Accedes Protocol Balanced)

Digunakan pada teknologi X.25

Digunakan pada teknologi ISDN

LAP- F (digunakan pd teknologi Frame Relay)

Ethernet (IEEE 802.3)

Protokol LAN paling luas digunakan, dikembangkan


bersama oleh Digital, Intel, dan Xerox, sekarang sbg
standar IEEE

Menggunakan contention based media access control


Byte-count data link layer protocol
Tdk ada masalah transparency

formal standard: IEEE 802.3ac

Menggunakan sebuah field berisi jumlah bytes (bukan flags) utk


membatasi frames

Koreksi error: optional

Frame Ethernet (IEEE 802.3)


Digunakan pd Virtual LANs; (jika
tdk field ini diabaikan
Jika digunakan, 2 byte pertama
di-set ke: 24.832 (8100H)

Pengulangan pola
dari
(1010101010)

(jumlah byte pd
field message)

Digunakan utk no urut/sequence


number, ACK/NAK, dll, (1 atau 2 byte)
00
01
10
11

Digunakan utk
pertukaran info kontrol
(mis., tipe protokol
network layer yg
digunakan)

Point-to-Point Protocol (PPP)


Byte-oriented protocol dikembangkan awal 90an
Umum digunakan pd sal. dial-up dari PC di rumah
Dirancang terutama utk sal. telepon point-to-point (dp
digunakan juga utk sal. multipoint)

(sd 1500 byte)


Menspesifikasikan protokol
network layer yg digunakan (mis.
IP, IPX)

Data Link Protocol Summary


Protocol

Size

Error Detection

Retransmission

Media Access

Asynchronous Xmission

Parity

Continuous ARQ

Full Duplex

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

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

File Transfer Protocols

Synchronous Protocols

* Varies depending on message length.

Efisiensi Transmisi
Tujuan suatu jaringan:

Memindahkan sebanyak mungkin bit dg 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 yg digunakan
Bit-bit informasi (memuat informasi user)
Bit-bit Overhead (digunakan utk error checking, pembatas
frame, dll.)

Total jumlah bit info ditransmisikan


Total jumlah bit ditransmisikan

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)
Efisiesnsi 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 yg lebih besar kemungkinan mendapatkan error
lebih besar (kemungkinan lebih banyak memerlukan
retransmisi) kapasitas terbuang

Throughput

Definisi lebih akurat dari efisiensi


Total jumlah bit informasi diterima per detik; dg
mempertimbangkan:

Kalkulasi kompleks; tergantung pd

Bit-bit overhead (spt pd efisiensi transmisi)


Keperluan retransmisi paket mengandung error
Efisiensi transmisi
Laju error
Jumlah retransmisi

Transmission Rate of Information Bits (TRIB)

Digunakan sbg ukuran dari throughput

Ukuran paket Optimum


Trade-off antara ukuran paket dan throughput
Rentang yg dp
diterima

(kemungkinan mengandung error


kecil)

(lebih mahal dlm hal kapasitas


circuit utk retransmisi jika ada
error)

TRIB
= Jumlah bit info diterima / total waktu diperlukan utk mendpkan bit

(jumlah bit info) (Prob. Dari transmisi sukses)


waktu diperlukan utk transmit bit-bit ini + delay propagasi
Average number
Info bits per
of non-info
character
characters per
block
TRIB =

Ex:
K=7 bits/character
M = 400 char/block
R= 4.8 Kb/s
C = 10 char/block
P = 1%
T = 25 ms

Probability that
a block will
require
retransmission

K (M C) (1 P)
(M / R) + T

7(400-10)(1-0.01)
TRIB =

Packet
length in
characters

Time between blocks (in


Data
seconds) (propagation
xmission
rate in char time + turnaround time)
per second (a.k.a., reclocking time)

(400/600)+0.025)

= 3.908 Kb/s

Anda mungkin juga menyukai