ARQ

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

description

jarkom

Transcript of ARQ

Data Link Layer: Automatic Repeat Request

(ARQ)

Achmad Ubaidillah,ST.MT.

Sumber : [email protected]

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

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)

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)

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

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

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

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

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

(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

Tanpa penomoran ACK:

A

B

frame 0 frame

0ACKframe

1ACK

timetime-out

frame2

Tantangan Stop and Wait ARQ

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

dan penerimaan ACK • DTP = waktu transmisi paket

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

(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

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

Go Back N ARQ (Sliding Window)

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

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

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

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

• 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?

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

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

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

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

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

Contoh Selective Repeat ARQ