---
title: 'Dolaşım ve Bant Yönlendirme'
source: 'https://academia.sh/tr/kurslar/kablosuz-ve-guvenlik/dolasim-ve-bant-yonlendirme'
course: 'Kablosuz Ağlar ve Ağ Güvenliği'
language: tr
updated: '2026-08-17T18:07:23+00:00'
license: 'CC BY-SA 4.0'
---

# Dolaşım ve Bant Yönlendirme

Geçiş eşiği 30'dan 14'e indikçe fazla geçen 8'den 0'a iner ve fazla duran 0'dan 8'e çıkar; erken geçiş ile geç geçiş aynı düğmenin iki ucudur ve tek yönü düzeltmek öbürünü büyütür.

Önceki ders hücreleri bilerek örtüştürdü: boşluk kalmasın diye komşu hücrelerin kenarları üst
üste bindirildi. Ölçüm bütçeyi taradı ve istemciler yerlerinde durdu — kırk istemcinin
hiçbiri kımıldamadı.

Örtüşme tam da kımıldayanlar için kurulmuştu. Kenardaki bir istemci iki noktayı birden duyar;
yürüdükçe biri zayıflar, öbürü güçlenir. O zaman ilişkilenme kararı bir kez değil **defalarca**
verilir ve her seferinde aynı soru sorulur: elimdekini bırakayım mı? Bu dersin ölçtüğü şey o
sorunun eşiğidir. Eşiği yükseltmek istemciyi erken bırakır, düşürmek zayıf noktaya yapıştırır.
İkisi de hatadır ve **aynı sayıda görünmezler.**

## Geçiş Kararını Kim Verir

**Dolaşım (roaming)**, bir istemcinin bağını bir erişim noktasından ötekine taşımasıdır. İlk
söylenmesi gereken şey, kararın kimde olduğudur: karar **istemcidedir**. Ağ istemciyi bir
noktadan atabilir, ona komşularını bildirebilir, hatta belirli bir noktaya gitmesini
önerebilir; ama istemci hangi noktaya ilişkileneceğini kendi seçer.

Bu, ölçümün neden iki yönlü olduğunu doğrudan açıklar. Ağın elindeki tek şey **eşiklerdir**:
hangi işaret gücünün altında istemciye "artık seni tutmuyorum" denecek, komşu listesinde ne
bildirilecek. Eşik ağın yazdığı, karar istemcinin verdiği şeydir.

```text
# ogretilen gecis dizisi , kurgudur ve calistirilmamistir

1. nokta A -> istemci     komsu bildirimi
                            A: kanal 4 , olculen isaret 21
                            B: kanal 1 , olculen isaret 29
                            C: kanal 7 , olculen isaret 12

2. istemci                karar
                            elimdeki isaret 21 , esik 22 -> birak

3. istemci -> nokta B     iliskilenme istegi

4. nokta B -> istemci     iliskilenme yaniti
                            sonuc: kabul , verilen kademe 4

5. nokta A                eski bag dusurulur
                            <-- 2. ve 3. adim arasinda cerceve kaybi olur
```

Beşinci adımın altındaki not dolaşımın asıl maliyetidir. İki ilişkilenme arasında istemci
hiçbir noktaya bağlı değildir; o aralıkta gelen çerçeveler düşer. Aralık kısaysa üst
katmanlar bunu bir gecikme dalgalanması olarak yutar, uzunsa bağlantı kopmuş gibi görünür.
Geçiş sırasında yeniden kurulması gereken başka şeyler de vardır ve bunlardan biri sonraki
dersin konusudur.

Birinci adımın da bir bedeli vardır ve daha az görünür. İstemci komşularını bilmiyorsa onları
kendi bulmak zorundadır; bulmak için de öbür kanalları dinlemesi gerekir. Bir kanalı
dinlerken kendi kanalında değildir — yani o sırada gelen çerçeveleri kaçırır. **Tarama, geçiş
olmasa bile kayıp üretir.** Bir istemci ne kadar sık tararsa komşularını o kadar taze bilir ve
o kadar çok çerçeve kaçırır.

Komşu bildirimi tam bu ödünleşimi hafifletmek içindir: ağ, istemcinin arayacağı listeyi ona
verir. İstemci artık on kanal yerine bildirilen üçünü dinler. Ama bildirimi kim yazar sorusu
önceki dersin sorusudur — bağımsız bir erişim noktası komşularını bilmez, ortak görüş yoksa
liste de yoktur. Dolaşımın kalitesi, kararın nerede alındığına bu noktadan bağlanır.

## Erken Geçiş ile Geç Geçiş

Ölçümün kurgusu bir **koridordur**: iki erişim noktası 50 m arayla duruyor ve her istemci bu
doğru üzerinde bir yerde. İstemcinin A'ya uzaklığı ilk dersin `uzaklık` alanıdır; B'ye
uzaklığı `50 - uzaklık`.

Niyet en yalın hâliyle şudur: **istemci hangi noktaya yakınsa ona ait olmalıdır.** Önceki
dersteki örtüşme burada bir belirsizlik yaratır — 20 ile 30 m arasındaki bir istemciyi iki
hücre de kendi içinde sayar. Kâhinin tek bir cevap vermesi için en yakın nokta kuralı
seçilir; koridorun ortası olan 25 m sınırdır.

Düzenek ise niyetin bilebildiği şeyi bilmez. İstemci kendi konumunu ölçmez; yalnız
**elindeki noktanın işaret gücünü** ölçer ve o güç eşiğin altına düştüğünde bırakır. İşaret
gücü uzaklığa **ve girişime** bağlı olduğundan, aynı uzaklıktaki iki istemci farklı zamanlarda
bırakır.

İki hata buradan doğar:

- **Erken geçiş** — istemci hâlâ A'ya yakınken bırakır. Niyet durduracaktı, düzenek geçirdi:
  **fazla geçen**.
- **Geç geçiş** — istemci çoktan B'ye yaklaşmışken A'ya yapışır. Niyet geçirecekti, düzenek
  durdurdu: **fazla duran**.

## Bant Yönlendirme Neyi Bilmez

**Bant yönlendirme (band steering)** ikinci bir geçiş kararıdır: istemciyi menzili kısa ama
kademe tavanı yüksek olan geniş banda mı, menzili uzun ama tavanı düşük olan dar banda mı
koymalı?

Doğru cevap istemcinin geniş bantta gerçekten ne alacağına bağlıdır. Sorun şudur: **istemci
geniş bandı henüz denemedi.** Yönlendirme kararı verilirken elde yalnız dar bant okuması
vardır ve karar o okumayla verilir. Kural bir **vekil ölçümdür** — ölçmek istediği şeyi değil,
onunla ilişkili başka bir şeyi ölçer.

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

- **KB22** — Kırk istemci, uzaklık ve girişim ilk dersin kurgusundan gelir. İşaret bütçesi
  dolaşım ölçümünde 52'de sabittir.
- **KB23** — Koridor kurgusu: iki nokta 50 m arayla durur, istemcinin B'ye uzaklığı
  `50 - uzaklık`tır. Niyet en yakın nokta kuralıdır; sınır 25 m'dir.
- **KB24** — Düzenek yalnız elindeki noktanın işaret gücünü görür. Konum, B'nin işareti ve
  istemcinin yönü ölçüme girmez.
- **KB25** — Taranan geçiş eşikleri 30, 26, 22, 18 ve 14'tür. Tek seferde yalnız eşik
  değişir.
- **KB26** — Kararsızlık ölçümünde işaretin kısa sürede **3 birim** oynadığı varsayılır. Bir
  istemci, oynama aralığı hem bırakma hem dönme eşiğini kesiyorsa kararsız sayılır; histerezis
  payı 0 iken iki eşik çakışıktır.
- **KB27** — Bant yönlendirmede dar bant 58, geniş bant 46 bütçesiyle modellenir; geniş bandın
  kademe tavanı iki katıdır (`2 × kademe`). Bu, menzil–hız ödünleşiminin kurgusudur.
- **KB28** — Bant niyeti kâhinden gelir: istemci geniş bantta **gerçekten daha çok
  alıyorsa** oraya aittir. Kâhin iki bandın da kademesini bilir.
- **KB29** — Yönlendirme kuralı yalnız dar bant okumasını görür. Geniş bant okuması karara
  girmez; girseydi kural değil ölçüm olurdu.
- **KB30** — Küme 40 istemcidir; ölçülebilen en küçük fark **1/40 = 0,025**'tir.

## Ölçüm

```python
"""Dolasim ve bant yonlendirme: erken gecis ile gec gecis iki ayri hatadir."""
TOHUM = 20260811
GUC = 52
KORIDOR = 50        # iki erisim noktasi arasindaki uzaklik, metre
OYNAKLIK = 3        # isaretin kisa surede oynadigi aralik
KADEMELER = ((34, 6), (28, 4), (22, 2), (18, 1))


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

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


def istemciler(sayi=40, tohum=TOHUM):
    r, liste = uretec(tohum), []
    for i in range(sayi):
        liste.append({"no": i + 1, "uzaklik": 5 + r(41), "girisim": r(13)})
    return liste


def isaret(o, guc=GUC):
    return guc - o["uzaklik"] - o["girisim"]


def hiz(o, guc=GUC):
    for esik, kademe in KADEMELER:
        if isaret(o, guc) >= esik:
            return kademe
    return 0


def fark(olaylar, niyet, duzenek):
    d = {"dogru_gecti": 0, "dogru_durdu": 0, "yanlis_gecti": 0, "yanlis_durdu": 0}
    for o in olaylar:
        n, g = niyet(o), duzenek(o)
        if n and g:
            d["dogru_gecti"] += 1
        elif not n and not g:
            d["dogru_durdu"] += 1
        elif g:
            d["yanlis_gecti"] += 1
        else:
            d["yanlis_durdu"] += 1
    return d


def gecis_niyeti(o):
    """Istemci hangi noktaya yakinsa ona ait olmalidir."""
    return o["uzaklik"] > KORIDOR / 2


def gecis(o, esik):
    """Duzenek: elindeki noktanin isareti esigin altina duserse birak."""
    return isaret(o) < esik


def kararsiz(o, esik, pay):
    """Isaret oynadikca karar iki esigi de kesiyorsa istemci gidip gelir."""
    return esik + pay - OYNAKLIK <= isaret(o) <= esik + OYNAKLIK


ist = istemciler()
print(f"istemci {len(ist)} | koridor {KORIDOR} m | B'ye ait olmasi gereken "
      f"{sum(1 for o in ist if gecis_niyeti(o))}")
print()

print(f"{'gecis esigi':>11s} {'gecen':>6s} {'dogru':>6s} {'fazla gecen':>12s} "
      f"{'fazla duran':>12s}")
for esik in (30, 26, 22, 18, 14):
    d = fark(ist, gecis_niyeti, lambda o, e=esik: gecis(o, e))
    print(f"{esik:11d} {d['dogru_gecti'] + d['yanlis_gecti']:6d} "
          f"{d['dogru_gecti'] + d['dogru_durdu']:6d} {d['yanlis_gecti']:12d} "
          f"{d['yanlis_durdu']:12d}")
print()

print(f"{'histerezis payi':>15s} {'kararsiz istemci':>17s}")
for pay in (0, 2, 4, 6):
    print(f"{pay:15d} {sum(1 for o in ist if kararsiz(o, 22, pay)):17d}")
print()

DAR, GENIS = 58, 46


def hiz_dar(o):
    return hiz(o, DAR)


def hiz_genis(o):
    """Genis bant: menzil kisa, kademe tavani iki kat."""
    return 2 * hiz(o, GENIS)


def bant_niyeti(o):
    return hiz_genis(o) > hiz_dar(o)


def yonlendirme(o, esik):
    """Karar yalniz dar bant okumasiyla verilir; genis bant henuz denenmedi."""
    return isaret(o, DAR) >= esik


print(f"{'yonlendirme esigi':>17s} {'genise itilen':>13s} {'dogru':>6s} "
      f"{'fazla gecen':>12s} {'fazla duran':>12s}")
for esik in (44, 40, 36, 32):
    d = fark(ist, bant_niyeti, lambda o, e=esik: yonlendirme(o, e))
    print(f"{esik:17d} {d['dogru_gecti'] + d['yanlis_gecti']:13d} "
          f"{d['dogru_gecti'] + d['dogru_durdu']:6d} {d['yanlis_gecti']:12d} "
          f"{d['yanlis_durdu']:12d}")
print()
print(f"genise ait olmasi gereken istemci: {sum(1 for o in ist if bant_niyeti(o))}")
print("fazla gecenlerin kademe kaybi (no, dar kademe, genis kademe):")
print([(o["no"], hiz_dar(o), hiz_genis(o)) for o in ist
       if yonlendirme(o, 36) and not bant_niyeti(o)])
```

```
istemci 40 | koridor 50 m | B'ye ait olmasi gereken 19

gecis esigi  gecen  dogru  fazla gecen  fazla duran
         30     27     32            8            0
         26     27     32            8            0
         22     19     36            2            2
         18     17     36            1            3
         14     11     32            0            8

histerezis payi  kararsiz istemci
              0                 9
              2                 9
              4                 6
              6                 2

yonlendirme esigi genise itilen  dogru  fazla gecen  fazla duran
               44             7     38            0            2
               40             9     40            0            0
               36            13     36            4            0
               32            13     36            4            0

genise ait olmasi gereken istemci: 9
fazla gecenlerin kademe kaybi (no, dar kademe, genis kademe):
[(1, 6, 4), (11, 6, 4), (23, 6, 4), (36, 6, 4)]
```

## Eşik Dengeyi Kaydırır

Üst tablo tek bir düğmeyi çeviriyor ve iki sütun ters yönde hareket ediyor.

Eşik **30** iken **fazla geçen 8**, **fazla duran 0**. İstemciler A'ya yakınken bırakıyor;
sekizi hâlâ A'nın tarafındayken B'ye geçmiş. Hiç kimse geç kalmıyor, çünkü eşik o kadar
yüksek ki herkes zamanından önce gidiyor.

Eşik **14** iken tam tersi: **fazla geçen 0**, **fazla duran 8**. Kimse erken gitmiyor,
sekiz istemci B'ye çoktan yaklaşmışken A'ya yapışıyor. Yapışan istemci hem kendi kademesini
düşük tutar hem ortamı uzun tutar; ilk dersteki paylaşılan süre hesabı burada karşımıza
çıkar.

Ortadaki üç satır dengenin kaydığı yeri gösteriyor: **2/2**, **1/3** ve arada 30 ile 26'nın
aynı satırı vermesi. İkisinin aynı çıkması kurgunun çözünürlüğünden gelir — 26 ile 30
arasında hiçbir istemcinin işaret gücü yoktur, dolayısıyla o aralıkta eşiği oynatmak hiçbir
kararı değiştirmez. Ölçüm bandı (KB30, **0,025**) bu boşluğu göremez.

Okunacak kural şudur: **erken geçiş ile geç geçiş aynı düğmenin iki ucudur.** Yalnız yapışma
şikâyeti alan bir işletmeci eşiği yükseltir ve yapışmayı bitirir; bitirdiği anda erken geçiş
başlar ve o da bir şikâyettir — üstelik farklı bir şikâyet, çünkü erken geçiş kısa kesintiler
üretir, yapışma ise sürekli yavaşlık. İki yönü ayrı saymayan bir ölçüm, düğmeyi bir uçtan
öbür uca taşımaktan başka bir şey yapamaz.

## Gidip Gelme ve Histerezis

Orta tablo başka bir kusuru sayıyor. İşaret gücü sabit değildir; kısa sürede birkaç birim
oynar (KB26). Eşiğin tam kenarında duran bir istemci, bu oynamayla bırakma kararını verir,
sonra geri döner, sonra yine bırakır. Buna **gidip gelme** denir ve her turda bir çerçeve
kaybı üretir.

Tek eşikli düzenekte (histerezis payı **0**) kırk istemcinin **9**'u bu bandın içinde. Payı
**4**'e çıkarmak kararsız istemciyi **6**'ya, **6**'ya çıkarmak **2**'ye indiriyor. Düzenek
şudur: bırakma eşiği ile dönme eşiği ayrılır; istemci ancak işaret alt eşiğin altına düşünce
bırakır, ancak üst eşiğin üstüne çıkınca döner. Aradaki pay oynamayı yutar.

Payın bedeli üst tabloda okunur. Bırakma eşiğini sabit tutup dönme eşiğini yükseltmek, geri
dönüşü zorlaştırır: yanlış noktaya gitmiş bir istemci orada daha uzun kalır. Histerezis
kararsızlığı azaltır, **yanlış kararın ömrünü uzatır.** Pay 2'nin hiçbir şeyi
değiştirmemesi de aynı çözünürlük sorunudur — 2 birimlik bir pay, 3 birimlik bir oynamanın
altındadır ve hiçbir istemciyi banttan çıkarmaz.

## Yanlış Okumayla Verilen Karar

Alt tablo bant yönlendirmeyi ölçüyor. Kırk istemcinin **9**'u gerçekten geniş banda ait;
yönlendirme kuralı ise bunu dar bant okumasından tahmin etmeye çalışıyor.

Eşik **44** iken kural **7** istemciyi itiyor: **fazla geçen 0**, **fazla duran 2**. Kural
temkinli; kimseyi yanlış yere göndermiyor ama iki istemciyi hak ettiği bantta çalıştırmıyor.
Eşik **36** iken **13** istemci itiliyor: **fazla geçen 4**, **fazla duran 0**. Bu dördü
son satırda listeleniyor ve bedelleri belli — dar bantta kademe **6** alacaklarken geniş
bantta **4** alıyorlar. Kural onları "iyileştirmek" için ittiği yerde yavaşlatıyor.

Eşik **40** satırı **40/40** doğru veriyor: **0 fazla geçen, 0 fazla duran**. Bu satır dikkatle
okunmalıdır. Kuralın doğru olduğunu göstermez; bu kümede o kesimin niyetle çakıştığını
gösterir. Kural hâlâ ölçmek istediği şeyi ölçmüyor — geniş bandın okumasını hiç görmüyor
(KB29). Başka bir istemci dağılımında aynı eşik pekâlâ yanılabilir, çünkü vekil ölçümün
doğruluğu ölçtüğü kümeye bağlıdır.

Ve eşik 36 ile 32'nin aynı satırı vermesi, üst tablodaki 30–26 çiftinin karşılığıdır: eşiği
oynatmanın hiçbir kararı değiştirmediği aralıklar vardır. Bir eşiğin "ayarlandığı" her seferde
gerçekten bir şeyin değiştiği varsayılamaz.

## Özet

- Dolaşım kararını istemci verir; ağın elindeki tek düzenek eşiklerdir. Bu yüzden ölçü, ağın
  niyeti ile istemcinin kararı arasındaki farktır.
- Geçiş eşiği 30'dan 14'e indikçe fazla geçen **8, 8, 2, 1, 0**, fazla duran **0, 0, 2, 3, 8**
  olur. Erken geçiş ile geç geçiş aynı düğmenin iki ucudur.
- Tek eşikli düzenekte **9** istemci gidip gelme bandındadır; histerezis payı 4 ve 6 olduğunda
  bu sayı **6** ve **2**'ye iner, ama yanlış kararın ömrü uzar.
- Bant yönlendirme kuralı geniş bandın okumasını hiç görmez; eşik 44'te **2** istemci hak
  ettiği banda gitmez, eşik 36'da **4** istemci kademe 6'dan kademe 4'e düşürülür.
- Eşiği değiştirmenin hiçbir kararı değiştirmediği aralıklar vardır (30–26 ve 36–32); bir
  ayarın etkili olduğu, ayarın yapılmış olmasından çıkarılamaz.

## Sonraki Adım

Buraya kadar kimin geçtiğini **ortam** belirledi. Uzaklık, girişim, bütçe ve eşik — dördü de
fiziksel ya da sayısal büyüklüklerdi ve hiçbiri istemcinin **kim olduğunu** sormadı. Hücrenin
içinde duran herkes ilişkilendi, dışında duran hiç kimse ilişkilenemedi; sınırı çizen şey
mesafeydi.

Peki geçişe bir **kimlik koşulu** eklenirse ne olur? O zaman ilişkilenme iki sınavdan geçer:
istemci yeterince yakın mı, ve istemci kabul edilebilir mi? Sonraki ders bu ikinci sınavı
kurar ve aynı iki yönü orada da sayar — kimlik koşulu kimi fazladan geçirir, kimi fazladan
durdurur.
