430 likes | 610 Views
Error-Correcting Codes. Use of a Hamming code to correct burst errors. Protocol Data Link Layer. 3.3.1.Unstricted Simplex Protocol Pengirim : Ambil paket dari NL Membentuk frame Kirim ke PL Penerima : Bila ada frame sampai Ambil dari PL Ambil paket dari frame Kirim paket ke NL.
E N D
Error-Correcting Codes Use of a Hamming code to correct burst errors.
Protocol Data Link Layer 3.3.1.Unstricted Simplex Protocol • Pengirim : • Ambil paket dari NL • Membentuk frame • Kirim ke PL • Penerima : • Bila ada frame sampai • Ambil dari PL • Ambil 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 3.3.2. Simplex stop and wait protocol • Buffer : terbatas • Saluran komunikasi : error free • Trafik data : simplex • Kecepatan proses : terbatas
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 • Menunggu ack
Penerima : • Bila ada frame yang datang • Ambil dari PL • Ambil paket dari frame • Lewatkan ke NL • Kirim ack 3.3.3. Protocol Simplex untuk Kanal yang bernoise • Situasi yang sesungguhnya • Frame bisa rusak/hilang • Bila frame rusak, dapat dideteksi dengan 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?
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 + 1 • 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
3.3.4. PAR (Positive Acknowledgement with Retrans- mission) • Pengirim : • Inisialisasi no urut frame yang mau dikirim • Ambil paket I dari NL • Membentuk frame • Mengirim frame kewat 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
3.4. 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
Digunakan teknik piggy backing : • Teknik dimana menunda pengiriman ack sampai ada data frame yang dikirimkan dan ack akan ditempelkan pada frame data. • Masalah pada piggy backing : Lamanya waktu tunggu menunggu frame data yang dapat ditumpangi oleh ack Jika lamanya delay > time out sender sender retransmit data
Keuntungan dari teknik ini : • Dapat menghemat bit-bit untuk membentuk frame ack • Karena untuk mengirim ack juga harus dalam bentuk frame, perlu : • header • checksum • Protocol Sliding Window : • Dapat menangani : • Frame sampah (rusak) • Frame hilang • Time out yang terlalu cepat Selain ack itu sendiri
Pada setiap frame berisi nomor urut 0 ~ max • Dimana max : 2n - 1 bit • Untuk Protocol stop and wait, n = 1 (0 atau 1) • Protocol ini memiliki : • Sending Window • Mengingat nomor urut dari frame yang dikirim • Ukuran frame, sesuai windownya • Mengingat ack yang sampai • Receiving Window • Mengingat frame yang diterima dengan baik • Mengingat ack yang dikirim
Sliding window dengan ukuran = 1, dengan no urut = 3 bit • Max window size = n, berarti sender perlu n buffer untuk menyimpan frame yang mungkin perlu dikirim kembali
Keterangan gambar : (a) Keadaan awal (b) Pengirim mengirim 1 frame (c) Setelah frame pertama diterima penerima (d) Setelah ack pertama diterima pengirim 3.4.1. One Bit Sliding Windows • Maximum window size : 1 • Protokolnya : stop and wait Menunggu ack dari frame yang dikirimkan, baru mengirim frame berikutnya
Protocol : • Bila ada frame yang mau dikirim • Inisialisasi nomor urut frame • Inisialisasi nomor frame yang diterima • Ambil data dari NL • Membentuk frame • Beri nomor urut frame • Piggy backing ack • Lewatkan ke PL • Pasang timer : • Menunggu ack dari receiver
Bila ada frame sampai : • Ambil frame dari PL • Nomor urut benar : • Lewatkan ke NL • Naikkan no. urut penerima (untuk dibandingkan dengan no. urut frame yang datang) • Nomor ack : benar : • Ambil paket baru dari NL • Naikkan no. urut • Membentuk frame • Insert no urut • Piggy backing ack • lewatkan ke PL --- pasang timer … wait!
5. 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 (2) Simulation of multiple timers in software.
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.
Protocol Verification • Finite State Machined Models • Petri Net Models
Grafik berhubungan dengan : • Protokol : 2 keadaan • Kanal : 4 keadaan ada 16 keadaan XYZ : X = 1 atau 0 menyatakan frame yang dikirim Y = 1 atau 0 menyatakan frame yang diharapkan akan diterima Z = 0, 1, A , - menyatakan kondisi kanal.
Pada kondisi normal transisi 1,2,3,4 akan terjadi berulang-ulang. • Bila kanal kehilangan frame maka (000) ke (00-) • Bila pengirim kehabisan waktu kembali ke (000) atau transisi 7. • Transisi 7 dan 5 serta 8 dan 6 adalah kehilangan Ack (lebih rumit).
Finite State Machined Models (a) State diagram for protocol 3. (b) Transmissions.
Deadlock : Situasi dimana protolol tidak dapat lagi melakukan kegiatan lebih lanjut Gb.21 adalah variasi protokol 3 untuk full duplex Protokol :2 keadaan dan keadaan 2 kanal. Kanal arah maju : 0,1 dan – Kanal arah balik : A dan -
Petri Net Models A Petri net with two places and two transitions.
Memiliki 4 elemen : • tempat adalah bagian dari sistem (A dan B) • transisi digambarkan oleh garis vertikal atau horisontal • lengan masing2 transisi dapat mempunyai lengan 0 atau lebih. • token (bulatan besar) adalah menandakan sistem ada di A Transisi enable bila sedikitnya mempunyai tokeninput pada setiap tempat inputnya Enable berarti dapat memindahkan toktn tempat input ke tempat output.
Petri Net Models (2) A Petri net model for protocol 3.
Example Data Link Protocols • HDLC – High-Level Data Link Control • The Data Link Layer in the Internet
High-Level Data Link Control Frame format for bit-oriented protocols.
High-Level Data Link Control (2) Control field of (a) An information frame. (b) A supervisory frame. (c) An unnumbered frame.
The Data Link Layer in the Internet A home personal computer acting as an internet host.
PPP – Point to Point Protocol The PPP full frame format for unnumbered mode operation.
PPP – Point to Point Protocol (2) A simplified phase diagram for bring a line up and down.
PPP – Point to Point Protocol (3) The LCP frame types.