- Yayın tarihi
- Okuma süresi
- 7 dk okuma
IPv6 Prefix Nedir? Ön Ek Uzunluğu Ne Anlama Gelir?
IPv6 prefix (ön ek), adresin soldan kaç bitinin ağı belirlediğini söyler. /N gösterimi, ağ ve ana makine bitleri, /64 sınırı ve tahsis hiyerarşisi örneklerle.
IPv6 ön eki (prefix), bir adresin soldan kaç bitinin ağı tanımladığını söyleyen sayıdır. 2001:db8::/32 yazımındaki /32, ilk 32 bitin sabit olduğunu, geri kalan 96 bitin o blok içinde serbestçe kullanılabildiğini gösterir. Uzunluk arttıkça blok küçülür: /32 büyük bir tahsis, /64 tek bir alt ağ (subnet), /128 tek bir adrestir.
Ön ek gösterimi: adres/uzunluk
Ön ek ipv6-adres/uzunluk biçiminde yazılır. Uzunluk, adresin sol baştan kaç ardışık bitinin ön eke ait olduğunu söyleyen ondalık sayıdır (RFC 4291 (yeni sekmede açılır) §2.3). IPv4'te 255.255.255.0 gibi bir ağ maskesi yazarsınız; IPv6'da maske yazılmaz, yalnızca uzunluk yazılır.
Bir ön ekteki adres sayısı 2(128 − uzunluk) değeridir:
| Ön ek | Sabit bit | Serbest bit | Adres sayısı |
|---|---|---|---|
/32 | 32 | 96 | 296 |
/48 | 48 | 80 | 280 |
/56 | 56 | 72 | 272 |
/60 | 60 | 68 | 268 |
/64 | 64 | 64 | 264 = 18.446.744.073.709.551.616 |
/127 | 127 | 1 | 2 |
/128 | 128 | 0 | 1 |
Ön ek, adres gibi yazılır ve aynı kısaltma kuralları geçerlidir (kısaltma kuralları yazısında anlatılmıştır). Tek dikkat noktası şudur: bir hextet'in (16 bitlik grup) sağındaki sıfırlar atılamaz. 60 bitlik ön ek 2001:db8:0:cd30::/60 olarak yazılır. 2001:db8::cd30/60 ise / işaretinin solunda başka bir adrese, 2001:db8:0:0:0:0:0:cd30 adresine açılır.
2001:db8::1/64 gibi ana makine bitleri (host bits) dolu bir girdiyi katı kipteki kütüphaneler hata sayar. Katı olmayan kipte girdi 2001:db8::/64 ağına indirgenir.
Ağ bitleri ve ana makine bitleri
Ön ek uzunluğu adresi iki parçaya böler: soldaki ağ bitleri, sağdaki ana makine bitleri. 2001:db8:0:1::/64 içinde ilk 64 bit ağı belirler, son 64 bit arayüz kimliğidir (IID). Bloğun ilk adresi ana makine bitlerinin tamamı sıfır olan 2001:db8:0:1::, son adresi hepsi bir olan 2001:db8:0:1:ffff:ffff:ffff:ffff adresidir.
IPv4 alışkanlığıyla "kullanılabilir adres = toplam − 2" hesabı yapmayın. IPv6'da yayın (broadcast) adresi yoktur, bu yüzden bir /64 bloğunun tamamı 264 adres sayılır. Tek kural, alt ağın sıfırıncı adresinin (ön ek ve sıfır IID) o alt ağdaki yönlendiriciler için ayrılmış Subnet-Router anycast adresi olmasıdır; bu adres ana makinelere verilmez. Adres türlerinin tamamı adres türleri yazısında toplanmıştır.
/64 sınırı neden önemlidir?
İkili değeri 000 ile başlamayanlar hariç tüm tekil yayın adreslerinde arayüz kimliği 64 bit olmalıdır (RFC 4291 §2.5.1, §2.5.4). Küresel bir adreste bu, n + m = 64 demektir: n bit yönlendirme ön eki, m bit alt ağ kimliği. Pratik sonuç, bir bağlantıya (link) tipik olarak bir /64 verilmesidir.
Sınır IPv6'nın ilk tasarımında yoktu. RFC 7421 (yeni sekmede açılır) tarihçeyi anlatır: ilk beklenti /80'di; 64 bit iki gerekçeyle yerleşti. Birincisi "sekiz artı sekiz" önerisiydi (sonradan ILNP). İkincisi 64 bitlik EUI-64 donanım adreslerinin yaygınlaşacağı beklentisiydi. Bugün fiilen hemen her IID 64 bittir. RFC 7136 (yeni sekmede açılır) ise IID içindeki bitlerin oluşturulma anı dışında anlam taşımadığını, değerin opak sayılması gerektiğini belirtir.
SLAAC bu sınırı uygular. Yönlendirici duyurusundaki ön ek uzunluğu ile IID uzunluğunun toplamı 128 değilse, duyurudaki ön ek seçeneği yok sayılır (RFC 4862 (yeni sekmede açılır) §5.5.3).
Bir /64'ü daha küçük parçalara, örneğin /96'ya bölmek SLAAC ile çalışmaz. Son kullanıcı bağlantılarını /64 olarak planlayın.
Sınır yönlendirmeyi kapsamaz. Yönlendirme protokolleri /128'e kadar değişken uzunluklu ön eklerle çalışır; yani /64'ten uzun bir ön ek "geçersiz" değildir, yalnızca SLAAC için uygun değildir. Gerçek kullanımdaki iki örnek: yönlendiriciler arası noktadan noktaya bağlantılarda /127 (RFC 6164 (yeni sekmede açılır)) ve tek adres ya da ana makine yolu için /128 (::1/128 gibi).
Tahsis hiyerarşisi: IANA'dan alt ağa
Adresler tek adımda dağıtılmaz. IANA doğrudan servis sağlayıcılara adres vermez; zincir IANA, bölgesel internet kayıt kuruluşu (RIR), servis sağlayıcı ya da kurum (LIR), site, alt ağ ve ana makine sırasındadır.
| Seviye | Tipik ön ek | Not |
|---|---|---|
| Küresel tekil yayın alanı | 2000::/3 | IANA tahsisleri bu aralıktan yapılır |
| RIR bloğu | /12 | Güncel IANA tahsisleri bu boyutta |
| LIR / servis sağlayıcı | /32 ile /29 arası ilk tahsis; farklı boyutlar da var | RIR politikasına bağlı |
| Site (son kullanıcı) | Operatör kararı; /48 yaygın bir örnek, zorunlu değil | RFC 6177 |
| Alt ağ (bağlantı) | /64 | Bir bağlantı için bir /64 |
| Tek ana makine | /128 | 1 adres |
Tablodaki boyutlar "tipik" değerlerdir, kural değildir. Birkaç ayrıntı:
- IANA kaydında beş RIR görünür: APNIC, ARIN, RIPE NCC, LACNIC ve AFRINIC. Güncel tahsisler /12 boyutundadır; bir /12 içinde 220 = 1.048.576 adet /32 ve 236 = 68.719.476.736 adet /48 bulunur.
- RIPE NCC politikasında asgari tahsis /32'dir ve ilk tahsis ek bilgi istenmeden /32'den /29'a kadar verilebilir. Diğer RIR'lerin politikaları farklı olabilir; bu yazı yalnızca RIPE NCC'yi örnek alır.
- RFC 9637 (yeni sekmede açılır), Ağustos 2023 RIR verilerini aktarır: kayıtlı 62.770 tahsis ve atamanın %25,9'u /32'den büyüktü, en yaygın boyut ise /29'du (%24,8). Bu veri o tarihe aittir. "LIR'ler /32 alır" ifadesi yaygın bir başlangıç noktasını anlatır, tek bir kural değildir.
- RFC 6177 (yeni sekmede açılır), eski "her siteye /48" önerisini terk etti. Buna göre /64 ya da daha kısa uzunluktaki her ön ek standartlar açısından çalışır ve /48 varsayılanı mimarinin bir gerekliliği değildir. RFC 6177 ev sitelerine tek bir /64'ten önemli ölçüde fazlasını vermeyi önerir, ama her siteye /48 verilmesini önermez.
Ön ek devri kısaca
Servis sağlayıcı bir müşteri sitesine tek tek adres değil, bir ön ek verir. Bu işleme ön ek devri (prefix delegation) denir. Devredilen ön ek siteye aittir; site yöneticisi onu kendi alt ağlarına /64'ler halinde böler. Adres ataması ayrı bir iştir: DHCPv6 adres atamasında ön ek uzunluğu taşımaz (RFC 7421 §1). Adresin SLAAC, DHCPv6 ya da elle atanmış olması ön eki ve adres türünü değiştirmez; elle atanan arayüz kimlikleri alt ağ ön eki içinde benzersiz olmalıdır.
Örneklerle ön eki okumak
Bir ön eki okurken hextet sınırlarından yararlanın: her hextet 16 bittir, yani bir /16'lık adımdır.
2001:db8::/32: ilk iki hextet (2001:db8) sabit. Bu blokta 65.536 adet /48 ve 4.294.967.296 adet /64 vardır.2001:db8:1::/48: ilk üç hextet sabit. Dördüncü hextet 16 bitlik alt ağ kimliğidir, yani 65.536 adet /64 çıkar.2001:db8:0:cd30::/60: ilk 60 bit sabit, dördüncü hextet'in son basamağı serbest. 16 adet /64 çıkar:2001:db8:0:cd30::/64ile2001:db8:0:cd3f::/64arası.2001:db8:0:1::/64: tek bir alt ağ. Son 64 bit arayüz kimliğidir.2001:db8::1/128: tek bir adres.
Tüm örnek adresler belgelendirme aralığındandır (2001:db8::/32, RFC 3849).
Hextet ortasında biten ön ekler
Ön ek uzunluğu 16'nın katı değilse sınır bir hextet'in ortasına düşer. Bunu görmek için hextet'leri ikili yazın: 2001 değeri 0010 0000 0000 0001, 0db8 değeri 0000 1101 1011 1000 bitlerinden oluşur. 2001:db8::/32 ön eki, bu iki hextet'in 32 bitinin tamamıdır.
/36 için üçüncü hextet'in ilk 4 biti, yani ilk onaltılık basamağı da ön eke girer. 2001:db8:1000::/36 bloğunda üçüncü hextet 1000 ile 1fff arasında değişir; blok 2001:db8:1000:: adresinden 2001:db8:1fff:ffff:ffff:ffff:ffff:ffff adresine uzanır. Uzunluk 4'ün katı olduğunda sınır bir onaltılık basamağa denk gelir ve okumak kolaylaşır.
/50 gibi uzunluklarda sınır bir basamağın da ortasındadır. 2001:db8::/50 bloğunda dördüncü hextet'in ilk iki biti sıfırdır; hextet 0000 ile 3fff arasında değişir ve blok 214 = 16.384 adet /64 içerir. Bu tür uzunluklar yönlendirmede sorun çıkarmaz, ama ters DNS devrinde ek iş doğurur; ayrıntısı ters DNS yazısında anlatılır.
Bir adresin hangi ön ekte olduğunu bulmak
Bir adres, ön ekin sabit bitleriyle aynı bitlere sahipse o ön ektedir. Hextet sınırında biten ön eklerde bu, hextet'leri karşılaştırmak demektir. 2001:db8:1:2::5 adresi 2001:db8:1::/48 içindedir, çünkü ilk üç hextet aynıdır. 2001:db8:2:2::5 adresi ise dışındadır, çünkü üçüncü hextet farklıdır (2 ile 1).
Sınır bir hextet'in ortasına düşünce karşılaştırma bit düzeyine iner. 2001:db8:0:3fff::1 adresi 2001:db8::/50 içindedir, çünkü dördüncü hextet 3fff değeri 0000 ile 3fff aralığına girer. 2001:db8:0:4000::1 ise dışındadır: 4000 değeri 0100 0000 0000 0000 bitleriyle başlar ve ikinci bit bir olduğu için /50 ön ekinin sabit bitlerinden ayrılır. Bu hesabı elle yapmak yerine adresi ve bloğu IPv6 CIDR Hesaplama aracına verip içerme sorusunun yanıtını alabilirsiniz.
Hesaplarken sık yapılan hatalar
- "/64, 64 adres demektir." Doğrusu 264 = 18.446.744.073.709.551.616 adrestir; 64, ağ bitlerinin sayısıdır.
- "/48 içinde 256 tane /64 vardır." Doğrusu 65.536'dır. 256, bir /56'daki /64 sayısıdır.
- "Uzunluk büyükse blok geniştir." Tersine, uzunluk arttıkça blok küçülür: /32 > /48 > /64.
- IPv6 için ağ maskesi yazmak. Yalnızca ön ek uzunluğu yazılır.
- Ön ekte sağdaki sıfırı atmak. Hextet'in solundaki sıfırlar atılır, sağdakiler atılmaz.
- "/64'ten uzun ön ek geçersizdir." Yönlendirme için geçerlidir; SLAAC için değildir.
Hesaplama araçları
Üç araç bu konuyu kapsar. IPv6 Prefix Hesaplama bir ön eki /48, /56, /64 gibi alt ön eklere böler. IPv6 Subnet Hesaplama ağı, ilk ve son adresi ve alt ağ sayısını hesaplar. IPv6 CIDR Hesaplama bir CIDR bloğunu çözümler ve bir adresin ya da bloğun başka bir blok içinde olup olmadığını sorgular.
Sonucu kontrol etmek için bir ölçüt: 2001:db8::/48 bloğunu /64'lere böldüğünüzde 65.536 satır çıkmalı, ilk üçü 2001:db8::/64, 2001:db8:0:1::/64 ve 2001:db8:0:2::/64 olmalıdır.
Proxy açısından ön ek
IPv6 proxy satın alırken "size özel /64 subnet" ifadesiyle karşılaşabilirsiniz. IPv6 Proxy ürün sayfasında paketlerin size özel bir /64 subnet ile verildiği belirtilir; paketler arasında yalnızca adres adedi (100, 500, 2.500 ve 15.000) ve tutar değişir. Bu ifadeyi yukarıdaki matematik açıklar: /64 bir bloktur, paketteki adres adedi ise o blok içinden size tahsis edilen adrestir. Rotasyon yöntemi ve paket süresi ürün sayfasında tanımlanmamıştır, ülke seçimi ise sipariş adımında sunulmaz; bu konularda sipariş öncesinde destekten teyit edin. /32, /48 ve /64 arasındaki farkların proxy açısından anlamı ayrı bir yazıda ele alınır.
Sık sorulan sorular
IPv6 prefix nedir?
Prefix (ön ek), bir IPv6 adresinin soldan kaç bitinin ağı tanımladığını gösteren bölümdür ve adres/uzunluk biçiminde yazılır. 2001:db8::/32 ilk 32 bitin sabit olduğu, geri kalan 96 bitin serbest olduğu bir bloğu ifade eder.
IPv6'da alt ağ standardı neden /64'tür?
Küresel tekil yayın adreslerinde arayüz kimliği 64 bit olmalıdır ve SLAAC, ön ek uzunluğu ile arayüz kimliği uzunluğunun toplamı 128 değilse yönlendirici duyurusundaki ön eki yok sayar. Bu yüzden bir bağlantıya tipik olarak bir /64 verilir.
Bir /48 içinde kaç tane /64 vardır?
65.536 tane. /48'den /64'e geçerken 16 bit eklendiği için 2 üssü 16 adet /64 çıkar. 256 sayısı bir /56'daki /64 sayısıdır, /48'deki değil.
IPv6'da ağ maskesi yazılır mı?
Hayır. IPv4'teki 255.255.255.0 gibi bir maske yazılmaz; yalnızca ön ek uzunluğu (örneğin /64) yazılır.
Ön ek uzunluğu büyüdükçe blok büyür mü küçülür mü?
Küçülür. Uzunluk sabit bit sayısıdır; sabit bit arttıkça serbest bit azalır. Bu yüzden bir /32 bloğu /48'den, bir /48 bloğu /64'ten büyüktür.
/112İlgili sayfalar
- AraçIPv6 Prefix HesaplamaBir ön eki /48, /56, /64 gibi alt ön eklere böler
- AraçIPv6 Subnet HesaplamaAğ, ilk/son adres ve alt ağ sayısını hesaplar
- AraçIPv6 CIDR HesaplamaCIDR bloğunu çözümler, adres/blok içerme sorgular
- RehberIPv6 /32, /48 ve /64 Arasındaki FarklarIPv6 /32, /48 ve /64 ön eklerinin rolleri, adres sayıları ve aralarındaki 65.536 katlık geçiş; bir /64'ten çıkış…