Bölüm 30: Kablosuz Erişim: 802.11
Ağlar'a “Sen”i Katmak kitabının bir bölümü: adres çubuğuna yazdığın tek bir isteğin peşinden bakırla fiberin fiziğine inip karşı taraftan geri dönen uzun bir teknik yolculuk.
Kısım 5: Havada ve Evde (Bölüm 30-36)
Tüm bölümler
- Giriş
- Adres Çubuğundan İsteğe
- Paket Anahtarlamalı Yol
- İsimden Adrese
- DNS Kayıtları
- Önbellek, Tazelik ve Güven
- Port Numarası ve Soket
- Bağlantısız Taşıma: UDP
- Üç Adımlı El Sıkışma
- Simetrik Şifreleme
- Açık Anahtarlı Kriptografi
- TLS El Sıkışması
- Sertifika Zinciri
- HTTP Mesajının Anatomisi
- Durum, Çerez ve Oturum
- HTTP/2'den HTTP/3'e
- İçerik Dağıtım Ağları
- Diğer Uygulama Protokolleri
- Katmanlı Mimari
- Hizmet ve Protokol
- Encapsulation ve Başlıklar
- Paket Yakalama ve Çözümleme
- Ağ Interface Kartı
- Fiziksel Adresleme
- Hata Sezme ve CRC
- Adres Çözümleme: ARP
- Ortam Erişimi: CSMA/CD
- Switch'ler
- Ağ Topolojileri
- Sanal Yerel Ağlar
- Kablosuz Erişim: 802.11
- Radyo Kanalı ve Kapasite
- Kablosuz Ağ Güvenliği
- Hücresel Ağlar
- Spektrum ve Kuşaklar
- Hareketlilik ve Aktarma
- Adres Kiralama: DHCP
- Adresin Anatomisi
- Adres Tükenmesi ve IPv6
- Router Mimarisi
- Kuyruk Yönetimi
- Cihaz Yapılandırma
- Routing Protokolleri
- Kontrol Düzlemi ve SDN
- Ağ İzleme ve Yönetimi
- Alanlar Arası Routing
- Adres Çevirisi
- Ara Kutular
- Tünelleme ve IPsec
- Firewall'lar
- Ağ Saldırıları
- Operatör ve Metro Ağları
- Bitten Sinyale
- Sembol Hızı ve Kanal Kapasitesi
- Multiplexing Teknikleri
- İletim Ortamları
- Bakır Kablo Sonlandırma
- Fiber Sonlandırma
- Fiber Optik İletim
- Bakır Erişim Ağı: DSL
- DSL'de Hız ve Mesafe
- Pasif Optik Ağlar
- Kablo Erişim Ağları
- Kablo Modem ve CMTS
- Denizaltı Kabloları
- Veri Merkezi Ağları
- Encapsulation Çözme
- Güvenilir Aktarım
- Tıkanıklık Denetimi
- Trafik Çözümleme
- Gecikme Bütçesi
- Soket Programlama
- Eşten Eşe ve Protokol Tasarımı
- Uyarlanır Video Akışı
- Gerçek Zamanlı Ses ve Görüntü
- Kablosuz Sensör Ağlarının Mimarisi
- Sensör Ağlarında Ortam Erişimi
- Sensör Ağlarında Yönlendirme ve IP
- Zaman Eşitleme ve Konum Bulma
- Sensör Ağı Uygulamaları
- Mobil Kablosuz Sensör Ağları
- Son Söz
Dizüstünü toplayıp bahçeye çıktın. Frame hâlâ aynı frame, taşıdığı istek hâlâ aynı istek. Değişen tek şey şu: onu artık bakır bir tel değil, aradaki boşluk taşıyor.
Boşluğun da kuralı var. Ama kabloda işleyen kural burada yürümüyor: kimsenin collision’u göremediği bir ortamda collision nasıl önlenir?
Kablo yoksa hangi kural değişiyor?
Metal kablo elektrik akımı taşır. Havadaki taşıyıcı ise belirli bir frekanstaki elektromanyetik dalga.
Kablosuz LAN sıfırdan bir ağ da değildir. Var olan LAN teknolojisinin physical layer’ı ile data link layer’ının bir kısmı kablosuzlaştırılmıştır. IP ve üstü hiç değişmez. Değişen yalnızca 19. bölümde ayırdığımız MAC alt katmanı ile onun altındaki physical layer’dır; LLC yerinde kalır. Yani encapsulation merdiveninin en alt basamağı sökülüp yerine yenisi takılıyor, üstündeki basamaklar aynen kalıyor.
Bu sınır standardın kendi kapsamında da yazılı. IEEE 802 ailesinin tamamı yalnızca iki katmanı düzenler: data link layer ile physical layer. Ailede 802.3 Ethernet’e ayrılmış, 802.11 kablosuz ağa. IEEE bu işe 1990’da başladı ve ilk sürümü 1997’de yayımladı; 2,4 GHz’de 1 ve 2 Mbit/s için tasarlanmıştı. Aynı yıllarda kablolu Ethernet 10 ve 100 Mbit/s hızındaydı; kablosuz ağ yarışa çok geriden başladı.
Kablosuz, ortamı paylaşan broadcast bağlantılarının en saf örneği. Paylaşılan ortamın temel kuralını 26. bölümde CSMA adıyla görmüştük: göndermeden önce hattı dinle, boşsa gönder, doluysa boşalmasını bekle.
Dinlemek tek başına yetmiyor. Birkaç makine aynı anda hattı boş görüp aynı anda gönderebilir. Üstelik collision göndericinin başına gelen bir şey de değildir. Alıcının aynı anda iki ya da daha fazla sinyali üst üste almasıdır.
Switch her kabloyu ayrı bir collision domain’e çeviriyordu; paylaşılan kabloda ise CSMA/CD göndericiye kendi collision’unu sezdiriyordu. Telsizde o adım yok. Vericinin kendi anteninden çıkan sinyal, uzaktan gelen bir sinyalden milyonlarca kat güçlüdür; gönderirken başkasını duymaya çalışmak, bağırırken fısıltı dinlemeye benzer. Aynı anda hem gönderip hem dinleyemeyen bir gönderici collision’u kendisi göremez, göremediğini de ortasında kesemez.
Ethernet CSMA/CD kullanır, 802.11 ise CSMA/CA. Sondaki iki harf farkı özetliyor: CD collision detection, yani collision’u sezmek; CA collision avoidance, yani ondan kaçınmak.
Duymadığın komşu seni nasıl bozuyor?
Havada sinyal gittikçe zayıflar. Bu zayıflamanın adı path loss: elektromanyetik dalganın vericiden alıcıya giderken güç yoğunluğunun düşmesi. Düşüşün hızı ortama bağlı. Path loss üssü boş uzayda 2, şehir içinde 2,7 ile 3,5 arasında, duvarların araya girdiği bina içinde 3 ile 6 arasında. Duvarlar sinyali mesafeden daha hızlı yiyor. Tersine bir istisna da var: düz bir koridor dalgayı bir kılavuz gibi taşıdığı için orada üs 2’nin altına, 1,6 ile 1,8’e iner.
Şimdi bir evi düşün. Telefon mutfakta, dizüstü balkonda, access point ikisinin ortasındaki koridorda. Mutfaktaki telefon balkondaki dizüstünü hiç duymuyor; arada iki duvar var ve mesafe path loss’u büyütüyor. İkisi de kanalı dinlediğinde boş buluyor, çünkü kendi açılarından kanal gerçekten boş. Ama iki sinyal koridordaki access point’te üst üste biniyor. Bu duruma gizli terminal deniyor.
Kanalı boş sanmanın iki sebebi var. Karşı tarafın sinyali sana henüz ulaşmamıştır. Ya da sönümlenme yüzünden hiç ulaşmıyordur.
Koordinasyon için ayrı bir bant da yok. Kanalın nasıl paylaşılacağına dair anlaşma, paylaşılan kanalın kendisinden yapılmak zorunda. Dalganın kendi davranışını, yani path loss’un hesabını 34. bölüme bırakıyorum.
Sıranı nasıl bekliyorsun?
802.11 göndericisi kanalı bir kerede boş görmekle yetinmez. DIFS adı verilen bir süre boyunca kesintisiz boş görmek zorundadır. Kanal o süre boyunca sessizse frame’in tamamı gönderilir. Gönderim yarıda kesilmez.
Alıcı frame’i sağlam aldıysa SIFS kadar bekler ve bir ACK döner. Bu onay gizli terminal yüzünden zorunlu; gönderici frame’inin vardığını başka türlü bilemez.
İki sürenin boyu bilerek farklı seçilmiş. SIFS 10 ile 16 mikrosaniye, DIFS ise 28 ile 50 mikrosaniye arasında. Onay gönderecek alıcı kanalı herkesten önce boş görür; yeni bir gönderime hazırlanan cihazlar ise daha uzun beklemek zorundadır. Böylece bir veri frame’i ile onun ACK’i arasına kimse giremez. Öncelik bir kuralla değil, beklemenin uzunluğuyla verilmiş. Aynı fikir sonra ses ve görüntüye öncelik tanımak için de kullanıldı: 802.11e ile gelen düzende ses trafiği daha kısa, arka plan trafiği daha uzun bekler.
Kanal doluysa gönderici, kanal boşaldığı an atılmaz. Bekleyen herkes o an atılsaydı hepsi birden çarpışırdı. Bunun yerine her biri rastgele bir geri çekilme sayacı çeker. Sayaç yalnızca kanal boşken geri sayar. Kanal dolduğunda durur, boşalınca kaldığı yerden devam eder. Sıfıra indiğinde gönderim yapılır. Böylece uzun süredir bekleyen, sayacı donduğu için sırasını kaybetmez.
ACK gelmezse gönderici collision varsayar. Geri çekilme aralığını ikiye katlar ve baştan dener. Pencere 15 ya da 31 dilimden başlar, en fazla 1.023 dilime çıkar. Bir dilim physical layer’a göre 9 ya da 20 mikrosaniye; en kötü durumda bu, 9 ile 20 milisaniyelik bir bekleme demek.
Burada kabul edilmiş bir körlük var. 802.11’de kayıp ile collision aynı belirtiyi verir ve ikisi birbirinden ayrılamaz. Körlüğün bir bedeli de var: gönderim hızını sinyale göre ayarlayan algoritmalar, collision yüzünden kaybolan frame’i zayıf sinyale yorup hızı gereksiz yere düşürebilir.
Gizli terminali asıl çözen mekanizma rezervasyon. Gönderici önce küçük bir RTS (Request to Send) frame’iyle kanalı ayırtmak ister. Access point CTS (Clear to Send) ile cevap verir; cevap göndericiye adreslidir ama havada herkes onu duyar. CTS’i duyan herkes, gönderici hariç, kendi gönderimini erteler. Balkondaki dizüstü mutfaktaki telefonu duymuyordu ama koridordaki access point’i duyuyor.
RTS ve CTS’in içinde, ardından gelecek gönderimin ne kadar süreceği yazılıdır. Susma süresi bir tahmin değil, ilan edilmiş bir sayıdır; onu duyan her cihaz kendi içinde bir sayaç (NAV) kurup o süre boyunca kanalı dolu sayar. RTS frame’leri de çarpışabilir; kısa oldukları için kaybedilen zaman küçük kalır. Aynı hesap ters yönde de işliyor: küçük bir veri frame’i için rezervasyon, verinin kendisinden pahalıya gelir. Bu yüzden RTS/CTS her gönderimde kullanılmaz; cihazlar onu bir boyut eşiğinin üstündeki gönderimlere saklar.
Veri frame’i gidip ACK döndüğünde cihaz frame’i kendi kuyruğundan siler. Access point de aldığı frame’i kablolu tarafa, router’a doğru iletir.
Kanalı dinlemekten onaya kadar giden sırayı adım adım izleyelim:
- Kanal DIFS boyunca dinleniyor. Gönderici kanalı bir anlığına boş görmekle yetinmez; DIFS süresince kesintisiz boş görmek zorundadır. Bu süre dolmadan hiçbir frame havaya çıkmaz.
- Kanal doluysa sayaç donuyor. Kanal doluysa gönderici, kanal boşaldığı an atılmaz; bekleyen herkes o an atılsa hepsi çarpışırdı. Rastgele bir geri çekilme sayacı çeker. Sayaç yalnızca kanal boşken geri sayar; kanal dolduğunda durur ve boşalınca kaldığı yerden devam eder.
- RTS kanalı ayırtıyor. Gönderici küçük bir RTS frame'i yollar. Access point SIFS kadar sonra CTS ile cevap verir; cevap göndericiye adreslidir ama havada herkes onu duyar. CTS'i duyan herkes, gönderici dışında, ilan edilen süre boyunca susar.
- Veri frame'i havaya çıkıyor. RTS ve CTS içinde ilan edilen süre boyunca kanal bu gönderime ayrılmıştır. Gönderici CTS'ten SIFS kadar sonra frame'in tamamını gönderir; gönderim yarıda kesilmez.
- SIFS kadar sonra ACK dönüyor. Alıcı frame'i sağlam aldıysa SIFS kadar bekleyip onay yollar. ACK gelmezse gönderici collision varsayar, geri çekilme aralığını ikiye katlar ve baştan dener.
Ağa ilk adım nasıl atılıyor?
Bütün bunlar cihaz ağa çoktan girmişken olup bitiyor; girmenin kendisi ayrı bir iş. Access point’le kurulan ilk bağlantı tek başına internet demek değildir. Üstünde kimlik doğrulama ve 36. bölümde göreceğimiz DHCP çalışır; tam erişim ancak ondan sonra gelir.
Ağı bulmanın iki yolu var. Pasif yolda cihaz kanalları dinler ve ağın varlığını ilan eden beacon frame’lerini toplar; access point’ler beacon’ı varsayılan olarak 102,4 ms’de bir, yani saniyede yaklaşık on kez yayınlar. Aktif yolda cihaz kendisi bir yoklama isteğini (probe request) broadcast eder; menzildeki access point’lerin hepsi yoklama cevabı gönderir. Uygulamada ikisi birden kullanılır.
Aktif yoklamanın bir gizlilik geçmişi var. Cihazlar eskiden daha önce bağlandıkları ağları adlarıyla tek tek sorardı. Havayı dinleyen biri bu listeden sahibinin evini, işini ve kaldığı otelleri çıkarabiliyordu. Bugünkü telefonların yoklamada ağ adı vermemesi ve 23. bölümde gördüğümüz rastgele MAC adresini kullanması bu yüzden.
Seçim yapıldıktan sonra cihaz seçtiği access point’e bir ilişkilendirme (association) isteği yollar ve karşılığında ilişkilendirme cevabı alır. Sorulan şey, konuşup konuşamayacakları: iki taraf ortak destekledikleri hızlarda ve özelliklerde burada anlaşır. İlişkilendirmeden hemen önce iki frame’lik bir authentication adımı da geçer; adına rağmen WPA2’de hiçbir sırrı doğrulamaz. Parolanın gerçekten nerede sınandığını 32. bölümde açacağız.
Kablosuz ağlar iki yapıda kurulur. Access point üzerinden yürüyene altyapı kipi denir. Bir access point ile ona bağlı cihazların oluşturduğu kümenin teknik adı temel hizmet kümesi (BSS); evdeki kablosuz modem ile ona bağlı cihazlar bir BSS’tir. Access point olmadan, cihazların doğrudan birbirine bağlandığı yapıya ad-hoc kipi denir; teknik adı IBSS, yani bağımsız BSS.
Bir BSS’i ötekilerden ayıran kimlik BSSID’dir ve çoğu zaman access point’in MAC adresidir. Ağın insanların gördüğü adı ise SSID. Aynı SSID’yi aynı alt ağda yayınlayan birden çok BSS birleşince genişletilmiş hizmet kümesi (ESS) çıkar ortaya. Bir okulda ya da ofiste aynı adı taşıyan onlarca access point bu yüzden tek bir ağ gibi görünür. Koridorda yürürken cihaz bir BSS’ten ötekine geçer ve ağın adı değişmez; bu geçişin nasıl işlediğini 35. bölümde göreceğiz.
Altyapı kipinde istemciler birbirleriyle doğrudan konuştuklarını sanır; oysa aynı odadaki iki cihaz arasındaki frame bile access point’ten geçer ve havayı iki kez meşgul eder. Ortam açısından access point bir hub’a benzer: havaya konan her frame’i menzildeki herkes duyar. Tek bir switch, VLAN etiketiyle birbirini hiç görmeyen ağları taşıyabiliyordu; burada tersi oluyor ve tek bir access point herkesi aynı ortama basıyor.
İlişkilendirme bittiğinde artık havaya frame koyabilirsin. O frame’in zarfı Ethernet’inkinden geniş duruyor. İçinde dört adres alanına kadar yer var ve her biri 6 bayt.
frame denetimi 2 bayt sürüm, tür, alt tür, sekiz bayrak
süre 2 bayt kanalın ardından ne kadar dolu kalacağı
adres 1 6 bayt frame'i havadan alacak cihaz
adres 2 6 bayt frame'i havaya koyan cihaz
adres 3 6 bayt kablolu taraftaki uç; internete giden trafikte router
sıra denetimi 2 bayt frame sıra numarası
adres 4 6 bayt yalnızca iki access point arasında köprü kurulunca
yük 0-2312 bayt LLC/SNAP başlığı ve IP datagramı
CRC 4 bayt bozulma denetimiÜçüncü adres bu listenin kilidi. Kabloda iki MAC adresi alanı yetiyordu; havada üçüncüsü gerekir, çünkü havadaki alıcı ile asıl hedef artık farklı cihazlar. Dizüstünden internete giden bir frame’de birinci adres access point’tir, ikinci adres dizüstünün kendisi, üçüncü adres de frame’in kablolu tarafta varacağı router. Access point frame’i Ethernet’e geçirirken üçüncü adresi hedef, ikinciyi kaynak yapar; kendi adresi frame’den düşer.
Frame denetim alanı bit bit bölünmüştür: 2 bitlik protokol sürümü, 2 bitlik tür, 4 bitlik alt tür ve ardından birer bitlik sekiz bayrak. Tür alanı pratikte üç değer alır: 0 yönetim, 1 denetim, 2 veri. Wi-Fi’da veri frame’i türlerden yalnızca biri. Alt tür alanı beacon ile ACK’i birbirinden ayırır. Denetim ve yönetim frame’leri ağın kendi işleyişini taşır ve kullanıcıya hiç görünmez.
Bayrakların ilk ikisi, To DS ve From DS, adres alanlarının nasıl okunacağını söyler. DS, access point’leri birbirine bağlayan dağıtım sistemi; çoğu zaman kablolu ağın kendisi. İstemciden access point’e giden frame’de ilk bayrak, access point’ten istemciye gelende ikincisi 1’dir. İkisi birden 1 olduğunda frame iki access point arasında taşınıyordur; dördüncü adres alanı ancak o zaman frame’e eklenir. Tek access point’li bir evde bu alan hiç görünmez; mesh sistemlerinde ise access point’ler arasındaki trafik tam bu biçimle taşınır.
Zarfın bedelini hesaplayalım. Dört adres birden kullanıldığında başlık ve CRC toplam 34 bayt tutar; altyapı kipinde dördüncü adres alanı frame’e hiç konmadığı için 28 bayt. Ethernet’in sabit zarfı ise 18 bayt. Aradaki fark on bayt ve bunun altı baytı doğrudan üçüncü adres alanından geliyor. En büyük yük 2.312 bayt olduğuna göre en büyük frame 2.346 bayt eder. Zarfın payı yüzde bir buçuk civarında kalır.
Hesabın dışında kalan iki kalem var. Listede Ethernet’teki tür alanının karşılığı yok; 802.11 yükün başına 23. bölümde gördüğümüz 8 baytlık LLC/SNAP başlığını koyar ve IP taşıdığını orada söyler. Bugünkü ağlarda veri frame’lerine 2 baytlık bir öncelik alanı (QoS Control) da eklenir.
Asıl bedel ise zarfta değil beklemede. Her frame için DIFS, geri çekilme, SIFS ve ACK harcanıyor; hızlı bir bağlantıda bunlar frame’in kendisinden uzun sürebilir. 802.11n’den bu yana birçok frame tek seferde art arda gönderilir (A-MPDU) ve tek bir toplu onayla (Block Ack) karşılanır. Hızlı Wi-Fi’ın sırrının önemli bir kısmı daha hızlı bit göndermekte değil, daha az beklemekte.
Peki bu frame hangi frekansta gidiyor? 2,4 GHz bandı ülkeye göre 11 ile 14 arasında kanala bölünmüştür ve bu sayı teknik değil düzenleyici bir karardır; Türkiye, Avrupa gibi 13 kanal kullanır. Kanal merkezleri 5 MHz arayla dizilmiş ama her kanal 20 ile 22 MHz genişliğinde. Bu yüzden birbirine hiç değmeyen yalnızca üç kanal seçilebilir: 1, 6 ve 11. Aynı apartmanda dördüncü bir access point açıldığı anda birinin kanalı zorunlu olarak bir başkasıyla örtüşür. Aynı lisanssız ISM bandında mikrodalga fırın, bebek telsizi, Bluetooth kulaklık ve garaj kapısı kumandası da çalışır; girişim bu bandın doğal hâli. Sensör ağlarının 802.15.4 radyosu da bu bandı paylaşıyor; Wi-Fi’ın 1, 6 ve 11 kanallarının arasında kalan boşlukları 75. bölümde göreceksin.

Havadaki frame’i ağa dahil olmayan herhangi bir kablosuz cihaz da dinleyebilir; ortam paylaşıldığı için izleme riski baştan var. Altyapı kipinde iletişimin şifrelenmesinin sebebi bu. WEP’ten WPA2’ye, oradan 2018’de gelen WPA3’e uzanan mirasın nasıl işlediğini 32. bölümde göreceğiz.
Bağlandığın ağın künyesini kendi makinende görebilirsin. Linux’ta iw dev wlan0 link bağlı olduğun BSSID’yi, SSID’yi, frekansı ve sinyal gücünü basar; arayüzün adı sende wlp2s0 gibi farklı olabilir, iw dev hepsini listeler. iw dev wlan0 scan ise beacon ve yoklama cevaplarından toplanan ağ listesini verir. Windows’ta aynı işi netsh wlan show interfaces ve netsh wlan show networks mode=bssid görür.
$ iw dev wlan0 link
Connected to 00:00:5e:00:53:0b (on wlan0)
SSID: kat3-koridor
freq: 2437
...
signal: -58 dBmİlk satırdaki adres BSSID, yani havaya koyduğun frame’lerin birinci adres alanına yazdığın değer. 2437 MHz, 6. kanalın merkez frekansı.
Özet
- Değişen tek şey ortam: kablosuz LAN yeni bir ağ kurmaz; var olan LAN’ın physical layer’ını ve MAC alt katmanını kablosuzlaştırır, IP ve üstü aynen kalır.
- Collision alıcıda olur: gönderici aynı anda gönderip dinleyemediği için kendi collision’unu göremez; gizli terminal bu körlüğü kalıcı hâle getirir.
- CSMA/CA beklemeyi kurala bağlar: DIFS boyunca dinlemek, donan bir geri çekilme sayacı ve SIFS sonrasında dönen ACK, collision sezmenin yerini alır. SIFS’in DIFS’ten kısa olması onaya öncelik tanır.
- RTS/CTS bir rezervasyondur: susulacak süre kanalın üstünden ilan edilir, çünkü koordinasyon için ayrılmış başka bir bant yoktur.
- Üçüncü adres zarfı genişletir: altyapı kipinde 28 bayta çıkan zarfın Ethernet’ten farkının çoğu, frame’in kablolu tarafta nereye çıkacağını taşıyan üçüncü adresten gelir.
- Asıl bedel beklemedir: her frame’in DIFS, geri çekilme ve ACK maliyeti var; 802.11n’den beri frame’ler toplu gönderilip toplu onaylanır.
Kanalın boşalmasını bekledin, sıranı aldın, frame’i havaya bıraktın ve onayını geri aldın. Sıra kanalın kendisinde: oraya kaç bit sığıyor ve bunu ne belirliyor?
31. bölüme devam et: Radyo Kanalı ve Kapasite