Alp Protocol Stack

Yeni nesil IoT uygulamaları için protokol yığını.

1. GİRİŞ

Son yıllarda, Mobil Sağlık (mHealth) ve Akıllı Şebeke (Smart Grid) gibi uygulama alanlarının tanıtılmasıyla Kablosuz Algılayıcı Ağlara (WSN'ler) yönelik ilgi artmaktadır. WSN'ler, bağımsız olarak çalışan ve uygulamaya özgü parametreleri merkezi bir kuruluşa bildiren kablosuz özelliğe sahip sensörlerden oluşur. Bildirilen parametreler uygulamaya bağlıdır ve bant genişliği, gecikme ve Hizmet Kalitesi (QoS) gereksinimleri açısından farklılık gösterir. Örneğin, Şekil 1.1'de gösterildiği gibi, Akıllı Şebeke uygulaması önceden tanımlanmış aralıklarla ölçüm verilerinin bir toplama noktası üzerinden merkezi bir sunucuya raporlanmasını gerektirir. Bu uygulama için, şebekede yaşanan gecikme, elektrik şebekesinin güvenilir bir şekilde kontrol edilmesini garanti etmek için belirleyici olmalıdır. Bu, belirli bir ağ gecikmesi olan bir WSN'ye sahip olma zorluğunu beraberinde getirir. WSN'de belirleyici bir ağ gecikmesine sahip olmak, en iyi durumda geleneksel Orta Erişim Kontrolü (MAC) protokolleri ve yönlendirme mekanizmaları kullanıldığında zordur.

Figure 1.1 An Example Metering Scenari

Şekil 1.1: Akıllı Şebeke Uygulaması

IEEE, 2012 yılında 802.15.4 MAC protokolünde iletişim ortamına zaman dilimli erişim sağlamak için 802.15.4e (4e MAC) olarak adlandırılan bir değişiklik belgesi yayınlamıştır. Ayrıca, 4e MAC kullanan düğümler iletişim güvenilirliğini artırmak için kanal atlamayı kullanabilmektedir. 4e MAC, deterministik ve güvenilir bir atlama (hop) bağlantısına sahip olmak için mekanizmalar sağlarken, birçok WSN uygulamasının bu teknolojiyi birden fazla atlamada kullanması bir gerekliliktir. Bu nedenle, 4e MAC ve yerleşik IPv6 tabanlı sensör yönlendirme protokollerini (6LowPAN) bir araya getirmek için bir standardizasyon süreci gereklidir. Bu, gelecekteki Makineden Makineye (M2M) iletişim için bir kolaylaştırıcı olabilecek deterministik bir mesh ağ protokolü sağlayacaktır. Bu protokol uygun olarak 6TiSCH (Zaman Aralıklı Kanal Atlamalı MAC üzerinden IPv6 Yönlendirme) olarak adlandırılır. Bu belgede, Contiki İşletim Sisteminde 6TiSCH protokolünün uygulanmasına yönelik geliştirme süreçleri açıklanmaktadır.

2. 6TiSCH'E KISA BİR BAKIŞ

Önceki bölümde belirtildiği gibi, 6TiSCH'nin ana hedefi 4e MAC üzerinden IPv6 yönlendirmesini etkinleştirmektir. Daha önceki çabalar, 802.15.4 etki alanına IPv6 yönlendirmesini ve büyük IPv6 çerçevelerinin güvenilir iletimini sağlayacak uyarlama katmanı kazandırmaktı. Örneğin, parçalanmamış bir IPv6 paketi 15.4 çerçeveye sığmayacak kadar büyük. Ayrıca, 40 baytlık uzun IPv6 başlığından kaynaklanan ek yük fiziksel katmanın [RFC4944] mevcut bant genişliğinin büyük bir kısmını boşa harcar. Bu nedenlerle, 6LoWPAN çalışma grubu bir adaptasyon katmanı [RFC6282] tanımladı. 6LowPAN adaptasyon katmanı ayrıca IPv6 adreslerinin otomatik yapılandırmasını [RFC2460] [RFC4862], yönlendirme ve yönetim yükünün azaltılması [RFC6606], hafif uygulama protokollerinin (veya yeni veri kodlama tekniklerinin) benimsenmesini ve mevcut ağa katılmak isteyen cihazların önyüklemesi gibi güvenlik mekanizmalarını destekler.

Prensipte aynı çözüm, zaman paylaşımlı kanal atlamalı (TSCH) MAC'in üzerinde çalışabilir, ancak bunu sağlamanın bazı zorlukları vardır. Geleneksel düşük güçlü MAC'ler ve TSCH'in en temel farkı TSCH'in kablosuz ortam için tarifeli erişim gerektirmesidir. TSCH, bir iletişim tarifesi yürütme mekanizması tanımlarken, iletişim çiftleri arasında kaynak tahsis etmek ve ağ içinde güzergahlar oluşturmak tarifeleyicinin sorumluluğundadır.

Örnek bir iletişim tarifesi Şekil 2.1'de verilmiştir. Şekilde görülebileceği gibi, program 31 hücreye sahip olacak şekilde tasarlanmıştır. Hücreler ve slotlar aynı kaynağı temsil eder. Slot, 4e MAC'de kullanılan bir terimken hücre 6TiSCH'te kullanılan ve slot-kanal çiftini temsil eden bir terimdir. Bu örnekte her hücre 10 ms iken 310 ms'lik periyoda, slot çerçevesi denir. Program, her slot çerçevesi üzerinden tekrarlanır. Her hücre, aksi belirtilmedikçe ağ içindeki düğüm çiftleri arasında tarifelenebilir. Düğüm çiftleri, birbirleriyle iletişim kurmak üzere kaynakları tahsis etmek için bir tarifeleyici kullanır. Yerel hücreler, iletişim boyunca birbirine müdahale etmeyecek komşu hücrelere tahsis edilmelidir.

Tarifeleyici, tüm düğümlerin WSN'ye katılmasından sonra merkezden hücre istemesi şeklinde merkezi bir yaklaşım kullanılarak gerçeklenebilir. Ancak bu yaklaşım, büyük sensör ağlarında önemli bir kontrol yüküne neden olabileceğinden ölçeklendirilemeyebilir. Başka bir tarifeleme yaklaşımı, düğüm çiftlerinin komşularının kaynak kullanımını hesaba katarak birbirleriyle kaynakları müzakere ettiği dağınık bir algoritmaya dayanabilir. Bu yaklaşım, ölçeklendirilebilir bir WSN'yi garanti eder, ancak ağ içi girişimden muzdarip olabilir. 6Tisch, 6Top adlı dağınık bir tarifeleyici kullanır. 6Top katmanı, iletişim çiftlerine kaynak tahsis etmekten sorumludur ve trafik türleri arasında ayrım yapabilir. Bu, ağların uygulama gereksinimlerine göre farklı hizmet kalitesi (QoS) sınıfları oluşturmasını sağlar. Ayrıca, 6Top katmanı, kaynaktan hedef düğüme track adında bir akış oluşturduğundan, yönlendirme katmanına gerek duymadan çiftler arasındaki trafiği iletebilir. Bu yaklaşım, kablolu ağlardaki Çoklu Protokol Etiket Anahtarlama (MPLS) protokolüne oldukça benzer.

Figure 2.1 An Example 6Tisch Schedule using 16 802.15.4 channel at 2.4 Ghz ISM band

Şekil 2.1: Örnek Bir İletişim Tarifesi

2.1 PROTOKOL YIĞINI

Şekil 2.2, Contiki işletim sistemi için tarafımızdan geliştirilen 6Tisch protokol yığınının ana hatlarını göstermektedir. Ağ genelinde senkronizasyon, ağdaki düğümlerin zamanlamalarını düzeltmek ve ayarlamak için Beacon ve ACK çerçevelerini kullanan SYNCH modülü tarafından gerçekleştirilir. Ağ katmanından gelen veri paketleri hedefe iletilmeden önce 6Top/MAC arabelleğine eklenir. 6Top/MAC arabelleği, hedef başına bir arabellek oluşturulan bağıl liste ile düzenlenir.

Figure 2.2 Alp Protocol Stak

Şekil 2.2: 6TiSCH Protokol Yığını

Protokol yığını, fabrika otomasyonu, akıllı şebekeye ve mobil sağlık gibi birçok IoT uygulaması için güvenilir iletişim sağlamak için kullanılabilir. Yığın, Contiki işletim sistemin uygulanmış ve güncel IETF 6TiSCH çalışma grubu spesifikasyonlarıyla tamamen uyumludur.