---
title: 'Ağ Simülasyon Ortamları'
source: 'https://academia.sh/tr/kurslar/ag-isletimi/ag-simulasyon-ortamlari'
course: 'Ağ İşletimi ve Otomasyon'
language: tr
updated: '2026-08-17T18:07:15+00:00'
license: 'CC BY-SA 4.0'
---

# Ağ Simülasyon Ortamları

Laboratuvar ortamının ölçeği bir kaldıraçtır: değişikliği sahada başarısız kılan on yedi özne ölçekten bağımsız olarak sabit kalır, değişen tek şey laboratuvarın kaçını önceden gördüğüdür ve tam ölçekte bile dokuz özne temsil edilemez.

Önceki ders bir yol seçiminin sonucunu saydı: seçim yapıldı, kırk özneye uygulandı, kuyruk
ölçüldü. Kursun bütün ölçümleri bu sırayı izledi. İşletmede bu sıra tersine çevrilmek
istenir — kaldıraca dokunmadan **önce** kuyruğun ne olacağı bilinsin.

**Laboratuvar ortamı (lab environment)** tam olarak bunun için kurulur: gerçek ağın bir
kopyası çıkarılır, değişiklik önce orada uygulanır, sonuç orada okunur. Bu dersin sorusu
laboratuvarın nasıl kurulduğu değildir. Soru şudur: laboratuvar gerçeği ne kadar temsil
eder, ve orada doğrulanmış bir değişiklik sahada kaç öznede başka türlü davranır.

## Laboratuvarın Sözü

Laboratuvar üç şeyi eksiksiz verir. Topoloji tam olarak kopyalanabilir: hangi aygıtın hangi
aygıta bağlı olduğu, hangi alt ağın nerede durduğu, hangi yolun hangi maliyeti taşıdığı.
Yapılandırma metindir, dolayısıyla birebir taşınır. Ve laboratuvar **yıkılabilir**: bozulan
bir kurulum silinip yeniden yaratılır, bu yüzden sahada denenemeyecek şeyler orada denenir.

Vermediği de üçtür ve ölçüyü ilgilendiren kısım budur. Zamanlama gerçek değildir: sanal
bağlantıların gecikmesi kurgudur, kuyruk davranışı gerçek yükte olduğu gibi çıkmaz. Yük
gerçek değildir: laboratuvarda üretilen trafik sahadakinin biçimini değil ölçeğini taklit
eder. Ve donanım gerçek değildir: aygıtın kendi kaynak sınırları, yonga düzeyindeki tablo
kapasitesi, satıcıya özgü davranışları **genel bir vekille** temsil edilir.

Bu üçüncüsü kaldıracı doğurur. Bir laboratuvar her aygıtı ayrı ayrı modellemez; bir
modelleme ölçeği seçilir ve o ölçek kırk öznenin hepsi için geçerlidir.

```text
# ogretilen laboratuvar tanimi , calistirilmamistir

topoloji:
  dugum:
    - ad: omurga-1
      model: genel yonlendirici
      arayuz: [ge-0, ge-1]
    - ad: kenar-07
      model: genel anahtar
      arayuz: [ge-0, ge-1]
  bag:
    - omurga-1:ge-0 <-> kenar-07:ge-0
      gecikme: 5ms          # kurgudur, olculmus degildir
      kapasite: 1g          # kurgudur

dogrulama:
  - erisilebilirlik: kenar-07 -> omurga-1
  - yapilandirma farki: sahadaki ile laboratuvardaki
  - geri alma provasi: degisiklik uygulanir ve geri alinir
```

Dökümdeki `model: genel` satırları dersin bütün sorusunu taşır. Laboratuvarda duran nesne
sahadaki aygıtın kendisi değil, onun **sınıfıdır**. Sınıf davranışı doğru, aygıt davranışı
yaklaşıktır.

## Kaldıraç: Laboratuvarın Ölçeği

Ölçek bir maliyet kararıdır. Kırk özneyi birebir modellemek kırk düğüm, kırk yapılandırma ve
kırk kat kaynak demektir; dört özneyi modellemek bunun onda biridir. Operatör tek bir sayı
seçer: laboratuvarda kaç özne temsil edilecek.

Ölçülen değişiklik somut bir şeydir: her aygıtta sabit bir miktar kaynak ayıran bir
yapılandırma. Aygıtın kapasitesi bu miktarın altındaysa değişiklik o aygıtta başarısız olur.
Bunun yanında ikinci bir başarısızlık kaynağı vardır ve ölçekle hiç ilgisi yoktur: özel
aygıtlar laboratuvarda genel bir vekille temsil edildiği için, laboratuvarın onlar hakkında
verdiği hüküm kanıt değildir.

Ölçümün varsayımları:

- **OT74** — Kırk özne kursun sabit kümesidir ve değiştirilmez. Öznenin kapasitesi
  değişikliğin tüketebileceği kaynağın üst sınırıdır.
- **OT75** — Değişiklik her aygıtta **45** birim ayırır; kapasitesi bunun altında olan aygıt
  sahada başarısız olur.
- **OT76** — Özel aygıt laboratuvarda genel bir vekille temsil edilir. Kapasitesi yeterli
  olsa bile sahada başka davranır ve laboratuvar bunu **hiçbir ölçekte** göremez.
- **OT77** — Ölçek, modellenen öznelerin özne numarasına göre eşit aralıkla seçilmesidir:
  ölçek dörtte her onuncu, kırkta hepsi modellenir. Seçim kâhini kullanmaz.
- **OT78** — Kâhin kurgunun kendisidir: kapasiteyi ve hangi aygıtın özel olduğunu biz
  yazdığımız için biliriz. Laboratuvar bu bilgiye erişmez.
- **OT79** — Ölçüm bir laboratuvar kurulumu değildir; hiçbir düğüm başlatılmaz, hiçbir aygıt
  komutu çalıştırılmaz. Sayılan şey temsilin kapsamıdır.

## Ölçüm

```python
"""Laboratuvar ortami: tek olcek karari kirk oznenin temsilini belirler.

Kaldirac   - laboratuvarda birebir modellenen ozne sayisi.
Kuyruk     - degisikligin sahada basarisiz oldugu ozne.
Gorunmeyen - sahada basarisiz olup laboratuvarda hic gorunmeyen ozne.
"""
TOHUM = 20260812
AYRILAN = 45      # degisikligin her aygitta ayirdigi birim


def uretec(tohum):
    d = tohum % 2147483646 + 1

    def r(n):
        nonlocal d
        d = (d * 48271) % 2147483647
        return d % n
    return r


def ozneler(sayi=40, tohum=TOHUM):
    r, liste = uretec(tohum), []
    for i in range(sayi):
        liste.append({
            "no": i + 1,
            "kapasite": 20 + r(81),
            "gecikme": 5 + r(45),
            "sinif": ("etkilesim", "toplu", "yedek")[r(3)],
            "ozel": r(9) == 0,
        })
    return liste


def sahada(o):
    """Degisiklik bu oznede basarisiz olur mu?"""
    return o["kapasite"] < AYRILAN or o["ozel"]


def laboratuvarda(o, modellenen):
    """Laboratuvar bu basarisizligi onceden gorur mu?

    Ozel aygit genel bir vekille temsil edilir; davranisi uretilemez.
    """
    return o["no"] in modellenen and o["kapasite"] < AYRILAN and not o["ozel"]


oz = ozneler()
print(f"özne {len(oz)} | değişikliğin ayırdığı {AYRILAN} birim | "
      f"kapasitesi yetmeyen {sum(o['kapasite'] < AYRILAN for o in oz)} | "
      f"özel aygıt {sum(o['ozel'] for o in oz)} | "
      f"sahada başarısız {sum(sahada(o) for o in oz)}")
print()
print(f"{'ölçek':>6s} {'modellenen':>11s} {'modellenmeyen':>14s} "
      f"{'sahada başarısız':>17s} {'laboratuvarda görülen':>22s} {'kaçan':>6s}")
for adim in (10, 5, 2, 1):
    modellenen = {o["no"] for o in oz if o["no"] % adim == 0}
    gorulen = sum(laboratuvarda(o, modellenen) for o in oz)
    basarisiz = sum(sahada(o) for o in oz)
    print(f"{len(modellenen):6d} {len(modellenen):11d} "
          f"{len(oz) - len(modellenen):14d} {basarisiz:17d} "
          f"{gorulen:22d} {basarisiz - gorulen:6d}")

print()
tam = {o["no"] for o in oz}
kacan = [o for o in oz if sahada(o) and not laboratuvarda(o, tam)]
print(f"tam ölçekte kaçan {len(kacan)} özne:",
      [(o["no"], o["kapasite"], "özel" if o["ozel"] else "genel") for o in kacan])
```

```
özne 40 | değişikliğin ayırdığı 45 birim | kapasitesi yetmeyen 12 | özel aygıt 9 | sahada başarısız 17

 ölçek  modellenen  modellenmeyen  sahada başarısız  laboratuvarda görülen  kaçan
     4           4             36                17                      0     17
     8           8             32                17                      1     16
    20          20             20                17                      3     14
    40          40              0                17                      8      9

tam ölçekte kaçan 9 özne: [(4, 30, 'özel'), (7, 78, 'özel'), (12, 55, 'özel'), (20, 29, 'özel'), (25, 31, 'özel'), (26, 56, 'özel'), (31, 57, 'özel'), (33, 24, 'özel'), (40, 70, 'özel')]
```

## Ölçek Neyi Değiştirdi

Ortadaki sütun ölçekten ölçeğe hiç kıpırdamıyor: sahada başarısız olan özne **her ölçekte
17**. Laboratuvar sahayı değiştirmiyor, çünkü laboratuvar sahaya dokunmuyor. Kaldıracın
değiştirdiği tek şey sağdaki iki sütundur.

Ölçek **4**'te laboratuvar **hiçbir** başarısızlığı önceden görmüyor. Doğrulama tamamlanıyor,
rapor temiz çıkıyor, değişiklik onaylanıyor — ve sahada on yedi aygıtta başarısız oluyor.
Ölçek **8**'de görülen **1**, ölçek **20**'de **3** oluyor. Kırk öznenin yarısını modelleyen
bir laboratuvar, on yedi başarısızlığın üçünü yakalıyor.

Ölçek **40**'ta modellenmeyen özne kalmıyor ve görülen **8**'e çıkıyor. Kaçan yine de
**9**'dur. Son satır bu dokuzun kim olduğunu söylüyor: dokuzunun dokuzu da **özel aygıt**.
Beşinin kapasitesi 45'in üstündedir — başarısızlıkları kapasiteden değil, genel vekilin
temsil edemediği davranıştan gelir. Kalan dördünün kapasitesi zaten yetersizdir ve
laboratuvar bunu ölçebilecek durumda olsaydı görürdü; göremiyor, çünkü o dört aygıt hakkında
verdiği hüküm **hiçbir yönde kanıt değildir**.

Buradan çıkan sonuç kursun üçüncü iddiasının son biçimidir. **Laboratuvarın ölçeği
başarısızlığı azaltmadı; kaçının önceden görüldüğünü değiştirdi.** Ve ölçeği sonuna kadar
büyütmek bile kuyruğu kapatmıyor, çünkü kuyruğun bir bölümü ölçekten değil **temsilden**
geliyor. Kırk düğümlük bir laboratuvar dört düğümlükten on kat çok düğüm ister ve
karşılığında kaçan **17**'den **9**'a iner.

Bu, laboratuvarı gereksiz kılmaz; ne için kullanılacağını değiştirir. Laboratuvarın
güvenilir olduğu yer topolojidir — erişilebilirlik, yapılandırma farkı, geri alma provası.
Güvenilmez olduğu yer kapasite ve aygıta özgü davranıştır. Sahada uygulanacak her toplu
değişiklikte laboratuvar bu yüzden tek başına yeterli değildir: yanına **kuru çalışma**,
**kademeli yayma** ve yazılı bir **geri alma** adımı konur. Dokuz özne laboratuvarda
görünmüyorsa, onları ilk dalgada değil son dalgada görmek gerekir.

## Özet

- Laboratuvar topolojiyi, yapılandırmayı ve geri alma provasını güvenilir biçimde verir;
  zamanlamayı, gerçek yükü ve aygıta özgü davranışı vermez.
- Laboratuvarın ölçeği tek bir kaldıraçtır ve sahadaki başarısızlığı değiştirmez: kırk
  öznenin **17**'si her ölçekte başarısız olur.
- Ölçek 4'te laboratuvar bu on yedinin **hiçbirini**, ölçek 20'de **3**'ünü, tam ölçekte
  **8**'ini önceden görür.
- Tam ölçekte bile kaçan **9** özne vardır ve dokuzu da özel aygıttır; kuyruğun bu bölümü
  ölçekten değil, genel vekille temsil edilmekten gelir.
- Laboratuvar bu yüzden onayın kendisi değil bir parçasıdır; yanında kuru çalışma, kademeli
  yayma ve yazılı geri alma bulunmak zorundadır.

## Kurs Kapanışı

Kurs boyunca tek bir soru soruldu: operatör bir kaldıraca dokunduğunda, kırk özneden kaçına
yanlış hizmet etti. On altı ders bu soruyu on altı ayrı nesnede sordu ve her seferinde iki
sayı çıkardı — kuyruk, ve kuyruğun göstergede **görünmeyen** bölümü.

| Ders | Kaldıraç | Kuyruk | Görünmeyen |
|---|---|---|---|
| Yük Dengeleyiciler | dengeleyicinin katmanı | katman 4'te **17**, katman 7'de **16** aşan özne | bağlantı sayısı göstergesi herkese **10** der; aşan 17 özne orada yoktur |
| Yük Dengeleme Algoritmaları | dağıtım kuralı | yük 1200'de **6 / 0 / 0 / 7**, yük 2600'de **23 / 40 / 40 / 22** | 1200'de boşta duran **1160** birim |
| Ters Vekil ve İleri Vekil | tek bir sınır sayısı | ters vekilde korunmayan özne **6**'dan **34**'e, ileri vekilde kısılan özne **27**'den **4**'e | ileri vekilin hiç görmediği **9** özne ve **430** birim |
| İçerik Dağıtım Ağları | kenarda hangi içeriğin duracağı | çekmede ıska **33**'ten **245**'e çıkar, sınırlı itmede **379** olur | kenarın hiç görmediği nesne **7**'den **25**'e; itmede boşa duran **402** birim |
| Hizmet Kalitesi | sıralama kuralı | karşılanamayan **433** birim üç kuralda da aynıdır; kuyruklu özne **40 / 9 / 29** | genel ortalama bekleme **1,19**'dan **0,40**'a inerken en uzun bekleme **3**'ten **13**'e çıkar |
| Ağ Telemetrisi | örnekleme oranı | kaçan ağır olay **0 / 13 / 15 / 20 / 20** | hiç görünmeyen özne **0 / 1 / 8 / 17 / 26** |
| Aygıt İzleme Protokolleri | yoklama zaman aşımı ve bildirim eşiği | zaman aşımı yiyen **30**'dan **0**'a; kaçan ağır **18**'den **4**'e | hiç sorulmayan **11**, hiç raporlanmayan **35**'e kadar çıkar |
| Paket Çözümleme | yakalama filtresinin darlığı ve tampon boyu | en dar filtre **91** akışı dışarıda bırakır ve **21** ağır olay kaçırır; süzgeçsizde **32** akış tampona sığmaz | filtre dar iken hiç görünmeyen **33** özne, süzgeçsizde bile **5** |
| Erişilebilirlik ve Gecikme Ölçümü | sınama listesinin kapsamı | dört hedefte **36** özne hiç sınanmaz; gösterge **37,5**–**62,5** arasında salınırken gerçek değer **57,5%**'te durur | görünmeyen erişilemez özne **15 / 12 / 11 / 3 / 0**, kaçan ağır olay **20**'ye kadar |
| Ağ Otomasyonunun Gerekçesi | elle dokunuş yerine tek şablon | elle **122** dokunuşta **12** hata, **10** hatalı aygıt | şablonun sapan **6** aygıtından raporda görünmeyen **6 / 3 / 3** |
| Yapılandırma Modelleri | yapılandırma modelinin kapsamı | modelin dışında kalan alan **42 / 17 / 9** | hiçbir modelin temsil edemediği **9** alan örneği |
| Programlanabilir Arayüzler | istek biçimi | ekleme biçimi etkisiz değildir ve ikinci uygulamada **40** aygıtta durumu değiştirir; yeniden denemede **5** aygıtı bozar | tam değişimin bildirmeden sildiği **9** aygıtın model dışı alanı |
| Betikle Aygıt Yönetimi | kırk aygıta uygulanan tek şablon | uyan **34**, sapan **6** — şablon hangi sınıfa göre yazılırsa yazılsın | raporda görünmeyen sapan **6 / 3 / 3**, raporun kapsamı **0,000 / 0,500 / 0,500** |
| Bulut Ağ Kavramları | tek alt ağ önek uzunluğu | `/26`'da bloğuna sığmayan **17** alt ağ | boşta duran adres: `/25`'te **2584**, `/27`'de **9** |
| Hibrit Bağlantı | iç trafiğin yol seçimi | ikisi birlikte **9** özne, dokuzu da toplu sınıfından | payı **15 ms**'den az kalan **5** özne |
| Ağ Simülasyon Ortamları | laboratuvarın ölçeği | sahada başarısız **17** özne, her ölçekte | tam ölçekte bile görünmeyen **9** özel aygıt |

On altı satırın her biri kendi dersinin ölçümünden okunmuştur; hiçbir sayı ortak tanımdan
kopyalanmamıştır.

Tablo tek bir örüntüyü tekrarlıyor. Kaldıracın "iyi" ayarı yoktur; kuyruğun **yerini
değiştiren** ayarları vardır. Ve her satırın sağ sütunu aynı şeyi söylüyor: bir kaldıracın
en pahalı etkisi ölçtüğü şeye değil, **ölçemediği şeye** yaptığıdır.

Bu kursla birlikte M04 müfredatı kapanıyor. Altı kurs aynı ağı altı ayrı ölçüyle geçti.

| Kurs | Ölçü ekseni |
|---|---|
| İnternet Nasıl Çalışır | tek bir isteğin uçtan uca izi ve her aşamanın bir sonrakine devrettiği tek şey |
| Ağ Modelleri ve Protokoller | katmanın verdiği söz ile açıkça vermediği söz |
| Uygulama Katmanı Protokolleri | aracının iletiden gidiş–dönüşsüz alabildiği karar |
| Anahtarlama ve Yönlendirme | tabloların anlaşmadığı sürede paketin kaderi |
| Kablosuz Ağlar ve Ağ Güvenliği | niyet edilen sınır ile gerçekten geçenin farkı |
| Ağ İşletimi ve Otomasyon | tek kaldıracın kırk öznede bıraktığı kuyruk |

Sıra rastgele değildir. İlk kurs bir isteği baştan sona izledi ve her aşamanın öncesini
unuttuğunu gösterdi. İkincisi bu unutmayı katmanlara böldü ve her katmanın neyi vaat edip
neyi **açıkça vaat etmediğini** ayırdı. Üçüncüsü vaadin iletide nasıl yazıldığını ve
okuyanın ondan ne çıkarabildiğini saydı. Dördüncüsü iletiyi taşıyan yolun kendisinin de bir
uzlaşma süresi olduğunu gösterdi. Beşincisi o yola konan sınırın niyetiyle sonucunun
ayrıldığı yeri ölçtü. Altıncısı, bütün bunları kırk özneye birden uygulayan tek bir eli
saydı.

Son adımda bir şey değişir. Bu kursun her ölçümünde tek bir operatör vardı: kaldıraca o
dokunuyordu, kuyruğu o okuyordu, geri almayı o yazıyordu. Gerçekte böyle değildir. Şablonu
biri yazar, gözden geçiren başkasıdır, uygulayan üçüncü kişidir, sahadaki dokuzuncu özel
aygıtı yalnız dördüncü kişi tanır. **Ağın işletilmesi bir ekip işidir** — ve tabloların
sağdaki sütunu, çoğu zaman bir kişinin bildiği ama yazılı olmadığı için ekibin bilmediği
şeydir.

Ekip işinin kendi disiplini vardır ve o disiplin bu müfredatta değil, **Yazılım Geliştirme
Pratiği** müfredatında kurulur: değişikliğin tarihçesinin tutulması, geri alınabilir
biçimde kaydedilmesi, uygulanmadan önce bir başkasınca okunması ve kararın gerekçesinin
yazıya geçmesi. Bu kursta "kuru çalışma, kademeli yayma, geri alma" diye yazılan üç adımın
her biri orada bir pratiğe karşılık gelir. Kaldıraca dokunan el bir kişinin elidir; o elin
ne yaptığını kırk öznenin sahibi olan ekibin bilmesi, ayrı bir disiplinin konusudur.
