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
data-link layer berfungsi
“link”
mentransfer data dari satu
simpul (node) ke simpul yang
berdekatan melalui saluran (link)
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
4
DATA LINK LAYER
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
7
Prinsip dasar (1)
Masalah utama dalam komunikasi data di
jaringan adlh realibility atau keandalan. Sinyal y
ang dikirim melalui medium tertentu dapat men
galami pelemahan, distorsi, keterbatasan band
width
Data yang dikirim dapat menjadi rusak, hilang,
berubah
Tugas data link layer adalah menangani kerusa
kan dan hilangnya data antar 2 titik komunikasi
yang terhubung oleh satu medium transmisi fisi
k
8
Prinsip dasar (2)
11
Prinsip dasar (5)
12
Prinsip dasar (6)
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
18
Framing
Teknik framing:
Character count
19
Framing – character count
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
22
Framing : flag bits
Serupa dengan flag bytes, namun
menggunakan bit
Lebih cocok untuk data biner
Misalnya ditentukan flag adalah: 01111110
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
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
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
Intermodulation Signals from several circuits combine Move or shield the wires
Noise
Jitter Analog signals change (small changes Tune equipment
in amp., freq., and phase)
Harmonic Distortion Amplifier changes phase (does not Tune equipment
correctly amplify its input signal)
29
Deteksi Error
Pengirim mengkalkulasi Penerima kalkulasi ulang
Error Detection Value EDV dan bandingkan dengan
(EDV) dan mentransmisikan EDV yang diterima
bersama data
Mathematical Mathematical
calculations calculations
?
=
Data yg akan EDV
ditransmisikan – Jika sama tidak ada
error
Makin besar ukuran, saat transmisi
makin baik deteksi error
(tetapi efisiensi lebih – Jika berbeda Terjadi
rendah) error saat transmisi
30
Error Detection and Correction
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
34
Koreksi Error
Begitu terdeteksi, error harus dikoreksi
Teknik Koreksi Error
Retransmisi (Backward error correction)
Sederhana, efektif, murah, umum digunakan
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
Untuk dikirimkan: huruf V pd 7-bit ASCII: 0110101
parity
Operator : ~XOR
parity
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 Dengan paritas
genap 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
43
Parity Checking
Single Bit Parity: Two Dimensional Bit Parity:
Detect single bit errors Detect and correct single bit errors
Contoh :
Menggunakan paritas genap
0 0
44
Penggunaan LRC Utk Deteksi Error
Contoh:
kirim pesan “DATA” dg ODD parity dan LRC
Paritas error
Koreksi dilakukan dengan menginversi bit 0 menjadi 1 atau 1
menjadi 0 pada posisi bit yang baris dan kolomnya dinyatakan
error
46
Penggunaan LRC Utk Deteksi Error
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.
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 a
ntara 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) Posisi : 1 2 3 4 5 6 7
d3d2d1d0 p 1 p 2 d 3 p4 d2 d 1 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
Menggunakan paritas genap : saat pendeteksian, hasil
operasi XOR harus 0 (genap)
p1 : p1 0 1 0 = genap p1 = 1 Kode Hamming:
p2 : p2 0 1 0 = genap p2 = 1 1100110
p4 : p4 1 1 0 = genap p4 = 0
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 Yang benar: 1 1 0 0 1 1 0
p1 p2 d3 p4 d2 d1 d0 Data : 0110 (6)
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
Bit yang salah adalah posisi:
3 ????
51
Hamming Code – Contoh FEC
52
Use of a Hamming code to correct b
urst 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
56
Standart CRC Internasional
Representations: normal /
Name Polynomial
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
x7 + x3 + 1 (telecom systems, ITU-T G.707, ITU-T
CRC-7 G.832, MMC, SD) 0x09 / 0x48 / 0x44
x8 + x2 + x + 1 (ATM HEC), ISDN Header Error
CRC-8-CCITT 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 + x 7 + x 6 + x 4 + x 2 + 1 0xD5 / 0xAB / 0xEA
CRC-8-SAE J1850 x8 + x 4 + x 3 + x 2 + 1 0x1D / 0xB8 / 0x8E
CRC-8-WCDMA x8 + x 7 + x 4 + x 3 + 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
57
Standart CRC Internasional
Representations: normal / reversed /
Name Polynomial
reverse of reciprocal
x16 + x15 + x2 + 1 (Bisync, Modbus, USB, ANSI X3.28, many others; also known as CRC-16 and
CRC-16-IBM CRC-16-ANSI) 0x8005 / 0xA001 / 0xC002
x16 + x12 + x5 + 1 (X.25, V.41, HDLC, XMODEM, Bluetooth, SD, many others; known as CRC-
CRC-16-CCITT 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
0x2030B9C7 / 0x38E74301 /
CRC-30 x30 + x29 + x21 + x20 + x15 + x13 + x12 + x11 + x8 + x7 + x6 + x2 + x + 1 (CDMA) 0x30185CE3
CRC-32-Adler Not a CRC; see Adler-32 See Adler-32
x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1 (V.42, Ethernet, 0x04C11DB7 / 0xEDB88320 /
CRC-32-IEEE 802.3 SATA, MPEG-2, PNG,[22] POSIX cksum) 0x82608EDB
CRC-32C x32 + x28 + x27 + x26 + x25 + x23 + x22 + x20 + x19 + x18 + x14 + x13 + x11 + x10 + x9 + x8 + x6 0x1EDC6F41 / 0x82F63B78 /
(Castagnoli) + 1 (iSCSI & SCTP, G.hn payload, SSE4.2) 0x8F6E37A0
0x741B8CD7 / 0xEB31D82E /
CRC-32K (Koopman) x32 + x30 + x29 + x28 + x26 + x20 + x19 + x17 + x16 + x15 + x11 + x10 + x7 + x6 + x4 + x2 + x + 1 0xBA0DC66B[11]
0x814141AB / 0xD5828281 /
CRC-32Q x32 + x31 + x24 + x22 + x16 + x14 + x8 + x7 + x5 + x3 + x + 1 (aviation; AIXM) 0xC0A0A0D5
0x0004820009 / 0x9000412000 /
CRC-40-GSM x40 + x26 + x23 + x17 + x3 + 1 (GSM control channel) 0x8002410004
0x000000000000001B /
0xD800000000000000 /
CRC-64-ISO x64 + x4 + x3 + x + 1 (HDLC — ISO 3309, Swiss-Prot/TrEMBL; considered weak for hashing) 0x800000000000000D
x64 + x62 + x57 + x55 + x54 + x53 + x52 + x47 + x46 + x45 + x40 + x39 + x38 + x37 + x35 + x33 + 0x42F0E1EBA9EA3693 /
x32 + x31 + x29 + x27 + x24 + x23 + x22 + x21 + x19 + x17 + x13 + x12 + x10 + x9 + x7 + x4 + x + 0xC96C5795D7870F42 /
CRC-64-ECMA-182 1 (as described in ECMA-182 p. 51) 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
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
Sender Receiver
Kirim paket, lalu
tunggu kabar dari
receiver
Kirim
acknowledgement
Kirim paket
berikutnya
Kirim negative
acknowledgement
Kirim ulang
paket
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
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
Perhatikan bahwa
acknowledgments
sekarang mengidentifikasi
paket yang di-
acknowledged
67
Sliding Window Protocol
utilisasi kanal:
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
71
A Protocol Using Go Back N
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
PKT0
0123 456789
PKT1
0 1234 56789
PKT2
PKT3 01 2345 6789
ACK0 ACK1
ACK4
ACK1
01234 5678 9
Sender Receiver
74
Protokol Data Link
Klasifikasi
Asynchronous transmission
Synchronous transmission
Berbeda oleh
Message delineation
Frame length frame k-1 frame k frame k+1
Frame field structure
75
Asynchronous Transmission
Kadang disebut start-stop transmission
Digunakan oleh
receiver utk Tiap karakter dikirim Kirim antara
memisahkan secara independen transmisi
karakter dan utk (deretan
synch. stop bits)
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
Start
of
Header
SOH Packet # Packet # compl. Checksum
(128 bytes)
79
Byte-Oriented Protocol
8 8
81
Bit-Oriented Protocol
8 8
Start End
Text (Data)
sequence sequence
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’
82
Bit Stuffing (Pengirim)
Digunakan utk menghilangkan flag dari data original
Satu 0 disisipkan setelah 1 berturutan pd frame original
83
Destuffing (Penerima)
Jika 11111 diikuti 0, buang 0
84
SDLC – Synchronous Data Link Control
• Bit-oriented protocol dikembangkan IBM
• Menggunakan controlled media access protocol
Awal Akhir
(01111110) (01111110)
data CRC-32
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)
• Digunakan pd Virtual LANs; (jika Digunakan untuk no urut/sequence
tidak field ini diabaikan number, ACK/NAK, dll, (1 atau 2 byte)
• Jika digunakan, 2 byte pertama
00
di-set ke: 24.832 (8100H) 01
10
11
90
Data Link Protocol Summary
Protocol Size Error Detection Retransmission Media Access
Synchronous Protocols
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
94
Ukuran paket Optimum
Trade-off antara ukuran paket dan throughput
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
Ex:
Average Probability that K=7 bits/character
Info bits per number of non-
a block will M = 400 char/block
character info characters R= 4.8 Kb/s
require
per block retransmission C = 10 char/block
P = 1%
K (M – C) (1 – P) T = 25 ms
TRIB =
(M / R) + T 7(400-10)(1-0.01)
TRIB =
(400/600)+0.025)
Packet Time between blocks (in = 3.908 Kb/s
length in Data seconds) (propagation
xmission
characters rate in char time + turnaround time)
per second (a.k.a., reclocking time) 96
PEKERJAAN RUMAH
97