HATA VE AKIŞ KONTROLU – PROTOKOLLER – AĞ YAPILARI

HATA VE AKIŞ KONTROLU:

            Veri iletişimi sırasında gönderilen veriler çeşitli nedenlerle bozulabilir, verilerde hatalar oluşabilir. Bu durumda karşı tarafa gönderilmek istenen veriler dışında, bazen anlamsız, bazen de yanlış anlaşılabilecek bilgiler ulaşabilir. Bu hataların engellenmesi amacıyla hata denetim yöntemleri geliştirilmiştir[1].

Veri paketlerinin iletimi sırasında değişik nedenlere bağlı olarak bazı bitler bozulabilir. Bu olay çok az dahi olsa birçok uygulama tarafından kabul edilemez; paket içinde veriye ait tüm bitlerin hatasız aktarıldığı kabul edilir. 1 bit dahi bozulsa, tüm verinin yanlış anlaşılmasına sebep olabilir. Bu bozulmalara hata denir. Ortama bağlı olarak hataların oluşma olasılığı değişim gösterir[2].

1bilgisayar_topluluk

Hata Denetim Yöntemleri:

               Temel olarak iki sınıfa ayrılabilir. Birinci yaklaşımda gönderilen veriler arasına eklenen veriler alıcı tarafından hata kontrolü amacıyla kullanılır. Bu durumda, ek bit sayısına bağlı olarak hata tespiti yapılabileceği gibi, hata düzeltmesi de yapılabilir. Bu yaklaşımın en yaygın örneği modern iletişimde kullanılan parite bitidir[1].

Parite Biti:

               Parite biti, tekli veya çiftli parite olarak hesaplanır. Tekli parite de bit grubundaki toplam 1 sayısı tek sayı olmalıdır. Bunu sağlamak amacıyla, eğer veri içinde çift sayıda 1 bulunuyorsa parite biti 1, aksi halde 0 olur.

Örneğin; göndereceğimiz 8 bitlik veri 10001011 ise ve tekli parite kullanılıyorsa, sekizinci bitin sonuna dokuzuncu bit olarak, “1” parite biti eklenir ve 100010111 gönderilir. Bit grubunu alan taraf tekli parite gönderileceğini bilmeli ve ona göre aldığı verileri kontrol etmelidir.

Eğer alınan veri, 110010111 ise bu durumda 2. bit hatalıdır ve alıcı bir bitin hatalı olduğunu anlayabilmektedir. Ancak hangi bitin hatalı olduğu anlaşılamamaktadır. Hangi bitin hatalı olduğunun anlaşılabilmesi için hatayı bulma kodları kullanılmalıdır[1].

Bu uygulama daha çok 7–8 bit gibi kısa boylu bloklarda kullanılır. Birden fazla bitte hata varsa, parite biti ile hata tespit edilemez[2].

Hamming Kodlaması:

Hata düzeltmek için en yaygın kullanılan yöntem Hamming kodlamasıdır. Bu kodlamada gönderilen veri yolda belirli bir miktar bozulmuş bile olsa, alıcıda düzeltilebilmektedir. Herhangi bir bitin bozulup bozulmadığını tespit etmek için veri bloğunun sonuna ekstradan bitler eklenir ve bu bitler ile veri düzeltilebilir[2].

Hata Düzeltme Teknikleri:

Göndericinin bilgiyi bozulma durumunda tekrar göndermesinin güç olduğu bazı uygulamalarda, uygun kodlama ile hatanın alıcıda düzeltilmesine çalışılır.

Hata düzeltme kodlaması kullanılırsa, alıcı vericinin gönderdiği veriyi belirli bir bozulma ölçüsüne kadar düzeltebilir. Verinin tekrar gönderilmesi istenmeden hata giderilebilir. Bu tür yöntem iletim yolu çok pahalı veya büyük bir gecikme yaratıyorsa kullanılmaktadır[2].

İkinci yaklaşımda, hata düzeltmesi yerine tüm veri grubu yeniden yollanarak veri tekrarı yapılır. Bu yaklaşımın iki önemli kısmı vardır. Birinci kısmı yukarıdakinin benzeri olarak hata tespiti, diğeri ise verilerin nasıl yeniden yollanacağının belirlenmesidir.

Paket olarak sözü edilecek yapılar, birden fazla baytın gruplanmasıyla oluşmuştur. Paketlerin başlarına ve sonlarına kontrol bitleri eklenmiştir[1].

Otomatik Tekrarlama Talebi ARQ (Automatic Repeat Request):

               Veriler transfer edildiği zaman, hata tespiti yapan alıcı terminal göndericiye verilerin hatalı olduğunu bir şekilde belirtmelidir. Genellikle verilerin doğru olarak alınması halinde ALINDI(ACK-Acknowledgement) paketi gönderilir. Bu paket alınmadığı takdirde gönderici verileri yeniden yollar. Bu hata düzeltme yaklaşımına ARQ denir[1].

Alıcı tarafta hata sezildiğinde, ilgili veri bloklarının göndericiden yeniden istenmesi şeklinde çalışır[2].

Eğer, veriler karakter bazında yollanıyorsa, bu durumda her karakterden sonra ACK beklenir. Gelmezse karakter yeniden yollanır. Bu yaklaşıma Boş Otomatik Tekrarlama Yöntemi (Boş RQ) denir. Bu yöntemde gönderici, ACK beklediği süre içinde boş durur. Gönder-bekle veya dur-bekle isimleri de kullanılmaktadır[1].

En basit akış kontrol protokolü “stop and wait” (dur ve bekle) protokolüdür. Gönderici bir önceki çerçevenin alındısını almadan bir sonraki çerçeveyi göndermez. Alınan çerçevenin hatalı olması durumunda alıcı NAK (negative acknowledgement) paketi gönderir. NAK çerçevesinde hatalı paketin sıra numarası belirtilir. Alıcı hatalı çerçeve alması üzerine NAK gönderdikten sonra yada belli bir süre içinde ACK yada NAK göndermemesi durumunda gönderici son çerçeveyi tekrar gönderir [5].

Ancak ARQ gecikmelere yol açacağı için tekrar gönderim sayısı uygulamanın gecikme kısıtlarına göre belirlenmelidir [3].

ARQ düşük güçte ve kötü muhabere şartlarında bile hatasız mesaj alımı sağlar. ARQ sadece iki istasyonun birbirine kilitlenerek kendi aralarında muhabere yapmalarına izin verir[4].

Yukarıdaki yaklaşımda(Boş RQ), veri transfer verimliliği oldukça düşüktür. Verimliliği arttırmak için geliştirilen Sürekli Otomatik Tekrarlama Yönteminde, gönderilen veriye ACK beklenmeden yenisi gönderilir. Gönderilen verilerin bir listesi tutulur. ACK paketi geldikçe veri paketinin kaydı listeden silinir.

Eğer N numaralı veriye ACK beklenirken N+1 için ACK gelirse, N numaralı paket ile ilgili bir problem olduğu anlaşılır ve N paketi yeniden yollanır. Bu yönteme Seçilerek Tekrarlama denir[1].

Akış Kontrolü:

               Paketler hatalı olduğu zaman  veri akışını bir şekilde durdurup hatalı paketleri yeniden yollamak ve işlem bitince normal akışa yeniden dönmek gerekmektedir. Bu işleme Akış Kontrolü denir.

Boş RQ’ da her paket için ACK beklendiğinden, akış denetimi otomatik olarak yapılmaktadır.

Sürekli RQ’ da ise, kayan pencere yöntemi kullanılır. Bu yaklaşımda, ACK alınmamış sayısı, önceden belirlenen paket sayısını(pencere) geçerse, veri iletişimi otomatik olarak durur. ACK gelen veri paketi pencerenin dışına çıkar ve yenisi pencereye girer[1].

İletişim Kanalı:

İletişim kanalının verimli kullanılması pencere(paket sayısı) sayısının optimize edilmesine bağlıdır. Bir iletişim ortamında, veri iletişim hızına bağlı olarak bulunabilecek en fazla paket sayısı bellidir. Ortamın verimli kullanımını ölçmek için kullanılan en önemli parametre ”a” denilen bir orandır. Bu oran

a=Tp/Tix olarak tanımlanır.

 

Tp- Terminaller arası verilerin erişim zamanı

Tix- Paket iletim zamanı.

 

Hat kullanım verimliliği ise boş RQ yöntemi için,

U=1/(1+2a)  olarak gösterilir.

 

Kayan pencere yaklaşımında, pencere sayısı K olarak tanımlandığında

U=K/(1+2a)   olur.

 

ÖRNEK: 1000 bit boyundaki paketler bir per üzerinden 1 Mbps hızında yollanmaktadır.

Sinyallerin taşınma hızını 2×10^8   ms‾1 alarak, 1 km’lik bir hatta;
a) boş RQ
b) kayan pencere (K=2) yöntemleri kullanıldığında, hat kullanım
verimliliğini hesaplayınız[1].

 

Tix= paket boyu/hız=1000/10^6=10^-3 s  —paket iletim zamanı

Tp= uzaklık/taşınma hızı=1000/2×10^8=5×10^-6 s   —verilerin erişim zamanı

 

a= Tp/Tix= 5×10^-6/10^-3=5×10^-3

 

a)      boş RQ için kullanım verimliliği:

U=1/(1+2a)=1/(1+2x5x10^-3)=1/(1+0.01)  = 1’dir.

 

b)      Kayan pencere için kullanım verimliliği ise:

U=K/(1+2a)=2/(1+2x5x10^-3)=2/ (1+0.01)  = 2>1’dir.

U=1 olur.

 

PROTOKOL:

 

İki bilgisayar arasında veri aktarımı için uygulanan kurallara protokol denir. Protokoller programlama dilleri gibidir. Eğer, bir program herhangi bir dilin kurallarına uygun olarak yazılırsa her bilgisayarda çalışabilir. Aynı şekilde, protokole uyan bilgisayarlar, aralarında hiçbir problem olmadan haberleşirler[1].

 

Protokoller katmanlar halinde tanımlanmıştır. Her bir katman, kendi içinde geliştirilebilir ve haberleşme türüne göre, yalnızca gereksinim duyulan katmanlar kullanılır. Uluslar arası Standartlar Enstitüsü, ağ katmanlarına, Açık Sistem Bağlanma (OSI) standardını getirmiştir. OSI katmanları aşağıda gösterilmiştir.

ağ katmanları

 

Protokoller, haberleşmede uygulanacak kuralları belirler. Eğer görüşme öncesi bağlantı gerekiyorsa, protokol bunun nasıl yapılacağının karşı tarafa hangi mesajın gönderileceğinin ve bunun sonucunda hangi yanıtların alınacağının kurallarını koyar.

 

Ağ Yapıları:

 

Ağ (network) kavramı, var olan kaynakların kullanıcılar tarafından beraber kullanılması, bilgiye ortak ulaşmaları ve buna bağlı olarak da maliyet ve zaman tasarrufu sağlayan bir iletişim ortamıdır.

 

Birbirlerine bir kabloyla bağlanmış ve bu sayede bilgi alışverişinde bulunabilen birden fazla bilgisayardan oluşan yapıdır[2].

birrebir iletişim bilgisayar

Bilgisayarların birbirlerine bağlanması için çeşitli ağ yapıları vardır. Haberleşme ağlarını değişik şekillerde sınıflandırmak mümkündür. Bu sınıflandırmalar, ağ içindeki bilgisayarların birbirlerine bağlantı şekillerini temel alır. Diğeri de ağların kapladığı alan göz önüne alınarak yapılabilir. Bu sınıflandırmaya göre ağlar:

 

1-      Yerel Alan Ağları ( LAN: Local Area Network)

2-      Geniş Alan Ağları ( WAN: Wide Area Network )

 

LAN ( Local Area Network):

 

Aynı bina içindeki bilgisayarları birbirine bağlayan ağlara Yerel ağ denir[2].

Yerel alan ağlarında iletişim, genellikle bir bina veya binalar grubu, hastane, fabrika, üniversite kampüsü ve benzeri alanlar ile sınırlıdır. Kablolu veya kablosuz olabilirler.

wan bağlantıları

WAN ( Wide Area Network):

 

Şehirler veya ülkeler arası bilgisayarları birbirine bağlayan ağlara geniş alan ağ denir[6].

 

şehirler arası bağlantı

 

Ağ Bağlantı Çeşitleri:

 

Bilgisayarların birbirlerine bağlantı şekillerine göre ağ çeşitlerini, 3 ana sınıfta inceleyebiliriz[1].

 

1-      Yıldız Bağlantı

2-      Halka şeklinde Bağlantı

3-      Veriyolu Şeklinde Bağlantı.

 

Yıldız Bağlantı:

 

Yıldız bağlantıda merkezi bir bilgisayar ve bun bağlı bilgisayarlar bulunur. Tüm haberleşme, merkezdeki bilgisayar üzerinden yapılır. Bu nedenle hatlarda hiçbir zaman birden fazla kullanıcının verileri arasında çakışma olmaz. Ayrıca, bir bilgisayarın merkeze olan bağlantısının kopması halinde sistem işlemeye devam eder. Buna karşılık merkezdeki bilgisayar bozulunca tüm sistem durur[1].

yıldız topolojisi

Yıldız bağlantı.

Halka Şeklinde Bağlantı:

 

Sisteme bağlı tüm bilgisayarların halka şeklinde birbirleri ile ilişkilendirilmesi sonucu oluşur. Veriler halka üzerinde tek bir yönde ilerler ve her bilgisayar kendisine ya da başka bir bilgisayara ait olduğuna karar verir. Veriler bir yönde bir yönde gittikleri ve aynı anda tek bir istasyon veri gönderebildiği için paketlerin çarpışma tehlikesi yoktur[1].

halka topolojisi

Halka şeklindeki bağlantı.

 

Veriyolu Şeklinde Bağlantı:

 

Bu bağlantı şeklinde tek bir hat vardır ve tüm bilgisayarlar bu hatta bağlıdır. Hat üzerinden veri iletişimi yapılabilmesi için hattın kontrolünün ele geçirilmesi gerekir. Bu yaklaşımda veri yolunu kullanma verimliliği oldukça düşüktür. Buna karşılık bu ağ kurmak için gerekli cihazların ucuz olması ve kullanım kolaylığı sağlaması nedeniyle çok yaygındır[1].

bus topolojisi

Veriyolu şeklindeki bağlantı.

 

 

Bir cevap yazın

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

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.