A4. Protokol Datalink
Jaringan Komputer I
Materi 4
Lapis Datalink
Terminologi Fisik Jaringan
Node
Link
Terminal
Jaringan
Tugas Datalink
Pembukaan hubungan dan penutupan
hubungan
Melakukan kendali atas kesalahan yang
mungkin terjadi : tool pariti, crc, dll
Melakukan pengendalian banyaknya data
yang dikirim untuk menghindari
kemacetan (kongesti) : tool sliding
windows dll
Dan lainnya (optional : tambahan untuk
protokol datalink tertentu)
Proses Hubungan Di Link
Ada 2 jenis proses hubungan di link :
Memerlukan connection setup
Hubungan langsung
Connection setup
Ada banyak path yang bisa dipilih
Untuk hubungan yang sangat handal
Tersedia berbagai pilihan kecepatan komunikasi
Hubungan langsung
Tanpa pilihan jalur dan kecepatan komunikasi
Point-to-point connection
Metoda Deteksi Kesalahan
Agar bisa melakukan kendali kesalahan,
syarat mutlak yang harus ada adalah
adanya mekanisme deteksi kesalahan
Beberapa metoda yang umum digunakan:
Pariti paling sederhana
CRC lebih sulit, meminta kemampuan
komputasi
Checksum operasi word
Proses Deteksi Kesalahan
Bit E dan E’
dibandingka
n di
penerima,
jika tidak
sama maka
dilakukan
retransmisi.
7
Deteksi Kesalahan
Definisi nilai probabilitas dalam transmisi frame:
Pb = BER probabilitas suatu bit salah
P1 probabilitas sebuah frame tiba tanpa kesalahan
P2 probabilitas frame tiba dengan 1 atau lebih bit salah tak
terdeteksi
P3 probabilitas sebuah frame tiba dengan 1 atau lebih bit
salah yang terdeteksi
F=jumlah bit per frame
Jika tidak ada fasilitas pendeteksi kesalahan, maka
P1 = (1 - Pb)F
P2 = 1 - P 1
P3 = 0
Kode pendeteksi kesalahan adalah bit-bit tambahan yang
8
diikutkan pada suatu frame, dihitung sebagai fungsi dari bit-bit
dalam frame tersebut
Pariti
Penambahan 1 bit sebagai bit deteksi
kesalahan
Terdapat 2 jenis pariti : genap dan ganjil
Pariti genap = jumlah bit 1 dalam kode adalah
genap
Pariti genap = d1 xor d2 xor ….. Dn
Pariti ganjil = jumlah bit 1 dalam kode adalah
ganjil
Pariti ganjil = (d1 xor d2 xor ….. Dn) xor 1
Sistem sederhana dan mudah dibuat
hardwarenya (di PC digunakan IC 74LS280)
Tidak mampu mendeteksi kesalahan bit
genap peluang benar deteksi kesalahan
hanya 25% (peluang salah mutlak 50% +
peluang salah deteksi 25%)
Cyclic Redudancy Check: Sisi
Penggirim
Merupakan hasil operasi pembagian biner
dengan suatu pembagi tertentu (generator
polinomial)
Pembagi : Dn Dn-1 …D1
Deretan bit : b1 b2 b3 …. bm
Operasi :
(b1 b2 b3…bm)n-1 / Dn…D1 sisa (Rn-1…R1)
Dikirim
b1 b2 b3…bm Rn-1…R1
Cyclic Redudancy Check: Sisi Penerima
Oleh penerima dilakukan operasi yang sama
b1 b2 b3…bm Rn-1…R1 / Dn…D1 sisa (rn-1…r1)
Data benar jika rn-1…r1 = 0
Data salah jika rn-1…r1 ≠ 0
Pembagi standar internasional
CRC-16 11000000000000101
CRC-ITU 10001000000100001
CRC-32 100000100100000010001110110110111
Jika diperlukan pembagi boleh tidak menggunakan
standar ini asal memenuhi:
Diawali dan diakhiri dengan bit 1 ( 1xxxxxx1)
Jumlah minimum bit “1” : 3 bit
Agar bisa mendeteksi jumlah bit kesalahan ganjil :harus
habis dibagi oleh (11 = X + 1)
Contoh Perhitungan CRC
Penerima
1 0 1 1 0 1 1 0
qu
1 1 0 0 1
en
o ti
1 1 0 0 1
1 0 1 1 0 1 1 0
1 1 1 0 0 1 1 0 0 0 0 0
1 1 0 0 1
s
0 0 1 0 1 1
1 1 1 0 0 1 1 0
0 1 1 0
1 1 0 0 1
0 0 1 0 1 1
0 0 0 0 0
0 1 0 1 1 1
R E M A IN D E R
1 1 0 0 1
0 1 1 1 0 0
1 1 0 0 1
Pengirim
0 0 1 0 1
0
0 0 0 0
0
0 1 0 1
0 0
1 1 0
0 1
0 1 1
0 1 0
1 1
0 0 1
0 0
0
0 1 1 0
0 0 0 0
0 1 1 0
F C S /C R C
= 0 , n o e rro r
R E M A IN D E R
= 0 , e rro r d e te c te d
Latihan
1. Diketahui suatu pesan 1101101101
dengan pola pembagi 110101.
Tentukan FCS menggunakan menggunakan
CRC-aritmatika modulo-2
Jika pada receiver diterima sebuah pesan
110110110100101. Tentukan apakah
dideteksi adanya kesalahan? Buktikan
dengan menggunakan CRC-polinomial!
Penggunaan : Pada Paket LAN
(MAC)
1
2
3
4
5
6
7
8
9
10
11
Destination MAC Address
Source MAC Address
Protocol
Data (46 – 1500 B)
CRC-32
12
13
14
15
16
Checksum
CRC memerlukan perhitungan xor sebanyak
jumlah bit data memerlukan kemampuan
komputasi yang cukup besar
Diciptakan metoda checksum (untuk
mengurangi perhitungan) pada beberapa jenis
transmisi tidak perlu kecanggihan CRC atau
sudah melakukan CRC di lapis lain
Cara perhitungan checksum:
Data dibagi menjadi kelompok-kelompok 16 bit (word)
Word pertama di xor dengan word kedua
Hasil di xor dengan word ketiga, keempat, …sampai
word terakhir (jika bit-bit terakhir tidak cukup untuk
menjadi word, ditambahkan padding bit ‘0’ sampai
membentuk word)
Hasil akhir (16 bit) = checksum
Contoh perhitungan
0 1 1 0 1 1 1 0 0 1 0 1 0 0 1 0
1 0 1 1 1 1 0 0 1 0 1 0 1 1 0 0
1 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0
0
1
1
1
0
1
0
1
0
1
1
1
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
0
0
1
0
1
1
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
0
0
0
0
DATA
Padding
Checksum
Pengguna Checksum: IP
1
2
3
Version
4
5
6
7
8
Header length (dword)
9
10
11
12
13
14
Priority (0-7)
low
high
high
“1”
Precedence
D
T
R
unused
Total length
Identification
D
M
Fragment offset
Time to live (seconds)
Protocol
Header checksum
Source IP address
Destination IP address
Option (0 word atau lebih)
Data 64 kB
15
16
Pengguna Checksum: TCP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
ACK
PSH
RST
SEQ
FIN
Source port
Destination port
Sequence number
Acknowledge number
Header length
Reserved
URG
Windows
Checksum
Urgent pointer
Options
Padding
User data
Backward Error Control
Kemampuan deteksi kesalahan digunakan
untuk melakukan perbaikan kesalahan
(error control) dengan cara meminta
pengiriman ulang jika paket yang diterima
salah
Paket 1
X
Paket 1 Kirim Ulang
Paket 1
Paket 2
√
Backward Error Control: ARQ
ARQ = Automatic ReQuest
ARQ akan mengulang / tidak mengulang
pengiriman data sesuai dengan feedback
dari penerima
Feedback dari penerima
ACK = acknowledge data diterima benar
NAK = not acknowledge data diterima salah
ARQ : Idle RQ
1
√
ACK
2
X
NAK
2
t
Kasus 1: jika paket tidak
sampai
1
Error
∆t
Detectio
n
ACK
δt
1
Pengirim menunggu feedback sampai ∆t +δt, jika tidak ada
respon maka pengirim harus mengirimkan kembali paket
tersebut.
Waktu tersebut disebut dengan waktu
timeout
Kasus 2: feedback tidak
sampai
1
∆t
√
ACK
Diperlakukan sama dengan kondisi kasus 1 (time-out)
Kapankah pengirim mengirim ulang
paket ???
Jika mendapat feedback NAK
Jika timeout
Jika mendapat feedback yang tidak
dimengerti
Kesimpulan : pengirim mengirim ulang
paket Jika tidak mendapat ACK
ARQ : Idle RQ
“DIE HARD” ARQ
Paket akan diterima terjaga urutannya
Efisiensi saluran paling rendah
Cocok digunakan untuk saluran transmisi
yang sangat jelek kualitasnya (banyak
error)
ARQ : Selective Repeat
Hanya mengirim ulang untuk paket yang salah
Paket diterima tidak berurutan
Efisiensi saluran tinggi (dibandingkan idle RQ)
1
2
3
√
4
X
ACK1
X
NAK2
5
√
NAK3
2
ACK4
3
6
1
4
5
2
3
6
ARQ : Go Back N
1
2
3
4
5
2
3
4
Mengirim ulang mulai dari paket yang salah
Paket akan diterima terjaga urutannya
Efisiensi saluran lebih rendah dari Selective Repeat
√
ACK1
NAK2
?
?
ACK2
X
1
Don’t care
Don’t care
Don’t care
√
2
Kasus Lain Go Back N
1
2
3
4
5
6
7
4
√
ACK1
ACK2
ACK3
NAK4
√
1
√
2
X
Don’t care
3
Don’t care
√
4
Forward Error Control
Backward EC menyebabkan delay pengiriman paket yang
cukup besar tergantung dari berapa kali paket tersebut
harus dikirim
Untuk sistem transmisi jarak jauh dimana delay
propagasi sangat besar (kelas detik, menit atau jam) BEC
tidak bisa menjadi pilihan
Juga untuk aplikasi multimedia, dimana ketepatan waktu
kedatangan lebih utama dibandingkan dengan
‘kebenaran’ data, BER menyebabkan delay yang lewat
batas toleransi waktu
Dipergunakan Forward Error Correction (FEC) untuk
memecahkan masalah ini
FEC berprinsip dasar: penerima mampu membetulkan
sendiri kesalahan data yang sudah diterima, karena
selain menerima data juga menerima bit-bit redundansi
yang diperlukan
Jenis-Jenis FEC
Metoda FEC yang umum dikenal :
Block Parity
Hamming Code
Turbo Code, RS Code, BCH Code
Block Parity
Sederhana, menggunakan perhitungan pariti
Menggunakan pariti baris dan kolom sebagai
dasar
sarana koreksi kesalahan
Hanya mampu mengkoreksi kesalahan 1 bit,
mampu mendeteksi kesalahan lebih dari 1 bit
Efisiensi tergantung dari ukuran baris dan kolom
yang digunakan, semakin banyak baris dan kolom
akan semakin banyak bit pariti
Contoh Block Parity
1
1
0
1
1
1
1
0
1
1
√
1
0
1
1
1
1
0
0
1
1
X
1
1
0
1
1
1
1
0
1
1
√
0
0
1
1
0
0
0
1
1
0
√
1
0
0
0
1
1
0
0
0
1
√
√
√
X
√
√
√
Hamming Code: Sisi Pengirim
Menggunakan metoda matematik modulo 2
Disisipkan bit-bit pariti di posisi bit 2n : bit ke
1,2,4,8,16,32 dst
Bit pariti dihitung dengan cara:
P1 = d1 xor d2 xor d4
P2 = d1 xor d3 xor d4
P3 = d2 xor d3 xor d4
P4 = d5 xor d6 xor d7
xor
xor
xor
xor
P5 = d12 xor d13 xor d14
d5 xor d7 xor
d6 xor d7 xor
d8 xor d9 xor
d8 xor d9 xor
xor d15 dst
d9 dst
d10 dst
d10 dst
d10 dst
Banyaknya bit pariti yang dibutuhkan
tergantung jumlah bit datanya
Sehingga deretan bit P1 P2 d1 P3 d2 d3 d4 P4 d5
d6 d7 d8 d9 dst untuk ditransmisikan
Hamming Code: Sisi
Penerima
Setelah diterima dilakukan perhitungan
H1
H2
H3
H4
H5
=
=
=
=
=
P1
P2
P3
P4
P5
xor
xor
xor
xor
xor
d1 xor d2 xor d4 xor
d1 xor d3 xor d4 xor
d2 xor d3 xor d4 xor
d5 xor d6 xor d7 xor
d12 xor d13 xor d14
d5 xor d7 xor
d6 xor d7 xor
d8 xor d9 xor
d8 xor d9 xor
xor d15 dst
d9 dst
d10 dst
d10 dst
d10 dst
Jika disusun menjadi H5 H4 H3 H2 H1 dan
terbaca :
00000 = 0 tidak ada kesalahan
00101 = 5 bit 5 (d2) salah
01001 = 9 bit 9 (d5) salah
Metoda FEC Lain
Semua metoda FEC pada dasarnya
menggunakan metoda matematik modulo 2
Metoda ini terus dikembangkan dengan
tujuan:
Mendapatkan kemampuan koreksi bit yang semakin
banyak
Dengan mengurangi jumlah bit pariti yang
dibutuhkan
Mampu melanjutkan komunikasi walaupun sempat
terputus.
Metoda yang umum digunakan:
BCH Code
Reed Solomon Code
Convolutional Code
Trellis Code
Turbo Code
Kendali Aliran (Flow control)
Fungsi lain yang diperlukan dalam
mentransmisikan data di suatu link adalah
kendali aliran
Dibutuhkan terutama jika aliran data dari
yang cepat ke yang lambat, dimana aliran
data harus diatur agar penerima tidak
overflow
Mengatur aliran dengan cara:
Start – stop
Besarnya aliran
Model Kendali Aliran
Aliran
data
masuk
Buffer
Server
Aliran
data
keluar
Dua Jenis Kendali Aliran
Start-stop
Aliran data diatur sesuai dengan permintaan pihak
penerima, jika penerima merasa buffer penerimaannya
penuh, maka ia akan mengirim sinyal stop ke pengirim,
dan jika buffer penerimaannya kosong, ia akan mengirim
sinyal start.
Teknik ini sederhana, relatif mudah di implementasikan
Teknik start-stop umum:
RTS,CTS
X-on,X-off
Mengatur aliran
Aliran data diatur berdasarkan besar bandwitdh saluran
saat itu, teknik ini bekerja berdasarkan feedback dari
penerima yang ‘mengukur’ laju data yang mampu dia
terima.
Relatif lebih rumit dari teknik start-stop
Contoh : (sliding) window
Pengguna Kendali Aliran
Pengguna utama adalah protokol lapis
datalink (RS-232, RS-.., HDLC,…)
Untuk teknik kendali aliran yang lebih
canggih diterapkan di lapis atas seperti
TCP (lapis transport)
Kendali Aliran di RS-232
Terdapat dua jenis kendali aliran yang bisa diterapkan
di sistem komunikasi RS-232, yaitu teknik hardware
dan teknik software
RTS – CTS (hardware), digunakan saluran tambahan
untuk mengkomunikasikan informasi kendali aliran,
dirancang untuk berkomunikasi dengan modem yang
lebih lambat dari interface RS-232.
Koneksi fisik
TX
RX
RX
TX
Pertukaran sinyal
• RTS
GND
•
GND
RTS
CTS
CTS
RTS
Jika dijawab CTS maka TX
jika tidak tunggu
Kendali Aliran di RS-232
Software (X-on, X-off),
digunakan karakter-karakter
tertentu untuk bertukar
informasi kendali aliran
Lebih sedikit membutuhkan
koneksi fisik (2 kabel untuk satu
arah komunikasi, 3 kabel untuk
dua arah)
Algoritma kerja disisi pengirim
Tunggu X-ON
Kirim TX
Jika mendapat X-OFF, berhenti
kirim
Algoritma kerja disisi penerima
Periksa buffer penerimaan
Jika kosong kirim X-ON, jika
penuh kirim X-OFF
Koneksi
fisik
TX
RX
RX
TX
GN
D
----
GN
D
Sliding window
Teknik kendali aliran start-stop mempunyai
kelemahan trafik yang terjadi menjadi diskrit
(bisa juga bursty), menyebabkan naiknya
peluang kongesti di jaringan, tidak cocok untuk
komunikasi jarak jauh (melalui banyak link).
Dikembangkan teknik pengendalian aliran yang
lebih adaptif sesuai dengan kondisi jalur
transmisi yang dilewati, sehingga data dapat
ditransmisikan dengan jumlah yang ‘cukup’
tidak berlebih dan tidak kurang. Teknik ini
meningkatkan efisiensi bandwidth yang pada
ujungnya akan mengurangi terjadinya kongesti
jaringan.
Salah satu teknik yang sejak awal dibuatnya
protokol internet adalah teknik sliding windows
Sliding window
Window = angka jumlah pengiriman paket saat
ini
Window = 3 satu kali kirim maksimum 3 paket
Cara kerja:
Penerima akan menetapkan jumlah window
terimanya berdasarkan tingkat keberhasilan
penerimaan paket, kebijakan yang ditetapkan
oleh lapis aplikasi, dll
Pengirim kemudian akan mengirim paket sesuai
dengan jumlah window yang ditetapkan
penerima
Pada TCP besarnya windows di’ikutkan’ ke paket
arah pengirim dari pihak penerima tidak perlu
paket khusus, meningkatkan efesiensi transmisi
Besarnya window
Untuk setiap algoritma ARQ yang telah
dipelajari, ukuran window yang sesuai adalah:
ARQ
Idle RQ
Selective
Repeat
Go Back N
Window
Kirim
1
Window
Terima
1
N
N
N
1
Implementasi Windows di TCP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
URG
ACK
PSH
RST
SEQ
FIN
Source port
Destination port
Sequence number
Acknowledge number
Header length
Reserved
Windows
Checksum CRC-16
Urgent pointer
Options
Padding
Implementasi Windows di
TCP
Disediakan 16 bit untuk windows (dari 0 sd
64k).
Untuk TCP awal, windows dimulai dari 1,
kemudian naik dua kalinya untuk setiap tahap
pengiriman sampai maksimum yang
ditetapkan penerima, jika terjadi kegagalan
penerimaan sebelum mencapai maksimal
tersebut, windows akan si set kembali menjadi
1.
Disebut mekanisme Slow-Start TCP yang tentu
saja untuk kondisi jaringan saat ini dianggap
terlampau berhati-hati, sehingga
dikembangkan berbagai mekanisme TCP lain
untuk memperbaikinya: TCP-Reno, TCP-Vegas,
Pengaruh Ukuran Windows Terhadap
Proses Pengiriman Paket
W > =4
W=2
Perhitungan Waktu Transmisi Paket
Suatu transmisi data di link memerlukan
waktu.
Penggunaan ARQ menyebabkan waktu
transmisi adalah sama dengan waktu dari
mulai paket dikirim sampai dengan waktu
diterimanya ACK oleh pengirim
Komponen waktu transmisi bisa dihitung
dengan penyerhanaan sebagai berikut:
Perhitungan Waktu Transmisi Paket
0
Paket
0-t1 = waktu
propagasi
t1-t2 = waktu paket
(waktu pengeluaran
bit 1 sampai terakhir)
t2-t3 = waktu deteksi
t3-t4 = waktu paket
ack
t4-t5 = waktu
propagasi
t1
t2
Err Det
ACK
t3
t4
t5
t
Perhitungan Waktu Transmisi Paket
Waktu propagasi = waktu yang diperlukan
untuk 1 bit menempuh jarak pengirimpenerima tpro = jarak/kecepatan
Waktu paket = waktu yang diperlukan
untuk mengeluarkan semua bit pada
paket tersebut tpac = panjang paket
(bit)/bitrate
Perhitungan Waktu Transmisi Paket
Waktu deteksi = waktu yang dibutuhkan
oleh penerima untuk menentukan paket
yang diterima benar atau salah
tdet = f(metoda,kecepatan komputer) undefined
(semakin hari semakin cepat)
(kelas ns)
Waktu paket ack tack
= panjang paket
ack/bitrate
ttotal = 2tpro + tpac + tdet + tack
Contoh kasus:
Interface E : 10
Mbps, Paket 1512B,
100m, Ack 16B
ttotal ???
Tx
a = 2.75e4
U = 0.98898
Rx
tpro
3.33333E-07 s
0.000333 ms
0.33333333
3 us
333.333
3 ns
tpak
0.0012096 s
1.2096 ms
1209.6 us
1209600 ns
tack
0.0000128 s
0.0128 ms
12.8 us
12800 ns
tdet
0.00000001 s
0.00001 ms
0.01 us
10 ns
ttotal =
0.00122307
7 s
1.223077 ms
1223.07666
7 us
1223077 ns
Contoh kasus lain:
Satelit :
Geosat : 36000km
E1 : 2Mbps
Paket : 1000b, Ack :
40b
T total ???
U = 0.00207
a = 240
tpro
0.12 s
tpak
0.0005 s
tdet
tack
ttotal
20 ns
0.00002 s
0.24052002 s
Rumus Hasil Penyederhanaan
Didapatkan dari kedua contoh kasus, waktu
total transmisi paket didominasi oleh waktu
paket atau waktu propagasi tergantung dari
jarak transmisi, sedangkan waktu deteksi
sangat bergantung pada kecepatan
perhitungan penerima yang cenderung
semakin kesini semakin cepat, waktu ack
relatif dapat diabaikan karena panjang paket
ack jauh lebih kecil dari panjang paket data.
Sehingga :
ttotal ≈ 2 tpropagasi + tpaket
Variabel a
Untuk memudahkan penulisan rumus dan
memperlihatkan suatu variabel penentu
hasil perhitungan utilitas link, maka
dibuatlah variabel a
Dengan: a = tpro/tpak
Kasus a = 1
Tx
a = 1, menyatakan
Rx
t
tpro = tpak
gejala fisik saluran
akan penuh oleh
paket, dalam arti
bit pertama mulai
diterima saat bit
terakhir dikirim
Terjadi jika waktu
untuk mengasilkan
paket sama persis
dengan waktu
propagasi
Kasus a > 1
Tx
Rx
t
tpro > tpak
a > 1,
menyatakan
gejala fisik saluran
akan sebagian
kosong, dalam arti
paket telah selesai
dihasilkan saat bit
pertama diterima
Terjadi jika waktu
untuk
mengasilkan
paket lebih kecil
dari waktu
propagasi
Kasus a < 1
Tx
Rx
t
tpro <
tpak
a > panjang paket
Contoh Lain Perhitungan BER
Berapakah peluang error paket 1000 bit
jika diketahui : BER = 10-5 dan error yang
terjadi untuk setiap paket maksimum 3
bit??
Bisa dihitung sebagai
Pe(paket)
= Pe(1) + Pe(2) + Pe(3)
= 9.9e-3 + 4.94e-5 + 1.64e-7
= 9.95e-3
Hubungan Pe(paket) Dengan
ARQ
Pe(paket) menentukan berapa kali
pengiriman ulang !!
Pe(paket) = 1/2 N (rata-rata banyaknya
pengiriman suatu paket agar diterima
dengan benar) = 2
Pe(paket) = 1/3 N = 3/2
Pe(paket) = 1/4 N = 4/3
N = 1 / (1 – Pe)
Pengaruh Ke Parameter U
Dikarenakan ada pengiriman ulang
sebanyak N kali, maka rumus perhitungan
parameter U mengalami revisi menjadi:
U = 1 / (N(1+2a))
atau
U= (1-Pe) / (1+2a)
Contoh Perhitungan U
Satelit :
Geosat : 36000km
E1 : 2Mbps
Paket : 1000b, Ack :
40b
BER = 10e-5
tpro
0.12 s
tpak
0.0005 s
tdet
tack
ttotal
20 ns
0.00002 s
0.24052002 s
a = 240
U(tanpa error) = 0.00207
U = (1-Pe) / (1+2a)
= (1-10e-5*1000)/
(1+480)
= 0,99/481
= 0.00205821
SR: Analisis Perhitungan: Tanpa Error
Satelit :
Geosat : 36000km
E1 : 2Mbps
Paket : 1000b, Ack : 40b
U ??
0
Paket
Paket
t5 sd t6 = tpak
t total’ = t total + t pak
t pak’ = 2 * t pak
U
t2
ACK
= t pak’ / t total’
= 2 t pak / (2 t pro + 2 t pak)
= 2 /(2+2a)
Tetapi dalam perhitungan umum rumus
tersebut diubah menjadi:
U = 2 / (1+2a)
U = K / (1+2a) ; K = jumlah paket
Dipaksakan karena tpro >> tpak;
bukti : a = 240
Didapat peningkatan
dibandingkan 1 paket
t1
U = 0.00416
U = 0.00207
t3
t4
ACK
t5
t6
Selective Repeat Tanpa Error
Dengan analisis yang sama, didapatkan untuk
mekanisme ARQ selective repeat utilitas
jaringan menjadi:
K
U
K 1 2a
1 2a
(1 2a )
U
1 K 1 2a
1 2a
Selective Repeat dengan
Error
Dengan analisis yang sama, didapatkan untuk
mekanisme ARQ selective repeat utilitas
jaringan menjadi:
K (1 Pe)
U
K 1 2a
1 2a
(1 2a )(1 Pe)
U
1 Pe K 1 2a
1 2a
Go Back N
Sedangkan
untuk Go Back N
analisisnya jauh
lebih rumit
dikarenakan
adanya
pengiriman
ulang paket
dalam jumlah
besar.
Didapatkan
utilitas link
memenuhi
rumus:
K (1 Pe)
U
(1 2a) (1 2a) Pe( K 1)
K (1 Pe)
K 1 2a
(1 2a)(1 Pe( K 1))
(1 2a )(1 Pe)
U
(1 2a)(1 Pe( K 1))
1 Pe
K 1 2a
1 Pe( K 1)
Catatan : Pe = 1 – (1-BER)^(n-k)
Soal Latihan
Paket-paket 1000bit dikirim melalui datalink
100km dengan lajudata 20Mbps. Jika
kecepatan propagasi link 2*108 m/detik dan
BER 4*10-5. Hitung utilisasi link, jika:
Idle RQ
Selective Repeat dengan K=10
Go Back N dengan K=10
Solusi
Tpro= L/V = 100 km /(2*105 kmps) = 500 us
Tpaket = P/Bitrate = 1000 bit / 20 Mbps = 50 us
a = tpro/tpaket = 500 us / 50 us = 10
Pe = 1 – Pe(0) ≈ (1000*4*10-5) ≈ 0,04
IdleRQ : U = 1 / N(1+2a) = (1 – Pe)/(1+2a) =
0,96 / 21 = 0,0457
SR : U = K (1 – Pe)/(1+2a) = 9,6 / 21 = 0,4571
GBN : U = K (1 – Pe)/ (1+2a)+(1+2a)Pe(K-1) =
10 (0,96)/(21+21(0,04(10-1))) =
9,6 / (21 + 7,56) =
0,3382
Kesimpula
n ARQ
Yang paling efisien (Utilitas link lebih tinggi) = Selective Repeat
Yang paling tidak efisien = Idle RQ
Utilitas link = f(metoda,BER,panjang paket, jumlah paket sekali
pengiriman)
HDLC
High-level Data Link Control
Protokol datalink standar ISO untuk
hubungan P2P dan M2P
Hampir semua protokol datalink merupakan
‘turunan’ dari protokol ini
Mendukung komunikasi full-dupleks dan
dapat dengan mudah dikembangkan untuk
hubungan multipoint dan jaringan
komputer
Istilah lain (custom) : IBM-SDLC,ANSIADCCP
Proses Komunikasi HDLC
`
Format Frame HDLC
LAN
Local Area Network
Area jaringan sekitar 100 m atau lingkup
ruangan
Satu kabel/media transmisi
Satu kanal/frekuensi/panjang gelombang
Bagaimana mengatur akses media?
Mengatur akses
Pilihan 1: TDM
Berapa lebar slot?
Berapa slot yang harus disediakan?
Sifat trafik data bursty waktu giliran?
Pilihan 2: FDM
Tidak bisa, alat terlampau sederhana
Pilihan 3: PDM
Tidak bisa, alat terlampau sederhana
Pilihan 4: CDM
Saat itu teknologi komputasi untuk CDMA belum
ada
Jawaban
Digunakan TDM(?) yang dimodifikasi
Sistem akses seperti TDM tetapi tidak
tergantung lebar slot dan banyak slot
Mekanisme : dibiarkan rebutan, yang lebih
dahulu menguasai media
Biar semua kebagian :
Diatur panjang paket maksimum 1500 byte
(setara dengan 12000b /10Mbps = 1,2 ms)
Ada waktu random dari ‘melihat’ media
kosong sampai keputusan mengirim paket
Disebut mekanisme CSMA (Carrier Sense
Multiple Access)
CSMA
Pihak yang akan mengirim paket wajib
mensense (mendeteksi) apakah di saluran
(media) ada sinyal (sedang ada paket)
Carrier Sense
Jika kosong, harus menunggu selama waktu
random yang ditentukan baru boleh
mengirim paket
CSMA modifikasi
Masalah :CSMA masih menyisakan
kemungkinan tabrakan (ada 2 atau lebih
yang menggunakan waktu random yang
sama)
Solusi :
1. Biarkan tabrakan, tapi di tindak lanjuti
(Collision Detection)
2. Jangan biarkan tabrakan (Collision
Avoidance)
Solusi 1 : CSMA/CD
CD = Collision Detection
Pihak pengirim paket wajib memonitor
paket, jika terjadi tabrakan pengirim
wajib mengirim sinyal perusak agar semua
pihak dijaringan tahu terjadi tabrakan
Pengirim melakukan kembali CSMA
Algoritma
CSMA/CD
Solusi 2 : CSMA/CA
CA = Collision
Avoidance
Algoritma
CSMA - CA
Masalah Kedua :
Pengalamatan
Solusi : manusia nama , mesin alamat
Alamat yang bagaimana?
Idealnya : alamat harus beda
Sebeda apa?
Paling
tidak berbeda pada satu kelompok
Jurus yang dipilih untuk LAN : benar-benar beda
(unik) MAC address
Bagaimana caranya biar unik?
Dibuat dua bagian alamat :
Bagian pertama (XX-XX-XX) ditentukan oleh suatu
badan
Bagian kedua (YY-YY-YY) ditentukan oleh pabrik
pembuatnya
48 bit = XX-XX-XX-YY-YY-YY
Syarat bisa berkomunikasi di
LAN
Tahu MAC Address tujuan
Kirim paket pertanyaan broadcast
(10.14.xx.255)
Siapa yang beralamat 10.14.xx.yy
Balasan
10.14.xx.yy = xx-xx-xx-yy-yy-yy
Protokol ARP (address resolution protocol)
MAC (medium access control)
Digunakan pada LAN dan turunannya (IEEE
802.xx)
Contoh untuk IEEE 802.3 (ethernet)
1
2
3
4
5
6
7
8
9
10
11
Destination MAC Address (6 bytes)
Source MAC Address (6 bytes)
Option/Protocol (2 bytes)
Data (up to 1500 bytes)
CRC-32 (4 bytes)
12
13
14
15
16
Standar Protokol LAN
IEEE802
Materi 4
Lapis Datalink
Terminologi Fisik Jaringan
Node
Link
Terminal
Jaringan
Tugas Datalink
Pembukaan hubungan dan penutupan
hubungan
Melakukan kendali atas kesalahan yang
mungkin terjadi : tool pariti, crc, dll
Melakukan pengendalian banyaknya data
yang dikirim untuk menghindari
kemacetan (kongesti) : tool sliding
windows dll
Dan lainnya (optional : tambahan untuk
protokol datalink tertentu)
Proses Hubungan Di Link
Ada 2 jenis proses hubungan di link :
Memerlukan connection setup
Hubungan langsung
Connection setup
Ada banyak path yang bisa dipilih
Untuk hubungan yang sangat handal
Tersedia berbagai pilihan kecepatan komunikasi
Hubungan langsung
Tanpa pilihan jalur dan kecepatan komunikasi
Point-to-point connection
Metoda Deteksi Kesalahan
Agar bisa melakukan kendali kesalahan,
syarat mutlak yang harus ada adalah
adanya mekanisme deteksi kesalahan
Beberapa metoda yang umum digunakan:
Pariti paling sederhana
CRC lebih sulit, meminta kemampuan
komputasi
Checksum operasi word
Proses Deteksi Kesalahan
Bit E dan E’
dibandingka
n di
penerima,
jika tidak
sama maka
dilakukan
retransmisi.
7
Deteksi Kesalahan
Definisi nilai probabilitas dalam transmisi frame:
Pb = BER probabilitas suatu bit salah
P1 probabilitas sebuah frame tiba tanpa kesalahan
P2 probabilitas frame tiba dengan 1 atau lebih bit salah tak
terdeteksi
P3 probabilitas sebuah frame tiba dengan 1 atau lebih bit
salah yang terdeteksi
F=jumlah bit per frame
Jika tidak ada fasilitas pendeteksi kesalahan, maka
P1 = (1 - Pb)F
P2 = 1 - P 1
P3 = 0
Kode pendeteksi kesalahan adalah bit-bit tambahan yang
8
diikutkan pada suatu frame, dihitung sebagai fungsi dari bit-bit
dalam frame tersebut
Pariti
Penambahan 1 bit sebagai bit deteksi
kesalahan
Terdapat 2 jenis pariti : genap dan ganjil
Pariti genap = jumlah bit 1 dalam kode adalah
genap
Pariti genap = d1 xor d2 xor ….. Dn
Pariti ganjil = jumlah bit 1 dalam kode adalah
ganjil
Pariti ganjil = (d1 xor d2 xor ….. Dn) xor 1
Sistem sederhana dan mudah dibuat
hardwarenya (di PC digunakan IC 74LS280)
Tidak mampu mendeteksi kesalahan bit
genap peluang benar deteksi kesalahan
hanya 25% (peluang salah mutlak 50% +
peluang salah deteksi 25%)
Cyclic Redudancy Check: Sisi
Penggirim
Merupakan hasil operasi pembagian biner
dengan suatu pembagi tertentu (generator
polinomial)
Pembagi : Dn Dn-1 …D1
Deretan bit : b1 b2 b3 …. bm
Operasi :
(b1 b2 b3…bm)n-1 / Dn…D1 sisa (Rn-1…R1)
Dikirim
b1 b2 b3…bm Rn-1…R1
Cyclic Redudancy Check: Sisi Penerima
Oleh penerima dilakukan operasi yang sama
b1 b2 b3…bm Rn-1…R1 / Dn…D1 sisa (rn-1…r1)
Data benar jika rn-1…r1 = 0
Data salah jika rn-1…r1 ≠ 0
Pembagi standar internasional
CRC-16 11000000000000101
CRC-ITU 10001000000100001
CRC-32 100000100100000010001110110110111
Jika diperlukan pembagi boleh tidak menggunakan
standar ini asal memenuhi:
Diawali dan diakhiri dengan bit 1 ( 1xxxxxx1)
Jumlah minimum bit “1” : 3 bit
Agar bisa mendeteksi jumlah bit kesalahan ganjil :harus
habis dibagi oleh (11 = X + 1)
Contoh Perhitungan CRC
Penerima
1 0 1 1 0 1 1 0
qu
1 1 0 0 1
en
o ti
1 1 0 0 1
1 0 1 1 0 1 1 0
1 1 1 0 0 1 1 0 0 0 0 0
1 1 0 0 1
s
0 0 1 0 1 1
1 1 1 0 0 1 1 0
0 1 1 0
1 1 0 0 1
0 0 1 0 1 1
0 0 0 0 0
0 1 0 1 1 1
R E M A IN D E R
1 1 0 0 1
0 1 1 1 0 0
1 1 0 0 1
Pengirim
0 0 1 0 1
0
0 0 0 0
0
0 1 0 1
0 0
1 1 0
0 1
0 1 1
0 1 0
1 1
0 0 1
0 0
0
0 1 1 0
0 0 0 0
0 1 1 0
F C S /C R C
= 0 , n o e rro r
R E M A IN D E R
= 0 , e rro r d e te c te d
Latihan
1. Diketahui suatu pesan 1101101101
dengan pola pembagi 110101.
Tentukan FCS menggunakan menggunakan
CRC-aritmatika modulo-2
Jika pada receiver diterima sebuah pesan
110110110100101. Tentukan apakah
dideteksi adanya kesalahan? Buktikan
dengan menggunakan CRC-polinomial!
Penggunaan : Pada Paket LAN
(MAC)
1
2
3
4
5
6
7
8
9
10
11
Destination MAC Address
Source MAC Address
Protocol
Data (46 – 1500 B)
CRC-32
12
13
14
15
16
Checksum
CRC memerlukan perhitungan xor sebanyak
jumlah bit data memerlukan kemampuan
komputasi yang cukup besar
Diciptakan metoda checksum (untuk
mengurangi perhitungan) pada beberapa jenis
transmisi tidak perlu kecanggihan CRC atau
sudah melakukan CRC di lapis lain
Cara perhitungan checksum:
Data dibagi menjadi kelompok-kelompok 16 bit (word)
Word pertama di xor dengan word kedua
Hasil di xor dengan word ketiga, keempat, …sampai
word terakhir (jika bit-bit terakhir tidak cukup untuk
menjadi word, ditambahkan padding bit ‘0’ sampai
membentuk word)
Hasil akhir (16 bit) = checksum
Contoh perhitungan
0 1 1 0 1 1 1 0 0 1 0 1 0 0 1 0
1 0 1 1 1 1 0 0 1 0 1 0 1 1 0 0
1 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0
0
1
1
1
0
1
0
1
0
1
1
1
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
0
0
1
0
1
1
0
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
1
0
1
0
1
0
1
1
0
1
0
1
1
0
1
1
0
1
0
1
0
0
0
0
0
DATA
Padding
Checksum
Pengguna Checksum: IP
1
2
3
Version
4
5
6
7
8
Header length (dword)
9
10
11
12
13
14
Priority (0-7)
low
high
high
“1”
Precedence
D
T
R
unused
Total length
Identification
D
M
Fragment offset
Time to live (seconds)
Protocol
Header checksum
Source IP address
Destination IP address
Option (0 word atau lebih)
Data 64 kB
15
16
Pengguna Checksum: TCP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
ACK
PSH
RST
SEQ
FIN
Source port
Destination port
Sequence number
Acknowledge number
Header length
Reserved
URG
Windows
Checksum
Urgent pointer
Options
Padding
User data
Backward Error Control
Kemampuan deteksi kesalahan digunakan
untuk melakukan perbaikan kesalahan
(error control) dengan cara meminta
pengiriman ulang jika paket yang diterima
salah
Paket 1
X
Paket 1 Kirim Ulang
Paket 1
Paket 2
√
Backward Error Control: ARQ
ARQ = Automatic ReQuest
ARQ akan mengulang / tidak mengulang
pengiriman data sesuai dengan feedback
dari penerima
Feedback dari penerima
ACK = acknowledge data diterima benar
NAK = not acknowledge data diterima salah
ARQ : Idle RQ
1
√
ACK
2
X
NAK
2
t
Kasus 1: jika paket tidak
sampai
1
Error
∆t
Detectio
n
ACK
δt
1
Pengirim menunggu feedback sampai ∆t +δt, jika tidak ada
respon maka pengirim harus mengirimkan kembali paket
tersebut.
Waktu tersebut disebut dengan waktu
timeout
Kasus 2: feedback tidak
sampai
1
∆t
√
ACK
Diperlakukan sama dengan kondisi kasus 1 (time-out)
Kapankah pengirim mengirim ulang
paket ???
Jika mendapat feedback NAK
Jika timeout
Jika mendapat feedback yang tidak
dimengerti
Kesimpulan : pengirim mengirim ulang
paket Jika tidak mendapat ACK
ARQ : Idle RQ
“DIE HARD” ARQ
Paket akan diterima terjaga urutannya
Efisiensi saluran paling rendah
Cocok digunakan untuk saluran transmisi
yang sangat jelek kualitasnya (banyak
error)
ARQ : Selective Repeat
Hanya mengirim ulang untuk paket yang salah
Paket diterima tidak berurutan
Efisiensi saluran tinggi (dibandingkan idle RQ)
1
2
3
√
4
X
ACK1
X
NAK2
5
√
NAK3
2
ACK4
3
6
1
4
5
2
3
6
ARQ : Go Back N
1
2
3
4
5
2
3
4
Mengirim ulang mulai dari paket yang salah
Paket akan diterima terjaga urutannya
Efisiensi saluran lebih rendah dari Selective Repeat
√
ACK1
NAK2
?
?
ACK2
X
1
Don’t care
Don’t care
Don’t care
√
2
Kasus Lain Go Back N
1
2
3
4
5
6
7
4
√
ACK1
ACK2
ACK3
NAK4
√
1
√
2
X
Don’t care
3
Don’t care
√
4
Forward Error Control
Backward EC menyebabkan delay pengiriman paket yang
cukup besar tergantung dari berapa kali paket tersebut
harus dikirim
Untuk sistem transmisi jarak jauh dimana delay
propagasi sangat besar (kelas detik, menit atau jam) BEC
tidak bisa menjadi pilihan
Juga untuk aplikasi multimedia, dimana ketepatan waktu
kedatangan lebih utama dibandingkan dengan
‘kebenaran’ data, BER menyebabkan delay yang lewat
batas toleransi waktu
Dipergunakan Forward Error Correction (FEC) untuk
memecahkan masalah ini
FEC berprinsip dasar: penerima mampu membetulkan
sendiri kesalahan data yang sudah diterima, karena
selain menerima data juga menerima bit-bit redundansi
yang diperlukan
Jenis-Jenis FEC
Metoda FEC yang umum dikenal :
Block Parity
Hamming Code
Turbo Code, RS Code, BCH Code
Block Parity
Sederhana, menggunakan perhitungan pariti
Menggunakan pariti baris dan kolom sebagai
dasar
sarana koreksi kesalahan
Hanya mampu mengkoreksi kesalahan 1 bit,
mampu mendeteksi kesalahan lebih dari 1 bit
Efisiensi tergantung dari ukuran baris dan kolom
yang digunakan, semakin banyak baris dan kolom
akan semakin banyak bit pariti
Contoh Block Parity
1
1
0
1
1
1
1
0
1
1
√
1
0
1
1
1
1
0
0
1
1
X
1
1
0
1
1
1
1
0
1
1
√
0
0
1
1
0
0
0
1
1
0
√
1
0
0
0
1
1
0
0
0
1
√
√
√
X
√
√
√
Hamming Code: Sisi Pengirim
Menggunakan metoda matematik modulo 2
Disisipkan bit-bit pariti di posisi bit 2n : bit ke
1,2,4,8,16,32 dst
Bit pariti dihitung dengan cara:
P1 = d1 xor d2 xor d4
P2 = d1 xor d3 xor d4
P3 = d2 xor d3 xor d4
P4 = d5 xor d6 xor d7
xor
xor
xor
xor
P5 = d12 xor d13 xor d14
d5 xor d7 xor
d6 xor d7 xor
d8 xor d9 xor
d8 xor d9 xor
xor d15 dst
d9 dst
d10 dst
d10 dst
d10 dst
Banyaknya bit pariti yang dibutuhkan
tergantung jumlah bit datanya
Sehingga deretan bit P1 P2 d1 P3 d2 d3 d4 P4 d5
d6 d7 d8 d9 dst untuk ditransmisikan
Hamming Code: Sisi
Penerima
Setelah diterima dilakukan perhitungan
H1
H2
H3
H4
H5
=
=
=
=
=
P1
P2
P3
P4
P5
xor
xor
xor
xor
xor
d1 xor d2 xor d4 xor
d1 xor d3 xor d4 xor
d2 xor d3 xor d4 xor
d5 xor d6 xor d7 xor
d12 xor d13 xor d14
d5 xor d7 xor
d6 xor d7 xor
d8 xor d9 xor
d8 xor d9 xor
xor d15 dst
d9 dst
d10 dst
d10 dst
d10 dst
Jika disusun menjadi H5 H4 H3 H2 H1 dan
terbaca :
00000 = 0 tidak ada kesalahan
00101 = 5 bit 5 (d2) salah
01001 = 9 bit 9 (d5) salah
Metoda FEC Lain
Semua metoda FEC pada dasarnya
menggunakan metoda matematik modulo 2
Metoda ini terus dikembangkan dengan
tujuan:
Mendapatkan kemampuan koreksi bit yang semakin
banyak
Dengan mengurangi jumlah bit pariti yang
dibutuhkan
Mampu melanjutkan komunikasi walaupun sempat
terputus.
Metoda yang umum digunakan:
BCH Code
Reed Solomon Code
Convolutional Code
Trellis Code
Turbo Code
Kendali Aliran (Flow control)
Fungsi lain yang diperlukan dalam
mentransmisikan data di suatu link adalah
kendali aliran
Dibutuhkan terutama jika aliran data dari
yang cepat ke yang lambat, dimana aliran
data harus diatur agar penerima tidak
overflow
Mengatur aliran dengan cara:
Start – stop
Besarnya aliran
Model Kendali Aliran
Aliran
data
masuk
Buffer
Server
Aliran
data
keluar
Dua Jenis Kendali Aliran
Start-stop
Aliran data diatur sesuai dengan permintaan pihak
penerima, jika penerima merasa buffer penerimaannya
penuh, maka ia akan mengirim sinyal stop ke pengirim,
dan jika buffer penerimaannya kosong, ia akan mengirim
sinyal start.
Teknik ini sederhana, relatif mudah di implementasikan
Teknik start-stop umum:
RTS,CTS
X-on,X-off
Mengatur aliran
Aliran data diatur berdasarkan besar bandwitdh saluran
saat itu, teknik ini bekerja berdasarkan feedback dari
penerima yang ‘mengukur’ laju data yang mampu dia
terima.
Relatif lebih rumit dari teknik start-stop
Contoh : (sliding) window
Pengguna Kendali Aliran
Pengguna utama adalah protokol lapis
datalink (RS-232, RS-.., HDLC,…)
Untuk teknik kendali aliran yang lebih
canggih diterapkan di lapis atas seperti
TCP (lapis transport)
Kendali Aliran di RS-232
Terdapat dua jenis kendali aliran yang bisa diterapkan
di sistem komunikasi RS-232, yaitu teknik hardware
dan teknik software
RTS – CTS (hardware), digunakan saluran tambahan
untuk mengkomunikasikan informasi kendali aliran,
dirancang untuk berkomunikasi dengan modem yang
lebih lambat dari interface RS-232.
Koneksi fisik
TX
RX
RX
TX
Pertukaran sinyal
• RTS
GND
•
GND
RTS
CTS
CTS
RTS
Jika dijawab CTS maka TX
jika tidak tunggu
Kendali Aliran di RS-232
Software (X-on, X-off),
digunakan karakter-karakter
tertentu untuk bertukar
informasi kendali aliran
Lebih sedikit membutuhkan
koneksi fisik (2 kabel untuk satu
arah komunikasi, 3 kabel untuk
dua arah)
Algoritma kerja disisi pengirim
Tunggu X-ON
Kirim TX
Jika mendapat X-OFF, berhenti
kirim
Algoritma kerja disisi penerima
Periksa buffer penerimaan
Jika kosong kirim X-ON, jika
penuh kirim X-OFF
Koneksi
fisik
TX
RX
RX
TX
GN
D
----
GN
D
Sliding window
Teknik kendali aliran start-stop mempunyai
kelemahan trafik yang terjadi menjadi diskrit
(bisa juga bursty), menyebabkan naiknya
peluang kongesti di jaringan, tidak cocok untuk
komunikasi jarak jauh (melalui banyak link).
Dikembangkan teknik pengendalian aliran yang
lebih adaptif sesuai dengan kondisi jalur
transmisi yang dilewati, sehingga data dapat
ditransmisikan dengan jumlah yang ‘cukup’
tidak berlebih dan tidak kurang. Teknik ini
meningkatkan efisiensi bandwidth yang pada
ujungnya akan mengurangi terjadinya kongesti
jaringan.
Salah satu teknik yang sejak awal dibuatnya
protokol internet adalah teknik sliding windows
Sliding window
Window = angka jumlah pengiriman paket saat
ini
Window = 3 satu kali kirim maksimum 3 paket
Cara kerja:
Penerima akan menetapkan jumlah window
terimanya berdasarkan tingkat keberhasilan
penerimaan paket, kebijakan yang ditetapkan
oleh lapis aplikasi, dll
Pengirim kemudian akan mengirim paket sesuai
dengan jumlah window yang ditetapkan
penerima
Pada TCP besarnya windows di’ikutkan’ ke paket
arah pengirim dari pihak penerima tidak perlu
paket khusus, meningkatkan efesiensi transmisi
Besarnya window
Untuk setiap algoritma ARQ yang telah
dipelajari, ukuran window yang sesuai adalah:
ARQ
Idle RQ
Selective
Repeat
Go Back N
Window
Kirim
1
Window
Terima
1
N
N
N
1
Implementasi Windows di TCP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
URG
ACK
PSH
RST
SEQ
FIN
Source port
Destination port
Sequence number
Acknowledge number
Header length
Reserved
Windows
Checksum CRC-16
Urgent pointer
Options
Padding
Implementasi Windows di
TCP
Disediakan 16 bit untuk windows (dari 0 sd
64k).
Untuk TCP awal, windows dimulai dari 1,
kemudian naik dua kalinya untuk setiap tahap
pengiriman sampai maksimum yang
ditetapkan penerima, jika terjadi kegagalan
penerimaan sebelum mencapai maksimal
tersebut, windows akan si set kembali menjadi
1.
Disebut mekanisme Slow-Start TCP yang tentu
saja untuk kondisi jaringan saat ini dianggap
terlampau berhati-hati, sehingga
dikembangkan berbagai mekanisme TCP lain
untuk memperbaikinya: TCP-Reno, TCP-Vegas,
Pengaruh Ukuran Windows Terhadap
Proses Pengiriman Paket
W > =4
W=2
Perhitungan Waktu Transmisi Paket
Suatu transmisi data di link memerlukan
waktu.
Penggunaan ARQ menyebabkan waktu
transmisi adalah sama dengan waktu dari
mulai paket dikirim sampai dengan waktu
diterimanya ACK oleh pengirim
Komponen waktu transmisi bisa dihitung
dengan penyerhanaan sebagai berikut:
Perhitungan Waktu Transmisi Paket
0
Paket
0-t1 = waktu
propagasi
t1-t2 = waktu paket
(waktu pengeluaran
bit 1 sampai terakhir)
t2-t3 = waktu deteksi
t3-t4 = waktu paket
ack
t4-t5 = waktu
propagasi
t1
t2
Err Det
ACK
t3
t4
t5
t
Perhitungan Waktu Transmisi Paket
Waktu propagasi = waktu yang diperlukan
untuk 1 bit menempuh jarak pengirimpenerima tpro = jarak/kecepatan
Waktu paket = waktu yang diperlukan
untuk mengeluarkan semua bit pada
paket tersebut tpac = panjang paket
(bit)/bitrate
Perhitungan Waktu Transmisi Paket
Waktu deteksi = waktu yang dibutuhkan
oleh penerima untuk menentukan paket
yang diterima benar atau salah
tdet = f(metoda,kecepatan komputer) undefined
(semakin hari semakin cepat)
(kelas ns)
Waktu paket ack tack
= panjang paket
ack/bitrate
ttotal = 2tpro + tpac + tdet + tack
Contoh kasus:
Interface E : 10
Mbps, Paket 1512B,
100m, Ack 16B
ttotal ???
Tx
a = 2.75e4
U = 0.98898
Rx
tpro
3.33333E-07 s
0.000333 ms
0.33333333
3 us
333.333
3 ns
tpak
0.0012096 s
1.2096 ms
1209.6 us
1209600 ns
tack
0.0000128 s
0.0128 ms
12.8 us
12800 ns
tdet
0.00000001 s
0.00001 ms
0.01 us
10 ns
ttotal =
0.00122307
7 s
1.223077 ms
1223.07666
7 us
1223077 ns
Contoh kasus lain:
Satelit :
Geosat : 36000km
E1 : 2Mbps
Paket : 1000b, Ack :
40b
T total ???
U = 0.00207
a = 240
tpro
0.12 s
tpak
0.0005 s
tdet
tack
ttotal
20 ns
0.00002 s
0.24052002 s
Rumus Hasil Penyederhanaan
Didapatkan dari kedua contoh kasus, waktu
total transmisi paket didominasi oleh waktu
paket atau waktu propagasi tergantung dari
jarak transmisi, sedangkan waktu deteksi
sangat bergantung pada kecepatan
perhitungan penerima yang cenderung
semakin kesini semakin cepat, waktu ack
relatif dapat diabaikan karena panjang paket
ack jauh lebih kecil dari panjang paket data.
Sehingga :
ttotal ≈ 2 tpropagasi + tpaket
Variabel a
Untuk memudahkan penulisan rumus dan
memperlihatkan suatu variabel penentu
hasil perhitungan utilitas link, maka
dibuatlah variabel a
Dengan: a = tpro/tpak
Kasus a = 1
Tx
a = 1, menyatakan
Rx
t
tpro = tpak
gejala fisik saluran
akan penuh oleh
paket, dalam arti
bit pertama mulai
diterima saat bit
terakhir dikirim
Terjadi jika waktu
untuk mengasilkan
paket sama persis
dengan waktu
propagasi
Kasus a > 1
Tx
Rx
t
tpro > tpak
a > 1,
menyatakan
gejala fisik saluran
akan sebagian
kosong, dalam arti
paket telah selesai
dihasilkan saat bit
pertama diterima
Terjadi jika waktu
untuk
mengasilkan
paket lebih kecil
dari waktu
propagasi
Kasus a < 1
Tx
Rx
t
tpro <
tpak
a > panjang paket
Contoh Lain Perhitungan BER
Berapakah peluang error paket 1000 bit
jika diketahui : BER = 10-5 dan error yang
terjadi untuk setiap paket maksimum 3
bit??
Bisa dihitung sebagai
Pe(paket)
= Pe(1) + Pe(2) + Pe(3)
= 9.9e-3 + 4.94e-5 + 1.64e-7
= 9.95e-3
Hubungan Pe(paket) Dengan
ARQ
Pe(paket) menentukan berapa kali
pengiriman ulang !!
Pe(paket) = 1/2 N (rata-rata banyaknya
pengiriman suatu paket agar diterima
dengan benar) = 2
Pe(paket) = 1/3 N = 3/2
Pe(paket) = 1/4 N = 4/3
N = 1 / (1 – Pe)
Pengaruh Ke Parameter U
Dikarenakan ada pengiriman ulang
sebanyak N kali, maka rumus perhitungan
parameter U mengalami revisi menjadi:
U = 1 / (N(1+2a))
atau
U= (1-Pe) / (1+2a)
Contoh Perhitungan U
Satelit :
Geosat : 36000km
E1 : 2Mbps
Paket : 1000b, Ack :
40b
BER = 10e-5
tpro
0.12 s
tpak
0.0005 s
tdet
tack
ttotal
20 ns
0.00002 s
0.24052002 s
a = 240
U(tanpa error) = 0.00207
U = (1-Pe) / (1+2a)
= (1-10e-5*1000)/
(1+480)
= 0,99/481
= 0.00205821
SR: Analisis Perhitungan: Tanpa Error
Satelit :
Geosat : 36000km
E1 : 2Mbps
Paket : 1000b, Ack : 40b
U ??
0
Paket
Paket
t5 sd t6 = tpak
t total’ = t total + t pak
t pak’ = 2 * t pak
U
t2
ACK
= t pak’ / t total’
= 2 t pak / (2 t pro + 2 t pak)
= 2 /(2+2a)
Tetapi dalam perhitungan umum rumus
tersebut diubah menjadi:
U = 2 / (1+2a)
U = K / (1+2a) ; K = jumlah paket
Dipaksakan karena tpro >> tpak;
bukti : a = 240
Didapat peningkatan
dibandingkan 1 paket
t1
U = 0.00416
U = 0.00207
t3
t4
ACK
t5
t6
Selective Repeat Tanpa Error
Dengan analisis yang sama, didapatkan untuk
mekanisme ARQ selective repeat utilitas
jaringan menjadi:
K
U
K 1 2a
1 2a
(1 2a )
U
1 K 1 2a
1 2a
Selective Repeat dengan
Error
Dengan analisis yang sama, didapatkan untuk
mekanisme ARQ selective repeat utilitas
jaringan menjadi:
K (1 Pe)
U
K 1 2a
1 2a
(1 2a )(1 Pe)
U
1 Pe K 1 2a
1 2a
Go Back N
Sedangkan
untuk Go Back N
analisisnya jauh
lebih rumit
dikarenakan
adanya
pengiriman
ulang paket
dalam jumlah
besar.
Didapatkan
utilitas link
memenuhi
rumus:
K (1 Pe)
U
(1 2a) (1 2a) Pe( K 1)
K (1 Pe)
K 1 2a
(1 2a)(1 Pe( K 1))
(1 2a )(1 Pe)
U
(1 2a)(1 Pe( K 1))
1 Pe
K 1 2a
1 Pe( K 1)
Catatan : Pe = 1 – (1-BER)^(n-k)
Soal Latihan
Paket-paket 1000bit dikirim melalui datalink
100km dengan lajudata 20Mbps. Jika
kecepatan propagasi link 2*108 m/detik dan
BER 4*10-5. Hitung utilisasi link, jika:
Idle RQ
Selective Repeat dengan K=10
Go Back N dengan K=10
Solusi
Tpro= L/V = 100 km /(2*105 kmps) = 500 us
Tpaket = P/Bitrate = 1000 bit / 20 Mbps = 50 us
a = tpro/tpaket = 500 us / 50 us = 10
Pe = 1 – Pe(0) ≈ (1000*4*10-5) ≈ 0,04
IdleRQ : U = 1 / N(1+2a) = (1 – Pe)/(1+2a) =
0,96 / 21 = 0,0457
SR : U = K (1 – Pe)/(1+2a) = 9,6 / 21 = 0,4571
GBN : U = K (1 – Pe)/ (1+2a)+(1+2a)Pe(K-1) =
10 (0,96)/(21+21(0,04(10-1))) =
9,6 / (21 + 7,56) =
0,3382
Kesimpula
n ARQ
Yang paling efisien (Utilitas link lebih tinggi) = Selective Repeat
Yang paling tidak efisien = Idle RQ
Utilitas link = f(metoda,BER,panjang paket, jumlah paket sekali
pengiriman)
HDLC
High-level Data Link Control
Protokol datalink standar ISO untuk
hubungan P2P dan M2P
Hampir semua protokol datalink merupakan
‘turunan’ dari protokol ini
Mendukung komunikasi full-dupleks dan
dapat dengan mudah dikembangkan untuk
hubungan multipoint dan jaringan
komputer
Istilah lain (custom) : IBM-SDLC,ANSIADCCP
Proses Komunikasi HDLC
`
Format Frame HDLC
LAN
Local Area Network
Area jaringan sekitar 100 m atau lingkup
ruangan
Satu kabel/media transmisi
Satu kanal/frekuensi/panjang gelombang
Bagaimana mengatur akses media?
Mengatur akses
Pilihan 1: TDM
Berapa lebar slot?
Berapa slot yang harus disediakan?
Sifat trafik data bursty waktu giliran?
Pilihan 2: FDM
Tidak bisa, alat terlampau sederhana
Pilihan 3: PDM
Tidak bisa, alat terlampau sederhana
Pilihan 4: CDM
Saat itu teknologi komputasi untuk CDMA belum
ada
Jawaban
Digunakan TDM(?) yang dimodifikasi
Sistem akses seperti TDM tetapi tidak
tergantung lebar slot dan banyak slot
Mekanisme : dibiarkan rebutan, yang lebih
dahulu menguasai media
Biar semua kebagian :
Diatur panjang paket maksimum 1500 byte
(setara dengan 12000b /10Mbps = 1,2 ms)
Ada waktu random dari ‘melihat’ media
kosong sampai keputusan mengirim paket
Disebut mekanisme CSMA (Carrier Sense
Multiple Access)
CSMA
Pihak yang akan mengirim paket wajib
mensense (mendeteksi) apakah di saluran
(media) ada sinyal (sedang ada paket)
Carrier Sense
Jika kosong, harus menunggu selama waktu
random yang ditentukan baru boleh
mengirim paket
CSMA modifikasi
Masalah :CSMA masih menyisakan
kemungkinan tabrakan (ada 2 atau lebih
yang menggunakan waktu random yang
sama)
Solusi :
1. Biarkan tabrakan, tapi di tindak lanjuti
(Collision Detection)
2. Jangan biarkan tabrakan (Collision
Avoidance)
Solusi 1 : CSMA/CD
CD = Collision Detection
Pihak pengirim paket wajib memonitor
paket, jika terjadi tabrakan pengirim
wajib mengirim sinyal perusak agar semua
pihak dijaringan tahu terjadi tabrakan
Pengirim melakukan kembali CSMA
Algoritma
CSMA/CD
Solusi 2 : CSMA/CA
CA = Collision
Avoidance
Algoritma
CSMA - CA
Masalah Kedua :
Pengalamatan
Solusi : manusia nama , mesin alamat
Alamat yang bagaimana?
Idealnya : alamat harus beda
Sebeda apa?
Paling
tidak berbeda pada satu kelompok
Jurus yang dipilih untuk LAN : benar-benar beda
(unik) MAC address
Bagaimana caranya biar unik?
Dibuat dua bagian alamat :
Bagian pertama (XX-XX-XX) ditentukan oleh suatu
badan
Bagian kedua (YY-YY-YY) ditentukan oleh pabrik
pembuatnya
48 bit = XX-XX-XX-YY-YY-YY
Syarat bisa berkomunikasi di
LAN
Tahu MAC Address tujuan
Kirim paket pertanyaan broadcast
(10.14.xx.255)
Siapa yang beralamat 10.14.xx.yy
Balasan
10.14.xx.yy = xx-xx-xx-yy-yy-yy
Protokol ARP (address resolution protocol)
MAC (medium access control)
Digunakan pada LAN dan turunannya (IEEE
802.xx)
Contoh untuk IEEE 802.3 (ethernet)
1
2
3
4
5
6
7
8
9
10
11
Destination MAC Address (6 bytes)
Source MAC Address (6 bytes)
Option/Protocol (2 bytes)
Data (up to 1500 bytes)
CRC-32 (4 bytes)
12
13
14
15
16
Standar Protokol LAN
IEEE802