UPnP Nedir?
Tak-çalıştır özelliğinin cihazlara eklenmesi ile kişisel bir bilgisayara yeni bir cihazın kurulumu, ayarlanması ve eklenmesi oldukça kolaylaşmıştır. Evrensel Tak-çalıştır sayesinde ise bu kolaylıklar tüm ağı kapsayacak şekilde genişletilmiştir. Örneğin ağ yazıcıları, internet ağ geçidi ve tüketici elektroniği gibi cihazların ve bunların üzerinde çalışan tüm hizmetlerin tanınması ayarlanması UPnP ile mümkün kılınmıştır. UPnP sayesinde cihazlar dinamik olarak bir ağa dahil olabilir, IP adresi alabilir, ağdaki diğer cihazların varlığı ve kapasitelerini öğrenebilirler. UPnP desteği sağlanabilecek cihazlar için herhangi bir kısıtlama yoktur. Akıllı cihazlar, kablosuz cihazlar ve kişisel bilgisayarlar gibi çok çeşitli cihaz UPnP destekli bir ağın özelliklerinden faydalanabilir. Bu yüzden UPnP`nin kullanım alanı yeni yeni günlük hayatta yer almaya başlayan ev otomasyonu, yazdırma-görüntüleme, sesli/görüntülü eğlence, mutfak uygulamaları, otomobil ağlarını kapsayacak kadar geniştir. UPnP yıllardan beri kullanılan TCP ve Internet protokollerini kullandığı için hali hazırdaki ağlarda kullanılmaya uygundur. Ayrıca UPnP işletim sisteminden, programlama dilinden ve fiziksel ortamdan bağımsız bir yapıda olduğu için eskiden tanımlanmış protokolleri destekleyen farklı cihazlarda kolayca yer alabilmektedir. UPnP destekli cihazları ve bunlarda çalışan hizmetleri Evrensel Tak-Çalıştır Forumu (UPnP Forum) adı verilen bağımsız bir topluluk tanımlamaktadır. Bu topluluk 18 Ekim 1999`da tüketici elektroniği, bilişim, ev otomasyonu, güvenlik ve mobil cihazlar alanının 340`tan fazla endüstri lideri tarafından oluşturulmuş bir birliktir. Bu Forum`un amacı kolayca bağlantı sağlayabilen cihazları mümkün kılmak ve bilgisayarlı ortamlarda ağların kurulmasını basitleştirmektir. Forum bu amaç doğrultusunda UPnP cihaz ve hizmetlerini açık ve İnternet tabanlı iletişim standartları üzerine tanımlamaktadır. Forum tarafından tanımlanan cihaz mimarisi, cihaz ve hizmet tanımlama şablonları gibi dokümanlara resmi internet sitesi olan [1] adresinden erişilebilmektedir.2. UPnP`de Kullanılan Bileşenler
UPnP sistemi 3 bileşenden oluşur:- Cihaz
- Hizmet
- Denetleme Birimi
Cihaz
Üzerinde UPnP`de tanımlanmış hizmetler barındıran bileşene cihaz adı verilmektedir. Bazı cihazlar aynı zamanda başka bir gömülü cihaz da barındırabilir. Örneğin bir DVD oynatıcı cihazı DVD oynatmasının yanı sıra çalar saat ve görüntü paylaştırıcı hizmetlerini yürütebilir. Bunun yanı sıra bütünleşik DVD`li bir televizyon sistemi içinde 2 gömülü cihaz ve birçok hizmet barındırabilir. UPnP değişik cihazlar için değişik hizmetleri önceden belirlemiştir. Cihazlar, üzerlerindeki hizmetlerin bilgisini “Cihaz tanımlama XML belgesi” olarak tüm ağa sağlayabilir durumdadır.
Hizmet
Bir UPnP ağının en küçük denetim birimi hizmettir. Bir hizmet, cihaz üzerinde eylemler gerçekleştirmek ve cihaz durumunu durum değişkenleri ile belirtmekle görevlidir. Örneğin bir çalar saat hizmeti, “anlık zaman” durum değişkeni ile “Saat bilgisi ver” ve “Saati Ayarla” ayarlarını barındıracak şekilde modellenebilir. Sağlanan cihaz tanımlama bilgisinin içinde hizmet tanımlama bilgileri ile de ilgili bir işaretçi bulunur. Bu işaretçi cihaz üzerinde barındırılan bir XML dosyası adresidir. UPnP cihazı içinde çalışan hizmet; durum tablosu, denetim sunucusu ve olay sunucusundan oluşmaktadır. Durum tablosu durum değişkenlerindeki herhangi bir değişimde güncellenmektedir. Denetim sunucusu gelen değişiklik isteklerini alıp cihaza uygulamakta ve sonucunu geri bildirmektedir. Olay sunucusu ise belirli durumları belirli birimlere haber vermekten sorumludur. Örneğin yangın alarmı hizmeti içindeki olay sunucusu, durum tablosundaki “yangın” adlı durum değişkeni “var” durumuna geçtiğinde ilgili yerlere bir olay bilgisi gönderir.
Denetleme Birimi
UPnP ağı üzerindeki cihazları tespit edip onları izleyebilen ve ayarlayabilen birimlere denetleme birimi adı verilir. Denetleme birimi ağ üzerindeki bir cihazı tespit ettikten sonra aşağıdaki eylemleri gerçekleştirebilir:
- Cihaz açıklamasının ve üzerinde barındırılan hizmetler listesinin alınması
- Hizmet açıklamalarının alınması
- Hizmetleri denetleme isteği gönderilmesi
- Hizmetin olay sunucusuna üye olarak herhangi bir değişiklikten haberdar edilir duruma gelmesi
UPnP`nin Kullanımı
UPnP ağında aşağıdaki işlemler sırasıyla gerçekleştirilir:- Adresleme
- Cihaz Bulma
- Cihaz Özelliklerini Öğrenme
- Denetim
- Bilgilendirme
- Sunum
Adresleme
UPnP Ağı üzerindeki her cihaz kendisine otomatik IP adresi atayacak bir DHCP sunucusu arar. Bunu bulması halinde uygun IP adresini alıp ağa dahil olur. Ağ üzerinde IP numarası sağlayacak herhangi bir DHCP sunucusu bulunmaması halinde ise cihaz kendine uygun olan otomatik bir IP adresi atar.
Cihaz Bulma
UPnP ağı üzerinde bir ağın bulunması işlemi cihazın ağa bağlanması ile başlar. SSDP olarak tanımlanan protokole göre cihaz ağa bağlandığı anda üzerinde barındırdığı hizmetlerin bilgisini ağdaki denetleme birilerine yayınlamaya başlar. Aynı zamanda ağa bir denetleme birimi bağlandığı anda SSDP, denetleme biriminin ağda kendisiyle ilgili cihazları aramasına olanak sağlar. SSDP protokolü her iki yönlü durum için birkaç cümlelik arama ve tanımlama bilgisi adresi mesajını kullanır.
Cihaz Özelliklerini Öğrenme
Cihazın bulunmasının ardından denetim birimi hala cihaz hakkında çok az bilgiye sahiptir. Ancak cihazın bulunduğu anda kendisine gelen yanıtın içinde cihazın tanımlama bilgisine ulaşılabilecek XML belgesinin adresi bulunmaktadır. Denetim birimi bu adresten ilgili belgeyi alarak cihazın özelliklerini öğrenir. Bu XML belgesi içinde cihazın üreticisi, markası, modeli, seri numarası, üretici internet siteleri gibi bilgiler verilir. Aynı zamanda cihaz üzerindeki tüm hizmetlerin listesi, denetim, olay ve sunum adresleri de bu belge de yer alır.
Denetim
Cihaz özelliklerinin öğrenildiği esnada denetleme birimi denetleyebileceği hizmetlerin bilgisi alır ancak bu hizmetlerin izlenme ve ayarlanma detaylarını öğrenmek için yine her hizmetle ilgili XML formatında hazırlanmış belgelere başvurur. Denetim birimi bir cihazı denetlemek için cihazın hizmetine bir istek gönderir. Bu işlem, cihaz tanımlama belgesinde tanımlanan denetim adresine bir denetim mesajı göndererek sağlanır. Burada kullanılan mesajlar da yine SOAP adı verilen protokolle XML formatında oluşturulmuş mesajlardır. Gelen denetim mesajlarına cevap olarak hizmetler durum veya hata mesajları döndürürler.
Bilgilendirme
Cihazlar üzerinde çalışan hizmetlerin durumlarını kayıtlı denetleme birimlerine periyodik olarak bildirirler. Bu bilgilendirme mesajları GENA adı verilen protokol ile yine XML formatında hazırlanan bir belge ile gerçekleştirilir. Ayrıca denetleme birimleri ağa ilk dahil olduklarında özel bir bilgilendirme mesajı yayınlanır. Bu sayede bilgilenme için kayıt olan denetleme birimleri, hizmetlerin durum modelleri hakkında bilgi sahibi olurlar. Çoklu denetleme birimlerinin de beraber çalışabilmesi için olay bilgilendirme mesajları tüm kayıtlı denetim birimlerine iletilir.
Sunum
Bazı UPnP destekli cihazlar üzerlerinde bir internet sayfası barındırarak denetleme birimlerinin izleme ve ayarlama işlemlerini bu sayfa aracılığıyla yapmasına olanak sağlar. Böyle bir sayfadan yapılabilecek ayarlar sayfanın ve cihazın kabiliyetlerine bağlı olarak değişiklikler göstermektedir. Yukarıda da değinildiği gibi UPnP`de bazı temel haberleşme protokollerinin yanı sıra kendi ihtiyaç duyduğu birkaç özel protokolü daha kullanır.