Bagaimana cara kerja subnetting IPv6 dan bagaimana perbedaannya dengan subnetting IPv4?

116

Ini adalah Pertanyaan Canonical tentang Subnetting IPv6.

Terkait:

Saya tahu banyak tentang Subnetting IPv4 , dan ketika saya bersiap untuk (menyebarkan | bekerja) jaringan IPv6 saya perlu tahu berapa banyak pengetahuan ini dapat ditransfer dan apa yang masih perlu saya pelajari. Sekilas IPv6 tampaknya jauh lebih kompleks daripada IPv4. Jadi saya ingin tahu:

  • IPv6 adalah 128 bit, jadi mengapa / 64 subnet terkecil yang disarankan untuk host? Terkait dengan ini:
    • Mengapa direkomendasikan untuk menggunakan / 127 untuk tautan titik ke titik antara router, dan mengapa direkomendasikan sebelumnya? Haruskah saya mengubah tautan router yang ada untuk menggunakan / 127?
    • Mengapa mesin virtual disediakan dengan alamat yang kurang dari / 64?
    • Apakah ada situasi lain di mana saya akan menggunakan subnet lebih kecil dari / 64?
  • Bisakah saya memetakan langsung dari subnet IPv4 ke subnet IPv6? Misalnya, apakah IPv4 / 24 berhubungan langsung dengan IPv6 / 56 atau / 120?
  • Antarmuka saya memiliki beberapa alamat IPv6. Haruskah subnet sama untuk mereka semua?
  • Mengapa kadang-kadang saya melihat% daripada / di alamat IPv6 dan apa artinya?
  • Apakah saya membuang terlalu banyak subnet? Bukankah kita akan kehabisan lagi?
  • Dalam hal apa utama subnetting IPv6 berbeda dari subnetting IPv4?
Michael Hampton
sumber

Jawaban:

138

Hal pertama yang harus disebutkan tentang subnetting IPv6 adalah mode pemikiran yang berbeda diperlukan . Di IPv4 Anda biasanya berpikir tentang berapa banyak alamat yang Anda miliki dan bagaimana Anda dapat mengalokasikannya cukup untuk setiap pengguna akhir. Di IPv6 Anda biasanya berpikir tentang berapa banyak (/ 64) subnet yang Anda miliki dan bagaimana Anda dapat mengalokasikannya untuk pengguna akhir. Anda hampir tidak pernah khawatir tentang berapa banyak alamat IP yang akan digunakan dalam subnet yang diberikan. Kecuali untuk beberapa kasus khusus seperti tautan titik ke titik, setiap subnet hanya memiliki lebih banyak alamat yang tersedia daripada yang diperlukan, jadi alih-alih Anda hanya khawatir tentang mengalokasikan subnet, bukan host di dalamnya.

Subnet IPv6 biasanya / 64 karena itu diperlukan agar SLAAC (konfigurasi alamat stateless) berfungsi. Bahkan di mana SLAAC tidak digunakan, mungkin ada alasan lain untuk menggunakan / 64. Misalnya, mungkin ada beberapa perangkat pengguna akhir di luar sana yang hanya menganggap / 64, atau merutekan subnet lebih lama dari / 64 mungkin tidak efisien pada beberapa router karena router implementor telah mengoptimalkan kasus / 64 atau rute yang lebih pendek untuk menghemat memori tabel routing.

Mengapa disarankan untuk menggunakan / 127 untuk tautan titik ke titik

Untuk kasus spesifik dari tautan point-to-point, / 127 direkomendasikan daripada / 64 untuk menghindari kerentanan di mana paket alamat ke salah satu dari empat alamat yang tidak digunakan pada subnet menyebabkan permintaan permohonan tetangga yang tidak diinginkan dan entri tabel yang bisa menenggelamkan router. Paket misaddresses seperti itu mungkin berbahaya atau tidak sengaja. Tetapi bahkan jika Anda benar-benar mengkonfigurasi tautan point-to-point sebagai / 127, beberapa orang menyarankan untuk menetapkan keseluruhan / 64 hanya agar konsisten.

Mengapa mesin virtual disediakan dengan subnet yang lebih kecil dari / 64?

Saya tidak tahu secara spesifik mengapa mesin virtual akan disediakan dengan subnet yang lebih kecil dari / 64. Mungkin karena penyedia hosting berasumsi bahwa server seperti pengguna akhir dan hanya membutuhkan satu subnet (/ 64), tidak mengantisipasi bahwa server akan benar-benar kumpulan VM yang memerlukan topologi routing internal? Ini dapat dilakukan juga hanya sebagai masalah membuat rencana pengalamatan lebih mudah untuk dihafal: tuan rumah mendapat PREFIX::/64, maka setiap VM mendapatkan PREFIX:0:NNNN::/96tempat NNNN unik untuk VM dan VM dapat mengalokasikan PREFIX:0:NNNN:XXXX:YYYYsesuai keinginan.

Bisakah saya memetakan langsung dari subnet IPv4 ke subnet IPv6? Misalnya, apakah IPv4 / 24 berhubungan langsung dengan IPv6 / 56 atau / 120?

Dari perspektif tingkat rendah tentang bagaimana pengalamatan dan perutean bekerja, panjang awalan memiliki arti yang sama dalam IPv6 dan IPv4. Pada level itu, Anda dapat membuat analogi seperti "IPv4 / 16 menggunakan setengah bit untuk alamat jaringan dan setengah bit untuk alamat host, itu seperti / 64 di IPv6". Tetapi perbandingan ini tidak terlalu tepat. Konvensi yang kuat telah muncul di IPv6 yang membuat pembagian ukuran jaringan tampak lebih seperti dunia lama jaringan classful di IPv4. Yang pasti, IPv6 tidak memperkenalkan kembali classful menangani dimana beberapa bit paling signifikan dari alamat memaksa netmask tertentu, tapi apa IPv6 tidak miliki adalah [de facto / konvensional] ukuran jaringan standar tertentu:

  • / 64 : ukuran dasar dari satu subnet: LAN, WAN, blok alamat untuk host virtual web, dll ... Subnet "normal" tidak pernah diharapkan menjadi yang lebih kecil (awalan lebih panjang) dari / 64. Tidak ada subnet yang diharapkan lebih besar (awalan lebih pendek) dari / 64 karena nilai alamat host a / 64 jauh lebih banyak dari yang kita bayangkan membutuhkan.
  • / 56 : blok 256 subnet dasar. Meskipun kebijakan saat ini mengizinkan ISP untuk membagikan blok sebesar / 48 kepada setiap pengguna akhir dan masih menganggap pemanfaatan alamatnya dibenarkan dengan baik, beberapa ISP mungkin (dan sudah melakukannya) memilih untuk mengalokasikan a / 56 kepada pelanggan kelas konsumen sebagai kompromi. antara alokasi banyak subnet untuk mereka dan ekonomi alamat.
  • / 48 : blok 65536 subnet dasar dan ukuran blok yang disarankan yang harus diterima oleh setiap situs pelanggan ISP.
  • / 32 : ukuran blok standar yang akan diterima sebagian besar ISP setiap kali mereka meminta lebih banyak alamat dari registri alamat regional.

Di dalam penyedia layanan dan jaringan entreprise, lebih banyak awalan panjang dari 4 ini dapat dilihat. Saat melihat tabel perutean router di dalam jaringan ini, IPv4 dan IPv6 memiliki banyak kesamaan termasuk sebagian besar cara perutean bekerja: rute untuk awalan yang lebih lama menggantikan rute yang menutupi awalan yang lebih pendek, sehingga dimungkinkan untuk mengumpulkan (memperpendek) dan mengebor rute turun (membuat lebih lama). Seperti di IPv4, rute dapat dikumpulkan atau diringkas ke blok yang lebih besar dengan awalan yang lebih pendek untuk meminimalkan ukuran tabel perutean.

Pertanyaan lain tentang pemetaan antara IPv4 dan IPv6 adalah bagaimana menyelaraskan penugasan IPv4 dan IPv6 pada mesin dual-stack sehingga rencana penanganan dapat dipahami dengan mudah. Sejauh itu, tentu ada konvensi yang biasa digunakan untuk melakukan ini: sematkan "nomor subnet" IPv4 ke dalam bagian dari awalan IPv6, baik dengan BCD (misalnya 10.0.234.0/24menjadi 2001:db8:abcd:234::/64) atau biner ( 10.0.234.0/24menjadi 2001:db8:abcd:ea::/64).

Antarmuka saya memiliki beberapa alamat IPv6. Haruskah subnet sama untuk mereka semua?

Benar-benar tidak! Host IPv6 diharapkan dapat multihomed dengan memiliki beberapa alamat IP secara bersamaan yang berasal dari subnet yang berbeda, seperti halnya IPv4. Jika mereka dikonfigurasi secara otomatis dengan SLAAC maka subnet yang berbeda mungkin berasal dari iklan router dari router yang berbeda.

Mengapa kadang-kadang saya melihat% daripada / di alamat IPv6 dan apa artinya?

Anda tidak akan melihat yang satu daripada yang lain. Mereka memiliki arti yang berbeda. Slash menunjukkan awalan (subnet), yang berarti blok alamat yang semuanya dimulai dengan nbit yang sama . Alamat tanpa garis miring adalah alamat host. Anda mungkin berpikir bahwa alamat tersebut memiliki "/ 128" pada akhirnya, artinya semua 128 bit ditentukan.

Tanda persen menyertai alamat tautan-lokal. Di IPv6, setiap antarmuka memiliki alamat tautan-lokal selain alamat IP lain yang mungkin dimilikinya. Tapi masalahnya, alamat tautan-lokal selalu, tanpa kecuali, di fe80::/10blok. Tetapi jika kita mencoba untuk berbicara dengan rekan menggunakan alamat lokal tautan dan tuan rumah lokal memiliki banyak antarmuka, bagaimana kita tahu antarmuka mana yang digunakan untuk berbicara dengan rekan ini? Biasanya tabel perutean memberi tahu kita antarmuka mana yang akan digunakan untuk awalan tertentu, tetapi di sini tabel itu memberi tahu kita apa fe80::/10yang bisa dijangkau melalui setiap antarmuka.

Jawabannya adalah kita harus memberi tahu itu antarmuka mana yang harus digunakan menggunakan sintaks address%interface. Sebagai contoh fe80::1234:5678:8765:4321%eth0,.

Apakah saya membuang terlalu banyak subnet? Bukankah kita akan kehabisan lagi?

Tidak ada yang tahu. Siapa yang bisa mengatakan masa depan?

Tapi pertimbangkan ini. Dalam IPv6, jumlah subnet yang tersedia adalah kuadrat dari jumlah alamat individual yang tersedia di IPv4. Itu cukup banyak. Tidak, maksud saya sangat banyak!

Tapi tetap saja: kami secara otomatis membagikan a / 32 ke ISP mana pun yang memintanya, kami membagikan a / 48 untuk setiap pelanggan ISP tunggal. Mungkin kita melebih-lebihkan dan kita akan menyia-nyiakan IPv6. Tapi ada ketentuan untuk ini: Hanya seperdelapan dari ruang IPv6 telah dibuat tersedia untuk digunakan sejauh ini: 2000::/3. Idenya adalah bahwa jika kita membuat kekacauan kedelapan yang pertama dan kita harus secara drastis merevisi kebijakan alokasi liberal, kita bisa mencoba 7 kali lagi sebelum kita dalam masalah.

Dan akhirnya: IPv6 tidak harus bertahan selamanya. Mungkin itu akan memiliki masa pakai yang lebih lama dari IPv4 (masa yang mengesankan sudah dan belum berakhir) tetapi seperti setiap teknologi itu suatu hari nanti akan berhenti berarti. Kita hanya perlu membuatnya sampai saat itu.

Celada
sumber
13
Penjelasan yang sangat bagus! Terutama soal pola pikir yang berbeda. Jika Anda melihat angka-angka Anda melihat bahwa ada 536.870.912 / 32 (ISP kecil) pada tahun 2000 :: / 3. Dengan populasi dunia 7 miliar yaitu satu ISP per 13 orang, dan masing-masing ISP tersebut dapat memiliki 65.536 pelanggan dengan / 48 masing-masing. Tidak perlu khawatir membuang-buang alamat dulu :-)
Sander Steffann
Ya, ini penjelasan yang sangat bagus.
Fergus
2
Penjelasan yang bagus tentang perincian spesifik 2000 :: / 3.
Koos van den Hout
5
Penjelasan yang bagus. Beri +1 pada komentar terakhir. Saya harap semua orang sudah melihat ini: xkcd.com/865
Nico
@SanderSteffann Dan jika itu menjadi masalah, akan sangat masuk akal bagi ISP untuk menetapkan / 64s baru untuk pengguna perumahan, bukan / 48s., Dan bagi ISP kecil untuk meminta blok katakanlah 4096 orang sekaligus (/ 52 blok) ). Skema saat ini hanya dirancang untuk memberikan ruang untuk ekspansi di setiap lapisan.
immibis
45

IPv6 adalah 128 bit, jadi mengapa / 64 subnet terkecil yang disarankan untuk host?

Pertama-tama, sedikit seni ASCII dari RFC untuk menetapkan terminologi:

|         n bits         |   m bits  |       128-n-m bits         |
+------------------------+-----------+----------------------------+
| global routing prefix  | subnet ID |       interface ID         |
+------------------------+-----------+----------------------------+

Awalan perutean global biasanya mengidentifikasi keseluruhan jaringan tempat alamat tersebut berada. Ini biasanya 48 bit. ID Antarmuka mengidentifikasi antarmuka jaringan yang diberikan. Ini biasanya 64-bit. 16 bit yang tersisa adalah ID subnet Anda.

OK, lanjutkan dengan penjelasan:

Menurut RFC 4291 - IP Version 6 Addressing Architecture :

Semua alamat Global Unicast selain yang dimulai dengan binary 000 memiliki bidang ID antarmuka 64-bit.

Dan RFC 5375 - Pertimbangan Penugasan Alamat IPv6 Unicast :

Bagian penting dari rencana pengalamatan IPv4 adalah menentukan panjang setiap awalan subnet. Tidak seperti IPv4, arsitektur pengalamatan IPv6 [RFC4291] menetapkan bahwa semua subnet yang menggunakan Alamat Unik Global dan ULA selalu memiliki panjang awalan yang sama yaitu 64 bit.

Jadi mengabaikan pengecualian awalan 000, ID Antarmuka selalu persis 64-bit. Ini adalah cara lain untuk mengatakan bahwa semua jaringan siaran lokal selalu 64-bit . Jika Anda memiliki alamat IPv6, netmasknya selalu 64 bit. Tidak pernah lebih, tidak pernah kurang. Jika Anda diberi ruang alamat yang lebih besar dari itu (netmask lebih pendek dari 64-bit), maka diasumsikan bahwa Anda akan mempartisi ruang alamat itu ke dalam jaringan 64-bit dan menangani sendiri peruteannya. Jika Anda diberi jaringan yang lebih kecil dari itu (netmask lebih lama), maka seseorang mengacau.

Jadi, mengapa 64-bit tepatnya?

Sebagai aturan, alamat IPv6 secara otomatis dikonfigurasi daripada ditugaskan. Router akan mengiklankan prefiks jaringan mana yang tersedia (routing prefix + subnet ID: 64-bit pertama), dan komputer Anda akan mengisi 64-bit terakhir menggunakan pengenal uniknya sendiri. Bagaimana komputer Anda menghasilkan pengidentifikasi unik? Ada beberapa kemungkinan, yang paling umum adalah menggunakan alamat MAC antarmuka Anda. Anda membagi MAC menjadi dua (vendor setengah / setengah serial), membalikkan bit universal-lokal di sisi vendor, dan bergabung kembali bersama-sama dengan FF:FEdi tengah. Jadi 00:30:48:01:23:45menjadi 0230:48ff:fe01:2345. Sekarang letakkan awalan jaringan 64-bit yang diiklankan di sebelah kiri itu, dan Anda memiliki alamat IP Anda.

Poin penting di sini adalah bahwa jika Anda mengikuti skema ini, tabrakan alamat IP tidak akan terjadi. Karena setiap perangkat di jaringan siaran tertentu MEMBUTUHKAN alamat MAC yang unik untuk bekerja, mengikat ID antarmuka ke alamat MAC berarti bahwa selama lalu lintas siaran tidak bertabrakan, maka alamat IPv6 juga tidak akan bertabrakan. Menggunakan 64-bit (bukan hanya 48 yang didedikasikan untuk alamat MAC) memberikan sedikit ruang gerak di luar hanya alamat yang disediakan oleh skema ini (ada beberapa yang lain).

Apakah ada situasi lain di mana saya akan menggunakan subnet lebih kecil dari / 64?

Nggak. Tidak, kecuali kamu rusak. Yah, Anda mungkin memiliki justifikasi berdasarkan persyaratan lokal untuk mengatur perutean manual dengan jaringan Anda yang ada. Tetapi ingatlah bahwa dengan melakukan itu, Anda mungkin membuat kekacauan:

Dari RFC 5375 - Pertimbangan Penugasan Alamat IPv6 Unicast :

Menggunakan panjang awalan subnet selain dari / 64 akan memecah banyak fitur IPv6, termasuk Neighbor Discovery (ND), Secure Neighbor Discovery (SEND) [RFC3971], ekstensi privasi [RFC4941], bagian dari Mobile IPv6 [RFC4866], Protokol Independen Multicast - Mode Jarang (PIM-SM) dengan Embedded-RP [RFC3956], dan Multihoming Situs oleh Intermediasi IPv6 (SHIM6) [SHIM6], antara lain. Sejumlah fitur lain yang saat ini dalam pengembangan, atau sedang diusulkan, juga bergantung pada / 64 subnet prefixes.

....

Namun, beberapa administrator jaringan telah menggunakan awalan lebih dari / 64 untuk tautan yang menghubungkan router, biasanya hanya dua router pada tautan point-to-point. Pada tautan di mana semua alamat ditetapkan oleh konfigurasi manual, dan semua simpul pada tautan tersebut adalah router (bukan host akhir) yang dikenal oleh jaringan, administrator tidak memerlukan fitur IPv6 yang bergantung pada / 64 awalan subnet, ini bisa bekerja. Menggunakan awalan subnet lebih lama dari / 64 tidak disarankan untuk penggunaan umum, dan menggunakannya untuk tautan yang berisi host akhir akan menjadi ide yang sangat buruk, karena sulit untuk memprediksi fitur IPv6 apa yang akan digunakan host di masa depan.

Mengapa direkomendasikan untuk menggunakan / 127 untuk tautan titik ke titik antara router, dan mengapa direkomendasikan sebelumnya?

Anda mungkin ingin mengabaikan RFC 3627 - Penggunaan / 127 Panjang Awalan Antar Router Dianggap Berbahaya . Kemudian lihat RFC 6164 berikutnya - Menggunakan 127-Bit IPv6 Prefixes pada Inter-Router Links .

Keberatan untuk menggunakan awalan lebih dari / 64 pada router ada hubungannya dengan konfigurasi otomatis router yang berpotensi gagal dalam keadaan langka. Keberatan untuk menggunakan awalan yang lebih pendek dari / 127 (2-host-only) berkaitan dengan sejumlah potensi masalah penolakan layanan yang berkaitan dengan paket yang dikirim ke alamat yang tidak dirusak. Karena masalah penolakan layanan dunia nyata lebih buruk daripada kegagalan konfigurasi otomatis teoretis, / 127 adalah favorit baru.

Haruskah saya mengubah tautan router yang ada untuk menggunakan / 127?

Jika Anda mengontrol router IPv6, saya sarankan membaca dua RFC (pendek!) Dan memutuskan sendiri.

Bisakah saya memetakan langsung dari subnet IPv4 ke subnet IPv6?

Misalnya, apakah IPv4 / 24 berhubungan langsung dengan IPv6 / 56 atau / 120?

Sebenarnya ya. Ingat bahwa 000-awalan yang sengaja kita abaikan sebelumnya? Nah, ini gunanya:

Pada sistem tumpukan ganda (yang memiliki tumpukan IPv4 dan IPv6 aktif), Anda dapat mewakili IPv4 menggunakan mekanisme IPv6. Mereka menyebutnya " alamat IPv6 yang dipetakan IPv4 ". Polanya adalah semua-nol, diikuti oleh FFFF, diikuti oleh alamat IPv4 32-bit.

Jadi, 192.168.100.21menjadi ::FFFF:C0A8:6415- atau lebih sederhana: ::FFFF:192.168.100.21. Karena bit kanan mewakili alamat IPv4, bit itu secara tradisional ditulis menggunakan bentuk desimal bertitik.

Karena ini adalah alamat IPv4 aktual, masih menggunakan header IPv4 dll., Yang berarti bahwa tumpukan IPv4 harus ada, rute IPv4 harus ditetapkan, dan semua itu. Keuntungannya adalah Anda dapat mewakili alamat IPv4 dan IPv6 menggunakan struktur alamat tunggal, yang dapat menyederhanakan pengembangan aplikasi. Itu tidak membuat perbedaan dalam hal jaringan.

tylerl
sumber
20
  1. IPv6 adalah 128 bit, jadi mengapa / 64 subnet terkecil yang disarankan untuk host?

    Ukuran awalan ini awalnya direkomendasikan dalam RFC yang lebih lama - sejak itu telah ada revisi kebijakan ini di mana masalah Neighbor Discovery Attacks dipertimbangkan dan menggunakan / 126 adalah mitigasi yang valid - meskipun demikian, jika Anda menyiapkan tautan PtP dengan satu-satunya tujuan routing traffic, opsi alternatif adalah tetap menggunakan / 64 dan firewall subnet itu. Lebih baik lagi, alokasikan diri Anda kolam dari mana Anda akan menggambar / 64 subnet, dan memiliki seluruh kolam itu sebagai tujuan daftar hitam di tepi Anda (dan di mana pun tempat permusuhan bisa berasal)

  2. Mengapa direkomendasikan untuk menggunakan / 127 untuk tautan titik ke titik antara router, dan mengapa direkomendasikan sebelumnya? Haruskah saya mengubah tautan router yang ada untuk menggunakan / 127?

    / 127 tidak direkomendasikan antara router dan tidak pernah ada - alamat semua-router Anycast adalah alamat all-zero dari subnet; ini berarti bahwa / 127 secara teknis hanya berlaku antara dua mesin di mana salah satunya TIDAK bertindak sebagai router. / 126 tentu saja baik-baik saja.

    Bagaimanapun, saya tidak akan menyarankan untuk mengganti tautan / 64 yang ada kecuali peralatan Anda rentan terhadap serangan banjir cache Neighbor Discovery - dan bahkan dalam kasus ini, tentukan terlebih dahulu apakah Anda akan benar-benar menggunakan itu / 64 untuk konektivitas internet , jika jawabannya tidak, firewall saja.

  3. Mengapa mesin virtual disediakan dengan subnet yang lebih kecil dari / 64?

    Ini menghancurkan SLAAC dan RA, kecuali jika Anda benar- benar tahu apa yang Anda lakukan, tidak mungkin Anda memiliki alasan kuat untuk melakukan ini - mungkin hulu Anda hanya memberi Anda satu / 64 tetapi jika itu masalahnya, Anda harus pergi kembali ke mereka dan meminta lebih banyak, jika mereka ingin menagih Anda untuk itu, mulailah mencari penyedia baru dan mungkin juga mengirimi mereka beberapa email sombong yang menghubungkan ke RFC yang relevan.

  4. Apakah ada situasi lain di mana saya akan menggunakan subnet lebih kecil dari / 64?

    Secara jujur? mungkin tidak. Jika saya memikirkan alasan yang sah di mana subnet yang lebih kecil lebih disukai untuk tujuan selain mencegah serangan NDP, saya akan mengedit bagian ini.

    Sebaliknya, ada yang situasi di mana Anda akan tidak ingin menggunakan subnet kecil dari / 64 - terutama di mana saja bahwa Anda menjalankan sebuah lingkungan dengan peralatan hardware forwarding (berpikir router nama-merek dan switch L3) - beberapa tidak akan dapat melakukan routing hardware awalan lebih lama dari / 64, yang lain harus membagi operasi menjadi beberapa perbandingan, dengan demikian, Anda setidaknya harus melakukan yang terbaik untuk memastikan bahwa / 64 adalah awalan terpanjang di tulang punggung (OSPF / ISIS / EIGRP / dll.) Anda.

  5. Bisakah saya memetakan langsung dari subnet IPv4 ke subnet IPv6? Misalnya, apakah IPv4 / 24 berhubungan langsung dengan IPv6 / 56 atau / 120?

    Secara resmi, :: ffff: xxxx adalah format untuk alamat IPv4 yang dipetakan oleh IPv6 - tentu saja ada juga sejumlah mekanisme transisi, yaitu 6to4 dan relatifnya, ke-6, yang memetakan alamat IPv4 ke dalam IPv6 global untuk keperluan tersebut menyediakan akses IPv6 melalui IPv4 dengan membuat awalan IPv6 yang berasal dari alamat IPv4 yang dibawanya.

  6. Antarmuka saya memiliki beberapa alamat IPv6. Haruskah subnet sama untuk mereka semua?

    Tidak, menggunakan berbagai alamat dan ukuran subnet di antarmuka yang sama seharusnya tidak menjadi masalah. Jika ya, implementasinya bermasalah. Tentu saja, pertanyaan yang lebih baik adalah mengapa Anda melakukan ini?

  7. Mengapa kadang-kadang saya melihat% daripada / di alamat IPv6 dan apa artinya?

    Ini adalah pembatas, umumnya diterapkan pada alamat tautan-lokal (fe80 :: / 12) - karena alamat tautan-lokal yang sama dapat secara sah ada pada beberapa antarmuka,% pembatas digunakan untuk mengizinkan menentukan antarmuka mana yang dimaksud. Linux umumnya membuat menentukan antarmuka wajib ketika melakukan operasi yang melibatkan tautan-lokal. Windows Vista / 2008 dan selanjutnya sedikit lebih pintar dan tidak akan mengeluh kecuali link-lokal tidak unik.

  8. Apakah saya membuang terlalu banyak subnet? Bukankah kita akan kehabisan lagi?

    Tidak. Ini adalah kuda mati yang dicambuk WAAAAAAAAAY berkali-kali - internet Global IPv6 saat ini adalah 2000 :: / 3 - ada beberapa awalan lagi yang bisa mulai digunakan IANA jika, entah bagaimana, setiap RIR di planet ini berhasil menghabiskannya alamat saham. Jadi tidak, kita tidak akan kehabisan ruang, dan bahkan jika kita lakukan, itu membutuhkan jentikan pena untuk membuat awalan baru, bukan perubahan teknis. Satu-satunya hal yang benar-benar disoroti oleh pertanyaan ini adalah ketidakmampuan pikiran manusia untuk sepenuhnya memahami betapa luasnya ruang alamat.

  9. Dalam hal apa utama subnetting IPv6 berbeda dari subnetting IPv4?

    Selain tidak peduli seberapa banyak ruang yang Anda gunakan, ingatlah bahwa tidak ada alamat broadcast dan bahwa alamat "subnet-zero" sekarang semua-router alamat broadcast mana pun (yang pada dasarnya adalah alamat yang ada secara implisit pada semua node yang dikonfigurasi untuk meneruskan paket IPv6) - ini memiliki efek samping yang berguna yang memungkinkan Anda untuk menggunakan semua alamat nol sebagai rute default Anda di jaringan (tidak, itu tidak akan menyebabkan duplikasi paket, itu ANYcast, bukan MULTIcast) - perlu diingat meskipun host dapat beralih di antara router setiap beberapa detik, jadi ini tidak sesuai untuk pengaturan firewall stateful jika pelacakan koneksi tidak disinkronkan di antara mereka.

    Selain itu, perbedaan utama lainnya adalah bahwa IPv6 peduli dengan alamat duplikat dan tetangga yang mati (NUD) - dengan demikian, tidak seperti IPv4, host akan menolak untuk menggunakan alamat jika dapat menentukan bahwa node lain pada tautan sudah menggunakannya. . NUD di sisi lain berguna jika Anda mengkonfigurasi rute statis - Anda benar-benar dapat menentukan beberapa rute terpisah untuk awalan dengan berbagai metrik dan mereka benar-benar akan berfungsi, tidak seperti di IPv4 di mana rute metrik terendah akan digunakan terlepas dari apakah berikutnya -hop sudah mati atau hidup (meskipun ini mungkin tidak benar untuk beberapa implementasi IPv4 yang menggunakan ARP untuk memvalidasi rute seperti Cisco dan vendor router utama lainnya)

    TLDR; IPv6 mendeteksi alamat rangkap & tetangga yang tidak terjangkau. Alamat all-zero adalah all-routers anycast dan tidak ada yang namanya broadcast, all-ones adalah alamat reguler.

Olipro
sumber
3
Menanggapi jawaban 2) ... tools.ietf.org/html/rfc6164 tools.ietf.org/html/rfc6547
cpt_fink
3

Bagi mereka yang bertanya-tanya dari mana spesifikasi / 64 persyaratan untuk SLAAC berasal, berikut adalah beberapa referensi tambahan:

Dari Autoconfiguration Alamat Stateless IPv6 (RFC 4862) :

Jika jumlah panjang awalan dan panjang pengenal antarmuka tidak sama dengan 128 bit, opsi Informasi Awalan HARUS diabaikan. [...]

Merupakan tanggung jawab administrator sistem untuk memastikan bahwa panjang awalan yang terkandung dalam Periklanan Router konsisten dengan panjang pengidentifikasi antarmuka untuk jenis tautan itu.

Dan dari IP Version 6 Addressing Architecture (RFC 4291) :

Untuk semua alamat unicast, kecuali yang dimulai dengan nilai biner 000, ID Antarmuka harus sepanjang 64 bit dan dibuat dalam format EUI-64 yang Dimodifikasi.

Oleh karena itu, karena ID Antarmuka harus panjang 64 bit dan jumlah panjang awalan dan panjang ID antarmuka harus 128, satu-satunya panjang awalan yang mungkin digunakan saat menggunakan SLAAC adalah 64 bit.

Sander Steffann
sumber
2

IPv6 adalah 128 bit, jadi mengapa / 64 subnet terkecil yang disarankan untuk host?

Karena para pendukung IPv6 menyukai gagasan konfigurasi otomatis stateless.

Jika Anda menggunakan ukuran subnet lainnya maka konfigurasi otomatis stateless akan rusak. Beberapa hal kecil lainnya juga dapat rusak, baca rfc7421 untuk lebih jelasnya.

Secara pribadi saya pikir konfigurasi otomatis stateless adalah ide yang bodoh pula. Ini mengarah ke alamat yang tidak dapat dibaca dan pada dasarnya tidak memberi Anda kendali atas pengalamatan di luar asumsi blok ke subnet.

Tentu saja masalahnya dengan konvensi adalah jika Anda mengikuti mereka dan ada yang salah, Anda dapat menunjuk pada konvensi itu, jika Anda menolak untuk mengikutinya dan hal-hal yang salah itu akan menjadi kesalahan Anda.

Mengapa disarankan untuk menggunakan / 127 untuk tautan titik ke titik antara router,

Menggunakan subnet dengan sejumlah kecil alamat yang tersedia menghindari serangan kelelahan penemuan tetangga.

Tentu saja alasan ini tidak hanya berlaku untuk tautan titik ke titik. Saya kira secara politis dimungkinkan untuk membuat rekomendasi ini untuk tautan router titik ke titik tetapi secara politis tidak mungkin untuk membuatnya untuk tautan lain.

Mengapa mesin virtual disediakan dengan alamat yang kurang dari / 64?

Kita perlu membuat perbedaan di sini. Ada dua cara penyedia hosting dapat menetapkan alamat ke mesin (baik fisik atau virtual).

Mereka dapat memberi mereka alamat "on-link" di mana mesin diharapkan untuk membalas permintaan penemuan tetangga. Beberapa penyedia hosting memilih untuk memberikan masing-masing mesin a / 64 yang memiliki kelebihan dalam mobilitas alamat, yang lain memberikan masing-masing VLAN a / 64 dan kemudian memberikan masing-masing mesin sub-blok yang menggunakan lebih sedikit alamat dan mungkin berarti bahwa lalu lintas lokal tetap lokal daripada melewatkan ke router.

Atau mereka dapat memperlakukan mesin sebagai router dan menetapkannya sebagai blok yang diarahkan. Dalam hal ini perlu alamat yang cukup untuk mengatasi semua subnet internal. Jika Anda mengikuti konvensi "semua subnet harus / 64" itu berarti mengalokasikannya setidaknya a / 64 dan mungkin lebih. Ini masuk akal untuk mesin yang memiliki "jaringan di dalam mesin", misalnya host kontainer.

Bisakah saya memetakan langsung dari subnet IPv4 ke subnet IPv6? Misalnya, apakah IPv4 / 24 berhubungan langsung dengan IPv6 / 56 atau / 120?

Pemetaan semacam itu adalah masalah kebijakan lokal.

Antarmuka saya memiliki beberapa alamat IPv6. Haruskah subnet sama untuk mereka semua?

Tidak

Mengapa kadang-kadang saya melihat% daripada / di alamat IPv6 dan apa artinya?

% adalah pengidentifikasi antarmuka. Ini digunakan bersama dengan alamat tautan-lokal. Ini diperlukan karena mesin mungkin memiliki banyak antarmuka dan jaringan yang terhubung ke antarmuka tersebut mungkin memiliki tumpang tindih alamat-alamat lokal.

Apakah saya membuang terlalu banyak subnet? Bukankah kita akan kehabisan lagi?

Saya tidak akan terlalu khawatir tentang itu.

Bahkan dengan keputusan aneh para perancang IPv6 untuk menggunakan ruang alamat 128 bit dan kemudian membuang hampir setengahnya pada konfigurasi auto stateless IPv6 masih memiliki ruang lebih besar daripada IPv4.

Dan jika ada krisis, hanya perlu sedikit stroke untuk mengembalikan keputusan aneh itu.

Perhatian yang jauh lebih besar dengan skalabilitas IPv6 adalah ukuran tabel routing. IPv6 NAT sangat tidak dianjurkan. Menjalankan jaringan besar pada alamat yang dialokasikan penyedia menyebabkan risiko signifikan dari terkuncinya penyedia.

Jadi saya percaya bahwa ketika penetrasi IPv6 ke dalam jaringan korporat meningkat, kita akan melihat ledakan permintaan untuk ruang IPv6 yang independen dari penyedia.

Peter Green
sumber