Top Banner
Data Link Layer: Automatic Repeat Request (ARQ) Achmad Ubaidillah,ST.MT. Sumber : [email protected]
26

ARQ

Jul 13, 2016

Download

Documents

franata

jarkom
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ARQ

Data Link Layer: Automatic Repeat Request

(ARQ)

Achmad Ubaidillah,ST.MT.

Sumber : [email protected]

Page 2: ARQ

Automatic Repeat ReQuest (ARQ)

Jika penerima mendeteksi error dlm suatu paket, bagaimana caranya pengirim tahu utk mengirim kembali paket tsb?

Sistem yg secara otomatis meminta retransmisi dari paket yg hilang atau paket yg mengalami error disebut sistem ARQ

Tiga skim yg umum – Stop & Wait – Go Back N – Selective Repeat

Page 3: ARQ

Untuk memberi tahu pengirim apakah data yang dikirim diterima dengan sukses, penerima dapat mengirimkan:– Acknowledgment (ACK) — Indikasi penerimaan dengan baik– Negative Acknowledgment (NAK) — keluhan terhadap error

Strategi ACK/NAK memerlukan time-out Untuk sistem yang menggunakan link yang handal,

gaya end-to-end lebih disukai

ACK/NAK (1)

Page 4: ARQ

1 2 3 4 5

End-to-end ACK/NAK

Data Data Data Data

1 2 3 4 5

Hop-by-hop

Data Data Data Data

ACK/ NAK

ACK/ NAK

ACK/ NAK

ACK/ NAK

ACK/NAK (1)

Page 5: ARQ

Protokol Automatic Repeat Request (ARQ) menjamin pengiriman data handal (atau memberi tahu pengirim ketidakmampuan pengiriman)

Frame Grup bit-bit yang ditransmisikan bersama, berisi :— Header menjelaskan bagaimana untuk memperlakukan sisa

frame lainnya.— Paket Informasi (Payload) data user (optional)— Error Detection Code biasanya CRC

Frame Informasi (I-Frame) berisi data Frame Control mengatur/meregulasi komunikasi

Protocol ARQ

Page 6: ARQ

Packet sequence

Error-free packet

sequence

Informationframes

Control frames

Transmitter Receiver

CRC

Informationpacket

Header

Station A Station B

Information Frame

Control frame

CRC Header

Protocol ARQ

Page 7: ARQ

Frame control dapat berupa : Dari penerima :

ACK mendapatkan data NAK tidak mendapat data Error Detection Code biasanya CRC

Dari pengirim : Frame Enquiry (ENQ) meminta laporan status dari

penerima

Tipe-Tipe Frame Control

Page 8: ARQ

Stop-and-Wait ARQ bekerja dengan : Sisi penerima mendapat frame-I dan

CRC valid (tidak ada error terdeteksi) balas ACK CRC invalid balas NAK

Sisi pengirim : Transmist Frame-I Segera hidupkan timer frame-I Lakukan salah satu dari berikut:

* Menerima ACK sebelum timeout kirim frame berikutnya* Menerima NAK sebelum timeout retransmit frame* Timeout retransmit frame

Stop and Wait ARQ

Page 9: ARQ

ACK dan Frame-I harus mempunyai nomor urut untuk mencegah frame ACK tidak match

Timer frame-I harus tidak terlalu cepat (terlalu lambat juga jelek!)

Tantangan Stop and Wait ARQ

Page 10: ARQ

(a) Frame 1 lost ACK dan Time-out mengatasi transmisi error

A

B

frame 0

frame1

ACK

frame1

ACK

timeTime-out

frame2

(b) ACK lost jika tanpa pernomoran frame, B tdk tahu frame 1 dikirm 2 kali

A

B

frame 0

frame1

ACK

frame1

ACK

timeTime-out

frame2

ACK

Tanpa penomoran frame:

Tantangan Stop and Wait ARQ

Page 11: ARQ

Tanpa penomoran ACK:

A

B

frame 0 frame

0ACKframe

1ACK

timetime-out

frame2

Tantangan Stop and Wait ARQ

Page 12: ARQ

Efisiensi Stop and Wait• Mis S = waktu total antara transmisi suatu paket

dan penerimaan ACK • DTP = waktu transmisi paket

Page 13: ARQ

Efisiensi Stop-and-Wait ARQ dapat ditingkatkan dgn : Checkpointing — jika timing out setelah mengirimkan

frame-I yang panjang, daripada melakukan retransmisi, kirim ENQ dulu (modifikasi minor)

Pipelining — Jika delay propagasi besar relatif terhadap waktu transmisi frame memerlukan protokol baru

Meningkatkan Efisiensi Stop and Wait

Page 14: ARQ

(a) Frame 1 lost

A

B

frame 0

frame1ACK

1

ENQACK

1

time

Time-out

frame1

(b) ACK for frame 1 lost

A

B

frame 0

frame1ACK

1

ENQACK

2

timeTime-out

frame2ACK

2

Stop and Wait ARQ: Frame ENQ

Page 15: ARQ

Go Back N ARQ (Sliding Window)

• Stop and Wait tdk efisien jika delay propagasi lebih besar drpd waktu transmisi paket – Hanya dp mengirim satu paket per round-trip time

• Go Back N memungkinkan transmisi paket-paket baru sebelum yg terdahulu di-acknowledged

• Go back N menngunakan mekanisme window dimana pengirim dp mengirim paket yg ada dlm rentang window dari paket-paket – Window dinaikan/digeser begitu acknowledgement dari

paket-paket sebelumnya diterima

Page 16: ARQ

Go Back N ARQ (Sliding Window)

Page 17: ARQ

Fitur-Fitur Go Back N• Ukuran Window = N

– Pengirim tdk dp mengirimkan paket dg nomor urutan paket/Sequence Number (SN) sampai dg SN = i+N sampai sudah menerima ACK utk paket dg SN = i

• Penerima beroperasi spt pd Stop and Wait

– Menerima paket-paket dlm urutan – Penerima tdk dp menerima paket tdk berurutan – Kirim ACK dg nomor paket yg di harapkan berikutnya

diterima/Request Number (RN), RN = i + 1 ACK utk semua paket sampai dg dan termasuk i

Page 18: ARQ

Pengirim Mengingat sejumlah frame-I sebelumnya Boleh mengirim frame-I s/d N frame (window=N) yg

belum di-ack Saat menerima NAK (atau timing out) untuk frame-I ke

i, restart transmisi frame-I kembali ke frame yg ke i

Penerima Buang deretan paket yang tidak berurut atau duplikasi Kirim ACK/NAK seperti Stop-and-Wait ARQ

Go-Back-N ARQ

Page 19: ARQ

A

B

fr0

timefr1

fr2

fr3

fr4

fr5

fr6

fr3

ACK1 error

Out-of-sequence frames

Go-Back-4: 4 frames are outstanding; so go back 4

fr5

fr6

fr4

fr7

fr8

fr9

ACK2

ACK3

ACK4

ACK5

ACK6

ACK7

ACK8

ACK9

Go-Back-N ARQ

Page 20: ARQ

A

fr0

timefr1

fr2

fr3

fr4

fr5

fr1

fr2

ACK1

error

Out-of-sequenceframes

Go-Back-7:

fr4

fr5

fr3

fr6

fr7

fr0

NAK1

ACK3

ACK4

ACK5

ACK6

ACK7

ACK2

Transmitter goes back to frame 1

NAK Error Recovery

Page 21: ARQ

• Misalkan kedua sisi adalah pengirim, bagaimana pengaruh dari Go Back-N ARQ?– Penerima dapat piggyback acknowledgments pada

header frame-I, yang memerlukan:– Menggunakan ACK timer untuk trigger sebuah ACK saat

tidak ada frame-I dijadwalkan untuk pengiriman

Bagaimana dengan Sistem Full Duplex?

Page 22: ARQ

Pada protokol Go-Back-N bi-directional kita dapat mengukur: Propagasi delay round trip sebagai 2Tprop

Maksimum waktu transmisi Frame-I Tfmax

Waktu proses sebuah frame Tproc

Karena keadaan terburuk adalah saat kedua sisi mengirimkan frame-frame terbesar yang mungkin, imterval timeout Tout harus paling sedikit:

Tout = 2Tprop + 2 Tproc + 2 Tfmax

Memilih Harga Timeout

Page 23: ARQ

Pada Go-Back-N ARQ : Pengirim harus mengingat N fame-I Satu kehilangan frame-I menyebabkan N frame

harus retransmisi

Perlu diingat sebagian besar frame-frame hilang karena kongesti, dan retransmisi akan meningkatkan trafik

Isue Efisiensi pada Go-Back-N ARQ

Page 24: ARQ

Selective Repeat ARQ memperbaiki Go-Back-N ARQ pada jaringan kongesti dengan mengurangi retransmisi

Pengirim: Menjaga timer untuk tiap frame dikirimkan dalam

window pengirimannya Jika menerima NAK atau timeout hanya retransmisi

frame yang terkorupsi atau hilang Tidak akan meningkatkan frame lebih dari window

pengiriman (Ws) dari frame terakhir yang di acknowledge

Selective Repeat ARQ

Page 25: ARQ

Tetapi sekarang penerima harus lebih smart! Penerima:

Mengingat nomor urut dari paket berikutnya Rnext yang diharapkan dilihat

Mengingat secara benar paket-paket yang datang dalam window penerima WR

Dalam hal paket terkorupsi atau hilang, kirim NAK dengan nomor urut tersebut

Jika paket retransmisi tiba, naikan Rnext sesuai nomor urut frame yang disimpan dalam window.

Selective Repeat ARQ

Page 26: ARQ

Dalam contoh ini frame 2 hilang, penerima meminta retransmisi. Begitu diterima penerima dan pengirim dapat menaikan sliding window mereka.

Contoh Selective Repeat ARQ