Yukarı Çık

Veri İletiminde Hata Bulma ve Düzeltme Teknikleri

25 Eylül 2021   0 Yorum

Veri paketlerinin iletimi sırasında bazı hatalar meydana gelerek bazı bitler bozulabilir. Bu bozulmalara hata denir. İletişim kanalına göre hataların oluşma olasılığı değişim gösterir. Örneğin  FO kablolar üzerinde meydana gelebilecek hata oranı diğerlerine göre çok daha azdır. Bir veri iletişim sistemi, hem hatayı tespit eder hemde verinin hatasız kopyasını alır. Buna veri iletişiminde Hata denetimi denir. 

Bu işlemler Veri Hattı katmanında meydana gelir. Hata denetim işlemi, hatanın bulunması ve hatanın düzeltilmesi olarak iki aşamada gerçekleşir. En çok kullanılan Hata denetimi FEC ve ARQ algoritmalarıdır. 

1) FEC (Forward  Error  Correction - İleri Yönlü Hata Denetimi): FEC'de hatanın bulunması ve düzeltilmesi aynı anda gerçekleştirilir. Bu amaçla, gönderilen veri paketi ile birlikte hata anlama ve düzeltme için İlave Kodlar (ECC Error Checking and Correction Code)  kullanılır.Bu kodlar, paket içinde meydana gelebilecek 1 ve 2 bitlik hataları anlayıp düzeltebilir. Bu amaçla en çok kullanılan algoritmalar;

  1. Hamming Kodlama 
  2. Reed-Solomon Kodlamasıdır.

2) ARQ (Automatic Repeat Request – Otomatik Tekrar İsteği): Hata bulmak için her paketin sonuna bir kontrol dizisi (FCS - Frame Check Sequence) eklenir. FCS çerçeveler üzerinde matematiksel işlemler yapar ve sonucu çerçeve içerisinde FCS alanına kaydeder. Alıcı aynı matematiksel işlemleri tamamladığında elde ettiği değeri aldığı çerçeve üzerindeki FCS alanı ile karşılaştırır. Bu iki değer eşit değilse iletim esnasında bit hataları olduğu anlamına gelir. Bu yöntemde hataların bulunması için iki yöntem kullanılır. Bunlar;

  • a) Parity (Eşlik Sınaması)
  • b) CRC (Cyclic Redundancy Check - Çevrimli Fazlalık Sınaması)

ARQ'de hatanın giderilmesi için kullanılan en temel yaklaşım, paketin tekrar iletilmesini sağlamaktır. Hatalı olan paketin yeniden gönderilmesinin sağlanması Akış Kontrol Yöntemleri ile gerçekleşir. 

a) Parity (Eşlik Sınaması): Asenkron haberleşmede en çok kullanılan hata bulma yöntemidir. İletim sırasında her karaktere, bitlerde herhangi bir değişiklik olup olmadığını denetlemek için eklenen tek bir bittir. Yani iki bilgisayar arasında gönderilen veri tek modda ise toplam 1 sayısı tek olmalıdır. Çift modda ise toplam 1 sayısı çift olmalıdır. Eğer 1 sayıları tutmuyorsa 1 tane 1 eklenir ve hata düzeltilmiş olur. 

Yukarıdaki örnekte üç tane 1 bulunuyor. Çift eşlik olduğu için bunu çift yapmamız gerekiyor. O yüzden verinin sonuna 1 ekledik.

b) CRC (Cyclic Redundancy Check - Çevrimli Fazlalık Sınaması): Taşınacak veriden hesaplanan bir sınama katarı (FCS) verinin sonuna eklenir. Burada sınama katarı CRC bilgisini kullanır. Alıcıda, gelen verinin CRC katarı hesaplanır ve daha önceki hesaplanan CRC katarı ile karşılaştırılır. Eğerki bu katarlar farklı ise verinin bozulduğu anlamına gelir.

Akış Kontrolü: Birbirleri ile haberleşen iki sistemin senkronizasyonunun sağlanması için gönderici sistemin alıcı sistemin hızına ayak uydurması gerekir. Bu işlemi gerçekleştirmek için Akış Kontrol algoritmaları kullanılır. Hatanın düzeltilmesi için kullanılan ARQ algoritması, Akış Kontrol algoritmasıyla birlikte gerçekleştirilir.Akış kontrolü amacıyla aşağıdaki protokoller kullanılabilir;

  1. Dur ve Bekle (Stop and Wait) Protokolü: Alıcı her hatasız pakette ACK(Acknowlodge- Anlaşıldı) sinyali gönderir. Gönderici yeni paket için ACK sinyalini bekler. Eğer ACK sinyali gelmezse en son paket halı anlamına gelir. Bu yüzden en son paket tekrar yollanır. Hatalı paketler için NACK (NEGATIVE ACKNOWLODGE) sinyali de gönderilebilir.

    Yukarıda paketler sırasıyla gönderiliyor. Paket 1 gönderilirken bir hata oluşuyor ve NACK sinyali gönderiliyor. Paket1 tekrar Alıcı çerçeveye iletiliyor.

  2. N Geri Git (Go-Back-N) Protokolü: Bir çerçevede iki adet paket bulunur. Alıcı, sadece çerçeve gönderimi bittikten sonra ACK sinyali gönderir. Eğer ACK sinyali gönderilmediyse o çerçeve içinde bulunan iki pakette tekrar bir çerçeve halinde gönderilir. Bu protokolün kullanılabilmesi için Full Dublex iletişime imkan verilmelidir.

    Yukarıda P0 ve P1 paketleri bir çerçeve olarak gidiyor. P2 ve P3 paketlerinin gönderilmesi aşamasında P3 paketinde bir sorun oluşuyor. NACK sinyalini alan Gönderici çerçevesi o çerçeveyi tekrar gönderiyor. sırasıyla gönderiliyor. 

  3. Kayan Pencereler (Sliding Windows): N geri git protokolüne benzer. Çerçeve bozulduğunda iki paketi değil de sadece bozuk olan paketin tekrar iletilmesini sağlar. N Geri Git Protokolü için verdiğimiz örnekte P2 ve P3 paketlerinin gönderilmesi aşamasında P3 paketinde bir sorun oluşuyor. N Geri Git protokolünde P2 ve P3 paketleri tekrar gönderilirken, Kayan Pencereler protokolünde sadece P3 paketi tekrar yollanır. 


0 Yorum