760 likes | 984 Views
The Data Link Layer. Materi 2. DATA LINK LAYER. “link”. data-link layer berfungsi mentransfer data dari satu simpul (node) ke simpul yang berdekatan melalui saluran (link). Terminologi: host and router adalah simpul Kanal komunikasi yang menghubungkan simpul yang berdekatan adalah link
E N D
The Data Link Layer Materi 2
DATA LINK LAYER “link” data-link layer berfungsi mentransfer data dari satu simpul (node) ke simpul yang berdekatan melalui saluran (link) 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 2
Tugasdari Data Link Layer • Melayani Network Layer • Membuat Framing • Error Control • Flow Control
Fungsidari Data Link Layer • Melayanidansebagai interface ke network layer • Mengamati error transmisi • Pengaturan data flow • Raceiverdengankecepatan yang rendahtidakdapatmenampungpengirimdengankecepatantinggi.
Functions of the Data Link Layer (2) Hubunganantarapaketdan frame
Services Provided to Network Layer (a) Virtual communication. (b) Actual communication.
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 sequences before and after stuffing.
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 • Menangani single error code • Cara membuat codenya : • Posisi parity bit ada di bit sesuai 2n (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 ada1bit dan tidak ada1bit : ada 1bit, gak ada 1 bit,ada 1bit….. • Posisi 2 : bergantian ada2 bit dan tidak ada2 bit : ada 2bit, gak ada 2 bit,ada 2bit….. • Posisi 4 : bergantian ada4 bit dan tidak ada4 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 1 0 • Membuat data word –nya: - - 1 – 0 0 1 – 1 0 1 0 ( - paritas 15) Carilahparitas-nya : Posisi 1 : ? – 1 – 0 0 1 – 1 0 1 0 Jumlah bit 1 genapparitas : 0 Posisi 2 : 0?1 – 0 01 – 1 01 0 Jumlah bit 1 ganjilparitas : 1 Posisi 4 : 0 1 1 ? 0 01 – 1 0 1 0 Jumlah bit 1 ganjilparitas : 1
Posisi 8 : 0 1 110 0 1 ? 1 0 1 0 Jumlah bit 1 genapparitas : 0 Jadi Code-word-nya : 0 1 110 0 1 0 10 1 0 Dicoba :carikesalahanpada bit paritas-nya 0 1 0 1 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0
0 1 0 1 0 1 1 0 0 0 1 1 Posisi 1 : ? – 0 – 0 1 1 – 0 0 1 1 Jumlah bit 1 genapparitas : 0 Posisi 2 : 0?0 – 0 11 – 0 01 1 Jumlah bit 1 ganjilparitas : 1 Posisi 4 : 0 0 0? 0 11 – 0 0 1 1 Jumlah bit 1 ganjilparitas :1 Posisi 8 : 0 0 010 11 ? 00 1 0 Jumlah bit 1 ganjilparitas : 1
Error-Correcting Codes Use of a Hamming code to correct burst errors.
Error-Detecting Codes Calculation of the polynomial code checksum.
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 • 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 • 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 Layer • Unrestricted Simplex Protocol • Simplex stop and wait protocol • Protocol Simplex untuk Kanal yang bernoise • PAR (Positive Acknowledgement with Retransmission) PAR (Positive Acknowledgement with Retransmission) • Sliding Window Protocols • Protokol dengan “Go back to N” • Protokol dengan ‘Selective Repeat
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 in the file protocol.h.
Arsitektur Link Layer frame frame datagram rcving node link layer protocol sending node adapter adapter • 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 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 Layer Unrestricted Simplex Protocol • Pengirim : • Ambil datagram (paket) dari NL • Membentuk frame • Kirim datagram(frame) ke PL • Penerima : • Bila ada frame sampai • Ambil dari PL • Bentuk paket dari frame • Kirim paket ke NL
Data ditransmisikan ke satu arah saja • NL pengirim dan penerima siap • Waktu proses diabaikan • Mempunyai buffer dengan kapasitas • Tidak ada frame yang rusak/hilang
Simplex stop and wait protocol • Buffer : terbatas • Salurankomunikasi : error free • Trafik data : simplex • Kecepatanproses : terbatas • Protocol inimerupakan protocol dimanapengirimmengirimkansatu frame dankemudianmenungguacksebelummelanjutkanpengiriman
Pengirim : • Ambil paket dari NL • Membentuk frame • Kirimkan ke PL • Menunggu ack • Penerima : • Bila ada frame yang datang • Ambil dari PL • Ambil paket dari frame • Lewatkan ke NL • Kirim ack
Protocol Simplex untukKanal yang bernoise • Situasi yang sesungguhnya • Frame bisarusak/hilang • Bila frame rusak, dapatdideteksidengan checksum
Protocol yang sebelumnya • Pengirim : • Mengambil dari NL (data) • Membuat frame/membentuk frame (DLL) • Mengirim frame (lewat PL) • Bila menerima ack, mengirim frame berikut • Bila tidak menerima ack, mengirim ulang • Diulang sampai selesai
Penerima : • Menerima dari PL • Dilakukan error checking • Kalau terjadi/terdeteksi error dibuang, tidak mengirim ack • Kalau datanya bagus, tanpa error mengirim ack • Diteruskan sampai si pengirim selesai mengirimkan semua frame MASALAH : • 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 (ctd.) A positive acknowledgement with retransmission protocol.
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
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. • Jumlah bit yang menyatakan no. urut diharapkan seminimal mungkin • Berapa bit minimum tersebut ? • Analisa : • Anggap bahwa frame I = m frame II = m + 1 frame III = m + 2
m m + 1 m + 2 • Keraguan terjadi pada bukan • 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 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 frame-frame tersebut akan diteruskan ke NL Kenaikannya dengan modulo 2
PAR (Positive Acknowledgement with Retransmission) • Pengirim : • Inisialisasi no urut frame yang maudikirim • Ambilpaket I dari NL • Membentuk frame • Mengirim frame lewat PL
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
Penerima : • Tunggu • Bila frame sampai : • Cek apakah frame sempurna? • 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 Back N • A Protocol Using Selective Repeat
Protocol Sliding Window • Pada 3 protocol yang pertama, frame ditransmisikan ke 1 arah saja simplex • Situasi yang praktis : perlu transmisi untuk 2 arah full duplex • Untuk full duplex (salah satu cara) • Perlu 2 saluran transmisi simplex yang terpisah • Tetapi untuk saluran balik, bandwidth wasted Forward (data) A B Reverse (ack)
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