Materi 2 The Data Link Layer DATA LINK

  • Slides: 75
Download presentation
Materi 2 The Data Link Layer

Materi 2 The Data Link Layer

DATA LINK LAYER data-link layer berfungsi mentransfer data dari satu simpul (node) ke simpul

DATA LINK LAYER data-link layer berfungsi mentransfer data dari satu simpul (node) ke simpul yang berdekatan melalui saluran (link) “link” Terminologi: u host and router adalah simpul u Kanal komunikasi yang menghubungkan simpul yang berdekatan adalah link – wired link – wireless link – LAN u Data di encapsulate menjadi frame 2

Tugas dari Data Link Layer Melayani Network Layer • Membuat Framing • Error Control

Tugas dari Data Link Layer Melayani Network Layer • Membuat Framing • Error Control • Flow Control •

Fungsi dari Data Link Layer Melayani dan sebagai interface ke network layer • Mengamati

Fungsi dari Data Link Layer Melayani dan sebagai interface ke network layer • Mengamati error transmisi • Pengaturan data flow • • Raceiver dengan kecepatan yang rendah tidak dapat menampung pengirim dengan kecepatan tinggi.

Functions of the Data Link Layer (2) Hubungan antara paket dan frame

Functions of the Data Link Layer (2) Hubungan antara paket dan frame

Services Provided to Network Layer (a) Virtual communication. (b) Actual communication.

Services Provided to Network Layer (a) Virtual communication. (b) Actual communication.

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

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

Framing (2) (a) A frame delimited by flag bytes. (b) Four examples of byte

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

Framing (3) Bit stuffing (a) The original data. (b) The data as they appear

Framing (3) 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.

Hamming Code u Menangani single error code u Cara membuat codenya : Ø Posisi

Hamming Code u Menangani single error code u Cara membuat codenya : Ø Posisi parity bit ada di bit sesuai 2 n (1, 2, 4, 8, 16, 32…. ) Ø Selain posisi tersebut akan dipakai sebagai data (3, 5, 6, 7…) Ø Untuk mencari besar parity (0 atau 1) dapat dilakukan sbb:

Ø Ø Ø Posisi 1 : bergantian ada 1 bit dan tidak ada 1

Ø Ø Ø Posisi 1 : bergantian ada 1 bit dan tidak ada 1 bit : ada 1 bit, gak ada 1 bit, ada 1 bit…. . Posisi 2 : bergantian ada 2 bit dan tidak ada 2 bit : ada 2 bit, gak ada 2 bit, ada 2 bit…. . Posisi 4 : bergantian ada 4 bit dan tidak ada 4 bit : ada 4 bit, gak ada 4 bit, ada 4 bit…. . Dan seterusnya untuk 8, 16, 32, 64…. Bit Paritas ditentukan sebagai 1 bila jumlah bit 1 -nya adalah ganjil. Bit Paritas ditentukan sebagai 0 bila jumlah bit 1 -nya adalah genap

Contoh : Suatu data : 1 0 0 1 1 0 u Membuat data

Contoh : Suatu data : 1 0 0 1 1 0 u Membuat data word –nya: - - 1 – 0 0 1 – 1 0 ( - paritas 15) Carilah paritas-nya : Posisi 1 : ? – 1 – 0 0 1 – 1 0 Jumlah bit 1 genap paritas : 0 Posisi 2 : 0 ? 1 – 0 0 1 – 1 0 Jumlah bit 1 ganjil paritas : 1 Posisi 4 : 0 1 1 ? 0 0 1 – 1 0 Jumlah bit 1 ganjil paritas : 1 u

Posisi 8 : 0 1 1 1 0 0 1 ? 1 0 Jumlah

Posisi 8 : 0 1 1 1 0 0 1 ? 1 0 Jumlah bit 1 genap paritas : 0 Jadi Code-word-nya : 011100101010 Dicoba : cari kesalahan pada bit paritas-nya 010101100011 111110001100 00001010

010101100011 Posisi 1 : ? – 0 1 1 – 0 0 1 1

010101100011 Posisi 1 : ? – 0 1 1 – 0 0 1 1 Jumlah bit 1 genap paritas : 0 Posisi 2 : 0 ? 0 – 0 1 1 – 0 0 1 1 Jumlah bit 1 ganjil paritas : 1 Posisi 4 : 0 0 0? 0 11 – 0 0 1 1 Jumlah bit 1 ganjil paritas : 1 Posisi 8 : 0 0 0 11 ? 00 1 0 Jumlah bit 1 ganjil paritas : 1

Error-Correcting Codes Use of a Hamming code to correct burst errors.

Error-Correcting Codes Use of a Hamming code to correct burst errors.

Error-Detecting Codes Calculation of the polynomial code checksum.

Error-Detecting Codes Calculation of the polynomial code checksum.

Elementary Data Link Protocols An Unrestricted Simplex Protocol • A Simplex Stop-and-Wait Protocol •

Elementary Data Link Protocols An Unrestricted Simplex Protocol • A Simplex Stop-and-Wait Protocol • A Simplex Protocol for a Noisy Channel •

Physical Layer Protocols & Services u Describe the role of bits in representing a

Physical Layer Protocols & Services u Describe the role of bits in representing a frame as it is transported across the local media.

Layanan yang disediakan Data Link Layer bagi Network Layer u Data link layer dapat

Layanan yang disediakan Data Link Layer bagi Network Layer u Data link layer dapat dirancang untuk memberikan salah satu dari jenis layanan (service) berikut: – Unacknowledged connectionless service. u Sesuai pada kondisi dengan error rate yang sangat rendah, juga pada aplikasi real time seperti voice. – Acknowledged connectionless service. u Sesuai pada kondisi channel yang kurang handal seperti wireless. – Acknowledged connection-oriented service. u Menjamin pengiriman data secara handal 19

Protokol pada Data Link Layer 1. Unrestricted Simplex Protocol 2. Simplex stop and wait

Protokol pada Data Link Layer 1. Unrestricted Simplex Protocol 2. Simplex stop and wait protocol 3. Protocol Simplex untuk Kanal yang bernoise 4. PAR (Positive Acknowledgement with Retransmission) 5. Sliding Window Protocols 6. Protokol dengan “Go back to N” 7. Protokol dengan ‘Selective Repeat

Protocol Definitions Continued Some definitions needed in the protocols to follow. These are located

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

Protocol Definition (con’t) Some definitions needed in the protocols to follow. These are located

Protocol Definition (con’t) Some definitions needed in the protocols to follow. These are located in the file protocol. h.

Arsitektur Link Layer datagram sending node u rcving node link layer protocol frame adapter

Arsitektur Link Layer datagram sending node u rcving node link layer protocol frame adapter Sisi pengirim : – Mengencapsulasi datagram dalam frame – Menambah error checking bits, rdt, flow control, dsb. u Sisi penerima – Memeriksa error, rdt, flow control, dsb. – Mengekstrak datagram, mengirimkan ke node penerima 23

Framing u Teknik framing : –Character count –Flag byte – byte stuffing –Flag bits

Framing u 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.

Framing – character count A character stream. (a) Without errors. (b) With one error. u u 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 u Byte

Framing : flag byte Awal dan akhir frame ditandai dengan byte)s) khusus u Byte penanda dapat merupakan simbol yang sama atau berbeda u Masalah: kode byte(s) yang digunakan dapat muncul di dalam data yang terkirim, sehingga dapat mengakibatkan kesalahan penentuan frame u Solusi: byte stuffing, mengganti byte serupa pada data dengan simbol lain u 26

Framing : flag byte (a) A frame delimited by flag bytes. (b) Four examples

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 u Lebih cocok

Framing : flag bits Serupa dengan flag bytes, namun menggunakan bit u Lebih cocok untuk data biner u – Misalnya ditentukan flag adalah 01111110 : Pada pengirim : setiap muncul 5 bit 1 berurutan, tambahkan bit 0 u Pada penerima: jika menerima 5 bit 1 berurutan, maka : u – Jika bit berikutnya 0 : hapus – Jika bit berikutnya: 10: end-of-frame – Jika bit berikutnya: 11: error 28

Framing : flag bits u Bit stuffing (a) The original data. (b) The data

Framing : flag bits u 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 Layer Unrestricted Simplex Protocol u Pengirim : – Ambil datagram (paket)

Protocol Data Link Layer Unrestricted Simplex Protocol u Pengirim : – Ambil datagram (paket) dari NL – Membentuk frame – Kirim datagram(frame) ke PL u Penerima : – Bila ada frame sampai – Ambil dari PL – Bentuk paket dari frame – Kirim paket ke NL

u Data ditransmisikan ke satu arah saja u NL pengirim dan penerima siap u

u Data ditransmisikan ke satu arah saja u NL pengirim dan penerima siap u Waktu proses diabaikan u Mempunyai buffer dengan kapasitas u Tidak ada frame yang rusak/hilang

Unristricted Simplex Protocol

Unristricted Simplex Protocol

Simplex stop and wait protocol u Buffer : terbatas u Saluran komunikasi : error

Simplex stop and wait protocol u Buffer : terbatas u Saluran komunikasi : error free u Trafik data : simplex u Kecepatan proses : terbatas u Protocol ini merupakan protocol dimana pengirim mengirimkan satu frame dan kemudian menunggu ack sebelum melanjutkan pengiriman

Pengirim : – Ambil paket dari NL – Membentuk frame – Kirimkan ke PL

Pengirim : – Ambil paket dari NL – Membentuk frame – Kirimkan ke PL – Menunggu ack u Penerima : – Bila ada frame yang datang – Ambil dari PL – Ambil paket dari frame – Lewatkan ke NL – Kirim ack u

Simplex Stop-and. Wait Protocol

Simplex Stop-and. Wait Protocol

Protocol Simplex untuk Kanal yang bernoise – Situasi yang sesungguhnya – Frame bisa rusak/hilang

Protocol Simplex untuk Kanal yang bernoise – Situasi yang sesungguhnya – Frame bisa rusak/hilang – Bila frame rusak, dapat dideteksi dengan checksum

u Protocol yang sebelumnya – Pengirim : u. Mengambil dari NL (data) u. Membuat

u Protocol yang sebelumnya – Pengirim : u. Mengambil dari NL (data) u. Membuat frame/membentuk frame (DLL) u. Mengirim frame (lewat PL) u. Bila menerima ack, mengirim frame berikut u. Bila tidak menerima ack, mengirim ulang u. Diulang sampai selesai

– Penerima : u. Menerima dari PL u. Dilakukan error checking u. Kalau terjadi/terdeteksi

– Penerima : u. Menerima dari PL u. Dilakukan error checking u. Kalau terjadi/terdeteksi error dibuang, tidak mengirim ack u. Kalau datanya bagus, tanpa error mengirim ack u. Diteruskan sampai si pengirim selesai mengirimkan semua frame MASALAH : u Apa yang terjadi bila acknya hilang dalam transmisi data?

A Simplex Protocol for a Noisy Channel A positive acknowledgement with retransmission protocol. Continued

A Simplex Protocol for a Noisy Channel A positive acknowledgement with retransmission protocol. Continued

A Simplex Protocol for a Noisy Channel (ctd. ) A positive acknowledgement with retransmission

A Simplex Protocol for a Noisy Channel (ctd. ) A positive acknowledgement with retransmission protocol.

u Gambarannya sbb : – Si A mengirim data – Diterima oleh si B

u Gambarannya sbb : – Si A mengirim data – Diterima oleh si B – Lulus checksum, si B mengirim ack – Ack hilang ditengah jalan – Time out ! Si A tidak menerima ack dalam waktu tertentu – Si A menganggap transmisi gagal dan mengirim frame tadi lagi – Si B menerima frame lagi dan diteruskan ke NL – Pada NL tertulis 2 frame yang sama pada NL

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

u Cara mengatasinya : – Diberi no. urut pada setiap framenya untuk membedakan frame yang satu dengan yang lain – Jadi bila menerima frame yang sama, salah satu dapat dibuang. u Jumlah bit yang menyatakan no. urut diharapkan seminimal mungkin u Berapa bit minimum tersebut ? u Analisa : – Anggap bahwa frame I = m frame II = m + 1 frame III = m + 2

m m+1 m+2 u Keraguan terjadi pada bukan u Akibatnya, hanya perlu membedakan antara

m m+1 m+2 u Keraguan terjadi pada bukan u Akibatnya, hanya perlu membedakan antara m dengan m + 1 atau m + 1 dengan m + 2 bukan m dengan m + 2

Oleh karena itu hanya diperlukan 1 bit saja untuk nomor urut frame : 0

Oleh karena itu hanya diperlukan 1 bit saja untuk nomor urut frame : 0 dan 1 – Kalau menerima no. urut yang salah, (setelah 0, 0 lagi atau setelah 1, 1 lagi), berarti frame yang diterima tidak urut (duplikasi dari frame yang sebelumnya) salah satu dibuang – Kalau no. urutnya benar : frame m : no. 0 frame m+1 : no. 1 frame m+2 : no. 0 …dst Kenaikannya frame-frame tersebut akan dengan modulo 2 diteruskan ke NL u

PAR (Positive Acknowledgement with Retransmission) u Pengirim : – Inisialisasi no urut frame yang

PAR (Positive Acknowledgement with Retransmission) u Pengirim : – Inisialisasi no urut frame yang mau dikirim – Ambil paket I dari NL – Membentuk frame – Mengirim frame lewat PL

Menunggu jawaban dari penerima Bila frame sampai dengan selamat ada ack mengirim yang berikut

Menunggu jawaban dari penerima Bila frame sampai dengan selamat ada ack mengirim yang berikut Kelamaan time out mengirim data yang sama frame rusak mengirim data yang sama Diulang sampai semua frame terkirim

u Penerima : – Tunggu – Bila frame sampai : u. Cek apakah frame

u Penerima : – Tunggu – Bila frame sampai : u. Cek apakah frame sempurna? u. Cek sequential no nya? – Bila valid, lewatkan data ke NL – Increment seq no yang diharapkan berikutnya – Bila tidak, frame tersebut dibuang – Seq. No yang diharapkan berikutnya tidak di in-crement – Diulang sampai pengiriman data selesai

Sliding Window Protocols • A One-Bit Sliding Window Protocol • A Protocol Using Go

Sliding Window Protocols • A One-Bit Sliding Window Protocol • A Protocol Using Go Back N • A Protocol Using Selective Repeat

Protocol Sliding Window u Pada 3 protocol yang pertama, frame ditransmisikan ke 1 arah

Protocol Sliding Window u Pada 3 protocol yang pertama, frame ditransmisikan ke 1 arah saja simplex u Situasi yang praktis : perlu transmisi untuk 2 arah full duplex u Untuk full duplex (salah satu cara) A u Forward (data) Reverse (ack) B – Perlu 2 saluran transmisi simplex yang terpisah Tetapi untuk saluran balik, bandwidth wasted

Pemikiran yang lain : Menggunakan saluran yang sama untuk ke dua arah dengan data

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 teknik piggy backing : – Teknik dimana menunda pengiriman ack sampai ada data

Digunakan teknik piggy backing : – Teknik dimana menunda pengiriman ack sampai ada data frame yang dikirimkan dan ack akan ditempelkan pada frame data. u Masalah pada piggy backing : Lamanya waktu tunggu menunggu frame data yang dapat ditumpangi oleh ack u Jika lamanya delay > time out sender retransmit data

u Keuntungan dari teknik ini : – Dapat menghemat bit-bit untuk membentuk frame ack

u Keuntungan dari teknik ini : – Dapat menghemat bit-bit untuk membentuk frame ack – Karena untuk mengirim ack juga harus dalam bentuk frame, perlu : Selain ack itu sendiri uheader uchecksum u Protocol Sliding Window : – Dapat menangani : u. Frame sampah (rusak) u. Frame hilang u. Time out yang terlalu cepat

u u Pada setiap frame berisi nomor urut 0 ~ max Dimana max :

u u Pada setiap frame berisi nomor urut 0 ~ max Dimana max : 2 n - 1 bit Untuk Protocol stop and wait, n = 1 (0 atau 1) Protocol ini memiliki : – Sending Window u Mengingat nomor urut dari frame yang dikirim u Ukuran frame, sesuai windownya u Mengingat ack yang sampai – Receiving Window u Mengingat frame yang diterima dengan baik u Mengingat ack yang dikirim

u Max window size = n, berarti sender perlu n buffer untuk menyimpan frame

u Max window size = n, berarti sender perlu n buffer untuk menyimpan frame yang mungki perlu dikirim kembali Sliding window dengan ukuran = 1, dengan no urut = 3 bit

u Keterangan gambar : (a) Keadaan awal (b) Pengirim mengirim 1 frame (c) Setelah

u Keterangan gambar : (a) Keadaan awal (b) Pengirim mengirim 1 frame (c) Setelah frame pertama diterima penerima (d) Setelah ack pertama diterima pengirim One Bit Sliding Windows u Maximum window size : 1 u Protokolnya : stop and wait Menunggu ack dari frame yang dikirimkan, baru mengirim frame berikutnya

Sliding Window Protocols (2) A sliding window of size 1, with a 3 -bit

Sliding Window Protocols (2) A sliding window of size 1, with a 3 -bit sequence number. (a) Initially. (b) After the first frame has been sent. (c) After the first frame has been received. (d) After the first acknowledgement has been received.

A One-Bit Sliding Window Protocol Continued

A 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) Two scenarios for protocol 4. (a) Normal case.

A One-Bit Sliding Window Protocol (2) Two scenarios for protocol 4. (a) Normal case. (b) Abnormal case. The notation is (seq, ack, packet number). An asterisk indicates where a network layer accepts a packet.

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

Protokol dengan “Go back to N” Round Trip Time waktu transmisi sampai ke penerima ditambah dengan diterimanya ACK di pengirim u Besarnya RTT mempengaruhi efisiensi dari penggunaan bandwidth. u Contoh : Seharusnya suatu frame dapat dikirim dengan lengkap pada t = 20 ms. Ternyata baru sampai penerima setelah 270 ms dan ACK diterima kembali setelah 520. Berarti dibutuhkan 500/520 atau 96% tidak efisien. u

Untuk mengatasi akan diblok w=26 frame bukan hanya 1 frame u Setelah selesai mengirim

Untuk mengatasi akan diblok w=26 frame bukan hanya 1 frame u Setelah selesai mengirim 26 frame = 520 ms, diikuti dengan diterimanya ACK setiap 20 ms u Window yang dibutuhkan sesuai dengan BW x RTT menentukan kapasitas pipa disebut teknik pipelining (definisikan!) u Mis : Kapasitas kanal = b bit/sec, Besar frame = L bit RT prop (delay) = R sec. Waktu transmit 1 frame = L/b u Utilisasi kanal : L/(L+b. R) u Bila L<b. R. Berapa efisiensi-nya? u

Masalah timbul, bila terjadi rusak/ hilang pada frame ditengah? ? Ada 2 cara :

Masalah timbul, bila terjadi rusak/ hilang pada frame ditengah? ? Ada 2 cara : Ø Penerima menggunakan window size 1 dan disebut “Go back n” yang akan membuang semua frame berikutnya, tanpa mengirim ACK thd frame yang rusak Ø Penerima menggunakan window size besar dan disebut “Selective repeat” yang akan membuffer semua frame setelah frame yang rusak. Frame yang rusak akan dibuang. Setelah sender time-out baru ACK dikirim ulang menggunakan NAK u

A Protocol Using Go Back N Pipelining and error recovery. Effect on an error

A Protocol Using Go Back N Pipelining and error recovery. Effect on an error when (a) Receiver’s window size is 1. (b) Receiver’s window size is large.

Sliding Window Protocol Using Go Back N Continued

Sliding Window Protocol Using Go Back N Continued

Sliding Window Protocol Using Go Back N Continued

Sliding Window Protocol Using Go Back N Continued

Sliding Window Protocol Using Go Back N Continued

Sliding Window Protocol Using Go Back N Continued

Sliding Window Protocol Using Go Back N

Sliding Window Protocol Using Go Back N

q 1. 2. 3. 4. q q Contoh skenario dengan max-seq = 7 Pengirim

q 1. 2. 3. 4. q q Contoh skenario dengan max-seq = 7 Pengirim mengirim frame 0 -7 (ke 1) ACK (Piggy-backing) ke-7 dikirim Pengirim mengirim lagi 8 frame (07) (ke-2) ACK (Piggy-backing) berikut ke-7 dikirim Untuk itu perlu jumlah max frame yang tersedia (max-seq)-multiple Dibutuhkamn multiple timer.

Sliding Window Protocol Using Go Back N (2) Simulation of multiple timers in software.

Sliding Window Protocol Using Go Back N (2) Simulation of multiple timers in software.

Protokol dengan ‘Selective Repeat’ u Protokol 6 (penerimaan tidak berurut) melewatkan ke NL berurut

Protokol dengan ‘Selective Repeat’ u Protokol 6 (penerimaan tidak berurut) melewatkan ke NL berurut u Bila timer habis hanya frame tsb yang diretransmisi tidak semua frame yang berikutnya. u Contoh: Untuk 3 bit bisa mengirim 7 frame sbl menerima ack dikirim frame 0 -6 jendela dimajukan untuk pengiriman frame ke 7 dan frame 0 -6

A Sliding Window Protocol Using Selective Repeat (5) (a) Initial situation with a window

A Sliding Window Protocol Using Selective Repeat (5) (a) Initial situation with a window size seven. (b) After seven frames sent and received, but not acknowledged. (c) Initial situation with a window size of four. (d) After four frames sent and received, but not acknowledged.

A Sliding Window Protocol Using Selective Repeat Continued

A Sliding Window Protocol Using Selective Repeat Continued

A Sliding Window Protocol Using Selective Repeat (2) Continued

A Sliding Window Protocol Using Selective Repeat (2) Continued

A Sliding Window Protocol Using Selective Repeat (3) Continued

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)