---
title: 'Alt Ağlara Bölme'
source: 'https://academia.sh/tr/kurslar/ag-modelleri/alt-aglara-bolme'
course: 'Ağ Modelleri ve Protokoller'
language: tr
updated: '2026-08-17T18:07:10+00:00'
license: 'CC BY-SA 4.0'
---

# Alt Ağlara Bölme

Ağ maskesi aritmetiği, ağ ve yayın adreslerinin hesabı, bit ödünç alma ve örnek bloğun eşit alt ağlara bölünmesi.

Önceki ders `192.168.10.0/24` bloğunun kurumun 182 düğümü için sayıca yeterli olduğunu,
ancak bölümlerin tek bir yayın alanında toplanamayacağını gösterdi. Blok kesilmelidir.

Kesme işleminin adı **alt ağlara bölme (subnetting)**dir ve tek bir düzeneğe dayanır: düğüm
bölümünden bit ödünç alıp ağ bölümüne eklemek. Bu dersin sorusu, bu ödünç almanın
aritmetiğidir.

## Ağ Maskesi

**Ağ maskesi (network mask)**, adresin hangi bitlerinin ağ bölümüne ait olduğunu gösteren 32
bitlik bir örüntüdür: ağ bitleri 1, düğüm bitleri 0'dır. Maskede 1'ler her zaman soldadır ve
kesintisizdir; `255.255.0.255` gibi bir örüntü geçerli bir maske değildir.

Önek uzunluğu ile maske aynı bilgiyi iki ayrı biçimde taşır:

| Önek | Maske | Düğüm biti | Blok başına adres |
|---|---|---|---|
| /24 | 255.255.255.0 | 8 | 256 |
| /25 | 255.255.255.128 | 7 | 128 |
| /26 | 255.255.255.192 | 6 | 64 |
| /27 | 255.255.255.224 | 5 | 32 |
| /28 | 255.255.255.240 | 4 | 16 |
| /29 | 255.255.255.248 | 3 | 8 |
| /30 | 255.255.255.252 | 2 | 4 |

Son sütun $2^{32 - \text{önek}}$ ile hesaplanır. Önek bir bit uzadığında blok yarıya iner —
bu ikilik ilişki, plan yaparken tek tek hesap yapmayı gereksiz kılar.

## Ağ ve Yayın Adresleri

Bir adresin ait olduğu ağ, adres ile maskenin **bit düzeyinde VE** işlemine sokulmasıyla
bulunur. İşlem, Bilgisayarlar Nasıl Çalışır kursundaki Bit Düzeyi İşlemler dersinde
tanıtılan maskeleme kalıbının doğrudan uygulanmasıdır: maskenin 0 olduğu bitler silinir, 1
olduğu bitler korunur.

Yayın adresi ise düğüm bitlerinin tümü 1 yapılarak bulunur. Bunun için maskenin tersi olan
**joker maske (wildcard mask)** kullanılır ve VEYA işlemine sokulur.

$$
\text{ağ} = \text{adres} \mathbin{\&} \text{maske}, \qquad
\text{yayın} = \text{ağ} \mathbin{|} \lnot\text{maske}
$$

`192.168.10.196` adresi ve `255.255.255.192` maskesi için:

```python
import ipaddress

adres = ipaddress.ip_address("192.168.10.196")
maske = ipaddress.ip_address("255.255.255.192")
ag = ipaddress.ip_address(int(adres) & int(maske))
joker = ipaddress.ip_address(int(maske) ^ 0xFFFFFFFF)
yayin = ipaddress.ip_address(int(ag) | int(joker))

print("adres :", format(int(adres), "032b"), adres)
print("maske :", format(int(maske), "032b"), maske)
print("ağ    :", format(int(ag), "032b"), ag)
print("joker :", format(int(joker), "032b"), joker)
print("yayın :", format(int(yayin), "032b"), yayin)
```

```
adres : 11000000101010000000101011000100 192.168.10.196
maske : 11111111111111111111111111000000 255.255.255.192
ağ    : 11000000101010000000101011000000 192.168.10.192
joker : 00000000000000000000000000111111 0.0.0.63
yayın : 11000000101010000000101011111111 192.168.10.255
```

Son iki bit dışında ağ bölümü korunmuştur: `11000100` baytının üst altı biti `110001`, düğüm
bitleri ise `00`'dır. Ağ adresi `192.168.10.192`, yayın adresi `192.168.10.255`, aradaki 62
adres kullanılabilir düğüm adresleridir.

## Kullanılabilir Düğüm Sayısı

Her ağda iki adres ayrılmıştır: düğüm bitlerinin tümü 0 olan adres **ağın kendisini**, tümü
1 olan adres **yayın adresini** gösterir. Hiçbiri bir arayüze atanamaz. Kullanılabilir düğüm
sayısı:

$$
N = 2^{32 - p} - 2
$$

| Önek | Toplam adres | Kullanılabilir düğüm |
|---|---|---|
| /24 | 256 | 254 |
| /25 | 128 | 126 |
| /26 | 64 | 62 |
| /27 | 32 | 30 |
| /28 | 16 | 14 |
| /29 | 8 | 6 |
| /30 | 4 | 2 |

Noktadan noktaya bağlantılarda `/31` öneki de kullanılabilir: iki cihazın doğrudan
bağlandığı bir hatta yayın adresine gerek olmadığı için her iki adres de atanabilir. Bu
kurs, örnek planında daha yaygın olan `/30` seçimini kullanır.

Ters yönde hesap, plan yaparken kullanılan hesaptır: $N$ düğüm için gereken önek uzunluğu,
$2^{32-p} - 2 \ge N$ eşitsizliğini sağlayan en büyük $p$'dir.

| Gereken düğüm | En küçük yeterli blok | Kullanılabilir | Boşa giden |
|---|---|---|---|
| 2 | /30 | 2 | 0 |
| 10 | /28 | 14 | 4 |
| 20 | /27 | 30 | 10 |
| 50 | /26 | 62 | 12 |
| 100 | /25 | 126 | 26 |

## Bit Ödünç Almak

Bir bloğu bölmek, düğüm bölümünden bit ödünç alıp ağ bölümüne eklemektir. Ödünç alınan her
bit alt ağ sayısını iki katına çıkarır, blok boyunu yarıya indirir:

| Ödünç alınan bit | Yeni önek | Alt ağ sayısı | Alt ağ başına düğüm |
|---|---|---|---|
| 0 | /24 | 1 | 254 |
| 1 | /25 | 2 | 126 |
| 2 | /26 | 4 | 62 |
| 3 | /27 | 8 | 30 |
| 4 | /28 | 16 | 14 |

Alt ağ sayısı $2^k$, alt ağ başına düğüm sayısı $2^{8-k} - 2$'dir; çarpımları hiçbir zaman
254'e ulaşmaz, çünkü her alt ağ kendi ağ ve yayın adresini harcar. Bölme, adres kaybı
karşılığında ayrım kazandırır.

Alt ağların **başlangıç adresleri**, blok boyunun katlarıdır. `/26` bölmesinde blok boyu 64
olduğundan başlangıçlar 0, 64, 128, 192'dir. Bu artış miktarına **blok adımı** denir ve
maskenin son sıfırdan farklı baytından okunur: `255.255.255.192` maskesinde $256 - 192 = 64$.

## Örnek Bloğu Dörde Bölmek

Kurumun dört bölümü ve bir noktadan noktaya bağlantısı vardır. İlk deneme, bloğu eşit dört
parçaya bölmektir.

```python
import ipaddress

blok = ipaddress.ip_network("192.168.10.0/24")
for alt in blok.subnets(new_prefix=26):
    dugumler = list(alt.hosts())
    print(f"{str(alt):18s} maske={alt.netmask:15s} ağ={str(alt.network_address):15s} "
          f"ilk={str(dugumler[0]):15s} son={str(dugumler[-1]):15s} "
          f"yayın={str(alt.broadcast_address):15s} n={len(dugumler)}")
```

```
192.168.10.0/26    maske=255.255.255.192 ağ=192.168.10.0    ilk=192.168.10.1    son=192.168.10.62   yayın=192.168.10.63   n=62
192.168.10.64/26   maske=255.255.255.192 ağ=192.168.10.64   ilk=192.168.10.65   son=192.168.10.126  yayın=192.168.10.127  n=62
192.168.10.128/26  maske=255.255.255.192 ağ=192.168.10.128  ilk=192.168.10.129  son=192.168.10.190  yayın=192.168.10.191  n=62
192.168.10.192/26  maske=255.255.255.192 ağ=192.168.10.192  ilk=192.168.10.193  son=192.168.10.254  yayın=192.168.10.255  n=62
```

Bu tablo, elle yapılan hesabın denetimidir. Aynı sonuç kâğıt üzerinde de çıkarılabilir: blok
adımı 64, başlangıçlar 0/64/128/192, her bloğun yayın adresi bir sonraki başlangıcın bir
eksiğidir.

Planı gereksinimlerle karşılaştıralım:

| Bölüm | Gereken düğüm | Ayrılan blok | Kullanılabilir | Sonuç |
|---|---|---|---|---|
| Misafir kablosuz | 100 | `192.168.10.0/26` | 62 | Yetersiz |
| Laboratuvar | 50 | `192.168.10.64/26` | 62 | Yeterli, 12 boş |
| Yönetim | 20 | `192.168.10.128/26` | 62 | Yeterli, 42 boş |
| Sunucu | 10 | `192.168.10.192/26` | 62 | Yeterli, 52 boş |
| Noktadan noktaya bağlantı | 2 | — | — | Blok kalmadı |

Plan iki noktada başarısızdır. Misafir ağı 100 düğüm ister, 62 adres alır. Noktadan noktaya
bağlantıya verilecek blok kalmamıştır. Buna karşılık sunucu ağında 52 adres boş durmaktadır.

## Eşit Bölmenin Zorunlu Kusuru

Başarısızlığın nedeni bir hesap hatası değil, yöntemin kendisidir. Eşit bölmede **tüm alt
ağlar en büyük gereksinime göre boyutlanmak zorundadır**. En büyük bölüm 100 düğüm
istiyorsa her alt ağ en az `/25` olmalıdır; `/25` blokları ise `/24` içine yalnızca iki tane
sığar.

Gereken toplam adres, eşit bölmede $5 \times 128 = 640$'tır. Elde 256 adres vardır. Oysa
bölümlerin gerçek toplam gereksinimi 182'dir. Aradaki fark tamamen yöntemden kaynaklanır.

Sorunun kaynağı tek bir varsayımdır: **tüm alt ağların aynı maskeyi taşıması gerektiği.**
Bu varsayım CIDR ile birlikte ortadan kalkmıştır ve kaldırıldığında plan sığar.

## Bir Adres Hangi Alt Ağa Düşer

Alt ağ planı kurulduktan sonra sık sorulan soru, verilen bir adresin hangi alt ağa ait
olduğudur. Yanıt, adresin plandaki her maskeyle VE'lenip sonucun ağ adresiyle
karşılaştırılmasıyla bulunur.

Aynı adres, farklı maskelerle farklı ağlara düşer:

| Adres | Maske | Ağ adresi | Yayın adresi |
|---|---|---|---|
| `192.168.10.196` | /24 | `192.168.10.0` | `192.168.10.255` |
| `192.168.10.196` | /25 | `192.168.10.128` | `192.168.10.255` |
| `192.168.10.196` | /26 | `192.168.10.192` | `192.168.10.255` |
| `192.168.10.196` | /27 | `192.168.10.192` | `192.168.10.223` |
| `192.168.10.196` | /28 | `192.168.10.192` | `192.168.10.207` |

Tablo, önceki derste söylenen saptamanın sayısal karşılığıdır: adres tek başına eksik
bilgidir. Bir istemcinin maskesi yanlış yapılandırılmışsa, yerel olan hedefleri uzak veya
uzak olan hedefleri yerel sanar. İlk durumda trafiği gereksiz yere geçide gönderir; ikinci
durumda hiç ulaşamayacağı bir adres için ARP isteği yayınlar ve yanıt alamaz.

## Özet

- Ağ maskesi, adresin ağ bitlerini 1 ile işaretleyen 32 bitlik örüntüdür; 1'ler soldadır ve
  kesintisizdir.
- Ağ adresi adres ile maskenin VE'lenmesiyle, yayın adresi ağ ile joker maskenin
  VEYA'lanmasıyla bulunur.
- Her alt ağda iki adres ayrılmıştır; kullanılabilir düğüm sayısı $2^{32-p} - 2$'dir.
- Ödünç alınan her bit alt ağ sayısını ikiye katlar, alt ağ boyunu yarıya indirir; blok
  adımı, 256 ile maskenin son anlamlı baytının farkıdır.
- `192.168.10.0/24` bloğunu dört eşit `/26` parçasına bölmek misafir ağını karşılamaz ve
  bağlantı ağına yer bırakmaz; eşit bölmede gereken toplam 640 adrestir.
- Eşit bölmenin kusuru, tüm alt ağların en büyük gereksinime göre boyutlanmak zorunda
  olmasıdır.

## Sonraki Adım

Tüm alt ağların aynı maskeyi taşıması bir zorunluluk değildir. Her bölüme kendi
gereksinimine göre bir maske verilirse, aynı `192.168.10.0/24` bloğu beş ağın hepsini
karşılar ve geriye artan adres bile kalır. Sonraki ders bu planı adım adım kuracak, her
bölümün ağ ve yayın adreslerini hesaplayacak ve planın çakışmasız olduğunu sınayacak.
