Kekurangan Alamat IPv4
Menurut Vint Cerf (bapak IP), ukuran alamat IPv4 32-bit dipilih secara sewenang-wenang. IP adalah eksperimen kolaborasi pemerintah / akademis, dan Internet publik saat ini tidak pernah dibayangkan. Paradigma IP adalah bahwa setiap perangkat yang terhubung akan memiliki alamat IP yang unik (semua paket yang dikirim antara perangkat IP akan terhubung ujung-ke-ujung dari alamat IP sumber ke alamat IP tujuan), dan banyak protokol menggunakan IP tergantung pada masing-masing perangkat memiliki alamat IP yang unik.
Dengan asumsi kami dapat menggunakan setiap alamat IPv4 yang mungkin *, hanya ada 4.294.967.296 kemungkinan alamat IPv4, tetapi (pada September 2018) populasi dunia saat ini adalah 7.648.290.361. Seperti yang Anda lihat, tidak ada cukup alamat IPv4 yang memungkinkan bagi setiap orang untuk memiliki satu, tetapi banyak orang memiliki komputer, printer, ponsel, tablet, konsol game, TV pintar, dll., Masing-masing membutuhkan alamat IP, dan yang bahkan tidak menyentuh kebutuhan bisnis untuk alamat IP. Kami juga berada di puncak IoT (Internet of Things), di mana setiap perangkat memerlukan alamat IP: bola lampu, termostat, termometer, alat pengukur hujan dan sistem sprinkler, sensor alarm, peralatan, kendaraan, pembuka pintu garasi, sistem hiburan, kerah hewan peliharaan, dan siapa yang tahu apa lagi.
* Ada blok alamat IPv4 yang tidak dapat digunakan untuk pengalamatan host. Misalnya, multicast memiliki blok 268.435.456 alamat yang tidak dapat digunakan untuk pengalamatan host. IANA mengelola Registry Alamat Tujuan Khusus IANA IPv4 di https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml untuk mendokumentasikan semua blok alamat khusus dan tujuannya. .
IANA (Internet Assigned Numbers Authority) kehabisan blok alamat IPv4 untuk ditugaskan ke RIR (Regional Internet Registries) untuk ditugaskan di wilayah masing-masing, dan RIR kini juga kehabisan alamat IPv4 untuk ditugaskan di setiap wilayah. ISP (Penyedia Layanan Internet) dan perusahaan yang menginginkan atau membutuhkan alamat IPv4 tidak dapat lagi mendapatkan alamat IPv4 dari RIR mereka dan sekarang harus mencoba untuk membeli alamat IPv4 dari bisnis yang mungkin memiliki tambahan (karena kekurangan alamat IPv4 semakin dalam, harga alamat IPv4 naik).
Bahkan jika semua alamat IPv4 yang dicadangkan untuk tujuan khusus dan tidak dapat digunakan untuk pengalamatan host tersedia untuk digunakan, kita masih akan berada di posisi yang sama karena tidak ada cukup alamat IPv4 karena ukuran alamat IPv4 yang terbatas.
Mengurangi Kekurangan Alamat IPv4
IANA dan RIR akan kehabisan alamat IPv4 bertahun-tahun sebelum mereka melakukannya jika IANA dan IETF (Internet Engineering Task Force) tidak mengadopsi mitigasi untuk kekurangan alamat IPv4. Salah satu mitigasi penting adalah penghentian kelas jaringan IPv4 yang mendukung CIDR (Classless Inter-Domain Routing). Pengalamatan classful hanya memungkinkan untuk tiga ukuran jaringan yang ditetapkan (16.777.216, 65.536, atau 256 total alamat host per jaringan), yang berarti bahwa banyak alamat terbuang (bisnis yang hanya membutuhkan 300 alamat host perlu dialokasikan jaringan classful yang memiliki 65.536 kemungkinan host alamat, membuang lebih dari 99% alamat dalam classful jaringan),
Sejauh ini, mitigasi yang memiliki dampak terbesar pada memperpanjang umur IPv4 adalah penggunaan Private Addressing dan varian NAT (Network Address Translation) yang disebut NAPT (Network Address Port Translation), yang merupakan makna kebanyakan orang ketika mereka lihat NAT atau PAT (PAT adalah istilah khusus vendor untuk NAPT). Sayangnya, NAPT adalah solusi buruk yang mematahkan paradigma IP end-to-end, dan yang memecah protokol yang bergantung pada pengalamatan IP yang unik, yang membutuhkan solusi yang bahkan lebih buruk.
NAT / NAPT
Konsep NAT cukup sederhana: ia menggantikan salah satu atau kedua alamat IPv4 sumber dan tujuan di header paket ketika paket melewati perangkat NAT. Dalam praktiknya, ini memerlukan perhitungan karena header IPv4 memiliki bidang yang dihitung untuk memeriksa integritas header IPv4, dan setiap perubahan yang dilakukan pada header IPv4 memerlukan perhitungan ulang lapangan, dan beberapa protokol transportasi dalam muatan paket juga memiliki perhitungannya sendiri bidang yang harus dihitung ulang, menggunakan sumber daya komputasi di perangkat NAT yang dapat digunakan untuk penerusan paket.
Dalam Basic NAT, perangkat NAT memiliki kumpulan alamat IPv4 yang digunakannya untuk mengganti sumber alamat IPv4 dari header paket untuk paket IPv4 yang dikirim dari jaringan di dalam ke jaringan luar, dan itu memelihara tabel terjemahan untuk menerjemahkan alamat IPv4 tujuan lalu lintas yang kembali dari jaringan luar untuk mengirimkan paket kembali ke host yang benar di jaringan dalam. Ini juga membutuhkan sumber daya pada perangkat NAT untuk membangun dan memelihara tabel terjemahan, dan untuk melakukan pencarian tabel. Pemanfaatan sumber daya ini dapat memperlambat penerusan paket karena sumber daya yang digunakan oleh NAT diambil dari sumber daya yang dapat digunakan untuk penerusan paket.
NAPT mengambil NAT Dasar lebih lanjut dengan juga menerjemahkan alamat protokol transportasi (port) untuk TCP dan UDP, dan ID Permintaan untuk ICMP. Dengan juga menerjemahkan alamat transport-layer, NAPT memungkinkan penggunaan satu alamat IPv4 luar untuk banyak alamat IPv4 host di dalam. NAPT bahkan lebih intensif sumber daya daripada NAT Dasar karena memerlukan tabel terpisah untuk setiap protokol transport-layer, dan itu juga harus melakukan perhitungan integritas untuk protokol transport.
Penggunaan pengalamatan Private IPv4, yang dapat digunakan kembali pada beberapa jaringan (Anda mungkin telah memperhatikan bahwa sebagian besar jaringan rumah / perumahan secara default menggunakan jaringan 192.168.1.0/24 yang sama, yang berada di salah satu rentang alamat Private IPv4 yang dialokasikan IANA) , bersama dengan NAPT, memungkinkan pengguna bisnis dan rumahan untuk masing-masing menggunakan satu alamat luar (publik) untuk jaringan dalam (pribadi). Ini menyimpan banyak, banyak alamat IPv4 (beberapa kali jumlah total kemungkinan alamat IPv4) dan telah memperpanjang umur IPv4 jauh melampaui titik di mana ia akan runtuh tanpa NAPT. NAPT memang memiliki beberapa kelemahan serius:
- NAPT mematahkan paradigma IP end-to-end, dan hanya bekerja dengan TCP, UDP, dan ICMP, melanggar protokol transport lainnya. Ada juga protokol lapisan aplikasi yang menggunakan TCP atau UDP yang dipecah oleh NAPT, meskipun TCP dan UDP secara nominal bekerja dengan NAPT. Mitigasi lain, misalnya STUN / TURN, mungkin tersedia untuk beberapa protokol lapisan aplikasi, tetapi mereka dapat menambah biaya dan kompleksitas.
- NAPT sangat intensif sumber daya, memperlambat penerusan paket dibandingkan dengan apa yang mungkin dilakukan tanpa menggunakan bentuk NAT apa pun. Beberapa vendor menambahkan perangkat keras khusus untuk mengurangi kebutuhan untuk mencuri sumber daya dari penerusan paket, tetapi ini datang dengan biaya tambahan, ukuran, kompleksitas, dan penggunaan daya.
- Saat menggunakan NAPT, lalu lintas yang dimulai dari luar jaringan NAPT tidak dapat dikirim ke jaringan di dalam karena tidak ada entri terjemahan dalam tabel terjemahan, yang ditambahkan oleh lalu lintas yang diinisiasi oleh dalam. Alamat luar (publik) tunggal dikonfigurasikan pada perangkat NAT, dan paket apa pun dengan alamat IPv4 tujuan tersebut dan tidak ada entri untuk alamat IPv4 sumber dalam tabel terjemahan untuk protokol transport diasumsikan untuk perangkat NAPT, itu sendiri, tidak jaringan di dalam. Ada mitigasi, yang disebut Port Forwarding, untuk masalah ini.
- Port Forwarding pada dasarnya mengkonfigurasi, secara manual, entri permanen dalam tabel terjemahan untuk memungkinkan lalu lintas yang dimulai di luar yang ditujukan ke protokol transportasi tertentu dan alamat untuk protokol yang akan dikirim ke host di dalam tertentu. Ini memang memiliki kelemahan hanya memungkinkan satu host di dalam menjadi target untuk protokol dan alamat transportasi tertentu. Misalnya, jika ada beberapa server web di jaringan dalam, hanya satu dari server web yang dapat diekspos pada port TCP 80 (default untuk server web).
- Karena kekurangan alamat IPv4 sangat parah, ISP (Penyedia Layanan Internet) kehabisan alamat publik untuk menetapkan kepada pelanggan mereka. ISP tidak dapat lagi mendapatkan alamat publik, sehingga mereka telah mengadopsi beberapa mitigasi yang khususnya merugikan pengguna rumah / perumahan. ISP ingin memesan kumpulan alamat publik mereka yang berharga untuk pelanggan bisnis mereka yang bersedia membayar untuk mendapatkan hak mendapatkan alamat publik. Untuk melakukan itu, ISP sekarang mulai menetapkan alamat Privat atau Dibagi-bagi untuk pelanggan rumahan / tempat tinggal mereka, dan ISP menggunakan NAPT pada router mereka sendiri untuk memfasilitasi penggunaan beberapa alamat Privat atau Dibagi pada satu alamat publik. Itu menciptakan situasi di mana jaringan rumah / perumahan berada di belakang dua terjemahan NAPT (ISP NAPT ke pelanggan NAPT),
- Banyak orang melakukan kesalahan dengan menyamakan NAPT dan keamanan karena host di dalam tidak dapat langsung ditangani dari luar. Ini adalah rasa aman yang salah. Karena firewall yang menghubungkan jaringan ke Internet publik adalah tempat yang nyaman untuk menjalankan NAPT, itu hanya membingungkan situasi. Ini menciptakan persepsi berbahaya bahwa NAPT, itu sendiri, adalah firewall, dan firewall sebenarnya tidak diperlukan. Keamanan jaringan berasal dari firewall, yang memblokir semua lalu lintas yang diprakarsai secara default, hanya mengizinkan lalu lintas yang secara eksplisit dikonfigurasi untuk mengizinkan, mungkin melakukan inspeksi mendalam pada konten paket untuk menjatuhkan muatan paket berbahaya. Apa yang beberapa orang gagal sadari adalah bahwa, tanpa firewall, baik dalam perangkat keras atau perangkat lunak, di bagian luar atau dibangun ke dalam perangkat NAPT, untuk melindungi perangkat NAPT, perangkat NAPT itu sendiri rentan. Jika perangkat NAPT dikompromikan, itu, dan dengan ekstensi penyerang, memiliki akses penuh ke jaringan internal yang ditangani secara pribadi. Paket yang diinisiasi dari luar yang tidak cocok dengan tabel terjemahan ditakdirkan untuk perangkat NAPT, itu sendiri, karena itu adalah perangkat yang sebenarnya ditangani dengan alamat eksternal, sehingga perangkat NAPT dapat langsung diserang.
Solusi untuk Kekurangan Alamat IPv4
IETF memperkirakan kekurangan alamat IPv4, dan itu menciptakan solusi: IPv6, yang menggunakan alamat 128-bit, yang berarti ada 340.282.366.920.938.446.463.463.737.607.431.768.211.456 kemungkinan alamat IPv6. Jumlah alamat IPv6 yang hampir tidak terbayangkan menghilangkan kebutuhan untuk NAPT (IPv6 tidak memiliki standar NAT, cara IPv4, dan IPv6 NAT RFC eksperimental secara khusus melarang NAPT), memulihkan paradigma IP ujung-ke-ujung yang asli. Mitigasi untuk kekurangan alamat IPv4 dimaksudkan untuk memperpanjang umur IPv4 sampai IPv6 ada di mana-mana, di mana IPv4 harus menghilang.
Manusia tidak dapat benar-benar memahami jumlah ukuran yang digunakan untuk IPv6. Sebagai contoh, jaringan IPv6 standar menggunakan 64 bit untuk masing-masing jaringan dan bagian host dari alamat jaringan. Yaitu 18.446.744.073.709.551.616 kemungkinan jaringan standar IPv6 / 64, dan jumlah alamat host yang sama (sangat besar) untuk masing-masing jaringan tersebut. Untuk mencoba memahami angka yang besar, pertimbangkan alat yang memindai semua alamat yang mungkin di jaringan. Jika alat seperti itu dapat memindai 1.000.000 alamat per detik (tidak mungkin), itu akan memakan waktu lebih dari 584.542 tahun untuk melakukan pemindaian pada satu jaringan / 64 IPv6. Saat ini, hanya 1/8 dari total ruang alamat IPv6 yang dialokasikan untuk alamat IPv6 global, yang berfungsi untuk 2.305.843.009.213.693.952 jaringan standar IPv6 / 64, dan jika populasi dunia adalah 21 miliar pada tahun 2100 (jumlah yang agak realistis), setiap satu dari 21 miliar orang itu dapat memiliki 109.802.048 jaringan IPv6 / 64 standar, masing-masing jaringan memiliki 18.446.744.073.709.551.616 kemungkinan alamat host. Sayangnya, (dekade) kekurangan alamat IPv4 telah mendarah daging pada konservasi orang, sehingga banyak orang tidak bisa melepaskannya, dan mereka mencoba menerapkannya pada IPv6, yang tidak ada gunanya dan sebenarnya merugikan. IPv6 sebenarnya dirancang untuk membuang alamat.
IETF juga memiliki keunggulan di belakang, dan meningkatkan IP (dalam IPv6) dengan menghapus fitur IPv4 yang tidak berfungsi dengan baik, meningkatkan beberapa fitur IPv4, dan menambahkan fitur yang tidak dimiliki IPv4, menciptakan IP baru dan lebih baik. . Karena IPv6 adalah protokol yang benar-benar terpisah dari IPv4, ia dapat dijalankan secara paralel dengan IPv4 karena transisi dibuat dari IPv4 ke IPv6. Host dan perangkat jaringan dapat menjalankan IPv4 dan IPv6 pada antarmuka yang sama secara bersamaan (dual-stacked), dan masing-masing tidak terlihat oleh yang lain; tidak ada gangguan antara kedua protokol.
Masalah dengan IPv6 adalah bahwa itu sebenarnya protokol yang sama sekali berbeda yang tidak kompatibel dengan IPv4 di mana-mana, dan mitigasi untuk kekurangan alamat IPv4 dilihat oleh banyak orang “cukup baik.” Hasilnya adalah bahwa ia sudah lebih dari 20. tahun sejak IPv6 distandarisasi, dan kami baru saja mendapatkan daya tarik nyata dalam menggunakan IPv6 (Google melaporkan, per September 2018, adopsi IPv6 di seluruh dunia lebih dari 20%, dan tingkat adopsi IPv6 di AS lebih dari 35%). Alasan kami akhirnya pindah ke IPv6 adalah karena tidak ada lagi alamat IPv4 yang tidak digunakan untuk ditugaskan.
Ada hambatan lain, semua bagian dari budaya IPv4, yang hanya sulit bagi orang untuk melihat masa lalu. Banyak orang juga takut pada IPv6, tumbuh dewasa dan merasa nyaman dengan IPv4, kutil dan semuanya. Misalnya, alamat IPv6 tampak besar dan jelek dibandingkan dengan alamat IPv4, dan itu sepertinya membuat banyak orang kesal. Kenyataannya adalah bahwa IPv6 seringkali lebih mudah dan lebih fleksibel daripada IPv4, terutama untuk mengatasi, dan pelajaran yang dipetik dalam IPv4 telah diterapkan pada IPv6 sejak awal.