4. BLUETOOTH PROTOKOL MİMARİSİ
4.4 Lojik Link Kontrolü ve Adaptasyon Protokolü (L2CAP)
4.4.7 Servis Primitifleri
Bluetooth Spesifikasyonuna göre L2CAP tarafından yürütülen servisler servis primitifleri ve parametreleri açısından tanımlanmıĢtır.
4.4.7.1 Olay Göstergesi
Seçilen gösterge olayı meydana geldiğinde bir geri arama talebinde bulunmak için kullanılır. AĢağıdaki geri arama fonksiyonları kullanılır:
L2CA_ConnectInd Geri Araması
Bağlantı talebini alan uzak cihazın adresi, talep edilen kanalı temsil eden CID, talepte yer alan Tanımlayıcı ve PSM değeri için parametreler içerir.
L2CA_ConfigInd Geri Araması
Talebin gönderildiği kanalın lokal CID i, giden MTU boyutu (kanal boyunca iletilebilecek maksimum paket) ve gelen verinin karakteristiklerini tanımlayan akıĢ özelliklerini belirten parametreler içerir.
L2CA_QoSViolationInd Geri Araması
QoS anlaĢmasını sona erdiren uzak Bluetooth cihazının adresini gösteren parametreler içerir.
4.4.7.2 Bağlantı
Bağlantı primitifi bir L2CA_ConnectReq mesajı baĢlatır ve buna tekabül eden L2CA_ConnectCfm(Neg) ya da L2CA_TimeOutInd mesajı alınana kadar servisi bloke eder. Bu primitif fiziksel bir adrese lojik bir bağlantıyı temsil eden bir kanalın kurulmasını talep etmek için kullanılır.
4.4.7.3 Bağlantı Cevabı
Bu primitif L2CA_ConnectRsp yi temsil eder. Bağlantı talebi olay göstergesine verilen cevabı yerine getirmek için kullanılır ve geri çağırma göstergesini aldıktan sonra bir kereden fazla çağrılmaz. Bu primitif lokal L2CAP varlığı talebi onaylar onaylamaz geri döner. BaĢarılı bir dönüĢ cevabın hava arayüzü üzerinden gönderildiğini gösterir.
4.4.7.4 Konfigüre
Bu primitif L2CA_ConfigReq mesajını gönderme iĢlemini baĢlatır ve tekabül eden bir L2CA_ConfigCfm (Neg) veya L2CA_TimeOut_Ind mesajı alınana kadar servisi bloke eder. Bu primitif bir kanalın baĢlangıç konfigürasyonu ya da tekrar konfigürasyonunu talep etmek için kullanılır.
4.4.7.5 Konfigürasyon Cevabı
Bu primitif L2CAP_ConfigRsp yi temsil eder. Konfigürasyon talebi olay göstergesine verilen cevabı yerine getirmek için kullanılır.
4.4.7.6 Bağlantı Sonlanma
Bu primitif L2CAP_DisconnectReq yi temsil eder. Geri dönen çıkıĢ parametrelerini de tekabül eden L2CAP_DisconnectRsp yi veya RTX zamanlayıcısının zaman aĢımını temsil eder. Kanalın bağlantı sonlanmasını talep etmek için kullanılır. Talep yerine getirildikten sonra, hiçbir proses CID den baĢarılı olarak okuma ya da yazma yapamaz. Fakat o an proses edilmekte olan yazma iĢlemleri devam eder.
4.4.7.7 Yazma
Bu primitif kanal üzerinden veri transferi yapılmasını talep etmek için kullanılır. Hem bağlantı yönelimli hem de bağlantısız trafik için geçerlidir.
4.4.7.8 Okuma
Bu primitif verinin kabulünü talep etmek için kullanılır. Bu talep veri uygun olduğunda veya link sonlandığında geri döner. Dönen veri tek bir L2CAP taĢınan bilgisini (payload)gösterir. Eğer yeterli miktarda uygun veri yoksa, veri ulaĢana veya link sonlanana kadar servisi bloke eder. Eğer taĢınan bilgi (payload) ara bellekten (buffer) dan daha büyükse; ara bellek (buffer) kadar olan miktarı geri döndürülür, fazla kalan miktar ise atılır. Yazma komutuna benzer Ģekilde, Okuma komutu da hem bağlantı yönelimli hem de bağlantısız trafik için kullanılır.
4.4.7.9 Grup Yaratılması
Bu primitif birden fazla cihaza lojik bağlantıyı temsil eden CID in oluĢturulmasını talep etmek için kullanılır.
4.4.7.10 Grup Kapatılması
Bu primitif bir “Grup” u kapatmak için kullanılır. 4.4.7.11 Gruba Üye Eklemek
Bu primitif gruba üye eklenmesini talep etmek için kullanılır. GiriĢ parametresi, grubu temsil eden CID i ve eklenecek üyenin BD_ADDR sini içerir. ÇıkıĢ parametresi sonucu talebin baĢarılı ya da baĢarısız olup olmadığı bilgisini içerir. 4.4.7.12 Gruptan Üye Çıkarmak
Bu primitif gruptan üye çıkarılmasını talep etmek için kullanılır. GiriĢ parametresi, grubu temsil eden CID i ve eklenecek üyenin BD_ADDR sini içerir. ÇıkıĢ parametresi sonucu talebin baĢarılı ya da baĢarısız olup olmadığı bilgisini içerir. 4.4.7.13 Grup Üyeliği Alma
Bu primitif grup üyelerine iliĢkin bir rapor almak için kullanılır. GiriĢ parametresi, sorgulanan grubu temsil eden CID i içerir. ÇıkıĢ parametresi sonucu talebin baĢarılı
ya da baĢarısız olup olmadığı bilgisini içerir. Eğer sonuç olumlu ise grup üyelerini gösteren bir Bluetooth adres listesi alınır.
4.4.7.14 Ping
Bu primitif L2CA_EchoReq komutunun baĢlatılmasını ve tekabül eden L2CA_EchoRsp komutunun alınmasını temsil eder.
4.4.7.15 Bilgi Alma
Bu primitif L2CA_InfoReq komutunun baĢlatılmasını ve tekabül eden L2CA_InfoRsp komutunun alınmasını temsil eder.
4.4.7.16 Bağlantısız Trafiğin Olanaksız Kılınması
Bu primitif bağlantısız paketlerin alımını olanaksız kılmayı talep etmek için kullanılır. GiriĢ parametresi servisin bloke olması gerektiğini gösteren PSM değeridir.
4.4.7.17 Bağlantısız Trafiğin Olanaklı Kılınması
Bu primitif bağlantısız paketlerin alımını olanaklı kılmayı talep etmek için kullanılır. GiriĢ parametresi servisin bloke olmaması gerektiğini gösteren PSM değeridir. 4.4.8 Özet
Link Yönetim Prorokolüne (LMP) benzer Ģekilde Lojik Link Kontrolü ve Adaptasyon Protokolü (L2CAP) de Bluetooth temelbant biriminin üzerinde koĢan link seviyesi bir protokoldür. L2CAP üst seviye protokol çoğullama (multiplexing) dan sorumludur. Çoklu kanallarda aynı protokol olabilmesine rağmen, tek kanalda çoklu protokoller olamaz. Kanalda alınan herbir L2CAP paketi uygun üst katman protokolüne yönlendirilir.
L2CAP ayrıĢtırma ve tekrar birleĢtirme mekanizmalarını kullanarak 64 kilobyte a kadar olan büyük paket boyutlarını destekler. Grup yönetimi, gruplar ve pikonet üyeleri arasında daha efektif eĢlemeye (mapping) izin veren bir cihazlar grubu temsili sağlar. Grup haberleĢmesi bağlantısızdır ve güvenli değildir. Grupların sadece iki üniteden oluĢtuğu durumlarda L2CAP in bağlantı yönelimli kanalına alternatif olarak bağlantısız bir kanal sağlanır. L2CAP kanallar arasında QoS bilgisini taĢır ve
mevcut QoS anlaĢmasını bozan ek kanalları engellemek için kontrol mekanizması sağlar.