Data Link Layer: Automatic Repeat Request (ARQ)

Slides:



Advertisements
Presentasi serupa
Kelompok X / X3J : Arni Setiyani Dwi Novia Lestari Tri Sumpono PROGRAM STUDI : TEKNIK INFORMATIKA UNIVERSITAS INDRAPRASTA PGRI 2013.
Advertisements

Dosen: Nahot Frastian, M.Kom
•Memastikan pengiriman tidak overwhelm pengiriman – Preventing buffer overflow • Waktu pengiriman – Waktu yang diperlukan untuk memancarkan semua bit.
Chapter 3 The Data Link Layer.
Data Link Control.
MEDIUM ACCES Control SUBLAYER
Data link control Beberapa hal yang diperlukan untuk mengefektifkan komunikasi data: Sinkronisasi frame Kendali Aliran Kendali kesalahan Pengalamat Kendali.
Dosen: Nahot Frastian, M.Kom
Budi Apriyanto, S.Kom Object-Oriented Programming Komunikasi Data Budi Apriyanto, S.Kom
Struktur Bingkai (Frame HDLC)
William Stallings Komunikasi Data dan Komputer Edisi ke 7
Flow Control.
Error detection.
Transport Layer Electronic Engineering Polytechnic Institut of Surabaya – ITS Kampus ITS Sukolilo Surabaya
Data Link Layer BAB 3.
Pertemuan-10. Transport Layer Protocol
Technology Switching Network
Medium Access Control Protocols [2]
(TRANSMISSION CONTROL PROTOCOL/INTERNET PROTOCOL)
REVOLUSI KOMUNIKASI KOMPUTER
Data Link Control 1. Flow Control Error
Data Link Layer.
Jaringan Komputer Data Link Control.
1 Pertemuan 1 Pendahuluan Matakuliah: H0483 – Network Programming Tahun: 2005 Versi: 1.0.
Transport Layer Protocol
Deteksi dan koreksi error
OSI LAYER.
Pengkodean dan Error Control
Data Link Layer: Framing dan Deteksi Error
DATA LINK CONTROL.
Layer Data Link Pertemuan 13 Matakuliah: H0484/Jaringan Komputer Tahun: 2007.
Teori Antrian Antrian-Antrian Lain
PENGANTAR TELEKOMUNIKASI S. Indriani L, M.T
Chandra Mahendra Putra |
Error-Correcting Codes
Transport Layer Electronic Engineering Polytechnic Institut of Surabaya – ITS Kampus ITS Sukolilo Surabaya
Pengantar Sistem Telekomunikasi
Jaringan Nirkabel Bab #6 – MAC Layer.
Materi 6 Lapis Transport
LAPIS DATALINK.
Transmisi data digital
TCP & UDP.
PROTOCOL MEDIUM ACCESS CONTROL
Data Link Layer Arni Setiyani /X3L Teknik Informatika.
ERROR CORRECTION.
Bab 12 Transport Layer Abdillah, MIT.
Bab 9 Transport Layer Abdillah, MIT.
TCP Flow & Congestion Control
Data Link Layer.
DATA LINK LAYER PERTEMUAN 5 Konsep Jaringan Komputer
Data Link Protocol Data Link Protocol / Data Link Control adalah bab yang membahas tentang pengiriman signal melalui transmisi link dalam sebuah jaringan.
Multiplexing.
FLOW control & ERROR CONTROL
Protokol Data Link Control
KOMUNIKASI DATA By : Andi Latifa Nabone.
Data Link Layer: Protokol High level Data Link Control (HDLC)
Kerusakan Signal dan Pengcodean
Deteksi & Koreksi Error
Materi 2 The Data Link Layer.
Struktur Bingkai (Frame HDLC)
Modul 1b Pengantar Telekomunikasi
TCP : Flow & Congestion Control
Data Link Control 1. Flow Control Error
JARINGAN KOMPUTER JARINGAN KOMPUTER EKI SAPUTRA, S.Kom., M.Kom.
PRESENTASI JARINGAN KOMPUTER
DATA LINK CONTROL.
OSI LAYER.
UNIVERSITAS PEMBANGUNAN JAYA
TCP Flow & Congestion Control
Deteksi dan koreksi error
Transcript presentasi:

Data Link Layer: Automatic Repeat Request (ARQ)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

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

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

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

Performansi Protokol ARQ

Efisiensi Stop and Wait ARQ

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

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

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

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

Efisiensi Stop-and-Wait ARQ dg Error

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

Efisiensi Selective Repeat ARQ Delay rata-rata karena loss:

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

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