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
| Önek | Alt ağ maskesi | Joker maske | Toplam adres | Kullanılabilir konak |
|---|---|---|---|---|
| /8 | 255.0.0.0 | 0.255.255.255 | 16.777.216 | 16.777.214 |
| /12 | 255.240.0.0 | 0.15.255.255 | 1.048.576 | 1.048.574 |
| /16 | 255.255.0.0 | 0.0.255.255 | 65.536 | 65.534 |
| /17 | 255.255.128.0 | 0.0.127.255 | 32.768 | 32.766 |
| /18 | 255.255.192.0 | 0.0.63.255 | 16.384 | 16.382 |
| /19 | 255.255.224.0 | 0.0.31.255 | 8.192 | 8.190 |
| /20 | 255.255.240.0 | 0.0.15.255 | 4.096 | 4.094 |
| /21 | 255.255.248.0 | 0.0.7.255 | 2.048 | 2.046 |
| /22 | 255.255.252.0 | 0.0.3.255 | 1.024 | 1.022 |
| /23 | 255.255.254.0 | 0.0.1.255 | 512 | 510 |
| /24 | 255.255.255.0 | 0.0.0.255 | 256 | 254 |
| /25 | 255.255.255.128 | 0.0.0.127 | 128 | 126 |
| /26 | 255.255.255.192 | 0.0.0.63 | 64 | 62 |
| /27 | 255.255.255.224 | 0.0.0.31 | 32 | 30 |
| /28 | 255.255.255.240 | 0.0.0.15 | 16 | 14 |
| /29 | 255.255.255.248 | 0.0.0.7 | 8 | 6 |
| /30 | 255.255.255.252 | 0.0.0.3 | 4 | 2 |
| /31 | 255.255.255.254 | 0.0.0.1 | 2 | 2 (RFC 3021) |
| /32 | 255.255.255.255 | 0.0.0.0 | 1 | 1 (tek konak) |
Adımlar: elle subnet hesaplama (192.168.10.77/26)
- 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 - 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 - Ağ adresini yazın
VE sonucu ağ adresidir: 192.168.10.64. Alt ağın kimliğidir; kurallarda
192.168.10.64/26olarak geçer, konağa atanmaz. - 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.127Yayın adresi 192.168.10.127'dir.
- İ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.
- 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.
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 blok | Alt 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 |
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ı
| Blok | Kullanım | Kaynak |
|---|---|---|
| 10.0.0.0/8 | Özel adres | RFC 1918 |
| 172.16.0.0/12 (172.16.0.0 – 172.31.255.255) | Özel adres | RFC 1918 |
| 192.168.0.0/16 | Özel adres | RFC 1918 |
| 100.64.0.0/10 | Operatör CGNAT'ı (paylaşılan alan) | RFC 6598 |
| 169.254.0.0/16 | Bağlantı yerel (link-local); Windows'ta APIPA | RFC 3927 |
| 127.0.0.0/8 | Geri döngü (loopback) | RFC 1122 |
| 192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24 | Belgeleme (TEST-NET-1/2/3) | RFC 5737 |
| 198.18.0.0/15 | Kıyaslama testleri | RFC 2544 |
| 224.0.0.0/4 | Çok noktaya yayın (multicast) | RFC 5771 |
| 240.0.0.0/4 | Ayrı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-NetIPConfigurationLinux'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/26Kontrol 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
- RFC 4632, "Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan": https://www.rfc-editor.org/rfc/rfc4632 (Ekim 2026)
- RFC 1918, "Address Allocation for Private Internets": https://www.rfc-editor.org/rfc/rfc1918 (Ekim 2026)
- RFC 3021, "Using 31-Bit Prefixes on IPv4 Point-to-Point Links": https://www.rfc-editor.org/rfc/rfc3021 (Ekim 2026)
- RFC 6598, "IANA-Reserved IPv4 Prefix for Shared Address Space": https://www.rfc-editor.org/rfc/rfc6598 (Ekim 2026)
- RFC 5737, "IPv4 Address Blocks Reserved for Documentation": https://www.rfc-editor.org/rfc/rfc5737 (Ekim 2026)
- RFC 6890, "Special-Purpose IP Address Registries": https://www.rfc-editor.org/rfc/rfc6890 (Ekim 2026)
- RFC 3927, "Dynamic Configuration of IPv4 Link-Local Addresses": https://www.rfc-editor.org/rfc/rfc3927 (Ekim 2026)
- RFC 4291, "IP Version 6 Addressing Architecture": https://www.rfc-editor.org/rfc/rfc4291 (Ekim 2026)
- RFC 7421, "Analysis of the 64-bit Boundary in IPv6 Addressing": https://www.rfc-editor.org/rfc/rfc7421 (Ekim 2026)
- RFC 6164, "Using 127-Bit IPv6 Prefixes on Inter-Router Links": https://www.rfc-editor.org/rfc/rfc6164 (Ekim 2026)
- RFC 6177, "IPv6 Address Assignment to End Sites": https://www.rfc-editor.org/rfc/rfc6177 (Ekim 2026)
- RFC 5952, "A Recommendation for IPv6 Address Text Representation": https://www.rfc-editor.org/rfc/rfc5952 (Ekim 2026)
- AWS, "Subnet CIDR blocks": https://docs.aws.amazon.com/vpc/latest/userguide/subnet-sizing.html (Ekim 2026)
- Microsoft Learn, "Azure Virtual Network FAQ": https://learn.microsoft.com/en-us/azure/virtual-network/virtual-networks-faq (Ekim 2026)
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.
Sistem Yöneticisi. Sanallaştırma ve depolama altyapıları kuruyor, yönetiyor ve burada belgeliyor. Yazıdaki bir bilgi eskidiyse düzeltme önerin.