Anda di halaman 1dari 56

DATA LINK LAYER

Hendrawan hend@stei.itb.ac.id

Outline
Media Access Control

Controlled Access, Contention, Performansi relatif Sumber Error, Pencegahan Error, Deteksi Error, Koreksi Error dg Retransmission, Forward Error Correction Asynchronous Transmission, Asynchronous File Transfer Protocols, Synchronous Transmission

Error Control

Data Link Protocols

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 p 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 Frames MAC Physical Bits Signals MAC Physical LLC Frames MAC Physical LLC

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


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

Konfigurasi Multipoint


Pendekatan utama

Controlled access Contention based access

Controlled Access
Pengendalian akses ke penggunaan bersama sumberdaya

Bertindak spt lampu lalu lintas Menentukan client mana yg mempunyai akses ke mainframe pd suatu waktu Token ring, FDDI X-ON/X-OFF dan Polling

Umumnya digunakan pd mainframes

Juga digunakan pd protokol LAN

Metoda controlled access utama


X-ON / X-OFF
A Protokol controlled access yg lama Request to Transmit X-ON transmitting data data Pausing
(periodically done)

not busy

X-OFF X-ON

busy not busy

transmitting data data Masih digunakan antara komputer dan printer Masih digunakan pd bbrp circuit half duplex circuit, mulai langka

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 Roll call polling Hub polling (juga disebut token passing)

Tipe-tipe polling

Roll Call Polling


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

D C E B Server A
Ada waktu tunggu: Poll and wait utk suatu respon Perlu suatu timer utk mencegah lockup (oleh client yg tdk menjawab)

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

Hub Polling (Token Passing)


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

D C B

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
Bekerja lebih baik utk jar dg volume tarfik tinggi Jika vol. tinggi, performansi menurun (terlalu banyak collisions)

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
 

mis, perubahan nilai suatu bit saat transmisi Dikendalikan oleh network hardware dan software mis., kesalahan dlm pengetikan angka Dikendalikan oleh program aplikasi

Human errors:
 

Kategori dari error jaringan


Data terkorupsi (perubahan data) Data hilang

Kontrol Error (Cont.)


Laju Error (Error Rate)

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 Mencegah error Mendeteksi error Mengkoreksi errors

Burst error

Fungsi-fungsi utama

BER vs PER
D H

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
Faulty equipment, Storms, Accidents (circuit fails) Movement of electrons (thermal energy) Sudden increases in electricity (e.g., lightning, power surges) Multiplexer guard bands are too small or wires too close together Poor connections (causing signal to be reflected back to the source) Gradual decrease in signal over distance (weakening of a signal) Signals from several circuits combine Analog signals change (small changes in amp., freq., and phase) Amplifier changes phase (does not correctly amplify its input signal)

How to prevent it

Line Outages
White Noise (Gaussian Noise)

Increase signal strength (increase SNR)

More important mostly on analog

Impulse Noise
(Spikes)

Shield or move the wires


Increase the guard bands, or move or shield the wires Fix the connections, or tune equipment

Cross-talk
Echo Attenuation
Intermodulation Noise

Use repeaters or amplifiers Move or shield the wires Tune equipment Tune equipment

Jitter
Harmonic Distortion

Deteksi Error
Pengirim mengkalkulasi Error Detection Value (EDV) dan mentransmisikan bersama data Penerima kalkulasi ulang EDV dan bandingkan dg EDV yg diterima

Mathematical calculations

Mathematical calculations ? =

Data yg akan ditransmisikan

EDV
Jika sama tdk ada error Terjadi saat transmisi Jika berbeda error saat transmisi

Makin besar ukuran, makin baik deteksi error (tetapi efisiensi lebih rendah)

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

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 Jika dua (atau sejumlah genap) bit mengalami error, parity check tampak benar Mendeteksi sekitar 50% dari error

Sisi penerima kalkulasi ulang parity bit

Sederhana, tetapi tdk dp mendeteksi semua error


Contoh Penggunaan Parity


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

receiver

Jum semua 1 ditransmisikan EVEN

parity

ODD parity

sender
01101011

receiver

Jum semua 1 ditransmisikan ODD

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 98% laju deteksi error utk burst errors ( > 10 bit) Kurang mampu deteksi single bit errors

Perbaikan signifikan dibandingkan parity checking


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 Dihitung dg kalkukasi sisa ke problem pembagian

Cyclic Redundancy Check (CRC)

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
lebih kompleks krn menggunakan pembagian polynomial bukan pembagian biasa

Paling powerful dan paling umum 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


Penerima, jika mendeteksi error, meminta pengirim utk retransmit message

Sering disebut Automatic Repeat Request (ARQ) Forward Error Correction  Peralatan penerima dapat mengkoreksi sendiri messages yg datang


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 Kirim paket berikutnya Kirim negative acknowledgement Kirim ulang paket

Receiver

Kirim acknowledgement

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 ...3 2 1 0 ACK 0...
(slide window)

receiver

0123456789

0123456789
(slide window)

...4 ACK 4...

0123456789
(slide window)

8 7 6 5 ACK 7.. set window size to 2

0123456789
(timeout)

..9

0123456789

...9 8

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 Transmisi satu arah (retransmisi tidak dimungkinkan) Waktu transmisi sangat panjang (retransmisi akan memakan waktu lama) Biaya FEC tdk signifikan (dibandingkan biaya total peralatan)

Berguna utk transmisi satelit


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 utk works for satu bit one bit 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
Start of Header

satu dari async file transfer protocol paling tua menggunakan stop-and-wait ARQ.

SOH Packet # Packet # compl.


(128 bytes)

Checksum

Xmodem-CRC: menggunakan 1 byte CRC (drpd checksum) Xmodem-1K: Xmodem-CRC + message field 1024 byte

Zmodem Menggunakan CRC-32 dg continuous ARQ Kermit

Pengaturan dinamis dari ukuran paket (tergantung circuit)

Sangat fleksibel, powerful dan popular Biasanya menggunakan CRC-24 dan ukuran 1K, tetapi adjustable

Synchronous Transmission
Data dikirim dalam satu blok yg besar

disebut frame atau paket Biasanya sekitar seribu karakter (bytes) Terutama berguna dlm multipoint circuits

Mencakup informasi addressing

Mencakup satu serie dari karakter-karakter synchronization (SYN)

Digunakan utk membantu receiver mengenali data yg datang Bit-oriented protocols: SDLC, HDLC Byte-count protocols: Ethernet Byte-oriented protocols: PPP

Kategori Synchronous transmission protocols


Byte-Oriented Protocol
8 8 Text (Data)

STX

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

8 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

0111110111 011111111

0111110111 0111110111

Bagaimana membedakannya pd penerima?

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

CRC-32

Address tujuan(8 atau 16 bit)

Identifikasi tipe frame: - Informasi (utk transfer data user) - Supervisory (utk error dan flow control)

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 Sender menyisipkan 0 jika mendeteksi 11111 (lima deretan 1) Jika receiver melihat lima deretan 1, check bit-bit berikutnya
  

Solusi: Bit stuffing (zero insertion)


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 LAP-B (Link Accedes Protocol Balanced)


Dasar bagi banyak Data Link Layer protocol lainnya

Digunakan pada teknologi X.25 Digunakan pada teknologi ISDN

LAP-D (Link Accedes Protocol Balanced)




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

formal standard: IEEE 802.3ac

Menggunakan contention based media access control Byte-count data link layer protocol Tdk ada masalah transparency

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) Digunakan utk no urut/sequence number, ACK/NAK, dll, (1 atau 2 byte)
00 01 10 11

Pengulangan pola dari (1010101010)

(jumlah byte pd field message)

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 Asynchronous Xmission Size 1 Error Detection Parity Retransmission Continuous ARQ Media Access Full Duplex File Transfer Protocols XMODEM XMODEM-CRC XMODEM-1K ZMODEM KERMIT 132 132 1028 * * 8-bit Checksum 8-bit CRC 8-bit CRC 32-bit CRC 24-bit CRC Stop-and-wait ARQ Stop-and-wait ARQ Stop-and-wait ARQ Continuous ARQ Continuous ARQ Controlled Access Controlled Access Controlled Access Controlled Access Controlled Access

Synchronous Protocols SDLC HDLC Token Ring Ethernet SLIP PPP * * * * * * 16-bit CRC 16-bit CRC 32-bit CRC 32-bit CRC None 16-bit CRC Continuous ARQ Continuous ARQ Stop-and wait ARQ Stop-and wait ARQ None Continuous ARQ Controlled Access Controlled Access Controlled Access Contention Full Duplex Full Duplex

* Varies depending on message length.

Efisiensi Transmisi
Tujuan suatu jaringan:

Memindahkan sebanyak mungkin bit dg error minimum efisiensi lebih tinggi biaya lebih rendah 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.)

Fator yg mempengaruhi efisiensi jaringan:


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:

Bit-bit overhead (spt pd efisiensi transmisi) Keperluan retransmisi paket mengandung error Efisiensi transmisi Laju error Jumlah retransmisi Digunakan sbg ukuran dari throughput

Kalkulasi kompleks; tergantung pd


Transmission Rate of Information Bits (TRIB)

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 = Probability that a block will require retransmission
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) TRIB = (400/600)+0.025) = 3.908 Kb/s

K (M C) (1 P) (M / R) + T Time between blocks (in Data seconds) (propagation xmission rate in char time + turnaround time) per second (a.k.a., reclocking time)

Packet length in characters