Tentang IPv4

Welcome, guys !!

Salam sejahtera bagi kita semua. 😊 Okee guys. Pada kesempatan kali ini gua bakal mengulas mengenai "Apa sih IPv4 itu?" .Hmm penasaran yaa. . Sebelum kita masuk ke materi, alangkah baiknya kita introduce dulu apa itu IP.

IP (Internet Protocol) merupakan suatu protokol pada jaringan yang terletak pada lapisan jaringan (Network Layer) yang digunakan oleh protokol TCP/IP untuk melakukan pengalamatan dan routing paket data antar host (komputer) di jaringan komputer berbasis TCP/IP. Untuk jaman sekarang mungkin kebanyakan masih banyak digunakan IP versi 4 (IPv4). Namun, tidak menutup kemungkinan posisi tersebut akan tergerser oleh IP versi 6 (IPv6) pada suatu saat yang akan datang karena memang desas desus sudah mulai merambah dunia teknologi mengenai kemunculan IPv6 ini, Dan bahkan IPv6 ini sudah mulai di pergunakan oleh sebagian instansi.

Untuk selanjutnya gue akan mengulas lebih luas lagi mengenai IPv4 ini. Dan ini bersumber dari buku berjudul TCP/IP Protocol Suite Fourth Edition yang ditulis oleh Behrouz A. Forouzan. Beliau merupakan seorang profesor emeritus dari departemen Sistem Informasi Komputer di DeAnza College, Amerika Serikat.



Langsung saja mari kita simak dan belajar bersama ! 

Protokol Internet (IP) adalah mekanisme transmisi yang digunakan oleh protokol TCP / IP pada lapisan jaringan.
Gambar 7.1

IP adalah protokol datagram yang tidak dapat diandalkan dan tidak terhubung layanan pengiriman terbaik. Maksud dari tidak terhubung layanan pengiriman terbaik artinya bahwa paket IP dapat rusak , hilang, atau tertunda dan dapat menyebabkan kemacetan jaringan.

IP juga merupakan protokol tanpa koneksi untuk jaringan paket yang berubah yang menggunakan pendekatan datagram.

Paket di lapisan jaringan (internet) disebut datagrams.
Gambar 7.2





Menunjukkan format datagram IP. Sebuah datagram adalah paket panjang variabel yang terdiri dari dua bagian yaitu header dan data. Untuk header panjangnya berkisar antara 20 sampai 60 byte dan berisi informasi penting untuk routing dan pengiriman.
  • Versi (VER)
Bidang 4-bit ini mendefinisikan versi protokol IP. Saat ini versinya adalah IP versi 4 (Ipv4) . Namun, IP versi 6 (atau IPv6) bisa mengganti versi 4 di masa depan. Bidang ini menceritakan perangkat lunak IP yang berjalan di mesin pengolah yang memiliki format datagram versi 4. Semua bidang harus ditafsirkan seperti yang ditentukan dalam versi ke-4 dari protokol. Jika mesin menggunakan beberapa versi IP lainnya, datagram dibuang daripada ditafsirkan secara tidak benar.
  • Header length (HLEN)
Bidang 4-bit ini menentukan panjang total header datagram dalam kata-kata 4 byte. Bidang ini diperlukan karena panjang header bervariasi (antara 20 dan 60 byte). Bila tidak ada pilihan, panjang header adalah 20 byte, dan nilai bidang ini adalah 5 (5 × 4 = 20). Bila bidang pilihan berada pada ukuran maksimumnya, nilai bidang ini adalah 15 (15 × 4 = 60).
  • Service Type (Jenis Layanan)
Dalam desain asli header IP, bidang ini disebut sebagai jenis layanan, yang menentukan bagaimana datagram harus ditangani. Bagian dari bidang digunakan untuk menentukan preseden datagram, kemudian sisanya menentukan jenis layanan yang meliputi delay rendah, throughput tinggi, dan sebagainya. IETF (Internet Engineering Task Force) telah mengubah interpretasi bidang 8-bit ini. Bidang ini sekarang mendefinisikan satu set layanan terdiferensiasi. Interpretasi baru ditunjukkan pada Gambar 7.3.
Gambar 7.3


Dalam interpretasi ini, 6 bit pertama membentuk subset codepoint dan 2 bit terakhir tidak digunakan. Subset codepoint dapat digunakan dengan dua cara yang berbeda.
  • Bila 3 bit paling kanan adalah 0, maka bit paling kiri 3 ditafsirkan sama dengan bit terdahulu dalam interpretasi tipe layanan (Service Type). Dengan kata lain, ini sesuai dengan interpretasi lama. Preseden menentukan prioritas 8 tingkat datagram (0 sampai 7) dalam masalah seperti kemacetan. Jika router macet dan perlu membuang beberapa datagrams, datagrams dengan prioritas paling rendah dibuang terlebih dahulu. Beberapa datagram di Internet lebih penting daripada yang lain. Dalam artian, datagrams yang paling penting lah yang akan diproses. Misalnya, datagram yang digunakan untuk manajemen jaringan jauh lebih mendesak dan penting daripada datagram yang berisi informasi opsional untuk sebuah grup. Maka datagrams untuk manajemen jaringan lah yang akan diproses. 
  • Bila 3 bit paling kanan tidak seluruhnya 0, 6 bit mendefinisikan 56 (64 - 8) layanan berdasarkan penetapan prioritas oleh Internet atau otoritas lokal sesuai Tabel 7.1.
    Tabel 7.1
Kategori pertama berisi 24 jenis layanan; yang kedua dan yang ketiga masing-masing berisi 16. Kategori pertama diberikan oleh otoritas Internet (IETF). Kategori kedua dapat digunakan oleh otoritas lokal (organisasi). Kategori ketiga bersifat sementara dan bisa digunakan untuk keperluan percobaan. Perhatikan bahwa tugas ini belum selesai.

Total Length (Panjang total)
Ini adalah bidang 16-bit yang mendefinisikan panjang total (header + data) dari datagram IP dalam byte. Untuk menemukan panjang data yang berasal dari lapisan atas, kurangi panjang total (Total Length) dengan panjang header (Header Length). Panjang header dapat ditemukan dengan mengalikan nilai di bidang HLEN menjadi 4.

Untuk rumus mencari panjang total

Length of data = total length − header length

Karena panjang lapangan adalah 16 bit, panjang total datagram IP dibatasi sampai 65,535 (216 - 1) byte, dimana 20 sampai 60 byte adalah header dan sisanya adalah data dari lapisan atas. Dan panjang total ini dapat dapat mempengaruhi atau menentukan panjang total datagram termasuk header.



Meskipun ukuran 65.535 (216 - 1) byte mungkin tampak besar, ukuran datagram IP dapat meningkat dalam waktu dekat karena teknologi yang mendasari memungkinkan throughput yang lebih banyak lagi karena bandwidth yang lebih banyak. Ketika kita membahas fragmentasi pada bagian berikutnya, kita akan melihat bahwa beberapa jaringan fisik tidak dapat merangkum datagram 65.535 byte dalam frame mereka. Datagram harus terfragmentasi agar bisa melewati jaringan tersebut. Kita mungkin bertanya mengapa kita membutuhkan bidang ini. Ketika sebuah mesin (router atau host) menerima sebuah frame, ia menjatuhkan header dan trailer yang meninggalkan datagram. Mengapa termasuk bidang tambahan yang tidak dibutuhkan? Jawabannya adalah bahwa dalam banyak kasus kita benar-benar tidak memerlukan nilai di bidang ini. Namun, ada beberapa kesempatan di mana datagram bukanlah satu-satunya yang terangkum dalam sebuah bingkai. Mungkin padding telah ditambahkan. Misalnya, protokol Ethernet memiliki batasan minimum dan maksimum pada ukuran data yang dapat dienkapsulasi dalam bingkai (46 sampai 1500 byte). Jika ukuran datagram IP kurang dari 46 byte, beberapa padding akan ditambahkan untuk memenuhi persyaratan ini. Dalam kasus ini, ketika sebuah mesin mengenkapsulasi datagram, perlu memeriksa panjang total field untuk menentukan berapa banyak data dan berapa banyak padding. Lebih jelasnya lihat Gambar 7.4.

Gambar 7.4

  • Identification (Identifikasi atau pengesahan) 

Bidang ini digunakan dalam fragmentasi yang akan dibahas pada bagian selanjutnya. 
  • Flags (Bendera) 
Bidang ini digunakan dalam fragmentasi yang akan dibahas pada bagian selanjutnya.

  • Fragmentation Offset (Fragmentasi Keseimbangan) 
Bidang ini digunakan dalam fragmentasi yang akan dibahas pada bagian selanjutnya.
  • Time to Live (Batas masa pakai) 
Sebuah datagram memiliki masa pakai terbatas dalam perjalanannya melalui internet. Bidang ini pada awalnya dirancang untuk menampung bekas waktu, yang dikurangi oleh setiap router yang dikunjungi. Datagram dibuang saat nilainya menjadi nol. Namun, untuk skema ini, semua mesin harus melakukan sinkronisasi jam dan harus mengetahui berapa lama waktu yang dibutuhkan datagram untuk berpindah dari satu mesin ke mesin lainnya. Saat ini, bidang ini banyak digunakan untuk mengendalikan jumlah maksimum hop (router) yang dikunjungi oleh datagram. Ketika sebuah host sumber mengirimkan datagram, ia menyimpan sebuah nomor di bidang ini. Nilai ini kira-kira dua kali jumlah rute maksimum antara dua host. Setiap router yang memproses datagram akan menghilangkan angka ini satu per satu. Jika nilai ini, setelah dikurangi hasilnya nol, maka router akan membuang datagram. Bidang ini diperlukan karena tabel routing di Internet bisa menjadi rusak. Sebuah datagram dapat berjalan di antara dua atau lebih router untuk waktu yang lama tanpa harus dikirim ke host tujuan. Bidang ini membatasi masa datagram. Penggunaan lain dari bidang ini adalah dengan sengaja membatasi perjalanan paket. Misalnya, jika sumber ingin mengonfirmasi paket ke jaringan lokal, ia dapat menyimpannya di bidang ini. Ketika paket tiba di router pertama, nilai ini akan berkurang menjadi 0, dan datagram dibuang.
  • Protokol 
Bidang 8-bit ini mendefinisikan protokol tingkat tinggi yang menggunakan layanan lapisan IP. Datagram IP dapat merangkum data dari beberapa protokol tingkat tinggi seperti TCP, UDP, ICMP, dan IGMP. Bidang ini menentukan protokol tujuan akhir dimana datagram IP dikirimkan. Dengan kata lain, karena multiplex protokol IP dan demultiplexes data dari protokol tingkat tinggi yang berbeda, nilai bidang ini membantu dalam proses demultiplexing ketika datagram tiba di tujuan akhir. Lihat Gambar 7.5.
Gambar 7.5
Beberapa nilai bidang ini untuk berbagai protokol tingkat tinggi ditunjukkan pada Tabel 7.2.

Tabel 7.2

  • Checksum
Konsep checksum dan perhitungannya dibahas nanti di bab ini.
  • Source Address (Alamat sumber)
Bidang 32-bit ini mendefinisikan alamat IP dari sumbernya. Bidang ini harus tetap tidak berubah selama waktu datagram IP bergerak dari host sumber ke host tujuan.
  • Destination Address (Alamat tujuan)
Bidang 32-bit ini menentukan alamat IP tujuan. Bidang ini harus tetap tidak berubah selama waktu datagram IP bergerak dari host sumber ke host tujuan.

CONTOH SOAL BESERTA PEMBAHASAN

1. Sebuah paket IP telah tiba dengan 8 bit pertama seperti yang ditunjukkan:

01000010 

Penerima membuang paket. Mengapa?

Pembahasan :
Ada kesalahan dalam paket ini. 4 bit paling kiri (0100) menunjukkan versinya, yang benar. 4 bit berikutnya (0010) menunjukkan panjang header yang salah (2 × 4 = 8). Jumlah minimum byte pada header harus 20. Paket telah rusak dalam transmisi.

2. Dalam sebuah paket IP, nilai HLEN adalah 1000 dalam biner. Berapa banyak byte pilihan yang dibawa oleh paket ini?

Pembahasan :
Nilai HLEN adalah 8, yang berarti jumlah byte pada header adalah 8 × 4 atau 32 byte. 20 byte pertama adalah header dasar, 12 byte berikutnya adalah pilihannya.

3. Dalam sebuah paket IP, nilai HLEN adalah 516 dan nilai total length field adalah 002816.
Berapa byte data yang dibawa oleh paket ini?

Pembahasan :
Nilai HLEN adalah 5, yang berarti jumlah byte pada header adalah 5 × 4 atau 20 byte (tidak ada pilihan). Panjang total adalah 40 byte, yang berarti paket tersebut membawa 20 byte data (40 - 20).

4. Sebuah paket IP telah tiba dengan beberapa digit hexadesimal pertama seperti yang ditunjukkan di bawah ini:

45000028000100000102 . . . 

Berapa banyak hop (pada router) yang bisa ditempuh paket ini sebelum dijatuhkan? Data milik protokol lapisan atas mana?

Pembahasan :

Untuk menemukan bidang time to live, kita melewatkan 8 byte (16 digit hexadesimal). Bidang time to live adalah byte kesembilan, yaitu 01. Ini berarti paket hanya bisa melakukan satu hop. Bidang protokol adalah byte berikutnya (02), yang berarti bahwa protokol lapisan atas adalah IGMP. Lihat tabel dibawah (Tabel 7.2) 

Tabel 7.2
7.3 FRAGMENTATION
Sebuah datagram dapat berjalan melalui jaringan yang berbeda. Setiap router mengembalikan datagram IP dari frame yang diterimanya, mengolahnya, dan kemudian merangkumnya dalam bingkai lain. Format dan ukuran frame yang diterima tergantung pada protokol yang digunakan oleh jaringan fisik yang dengannya frame tersebut baru saja dilewati. Format dan ukuran frame yang dikirim tergantung pada protokol yang digunakan oleh jaringan fisik tempat frame tersebut akan berjalan. Sebagai contoh, jika sebuah router menghubungkan LAN ke WAN, ia menerima frame dalam format LAN dan mengirimkan frame dalam format WAN.

Maximum Transfer Unit (MTU)
Setiap protokol data link layer memiliki format frame tersendiri di kebanyakan protokol. Salah satu bidang yang didefinisikan dalam format adalah ukuran maksimum lapangan data. Dengan kata lain, ketika sebuah datagram dienkapsulasi dalam bingkai, ukuran total datagram harus kurang dari ukuran maksimum ini, yang didefinisikan oleh pembatasan yang diberlakukan oleh perangkat keras dan perangkat lunak yang digunakan dalam jaringan.

Gambar 7.6

Nilai MTU berbeda dari satu protokol jaringan fisik ke jaringan lainnya. Sebagai contoh, nilai untuk Ethernet LAN adalah 1500 byte, untuk FDDI LAN adalah 4352 byte, dan untuk PPP adalah 296 byte. Agar protokol IP independen dari jaringan fisik, perancang memutuskan untuk membuat panjang maksimum datagram IP sebesar 65.535 byte. Hal ini membuat transmisi lebih efisien jika kita menggunakan protokol dengan MTU sebesar ini. Namun, untuk jaringan fisik lainnya, kita harus membagi datagram agar memungkinkan untuk melewati jaringan ini. Ini disebut fragmentasi.

Sumber biasanya tidak memecah paket IP. Lapisan transport malah akan menyegmentasikan data menjadi ukuran yang bisa diakomodasi oleh IP dan layer data link yang digunakan. Ketika sebuah datagram terfragmentasi, setiap fragmen memiliki header sendiri dengan sebagian besar bidang diulang, namun beberapa berubah. Sebuah datagram terfragmentasi dapat terfragmentasi jika menemukan jaringan dengan MTU yang lebih kecil. Dengan kata lain, sebuah datagram dapat terfragmentasi beberapa kali sebelum mencapai tujuan akhir. Sebuah datagram dapat terfragmentasi oleh host sumber atau router di jalan. Perulangan datagram, bagaimanapun, dilakukan hanya oleh host tujuan karena setiap fragmen menjadi datagram independen. Sedangkan datagram terfragmentasi dapat berjalan melalui rute yang berbeda, dan kita tidak dapat mengendalikan atau menjamin rute mana yang dapat terfragmentasi datagram, semua fragmen yang termasuk dalam datagram yang sama akhirnya bisa sampai ke host tujuan. Jadi logis untuk melakukan reassembly di tempat tujuan akhir. Keberatan yang lebih kuat lagi untuk mengumpulkan kembali paket selama transmisi adalah hilangnya efisiensi yang ditimbulkannya. Ketika sebuah datagram terfragmentasi, bagian header yang dibutuhkan harus disalin oleh semua fragmen. Bidang pilihan mungkin atau mungkin tidak bisa disalin seperti yang akan kita lihat di bagian selanjutnya. Host atau router yang memecah sebuah datagram harus mengubah nilai dari tiga bidang: flag, fragmentasi offset, dan panjang total. Sisa medan harus disalin. Tentu saja, nilai checksum harus dihitung ulang terlepas dari fragmentasinya.



Bidang Yang Terkait dengan Fragmentasi
Bidang-bidang yang terkait dengan fragmentasi dan susunan ulang datagram IP adalah bidang identification, flags, dan fragmentation offset.

  • Identification
Bidang 16-bit ini mengidentifikasi datagram yang berasal dari host sumber. Kombinasi identifikasi dan alamat IP sumber harus secara unik mendefinisikan datagram saat ia meninggalkan host sumber. Untuk menjamin keunikan, protokol IP menggunakan counter untuk memberi label pada datagrams. Penghitung diinisialisasi ke angka positif. Ketika protokol IP mengirimkan sebuah datagram, ia menyalin nilai konter saat ini ke bidang identifikasi dan menambahkan konter satu per satu. Selama loket disimpan dalam memori utama, keunikan dijamin. Ketika sebuah datagram terfragmentasi, nilai di bidang identifikasi disalin ke dalam semua fragmen. Dengan kata lain, semua fragmen memiliki nomor identi fi kasi yang sama, yang juga sama dengan datagram asli. Nomor identifikasi membantu tujuan dalam memasang ulang datagram. Ia tahu bahwa semua fragmen yang memiliki nilai identifikasi yang sama harus dirangkai menjadi satu datagram.

  • Flags
Ini adalah bidang 3-bit. Bit pertama dicadangkan (tidak digunakan). Bit kedua disebut tidak pecahan sedikit. Jika nilainya 1, mesin tidak boleh memecah datagram. Jika tidak dapat melewati datagram melalui jaringan fisik yang ada, ia membuang datagram dan mengirimkan pesan kesalahan ICMP ke host sumber (lihat Bab 9). Jika nilainya 0, datagram bisa berfragmentasi jika perlu. Bit ketiga disebut lebih banyak fragmen sedikit. Jika nilainya 1, berarti datagram bukan fragmen terakhir; Ada lebih banyak fragmen setelah yang satu ini. Jika nilainya 0, berarti ini adalah fragmen terakhir atau satu-satunya.
Gambar 7.7

  • Fragmentasi offset. 
Medan 13-bit ini menunjukkan posisi relatif fragmen ini sehubungan dengan keseluruhan datagram. Ini adalah offset data dalam datagram asli yang diukur dalam satuan 8 byte. Gambar 7.8 menunjukkan sebuah datagram dengan ukuran data 4000 byte yang terfragmentasi menjadi tiga fragmen. Byte dalam datagram asli diberi nomor 0 sampai 3999. Fragmen pertama membawa byte 0 sampai 1399. Pengimbang untuk datagram ini adalah

0/8 = 0. Fragmen kedua membawa byte 1400 sampai 2799; nilai offset untuk fragmen ini adalah 1400/8 = 175. Akhirnya, fragmen ketiga membawa byte 2800 sampai 3999. Nilai offset untuk fragmen ini adalah 2800/8 = 350.

Gambar 7.8

Ingatlah bahwa nilai offset diukur dalam satuan 8 byte. Hal ini dilakukan karena panjang bidang offset hanya panjang 13 bit dan tidak dapat mewakili urutan byte lebih besar dari 8191. Hal ini memaksa host atau router untuk membuat fragmen datagrams untuk memilih ukuran setiap fragmen sehingga nomor byte pertama dapat dibagi oleh 8. Gambar 7.9 menunjukkan pandangan fragmen yang diperluas pada gambar sebelumnya. Perhatikan nilai bidang pengidentifikasian sama pada semua fragmen. Perhatikan nilai medan terbang dengan lebih banyak bit untuk semua fragmen kecuali yang terakhir. Juga, nilai bidang offset untuk setiap fragmen diperlihatkan. (Lihat Gambar 7.9)

Gambar 7.9

Gambar tersebut menunjukkan apa yang terjadi jika fragmen itu sendiri terfragmentasi. Dalam hal ini nilai bidang offset selalu berhubungan dengan datagram asli. Sebagai contoh, dalam gambar, fragmen kedua sendiri terfragmentasi kemudian menjadi dua fragmen 800 byte dan 600 byte, namun offset menunjukkan posisi relatif fragmen pada data asli. Jelas bahwa meskipun setiap fragmen mengikuti jalan yang berbeda dan tidak beraturan, tuan rumah tujuan akhir dapat memasang kembali datagram asli dari fragmen yang diterima (jika tidak ada yang hilang) dengan menggunakan strategi berikut: a. Fragmen pertama memiliki nilai bidang offset nol. b. Bagilah panjang fragmen pertama dengan 8. Fragmen kedua memiliki nilai offset sama dengan hasil itu. c. Bagi panjang total fragmen pertama dan kedua dengan 8. Fragmen ketiga memiliki nilai offset sama dengan hasil itu. d. Lanjutkan prosesnya. Fragmen terakhir memiliki nilai bit lebih sedikit dari 0.

CONTOH SOAL BESERTA PEMBAHASAN 1. Sebuah paket telah tiba dengan nilai M bit 0. Apakah ini fragmen pertama, fragmen terakhir, atau fragmen tengah? Apakah kita tahu jika paket itu terfragmentasi?

Pembahasan :

Jika bit M adalah 0, berarti tidak ada fragmen lagi; fragmen itu adalah yang terakhir. Namun, kita tidak bisa mengatakan apakah paket aslinya terfragmentasi atau tidak. Paket yang tidak terfragmentasi dianggap sebagai fragmen terakhir.

2. Sebuah paket telah tiba dengan nilai M bit 1. Apakah ini fragmen pertama, fragmen terakhir, atau fragmen tengah? Apakah kita tahu jika paket itu terfragmentasi?

Pembahasan :
Jika bit M adalah 1, berarti setidaknya ada satu fragmen lagi. Fragmen ini bisa menjadi yang pertama atau yang tengah, tapi bukan yang terakhir. Kita tidak tahu apakah itu yang pertama atau yang tengah; kita membutuhkan lebih banyak informasi (nilai offset fragmentasi).

3. Sebuah paket telah tiba dengan nilai M bit 1 dan nilai offset fragmentasi nol. Apakah ini fragmen pertama, fragmen terakhir, atau fragmen tengah?

Pembahasan :

Karena bit M adalah 1, itu adalah fragmen pertama atau yang pertama. Karena nilai offset adalah 0, itu adalah fragmen pertama.

4. Sebuah paket telah tiba dimana nilai offsetnya adalah 100. Berapakah jumlah byte pertama? Apakah kita tahu jumlah byte terakhir?

Pembahasan :

Untuk menemukan jumlah byte pertama, kita mengalikan nilai offset dengan 8. Ini berarti bahwa nomor byte pertama adalah 800. Kita tidak dapat menentukan jumlah byte terakhir kecuali jika kita mengetahui panjang data.

5. Sebuah paket telah tiba dimana nilai offsetnya adalah 100, nilai HLEN adalah 5 dan nilai dari total length field adalah 100. Berapakah jumlah byte pertama dan byte terakhir?

Pembahasan : Nomor byte pertama adalah 100 × 8 = 800. Panjang total 100 byte dan panjang header adalah 20 byte (5 × 4), yang berarti ada 80 byte pada datagram ini. Jika nomor byte pertama adalah 800, nomor byte terakhir harus 879.

7.3 OPTIONS (PILIHAN)
Header dari datagram IP dibuat dari dua bagian: bagian tetap dan bagian variabel. Bagian yang diisi adalah 20 byte panjang dan dibahas pada bagian sebelumnya. Bagian variabel terdiri dari pilihan, yang bisa maksimal 40 byte. Pilihan, seperti namanya, tidak diperlukan untuk datagram. Mereka dapat digunakan untuk pengujian jaringan dan debugging. Meskipun pilihan bukan bagian header IP yang dipersyaratkan, pemrosesan opsi diperlukan dari perangkat lunak IP. Ini berarti bahwa semua implementasi harus dapat menangani pilihan jika ada di header.

Format
Gambar 7.10 menunjukkan format opsi. Ini terdiri dari bidang tipe 1-byte, bidang panjang 1-byte, dan bidang nilai variabel. Ketiga bidang ini sering disebut sebagai tipe-length-value atau TLV.
Gambar 7.10

Type
Bidang jenis panjangnya 8 bit dan berisi tiga sub-bidang : Copy, Class, dan Number.
  • Copy 
Subset 1-bit ini mengontrol keberadaan pilihan dalam fragmentasi. Bila nilainya 0, berarti opsi itu harus disalin hanya ke fragmen pertama. Jika nilainya 1, berarti pilihan itu harus disalin ke semua fragmen.
  • Class 
Subset 2-bit ini menentukan tujuan umum dari pilihan. Bila nilainya adalah 00, berarti opsi tersebut digunakan untuk kontrol datagram. Bila nilainya 10, berarti opsi tersebut digunakan untuk debugging dan manajemen. Dua nilai yang mungkin lainnya (01 dan 11) belum didefinisikan.
  • Number 
Subset 5-bit ini mendefinisikan jenis pilihan. Meski 5 bit bisa mendefinisikan hingga 32 tipe yang berbeda, saat ini hanya 6 tipe yang sedang digunakan. Ini akan dibahas di bagian selanjutnya.

Length
Panjang menentukan panjang total opsi termasuk bidang jenis dan bidang panjang itu sendiri. Bidang ini tidak ada dalam semua jenis pilihan.

Value

Bidang nilai berisi data yang diperlukan pilihan spesifik. Seperti bidang panjang, bidang ini juga tidak ada dalam semua jenis pilihan.



Jenis Opsi
Seperti yang telah disebutkan sebelumnya, hanya enam pilihan yang saat ini digunakan. Dua di antaranya adalah pilihan 1 byte, dan tidak memerlukan panjang atau bidang data. Empat di antaranya adalah pilihan multi-byte; Mereka membutuhkan panjang dan bidang data (lihat Gambar 7.11).

Gambar 7.11
Tidak ada Opsi Operasi
Tidak ada Opsi Operasi adalah opsi 1-byte yang digunakan sebagai filter antara opsi. Sebagai contoh, dapat digunakan untuk menyelaraskan opsi berikutnya pada batas 16 bit atau 32 bit (lihat Gambar 7.12).
Gambar 7.12
Opsi Opsi Akhir
Opsi Opsi Akhir juga merupakan pilihan 1-byte yang digunakan untuk padding pada akhir bidang pilihan. Namun, hanya bisa digunakan sebagai pilihan terakhir. Hanya satu pilihan opsi akhir yang bisa digunakan. Setelah opsi ini, receiver mencari data payload. Ini berarti bahwa jika dibutuhkan lebih dari 1 byte untuk menyelaraskan bidang pilihan, beberapa opsi tanpa operasi harus digunakan, diikuti opsi opsi akhir (lihat Gambar 7.13).

Gambar 7.13

Opsi Record-Route

Pilihan record-route digunakan untuk merekam router Internet yang menangani datagram. Ini bisa daftar sampai sembilan alamat IP router karena ukuran maksimum header adalah 60 byte, yang harus menyertakan 20 byte untuk header dasar. Ini berarti bahwa hanya 40 byte yang tersisa untuk bagian pilihan. Sumber tersebut menciptakan lahan placeholder dalam pilihan yang harus dipenuhi oleh router yang dikunjungi. Gambar 7.14 menunjukkan format pilihan rute rekam.

Gambar 7.14

Baik kode dan bidang panjang telah dijelaskan di atas. Bidang penunjuk adalah bidang bilangan bulat offset yang berisi nomor byte dari entri kosong pertama. Dengan kata lain, ini menunjuk pada entri pertama yang tersedia. Sumber tersebut menciptakan bidang kosong untuk alamat IP di bidang data pilihan. Ketika datagram meninggalkan sumber, semua bidang kosong. Medan penunjuk memiliki nilai 4, menunjuk ke bidang kosong pertama. Ketika datagram sedang melakukan perjalanan, setiap router yang memproses datagram membandingkan nilai pointer dengan nilai panjangnya. Jika nilai pointer lebih besar dari nilai panjangnya, pilihannya penuh dan tidak ada perubahan yang dilakukan. Namun, jika nilai pointer tidak lebih besar dari nilai panjangnya, router memasukkan alamat IP keluarnya di bidang kosong berikutnya (ingat bahwa router memiliki lebih dari satu alamat IP). Dalam kasus ini, router menambahkan alamat IP dari antarmuka yang digunakan untuk datagram. Router kemudian menambahkan nilai pointer sebesar 4. Gambar 7.15 menunjukkan entri sebagai datagram yang bergerak kiri ke kanan dari router ke router.

Gambar 7.15


Pilihan Sumber-Rute yang KETAT
Opsi sumber-rute yang ketat digunakan oleh sumber untuk menentukan rute datagram saat ia melakukan perjalanan melalui Internet. Dikte rute oleh sumber bisa bermanfaat untuk beberapa tujuan. Pengirim dapat memilih rute dengan jenis layanan tertentu, seperti penundaan minimum atau throughput maksimum. Sebagai alternatif, ia dapat memilih rute yang lebih aman atau lebih dapat diandalkan untuk tujuan pengirim. Misalnya, pengirim dapat memilih rute sehingga datagramnya tidak berjalan melalui jaringan pesaing. Jika sebuah datagram menentukan rute sumber yang ketat, semua router yang didefinisikan dalam pilihan harus dikunjungi oleh datagram. Router tidak boleh dikunjungi jika alamat IP-nya tidak tercantum dalam datagram. Jika datagram mengunjungi router yang tidak ada dalam daftar, datagram akan dibuang dan pesan kesalahan dikeluarkan. Jika datagram tiba di tempat tujuan dan beberapa entri tidak dikunjungi, maka datagram juga akan dibuang dan pesan kesalahan dikeluarkan. Pengguna internet biasa, bagaimanapun, biasanya tidak sadar akan topologi fisik Internet. Akibatnya, routing sumber yang ketat bukanlah pilihan sebagian besar pengguna. Gambar 7.16 menunjukkan format pilihan rute sumber yang ketat.

Gambar 7.16

Formatnya mirip dengan pilihan rute rekam dengan pengecualian bahwa semua alamat IP dimasukkan oleh pengirim. Ketika datagram sedang melakukan perjalanan, setiap router yang memproses datagram membandingkan nilai pointer dengan nilai panjangnya. Jika nilai pointer lebih besar dari nilai panjang, datagram telah mengunjungi semua router yang telah ditentukan. Datagram tidak dapat melakukan perjalanan lagi; itu dibuang dan pesan kesalahan dibuat. Jika nilai pointer tidak lebih besar dari nilai panjangnya, router membandingkan alamat IP tujuan dengan alamat IP yang masuk: Jika sama, maka proses datagram, swap alamat IP yang ditunjukkan oleh pointer dengan tujuan. alamat, menambah nilai pointer sebesar 4, dan meneruskan datagram. Jika tidak sama, ia membuang datagram dan mengeluarkan pesan kesalahan. Gambar 7.17 menunjukkan tindakan yang dilakukan oleh setiap router sebagai datagram yang bergerak dari sumber ke tujuan.
Gambar 7.17

Pilihan rute sumber yang longgar
Pilihan rute sumber yang longgar mirip dengan rute sumber yang ketat, namun lebih rileks. Setiap router dalam daftar harus dikunjungi, namun datagram juga bisa mengunjungi router lain. Gambar 7.18 menunjukkan format opsi rute sumber longgar.

Gambar 7.18

Stempel waktu
Opsi timestamp (stempel waktu) digunakan untuk mencatat waktu pemrosesan datagram oleh router. Waktunya dinyatakan dalam milidetik mulai tengah malam, Universal Time. Mengetahui saat datagram diproses dapat membantu pengguna dan manajer melacak perilaku router di Internet. Kita dapat memperkirakan waktu yang dibutuhkan datagram untuk berpindah dari satu router ke router lainnya. Kami mengatakan perkiraan karena, walaupun semua router dapat menggunakan Universal Time, jam lokal mereka mungkin tidak disinkronisasi. Namun, pengguna internet yang tidak terdidik biasanya tidak sadar akan topologi fisik Internet. Akibatnya, pilihan timestamp bukanlah pilihan bagi sebagian besar pengguna. Gambar 7.19 menunjukkan format pilihan timestamp.

Gambar 7.19
Dalam gambar ini, definisi kode dan bidang panjang sama dengan sebelumnya. Bidang arus sungai mencatat jumlah router yang tidak dapat menambahkan stempel waktu mereka karena tidak ada bidang yang tersedia. Lapangan terbang menentukan tanggung jawab router yang dikunjungi. Jika nilai rata-rata 0, setiap router hanya menambahkan stempel waktu di bidang yang tersedia. Jika fl fl nilai 1, setiap router harus menambahkan alamat IP keluar dan stempel waktu. Jika nilainya 3, alamat IP diberikan, dan setiap router harus memeriksa alamat IP yang diberikan dengan alamat IP yang masuk sendiri. Jika ada kecocokan, router akan menimpa alamat IP dengan alamat IP keluarnya dan menambahkan stempel waktu. (Lihat gambar 7.20)

Gambar 7.20

Gambar 7.21 menunjukkan tindakan yang dilakukan oleh masing-masing router saat sebuah datagram berpindah dari sumber ke tujuan. Angka tersebut mengasumsikan nilai 1.

Gambar 7.21

CONTOH SOAL BESERTA PEMBAHASAN

1. Manakah dari enam pilihan yang harus disalin ke setiap fragmen?

Pembahasan :
Kita lihat bit pertama (paling kiri) dari masing-masing opsi.

· Tidak ada operasi: tipe 00000001; tidak disalin 

· Akhir dari pilihan: tipe 00000000; tidak disalin 

· Rekam rute: tipe 00000111; tidak disalin 

· Rute sumber yang ketat: tipe 10001001; disalin 

· Rute sumber longsor: tipe 10000011; disalin 

· Timestamp: tipe 01000100; tidak disalin

2. Manakah dari enam pilihan yang digunakan untuk kontrol datagram dan mana yang digunakan untuk debugging dan manajemen?

Pembahasan :
Kita lihat bit kedua dan ketiga (paling kiri) dari tipe ini.

· Tidak ada operasi: tipe 00000001; kontrol datagram 

· Akhir dari pilihan: tipe 00000000; kontrol datagram 

· Rekam rute: tipe 00000111; kontrol datagram 

· Rute sumber yang ketat: tipe 10001001; kontrol datagram 

· Rute sumber longsor: tipe 10000011; kontrol datagram 

· Timestamp: tipe 01000100; debugging dan kontrol manajemen

3. Salah satu utilitas yang tersedia di UNIX untuk memeriksa perjalanan paket IP adalah ping. Pada bab selanjutnya, kita berbicara tentang program ping secara lebih rinci. Dalam contoh ini, kami ingin menunjukkan bagaimana menggunakan program ini untuk melihat apakah sebuah host tersedia. Kami ping server di De Anza College bernama fhda.edu. Hasilnya menunjukkan bahwa alamat IP host adalah 153.18.8.1. Hasilnya juga menunjukkan jumlah byte yang digunakan.

PING fhda.edu (153.18.8.1) 56(84) bytes of data. 64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq = 0 ttl=62 time=1.87 ms ...

4. Kita juga bisa menggunakan utilitas ping dengan opsi -R untuk mengimplementasikan opsi rekam rute. Hasilnya menunjukkan interface dan alamat IP.

PING fhda.edu (153.18.8.1) 56(124) bytes of data. 64 bytes from tiptoe.fhda.edu (153.18.8.1): icmp_seq=0 ttl=62 time=2.70 ms RR: voyager.deanza.fhda.edu (153.18.17.11) Dcore_G0_3-69.fhda.edu (153.18.251.3) Dbackup_V13.fhda.edu (153.18.191.249) tiptoe.fhda.edu (153.18.8.1) Dbackup_V62.fhda.edu (153.18.251.34) Dcore_G0_1-6.fhda.edu (153.18.31.254) voyager.deanza.fhda.edu (153.18.17.11)

5. Utilitas traceroute juga dapat digunakan untuk melacak rute paket. Hasilnya menunjukkan tiga router yang dikunjungi.

traceroute to fhda.edu (153.18.8.1), 30 hops max, 38 byte packets 1 Dcore_G0_1-6.fhda.edu (153.18.31.254) 0.972 ms 0.902 ms 0.881 ms 2 Dbackup_V69.fhda.edu (153.18.251.4) 2.113 ms 1.996 ms 2.059 ms 3 tiptoe.fhda.edu (153.18.8.1) 1.791 ms 1.741 ms 1.751 ms

6. Program traceroute dapat digunakan untuk mengimplementasikan routing sumber longgar. Pilihan -g memungkinkan kita menentukan router yang akan dikunjungi, dari sumber ke tujuan. Berikut ini menunjukkan bagaimana kita bisa mengirim sebuah paket ke server fhda.edu dengan persyaratan bahwa paket tersebut mengunjungi router 153.18.251.4.

traceroute to fhda.edu (153.18.8.1), 30 hops max, 46 byte packets 1 Dcore_G0_1-6.fhda.edu (153.18.31.254) 0.976 ms 0.906 ms 0.889 ms 2 Dbackup_V69.fhda.edu (153.18.251.4) 2.168 ms 2.148 ms 2.037 ms

7. Program traceroute juga dapat digunakan untuk mengimplementasikan routing sumber yang ketat. Opsi -G memaksa paket untuk mengunjungi router yang didefinisikan pada baris perintah. Berikut ini menunjukkan bagaimana kita bisa mengirim sebuah paket ke server fhda.edu dan memaksa paket tersebut hanya mengunjungi router 153.18.251.4.

traceroute to fhda.edu (153.18.8.1), 30 hops max, 46 byte packets 1 Dbackup_V69.fhda.edu (153.18.251.4) 2.168 ms 2.148 ms 2.037 ms


7.5 CHECKSUM
Metode deteksi kesalahan yang digunakan oleh sebagian besar protokol TCP / IP disebut checksum. Checksum melindungi terhadap korupsi yang mungkin terjadi selama pengiriman paket. Ini adalah informasi berlebihan yang ditambahkan ke paket. Checksum dihitung pada pengirim dan nilai yang diperoleh dikirim dengan paket. Penerima mengulangi perhitungan yang sama pada keseluruhan paket termasuk checksum. Jika hasilnya memuaskan (lihat di bawah), paketnya diterima; Jika tidak, itu ditolak

Perhitungan Checksum di Pengirim Pada pengirim, header paket dibagi menjadi bagian n-bit (n biasanya 16). Bagian ini ditambahkan bersama-sama menggunakan aritmatika komplemen seseorang (lihat Lampiran D), menghasilkan jumlah yang juga n bit. Jumlah tersebut kemudian dilengkapi (semua 0 berubah ke 1s dan semua 1s sampai 0s) untuk menghasilkan checksum.

Untuk membuat checksum, pengirim melakukan hal berikut:
❑ Paket dibagi menjadi beberapa bagian, masing-masing n bit.
Semua bagian ditambahkan bersamaan dengan menggunakan aritmatika komplemen seseorang.
❑ Hasil akhirnya dilengkapi untuk membuat checksum.

Perhitungan Checksum di Penerima
Penerima membagi paket yang diterima ke dalam bagian k dan menambahkan semua bagian. Kemudian melengkapi hasilnya. Jika hasil akhir adalah 0, paketnya diterima; Jika tidak, itu ditolak. Gambar 7.22 menunjukkan secara grafis apa yang terjadi pada pengirim dan penerima. Kami mengatakan saat receiver menambahkan semua bagian dan melengkapi hasilnya, seharusnya nol jika tidak ada kesalahan dalam data selama pengiriman atau pemrosesan. Ini benar karena aturan dalam satu komplemen aritmatika. Asumsikan bahwa kita mendapatkan nomor yang disebut T saat kita menambahkan semua bagian dalam pengirim. Bila kita melengkapi bilangan dalam satu komplemen aritmatika, kita mendapatkan nilai negatif dari bilangan tersebut. Ini berarti bahwa jika jumlah semua bagian adalah T, checksumnya adalah -T

Gambar 7.22

Saat penerima menerima paket, ia menambahkan semua bagiannya. Ini menambahkan T dan -T yang, dalam pelengkap seseorang, adalah -0 (minus nol). Bila hasilnya dilengkapi, -0 menjadi 0. Jadi jika hasil akhir adalah 0, paketnya diterima; Jika tidak, ditolak (lihat Gambar 7.23).

Gambar 7.23

Checksum di IP Packet
Implementasi checksum dalam paket IP mengikuti prinsip yang sama yang dibahas di atas. Pertama, nilai bidang checksum diatur ke 0. Kemudian, keseluruhan header dibagi menjadi bagian 16 bit dan ditambahkan bersamaan. Hasilnya (jumlah) dilengkapi dan dimasukkan ke dalam bidang checksum. Checksum dalam paket IP hanya mencakup header, bukan data. Ada dua alasan bagus untuk ini. Pertama, semua protokol tingkat tinggi yang merangkum data di datagram IP memiliki bidang checksum yang mencakup keseluruhan paket. Oleh karena itu, checksum untuk datagram IP tidak harus memeriksa data yang dienkapsulasi. Kedua, header dari paket IP berubah dengan setiap router yang dikunjungi, namun datanya tidak. Jadi checksum hanya mencakup bagian yang telah berubah. Jika data disertakan, masing-masing router harus menghitung ulang checksum untuk keseluruhan paket, yang berarti peningkatan waktu pemrosesan.

Checksum di IP hanya mencakup header, bukan data.

Gambar 7.24 menunjukkan contoh perhitungan checksum di situs pengirim untuk header IP tanpa opsi. Header dibagi menjadi bagian 16 bit. Semua bagian ditambahkan dan jumlahnya dilengkapi. Hasilnya dimasukkan ke dalam bidang checksum.

Gambar 7.24


Gambar 7.25 menunjukkan pengecekan checksum di situs penerima (atau router perantara) dengan asumsi tidak ada kesalahan yang terjadi pada header. Header dibagi menjadi bagian 16 bit. Semua bagian ditambahkan dan jumlahnya dilengkapi. Karena hasilnya adalah 16 0s, paketnya diterima.

Gambar 7.25

7.6 IP OVER ATM
Pada bagian sebelumnya, kita mengasumsikan bahwa jaringan dasar dimana datagram IP bergerak adalah LAN atau WAN point-to-point. Pada bagian ini, kita ingin melihat bagaimana sebuah datagram IP bergerak melalui WAN yang diaktifkan seperti ATM. Kita akan melihat bahwa ada persamaan dan juga perbedaan. Paket IP dienkapsulasi dalam sel (tidak hanya satu). Jaringan ATM memiliki definisi tersendiri untuk alamat fisik perangkat. Mengikat antara alamat IP dan alamat fisik dicapai melalui sebuah protokol yang disebut ATMARP.

ATM WANs
Kami membahas ATM WAN di Bab 3. ATM, jaringan sel-switched, bisa menjadi jalan raya untuk datagram IP. Gambar 7.26 menunjukkan bagaimana jaringan ATM dapat digunakan di Internet

Gambar 7.26
Lapisan AAL
Satu-satunya AAL yang digunakan oleh Internet adalah AAL5. Kadang-kadang disebut lapisan adaptasi sederhana dan efesien (EAL). AAL5 mengasumsikan bahwa semua sel yang dibuat dari satu datagram IP termasuk dalam satu pesan tunggal. Oleh karena itu AAL5 tidak menyediakan informasi pengalamatan, pengurutan, atau informasi header lainnya. Sebagai gantinya, hanya padding dan trailer empat lapangan yang ditambahkan ke paket IP. AAL5 menerima paket IP tidak lebih dari 65.536 byte dan menambahkan trailer 8-byte serta bantalan yang diperlukan untuk memastikan posisi trailer jatuh di tempat peralatan penerima mengharapkannya (pada 8 byte terakhir dari sel terakhir) . Begitu padding dan trailernya terpasang, AAL5 meneruskan pesan tersebut ke segmen 48 byte ke lapisan ATM.

Lapisan AAL yang digunakan oleh protokol IP adalah AAL5. 

Mengapa menggunakan AAL5?
Sebuah pertanyaan yang sering muncul adalah mengapa kita menggunakan AAL5. Mengapa kita tidak bisa mengenkapsulasi paket IP di sel? Jawabannya adalah lebih efisien menggunakan AAL5. Jika datagram IP dienkapsulasi dalam sel, data pada tingkat IP harus 53 - 5 - 20 = 27 byte karena minimal 20 byte diperlukan untuk header IP dan 5 byte diperlukan untuk header ATM. Efisiensinya 27/53, atau hampir 51 persen. Dengan membiarkan sebuah rangkaian datagram IP melewati beberapa sel, kita membagi overhead IP (20 byte) di antara sel-sel tersebut dan meningkatkan efisiensi.

Perutean Sel (Routing the Cells)
Jaringan ATM menciptakan rute antara dua router. Kami menyebut router ini sebagai router titik masuk dan titik keluar. Sel-sel mulai dari router titik masuk dan berakhir pada router titik keluaarseperti ditunjukkan pada Gambar 7.27. 

Gambar 7.27

Alamat
Routing sel dari satu router titik masuk yang spesifik ke satu router titik keluar yang spesifik memerlukan tiga jenis pengalamatan: alamat IP, alamat fisik, dan pengenal rangkaian virtual.

IP Address
Setiap router yang terhubung ke jaringan ATM memiliki alamat IP. Nantinya kita akan melihat bahwa alamat tersebut mungkin atau mungkin tidak memiliki prefiks yang sama. Alamat IP menentukan router pada lapisan IP. Ini tidak ada kaitannya dengan jaringan ATM.

Alamat fisik
Setiap router (atau perangkat lain) yang terhubung ke jaringan ATM juga memiliki alamat fisik. Alamat fisik dikaitkan dengan jaringan ATM dan tidak ada hubungannya dengan Internet. Forum ATM menentukan alamat 20 byte untuk jaringan ATM. Setiap alamat harus unik dalam jaringan dan ditentukan oleh administrator jaringan. Alamat fisik di jaringan ATM memainkan peran yang sama seperti alamat MAC di LAN. Alamat fisik digunakan selama pembentukan koneksi.

Pengenal Sirkuit Virtual
Switch di dalam jaringan ATM mengarahkan sel berdasarkan pengenal rangkaian virtual (VPI dan VCI), seperti yang telah kita bahas di Bab 3. Pengenal rangkaian virtual digunakan selama transfer data.

Alamat Binding

Jaringan ATM membutuhkan pengenal rangkaian virtual untuk merutekan sel. IP datagram hanya berisi alamat IP sumber dan tujuan. Pengenal rangkaian virtual harus ditentukan dari alamat IP tujuan. Gambar 7.28 menunjukkan bagaimana hal ini dilakukan. Inilah langkah-langkahnya:

1. Router titik masuk menerima datagram IP. Ini menggunakan alamat tujuan dan tabel routing untuk menemukan alamat IP dari router berikutnya, router titik keluar. Ini persis langkah yang sama diikuti ketika datagram melewati LAN. 

Gambar 7.28
2. Router titik masuk menggunakan layanan dari sebuah protokol yang disebut ATMARP untuk menemukan alamat fisik dari router titik keluar. ATMARP mirip dengan ARP. 

3. Pengenal rangkaian virtual terikat pada alamat fisik.

7.7 SECURITY
Protokol IPv4, serta seluruh Internet, dimulai saat pengguna Internet saling percaya satu sama lain. Tidak ada keamanan yang diberikan untuk protokol IPv4. Hari ini, bagaimanapun, situasinya berbeda; Internet tidak aman lagi. Meskipun kita membahas keamanan jaringan secara umum dan keamanan IP khususnya di Bab 29 dan 30, kami memberikan gambaran singkat tentang masalah keamanan dalam protokol IP dan solusinya.

Masalah keamanan
Ada tiga masalah keamanan yang terutama berlaku untuk protokol IP: packet sniffing, modifikasi paket, dan spoo fi ng IP.

Paket Sniffing
Seorang penyusup dapat mencegat paket IP dan membuat salinannya. Packet sniffing adalah serangan pasif, dimana penyerang tidak mengubah isi paket. Jenis serangan ini sangat sulit untuk dideteksi karena pengirim dan penerima mungkin tidak pernah tahu bahwa paket telah disalin. Meski packet sniffing tidak bisa dihentikan, enkripsi paket bisa membuat penyerang sia sia sia. Penyerang masih bisa mengendus paketnya, tapi tidak bisa menemukan isinya

Modifikasi Paket
Jenis serangan kedua adalah memodifikasi paket. Penyerang mencegat paket, mengubah isinya, dan mengirimkan paket baru ke receiver. Penerima percaya bahwa paket itu berasal dari pengirim asli. Jenis serangan ini dapat dideteksi dengan menggunakan mekanisme integritas data. Penerima sebelum membuka dan menggunakan isi pesan dapat menggunakan mekanisme ini untuk memastikan paket tidak berubah selama pengiriman.

IP Spoofing
Seorang penyerang bisa menyamar sebagai orang lain dan membuat paket IP yang membawa alamat sumber komputer lain. Penyerang dapat mengirim paket IP ke bank yang berpura-pura berasal dari salah satu pelanggan. Jenis serangan ini dapat dicegah dengan menggunakan mekanisme otentikasi asal.


IPSec

Paket IP saat ini dapat dilindungi dari serangan yang disebutkan sebelumnya menggunakan protokol yang disebut IPSec (IP Security). Protokol ini, yang digunakan bersamaan dengan protokol IP, menciptakan layanan connection-oriented antara dua entitas di mana mereka dapat bertukar paket IP tanpa mengkhawatirkan ketiga serangan yang dibahas sebelumnya. Kami akan membahas IPSec secara rinci di Bab 30, cukup untuk menyebutkan bahwa IPSec menyediakan empat layanan berikut:

Definisikan Algoritma dan Tombol
Dua entitas yang ingin membuat saluran aman di antara mereka sendiri dapat menyetujui beberapa algoritma dan kunci yang tersedia untuk tujuan keamanan.

Paket Enkripsi
Paket yang dipertukarkan antara dua pihak dapat dienkripsi untuk privasi menggunakan salah satu algoritma enkripsi dan kunci bersama yang disepakati pada langkah pertama. Hal ini membuat paket sniffing attack tidak berguna.

Integritas data
Integritas data menjamin bahwa paket tidak dimodifikasi selama transmisi berlangsung. Jika paket yang diterima tidak lulus uji integritas data, maka paket tersebut akan dibuang. Ini mencegah serangan kedua, modifikasi paket, yang dijelaskan di atas.

Otentikasi asal

IPsec dapat mengotentikasi asal paket untuk memastikan paket tidak dibuat oleh penipu. Hal ini dapat mencegah serangan spoo fi ng IP seperti dijelaskan di atas.

7.8 Paket IP
Pada bagian ini, kami menyajikan contoh simpul dari paket IP hipotetis. Tujuan kami adalah untuk menunjukkan hubungan antara konsep yang berbeda yang dibahas dalam bab ini. Gambar 7.29 menunjukkan delapan komponen dan interaksinya. Meskipun IP mendukung beberapa pilihan, kami telah menghilangkan pilihan pemrosesan dalam paket kami untuk mempermudah pemahaman pada tingkat ini. Sebagai tambahan, kita memiliki efisiensi yang disyukuri demi kesederhanaan. Kita dapat mengatakan bahwa paket IP melibatkan delapan komponen: modul penambahan header, modul pemrosesan, modul penerusan, modul fragmentasi, modul reassembly, tabel routing, tabel MTU, dan tabel reassembly. Selain itu, paketnya mencakup antrian input dan output. Paket menerima paket, baik dari lapisan data link atau dari protokol tingkat tinggi. Jika paket berasal dari protokol lapisan atas, dikirimkan ke lapisan data link untuk transmisi (kecuali alamat loopback 127.X.Y.Z). Jika paket berasal dari lapisan data link, maka dikirimkan ke lapisan data link untuk penerusan (di router) atau dikirim ke protokol lapisan yang lebih tinggi jika alamat IP tujuan dari paket sama dengan stasiun Alamat IP. Perhatikan bahwa kami menggunakan banyak antrian ke dan dari lapisan data link karena router multihomed.

Gambar 7.29
Modul Penambahan Header
Modul penambahan header (Tabel 7.3) menerima data dari protokol lapisan atas bersamaan dengan alamat IP tujuan. Ini mengenkapsulasi data dalam sebuah datagram IP dengan menambahkan header IP.

Tabel 7.3
Modul Pengolahan
Modul pemrosesan (Tabel 7.4) adalah inti dari paket IP. Dalam paket kami, modul pemrosesan menerima datagram dari sebuah antarmuka atau dari modul penambahan header. Ini memperlakukan kedua kasus yang sama. Sebuah datagram harus diproses dan diarahkan terlepas dari mana asalnya.

Tabel 7.4
Modul pengolahan memeriksa terlebih dahulu untuk melihat apakah datagram telah mencapai tujuan akhir. Dalam hal ini, paket dikirim ke modul reassembly. Jika simpulnya adalah router, ia akan mengubah field time-to-live (TTL) menjadi satu. Jika nilai ini kurang dari atau sama dengan nol, datagram akan dibuang dan pesan ICMP (lihat Bab 9) dikirim ke pengirim asli. Jika nilai TTL lebih besar dari nol setelah dikurangi, modul pemrosesan akan mengirim datagram ke modul penerusan.

Antrian
Paket kami menggunakan dua jenis antrian: antrian input dan antrian output. Antrian input menyimpan datagram yang berasal dari lapisan data link atau protokol lapisan atas. Antrian keluaran menyimpan datagram ke lapisan data link atau protokol lapisan atas. Modul pemrosesan dequeues (menghapus) datagram dari antrian input. Fragmentasi dan modul reassembly enqueue (tambahkan) datagram ke dalam antrian output.

Tabel Routing

Tabel routing digunakan oleh modul penerusan untuk menentukan alamat hop berikutnya dari paket.

Modul Penerusan
Modul penerusan menerima paket IP dari modul pemrosesan. Jika paket itu diteruskan, maka diteruskan ke modul ini. Modul ini menemukan alamat IP dari stasiun berikutnya beserta nomor antarmuka dimana paket harus dikirim. Kemudian mengirimkan paket dengan informasi ini ke modul fragmentasi.

Tabel MTU

Tabel MTU digunakan oleh modul fragmentasi untuk menemukan unit transfer maksimum (MTU) dari antarmuka tertentu. Hanya ada dua kolom: antarmuka dan MTU.

Modul Fragmentasi
Dalam paket kami, modul fragmentasi menerima datagram IP dari modul penerusan. Modul penerusan memberikan datagram IP, alamat IP stasiun berikutnya (baik tujuan akhir dalam pengiriman langsung atau router berikutnya dalam pengiriman tidak langsung), dan nomor antarmuka yang digunakan untuk mengirim datagram. Modul fragmentasi berkonsultasi dengan tabel MTU untuk menemukan MTU untuk nomor antarmuka tertentu. Jika panjang datagram lebih besar dari MTU, fragmen modul fragmen datagram, menambahkan header ke setiap fragmen, dan mengirimkannya ke paket ARP untuk resolusi alamat dan pengiriman.

Meja Reassembly
Meja reassembly digunakan oleh modul reassembly. Dalam paket kami, tabel reassembly memiliki lima bidang: alamat IP sumber, sumber, ID datagram, time-out, dan fragmen (lihat Gambar 7.30).

Gambar 7.30
Nilai medan negara bisa berupa FREE atau IN-USE. Bidang alamat IP menentukan alamat IP sumber dari datagram. ID datagram adalah nomor yang secara unik mendefinisikan datagram dan semua fragmen milik datagram tersebut. Waktu habis adalah jumlah waktu yang ditentukan di mana semua fragmen harus tiba. Akhirnya, bidang fragmen adalah pointer ke daftar fragmen yang saling terkait.

Modul Reassembly

Modul reassembly (Tabel 7.6) menerima, dari modul pemrosesan, fragmen datagram yang telah sampai pada tujuan akhir mereka. Dalam paket kami, modul reassembly memperlakukan datagram yang tidak terfragmentasi sebagai fragmen yang termasuk dalam datagram hanya dengan satu fragmen. Karena protokol IP adalah protokol tanpa koneksi, tidak ada jaminan bahwa fragmen tersebut tiba secara berurutan. Selain itu, fragmen dari satu datagram dapat dicampurkan dengan fragmen dari datagram lain. Untuk melacak situasi ini, modul menggunakan tabel reassembly dengan linked list terkait, seperti yang telah kami jelaskan sebelumnya. Tugas modul reassembly adalah untuk menemukan datagram tempat fragmen berada, untuk memesan fragmen yang termasuk dalam datagram yang sama, dan mengumpulkan kembali semua fragmen datagram saat semua telah tiba. Jika batas waktu yang ditentukan telah kadaluarsa dan fragmen apapun hilang, modul akan membuang fragmennya.
Tabel 7.6

Yahh itu guys mungkin dari gua, terlalu banyak ya ? Haha sorry guys soalnya itu pengennya rangkuman tapi karena gua rasa penting semua ya gua masukin hampir semuanya :v .
Sekian guys dari gua. Jika ada salah kata atau beda pendapat silakan komen aja. Akan kami terima dengan senang hati, disini kita sama-sama berbagi. Sharing.

KABEH SEDULUR !
MATUR NUWUN, GUYS !


MENERIMA KRITIK DAN SARAN
😀

Post a Comment

0 Comments