Bölüm 75: Kablosuz Sensör Ağlarının Mimarisi
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 12: Kablosuz Sensör Ağları (Bölüm 75-80)
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
Her kararı pile göre vererek. Kitap boyunca izlediğin ağda kıt olan kaynak hızdı: daha çok bit, daha kısa gecikme. Burada kıt olan kaynak enerji. Bir düğümün ömrü, içindeki iki kalem pilin ne kadar dayandığı kadar. Protokol yığınının her katmanı bu tek soruya göre yeniden düşünülüyor: bu iş kaç mikrojoule tutuyor?
Bu kısmın konusu kablosuz sensör ağları (wireless sensor networks, kısaca WSN). Birkaç tanımla başlayalım. Ağın elemanı, üstünde bir ya da birkaç algılayıcı, küçük bir işlemci, bir radyo ve bir pil taşıyan sensör düğümü. Düğümler ölçtüklerini birbirleri üzerinden, sekme sekme, verinin toplandığı sink düğümüne taşıyor. Sink çoğu zaman internete bağlı bir geçit.
Önce düğümü açalım: o küçük kutunun içinde ne var ve enerjiyi en çok ne yiyor?
Düğümün içinde ne var?
Bu alanın başlangıcında Berkeley’de bir proje duruyor. 1997’de DARPA’ya sunulan Smart Dust önerisi, algılayan ve haberleşen bir düğümü bir milimetreküpe sığdırmayı hedefliyordu. Proje 1998’de desteklendi ve 2001’de bitti. Asıl mirası, o hedefe giderken hazır parçalarla yapılan kibrit kutusu boyundaki düğümler ve onlar için yazılan TinyOS işletim sistemi oldu. Bu düğümlere İngilizcede mote deniyor. Alanın en çok atıf alan makalelerinden biri de aynı dönemden: Mart 2002’de yayımlanan ve yazarları arasında İan F. Akyıldız ile Erdal Çayırcı’nın da bulunduğu kapsamlı bir tarama.
Araştırma dünyasının uzun süre standart düğümü olan TelosB tipik bir örnek:
| Parça | TelosB’deki karşılığı |
|---|---|
| işlemci | TI MSP430F1611, 16 bit, 8 MHz |
| bellek | 10 KB RAM, 48 KB flash |
| radyo | CC2420, IEEE 802.15.4, 2,4 GHz, 250 kbit/s |
| güç | iki kalem pil |
On kilobayt RAM, bu satırları okuduğun bilgisayarın belleğinin kabaca milyonda biri. Asıl ilginç sayılar ise akımlarda. MSP430 1 MHz’te çalışırken yaklaşık 0,33 miliamper çekiyor. CC2420 alırken 18,8, gönderirken 17,4 miliamper. Radyo, işlemciden onlarca kat fazla yakıyor.
Tabloda bir tuhaflık daha var: radyo dinlerken konuşurkenden fazla akım çekiyor. Radyoyu açık tutup gelecek bir mesajı beklemek, göndermek kadar pahalı. Sensör ağlarının ortam erişim problemi bu cümlenin üstüne kurulu; 76. bölümün konusu o.
Pilin hesabı
İki kalem pili yaklaşık 2.500 miliamper saat sayalım.
- Radyo sürekli dinlerse: 2.500 / 18,8 ≈ 133 saat. Düğüm altı gün dayanır.
- Radyo zamanın yalnızca %1’inde açıksa ve düğüm geri kalan zamanda 20 mikroamper çeken derin uykudaysa ortalama akım 0,01 × 18,8 + 0,99 × 0,02 ≈ 0,21 mA olur. Düğüm yaklaşık 16 ay dayanır.
- Radyo zamanın %0,1’inde açıksa ortalama 0,04 mA civarına iner. Ömür yedi yılı aşar; bu noktada pilin kendi kendine boşalması belirleyici olmaya başlar.
İki ders çıkıyor. Birincisi, ömrü belirleyen şey radyonun açık kaldığı süre ve onu yöneten protokol. İkincisi, radyo neredeyse hiç açılmayınca uyku akımı öne geçiyor. Bu yüzden düşük güçlü çiplerin veri sayfalarında mikroamperlik uyku akımı en öne yazılıyor.
DerinleşmeBir bit göndermek kaç talimat eder?
2000’de yayımlanan ve bu alanın yönünü belirleyen bir makalede Pottie ile Kaiser bir hesap verdi. Bir kilobiti 100 metre öteye göndermenin enerjisiyle, watt başına 100 milyon talimat işleyen bir işlemci yaklaşık 3 milyon talimat çalıştırabiliyordu. Hesabın varsayımları açıkça yazılı: 1 GHz taşıyıcı, BPSK modülasyonu, milyonda bir bit hatası ve mesafenin dördüncü kuvvetiyle düşen sinyal.
Sonuç bir tasarım ilkesine dönüştü: gönderme, hesapla. Bir düğüm on ölçümü tek tek yollamak yerine ortalamasını ya da en büyüğünü yollarsa, bekleyen işlemci döngüleri harcanmış olur ama radyo on kat daha az açılır. Ağ içinde işleme ve veri birleştirme fikri buradan geliyor.
Makaleyi dikkatle okuyan birinin takılacağı bir ayrıntı var. Aynı cümle bu enerjiyi yaklaşık 3 joule diye de veriyor. Oysa watt başına 100 milyon talimatla 3 milyon talimat 30 milijoule eder. İki sayıdan biri tutarsız ama oranın söylediği değişmiyor. Literatürde bu cümlenin “bir kilobit” yerine “bir bit” diye aktarıldığı da sık görülür. Kaynağın kendisine gitmenin değeri bu tür ayrıntılarda ortaya çıkıyor.
Sink, sekme ve yapı
Ölçümlerin varacağı yer sink. Tarladaki yüzlerce düğümün hepsi sink’in menzilinde olamayacağı için veri çok sekmeli taşınıyor: her düğüm hem kendi ölçümünü gönderiyor hem de komşularının ölçümlerini ileriye aktarıyor.
Çok sekmenin bir enerji gerekçesi de var. 34. bölümde sinyalin mesafeyle nasıl zayıfladığını görmüştün; yere yakın, engelli ortamda güç mesafenin kabaca üçüncü ya da dördüncü kuvvetiyle düşüyor. Mesafeyi dörde bölüp dört sekmede gitmek, verici gücünü dördüncü kuvvet için 64’te birine indiriyor. Ama her sekmede bir alıcı da uyanıp dinliyor ve radyonun sabit maliyeti ödeniyor. Bu yüzden çok sekme ancak mesafe uzadığında gerçekten kazançlı.
Düğümlerin nasıl örgütleneceği ikinci karar:
- Düz yapı. Bütün düğümler eşit; her biri hem ölçüyor hem aktarıyor.
- Kümeli yapı. Düğümler kümelere ayrılıyor, her kümede bir küme başı var. Üyeler ölçümlerini küme başına veriyor, küme başı onları birleştirip ileriye gönderiyor. Küme başı çok daha fazla enerji harcadığı için bu rolün düğümler arasında dönmesi gerekiyor. 77. bölümdeki LEACH bunu yapıyor.
Çok sekmeli yapının bir de doğal kusuru var. Sink’in hemen yanındaki düğümler bütün ağın trafiğini taşıyor ve pilleri önce onların bitiyor. Onlar ölünce ağın geri kalanı sağlam olsa bile sink’le bağlantısı kopuyor. Buna enerji deliği deniyor ve 80. bölümdeki hareketli sink fikri bu sorundan doğdu.
Adres değil, veri
İnternette bir makineye adıyla ulaşıyorsun. Sensör ağında çoğu zaman hangi düğümün cevap verdiği önemsiz; önemli olan cevabın kendisi. Soru “17 numaralı düğümün sıcaklığı kaç?” değil, “sıcaklığın 30 dereceyi geçtiği yer neresi?” Buna veri merkezli ağ deniyor. Veri, düğümün adresiyle değil, taşıdığı özelliklerle adlandırılıyor.
Verinin sink’e hangi düzende aktığı da uygulamaya göre değişiyor:
| Teslim biçimi | Nasıl | Örnek |
|---|---|---|
| dönemsel | her düğüm belirli aralıkla ölçümünü gönderir | on dakikada bir toprak nemi |
| olayla tetiklenen | düğüm yalnızca bir eşik aşılınca konuşur | yangın, sarsıntı, kapı açılması |
| sorguyla | sink bir soru yayar, yalnızca ilgili düğümler cevap verir | “şu bölgedeki en yüksek sıcaklık?” |
Veri merkezliliğin enerji tarafındaki karşılığı ağ içinde birleştirme. Yukarıdaki sorguda yol üstündeki her düğüm, altından gelen cevapları tek tek aktarmak yerine yalnızca en büyüğünü iletebilir. Yüz ölçüm yüz paket yerine bir paketle sink’e varır.
“Ağın ömrü” de tek bir tanım değil. İlk düğümün ölmesi, düğümlerin belli bir oranının ölmesi ya da izlenen alanın belli bir kısmının görünmez olması ayrı ayrı ölçülüyor. Hangisinin seçildiği, hangi protokolün “daha iyi” çıkacağını değiştirebiliyor.
IEEE 802.15.4: düşük hızlı kişisel alan ağı
Sensör ağlarının radyo ve ortam erişim katmanının büyük kısmını tek bir standart tanımlıyor: 2003’te onaylanan IEEE 802.15.4. Adındaki hedef açık: düşük hızlı, düşük güçlü kablosuz kişisel alan ağı. 30. bölümdeki Wi-Fi’ın hızı için tasarlanmadı; pilin yıllarca dayanması için tasarlandı.
İlk sürüm üç bant tanımlıyordu:
| Bant | Kanal | Hız |
|---|---|---|
| 868 MHz (Avrupa) | 1 | 20 kbit/s |
| 915 MHz (Amerika) | 10 | 40 kbit/s |
| 2,4 GHz (dünya geneli) | 16 (11-26 numaralı) | 250 kbit/s |
2,4 GHz’te kanallar 5 MHz arayla diziliyor ve her biri yaklaşık 2 MHz genişliğinde. Bir frame’in tamamı en fazla 127 bayt. Adres başlıkları ve sağlama toplamından sonra yüke kalan yer bundan da az. 77. bölümde IPv6’nın bu küçük frame’e nasıl sığdırıldığını göreceksin.
Aynı bandı Wi-Fi de kullanıyor ve burada küçük bir hesap bir kural doğuruyor. 802.15.4’ün k numaralı kanalının merkezi 2405 + 5 × (k − 11) MHz. Wi-Fi’ın çakışmayan üç kanalı 1, 6 ve 11 ise kabaca 2401-2423, 2426-2448 ve 2451-2473 MHz aralıklarını kaplıyor.
| 802.15.4 kanalı | Merkez | Wi-Fi’a göre yeri |
|---|---|---|
| 15 | 2425 MHz | 1 ile 6 arasındaki boşluk |
| 20 | 2450 MHz | 6 ile 11 arasındaki boşluk |
| 25 | 2475 MHz | 11’in üstü |
| 26 | 2480 MHz | 11’in üstü |
Geri kalan on iki kanal, Wi-Fi kanallarından birinin içine düşüyor. Evinde hem Wi-Fi hem 802.15.4 tabanlı akıllı cihazlar varsa, sensör ağını bu dört kanaldan birine koymak girişimi belirgin biçimde azaltıyor.
Standart iki tür cihaz tanımlıyor. Tam işlevli cihaz başkalarının trafiğini aktarabiliyor ve ağı yönetebiliyor. İndirgenmiş işlevli cihaz yalnızca bir tam işlevli cihazla konuşuyor. Tipik bir pille çalışan sensör ikinci türden; zamanının çoğunu uykuda geçirmesi bu sayede mümkün. Ağı başlatan tam işlevli cihaza PAN koordinatörü deniyor.
Aynı radyo, farklı yığınlar
802.15.4 yalnızca alttaki iki katmanı tanımlıyor. Üstüne ne konacağı konusunda iki yol ayrıldı.
Kendine özgü yığın. 2004’te yayımlanan Zigbee kendi ağ ve uygulama katmanlarını getirdi. Akıllı ampuller, sayaçlar ve ev otomasyonu uzun süre bu yolla yapıldı. Zigbee Alliance 2021’de adını Connectivity Standards Alliance olarak değiştirdi.
İnternetin yığını. IETF, IP’nin bu küçük cihazlara kadar inmesi gerektiğini savundu. 2007’de IPv6’yı 802.15.4 frame’ine uyduran 6LoWPAN, 2012’de bu ağlara özel yönlendirme protokolü RPL, 2014’te küçük cihazlar için bir web protokolü olan CoAP geldi. Üçünün ayrıntısı 77. bölümde. Bu yolun ev tarafındaki ürünü Thread: 802.15.4 radyosu üstünde 6LoWPAN ve IPv6 örgü ağı. Ekim 2022’de yayımlanan Matter ise Thread, Wi-Fi ve Ethernet üstünde aynı dili konuşan cihazlar için ortak bir uygulama katmanı.
Sanayi tarafında aynı radyonun üstüne zaman bölmeli ve kanal atlamalı sistemler kuruldu: 2007’de WirelessHART, 2009’da ISA100.11a. 76. bölümde neden zaman bölmeli çalıştıklarını göreceksin.
Bir de bambaşka bir yaklaşım var: çok sekme yerine tek sekmede kilometrelerce gitmek. LoRaWAN ve NB-IoT gibi geniş alan teknolojileri çok düşük hızla çok uzağa konuşarak sink’e doğrudan ulaşıyor. Aralarındaki seçimi 79. bölümde sahadaki örneklerle tartacağız.
| Teknoloji | Radyo | Yapı | IP taşıyor mu? |
|---|---|---|---|
| Zigbee | 802.15.4 | örgü | hayır, kendi ağ katmanı |
| Thread | 802.15.4 | örgü | evet, IPv6 |
| WirelessHART | 802.15.4 | zaman bölmeli örgü | hayır |
| LoRaWAN | LoRa | yıldızların yıldızı | hayır |
| NB-IoT | hücresel | hücresel | evet |
Düğümlerin üstünde çalışan yazılım da ayrı bir dünya. 2000’de Berkeley’de doğan TinyOS’u 2003’te Contiki izledi, bugün RIOT ve Zephyr gibi açık kaynak sistemler yaygın. Hepsinin ortak noktası, birkaç kilobayt RAM’le olay güdümlü çalışmak.
Özet
- Kıt kaynak enerji: düğümün ömrü, radyonun açık kaldığı süreyle ölçülür. İki kalem pil sürekli dinleyen bir radyoya altı gün, %1 açık kalan bir radyoya yaklaşık 16 ay yeter.
- Dinlemek konuşmak kadar pahalı: CC2420 alırken gönderirken olduğundan fazla akım çeker. Enerjiyi en çok, hiç gelmeyecek bir mesajı beklemek yer.
- Gönderme, hesapla: bir kilobiti 100 metre göndermenin enerjisi milyonlarca talimata denk. Ağ içinde birleştirme radyo süresini doğrudan azaltır.
- Veri merkezli ağ adres değil özellik sorar: dönemsel, olayla tetiklenen ve sorguyla gelen teslim biçimleri farklı protokoller ister.
- 802.15.4 alttaki iki katmanı tanımlar: 2,4 GHz’te 16 kanal, 250 kbit/s, en fazla 127 baytlık frame. 15, 20, 25 ve 26 numaralı kanallar Wi-Fi’ın 1, 6 ve 11 kanallarının dışında kalır.
Radyo dinlerken bile konuşurken kadar yakıyor. Demek ki enerjinin çoğunu yiyen şey konuşmak değil, gelip gelmeyeceği belli olmayan bir mesajı beklemek. Radyoyu zamanın %99’unda kapalı tutarsan, komşun sana bir şey söylemek istediğinde seni nasıl uyandıracak?
76. bölüme devam et: Sensör Ağlarında Ortam Erişimi