2-komdat_materi_2
TRANSCRIPT
The Data Link LayerThe Data Link Layer
Materi 2Materi 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
Tugas dari Data Link LayerTugas dari Data Link Layer
• Melayani Network LayerMelayani Network Layer• Membuat FramingMembuat Framing• Error ControlError Control• Flow ControlFlow Control
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.
Functions of the Data Link Functions of the Data Link Layer (2)Layer (2)
Hubungan antara paket dan frameHubungan antara paket dan frame
Services Provided to Network LayerServices Provided to Network Layer
(a)(a) Virtual communication. Virtual communication.(b)(b) Actual communication. Actual communication.
FramingFraming
A character stream. A character stream.
(a)(a) Without errors. Without errors. (b)(b) With one error. With one error.
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.
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.
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:
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
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
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
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
Error-Correcting CodesError-Correcting CodesUse of a Hamming code to correct Use of a Hamming code to correct
burst errors.burst errors.
Error-Detecting CodesError-Detecting Codes
Calculation of the polynomial code
checksum.
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
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.
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
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
Protocol DefinitionsProtocol Definitions
Continued
Some definitions needed in the protocols to follow. These are located in the file protocol.h.
Protocol Definition (con’t)Protocol Definition (con’t)
Some definitions needed in the
protocols to follow. These are located in the file protocol.h.
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
Framing
Teknik framing :–Character count –Flag byte – byte stuffing –Flag bits – bit stuffing
24
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
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
Framing : flag byte
(a) A frame delimited by flag bytes. (b) Four examples of byte sequences before and after stuffing.
27
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
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
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
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
Unristricted Simplex ProtocolUnristricted Simplex Protocol
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
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
Simplex Simplex Stop-and-Stop-and-
Wait Wait ProtocolProtocol
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
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
– 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?
A Simplex Protocol for a Noisy A Simplex Protocol for a Noisy ChannelChannel
A positive acknowledgement
with retransmission protocol.
Continued
A Simplex Protocol for a Noisy Channel A Simplex Protocol for a Noisy Channel (ctd.)(ctd.)
A positive acknowledgement with retransmission protocol.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
A One-Bit Sliding Window ProtocolA One-Bit Sliding Window Protocol
Continued
A One-Bit Sliding Window Protocol (con’t)A One-Bit Sliding Window Protocol (con’t)
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.
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.
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?
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
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..
Sliding Sliding Window Window Protocol Protocol Using Go Using Go Back NBack N
Continued
Sliding Window Protocol Using Go Back NSliding Window Protocol Using Go Back N
Continued
Sliding Window Protocol Using Go Back NSliding Window Protocol Using Go Back N
Continued
Sliding Window Protocol Using Go Back NSliding Window Protocol Using Go Back N
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 :
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.
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
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.
A Sliding Window Protocol Using Selective RepeatA Sliding Window Protocol Using Selective Repeat
Continued
Continued
A Sliding Window Protocol Using Selective Repeat (2)A Sliding Window Protocol Using Selective Repeat (2)
A Sliding Window Protocol Using Selective Repeat (3)A Sliding Window Protocol Using Selective Repeat (3)
Continued
A Sliding Window Protocol Using Selective Repeat (4)A Sliding Window Protocol Using Selective Repeat (4)