link
host and router adalah simpul Kanal komunikasi yang menghubungkan simpul yang berdekatan adalah link
wired link wireless link LAN
Raceiver dengan kecepatan yang rendah tidak dapat menampung pengirim dengan kecepatan tinggi.
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 receivers 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 ada 1bit dan tidak ada 1bit : ada 1bit, gak ada 1 bit,ada 1bit.. Posisi 2 : bergantian ada 2 bit dan tidak ada 2 bit : ada 2bit, gak ada 2 bit,ada 2bit.. 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 1 0 Membuat data word nya: - - 1 0 0 1 1 0 1 0 ( - paritas 15) Carilah paritas-nya : Posisi 1 : ? 1 0 0 1 1 0 1 0 Jumlah bit 1 genap paritas : 0 Posisi 2 : 0 ? 1 0 0 1 1 0 1 0 Jumlah bit 1 ganjil paritas : 1 Posisi 4 : 0 1 1 ? 0 0 1 1 0 1 0 Jumlah bit 1 ganjil paritas : 1
Posisi 8 : 0 1 1 1 0 0 1 ? 1 0 1 0 Jumlah bit 1 genap paritas : 0 Jadi Code-word-nya : 011100101010 Dicoba :cari kesalahan pada bit paritas-nya 010101100011 111110001100 000010001010
010101100011
Posisi 1 : ? 0 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 1 0 11 ? 00 1 0 Jumlah bit 1 ganjil paritas : 1
Error-Correcting Codes
Error-Detecting Codes
the role of bits in representing a frame as it is transported across the local media.
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. pada kondisi channel yang kurang handal seperti wireless. pengiriman data secara handal
19
Protocol Definitions
Continued
Some definitions needed in the protocols to follow. These are located in the file protocol.h.
Some definitions needed in the protocols to follow. These are located in the file protocol.h.
rcving node
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
Setiap frame diawali dengan field yang menyatakan panjang frame Jika field ini rusak, maka frame tidak dapat dikenali lagi
25
26
(a) A frame delimited by flag bytes. (b) Four examples of byte sequences before and after stuffing.
27
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
Bit stuffing
(a) The original data. (b) The data as they appear on the line. (c) The data as they are stored in receivers memory after destuffing.
29
Data
saja NL pengirim dan penerima siap Waktu proses diabaikan Mempunyai buffer dengan kapasitas Tidak ada frame yang rusak/hilang
: 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
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 :
Continued
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+1
m+2
Keraguan
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
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 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) A
Forward (data) Reverse (ack)
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 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
Dapat menghemat bit-bit untuk membentuk frame ack Karena untuk mengirim ack juga harus dalam bentuk frame, perlu : Selain ack itu sendiri header
checksum
Protocol
Sliding Window :
Dapat menangani : Frame sampah (rusak) Frame hilang Time out yang terlalu cepat
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
Max window size = n, berarti sender perlu n buffer untuk menyimpan frame yang mungki 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
One Bit Sliding Windows Maximum window size : 1 Protokolnya : stop and wait
Menunggu ack dari frame yang dikirimkan, baru mengirim frame berikutnya
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.
Continued
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.
Untuk mengatasi akan diblok w=26 frame bukan hanya 1 frame Setelah selesai mengirim 26 frame = 520 ms, diikuti dengan diterimanya ACK setiap 20 ms Window yang dibutuhkan sesuai dengan BW x RTT menentukan kapasitas pipa disebut teknik pipelining (definisikan!) Mis : Kapasitas kanal = b bit/sec, Besar frame = L bit RT prop (delay) = R sec. Waktu transmit 1 frame = L/b Utilisasi kanal : L/(L+bR) Bila L<bR. Berapa efisiensi-nya?
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
Pipelining and error recovery. Effect on an error when (a) Receivers window size is 1.
(b) Receivers window size is large.
Continued
Continued
Continued
1. 2.
3.
4.
Contoh skenario dengan max-seq = 7 Pengirim mengirim frame 0-7 (ke-1) ACK (Piggy-backing) ke-7 dikirim Pengirim mengirim lagi 8 frame (0-7) (ke-2) ACK (Piggy-backing) berikut ke-7 dikirim Untuk itu perlu jumlah max frame yang tersedia (max-seq)-multiple Dibutuhkamn multiple timer. Ilustrasi multiple timer sbb :
Sliding Window Protocol Using Go Back N (2) Simulation of multiple timers in software.
6 (penerimaan tidak berurut) melewatkan ke NL berurut Bila timer habis hanya frame tsb yang diretransmisi tidak semua frame yang berikutnya. Contoh: Untuk 3 bit bisa mengirim 7 frame sbl menerima ack dikirim frame 0-6 jendela dimajukan untuk pengiriman frame ke7 dan frame 0-6
(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.
Continued
Continued
Continued