Kanal tahsisi ve çoklu erişim: ALOHA, CSMA, CSMA/CD
Birçok düğüm tek bir yayın kanalını paylaşınca kim ne zaman konuşur? Statik tahsisin kusuru, pure ve slotted ALOHA verimliliği, CSMA/CD, minimum çerçeve boyu ve binary exponential backoff.
Ethernet’in ilk halinde, Wi-Fi’da, uydu linkinde ortak bir sorun var: birçok düğüm tek bir yayın kanalını (broadcast channel) paylaşıyor. İki düğüm aynı anda gönderirse sinyaller üst üste biner, ikisi de bozulur. Buna çarpışma (collision) denir. Çoklu erişim protokolü (multiple access protocol), kimin ne zaman göndereceğine merkezi bir otorite olmadan karar veren kurallar kümesidir.
Sınavda bu konu iki yerden vurur: ALOHA verimlilik hesabı ve CSMA/CD’de minimum çerçeve boyu. Altın kurallar:
- Slotted ALOHA , pure ALOHA . Pure’da tehlikeli aralık iki çerçeve süresi.
- N düğüm, olasılık: başarı .
- . Çarpışmayı gönderim bitmeden duymak zorundasın.
- Backoff aralığı her çarpışmada ikiye katlanır.
Kanal tahsisi problemi
İdeal bir paylaşımlı kanal (hızı ) şunları sağlamalı:
- Tek düğüm gönderiyorsa tüm ‘yi kullanabilsin.
- düğüm gönderiyorsa her biri ortalama alsın.
- Merkezi bir koordinatör olmasın (tek arıza noktası olmasın).
- Basit ve ucuz olsun.
Statik tahsis neden kötü?
En basit çözüm kanalı sabit parçalara bölmek: FDMA (frekans) ya da TDMA (zaman). Her düğüm kendi dilimini kullanır. Sorun: düğüm sustuğunda dilimi boş gider, konuşan düğüm ise sadece alır. Kuyruk teorisinden basit bir model ortalama gecikmeyi verir:
Burada kanal kapasitesi (bps), ortalama çerçeve boyu (bit), geliş hızı (çerçeve/s).
C = 100 Mbps, çerçeve 10,000 bit, lambda = 5000 çerçeve/s
mu C = 10^8 / 10^4 = 10,000 çerçeve/s
Tek kanal : T = 1 / (10,000 - 5,000) = 0.2 ms
10 alt kanal : her biri C/10 ve lambda/10
T = 1 / (1,000 - 500) = 2 ms (10 kat)
Statik bölmede gecikme katına çıkar. Bilgisayar trafiği patlamalı olduğu için dinamik paylaşım gerekir.
Protokol aileleri
| Aile | Fikir | Örnek |
|---|---|---|
| Kanal bölme (channel partitioning) | Sabit dilimler | TDMA, FDMA, CDMA |
| Rastgele erişim (random access) | Herkes tam hızda gönderir, çarpışınca rastgele bekler | ALOHA, CSMA, CSMA/CD |
| Sıralı (taking turns) | Düğümler sırayla konuşur | Polling, token passing |
ALOHA
Hawaii Üniversitesi’nde adalar arası radyo ağı için geliştirildi. Rastgele erişimin atasıdır.
Pure ALOHA
Düğümün çerçevesi olunca hemen gönderir. Çarpışırsa rastgele bir süre bekler, tekrar dener. Bir çerçevenin süresi olsun ve çerçevemiz ‘da başlasın.
t0 - T t0 t0 + T
|--------------|---------------|
bu aralıkta bu aralıkta
başlayan çarpar başlayan çarpar
tehlikeli aralık (vulnerable period) = 2T
, çerçeve süresi başına ortalama deneme sayısı (yeni + tekrar) olsun. Denemeler Poisson dağılımlı varsayılırsa aralıkta hiç başka deneme olmaması olasılığı :
Slotted ALOHA
Zaman çerçeve süresi uzunluğunda slotlara bölünür. Düğümler sadece slot başında gönderebilir. Çarpışma ancak aynı slotu seçenler arasında olur, tehlikeli aralık ‘ye iner:
Kitapların diğer modeli düğüm ve her düğümün her slotta olasılıkla göndermesi:
En iyi . iken bu ‘ye yakınsar.
Çözümlü örnek
, :
başarı : 5 x 0.2 x 0.8^4 = 0.4096
boş slot : 0.8^5 = 0.32768
çarpışma : 1 - 0.32768 - 0.4096 = 0.26272
pure ALOHA aynı N, p : N p (1-p)^(2(N-1)) = 0.8^8 = 0.1678
1 Mbps’lik slotted ALOHA kanalında en iyi durumda faydalı throughput kbps.
TUZAK · ile farkı. deneme yükü (çarpışanlar dahil), başarılı çerçeve oranı. 1’i geçebilir, asla geçemez. çok büyükse neredeyse her slot çarpışır, .
CSMA: göndermeden önce dinle
ALOHA kaba: kanal doluyken bile gönderir. CSMA (carrier sense multiple access) önce kanalı dinler.
- 1-persistent: kanal boşsa hemen gönder, doluysa boşalmasını bekle ve hemen gönder. Bekleyen iki düğüm boşalınca kesin çarpışır.
- Non-persistent: kanal doluysa rastgele bekle, sonra tekrar dinle.
- p-persistent: (slotlu) kanal boşsa olasılıkla gönder, ile bir slot ertele.
Dinlemek çarpışmayı bitirmez. Propagation gecikmesi yüzünden B, A’nın sinyali henüz ona ulaşmadığı için kanalı boş sanıp gönderebilir. Propagation ne kadar uzunsa (kablo uzun) çarpışma o kadar olasıdır.
CSMA/CD: gönderirken de dinle
Klasik Ethernet’in protokolü. CD (collision detection): düğüm gönderirken kanalı dinlemeye devam eder. Kendi sinyalinden farklı bir şey duyarsa:
- Gönderimi hemen keser (bozuk çerçeveyi sonuna kadar göndermenin anlamı yok).
- Herkesin fark etmesi için 48 bitlik bir jam sinyali yollar.
- Binary exponential backoff ile rastgele bekler, sonra baştan dener.
Minimum çerçeve boyu
En kötü durum: A ve B kablonun iki ucunda. A göndermeye başlar. Sinyali B’ye varmadan hemen önce B de başlar. Çarpışmanın haberi A’ya sonra döner. A o anda hâlâ gönderiyor olmalı, yoksa çarpışmayı kendi çerçevesine bağlayamaz:
R = 10 Mbps, kablo 2500 m, s = 2 x 10^8 m/s
dprop = 2500 / 2e8 = 12.5 us
Lmin = 2 x 12.5e-6 x 1e7 = 250 bit
Gerçek Ethernet tekrarlayıcı (repeater) gecikmelerini de hesaba katıp 512 bit (64 byte) seçti. Hızı 10 katına çıkarınca aynı 512 bit için izin verilen mesafe 10 kat küçülür: 10 Mbps’te 5120 m, 100 Mbps’te 512 m (sadece propagation hesabıyla).
Binary exponential backoff
. ardışık çarpışmadan sonra düğüm ‘yi rastgele seçer:
| Çarpışma | aralığı | 10 Mbps’te en uzun bekleme | İki düğümün yine çarpışma olasılığı |
|---|---|---|---|
| 1 | 0, 1 | 51.2 µs | 1/2 |
| 2 | 0..3 | 153.6 µs | 1/4 |
| 3 | 0..7 | 358.4 µs | 1/8 |
| 10 ve sonrası | 0..1023 | 52.4 ms | 1/1024 |
16 denemeden sonra çerçeve bırakılır ve üst katmana hata bildirilir. Fikir: çarpışmalar yük çok demek; aralığı büyüterek yük arttıkça herkesi daha çok yayarsın.
Ethernet verimi
Çok düğümün hep gönderecek çerçevesi olduğu durumda yaklaşık:
dprop = 12.5 us
1500 byte çerçeve @10 Mbps : dtrans = 1200 us -> 1/(1 + 0.052) = 0.950
64 byte çerçeve @10 Mbps : dtrans = 51.2 us -> 1/(1 + 1.22) = 0.450
Çerçeve uzun, kablo kısa olunca verim 1’e yaklaşır.
Sıralı (taking-turns) protokoller
- Polling: bir ana düğüm (master) sırayla her düğüme “gönderecek bir şeyin var mı?” diye sorar. Çarpışma yok, ama sorgulama gecikmesi var ve master çökerse ağ durur. Bluetooth böyle çalışır.
- Token passing: özel bir jeton çerçevesi düğümden düğüme dolaşır; sadece jetonu tutan gönderir. Çarpışma yok, ama jeton kaybolursa ya da bir düğüm onu bırakmazsa sorun çıkar.
Kablosuz ortam: neden CD olmaz?
Wi-Fi’da düğüm gönderirken kendi güçlü sinyali, uzaktan gelen zayıf sinyali bastırır; çarpışmayı duyamaz. Ayrıca gizli terminal (hidden terminal) sorunu var: A ve C birbirini duymaz ama ikisi de B’ye gönderir. Bu yüzden 802.11, çarpışmayı tespit etmek yerine önlemeye çalışır (CSMA/CA): rastgele geri sayım, her çerçeveye ACK, isteğe bağlı RTS/CTS rezervasyonu.
İPUCU · güvenlik bağlantısı. Paylaşımlı ortamda her düğüm her çerçeveyi görür; kart sadece kendine geleni üst katmana verir. Kartı “promiscuous mode”a alan biri tüm trafiği okuyabilir. Paylaşımlı ve kablosuz ağlarda gizliliği sağlayan şey ortam değil, şifrelemedir.
Sık yapılan hatalar
| Yanlış düşünce | Doğrusu |
|---|---|
| Slotted ALOHA max 0.184 | Slotted , pure . |
| Pure ALOHA tehlikeli aralığı | : öncesi ve sonrası. |
| Başarı olasılığı | Bu belli bir düğüm için. Herhangi biri için ile çarp. |
| : haber geri dönmeli. | |
| CSMA çarpışmayı tamamen önler | Propagation yüzünden yine çarpışma olur. |
| Backoff’ta | Üst sınır , ve en fazla 10. |
| Hız artınca ağ çapı aynı kalır | Aynı için çap hızla ters orantılı küçülür. |
| Wi-Fi CSMA/CD kullanır | CSMA/CA; kablosuzda çarpışma tespiti pratik değil. |
Kendini test et
Sınavdaki gibi İngilizce sorular. Önce kâğıt kalemle çöz, sonra cevabı aç.
What is the maximum efficiency of slotted ALOHA as the number of nodes grows large?
Cevabı göster
Slotted ALOHA: , en büyük değer 'de .
Pure ALOHA'da tehlikeli aralık iki kat olduğu için .
In slotted ALOHA, 5 active nodes each transmit in a slot with probability . What is the probability that a given slot is a success (exactly one transmission)?
Cevabı göster
. seçildiği için bu N = 5 için en iyi değer. N büyüdükçe 'ye iner.
Same setting (5 nodes, ). What fraction of slots are idle, and what fraction contain a collision?
Cevabı göster
Boş slot: hiç kimse göndermiyor, .
Çarpışma: geri kalan .
Üç olasılığın toplamı 1 olmalı.
In pure ALOHA, the offered load is frames per frame time. What is the throughput ?
Cevabı göster
Pure ALOHA: .
Bu aynı zamanda pure ALOHA'nın maksimumu: 'te.
Slotted ALOHA'da aynı yükte olurdu.
Why is the vulnerable period of pure ALOHA twice the frame time?
- Because frames are twice as long as in slotted ALOHA
- Because a frame collides with any other frame that starts within one frame time before or after it
- Because the sender transmits each frame twice
- Because acknowledgements take one frame time
Cevabı göster
Çerçeve 'da başlıyor, süre . arasında başlayan bir çerçevenin kuyruğu bizimkinin başına, arasında başlayan ise bizimkinin kuyruğuna çarpar. Toplam .
Slotlama başlangıçları hizaladığı için tehlikeli aralığı 'ye indirir ve verimi ikiye katlar.
A CSMA/CD network runs at 10 Mbps over a 2500 m cable with propagation speed m/s. What is the minimum frame size (in bits) so that a collision is always detected while still transmitting?
Cevabı göster
.
En kötü durumda çarpışmanın haberi sonra gelir. Gönderici bu sürede hâlâ gönderiyor olmalı: bit.
A 100 Mbps CSMA/CD segment has propagation speed m/s and minimum frame size 512 bits. What is the maximum distance between two stations?
Cevabı göster
.
Mesafe m.
Hız 10 kat artınca (10 Mbps'te 5120 m olurdu) aynı minimum çerçeve için ağ çapı 10 kat küçülür.
In Ethernet's binary exponential backoff at 10 Mbps, after the 3rd consecutive collision a node picks at random. What is the range of , and what is the longest possible wait?
Cevabı göster
. çarpışmadan sonra . : .
Bekleme bit süresi. 10 Mbps'te 512 bit .
En uzun: .
Two nodes have just collided for the 2nd time and both run binary exponential backoff. What is the probability that they collide again on their next attempt (they collide if they pick the same )?
Cevabı göster
2. çarpışmadan sonra her biri 'yi 'ten bağımsız seçer.
Aynı değeri seçme olasılığı .
1. çarpışmadan sonra bu 1/2, 3.'den sonra 1/8 olur: her çarpışma riski yarıya indirir.
Using the approximation , what is Ethernet's efficiency when and frames are 1500 bytes at 10 Mbps?
Cevabı göster
ms ... Uzun çerçeve ve kısa kablo verimi 1'e yaklaştırır.
A link of capacity 100 Mbps carries frames with mean length 10,000 bits arriving at 5000 frames/s. Using the static-allocation queueing formula , what is the mean delay on the full channel, and what is it if the channel is split statically into 10 equal FDM subchannels each receiving 1/10 of the traffic?
Cevabı göster
çerçeve/s. ms.
10'a bölünce her alt kanal , trafik : ms, yani .
Statik bölme gecikmeyi N katına çıkarır. Patlamalı trafikte dinamik paylaşımın gerekçesi bu.
Which multiple access protocol is used by classic shared Ethernet, and which by Wi-Fi?
- Ethernet: CSMA/CA; Wi-Fi: CSMA/CD
- Ethernet: CSMA/CD; Wi-Fi: CSMA/CA
- Both use token passing
- Ethernet: slotted ALOHA; Wi-Fi: polling
Cevabı göster
Kablolu ortamda gönderirken dinleyip çarpışmayı fark etmek mümkün: CSMA/CD.
Kablosuzda kendi güçlü sinyalin zayıf gelen sinyali bastırır ve gizli terminal (hidden terminal) sorunu var, çarpışma tespit edilemez. Bu yüzden Wi-Fi çarpışmayı önlemeye çalışır (CSMA/CA, ACK, isteğe bağlı RTS/CTS).
Doğrulama: ALOHA verimleri, N düğümlü başarı olasılıkları, statik tahsis gecikmesi, CSMA/CD minimum çerçeve, Ethernet verim formülü ve backoff süreleri node ile hesaplandı (verify/SEN2008/04.mjs).