Sayfalar

6 Nisan 2011 Çarşamba

Veri İletişimi ve Hata Denetimi


VERİ İLETİŞİMİ

Veri iletişimi, sayısal bilginin (çoğunlukla ikili biçimde) bir kaynaktan bir varış yerine iletimi olarak tanımlanabilir. Kaynak bilgi, ASCII ya da EBCDIC gibi ikili kodlanmış alfa sayısal karakterler, mikroişlemci işlem kodları, denetim sözcükleri, kullanıcı adresleri, program verileri ya da veri tabanı bilgisi olabilir.
Bir veri iletişim ağı, kamuya açık telefon ağı aracılığıyla birbirine bağlanan iki kişisel bilgisayar kadar basit olabileceği gibi, bir ya da daha çok ana bilgisayar ve yüzlerce uzak terminalden oluşan karmaşık bir ağı da içerebilir. Veri iletişim ağları, otomatik vezneleri (ATM’ler) banka bilgisayarlarına bağlamada ya da bilgisayar terminallerini (CT’ler) veya klavye ekranlarını (KD’ler) doğrudan ana bilgisayarlardaki uygulama programlarına arabirim üzerinden bağlamada kullanılır. Veri iletişim ağları, havayolu ve otel rezervasyonu sistemlerinde, kitle iletişim araçlarında ve Associated Press (AP) ya da United Press Internatıonal (UPI) gibi haber ağlarında kullanılır. Veri iletişim ağlarının uygulamalar listesi, neredeyse sonsuz bir biçimde sürüp gitmektedir.
VERİ İLETİŞİM DEVRELERİ
Düzenlemeler: Veri iletişim devreleri, genel olarak iki noktalı ya da çok noktalı olarak sınıflandırılabilir. İki noktalı bir düzenlemede iki yer yada iki istasyon mevcuttur; buna karşılık çok noktalı bir düzenlemede, üç veya daha çok istasyon bulunur. İki noktalı bir devrede, bir ana bilgisayar terminali ile bir uzak bilgisayar terminali, iki ana bilgisayar ya da iki uzak bilgisayar terminali arasındaki bilgi akımını içerebilir. Çok noktalı bir

devre, genellikle tek bir ana bilgisayar çok sayıda uzak bilgisayar terminaline bağlanmak için kullanılır; ancak, üç yada daha fazla bilgisayar ya da bilgisayar terminalini oluşturduğu herhangi bir düzenleme, çok noktalı bir devre oluşturulur.
Topolojiler: Bir veri iletişim devresinin topolojisi ya da mimarisi, ağ içindeki değişik yerlerin birbiriyle nasıl bağlandığını tanımlar. En yaygın topolojiler şunlardır: noktadan noktaya topoloji, yıldız topolojisi, yol ya da çoklu dallanma topolojisi, halka ya da döngü topolojisi ve örgü topolojisi. Noktadan noktaya topoloji dışında, bu topolojilerin tümü çok noktalı konfigürasyonlardır.
İletim Modları: Temel olarak, veri iletişim devrelerinde dört iletim modu vardır: simpleks, yarı dubleks, tam dubleks ve tam/tam dubleks.
Simpleks: Simpleks veri iletimi tek yönlüdür;bilgi iletimi bir yönde gönderilebilir. Simpleks hatlara yalnızca alış hatlarıdır.
Yarım Dubleks (HTX): Yarım dubleks modda, veri iletimi her iki yönde yapılabilir, ancak iletim aynı anda gerçekleştirilmez. Yarım dubleks hatlara iki yollu sıralı değişimli hatlar da denmektedir.
Tam dubleks (FDX): Tam dubleks modda, iletimler iki yönde de aynı anda gerçekleşebilir, ancak iletimlerin aynı iki istasyon arasında olması gerekir. Tam dubleks hatlara iki yollu aynı anda hatlar veya yalnızca dubleks hatlar da denir.
Tam/tam dubleks (F/FDX): F/FDX modda, iletim her iki yönde aynı anda gerçekleşebilir; ancak aynı iki istasyon arasında değil (yani, bir istasyon ikinci bir istasyona iletip, aynı anda üçüncü bir istasyondan alır). F/FDX yalnızca noktalı devrede mümkündür.
 

HATA DENETİMİ 
Bir veri iletişim devresinin uzunluğu, 50-60 cm olabileceği gibi binlerce kilometre de olabilir; iletim ortamı da bir tel parçası kadar basit ya da mikrodalga, uydu veya fiber optik sistem kadar karmaşık olabilir. Bu nedenle her sistemde bulunan ideal olmayan iletim özellikleri yüzünden, hataların meydana gelmesi kaçınılmazdır. Hata denetimi iki genel kategoriye ayrılabilir: hata bulma ve hata düzeltme.
Hata Bulma Hata bulma, alınan verileri gözetleme ve ne zaman bir iletim hatası meydana geldiğini gösterme sürecidir. Hata bulma teknikleri, hangi bitin (ya da bitlerin) hatalı olduğunu belirtmez, yalnızca hata meydana geldiğini belirler. Hata bulmanın amacı hatayı önlemek değil, meydana gelen bütün hataları bulmaktır. Her sistem bulunan hatalara karşı farklı bir şekilde karşılık verir. En yaygın hata bulma yöntemleri: artıklık, tam sayım kodlaması, eşlik, düşey ve boyuna artıklık denetimi ve çevrimsel artıklık denetimi.
Artıklık. Artıklık her karakteri iki defa iletmektir. Eğer ardışık olarak iki kere aynı karakter veya mesaj alınmazsa, bir iletim hatası meydana gelmiş demektir.
Tam sayım kodlaması. Tam sayım kodlamasında, karakterlerdeki 1 sayısı aynıdır. ARQ kodunda her karakter üç tane bir içerir. Bu şekilde her karakterdeki 1’lerin sayısı kontrol edilerek hatalar bulunur.
Eşlik. Muhtemelen eşlik, veri iletişim sistemlerinde kullanılan en basit hata bulma tekniğidir ve hem düşey hem de yatay artıklık denetimi ile birlikte kullanılır. Eşlikte, tek bir bit (buna eşlik biti denmektedir), karakterdeki 1’lerin toplam sayısı eşlik biti de dahil olmak kaydıyla ya tek bir sayı (tek eşlik) ya da bir çift sayı (çift sayı) olacak şekilde sayıya eklenir. Örneğin C harfi için ASCII kodu, 43H’tır, ikilik tabanda P1000011’dır; burada P biti, eşlik bitini temsil etmektedir. Eşlik biti sayılmazsa, kodda üç tane 1 vardır. Eğer tek eşlik kullanılırsa, P biti 0 yapılır; böylece 1’lerin toplamı tek bir sayı olan üçe eşit olur. Eğer çift eşlik kullanılırsa, P biti 1 yapılır; böylece 1’lerin toplam sayısı çift bir sayı olan dört olur.
Eşliği daha yakında incelediğimizde, eşlik bitinin koddaki 0’ların sayısından bağımsız olduğunu ve bir çiftlerinden etkilenmediğini görebiliriz. Bütün sıfırlar atıldığında, C harfinin kodu P1----11’dir. P biti tek eşlikte hala sıfır; çift eşlikte hala 1’dir. Eğer 1 çiftleri de hariç tutulursa, kod P1------, P----1 ya da P----1- olur. P biti yine tek eşlikte 0; çift eşlikte ise 1’dir.
Eşliğin önde gelen avantajı basitliğidir. Dezavantajı ise, çift sayıda bit hatalı alındığında, eşlik denetleyicisinin bulamamasıdır (yani, 2 bitin mantık durumu değişirse, eşlik aynı kalır). Dolayısıyla, uzun bir süre zarfında eşlik hata bulma tekniği, iletim hatlarının yalnızca %50’sini bulur (burada, çift ve tek sayıda bitlerin hatalı olma olasılığının eşit olduğu varsayılmaktadır).
Düşey ve yatay artıklık denetleme. Düşey artıklı denetleme (VRC), bir karakterde iletim hatası meydana gelip gelmediğini bulmak üzere eşlik kullanan bir hata bulma tekniğidir. Bu nedenle, VRC’ye bazen karakter eşliği de denir. VRC’de her karaktere iletilmeden önce bir eşlik biti eklenir. VRC’de çift ya da tek eşlik kullanılabilir. Eşlik kavramını açıklarken verdiğimiz ASCII C karakteri örneği, VRC’nin nasıl kullanıldığına gösteren bir örnektir.
Yatay ya da boyuna artıklık denetleme (HRC ya da LRC), bir mesajda iletim hatası meydana gelip gelmediğini belirlemek için eşlik kullanan bir hata bulma tekniğidir; bu nedenle bazen mesaj eşliği adını alır. LRC’de, her bit konumunun bir eşlik biti vardır. Başka bir değişle, mesajdaki karakterin b0’ı, Mesajdaki öteki karakterlerin hepsinin b0’larının eşliklerini. Benzer şekilde b1,b2,b3,.. karakterlerinin hepsinin eşliklerini kontrol eder. Temel olarak LRC, bir mesajı oluşturan karakterlerin eşlikleridir. LRC’de yalnızca çift eşlik kullanılır.
Verileri göndermeden önce LRC bit sırası vericide hesaplanır, daha sonra sanki mesajın son karakteriymiş gibi iletir. Alıcıda, LCR alınan verilerden tekrar hesaplanır
ve tekrar hesaplanan LRC, mesajla iletilen LRC’yle karşılaştırılır. Eğer iki LRC aynı ise, iletim hatasının gerçekleşmediği varsayılır. Eğer LRC’ler farklıysa, bir iletim hatası meydana gelmiş demektir.
Örnek 14-1, VRC ve LRC’nin nasıl bulunduğunu göstermektedir.
 

ÖRNEK 14.1: ASCII kodlanmış şu mesajın VRC ile LRC’sini bulalım: THE CAT. VRC için tek eşliği LRC için de çift eşliği kullanalım.

KarakterTHEspCATLRC
On altılı544845204341542F
LSBb000101101
b100001001
b210100011
b301000001
b410000010
b500010001
MSBb611101110
VRCb701000100

LRC bütün iletim hatalarının %95 ile %98’ini bulur. LRC, aynı bit konumunda çift sayıda karakter hatalıysa, iletim hatası bulunmaz. Örneğin, iki farklı karakterde b4 hatalıysa, birden fazla iletim hatası meydana gelmiş olmasına karşın LRC gene de hata göstermez.
LRC ve VRC aynı anda kullanılırsa, hatanın algılanmadığı tek durum şu olur: çift sayıda karakterde çift sayıda bit hatalı olduğunda ve bu iki karakterde aynı bit konumları hatalı olduğunda; böyle bir şeyin meydana gelme olasılığı çok düşüktür. VRC bir karakterde hangi bitin hatalı olduğunu bulamaz; LRC de hangi karakterde hata olduğunu bulamaz. Ancak, tek bit hatalarda, LRC ile birlikte kullanıldığında VRC hangi bitin hatalı olduğunu bulur. Aksi taktirde, tek başlarına VRC ve LRC, yalnızca bir hatanın meydana geldiğini bulabilirler.
Çevrimsel artıklık denetleme. Muhtemelen en güvenli hata bulma tekniği, çevrimsel artıklık denetleme (CRC). CRC’de, bütün iletim hatlarının yaklaşık %99.95’i bulunur. CRC genellikle EBCDIC gibi 8 bitli kodlarla ya da eşlik kullanılmadığı zaman 7 bitlik kodlarla kullanılır.
Amerika Birleşik Devletlerinde en yaygın CRC kodu, CRC-16’dır. CRC-16’da, BCS için 16 bit kullanılır. Temel olarak CRC karakterleri, bir bölme işleminin kalanıdır. Veri mesaj polinomu G(x), bit üretme polinom fonksiyonuna P(x) bölünür, Bölüm dikkate alınmaz; kalan, 16 bite indirilip, BCS olarak mesaja eklenir. CRC üretiminde bölme işlemi, standart bölme işlemi ile gerçekleştirilmez. Doğrudan çıkarma kullanma yerine, kalan özel veya işlemi ile üretilir. Alıcıda, veri akışı ve BCS aynı üretme fonksiyonuna (P(x)) bölünür. İletim hatası meydana gelmemişse, kalan sıfır olur.
CRC-16’nın üretme polinomu şudur:
P(x) = x^16 + x^12 + x^5 + x^ 0 burada x^0 =1.
CRC kodundaki bitlerin sayısı, üretme polinomundaki en yüksek kuvvete eşittir. Kuvvetler, 1 içeren bit konumlarını belirler. Dolayısıyla, b16,b12,b5 ve b0 1; öteki bit konumlarının hepsi 0’dır.
HATA DÜZELTME
Temel olarak, üç hata yöntemi vardır: sembol yerine koyma, tekrar iletim ve ileriye dönük hata düzeltme.
Sembol yerine koyma. Sembol yerine koyma, insan unsurunun alma terminalinde alınan veriyi analiz edecek ve verinin doğruluğu hakkında karar verecek bir insanın söz konusu olduğu bir ortamda kullanılmak üzere tasarlanmıştır. Sembol yerine koymada, eğer bir karakter hatalı alınmış ise, daha yüksek bir hata düzeltme düzeyine başvurmak ya da hatalı karakteri ekranda görmektense, hatalı karakterin yerine ters soru işareti (?) gibi karakter kodu tarafından tanımlanmamış bir karakter koyulur. Eğer operatör hatalı karakterin doğru karşılığını anlayamazsa, tekrar iletim gerekli olur (yani, sembol yerine koyma, seçici bir tekrar iletim biçimidir). Örneğin, eğer “isim” mesajının ilk karakterinde bir hata varsa, bu ekranda “?sim” olarak görünür. Operatör doğru mesajı bulabilir ve tekrar iletim gereksiz olur. Ancak, eğer “,?000.00$” mesajı alınmışsa, operatör doğru karakteri belirleyemez ve tekrar iletim gerekli olur.
Tekrar iletim. Adından da anlaşılacağı gibi tekrar iletim, bir mesaj hatalı olarak alındığında alma terminalinin otomatik olarak tüm mesajın tekrar iletimini istemesidir. Tekrar iletime çoğunlukla ARQ denir; ARQ, tekrar iletim için otomatik istek anlamına gelen eski bir radyo iletişim terimidir. ARQ muhtemelen en güvenilir hata düzeltme yöntemidir; ancak her zaman en verimli yöntem değildir. İletim ortamlarının yol açtığı hatalar tek bir karakterin değil, tüm mesaj biriminin tekrar iletimini gerektirir. Eğer kısa mesajlar kullanırsa, iletim sırasında bir arızanın meydana gelmesi olasılığı azdır. Ancak, kısa mesajlar uzun mesajlardan daha fazla alındı bildirimi ve hat çevrimi gerektirirler. Hata denetiminde, alındı bildirimleri ve hat çevrimleri sabit karakter (veri dışında iletilmesi gereken karakter) biçimleridir. Uzun mesajlarda daha az hat çevrim süresi gereklidir, ancak kısa mesajlara oranla iletim hatası meydana gelmesi olasılığı daha yüksektir. Hata düzeltmede ARQ kullanıldığında, ideal mesaj boyutunun 256-512 karakter arası mesaj blokları olduğu istatistiksel olarak gösterilebilir.
İleriye dönük hata düzeltme. İleriye dönük hata düzeltme (FEC), tekrar iletim gereksinimi yaratmaksızın alma terminalinde alma hatalarını bulan ve düzelten tek hata düzeltme tekniğidir.
FEC’de, bitler mesaja iletilmeden önce eklenir. yaygın olarak kullanılan bir hata düzeltme kodu, R.W. Hamming tarafından Bell Laboratuarları’nda geliştirilen Hamming kodudur. Hamming kodundaki bit sayısı, veri karakterindeki bit sayısına bağlıdır. Bir karaktere eklenmesi gereken Hamming biti sayısı, şu ifadeden bulunur:
2^n>=m+n+1
burada
n= Hamming biti sayısı
m= veri karakterindeki bit sayısı
 

SENKRONİZASYON Senkronize etmek,zaman açısından çakıştırmak ya da bir konuda zaman açısından mutabakata varmak demektir. Veri iletişiminde, gerçekleşmesi zorunlu olan dört tür senkronizasyon vardır: bit ya da saat senkronizasyonu, modem ya da taşıyıcı senkronizasyonu, karakter senkronizasyonu ve mesaj senkronizasyonu.
Karakter Senkronizasyonu
Saat senkronizasyonu, verici ile alıcının bir bitin oluşmasında tam olarak belli bir zaman bölmesinde mutabakata varmasını sağlar. Sürekli bir veri dizisi alındığında, hangi bitin hangi karaktere ait olduğunu, hangi bitin en küçük değerlikli veri biti, hangisinin eşlik biti ve hangisinin durdurma bit olduğunu tanımlamak gereklidir. Temel olarak, karakter senkronizasyonu da budur: bir karakter kodunun başlangıcını ve sonu tanımlamak. Veri iletişim devrelerinde, karakter senkronizasyonunu gerçekleştirmek için kullanılan iki biçim vardır: asenkron ve senkron.
Asenkron veri biçimi: Asenkron veride, her karakter bir başlama biti ve bir durdurma biti arasında çerçevelenir. Şekil 14 - 5, asenkron veri iletiminde bir karakteri çerçevelemek için kullanılan biçimi göstermektedir. İletilen ilk bit başlatma bitidir ve her zaman 0 mantık düzeyindedir. Sonra, LSB ile başlayıp MSB’ye kadar devam edecek şekilde karakter kodu bitleri iletilir. Eşlik biti (şayet kullanılıyorsa) karakterin MSB’ sinden hemen sonra iletilir. İletilen son bit durdurma bitidir; durdurma biti her zaman 1 mantık düzeyindedir. 1, 1.5 ya da 2 durdurma biti olabilir.
Başlama biti olarak 0 mantık düzeyi kullanılır, çünkü bir veri iletişim devresinde boş durum (veri iletiminin olmaması) demek, sürekli birlerin iletimi demektir (bunlara çoğunlukla boş hat 1’leri denir). Dolayısıyla ilk karakterin başlatma biti, alınan verilerin yüksekten alçağa geçişle belirlenir; başlatma bitinden hemen sonra gelen bit, karakter kodunun LSB’sidir. Bütün durdurma bitleri 1 mantık düzeyidir; bu da her karakterin başlangıcında yüksekten alçağa geçiş olmasını sağlar. Başlatma biti algılandıktan sonra, veri ve eşlik bitleri alıcıya verilir. Eğer veriler gerçek zamanda iletiliyorsa (sözgelimi, bir operatör verileri bilgisayar terminaline yazıyorsa), her karakter arasındaki boş hat 1’lerinin sayısı değişir. Bu ölü süre esnasında, alıcı bir sonraki karakteri algılamadan önce başka bir başlatma bitinin gelmesini bekleyecektir.
Durdurma biti (1,1.5,2) Eşlik biti Veri bitleri (5-7) başlatma biti

1 1 1/0 b6MSB b5 b4 b3 b2 b1 b0 0 LSB

ÖRNEK:
Aşağıdaki asenkron ASCII kodlanmış veri dizisinde, her karakterin niteliğini belirleyin (çift eşliğin ve durdurma bitinin mevcut olduğunu varsayın).
Başlangıç LSB MSB Eşlik son Başlangıç Eşlik son Başlangıç Eşlik son
111111 00010001011 01000001011 11111111 010001111 01000010111
Senkron veri biçimi: Senkron veride, her karakteri bağımsız olarak başlatma ve durdurma bitleri ile çerçevelemek yerine, her başlangıçta senkronizasyon karakteri adı verilen bir karakter iletilir. Örneğin ASCII kodunda, senkronizasyon karakteri 16H’dir.Alıcı senkronizasyon karakterini alıncaya kadar gelen veriyi dikkate almaz; sonra, sonraki 7 biti alır ve bunları bir karakter olarak yorumlar. Bir iletimin sona erdiğini göstermek için kullanılan karakter, kullanılan protokol türüne ve iletimin hangi tür iletim olduğuna bağlı olarak değişir.
Asenkron veride gönderme ve alma saatlerini sürekli olarak senkronize edilmesi gerekli değildir; sadece, yaklaşık aynı hızda çalışmaları ve her karakterin başlangıcında senkronize edilmeleri gereklidir. Başlatma bitinin amacıda zaten budur: karakter senkronizasyonu için bir zaman referansı oluşturmak. Senkron veride, gönderme ve alma saatlerinin senkronize edilmesi zorunludur, çünkü karakter senkronizasyonu yalnızca bir kez, mesajın başlangıcında meydana gelir.

Hiç yorum yok:

Yorum Gönder