İçeriğe geç
academia.sh

Ders 06 / 14

Kısa Menzilli ve Geniş Alan Kablosuz

Aynı niyet üç menzil sınıfında ölçülür: menzil büyüdükçe ulaşılan en yüksek hız kademesi 8'den 6'ya, oradan 2'ye iner, ilişkilenen istemci 11'den 37'ye çıkar ve hatanın işareti sınıfın menzilinden değil yarıçapın güç bütçesine göre nasıl ayarlandığından gelir.

İçindekiler

Önceki ders ilişkilenmeye bir kimlik koşulu ekledi ve bunun kapsamaya ödettiğini saydı. Ama ölçümün tamamı tek bir ölçekte kaldı: otuz metrelik bir hücre, onlarca metrelik uzaklıklar, altıya kadar çıkan bir hız kademesi merdiveni. Bu ölçek kablosuzun tamamı değildir.

Aynı niyet — “sınırın içindeki istemci hizmet alır” — birkaç metrelik bir eşleşme bağında da, kilometrelerce uzanan düşük güçlü bir bağda da kurulur. Bu dersin sorusu, niyetin biçimi sabit tutulduğunda ölçeğin kendisinin ne değiştirdiğidir: menzil büyüdükçe hız kademesine ne olur, fazla duran nereye gider, ve “hizmet almak” her sınıfta aynı şey midir.

Menzilin Üç Sınıfı

Kablosuz bağlar, kapsamak istedikleri alana göre üç sınıfta toplanır. Sınıflar birbirinin gelişmiş hâli değildir; farklı niyetlerin farklı yanıtlarıdır.

Kısa menzil. Birkaç metrelik bir alanı kapsar ve çoğunlukla iki uç arasında kurulur: bir çevre birimi ile onu kullanan konak, bir algılayıcı ile onu okuyan aygıt. Topoloji genellikle eşleşmeli bir çifttir, hücre değil. Güç bütçesi küçüktür çünkü aygıt pille çalışır; buna karşılık uzaklık da küçük olduğu için işaret gücü yüksek kalır ve hız kademesi yukarı çıkabilir. Eşleşme adımı bu sınıfın kendine özgü işidir: bağ kurulmadan önce iki uç birbirini bir kez tanır.

Yerel menzil. Önceki derslerin hücresidir: bir erişim noktası, onlarca metrelik bir yarıçap, çok sayıda istemci. Ortam paylaşılır, girişim ölçülebilir bir maliyettir ve hız kademesi uzaklıkla kademe kademe iner.

Geniş alan. Kilometrelerce uzanan, düşük güçle çalışan bağlar. Bu sınıfın çözümü menzili hızdan satın almaktır: dar bir bantta, küçük yüklerle ve seyrek gönderimle çalışır. Bir aygıt günde birkaç kez birkaç onlarca baytlık ölçüm gönderir ve arada susar. Görev döngüsü budur — aygıtın ortamda geçirdiği sürenin toplam süreye oranı. Seyrek görev döngüsü hem pili hem ortamı korur.

Neyin Neyle Takas Edildiği

Üç sınıfın hepsi aynı üç büyüklükle uğraşır: menzil, hız kademesi ve güç bütçesi. Bir uçtan alınan öbürüne verilir.

Menzili büyütmenin iki yolu vardır. Birincisi gücü artırmaktır ve bedeli önceki derslerde sayıldı: güç arttıkça hücrenin dışına sızan istemci sayısı da artar. İkincisi taşınan bilgiyi seyreltmektir — aynı bilgiyi daha uzun sürede, daha dar bir bantta, daha az işaret düzeyi kullanarak göndermek. Seyreltilmiş bir işaret gürültünün altından çıkarılabilir; karşılığında birim zamanda taşınan bit sayısı düşer. Geniş alan sınıfının hız kademesi tavanının alçak olması bundandır.

Sınıfların ayırt edici alanları bir tablo hâlinde toplanabilir. Aşağıdaki değerler kurgudur ve gerçek bir bant tahsisi, kanal planı ya da düzenleyici kural bildirmez.

# ogretilen dokum , calistirilmamistir
# bant adlari, kanal sayilari ve yuk sinirlari kurgudur

sınıf          bant     kanal   çerçeve yükü      görev döngüsü   topoloji
kısa menzil    bant-a       6   en çok 256 bayt   sürekli         eşleşmeli çift
yerel menzil   bant-b      12   en çok 1500 bayt  sürekli         hücre
geniş alan     bant-c       3   en çok 64 bayt    seyrek          yıldız

Çerçeve yükü sütunu tek başına bir sonuç doğurur: geniş alan sınıfında altmış dört bayta sığmayan bir ileti gönderilemez. Bu sınıfın üstünde çalışan uygulama, iletisini bu sınıra göre tasarlamak zorundadır — protokol seçimi menzil seçimiyle birlikte gelir.

Aynı Niyet, Üç Ölçek

Niyetin biçimi üç sınıfta da aynıdır: bir yarıçap çizilir ve “içerideki istemci hizmet alır” denir. Değişen şey yarıçapın sayısıdır. Kısa menzil sınıfı on iki metrelik bir söz verir, yerel menzil otuz, geniş alan kırk.

Bu, ölçümün adil kalmasını sağlar. Her sınıf kendi sözüne göre denetlenir; kısa menzilli bir bağ otuz metreyi kapsamadığı için kusurlu sayılmaz. Fazla geçen ve fazla duran, sınıfın kendi yarıçapına göre hesaplanır.

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

  • KB58 — Kırk istemci ortak kurgudan üretilir; uzaklık ve girişim değerleri üç sınıfta da aynıdır. Değişen tek şey sınıfın kendisidir.
  • KB59 — Her sınıf üç sayıyla tanımlanır: güç bütçesi, niyet yarıçapı ve hız kademesi merdiveni. Yerel menzil sınıfının merdiveni ortak kurgudan gelir; öbür iki merdiven ve güç değerleri kurgudur.
  • KB60 — Kâhin her sınıfta o sınıfın kendi yarıçapıdır. Kısa menzil için 12, yerel için 30, geniş alan için 40. Niyetin biçimi aynı kalır, yalnız sayısı değişir.
  • KB61 — İlişkilenme, merdivenin en alt basamağına ulaşmak demektir; kademesi sıfır çıkan istemci ilişkilenemez.
  • KB62 — Kademe sayıları bağıl hız adımlarıdır, birim taşımaz ve sınıf içinde toplanabilir. Sınıflar arası toplam karşılaştırması, merdivenler kurgu olduğu için büyüklük sırası olarak okunur, oran olarak değil.
  • KB63 — Girişim değeri sınıftan bağımsızdır ve 0 ile 12 arasındadır. Küçük güç bütçeli sınıflarda aynı girişim, bütçenin daha büyük bir payını yer.
  • KB64 — Kümenin çözünürlüğü kırk istemcidir; ölçülebilen en küçük fark 1/40 = 0,025’tir. Sınıfın niyet içi nüfusu kırktan küçük olduğunda o alt küme üzerinde daha ince bir fark iddia edilmez.

Ölçüm

"""Ayni niyet uc menzil sinifinda.

Bolum 1 - her sinifin iliskileneni, ulasilan en yuksek kademe, iki yonlu hatasi.
Bolum 2 - kademe dagilimi ve ayni istemcinin uc siniftaki kademesi.
"""
TOHUM = 20260811
# (ad, guc, yaricap, kademe merdiveni) -- merdivenler ve guc degerleri kurgudur
SINIFLAR = (
    ("kısa menzil", 40, 12, ((30, 12), (26, 8), (20, 4))),
    ("yerel menzil", 52, 30, ((34, 6), (28, 4), (22, 2), (18, 1))),
    ("geniş alan", 70, 40, ((46, 2), (24, 1))),
)


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

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


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 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 hucre_niyeti(o, yaricap=30):
    return o["uzaklik"] <= yaricap


def kademe(o, guc, merdiven):
    isaret = guc - o["uzaklik"] - o["girisim"]
    for esik, k in merdiven:
        if isaret >= esik:
            return k
    return 0


ist = istemciler()
print(f"istemci {len(ist)} | uzaklık {min(o['uzaklik'] for o in ist)}"
      f"-{max(o['uzaklik'] for o in ist)} | girişim "
      f"{min(o['girisim'] for o in ist)}-{max(o['girisim'] for o in ist)}")
print()
print(f"{'sınıf':<13s} {'yarıçap':>7s} {'niyet içi':>9s} {'ilişkilenen':>11s} "
      f"{'üst':>4s} {'üstteki':>7s} {'toplam':>6s} {'kişi başı':>9s} "
      f"{'fazla geçen':>11s} {'fazla duran':>11s}")
for ad, guc, yaricap, merdiven in SINIFLAR:
    kademeler = [kademe(o, guc, merdiven) for o in ist]
    d = fark(ist, lambda o, y=yaricap: hucre_niyeti(o, y),
             lambda o, g=guc, m=merdiven: kademe(o, g, m) > 0)
    ust = max(kademeler)
    ilisen = d["dogru_gecti"] + d["yanlis_gecti"]
    print(f"{ad:<13s} {yaricap:7d} {sum(hucre_niyeti(o, yaricap) for o in ist):9d} "
          f"{ilisen:11d} {ust:4d} "
          f"{kademeler.count(ust):7d} {sum(kademeler):6d} "
          f"{sum(kademeler) / ilisen:9.2f} "
          f"{d['yanlis_gecti']:11d} {d['yanlis_durdu']:11d}")
print()
print("kademe dağılımı (0 ilişkilenemeyen demektir)")
for ad, guc, yaricap, merdiven in SINIFLAR:
    sayim = {}
    for o in ist:
        k = kademe(o, guc, merdiven)
        sayim[k] = sayim.get(k, 0) + 1
    print(f"  {ad:<13s} " + "  ".join(f"kademe {k}: {sayim[k]:2d}"
                                      for k in sorted(sayim, reverse=True)))
print()
print("aynı istemci üç sınıfta")
print(f"  {'no':>3s} {'uzaklık':>7s} {'girişim':>7s} "
      + " ".join(f"{ad:>13s}" for ad, _, _, _ in SINIFLAR))
for no in (3, 11, 38, 26):
    o = ist[no - 1]
    print(f"  {o['no']:3d} {o['uzaklik']:7d} {o['girisim']:7d} "
          + " ".join(f"{kademe(o, g, m):13d}" for _, g, _, m in SINIFLAR))
istemci 40 | uzaklık 6-44 | girişim 0-12

sınıf         yarıçap niyet içi ilişkilenen  üst üstteki toplam kişi başı fazla geçen fazla duran
kısa menzil        12         8          11    8       7     72      6.55           3           0
yerel menzil       30        27          23    6       9     88      3.83           0           4
geniş alan         40        38          37    2      13     50      1.35           1           2

kademe dağılımı (0 ilişkilenemeyen demektir)
  kısa menzil   kademe 8:  7  kademe 4:  4  kademe 0: 29
  yerel menzil  kademe 6:  9  kademe 4:  4  kademe 2:  8  kademe 1:  2  kademe 0: 17
  geniş alan    kademe 2: 13  kademe 1: 24  kademe 0:  3

aynı istemci üç sınıfta
   no uzaklık girişim   kısa menzil  yerel menzil    geniş alan
    3      13       0             8             6             2
   11      18       2             4             4             2
   38      31      11             0             0             1
   26      44       1             0             0             1

Menzil Büyüdükçe Ne Düşer

üst sütunu dersin ana ölçüsüdür: sınıfta fiilen ulaşılan en yüksek hız kademesi 8, 6 ve 2’dir. Menzil büyüdükçe tavan iner ve bu bir yapılandırma kusuru değil, takasın kendisidir. Aynı sütunun yanındaki üstteki ters yöne gider: en üst kademedeki istemci sayısı 7, 9 ve 13 olur. Geniş alan sınıfı nüfusunun daha büyük bir bölümünü kendi tavanına çıkarır — ama o tavan çok alçaktır.

ilişkilenen ile toplam sütunlarının birlikte okunması gerekir. Geniş alan sınıfı 37 istemciye ulaşır, üç sınıfın en yükseği; taşıdığı kademe toplamı ise 50, üç sınıfın en düşüğü. Yerel menzil sınıfı yalnız 23 istemciye ulaşır ama 88 taşır. Kısa menzil 11 istemciyle 72 taşır. En çok istemciye ulaşan sınıf en az hız taşır. Bu karşılaştırma merdivenler kurgu olduğu için bir büyüklük sırasıdır, bir oran değil.

kişi başı sütunu ikisinin bölümüdür ve menzille birlikte tek yönde iner: 6,55, 3,83, 1,35. Ulaşılan istemci sayısının artması taşınan toplamı büyütmüyor; paylaşımı sıkıştırıyor. Bu sütun, sınıf seçiminin bir kapsama kararı olduğu kadar bir yoğunluk kararı da olduğunu gösterir.

Dağılım tablosu aynı şeyi bir kez daha söylüyor. Geniş alan sınıfında kırk istemcinin 24’ü en alt kademede duruyor; yalnız üçü hiç ilişkilenemiyor. Yerel menzil sınıfında 17 istemci hiç ilişkilenemiyor ama ilişkilenenlerin dokuzu en üst kademede. İki sınıf iki ayrı şeyi seçmiş: biri kimseyi dışarıda bırakmamayı, öbürü ulaştığına hızlı hizmet vermeyi.

Son tablo bunu tek tek istemcilerde gösteriyor. 3 numaralı istemci on üç metrede ve girişimsiz: kısa menzilde 8, yerelde 6, geniş alanda 2 kademe alıyor — aynı istemci, aynı yer, üç ayrı hız. 26 numaralı istemci kırk dört metrede: iki yakın sınıfta hiç ilişkilenemiyor, geniş alanda 1 kademeyle bağlanıyor. 38 numaralı istemci otuz bir metrede ama girişimi 11; yerel menzil sınıfının bütçesi bu girişimi kaldıramıyor ve istemci hücrenin dışında sayılıyor, geniş alan bütçesi kaldırıyor.

Hatanın İşareti Ayarın Sonucudur

İki hata sütunu, menzille birlikte tek yönde gitmiyor ve dersin ikinci sonucu budur.

Kısa menzil: 3 fazla geçen, 0 fazla duran. Bu sınıf sözünü fazlasıyla tutuyor. On iki metrelik yarıçapın içindeki sekiz istemcinin sekizi de ilişkileniyor, üstüne yarıçapın dışındaki üç istemci daha içeri giriyor. Güç bütçesi, verilen yarıçaba göre cömerttir.

Yerel menzil: 0 fazla geçen, 4 fazla duran. Bu sınıf ters yöne kaçıyor: hiç sızıntı yok, ama kendi hücresinin içindeki dört istemciye hizmet veremiyor. Bütçe, verilen yarıçaba göre dardır.

Geniş alan: 1 fazla geçen, 2 fazla duran. İki yön de küçük ve dengeli.

Örüntü şudur: hatanın işareti sınıfın menzilinden değil, yarıçapın güç bütçesine göre nasıl ayarlandığından gelir. Aynı sınıf, yarıçapı iki metre büyütülerek fazla geçenden fazla durana geçirilebilir. Menzil sınıfı seçmek bu hatayı çözmez; yalnız hangi ölçekte yapılacağını belirler. Bu yüzden yalnız bir yönü raporlayan bir karşılaştırma üç sınıfı da yanlış sıralar: fazla geçene bakan kısa menzili en kötü, fazla durana bakan yereli en kötü gösterir.

Girişimin payı da sınıfa göre değişir. Girişim değeri üç sınıfta da aynıdır ve en çok 12’dir; ama bu 12, kırk birimlik bir bütçenin dörtte birinden fazlası, yetmiş birimlik bir bütçenin altıda birinden azdır. Küçük bütçeli sınıflarda girişim baskındır, büyük bütçelilerde uzaklık baskındır — 38 numaralı istemcinin üç sınıftaki durumu bunun tek satırlık kanıtıdır.

Ortama Erişim ve Kimlik Koşulunun Sınıfa Göre Biçimi

kişi başı sütunu bir sonraki soruyu doğuruyor: aynı ortamı paylaşan otuz yedi istemci sıralarını nasıl alıyor. Üç sınıf bunu üç ayrı biçimde çözer.

Kısa menzilde bağ eşleşmeli kurulur ve iki uç genellikle bir çizelgeye uyar; gönderim anları önceden bellidir, çekişme neredeyse yoktur. Yerel menzilde ortam paylaşılır ve gönderim hakkı çekişmeyle alınır; istemci sayısı arttıkça çekişmenin payı da artar. Geniş alanda çekişme çözülmez, seyreltilir: aygıt günde birkaç kez, kısa bir yük ile ve çoğunlukla merkezle anlaşmadan gönderir. Çakışma olur, kaybedilen gönderim yeniden denenir; seyrek görev döngüsü çakışma olasılığını düşük tuttuğu için bu ucuza gelir.

Önceki dersin kimlik koşulu da sınıfa göre biçim değiştirir. Yerel menzilde koşul her ilişkilenmede yeniden işletilir. Kısa menzilde koşul bir kez, eşleşme anında işletilir; iki uç birbirini o anda tanır ve sonraki bağlar bu tanımayı kullanır — koşulun turu ilişkilenmeden çıkarılıp bir kereye alınmıştır. Geniş alanda ise aygıt ağa katılırken bir kez tanınır ve sonraki gönderimler tek tek doğrulanır; ilişkilenme diye ayrı bir adım çoğunlukla yoktur. Üç sınıfın ortak yanı şudur: kimlik koşulu ortadan kalkmaz, yalnız hangi ana yerleştirildiği değişir.

Topoloji de bu üç yanıtla birlikte gelir. Kısa menzilin eşleşmeli çifti, yerel menzilin erişim noktası çevresindeki hücresi ve geniş alanın yıldızı — üçü de ortama erişimin çözüldüğü yerin adıdır.

Özet

  • Üç menzil sınıfı birbirinin gelişmiş hâli değildir; menzili, hız kademesini ve güç bütçesini farklı biçimde takas eden üç ayrı yanıttır.
  • Menzil büyüdükçe ulaşılan en yüksek hız kademesi 8 → 6 → 2 iner; en üst kademedeki istemci sayısı ise 7 → 9 → 13 çıkar, çünkü tavan alçaldıkça ona ulaşmak kolaylaşır.
  • En çok istemciye ulaşan sınıf en az hız taşır: geniş alan 37 istemci ve 50 kademe, yerel menzil 23 istemci ve 88 kademe.
  • Hatanın işareti menzilden gelmez: kısa menzil 3/0, yerel menzil 0/4, geniş alan 1/2 verir; belirleyen şey yarıçapın güç bütçesine göre ayarıdır.
  • Aynı istemci üç sınıfta üç ayrı kademe alır; küçük bütçeli sınıflarda girişim, büyük bütçelilerde uzaklık baskındır.

Sonraki Adım

Üç sınıfın ölçümünde de hizmet veren nokta tekti ve yerinden kımıldamadı. İstemci uzaklaştı, kademesi düştü, sonunda ilişkilenemedi — ve kimse ona başka bir noktayı önermedi. Oysa geniş bir alanı kapsamanın öbür yolu tek bir noktayı güçlendirmek değil, çok sayıda noktayı yan yana dizmek ve istemciyi aralarında devretmektir. Sonraki ders hücresel mimarinin ana bileşenlerini kurar ve hücre devrini ölçer: iki hücrenin kapsaması ne kadar örtüşmeli, örtüşme büyüdüğünde fazla geçen ile kararsız istemci nasıl artar, örtüşme daraldığında fazla duran nereden doğar.

İlerlemeni kaydetmek ve not almak için Giriş yap

Notlarım

Not almak için giriş yapmalısın.

Aramak için yazmaya başlayın.

↑↓ Esc gezin · aç · kapat