Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Data Link Layer: Automatic Repeat Request (ARQ)

Presentasi serupa


Presentasi berjudul: "Data Link Layer: Automatic Repeat Request (ARQ)"— Transcript presentasi:

1 Data Link Layer: Automatic Repeat Request (ARQ)

2 Automatic Repeat ReQuest (ARQ)
Jika penerima mendeteksi error dlm suatu paket, bagaimana caranya pengirim tahu utk mengirim kembali (retransmisi) 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

3 ACK/NAK (1) Untuk memberi tahu pengirim apakah data yang dikirim diterima dengan sukses, penerima dapat mengirimkan: Acknowledgment (ACK) — Indikasi penerimaan dengan baik Negative Acknowledgment (NAK) — Indikasi paket ada error Strategi ACK/NAK memerlukan time-out Untuk sistem yang menggunakan link yang handal, gaya end-to-end lebih disukai

4 ACK/NAK (1) 1 2 3 4 5 End-to-end ACK/NAK 1 2 3 4 5 Hop-by-hop Data

5 Protocol ARQ Protokol Automatic Repeat Request (ARQ) menjamin pengiriman data handal (atau memberi tahu pengirim ketidaksempurnaan 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 Tipe Frame Frame Informasi (I-Frame)  berisi data Frame Control  mengatur/meregulasi komunikasi

6 Protokol ARQ Packet sequence Error-free packet Transmitter Receiver
Information frames Control frames Transmitter Receiver CRC Header Station A Station B Information Frame Control frame

7 Tipe-Tipe Frame Control
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

8 Stop and Wait ARQ Stop-and-Wait ARQ bekerja dengan :
Sisi penerima mendapat frame-I, periksa: 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

9 Stop and Wait ARQ 0 1 Rnext Slast Timer Receiver Transmitter
0 1 (0,0) (0,1) (1,0) (1,1) Timer Global State: (Slast, Rnext) Error-free frame 0 arrives at receiver ACK for frame 0 arrives at transmitter frame 1 Error-free frame 1 Station A Station B

10 Tantangan 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!)

11 Tantangan Stop and Wait ARQ
Tanpa penomoran frame: (a) Frame 1 lost  ACK dan Time-out mengatasi transmisi error A B frame 1 ACK time Time-out 2 (b) ACK lost  jika tanpa pernomoran frame, B tdk tahu frame 1 dikirim 2 kali A B frame 1 ACK time Time-out 2

12 Tantangan Stop and Wait ARQ
Tanpa penomoran ACK: A B frame ACK 1 time time-out 2

13 Efisiensi Stop and Wait
Mis S = waktu total antara transmisi suatu paket dan penerimaan ACK DTP = waktu transmisi paket

14 Meningkatkan Efisiensi Stop and Wait
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

15 Stop and Wait ARQ: Frame ENQ
(a) Frame 1 lost A B frame 1 ACK ENQ time Time-out (b) ACK for frame 1 lost

16 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 menggunakan 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

17 Go Back N ARQ (Sliding Window)

18 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

19 Go-Back-N ARQ Pengirim Penerima 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

20 Go-Back-N ARQ Transmitter Receiver Send Window ... Receive Window
Frames transmitted and ACKed Slast Srecent Slast+Ws-1 frames received Buffers Rnext Slast Timer Slast+1 Receiver hanya akan menerima frame yg bebas error dan memp. No urut frame Rnext Timer ... Timer Srecent ... Slast+Ws-1

21 Go-Back-N ARQ A B time Go-Back-4:
fr time 1 2 3 4 5 6 ACK1 error Out-of-sequence frames Go-Back-4: 4 frames outstanding  timeout; shg go back 4 7 8 9 ACK2 ACK3 ACK4 ACK5 ACK6 ACK7 ACK8 ACK9

22 Stop-and wait vs Go-Back-N ARQ
fr time 1 2 3 error Out-of-sequence frames 4 frame outstanding; shg go back 4 4 5 6 Time-out expires ACK1 Stop-and-Wait Go-Back-N ACK2 ACK3 ACK4 ACK5 ACK6

23 Berapa Besar N Sebaiknya?
Ukuran window terbaik N adalah: 1. Cukup besar untuk mencegah kanal idle 2. Kecil untuk mencegah mengkonsumsi memori dengan menyimpan state yang tidak perlu  Ukuran window optimal (pipeline depth) diberikan oleh Delay Bandwidth product

24 Berapa Besar N Sebaiknya?
fr time 1 2 3 ACK1 M : range no urut M =22 = 4, Go-Back - 4: ACK4 ACK2 ACK3 Transmitter retransmisi 4 frame (go back 4) Receiver mengharapkan Rnext=0, tapi tdk tahu apakah ACK utk frame 0 sblmnya diterima, shg receiver tdk tahu apakah ini frame 0 lama atau frame 0 baru M=22=4, Go-Back-3: Transmitter goes back 3 Receiver mengharapkan Rnext=3 , shg akan menolak frame 0 lama

25 Berapa Besar N Sebaiknya?
Pada Go-Back-N : Jika range nomor urut M=2m maka ukuran window maksimum: WS = WR < 2m

26 NAK Error Recovery Go-Back-7: time A error
fr time 1 2 3 4 5 ACK1 error Out-of-sequence frames Go-Back-7: 6 7 NAK1 ACK3 ACK4 ACK5 ACK6 ACK7 ACK2 Transmitter goes back to frame 1

27 Bagaimana dengan Sistem Full Duplex?
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

28 State pada Go-Back-N ARQ Bi-Directional
Transmitter Receiver ACKs are piggybacked in headers Station A Station B RA next “A” Receive Window RB next “B” Receive Window SA last SA last+1 SArecent SA last+WA s-1 Timer ... Buffers “A” Send Window SB last SBlast+1 SBrecent SB last+WB s-1 “B” Send Window SArecent RA next SBrecent RB next

29 Memilih Harga Timeout Tout = 2Tprop + 2 Tproc + 2 Tfmax
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, interval timeout Tout harus paling sedikit: Tout = 2Tprop + 2 Tproc + 2 Tfmax

30 Isue Efisiensi pada Go-Back-N ARQ
Pengirim harus mengingat N buah fame-I Satu kehilangan frame-I menyebabkan N buah frame harus retransmisi Perlu diingat, sebagian besar frame-frame hilang di jaringan disebabkan karena kongesti, dan retransmisi akan meningkatkan trafik  memperparah kongesti

31 Selective Repeat 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

32 Selective Repeat ARQ Tetapi sekarang penerima harus lebih smart!
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.

33 Selective Repeat ARQ Transmitter Receiver Buffers Slast Slast+Ws-1 ...
Send Window Srecent Frames transmitted and ACKed Timer Slast+1 Receive Window Rnext received Rnext +Wr-1 Rnext+1 Rnext+2 Rnext+Wr-1

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

35 Ukuran Window Selective Repeat ARQ
Jika range nomor urut M=2m maka ukuran window maksimum: WS = WR = 2m-1 WS = WR = 3 M = 4 WS = WR = 2  M = 4

36 Performansi Protokol ARQ

37 Efisiensi Stop and Wait ARQ

38 Efisiensi Stop and Wait ARQ (tanpa error)
Dengan definisi dan substitusi kita dapat:

39 Efisiensi Stop and Wait ARQ (tanpa error)
Dengan sedikit matematik kita dapat:

40 Efisiensi Stop and Wait ARQ
Beberapa catatan dari persamaan di atas: no/nf adalah rasio overhead terhadap data yang dikirim 2(tprop + tproc)R adalah delay bandwidth product Efisiensi jika ada error dapat diturunkan:  = (1 - pf)0

41 Beberapa Notasi Tambahan
P(nt=i)=(1-Pf)Pf^(i-1)

42 Efisiensi Stop-and-Wait ARQ dg Error

43 Efisiensi Go-Back-N ARQ
Delay rata-rata karena loss: (WS – 1)Pf

44 Efisiensi Selective Repeat ARQ
Delay rata-rata karena loss:

45 Efisiensi Transmisi Protocol ARQ
Selective Repeat Go-Back-N Stop & Wait p

46 Optimum Frame Size  nf Selective Repeat Go-Back-N 17 32 62 10 6 3 3
Stop &Wait 3 nf


Download ppt "Data Link Layer: Automatic Repeat Request (ARQ)"

Presentasi serupa


Iklan oleh Google