• Sonuç bulunamadı

4. BLUETOOTH PROTOKOL MİMARİSİ

4.6 RFCOMM

Seri arabirimler bilgisayar ve haberleĢme cihazlarının tamamında, özellikle Bluetooth teknolojisi ile ilgili olan cihazlarda mutlaka bulunurlar. Dizüstü bilgisayarların, cep bilgisayarlarının seri portları (özellikle cep bilgisayarını baĢka bir cihazla senkronize etmek için kullanılır) vardır, birçok mobil telefonda (genellikle kablolu bir mikrofon-kulaklık seti için kullanılır), birçok dijital kamerada (baĢka bir cihaza imaj verisi transferi için kullanılır), yazıcı ve diğer bilgisayar çevre birimlerinde de seri port bulunmaktadır. Kızıl ötesi haberleĢme de kızıl ötesi (IR) alıcı-vericisi ile haberleĢmek için seri port kullanır.

Bluetooth teknolojisi kabloların yerini almayı hedeflediği için, özellikle seri kabloların yerini almak için pek çok alternatif olduğu görülmektedir. Bunu efektif olarak yapmak ve uygulamaları benzer bir arabirimle sunabilmek için, Bluetooth protokol katman yapısı seri haberleĢmeyi kablo ile yapıldığı Ģekliyle desteklemelidir. Bu durum Bluetooth teknolojisinden haberdar olmayan uygulamaların da Bluetooth linkleri üzerinden haberleĢebilmelerini sağlar. Ayrıca seri port haberleĢmesi ile ilgili yazılım geliĢtiren kiĢilerin, aynı Ģekilde çalıĢmalarına devam etmeleri ile, uygulamalarının Bluetooth linkleri üzerinden de çalıĢabilmesini sağlar. L2CAP ve hava arayüzleri seri port modellemesi içermemektedir. L2CAP paket veri yapısını destekler. Hava arayüzü de bit paternlerini seri Ģekilde iletir ancak bu çalıĢma Ģekli bilinen RS-232 tipinde bir çalıĢma Ģekli değildir.

Bu sebeple SIG protokol katmanında tipik seri arabirime benzer bir katman olan RFCOMM u tanımlamıĢtır. Seri arabirimler genellikle COM port olarak adlandırılmaktadır. RFCOMM ismi sanal bir COM portun RF uzantısı anlamında seçilmiĢtir. RFCOMM, mevcut uygulamalar için kabloyu ortadan kaldırmayı olanaklı hale getirmeyi amaç edinmiĢtir.

4.6.1 RFCOMM Protokol Gelişimi

Protokol katmanındaki seri port fonksiyonu SIG ilk kurulduğunda farkedilmiĢti. SIG resmi olarak kurulduktan bir ay sonra, RFCOMM katmanını geliĢtirmek üzere çalıĢmalar baĢladı. Aynı zamanda ETSI TS 07.10 standardı (ETSI99) Bluetooth seri haberleĢmesine temel teĢkil etmek üzere seçildi. Bluetooth seri haberleĢme gereksinimleri Ģu Ģekildedir:

Çoklanmış seri haberleşme: Katmandaki seri arabirimde IrOBEX, telefon kontrolü ve ağ istemcileri gibi aynı anda birçok istemci bulunabilir. Bu sebeple seri port çoklanmıĢ bağlantılar üzerinden paylaĢılabilir olmalıdır.

RS-232 işaret uygunluğu: RS-232 kablolar için kullanılan seri arabirimdir ve bu sebeple Bluetooth teknolojisi RS-232 ile uyumlu olmalıdır. Birçok uygulama RS-232 arabirimi ve RS-232 ile ilgili olan kontrol iĢaretleri ile uyumlu çalıĢır. Bu kontrol iĢaretleri Request to Send/Clear to Send (RTS/CTS), Data Terminal Ready/Data Set Ready (DTR/DSR) gibi sıklıkla kullanılan iĢaretleri de içerir. RFCOMM bu iĢaretleri emüle ederek, seri kablo ile kullanılan seri portun aynısını sanal olarak sağlar.

Uzak durum ve konfigürasyon: Bir noktadan noktaya haberleĢme platformunda, seri link üzerinden haberleĢen iki taraf, diğer uçtaki seri arabirimin durum ve konfigürasyonunu belirlemek ve buna uygun Ģekilde kendi konfigürasyonunu yapmak durumundadır. Bir önceki bölümde ele alınan Servis KeĢif Protokolü, bir seri haberleĢme kanalı kurmak için gereken temel bilgiyi sağlamakta kullanılabilir. Seri bağlantı kurulduktan sonra, bağlantı için gereken uygun seri haberleĢme ayarlarını görüĢmeye (negotiate) ihtiyaç duyarlar.

Dahili ve harici seri port: Bluetooth uygulamalarında seri haberleĢmenin değiĢik kullanımlarını desteklemek için, RFCOMM hem dahili emülasyonlu bir seri portu (seri port parametrelerinin sadece lokal olarak kullanıldığı, hava arabirimi üzerinden iletilmediği durumlarda), hem de harici bir seri portu (seri port parametrelerinin ve

durum bilgisinin RF linki üzerinden veri ile birlikte iletildiği ve alıcı taraf tarafından kullanıldığı durumlarda) desteklemelidir.

Bu gereksinimler sadece Bluetooth cihazları için gerekli değildir. SIG daha önce açıklanmıĢ olan ETSI TS 07.10 standardının Bluetooth seri haberleĢmesi gereksinimlerine uygunluk gösterdiğini farketmiĢ ve bu standardı adapte etmiĢtir. Fakat TS 07.10 tek baĢına Bluetooth protokol yığınında kullanılmak için mükemmel bir uygunluk göstermediğinden dolayı, SIG bu standarda birtakım modifikasyonlar adapte etmiĢtir. Bu eklemeler ve değiĢiklikler arasında Ģunlar bulunmaktadır:

Veri çerçeve adaptasyonları: Bluetooth haberleĢmesi L2CAP kullanımı yüzünden bir paket yapısına dayandığı için, TS 07.10 tarafından belirlenen bazı veri çerçeve içerikleri RFCOMM için gerekli olmamaktadır. Örneğin TS 07.10 da belirtilen çerçeve kısıtlayıcı bayraklar, RFCOMM da yoktur.

Bağlantı kurulumu ve sonlanması: Bluetooth haberleĢmesinin protokol yapısında kendi bağlantı yönetimi olduğu için, TS 07.10 nin bağlantı yönetim fonksiyonları RFCOMM için gereksizdir.

Çoğullama: RFCOMM TS 07.10 için belirlenmiĢ olan bir çoklu kanal alt takımını (subset) ve bazı TS 07.10 çoğullama kontrol komutlarını kullanmaktadır.

Uygulanabilirlik: RFCOMM spesifikasyonu TS 07.10 standardı için seçime bağlı olan bir çok özelliğin desteklenmesini zorunlu kılar. Bu özellikler, seri bağlantının durum ve konfigürasyon bilgisini değiĢ tokuĢ etmek, seri port ile kanal ayarlarını görüĢmek (negotiate) ve seri port durumunu almak gibi özellikleri içerir. Bluetooth uygulamaları için bu fonksiyonlar oldukça kullanıĢlıdır ve hava arabiriminin verimli kullanımı için gereklidir.

Akış kontrolü: Tipik seri port veri transferini XON/XOFF hız denetimi (pacing) veya DTR iĢaret hız denetimi (pacing) kullanarak denetler. RFCOMM için Bluetooth protokol yığınına özel akıĢ kontrol mekanizmaları tanımlanmıĢtır. ÇoğullanmıĢ tüm RFCOMM kanallarına ve tek kanal baĢına hız denetimine (pacing) uygulanan akıĢ kontrol mekanizmaları mevcuttur.

4.6.2 RFCOMM Protokol Özellikleri

RFCOMM iki cihaz arasında lojik seri bir link kurmak için bir L2CAP bağlantısı kullanır. Özellikle iki cihazdaki iki RFCOMM varlığı arasında bağlantı kurmak için

bir L2CAP bağlantı yönelimli kanal kurulur. Ġki cihaz arasında sadece bir tek RFCOMM bağlantısı kurulmasına izin verilmektedir, fakat bu bağlantı çoğullanarak cihazlar arasında çoklu lojik seri linkler kurulması sağlanabilir. Birinci RFCOMM istemcisi L2CAP üzerinden RFCOMM bağlantısı kurar, mevcut bağlantının diğer kullanıcıları mevcut link üzerinden yeni kanallar kurmak için RFCOMM un çoğullama özelliklerini kullanabilirler. Son RFCOMM seri linkini kullanacak son kullanıcı RFCOMM bağlantısını ve dolayısıyla L2CAP bağlantısını sona erdirmelidir. Her çoğullanmıĢ link, bir “Veri Linki Bağlantı Tanıtıcısı” (DLCI) ile numaralandırılmıĢtır. ġekil 4.36 L2CAP üzerinde RFCOMM kullanan çoğullanmıĢ seri haberleĢme linklerini göstermektedir. RFCOMM un değiĢik istemcileri birbirlerinden DLCI değeri ile ayırdedilebilen sadece kendi emüle edilmiĢ seri portlarını görmektedir. (Farklı DLCI numaraları Ģekilde farklı çizgi tipleri ile gösterilmiĢtir.) Bu ayrı kanallar daha sonra RFCOMM linki üzerinden çoğullanmakta ve L2CAP bağlantısı üzerinden taĢınmaktadır.

ġekil 4.36 L2CAP üzerinde RFCOMM kullanan çoğullanmıĢ seri haberleĢme linkleri Bluetooth spesifikasyonu tek bir RFCOMM bağlantısı üzerinden 60 çoğullanmıĢ lojik seri kanala kadar izin vermektedir fakat bu ölçüde bir çoğullamayı uygulamalar için zorunlu kılmaz. Birçok taĢınabilir cihaz için çok sayıda eĢ zamanlı seri linkin

RFCOMM Diğer uygulamalar IrDA Uygunluk middleware protokolleri middleware protokolleri L2CAP RFCOMM L2CAP uygulamaları IrDA uygulamaları Telefon uygulamaları Diğer uygulamalar uygulamaları IrDA uygulamaları Telefon uygulamaları Telefon Kontrol middleware protokolleri middleware protokolleri IrDA Uygunluk middleware protokolleri Telefon Kontrol middleware protokolleri

kullanılması gerekmez. Birçok cihaz belirli sayıda profili destekler, bu durum cihazlar için protokol yığınının nasıl uygulanacağını ve desteklenen RFCOMM seri link sayısı gibi tasarım parametrelerini belirleyici bir faktördür. Ağ eriĢim noktaları gibi cihazlar ise taĢınabilir cihazların Bluetooth kablosuz haberleĢmesini kullanarak internet gibi geniĢ ağlara eriĢmelerini sağlarlar. Örneğin LAN EriĢim Profili, RFCOMM üzerinden PPP kullanmayı sağlar, bu sebeple bir LAN eriĢim noktası birçok cihaza aynı anda seri bağlantıya ihtiyaç duyabilir. RFCOMM spesifikasyonu bu tarz bir kullanımı birden fazla çoğullama oturumuna izin vererek sağlar. Bu iĢleyiĢ ise L2CAP in çoğullama özellikleri kullanılarak gerçekleĢtirilir.

RFCOMM spesifikasyonu RFCOMM un desteklediği iki farklı cihaz çeĢidi ile ilgili bir tartıĢma içerir: haberleĢme son noktası (bilgisayar ya da çevre birimi gibi cihazlar) ve haberleĢme orta noktası (modem gibi cihazlar). Genel seri haberleĢmede bu tip cihazlar sırasıyla veri terminal cihazı (DTE) ve veri haberleĢme cihazı (DCE) olarak adlandırılırlar. RFCOMM bu tip cihazlar arasındaki farkı ayırdedemez. RFCOMM bu farkları ayırdetmeden, standart bir seri kabloda olduğu gibi direk seri bağlantı veya modem operasyonu için konfigüre edilebilir. RFCOMM DCE haberleĢmeyi desteklemek için özelliklere sahiptir, bu özellikler DTE haberleĢmeye uygulanamaz. RFCOMM her iki tipi de aralarındaki farkı ayırdetmeye gerek duymaksızın destekler.

Kablolu seri bağlantılar kabloda belli sayıda iĢarete sahiptirler (RS-232 için tüm uygulamalarda gerekmemesine rağmen genellikle 9 iĢaret kullanılır). Bluetooth kablosuz haberleĢmesinde iletim ortamı kablo yerine hava olduğu için bu iĢaretlere gerek yoktur. TS 07.10 da tanımlandığı gibi çoğullanmıĢ bir ortamda her bir seri kanalın kendi kontrol ve veri iĢaretleri ile farklı bir birim olarak görülmesi talep edilebilir. Bu yüzden kablolu ortamda bile seri iĢaretleri çoğullamak için bir plana ihtiyaç duyulur. TS 07.10 ve RFCOMM bu gereksinimi verinin iletildiği kanal boyunca bir kontrol kanalı tanımlayarak gerçekleĢtirirler. Standart bir RS-232 arabirimi ile yapıldığı gibi iĢaret seviyelerini ayarlamak ve görüntülemek yerine, RFCOMM çoğullanmıĢ seri arabirimin durumu hakkında bilgi almak için komut ve cevaplar kullanır (böylece RS-232 iĢaretleri sanal hale getirilmiĢ olur).

RS-232 iĢaretler ile temsil edilmeyen baĢka durumlar da tanımlar. Bunlar arasında en önemlisi veri alıp göndermekte kullanılan bilgi akıĢ hızı (baud rate) veya saat frekansıdır. Standart kablolu seri haberleĢmede bir saat iletilecek iĢaret ile ilgili

zamanı ve 0/1 bit paternini tanımlayan alçak ve yüksek seviyeleri yönetir. Arabirimin her iki tarafı da veriyi doğru yorumlamak için aynı saat frekansını kullanmalıdır. Kablosuz ortamlar için kablo yoktur ve bu sebeple belli frekansta vurum yapacak (pulse) bir iĢaret kanalı da yoktur. Buna rağmen Bluetooth teknolojisi, temelbant seviyesinde hava arabirimi üzerinden haberleĢme sağlamak için saat zamanlamaları kullanır. RFCOMM protokol katmanında iletim katmanlarının üzerinde yer aldığı için, alt katmanlar tarafından kullanılan iletim ortamı ve paket yapısını kullanır. Bluetooth kablosuz haberleĢmesinde kullanılan bilgi akıĢ hızı (baud rate) hava arabirimi üzerinden gönderilen paket tipleri ve yapıları tarafından belirlenir. Gerçek haberleĢme RFCOMM katmanında belirlenen bilgi akıĢ hızına (baud rate) bakılmaksızın temelbant protokolü tarafından belirlenen bilgi akıĢ hızında (baud rate) gerçekleĢir. Bir uygulama ya da RFCOMM un baĢka bir istemcisi bir bilgi akıĢ hızı (baud rate) belirleyebilmesine rağmen bu değerler gerçek veri hızını belirlemez. Birçok durumda, Bluetooth kablosuz haberleĢmesi kullanan bir veri iletim hızı, kablolu haberleĢmeye göre daha hızlı olmaktadır. [2,14]

4.7 IrDA Uyumluluğu