Yusuf Bülbül

An Engineer

802.13.15 Mac Katmanı Yazılımı Raporu

A-)  Mac Katmanının İşleyişi

Mac yazılımının 802.13.15 standardında tanımlı iki çalışma şekli mevcuttur. Bunlar “İşaretli Sinyal-Etkin“(Beacon-Enabled) ve “İşaretsiz SinyalEtkin” (NonBeacon-Enabled) olarak iki şekildedir. Şu ana kadar İşaret Sinyali Etkin yöntemi uyarlanmıştır ve bu rapor, yalnızca bu yöntemi kapsar. Ayrıca tüm raporda sunulan tüm çerçeve ve mesaj yapıları şu ana kadar yazılıma uyarlanmış olanlardır.

İşaret Sinyali Etkin yönetimde şu ana kadar yalnızca eşler arası(Peer to Peer) topolojisi uyarlanmıştır. Bu topolojiye göre bir ağ yöneticisi bir de kullanıcı bulunur. Ağ yöneticisi, ağı yönetebilmek için belli zaman aralıklarında sürekli işaret sinyali olan veri paketi gönderir. İşaret sinyali, Mac Çerçeve(Mac Frame) formatındaki bir veridir. Ağ içerisindeki her veri, mac çerçevesi formatında gönderilir. Ağ içerisindeki kullanıcılar, kendi veri transferlerini işaret sinyaline senkron hale getirirler. Bu sayede, süper Çerçeve(Super Frame) ismi verilen bir yapı oluşur.

A-1) Süper Çerçeve Yapısı

Süper Çerçeve, belli zaman olukları(Slot) içerir. Ağ içerisindeki her veri transferi, bu oluklar içerisinde gerçekleşir. Oluk sayısı, ağ içerisindeki koordinatör tarafından dinamik olarak değiştirilebilir. Süper Çerçeve içerisindeki oluklar birleşerek zaman periyotlarını oluştururlar. Süper Çerçeve, 3 zaman periyodu içermektedir. Bunlar; İşaret Sinyali Periyodu(Beacon), Kalıcı Erişim Periyodu(CAP), Sabit Erişim Periyodu(CFP) tir.

A-1.1 İşaret Sinyali Periyodu İçerisindeki Veri Transferi

İşaret Sinyali oluğunda ağ koordinatörü, Süper Çerçeve Belirteci(Super Frame Descriptor) isminde bir veri paketi yollar. Bu veri paketi içeriği, Mac Çerçeve Formatları kısmında anlatılmıştır. Ağ içerisindeki her kullanıcı kendi zamanını koordinatörün işaret sinyali veri paketindeki zamanı ile senkronik hale getirir. İşaret Sinyali paketi içerisinde, her bir kullanıcı için ayrılmış oluk numaraları tanımlanmıştır. Bu sayede hangi kullanıcının hangi zaman aralığında iletişim kuracağı belirlenir.

A-1.2 CAP – Kalıcı Erişim Periyodu (Contention Access Period) İçerisindeki Veri Transferi

Bu periyot içerisinde, sadece iki işlem gerçekleştirilebilir.

A-1.2.1-) Ağa Bağlanma Prosedürü( Assosiation Procedure)

Koordinatör, göndermiş olduğu işaret sinyali ile bir ağın temelini atmış olur. Kullanıcıların, ağa bağlanması her kullanıcı için belli zaman oluğu atanması ile olur. Bu yüzden her kullanıcı, ağa bağlanmak için koordinatöre Ağa Bağlanma İsteği(Assosiation Request) yollar. Bu sayede koordinatör, kullanıcıya belirli oluk numarası atar ve her işaret sinyali paketi sonunda yayınlar.

A-1-2.2-)Oluk Tahsis Etme Prosedürü(GTS Request Procedure)

Bu prosedür yalnızca, koordinatörün kullanıcılar için oluk numarası ataması bir şekilde sonlandığında ya da kullanıcının oluğu kullanıcıya yeterli gelmediğinde kullanıcının “Oluk Tahsis Etme isteği” veri paketi göndermesi ile olur.

A-1.3 CFP – Sabit Erişim Periyodu (Contention Free Period) İçerisindeki Veri Transferi

Bu periyotta, her kullanıcı için belli oluk numarası atanmıştır. Bu sayede kullanıcılar, kendilerine atanmış oluk numaralarında ağa veri paketi gönderebilirler.  Bu oluk numaraları, sadece bir süper çerçeve için geçerlidir. Bir sonraki süper çerçeve için koordinatör kullanıcılara farklı oluk numaraları atayabilir.

Süper Çerçeve Yapısında Program Uyarlaması

Standart taslağında, Süper Çerçeve yapısında İşaret Sinyalinden sonra her kullanıcı için Sabit Erişim Periyodunda(CFP) kullanacakları oluk numaralarının kullanıcılara nasıl bildirileceği net değildir. Yazılıma bu kısım uyarlanırken, ağa bağlanmış her kullanıcının bu periyot için kullanacakları oluk numaraları, koordinatör tarafından İşaret sinyali(Beacon) paketinin içerisinde her kullanıcıya has kısa adresler ile belirtilir. Her kullanıcıya atanan oluk numarası, Oluk Belirteç Listesi(GTS Descriptor List) paketinin Süper Çerçeve Belirteci(Super Frame Descriptor) Paketi içerisindeki Değişken Element Konteynerine dahil edilmesi ile gerçekleştirilir.

B-) Mac Çerçeve Yapıları

Ağ içerisindeki her veri, mac çerçeve formatında gönderilir. Bu çerçeve yapısı içerisine bir çok mac çerçeve elementi dahil edilir.

B-1) Genel Çerçeve Yapısı

Genel Mac Çerçevesi, Başlık, Gövde ve FCS(Checksum) olarak üç bölüme ayrılır.

Gtihub Sayfasındaki Software Architect.drawio dosyasından bulunabilir

Github Sayfasındaki Software Architect.drawio dosyasından bulunabilir.

Başlık bölümü, çerçeveyi tanımlayan ve uzunluğunu belirten bilgiler içerir. Bu bölümler ve içerikleri standartta tanımlanmıştır. Çerçeve gövdesi yani çerçeve elementi üç kategori elementten oluşabilir. Bunlar, yönetim elementleri, kontrol elementleri ve veri elementleridir.

B-1.1 Veri Çerçeve Elementleri

Bu element, üst katman yazılımın göndermek istediği veri paketidir. Transfer edilmek istenilen veri, paketlenerek mac çerçeve yapısının gövdesine konulur.

B-1.2 Kontrol Çerçeve Elementleri

Bu kategori elementler, ağdaki teknik özellikleri ve konfigürasyonları mac katmanında kontrol etmek için kullanılan elementlerdir. Bu element kategorisi üst katman yazılım ile bağlantılı olmayan veri paketlerini içerir.

B-1.2.1 Süper Çerçeve Belirteç Elementi (Super Frame Descriptor)

Bu element, beacon mesajı olarak gönderilir.  İçerisinde, ağı tanımlayan bilgiler, zaman ve her kullanıcı için atanmış zaman oluk numaraları bilgileri bulunur.  Değişken Element Konteyner’ı içerisine başka kontrol elementleri dahil edilebilir.

B-1.2.2  Oluk Belirteç Listesi (GTS Descriptor List)

Bu element, beacon elementinde bulunan Değişken Element Konteyner’ine dahil edilerek ağdaki kullanıcıların oluk numaralarını belirtir.  Her kullanıcıya ağa bağlandıktan sonra ağ içerisindeki kimliğini belirten 16 bitlik kısa bir adres atanır. Ağ koordinatörü, kendi ağında bulunan her kullanıcının kısa adreslerini kendi hafızasında tutarlar. Bu adres sayesinde, ağ içerisindeki kontrol mesajları iletilir ve aynı zamanda her kullanıcı, kendi kısa adresine atanan oluk numaralarını bilirler.

B-1.3  Yönetim Çerçeve Elementleri
B-1.2.2  Ağa Bağlanma İstek Elementi

Bu element, ağa bağlanmak isteyen kullanıcılar tarafından koordinatore, süper çerçevenin CAP periyodu içerisinde gönderilir. Koordinator, bu element içerisindeki verilere bakarak kullanıcının ağa katılıp katılamayacağına karar verir ve kullanıcıya CFP periyodunda zaman oluğu tahsis eder.

 

B-1.2.3  Ağa Bağlanma İsteği Cevap Elementi

Ağ koordinatorü, Ağ bağlantı isteğine bu element ile karşılık vererek katılıp katılmadığını kullanıcıya bildirir.

C-) Mac Servisi

Mac Servisi, mat katmanı yazılımını belirtir. Bu yazılım, mac standardını uygulayan ve ağı yöneten yazılımdır.  Mac Servisi yazılımı, ağ ile iletişimini Fiziksel Katman sayesinde yürütür. Doğal olarak Ağ ile olan tüm mac çerçeve yapıları ve elementleri fiziksel katman yazılımı aracılığı ile gönderilip alınır.

Şu ana kadar  Mac Servisi haricinde, fiziksel katmanı simüle edecek bir Fiziksel Katman Yazılımı geliştirilmiştir. Fiziksel Katman Yazılımı; ağı, kanal modeli ile simüle eder ve mac servisine gerekli cevaplar ve işlevler sağlar.

Mac ve Fiziksel katmanların birbiri ile haberleşmesi, üst katman yazılımların mac servisini kullanabilmesi ve  mac katmanının fiziksel katmanı kontrol ederek işletmesi  servis mesajları sayesinde olur.

C-1  Servis Mesajları

Servis Mesajları başlık, gövde ve statü bilgisi olarak üç bölümden oluşur.

Servis mesajlarının başlık bölümünde mesajın tanımı, türü ve uzunluğu hakkında bilgiler mevcuttur.  4 adet mesaj tipi vardır. Bunlar; Mac-Yönetim, Mac-Veri, Phy-Yönetim, Phy-Veri tipleridir.  Bu mesajların dört adet gerekçesi vardır.  Bunlar “Bildirme”(Indication), “İstek”(Request), “Onaylama”(Confirm) ve “Cevap”(Respons) olabilir. Bu gerekçeler, her mesajın başında belirtilir.  Şu ana kadar yazılıma uyarlanan mesaj tipleri aşağıda verilmiştir.

C-1.1   Mac – Veri Mesaj Tipi (MCSP)

Bu mesaj tipi, üst katman yazılımının ağ içerisindeki herhangi bir kullanıcıya veri göndermek için Mac Servisine göndermiş olduğu mesaj tipidir.  Ağ içerisindeki Veri Transferinin gerçekleştirilebilmesi için veri paketlemesi şu şekilde olur;

C-1.1.1  MCSP-Receive Mesajı

Bu mesaj ile kullanıcı, mac servisinden ağdaki herhangi bir kullanıcıdan mesaj beklediğini ve bu mesajı aldığında kendisine iletmesini ister.

C-1.1.2  MCSP-Transmit Mesajı

Bu mesaj ile kullanıcı, mac servisinden ağdaki herhangi bir kulanıcıya veri iletmek istediğini söyler iletmek istediği mesajı bu mesaja dahil eder.

C-1.2  Mac – Yönetim Mesaj Tipi (MLME)

Bu veri tipi, üst katman yazılımın mac katmanını kontrol ederek yönetebilmesi için mac servisine gönderdiği mesajlardır.

C-1.2.1  MLME-Start Mesajı

Bir mac servis yönetim mesajıdır. Bu mesaj sayesinde, kullanıcı mac servisini ağ koordinatörü ve ya ağ kullanıcısı olarak başlatır. Ağ başladığında, eğer koordinatör olarak başlatıldıysa cihaz mesaj içeriğindeki bilgiler doğrultusunda ağa beacon göndermeye başlar. Eğer kullanıcı olarak başlatıldıysa, çevredeki beacon’ları dinleyerek onlara senkronize olur.

C-1.2.2 MLME-Set Mesajı

Bu mesaj, mac servisinin konfigraysonlarını set etmek için kullanılır. Bu mesaj sonrasında, mac servisi, fiziksel katmanın konfigrasyonlarını da set edebilir ve ya etmeyebilir.

C-1.2.3  MLME-Associate Mesajı

Bu mesaj ile, üst katman yazılımı, mac servisi eğer koordinator olarak başlatılmışsa, ağa gelen istekleri kabul etmesini söylemiş olur.  Eğer mac servisi kullanıcı olarak başlatılmışsa mac servisine belirttiği ağ id’sine sahip ağa bağlanmak istediğini belirtmiş olur.

C-1.3  Phy – Veri Mesaj Tipi
C-1.3.1  Phy-Data Mesajı

Bu Mesaj, mac katmanı tarafından, fiziksel katmana ağdaki herhangi bir kullanıcıya mac çerçevesi iletmesi için gönderilir.

C-1.4  Phy – Tönetim Mesaj Tipi
C-1.4.1  PLME-SetTrx Mesajı

Bu mesaj, fiziksel katman yazılımına verici ve ya alıcıyı açması ve ya kapatması için gönderilir. Mesaj içeriğindeki State parametresi, alıcı ve vericinin durumunu ne olması gerektiğini belirtir.

C-1.4.2  PLME-Set Mesajı

Bu mesaj, fiziksel katmanının bazı konfigrasyon parametrelerini set etmesi için mac servisi tarafından gönderilir.

C-1.4.3  PLME-CCA

Ağa veri göndermeden önce mac servisi tarafından gönderilir.

C-2  Servis Mesajlarının Gönderim Şematikleri
C-2.1  Ağı Başlatma Şematiği
C-2.1  Koordinator Olarak Başlatma

C-2.2  Kullanıcı Olarak Başlatma

C-2.2  Ağ İçerisindeki Veri Transferi Şematiği
C-2.2.1  Ağ İçerisindeki Veri Transferi Gönderici

C-2.2.2  Ağ İçerisindeki Veri Transferi Alıcı

C-2.2  Ağa Bağlanma
C-2.2.1  Ağa Bağlantı İsteği Yollama

C-2.2.2  Ağa Bağlantı İsteğini Yanıtlama

C-2.2  Konfigrasyon Yapma

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Copyright © Tüm Hakları Saklıdır.