---
title: 'Yineleyici, Hub ve Anahtar'
source: 'https://academia.sh/tr/kurslar/anahtarlama-ve-yonlendirme/yineleyici-hub-ve-anahtar'
course: 'Anahtarlama ve Yönlendirme'
language: tr
updated: '2026-08-17T18:07:18+00:00'
license: 'CC BY-SA 4.0'
---

# Yineleyici, Hub ve Anahtar

Üç cihaz sınıfı aynı kırk çerçevede ölçülür: yineleyici ve hub tek çarpışma alanı kurup 280 teslim ve 34 çakışma üretir, tablosuz anahtar çakışmayı sıfırlar ama 240 gereksiz kopyayı sürdürür, tablolu anahtar teslimi 40'a indirir.

Önceki kurs bir aracının **iletiden** ne okuyabildiğini saydı. Orada karar iletide yazana
bakılarak alınıyordu: yöntem alanı bir şey söylüyordu, durum kodu bir şey söylüyordu, ve
aracı yalnız bunları okuyarak yürüyordu. İleti kapandığında aracı kör kalıyordu.

Bir anahtarın kararı böyle alınmaz. Çerçeveyi alan cihaz onu **kendi tablosuna** bakarak
çıkışa verir; çerçevede yazan hedef adresi yalnız tabloya sorulan sorudur, yanıtın kendisi
değil. Yanıt cihazın belleğindedir. Ve o bellekteki şey, paylaşılan bir gerçeğin
**kopyasıdır** — kopya eskiyebilir, eksik olabilir, komşusununkiyle çelişebilir. Bu kursun
tek konusu budur. Bu dersin sorusu ise daha önce gelir: karar veren bir cihaz ile karar
vermeyen bir cihaz aynı trafikte nasıl ayrışır?

## Karar Nereden Okunur

Kurs boyunca ölçülen şey tek bir düzenektir. Bir **tablo** vardır; tablo bir hedefi bir
çıkışa eşler. Cihaz gelen çerçeveyi ya da paketi alır, hedefini tabloda arar ve bulduğu
çıkışa verir. Tablonun kendisi cihazın icadı değildir: ağın gerçek biçiminden türer, ama o
gerçeğin **yerel bir kopyası** olarak tutulur.

Kopyanın gerçekle uyuşup uyuşmadığını ölçebilmek için gerçeği ayrıca yazmak gerekir. Kurs
boyunca buna **kâhin** denir: topolojiyi biz kurduğumuz için her hedefin nerede olduğu
bilinir. Kâhin bir cihazın elindeki bilgi değildir; ölçümün elindeki cetveldir.

Kopya gerçeğe uymadığında paketin başına üç şeyden biri gelir ve kurs bu üç adı sonuna kadar
kullanır. **Ulaştı:** paket hedefine vardı. **Döngü:** paket aynı bağdan ikinci kez geçti ya
da atlama sınırını yaktı; ölmedi, dolaşıyor. **Kara delik:** çıkış tabloda yok ya da artık
gerçek bir çıkış değil; paket orada bitti. Bu derste ölçülen tek kader **ulaştı**'dır, çünkü
tek bir cihazın tablosu kendi başına bir döngü kuramaz. Döngü en az iki tablonun
anlaşmazlığıdır ve iki tablo bu konunun sonraki derslerinde ortaya çıkar.

## Üç Cihaz Sınıfı

Aynı yerel ağda duran üç cihaz sınıfı, kararı üç ayrı yerden okur.

**Yineleyici (repeater)** hiçbir yerden okumaz. İki bölütü birleştirir ve bir yandan gelen
sinyali tazeleyip öbür yana basar. Çerçeveyi çözmez, adrese bakmaz, tablo tutmaz. Yaptığı iş
sinyalin zayıflamasını gidermektir; mesafe kazandırır, karar kazandırmaz.

**Hub** çok bacaklı bir yineleyicidir. Bir bacaktan gelen sinyali kalan bütün bacaklara
basar. Bacak sayısı ikiden büyüktür, ama karar düzeneği aynıdır: yoktur.

**Anahtar (switch)** kararı bir tablodan okur. Tablo donanım adresini bir bacağa eşler;
çerçevenin hedef adresi tabloda varsa çerçeve yalnız o bacağa çıkar. Tabloyu nasıl
doldurduğu — gelen çerçevenin kaynak adresini geldiği bacakla birlikte yazması ve hedefi
bilinmeyen çerçeveyi **taşırması (flooding)** — Ağ Modelleri kursundaki Ethernet ve MAC
Adresleri dersinde kuruldu ve burada tekrarlanmaz. Burada tablo hazır kabul edilir; ölçülen
şey tablonun **varlığının** ne kazandırdığıdır.

Ayrım katman ayrımıdır. Yineleyici ile hub sinyal düzeyinde çalışır: taşıdıkları şey bit
dizisidir, çerçeve değil. Anahtar bağlantı katmanında çalışır: çerçeveyi bir birim olarak
tanır, adres alanlarını okur ve bir karar verir. Bir cihazın hangi katmanda durduğu, ne
kadar hızlı olduğunu değil, **neye bakabildiğini** söyler.

## İletme Kipleri

Anahtarın kararı zaman içinde bir noktada verilir ve bu noktanın seçimi iki kip doğurur.

**Depola ve ilet** kipinde anahtar çerçevenin tamamını alır, denetim dizisini doğrular ve
ancak sonra bacağa verir. Bozuk bir çerçeve çıkışa hiç konmaz; bedeli, çerçevenin
uzunluğuyla orantılı bir bekleyiştir.

**Kes ve ilet** kipinde anahtar hedef adresini okur okumaz çıkışı seçer ve kalan baytları
akarken geçirir. Bekleyiş adres alanı kadardır, çerçeve uzunluğundan bağımsızdır. Bedeli
şudur: denetim dizisi çerçevenin sonundadır, yani karar verildiğinde henüz görülmemiştir.
Bozuk bir çerçeve de iletilir ve hatayı ancak alıcı bulur.

Seçim bir doğru–yanlış seçimi değil, neyin sayıldığına bağlı bir dengedir: birinde gecikme,
öbüründe boşa harcanan iletim. Bu dersin ölçümü kipten bağımsızdır ve her iki kipte de
aynıdır, çünkü sayılan şey kararın **ne zaman** verildiği değil, verilip verilmediğidir.

## İki Alan

İki kapsam ayrılır ve bu ayrım üç cihazı birbirinden ayıran ilk ölçüdür.

**Çarpışma alanı (collision domain)**, aynı anda gönderim yapıldığında sinyallerin
çakışabileceği cihaz kümesidir. Yineleyici ve hub tek bir ortak ortam kurar: sekiz istasyon
tek bir çarpışma alanındadır. Anahtarın her bacağı ayrı bir çarpışma alanıdır; bir bacaktaki
gönderim öbür bacaktaki gönderimle çakışmaz.

**Yayın alanı (broadcast domain)**, bir yayın çerçevesinin ulaştığı cihaz kümesidir. Üç
cihazın hiçbiri yayın alanını bölmez. Anahtar da bölmez: hedefi bir grup adresi olan çerçeve
her bacağa çıkar. Yayın alanını bölen düzenek bu konunun ilerleyen derslerinin konusudur.

## Çift Yönlü Bacak ve Tampon

Anahtarın her bacağının ayrı bir çarpışma alanı olması, o alanda çarpışma **olabileceği**
anlamına gelir. Bacakta tek bir istasyon varsa ve bacak çift yönlü çalışıyorsa, gönderme ile
alma ayrı yollarda yürür ve çakışacak iki gönderim hiç doğmaz. Anahtarın çakışmayı
sıfırlaması bu yapıdan gelir: çarpışma alanı küçültülmemiş, **boşaltılmıştır.**

Bunun bir bedeli vardır ve ölçümdeki kuyruk sütunu onu sayar. Ortak ortamda iki gönderim aynı
anda olamaz; anahtarda olabilir, çünkü giriş bacakları birbirinden bağımsızdır. İki giriş
aynı çıkışı istediğinde anahtar birini tutmak zorundadır ve tuttuğu yer bir **tampondur.**
Tampon dolarsa çerçeve atılır — kaybın yeri ortamdan cihaza taşınmıştır.

Aynı gerekçe bacak hızları eşit olmadığında da işler. Hızlı bir bacaktan gelip yavaş bir
bacağa çıkacak çerçeve, aradaki farkı tamponda bekler. Ortak ortamda böyle bir fark
tanımsızdı: herkes aynı hızda konuşurdu, çünkü herkes aynı teldeydi.

Ölçümün kurgusu şudur: sekiz istasyon, tek bir cihaza sekiz bacaktan bağlıdır. Kırk çerçeve
gönderilir; her çerçevenin bir kaynağı, bir hedefi ve bir zaman dilimi vardır. Cihazın
tablosu şu dökümdeki gibi okunur.

```text
# ogretilen dokum, calistirilmamistir

eslestirme tablosu (anahtar)
  adres   bacak
  a       1
  b       2
  ...
  h       8

bir cercevenin izi
  kaynak a, hedef e
    hub        -> 2,3,4,5,6,7,8   (yedi kopya, altisi gereksiz)
    anahtar    -> 5               (tek kopya)
  hedef tabloda yoksa
    anahtar    -> 2,3,4,5,6,7,8   (tasirma; hub ile ayni)
```

## Ölçümün Varsayımları

- **AC1** — Sekiz istasyon tek bir cihaza sekiz bacaktan bağlıdır ve her istasyon tek bir
  bacaktadır. Kâhin bu yerleşimi biz kurduğumuz için bilinir: hangi adresin hangi bacakta
  olduğunu ölçüm bilir, cihaz bilmeyebilir.
- **AC2** — Kırk çerçeve üretilir. Kaynak ile hedef bir üreteçten, zaman dilimi ayrı bir
  üreteçten çekilir; her üreteç tek bir modülüsle çağrılır. Kaynak ile hedefin aynı olduğu
  çekiliş atılır.
- **AC3** — Zaman dilimi sayısı yirmidir. Kırk çerçevenin yirmi dilime dağılması yüklü bir
  ortam demektir; ölçülen şey mutlak çakışma sayısı değil, aynı yükün üç cihazda ne olduğudur.
- **AC4** — Ortak ortamda bir dilimde birden çok gönderen varsa o dilimdeki çerçevelerin
  hepsi **çakışmış** sayılır. Ayrı bacaklarda çakışma olmaz; aynı dilimde aynı çıkış bacağını
  isteyen fazladan her çerçeve **kuyruğa** yazılır.
- **AC5** — Dört rejim karşılaştırılır: yineleyici, hub, tablosu boş anahtar ve tablosu tam
  anahtar. Tablosu boş anahtar öğrenmeyen bir kurgudur; amacı bacak yalıtımının kazancını
  tablonun kazancından ayırmaktır.
- **AC6** — Yük ekseni dilim sayısıyla kurulur: aynı kırk çerçeve kırk, yirmi ve on dilime
  sığdırılır. Dilim sayısı değiştiğinde çekilişler baştan yapılır, bu yüzden yük satırları
  birbirinin alt kümesi değildir; karşılaştırılan şey aynı çerçeve dizisi değil, aynı
  yoğunluk kuralıdır.
- **AC7** — Kümenin çözünürlüğü kırk çerçevedir; ölçülebilen en küçük fark $1/40 = 0{,}025$'tir.
  Bundan küçük bir fark bu kümeyle savunulmaz.

## Ölçüm

```python
"""Uc cihaz sinifi ayni trafikte: alan sayisi ve iletilen cerceve.

Kaynak ile hedef bir uretecten, zaman dilimi ayri bir uretecten cekilir;
her uretec tek bir modulusle cagrilir.
"""
TOHUM = 20260810
ISTASYONLAR = ["a", "b", "c", "d", "e", "f", "g", "h"]
DILIM = 20


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

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


def cerceveler(sayi=40, dilim=DILIM):
    r, z, liste = uretec(TOHUM), uretec(TOHUM + 1), []
    while len(liste) < sayi:
        x, y = ISTASYONLAR[r(8)], ISTASYONLAR[r(8)]
        if x != y:
            liste.append({"kaynak": x, "hedef": y, "dilim": z(dilim)})
    return liste


def kahin():
    """Gercek: hangi istasyon hangi bacakta duruyor."""
    return {a: i + 1 for i, a in enumerate(ISTASYONLAR)}


def olc(C, tablo, ortak_ortam):
    yer, dolu, cikan = kahin(), {}, {}
    teslim = gereksiz = cakisan = 0
    for c in C:
        dolu[c["dilim"]] = dolu.get(c["dilim"], 0) + 1
    for c in C:
        bacak = tablo.get(c["hedef"])
        cikis = ([bacak] if bacak is not None
                 else [b for b in yer.values() if b != yer[c["kaynak"]]])
        teslim += len(cikis)
        gereksiz += sum(1 for b in cikis if b != yer[c["hedef"]])
        if ortak_ortam:
            cakisan += 1 if dolu[c["dilim"]] > 1 else 0
        else:
            for b in cikis:
                cikan[(c["dilim"], b)] = cikan.get((c["dilim"], b), 0) + 1
    kuyruk = sum(n - 1 for n in cikan.values() if n > 1)
    return teslim, gereksiz, cakisan, kuyruk


C, TAM = cerceveler(), kahin()
print(f"çerçeve {len(C)} | istasyon {len(ISTASYONLAR)} | zaman dilimi {DILIM}")
print()
print(f"{'cihaz':<18s} {'bacak':>5s} {'çarpışma':>8s} {'yayın':>5s} "
      f"{'teslim':>6s} {'gereksiz':>8s} {'çakışan':>7s} {'kuyruk':>6s}")
for ad, bacak, tablo, ortak in (("yineleyici", 2, {}, True),
                                ("hub", 8, {}, True),
                                ("anahtar, tablosuz", 8, {}, False),
                                ("anahtar, tablolu", 8, TAM, False)):
    t, g, ca, ku = olc(C, tablo, ortak)
    print(f"{ad:<18s} {bacak:5d} {1 if ortak else bacak:8d} {1:5d} "
          f"{t:6d} {g:8d} {ca:7d} {ku:6d}")
print()
print(f"{'dilim':>5s} {'hub çakışan':>11s} {'tablosuz kuyruk':>15s} "
      f"{'tablolu kuyruk':>14s}")
for d in (40, 20, 10):
    Cd = cerceveler(40, d)
    _, _, ca, _ = olc(Cd, {}, True)
    _, _, _, k0 = olc(Cd, {}, False)
    _, _, _, k1 = olc(Cd, TAM, False)
    print(f"{d:5d} {ca:11d} {k0:15d} {k1:14d}")
```

```
çerçeve 40 | istasyon 8 | zaman dilimi 20

cihaz              bacak çarpışma yayın teslim gereksiz çakışan kuyruk
yineleyici             2        1     1    280      240      34      0
hub                    8        1     1    280      240      34      0
anahtar, tablosuz      8        8     1    280      240       0    151
anahtar, tablolu       8        8     1     40        0       0      6

dilim hub çakışan tablosuz kuyruk tablolu kuyruk
   40          27             102              3
   20          34             151              6
   10          38             202             10
```

## İki Ayrı Kazanç

İlk iki satır **birbirinin aynıdır** ve bu bir eksiklik değil, dersin ilk bulgusudur.
Yineleyicinin iki bacağı, hubın sekiz bacağı vardır; ürettikleri alan sayısı da, teslim
ettikleri kopya sayısı da, çakışan çerçeve sayısı da aynı çıkar. Bacak eklemek karar
kazandırmaz. İkisi de kararı hiçbir yerden okumadığı için aynı cihazdır.

Üçüncü satır bacak yalıtımını yalnız başına ölçer. Tablosu boş anahtar hâlâ taşırıyor:
**280** teslim, **240** gereksiz kopya — hubın verdiğinin aynısı. Değişen tek şey çakışmadır:
**34**'ten **0**'a iner. Bacaklar ayrı çarpışma alanları olduğu için iki gönderim artık
birbirini bozmaz. Bozulmayan gönderimler yok olmaz, **kuyruğa** girer: aynı dilimde aynı
bacağa çıkmak isteyen **151** fazladan kopya sıra bekler. Çarpışma kaybolmadı, **kuyruğa
dönüştü.**

Dördüncü satır tablonun kazancını ekler. Teslim **280**'den **40**'a, gereksiz kopya
**240**'tan **0**'a iner: kırk çerçevenin her biri tam olarak bir bacağa çıkar. Kuyruk da
**151**'den **6**'ya düşer, çünkü artık bir bacağı yalnız gerçekten oraya giden çerçeveler
ister.

Ayrım şudur: **bacak yalıtımı çakışmayı kaldırır, tablo gereksiz kopyayı kaldırır.** İkisi
ayrı düzenektir ve ayrı ölçülür. Tablosuz bir anahtar kablolamada hubdan iyidir, iş yükünde
ondan farksızdır.

Sayılan farklar ölçüm bandının içindedir. Kırk çerçevelik bir kümede ölçülebilen en küçük
fark $1/40 = 0{,}025$'tir; buradaki farklar bir çerçeve değil, onlarca çerçeve düzeyindedir.
Çakışmadaki **34** çerçevelik düşüş kümenin **0,850**'si, gereksiz kopyadaki **240** birimlik
düşüş ise çerçeve başına altı kopyadır. Bu ölçekteki bir farkın işareti kurgunun ayrıntısına
bağlı değildir.

## Yük Arttığında

Alt tablo aynı kırk çerçeveyi üç ayrı yoğunlukta gönderiyor: kırk dilime yayıldığında hafif,
on dilime sıkıştığında ağır bir yük.

Ortak ortamda çakışan çerçeve **27**'den **34**'e, oradan **38**'e çıkıyor. Artış yavaşlıyor
çünkü tavan bellidir: kırk çerçevenin kırkı da çakışabilir ve ötesi yoktur. Ortak ortamın
yük altındaki davranışı budur — bozulma **kaybedilen çerçeveyle** ölçülür ve doyuma gider.

Anahtarda aynı yük kuyruk olarak görünür. Tablolu anahtarda kuyruk **3**, **6**, **10**
girdiye çıkıyor; tablosuz anahtarda **102**, **151**, **202**. İki gözlem çıkar. Birincisi,
anahtarda yük **kayıp** değil **bekleyiş** üretir: çerçeve yok olmaz, sırasını bekler.
İkincisi, taşırma kuyruğu yaklaşık yirmi katına çıkarıyor — çünkü her çerçeve bir bacak değil
yedi bacak istiyor. Tablonun kazancı yük arttıkça büyüyor: hafif yükte aradaki fark **99**
girdi, ağır yükte **192**.

Bir uyarı da üst tablodan okunur. Yayın alanı sütunu dört satırda da **1**'dir. Anahtar
tabloyla ne kadar iyi karar verirse versin, hedefi bir grup adresi olan çerçeveyi bütün
bacaklara vermek zorundadır — çünkü o çerçevenin hedefi tabloda hiçbir zaman tek bir bacağa
düşmez. Sekiz istasyonluk bir alanda tek bir yayın çerçevesi yedi teslim üretir; alan
büyüdükçe bu sayı alanla birlikte büyür.

## Özet

- Karar bu kursta iletide yazandan okunmaz; cihazın **tablosundan** okunur ve tablo
  paylaşılan bir gerçeğin yerel kopyasıdır.
- Paketin üç kaderi vardır — **ulaştı**, **döngü**, **kara delik**; tek bir cihazın tablosu
  kendi başına döngü kuramaz, döngü en az iki tablonun anlaşmazlığıdır.
- Yineleyici ile hub aynı cihazdır: kırk çerçevede ikisi de **1** çarpışma alanı, **280**
  teslim, **240** gereksiz kopya ve **34** çakışan çerçeve verir.
- Bacak yalıtımı çakışmayı **34**'ten **0**'a indirir ama gereksiz kopyaya dokunmaz; çakışma
  yok olmaz, **151** kuyruk girdisine dönüşür. Tablo teslimi **280**'den **40**'a, gereksiz
  kopyayı **240**'tan **0**'a, kuyruğu **151**'den **6**'ya indirir.
- Yük arttıkça ortak ortamda çakışma **27**, **34**, **38** ile kırka doyar; anahtarda aynı
  yük **3**, **6**, **10** kuyruk girdisi olur — kayıp değil, bekleyiş.
- Üç cihazın hiçbiri yayın alanını bölmez; dört rejimde de yayın alanı sayısı **1** kalır.

## Sonraki Adım

Bu ölçümde anahtarın tablosu hazır kabul edildi: sekiz adresin sekizi de doğru bacakla
eşlenmişti. Gerçekte tablo öyle başlamaz ve öyle kalmaz. Bir anahtar açıldığında tablosu
boştur; bir istasyon susarsa girdisi bir süre sonra silinir; bir istasyon başka bacağa
taşınırsa girdisi bir süre boyunca yanlış kalır. Sonraki ders tablonun **yaşını** ölçer:
öğrenilmemiş ve yaşlanmış girdinin kaç çerçeveyi taşırttığını, ve taşırmanın hangi alanı
büyüttüğünü.
