A4. Protokol Datalink

download A4. Protokol Datalink

of 90

  • date post

    17-Dec-2015
  • Category

    Documents

  • view

    219
  • download

    1

Embed Size (px)

description

explanation of Datalink Layer in OSI Layer

Transcript of A4. Protokol Datalink

Materi 4 - Lapis Datalink

Materi 4Lapis DatalinkJaringan Komputer I1Terminologi Fisik JaringanNodeLinkTerminalJaringan23Tugas DatalinkPembukaan hubungan dan penutupan hubunganMelakukan kendali atas kesalahan yang mungkin terjadi : tool pariti, crc, dllMelakukan pengendalian banyaknya data yang dikirim untuk menghindari kemacetan (kongesti) : tool sliding windows dllDan lainnya (optional : tambahan untuk protokol datalink tertentu)

4Proses Hubungan Di LinkAda 2 jenis proses hubungan di link :Memerlukan connection setupHubungan langsungConnection setupAda banyak path yang bisa dipilihUntuk hubungan yang sangat handalTersedia berbagai pilihan kecepatan komunikasiHubungan langsungTanpa pilihan jalur dan kecepatan komunikasiPoint-to-point connection

5Metoda Deteksi KesalahanAgar bisa melakukan kendali kesalahan, syarat mutlak yang harus ada adalah adanya mekanisme deteksi kesalahanBeberapa metoda yang umum digunakan:Pariti paling sederhanaCRC lebih sulit, meminta kemampuan komputasiChecksum operasi word

67Proses Deteksi Kesalahan

Bit E dan E dibandingkan di penerima, jika tidak sama maka dilakukan retransmisi.8Deteksi KesalahanDefinisi nilai probabilitas dalam transmisi frame:Pb = BER probabilitas suatu bit salahP1 probabilitas sebuah frame tiba tanpa kesalahanP2 probabilitas frame tiba dengan 1 atau lebih bit salah tak terdeteksiP3 probabilitas sebuah frame tiba dengan 1 atau lebih bit salah yang terdeteksiF=jumlah bit per frameJika tidak ada fasilitas pendeteksi kesalahan, makaP1 = (1 - Pb)FP2 = 1 - P1P3 = 0Kode pendeteksi kesalahan adalah bit-bit tambahan yang diikutkan pada suatu frame, dihitung sebagai fungsi dari bit-bit dalam frame tersebutParitiPenambahan 1 bit sebagai bit deteksi kesalahanTerdapat 2 jenis pariti : genap dan ganjilPariti genap = jumlah bit 1 dalam kode adalah genapPariti genap = d1 xor d2 xor .. DnPariti ganjil = jumlah bit 1 dalam kode adalah ganjilPariti ganjil = (d1 xor d2 xor .. Dn) xor 1Sistem sederhana dan mudah dibuat hardwarenya (di PC digunakan IC 74LS280)Tidak mampu mendeteksi kesalahan bit genap peluang benar deteksi kesalahan hanya 25% (peluang salah mutlak 50% + peluang salah deteksi 25%)9Cyclic Redudancy Check: Sisi PenggirimMerupakan hasil operasi pembagian biner dengan suatu pembagi tertentu (generator polinomial)Pembagi : Dn Dn-1 D1Deretan bit : b1 b2 b3 . bmOperasi :(b1 b2 b3bm)n-1 / DnD1 sisa (Rn-1R1)Dikirim b1 b2 b3bm Rn-1R110Cyclic Redudancy Check: Sisi PenerimaOleh penerima dilakukan operasi yang sama b1 b2 b3bm Rn-1R1 / DnD1 sisa (rn-1r1)Data benar jika rn-1r1 = 0Data salah jika rn-1r1 0Pembagi standar internasionalCRC-16 11000000000000101CRC-ITU 10001000000100001CRC-32 100000100100000010001110110110111Jika diperlukan pembagi boleh tidak menggunakan standar ini asal memenuhi:Diawali dan diakhiri dengan bit 1 ( 1xxxxxx1)Jumlah minimum bit 1 : 3 bitAgar bisa mendeteksi jumlah bit kesalahan ganjil :harus habis dibagi oleh (11 = X + 1)11Contoh Perhitungan CRC

PengirimPenerima12Penggunaan : Pada Paket LAN (MAC)12345678910111213141516Destination MAC AddressSource MAC AddressProtocolData (46 1500 B)CRC-3213ChecksumCRC memerlukan perhitungan xor sebanyak jumlah bit data memerlukan kemampuan komputasi yang cukup besarDiciptakan metoda checksum (untuk mengurangi perhitungan) pada beberapa jenis transmisi tidak perlu kecanggihan CRC atau sudah melakukan CRC di lapis lain Cara perhitungan checksum:Data dibagi menjadi kelompok-kelompok 16 bit (word)Word pertama di xor dengan word keduaHasil di xor dengan word ketiga, keempat, sampai word terakhir (jika bit-bit terakhir tidak cukup untuk menjadi word, ditambahkan padding bit 0 sampai membentuk word)Hasil akhir (16 bit) = checksum

14Contoh perhitungan01101110010100101011110010101100101100110000000001101110010100101011110010101100110100101111111010110011000000000110000111111110DATAPaddingChecksum15Pengguna Checksum: IP12345678910111213141516Priority (0-7)lowhighhigh 1VersionHeader length (dword)PrecedenceDTRunusedTotal lengthIdentificationDMFragment offsetTime to live (seconds)ProtocolHeader checksum Source IP addressDestination IP addressOption (0 word atau lebih)Data 64 kB16Pengguna Checksum: TCP12345678910111213141516Source portDestination portSequence numberAcknowledge numberHeader lengthReservedURGACKPSHRSTSEQFINWindowsChecksum Urgent pointerOptionsPaddingUser data17Backward Error ControlKemampuan deteksi kesalahan digunakan untuk melakukan perbaikan kesalahan (error control) dengan cara meminta pengiriman ulang jika paket yang diterima salahPaket 1XPaket 1 Kirim UlangPaket 1Paket 218Backward Error Control: ARQARQ = Automatic ReQuestARQ akan mengulang / tidak mengulang pengiriman data sesuai dengan feedback dari penerimaFeedback dari penerimaACK = acknowledge data diterima benarNAK = not acknowledge data diterima salah19ARQ : Idle RQ1ACK2NAKX2t20Kasus 1: jika paket tidak sampai1ErrorDetectionACKtPengirim menunggu feedback sampai t +t, jika tidak ada respon maka pengirim harus mengirimkan kembali paket tersebut.Waktu tersebut disebut dengan waktu timeout1t21Kasus 2: feedback tidak sampai1ACKtDiperlakukan sama dengan kondisi kasus 1 (time-out)22Kapankah pengirim mengirim ulang paket ???Jika mendapat feedback NAKJika timeoutJika mendapat feedback yang tidak dimengerti

Kesimpulan : pengirim mengirim ulang paket Jika tidak mendapat ACK23ARQ : Idle RQDIE HARD ARQPaket akan diterima terjaga urutannyaEfisiensi saluran paling rendahCocok digunakan untuk saluran transmisi yang sangat jelek kualitasnya (banyak error)

245236ARQ : Selective RepeatHanya mengirim ulang untuk paket yang salahPaket diterima tidak berurutanEfisiensi saluran tinggi (dibandingkan idle RQ)1X X 2NAK234NAK3ACK4ACK1145236255234ARQ : Go Back N1XDont care Dont careDont care

2NAK234??ACK1Mengirim ulang mulai dari paket yang salahPaket akan diterima terjaga urutannyaEfisiensi saluran lebih rendah dari Selective Repeat

12ACK2265674Kasus Lain Go Back N1X Dont careDont care

2ACK234ACK114ACK3NAK42327Forward Error ControlBackward EC menyebabkan delay pengiriman paket yang cukup besar tergantung dari berapa kali paket tersebut harus dikirimUntuk sistem transmisi jarak jauh dimana delay propagasi sangat besar (kelas detik, menit atau jam) BEC tidak bisa menjadi pilihanJuga untuk aplikasi multimedia, dimana ketepatan waktu kedatangan lebih utama dibandingkan dengan kebenaran data, BER menyebabkan delay yang lewat batas toleransi waktuDipergunakan Forward Error Correction (FEC) untuk memecahkan masalah iniFEC berprinsip dasar: penerima mampu membetulkan sendiri kesalahan data yang sudah diterima, karena selain menerima data juga menerima bit-bit redundansi yang diperlukan 28Jenis-Jenis FECMetoda FEC yang umum dikenal :Block ParityHamming CodeTurbo Code, RS Code, BCH CodeBlock ParitySederhana, menggunakan perhitungan pariti dasarMenggunakan pariti baris dan kolom sebagai sarana koreksi kesalahanHanya mampu mengkoreksi kesalahan 1 bit, mampu mendeteksi kesalahan lebih dari 1 bitEfisiensi tergantung dari ukuran baris dan kolom yang digunakan, semakin banyak baris dan kolom akan semakin banyak bit pariti29Contoh Block Parity11011110111011110011X110111101100110001101000110001X30Hamming Code: Sisi PengirimMenggunakan metoda matematik modulo 2Disisipkan bit-bit pariti di posisi bit 2n : bit ke 1,2,4,8,16,32 dstBit pariti dihitung dengan cara:P1 = d1 xor d2 xor d4 xor d5 xor d7 xor d9 dstP2 = d1 xor d3 xor d4 xor d6 xor d7 xor d10 dstP3 = d2 xor d3 xor d4 xor d8 xor d9 xor d10 dstP4 = d5 xor d6 xor d7 xor d8 xor d9 xor d10 dstP5 = d12 xor d13 xor d14 xor d15 dstBanyaknya bit pariti yang dibutuhkan tergantung jumlah bit datanyaSehingga deretan bit P1 P2 d1 P3 d2 d3 d4 P4 d5 d6 d7 d8 d9 dst untuk ditransmisikan31Hamming Code: Sisi PenerimaSetelah diterima dilakukan perhitunganH1 = P1 xor d1 xor d2 xor d4 xor d5 xor d7 xor d9 dstH2 = P2 xor d1 xor d3 xor d4 xor d6 xor d7 xor d10 dstH3 = P3 xor d2 xor d3 xor d4 xor d8 xor d9 xor d10 dstH4 = P4 xor d5 xor d6 xor d7 xor d8 xor d9 xor d10 dstH5 = P5 xor d12 xor d13 xor d14 xor d15 dstJika disusun menjadi H5 H4 H3 H2 H1 dan terbaca :00000 = 0 tidak ada kesalahan00101 = 5 bit 5 (d2) salah01001 = 9 bit 9 (d5) salah32Metoda FEC LainSemua metoda FEC pada dasarnya menggunakan metoda matematik modulo 2Metoda ini terus dikembangkan dengan tujuan:Mendapatkan kemampuan koreksi bit yang semakin banyakDengan mengurangi jumlah bit pariti yang dibutuhkanMampu melanjutkan komunikasi walaupun sempat terputus.Metoda yang umum digunakan:BCH CodeReed Solomon CodeConvolutional CodeTrellis CodeTurbo Code33Kendali Aliran (Flow control)Fungsi lain yang diperlukan dalam mentransmisikan data di suatu link adalah kendali aliranDibutuhkan terutama jika aliran data dari yang cepat ke yang lambat, dimana aliran data harus diatur agar penerima tidak overflowMengatur aliran dengan cara:Start stopBesarnya aliranServerBufferAliran data masukAliran data keluarModel Kendali Aliran34Dua Jenis Kendali AliranStart-stopAliran data diatur sesuai dengan permintaan pihak penerima, jika penerima merasa buffer penerimaannya penuh, maka ia akan mengirim sinyal stop ke pengirim, dan jika buffer penerimaannya kosong, ia akan mengirim sinyal start.Teknik ini sederhana, relatif mudah di implementasikanTeknik start-stop umum:RTS,CTSX-on,X-offMengatur aliranAliran data diatur berdasarkan besar bandwitdh saluran saat itu, teknik ini bekerja berdasarkan feedback dari penerima yang mengukur laju data yang mampu dia terima.Relatif lebih rumit dari teknik start-stopContoh : (sliding) window

35Pengguna Kendali AliranPengguna utama adalah protokol lapis datalink (RS-232, RS-.., HDLC,)Untuk teknik kendali aliran yang lebih canggih diterapkan di lapis atas seperti TCP (lapis transport)

36Kendali Aliran di RS-232Terdapat dua jenis kendali aliran yang bisa diterapkan di sistem komunikasi RS-232, yaitu teknik hardware dan teknik softwareRTS CTS (hardware), digu