BAB II TINJAUAN PUSTAKA 2.1 OSI Layer Model referensi OSI (Open System Interconnection) menggambarkan bagaimana informasi dari suatu software aplikasi di sebuah komputer berpindah melewati sebuah media jaringan ke suatu software aplikasi di komputer lain. Model referensi OSI secara konseptual terbagi ke dalam 7 lapisan dimana masingmasing lapisan memiliki fungsi jaringan yang spesifik. Model ini diciptakan berdasarkan sebuah proposal yang dibuat oleh International Standards Organization (ISO) sebagai langkah awal menuju standarisasi protokol internasional yang digunakan pada berbagai layer. Model ini disebut OSI (Open System Interconnection) Reference Model karena model ini ditujukan bagi pengkoneksian open system. Open System dapat diartikan sebagai suatu sistem yang terbuka untuk berkomunikasi dengan sistem-sistem lainnya. 2.1.1 Karakteristik Lapisan OSI Ke tujuh lapisan dari model referensi OSI dapat dibagi ke dalam dua kategori, yaitu lapisan atas dan lapisan bawah. Lapisan atas dari model OSI berurusan dengan persoalan aplikasi dan pada umumnya diimplementasi hanya pada software. Lapisan tertinggi (lapisan applikasi) adalah lapisan penutup sebelum ke pengguna (user), keduanya, pengguna dan lapisan aplikasi saling berinteraksi proses dengan software aplikasi yang berisi sebuah komponen komunikasi. Istilah lapisan atas kadang-kadang digunakan untuk menunjuk ke beberapa lapisan atas dari lapisan lapisan yang lain di model OSI. Lapisan bawah dari model OSI mengendalikan persoalan transport data. Lapisan fisik dan lapisan data link diimplementasikan ke dalam hardware dan software. Lapisan-lapisan bawah yang lain pada umumnya hanya diimplementasikan dalam software. Lapisan terbawah, yaitu lapisan fisik adalah lapisan penutup bagi media jaringan fisik (misalnya jaringan kabel), dan sebagai penanggung jawab bagi penempatan informasi pada media jaringan. 5 6 2.1.2 Protokol Model OSI menyediakan secara konseptual kerangka kerja untuk komunikasi antar komputer, tetapi model ini bukan merupakan metoda komunikasi. Sebenarnya komunikasi dapat terjadi karena menggunakan protokol komunikasi. Di dalam konteks jaringan data, sebuah protokol adalah suatu aturan formal dan kesepakatan yang menentukan bagaimana komputer bertukar informasi melewati sebuah media jaringan. Sebuah protokol mengimplementasikan salah satu atau lebih dari lapisan-lapisan OSI. Sebuah variasi yang lebar dari adanya protokol komunikasi, tetapi semua memelihara pada salah satu aliran group: protokol LAN, protokol WAN, protokol jaringan, dan protokol routing. Protokol LAN beroperasi pada lapisan fisik dan data link dari model OSI dan mendefinisikan komunikasi di atas macam-macam media LAN. Protokol WAN beroperasi pada ketiga lapisan terbawah dari model OSI dan mendefinisikan komunikasi di atas macam-macam WAN. Protokol routing adalah protokol lapisan jaringan yang bertanggung jawab untuk menentukan jalan dan pengaturan lalu lintas. Akhirnya protokol jaringan adalah berbagai protokol dari lapisan teratas yang ada dalam sederetan protokol. 2.1.3 Model OSI Layer Layer osi dibagi menjadi tujuh bagian yaitu physical layer, data link layer, network layer, transport layer, session layer, presentation layer, application layer. Gambar 2.1 Model Lapisan OSI 7 2.1.3.1 Physical Layer Berfungsi untuk mendefinisikan media transmisi jaringan, metode pensinyalan, sinkronisasi bit, arsitektur jaringan (seperti halnya Ethernet atau Token Ring), topologi jaringan dan pengkabelan. Level ini juga mendefinisikan bagaimana Network Interface Card (NIC) dapat berinteraksi dengan media kabel atau radio. Selain itu physical layer berfungsi dalam pengiriman raw bit ke channel komunikasi. Masalah desain yang harus diperhatikan disini adalah memastikan bahwa bila satu sisi mengirim data 1 bit, data tersebut harus diterima oleh sisi lainnya sebagai 1 bit pula, dan bukan 0 bit. 2.1.3.2 Data Link Layer Tugas utama data link layer adalah sebagai fasilitas transmisi raw data dan mentransformasi data tersebut ke saluran yang bebas dari kesalahan transmisi. Sebelum diteruskan ke network layer, data link layer melaksanakan tugas ini dengan memungkinkan pengirim memecah-mecah data input menjadi sejumlah data frame (biasanya berjumlah ratusan atau ribuan byte). Kemudian data link layer mentransmisikan frame tersebut secara berurutan, dan memproses acknowledgement frame yang dikirim kembali oleh penerima. Karena physical layer menerima dan mengirim aliran bit tanpa mengindahkan arti atau arsitektur frame, maka tergantung pada data link layer-lah untuk membuat dan mengenali batas-batas frame itu. Hal ini bisa dilakukan dengan cara membubuhkan bit khusus ke awal dan akhir frame. Bila secara insidental pola-pola bit ini bisa ditemui pada data, maka diperlukan perhatian khusus untuk menyakinkan bahwa pola tersebut tidak secara salah dianggap sebagai batas-batas frame. Terjadinya noise pada saluran dapat merusak frame. Dalam hal ini, perangkat lunak data link layer pada mesin sumber dapat mengirim kembali frame yang rusak tersebut. Akan tetapi transmisi frame sama secara berulang-ulang bisa menimbulkan duplikasi frame. Frame duplikat perlu dikirim apabila acknowledgement frame dari penerima yang dikembalikan ke pengirim telah hilang. Tergantung pada layer inilah untuk mengatasi masalah-masalah yang disebabkan rusaknya, hilangnya dan duplikasi frame. Data link layer 8 menyediakan beberapa kelas layanan bagi network layer. Kelas layanan ini dapat dibedakan dalam hal kualitas dan harganya. Masalah-masalah lainnya yang timbul pada data link layer (dan juga sebagian besar layer-layer di atasnya) adalah mengusahakan kelancaran proses pengiriman data dari pengirim yang cepat ke penerima yang lambat. Mekanisme pengaturan lalu-lintas data harus memungkinkan pengirim mengetahui jumlah ruang buffer yang dimiliki penerima pada suatu saat tertentu. Seringkali pengaturan aliran dan penanganan error ini dilakukan secara terintegrasi. Saluran yang dapat mengirim data pada kedua arahnya juga bisa menimbulkan masalah. Sehingga dengan demikian perlu dijadikan bahan pertimbangan bagi software data link layer. Masalah yang dapat timbul di sini adalah bahwa frame-frame acknoeledgement yang mengalir dari A ke B bersaing saling mendahului dengan aliran dari B ke A. Penyelesaian yang terbaik (piggy backing) telah bisa digunakan; nanti kita akan membahasnya secara mendalam. Jaringan broadcast memiliki masalah tambahan pada data link layer. Masalah tersebut adalah dalam hal mengontrol akses ke saluran yang dipakai bersama. Untuk mengatasinya dapat digunakan sublayer khusus data link layer, yang disebut medium access sublayer. 2.1.3.3 Network Layer Network layer berfungsi untuk pengendalian operasi subnet. Masalah desain yang penting adalah bagaimana caranya menentukan route pengiriman paket dari sumber ke tujuannya. Route dapat didasarkan pada tabel statik yang “dihubungkan ke” network. Route juga dapat ditentukan pada saat awal percakapan misalnya session terminal. Terakhir, route dapat juga sangat dinamik, dapat berbeda bagi setiap paketnya. Oleh karena itu, route pengiriman sebuah paket tergantung beban jaringan saat itu. Bila pada saat yang sama dalam sebuah subnet terdapat terlalu banyak paket, maka ada kemungkinan paket-paket tersebut tiba pada saat yang bersamaan Pengendalian kemacetan seperti itu juga merupakan tugas network layer. Karena operator subnet mengharap bayaran yang baik atas tugas pekerjaannya. seringkali terdapat beberapa fungsi accounting yang 9 dibuat pada network layer. Untuk membuat informasi tagihan, setidaknya software mesti menghitung jumlah paket atau karakter atau bit yang dikirimkan oleh setiap pelanggannya. Accounting menjadi lebih rumit, bilamana sebuah paket melintasi batas negara yang memiliki tarip yang berbeda. Perpindahan paket dari satu jaringan ke jaringan lainnya juga dapat menimbulkan masalah yang tidak sedikit. Cara pengalamatan yang digunakan oleh sebuah jaringan dapat berbeda dengan cara yang dipakai oleh jaringan lainnya. Suatu jaringan mungkin tidak dapat menerima paket sama sekali karena ukuran paket yang terlalu besar. Protokolnyapun bisa berbeda pula, demikian juga dengan yang lainnya. Network layer telah mendapat tugas untuk mengatasi semua masalah seperti ini, sehingga memungkinkan jaringan-jaringan yang berbeda untuk saling terinterkoneksi. 2.1.3.4 Transport Layer Fungsi dasar transport layer adalah menerima data dari session layer, memecah data menjadi bagian-bagian yang lebih kecil bila perlu, meneruskan data ke network layer, dan menjamin bahwa semua potongan data tersebut bisa tiba di sisi lainnya dengan benar. Selain itu, semua hal tersebut harus dilaksanakan secara efisien, dan bertujuan dapat melindungi layer-layer bagian atas dari perubahan teknologi hardware yang tidak dapat dihindari. Dalam keadaan normal, transport layer membuat koneksi jaringan yang berbeda bagi setiap koneksi transport yang diperlukan oleh session layer. Bila koneksi transport memerlukan throughput yang tinggi, maka transport layer dapat membuat koneksi jaringan yang banyak. Transport layer membagi-bagi pengiriman data ke sejumlah jaringan untuk meningkatkan throughput. Di lain pihak, bila pembuatan atau pemeliharaan koneksi jaringan cukup mahal, transport layer dapat menggabungkan beberapa koneksi transport ke koneksi jaringan yang sama. Hal tersebut dilakukan untuk membuat penggabungan ini tidak terlihat oleh session layer. Transport layer juga menentukan jenis layanan untuk session layer, dan pada gilirannya jenis layanan bagi para pengguna jaringan. Jenis transport layer yang paling populer adalah saluran error-free point to point yang meneruskan pesan atau byte sesuai dengan 10 urutan pengirimannya. Akan tetapi, terdapat pula jenis layanan transport lainnya. Layanan tersebut adalah transport pesan terisolasi yang tidak menjamin urutan pengiriman, dan membroadcast pesan-pesan ke sejumlah tujuan. Jenis layanan ditentukan pada saat koneksi dimulai. Transport layer merupakan layer end to end sebenarnya, dari sumber ke tujuan. Dengan kata lain, sebuah program pada mesin sumber membawa percakapan dengan program yang sama dengan pada mesin yang dituju. Pada layer-layer bawah, protokol terdapat di antara kedua mesin dan mesin-mesin lain yang berada didekatnya. Protokol tidak terdapat pada mesin sumber terluar atau mesin tujuan terluar, yang mungkin dipisahkan oleh sejumlah router. Perbedaan antara layer 1 sampai 3 yang terjalin, dan layer 4 sampai 7 yang end to end. 2.1.3.5 Session Layer Session layer mengijinkan para pengguna untuk menetapkan session dengan pengguna lainnya. Sebuah session selain memungkinkan transport data biasa, seperti yang dilakukan oleh transport layer, juga menyediakan layanan yang istimewa untuk aplikasi-aplikasi tertentu. Sebuah session digunakan untuk memungkinkan seseorang pengguna log ke remote timesharing system atau untuk memindahkan file dari satu mesin kemesin lainnya. Sebuah layanan session layer adalah untuk melaksanakan pengendalian dialog. Session dapat memungkinkan lalu lintas bergerak dalam bentuk dua arah pada suatu saat, atau hanya satu arah saja. Jika pada satu saat lalu lintas hanya satu arah saja (analog dengan rel kereta api tunggal), session layer membantu untuk menentukan giliran yang berhak menggunakan saluran pada suatu saat. Layanan session di atas disebut manajemen token. Untuk sebagian protokol, adalah penting untuk memastikan bahwa kedua pihak yang bersangkutan tidak melakukan operasi pada saat yang sama. Untuk mengatur aktivitas ini, session layer menyediakan token-token yang dapat digilirkan. Hanya pihak yang memegang token yang diijinkan melakukan operasi kritis. Layanan session lainnya adalah sinkronisasi. Ambil contoh yang dapat terjadi ketika mencoba transfer file yang berdurasi 2 jam dari mesin yang satu ke mesin 11 lainnya dengan kemungkinan mempunyai selang waktu 1 jam antara dua crash yang dapat terjadi. Setelah masing-masing transfer dibatalkan, seluruh transfer mungkin perlu diulangi lagi dari awal, dan mungkin saja mengalami kegagalan lain. Untuk mengurangi kemungkinan terjadinya masalah ini, session layer dapat menyisipkan tanda tertentu ke aliran data. Karena itu bila terjadi crash, hanya data yang berada sesudah tanda tersebut yang akan ditransfer ulang. 2.1.3.6 Presentation Layer Pressentation layer melakukan fungsi-fungsi tertentu yang diminta untuk menjamin penemuan sebuah penyelesaian umum bagi masalah tertentu. Pressentation Layer tidak mengijinkan pengguna untuk menyelesaikan sendiri suatu masalah. Tidak seperti layer-layer di bawahnya yang hanya melakukan pemindahan bit dari satu tempat ke tempat lainnya, presentation layer memperhatikan syntax dan semantik informasi yang dikirimkan. Satu contoh layanan pressentation adalah encoding data. Kebanyakan pengguna tidak memindahkan string bit biner yang random. Para pengguna saling bertukar data sperti nama orang, tanggal, jumlah uang, dan tagihan. Item-item tersebut dinyatakan dalam bentuk string karakter, bilangan interger, bilangan floating point, struktur data yang dibentuk dari beberapa item yang lebih sederhana. Terdapat perbedaan antara satu komputer dengan komputer lainnya dalam memberi kode untuk menyatakan string karakter (misalnya, ASCII dan Unicode), integer (misalnya komplemen satu dan komplemen dua), dan sebagainya. Untuk memungkinkan dua buah komputer yang memiliki presentation yang berbeda untuk dapat berkomunikasi, struktur data yang akan dipertukarkan dapat dinyatakan dengan cara abstrak, sesuai dengan encoding standard yang akan digunakan “pada saluran”. Presentation layer mengatur datastruktur abstrak ini dan mengkonversi dari representation yang digunakan pada sebuah komputer menjadi representation standard jaringan, dan sebaliknya. 12 2.1.3.7 Application Layer Application layer terdiri dari bermacam-macam protokol. Misalnya terdapat ratusan jenis terminal yang tidak kompatibel di seluruh dunia. Ambil keadaan dimana editor layar penuh yang diharapkan bekerja pada jaringan dengan bermacam-macam terminal, yang masing-masing memiliki layout layar yang berlainan, mempunyai cara urutan penekanan tombol yang berbeda untuk penyisipan dan penghapusan teks, memindahkan sensor dan sebagainya. Suatu cara untuk mengatasi masalah seperti di ata, adalah dengan menentukan terminal virtual jaringan abstrak, serhingga editor dan program-program lainnya dapat ditulis agar saling bersesuaian. Untuk menangani setiap jenis terminal, satu bagian software harus ditulis untuk memetakan fungsi terminal virtual jaringan ke terminal sebenarnya. Misalnya, saat editor menggerakkan cursor terminal virtual ke sudut layar kiri, software tersebut harus mengeluarkan urutan perintah yang sesuai untuk mencapai cursor tersebut. Seluruh software terminal virtual berada pada application layer. Fungsi application layer lainnya adalah pemindahan file. Sistem file yang satu dengan yang lainnya memiliki konvensi penamaan yang berbeda, cara menyatakan baris-baris teks yang berbeda, dan sebagainya. Perpindahan file dari sebuah sistem ke sistem lainnya yang berbeda memerlukan penanganan untuk mengatasi adanya ketidak-kompatibelan ini. Tugas tersebut juga merupakan pekerjaan appication layer, seperti pada surat elektronik, remote job entry, directory lookup, dan berbagai fasilitas bertujuan umum dan fasilitas bertujuan khusus lainnya. 2.2 TCP/IP TCP/IP merupakan protokol jaringan yang luas digunakan dalam jaringan LAN, WAN, maupun Internet. TCP/IP merupakan kependekan dari Transmission Control Protocol/Internet Protocol. TCP/IP terdiri dari empat lapisan (layer) yang berupa kumpulan protocol bertingkat sebagai berikut: 1. Network Interface Layer yang berfungsi dan bertanggung jawab atas pengiriman dan penerimaan data dari media fisik. 13 2. Internet Layer berfungsi dan bertanggung jawab atas proses pengiriman tepat pada alamat tujuan IP (Internet Protocol), ARP (Address Resolution Protocol), dan ICMP (Internet Control Message Protocol). 3. Transport Layer berfungsi dan bertanggung jawab atas pengadaan komunikasi antar host. 4. Aplication Layer sebagai tempat berbagai aplikasi yang menggunakan TCP/IP stack. Gambar 2.2 Layer TCP 2.2.1 Network Interface Layer Lapisan NETWORK pada OSI identik dengan Lapisan INTERNET pada DOD(TCP/IP). Fungsinya adalah meneruskan paket-paket dari satu node ke node lain, mengatur dalam pemberian alamat. untuk peralatan jaringan dan memilih jalur terbaik dalam menyalurkan paket data di jaringan. Pada lapisan ini segmen data diubah menjadi paket dengan menambahkan informasi mengenai alamat logika atau IP Address tujuan dan asal data. Router bekerja pada lapisan ini. Beberapa protocol yang bekerja pada lapisan internet DOD, antara lain: 1. IP (INTERNET PROTOCOL), adalah lapisan yang memberi alamat/identitas logika untuk peralatan di jaringan. Saat ini IP menggunakan format 32bit , dikenal dengan IP V4. 14 2. ARP (ADDRESS RESOLUTION PROTOCOL), Protokol yang menyelenggarakan translasi dari IP ke MAC. Fungsi dari ARP adalah membuat alamat logika serupa Ipaddress yang tak bergantung pada peralatan, pergantian suatu NIC hanya mengubah MAC address, tetapi tidak IP address, dan paket diteruskan berdasar alamat IP yang dituju. 3. RARP (REVERSE ADDRESS RESOLUTION PROTOCOL), adalah kebalikan dari ARP. Protokol ini memungkinkan untuk mendapatkan IP address jika MAC address diketahui. 4. BOOTP (BOOTSTRAP PROTOCOL), digunakan pada proses booting dari diskless workstation dengan memberi IP address ke peralatan jaringan. 5. DHCP (DYNAMIC HOST CONFIGURATION PROTOCOL), menyediakan mekanisme pemberian IP address bagi workstation yang mengaksesnya saat bootstrap ke server. 6. ICMP (INTERNET CONTROL MESSAGE PROTOCOL), protocol yang berguna untuk melaporkan jika terjadi masalah pengiriman data. Memberi sinyal NACK jika ada paket yang tidak sampai ke tujuan. Memberitahukan pengirim jika memori buffers router penuh. Memberitahukan pengirim bahwa paket telah melewati jumlah hop maksimum dan data akan dibuang (TTL=time to life). Redirect paket daro gateway ke host. 7. IGMP (INTERNET GROUP MANAGEMENT PROTOCOL) adalah salah satu protokol jaringan dalam kumpulan protokol Transmission Control Protocol/Internet Protocol (TCP/IP) yang bekerja pada lapisan jaringan yang digunakan untuk menginformasikan router-router IP tentang keberadaan group-group jaringan multicast. Sekali sebuah router mengetahui bahwa terdapat beberapa host dalam jaringan yang terhubung secara lokal yang tergabung ke dalam group multicast tertentu, router akan menyebarkan informasi ini dengan menggunakan protokol IGMP kepada router lainnya dalam sebuah internetwork sehingga pesan-pesan multicast dapat diteruskan kepada router yang sesuai. IGMP kemudian digunakan untuk memelihara keanggotaan group multicast di dalam subnet lokal untuk sebuah alamat IP multicast. 15 8. LLMNR (LINK-LOCAL MULTICAST NAME RESOLUTION) adalah protokol yang memungkinkan host IPv4 dan IPv6 untuk melakukan resolusi nama host pada link local yang sama. 9. SSDP (SIMPLE SERVICE DISCOVERY PROTOCOL) merupakan sebuah protokol Universal Plug and Play, yang digunakan di dalam sistem operasi dan beberapa merek perangkat jaringan. SSDP menggunakan notifikasi pengumuman yang ditawarkan oleh protokol Hypertext Transfer Protocol (HTTP) yang memberikan Universal Resource Identifier (URI) untuk tipe layanan dan juga Unique Service Name (USN). Tipe-tipe layanan diatur oleh Universal Plug and Play Steering Committee. 10. NBNS (NetBIOS NAME SERVICE) adalah sebuah nama yang berukuran 16byte yang digunakan oleh keluarga sistem operasi untuk sebuah fungsi atau layanan jaringan. Nama NetBIOS digunakan oleh aplikasi-aplikasi yang memakai jasa protokol dan API NetBIOS. Menggunakan nama NetBIOS jauh lebih mudah dan lebih bersahabat untuk menidentifikasi sebuah host komputer dalam sebuah jaringan daripada menggunakan angka-angka (dalam hal ini adalah alamat IP). Nama NetBIOS dapat digunakan dalam aplikasi Windows NT, mulai dari Windows Explorer, Network Neighborhood, dan juga perintah command-line net (net start, net stop, net send, dan lain-lain). 2.2.2 Internet Layer Sifat dalam melakukan pengiriman data yang dilakukan IP dikenal sebagai unreliable, connectionless, dan datagram delivery service. Dua hal yang menarik adalah unreliable (ketidakandalan dalam menyampaikan data) hal ini dikarenakan IP hanya akan melakukan hal yang terbaik dalam proses penyampaian data untuk sampai ke host tujuan (best effort delivery service). Hal ini dipilih agar paket yang dikirim tetap sampai walaupun salah satu jalur ke host tujuan tersebut mengalami masalah. 16 2.2.3 Transport Layer Bertanggung jawab untuk komunikasi antara aplikasi. Layer ini mengatur aluran informasi dan mungkin menyediakan pemeriksaan error. Data dibagi kedalam beberapa paket yang dikirim ke internet layer dengan sebuah header. Header mengandung alamat tujuan, alamat sumber dan checksum. Checksum diperiksa oleh mesin penerima untuk melihat apakah paket tersebut ada yang hilang pada rute. Pada lapisan ini terdapat dua protocol yaitu TCP (Transmission Control Protocol) dan UDP (User Datagram Protocol). 2.2.4 Aplication Layer Merupakan sebuah aplikasi yang mengirimkan data ke transport layer. layer ini akan mencarikan program untuk memproses file ini yaitu misalnya program Winzip di komputer client berbasis MS Windows. Demikian pula untuk layanan Transfer file digunakan FTP (client dan server), telnet untuk remote akses, membuka homepage dengan http atau https, maito untuk proses mengirim file. 2.3 IP versi 4 Alamat IPv4 merupakan jenis pengalamatan jaringan yang digunakan dalam protocol jaringan TCP/IP. Panjang total bit dari IPv4 adalah 32-bit, dan secara teoritis dapat memberikan alamat hingga 4 miliar host komputer, lebih tepatnya 4.294.967.296 host di seluruh dunia. Jumlah host tersebut didapat dari 2564 yang mana 256 didapat dari 8 bit sedangkan dipangkatkan 4 karena terdapat 4 oktet. Sehingga nilai maksimum dari IPv4 255.255.255.255, dimana nilai dihitung dari 0 sehingga nilai host yang dapat ditampung sebanyak 2564 = 4.294.967.296. 2.3.1 Kelas Alamat IP IPv4 dibagi menjadi beberapa kelas, yaitu kelas A, kelas B, kelas C, kelas D, dan kelas E. Yang menjadi perbedaan kelas ipv4 ini adalah pola biner yang terdapat dalam oktet pertama , terutama adalah bit-bit awal/high-order bit. Tetapi untuk lebih mudah mengingatnya digunakan representasi desimal. 17 2.3.1.1 Alamat Kelas A Dalam kelas A ini oktet (8 bit) pertama adalah netid. Di mana bit yang tertinggal pada netid kelas A ini adalah nol (0) semua. Secara teori, kelas A ini memiliki 27 jaringan atau 128 jaringan yang tersedia. Secara aktual hanya ada 126 jaringan yang tersedia karena ada 2 alamat yang disisakan untuk tujuan tertentu. Dalam kelas A, 24 bit digunakan sebagai hostid. Jadi secara teori pula setiap netid memiliki 224 host atau 16.777.216 host/router. Kelas A cocok untuk mendisain organisasi komputer yang jumlahnya sangat besar dalam jaringannya. Gambar 2.3 Struktur IP kelas A 2.3.1.2 Alamat Kelas B Dalam kelas B, 2 oktet digunakan sebagai netid dan 2 oktet sisanya untuk hostid. Secara teori pula, kelas B memiliki 214 netid atau 16.384 jaringan. Sedangkan banyaknya host setiap jaringan adalah 216 host atau 65.536 host/router. Dikarenakan ada 2 alamat yang akan digunakan untuk tujuan khusus, maka hostid yang tersedia efektif adalah sebanyak 65.534. Kelas B ini cocok untuk mendisain organisasi komputer dalam jumlah menengah. Gambar 2.4 Struktur IP kelas B 2.3.1.3 Alamat Kelas C Dalam kelas C, 3 oktet sudah dimiliki untuk netid dan hanya 1 oktet untuk hostid. Sehingga secara teori banyaknya jaringan yang bisa dibentuk oleh kelas C ini adalah 221atau terdapat 2.097.152 jaringan. Sedangkan banyaknya host/router di setiap jaringan adalah 28host/router atau setara dengan 256 host. Juga 18 dikarenakan penggunaan 2 hostid untuk tujuan khusus maka hostid yang tersedia efektif adalah sebanyak 254 host atau router. Gambar 2.5 Struktur IP kelas C 2.3.1.4 Alamat Kelas D Khusus kelas D ini digunakan untuk tujuan multicasting. Dalam kelas ini tidak lagi dibahas mengenai netid dan hostid. Jika 4 bit pertama adalah 1110, IP Address merupakan kelas D yang digunakan untuk multicast address, yakni sejumlah komputer yang memakai bersama suatu aplikasi (bedakan dengan pengertian network address yang mengacu kepada sejumlah komputer yang memakai bersama suatu network). Salah satu penggunaan multicast address yang sedang berkembang saat ini di Internet adalah untuk aplikasi real-time video conference yang melibatkan lebih dari dua host (multipoint), menggunakan Multicast Backbone (MBone). 2.3.1.5 Alamat Kelas E Kelas terakhir adalah kelas E (4 bit pertama adalah 1111 atau sisa dari seluruh kelas). Pemakaiannya dicadangkan untuk kegiatan eksperimental. Juga tidak ada dikenal netid dan hostid di sini. 2.3.2 Alamat Khusus Selain address yang dipergunakan untuk pengenal host, ada beberapa jenis address yang digunakan untuk keperluan khusus dan tidak boleh digunakan untuk pengenal host, diantaranya network Address, Broadcast Address dan Netmask. 19 2.3.2.1 Network Address Address ini digunakan untuk mengenali suatu network pada jaringan Internet. Misalkan untuk host dengan IP Address kelas B 167.205.9.35. Tanpa memakai subnet, network address dari host ini adalah 167.205.0.0. Address ini didapat dengan membuat seluruh bit host pada 2 segmen terakhir menjadi 0. Tujuannya adalah untuk menyederhanakan informasi routing pada Internet. Router cukup melihat network address (167.205) untuk menentukan kemana paket tersebut harus dikirimkan. Contoh untuk kelas C, network address untuk IP address 202.152.1.250 adalah 202.152.1.0. Analogi yang baik untuk menjelaskan fungsi network address ini adalah dalam pengolahan surat pada kantor pos. Petugas penyortir surat pada kantor pos cukup melihat kota tujuan pada alamat surat (tidak perlu membaca seluruh alamat) untuk menentukan jalur mana yang harus ditempuh surat tersebut. Pekerjaan “routing” surat-surat menjadi lebih cepat. Demikian juga halnya dengan router di Internet pada saat melakukan routing atas paket-paket data. 2.3.2.2 Broadcast Address Address ini digunakan untuk mengirim/menerima informasi yang harus diketahui oleh seluruh host yang ada pada suatu network. Seperti diketahui, setiap paket IP memiliki header alamat tujuan berupa IP Address dari host yang akan dituju oleh paket tersebut. Dengan adanya alamat ini, maka hanya host tujuan saja yang memproses paket tersebut, sedangkan host lain akan mengabaikannya. Jika suatu host ingin mengirim paket kepada seluruh host yang ada pada networknya. Tidak efisien jika harus membuat replikasi paket sebanyak jumlah host tujuan. Pemakaian bandwidth akan meningkat dan beban kerja host pengirim bertambah, padahal isi paket-paket tersebut sama. Oleh karena itu, dibuat konsep broadcast address. Host cukup mengirim ke alamat broadcast, maka seluruh host yang ada pada network akan menerima paket tersebut. Konsekuensinya, seluruh host pada network yang sama harus memiliki address broadcast yang sama dan address tersebut tidak boleh digunakan sebagai IP Address untuk host tertentu. Jadi, sebenarnya setiap host memiliki dua address untuk menerima paket : pertama 20 adalah IP Address yang bersifat unik dan kedua adalah broadcast address pada network tempat host tersebut berada. Address broadcast diperoleh dengan membuat seluruh bit host pada IP Address menjadi 1. Jadi, untuk host dengan IP address 167.205.9.35 atau 167.205.240.2, broadcast address adalah 167.205.255.255 (2 segmen terakhir dari IP Address tersebut dibuat berharga 11111111.11111111, sehingga secara desimal terbaca 255.255). Jenis informasi yang di broadcast biasanya adalah informasi routing. 2.3.2.3 Netmask Netmask adalah alamat yang digunakan untuk melakukan masking/filter pada proses pembentukan routing agar kita cukup memperhatikan beberapa bit saja dari total 32 bit IP Address. Artinya dengan menggunakan netmask tidak perlu kita memperhatikan seluruh (32 bit) IP address untuk menentukan routing, akan tetapi cukup beberapa buah saja dari IP address yg kita perlu perhatikan untuk menentukan kemana packet tersebut dikirim. 2.3.3 Waktu Habisnya IPv4 IP v4 panjang totalnya adalah 32-bit, dan secara teoritis dapat mengalamati hingga 4 miliar host komputer atau lebih tepatnya 4.294.967.296 host di seluruh dunia, jumlah host tersebut didapatkan dari 256 (didapatkan dari 8 bit) dipangkat 4 (karena terdapat 4 oktet) sehingga nilai maksimal dari alamt IP versi 4 tersebut adalah 255.255.255.255 dimana nilai dihitung dari nol sehingga nilai nilai host yang dapat ditampung adalah 256x256x256x256= 4.294.967.296 host, dan jumlah pengguna IP v 4 di dunia saat ini sudah mendekati angka tersebut. IANA (Internet Assigned Number Authority) adalah sebuah organisasi yang didanai oleh pemerintah Amerika Serikat untuk menangani masalah penetapan parameter protokol internet, seperti ruang alamat IP, dan Domain Name System (DNS). Pada tahun 2009, IANA memprediksi bahwa pada pertengahan tahun 2012 IP versi 4 akan habis. Namun pada 31 Januari 2011, ternyata IANA telah kehabisan Blok IP yang dialokasikan untuk RIR (Regional Internet 21 Registry). Menurut data terakhir RIR blok ip yang tersisa dapat dilihat pada tabel 2.1. Tabel 2.1 Status IP RIR saat ini RIR Blok Ip yang tersisa AFRINIC 2,12/8s APNIC 0,98/8s ARIN 4,42/8s LACNIC 2,99/8s RIPE 3,17/8s Untuk satu blok IPv4 /8s berjumlah sekitar 16500000 alamat IP. Dari data diatas daerah Asia Pasifik memiliki blok IP yang paling sedikit, banyak faktor yang menjadi penyebab habisnya alokasi IPv4 antara lain: 1. Seluruh perangkat komunikasi saat ini berbasis IP. 2. Saat ini para provider memberikan layanan Broadband, di mana pengguna akan selalu terhubung dengan sentral tidak seperti pada layanan dial-up. 3. Pengguna internet bertambah dengan pesat, terutama di negara berkembang. 4. Pada awalnya, banyak perusahaan yang mendapatkan blok IP /8 (Class A) atau /16 (Class B) sehingga pemakaian IPv4 kurang efisien. 5. Dengan ditemukannya teknologi virtualisasi, maka dalam satu perangkat seolah-olah terdapat beberapa mesin yang masing-masing mendapatkan IP address sendiri. 2.4 Dynamic Host Configuration Protocol (DHCP) DHCP adalah protokol yang berbasis arsitektur client/server yang digunakan untuk memudahkan pengalokasian alamat IP dalam suatu jaringan. Sebuah jaringan local yang tidak menggunakan DHCP harus memberikan alamat IP kepada seluruh komputer secara manual. Sedangkan jika menggunakan DHCP, seluruh komputer yang tersambung pada jaringan akan mendapatkan alamat IP secara otomatis dari server DHCP. 22 DHCP server umumnya memiliki sekumpulan alamat yang diizinkan untuk didistribusikan kepada client yang disebut DHCP Pool. Setiap client kemudian menyewa alamat IP dari DHCP Pool ini untuk waktu yang ditentukan oleh DHCP. Gambar 2.6 sistem kerja DHCP Berikut merupakan tipe-tipe pesan yang ditentukan oleh DHCP : 1. DHCPDISCOVER : merupakan tipe pertama dari DHCP, dimana sebuah client menyebarkan request secara broadcast untuk menemukan server DHCP lokalnya. 2. DHCPOFFER : server DHCP yang menerima satu client DHCPDISCOVER, dan yang dapat melayani permintaan informasi, mengirim DHCPOFFER kepada client dengan sekumpulan parameter. 3. DHCPREQUEST : client menerima satu atau lebih DHCPOFFER, dan memutuskan tawaran mana yang diterima. Kemudian client mengirim tawaran DHCPREQUEST untuk meminta alamat IP dari salah satu alamat yang tersedia dalam DHCP Pool pada DHCP server yang bersangkutan. 4. DHCPACK : server mengirim paket acknowledgment (ACK) pada client dengan sekumpulan parameter konfigurasi, mengkonfirmasi kepada client bahwa DHCPREQUEST diterima, dan memberikan sekumpulan informasi yang diperlukan. 23 5. DHCPNAK : jika client meminta alamat yang salah, atau alamat yang tidak dapat diterima, server akan mengirimkan DHCPNAK ke client untuk memberitahukan bahwa client tidak dapat memperoleh alamat tersebut. 6. DHCPDECLINE : jika client menerima alamat yang diminta, dan secara berurutan menemukan bahwa alamat itu telah digunakan di tempat lain dalam jaringan, maka client akan mengirimkan DHCPDECLINE ke server. 7. DHCPRELEASE : jika client tidak menggunakan alamat yang ditunjuk secara dinamis, client harus mengirimkan pesan DHCPRELEASE ke server agar server mengetahui bahwa alamat sudah tidak digunakan lagi. 8. DHCPINFORM : jika client telah memiliki alamat IP, tetapi masih memerlukan informasi konfigurasi, maka pesan DHCPINFORM akan melayani tugas ini. 2.5 Automatic Private Internet Protocol Addressing (APIPA) APIPA adalah salah satu fitur sistem operasi Micorsoft Windows yang secara otomatis mengassign alamat IP pada range 169.254.0.0 sampai 169.254.255.255 ketika server DHCP tidak tersedia di jaringan. APIPA digunakan untuk jaringan kecil yang tidak terkoneksi ke internet . Dengan menggunakan APIPA, komputer-komputer pada subnet tunggal bisa secara otomatis mengkonfigurasi diri dan bisa berkomunikasi dengan komputer yang lain pada subnet tanpa harus mengkonfigurasi TCP/IP secara manual. 2.6 IP versi 6 IPv6 merupakan Internet Protokol versi baru yang didesain sebagai pengganti dari Internet Protokol versi 4 yang didefinisikan dalam RFC 791. Perubahan IPv4 ke IPv6 didasari oleh keterbatasan jumlah IP yang dimiliki oleh IPv4. Dengan kapasitas alamat IP yang sangat besar pada IPv6, setiap perangkat yang terhubung ke Internet baik itu komputer desktop, laptop, atau telepon seluler GPRS/3G, bisa memiliki alamat IP yang tetap. Sehingga nantinya setiap perangkat elektronik yang ada dapat terhubung dengan Internet melalui alamat IP yang unik. 24 2.6.1 Format header IPv6 Pada IPv6 format header semakin disederhanakan. Hal ini dilakukan untuk mempermudah routing. Option pada IPv6 tidak digabung dengan header IPv6 dan header layer transport. Dengan adanya pemisahan header option, maka akan mempercepat pemrosesan paket oleh router, karena header option tidak ikut diproses oleh router bersangkutan. Penyederhanaan header pada IPv6 dilakukan dengan cara memindahkan beberapa field IPv4 ke header extension dan menghapus beberapa header lain. Gambar 2.4 format header Dari gambar 2.4 dapat dilihat header IPv6 lebih sederhana daripada header IPv4. Berikut penjelasan singkat dari Field –field pada header IPv6 diatas. - Version : field 4 bit yang menunjukkan versi Internet Protokol, yaitu versi 6. - Traffic class : 8 bit field traffic class. - Flow Label : field 20 bit yang digunakan oleh pengirim untuk member label pada paket – paket yang membutuhkan penanganan khusus dari router IPv6, seperti misalnya service – service yang bersifat real-time. - Playload Length : Field ini berisi 16 bit yang menunjukkan panjang playload. Yaitu panjang data yang mengikuti header IPv6, dalam oktet. - Next Header : Field 8 bit yang memiliki fungsi mengidentifikasi header berikut yang mengikuti header IPv6 utama. Menggunakan nilai yang sama seperti field protokol IPv4. 25 - Hop Limit : Field 8 bit unsigned integer. Menunjukkan jumlah link maksimum yang akan dilewatipaket sebelum dibuang. Paket akan dibuang apabila Hop Limit bernilai nol. - Source Address : field 128 bit, menunjukkan alamat pengirim paket. - Destination Address : field 128 bit, menunjukkan alamat penerima paket. 2.6.2 Format Alamat IPv6 Alamat IPv6 memiliki panjang 128-bit, panjang alamat tersebut akan dibagi kedalam 8 blok yang berukuran 16-bit, yang dapat dikonversikan ke dalam bilangan heksadesimal berukuran 4 digit. Setiap blok akan dipisahkan dengan tanda (:). Format notasi yang digunakan oleh IPv6 juga sering disebut dengan colon-hexadecimal format, berbeda dengan IPv4 yang menggunakan dotteddecimal format. Berikut contoh alamat IPv6 dalam bentuk bilangan biner: 0010000111011010000000001101001100000000000000000010111100111011 0000001010101010000000001111111111111110001010001001110001011010 Untuk menerjemahkan kedalam bentuk notasi colon-hexadecimal format, angka biner diatas dibagi menjadi kedalam 8 kelompok yang berurukarn 16-bit. 0010000111011010 0000000011010011 0000000000000000 0010111100111011 0000001010101010 0000000011111111 1111111000101000 1001110001011010 Kemudian setiap blok yang berukuran 16-bit dikonversikan kedalam bilangan heksadesimal dan setiap bilangan heksadesimal tersebut dipisahkan menggunakan tanda (:). Berikut merupakan hasil konversinya : 21DA:00D3:0000:2f3B:02AA:00FF:FE28:9C5A 2.6.2.1 Penyederhanaan alamat Alamat diatas dapat disederhanakan lagi dengan cara membuang angka 0 pada awal setiap blok yang berukuran 16-bit di atas. Dengan menyisakan satu 26 digit terakhir. Dengan membuang angka 0, maka alamat diatas akan menjadi seperti berikut : 21DA:D3:0:2f3B:2AA:FF:FE28:9C5A Konversi pengalamatan pada Ipv6 juga memperbolehkan penyederhanaan alamat lagi, yaitu dengan cara membuang semua angka 0. Jika dalam sebuah alamat Ipv6 yang direpresentasikan dalam notasi colon-hexadecimal format mengandung beberapa blok 16-bit dengan angka 0, maka alamat tersebut dapat disederhanakan dengan menggunakan (::). Contoh cara penggunaan (::) Alamat asli : 2607:f0d0:2001:000a:0000:0000:0000:0001 Alamat yang disederhanakan : 2607:f0d0:2001:a:0:0:0:1 Alamat setelah dikompresi : 2607:f0d0:2001:a::1 2.6.2.2 Format Prefix Pada Ipv4, sebuah alamat dalam notasi dotted-decimal format dapat dipresentasikan dengan menggunakan angka prefix yang merujuk pada subnet mask. Ipv6 memiliki angka prefiks tetapi tidak digunakan untuk merujuk kepada subnet mask, karena Ipv6 memang tidak mendukung adanya subnet mask. Prefix merupakan sebuah bagian dari alamat IP, yang mana bit-bit memiliki nilai-nilai yang tetap atau bit tersebut merupakan bagian dari sebuah rute. Panjang prefix menentukan jumlah bit terbesar paling kiri yang membuat prefix subnet. 2.6.3 Jenis-jenis alamat Ipv6 Address Ipv6 dapat dibagi menjadi beberapa jenis yaitu : 1. Unicast Address (one-to-one) 2. Multicast Address (one-to-many) 3. Anycast Address 2.6.3.1 Unicast Address Unicast Address digunakan untuk komunikasi satu lawan satu, dengan menunjuk satu host. Dalam alamat unicast terdiri dari: 27 1. Alamat unicast global Alamat unicast global mirip dengan alamat publik dalam alamat IPv4. Dikenal juga sebagai Aggregatable Global Unicast Address. Seperti halnya alamat publik pada IPv4 yang dapat secara global dirujuk oleh host-host di Internet dengan menggunakan proses routing, alamat ini juga mengimplementasikan hal yang serupa. Struktur alamat IPv6 unicast global menjadi topologi tiga level (public, site, dan node). Tabel 2.2 Struktur alamat IPv6 unicast global Field 001 Panjang Keterangan 3 bit Berfungsi sebagai tanda pengenal alamat, bahwa alamat ini adalah sebuah alamat IPv6 Unicast Global. Top Level Aggregation 13 bit Identifier (TLA ID) Berfungsi sebagai level tertinggi dalam hierarki routing. TLA ID diatur oleh Internet Assigned Name Authority (IANA), yang mengalokasikannya ke dalam daftar internet registry, yang kemudian mengalokasikan sebuah TLA ID ke sebuah ISP global. Res 8 bit Direservasikan untuk penggunaan pada masa yang akan datang (mungkin untuk memperluas TLA ID atau NLA ID) Next Level Aggregation 24 bit Identifier (NLA ID) Site Level Aggregation Berfungsi sebagai tanda pengenal milik situs (site) kustomer tertentu. 16 bit Identifier (SLA ID) Mengizinkan hingga 65536 (216) subnet dalam sebuah situs individu. SLA ID ditetapkan dalam sebuah site. ISP tidak dapat mengubah bagian alamat ini. Interface ID 64 bit Berfungsi sebagai alamat dari sebuah node dalam subnet yang ditentukan oleh SLA ID). spesifik (yang 28 2. Alamat unicast site-local Merupakan alamat yang setara dengan private address, yang dipakai terbatas di dalam site saja. Alamat ini dapat diberikan dengan bebas asalakan unik di dalam site tersebut, namun tidak bisa mengirimkan packet dengan tujuan alamat ini di luar dari site tersebut. Tabel 2.3 Struktur alamat unicast site-local Field Panjang Keterangan 11111110110000000000000 48 bit Nilai ketetapan alamat unicast sitelocal. 00000000000000000000000 00 Subnet Identifier 16 bit Mengizinkan hingga 65536 (216) subnet dalam sebuah struktur subnet datar. Administrator juga dapat membagi bitbit yang memiliki nilai tinggi (highorder bit) untuk membuat sebuah infrastruktur routing hierarkis. Interface Identifier 64 bit Berfungsi sebagai alamat dari sebuah node dalam subnet yang spesifik. 3. Alamat unicast link-local Alamat unicast link-local adalah alamat yang digunakan oleh host-host dalam subnet yang sama. Alamat ini mirip dengan konfigurasi APIPA (Automatic Private Internet Protocol Addressing) dalam sistem operasi windows dan unix. Host-host yang berada dalam subnet yang sama akan menggunakan alamatalamat ini secara otomatis agar dapat melakukan komunikasi. Alamat ini juga memiliki fungsi resolusi alamat yang disebut dengan Neighbor Discovery. Prefix alamat yang digunakan oleh jenis alamat ini adalah FE80::/64. 29 Tabel 2.4 Struktur alamat unicast link-local Field Panjang 1111111010000000000000000000 64 bit Keterangan Berfungsi sebagai tanda 0000000000000000000000000000 pengenal alamat unicast link- 00000000 local. Interface ID 64 bit Berfungsi sebagai alamat dari sebuah node dalam subnet yang spesifik. 4. Alamat unicast Loopback Unicast Loopbak adalah sebuah alamat yang digunakan untuk mekanisme interprocess communication (IPC) dalam sebuah host. Dalam IPv4, alamat yang ditetapkan adalah 127.0.0.1, sedangkan dalam IPv6 adalah 0:0:0:0:0:0:0:1, atau ::1. 5. Alamat unicast 6 to 4 Unicast 6 to 4 adalah alamat yang digunakan oleh dua host IPv4 dan IPv6 dalam sebuah Internet IPv4 agar dapat saling berkomunikasi. Alamat ini sering digunakan sebagai pengganti alamat publik dari IPv4, alamat ini aslinya menggunakan prefix alamat 2002::/16, dengan tambahan 32 bit dari alamat publik IPv4 untuk membuat sebuah prefix dengan panjang 48-bit, dengan format 2002:WWXX:YYZZ::/48. Dimana WWXX dan YYZZ merupakan representasi dalam notasi colon-decimal format dari notasi dotted-decimal format w.x.y.z dari alamat publik IPv4. Sebagai contoh alamat IPv4 157.60.91.123 diterjemahkan menjadi alamat IPv6 2002:9D3C:5B7B::/48 6. Alamat unicast ISATAP Alamat unicast ISATAP merupakan sebuah alamat yang digunakan oleh dua host IPv4 dan IPv6 dalam sebuah Intranet IPv4 agar dapat saling berkomunikasi. Alamat ini menggabungkan prefix alamat unicast link-local, alamat site-local atau alamat unicast global (yang berupa prefix alamat 6to4) yang memiliki ukuran 64-bit dengan 32-bit ISATAP Identifier (0000:5EFE), lalu diikuti dengan 32-bit alamat IPv4 yang dimiliki oleh interface atau sebuah 30 host. Prefix yang digunakan dalam alamat ini dinamakan dengan subnet prefix. Meskipun alamat 6 to 4 hanya dapat menangani alamat IPv4 publik saja, alamat ISATAP dapat menangani alamat pribadi IPv4 dan alamat publik IPv4. 2.6.3.2 Multicast Address Multicast Address adalah alamat yang digunakan untuk berkomunikasi antara satu dengan yang lainnya dengan menunjuk host dari grup. Pada IPv4 multicast address didefinisikan sebagai IP kelas D. Sedangkan pada IPv6 ruang 8 bit pertama dimulai dengan “FF” dan disediakan untuk multicast address. Ruang tersebut kemudian dibagi kembali untuk menentukan range berikutnya. Tabel 2.5 Struktur alamat multicast address Field Panjang Keterangan 11111111 8 bit Tanda pengenal bahwa alamat ini adalah alamat multicast Flags 4 bit Berfungsi sebagai tanda pengenal apakah alamat ini merupakan alamat transient atau bukan. Jika memiliki nilai 0, maka alamat ini bukan alamat transient, dan alamat ini merujuk kepada alamat multicast yang ditetapkan secara permanen. Jika bernilai 1, maka alamat ini adalah alamat transient. Scope 4 bit Berfungsi sebagai indikasi cakupan lalu lintas multicasat, seperti halnya interface-local, link-local, site-local, organization local atau global. Group ID 112 bit Berfungsi sebagai tanda pengenal group multicast. Alamt prefix-prefix yang harus didefinisikan sebelumnya pada implementasi IPv6 adalah: a. Unspecified Address b. Alamat loopback c. Prefix Multicast (FF) 31 d. Prefix local-use (link-local dan site-local) e. Pre-defined multicast Addresses f. IPv4-Compatible prefix Implementasi harus mengasumsikan semua alamat sebagai unicast kecuali ada konfigurasi yang sudah dispesifikasikan. 2.6.3.3 Anycast Address Alamat anycast merupakan alamat yang diberikan kepada lebih dari satu interface (biasanya milik node yang berbeda), paket yang dikirim ke alamat anycast dirutekan ke interface terdekat yang mempunyai alamat tersebut, mengacu kepada pengukuran dari jarak protokol routing. Anycast dialokasikan dari spasi alamat unicast, menggunakan berbagai macam definisi format alamat berbeda dengan unicast. Ketika alamat unicast berubah ke alamat anycast, node yang diberikan alamat tersebut harus secara eksplisit tahu bahwa alamat tersebut merupakan alamat anycast. Ada beberapa larangan yang diberikan pada alamat anycast yaitu, alamat anycast tidak boleh dipergunakan sebagai alamat asal dari paket IPv6, dan alamat anycast tidak diberikan kepada host IPv6 dengan demikian mungkin diberikan kepada router IPv6 saja. 2.7 Neighbor Discovery (ND) IPv6 Neighbor discovery digunakan node (host dan router) untuk mencari alamat-alamat layer link (misalkan MAC address pada ethernet) untuk mengetahui node-node client yang berada pada link yang sama, dan akan menghapus alamat-alamat tersebut pada cache jika alamat tersebut sudah tidak digunakan lagi. Neighbor discovery juga digunakan host-host untuk mencari router yang menjadi tetangganya yang bersedia melewatkan paket-paketnya untuk kepentingan host itu sendiri. Selain itu node juga menggunakan neighbor discovery untuk mendeteksi perubahan pada alamat layer link. Ketika router atau jalur ke router gagal/rusak, host akan secara aktif mencari alternatif lain yang aktif. Alamat multicast untuk semua node adalah FF02::1, yang merupakan jangkauan alamat link-link untuk dapat mencapai semua 32 node. Sedangkan alamat multicast untuk semua router adalah FF02::2, yang merupakan jangkauan alamat link-local untuk mencapai semua router. 2.7.1 Overview Protocol Protokol ini dapat memecahkan sejumlah masalah sebelumnya yang berhubungan dengan interaksi antara node-node yang terhubung dalam link yang sama. Protokol ini dapat mendefinisikan mekanisme untuk memecahkan beberapa masalah berikut: 1. Router Discovery, Bagaimana host-host mencari router yang berkoneksi pada link. 2. Prefix Discovery, Bagaimana host-host menemukan alamat prefix yang merupakan alamat atau pengidentifikasi link tempat host-host tersebut saling terinterkoneksi (node-node menggunakan prefix untuk membedakan apakah node yang akan tersbut beradapada link yang sama dengan node asal atau node yang akan dituju tersebut yang hanya dapat dijangkau melalui router). 3. Parameter Discovery, Bagaimana node mempelajari parameter-parameter pada link seperti link MTU atau parameter-parameter internet seperti jumlah batasan hop yang akan ditempatkan pada peket yang akan dikirim. 4. Address Resolution, Bagaimana node-node mencari alamat link layer dari node yang akan dituju yang masih berada pada link yang sama (misalnya node tetangga) hanya dengan diberikan alamat IP node tujugannya saja. 5. Next-Hop determination, Algoritma untuk memerakan alamat IPv6 dari node tujuan ke dalam alamat IPv6 node tetangga. Trafik untuk node tujuan tersebut akan dikirimkan ke node tetangga tersbut. Next-Hop ini dapat berupa router atau host tujuan itu sendiri (bergantung pada ke mana trafik itu akan dikirim, jika ke tujuan yang masih dalam satu link yang sama maka next hop adalah node tujuan itu sendiri, jika tujuannya sudah berbeda link/prefix maka next hop tersbut adalah router). 6. Neighbor Unreachability Detection, Bagaimana node mempelajari bahwa salah saru tetangga sudah tidak aktif lagi. Untuk node tetangga yang 33 digunakan sebagai router, node tersebut dapat mencoba rute default alternatif. Untuk kedua router dan host, Address resolution dapat dilakukan kembali. 7. Duplicate Address Detection, Bagaimana node mempelajari bahwa alamat yang ingin digunakan sedang tidak digunakan oleh node lain. 8. Redirect, Bagaimana router memberitahu host tentang node pertama mana yang baik sebagai next hop untuk mencapai tujuan tertentu. Selain itu Neighbor discovery juga mendefinisikan lima tipe paket pesan yang melayani beberapa tujuan berikut: 1. Router Solocitation: dimana ketika sebuah interface pada host diaktifkan, host-host boleh mengirimkan pesan keluar router solicitation yang meminta router untuk mengirimkan router advertisement sesegera mungkin ke host tersebut. 2. Router Advertisement : disini router mengumumkan keberadaan mereka dengan berbagai macam link dan parameter internet secara periodik atau dalam merespon pesan router solicitation. Router advertisement ini dikirim kepada host-host yang berada di sekitar router. Router advertisement berisikan prefix yang digunakan untuk pengenalan atau pencarian link dan untuk melakukan konfigurasi alamat, nilai perkiraan batasan hop dan sebagainya. 3. Neighbor Solicitation dikirimkan oleh node untuk mencari alamat layer link node client lainnya, atau untuk melakukan pemeriksaan apakah client tersbut masih dapat dijangkau dengan alamat layer link yang berada dalam memori cache-nya atau tidak. Neighbor Solicitation juga digunakan untuk mendeteksi alamat yang ganda. 4. Neighbor Advertisement merupakan sebuah respon kepada pesan neighbor solicitation. Node boleh juga mengirimkan neighbor advertisemnt tanpa didahului oleh neighbor solicitation yang digunakan untuk mengumumkan perubahan alamat layer link pada tetangga tersbut. 5. Redirect Digunakan oleh router untuk menginformasikan host tentang hop pertama yang paling baik untuk sebuah tujuan tertentu. Dengan kemampuan multicast yang ada pada link, setiap router secara periodik akan mengirimkan secara multicast paket router advertisement yang 34 mengumumkan keberadaanya. Host akan menerima router advertisement dari semua router, kemudian akan membuat daftar router default. Router advertisement dikirimkan oleh router sesering mungkin sehingga host dapat mempelajari keberadaan mereka dalam beberapa menit, namun juga tidak sering untuk mendeteksi adanya kesalahan pada router. Router advertisement berisi daftar dari prefix yang digunakan untuk penentuan alamat link yang digunakan untuk konfigurasi alamat pada host secara mandiri. Host menggunakan prefix yang diumumkan oleh router untuk membuat dan memelihara daftar yang akan digunakan untuk memutuskan apakah paket tujuan ini masih dalam link yang sama atau harus dijangkau dengan router. Router Advertisement mengizinkan router untuk menginformasikan host di bawahnya bagaimana melaukan konfigurasi alamat otomatis. Sebagai contoh router dapat menspesifikasikan apakah host-host tersebut sebaiknya menggunakan konfigurasi alamat secara stateful (DHCPv6) atau stateless. Pesan router advertisement juga berisi parameter internet seperti batas hop yang host sebaiknya digunakan dalam paket yang akan ditransmisikan dan secara opsional dapat berisi parameter seperti link MTU. Fasilitas ini memusatkan administrasi dari parameter penting yang dapat dikonfigurasi pada router dan secara otomatis dipropagasikan ke semua host yang terkoneksi di bawah router. Node melakukan pencarian alamat dengan mengirimkan balik alamat layer link nya. Pesan neighbor solicitation adalah pesan yang di-multicast-kan (dikirim ke group node tertentu) ke alamat multicast tertentu tempat node yang merupakan target tersebut menjadi salah satu clientnya. Node yang merupakan target mengirimkan alamat layer link nya ke node yang meminta dalam bentuk pesan neighbor advertisement yang unicast. Pesan neighbor solicitation dapat juga digunakan untuk mempelajari jika lebih dari satu node dialokasikan alamat unicast yang sama. Sedangkan Neighbor Unreachability Detection mendeteksi adanya masalah pada node tetangga atau masalah pada jalur yang dilalui paket ke tetangga. Neighbor Unreachability Detection memerlukan konfirmasi positif yang menyatakan bahwa paket yang dikirimkan ke tetangga telah benar-benar sampai dan telah diproses dengan baik oleh layer IP. Neighbor Unreachability Detection 35 menggunakan konfirmasi dari dua sumber. Yang pertama, memungkinkan protokol pada layer yang lebih tinggi menyediakan konfirmasi positif yang menyatakan bahwa data yang dikirimkan sebelumnya telah sampai dengan benar. Dan ketika konfirmasi positif tidak menunjukkan tanda kehadiran, maka node akan mengirimkan pesan unicast neighbor solicitation untuk meminta neighbor advertisement sebagai konfirmasi keterjangkauan node yang dituju pada node yang menjadi hop berikutnya. Neighbor Discovery juga menangani perubahan alamat link-layer node yang mengetahui alamat link-layernya berubah, dapat memulticastkan pesan dengan mengirimkan beberapa paket neighbor advertisement ke semua node untuk secara cepat mengupdate alamat link-layer dalam memori cache yang sudah tidak berlaku lagi. Selain itu neighbor discovery juga memiliki inbound load balancing, dimana node yang memiliki interface lebih dari satu ingin melakukan load balancing penerimaan paket yang dapat melalui interface jaringan yang lebih dari satu pada link yang sama. Seperti node yang mempunyai alamat link-layer lebih dari satu yang diberikan pada interface yang sama. Load balancing ditangani oleh router dengan menghilangkan alamat link-layer yang berasal dari paket router advertisement, dengan demikian memaksa tetangga untuk menggunkan pesan Neighbor Solicitation untuk mempelajari alamat layer link router. Pesan neighbor advertisement yang kembali dapat berisi alamat layer link yang berbeda. Alamat anycast mengidentifikasi satu dari sekumpulan node yang menyediakan layanan yang sama, dan node pada link yang sama dapat dikonfigurasi untuk mengenal alamat anycast dengan menerima neighbor advertisement lebih dari satu untuk target yang sama. Semua advertisement yang diterima untuk alamat anycast ditandai sebagai advertisement yang tidak dapat ditimpa. 2.8 Transmisi Paket IPv6 melalui Ethernet 2.8.1 MTU (Maximum Transmission Unit) MTU secara default untuk paket IPv6 pada ethernet adalah 1500 oktet. Ukuran ini mungkin dikurangi oleh router advertisement yang berisi pilihan MTU yang menspesifikasikan MTU yang lebih kecil, atau oleh konfigurasi manual 36 setiap node nya. Jika router advertisement diterima pada interface yang mempunyai pilihan MTU yang menspesifikasikan MTU lebih besar dari 1500, atau lebih besar dari nilai yang dikonfigurasi secara manual, pilihan MTU tersebut akan dicatat pada manajemen sistem dan harus diabaikan. 2.9 Statefull Autoconfiguration Pengelolaan secara ketat dalam hal range IP address yang diberikan pada host dengan menyediakan server untuk pengelolaan keadaan IP address, dimana cara ini hampir mirip dengan cara DHCP pada IPv4. Pada saat melakukan setting secara otomatis, informasi yang dibutuhkan antara router, server dan host adalah ICMP (Internet Control Message Protocol) yang telah diperluas. Pada ICMP dalam IPv6 ini, termasuk pula IGMP (Internet Group management Protocol) yang dipakai pada multicast pada IPv4. Ada enam tipe pesan yang ditentukan untuk DHCP IPv6 yang format paketnya berbeda dengan DHCP IPv4. Keistimewaan dari format terbaru adalah tidak mungkin berubah, karena byte tipe pesan dating pertama-tama dalam paket ini tidak dibuang dalam field option dengan kompatibilitas BOOTP. Keenam tipe pesan tersebut adalah : 1. DHCP Solicit Merupakan fitur baru pada DHCPv6. Klien yang berusaha mengkonfigurasi interface mengirimkan pesan tersebut ke alamat multicast ALL-DHCP-Agents dengan harapan mendapat jawaban dengan alamat server DHCP. Jika tidak terdapat server DHCP pada link local, tetapi ada agen relai, maka agen relai akan meneruskan pesan ke alamat multicast ALL-DHCP-Servers, dan meneruskan jawaban server pada client. 2. DHCP Advertise Server DHCP akan bersedia melayani setiap client yang mengirim kembali pesan DHCP advertise untuk member informasi kepada client. Pesan advertise dapat berisi alamat IP unicast dari server, dalam kasus client akan menggunakan alamat tersebut untuk berkomunikasi yang akan datang. Pesan juga berisi field preferensi server, yang berisi angka yang mengindikasikan ‘kesediaan’ untuk 37 melayani client. Jika client mendapat banyak iklan, maka client akan membuat server untuk menggunakan berdasarkan field tersebut. 3. DHCP Request Client dapat meminta parameter-parameter konfigurasi dengan pesan DHCP request. Client harus sudah mengetahui alamat server yang diperoleh dengan pesan solicit/advertise. Informasi yang diharapkan oleh client untuk diterima, diajukan dengan ekstensi yang ditetapkan dalam dokumen lain. Ini memungkinkan adanya mekanisme yang seragam untuk perluasan protokol, dan ekstensi tidak dibatasi oleh ukuran field-field yang ada sebagaimana pada skema opsi IPv4. 4. DHCP Reply Server merespon pesan DHCP request dari client dengan DHCP reply, yang mengindikasikan status berhasil dan tidaknya permintaan, (dengan demikian, DHCPACK dan DHCPNAK dimasukkan dalam satu tipe pesan, dengan kumpulan jawaban). Server akan memproses pesan DHCP request dan mengembalikan DHCP reply yang tepat dengan ekstensi berisi parameterparameter yang diminta, atau indikasi kode status yang menunjukkan mengapa permintaan itu tidak dapat dijawab. 5. DHCP Release Client dapat melepaskan semua atau sebagian sumber yang ditempatkan pada client (alamat IP dan sebagainya) dengan mengirim pesan DHCP release ke server yang tepat. Ekstensi dapat digunakan untuk mengindikasikan sumber mana yang sedang dilepaskan. 6. DHCP Reconfigure Fitur baru lainnya dalam DHCPv6 adalah pesan DHCP reconfigure. Pesan ini dapat dikirim kepada client untuk memaksa client memulai siklus DHCP request/DHCP reply yang baru. Pesan ini membuat manajer jaringan mempunyai cara untuk menentukan mengapa mesin harus dikonfigurasi ulang, daripada harus bekerja pada DHCPv4 yang tidak memiliki fitur ini. Pekerjaan-pekerjaan seperti membooting kembali secara manual akan mempengaruhi computer atau setting lease time default. Client harus mendengarkan terus-menerus pada DHCPv6 port 38 (546) untuk pesan reconfigure, dan harus mengirim DHCP request kepada server yang mengirim reconfigure. Pesan DHCP reconfigure akan berisi ekstensi yang mengindikasikan parameter-paramter yang harus dikonfigurasi ulang. Jika server meminta client untuk masuk ke dalam kelompok reconfigure multicast, maka server kemudian dapat mengkonfigurasi kembali semua client sekaligus dengan mengirim pesan DHCP reconfigure kepada kelompok. Client yang menerima pesan DHCP reconfigure harus mengacak waktu responnya untuk menghindari melonjaknya load pada server pada satu waktu bersamaan. 2.10 Perbedaan IPv4 dan IPv6 Sebagai protokol pengalamatan internet generasi baru, IPv6 tentu hadir dengan berbagai kelebihan ketimbang sang pendahulunya, IPv4. Berikut adalah perbedaan antara IPv4 dan IPv6 39 Tabel 2.6 Perbedaan IPv4 dan IPv6 IPv4 Jumlah alamat menggunakan 32 bit sehingga jumlah alamat yang didukung terbatas 4.294.967.296 alamat IP saja. NAT mampu untuk sekadar memperlambat habisnya jumlah alamat IPv4. Performa routing menurun seiring dengan membesarnya ukuran tabel routing. Penyebabnya pemeriksaan header MTU di setiap router dan switch Dukungan terhadap mobilitas yang terbatas oleh kemampuan roaming saat beralih dari satu jaringan ke jaringan lain. IPv6 Menggunakan 128 bit untuk mendukung 3.4 x 1038 alamat IP yang unik. Jumlah yang masif ini lebih dari cukup untuk menyelesaikan masalah keterbatasan jumlah alamat pada IPv4 secara permanen. Dengan proses routing yang jauh lebih efisien dari pendahulunya, IPv6 memiliki kemampuan untuk mengelola tabel routing yang besar Memenuhi kebutuhan mobilitas tinggi melalui roaming dari satu jaringan ke jaringan lain dengan tetap terjaganya kelangsungan sambungan. Fitur ini mendukung perkembangan aplikasiaplikasi. Meski umum digunakan dalam IPsec dikembangkan sejalan dengan IPv6. mengamankan jaringan IPv4, header Header IPsec menjadi fitur wajib dalam IPsec merupakan fitur tambahan pilihan standar implementasi IPv6. pada standar IPv4. header dasar 20 oktet ditambah ukuran Ukuran header tetap 40 oktet. Sejumlah header options yang dapat bervariasi. header pada IPv4 seperti Identification, Flags, Fragment offset, Header Checksum dan Padding telah dimodifikasi. Terdapat header checksum yang Proses checksum tidak dilakukan di diperiksa oleh setiap switch (perangkat tingkat header, melainkan secara end-tolapis ke 3), sehingga menambah delay. end. Header IPsec telah menjamin keamanan yang memadai. Fragmentasi dilakukan di setiap hop Fragmentasi hanya dilakukan oleh host yang melambatkan performa router. yang mengirimkan paket data. Di samping Proses menjadi lebih lama lagi apabila itu, terdapat fitur MTU discovery yang ukuran paket data melampaui menentukan fragmentasi yang lebih tepat Maximum Transmission Unit (MTU) menyesuaikan dengan nilai MTU terkecil paket dipecah-pecah sebelum disatukan yang terdapat dalam sebuah jaringan dari kembali di tempat tujuan. ujung ke ujung.