IPv4 ve Subnetting: IP Adresi ve Alt Ağ Hesabı

IPv4 adresi neden 32 bittir, /24 ve /26 ne demektir? Ağ adresi, broadcast adresi, kullanılabilir aralık ve host sayısı adım adım; bir /24'ü dört /26'ya bölmek; private, public, link-local, loopback ve dokümantasyon adresleri.

Standartlar RFC 791, 950, 1918, 3021, 3927, 4632, 5737, 6598; IANA IPv4 Special-Purpose Address Registry
Resmi dokümana göre

Ağ yazılarında “10.0.20.0/24” ya da “maske 255.255.255.192” gibi ifadeler sürekli geçer. MAC, IP, ARP ve Default Gateway yazısında istemcinin “hedef benim ağımda mı?” kararını maskeyle verdiğini görmüştük; hesabın kendisini ise bu yazıya bırakmıştık. Bu yazının sonunda bir IPv4 adresinin ve önekinin neyi anlattığını okuyabilecek, ağ adresini, broadcast adresini, kullanılabilir aralığı ve host sayısını kendiniz hesaplayabilecek, bir /24’ü eşit alt ağlara bölebileceksiniz. Hesapları kâğıt kalemle yapılabilecek kadar sade tutacağız.

32 bit, dört oktet

Bir IPv4 adresi 32 bitlik bir sayıdır (RFC 791). İnsanların okuyabilmesi için 8 bitlik dört parçaya, yani oktete bölünür ve her oktet onluk sayıyla yazılır: 10.0.20.25. Her oktet 0 ile 255 arasında bir değer alır, çünkü 8 bitle yazılabilecek en büyük sayı 255’tir.

Bir okteti ikiliğe çevirmek için her bit konumunun değerini bilmek yeterlidir. Soldan sağa değerler şöyledir:

Bit 1. 2. 3. 4. 5. 6. 7. 8.
Değer 128 64 32 16 8 4 2 1

Bir sayıyı ikiliğe çevirirken soldan başlayıp “bu değer sığıyor mu?” diye sorarsınız. Sığıyorsa o bit 1 olur ve değer sayıdan çıkarılır; sığmıyorsa bit 0 olur.

  • 25: 128, 64 ve 32 sığmaz (0, 0, 0). 16 sığar (1), kalan 9. 8 sığar (1), kalan 1. 4 ve 2 sığmaz (0, 0). 1 sığar (1). Sonuç: 00011001.
  • 192: 128 sığar (1), kalan 64. 64 sığar (1), kalan 0. Geri kalan bitler 0. Sonuç: 11000000.

Tersine çevirmek daha kolaydır: 1 olan bitlerin değerleri toplanır. 11000000 = 128 + 64 = 192.

Maske ve önek: /24 ne demek?

Bir IPv4 adresinin bir kısmı ağı, geri kalanı o ağdaki cihazı (host) gösterir. Sınırın nerede olduğunu maske söyler. Maske de 32 bittir: soldan başlayan 1’ler ağ kısmını, sağdaki 0’lar host kısmını işaretler.

/24 gösterimi, maskede soldan kaç bitin 1 olduğunu söyler; buna önek uzunluğu denir. RFC 4632’nin tanımladığı bu gösterime CIDR gösterimi denir. /24’te ilk 24 bit 1, son 8 bit 0’dır. Aynı maske noktalı onluk biçimde 255.255.255.0 diye yazılır. İki yazım aynı şeyi anlatır; cihazlar ve işletim sistemleri ikisinden birini ya da ikisini birden kullanır.

Adres 10 0 20 25 İkilik 00001010 00000000 00010100 00011001 Maske /24 11111111 11111111 11111111 00000000 ağ kısmı: 24 bit (maskede 1) host: 8 bit (0) Ağ adresi 10 0 20 0 Broadcast 10 0 20 255 Ağ adresinde host bitleri 0 (00000000 = 0), broadcast'te 1 (11111111 = 255). SON OKTET 25'İN İKİLİĞİ 128 0 64 0 32 0 16 1 8 1 4 0 2 0 1 1 16 + 8 + 1 = 25
Maske, adresin hangi bitlerinin ağı, hangilerinin host'u gösterdiğini belirler. /24'te ilk üç oktet ağ, son oktet host kısmıdır.

Maskenin işi bir ayırma çizgisi çizmektir. Adres ile maske alt alta yazıldığında maskede 1 olan konumlar adresin ağ kısmını, 0 olan konumlar host kısmını gösterir. 10.0.20.25/24 için ağ kısmı 10.0.20, host kısmı son oktetteki 25’tir.

Firewall ve router ACL’lerinde kullanılan wildcard mask, bu maskenin bitleri ters çevrilmiş hâlidir. Nasıl yazıldığı ACL Nedir? Standart ve Genişletilmiş ACL yazısında.

Dört değer: ağ, broadcast, aralık ve host sayısı

Bir adres ve önek verildiğinde dört değer hesaplanır. Örnek: 10.0.20.25/24.

  1. Host bit sayısı: 32 − 24 = 8 bit.
  2. Ağ adresi: Host bitlerinin hepsi 0 yapılır. Son oktet 00000000 = 0 olur: 10.0.20.0. Ağ adresi ağın kendisini adlandırır; bir cihaza verilmez.
  3. Broadcast adresi: Host bitlerinin hepsi 1 yapılır. Son oktet 11111111 = 255 olur: 10.0.20.255. Bu adrese gönderilen paket ağdaki bütün cihazlara gider; bu da bir cihaza verilmez.
  4. Kullanılabilir aralık: Ağ adresinden bir sonraki adresten broadcast adresinden bir önceki adrese kadar: 10.0.20.1 – 10.0.20.254.
  5. Host sayısı: Host bitleriyle 2⁸ = 256 adres yazılabilir. İlk adres ağ, son adres broadcast olduğu için kullanılabilir adres sayısı 256 − 2 = 254 olur.

Genel formül: host bit sayısı n ise alt ağda 2ⁿ adres ve 2ⁿ − 2 kullanılabilir host adresi vardır. Aynı mantık sınır başka bir oktete düştüğünde de çalışır: 10.0.0.0/16’da host kısmı 16 bittir; 2¹⁶ = 65.536 adres ve 65.534 kullanılabilir host vardır, ağ adresi 10.0.0.0, broadcast adresi 10.0.255.255’tir.

İki istisna: 2ⁿ − 2 formülü geleneksel alt ağlar içindir. Noktadan noktaya bağlantılarda kullanılan /31’de iki adres vardır ve RFC 3021’e göre ikisi de host adresi olarak kullanılır; ayrı bir ağ ya da broadcast adresi yoktur. /32 ise tek bir adresi gösterir; örneğin bir kuralda tek bir cihazı belirtmek için kullanılır.

/24’ü dört /26’ya bölmek

Subnetting, bir ağ bloğunu daha küçük alt ağlara bölmektir. Yöntem 1985’te RFC 950 ile standartlaştı; bugün hesaplar CIDR’ın önek mantığıyla yapılır. Örnek: kampüste yeni ayrılan 10.0.80.0/24 bloğu kameralar, yazıcılar, bina sistemleri ve yedek için dört eşit alt ağa bölünecek.

Adım 1: Kaç bit gerekiyor? Dört alt ağ için kaç bit ödünç alınacağını bulmak gerekir. 1 bit 2 alt ağ, 2 bit 2² = 4 alt ağ verir. Yani host kısmından 2 bit ağ kısmına geçer.

Adım 2: Yeni önek ve maske. Önek 24 + 2 = /26 olur. Son oktetin ilk iki biti artık maskede 1’dir: 11000000 = 192. Maske 255.255.255.192.

Adım 3: Host bitleri ve blok boyu. Host kısmında 32 − 26 = 6 bit kalır. Her alt ağda 2⁶ = 64 adres vardır; buna blok boyu denir. Kısa yol: 256 − 192 = 64. Kullanılabilir host sayısı 64 − 2 = 62.

Adım 4: Alt ağların başlangıcı. Alt ağlar 0’dan başlayıp 64’er artar: 0, 64, 128, 192. Bir sonraki değer 256 olurdu; son okteti aştığı için dört alt ağ burada biter.

Adım 5: Her alt ağın değerleri. Her alt ağda ağ adresi başlangıç değeridir, broadcast adresi bir sonraki alt ağın başlangıcından bir eksiğidir, kullanılabilir aralık bu ikisinin arasıdır.

  • 1. alt ağ: Ağ 10.0.80.0. Sonraki başlangıç 64, broadcast 63. Kullanılabilir: .1 – .62.
  • 2. alt ağ: Ağ 10.0.80.64. Sonraki başlangıç 128, broadcast 127. Kullanılabilir: .65 – .126.
  • 3. alt ağ: Ağ 10.0.80.128. Sonraki başlangıç 192, broadcast 191. Kullanılabilir: .129 – .190.
  • 4. alt ağ: Ağ 10.0.80.192. Bloğun sonu 255, broadcast 255. Kullanılabilir: .193 – .254.
10.0.80.0/24 · 256 adres · 10.0.80.0 – 10.0.80.255 Son oktetten 2 bit ödünç: /26 · maske 255.255.255.192 · blok boyu 64 00 000000 = 0 10.0.80.0/26 ağ: .0 kullanılabilir: .1 – .62 broadcast: .63 01 000000 = 64 10.0.80.64/26 ağ: .64 kullanılabilir: .65 – .126 broadcast: .127 10 000000 = 128 10.0.80.128/26 ağ: .128 kullanılabilir: .129 – .190 broadcast: .191 11 000000 = 192 10.0.80.192/26 ağ: .192 kullanılabilir: .193 – .254 broadcast: .255 Kalın iki bit: ödünç alınan alt ağ bitleri. Dört değeri (00, 01, 10, 11) alt ağ başlangıçlarını verir: 0, 64, 128, 192. Her alt ağ: 64 adres, 62 kullanılabilir host. Adreslerin ilk üç okteti 10.0.80.
İki bit ödünç almak dört eşit alt ağ verir. Alt ağ başlangıçları blok boyunun katlarıdır; broadcast adresi bir sonraki başlangıcın bir eksiğidir.

Aynı yöntem bütün önekler için çalışır. Son oktette en sık karşılaşılan değerler:

Önek Maske (son oktet) Blok boyu Kullanılabilir host
/24 0 256 254
/25 128 128 126
/26 192 64 62
/27 224 32 30
/28 240 16 14
/29 248 8 6
/30 252 4 2

Kaç cihaz için hangi önek?

Planlamada soru çoğu zaman tersten sorulur: “Bu ağa 50 cihaz bağlanacak, hangi önek yeter?” Cevap, 2ⁿ − 2 değeri cihaz sayısına eşit ya da ondan büyük olan en küçük n’dir.

  • n = 5 olursa 2⁵ − 2 = 30; 50’ye yetmez.
  • n = 6 olursa 2⁶ − 2 = 62; yeter.
  • Host kısmı 6 bit olduğuna göre önek 32 − 6 = /26 olur.

Gerçek planlamada büyümeye pay bırakılır; 50 cihaz bugünün sayısıysa bir büyük önek (/25, 126 host) daha güvenli bir seçim olabilir.

Bu örnekte bütün alt ağlar aynı büyüklükte. Farklı büyüklükte alt ağlarla bir bloğu verimli kullanmak (VLSM) ve rotaları özetlemek ayrı bir yazının konusu.

Sık yapılan hesap hataları

  • /26’yı “26 cihaz” sanmak. 26, maskedeki 1 bitlerinin sayısıdır. Host sayısını host bitleri belirler: 32 − 26 = 6 bit, 62 host.
  • Ağ ve broadcast adresini kullanılabilir aralığa katmak. 10.0.80.64/26’da .64 ve .127 bir cihaza verilmez; aralık .65 – .126’dır.
  • Blok boyunu maskeyle karıştırmak. /26’nın maskesi 255.255.255.192, blok boyu 64’tür. Alt ağlar 192’şer değil, 64’er artar.
  • Alt ağ sınırını yanlış yerden başlatmak. Alt ağlar her zaman blok boyunun katlarında başlar. 10.0.80.50/26 diye bir alt ağ yoktur; .50, 10.0.80.0/26 alt ağının içindedir.

Bir adres hangi alt ağda?

Sahada sık sorulan soru tersidir: elinizde bir adres ve önek vardır, hangi alt ağa ait olduğunu bulmanız gerekir. Örnek: 10.0.80.100/26.

  1. /26’nın blok boyu 64’tür (256 − 192).
  2. Son oktet 100’dür. 64’ün katlarından 100’ü geçmeyen en büyüğü 64’tür.
  3. Ağ adresi 10.0.80.64, broadcast adresi bir sonraki katın (128) bir eksiği, 10.0.80.127.
  4. Kullanılabilir aralık 10.0.80.65 – 10.0.80.126; 10.0.80.100 bu aralıktadır.

Özel amaçlı adresler

Her IPv4 adresi internette kullanılmaz. IANA’nın özel amaçlı adres kaydı, belirli blokları belirli işler için ayırır. Başlangıçta bilinmesi gerekenler:

Blok Tür Ne için?
10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 Private-use (RFC 1918) Kurum ve ev içi ağlar; internette yönlendirilmez
100.64.0.0/10 Shared Address Space (RFC 6598) Servis sağlayıcıların CGNAT altyapısı; RFC 1918 private alanından ayrıdır
127.0.0.0/8 Loopback Cihazın kendisi; ör. 127.0.0.1
169.254.0.0/16 Link-local (RFC 3927) Yalnızca yerel bağlantıda geçerli adresler
192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24 Dokümantasyon (RFC 5737) Belge ve örneklerde kullanılır; internette görünmemelidir

Tabloda yalnızca başlangıç için gerekli bloklar var; multicast gibi başka özel amaçlı bloklar da bulunur ve tam liste IANA kaydındadır. Bu yüzden tabloda olmayan her adres public değildir. Public adres, internet adres kayıt sistemi üzerinden bir kuruluşa ya da servis sağlayıcıya tahsis edilen, dünya genelinde tek olan adrestir. Bir adresin tahsis edilmiş olması, internette yönlendirildiği ya da erişilebilir olduğu anlamına gelmez; bu, sahibinin adresi duyurmasına ve aradaki yönlendirme ve filtreleme kararlarına bağlıdır.

Üç not:

  • 172.16.0.0/12, 172.16.0.0 ile 172.31.255.255 arasını kapsar. 172.32.x.x private değildir.
  • 100.64.0.0/10 internette yönlendirilmez ama RFC 1918 private alanı değildir. RFC 6598 bu bloğun servis sağlayıcı ağları için ayrıldığını ve RFC 1918’den farklı olduğunu açıkça belirtir; kurum ağının iç adreslemesi için kullanılmaz.
  • 169.254.x.x adresini bir istemcide görüyorsanız, cihaz çoğunlukla DHCP’den adres alamamış ve bu aralıktan kendine adres vermiştir. Bu durumun WLAN’daki teşhisi AP Online Ama İstemci IP Alamıyor yazısında.

Sitedeki senaryolarda firewall’un internet tarafı için kullandığımız 203.0.113.1 de bu yüzden seçildi: 203.0.113.0/24, RFC 5737’nin TEST-NET-3 adını verdiği dokümantasyon bloğudur. Gerçek bir public adresi temsil eder, ama kendisi internette kullanılacak bir adres değildir. Kampüs örneklerindeki 10.0.x.x adresleri ise RFC 1918 private bloğundandır.

Sınıflar: tarihsel bir not

Eski kaynaklarda A, B ve C sınıfları geçer. İlk yıllarda ağ kısmının uzunluğu adresin ilk bitlerine göre sabitti: A sınıfında 8, B’de 16, C’de 24 bit. Bu yöntem adres alanını verimsiz kullandığı için RFC 4632’nin anlattığı CIDR ile terk edildi; bugün ağ kısmının uzunluğunu önek belirler. “C sınıfı ağ” ifadesini duyduğunuzda karşılığını /24 olarak düşünmek yeterlidir; hesaplarda sınıflara ihtiyaç yoktur.

Kendinizi deneyin

Alıştırma 1: 192.168.10.77/26 adresi için ağ adresini, broadcast adresini, kullanılabilir aralığı ve host sayısını bulun.

Cevap ve açıklama
  • /26’da host kısmı 32 − 26 = 6 bit, blok boyu 2⁶ = 64.
  • 64’ün katlarından 77’yi geçmeyen en büyüğü 64. Ağ adresi: 192.168.10.64.
  • Bir sonraki kat 128; broadcast: 192.168.10.127.
  • Kullanılabilir aralık: 192.168.10.65 – 192.168.10.126.
  • Host sayısı: 2⁶ − 2 = 62.

Alıştırma 2: 172.16.5.200/27 adresi için aynı dört değeri bulun. Bu adres RFC 1918 private alanında mı?

Cevap ve açıklama
  • /27’de host kısmı 32 − 27 = 5 bit, blok boyu 2⁵ = 32. Maskenin son okteti 256 − 32 = 224, yani maske 255.255.255.224.
  • 32’nin katları: 0, 32, 64, 96, 128, 160, 192, 224. 200’ü geçmeyen en büyüğü 192. Ağ adresi: 172.16.5.192.
  • Bir sonraki kat 224; broadcast: 172.16.5.223.
  • Kullanılabilir aralık: 172.16.5.193 – 172.16.5.222.
  • Host sayısı: 2⁵ − 2 = 30.
  • Private mı? Evet. 172.16.0.0/12, 172.16.0.0 – 172.31.255.255 aralığını kapsar ve 172.16.5.200 bu aralıktadır.

Kaynaklar

#temeller#ipv4#subnetting#cidr

Kemal Keleş

Network & Security Engineer · CCNA · HCSA · NSE 3

Switching, routing, firewall ve kampüs ağlarında presales ve saha deneyimimi, teknik araştırmalarımı ve üretici dokümantasyonlarını bir araya getirerek pratik, üreticiden bağımsız içerikler hazırlıyorum.

Aynı konudan