Datalink Layer Computer Networks Eko Prasetyo Teknik Informatika Universitas Muhammadiyah Gresik 2012 Datalink Layer data-link layer berfungsi mentransfer data dari satu simpul (node) ke simpul yang berdekatan melalui saluran (link) “link” Terminologi: host dan router adalah simpul Saluran komunikasi yang menghubungkan simpul yang berdekatan adalah link ◦ wired link ◦ wireless link ◦ LAN Data di encapsulate menjadi frame 2 Posisi datalink dalam stack model OSI 3 Tugas Utama Datalink Layer Services Provided to the Network Layer Framing Error Control Flow Control 4 Services Provided to the Network Layer (a) Virtual communication. (b) Actual communication. 5 Prinsip dasar (1) Masalah utama dalam komunikasi data ialah realibility atau keandalan. ◦ Sinyal yang dikirim melalui medium tertentu dapat mengalami pelemahan, distorsi, keterbatasan bandwidth Data yang dikirim dapat menjadi rusak, hilang, berubah Tugas data link layer adalah menangani kerusakan dan hilangnya data antar 2 titik komunikasi yang terhubung oleh satu medium transmisi fisik 6 Prinsip dasar (2) A mengirim data ke B. Jalur antara A dan B tidak reliable, sehingga mungkin ada data yang rusak/hilang. Bagaimana menjamin transmisi data A ke B tetap reliable? 7 Prinsip dasar (3) A tidak mengirim data yang panjang ke B. ◦ Data dibagi menjadi frame, sehingga kerusakan sebuah frame tidak merusak keseluruhan data. Bagaimana B dapat mendeteksi bahwa frame yang dikirim A mengalami kerusakan? A menambahkan error check bits ke frame, sehingga B dapat memeriksa frame dan menentukan apakah telah terjadi perubahan 8 Prinsip dasar (4) Bagaimana A mengetahui data yang dikirimnya telah diterima B? B dapat mengirimkan ack/pemberitahuan jika data diterima dengan benar, dan nak/pemberitahuan data salah jika data rusak A dapat mengirimkan ulang frame yang rusak Mengapa frame dapat hilang? Apa yang terjadi jika frame dapat hilang? ◦ Bagian alamat/id/header mengalami kerusakan, sehingga frame tidak dikenali ◦ Temporer disconnection ◦ B tidak mengetahui ada pengiriman dari A, sehingga tentunya juga tidak mengirimkan ack ke A. ◦ B mengirimkan ack namun hilang di jalan. 9 Prinsip dasar (5) A harus memiliki timer, yang akan mengirim ulang jika tidak menerima kabar dari B Jangka waktu timeout harus diatur. ◦ Jika timeout terlalu cepat, A akan mengirimkan ulang sebelum ack dari B tiba. ◦ Jika timeout terlalu lama, A akan menunggu terlalu lama jika ada frame yang hilang 10 Prinsip dasar (6) A mengirim frame 1 A mengalami timeout, dan mengirimkan ulang frame 1 A menerima ack, melanjutkan mengirim frame 2 A menerima ack kedua untuk frame 1, namun dianggap sebagai ack untuk frame 2 (error) Untuk mencegah hal tersebut maka A harus memberikan frame number, sehingga B dapat memberikan ack spesifik untuk frame number tertentu 11 Peran data link layer Physical layer: mengkodekan data menjadi sinyal yang dikirim melalui medium transmisi Data Link layer berfungsi menangani kesalahan transmisi, serta memberikan layanan ke network layer. Untuk itu beberapa hal yang dilakukan oleh Data Link Layer adalah: ◦ Framing ◦ Flow control ◦ Error control (error detection, error correction) 12 Framing Tujuan: ◦ Mengurangi kemungkinan error ◦ Menyesuaikan dengan kapasitas buffer penerima yang terbatas Hubungan antara packets and frames. 13 Teknik Framing Character count ◦ Protokol : Ethernet Flag byte – byte stuffing ◦ Protokol : PPP Flag bits – bit stuffing ◦ Protokol : HDLC 14 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 15 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 16 Framing : flag byte (a) A frame delimited by flag bytes. (b) Four examples of byte sequences before and after stuffing. 17 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 18 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 destuffing. after 19 Pengaruh noise pada sinyal digital 20 Error Control Menangani error jaringan yang disebabkan masalah transmisi ◦ Network errors mis, perubahan nilai suatu bit saat transmisi Dikendalikan oleh network hardware dan software ◦ Human errors: mis., kesalahan dlm pengetikan angka Dikendalikan oleh program aplikasi Kategori dari error jaringan ◦ Data terkorupsi (perubahan data) ◦ Data hilang 21 Error Control (Cont.) Laju Error (Error Rate) ◦ Bit error rate (BER) menunjukan probabilitas bit terkena error. Harga tipikal BER = 109 untuk link electrik, dan 10-12 untuk link optik ◦ 1 bit error dalam n bit yang ditransmisikan. mis., 1 dalam 100,000 Bit Error rate (BER) = 10-5 Burst error ◦ Banyak bit yang terkorupsi pada saat bersamaan ◦ Error-error tidak terdistribusi secara uniform Fungsi-fungsi utama ◦ Mencegah error ◦ Mendeteksi error ◦ Mengkoreksi errors Dimana pemeriksaan error yang baik ? Low error rate (e.g. fiber): ◦ Error rate : Phone lines - moderate Coaxial cable - low Fiber optic - very low Wireless - very high Melakukan pemeriksaan error pada layer yang lebih tinggi, pada kumpulan data yang besar (multiframe objects). High error rate (e.g. wireless): ◦ Melakukan pemeriksaan error dalam data link layer, pada setiap frame tunggal. 22 Sumber-Sumber Error Noise saluran dan distorsi – penyebab utama Lebih mungkin pd media elektrik ◦ Sinyal elektrik yang tidak diinginkan ◦ Disebabkan gangguan peralatan dan alam ◦ Menurunkan performansi suatu circuit Tanda-tanda ◦ Bit-bit extra ◦ Bit-bit berubah (“flipped” bits) ◦ Bit-bit hilang 23 Sumber Error dan Pencegahan Source of Error What causes it How to prevent it More important mostly on analog Line Outages Faulty equipment, Storms, Accidents (circuit fails) White Noise (Gaussian Noise) Movement of electrons (thermal energy) Increase signal strength (increase SNR) Impulse Noise Sudden increases in electricity (e.g., lightning, power surges) Shield or move the wires Cross-talk Multiplexer guard bands are too small or wires too close together Increase the guard bands, or move or shield the wires Echo Poor connections (causing signal to be reflected back to the source) Fix the connections, or tune equipment Attenuation Gradual decrease in signal over distance (weakening of a signal) Use repeaters or amplifiers Intermodulation Noise Signals from several circuits combine Move or shield the wires Jitter Analog signals change (small changes in amp., freq., and phase) Tune equipment Harmonic Distortion Amplifier changes phase (does not correctly amplify its input signal) Tune equipment (Spikes) 24 Deteksi Error Pengirim mengkalkulasi Error Detection Value (EDV) dan mentransmisikan bersama data Mathematical calculations Data yg akan ditransmisikan EDV Penerima kalkulasi ulang EDV dan bandingkan dengan EDV yang diterima Mathematical calculations ? = – Jika sama tidak ada error Makin besar ukuran, makin baik deteksi error (tetapi efisiensi lebih rendah) saat transmisi – Jika berbeda Terjadi error saat transmisi 25 Error Detection and Correction Umumnya penanganan error transmisi dilakukan pada data link layer. ◦ Error control dapat pula dilakukan pada layer lain (biasanya higher layer) Error dapat dideteksi dan dikoreksi dengan menggunakan data tambahan / redundant pada setiap pengiriman data Jenis error: ◦ Single bit error: hanya sebuah bit yang berubah. Disebabkan oleh white noise Misal : data yang dikirim : 1111001010111 Data yang diterima : 1111101010111 ◦ Burst error: sederetan bit-bit mengalami error. Disebabkan oleh impulse noise Misal : data yang dikirim : 1111001010111 Data yang diterima : 1111110101011 Makin tinggi data rate, makin besar efeknya 26 Teknik Deteksi dan Koreksi Error Parity checks ◦ Protokol : Asynchronous Xmission Longitudinal Redundancy Checking (LRC) Hamming Code ◦ Protokol : wireless (802.11), broadband (802.16) Polynomial checking ◦ Checksum ◦ Cyclic Redundancy Check (CRC) Protokol : Ethernet, PPP, HDLC, SDLC 27 Error Detection and Correction Ada 2 teknik yang digunakan: ◦ Error - Detecting Codes ◦ Error - Correcting Codes Error correcting codes memerlukan data redundant lebih besar dibandingkan dengan error detecting codes ◦ Begitu terdeteksi, error harus dikoreksi Teknik Koreksi Error Retransmisi (Backward error correction) ◦ Sederhana, efektif, murah, umum digunakan ◦ Dikoreksi dengan retransmisi data ◦ Penerima, jika mendeteksi error, meminta pengirim untuk retransmit message ◦ Sering disebut Automatic Repeat Request (ARQ) Forward Error Correction ◦ Peralatan penerima dapat mengkoreksi sendiri messages yang datang 28 Forward Error Correction (FEC) Peralatan penerima dapat mengkoreksi sendiri message yang datang (tanpa retransmisi) Perlu informasi ekstra untuk koreksi ◦ Kirim bersama dengan data ◦ Memungkinkan data untuk di-check dan dikoreksi oleh penerima ◦ Jumlah informasi extra : biasanya 50-100% dari data Berguna untuk transmisi satelit ◦ Transmisi satu arah (retransmisi tidak dimungkinkan) ◦ Waktu transmisi sangat panjang (retransmisi akan memakan waktu lama) ◦ Biaya FEC tdk signifikan (dibandingkan biaya total peralatan) 29 Contoh Penggunaan Parity Bit Untuk dikirimkan: huruf V pd 7-bit ASCII: 0110101 EVEN parity sender receiver 01101010 Operator : XOR parity ODD parity Operator : ~XOR sender receiver 01101011 parity 30 Hamming Code Dibuat oleh Richard Hamming (1915-1998) Hamming code dapat digunakan untuk melakukan error correction. Codeword (berukuran n-bit) merupakan gabungan data berukuran m-bit dan redundant check bits berukuran r-bit, (n=m+r). Hamming distance:Jumlah bit yang berbeda antara dua buah codeword (gunakan XOR): ◦ 1110 dan 1111 memiliki 1 bit yang berbeda: d=1 ◦ 1010 dan 1100 memiliki 2 bit yang berbeda: d=2 31 Hamming distance 32 KODE HAMMING (DETEKSI DAN KOREKSI KESALAHAN) Data: 0 1 1 0 (6) Posisi : 1 2 3 4 5 6 7 d3d2d1d0 p 1 p 2 d3 p 4 d2 d1 d0 p1 p2 0 p4 1 1 0 p1 bertanggung jawab pada posisi: 1,3,5,7 p2 bertanggung jawab pada posisi: 2,3,6,7 p4 bertanggung jawab pada posisi: 4,5,6,7 Menggunakan paritas genap : saat pendeteksian, hasil operasi XOR harus 0 (genap) p1 : p1 0 1 0 = genap p1 = 1 p2 : p2 0 1 0 = genap p2 = 1 p4 : p4 1 1 0 = genap p4 = 0 Kode Hamming: 1100110 33 MISAL KODE HAMMING PARITAS GENAP DARI BCD ADALAH 1 1 1 0 1 1 0 , BERAPA NILAI BCD TSB? Posisi : 1 2 3 4 5 6 7 p 1 p 2 d3 p 4 d2 d1 d0 1 1 1 0 1 1 0 Yang benar: 1 1 0 0 1 1 0 Data : 0110 (6) p1 : 1 + 1 + 1 + 0 = ganjil salah p2 : 1 + 1 + 1 + 0 = ganjil salah p4 : 0 + 1 + 1 + 0 = genap benar Bit yang salah adalah posisi: 3 ???? 34 Penggunaan kode Hamming untuk mengoreksi burst errors. Normal : mengirimkan data blok per baris Trik :mengirimkan data blok pada tiap kolom 35 Penggunaan kode Hamming untuk mengoreksi burst errors. Normal : mengirimkan data blok per baris Trik :mengirimkan data blok pada tiap kolom Ketika terjadi burst error, error hanya terjadi pada sederet bit kolom (satu bit tiap baris Warna kuning : burst error 36 Polynomial Checking Tambahkan 1 atau lebih karakter pada akhir pesan (berdasarkan algoritma matematik) Dua tipe: Checksum dan CRC Checksum ◦ Kalkulasi dengan menambahkan nilai desimal dari tiap karakter pada pesan ◦ Bagi total dengan 255 dan ◦ Simpan sisanya (nilai 1 byte) dan gunakan ini sbg checksum ◦ 95% efektif Cyclic Redundancy Check (CRC) ◦ Dihitung dengan kalkukasi sisa ke problem pembagian 37 Error detection: CRC Cyclic redundancy check (CRC) merupakan method yang umum digunakan untuk mendeteksi error CRC beroperasi pada sebuah frame/block. Setiap block data (berukuran m bit m=M(x)+R(x)) yang akan dikirim akan terlebih dahulu dihitung CRC checksumnya (berukuran R bit dari standart). ◦ M(x) = pesan yang dikirim. G(x) = generator polynomial. R=jumlah bit CRC yang digunakan (mengikuti standart) ◦ Kalikan M(x) dengan 2R ◦ Lakukan pembagian modulo 2 dengan G(x) untuk mendapatkan sisa R(x) Kemudian M(x)+R(x) sumnya akan dikirim sebagai frame (dengan ukuran m bit). Pada sisi penerima, CRC checksum akan dihitung kembali berdasarkan pada frame yang diterima, dan dibandingkan dengan checksum yang dikirimkan. Jika hasil baginya tidak 0, berarti frame telah rusak. CRC menggunakan prinsip modulo bilangan 2. 38 Aritmrtika modulo Operasi penambahan dan pengurangan = XOR 39 Standart CRC Internasional Name CRC-1 CRC-4-ITU CRC-5-EPC CRC-5-ITU CRC-5-USB CRC-6-ITU CRC-7 CRC-8-CCITT CRC-8Dallas/Maxim CRC-8 CRC-8-SAE J1850 CRC-8-WCDMA CRC-10 CRC-11 Polynomial Representations: normal / reversed / reverse of reciprocal x + 1 (most hardware; also known as parity bit) 0x1 / 0x1 / 0x1 4 x + x + 1 (ITU-T G.704, p. 12) 0x3 / 0xC / 0x9 x5 + x3 + 1 (Gen 2 RFID) 0x09 / 0x12 / 0x14 5 4 2 x + x + x + 1 (ITU-T G.704, p. 9) 0x15 / 0x15 / 0x1A 5 2 x + x + 1 (USB token packets) 0x05 / 0x14 / 0x12 6 x + x + 1 (ITU-T G.704, p. 3) 0x03 / 0x30 / 0x21 7 3 x + x + 1 (telecom systems, ITU-T G.707, ITUT G.832, MMC, SD) 0x09 / 0x48 / 0x44 8 2 x + x + x + 1 (ATM HEC), ISDN Header Error Control and Cell Delineation ITU-T I.432.1 (02/99) 0x07 / 0xE0 / 0x83 x8 + x5 + x4 + 1 (1-Wire bus) x8 + x7 + x6 + x4 + x2 + 1 0x31 / 0x8C / 0x98 0xD5 / 0xAB / 0xEA x8 + x4 + x3 + x2 + 1 x8 + x7 + x4 + x3 + x + 1 x10 + x9 + x5 + x4 + x + 1 (ATM; ITU-T I.610) x11 + x9 + x8 + x7 + x2 + 1 (FlexRay) 0x1D / 0xB8 / 0x8E 0x9B / 0xD9 / 0xCD 0x233 / 0x331 / 0x319 0x385 / 0x50E / 0x5C2 CRC-12 x12 + x11 + x3 + x2 + x + 1 (telecom systems) 0x80F / 0xF01 / 0xC07 CRC-15-CAN x15 + x14 + x10 + x8 + x7 + x4 + x3 + 1 0x4599 / 0x4CD1 / 0x62CC 40 Standart CRC Internasional Name CRC-16-IBM CRC-16-CCITT CRC-16-T10-DIF CRC-16-DNP CRC-16-DECT CRC-16-Fletcher Polynomial x16 + x15 + x2 + 1 (Bisync, Modbus, USB, ANSI X3.28, many others; also known as CRC-16 and CRC-16-ANSI) x16 + x12 + x5 + 1 (X.25, V.41, HDLC, XMODEM, Bluetooth, SD, many others; known as CRCCCITT) x16 + x15 + x11 + x9 + x8 + x7 + x5 + x4 + x2 + x + 1 (SCSI DIF) x16 + x13 + x12 + x11 + x10 + x8 + x6 + x5 + x2 + 1 (DNP, IEC 870, M-Bus) x16 + x10 + x8 + x7 + x3 + 1 (cordless telephones) Not a CRC; see Fletcher's checksum Representations: normal / reversed / reverse of reciprocal 0x8005 / 0xA001 / 0xC002 0x1021 / 0x8408 / 0x8810[8] 0x8BB7[20] / 0xEDD1 / 0xC5DB 0x3D65 / 0xA6BC / 0x9EB2 0x0589 / 0x91A0 / 0x82C4 Used in Adler-32 A & B CRCs CRC-24 CRC-24-Radix-64 x24 + x22 + x20 + x19 + x18 + x16 + x14 + x13 + x11 + x10 + x8 + x7 + x6 + x3 + x + 1 (FlexRay) 0x5D6DCB / 0xD3B6BA / 0xAEB6E5 x24 + x23 + x18 + x17 + x14 + x11 + x10 + x7 + x6 + x5 + x4 + x3 + x + 1 (OpenPGP) 0x864CFB / 0xDF3261 / 0xC3267D 0x2030B9C7 / 0x38E74301 / CRC-30 x30 + x29 + x21 + x20 + x15 + x13 + x12 + x11 + x8 + x7 + x6 + x2 + x + 1 (CDMA) 0x30185CE3 CRC-32-Adler Not a CRC; see Adler-32 See Adler-32 x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1 (V.42, Ethernet, 0x04C11DB7 / 0xEDB88320 / CRC-32-IEEE 802.3 SATA, MPEG-2, PNG,[22] POSIX cksum) 0x82608EDB CRC-32C x32 + x28 + x27 + x26 + x25 + x23 + x22 + x20 + x19 + x18 + x14 + x13 + x11 + x10 + x9 + x8 + 0x1EDC6F41 / 0x82F63B78 / (Castagnoli) x6 + 1 (iSCSI & SCTP, G.hn payload, SSE4.2) 0x8F6E37A0 x32 + x30 + x29 + x28 + x26 + x20 + x19 + x17 + x16 + x15 + x11 + x10 + x7 + x6 + x4 + x2 + x + 0x741B8CD7 / 0xEB31D82E / CRC-32K (Koopman) 1 0xBA0DC66B[11] 0x814141AB / 0xD5828281 / CRC-32Q x32 + x31 + x24 + x22 + x16 + x14 + x8 + x7 + x5 + x3 + x + 1 (aviation; AIXM) 0xC0A0A0D5 0x0004820009 / 0x9000412000 / CRC-40-GSM x40 + x26 + x23 + x17 + x3 + 1 (GSM control channel) 0x8002410004 0x000000000000001B / 0xD800000000000000 / CRC-64-ISO x64 + x4 + x3 + x + 1 (HDLC — ISO 3309, Swiss-Prot/TrEMBL; considered weak for hashing) 0x800000000000000D x64 + x62 + x57 + x55 + x54 + x53 + x52 + x47 + x46 + x45 + x40 + x39 + x38 + x37 + x35 + x33 0x42F0E1EBA9EA3693 / + x32 + x31 + x29 + x27 + x24 + x23 + x22 + x21 + x19 + x17 + x13 + x12 + x10 + x9 + x7 + x4 + x 0xC96C5795D7870F42 / CRC-64-ECMA-182 + 1 (as described in ECMA-182 p. 51) 0xA17870F5D4F51B49 41 Contoh deteksi error dengan CRC Contoh: Akan mengirim karakter “W” ◦ Dalam desimal 8710 ◦ Biner : M(x) = x6 + x4 + x2 + x + 1 = 1010111 Generator menggunakan standart CRC-44 ITU, polynomial x + x + 1 ◦ ◦ Maka G(x) = 5-bit string “10011". R=4 (CRC 4-bit) Kalikan M(x) dengan 2R ◦ M(x) * 24 = 10101110000 Menentukan checksum: 1. Bagi M(x) dengan generator G(x) 2. Sisanya adalah checksum (1011) 3. Tambahkan checksum ke data asal: 1011 ke M(x) Menjadi : 10101111011 42 Contoh deteksi error dengan CRC – Cont’d Data dan checksum dikirimkan. Pada sisi penerima, data dan checksum yang diterima dibagi dengan generator. Jika sisanya 0, berarti tidak terjadi kesalahan Jika sisanya bukan 0, berarti terjadi kesalahan Misalnya M(x) yang diterima : ◦ 10101111011, Sisa yang dihasilkan : 0000 (valid) ◦ 10100111011, Sisa yang dihasilkan : 1100 (error) – Paling powerful dan paling umum – Deteksi 100% error, jika jum error ≤ ukuran R • CRC-16 (99.998%) dan CRC-32 (99.9999%) 43 Flow control Mengendalikan aliran transmisi data, sehingga pengirim tidak membanjiri penerima Proses utk meminta data transmisi dikirim ulang (Automatic Repeat Request / ARQ) Dapat dilakukan pada layer data link maupun layer di atasnya ◦ Stop and wait protocol (Stop and wait ARQ) Sender mengirimkan sebuah message dan menunggu acknowledgment, lalu kjrim message berikutnya Receiver menerima message dan mengirimkan acknowledgement, dan menunggu message berikutnya Protokol : Stop and wait ARQ ◦ Sliding window (Continuous ARQ) Sender secara kontinyu mengirimkan paket tanpa menunggu acknowledge dari penerima Receiver secara kontinyu menerima messages tanpa harus memberikan acknowledment dg segera Protokol : Go Back N, Selective Repeat 44 Stop and Wait ARQ Sender Receiver Kirim paket, lalu tunggu kabar dari receiver Kirim acknowledgement Kirim paket berikutnya Kirim negative acknowledgement Kirim ulang paket 45 Stop and Wait Protocol Dengan stop and wait protocol utilisasi kanal akan rendah. ◦ bit rate: jumlah bit yang dikirim setiap satuan waktu ◦ transmission time: waktu yang digunakan untuk mengirim sebuah frame. ◦ Untuk frame dengan ukuran L, maka transmission time (ttrans) = L / bit rate ◦ transmission delay/latency/propagation (tprop): waktu yang diperlukan sebuah bit untuk mencapai tujuan Utilisasi channel : 46 Stop and Wait Protocol Jika latency jauh lebih besar dari transmission time, maka utilisasinya akan sangat rendah. Contoh: ◦ Pada link antara stasiun bumi dan satelit dengan jarak 36000 km dengan data rate 1 Mbps. Cepat rambat gelombang elektromagnetik menurut Maxwell adalah 3x108 m/sec. Ukuran frame 1000 byte(=8000 bit). Berapa utilisasi channel ? ◦ t trans untuk frame berukuran 8000 bit : 8000/106 = 8ms ◦ Tprop (latency) = 36000km/3X108=120ms ◦ U = 8 / (8 + 2*120) = 0,032 Very Bad !!! 47 Continuous ARQ pengirim dapat mengirim hingga w (ukuran window) buah frame tanpa harus menerima konfirmasi terlebih dahulu penerima harus memiliki buffer yang mampu menampung n buah frame frame memiliki nomor identitas (sequence number) ack menyatakan frame terakhir yang diterima sesuai urutan Perhatikan bahwa acknowledgments sekarang mengidentifikasi paket yang di- acknowledged 48 Sliding Window Protocol utilisasi saluran: ◦ jika w x t trans > 2 x tprop, maka dapat dicapai utilisasi 100% (pengirim dapat melakukan pengiriman frame secara kontinu) 49 Go-Back-N Allow up to N unACKed pkts in the network ◦ N is the Window size Sender Operation: ◦ If window not full, transmit ◦ ACKs are cumulative ◦ On timeout, send all packets previously sent but not yet ACKed. ◦ Uses a single timer – represents the oldest transmitted, but not yet ACKed pkt 50 Go Back N & Selective Repeat Pipelining and error recovery. Effect on an error when (a) Receiver’s window size is 1 (Go Back N). (b) Receiver’s window size is large (Selective Repeat. 51 Selective Repeat Penerima memberitahu secara individu semua paket yang diterima dengan benar ◦ Buffer paket, dibutuhkan untuk kejadian penerimaan paket layer diatasnya Pengirim hanya mengirimkan paket yang belum ada ACK Sender window ◦ N memutus urutan #’s ◦ Batas urutan #s yang terkirim, paket yang belum ACK 52 Selective Repeat Example PKT0 0123 456789 PKT1 PKT2 PKT3 0 1234 56789 01 2345 6789 ACK0 ACK1 0 1234 56789 ACK2 0 1234 56789 ACK3 Time-Out PKT4 01234 5678 9 PKT1 ACK4 ACK1 01234 5678 9 Sender Pembandingan : Menggunakan GBN atau SR ? Jika error rate rendah, gunakan GBN Jika error rate tinggi, gunakan SR Jika bandwidth murah, gunakan GBN Jika bandwidth mahal, gunakan SR Jika memori mahal di B, gunakan GBN Jika memori murah di B, gunakan SR Receiver 53 Protokol Data Link Klasifikasi ◦ Asynchronous transmission ◦ Synchronous transmission Berbeda oleh ◦ Message delineation ◦ Frame length frame k-1 ◦ Frame field structure frame k frame k+1 54 Asynchronous Transmission Kadang disebut start-stop transmission Digunakan oleh receiver utk memisahkan karakter dan utk synch. Tiap karakter dikirim secara independen Kirim antara transmisi (deretan stop bits) Digunakan pada point-to-point full duplex circuits (digunakan oleh Telnet saat menghubungkan ke komputer Unix/Linux) 55 Asynchronous File Transfer Digunakan pada ◦ Point-to-point asynchronous circuits ◦ Biasanya melalui saluran telepon via modem ◦ Komputer ke komputer untuk transfer file data Karakteristik dari file transfer protocols ◦ Dirancang untuk transmit error-free data ◦ Kelompokkan data kedalam blocks untuk ditransmisikan (tidak dikirimkan character by character) File transfer Protocols yang populer ◦ Xmodem, Zmodem, dan Kermit 56 File Transfer Protocols • satu dari async file transfer protocol paling tua • menggunakan stop-and-wait ARQ. Xmodem Start of Header SOH Packet # Checksum Packet # compl. (128 bytes) • Xmodem-CRC: menggunakan 1 byte CRC (drpd checksum) • Xmodem-1K: Xmodem-CRC + message field 1024 byte Zmodem • Menggunakan CRC-32 dg continuous ARQ • Pengaturan dinamis dari ukuran paket (tergantung circuit) Kermit • Sangat fleksibel, powerful dan popular • Biasanya menggunakan CRC-24 dan ukuran 1K, tetapi adjustable 57 Synchronous Transmission Data dikirim dalam satu blok yg besar ◦ disebut frame atau paket ◦ Biasanya sekitar seribu karakter (bytes) Mencakup informasi addressing ◦ Terutama berguna dalam multipoint circuits Mencakup satu serie dari karakter-karakter synchronization (SYN) ◦ Digunakan utk membantu receiver mengenali data yg datang Kategori Synchronous transmission protocols ◦ Bit-oriented protocols: SDLC, HDLC ◦ Byte-count protocols: Ethernet ◦ Byte-oriented protocols: PPP 58 Byte-Oriented Protocol 8 STX Text (Data) ETX STX - start of text ETX - end of text Masalah: bagaimana jika ETX muncul pada bagian data dari frame Solusi: 8 Gunakan karakter khusus DLE (“Data Link Escape”) sebelumnya Jika DLE muncul dalam text, gunakan DLE lainnya sebelumnya Contoh-contoh protocol: Bisync, PPP, DDCMP 59 Byte-Count Protocol Sender: Menyisipkan panjang data (dalam byte) pada awal frame Receiver: mengekstrak panjang ini dan menguranginya setiap satu byte dibaca, jika counter menjadi nol satu frame lengkap diproses Contoh: Ethernet 60 Bit-Oriented Protocol 8 Start sequence 8 Text (Data) End sequence Digunakan suatu flag: deretan bit tetap (pola tetap) untuk indikasi awal dan akhir suatu paket ◦ Pola start sequence dan end sequence dapat sama, mis pd HDLC” ‘01111110’ Secara prinsip, sembarang deretan dp digunakan, tetapi kemunculan flag harus dicegah di dalam data Protokol standard menggunakan deretan 8-bit 01111110 sbg satu flag INVENTED ~ 1970 oleh IBM utk SDLC (synchronous data link protocol) Data transparan ◦ Krnnya 0111111 yang tidak boleh muncul di didalam data ◦ Untuk mencegah pola start dan end sequence pada data digunakan ‘bit stuffing’ 61 SDLC – Synchronous Data Link Control • Bit-oriented protocol dikembangkan IBM • Menggunakan controlled media access protocol Awal (01111110) Akhir (01111110) data Address tujuan(8 atau 16 bit) CRC-32 Identifikasi tipe frame: - Informasi (utk transfer data user) - Supervisory (utk error dan flow control) 62 Ethernet (IEEE 802.3) Protokol LAN paling luas digunakan, dikembangkan bersama oleh Digital, Intel, dan Xerox, sekarang sebagai standar IEEE ◦ formal standard: IEEE 802.3ac Menggunakan contention based media access control Byte-count data link layer protocol Tidak ada masalah transparency ◦ Menggunakan sebuah field berisi jumlah bytes (bukan flags) untuk membatasi frames Koreksi error: optional 63 Frame Ethernet (IEEE 802.3) • Digunakan pd Virtual LANs; (jika tidak field ini diabaikan • Jika digunakan, 2 byte pertama di-set ke: 24.832 (8100H) Pengulangan pola dari (1010101010) (jumlah byte pada field message) Digunakan untuk no urut/sequence number, ACK/NAK, dll, (1 atau 2 byte) 00 01 10 11 Digunakan untuk pertukaran info kontrol (mis., tipe protokol network layer yang digunakan) 64 Point-to-Point Protocol (PPP) • Byte-oriented protocol dikembangkan awal 90’an • Umum digunakan pada saluran dial-up dari PC di rumah • Dirancang terutama untuk saluran. telepon point-to-point (dapat digunakan juga untuk saluran multipoint) (s/d 1500 byte) Menspesifikasikan protokol network layer yang digunakan (mis. IP, IPX) 65 ADSL (Asymetric Digital Subscriber Line) Suatu teknologi modem yang bekerja pada frekuensi antara 34 kHz (ada yang 25 kHz) sampai 1104 kHz. Modem konvensional (voiceband modem) 0.3 - 4 kHz. Band suara berfrekuensi : 0 – 20 kHz) Keuntungan ADSL adalah memberikan kemampuan akses internet berkecepatan tinggi dan suara/fax secara simultan (di sisi pelanggan dengan menggunakan splitter untuk memisahkan saluran telepon dan saluran modem). 1.1 MHz spectrum available: Typically divided into 256 channels, some for upstream, some for downstream, one (0 to 4000 Hz) for old phone calls: 66 Perbandingan ADSL dengan voiceband modem Berada di luar komputer atau eksternal dan dihubungkan melalui kabel jaringan Ethernet, USB, atau internal PCI (jarang ditemui). MS Windows dan SO lainnya tidak mengenali modem ADSL eksternal, harus menggunakan jaringan untuk mensetting (web based). Modem ADSL menggunakan frekuensi modulasi dari 25 - 1104 kHz, saluran suara pada spektrum 0-4 kHz. Modem voiceband menggunakan frekuensi 0.3-4 kHz. Suara berfrekuensi 0 – 20 kHz. Modem ADSL kecepatan transfer data, upstream sekitar 64 kbps – 128 kbps, downstream 384 kbps – 512 kbps (ada upstream 3.5 Mbps dan downstream 24 Mbps).Voiceband modem terbatas pada kisaran 50-56 kbps. Modem ADSL hanya dapat dihubungkan dengan line DSLAM (Digital Subscriber Line Access Multiplexer) yang telah dipasangkan kepadanya, sedangkan modem konvensional dapat dihubungkan secara langsung di seluruh dunia. 67 USB MODEM CDMA Venus VT-12 adalah sebuah modem CDMA 2000 1xRTT dengan frekuensi 800 MHz Mendukung akses internet dengan kecepatan tinggi,Voice, SMS Data Speeds : Up to 153.6 Kbps (averaging 60 to 100 Kbps) 68 EVDO (Evolution Data Only) Mobile Broadband EVDO, EV-DO, 1xEvDO dan 1xEV-DO merupakan sebuah standart pada wireless broadband berkecepatan tinggi. EVDO - "Evolution, Data Only" atau "Evolution, Data optimized". Istilah resminya dikeluarkan oleh Assosiasi Industri Telekomunikasi yaitu CDMA2000, merupakan interface data berkecepatan tinggi pada media udara. EVDO satu dari dua macam standar utama wireless Generasi ke-3 atau 3G. adapun standart yang lainnya adalah W-CDMA. Menggunakan teknik multiplexing seperti CDMA atau CodeDivision Multiple Access dan TDMA atau Time Division Multiple Access untuk meningkatkan dan memaksimalkan thoroughput pengguna individu dan sistem secara keseluruhan. EVDO berada pada jaringan CDMA, mirip dengan ponsel. Koneksi data yang handal karena terpisah dari koneksi suara, kecepatan download mencapai 3.1 Mbps dan uploadnya hingga 1.8 Mbps. Ini adalah teknologi maju CDMA yang dikembangkan oleh QUALCOMM. 69 EVDO (Evolution Data Only) Mobile Broadband Cara kerja : ◦ CDMA, Coded Division Multiple Access, menggunakan metode matematis untuk dapat melewatkan multiple wireless devices untuk mengirim data secara bersamaan pada frekuensi yang sama. ◦ Setiap perangkat, seperti telepon seluler, ditandai dengan tanda unik matematis. ◦ Tanda Unik tersebut diterapkan pada sinyal asli dan dikirim sebagai sinyal modified. ◦ Penerima juga menerapkan invers tanda matematika dari sinyal kirim untuk mendapatkan sinyal asli. EvDO menggunakan teknologi relay dari BTS (Base Transceiver Station) terdekat yang telah di-install card EvDO. Syaratnya, BTS tersebut harus punya back up koneksi hingga 6 Mbps per BTS-nya. ◦ Jika melihat spesifikasi standar dari teknologi EvDO, maka anda mendapat kecepatan sebesar 3,1 Mbps untuk download dan 1,8 Mbps untuk upload Secara teori EVDO mampu melewatkan 2.4 Mbps. Lebih cepat dari DSL dan broadband cable yang ada. Pada sebuah video conference di Amerika, yang digunakan oleh seseorang yang berada didalam kendaraan pada kecepatan 60 mil/jam (90km/jam), sedangkan pada demo yang lain sebuah telepon dicoba dari sebuah bullet train yang bergerak melebihi 150 mil/jam (240 km/jam). Lebih mengirit spektrum frekuensi dari regulator dan amat mahal EVDO banyak digunakan di Amerika, Korea. Tidak banyak pengaruh di Eropa dan sebagian Asia (sudah menggunakan 3G). 70 EVDO di Indonesia Diluncurkan di Balikpapan menjelang pertandingan FIFA final Piala Dunia antara Italia vs Perancis (tahun 2006). Sampai pertandingan berakhir, video streaming seolah adalah tayangan TV biasa tanpa ada gangguan proses buffering atau delay. Proses download file sebesar 150 MB dari server yang ada di Amerika dalam waktu hanya 25 menit ! Beberapa teknologi koneksi yang dapat digeser dengan kehadiran EvDO ini. Seperti WIMAX, WiFi, ADSL, dan dial up. Koneksi real time capture saat trial langsung di kota Balikpapan. Hasilnya berkisar antara 350 Kbps hingga 800 Kbps. Dilakukan dengan cara bergerak dari tengah kota menuju ke bandara. Gerak mobil hampir tidak memberi pengaruh berarti pada saat perpindahan antar BTS. Kenapa tidak semua operator CDMA 1X mengimplementasi EvDO ? ◦ Kesediaan dari provider tersebut untuk melakukan investasi besar pada BTS mereka dengan menambah ruang untuk transmisi data daripada voice. ◦ Di Indonesia masih banyak provider telekomunikasi yang bermasalah dalam jalur voice mereka. 71 Efisiensi Transmisi Tujuan suatu jaringan: ◦ Memindahkan sebanyak mungkin bit dengan error minimum efisiensi lebih tinggi biaya lebih rendah Faktor yg mempengaruhi efisiensi jaringan: ◦ Karakteristik dari circuit (laju error/error rate, kecepatan/speed) ◦ Kecepatan dari peralatan, Teknik Error control ◦ Protocol yang digunakan Bit-bit informasi (memuat informasi user) Bit-bit Overhead (digunakan untuk error checking, pembatas frame, dll.) = Total jumlah bit info ditransmisikan Total jumlah bit ditransmisikan 72 Efisiensi Transmisi dari Protocol Async Transmission: 7-bit ASCII (info bits), 1 parity bit, 1 stop bit, 1 start bit Efisiensi transmisi = 7 / 10 70% mis.,V.92 modem dg 56 Kbps laju efektif 39.2 Kbps SDLC Transmission Asumsi 100 karakter info (800 bit), 2 flag (16 bit) Address (8 bits), Control (8 bits), CRC (32 bits) Efisiensi transmisi = 800 / 864 92.6% mis.,V.92 modem with 56 Kbps 51.9 Kbps effective rate Lebih besar panjang message, efisiensi lebih baik namun, paket yang lebih besar kemungkinan mendapatkan error lebih besar (kemungkinan lebih banyak memerlukan retransmisi) kapasitas terbuang 73 ANY QUESTIONS ? 74