---
title: 'Hibrit Bağlantı'
source: 'https://academia.sh/tr/kurslar/ag-isletimi/hibrit-baglanti'
course: 'Ağ İşletimi ve Otomasyon'
language: tr
updated: '2026-08-17T18:07:14+00:00'
license: 'CC BY-SA 4.0'
---

# Hibrit Bağlantı

Siteler arası tünel ile adanmış bağlantı arasındaki seçim tek bir kaldıraçtır: yalnız adanmış bağlantı kırk öznenin 23'ünü yolsuz bırakır, yalnız tünel 14'ünü bütçesinin dışına atar, ikisi birlikte kuyruğu 9'a indirir ama dokuzunun da aynı sınıftan çıkmasına yol açar.

Önceki dersin bütün ölçümü tek bir sanal ağın içindeydi. Kırk alt ağ aynı bloktan kesildi,
aynı geçitleri paylaştı, tek bir öneğe uydu. Oysa bulut nesnelerinin var olma nedeni çoğu
zaman kendi sahip olduğumuz ağla birlikte çalışmalarıdır — ve o ağ başka bir yerdedir,
başka bir adres alanındadır, başka bir ekibin sorumluluğundadır.

**Hibrit bağlantı (hybrid connectivity)**, iki ağı tek bir adresleme ve erişim düzlemi gibi
davranmaya zorlayan bağlantı katmanıdır. İki temel seçenek vardır ve ikisi de aynı işi
yapar: **siteler arası tünel** paylaşılan bir yolun üstünde şifreli bir kanal açar,
**adanmış bağlantı (dedicated link)** ise iki ağ arasında ayrılmış bir yol verir. Bu dersin
sorusu hangisinin daha iyi olduğu değildir. Soru şudur: seçim tek bir kaldıraç olarak
kırk özneye uygulandığında **hangi özne ne alır**, ve geriye kim kalır.

## İki Yol

İki seçeneği ayıran şey teknoloji değil, **kimin kapasitesini paylaştığıdır**.

Siteler arası tünel var olan bir yolun üstüne kurulur. Yol paylaşılmıştır: kapasitesi
öngörülemez, gecikmesi başkalarının yüküyle birlikte değişir, ve tünelin kendisi şifreleme
ile kapsülleme yüzünden sabit bir ek gecikme koyar. Karşılığında kurulumu bir yapılandırma
işidir; yeni bir tünel açmak yeni bir kayıt yaratmaktır.

Adanmış bağlantı ise iki uç arasına ayrılmış bir yoldur. Kapasitesi bellidir ve
başkalarıyla paylaşılmaz, gecikmesi kararlıdır, üstünden geçen trafik paylaşılan yola hiç
çıkmaz. Karşılığında kapasitesi **sabittir**: kurulurken seçilen sayı, sonradan bir
yapılandırma değişikliğiyle değil ancak yeni bir kurulumla değişir.

```text
# ogretilen yapilandirma dokumu , calistirilmamistir

siteler arasi tunel:
  karsi uc: sirket-omurgasi
  tunel secici:
    - 10.40.0.0/20 -> 172.20.0.0/16
  anahtar malzemesi: gizli depodan okunur, burada yazilmaz
  ek gecikme: paylasilan yolun durumuna baglidir

adanmis baglanti:
  karsi uc: sirket-omurgasi
  ayrilmis kapasite: kurulumda secilir, sonradan buyutulemez
  yol: paylasilan yola cikmaz

yonlendirme onceligi:
  1. adanmis baglanti
  2. siteler arasi tunel      # adanmis dolu ya da arizaliysa
```

Anahtar malzemesi, kimlik bilgisi ve önceden paylaşılan sır bu derste hiçbir örnekte
yazılmaz; nereden okunduğu yukarıdaki dökümde bir satırla söylenir ve geçilir.

Tünelin **yönlendirme** yanı — tünel seçicinin hangi hedefleri içeri aldığı, seçilmeyen
akışın kural dizisine hiç uğramaması, atanan bölgenin iki yönü zıt yönlerde çekmesi —
**Kablosuz Ağlar ve Ağ Güvenliği** kursunun VPN dersinde ölçüldü ve burada
tekrarlanmaz. O ders tünelin **hangi akışı içeri aldığını** saydı. Bu ders tünelin içine
giren akışa **ne verdiğini** sayar.

## Kaldıraç: Yol Seçimi

Operatörün eline üç seçenek verilir ve biri seçilir. Seçim kırk öznenin kırkına birden
uygulanır: yalnız adanmış bağlantı, yalnız tünel, ya da ikisi birlikte.

Üçüncü seçenekte bir öncelik kuralı gerekir, çünkü adanmış bağlantının kapasitesi kırk
öznenin toplam talebinden küçüktür. Kural işletmede en sık görülen biçimiyle alınır:
**sınıf önceliği**. Gecikmeye en duyarlı sınıf adanmış bağlantıya önce yerleşir, kalanlar
tünele düşer.

Her öznenin bir **gecikme bütçesi** vardır ve bütçe sınıfından gelir. Bir özne bütçesini
aşarsa kuyruktadır. Hiç yol bulamazsa kuyruğun daha ağır bir biçimindedir: hizmet alamaz.

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

- **OT67** — Kırk özne kursun sabit kümesidir; küme değiştirilmez. Öznenin kapasitesi
  adanmış bağlantıdan istediği birim, gecikmesi ise yolun tünelsiz taban gecikmesidir.
- **OT68** — Adanmış bağlantının kapasitesi **900** birimdir ve toplam talep **2336**'dır;
  kapasite kurulumda seçilmiştir ve ölçüm boyunca büyütülemez.
- **OT69** — Tünel, taban gecikmenin üstüne sabit **30 ms** koyar. Tünelin kapasitesi
  sınırlanmamıştır; paylaşılan yol darboğaz olduğunda bunu kapasiteyle değil **gecikmeyle**
  gösterir.
- **OT70** — Gecikme bütçeleri sınıfa göredir: etkileşim **45 ms**, toplu **60 ms**, yedek
  **120 ms**. Bütçe bir hizmet kararıdır, ölçümün bulgusu değil.
- **OT71** — İkisi birlikte seçiminde adanmış bağlantı sınıf önceliğiyle doldurulur;
  sınıf içinde sıra özne numarasıdır ve kapasitesi kalan yere sığmayan özne tünele geçer.
- **OT72** — Bütçesine **15 ms**'den az pay kalan özne **payı dar** sayılır. Bu özne
  göstergede kuyrukta görünmez; kuyruğa girmesi için yalnız yolun bozulması yeter.
- **OT73** — Kâhin kurgunun kendisidir: kapasiteyi, taban gecikmeyi ve sınıfı biz
  yazdığımız için biliriz. Ölçüm bir ağ ölçümü değildir; hiçbir tünel kurulmaz, hiçbir
  karşı uca istek gönderilmez.

## Ölçüm

```python
"""Hibrit baglanti: tek yol secimi kirk ozneye birden.

Kaldirac   - sirketin ic trafigi hangi yoldan gecirilir.
Kuyruk     - gecikme butcesini asan ve hic yol bulamayan ozne.
Gorunmeyen - butcesine PAY_ESIGI ms'den az pay kalan ozne.
"""
TOHUM = 20260812
ADANMIS = 900           # adanmis baglantinin birim kapasitesi
TUNEL_EK = 30           # paylasilan yolda tunelin ekledigi ms
TUNEL_KOTU = 80         # paylasilan yol bozuldugunda ek ms
BUTCE = {"etkilesim": 45, "toplu": 60, "yedek": 120}
ONCELIK = ("etkilesim", "toplu", "yedek")
PAY_ESIGI = 15          # butceye bu kadardan az pay kalmissa gorunmeyen kuyruk


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 yerlestir(oz, secim):
    """Her ozneye bir yol atar: 'adanmis', 'tunel' ya da 'yok'."""
    if secim == "tunel":
        return {o["no"]: "tunel" for o in oz}
    yol, kalan = {}, ADANMIS
    sirali = sorted(oz, key=lambda o: (ONCELIK.index(o["sinif"]), o["no"]))
    for o in sirali:
        if o["kapasite"] <= kalan:
            yol[o["no"]] = "adanmis"
            kalan -= o["kapasite"]
        else:
            yol[o["no"]] = "tunel" if secim == "ikisi" else "yok"
    return yol


def olc(oz, yol, ek):
    """Butceyi asan, hizmet alamayan ve payi daralan ozneler."""
    asan = asan_ms = hizmetsiz = dar = 0
    for o in oz:
        y, butce = yol[o["no"]], BUTCE[o["sinif"]]
        if y == "yok":
            hizmetsiz += 1
            continue
        gecikme = o["gecikme"] + (ek if y == "tunel" else 0)
        if gecikme > butce:
            asan += 1
            asan_ms += gecikme - butce
        elif butce - gecikme < PAY_ESIGI:
            dar += 1
    return asan, asan_ms, hizmetsiz, dar


oz = ozneler()
print(f"özne {len(oz)} | toplam talep {sum(o['kapasite'] for o in oz)} | "
      f"adanmış bağlantı {ADANMIS} birim | tünel ek gecikme {TUNEL_EK} ms")
print("gecikme bütçesi: " + ", ".join(f"{s} {BUTCE[s]} ms" for s in ONCELIK))
print()
print(f"{'seçim':<16s} {'adanmışta':>10s} {'tünelde':>8s} {'yolsuz':>7s} "
      f"{'bütçeyi aşan':>13s} {'aşan ms':>8s} {'payı dar':>9s}")
for secim in ("adanmis", "tunel", "ikisi"):
    yol = yerlestir(oz, secim)
    a, ms, h, d = olc(oz, yol, TUNEL_EK)
    print(f"{secim:<16s} {sum(1 for v in yol.values() if v == 'adanmis'):10d} "
          f"{sum(1 for v in yol.values() if v == 'tunel'):8d} "
          f"{sum(1 for v in yol.values() if v == 'yok'):7d} "
          f"{a:13d} {ms:8d} {d:9d}")

print()
print(f"paylaşılan yol bozulduğunda (ek gecikme {TUNEL_EK} → {TUNEL_KOTU} ms)")
print(f"{'seçim':<16s} {'bütçeyi aşan':>13s} {'aşan ms':>8s} {'payı dar':>9s}")
for secim in ("adanmis", "tunel", "ikisi"):
    yol = yerlestir(oz, secim)
    a, ms, h, d = olc(oz, yol, TUNEL_KOTU)
    print(f"{secim:<16s} {a:13d} {ms:8d} {d:9d}")

print()
yol = yerlestir(oz, "ikisi")
for sinif in ONCELIK:
    grup = [o for o in oz if o["sinif"] == sinif]
    ad = sum(1 for o in grup if yol[o["no"]] == "adanmis")
    asan = sum(1 for o in grup
               if yol[o["no"]] == "tunel"
               and o["gecikme"] + TUNEL_EK > BUTCE[sinif])
    print(f"ikisi birlikte | {sinif:<10s} özne {len(grup):2d} | "
          f"adanmışta {ad:2d} | tünelde {len(grup) - ad:2d} | "
          f"bütçeyi aşan {asan:2d}")
```

```
özne 40 | toplam talep 2336 | adanmış bağlantı 900 birim | tünel ek gecikme 30 ms
gecikme bütçesi: etkilesim 45 ms, toplu 60 ms, yedek 120 ms

seçim             adanmışta  tünelde  yolsuz  bütçeyi aşan  aşan ms  payı dar
adanmis                  17        0      23             0        0         2
tunel                     0       40       0            14      144        10
ikisi                    17       23       0             9       76         5

paylaşılan yol bozulduğunda (ek gecikme 30 → 80 ms)
seçim             bütçeyi aşan  aşan ms  payı dar
adanmis                      0        0         2
tunel                       32     1508         1
ikisi                       16      758         3

ikisi birlikte | etkilesim  özne 11 | adanmışta 11 | tünelde  0 | bütçeyi aşan  0
ikisi birlikte | toplu      özne 20 | adanmışta  5 | tünelde 15 | bütçeyi aşan  9
ikisi birlikte | yedek      özne  9 | adanmışta  1 | tünelde  8 | bütçeyi aşan  0
```

## Üç Seçimin Kuyruğu

İlk satır bir tuzaktır ve dikkatle okunmalıdır. **Yalnız adanmış bağlantı** seçiminde
bütçeyi aşan özne **0**, aşan ms **0**. Gecikmeyi ölçen bir gösterge bu kurulumu kusursuz
gösterir. Yanındaki sütun neyin ödendiğini söylüyor: kırk öznenin **23**'ü hiçbir yol
bulamıyor. Adanmış bağlantı **900** birim, toplam talep **2336**; kapasite bitince sıradaki
özne dışarıda kalıyor.

Kuyruk yok olmadı, **göstergenin dışına çıktı**. Gecikme göstergesi yalnız hizmet alan
özneleri sayıyor ve hizmet alamayan bir öznenin gecikmesi yok. Kursun ilk dersinden beri
sayılan şeyin en keskin biçimi budur: iyi görünen bir sayının paydası, kuyruğun kendisi
tarafından küçültülmüş olabilir.

**Yalnız tünel** seçiminde payda düzeliyor — kırk öznenin kırkı da hizmet alıyor, yolsuz
kalan **0**. Bu kez kuyruk göstergenin içinde: **14** özne bütçesini aşıyor, toplam aşım
**144 ms**. Kapasite sorunu yok, gecikme sorunu var. Tünelin koyduğu **30 ms** sabittir ve
herkese aynı biçimde uygulanır; bütçesi dar olan sınıflar bunu kaldıramaz.

**İkisi birlikte** seçimi her iki göstergede de en iyisi: yolsuz **0**, bütçeyi aşan **9**,
aşan ms **76**. Adanmış bağlantı gecikmeye duyarlı özneleri alıyor, kalanlar tünelden
geçiyor. Kuyruk **14**'ten **9**'a iniyor.

## Kuyruk Kimin Üstünde Toplandı

Alt döküm, ikisi birlikte seçiminin asıl sonucunu veriyor ve bu sonuç sayının kendisinden
önemlidir. Etkileşim sınıfının **11** öznesinin **11**'i de adanmış bağlantıda; bütçeyi aşan
**0**. Yedek sınıfının bütçesi **120 ms** olduğu için tüneldeki sekiz öznesi de rahat;
aşan **0**. Dokuz kuyruğun **dokuzu da** toplu sınıfından geliyor.

Öncelik kuralı bunu yaptı. Kural etkileşim sınıfını en öne koydu, o sınıf **580** birimle
adanmış bağlantının üçte ikisini aldı, ve geriye kalan **320** birim toplu sınıfının yirmi
öznesinden yalnız beşine yetti. On beş toplu özne tünele düştü, dokuzu bütçesini aştı.

Bu, kursun ikinci iddiasının bu dersteki biçimidir. Üç seçimden hiçbiri kuyruğu kaldırmadı.
Yalnız adanmış bağlantı kuyruğu **hizmet alamayanlara**, yalnız tünel **bütçesi dar olan
herkese**, ikisi birlikte ise **tek bir sınıfa** yerleştirdi. En düşük sayıyı veren seçim,
acıyı en dar yere toplayan seçimdir. Hangisinin doğru olduğu bir ölçüm kararı değil, bir
politika kararıdır — ve toplu sınıfının dokuz öznesinin bunu kabul edip etmediği tablodan
okunamaz.

## Devralma ve İki Yolun Yan Etkileri

İkisi birlikte kurulumunun asıl gerekçesi çoğu zaman kapasite değil **devralmadır**:
adanmış bağlantı arızalandığında trafik tünele düşer ve hizmet kesilmez. Bunun bedeli
ölçümde zaten yazılı. Adanmış bağlantı düştüğü anda kırk öznenin kırkı tünele geçer, yani
kurulum **tünel satırına** iner: bütçeyi aşan **14**, aşan ms **144**. Devralma hizmeti
sürdürür ama kuyruğu dokuzdan on dörde çıkarır ve bunu tek bir arıza anında yapar. Devralma
planı yapan bir işletme, devraldıktan **sonraki** satırı da yazmak zorundadır.

İki yolun aynı anda var olmasının iki yan etkisi daha vardır ve ikisi de bu ölçümün dışında
kalır.

Birincisi **adres çakışmasıdır**. Hibrit bağlantı iki ayrı adres alanını tek bir düzlem gibi
davranmaya zorlar; iki alan aynı bloğu kullanıyorsa hiçbir yol kurulamaz. Önceki dersin
sanal ağ bloğu bu yüzden bir kez ve geri dönüşsüz seçilen bir karardır: çakışmayı sonradan
çözmenin yolu, alt ağları yeniden numaralamak ya da adres dönüştüren bir katman eklemektir.
İkincisi ancak kural dizisinin okuduğu adresi bozarak çalışır.

İkincisi **yol asimetrisidir**. Gidiş adanmış bağlantıdan, dönüş tünelden geçebilir; iki
yönün ayrı yollar izlemesi tek başına bir hata değildir ama durum bilgisi tutan her nesneyi
bozar. Bir yönü gören güvenlik grubu öteki yönü görmez ve akışı yarım tanır. Daraltma,
yolun yönünü değil **akışı** bağlamaktır: iki uç arasındaki trafiğin her iki yönü de aynı
yola sabitlenir, sabitleme yönlendirme önceliğiyle iki uçta da aynı biçimde yazılır.

## Görünmeyen Kuyruk: Dar Pay

Son sütun kuyruğa girmemiş ama sınırında duran özneleri sayıyor. Bütçesine **15 ms**'den az
payı kalan özne kuyrukta değildir; hiçbir uyarı üretmez, hiçbir raporda görünmez.

Paylaşılan yol bozulduğunda ne olduğunu ikinci tablo söylüyor. Tünelin ek gecikmesi
**30 ms**'den **80 ms**'ye çıktığında yalnız tünel seçiminde kuyruk **14**'ten **32**'ye,
aşan ms **144**'ten **1508**'e fırlıyor. İkisi birlikte seçiminde kuyruk **9**'dan **16**'ya,
aşım **76**'dan **758**'e çıkıyor. Adanmış bağlantı satırı hiç kıpırdamıyor: **0** ve **0**.
Ayrılmış yolun karşılığı budur ve tam olarak burada görünür.

Payı dar sütunundaki hareket ilk bakışta ters okunur. Yalnız tünel seçiminde bu sayı
**10**'dan **1**'e **iniyor**, ikisi birlikte seçiminde **5**'ten **3**'e. Bu bir iyileşme
değildir. Payı dar olan özneler bozulmayla birlikte **kuyruğa geçtiler**; sayının düşmesi,
sınırda duran özneler tükendiği içindir. Bir göstergenin iyileşmesi, saydığı kümenin
boşalmasından geliyor olabilir.

Buradan çıkan işletme kuralı tektir: dar pay ayrı bir gösterge olarak sayılmalıdır. Kuyruğu
sayan gösterge bozulmadan **sonra** konuşur; dar payı sayan gösterge bozulmadan **önce**
konuşur ve ikisi aynı sayı değildir.

## Özet

- Siteler arası tünel paylaşılan bir yolun üstüne kurulur ve sabit bir ek gecikme koyar;
  adanmış bağlantı ayrılmış bir yol verir ama kapasitesi kurulumda seçilir ve sonradan
  büyütülemez.
- Yalnız adanmış bağlantı seçiminde bütçeyi aşan özne **0**'dır, çünkü kırk öznenin **23**'ü
  hiç yol bulamaz ve göstergenin paydasına girmez.
- Yalnız tünel kırk öznenin kırkına yol verir ama **14**'ünü bütçesinin dışına atar; ikisi
  birlikte kuyruğu **9**'a indirir.
- Dokuz kuyruğun dokuzu da toplu sınıfındandır: öncelik kuralı etkileşim sınıfının onbirini
  adanmış bağlantıya alınca kalan **320** birim toplu sınıfının yalnız beş öznesine yetmiştir.
- Payı **15 ms**'den az kalan özneler kuyrukta görünmez; paylaşılan yol **30 ms**'den
  **80 ms**'ye bozulduğunda bunlar kuyruğa geçer ve dar pay sayısının düşmesi iyileşme değil,
  sınırdaki kümenin boşalmasıdır.

## Sonraki Adım

Bu dersteki her sayı bir seçimin **sonucunu** verdi: yol seçildi, kırk özneye uygulandı,
kuyruk sayıldı. İşletmede bu sıra tersine çevrilmek istenir — kuyruğun ne olacağı, kaldıraca
dokunulmadan önce bilinsin. Sonraki ders bunun için kurulan yeri ölçer: gerçek ağın bir
kopyasının çıkarıldığı laboratuvar ortamını. Ölçülen şey laboratuvarın kendisi değil,
**gerçeği ne kadar temsil ettiğidir**: kaç özne modellenebiliyor, kaçı modellenemiyor, ve
laboratuvarda doğrulanmış bir değişiklik sahada kaç öznede başka türlü davranıyor.
