2-komdat_materi_2

75
The Data Link The Data Link Layer Layer Materi 2 Materi 2

Transcript of 2-komdat_materi_2

Page 1: 2-komdat_materi_2

The Data Link LayerThe Data Link Layer

Materi 2Materi 2

Page 2: 2-komdat_materi_2

DATA LINK LAYER

Terminologi: host and router adalah simpul Kanal komunikasi yang

menghubungkan simpul yang berdekatan adalah link– wired link– wireless link– LAN

Data di encapsulate menjadi frame

“link”data-link layer berfungsi mentransfer data dari satu simpul (node) ke simpul yang berdekatan melalui saluran (link)

2

Page 3: 2-komdat_materi_2

Tugas dari Data Link LayerTugas dari Data Link Layer

• Melayani Network LayerMelayani Network Layer• Membuat FramingMembuat Framing• Error ControlError Control• Flow ControlFlow Control

Page 4: 2-komdat_materi_2

Fungsi dari Data Link LayerFungsi dari Data Link Layer

• Melayani dan sebagai interface Melayani dan sebagai interface ke network layerke network layer

• Mengamati error transmisiMengamati error transmisi• Pengaturan data flowPengaturan data flow

•Raceiver dengan kecepatan Raceiver dengan kecepatan yang rendah tidak dapat yang rendah tidak dapat menampung pengirim dengan menampung pengirim dengan kecepatan tinggi. kecepatan tinggi.

Page 5: 2-komdat_materi_2

Functions of the Data Link Functions of the Data Link Layer (2)Layer (2)

Hubungan antara paket dan frameHubungan antara paket dan frame

Page 6: 2-komdat_materi_2

Services Provided to Network LayerServices Provided to Network Layer

(a)(a) Virtual communication. Virtual communication.(b)(b) Actual communication. Actual communication.

Page 7: 2-komdat_materi_2

FramingFraming

A character stream. A character stream.

(a)(a) Without errors. Without errors. (b)(b) With one error. With one error.

Page 8: 2-komdat_materi_2

Framing (2)Framing (2)(a)(a) A frame delimited by flag bytes. A frame delimited by flag bytes.(b)(b) Four examples of byte sequences Four examples of byte sequences before and after stuffing.before and after stuffing.

Page 9: 2-komdat_materi_2

Framing (3)Framing (3)

Bit stuffingBit stuffing

(a)(a) The original data. The original data.

(b)(b) The data as they appear on the line. The data as they appear on the line.

(c)(c) The data as they are stored in The data as they are stored in

receiver’s memory after destuffing.receiver’s memory after destuffing.

Page 10: 2-komdat_materi_2

Hamming CodeHamming Code

Menangani single error codeMenangani single error code Cara membuat codenya :Cara membuat codenya : Posisi parity bit ada di bit sesuai 2Posisi parity bit ada di bit sesuai 2n n

(1,2,4,8,16,32….)(1,2,4,8,16,32….) Selain posisi tersebut akan dipakai Selain posisi tersebut akan dipakai

sebagai data (3,5,6,7…)sebagai data (3,5,6,7…) Untuk mencari besar parity (0 atau 1) Untuk mencari besar parity (0 atau 1)

dapat dilakukan sbb:dapat dilakukan sbb:

Page 11: 2-komdat_materi_2

Posisi 1 : bergantian Posisi 1 : bergantian adaada 11bit dan bit dan tidak tidak adaada 11bit : ada 1bit, gak ada 1 bit,ada bit : ada 1bit, gak ada 1 bit,ada 1bit…..1bit…..

Posisi 2 : bergantian Posisi 2 : bergantian adaada 22 bit dan bit dan tidak tidak adaada 22 bit : ada 2bit, gak ada 2 bit,ada bit : ada 2bit, gak ada 2 bit,ada 2bit…..2bit…..

Posisi 4 : bergantian Posisi 4 : bergantian adaada 44 bit dan bit dan tidak tidak adaada 44 bit : ada 4 bit, gak ada 4 bit,ada 4 bit : ada 4 bit, gak ada 4 bit,ada 4 bit…..bit…..

Dan seterusnya untuk 8, 16,32,64….Dan seterusnya untuk 8, 16,32,64…. Bit Paritas ditentukan sebagai Bit Paritas ditentukan sebagai 11 bila bila

jumlah bit 1-nya adalah jumlah bit 1-nya adalah ganjilganjil. Bit Paritas . Bit Paritas ditentukan sebagai ditentukan sebagai 00 bila jumlah bit 1-nya bila jumlah bit 1-nya adalah adalah genapgenap

Page 12: 2-komdat_materi_2

Contoh :Contoh : Suatu data : 1 0 0 1 1 0 1 0Suatu data : 1 0 0 1 1 0 1 0 Membuat data word –nya:Membuat data word –nya:

- -- - 1 1 – – 0 0 1 0 0 1 – – 1 0 1 0 ( 1 0 1 0 ( - paritas 15)- paritas 15)

Carilah paritas-nya :Carilah paritas-nya :

Posisi 1 : Posisi 1 : ?? – – 11 – – 00 0 0 11 – – 11 0 0 11 0 0

Jumlah bit 1 genap Jumlah bit 1 genap paritas : 0 paritas : 0

Posisi 2 : Posisi 2 : 00 ?? 11 – 0 – 0 00 11 – 1 – 1 00 11 0 0

Jumlah bit 1 ganjil Jumlah bit 1 ganjil paritas : 1 paritas : 1

Posisi 4 : Posisi 4 : 0 10 1 1 1 ? 0 0 ? 0 0 11 – 1 0 1 – 1 0 1 0 0

Jumlah bit 1 ganjil Jumlah bit 1 ganjil paritas : 1 paritas : 1

Page 13: 2-komdat_materi_2

Posisi 8 : Posisi 8 : 0 10 1 1 1 11 0 0 1 0 0 1 ? 1 0 1 0? 1 0 1 0

Jumlah bit 1 genap Jumlah bit 1 genap paritas : 0 paritas : 0

Jadi Code-word-nya : Jadi Code-word-nya :

0 10 1 1 1 11 0 0 1 0 0 1 00 1 1 0 1 00 1 0

Dicoba :cari kesalahan pada bit paritas-nya Dicoba :cari kesalahan pada bit paritas-nya

0 10 1 0 0 11 0 1 1 0 1 1 00 0 0 1 1 0 0 1 1

1 11 1 1 1 11 1 0 0 1 0 0 00 1 1 0 0 1 1 0 0

0 00 0 0 0 00 1 0 0 1 0 0 00 1 0 1 0 1 0 1 0

Page 14: 2-komdat_materi_2

0 10 1 0 0 11 0 1 1 0 1 1 00 0 0 1 1 0 0 1 1

Posisi 1 : Posisi 1 : ?? – – 00 – – 00 1 1 11 – – 00 0 0 11 1 1

Jumlah bit 1 genap Jumlah bit 1 genap paritas : 0 paritas : 0

Posisi 2 : Posisi 2 : 00 ?? 00 – 0 – 0 11 11 – 0 – 0 00 11 1 1

Jumlah bit 1 ganjilJumlah bit 1 ganjil paritas : 1 paritas : 1 Posisi 4 : Posisi 4 : 0 00 0 0 0? 0 11? 0 11 – 0 0 1 – 0 0 1 1 1

Jumlah bit 1 ganjil Jumlah bit 1 ganjil paritas :1 paritas :1

Posisi 8 : Posisi 8 : 0 0 00 0 0 11 0 11 0 11 ? 00 1 0? 00 1 0

Jumlah bit 1 ganjil Jumlah bit 1 ganjil paritas : paritas : 11

Page 15: 2-komdat_materi_2

Error-Correcting CodesError-Correcting CodesUse of a Hamming code to correct Use of a Hamming code to correct

burst errors.burst errors.

Page 16: 2-komdat_materi_2

Error-Detecting CodesError-Detecting Codes

Calculation of the polynomial code

checksum.

Page 17: 2-komdat_materi_2

Elementary Data Link ProtocolsElementary Data Link Protocols

• An Unrestricted Simplex An Unrestricted Simplex ProtocolProtocol

• A Simplex Stop-and-Wait A Simplex Stop-and-Wait ProtocolProtocol

• A Simplex Protocol for a A Simplex Protocol for a Noisy ChannelNoisy Channel

Page 18: 2-komdat_materi_2

Physical Layer Protocols & ServicesPhysical Layer Protocols & ServicesDescribe the role of bits in representing a frame Describe the role of bits in representing a frame

as it is transported across the local media.as it is transported across the local media.

Page 19: 2-komdat_materi_2

Layanan yang disediakan Data Link Layer bagi Network Layer

Data link layer dapat dirancang untuk memberikan salah satu dari jenis layanan (service) berikut:– Unacknowledged connectionless service.

Sesuai pada kondisi dengan error rate yang sangat rendah, juga pada aplikasi real time seperti voice.

– Acknowledged connectionless service. Sesuai pada kondisi channel yang kurang handal

seperti wireless.

– Acknowledged connection-oriented service. Menjamin pengiriman data secara handal

19

Page 20: 2-komdat_materi_2

Protokol pada Data Link LayerProtokol pada Data Link Layer

1. Unrestricted Simplex Protocol2. Simplex stop and wait protocol3. Protocol Simplex untuk Kanal yang

bernoise4. PAR (Positive Acknowledgement with

Retransmission) PAR (Positive Acknowledgement with Retransmission)

5. Sliding Window Protocols6. Protokol dengan “Go back to N”7. Protokol dengan ‘Selective Repeat

Page 21: 2-komdat_materi_2

Protocol DefinitionsProtocol Definitions

Continued

Some definitions needed in the protocols to follow. These are located in the file protocol.h.

Page 22: 2-komdat_materi_2

Protocol Definition (con’t)Protocol Definition (con’t)

Some definitions needed in the

protocols to follow. These are located in the file protocol.h.

Page 23: 2-komdat_materi_2

Arsitektur Link Layer

Sisi pengirim :– Mengencapsulasi

datagram dalam frame– Menambah error

checking bits, rdt, flow control, dsb.

Sisi penerima– Memeriksa error, rdt, flow

control, dsb.– Mengekstrak datagram,

mengirimkan ke node penerima

sendingnode

frame

rcvingnode

datagram

frame

adapter adapter

link layer protocol

23

Page 24: 2-komdat_materi_2

Framing

Teknik framing :–Character count –Flag byte – byte stuffing –Flag bits – bit stuffing

24

Page 25: 2-komdat_materi_2

Framing – character count

A character stream. (a) Without errors. (b) With one error.

Setiap frame diawali dengan field yang menyatakan panjang frame

Jika field ini rusak, maka frame tidak dapat dikenali lagi

25

Page 26: 2-komdat_materi_2

Framing : flag byte

Awal dan akhir frame ditandai dengan byte(s ) khusus

Byte penanda dapat merupakan simbol yang sama atau berbeda

Masalah : kode byte(s ) yang digunakan dapat muncul di dalam data yang terkirim, sehingga dapat mengakibatkan kesalahan penentuan frame

Solusi : byte stuffing, mengganti byte serupa pada data dengan simbol lain

26

Page 27: 2-komdat_materi_2

Framing : flag byte

(a) A frame delimited by flag bytes. (b) Four examples of byte sequences before and after stuffing.

27

Page 28: 2-komdat_materi_2

Framing : flag bits Serupa dengan flag bytes, namun

menggunakan bit Lebih cocok untuk data biner

– Misalnya ditentukan flag adalah : 01111110

Pada pengirim : setiap muncul 5 bit 1 berurutan, tambahkan bit 0

Pada penerima : jika menerima 5 bit 1 berurutan, maka :– Jika bit berikutnya 0 : hapus – Jika bit berikutnya : 10 : end-of-frame – Jika bit berikutnya : 11 : error

28

Page 29: 2-komdat_materi_2

Framing : flag bits

Bit stuffing (a) The original data. (b) The data as they appear on the line. (c) The data as they are stored in receiver’s

memory after destuffing.29

Page 30: 2-komdat_materi_2

Protocol Data Link LayerProtocol Data Link LayerUnrestricted Simplex ProtocolUnrestricted Simplex Protocol Pengirim :Pengirim :

– Ambil datagram (paket) dari NLAmbil datagram (paket) dari NL– Membentuk frameMembentuk frame– Kirim datagram(frame) ke PLKirim datagram(frame) ke PL

Penerima :Penerima :– Bila ada frame sampaiBila ada frame sampai– Ambil dari PLAmbil dari PL– Bentuk paket dari frameBentuk paket dari frame– Kirim paket ke NLKirim paket ke NL

Page 31: 2-komdat_materi_2

Data ditransmisikan ke satu arah Data ditransmisikan ke satu arah sajasaja

NL pengirim dan penerima siapNL pengirim dan penerima siap Waktu proses diabaikanWaktu proses diabaikan Mempunyai buffer dengan Mempunyai buffer dengan

kapasitas kapasitas Tidak ada frame yang rusak/hilangTidak ada frame yang rusak/hilang

Page 32: 2-komdat_materi_2

Unristricted Simplex ProtocolUnristricted Simplex Protocol

Page 33: 2-komdat_materi_2

Simplex stop and wait protocolSimplex stop and wait protocol

Buffer : terbatasBuffer : terbatas Saluran komunikasi : error freeSaluran komunikasi : error free Trafik data : simplexTrafik data : simplex Kecepatan proses : terbatasKecepatan proses : terbatas Protocol ini merupakan protocol Protocol ini merupakan protocol

dimana pengirim mengirimkan satu dimana pengirim mengirimkan satu frame dan kemudian menunggu frame dan kemudian menunggu ackack sebelum melanjutkan pengiriman sebelum melanjutkan pengiriman

Page 34: 2-komdat_materi_2

Pengirim :Pengirim :– Ambil paket dari NLAmbil paket dari NL– Membentuk frameMembentuk frame– Kirimkan ke PLKirimkan ke PL– Menunggu ackMenunggu ack

Penerima :Penerima :– Bila ada frame yang datangBila ada frame yang datang– Ambil dari PLAmbil dari PL– Ambil paket dari frameAmbil paket dari frame– Lewatkan ke NLLewatkan ke NL– Kirim ack Kirim ack

Page 35: 2-komdat_materi_2

Simplex Simplex Stop-and-Stop-and-

Wait Wait ProtocolProtocol

Page 36: 2-komdat_materi_2

Protocol Simplex untuk Kanal yang Protocol Simplex untuk Kanal yang bernoisebernoise

– Situasi yang sesungguhnyaSituasi yang sesungguhnya– Frame bisa rusak/hilangFrame bisa rusak/hilang– Bila frame rusak, dapat dideteksi dengan Bila frame rusak, dapat dideteksi dengan

checksumchecksum

Page 37: 2-komdat_materi_2

Protocol yang sebelumnyaProtocol yang sebelumnya – Pengirim :Pengirim :

Mengambil dari NL (data)Mengambil dari NL (data)Membuat frame/membentuk frame Membuat frame/membentuk frame

(DLL)(DLL)Mengirim frame (lewat PL)Mengirim frame (lewat PL)Bila menerima ack, mengirim frame Bila menerima ack, mengirim frame

berikutberikutBila tidak menerima ack, mengirim Bila tidak menerima ack, mengirim

ulang ulang Diulang sampai selesaiDiulang sampai selesai

Page 38: 2-komdat_materi_2

– Penerima :Penerima :Menerima dari PLMenerima dari PLDilakukan error checkingDilakukan error checkingKalau terjadi/terdeteksi error Kalau terjadi/terdeteksi error

dibuang, tidak mengirim ackdibuang, tidak mengirim ackKalau datanya bagus, tanpa error Kalau datanya bagus, tanpa error

mengirim ackmengirim ackDiteruskan sampai si pengirim selesai Diteruskan sampai si pengirim selesai

mengirimkan semua framemengirimkan semua frame

MASALAH :MASALAH :

Apa yang terjadi bila Apa yang terjadi bila acknya hilangacknya hilang dalam dalam transmisi data?transmisi data?

Page 39: 2-komdat_materi_2

A Simplex Protocol for a Noisy A Simplex Protocol for a Noisy ChannelChannel

A positive acknowledgement

with retransmission protocol.

Continued

Page 40: 2-komdat_materi_2

A Simplex Protocol for a Noisy Channel A Simplex Protocol for a Noisy Channel (ctd.)(ctd.)

A positive acknowledgement with retransmission protocol.

Page 41: 2-komdat_materi_2

Gambarannya sbb :Gambarannya sbb :– Si A mengirim dataSi A mengirim data– Diterima oleh si BDiterima oleh si B– Lulus checksum, si B mengirim ackLulus checksum, si B mengirim ack– Ack hilang ditengah jalanAck hilang ditengah jalan– Time out ! Si A tidak menerima ack dalam waktu Time out ! Si A tidak menerima ack dalam waktu

tertentutertentu– Si A menganggap transmisi gagal dan mengirim Si A menganggap transmisi gagal dan mengirim

frame tadi lagiframe tadi lagi– Si B menerima frame lagi dan diteruskan ke NLSi B menerima frame lagi dan diteruskan ke NL– Pada NL tertulis 2 frame yang sama pada NLPada NL tertulis 2 frame yang sama pada NL

Page 42: 2-komdat_materi_2

Cara mengatasinya : Cara mengatasinya : – Diberi no. urut pada setiap framenya untuk Diberi no. urut pada setiap framenya untuk

membedakan frame yang satu dengan membedakan frame yang satu dengan yang lainyang lain

– Jadi bila menerima frame yang sama, salah Jadi bila menerima frame yang sama, salah satu dapat dibuang. satu dapat dibuang.

Jumlah bit yang menyatakan no. urut Jumlah bit yang menyatakan no. urut diharapkan seminimal mungkindiharapkan seminimal mungkin

Berapa bit minimum tersebut ?Berapa bit minimum tersebut ? Analisa : Analisa :

– Anggap bahwa Anggap bahwa frame I frame I = m= m

frame II frame II = m + 1= m + 1

frame III frame III = m + 2 = m + 2

Page 43: 2-komdat_materi_2

Keraguan terjadi pada bukan Keraguan terjadi pada bukan Akibatnya, hanya perlu membedakan Akibatnya, hanya perlu membedakan

antara antara

m dengan m + 1 atau m + 1 dengan m + 2m dengan m + 1 atau m + 1 dengan m + 2

bukan m dengan m + 2bukan m dengan m + 2

m m + 1 m + 2

Page 44: 2-komdat_materi_2

Oleh karena itu hanya diperlukan 1 bit saja Oleh karena itu hanya diperlukan 1 bit saja untuk nomor urut frame : 0 dan 1untuk nomor urut frame : 0 dan 1– Kalau menerima no. urut yang salah, Kalau menerima no. urut yang salah,

(setelah 0, 0 lagi atau setelah 1, 1 lagi), (setelah 0, 0 lagi atau setelah 1, 1 lagi), berarti frame yang diterima tidak urut berarti frame yang diterima tidak urut (duplikasi dari frame yang sebelumnya)(duplikasi dari frame yang sebelumnya)

salah satu dibuangsalah satu dibuang– Kalau no. urutnya benar :Kalau no. urutnya benar :

frame frame m m : no. 0: no. 0

frame frame m + 1m + 1 : no. 1: no. 1

frame frame m + 2m + 2 : no. 0: no. 0 ……dst dst

frame-frame tersebut akan frame-frame tersebut akan

diteruskan ke NL diteruskan ke NL

Kenaikannya dengan

modulo 2

Page 45: 2-komdat_materi_2

PAR (Positive Acknowledgement with PAR (Positive Acknowledgement with Retransmission)Retransmission)

Pengirim : Pengirim : – Inisialisasi no urut frame yang mau dikirimInisialisasi no urut frame yang mau dikirim– Ambil paket I dari NLAmbil paket I dari NL– Membentuk frameMembentuk frame– Mengirim frame lewat PLMengirim frame lewat PL

Page 46: 2-komdat_materi_2

Menunggu jawaban dari penerimaBila frame sampai dengan selamat

ada ack mengirim yang berikutKelamaan time out mengirim data yang samaframe rusak mengirim data yang samaDiulang sampai semua frame terkirim

Page 47: 2-komdat_materi_2

Penerima :Penerima : – TungguTunggu– Bila frame sampai :Bila frame sampai :

Cek apakah frame sempurna?Cek apakah frame sempurna?Cek sequential no nya?Cek sequential no nya?

– Bila valid, lewatkan data ke NLBila valid, lewatkan data ke NL– Increment seq no yang diharapkan Increment seq no yang diharapkan

berikutnyaberikutnya – Bila tidak, frame tersebut dibuang Bila tidak, frame tersebut dibuang – Seq. No yang diharapkan berikutnya tidak Seq. No yang diharapkan berikutnya tidak

di in-crementdi in-crement– Diulang sampai pengiriman data selesaiDiulang sampai pengiriman data selesai

Page 48: 2-komdat_materi_2

Sliding Window ProtocolsSliding Window Protocols

• A One-Bit Sliding Window A One-Bit Sliding Window ProtocolProtocol

• A Protocol Using Go Back NA Protocol Using Go Back N• A Protocol Using Selective A Protocol Using Selective

RepeatRepeat

Page 49: 2-komdat_materi_2

Protocol Sliding WindowProtocol Sliding Window Pada 3 protocol yang pertama, frame ditransmisikan ke 1 arah sajaPada 3 protocol yang pertama, frame ditransmisikan ke 1 arah saja simplex simplex Situasi yang praktis : perlu transmisi untuk 2 arah Situasi yang praktis : perlu transmisi untuk 2 arah full duplex full duplex Untuk full duplex (salah satu cara)Untuk full duplex (salah satu cara)

– Perlu 2 saluran transmisi simplex yang terpisahPerlu 2 saluran transmisi simplex yang terpisah Tetapi untuk saluran balik, bandwidth wastedTetapi untuk saluran balik, bandwidth wasted

Forward (data)Reverse (ack)

A B

Page 50: 2-komdat_materi_2

Pemikiran yang lain : Menggunakan saluran yang sama untuk ke dua arah dengan data dan ack dalam 1 frame

Dengan melihat jenis field pada header dari incoming frame, receiver mengetahui apakah frame tsb frame data / frame ack

Page 51: 2-komdat_materi_2

Digunakan Digunakan teknik piggy backingteknik piggy backing : :– Teknik dimana Teknik dimana menundamenunda pengiriman ack pengiriman ack

sampai sampai adaada data frame yang dikirimkan data frame yang dikirimkan dan ack akan dan ack akan ditempelkanditempelkan pada frame pada frame data. data.

Masalah pada piggy backing : Masalah pada piggy backing : Lamanya waktu tungguLamanya waktu tunggu

menunggu frame data yang dapat menunggu frame data yang dapat ditumpangi oleh ackditumpangi oleh ack

Jika lamanya delay > time out sender Jika lamanya delay > time out sender

sender retransmit datasender retransmit data

Page 52: 2-komdat_materi_2

Keuntungan dari teknik ini :Keuntungan dari teknik ini :– Dapat menghemat bit-bit untuk Dapat menghemat bit-bit untuk

membentuk frame ackmembentuk frame ack– Karena untuk mengirim ack juga harus Karena untuk mengirim ack juga harus

dalam bentuk frame, perlu :dalam bentuk frame, perlu :headerheaderchecksumchecksum

Protocol Sliding Window :Protocol Sliding Window :– Dapat menangani :Dapat menangani :

Frame sampah (rusak)Frame sampah (rusak)Frame hilangFrame hilangTime out yang terlalu cepatTime out yang terlalu cepat

Selain ack itu sendiri

Page 53: 2-komdat_materi_2

Pada setiap frame berisi nomor urut 0 ~ maxPada setiap frame berisi nomor urut 0 ~ max Dimana max : 2Dimana max : 2n - 1n - 1 bit bit Untuk Protocol stop and wait, n = 1 (0 atau 1)Untuk Protocol stop and wait, n = 1 (0 atau 1) Protocol ini memiliki : Protocol ini memiliki :

– Sending WindowSending WindowMengingat nomor urut dari frame yang Mengingat nomor urut dari frame yang

dikirimdikirimUkuran frame, sesuai windownyaUkuran frame, sesuai windownyaMengingat ack yang sampaiMengingat ack yang sampai

– Receiving WindowReceiving WindowMengingat frame yang diterima dengan baikMengingat frame yang diterima dengan baikMengingat ack yang dikirimMengingat ack yang dikirim

Page 54: 2-komdat_materi_2

Max window size = n, berarti sender perlu n Max window size = n, berarti sender perlu n buffer untuk menyimpan frame yang mungkin buffer untuk menyimpan frame yang mungkin perlu dikirim kembali perlu dikirim kembali

Sliding window dengan ukuran = 1, dengan no urut = 3 bit

Page 55: 2-komdat_materi_2

Keterangan gambar :Keterangan gambar :

(a) Keadaan awal(a) Keadaan awal

(b) Pengirim mengirim 1 frame(b) Pengirim mengirim 1 frame

(c) Setelah frame pertama diterima penerima(c) Setelah frame pertama diterima penerima

(d) Setelah ack pertama diterima pengirim (d) Setelah ack pertama diterima pengirim

One Bit Sliding WindowsOne Bit Sliding Windows Maximum window size : 1Maximum window size : 1 Protokolnya : stop and waitProtokolnya : stop and wait

Menunggu ack dari frame yang dikirimkan, baru mengirim frame berikutnya

Page 56: 2-komdat_materi_2

Sliding Window Protocols (2)Sliding Window Protocols (2)

A sliding window of size 1, with a 3-bit sequence number.A sliding window of size 1, with a 3-bit sequence number.

(a)(a) Initially. Initially.

(b)(b) After the first frame has been sent. After the first frame has been sent.

(c)(c) After the first frame has been received. After the first frame has been received.

(d)(d) After the first acknowledgement has been received. After the first acknowledgement has been received.

Page 57: 2-komdat_materi_2

A One-Bit Sliding Window ProtocolA One-Bit Sliding Window Protocol

Continued

Page 58: 2-komdat_materi_2

A One-Bit Sliding Window Protocol (con’t)A One-Bit Sliding Window Protocol (con’t)

Page 59: 2-komdat_materi_2

A One-Bit Sliding Window Protocol (2)A One-Bit Sliding Window Protocol (2)

Two scenarios for protocol 4. Two scenarios for protocol 4. (a)(a) Normal case. Normal case. (b)(b) Abnormal case. The notation is (Abnormal case. The notation is (seq, seq, ackack, , packetpacket number). An asterisk indicates where a network layer number). An asterisk indicates where a network layer accepts a packet.accepts a packet.

Page 60: 2-komdat_materi_2

Protokol dengan “Go back to N”Protokol dengan “Go back to N” Round Trip Time waktu transmisi Round Trip Time waktu transmisi

sampai ke penerima ditambah dengan sampai ke penerima ditambah dengan diterimanya ACK di pengirimditerimanya ACK di pengirim

Besarnya RTT mempengaruhi efisiensi dari Besarnya RTT mempengaruhi efisiensi dari penggunaan bandwidth.penggunaan bandwidth.

Contoh : Seharusnya suatu frame dapat Contoh : Seharusnya suatu frame dapat dikirim dengan lengkap pada t = 20 ms. dikirim dengan lengkap pada t = 20 ms. Ternyata baru sampai penerima setelah Ternyata baru sampai penerima setelah 270 ms dan ACK diterima kembali setelah 270 ms dan ACK diterima kembali setelah 520. Berarti dibutuhkan 500/520 atau 96% 520. Berarti dibutuhkan 500/520 atau 96% tidak efisien. tidak efisien.

Page 61: 2-komdat_materi_2

Untuk mengatasi akan diblok Untuk mengatasi akan diblok ww=26 =26 frame bukan hanya 1 frameframe bukan hanya 1 frame

Setelah selesai mengirim 26 frame = 520 Setelah selesai mengirim 26 frame = 520 ms, diikuti dengan diterimanya ACK setiap ms, diikuti dengan diterimanya ACK setiap 20 ms20 ms

Window yang dibutuhkan sesuai dengan Window yang dibutuhkan sesuai dengan BW x RTT menentukan kapasitas pipa BW x RTT menentukan kapasitas pipa disebut teknik disebut teknik pipelining pipelining (definisikan!)(definisikan!)

Mis : Kapasitas kanal = b bit/sec, Mis : Kapasitas kanal = b bit/sec, Besar frame = L bit Besar frame = L bit RT prop (delay) = R sec. RT prop (delay) = R sec. Waktu transmit 1 frame = L/b Waktu transmit 1 frame = L/b Utilisasi kanal : L/(L+bR)Utilisasi kanal : L/(L+bR) Bila L<bR. Berapa efisiensi-nya?Bila L<bR. Berapa efisiensi-nya?

Page 62: 2-komdat_materi_2

Masalah timbul, bila terjadi rusak/ Masalah timbul, bila terjadi rusak/ hilang pada frame ditengah??hilang pada frame ditengah??Ada 2 cara :Ada 2 cara : Penerima menggunakan window size 1 Penerima menggunakan window size 1

dan disebut “Go back n” yang akan dan disebut “Go back n” yang akan membuang semua frame berikutnya, membuang semua frame berikutnya, tanpa mengirim ACK thd frame yang rusaktanpa mengirim ACK thd frame yang rusak

Penerima menggunakan window size Penerima menggunakan window size besar dan disebut “Selective repeat” yang besar dan disebut “Selective repeat” yang akan membuffer semua frame setelah akan membuffer semua frame setelah frame yang rusak. Frame yang rusak akan frame yang rusak. Frame yang rusak akan dibuang. Setelah sender time-out baru dibuang. Setelah sender time-out baru ACK dikirim ulang menggunakan NAKACK dikirim ulang menggunakan NAK

Page 63: 2-komdat_materi_2

A Protocol Using Go Back NA Protocol Using Go Back N

Pipelining and error recovery. Effect on an error whenPipelining and error recovery. Effect on an error when

(a)(a) Receiver’s window size is 1. Receiver’s window size is 1.

(b)(b) Receiver’s window size is large Receiver’s window size is large..

Page 64: 2-komdat_materi_2

Sliding Sliding Window Window Protocol Protocol Using Go Using Go Back NBack N

Continued

Page 65: 2-komdat_materi_2

Sliding Window Protocol Using Go Back NSliding Window Protocol Using Go Back N

Continued

Page 66: 2-komdat_materi_2

Sliding Window Protocol Using Go Back NSliding Window Protocol Using Go Back N

Continued

Page 67: 2-komdat_materi_2

Sliding Window Protocol Using Go Back NSliding Window Protocol Using Go Back N

Page 68: 2-komdat_materi_2

Contoh skenario dengan max-seq = 7Contoh skenario dengan max-seq = 7

1.1. Pengirim mengirim frame 0-7 (Pengirim mengirim frame 0-7 (ke-1ke-1))

2.2. ACK (Piggy-backing) ke-7 dikirim ACK (Piggy-backing) ke-7 dikirim

3.3. Pengirim mengirim lagi 8 frame (0-7) Pengirim mengirim lagi 8 frame (0-7) ((ke-2ke-2) )

4.4. ACK (Piggy-backing) berikut ke-7 ACK (Piggy-backing) berikut ke-7 dikirimdikirim

Untuk itu perlu jumlah max frame Untuk itu perlu jumlah max frame yang tersedia (max-seq)-multipleyang tersedia (max-seq)-multiple

Dibutuhkamn multiple timer.Dibutuhkamn multiple timer. Ilustrasi multiple timer sbb :Ilustrasi multiple timer sbb :

Page 69: 2-komdat_materi_2

Sliding Window Protocol Using Go Back N (2)Sliding Window Protocol Using Go Back N (2)

Simulation of multiple timers in software.Simulation of multiple timers in software.

Page 70: 2-komdat_materi_2

Protokol dengan ‘Selective Repeat’Protokol dengan ‘Selective Repeat’ Protokol 6 (penerimaan tidak Protokol 6 (penerimaan tidak

berurut) melewatkan ke NL berurutberurut) melewatkan ke NL berurut Bila timer habis hanya frame tsb Bila timer habis hanya frame tsb

yang diretransmisi tidak semua yang diretransmisi tidak semua frame yang berikutnya.frame yang berikutnya.

Contoh: Untuk 3 bit bisa mengirim Contoh: Untuk 3 bit bisa mengirim 7 frame sbl menerima ack dikirim 7 frame sbl menerima ack dikirim frame 0-6 jendela dimajukan frame 0-6 jendela dimajukan untuk pengiriman frame ke7 dan untuk pengiriman frame ke7 dan frame 0-6frame 0-6

Page 71: 2-komdat_materi_2

A Sliding Window Protocol Using Selective Repeat (5)A Sliding Window Protocol Using Selective Repeat (5)

(a)(a) Initial situation with a window size seven. Initial situation with a window size seven.

(b)(b) After seven frames sent and received, but not After seven frames sent and received, but not

acknowledged.acknowledged.

(c)(c) Initial situation with a window size of four. Initial situation with a window size of four.

(d)(d) After four frames sent and received, but not After four frames sent and received, but not

acknowledged.acknowledged.

Page 72: 2-komdat_materi_2

A Sliding Window Protocol Using Selective RepeatA Sliding Window Protocol Using Selective Repeat

Continued

Page 73: 2-komdat_materi_2

Continued

A Sliding Window Protocol Using Selective Repeat (2)A Sliding Window Protocol Using Selective Repeat (2)

Page 74: 2-komdat_materi_2

A Sliding Window Protocol Using Selective Repeat (3)A Sliding Window Protocol Using Selective Repeat (3)

Continued

Page 75: 2-komdat_materi_2

A Sliding Window Protocol Using Selective Repeat (4)A Sliding Window Protocol Using Selective Repeat (4)