İçeriğe atla
tolgahat.com
REHBERAğ

Subnet ve CIDR: sıfırdan alt ağ hesaplama rehberi

Subnet ve CIDR hesaplamayı adım adım öğrenin: ikili hesap, sihirli sayı kısayolu, VLSM ile alt ağlara bölme, rota özetleme ve IPv6'da /64 mantığı.

THTolga HatipoğluYayın 11 dk okuma
HIZLI CEVAP
CIDR gösterimindeki önek (ör. /26), 32 bitlik IPv4 adresinin kaç bitinin ağı tanımladığını söyler; kalan bitler konak kısmıdır. Bir alt ağdaki adres sayısı 2^(32 − önek), kullanılabilir konak sayısı bundan 2 eksiğidir: /24 = 256 adres, 254 konak; /26 = 64 adres, 62 konak. Ağ adresi, adres ile maskenin bit düzeyinde VE işlemiyle; yayın adresi, ağ adresinin joker maskeyle VEYA işlemiyle bulunur. Sonucu IP Subnet Hesaplama aracı ile kontrol edin.

Subnet hesaplama ne zaman gerekir

Alt ağ hesabını en çok dört işte yapıyorum. Birincisi VLAN tasarımı: her VLAN bir alt ağdır ve boyutu bugünkü cihaz sayısına değil, büyümeye göre seçilir. Overlay ağlarda da öyle; NSX ve Hyper-V ağ sanallaştırması yazısındaki her mantıksal segment de bir CIDR bloğu ister.

İkincisi güvenlik duvarı kuralı: kaynak bloğu bir bit geniş yazarsanız istemediğiniz yarım ağa da izin verirsiniz. Windows Server 2025 sertleştirme listesindeki kaynak IP kısıtları da bu hesaba dayanır.

Üçüncüsü bulut VPC tasarımı. AWS belgesine göre IPv4 alt ağı /16 ile /28 arasında olur ve her alt ağın ilk dört ve son adresi ayrılmıştır; Azure da beş adres ayırır, en küçük alt ağı /29'dur. Bulutta bir /28 bu yüzden 14 değil, 11 adres verir.

Dördüncüsü sunucu IP planı: yönetim, depolama ve yedekleme ağları için çakışmayan bloklar.

Ön koşullar: IP adresi, maske ve CIDR gösterimi

Tek ön koşul ikili sayı okumak. Bir oktette bitlerin basamak değerleri soldan sağa 128, 64, 32, 16, 8, 4, 2, 1'dir; 77 = 64 + 8 + 4 + 1 = 01001101.

Ağ kısmı ve konak kısmı

IPv4 adresi 32 bitlik bir sayıdır; 8 bitlik dört oktet hâlinde noktalı ondalık yazılır. Önek uzunluğu soldan kaç bitin ağı tanımladığını söyler. Aynı ağdaki cihazlarda ağ kısmı aynı, konak kısmı farklıdır. Konak kısmının tamamı 0 olan adres ağ adresi, tamamı 1 olan adres yayın (broadcast) adresidir.

Alt ağ maskesi ve CIDR öneki

Alt ağ maskesi (subnet mask), ağ bitlerinin yerinde 1, konak bitlerinin yerinde 0 taşıyan 32 bitlik sayıdır. /26 maskesi 26 adet 1 ve 6 adet 0'dır: 255.255.255.192. CIDR (Classless Inter-Domain Routing, sınıfsız alanlar arası yönlendirme) gösterimi aynı bilgiyi "/26" diye yazar.

Joker maske

Joker maske (wildcard mask), alt ağ maskesinin bit bit tersidir: 255.255.255.192'nin joker maskesi 0.0.0.63'tür. Cisco ACL'leri ve OSPF ağ tanımları maske yerine bunu ister.

Önek tablosu

ÖnekAlt ağ maskesiJoker maskeToplam adresKullanılabilir konak
/8255.0.0.00.255.255.25516.777.21616.777.214
/12255.240.0.00.15.255.2551.048.5761.048.574
/16255.255.0.00.0.255.25565.53665.534
/17255.255.128.00.0.127.25532.76832.766
/18255.255.192.00.0.63.25516.38416.382
/19255.255.224.00.0.31.2558.1928.190
/20255.255.240.00.0.15.2554.0964.094
/21255.255.248.00.0.7.2552.0482.046
/22255.255.252.00.0.3.2551.0241.022
/23255.255.254.00.0.1.255512510
/24255.255.255.00.0.0.255256254
/25255.255.255.1280.0.0.127128126
/26255.255.255.1920.0.0.636462
/27255.255.255.2240.0.0.313230
/28255.255.255.2400.0.0.151614
/29255.255.255.2480.0.0.786
/30255.255.255.2520.0.0.342
/31255.255.255.2540.0.0.122 (RFC 3021)
/32255.255.255.2550.0.0.011 (tek konak)

Adımlar: elle subnet hesaplama (192.168.10.77/26)

192.168.10.77'nin 32 biti: ilk 26 bit ağ, son 6 bit konak. Maske 255.255.255.192. VE işlemi ağ adresi 192.168.10.64'ü, konak bitleri bire çevrilince yayın adresi 192.168.10.127'yi verir; konaklar .65 ile .126 arası 62 adres.
Şekil 1. 192.168.10.77/26 adresinin bit düzeyinde ağ ve konak kısmı.
  1. Adresi ve maskeyi ikiliye çevirin

    Her okteti 8 bite çevirin. /26 maskesinde ilk üç oktet tamamen 1'dir; dördüncü oktette ilk 2 bit 1, kalan 6 bit 0'dır (128 + 64 = 192).

    Adres    192.168.10.77    11000000.10101000.00001010.01001101
    Maske    255.255.255.192  11111111.11111111.11111111.11000000
    Joker    0.0.0.63         00000000.00000000.00000000.00111111
  2. Maskeyi uygulayın: VE işlemi

    VE (AND) işleminde iki bit de 1 ise sonuç 1, aksi hâlde 0'dır; böylece konak bitleri sıfırlanır.

    Adres    11000000.10101000.00001010.01001101
    Maske    11111111.11111111.11111111.11000000
    VE       11000000.10101000.00001010.01000000  = 192.168.10.64
  3. Ağ adresini yazın

    VE sonucu ağ adresidir: 192.168.10.64. Alt ağın kimliğidir; kurallarda 192.168.10.64/26 olarak geçer, konağa atanmaz.

  4. Yayın adresini bulun: VEYA joker

    Ağ adresini joker maskeyle VEYA (OR) işleminden geçirin; konak bitleri 1 olur.

    Ağ       11000000.10101000.00001010.01000000
    Joker    00000000.00000000.00000000.00111111
    VEYA     11000000.10101000.00001010.01111111  = 192.168.10.127

    Yayın adresi 192.168.10.127'dir.

  5. İlk ve son konağı belirleyin

    İlk konak ağ adresinin bir fazlası, son konak yayın adresinin bir eksiğidir: 192.168.10.65 – 192.168.10.126. Ağ geçidini ilk ya da son konağa verin, ama her VLAN'da aynı kuralı izleyin.

  6. Konak sayısını hesaplayın

    Konak biti sayısı 32 − 26 = 6. Toplam adres 2⁶ = 64, kullanılabilir konak 64 − 2 = 62. Sonucu bu örneği araçta açarak karşılaştırın.

Sihirli sayı kısayolu

İkili yazmadan da hesaplayabilirsiniz. Maskenin 255 olmayan ilk ("ilginç") oktetini bulun. Sihirli sayı 256 eksi o oktettir ve alt ağlar bu sayının katlarında başlar. Adresin o oktetteki değerine eşit ya da küçük en büyük kat ağ adresini, bir sonraki katın bir eksiği yayın adresini verir.

İki örnek daha:

  • 172.16.37.200/20: Maske 255.255.240.0, ilginç oktet üçüncü (240), sihirli sayı 16. 37'nin altındaki en büyük 16 katı 32. Ağ 172.16.32.0, yayın 172.16.47.255, konaklar 172.16.32.1 – 172.16.47.254, 4.094 konak.
  • 10.4.130.9/13: Maske 255.248.0.0, ilginç oktet ikinci (248), sihirli sayı 8. 4'ün altındaki en büyük 8 katı 0. Ağ 10.0.0.0, yayın 10.7.255.255, konaklar 10.0.0.1 – 10.7.255.254, 524.286 konak.

Araçta doğrulayın: 172.16.37.200/20, 10.4.130.9/13.

Alt ağlara bölme (subnetting)

Bir /24'ü dört /26'ya bölmek

Öneki n bit uzatmak bloğu 2ⁿ eşit parçaya böler: /24'ten /26'ya 2 bit, yani 4 alt ağ, her biri 64 adres.

192.168.10.0/24 dört /26'ya bölünür: .0/26 (konaklar .1–.62), .64/26 (.65–.126), .128/26 (.129–.190), .192/26 (.193–.254); her biri 64 adres, 62 konak. 192.168.10.77 ikinci alt ağdadır.
Şekil 2. 192.168.10.0/24 bloğunun dört /26 alt ağa bölünmesi, ölçekli.

Aynı listeyi 192.168.10.0/24'ü araçta açıp bölme önekini /26 seçerek alırsınız.

Değişken uzunluklu maske (VLSM)

VLSM (Variable Length Subnet Masking, değişken uzunluklu alt ağ maskesi) her ihtiyaca kendi boyutunda blok verir. Örnek: 192.168.50.0/24 içinde 100 konaklık kullanıcı, 50 konaklık sunucu, 20 konaklık yönetim ağı ve 2 konaklık yönlendirici bağlantısı.

Kural: ihtiyaçları büyükten küçüğe sıralayın, her birine "konak + 2"yi karşılayan en küçük 2'nin kuvvetini verin ve kendi boyutunun katı olan ilk boş adrese yerleştirin.

İhtiyaçGereken blokAlt ağKonak aralığıYayın
100 konak/25 (126)192.168.50.0/25.1 – .126.127
50 konak/26 (62)192.168.50.128/26.129 – .190.191
20 konak/27 (30)192.168.50.192/27.193 – .222.223
2 konak/30 (2)192.168.50.224/30.225 – .226.227
192.168.50.0/24 şeridi: .0–.127 /25 (100 konak), .128–.191 /26 (50 konak), .192–.223 /27 (20 konak), .224–.227 /30 (2 konak); .228–.255 arası 28 adres boş.
Şekil 3. VLSM ile 192.168.50.0/24 içinde büyükten küçüğe yerleşim.

Kalan .228 – .255 arası 28 adres ileride .228/30, .232/29 ve .240/28 olarak kullanılabilir. Bağlantı için /30 yerine /31 (192.168.50.224/31) de seçilebilir.

Süper ağ ve rota özetleme

Ardışık ve hizalı blokları tek bir kısa önekle ilan etmeye süper ağ (supernetting) ya da rota özetleme (route summarization) denir. RFC 4632'deki CIDR planının amacı da budur: alt bloklar yerine tek bir toplu rota ilan etmek.

Örnek: 10.20.0.0/24, 10.20.1.0/24, 10.20.2.0/24 ve 10.20.3.0/24. Üçüncü oktetler 0, 1, 2, 3; ikili olarak 000000 00 ile 000000 11 arası, yani ilk 6 bit ortak. Ortak bit sayısı 16 + 6 = 22: özet rota 10.20.0.0/22 (10.20.0.0 – 10.20.3.255, 1.024 adres). Dört rota bire iner.

Özetin şartı hizalamadır: /22 üçüncü oktette 4'ün katında başlamalıdır. 10.20.1.0 – 10.20.4.255 arasındaki dört /24 tek /22 ile özetlenemez; 10.20.1.0/24, 10.20.2.0/23 ve 10.20.4.0/24 olmak üzere üç rota gerekir. Özeti araçta 10.20.0.0/22 ile kontrol edebilirsiniz.

Özel ve özel amaçlı IPv4 aralıkları

BlokKullanımKaynak
10.0.0.0/8Özel adresRFC 1918
172.16.0.0/12 (172.16.0.0 – 172.31.255.255)Özel adresRFC 1918
192.168.0.0/16Özel adresRFC 1918
100.64.0.0/10Operatör CGNAT'ı (paylaşılan alan)RFC 6598
169.254.0.0/16Bağlantı yerel (link-local); Windows'ta APIPARFC 3927
127.0.0.0/8Geri döngü (loopback)RFC 1122
192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24Belgeleme (TEST-NET-1/2/3)RFC 5737
198.18.0.0/15Kıyaslama testleriRFC 2544
224.0.0.0/4Çok noktaya yayın (multicast)RFC 5771
240.0.0.0/4AyrılmışRFC 1112

Güncel listenin tamamı IANA'nın RFC 6890 ile tanımlanan kayıt defterindedir. 100.64.0.0/10'u "dördüncü özel blok" gibi kullanmayın: RFC 6598 bu alanın RFC 1918'den ayrı olduğunu ve operatör ağları için ayrıldığını yazıyor. Belgelerde RFC 5737 bloklarını kullanın.

IPv6'da alt ağ: /64, /56, /48 ve /127

IPv6 adresi 128 bittir, aynı önek mantığıyla çalışır ve yayın adresi yoktur. RFC 4291, 000 ile başlayanlar dışındaki tüm unicast adreslerde arayüz kimliğinin (interface ID) 64 bit olmasını ister. SLAAC, gizlilik uzantıları (RFC 4941) ve CGA bu sınıra dayanır; RFC 7421 bağımlılıkları tek tek analiz eder. Sonuç: konak bulunan her LAN /64'tür; Azure da IPv6 alt ağlarını tam /64 ister.

RFC 6177, eski "her siteye /48" önerisini tek varsayılan olmaktan çıkarır ve ev kullanıcıları için /56 gibi atamaları makul bulur. Bir /48 içinde 2¹⁶ = 65.536, bir /56 içinde 2⁸ = 256 adet /64 vardır. Yönlendiriciler arası bağlantılar için RFC 6164 /127 önerir; /64'lük bağlantıda komşu önbelleği tüketme (neighbor cache exhaustion) ve ping-pong döngüsü riski vardır.

Yazım kuralları RFC 5952'dedir: her 16 bitlik gruptaki baştaki sıfırlar atılır, en uzun ardışık sıfır grubu :: ile kısaltılır (tek bir sıfır grubu kısaltılmaz, eşitlikte ilki seçilir) ve harfler küçük yazılır. Örnek: 2001:0db8:abcd:0012:0000:0000:0000:0000/64 kısaltılmış hâliyle 2001:db8:abcd:12::/64; aralık 2001:db8:abcd:12:: ile 2001:db8:abcd:12:ffff:ffff:ffff:ffff arası, 2⁶⁴ adres. Bu IPv6 örneğini araçta açın.

Doğrulama

Elle hesabı iki yoldan kontrol ediyorum: araçla karşılaştırmak ve cihazdaki yapılandırmayı okumak. IP Subnet Hesaplama aracı ağ, yayın, konak aralığı, joker maske ve bölmeyi tarayıcıda hesaplar. Dışarıya çıktığınız genel adres için IP adresim aracına bakın.

Windows'ta arayüzün adresini ve önekini PowerShell ile okuyun:

Get-NetIPAddress -AddressFamily IPv4 | Select-Object InterfaceAlias, IPAddress, PrefixLength
Get-NetIPConfiguration

Linux'ta ip adresi CIDR gösterimiyle verir; kuruluysa ipcalc hesabı da yapar (Debian ve RHEL ailesindeki ipcalc farklı programlardır).

ip -br addr
ip route
ipcalc 192.168.10.77/26

Kontrol listesi:

  • Cihazdaki önek, IP planındaki önekle aynı.
  • Atanan adres ağ ya da yayın adresi değil.
  • Ağ geçidi aynı alt ağın içinde.
  • Yeni blok, plandaki hiçbir blokla kesişmiyor.

Sık yapılan hatalar

Ağ veya yayın adresini konağa vermek. /26'da .64'ü "sıradan bir adres" sanıp sunucuya vermek tipik hatadır. Ağ ve yayın adresi /31 ve /32 dışında konağa atanmaz.

Maske ile önek uyuşmazlığı. Alt ağ 192.168.10.64/26 iken sunucuya 255.255.255.0 yazılırsa sunucu .0 – .63 ve .128 – .255 adreslerini yerel sanar, onlara ağ geçidi yerine ARP ile ulaşmaya çalışır ve başarısız olur.

VLSM'de çakışma. Blokları hizalamadan ya da küçükten büyüğe yerleştirmek çakışma üretir.

/31'i her yerde reddetmek. RFC 3021 2000'den beri /31'i noktadan noktaya bağlantılar için tanımlar ve adres harcamasını yarıya indirir. /30 alışkanlığını sorgulayın; iki ucun da desteklediğini cihaz belgesinden doğrulayın.

255.255.255.0'ı "C sınıfı" sanmak. Yaygın ama yanlış: 10.1.2.0/24 sınıflı düzende A sınıfı bloğun parçasıdır.

Kaynaklar

Sık sorulan sorular

/24 kaç IP adresi içerir?

/24 bloğunda 2⁸ = 256 adres vardır. İlk adres ağ adresi, son adres yayın adresi olduğu için 254 adres konaklara atanabilir. Alt ağ maskesi 255.255.255.0'dır.

/31 alt ağ neden kullanılır?

İki yönlendiricinin arasındaki noktadan noktaya bağlantıda adres harcamamak için. RFC 3021'e göre /31'deki iki adres de konak adresidir; ağ ve yayın adresi yoktur. Böylece her bağlantı /30'daki dört adres yerine iki adres kullanır.

CIDR gösterimi ile alt ağ maskesi arasındaki fark nedir?

İkisi aynı bilgiyi farklı yazar. CIDR gösterimi (/26) adresin kaç bitinin ağ kısmı olduğunu sayıyla verir; alt ağ maskesi (255.255.255.192) aynı bitleri noktalı ondalık biçimde yazar. Her önek uzunluğunun tek bir maske karşılığı vardır.

IPv6'da alt ağlar neden /64?

RFC 4291, 000 ile başlayanlar dışındaki tüm unicast adreslerde arayüz kimliğinin 64 bit olmasını ister. SLAAC ile otomatik adres alma, gizlilik adresleri ve birçok başka mekanizma bu sınıra dayanır; RFC 7421 bu bağımlılıkları listeler. Bu yüzden konak bulunan her LAN /64 olmalıdır.

Kullanılabilir konak sayısı nasıl hesaplanır?

IPv4'te 2^(32 − önek) − 2 formülü kullanılır: /26 için 2⁶ − 2 = 62. /31'de iki adres de kullanılabilir, /32 tek bir konağı tanımlar. AWS ve Azure her alt ağda beş adresi kendine ayırır; bulutta kullanılabilir sayı üç adres daha azdır.

TH
Tolga Hatipoğlu

Sistem Yöneticisi. Sanallaştırma ve depolama altyapıları kuruyor, yönetiyor ve burada belgeliyor. Yazıdaki bir bilgi eskidiyse düzeltme önerin.