Mengapa fe80 :: / 10 dicadangkan untuk tautan alamat lokal ketika fe80 :: / 64 benar-benar digunakan?

43

Saya mengerti bahwa IPv6 mencadangkan awalan fe80 :: / 10 untuk tautan alamat lokal, dan bahwa tuan rumah memilih suatu alamat dengan awalan / 64.

Mengapa ruang yang disediakan jauh lebih besar daripada yang sebenarnya digunakan untuk tautan lokal?

Craig Constantine
sumber

Jawaban:

31

Saya pikir lingkup tautan-lokal ditetapkan ke / 10 hanya untuk "cocok" dengan lebih baik dengan cakupan lain, misalnya situs-lokal (sebelum diganti dengan lokal yang unik).

Awalnya saya berpikir mungkin untuk mengizinkan penggunaan banyak jaringan tautan-lokal pada tautan yang sama, tetapi RFC 4291 secara eksplisit menyatakan bahwa hanya fe80 :: / 64 yang dapat digunakan.

Jeremy Stretch
sumber
Apakah ada signifikansi terkait implementasi SLAAC? ... apakah SLAAC "awalan agnostik"?
Craig Constantine
1
SLAAC membutuhkan a / 64, tetapi tidak benar-benar relevan di sini, karena alamat tautan-lokal tidak ditugaskan oleh SLAAC - pada kenyataannya, SLAAC mengandalkan sudah memiliki alamat tautan-lokal.
Kevin Keane
10

Anda tahu, saya tidak pernah mempertimbangkan ini.

Saya akan berasumsi bahwa fe80 :: / 64 digunakan karena sistem kemudian menjalankan konfigurasi alamat stateless (SLAAC) stateless di / 64. Membiarkan sisa dari / 10 tersedia untuk alamat link-lokal dan netblock yang ditetapkan secara statis. Saya mengalami masa-masa sulit dengan kasus penggunaan yang signifikan untuk penugasan tautan-lokal yang statis, tetapi saya kira ada alasan mengapa orang akhirnya ingin melakukannya.

Jeff McAdams
sumber
Apa yang penting dari SLAAC dan / 64? ... adakah yang melekat pada SLAAC tentang awalan / 64?
Craig Constantine
terkadang alamat tautan lokal yang ditetapkan secara statis memudahkan untuk mengetahui simpul mana yang merupakan lompatan berikutnya ketika merutekan secara dinamis, yaitu R1 adalah fe80 :: 1/64, R2 adalah fe80 :: 2/64, dll. Bekerja dengan baik di lab, mungkin kurang jadi dalam praktiknya.
hrtednrup
@CraigConstantine - ya, SLAAC memiliki / 64 batas hardcoded ke dalam protokol. Itulah alasan Anda tidak dapat membuat subnet yang lebih kecil dari / 64 di IPv6, dengan pengecualian subnet yang digunakan untuk merutekan tautan (yaitu, untuk tautan titik-ke-titik Anda harus menggunakan / 127). Sebenarnya ada protokol lain yang juga memiliki / 64 batas dimasukkan ke dalamnya.
Kevin Keane
Kami memiliki kasus penggunaan. Sistem isolasi proses yang perlu memunculkan lingkungan isolasi dengan alamat tautan-lokal yang dikenal untuk identifikasi berbasis IPv6. Dan kita tidak bisa menunggu AYAH, karena lingkungan harus siap dalam mikrodetik atau milidetik.
Mahakuasa
4

Filosofi desain di balik IPv6 adalah memiliki ruang alamat yang cukup terstruktur lebih penting daripada menyimpan alamat. Kebetulan, IPv4 dikandung dengan ide yang sama (itulah sebabnya setiap perangkat memiliki 16 juta alamat loopback, tetapi hanya pernah menggunakan alamat 127.0.0.1, dan sebagian besar alamat kelas D dan E tidak digunakan).

Tautan-alamat lokal secara teoritis membuang gazillions alamat IP, tetapi itu tidak dianggap masalah. Demikian pula, memberi setiap pelanggan satu penuh / 56 atau bahkan / 48 secara teknis sangat boros, tetapi bukan masalah nyata.

Ada sisi gelap dari pendekatan ini: klaim bahwa IPv6 dapat memberikan alamat IP untuk setiap butir pasir di dunia (atau semacamnya) adalah omong kosong, sama seperti klaim bahwa IPv4 dapat mendukung 4 miliar perangkat. Pada kenyataannya, saat Anda menambahkan semua limbah di IPv6, Anda akan menemukan bahwa batasannya jauh lebih sempit (masih lebih besar dari IPv4).

Kevin Keane
sumber
0

Saya pikir itu ada 2 hal. Pertama, tautan-lokal tidak dapat dirutekan, sehingga tidak diperlukan ID subnet. Diasumsikan bahwa karena tidak dapat dialihkan, maka apa pun yang mengikuti awalan hingga 64-bit terakhir akan menjadi nol. Kedua, seperti awalan IPv6 serupa lainnya, awalan adalah segalanya hingga bit '1' terakhir. Ini menjaga konsistensi.

Alan Higgins
sumber
1
Jika itu cara kerjanya, itu akan menjadi /9bukan /10.
kasperd