- Yayın tarihi
- Okuma süresi
- 6 dk okuma
IPv6 Subnet Planlama: Bir /48 Bloğunu Nasıl Bölersiniz?
Bir /48 ön eki /52, /56 ve /64 bloklarına nasıl bölünür? Onaltılık basamak hizalaması, lokasyon-işlev-VLAN hiyerarşisi, örnek plan tablosu ve DNS notları.
Bir /48 bloğu 65.536 adet /64 alt ağ taşır ve bu sayı, çoğu kurumun ihtiyacından çok büyüktür. Asıl iş adres bulmak değil, bloğu öyle bölmektir ki bir adresin ilk bakışta hangi lokasyona ve hangi işleve ait olduğu okunsun. Bu yazı, onaltılık basamak sınırlarına hizalanmış üç kademeli bir plan kurar ve belgelendirme ön ekiyle örneklendirir.
Yazıdaki tüm adresler 2001:db8::/32 belgelendirme aralığındandır (RFC 3849 (yeni sekmede açılır)). Örnek adres, gerçek bir ağı göstermez.
Bölmeye başlamadan önce: 16 bitlik alt ağ alanı
Küresel tekil yayın adreslerinde arayüz kimliği 64 bittir; bu yüzden bir /48 sahibinin elinde 16 bit alt ağ kimliği kalır (RFC 4291 (yeni sekmede açılır), bölüm 2.5.4). Bu 16 bit, adresin 4. hextet'inin (16 bitlik grubunun) tamamıdır. Plan yapmak, bu dört onaltılık basamağa anlam yüklemek demektir.
2001:db8:abcd::/48 ön eki için adres şu parçalardan oluşur:
2001:db8:abcd : L F V V : 0000:0000:0000:0000
|______________| |____| |____________________|
/48 ön ek alt ağ arayüz kimliği
kimliği (64 bit)Dört basamağın her biri 4 bittir. Hangi basamağa hangi anlamı verdiğiniz, hangi ön ek uzunluklarının planın "doğal" sınırları olacağını belirler.
| Uzunluk | Hangi basamakta biter | Bu uzunlukta kaç blok (/48 içinde) | Blok başına /64 |
|---|---|---|---|
| /52 | 4. hextet'in 1. basamağı | 16 | 4.096 |
| /56 | 4. hextet'in 2. basamağı | 256 | 256 |
| /60 | 4. hextet'in 3. basamağı | 4.096 | 16 |
| /64 | 4. hextet'in 4. basamağı | 65.536 | 1 |
Sayıları doğrulamak için bölme kuralı yeter: ön ek uzunluğu k bit artarsa blok sayısı 2k kat çoğalır. /48'den /56'ya 8 bit eklenir, yani 28 = 256 blok çıkar. Elle hesabın ayrıntısı için IPv6 adresleri nasıl hesaplanır yazısına bakabilirsiniz.
Neden onaltılık basamak sınırına hizalamalı?
Ön ek uzunluğu 4'ün katı değilse blok sınırı bir basamağın ortasına düşer. Örneğin /50 bloklarının başlangıçları 0000, 4000, 8000 ve c000 olur; ağ adresine bakarak bloğun uzunluğunu söylemek zorlaşır. 4'ün katı olan uzunluklarda ise adresin geri kalan basamakları sıfırdır ve bloğun büyüklüğü adrese bakarak okunur: 2001:db8:abcd:1100::/56 yazısında "son iki basamak serbest" bilgisi görünür.
Hizalamanın ikinci faydası DNS'tedir. Ters çözümleme bölgeleri (ip6.arpa) her onaltılık basamağı ayrı bir etiket yapar ve bölge devri basamak sınırlarında yapılır; hizasız bir ön ek birden çok bölgeyle devredilir. Ayrıntı IPv6 ters DNS yazısında anlatılıyor.
Basamak sınırına hizalama bir zorunluluk değil, okunabilirlik tercihidir. Yönlendirme ve adresleme /50 ya da /58 gibi uzunluklarla da sorunsuz çalışır; bedeli elle okumanın ve ters bölge yönetiminin zorlaşmasıdır.
Strateji 1: Düz bölme, lokasyon başına bir /56
En basit plan, 4. hextet'in ilk iki basamağını birim kimliği, son iki basamağını alt ağ numarası yapar. Her birim (şube, veri merkezi, ortam) bir /56 alır ve içinde 256 adet /64 barındırır.
| Birim | Ön ek | /64 sayısı |
|---|---|---|
| Merkez ofis | 2001:db8:abcd::/56 | 256 |
| Şube 1 | 2001:db8:abcd:100::/56 | 256 |
| Şube 2 | 2001:db8:abcd:200::/56 | 256 |
| Veri merkezi | 2001:db8:abcd:300::/56 | 256 |
Bu planda 256 birim sığar ve her birimin 256 alt ağı vardır. Birim sayısı az, her birimin içinde de ayrım gerekmiyorsa yeterlidir. Kusuru, birimin içindeki işlev ayrımının (kullanıcı, sunucu, yönetim) yalnızca alt ağ numarasına bırakılmasıdır; bu da zamanla belgesiz bir numaralama alışkanlığına dönüşür.
Strateji 2: Üç kademeli hiyerarşi
Daha okunaklı plan, dört basamağı üç role ayırır: ilk basamak lokasyon, ikinci basamak işlev, son iki basamak VLAN ya da alt ağ numarasıdır.
- 1. basamak (L), /52 kademesi: 16 konum.
- 2. basamak (F), /56 kademesi: lokasyon başına 16 işlev grubu.
- 3. ve 4. basamak (VV), /64 kademesi: işlev grubu başına 256 alt ağ.
Hesap tutarlıdır: 16 × 16 × 256 = 65.536. Plan, /48'in tüm alt ağ alanını boşa harcamadan kullanır.
Örnek plan tablosu
Aşağıdaki tabloda 2001:db8:abcd::/48 bloğu için bir kurum planı var. Lokasyon 0 merkez, lokasyon 1 ikinci şubedir; işlev kodları 0 altyapı, 1 sunucu, 2 kullanıcı, f ayrılmış paydır.
| Ön ek | Uzunluk | Anlamı |
|---|---|---|
2001:db8:abcd::/52 | /52 | Lokasyon 0, merkez (4.096 alt ağ) |
2001:db8:abcd::/56 | /56 | Merkez, altyapı ve yönetim |
2001:db8:abcd:100::/56 | /56 | Merkez, sunucular |
2001:db8:abcd:200::/56 | /56 | Merkez, kullanıcı ağları |
2001:db8:abcd:f00::/56 | /56 | Merkez, ayrılmış (büyüme payı) |
2001:db8:abcd:1000::/52 | /52 | Lokasyon 1, ikinci şube |
2001:db8:abcd:1100::/56 | /56 | Şube, sunucular |
2001:db8:abcd:105::/64 | /64 | Merkez, sunucular, VLAN 5 (onaltılık) |
Son satırı okumak için hextet'i basamaklara ayırın: 0105 = lokasyon 0, işlev 1, alt ağ 05. Bir adres günlüğünde 2001:db8:abcd:105:: gördüğünüzde, merkezdeki sunucu ağlarından birinde olduğunu tablo bakmadan söyleyebilirsiniz.
Burada seçilen /56 birimi iç bölme kolaylığıdır. RFC 6177 (yeni sekmede açılır), sitelere hangi boyutun verileceğini operatör kararı olarak bırakır; bu yazıdaki /56 bir RFC önerisi değildir. Bir servis sağlayıcıdan aldığınız bloğun boyutu da sizin planınızı değil, onun politikasını yansıtır.
Hangi alt ağlar mutlaka /64 olmalı?
Kullanıcı ya da sunucu ağı gibi ana makinelerin bulunduğu bağlantılar için /64 kullanın. SLAAC, yönlendirici duyurusundaki ön ek uzunluğu ile arayüz kimliğinin toplamı 128 değilse ön ek bilgisini yok sayar (RFC 4862 (yeni sekmede açılır), bölüm 5.5.3). Bu yüzden bir LAN'ı /96 gibi bir uzunluğa bölmek SLAAC ile çalışmaz.
İki istisna vardır:
- Yönlendiriciler arası bağlantılar: RFC 6164 (yeni sekmede açılır) bu tür noktadan noktaya bağlantılarda 127 bitlik ön eki yararlı bulur. Plan açısından en temiz yol, bağlantıya yine bir /64 ayırmak ve iki ucu bu /64'ün içinden /127 olarak yapılandırmaktır. Böylece sonradan bir değişiklik yapmak gerekirse numara planı bozulmaz.
- Tek adresler: Geri döngü (loopback) adresleri /128 olarak yazılır. Bunları tek bir ayrılmış /64'ten verin; her birini ayrı bir alt ağa koymayın.
Alt ağın ilk adresi ana makinelere verilmez: ana makine bitleri sıfır olan adres, yönlendiriciler için tanımlı Subnet-Router anycast adresidir (RFC 4291, bölüm 2.6.1). Planınızda "ilk ana makine ::1 olsun" kuralı koymanız bu yüzden mantıklıdır.
Büyüme payı ve numaralandırma
Adres uzayı bolken bloğu sıkıştırarak kullanmanın bir kazancı yoktur. Üç öneri:
- Her kademede boş bırakın. Lokasyonlara 0, 1, 2 diye ardışık gitmek yerine ilk basamağın bir bölümünü ayırın. Örnekte
fişlevi bilerek ayrılmış tutuldu. - Anlam taşıyan kod kullanın. VLAN kimliğiniz zaten bir numaraysa alt ağ numarasını onunla eşleştirmek (VLAN 5 →
05) tablolardaki yükü azaltır. VLAN kimliği 255'i aşıyorsa bu eşleme bozulur; bunu planın başında kontrol edin. - Bir kademeyi "bilinmeyen" için saklayın. Beklenmedik bir ihtiyaç doğduğunda yeni bir /52 ya da /56 ayırabilmek, mevcut bloğu taşımaktan çok daha ucuzdur.
Belgeleme ve DNS notları
Plan kâğıt üzerinde kaldıkça değer taşımaz. Her bloğun yanında şu bilgiler yazılı olmalıdır: ön ek, sahibi, işlevi, ayrıldığı tarih, bağlı olduğu yönlendirici arayüzü. Bir tabloda tutmak yeterlidir; adres yönetim aracı (IPAM) kullanıyorsanız aynı alanları oraya taşıyın.
DNS tarafında iki pratik kural işe yarar:
- Ters bölgeleri plana göre devredin. Bir /56 ya da /52 birimi kendi ters bölgesini ayrı bir ekip yönetsin istiyorsanız bölge adı basamak sınırından türetilir.
2001:db8:abcd::/48için bölge adı, ilk 12 basamağın ters yazılmasıylad.c.b.a.8.b.d.0.1.0.0.2.ip6.arpaolur; hesaplamayı IPv6 Ters DNS Oluşturucu yapar. - Adres yerine ad kullanın. Sunuculara ve hizmetlere kararlı adlar verin ve AAAA kaydını planınıza göre üretin; adres değiştiğinde yalnızca kayıt güncellenir.
Bir not da proxy kullananlar içindir. Bir hizmet sağlayıcının verdiği bloğu alt ağlara bölmek, size verilen adres sayısıyla aynı şey değildir; örneğin IPv6 Proxy sayfasında paketlerin adet bazlı satıldığı ve her pakette özel bir /64 subnet verildiği belirtilir. /64 bloğu içindeki adreslerin nasıl tahsis edildiği ve döndürüldüğü sayfada tanımlı değildir; ayrıntı için sipariş öncesi destekten teyit alın.
Planı araçla üretmek ve doğrulamak
Elle yazılmış bir plan hata taşıyabilir. IPv6 Prefix Hesaplama aracı bir bloğu istediğiniz uzunluğa böler; IPv6 Subnet Hesaplama ve IPv6 CIDR Hesaplama araçları bir adresin hangi bloğa düştüğünü doğrular.
Aynı bölmeyi Python standart kütüphanesiyle de üretebilirsiniz:
import ipaddress
from itertools import islice
# Örnek /48 (belgelendirme aralığı)
site = ipaddress.ip_network("2001:db8:abcd::/48")
# /52 kademesi: ilk üç lokasyon
konumlar = list(islice(site.subnets(new_prefix=52), 3))
for k in konumlar:
print(k)
# 2001:db8:abcd::/52
# 2001:db8:abcd:1000::/52
# 2001:db8:abcd:2000::/52
# Lokasyon 0 içindeki /56 işlev blokları: ikincisi sunucular
islevler = list(konumlar[0].subnets(new_prefix=56))
print(islevler[1]) # 2001:db8:abcd:100::/56
# Sunucu bloğunun ilk /64 alt ağları
for ag in islice(islevler[1].subnets(new_prefix=64), 3):
print(ag)
# 2001:db8:abcd:100::/64
# 2001:db8:abcd:101::/64
# 2001:db8:abcd:102::/64Kodun çıktısı tablodaki satırlarla tutuyorsa plan tutarlıdır. subnets yöntemi bloğu sırayla ve çakışmasız böldüğünden elle yazdığınız her satırı bu çıktıyla karşılaştırabilirsiniz.
Sık yapılan planlama hataları
- Bölmeyi 64'ün altında bitirmek. Ana makine ağını /80 gibi bir uzunluğa bölmek SLAAC'i bozar; sınır /64'tür.
- Hextet'te sondaki sıfırı atmak.
2001:db8:abcd:1::/56ile2001:db8:abcd:100::/56farklı bloklardır; ilki /56 olarak yazılamaz, çünkü ana makine bitleri sıfır değildir. - 256 ile 65.536'yı karıştırmak. Bir /56 içinde 256, bir /48 içinde 65.536 adet /64 vardır.
- Planı tek kişinin kafasında tutmak. Belgesiz plan, ilk devir tesliminde dağılır.
- Hazır tabloyu kopyalamak. Bu yazıdaki tablo bir örnektir; kendi lokasyon, işlev ve VLAN sayınızla yeniden hesaplayın.
Ön ek kavramının kendisi için IPv6 prefix nedir, /32, /48 ve /64 uzunluklarının rolleri için /32, /48 ve /64 farkları yazılarına bakın.
Sık sorulan sorular
Bir /48 bloğunu bölerken hangi uzunlukları seçmek mantıklı?
Onaltılık basamak sınırına denk gelen /52, /56 ve /60 uzunlukları en okunaklı olanlardır, çünkü her biri adresin bir basamağını belirler. Alt ağların kendisi ise /64 olmalıdır; SLAAC kullanılan bir bağlantı için bu uzunluk gerekir.
Bir /48 içinde kaç tane /56 vardır?
256 tane (2^8). Her /56 bloğu da 256 adet /64 taşır; 256 × 256 çarpımı /48'deki toplam 65.536 alt ağı verir.
Alt ağ planını neden aralıklı yapmalıyım?
Ardışık dağıtılan bloklar büyüdüğünde taşınmak zorunda kalır, taşınan blok da kural listelerini, DNS kayıtlarını ve belgeleri değiştirir. Adres uzayı bol olduğundan her birime sonraki iki üç düzey için yer ayırmak ucuz bir sigortadır.
Yönlendiriciler arası bağlantıya hangi ön ek verilir?
RFC 6164, bu tür noktadan noktaya bağlantılarda 127 bitlik ön eki yararlı bulur. Pratikte bağlantıya yine bir /64 ayırıp yalnızca iki ucu /127 olarak yapılandırmak, planı bozmadan ilerideki değişikliğe yer bırakı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 Adresleri Nasıl Hesaplanır? Adım Adım Subnet HesabıIPv6 subnet hesaplamasını elle yapın: ön ek uzunluğundan adres sayısını, ağ adresini, ilk ve son adresi bulun. /64,…